-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.gen.go
More file actions
2482 lines (2032 loc) · 111 KB
/
Copy pathtypes.gen.go
File metadata and controls
2482 lines (2032 loc) · 111 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Package scanossapi provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.4.1 DO NOT EDIT.
package scanossapi
import (
"encoding/json"
"fmt"
"time"
openapi_types "github.com/oapi-codegen/runtime/types"
)
// Defines values for BatchStatusStatus.
const (
BatchStatusStatusERROR BatchStatusStatus = "ERROR"
BatchStatusStatusPARTIALSUCCESS BatchStatusStatus = "PARTIAL_SUCCESS"
BatchStatusStatusSUCCESS BatchStatusStatus = "SUCCESS"
)
// Defines values for CallNodeOwnerVisibility.
const (
CallNodeOwnerVisibilityPackagePrivate CallNodeOwnerVisibility = "package-private"
CallNodeOwnerVisibilityPrivate CallNodeOwnerVisibility = "private"
CallNodeOwnerVisibilityProtected CallNodeOwnerVisibility = "protected"
CallNodeOwnerVisibilityPublic CallNodeOwnerVisibility = "public"
)
// Defines values for CallNodeVisibility.
const (
CallNodeVisibilityPackagePrivate CallNodeVisibility = "package-private"
CallNodeVisibilityPrivate CallNodeVisibility = "private"
CallNodeVisibilityProtected CallNodeVisibility = "protected"
CallNodeVisibilityPublic CallNodeVisibility = "public"
)
// Defines values for ComponentHealthStatus.
const (
ComponentHealthStatusDisabled ComponentHealthStatus = "disabled"
ComponentHealthStatusError ComponentHealthStatus = "error"
ComponentHealthStatusOk ComponentHealthStatus = "ok"
)
// Defines values for CryptoAssetSource.
const (
Direct CryptoAssetSource = "direct"
Indirect CryptoAssetSource = "indirect"
)
// Defines values for CryptoEntryPointOwnerVisibility.
const (
CryptoEntryPointOwnerVisibilityPackagePrivate CryptoEntryPointOwnerVisibility = "package-private"
CryptoEntryPointOwnerVisibilityPrivate CryptoEntryPointOwnerVisibility = "private"
CryptoEntryPointOwnerVisibilityProtected CryptoEntryPointOwnerVisibility = "protected"
CryptoEntryPointOwnerVisibilityPublic CryptoEntryPointOwnerVisibility = "public"
)
// Defines values for CryptoEntryPointVisibility.
const (
CryptoEntryPointVisibilityPackagePrivate CryptoEntryPointVisibility = "package-private"
CryptoEntryPointVisibilityPrivate CryptoEntryPointVisibility = "private"
CryptoEntryPointVisibilityProtected CryptoEntryPointVisibility = "protected"
CryptoEntryPointVisibilityPublic CryptoEntryPointVisibility = "public"
)
// Defines values for DataFlowSourceType.
const (
CALLRESULT DataFlowSourceType = "CALL_RESULT"
EXPRESSION DataFlowSourceType = "EXPRESSION"
FIELD DataFlowSourceType = "FIELD"
LITERAL DataFlowSourceType = "LITERAL"
PARAMETER DataFlowSourceType = "PARAMETER"
VALUE DataFlowSourceType = "VALUE"
VARIABLE DataFlowSourceType = "VARIABLE"
)
// Defines values for DetectorEnum.
const (
Licenseclassifier DetectorEnum = "licenseclassifier"
Nomos DetectorEnum = "nomos"
Scancode DetectorEnum = "scancode"
Scanoss DetectorEnum = "scanoss"
Spdx DetectorEnum = "spdx"
)
// Defines values for ErrorBodyStatus.
const (
ErrorBodyStatusError ErrorBodyStatus = "error"
)
// Defines values for FileResultMatchType.
const (
File FileResultMatchType = "file"
None FileResultMatchType = "none"
Snippet FileResultMatchType = "snippet"
)
// Defines values for InfoCode.
const (
COMPONENTNOTFOUND InfoCode = "COMPONENT_NOT_FOUND"
INVALIDPURL InfoCode = "INVALID_PURL"
REQUIREMENTNOTMET InfoCode = "REQUIREMENT_NOT_MET"
RESOLVEFAILED InfoCode = "RESOLVE_FAILED"
VERSIONNOTFOUND InfoCode = "VERSION_NOT_FOUND"
)
// Defines values for LookupStatusResponseStatus.
const (
LookupStatusResponseStatusFAILED LookupStatusResponseStatus = "FAILED"
LookupStatusResponseStatusSUCCEEDEDWITHWARNINGS LookupStatusResponseStatus = "SUCCEEDED_WITH_WARNINGS"
LookupStatusResponseStatusSUCCESS LookupStatusResponseStatus = "SUCCESS"
)
// Defines values for MatchedOperationKind.
const (
Call MatchedOperationKind = "call"
FieldAccess MatchedOperationKind = "field_access"
Instantiation MatchedOperationKind = "instantiation"
TypeUsage MatchedOperationKind = "type_usage"
)
// Defines values for ReadinessResponseStatus.
const (
NotReady ReadinessResponseStatus = "not_ready"
Ok ReadinessResponseStatus = "ok"
)
// Defines values for ScanEnvelopeStatus.
const (
Completed ScanEnvelopeStatus = "completed"
Expired ScanEnvelopeStatus = "expired"
Failed ScanEnvelopeStatus = "failed"
Queued ScanEnvelopeStatus = "queued"
Scanning ScanEnvelopeStatus = "scanning"
Uploading ScanEnvelopeStatus = "uploading"
)
// Defines values for SearchCriteriaOnVersionNotFound.
const (
SearchCriteriaOnVersionNotFoundShowAny SearchCriteriaOnVersionNotFound = "show_any"
SearchCriteriaOnVersionNotFoundShowClosestGt SearchCriteriaOnVersionNotFound = "show_closest_gt"
SearchCriteriaOnVersionNotFoundShowClosestLt SearchCriteriaOnVersionNotFound = "show_closest_lt"
SearchCriteriaOnVersionNotFoundShowLatest SearchCriteriaOnVersionNotFound = "show_latest"
SearchCriteriaOnVersionNotFoundStrict SearchCriteriaOnVersionNotFound = "strict"
)
// Defines values for SourceEnum.
const (
HeaderDeclared SourceEnum = "header_declared"
MetadataDeclared SourceEnum = "metadata_declared"
NoticeDeclared SourceEnum = "notice_declared"
ProjectDeclared SourceEnum = "project_declared"
SpdxTag SourceEnum = "spdx_tag"
)
// Defines values for StatusResponseStatus.
const (
FAILED StatusResponseStatus = "FAILED"
SUCCEEDEDWITHWARNINGS StatusResponseStatus = "SUCCEEDED_WITH_WARNINGS"
SUCCESS StatusResponseStatus = "SUCCESS"
WARNING StatusResponseStatus = "WARNING"
)
// Defines values for VulnerabilitySource.
const (
NVD VulnerabilitySource = "NVD"
OSV VulnerabilitySource = "OSV"
)
// Defines values for SearchOnVersionNotFound.
const (
SearchOnVersionNotFoundShowAny SearchOnVersionNotFound = "show_any"
SearchOnVersionNotFoundShowClosestGt SearchOnVersionNotFound = "show_closest_gt"
SearchOnVersionNotFoundShowClosestLt SearchOnVersionNotFound = "show_closest_lt"
SearchOnVersionNotFoundShowLatest SearchOnVersionNotFound = "show_latest"
SearchOnVersionNotFoundStrict SearchOnVersionNotFound = "strict"
)
// Defines values for GetComponentStatusParamsOnVersionNotFound.
const (
GetComponentStatusParamsOnVersionNotFoundShowAny GetComponentStatusParamsOnVersionNotFound = "show_any"
GetComponentStatusParamsOnVersionNotFoundShowClosestGt GetComponentStatusParamsOnVersionNotFound = "show_closest_gt"
GetComponentStatusParamsOnVersionNotFoundShowClosestLt GetComponentStatusParamsOnVersionNotFound = "show_closest_lt"
GetComponentStatusParamsOnVersionNotFoundShowLatest GetComponentStatusParamsOnVersionNotFound = "show_latest"
GetComponentStatusParamsOnVersionNotFoundStrict GetComponentStatusParamsOnVersionNotFound = "strict"
)
// Defines values for GetV3CryptographyAlgorithmsParamsOnVersionNotFound.
const (
GetV3CryptographyAlgorithmsParamsOnVersionNotFoundShowAny GetV3CryptographyAlgorithmsParamsOnVersionNotFound = "show_any"
GetV3CryptographyAlgorithmsParamsOnVersionNotFoundShowClosestGt GetV3CryptographyAlgorithmsParamsOnVersionNotFound = "show_closest_gt"
GetV3CryptographyAlgorithmsParamsOnVersionNotFoundShowClosestLt GetV3CryptographyAlgorithmsParamsOnVersionNotFound = "show_closest_lt"
GetV3CryptographyAlgorithmsParamsOnVersionNotFoundShowLatest GetV3CryptographyAlgorithmsParamsOnVersionNotFound = "show_latest"
GetV3CryptographyAlgorithmsParamsOnVersionNotFoundStrict GetV3CryptographyAlgorithmsParamsOnVersionNotFound = "strict"
)
// Defines values for GetV3CryptographyAlgorithmsRangeParamsOnVersionNotFound.
const (
GetV3CryptographyAlgorithmsRangeParamsOnVersionNotFoundShowAny GetV3CryptographyAlgorithmsRangeParamsOnVersionNotFound = "show_any"
GetV3CryptographyAlgorithmsRangeParamsOnVersionNotFoundShowClosestGt GetV3CryptographyAlgorithmsRangeParamsOnVersionNotFound = "show_closest_gt"
GetV3CryptographyAlgorithmsRangeParamsOnVersionNotFoundShowClosestLt GetV3CryptographyAlgorithmsRangeParamsOnVersionNotFound = "show_closest_lt"
GetV3CryptographyAlgorithmsRangeParamsOnVersionNotFoundShowLatest GetV3CryptographyAlgorithmsRangeParamsOnVersionNotFound = "show_latest"
GetV3CryptographyAlgorithmsRangeParamsOnVersionNotFoundStrict GetV3CryptographyAlgorithmsRangeParamsOnVersionNotFound = "strict"
)
// Defines values for GetV3CryptographyAlgorithmsVersionsRangeParamsOnVersionNotFound.
const (
GetV3CryptographyAlgorithmsVersionsRangeParamsOnVersionNotFoundShowAny GetV3CryptographyAlgorithmsVersionsRangeParamsOnVersionNotFound = "show_any"
GetV3CryptographyAlgorithmsVersionsRangeParamsOnVersionNotFoundShowClosestGt GetV3CryptographyAlgorithmsVersionsRangeParamsOnVersionNotFound = "show_closest_gt"
GetV3CryptographyAlgorithmsVersionsRangeParamsOnVersionNotFoundShowClosestLt GetV3CryptographyAlgorithmsVersionsRangeParamsOnVersionNotFound = "show_closest_lt"
GetV3CryptographyAlgorithmsVersionsRangeParamsOnVersionNotFoundShowLatest GetV3CryptographyAlgorithmsVersionsRangeParamsOnVersionNotFound = "show_latest"
GetV3CryptographyAlgorithmsVersionsRangeParamsOnVersionNotFoundStrict GetV3CryptographyAlgorithmsVersionsRangeParamsOnVersionNotFound = "strict"
)
// Defines values for GetV3CryptographyHintsParamsOnVersionNotFound.
const (
GetV3CryptographyHintsParamsOnVersionNotFoundShowAny GetV3CryptographyHintsParamsOnVersionNotFound = "show_any"
GetV3CryptographyHintsParamsOnVersionNotFoundShowClosestGt GetV3CryptographyHintsParamsOnVersionNotFound = "show_closest_gt"
GetV3CryptographyHintsParamsOnVersionNotFoundShowClosestLt GetV3CryptographyHintsParamsOnVersionNotFound = "show_closest_lt"
GetV3CryptographyHintsParamsOnVersionNotFoundShowLatest GetV3CryptographyHintsParamsOnVersionNotFound = "show_latest"
GetV3CryptographyHintsParamsOnVersionNotFoundStrict GetV3CryptographyHintsParamsOnVersionNotFound = "strict"
)
// Defines values for GetV3CryptographyHintsRangeParamsOnVersionNotFound.
const (
GetV3CryptographyHintsRangeParamsOnVersionNotFoundShowAny GetV3CryptographyHintsRangeParamsOnVersionNotFound = "show_any"
GetV3CryptographyHintsRangeParamsOnVersionNotFoundShowClosestGt GetV3CryptographyHintsRangeParamsOnVersionNotFound = "show_closest_gt"
GetV3CryptographyHintsRangeParamsOnVersionNotFoundShowClosestLt GetV3CryptographyHintsRangeParamsOnVersionNotFound = "show_closest_lt"
GetV3CryptographyHintsRangeParamsOnVersionNotFoundShowLatest GetV3CryptographyHintsRangeParamsOnVersionNotFound = "show_latest"
GetV3CryptographyHintsRangeParamsOnVersionNotFoundStrict GetV3CryptographyHintsRangeParamsOnVersionNotFound = "strict"
)
// Defines values for GetV3DependenciesDependenciesParamsOnVersionNotFound.
const (
GetV3DependenciesDependenciesParamsOnVersionNotFoundShowAny GetV3DependenciesDependenciesParamsOnVersionNotFound = "show_any"
GetV3DependenciesDependenciesParamsOnVersionNotFoundShowClosestGt GetV3DependenciesDependenciesParamsOnVersionNotFound = "show_closest_gt"
GetV3DependenciesDependenciesParamsOnVersionNotFoundShowClosestLt GetV3DependenciesDependenciesParamsOnVersionNotFound = "show_closest_lt"
GetV3DependenciesDependenciesParamsOnVersionNotFoundShowLatest GetV3DependenciesDependenciesParamsOnVersionNotFound = "show_latest"
GetV3DependenciesDependenciesParamsOnVersionNotFoundStrict GetV3DependenciesDependenciesParamsOnVersionNotFound = "strict"
)
// Defines values for GetV3GeoprovenanceCountriesParamsOnVersionNotFound.
const (
GetV3GeoprovenanceCountriesParamsOnVersionNotFoundShowAny GetV3GeoprovenanceCountriesParamsOnVersionNotFound = "show_any"
GetV3GeoprovenanceCountriesParamsOnVersionNotFoundShowClosestGt GetV3GeoprovenanceCountriesParamsOnVersionNotFound = "show_closest_gt"
GetV3GeoprovenanceCountriesParamsOnVersionNotFoundShowClosestLt GetV3GeoprovenanceCountriesParamsOnVersionNotFound = "show_closest_lt"
GetV3GeoprovenanceCountriesParamsOnVersionNotFoundShowLatest GetV3GeoprovenanceCountriesParamsOnVersionNotFound = "show_latest"
GetV3GeoprovenanceCountriesParamsOnVersionNotFoundStrict GetV3GeoprovenanceCountriesParamsOnVersionNotFound = "strict"
)
// Defines values for GetV3GeoprovenanceOriginParamsOnVersionNotFound.
const (
GetV3GeoprovenanceOriginParamsOnVersionNotFoundShowAny GetV3GeoprovenanceOriginParamsOnVersionNotFound = "show_any"
GetV3GeoprovenanceOriginParamsOnVersionNotFoundShowClosestGt GetV3GeoprovenanceOriginParamsOnVersionNotFound = "show_closest_gt"
GetV3GeoprovenanceOriginParamsOnVersionNotFoundShowClosestLt GetV3GeoprovenanceOriginParamsOnVersionNotFound = "show_closest_lt"
GetV3GeoprovenanceOriginParamsOnVersionNotFoundShowLatest GetV3GeoprovenanceOriginParamsOnVersionNotFound = "show_latest"
GetV3GeoprovenanceOriginParamsOnVersionNotFoundStrict GetV3GeoprovenanceOriginParamsOnVersionNotFound = "strict"
)
// Defines values for GetLicensesComponentParamsOnVersionNotFound.
const (
GetLicensesComponentParamsOnVersionNotFoundShowAny GetLicensesComponentParamsOnVersionNotFound = "show_any"
GetLicensesComponentParamsOnVersionNotFoundShowClosestGt GetLicensesComponentParamsOnVersionNotFound = "show_closest_gt"
GetLicensesComponentParamsOnVersionNotFoundShowClosestLt GetLicensesComponentParamsOnVersionNotFound = "show_closest_lt"
GetLicensesComponentParamsOnVersionNotFoundShowLatest GetLicensesComponentParamsOnVersionNotFound = "show_latest"
GetLicensesComponentParamsOnVersionNotFoundStrict GetLicensesComponentParamsOnVersionNotFound = "strict"
)
// Defines values for GetV3VulnerabilitiesCpesParamsOnVersionNotFound.
const (
GetV3VulnerabilitiesCpesParamsOnVersionNotFoundShowAny GetV3VulnerabilitiesCpesParamsOnVersionNotFound = "show_any"
GetV3VulnerabilitiesCpesParamsOnVersionNotFoundShowClosestGt GetV3VulnerabilitiesCpesParamsOnVersionNotFound = "show_closest_gt"
GetV3VulnerabilitiesCpesParamsOnVersionNotFoundShowClosestLt GetV3VulnerabilitiesCpesParamsOnVersionNotFound = "show_closest_lt"
GetV3VulnerabilitiesCpesParamsOnVersionNotFoundShowLatest GetV3VulnerabilitiesCpesParamsOnVersionNotFound = "show_latest"
GetV3VulnerabilitiesCpesParamsOnVersionNotFoundStrict GetV3VulnerabilitiesCpesParamsOnVersionNotFound = "strict"
)
// Defines values for GetV3VulnerabilitiesVulnerabilitiesParamsOnVersionNotFound.
const (
GetV3VulnerabilitiesVulnerabilitiesParamsOnVersionNotFoundShowAny GetV3VulnerabilitiesVulnerabilitiesParamsOnVersionNotFound = "show_any"
GetV3VulnerabilitiesVulnerabilitiesParamsOnVersionNotFoundShowClosestGt GetV3VulnerabilitiesVulnerabilitiesParamsOnVersionNotFound = "show_closest_gt"
GetV3VulnerabilitiesVulnerabilitiesParamsOnVersionNotFoundShowClosestLt GetV3VulnerabilitiesVulnerabilitiesParamsOnVersionNotFound = "show_closest_lt"
GetV3VulnerabilitiesVulnerabilitiesParamsOnVersionNotFoundShowLatest GetV3VulnerabilitiesVulnerabilitiesParamsOnVersionNotFound = "show_latest"
GetV3VulnerabilitiesVulnerabilitiesParamsOnVersionNotFoundStrict GetV3VulnerabilitiesVulnerabilitiesParamsOnVersionNotFound = "strict"
)
// AttributionFile defines model for AttributionFile.
type AttributionFile struct {
// AttributionUrl URL to the full content of the attribution file.
AttributionUrl string `json:"attribution_url"`
// File Relative path of the attribution file within the component.
File string `json:"file"`
// FileId MD5 of the content — the same hash that is the last path segment
// of `attribution_url`.
FileId string `json:"file_id"`
}
// AttributionItem defines model for AttributionItem.
type AttributionItem struct {
AttributionFiles *[]AttributionFile `json:"attribution_files,omitempty"`
// InfoCode Per-item resolution outcome. `REQUIREMENT_NOT_MET` is informational
// (a nearest-version was substituted); the others mark failures.
InfoCode *InfoCode `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Purl string `json:"purl"`
Requirement *string `json:"requirement,omitempty"`
// Url Present only when `search.show_url` is set (placeholder — not yet populated).
Url *string `json:"url,omitempty"`
// Version Concrete version resolved from `requirement`.
Version *string `json:"version,omitempty"`
}
// AttributionResponse defines model for AttributionResponse.
type AttributionResponse struct {
Components []AttributionItem `json:"components"`
Status BatchStatus `json:"status"`
}
// BatchRequest defines model for BatchRequest.
type BatchRequest struct {
Components []Request `json:"components"`
// Search Optional request-level search configuration applied to every component
// in the batch (for GET endpoints the same knobs are query params). All
// fields are optional; the defaults disable every fallback (strict version
// matching, no related results). Honored by endpoints that support search
// criteria — currently `/v3/license/evidence`.
Search *SearchCriteria `json:"search,omitempty"`
}
// BatchStatus defines model for BatchStatus.
type BatchStatus struct {
Message string `json:"message"`
Status BatchStatusStatus `json:"status"`
}
// BatchStatusStatus defines model for BatchStatus.Status.
type BatchStatusStatus string
// CVSS defines model for CVSS.
type CVSS struct {
// Cvss CVSS vector string
Cvss *string `json:"cvss,omitempty"`
CvssScore *float32 `json:"cvss_score,omitempty"`
CvssSeverity *string `json:"cvss_severity,omitempty"`
}
// CallArgument One argument passed at a call site with full data-flow provenance.
type CallArgument struct {
// ArgumentExpression The exact argument expression as written in source.
ArgumentExpression string `json:"argument_expression"`
ParameterIndex int32 `json:"parameter_index"`
SourceNodes *[]DataFlowSource `json:"source_nodes,omitempty"`
// Type Argument type inferred at the call site.
Type string `json:"type"`
// VariableName Variable name at the call site; empty for literals/expressions.
VariableName *string `json:"variable_name,omitempty"`
}
// CallNode One function/method in a call chain. The first node in a chain is
// the entry point; subsequent nodes carry `entry_call` describing the
// invocation that reached them. In API responses, the final node in each
// emitted `call_chains[]` path is marked with `is_final: true`.
type CallNode struct {
CanonicalSignature string `json:"canonical_signature"`
// EntryCall The call site where one node in a chain invokes the next.
// Present on every chain node except the entry-point node.
EntryCall *CallSite `json:"entry_call,omitempty"`
FilePath *string `json:"file_path,omitempty"`
FunctionName string `json:"function_name"`
// IsFinal Present and true only on the last frame of each emitted call chain.
IsFinal *bool `json:"is_final,omitempty"`
OwnerVisibility *CallNodeOwnerVisibility `json:"owner_visibility,omitempty"`
ParameterTypes []string `json:"parameter_types"`
ReturnType string `json:"return_type"`
StartLine *int32 `json:"start_line,omitempty"`
Visibility *CallNodeVisibility `json:"visibility,omitempty"`
}
// CallNodeOwnerVisibility defines model for CallNode.OwnerVisibility.
type CallNodeOwnerVisibility string
// CallNodeVisibility defines model for CallNode.Visibility.
type CallNodeVisibility string
// CallSite The call site where one node in a chain invokes the next.
// Present on every chain node except the entry-point node.
type CallSite struct {
CanonicalSignature string `json:"canonical_signature"`
// FilePath File where the call expression appears.
FilePath string `json:"file_path"`
// FunctionName FQN of the invoked function.
FunctionName string `json:"function_name"`
Line int32 `json:"line"`
ParameterTypes []string `json:"parameter_types"`
Parameters *[]CallArgument `json:"parameters,omitempty"`
ReturnType string `json:"return_type"`
}
// Component defines model for Component.
type Component struct {
Name *string `json:"name,omitempty"`
Purl *string `json:"purl,omitempty"`
Url *string `json:"url,omitempty"`
Versions *[]ComponentVersion `json:"versions,omitempty"`
}
// ComponentAlgorithms defines model for ComponentAlgorithms.
type ComponentAlgorithms struct {
Algorithms *[]CryptoAlgorithm `json:"algorithms,omitempty"`
// InfoCode Per-item resolution outcome. `REQUIREMENT_NOT_MET` is informational
// (a nearest-version was substituted); the others mark failures.
InfoCode *InfoCode `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Purl *string `json:"purl,omitempty"`
Requirement *string `json:"requirement,omitempty"`
Version *string `json:"version,omitempty"`
}
// ComponentAlgorithmsInRange defines model for ComponentAlgorithmsInRange.
type ComponentAlgorithmsInRange struct {
Algorithms *[]CryptoAlgorithm `json:"algorithms,omitempty"`
// InfoCode Per-item resolution outcome. `REQUIREMENT_NOT_MET` is informational
// (a nearest-version was substituted); the others mark failures.
InfoCode *InfoCode `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Purl *string `json:"purl,omitempty"`
Versions *[]string `json:"versions,omitempty"`
}
// ComponentCpesInfo defines model for ComponentCpesInfo.
type ComponentCpesInfo struct {
Cpes *[]string `json:"cpes,omitempty"`
InfoCode *string `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Purl *string `json:"purl,omitempty"`
Requirement *string `json:"requirement,omitempty"`
Version *string `json:"version,omitempty"`
}
// ComponentData Per-component reachability block. Each `data[]` element corresponds to
// one component:
//
// - For `/component`, `data` has length 1 — the target with all merged
// transitive findings collapsed in (own + indirect already
// discriminated by `cryptographic_asset.source`).
// - For `/dep-tree`, `data` has one element per supplied dep, each
// carrying that dep's OWN findings (per-dep, not merged across deps).
//
// `metadata` is passed through verbatim from crypto-finder's findings
// schema. `call_chains` follows crypto-finder's callgraph 6.x schema, with
// this API adding `is_final: true` to each chain's final frame.
type ComponentData struct {
// ActualMinedVersion Present only when the requested exact version was not present in
// `component_crypto_findings` and the server resolved to the highest mined version
// in the same `major.minor` bucket, treating it as a representative for
// the requested version. Absent on exact matches and on range-constraint
// resolutions (those echo the original constraint in `requirement`).
ActualMinedVersion *string `json:"actual_mined_version,omitempty"`
// CryptoEntryPoints Per-block projection of the merged callgraph's `crypto_entry_points[]`
// (callgraph 6.x schema), narrowed to entries whose `reachable_findings`
// intersect this block's surviving assets. Passed through as raw JSON.
// Populated only when `include_crypto_entry_points: true`.
//
// This field **replaced** the legacy `entry_point_index` present in
// callgraph schemas prior to 6.x.
CryptoEntryPoints *[]CryptoEntryPoint `json:"crypto_entry_points,omitempty"`
// FindingCount Total cryptographic_assets count across all findings[] in this
// block. POST-PRUNE — when a filter is active, reflects surviving
// assets, NOT the unfiltered universe.
FindingCount int32 `json:"finding_count"`
Findings []Finding `json:"findings"`
Purl string `json:"purl"`
// Requirement Echo of the request requirement string when known.
Requirement *string `json:"requirement,omitempty"`
// Schemas Source crypto-finder schema versions for this component block.
Schemas *ComponentSchemas `json:"schemas,omitempty"`
// SupportingCalls Deduped object-lifecycle calls (e.g. IV generation, key-size
// initialisation) referenced by surviving assets in this block.
// Passed through as raw JSON from the merged callgraph 6.x
// `supporting_calls[]`. Populated only when
// `include_supporting_calls: true`.
//
// Each entry is identified by `supporting_id`, which is the
// foreign key referenced from:
// - `cryptographic_asset.supporting_call_ids[]` (per-asset breadcrumb)
// - `crypto_entry_points[].reachable_supporting_calls[].supporting_id`
SupportingCalls *[]SupportingCall `json:"supporting_calls,omitempty"`
Version string `json:"version"`
}
// ComponentHealth Status of one dependency in the readiness response.
type ComponentHealth struct {
// Detail Error message or extra context (present on error / when relevant).
Detail *string `json:"detail,omitempty"`
Status ComponentHealthStatus `json:"status"`
}
// ComponentHealthStatus defines model for ComponentHealth.Status.
type ComponentHealthStatus string
// ComponentHints defines model for ComponentHints.
type ComponentHints struct {
Hints *[]CryptoHint `json:"hints,omitempty"`
// InfoCode Per-item resolution outcome. `REQUIREMENT_NOT_MET` is informational
// (a nearest-version was substituted); the others mark failures.
InfoCode *InfoCode `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Purl *string `json:"purl,omitempty"`
Requirement *string `json:"requirement,omitempty"`
Version *string `json:"version,omitempty"`
}
// ComponentHintsInRange defines model for ComponentHintsInRange.
type ComponentHintsInRange struct {
Hints *[]CryptoHint `json:"hints,omitempty"`
// InfoCode Per-item resolution outcome. `REQUIREMENT_NOT_MET` is informational
// (a nearest-version was substituted); the others mark failures.
InfoCode *InfoCode `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Purl *string `json:"purl,omitempty"`
Versions *[]string `json:"versions,omitempty"`
}
// ComponentLicenseInfo Per-component license result. `info_code` is one of
// `REQUIREMENT_NOT_MET`, `VERSION_NOT_FOUND`, `NO_INFO` (absent on an exact
// match).
type ComponentLicenseInfo struct {
InfoCode *string `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Licenses *[]LicenseInfo `json:"licenses,omitempty"`
Purl *string `json:"purl,omitempty"`
Requirement *string `json:"requirement,omitempty"`
// Statement License IDs joined with " AND ".
Statement *string `json:"statement,omitempty"`
Url *string `json:"url,omitempty"`
Version *string `json:"version,omitempty"`
}
// ComponentLicenseResponse defines model for ComponentLicenseResponse.
type ComponentLicenseResponse struct {
// Component Per-component license result. `info_code` is one of
// `REQUIREMENT_NOT_MET`, `VERSION_NOT_FOUND`, `NO_INFO` (absent on an exact
// match).
Component *ComponentLicenseInfo `json:"component,omitempty"`
// Status Outcome of a licenses-service call (papi common StatusResponse).
Status *LookupStatusResponse `json:"status,omitempty"`
}
// ComponentLifecycleStatus defines model for ComponentLifecycleStatus.
type ComponentLifecycleStatus struct {
FirstIndexedDate *string `json:"first_indexed_date,omitempty"`
// InfoCode Per-item resolution outcome. `REQUIREMENT_NOT_MET` is informational
// (a nearest-version was substituted); the others mark failures.
InfoCode *InfoCode `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
LastIndexedDate *string `json:"last_indexed_date,omitempty"`
RepositoryStatus *string `json:"repository_status,omitempty"`
Status *string `json:"status,omitempty"`
StatusChangeDate *string `json:"status_change_date,omitempty"`
}
// ComponentLocation defines model for ComponentLocation.
type ComponentLocation struct {
// InfoCode INVALID_PURL | NO_INFO | TOO_MANY_CONTRIBUTORS
InfoCode *string `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Locations *[]GeoLocation `json:"locations,omitempty"`
Purl *string `json:"purl,omitempty"`
}
// ComponentLocationInfo defines model for ComponentLocationInfo.
type ComponentLocationInfo struct {
CuratedLocations *[]GeoCuratedLocation `json:"curated_locations,omitempty"`
DeclaredLocations *[]GeoDeclaredLocation `json:"declared_locations,omitempty"`
// InfoCode INVALID_PURL | NO_INFO | TOO_MANY_CONTRIBUTORS
InfoCode *string `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Purl *string `json:"purl,omitempty"`
}
// ComponentReachabilityRequest defines model for ComponentReachabilityRequest.
type ComponentReachabilityRequest struct {
// EntryPointSignatures Optional exact-match filter on entry-point canonical signatures.
// When non-empty, `assets[]` is **restricted to findings reachable
// from at least one supplied entry point**. Findings unreachable
// from any supplied entry are REMOVED entirely from `assets[]` —
// they do NOT appear as `reachable=false` entries. An empty array
// (or absent field) means no filter; all findings are returned.
// Signatures that matched zero call chains are listed in
// `unmatched_signatures` at the top level of the response
// (diagnostic for typos).
EntryPointSignatures *[]string `json:"entry_point_signatures,omitempty"`
// IncludeCallChains When true, decorates each asset with its `call_chains[]` array
// (raw callgraph 6.x frame arrays) and the `reachable` bool.
// Default false produces a pure CBOM response (findings without
// reachability decoration). Independent of `entry_point_signatures`
// (which controls whether assets are PRUNED to reachable ones).
// Independent of `include_crypto_entry_points` and
// `include_supporting_calls`.
IncludeCallChains *bool `json:"include_call_chains,omitempty"`
// IncludeCryptoEntryPoints When true, populates `crypto_entry_points[]` at the top level
// of each `ComponentData` block — the public reachability surface
// (entry-point functions with their `reachable_findings[]`).
// This is the projection that **replaced** the legacy
// `entry_point_index` field.
// Independent of `include_call_chains` and `include_supporting_calls`.
IncludeCryptoEntryPoints *bool `json:"include_crypto_entry_points,omitempty"`
// IncludeRawCallgraph When true, `callgraph` at the top level of the response carries
// the unfiltered merged callgraph.
IncludeRawCallgraph *bool `json:"include_raw_callgraph,omitempty"`
// IncludeSupportingCalls When true, populates `supporting_calls[]` at the top level of
// each `ComponentData` block (deduped object-lifecycle calls such
// as IV generation and key-size initialisation) AND attaches
// `supporting_call_ids[]` to each `cryptographic_asset` whose
// finding graph references supporting calls. Each
// `supporting_call_id` resolves to a `supporting_calls[].supporting_id`
// in the same block.
// Independent of `include_call_chains` and `include_crypto_entry_points`.
IncludeSupportingCalls *bool `json:"include_supporting_calls,omitempty"`
// MaxChainsPerAsset Per-asset cap on `call_chains[]` length. Hard cap 128.
// `0` (the default) means no cap — all chains are returned. Use a
// positive integer to limit chains per asset. Values above 128 are
// rejected with HTTP 400.
MaxChainsPerAsset *int32 `json:"max_chains_per_asset,omitempty"`
Purl string `json:"purl"`
// Requirement Version constraint. Accepts exact versions (`1.5.2`, `=1.5.2`) or
// SemVer constraint expressions (`>=1.5.0`, `^1.5.0`, `~1.5.0`,
// `>=1.5.0,<2.0.0`). The leading `=` is optional. For range
// expressions, the server resolves to the highest mined version
// satisfying the constraint; no match → `VERSION_NOT_FOUND`.
Requirement *string `json:"requirement,omitempty"`
}
// ComponentReachabilityResponse Response envelope for `/component`. Top-level shape:
// `{data, info_code, info_message, rules_version, status,
// unmatched_signatures, callgraph}`.
//
// `data` is an array of length 1 — the target component block with all
// merged transitive findings collapsed in (own + indirect, discriminated
// by `cryptographic_asset.source`). Component identity (`purl`, `version`,
// `requirement`) lives inside `data[0]`, not at the top level.
//
// `unmatched_signatures` and `callgraph` live at the TOP LEVEL.
//
// Each `data[]` block optionally carries `crypto_entry_points[]` and
// `supporting_calls[]` when the corresponding opt-in flags are set.
type ComponentReachabilityResponse struct {
// Callgraph Raw merged callgraph as JSON, populated only when the request set
// `include_raw_callgraph: true`. Shape matches crypto-finder
// callgraph schema 6.x verbatim.
Callgraph *map[string]interface{} `json:"callgraph,omitempty"`
Data *[]ComponentData `json:"data,omitempty"`
// InfoCode One of:
// - `READY` — reachability data computed successfully.
// - `INVALID_PURL` — the supplied PURL could not be parsed.
// - `INVALID_SEMVER` — the requirement is structurally invalid.
// - `COMPONENT_NOT_FOUND` — the purl has no mining results at any version.
// - `VERSION_NOT_FOUND` — no mined version matches the supplied requirement.
// - `NO_INFO` — reachability data unavailable (stitch failed or timed out).
InfoCode string `json:"info_code"`
InfoMessage *string `json:"info_message,omitempty"`
// RulesVersion Echoed on READY — the rules_version active for this row.
RulesVersion *string `json:"rules_version,omitempty"`
// Status Top-level outcome for the request as a whole.
Status StatusResponse `json:"status"`
// UnmatchedSignatures Signatures from `entry_point_signatures` that matched zero chains.
UnmatchedSignatures *[]string `json:"unmatched_signatures,omitempty"`
}
// ComponentRequest Identifies one component by PURL and optional version constraint.
type ComponentRequest struct {
// Purl Package URL identifying the component.
Purl string `json:"purl"`
// Requirement Version constraint when the PURL has no explicit version. Accepts:
// - Exact versions with or without leading `=`: `1.15`, `=1.15`
// - SemVer constraint expressions: `>=1.10,<1.16`, `^1.5.0`, `~1.5.0`
//
// For range expressions, the server resolves to the highest mined
// version that satisfies the constraint. Maven non-SemVer qualifiers
// (e.g. `1.5.2.RELEASE`) are accepted as exact literals.
Requirement *string `json:"requirement,omitempty"`
}
// ComponentResult A resolved component in a batchScanner report, keyed by url_hash in `ScanResult.components`. Open to extra upstream fields.
type ComponentResult struct {
Component string `json:"component,omitempty"`
File string `json:"file,omitempty"`
Purls []string `json:"purls,omitempty"`
Rank int `json:"rank,omitempty"`
ReleaseDate string `json:"release_date,omitempty"`
Url string `json:"url,omitempty"`
Vendor string `json:"vendor,omitempty"`
Version string `json:"version,omitempty"`
}
// ComponentSchemas Source crypto-finder schema versions for this component block.
type ComponentSchemas struct {
Callgraph *string `json:"callgraph,omitempty"`
Findings *string `json:"findings,omitempty"`
}
// ComponentSearchHit defines model for ComponentSearchHit.
type ComponentSearchHit struct {
Name *string `json:"name,omitempty"`
Purl *string `json:"purl,omitempty"`
// Url Project URL reconstructed from mine_id (may be empty).
Url *string `json:"url,omitempty"`
}
// ComponentStatusResult defines model for ComponentStatusResult.
type ComponentStatusResult struct {
ComponentStatus *ComponentLifecycleStatus `json:"component_status,omitempty"`
Name *string `json:"name,omitempty"`
Purl *string `json:"purl,omitempty"`
Requirement *string `json:"requirement,omitempty"`
VersionStatus *ComponentVersionStatus `json:"version_status,omitempty"`
}
// ComponentVersion defines model for ComponentVersion.
type ComponentVersion struct {
// Date Release date as reported by the upstream registry.
Date *string `json:"date,omitempty"`
Licenses *[]ComponentVersionLicense `json:"licenses,omitempty"`
Version *string `json:"version,omitempty"`
}
// ComponentVersionLicense defines model for ComponentVersionLicense.
type ComponentVersionLicense struct {
IsSpdxApproved *bool `json:"is_spdx_approved,omitempty"`
Name *string `json:"name,omitempty"`
SpdxId *string `json:"spdx_id,omitempty"`
Url *string `json:"url,omitempty"`
}
// ComponentVersionStatus defines model for ComponentVersionStatus.
type ComponentVersionStatus struct {
IndexedDate *string `json:"indexed_date,omitempty"`
// InfoCode Per-item resolution outcome. `REQUIREMENT_NOT_MET` is informational
// (a nearest-version was substituted); the others mark failures.
InfoCode *InfoCode `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
// RepositoryStatus Raw status string reported by the registry.
RepositoryStatus *string `json:"repository_status,omitempty"`
// Status Canonical lifecycle (active / removed / deprecated / deleted).
Status *string `json:"status,omitempty"`
StatusChangeDate *string `json:"status_change_date,omitempty"`
Version *string `json:"version,omitempty"`
}
// ComponentVersionsInRange defines model for ComponentVersionsInRange.
type ComponentVersionsInRange struct {
// InfoCode Per-item resolution outcome. `REQUIREMENT_NOT_MET` is informational
// (a nearest-version was substituted); the others mark failures.
InfoCode *InfoCode `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Purl *string `json:"purl,omitempty"`
VersionsWith *[]string `json:"versions_with,omitempty"`
VersionsWithout *[]string `json:"versions_without,omitempty"`
}
// ComponentVersionsResponse defines model for ComponentVersionsResponse.
type ComponentVersionsResponse struct {
Component Component `json:"component"`
Status BatchStatus `json:"status"`
}
// ComponentVulnerabilityInfo defines model for ComponentVulnerabilityInfo.
type ComponentVulnerabilityInfo struct {
InfoCode *string `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Purl *string `json:"purl,omitempty"`
Requirement *string `json:"requirement,omitempty"`
Version *string `json:"version,omitempty"`
Vulnerabilities *[]Vulnerability `json:"vulnerabilities,omitempty"`
}
// ComponentsLicenseResponse defines model for ComponentsLicenseResponse.
type ComponentsLicenseResponse struct {
Components *[]ComponentLicenseInfo `json:"components,omitempty"`
// Status Outcome of a licenses-service call (papi common StatusResponse).
Status *LookupStatusResponse `json:"status,omitempty"`
}
// ComponentsSearchResponse defines model for ComponentsSearchResponse.
type ComponentsSearchResponse struct {
Components []ComponentSearchHit `json:"components"`
Status BatchStatus `json:"status"`
}
// ComponentsStatusResponse defines model for ComponentsStatusResponse.
type ComponentsStatusResponse struct {
Components []ComponentStatusResult `json:"components"`
Status BatchStatus `json:"status"`
}
// CopyrightDetection defines model for CopyrightDetection.
type CopyrightDetection struct {
// Copyright Detected copyright statement (verbatim).
Copyright string `json:"copyright"`
// Detector Name of the detector that produced the evidence.
Detector DetectorEnum `json:"detector"`
// Evidence Line range or byte range of the evidence, depending on the server's
// license-hints backend: 1-based inclusive **line numbers** with the
// default `postgres` backend, or **byte offsets** with the `ldb` backend.
// The content endpoints slice `?start=&end=` by the same unit.
Evidence EvidenceRange `json:"evidence"`
// Holder Holder parsed out of the raw statement (years / boilerplate
// removed). Optional — absent when it could not be parsed.
Holder *string `json:"holder,omitempty"`
// Source Origin/category of the evidence. Today only `header_declared`,
// `notice_declared` and `metadata_declared` are emitted (derived from
// the file path); `spdx_tag` and `project_declared` are reserved for a
// richer signal.
Source SourceEnum `json:"source"`
}
// CopyrightEvidenceFile defines model for CopyrightEvidenceFile.
type CopyrightEvidenceFile struct {
Detections []CopyrightDetection `json:"detections"`
File string `json:"file"`
FileId string `json:"file_id"`
}
// CopyrightEvidenceItem defines model for CopyrightEvidenceItem.
type CopyrightEvidenceItem struct {
Files *[]CopyrightEvidenceFile `json:"files,omitempty"`
// InfoCode Per-item resolution outcome. `REQUIREMENT_NOT_MET` is informational
// (a nearest-version was substituted); the others mark failures.
InfoCode *InfoCode `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Purl string `json:"purl"`
Requirement *string `json:"requirement,omitempty"`
// Url Present only when `search.show_url` is set (placeholder — not yet populated).
Url *string `json:"url,omitempty"`
Version *string `json:"version,omitempty"`
}
// CopyrightEvidenceResponse defines model for CopyrightEvidenceResponse.
type CopyrightEvidenceResponse struct {
Components []CopyrightEvidenceItem `json:"components"`
Status BatchStatus `json:"status"`
}
// CopyrightHolder defines model for CopyrightHolder.
type CopyrightHolder struct {
// Count Number of detections referencing this holder.
Count int `json:"count"`
Holder string `json:"holder"`
}
// CopyrightHoldersItem defines model for CopyrightHoldersItem.
type CopyrightHoldersItem struct {
Holders *[]CopyrightHolder `json:"holders,omitempty"`
// InfoCode Per-item resolution outcome. `REQUIREMENT_NOT_MET` is informational
// (a nearest-version was substituted); the others mark failures.
InfoCode *InfoCode `json:"info_code,omitempty"`
InfoMessage *string `json:"info_message,omitempty"`
Purl string `json:"purl"`
Requirement *string `json:"requirement,omitempty"`
// Url Present only when `search.show_url` is set (placeholder — not yet populated).
Url *string `json:"url,omitempty"`
Version *string `json:"version,omitempty"`
}
// CopyrightHoldersResponse defines model for CopyrightHoldersResponse.
type CopyrightHoldersResponse struct {
Components []CopyrightHoldersItem `json:"components"`
Status BatchStatus `json:"status"`
}
// CpesResponse defines model for CpesResponse.
type CpesResponse struct {
Components []ComponentCpesInfo `json:"components"`
Status BatchStatus `json:"status"`
}
// CryptoAlgorithm defines model for CryptoAlgorithm.
type CryptoAlgorithm struct {
Algorithm *string `json:"algorithm,omitempty"`
Strength *string `json:"strength,omitempty"`
}
// CryptoAlgorithmsInRangeResponse defines model for CryptoAlgorithmsInRangeResponse.
type CryptoAlgorithmsInRangeResponse struct {
Components []ComponentAlgorithmsInRange `json:"components"`
Status BatchStatus `json:"status"`
}
// CryptoAlgorithmsResponse defines model for CryptoAlgorithmsResponse.
type CryptoAlgorithmsResponse struct {
Components []ComponentAlgorithms `json:"components"`
Status BatchStatus `json:"status"`
}
// CryptoAsset One cryptographic operation detected in source code — thin pass-through
// over the crypto-finder findings.json `cryptographic_assets[]` entry.
//
// `metadata` is the verbatim crypto-finder block (camelCase keys; see
// `CryptoFinderMetadata`). This service does NOT split it into typed
// sub-objects. Consumers branch on `metadata.assetType`.
//
// `reachable` and `call_chains` are populated ONLY when `include_call_chains:
// true`. `call_chains` follows crypto-finder's callgraph 6.x schema (each
// chain is an ordered array of `CallNode` frame objects), with this API
// adding `is_final: true` to each chain's last frame.
// `supporting_call_ids` is populated ONLY when `include_supporting_calls:
// true`.
type CryptoAsset struct {
// CallChains Ordered call chains from entry points to this asset, following
// crypto-finder's callgraph 6.x schema. Each element is an array of
// call-chain frame objects (see `CallNode`); this API adds
// `is_final: true` to each chain's last frame. Present only when the
// reachability endpoint was called with `include_call_chains: true`.
CallChains *[][]CallNode `json:"call_chains,omitempty"`
EndLine int32 `json:"end_line"`
// FindingId Stable hash of the detection. Use as primary key.
FindingId string `json:"finding_id"`
// Match Exact source line that triggered the detection.
Match string `json:"match"`
// Metadata Pass-through metadata block as emitted by crypto-finder's findings
// envelope (v1.3). The shape is owned by crypto-finder, not by this
// service. Keys are CAMEL CASE (e.g. `assetType`, `algorithmName`,
// `protocolName`, `materialType`). `assetType` is the discriminator
// used by consumers that want to branch on the variant. All other keys
// are optional and depend on the variant — for `assetType: algorithm`
// you'll see `algorithmName`, `algorithmFamily`, `algorithmPrimitive`,
// `algorithmMode`, `algorithmPadding`, `algorithmParameterSetIdentifier`;
// for `assetType: protocol` you'll see `protocolName`, `protocolStrength`;
// for `assetType: certificate` you'll see `certificateFormat`,
// `certificateAlgorithm`, `certificateType`, `certificateStoreType`;
// for `assetType: related-crypto-material` you'll see `materialType`,
// `materialAlgorithm`, `materialFormat`, `materialSize`.
// Schema evolution (new fields, new variants) is forward-compatible —
// this service does NOT re-curate or translate metadata.
Metadata CryptoFinderMetadata `json:"metadata"`
// Oid RFC 5280 / CBOM Object Identifier when applicable.
Oid *string `json:"oid,omitempty"`
// Reachable True iff at least one entry point reaches this asset. Present
// only when the reachability endpoint was called with
// `include_call_chains: true`.
Reachable *bool `json:"reachable,omitempty"`
Source CryptoAssetSource `json:"source"`
StartLine int32 `json:"start_line"`
// SupportingCallIds Foreign-key breadcrumb to the block-level `supporting_calls[]`
// array. Each string value is a `supporting_calls[].supporting_id`.