@artifact-keeper/sdk 1.1.0-dev.1 → 1.1.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/types.gen.ts CHANGED
@@ -16,6 +16,14 @@ export type AddBuildArtifactsResponse = {
16
16
  artifacts: Array<BuildArtifactResponse>;
17
17
  };
18
18
 
19
+ export type AddLabelRequest = {
20
+ value?: string;
21
+ };
22
+
23
+ export type AddPeerLabelRequest = {
24
+ value?: string;
25
+ };
26
+
19
27
  export type AddVirtualMemberRequest = {
20
28
  member_key: string;
21
29
  priority?: number | null;
@@ -66,6 +74,87 @@ export type ApiTokenResponse = {
66
74
  token_prefix: string;
67
75
  };
68
76
 
77
+ export type ApprovalHistoryQuery = {
78
+ page?: number | null;
79
+ per_page?: number | null;
80
+ source_repository?: string | null;
81
+ status?: string | null;
82
+ };
83
+
84
+ export type ApprovalListResponse = {
85
+ items: Array<ApprovalResponse>;
86
+ pagination: Pagination;
87
+ };
88
+
89
+ export type ApprovalRequest = {
90
+ /**
91
+ * Artifact ID to promote
92
+ */
93
+ artifact_id: string;
94
+ /**
95
+ * Free-text justification
96
+ */
97
+ notes?: string | null;
98
+ /**
99
+ * Skip policy evaluation
100
+ */
101
+ skip_policy_check?: boolean;
102
+ /**
103
+ * Source staging repository key
104
+ */
105
+ source_repository: string;
106
+ /**
107
+ * Target release repository key
108
+ */
109
+ target_repository: string;
110
+ };
111
+
112
+ export type ApprovalResponse = {
113
+ artifact_id: string;
114
+ id: string;
115
+ notes?: string | null;
116
+ policy_result?: {
117
+ [key: string]: unknown;
118
+ } | null;
119
+ requested_at: string;
120
+ requested_by: string;
121
+ review_notes?: string | null;
122
+ reviewed_at?: string | null;
123
+ reviewed_by?: string | null;
124
+ source_repository: string;
125
+ status: string;
126
+ target_repository: string;
127
+ };
128
+
129
+ export type ArtifactEvalEntry = {
130
+ artifact_id: string;
131
+ passed: boolean;
132
+ violations: Array<string>;
133
+ };
134
+
135
+ export type ArtifactFilterSchema = {
136
+ exclude_paths?: Array<string>;
137
+ include_paths?: Array<string>;
138
+ max_age_days?: number | null;
139
+ max_size_bytes?: number | null;
140
+ };
141
+
142
+ export type ArtifactHealthResponse = {
143
+ artifact_id: string;
144
+ checks: Array<CheckSummary>;
145
+ checks_passed: number;
146
+ checks_total: number;
147
+ critical_issues: number;
148
+ health_grade: string;
149
+ health_score: number;
150
+ last_checked_at?: string | null;
151
+ license_score?: number | null;
152
+ metadata_score?: number | null;
153
+ quality_score?: number | null;
154
+ security_score?: number | null;
155
+ total_issues: number;
156
+ };
157
+
69
158
  export type ArtifactListResponse = {
70
159
  items: Array<ArtifactResponse>;
71
160
  pagination: Pagination;
@@ -240,6 +329,15 @@ export type BuildRow = {
240
329
  updated_at: string;
241
330
  };
242
331
 
332
+ export type BulkEvaluationResponse = {
333
+ failed: number;
334
+ passed: number;
335
+ results: Array<ArtifactEvalEntry>;
336
+ rule_id: string;
337
+ rule_name: string;
338
+ total_artifacts: number;
339
+ };
340
+
243
341
  export type BulkPromoteRequest = {
244
342
  artifact_ids: Array<string>;
245
343
  notes?: string | null;
@@ -264,11 +362,44 @@ export type CheckLicenseComplianceRequest = {
264
362
  repository_id?: string | null;
265
363
  };
266
364
 
365
+ export type CheckResponse = {
366
+ artifact_id: string;
367
+ check_type: string;
368
+ checker_version?: string | null;
369
+ completed_at?: string | null;
370
+ created_at: string;
371
+ critical_count: number;
372
+ details?: {
373
+ [key: string]: unknown;
374
+ } | null;
375
+ error_message?: string | null;
376
+ high_count: number;
377
+ id: string;
378
+ info_count: number;
379
+ issues_count: number;
380
+ low_count: number;
381
+ medium_count: number;
382
+ passed?: boolean | null;
383
+ repository_id: string;
384
+ score?: number | null;
385
+ started_at?: string | null;
386
+ status: string;
387
+ };
388
+
267
389
  export type CheckStatus = {
268
390
  message?: string | null;
269
391
  status: string;
270
392
  };
271
393
 
394
+ export type CheckSummary = {
395
+ check_type: string;
396
+ completed_at?: string | null;
397
+ issues_count: number;
398
+ passed?: boolean | null;
399
+ score?: number | null;
400
+ status: string;
401
+ };
402
+
272
403
  export type ChecksumArtifact = {
273
404
  checksum_sha256: string;
274
405
  content_type: string;
@@ -447,6 +578,23 @@ export type CreateConnectionRequest = {
447
578
  url: string;
448
579
  };
449
580
 
581
+ export type CreateGateRequest = {
582
+ action?: string;
583
+ description?: string | null;
584
+ enforce_on_download?: boolean;
585
+ enforce_on_promotion?: boolean;
586
+ max_critical_issues?: number | null;
587
+ max_high_issues?: number | null;
588
+ max_medium_issues?: number | null;
589
+ min_health_score?: number | null;
590
+ min_metadata_score?: number | null;
591
+ min_quality_score?: number | null;
592
+ min_security_score?: number | null;
593
+ name: string;
594
+ repository_id?: string | null;
595
+ required_checks?: Array<string>;
596
+ };
597
+
450
598
  export type CreateGroupRequest = {
451
599
  description?: string | null;
452
600
  name: string;
@@ -518,9 +666,12 @@ export type CreatePermissionRequest = {
518
666
  export type CreatePolicyRequest = {
519
667
  block_on_fail: boolean;
520
668
  block_unscanned: boolean;
669
+ max_artifact_age_days?: number | null;
521
670
  max_severity: string;
671
+ min_staging_hours?: number | null;
522
672
  name: string;
523
673
  repository_id?: string | null;
674
+ require_signature?: boolean;
524
675
  };
525
676
 
526
677
  export type CreateRepositoryRequest = {
@@ -534,6 +685,20 @@ export type CreateRepositoryRequest = {
534
685
  upstream_url?: string | null;
535
686
  };
536
687
 
688
+ export type CreateRuleRequest = {
689
+ allowed_licenses?: Array<string> | null;
690
+ auto_promote?: boolean;
691
+ is_enabled?: boolean;
692
+ max_artifact_age_days?: number | null;
693
+ max_cve_severity?: string | null;
694
+ min_health_score?: number | null;
695
+ min_staging_hours?: number | null;
696
+ name: string;
697
+ require_signature?: boolean;
698
+ source_repo_id: string;
699
+ target_repo_id: string;
700
+ };
701
+
537
702
  export type CreateSamlConfigRequest = {
538
703
  admin_group?: string | null;
539
704
  attribute_mapping?: {
@@ -551,6 +716,24 @@ export type CreateSamlConfigRequest = {
551
716
  sso_url: string;
552
717
  };
553
718
 
719
+ export type CreateSyncPolicyPayload = {
720
+ artifact_filter?: {
721
+ [key: string]: unknown;
722
+ };
723
+ description?: string;
724
+ enabled?: boolean;
725
+ name: string;
726
+ peer_selector?: {
727
+ [key: string]: unknown;
728
+ };
729
+ precedence?: number;
730
+ priority?: number;
731
+ replication_mode?: string;
732
+ repo_selector?: {
733
+ [key: string]: unknown;
734
+ };
735
+ };
736
+
554
737
  export type CreateTicketRequest = {
555
738
  purpose: string;
556
739
  resource_path?: string | null;
@@ -675,6 +858,16 @@ export type DateRangeQuery = {
675
858
  to?: string | null;
676
859
  };
677
860
 
861
+ /**
862
+ * Database connection pool statistics.
863
+ */
864
+ export type DbPoolStats = {
865
+ active_connections: number;
866
+ idle_connections: number;
867
+ max_connections: number;
868
+ size: number;
869
+ };
870
+
678
871
  export type DeliveryListResponse = {
679
872
  items: Array<DeliveryResponse>;
680
873
  total: number;
@@ -938,6 +1131,13 @@ export type ErrorResponse = {
938
1131
  message: string;
939
1132
  };
940
1133
 
1134
+ export type EvaluationResultResponse = {
1135
+ created: number;
1136
+ policies_evaluated: number;
1137
+ removed: number;
1138
+ updated: number;
1139
+ };
1140
+
941
1141
  export type EventsQuery = {
942
1142
  limit?: number | null;
943
1143
  };
@@ -1026,6 +1226,46 @@ export type FormatHandlerResponse = {
1026
1226
  */
1027
1227
  export type FormatHandlerType = 'Core' | 'Wasm';
1028
1228
 
1229
+ export type GateEvaluationResponse = {
1230
+ action: string;
1231
+ component_scores: {
1232
+ [key: string]: unknown;
1233
+ };
1234
+ gate_name: string;
1235
+ health_grade: string;
1236
+ health_score: number;
1237
+ passed: boolean;
1238
+ violations: Array<GateViolationResponse>;
1239
+ };
1240
+
1241
+ export type GateResponse = {
1242
+ action: string;
1243
+ created_at: string;
1244
+ description?: string | null;
1245
+ enforce_on_download: boolean;
1246
+ enforce_on_promotion: boolean;
1247
+ id: string;
1248
+ is_enabled: boolean;
1249
+ max_critical_issues?: number | null;
1250
+ max_high_issues?: number | null;
1251
+ max_medium_issues?: number | null;
1252
+ min_health_score?: number | null;
1253
+ min_metadata_score?: number | null;
1254
+ min_quality_score?: number | null;
1255
+ min_security_score?: number | null;
1256
+ name: string;
1257
+ repository_id?: string | null;
1258
+ required_checks: Array<string>;
1259
+ updated_at: string;
1260
+ };
1261
+
1262
+ export type GateViolationResponse = {
1263
+ actual: string;
1264
+ expected: string;
1265
+ message: string;
1266
+ rule: string;
1267
+ };
1268
+
1029
1269
  export type GenerateSbomRequest = {
1030
1270
  artifact_id: string;
1031
1271
  force_regenerate?: boolean;
@@ -1083,8 +1323,21 @@ export type HealthChecks = {
1083
1323
  storage: CheckStatus;
1084
1324
  };
1085
1325
 
1326
+ export type HealthDashboardResponse = {
1327
+ avg_health_score: number;
1328
+ repos_grade_a: number;
1329
+ repos_grade_b: number;
1330
+ repos_grade_c: number;
1331
+ repos_grade_d: number;
1332
+ repos_grade_f: number;
1333
+ repositories: Array<RepoHealthResponse>;
1334
+ total_artifacts_evaluated: number;
1335
+ total_repositories: number;
1336
+ };
1337
+
1086
1338
  export type HealthResponse = {
1087
1339
  checks: HealthChecks;
1340
+ db_pool?: null | DbPoolStats;
1088
1341
  demo_mode: boolean;
1089
1342
  status: string;
1090
1343
  version: string;
@@ -1131,11 +1384,45 @@ export type InstallFromLocalRequest = {
1131
1384
  path: string;
1132
1385
  };
1133
1386
 
1387
+ export type IssueResponse = {
1388
+ artifact_id: string;
1389
+ category: string;
1390
+ check_result_id: string;
1391
+ created_at: string;
1392
+ description?: string | null;
1393
+ id: string;
1394
+ is_suppressed: boolean;
1395
+ location?: string | null;
1396
+ severity: string;
1397
+ suppressed_at?: string | null;
1398
+ suppressed_by?: string | null;
1399
+ suppressed_reason?: string | null;
1400
+ title: string;
1401
+ };
1402
+
1134
1403
  export type KeyListResponse = {
1135
1404
  keys: Array<SigningKeyPublic>;
1136
1405
  total: number;
1137
1406
  };
1138
1407
 
1408
+ export type LabelEntrySchema = {
1409
+ key: string;
1410
+ value?: string;
1411
+ };
1412
+
1413
+ export type LabelResponse = {
1414
+ created_at: string;
1415
+ id: string;
1416
+ key: string;
1417
+ repository_id: string;
1418
+ value: string;
1419
+ };
1420
+
1421
+ export type LabelsListResponse = {
1422
+ items: Array<LabelResponse>;
1423
+ total: number;
1424
+ };
1425
+
1139
1426
  export type LdapConfigResponse = {
1140
1427
  admin_group_dn?: string | null;
1141
1428
  bind_dn?: string | null;
@@ -1271,6 +1558,13 @@ export type ListUsersQuery = {
1271
1558
  search?: string | null;
1272
1559
  };
1273
1560
 
1561
+ /**
1562
+ * Lightweight liveness response.
1563
+ */
1564
+ export type LivezResponse = {
1565
+ status: string;
1566
+ };
1567
+
1274
1568
  export type LoginRequest = {
1275
1569
  password: string;
1276
1570
  username: string;
@@ -1286,6 +1580,18 @@ export type LoginResponse = {
1286
1580
  totp_token?: string | null;
1287
1581
  };
1288
1582
 
1583
+ export type MatchedPeerSchema = {
1584
+ id: string;
1585
+ name: string;
1586
+ region?: string | null;
1587
+ };
1588
+
1589
+ export type MatchedRepoSchema = {
1590
+ format: string;
1591
+ id: string;
1592
+ key: string;
1593
+ };
1594
+
1289
1595
  export type MembersRequest = {
1290
1596
  user_ids: Array<string>;
1291
1597
  };
@@ -1537,6 +1843,24 @@ export type PeerInstanceResponse = {
1537
1843
  status: string;
1538
1844
  };
1539
1845
 
1846
+ export type PeerLabelEntrySchema = {
1847
+ key: string;
1848
+ value?: string;
1849
+ };
1850
+
1851
+ export type PeerLabelResponse = {
1852
+ created_at: string;
1853
+ id: string;
1854
+ key: string;
1855
+ peer_instance_id: string;
1856
+ value: string;
1857
+ };
1858
+
1859
+ export type PeerLabelsListResponse = {
1860
+ items: Array<PeerLabelResponse>;
1861
+ total: number;
1862
+ };
1863
+
1540
1864
  export type PeerResponse = {
1541
1865
  bandwidth_estimate_bps?: number | null;
1542
1866
  bytes_transferred_total: number;
@@ -1552,6 +1876,21 @@ export type PeerResponse = {
1552
1876
  transfer_success_count: number;
1553
1877
  };
1554
1878
 
1879
+ export type PeerSelectorSchema = {
1880
+ all?: boolean;
1881
+ match_labels?: {
1882
+ [key: string]: string;
1883
+ };
1884
+ match_peers?: Array<string>;
1885
+ match_region?: string | null;
1886
+ };
1887
+
1888
+ export type PendingQuery = {
1889
+ page?: number | null;
1890
+ per_page?: number | null;
1891
+ source_repository?: string | null;
1892
+ };
1893
+
1555
1894
  export type PermissionListResponse = {
1556
1895
  items: Array<PermissionResponse>;
1557
1896
  pagination: Pagination;
@@ -1654,9 +1993,12 @@ export type PolicyResponse = {
1654
1993
  created_at: string;
1655
1994
  id: string;
1656
1995
  is_enabled: boolean;
1996
+ max_artifact_age_days?: number | null;
1657
1997
  max_severity: string;
1998
+ min_staging_hours?: number | null;
1658
1999
  name: string;
1659
2000
  repository_id?: string | null;
2001
+ require_signature: boolean;
1660
2002
  updated_at: string;
1661
2003
  };
1662
2004
 
@@ -1666,6 +2008,30 @@ export type PolicyViolation = {
1666
2008
  severity: string;
1667
2009
  };
1668
2010
 
2011
+ export type PreviewPolicyPayload = {
2012
+ artifact_filter?: {
2013
+ [key: string]: unknown;
2014
+ };
2015
+ description?: string;
2016
+ enabled?: boolean;
2017
+ name: string;
2018
+ peer_selector?: {
2019
+ [key: string]: unknown;
2020
+ };
2021
+ precedence?: number;
2022
+ priority?: number;
2023
+ replication_mode?: string;
2024
+ repo_selector?: {
2025
+ [key: string]: unknown;
2026
+ };
2027
+ };
2028
+
2029
+ export type PreviewResultResponse = {
2030
+ matched_peers: Array<MatchedPeerSchema>;
2031
+ matched_repositories: Array<MatchedRepoSchema>;
2032
+ subscription_count: number;
2033
+ };
2034
+
1669
2035
  export type ProbeBody = {
1670
2036
  bandwidth_estimate_bps?: number | null;
1671
2037
  latency_ms: number;
@@ -1689,7 +2055,9 @@ export type PromotionHistoryEntry = {
1689
2055
  } | null;
1690
2056
  promoted_by?: string | null;
1691
2057
  promoted_by_username?: string | null;
2058
+ rejection_reason?: string | null;
1692
2059
  source_repo_key: string;
2060
+ status: string;
1693
2061
  target_repo_key: string;
1694
2062
  };
1695
2063
 
@@ -1697,6 +2065,7 @@ export type PromotionHistoryQuery = {
1697
2065
  artifact_id?: string | null;
1698
2066
  page?: number | null;
1699
2067
  per_page?: number | null;
2068
+ status?: string | null;
1700
2069
  };
1701
2070
 
1702
2071
  export type PromotionHistoryResponse = {
@@ -1713,10 +2082,46 @@ export type PromotionResponse = {
1713
2082
  target: string;
1714
2083
  };
1715
2084
 
2085
+ export type PromotionRuleListResponse = {
2086
+ items: Array<PromotionRuleResponse>;
2087
+ total: number;
2088
+ };
2089
+
2090
+ export type PromotionRuleResponse = {
2091
+ allowed_licenses?: Array<string> | null;
2092
+ auto_promote: boolean;
2093
+ created_at: string;
2094
+ id: string;
2095
+ is_enabled: boolean;
2096
+ max_artifact_age_days?: number | null;
2097
+ max_cve_severity?: string | null;
2098
+ min_health_score?: number | null;
2099
+ min_staging_hours?: number | null;
2100
+ name: string;
2101
+ require_signature: boolean;
2102
+ source_repo_id: string;
2103
+ target_repo_id: string;
2104
+ updated_at: string;
2105
+ };
2106
+
1716
2107
  export type QuickSearchResponse = {
1717
2108
  results: Array<SearchResultItem>;
1718
2109
  };
1719
2110
 
2111
+ export type ReadyzChecks = {
2112
+ database: CheckStatus;
2113
+ migrations: CheckStatus;
2114
+ setup_complete: CheckStatus;
2115
+ };
2116
+
2117
+ /**
2118
+ * Readiness response with per-check detail.
2119
+ */
2120
+ export type ReadyzResponse = {
2121
+ checks: ReadyzChecks;
2122
+ status: string;
2123
+ };
2124
+
1720
2125
  export type RefreshTokenRequest = {
1721
2126
  refresh_token?: string | null;
1722
2127
  };
@@ -1738,6 +2143,19 @@ export type ReindexResponse = {
1738
2143
  repositories_indexed: number;
1739
2144
  };
1740
2145
 
2146
+ export type RejectArtifactRequest = {
2147
+ notes?: string | null;
2148
+ reason: string;
2149
+ };
2150
+
2151
+ export type RejectionResponse = {
2152
+ artifact_id: string;
2153
+ reason: string;
2154
+ rejected: boolean;
2155
+ rejection_id: string;
2156
+ source: string;
2157
+ };
2158
+
1741
2159
  export type RemoteInstanceResponse = {
1742
2160
  created_at: string;
1743
2161
  id: string;
@@ -1745,11 +2163,35 @@ export type RemoteInstanceResponse = {
1745
2163
  url: string;
1746
2164
  };
1747
2165
 
2166
+ export type RepoHealthResponse = {
2167
+ artifacts_evaluated: number;
2168
+ artifacts_failing: number;
2169
+ artifacts_passing: number;
2170
+ avg_license_score?: number | null;
2171
+ avg_metadata_score?: number | null;
2172
+ avg_quality_score?: number | null;
2173
+ avg_security_score?: number | null;
2174
+ health_grade: string;
2175
+ health_score: number;
2176
+ last_evaluated_at?: string | null;
2177
+ repository_id: string;
2178
+ repository_key: string;
2179
+ };
2180
+
1748
2181
  export type RepoSecurityResponse = {
1749
2182
  config?: null | ScanConfigResponse;
1750
2183
  score?: null | ScoreResponse;
1751
2184
  };
1752
2185
 
2186
+ export type RepoSelectorSchema = {
2187
+ match_formats?: Array<string>;
2188
+ match_labels?: {
2189
+ [key: string]: string;
2190
+ };
2191
+ match_pattern?: string | null;
2192
+ match_repos?: Array<string>;
2193
+ };
2194
+
1753
2195
  export type RepositoryAssessment = {
1754
2196
  artifact_count: number;
1755
2197
  compatibility: string;
@@ -1839,6 +2281,13 @@ export type RestoreResponse = {
1839
2281
  tables_restored: Array<string>;
1840
2282
  };
1841
2283
 
2284
+ export type ReviewRequest = {
2285
+ /**
2286
+ * Optional reviewer notes
2287
+ */
2288
+ notes?: string | null;
2289
+ };
2290
+
1842
2291
  export type RoleListResponse = {
1843
2292
  items: Array<RoleResponse>;
1844
2293
  };
@@ -1850,6 +2299,13 @@ export type RoleResponse = {
1850
2299
  permissions: Array<string>;
1851
2300
  };
1852
2301
 
2302
+ export type RuleEvaluationResponse = {
2303
+ passed: boolean;
2304
+ rule_id: string;
2305
+ rule_name: string;
2306
+ violations: Array<string>;
2307
+ };
2308
+
1853
2309
  export type SamlAcsForm = {
1854
2310
  RelayState?: string | null;
1855
2311
  SAMLResponse: string;
@@ -1989,6 +2445,14 @@ export type ServiceHealthEntry = {
1989
2445
  status: string;
1990
2446
  };
1991
2447
 
2448
+ export type SetLabelsRequest = {
2449
+ labels: Array<LabelEntrySchema>;
2450
+ };
2451
+
2452
+ export type SetPeerLabelsRequest = {
2453
+ labels: Array<PeerLabelEntrySchema>;
2454
+ };
2455
+
1992
2456
  /**
1993
2457
  * Response body for the setup status endpoint.
1994
2458
  */
@@ -2099,11 +2563,41 @@ export type SuggestResponse = {
2099
2563
  suggestions: Array<string>;
2100
2564
  };
2101
2565
 
2566
+ export type SuppressIssueRequest = {
2567
+ reason: string;
2568
+ };
2569
+
2102
2570
  export type SuppressRequest = {
2103
2571
  service_name: string;
2104
2572
  until: string;
2105
2573
  };
2106
2574
 
2575
+ export type SyncPolicyListResponse = {
2576
+ items: Array<SyncPolicyResponse>;
2577
+ total: number;
2578
+ };
2579
+
2580
+ export type SyncPolicyResponse = {
2581
+ artifact_filter: {
2582
+ [key: string]: unknown;
2583
+ };
2584
+ created_at: string;
2585
+ description: string;
2586
+ enabled: boolean;
2587
+ id: string;
2588
+ name: string;
2589
+ peer_selector: {
2590
+ [key: string]: unknown;
2591
+ };
2592
+ precedence: number;
2593
+ priority: number;
2594
+ replication_mode: string;
2595
+ repo_selector: {
2596
+ [key: string]: unknown;
2597
+ };
2598
+ updated_at: string;
2599
+ };
2600
+
2107
2601
  export type SyncTaskResponse = {
2108
2602
  artifact_id: string;
2109
2603
  artifact_size: number;
@@ -2200,6 +2694,10 @@ export type TicketResponse = {
2200
2694
  ticket: string;
2201
2695
  };
2202
2696
 
2697
+ export type TogglePolicyPayload = {
2698
+ enabled: boolean;
2699
+ };
2700
+
2203
2701
  export type ToggleRequest = {
2204
2702
  enabled: boolean;
2205
2703
  };
@@ -2256,6 +2754,16 @@ export type TreeResponse = {
2256
2754
  nodes: Array<TreeNodeResponse>;
2257
2755
  };
2258
2756
 
2757
+ export type TriggerChecksRequest = {
2758
+ artifact_id?: string | null;
2759
+ repository_id?: string | null;
2760
+ };
2761
+
2762
+ export type TriggerChecksResponse = {
2763
+ artifacts_queued: number;
2764
+ message: string;
2765
+ };
2766
+
2259
2767
  export type TriggerScanRequest = {
2260
2768
  artifact_id?: string | null;
2261
2769
  repository_id?: string | null;
@@ -2298,6 +2806,23 @@ export type UpdateCveStatusRequest = {
2298
2806
  status: string;
2299
2807
  };
2300
2808
 
2809
+ export type UpdateGateRequest = {
2810
+ action?: string | null;
2811
+ description?: string | null;
2812
+ enforce_on_download?: boolean | null;
2813
+ enforce_on_promotion?: boolean | null;
2814
+ is_enabled?: boolean | null;
2815
+ max_critical_issues?: number | null;
2816
+ max_high_issues?: number | null;
2817
+ max_medium_issues?: number | null;
2818
+ min_health_score?: number | null;
2819
+ min_metadata_score?: number | null;
2820
+ min_quality_score?: number | null;
2821
+ min_security_score?: number | null;
2822
+ name?: string | null;
2823
+ required_checks?: Array<string> | null;
2824
+ };
2825
+
2301
2826
  export type UpdateLdapConfigRequest = {
2302
2827
  admin_group_dn?: string | null;
2303
2828
  bind_dn?: string | null;
@@ -2340,17 +2865,33 @@ export type UpdatePolicyRequest = {
2340
2865
  block_on_fail: boolean;
2341
2866
  block_unscanned: boolean;
2342
2867
  is_enabled: boolean;
2868
+ max_artifact_age_days?: number | null;
2343
2869
  max_severity: string;
2870
+ min_staging_hours?: number | null;
2344
2871
  name: string;
2872
+ require_signature?: boolean;
2345
2873
  };
2346
2874
 
2347
2875
  export type UpdateRepositoryRequest = {
2348
2876
  description?: string | null;
2349
2877
  is_public?: boolean | null;
2878
+ key?: string | null;
2350
2879
  name?: string | null;
2351
2880
  quota_bytes?: number | null;
2352
2881
  };
2353
2882
 
2883
+ export type UpdateRuleRequest = {
2884
+ allowed_licenses?: Array<string> | null;
2885
+ auto_promote?: boolean | null;
2886
+ is_enabled?: boolean | null;
2887
+ max_artifact_age_days?: number | null;
2888
+ max_cve_severity?: string | null;
2889
+ min_health_score?: number | null;
2890
+ min_staging_hours?: number | null;
2891
+ name?: string | null;
2892
+ require_signature?: boolean | null;
2893
+ };
2894
+
2354
2895
  export type UpdateSamlConfigRequest = {
2355
2896
  admin_group?: string | null;
2356
2897
  attribute_mapping?: {
@@ -2375,6 +2916,24 @@ export type UpdateSigningConfigPayload = {
2375
2916
  signing_key_id?: string | null;
2376
2917
  };
2377
2918
 
2919
+ export type UpdateSyncPolicyPayload = {
2920
+ artifact_filter?: {
2921
+ [key: string]: unknown;
2922
+ };
2923
+ description?: string | null;
2924
+ enabled?: boolean | null;
2925
+ name?: string | null;
2926
+ peer_selector?: {
2927
+ [key: string]: unknown;
2928
+ };
2929
+ precedence?: number | null;
2930
+ priority?: number | null;
2931
+ replication_mode?: string | null;
2932
+ repo_selector?: {
2933
+ [key: string]: unknown;
2934
+ };
2935
+ };
2936
+
2378
2937
  export type UpdateUserRequest = {
2379
2938
  display_name?: string | null;
2380
2939
  email?: string | null;
@@ -3911,6 +4470,207 @@ export type UpdateTelemetrySettingsResponses = {
3911
4470
 
3912
4471
  export type UpdateTelemetrySettingsResponse = UpdateTelemetrySettingsResponses[keyof UpdateTelemetrySettingsResponses];
3913
4472
 
4473
+ export type ListApprovalHistoryData = {
4474
+ body?: never;
4475
+ path?: never;
4476
+ query?: {
4477
+ /**
4478
+ * Page number (1-indexed)
4479
+ */
4480
+ page?: number;
4481
+ /**
4482
+ * Items per page (max 100)
4483
+ */
4484
+ per_page?: number;
4485
+ /**
4486
+ * Filter by status (pending, approved, rejected)
4487
+ */
4488
+ status?: string;
4489
+ /**
4490
+ * Filter by source repository key
4491
+ */
4492
+ source_repository?: string;
4493
+ };
4494
+ url: '/api/v1/approval/history';
4495
+ };
4496
+
4497
+ export type ListApprovalHistoryResponses = {
4498
+ /**
4499
+ * Approval history
4500
+ */
4501
+ 200: ApprovalListResponse;
4502
+ };
4503
+
4504
+ export type ListApprovalHistoryResponse = ListApprovalHistoryResponses[keyof ListApprovalHistoryResponses];
4505
+
4506
+ export type ListPendingApprovalsData = {
4507
+ body?: never;
4508
+ path?: never;
4509
+ query?: {
4510
+ /**
4511
+ * Page number (1-indexed)
4512
+ */
4513
+ page?: number;
4514
+ /**
4515
+ * Items per page (max 100)
4516
+ */
4517
+ per_page?: number;
4518
+ /**
4519
+ * Filter by source repository key
4520
+ */
4521
+ source_repository?: string;
4522
+ };
4523
+ url: '/api/v1/approval/pending';
4524
+ };
4525
+
4526
+ export type ListPendingApprovalsResponses = {
4527
+ /**
4528
+ * Pending approval requests
4529
+ */
4530
+ 200: ApprovalListResponse;
4531
+ };
4532
+
4533
+ export type ListPendingApprovalsResponse = ListPendingApprovalsResponses[keyof ListPendingApprovalsResponses];
4534
+
4535
+ export type RequestApprovalData = {
4536
+ body: ApprovalRequest;
4537
+ path?: never;
4538
+ query?: never;
4539
+ url: '/api/v1/approval/request';
4540
+ };
4541
+
4542
+ export type RequestApprovalErrors = {
4543
+ /**
4544
+ * Artifact or repository not found
4545
+ */
4546
+ 404: ErrorResponse;
4547
+ /**
4548
+ * Pending approval already exists
4549
+ */
4550
+ 409: ErrorResponse;
4551
+ /**
4552
+ * Validation error
4553
+ */
4554
+ 422: ErrorResponse;
4555
+ };
4556
+
4557
+ export type RequestApprovalError = RequestApprovalErrors[keyof RequestApprovalErrors];
4558
+
4559
+ export type RequestApprovalResponses = {
4560
+ /**
4561
+ * Approval request created
4562
+ */
4563
+ 201: ApprovalResponse;
4564
+ };
4565
+
4566
+ export type RequestApprovalResponse = RequestApprovalResponses[keyof RequestApprovalResponses];
4567
+
4568
+ export type GetApprovalData = {
4569
+ body?: never;
4570
+ path: {
4571
+ /**
4572
+ * Approval request ID
4573
+ */
4574
+ id: string;
4575
+ };
4576
+ query?: never;
4577
+ url: '/api/v1/approval/{id}';
4578
+ };
4579
+
4580
+ export type GetApprovalErrors = {
4581
+ /**
4582
+ * Approval request not found
4583
+ */
4584
+ 404: ErrorResponse;
4585
+ };
4586
+
4587
+ export type GetApprovalError = GetApprovalErrors[keyof GetApprovalErrors];
4588
+
4589
+ export type GetApprovalResponses = {
4590
+ /**
4591
+ * Approval request details
4592
+ */
4593
+ 200: ApprovalResponse;
4594
+ };
4595
+
4596
+ export type GetApprovalResponse = GetApprovalResponses[keyof GetApprovalResponses];
4597
+
4598
+ export type ApprovePromotionData = {
4599
+ body: ReviewRequest;
4600
+ path: {
4601
+ /**
4602
+ * Approval request ID
4603
+ */
4604
+ id: string;
4605
+ };
4606
+ query?: never;
4607
+ url: '/api/v1/approval/{id}/approve';
4608
+ };
4609
+
4610
+ export type ApprovePromotionErrors = {
4611
+ /**
4612
+ * Admin access required
4613
+ */
4614
+ 403: ErrorResponse;
4615
+ /**
4616
+ * Approval request not found
4617
+ */
4618
+ 404: ErrorResponse;
4619
+ /**
4620
+ * Approval already reviewed
4621
+ */
4622
+ 409: ErrorResponse;
4623
+ };
4624
+
4625
+ export type ApprovePromotionError = ApprovePromotionErrors[keyof ApprovePromotionErrors];
4626
+
4627
+ export type ApprovePromotionResponses = {
4628
+ /**
4629
+ * Promotion approved and executed
4630
+ */
4631
+ 200: ApprovalResponse;
4632
+ };
4633
+
4634
+ export type ApprovePromotionResponse = ApprovePromotionResponses[keyof ApprovePromotionResponses];
4635
+
4636
+ export type RejectPromotionData = {
4637
+ body: ReviewRequest;
4638
+ path: {
4639
+ /**
4640
+ * Approval request ID
4641
+ */
4642
+ id: string;
4643
+ };
4644
+ query?: never;
4645
+ url: '/api/v1/approval/{id}/reject';
4646
+ };
4647
+
4648
+ export type RejectPromotionErrors = {
4649
+ /**
4650
+ * Admin access required
4651
+ */
4652
+ 403: ErrorResponse;
4653
+ /**
4654
+ * Approval request not found
4655
+ */
4656
+ 404: ErrorResponse;
4657
+ /**
4658
+ * Approval already reviewed
4659
+ */
4660
+ 409: ErrorResponse;
4661
+ };
4662
+
4663
+ export type RejectPromotionError = RejectPromotionErrors[keyof RejectPromotionErrors];
4664
+
4665
+ export type RejectPromotionResponses = {
4666
+ /**
4667
+ * Promotion rejected
4668
+ */
4669
+ 200: ApprovalResponse;
4670
+ };
4671
+
4672
+ export type RejectPromotionResponse = RejectPromotionResponses[keyof RejectPromotionResponses];
4673
+
3914
4674
  export type GetArtifactData = {
3915
4675
  body?: never;
3916
4676
  path: {
@@ -6332,6 +7092,126 @@ export type HeartbeatResponses = {
6332
7092
  200: unknown;
6333
7093
  };
6334
7094
 
7095
+ export type ListLabelsData = {
7096
+ body?: never;
7097
+ path: {
7098
+ /**
7099
+ * Peer instance ID
7100
+ */
7101
+ id: string;
7102
+ };
7103
+ query?: never;
7104
+ url: '/api/v1/peers/{id}/labels';
7105
+ };
7106
+
7107
+ export type ListLabelsErrors = {
7108
+ /**
7109
+ * Peer instance not found
7110
+ */
7111
+ 404: unknown;
7112
+ };
7113
+
7114
+ export type ListLabelsResponses = {
7115
+ /**
7116
+ * Labels retrieved
7117
+ */
7118
+ 200: PeerLabelsListResponse;
7119
+ };
7120
+
7121
+ export type ListLabelsResponse = ListLabelsResponses[keyof ListLabelsResponses];
7122
+
7123
+ export type SetLabelsData = {
7124
+ body: SetPeerLabelsRequest;
7125
+ path: {
7126
+ /**
7127
+ * Peer instance ID
7128
+ */
7129
+ id: string;
7130
+ };
7131
+ query?: never;
7132
+ url: '/api/v1/peers/{id}/labels';
7133
+ };
7134
+
7135
+ export type SetLabelsErrors = {
7136
+ /**
7137
+ * Peer instance not found
7138
+ */
7139
+ 404: unknown;
7140
+ };
7141
+
7142
+ export type SetLabelsResponses = {
7143
+ /**
7144
+ * Labels updated
7145
+ */
7146
+ 200: PeerLabelsListResponse;
7147
+ };
7148
+
7149
+ export type SetLabelsResponse = SetLabelsResponses[keyof SetLabelsResponses];
7150
+
7151
+ export type DeleteLabelData = {
7152
+ body?: never;
7153
+ path: {
7154
+ /**
7155
+ * Peer instance ID
7156
+ */
7157
+ id: string;
7158
+ /**
7159
+ * Label key to remove
7160
+ */
7161
+ label_key: string;
7162
+ };
7163
+ query?: never;
7164
+ url: '/api/v1/peers/{id}/labels/{label_key}';
7165
+ };
7166
+
7167
+ export type DeleteLabelErrors = {
7168
+ /**
7169
+ * Peer instance or label not found
7170
+ */
7171
+ 404: unknown;
7172
+ };
7173
+
7174
+ export type DeleteLabelResponses = {
7175
+ /**
7176
+ * Label removed
7177
+ */
7178
+ 204: void;
7179
+ };
7180
+
7181
+ export type DeleteLabelResponse = DeleteLabelResponses[keyof DeleteLabelResponses];
7182
+
7183
+ export type AddLabelData = {
7184
+ body: AddPeerLabelRequest;
7185
+ path: {
7186
+ /**
7187
+ * Peer instance ID
7188
+ */
7189
+ id: string;
7190
+ /**
7191
+ * Label key to set
7192
+ */
7193
+ label_key: string;
7194
+ };
7195
+ query?: never;
7196
+ url: '/api/v1/peers/{id}/labels/{label_key}';
7197
+ };
7198
+
7199
+ export type AddLabelErrors = {
7200
+ /**
7201
+ * Peer instance not found
7202
+ */
7203
+ 404: unknown;
7204
+ };
7205
+
7206
+ export type AddLabelResponses = {
7207
+ /**
7208
+ * Label added/updated
7209
+ */
7210
+ 200: PeerLabelResponse;
7211
+ };
7212
+
7213
+ export type AddLabelResponse = AddLabelResponses[keyof AddLabelResponses];
7214
+
6335
7215
  export type UpdateNetworkProfileData = {
6336
7216
  body: NetworkProfileBody;
6337
7217
  path: {
@@ -7183,83 +8063,655 @@ export type ReloadPluginResponses = {
7183
8063
 
7184
8064
  export type ReloadPluginResponse = ReloadPluginResponses[keyof ReloadPluginResponses];
7185
8065
 
7186
- export type PromoteArtifactData = {
8066
+ export type ListRulesData = {
8067
+ body?: never;
8068
+ path?: never;
8069
+ query?: {
8070
+ source_repo_id?: string | null;
8071
+ };
8072
+ url: '/api/v1/promotion-rules';
8073
+ };
8074
+
8075
+ export type ListRulesErrors = {
8076
+ /**
8077
+ * Internal server error
8078
+ */
8079
+ 500: unknown;
8080
+ };
8081
+
8082
+ export type ListRulesResponses = {
8083
+ /**
8084
+ * List of promotion rules
8085
+ */
8086
+ 200: PromotionRuleListResponse;
8087
+ };
8088
+
8089
+ export type ListRulesResponse = ListRulesResponses[keyof ListRulesResponses];
8090
+
8091
+ export type CreateRuleData = {
8092
+ body: CreateRuleRequest;
8093
+ path?: never;
8094
+ query?: never;
8095
+ url: '/api/v1/promotion-rules';
8096
+ };
8097
+
8098
+ export type CreateRuleErrors = {
8099
+ /**
8100
+ * Validation error
8101
+ */
8102
+ 400: ErrorResponse;
8103
+ /**
8104
+ * Internal server error
8105
+ */
8106
+ 500: unknown;
8107
+ };
8108
+
8109
+ export type CreateRuleError = CreateRuleErrors[keyof CreateRuleErrors];
8110
+
8111
+ export type CreateRuleResponses = {
8112
+ /**
8113
+ * Promotion rule created
8114
+ */
8115
+ 200: PromotionRuleResponse;
8116
+ };
8117
+
8118
+ export type CreateRuleResponse = CreateRuleResponses[keyof CreateRuleResponses];
8119
+
8120
+ export type DeleteRuleData = {
8121
+ body?: never;
8122
+ path: {
8123
+ /**
8124
+ * Promotion rule ID
8125
+ */
8126
+ id: string;
8127
+ };
8128
+ query?: never;
8129
+ url: '/api/v1/promotion-rules/{id}';
8130
+ };
8131
+
8132
+ export type DeleteRuleErrors = {
8133
+ /**
8134
+ * Rule not found
8135
+ */
8136
+ 404: ErrorResponse;
8137
+ };
8138
+
8139
+ export type DeleteRuleError = DeleteRuleErrors[keyof DeleteRuleErrors];
8140
+
8141
+ export type DeleteRuleResponses = {
8142
+ /**
8143
+ * Promotion rule deleted
8144
+ */
8145
+ 200: unknown;
8146
+ };
8147
+
8148
+ export type GetRuleData = {
8149
+ body?: never;
8150
+ path: {
8151
+ /**
8152
+ * Promotion rule ID
8153
+ */
8154
+ id: string;
8155
+ };
8156
+ query?: never;
8157
+ url: '/api/v1/promotion-rules/{id}';
8158
+ };
8159
+
8160
+ export type GetRuleErrors = {
8161
+ /**
8162
+ * Rule not found
8163
+ */
8164
+ 404: ErrorResponse;
8165
+ };
8166
+
8167
+ export type GetRuleError = GetRuleErrors[keyof GetRuleErrors];
8168
+
8169
+ export type GetRuleResponses = {
8170
+ /**
8171
+ * Promotion rule details
8172
+ */
8173
+ 200: PromotionRuleResponse;
8174
+ };
8175
+
8176
+ export type GetRuleResponse = GetRuleResponses[keyof GetRuleResponses];
8177
+
8178
+ export type UpdateRuleData = {
8179
+ body: UpdateRuleRequest;
8180
+ path: {
8181
+ /**
8182
+ * Promotion rule ID
8183
+ */
8184
+ id: string;
8185
+ };
8186
+ query?: never;
8187
+ url: '/api/v1/promotion-rules/{id}';
8188
+ };
8189
+
8190
+ export type UpdateRuleErrors = {
8191
+ /**
8192
+ * Rule not found
8193
+ */
8194
+ 404: ErrorResponse;
8195
+ };
8196
+
8197
+ export type UpdateRuleError = UpdateRuleErrors[keyof UpdateRuleErrors];
8198
+
8199
+ export type UpdateRuleResponses = {
8200
+ /**
8201
+ * Promotion rule updated
8202
+ */
8203
+ 200: PromotionRuleResponse;
8204
+ };
8205
+
8206
+ export type UpdateRuleResponse = UpdateRuleResponses[keyof UpdateRuleResponses];
8207
+
8208
+ export type EvaluateRuleData = {
8209
+ body?: never;
8210
+ path: {
8211
+ /**
8212
+ * Promotion rule ID to evaluate
8213
+ */
8214
+ id: string;
8215
+ };
8216
+ query?: never;
8217
+ url: '/api/v1/promotion-rules/{id}/evaluate';
8218
+ };
8219
+
8220
+ export type EvaluateRuleErrors = {
8221
+ /**
8222
+ * Rule not found
8223
+ */
8224
+ 404: ErrorResponse;
8225
+ };
8226
+
8227
+ export type EvaluateRuleError = EvaluateRuleErrors[keyof EvaluateRuleErrors];
8228
+
8229
+ export type EvaluateRuleResponses = {
8230
+ /**
8231
+ * Evaluation results
8232
+ */
8233
+ 200: BulkEvaluationResponse;
8234
+ };
8235
+
8236
+ export type EvaluateRuleResponse = EvaluateRuleResponses[keyof EvaluateRuleResponses];
8237
+
8238
+ export type PromoteArtifactData = {
7187
8239
  body: PromoteArtifactRequest;
7188
8240
  path: {
7189
8241
  /**
7190
- * Source repository key
7191
- */
7192
- key: string;
7193
- /**
7194
- * Artifact ID to promote
8242
+ * Source repository key
8243
+ */
8244
+ key: string;
8245
+ /**
8246
+ * Artifact ID to promote
8247
+ */
8248
+ artifact_id: string;
8249
+ };
8250
+ query?: never;
8251
+ url: '/api/v1/promotion/repositories/{key}/artifacts/{artifact_id}/promote';
8252
+ };
8253
+
8254
+ export type PromoteArtifactErrors = {
8255
+ /**
8256
+ * Artifact or repository not found
8257
+ */
8258
+ 404: ErrorResponse;
8259
+ /**
8260
+ * Artifact already exists in target
8261
+ */
8262
+ 409: ErrorResponse;
8263
+ /**
8264
+ * Validation error (repo type/format mismatch)
8265
+ */
8266
+ 422: ErrorResponse;
8267
+ };
8268
+
8269
+ export type PromoteArtifactError = PromoteArtifactErrors[keyof PromoteArtifactErrors];
8270
+
8271
+ export type PromoteArtifactResponses = {
8272
+ /**
8273
+ * Artifact promotion result
8274
+ */
8275
+ 200: PromotionResponse;
8276
+ };
8277
+
8278
+ export type PromoteArtifactResponse = PromoteArtifactResponses[keyof PromoteArtifactResponses];
8279
+
8280
+ export type RejectArtifactData = {
8281
+ body: RejectArtifactRequest;
8282
+ path: {
8283
+ /**
8284
+ * Source repository key
8285
+ */
8286
+ key: string;
8287
+ /**
8288
+ * Artifact ID to reject
8289
+ */
8290
+ artifact_id: string;
8291
+ };
8292
+ query?: never;
8293
+ url: '/api/v1/promotion/repositories/{key}/artifacts/{artifact_id}/reject';
8294
+ };
8295
+
8296
+ export type RejectArtifactErrors = {
8297
+ /**
8298
+ * Artifact or repository not found
8299
+ */
8300
+ 404: ErrorResponse;
8301
+ /**
8302
+ * Validation error
8303
+ */
8304
+ 422: ErrorResponse;
8305
+ };
8306
+
8307
+ export type RejectArtifactError = RejectArtifactErrors[keyof RejectArtifactErrors];
8308
+
8309
+ export type RejectArtifactResponses = {
8310
+ /**
8311
+ * Artifact rejection result
8312
+ */
8313
+ 200: RejectionResponse;
8314
+ };
8315
+
8316
+ export type RejectArtifactResponse = RejectArtifactResponses[keyof RejectArtifactResponses];
8317
+
8318
+ export type PromoteArtifactsBulkData = {
8319
+ body: BulkPromoteRequest;
8320
+ path: {
8321
+ /**
8322
+ * Source repository key
8323
+ */
8324
+ key: string;
8325
+ };
8326
+ query?: never;
8327
+ url: '/api/v1/promotion/repositories/{key}/promote';
8328
+ };
8329
+
8330
+ export type PromoteArtifactsBulkErrors = {
8331
+ /**
8332
+ * Repository not found
8333
+ */
8334
+ 404: ErrorResponse;
8335
+ /**
8336
+ * Validation error (repo type/format mismatch)
8337
+ */
8338
+ 422: ErrorResponse;
8339
+ };
8340
+
8341
+ export type PromoteArtifactsBulkError = PromoteArtifactsBulkErrors[keyof PromoteArtifactsBulkErrors];
8342
+
8343
+ export type PromoteArtifactsBulkResponses = {
8344
+ /**
8345
+ * Bulk promotion results
8346
+ */
8347
+ 200: BulkPromotionResponse;
8348
+ };
8349
+
8350
+ export type PromoteArtifactsBulkResponse = PromoteArtifactsBulkResponses[keyof PromoteArtifactsBulkResponses];
8351
+
8352
+ export type PromotionHistoryData = {
8353
+ body?: never;
8354
+ path: {
8355
+ /**
8356
+ * Repository key
8357
+ */
8358
+ key: string;
8359
+ };
8360
+ query?: {
8361
+ /**
8362
+ * Page number (1-indexed)
8363
+ */
8364
+ page?: number;
8365
+ /**
8366
+ * Items per page (max 100)
8367
+ */
8368
+ per_page?: number;
8369
+ /**
8370
+ * Filter by artifact ID
8371
+ */
8372
+ artifact_id?: string;
8373
+ /**
8374
+ * Filter by status (promoted, rejected, pending_approval)
8375
+ */
8376
+ status?: string;
8377
+ };
8378
+ url: '/api/v1/promotion/repositories/{key}/promotion-history';
8379
+ };
8380
+
8381
+ export type PromotionHistoryErrors = {
8382
+ /**
8383
+ * Repository not found
8384
+ */
8385
+ 404: ErrorResponse;
8386
+ };
8387
+
8388
+ export type PromotionHistoryError = PromotionHistoryErrors[keyof PromotionHistoryErrors];
8389
+
8390
+ export type PromotionHistoryResponses = {
8391
+ /**
8392
+ * Promotion history for repository
8393
+ */
8394
+ 200: PromotionHistoryResponse;
8395
+ };
8396
+
8397
+ export type PromotionHistoryResponse2 = PromotionHistoryResponses[keyof PromotionHistoryResponses];
8398
+
8399
+ export type ListChecksData = {
8400
+ body?: never;
8401
+ path?: never;
8402
+ query?: {
8403
+ artifact_id?: string | null;
8404
+ repository_id?: string | null;
8405
+ };
8406
+ url: '/api/v1/quality/checks';
8407
+ };
8408
+
8409
+ export type ListChecksResponses = {
8410
+ /**
8411
+ * List of quality check results
8412
+ */
8413
+ 200: Array<CheckResponse>;
8414
+ };
8415
+
8416
+ export type ListChecksResponse = ListChecksResponses[keyof ListChecksResponses];
8417
+
8418
+ export type TriggerChecksData = {
8419
+ body: TriggerChecksRequest;
8420
+ path?: never;
8421
+ query?: never;
8422
+ url: '/api/v1/quality/checks/trigger';
8423
+ };
8424
+
8425
+ export type TriggerChecksErrors = {
8426
+ /**
8427
+ * Validation error
8428
+ */
8429
+ 400: ErrorResponse;
8430
+ };
8431
+
8432
+ export type TriggerChecksError = TriggerChecksErrors[keyof TriggerChecksErrors];
8433
+
8434
+ export type TriggerChecksResponses = {
8435
+ /**
8436
+ * Quality checks triggered
8437
+ */
8438
+ 200: TriggerChecksResponse;
8439
+ };
8440
+
8441
+ export type TriggerChecksResponse2 = TriggerChecksResponses[keyof TriggerChecksResponses];
8442
+
8443
+ export type GetCheckData = {
8444
+ body?: never;
8445
+ path: {
8446
+ /**
8447
+ * Check result ID
8448
+ */
8449
+ id: string;
8450
+ };
8451
+ query?: never;
8452
+ url: '/api/v1/quality/checks/{id}';
8453
+ };
8454
+
8455
+ export type GetCheckErrors = {
8456
+ /**
8457
+ * Check result not found
8458
+ */
8459
+ 404: ErrorResponse;
8460
+ };
8461
+
8462
+ export type GetCheckError = GetCheckErrors[keyof GetCheckErrors];
8463
+
8464
+ export type GetCheckResponses = {
8465
+ /**
8466
+ * Check result details
8467
+ */
8468
+ 200: CheckResponse;
8469
+ };
8470
+
8471
+ export type GetCheckResponse = GetCheckResponses[keyof GetCheckResponses];
8472
+
8473
+ export type ListCheckIssuesData = {
8474
+ body?: never;
8475
+ path: {
8476
+ /**
8477
+ * Check result ID
8478
+ */
8479
+ id: string;
8480
+ };
8481
+ query?: never;
8482
+ url: '/api/v1/quality/checks/{id}/issues';
8483
+ };
8484
+
8485
+ export type ListCheckIssuesErrors = {
8486
+ /**
8487
+ * Check result not found
8488
+ */
8489
+ 404: ErrorResponse;
8490
+ };
8491
+
8492
+ export type ListCheckIssuesError = ListCheckIssuesErrors[keyof ListCheckIssuesErrors];
8493
+
8494
+ export type ListCheckIssuesResponses = {
8495
+ /**
8496
+ * List of issues for a check result
8497
+ */
8498
+ 200: Array<IssueResponse>;
8499
+ };
8500
+
8501
+ export type ListCheckIssuesResponse = ListCheckIssuesResponses[keyof ListCheckIssuesResponses];
8502
+
8503
+ export type ListGatesData = {
8504
+ body?: never;
8505
+ path?: never;
8506
+ query?: never;
8507
+ url: '/api/v1/quality/gates';
8508
+ };
8509
+
8510
+ export type ListGatesResponses = {
8511
+ /**
8512
+ * List of quality gates
8513
+ */
8514
+ 200: Array<GateResponse>;
8515
+ };
8516
+
8517
+ export type ListGatesResponse = ListGatesResponses[keyof ListGatesResponses];
8518
+
8519
+ export type CreateGateData = {
8520
+ body: CreateGateRequest;
8521
+ path?: never;
8522
+ query?: never;
8523
+ url: '/api/v1/quality/gates';
8524
+ };
8525
+
8526
+ export type CreateGateErrors = {
8527
+ /**
8528
+ * Validation error
8529
+ */
8530
+ 422: ErrorResponse;
8531
+ };
8532
+
8533
+ export type CreateGateError = CreateGateErrors[keyof CreateGateErrors];
8534
+
8535
+ export type CreateGateResponses = {
8536
+ /**
8537
+ * Quality gate created
8538
+ */
8539
+ 200: GateResponse;
8540
+ };
8541
+
8542
+ export type CreateGateResponse = CreateGateResponses[keyof CreateGateResponses];
8543
+
8544
+ export type EvaluateGateData = {
8545
+ body?: never;
8546
+ path: {
8547
+ /**
8548
+ * Artifact ID to evaluate
8549
+ */
8550
+ artifact_id: string;
8551
+ };
8552
+ query?: {
8553
+ repository_id?: string | null;
8554
+ };
8555
+ url: '/api/v1/quality/gates/evaluate/{artifact_id}';
8556
+ };
8557
+
8558
+ export type EvaluateGateErrors = {
8559
+ /**
8560
+ * Artifact or gate not found
8561
+ */
8562
+ 404: ErrorResponse;
8563
+ };
8564
+
8565
+ export type EvaluateGateError = EvaluateGateErrors[keyof EvaluateGateErrors];
8566
+
8567
+ export type EvaluateGateResponses = {
8568
+ /**
8569
+ * Gate evaluation result
8570
+ */
8571
+ 200: GateEvaluationResponse;
8572
+ };
8573
+
8574
+ export type EvaluateGateResponse = EvaluateGateResponses[keyof EvaluateGateResponses];
8575
+
8576
+ export type DeleteGateData = {
8577
+ body?: never;
8578
+ path: {
8579
+ /**
8580
+ * Quality gate ID
8581
+ */
8582
+ id: string;
8583
+ };
8584
+ query?: never;
8585
+ url: '/api/v1/quality/gates/{id}';
8586
+ };
8587
+
8588
+ export type DeleteGateErrors = {
8589
+ /**
8590
+ * Quality gate not found
8591
+ */
8592
+ 404: ErrorResponse;
8593
+ };
8594
+
8595
+ export type DeleteGateError = DeleteGateErrors[keyof DeleteGateErrors];
8596
+
8597
+ export type DeleteGateResponses = {
8598
+ /**
8599
+ * Quality gate deleted
8600
+ */
8601
+ 200: {
8602
+ [key: string]: unknown;
8603
+ };
8604
+ };
8605
+
8606
+ export type DeleteGateResponse = DeleteGateResponses[keyof DeleteGateResponses];
8607
+
8608
+ export type GetGateData = {
8609
+ body?: never;
8610
+ path: {
8611
+ /**
8612
+ * Quality gate ID
7195
8613
  */
7196
- artifact_id: string;
8614
+ id: string;
7197
8615
  };
7198
8616
  query?: never;
7199
- url: '/api/v1/promotion/repositories/{key}/artifacts/{artifact_id}/promote';
8617
+ url: '/api/v1/quality/gates/{id}';
7200
8618
  };
7201
8619
 
7202
- export type PromoteArtifactErrors = {
8620
+ export type GetGateErrors = {
7203
8621
  /**
7204
- * Artifact or repository not found
8622
+ * Quality gate not found
7205
8623
  */
7206
8624
  404: ErrorResponse;
8625
+ };
8626
+
8627
+ export type GetGateError = GetGateErrors[keyof GetGateErrors];
8628
+
8629
+ export type GetGateResponses = {
7207
8630
  /**
7208
- * Artifact already exists in target
8631
+ * Quality gate details
7209
8632
  */
7210
- 409: ErrorResponse;
8633
+ 200: GateResponse;
8634
+ };
8635
+
8636
+ export type GetGateResponse = GetGateResponses[keyof GetGateResponses];
8637
+
8638
+ export type UpdateGateData = {
8639
+ body: UpdateGateRequest;
8640
+ path: {
8641
+ /**
8642
+ * Quality gate ID
8643
+ */
8644
+ id: string;
8645
+ };
8646
+ query?: never;
8647
+ url: '/api/v1/quality/gates/{id}';
8648
+ };
8649
+
8650
+ export type UpdateGateErrors = {
7211
8651
  /**
7212
- * Validation error (repo type/format mismatch)
8652
+ * Quality gate not found
7213
8653
  */
7214
- 422: ErrorResponse;
8654
+ 404: ErrorResponse;
7215
8655
  };
7216
8656
 
7217
- export type PromoteArtifactError = PromoteArtifactErrors[keyof PromoteArtifactErrors];
8657
+ export type UpdateGateError = UpdateGateErrors[keyof UpdateGateErrors];
7218
8658
 
7219
- export type PromoteArtifactResponses = {
8659
+ export type UpdateGateResponses = {
7220
8660
  /**
7221
- * Artifact promotion result
8661
+ * Quality gate updated
7222
8662
  */
7223
- 200: PromotionResponse;
8663
+ 200: GateResponse;
7224
8664
  };
7225
8665
 
7226
- export type PromoteArtifactResponse = PromoteArtifactResponses[keyof PromoteArtifactResponses];
8666
+ export type UpdateGateResponse = UpdateGateResponses[keyof UpdateGateResponses];
7227
8667
 
7228
- export type PromoteArtifactsBulkData = {
7229
- body: BulkPromoteRequest;
8668
+ export type GetArtifactHealthData = {
8669
+ body?: never;
7230
8670
  path: {
7231
8671
  /**
7232
- * Source repository key
8672
+ * Artifact ID
7233
8673
  */
7234
- key: string;
8674
+ artifact_id: string;
7235
8675
  };
7236
8676
  query?: never;
7237
- url: '/api/v1/promotion/repositories/{key}/promote';
8677
+ url: '/api/v1/quality/health/artifacts/{artifact_id}';
7238
8678
  };
7239
8679
 
7240
- export type PromoteArtifactsBulkErrors = {
8680
+ export type GetArtifactHealthErrors = {
7241
8681
  /**
7242
- * Repository not found
8682
+ * Artifact not found
7243
8683
  */
7244
8684
  404: ErrorResponse;
8685
+ };
8686
+
8687
+ export type GetArtifactHealthError = GetArtifactHealthErrors[keyof GetArtifactHealthErrors];
8688
+
8689
+ export type GetArtifactHealthResponses = {
7245
8690
  /**
7246
- * Validation error (repo type/format mismatch)
8691
+ * Artifact health score
7247
8692
  */
7248
- 422: ErrorResponse;
8693
+ 200: ArtifactHealthResponse;
7249
8694
  };
7250
8695
 
7251
- export type PromoteArtifactsBulkError = PromoteArtifactsBulkErrors[keyof PromoteArtifactsBulkErrors];
8696
+ export type GetArtifactHealthResponse = GetArtifactHealthResponses[keyof GetArtifactHealthResponses];
7252
8697
 
7253
- export type PromoteArtifactsBulkResponses = {
8698
+ export type GetHealthDashboardData = {
8699
+ body?: never;
8700
+ path?: never;
8701
+ query?: never;
8702
+ url: '/api/v1/quality/health/dashboard';
8703
+ };
8704
+
8705
+ export type GetHealthDashboardResponses = {
7254
8706
  /**
7255
- * Bulk promotion results
8707
+ * Health dashboard summary
7256
8708
  */
7257
- 200: BulkPromotionResponse;
8709
+ 200: HealthDashboardResponse;
7258
8710
  };
7259
8711
 
7260
- export type PromoteArtifactsBulkResponse = PromoteArtifactsBulkResponses[keyof PromoteArtifactsBulkResponses];
8712
+ export type GetHealthDashboardResponse = GetHealthDashboardResponses[keyof GetHealthDashboardResponses];
7261
8713
 
7262
- export type PromotionHistoryData = {
8714
+ export type GetRepoHealthData = {
7263
8715
  body?: never;
7264
8716
  path: {
7265
8717
  /**
@@ -7267,40 +8719,87 @@ export type PromotionHistoryData = {
7267
8719
  */
7268
8720
  key: string;
7269
8721
  };
7270
- query?: {
7271
- /**
7272
- * Page number (1-indexed)
7273
- */
7274
- page?: number;
8722
+ query?: never;
8723
+ url: '/api/v1/quality/health/repositories/{key}';
8724
+ };
8725
+
8726
+ export type GetRepoHealthErrors = {
8727
+ /**
8728
+ * Repository not found
8729
+ */
8730
+ 404: ErrorResponse;
8731
+ };
8732
+
8733
+ export type GetRepoHealthError = GetRepoHealthErrors[keyof GetRepoHealthErrors];
8734
+
8735
+ export type GetRepoHealthResponses = {
8736
+ /**
8737
+ * Repository health score
8738
+ */
8739
+ 200: RepoHealthResponse;
8740
+ };
8741
+
8742
+ export type GetRepoHealthResponse = GetRepoHealthResponses[keyof GetRepoHealthResponses];
8743
+
8744
+ export type UnsuppressIssueData = {
8745
+ body?: never;
8746
+ path: {
7275
8747
  /**
7276
- * Items per page (max 100)
8748
+ * Issue ID
7277
8749
  */
7278
- per_page?: number;
8750
+ id: string;
8751
+ };
8752
+ query?: never;
8753
+ url: '/api/v1/quality/issues/{id}/suppress';
8754
+ };
8755
+
8756
+ export type UnsuppressIssueErrors = {
8757
+ /**
8758
+ * Issue not found
8759
+ */
8760
+ 404: ErrorResponse;
8761
+ };
8762
+
8763
+ export type UnsuppressIssueError = UnsuppressIssueErrors[keyof UnsuppressIssueErrors];
8764
+
8765
+ export type UnsuppressIssueResponses = {
8766
+ /**
8767
+ * Issue unsuppressed
8768
+ */
8769
+ 200: IssueResponse;
8770
+ };
8771
+
8772
+ export type UnsuppressIssueResponse = UnsuppressIssueResponses[keyof UnsuppressIssueResponses];
8773
+
8774
+ export type SuppressIssueData = {
8775
+ body: SuppressIssueRequest;
8776
+ path: {
7279
8777
  /**
7280
- * Filter by artifact ID
8778
+ * Issue ID
7281
8779
  */
7282
- artifact_id?: string;
8780
+ id: string;
7283
8781
  };
7284
- url: '/api/v1/promotion/repositories/{key}/promotion-history';
8782
+ query?: never;
8783
+ url: '/api/v1/quality/issues/{id}/suppress';
7285
8784
  };
7286
8785
 
7287
- export type PromotionHistoryErrors = {
8786
+ export type SuppressIssueErrors = {
7288
8787
  /**
7289
- * Repository not found
8788
+ * Issue not found
7290
8789
  */
7291
8790
  404: ErrorResponse;
7292
8791
  };
7293
8792
 
7294
- export type PromotionHistoryError = PromotionHistoryErrors[keyof PromotionHistoryErrors];
8793
+ export type SuppressIssueError = SuppressIssueErrors[keyof SuppressIssueErrors];
7295
8794
 
7296
- export type PromotionHistoryResponses = {
8795
+ export type SuppressIssueResponses = {
7297
8796
  /**
7298
- * Promotion history for repository
8797
+ * Issue suppressed
7299
8798
  */
7300
- 200: PromotionHistoryResponse;
8799
+ 200: IssueResponse;
7301
8800
  };
7302
8801
 
7303
- export type PromotionHistoryResponse2 = PromotionHistoryResponses[keyof PromotionHistoryResponses];
8802
+ export type SuppressIssueResponse = SuppressIssueResponses[keyof SuppressIssueResponses];
7304
8803
 
7305
8804
  export type ListRepositoriesData = {
7306
8805
  body?: never;
@@ -7430,6 +8929,10 @@ export type UpdateRepositoryErrors = {
7430
8929
  * Repository not found
7431
8930
  */
7432
8931
  404: unknown;
8932
+ /**
8933
+ * Repository key already exists
8934
+ */
8935
+ 409: unknown;
7433
8936
  };
7434
8937
 
7435
8938
  export type UpdateRepositoryResponses = {
@@ -7455,158 +8958,278 @@ export type ListArtifactsData = {
7455
8958
  q?: string | null;
7456
8959
  path_prefix?: string | null;
7457
8960
  };
7458
- url: '/api/v1/repositories/{key}/artifacts';
8961
+ url: '/api/v1/repositories/{key}/artifacts';
8962
+ };
8963
+
8964
+ export type ListArtifactsErrors = {
8965
+ /**
8966
+ * Repository not found
8967
+ */
8968
+ 404: unknown;
8969
+ };
8970
+
8971
+ export type ListArtifactsResponses = {
8972
+ /**
8973
+ * List of artifacts
8974
+ */
8975
+ 200: ArtifactListResponse;
8976
+ };
8977
+
8978
+ export type ListArtifactsResponse = ListArtifactsResponses[keyof ListArtifactsResponses];
8979
+
8980
+ export type DeleteArtifactData = {
8981
+ body?: never;
8982
+ path: {
8983
+ /**
8984
+ * Repository key
8985
+ */
8986
+ key: string;
8987
+ /**
8988
+ * Artifact path
8989
+ */
8990
+ path: string;
8991
+ };
8992
+ query?: never;
8993
+ url: '/api/v1/repositories/{key}/artifacts/{path}';
8994
+ };
8995
+
8996
+ export type DeleteArtifactErrors = {
8997
+ /**
8998
+ * Authentication required
8999
+ */
9000
+ 401: unknown;
9001
+ /**
9002
+ * Artifact not found
9003
+ */
9004
+ 404: unknown;
9005
+ };
9006
+
9007
+ export type DeleteArtifactResponses = {
9008
+ /**
9009
+ * Artifact deleted
9010
+ */
9011
+ 200: unknown;
9012
+ };
9013
+
9014
+ export type GetRepositoryArtifactMetadataData = {
9015
+ body?: never;
9016
+ path: {
9017
+ /**
9018
+ * Repository key
9019
+ */
9020
+ key: string;
9021
+ /**
9022
+ * Artifact path
9023
+ */
9024
+ path: string;
9025
+ };
9026
+ query?: never;
9027
+ url: '/api/v1/repositories/{key}/artifacts/{path}';
9028
+ };
9029
+
9030
+ export type GetRepositoryArtifactMetadataErrors = {
9031
+ /**
9032
+ * Artifact not found
9033
+ */
9034
+ 404: unknown;
9035
+ };
9036
+
9037
+ export type GetRepositoryArtifactMetadataResponses = {
9038
+ /**
9039
+ * Artifact metadata
9040
+ */
9041
+ 200: ArtifactResponse;
9042
+ };
9043
+
9044
+ export type GetRepositoryArtifactMetadataResponse = GetRepositoryArtifactMetadataResponses[keyof GetRepositoryArtifactMetadataResponses];
9045
+
9046
+ export type UploadArtifactData = {
9047
+ body: Array<number>;
9048
+ path: {
9049
+ /**
9050
+ * Repository key
9051
+ */
9052
+ key: string;
9053
+ /**
9054
+ * Artifact path
9055
+ */
9056
+ path: string;
9057
+ };
9058
+ query?: never;
9059
+ url: '/api/v1/repositories/{key}/artifacts/{path}';
9060
+ };
9061
+
9062
+ export type UploadArtifactErrors = {
9063
+ /**
9064
+ * Authentication required
9065
+ */
9066
+ 401: unknown;
9067
+ /**
9068
+ * Repository not found
9069
+ */
9070
+ 404: unknown;
9071
+ };
9072
+
9073
+ export type UploadArtifactResponses = {
9074
+ /**
9075
+ * Artifact uploaded
9076
+ */
9077
+ 200: ArtifactResponse;
9078
+ };
9079
+
9080
+ export type UploadArtifactResponse = UploadArtifactResponses[keyof UploadArtifactResponses];
9081
+
9082
+ export type DownloadArtifactData = {
9083
+ body?: never;
9084
+ path: {
9085
+ /**
9086
+ * Repository key
9087
+ */
9088
+ key: string;
9089
+ /**
9090
+ * Artifact path
9091
+ */
9092
+ path: string;
9093
+ };
9094
+ query?: never;
9095
+ url: '/api/v1/repositories/{key}/download/{path}';
7459
9096
  };
7460
9097
 
7461
- export type ListArtifactsErrors = {
9098
+ export type DownloadArtifactErrors = {
7462
9099
  /**
7463
- * Repository not found
9100
+ * Artifact not found
7464
9101
  */
7465
9102
  404: unknown;
7466
9103
  };
7467
9104
 
7468
- export type ListArtifactsResponses = {
9105
+ export type DownloadArtifactResponses = {
7469
9106
  /**
7470
- * List of artifacts
9107
+ * Artifact binary content
7471
9108
  */
7472
- 200: ArtifactListResponse;
9109
+ 200: Blob | File;
7473
9110
  };
7474
9111
 
7475
- export type ListArtifactsResponse = ListArtifactsResponses[keyof ListArtifactsResponses];
9112
+ export type DownloadArtifactResponse = DownloadArtifactResponses[keyof DownloadArtifactResponses];
7476
9113
 
7477
- export type DeleteArtifactData = {
9114
+ export type ListRepoLabelsData = {
7478
9115
  body?: never;
7479
9116
  path: {
7480
9117
  /**
7481
9118
  * Repository key
7482
9119
  */
7483
9120
  key: string;
7484
- /**
7485
- * Artifact path
7486
- */
7487
- path: string;
7488
9121
  };
7489
9122
  query?: never;
7490
- url: '/api/v1/repositories/{key}/artifacts/{path}';
9123
+ url: '/api/v1/repositories/{key}/labels';
7491
9124
  };
7492
9125
 
7493
- export type DeleteArtifactErrors = {
7494
- /**
7495
- * Authentication required
7496
- */
7497
- 401: unknown;
9126
+ export type ListRepoLabelsErrors = {
7498
9127
  /**
7499
- * Artifact not found
9128
+ * Repository not found
7500
9129
  */
7501
9130
  404: unknown;
7502
9131
  };
7503
9132
 
7504
- export type DeleteArtifactResponses = {
9133
+ export type ListRepoLabelsResponses = {
7505
9134
  /**
7506
- * Artifact deleted
9135
+ * Labels retrieved
7507
9136
  */
7508
- 200: unknown;
9137
+ 200: LabelsListResponse;
7509
9138
  };
7510
9139
 
7511
- export type GetRepositoryArtifactMetadataData = {
7512
- body?: never;
9140
+ export type ListRepoLabelsResponse = ListRepoLabelsResponses[keyof ListRepoLabelsResponses];
9141
+
9142
+ export type SetRepoLabelsData = {
9143
+ body: SetLabelsRequest;
7513
9144
  path: {
7514
9145
  /**
7515
9146
  * Repository key
7516
9147
  */
7517
9148
  key: string;
7518
- /**
7519
- * Artifact path
7520
- */
7521
- path: string;
7522
9149
  };
7523
9150
  query?: never;
7524
- url: '/api/v1/repositories/{key}/artifacts/{path}';
9151
+ url: '/api/v1/repositories/{key}/labels';
7525
9152
  };
7526
9153
 
7527
- export type GetRepositoryArtifactMetadataErrors = {
9154
+ export type SetRepoLabelsErrors = {
7528
9155
  /**
7529
- * Artifact not found
9156
+ * Repository not found
7530
9157
  */
7531
9158
  404: unknown;
7532
9159
  };
7533
9160
 
7534
- export type GetRepositoryArtifactMetadataResponses = {
9161
+ export type SetRepoLabelsResponses = {
7535
9162
  /**
7536
- * Artifact metadata
9163
+ * Labels updated
7537
9164
  */
7538
- 200: ArtifactResponse;
9165
+ 200: LabelsListResponse;
7539
9166
  };
7540
9167
 
7541
- export type GetRepositoryArtifactMetadataResponse = GetRepositoryArtifactMetadataResponses[keyof GetRepositoryArtifactMetadataResponses];
9168
+ export type SetRepoLabelsResponse = SetRepoLabelsResponses[keyof SetRepoLabelsResponses];
7542
9169
 
7543
- export type UploadArtifactData = {
7544
- body: Array<number>;
9170
+ export type DeleteRepoLabelData = {
9171
+ body?: never;
7545
9172
  path: {
7546
9173
  /**
7547
9174
  * Repository key
7548
9175
  */
7549
9176
  key: string;
7550
9177
  /**
7551
- * Artifact path
9178
+ * Label key to remove
7552
9179
  */
7553
- path: string;
9180
+ label_key: string;
7554
9181
  };
7555
9182
  query?: never;
7556
- url: '/api/v1/repositories/{key}/artifacts/{path}';
9183
+ url: '/api/v1/repositories/{key}/labels/{label_key}';
7557
9184
  };
7558
9185
 
7559
- export type UploadArtifactErrors = {
7560
- /**
7561
- * Authentication required
7562
- */
7563
- 401: unknown;
9186
+ export type DeleteRepoLabelErrors = {
7564
9187
  /**
7565
- * Repository not found
9188
+ * Repository or label not found
7566
9189
  */
7567
9190
  404: unknown;
7568
9191
  };
7569
9192
 
7570
- export type UploadArtifactResponses = {
9193
+ export type DeleteRepoLabelResponses = {
7571
9194
  /**
7572
- * Artifact uploaded
9195
+ * Label removed
7573
9196
  */
7574
- 200: ArtifactResponse;
9197
+ 204: void;
7575
9198
  };
7576
9199
 
7577
- export type UploadArtifactResponse = UploadArtifactResponses[keyof UploadArtifactResponses];
9200
+ export type DeleteRepoLabelResponse = DeleteRepoLabelResponses[keyof DeleteRepoLabelResponses];
7578
9201
 
7579
- export type DownloadArtifactData = {
7580
- body?: never;
9202
+ export type AddRepoLabelData = {
9203
+ body: AddLabelRequest;
7581
9204
  path: {
7582
9205
  /**
7583
9206
  * Repository key
7584
9207
  */
7585
9208
  key: string;
7586
9209
  /**
7587
- * Artifact path
9210
+ * Label key to set
7588
9211
  */
7589
- path: string;
9212
+ label_key: string;
7590
9213
  };
7591
9214
  query?: never;
7592
- url: '/api/v1/repositories/{key}/download/{path}';
9215
+ url: '/api/v1/repositories/{key}/labels/{label_key}';
7593
9216
  };
7594
9217
 
7595
- export type DownloadArtifactErrors = {
9218
+ export type AddRepoLabelErrors = {
7596
9219
  /**
7597
- * Artifact not found
9220
+ * Repository not found
7598
9221
  */
7599
9222
  404: unknown;
7600
9223
  };
7601
9224
 
7602
- export type DownloadArtifactResponses = {
9225
+ export type AddRepoLabelResponses = {
7603
9226
  /**
7604
- * Artifact binary content
9227
+ * Label added/updated
7605
9228
  */
7606
- 200: Blob | File;
9229
+ 200: LabelResponse;
7607
9230
  };
7608
9231
 
7609
- export type DownloadArtifactResponse = DownloadArtifactResponses[keyof DownloadArtifactResponses];
9232
+ export type AddRepoLabelResponse = AddRepoLabelResponses[keyof AddRepoLabelResponses];
7610
9233
 
7611
9234
  export type ListVirtualMembersData = {
7612
9235
  body?: never;
@@ -9106,6 +10729,238 @@ export type GetRepoPublicKeyResponses = {
9106
10729
 
9107
10730
  export type GetRepoPublicKeyResponse = GetRepoPublicKeyResponses[keyof GetRepoPublicKeyResponses];
9108
10731
 
10732
+ export type ListSyncPoliciesData = {
10733
+ body?: never;
10734
+ path?: never;
10735
+ query?: never;
10736
+ url: '/api/v1/sync-policies';
10737
+ };
10738
+
10739
+ export type ListSyncPoliciesErrors = {
10740
+ /**
10741
+ * Internal server error
10742
+ */
10743
+ 500: unknown;
10744
+ };
10745
+
10746
+ export type ListSyncPoliciesResponses = {
10747
+ /**
10748
+ * List of sync policies
10749
+ */
10750
+ 200: SyncPolicyListResponse;
10751
+ };
10752
+
10753
+ export type ListSyncPoliciesResponse = ListSyncPoliciesResponses[keyof ListSyncPoliciesResponses];
10754
+
10755
+ export type CreateSyncPolicyData = {
10756
+ body: CreateSyncPolicyPayload;
10757
+ path?: never;
10758
+ query?: never;
10759
+ url: '/api/v1/sync-policies';
10760
+ };
10761
+
10762
+ export type CreateSyncPolicyErrors = {
10763
+ /**
10764
+ * Validation error
10765
+ */
10766
+ 400: unknown;
10767
+ /**
10768
+ * Policy name already exists
10769
+ */
10770
+ 409: unknown;
10771
+ /**
10772
+ * Internal server error
10773
+ */
10774
+ 500: unknown;
10775
+ };
10776
+
10777
+ export type CreateSyncPolicyResponses = {
10778
+ /**
10779
+ * Sync policy created
10780
+ */
10781
+ 200: SyncPolicyResponse;
10782
+ };
10783
+
10784
+ export type CreateSyncPolicyResponse = CreateSyncPolicyResponses[keyof CreateSyncPolicyResponses];
10785
+
10786
+ export type EvaluatePoliciesData = {
10787
+ body?: never;
10788
+ path?: never;
10789
+ query?: never;
10790
+ url: '/api/v1/sync-policies/evaluate';
10791
+ };
10792
+
10793
+ export type EvaluatePoliciesErrors = {
10794
+ /**
10795
+ * Internal server error
10796
+ */
10797
+ 500: unknown;
10798
+ };
10799
+
10800
+ export type EvaluatePoliciesResponses = {
10801
+ /**
10802
+ * Evaluation completed
10803
+ */
10804
+ 200: EvaluationResultResponse;
10805
+ };
10806
+
10807
+ export type EvaluatePoliciesResponse = EvaluatePoliciesResponses[keyof EvaluatePoliciesResponses];
10808
+
10809
+ export type PreviewSyncPolicyData = {
10810
+ body: PreviewPolicyPayload;
10811
+ path?: never;
10812
+ query?: never;
10813
+ url: '/api/v1/sync-policies/preview';
10814
+ };
10815
+
10816
+ export type PreviewSyncPolicyErrors = {
10817
+ /**
10818
+ * Internal server error
10819
+ */
10820
+ 500: unknown;
10821
+ };
10822
+
10823
+ export type PreviewSyncPolicyResponses = {
10824
+ /**
10825
+ * Preview result
10826
+ */
10827
+ 200: PreviewResultResponse;
10828
+ };
10829
+
10830
+ export type PreviewSyncPolicyResponse = PreviewSyncPolicyResponses[keyof PreviewSyncPolicyResponses];
10831
+
10832
+ export type DeleteSyncPolicyData = {
10833
+ body?: never;
10834
+ path: {
10835
+ /**
10836
+ * Sync policy ID
10837
+ */
10838
+ id: string;
10839
+ };
10840
+ query?: never;
10841
+ url: '/api/v1/sync-policies/{id}';
10842
+ };
10843
+
10844
+ export type DeleteSyncPolicyErrors = {
10845
+ /**
10846
+ * Sync policy not found
10847
+ */
10848
+ 404: unknown;
10849
+ /**
10850
+ * Internal server error
10851
+ */
10852
+ 500: unknown;
10853
+ };
10854
+
10855
+ export type DeleteSyncPolicyResponses = {
10856
+ /**
10857
+ * Sync policy deleted
10858
+ */
10859
+ 204: void;
10860
+ };
10861
+
10862
+ export type DeleteSyncPolicyResponse = DeleteSyncPolicyResponses[keyof DeleteSyncPolicyResponses];
10863
+
10864
+ export type GetSyncPolicyData = {
10865
+ body?: never;
10866
+ path: {
10867
+ /**
10868
+ * Sync policy ID
10869
+ */
10870
+ id: string;
10871
+ };
10872
+ query?: never;
10873
+ url: '/api/v1/sync-policies/{id}';
10874
+ };
10875
+
10876
+ export type GetSyncPolicyErrors = {
10877
+ /**
10878
+ * Sync policy not found
10879
+ */
10880
+ 404: unknown;
10881
+ /**
10882
+ * Internal server error
10883
+ */
10884
+ 500: unknown;
10885
+ };
10886
+
10887
+ export type GetSyncPolicyResponses = {
10888
+ /**
10889
+ * Sync policy details
10890
+ */
10891
+ 200: SyncPolicyResponse;
10892
+ };
10893
+
10894
+ export type GetSyncPolicyResponse = GetSyncPolicyResponses[keyof GetSyncPolicyResponses];
10895
+
10896
+ export type UpdateSyncPolicyData = {
10897
+ body: UpdateSyncPolicyPayload;
10898
+ path: {
10899
+ /**
10900
+ * Sync policy ID
10901
+ */
10902
+ id: string;
10903
+ };
10904
+ query?: never;
10905
+ url: '/api/v1/sync-policies/{id}';
10906
+ };
10907
+
10908
+ export type UpdateSyncPolicyErrors = {
10909
+ /**
10910
+ * Sync policy not found
10911
+ */
10912
+ 404: unknown;
10913
+ /**
10914
+ * Policy name already exists
10915
+ */
10916
+ 409: unknown;
10917
+ /**
10918
+ * Internal server error
10919
+ */
10920
+ 500: unknown;
10921
+ };
10922
+
10923
+ export type UpdateSyncPolicyResponses = {
10924
+ /**
10925
+ * Sync policy updated
10926
+ */
10927
+ 200: SyncPolicyResponse;
10928
+ };
10929
+
10930
+ export type UpdateSyncPolicyResponse = UpdateSyncPolicyResponses[keyof UpdateSyncPolicyResponses];
10931
+
10932
+ export type TogglePolicyData = {
10933
+ body: TogglePolicyPayload;
10934
+ path: {
10935
+ /**
10936
+ * Sync policy ID
10937
+ */
10938
+ id: string;
10939
+ };
10940
+ query?: never;
10941
+ url: '/api/v1/sync-policies/{id}/toggle';
10942
+ };
10943
+
10944
+ export type TogglePolicyErrors = {
10945
+ /**
10946
+ * Sync policy not found
10947
+ */
10948
+ 404: unknown;
10949
+ /**
10950
+ * Internal server error
10951
+ */
10952
+ 500: unknown;
10953
+ };
10954
+
10955
+ export type TogglePolicyResponses = {
10956
+ /**
10957
+ * Sync policy toggled
10958
+ */
10959
+ 200: SyncPolicyResponse;
10960
+ };
10961
+
10962
+ export type TogglePolicyResponse = TogglePolicyResponses[keyof TogglePolicyResponses];
10963
+
9109
10964
  export type GetTreeData = {
9110
10965
  body?: never;
9111
10966
  path?: never;
@@ -9791,23 +11646,43 @@ export type HealthCheckResponses = {
9791
11646
 
9792
11647
  export type HealthCheckResponse = HealthCheckResponses[keyof HealthCheckResponses];
9793
11648
 
11649
+ export type LivenessCheckData = {
11650
+ body?: never;
11651
+ path?: never;
11652
+ query?: never;
11653
+ url: '/livez';
11654
+ };
11655
+
11656
+ export type LivenessCheckResponses = {
11657
+ /**
11658
+ * Process is alive
11659
+ */
11660
+ 200: LivezResponse;
11661
+ };
11662
+
11663
+ export type LivenessCheckResponse = LivenessCheckResponses[keyof LivenessCheckResponses];
11664
+
9794
11665
  export type ReadinessCheckData = {
9795
11666
  body?: never;
9796
11667
  path?: never;
9797
11668
  query?: never;
9798
- url: '/ready';
11669
+ url: '/readyz';
9799
11670
  };
9800
11671
 
9801
11672
  export type ReadinessCheckErrors = {
9802
11673
  /**
9803
11674
  * Service is not ready
9804
11675
  */
9805
- 503: unknown;
11676
+ 503: ReadyzResponse;
9806
11677
  };
9807
11678
 
11679
+ export type ReadinessCheckError = ReadinessCheckErrors[keyof ReadinessCheckErrors];
11680
+
9808
11681
  export type ReadinessCheckResponses = {
9809
11682
  /**
9810
- * Service is ready to accept traffic
11683
+ * Service is ready
9811
11684
  */
9812
- 200: unknown;
11685
+ 200: ReadyzResponse;
9813
11686
  };
11687
+
11688
+ export type ReadinessCheckResponse = ReadinessCheckResponses[keyof ReadinessCheckResponses];