@artifact-keeper/sdk 1.1.0-dev.2 → 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
@@ -20,6 +20,10 @@ export type AddLabelRequest = {
20
20
  value?: string;
21
21
  };
22
22
 
23
+ export type AddPeerLabelRequest = {
24
+ value?: string;
25
+ };
26
+
23
27
  export type AddVirtualMemberRequest = {
24
28
  member_key: string;
25
29
  priority?: number | null;
@@ -70,6 +74,87 @@ export type ApiTokenResponse = {
70
74
  token_prefix: string;
71
75
  };
72
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
+
73
158
  export type ArtifactListResponse = {
74
159
  items: Array<ArtifactResponse>;
75
160
  pagination: Pagination;
@@ -244,6 +329,15 @@ export type BuildRow = {
244
329
  updated_at: string;
245
330
  };
246
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
+
247
341
  export type BulkPromoteRequest = {
248
342
  artifact_ids: Array<string>;
249
343
  notes?: string | null;
@@ -268,11 +362,44 @@ export type CheckLicenseComplianceRequest = {
268
362
  repository_id?: string | null;
269
363
  };
270
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
+
271
389
  export type CheckStatus = {
272
390
  message?: string | null;
273
391
  status: string;
274
392
  };
275
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
+
276
403
  export type ChecksumArtifact = {
277
404
  checksum_sha256: string;
278
405
  content_type: string;
@@ -451,6 +578,23 @@ export type CreateConnectionRequest = {
451
578
  url: string;
452
579
  };
453
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
+
454
598
  export type CreateGroupRequest = {
455
599
  description?: string | null;
456
600
  name: string;
@@ -522,9 +666,12 @@ export type CreatePermissionRequest = {
522
666
  export type CreatePolicyRequest = {
523
667
  block_on_fail: boolean;
524
668
  block_unscanned: boolean;
669
+ max_artifact_age_days?: number | null;
525
670
  max_severity: string;
671
+ min_staging_hours?: number | null;
526
672
  name: string;
527
673
  repository_id?: string | null;
674
+ require_signature?: boolean;
528
675
  };
529
676
 
530
677
  export type CreateRepositoryRequest = {
@@ -538,6 +685,20 @@ export type CreateRepositoryRequest = {
538
685
  upstream_url?: string | null;
539
686
  };
540
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
+
541
702
  export type CreateSamlConfigRequest = {
542
703
  admin_group?: string | null;
543
704
  attribute_mapping?: {
@@ -555,6 +716,24 @@ export type CreateSamlConfigRequest = {
555
716
  sso_url: string;
556
717
  };
557
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
+
558
737
  export type CreateTicketRequest = {
559
738
  purpose: string;
560
739
  resource_path?: string | null;
@@ -679,6 +858,16 @@ export type DateRangeQuery = {
679
858
  to?: string | null;
680
859
  };
681
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
+
682
871
  export type DeliveryListResponse = {
683
872
  items: Array<DeliveryResponse>;
684
873
  total: number;
@@ -942,6 +1131,13 @@ export type ErrorResponse = {
942
1131
  message: string;
943
1132
  };
944
1133
 
1134
+ export type EvaluationResultResponse = {
1135
+ created: number;
1136
+ policies_evaluated: number;
1137
+ removed: number;
1138
+ updated: number;
1139
+ };
1140
+
945
1141
  export type EventsQuery = {
946
1142
  limit?: number | null;
947
1143
  };
@@ -1030,6 +1226,46 @@ export type FormatHandlerResponse = {
1030
1226
  */
1031
1227
  export type FormatHandlerType = 'Core' | 'Wasm';
1032
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
+
1033
1269
  export type GenerateSbomRequest = {
1034
1270
  artifact_id: string;
1035
1271
  force_regenerate?: boolean;
@@ -1087,8 +1323,21 @@ export type HealthChecks = {
1087
1323
  storage: CheckStatus;
1088
1324
  };
1089
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
+
1090
1338
  export type HealthResponse = {
1091
1339
  checks: HealthChecks;
1340
+ db_pool?: null | DbPoolStats;
1092
1341
  demo_mode: boolean;
1093
1342
  status: string;
1094
1343
  version: string;
@@ -1135,6 +1384,22 @@ export type InstallFromLocalRequest = {
1135
1384
  path: string;
1136
1385
  };
1137
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
+
1138
1403
  export type KeyListResponse = {
1139
1404
  keys: Array<SigningKeyPublic>;
1140
1405
  total: number;
@@ -1293,6 +1558,13 @@ export type ListUsersQuery = {
1293
1558
  search?: string | null;
1294
1559
  };
1295
1560
 
1561
+ /**
1562
+ * Lightweight liveness response.
1563
+ */
1564
+ export type LivezResponse = {
1565
+ status: string;
1566
+ };
1567
+
1296
1568
  export type LoginRequest = {
1297
1569
  password: string;
1298
1570
  username: string;
@@ -1308,6 +1580,18 @@ export type LoginResponse = {
1308
1580
  totp_token?: string | null;
1309
1581
  };
1310
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
+
1311
1595
  export type MembersRequest = {
1312
1596
  user_ids: Array<string>;
1313
1597
  };
@@ -1559,6 +1843,24 @@ export type PeerInstanceResponse = {
1559
1843
  status: string;
1560
1844
  };
1561
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
+
1562
1864
  export type PeerResponse = {
1563
1865
  bandwidth_estimate_bps?: number | null;
1564
1866
  bytes_transferred_total: number;
@@ -1574,6 +1876,21 @@ export type PeerResponse = {
1574
1876
  transfer_success_count: number;
1575
1877
  };
1576
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
+
1577
1894
  export type PermissionListResponse = {
1578
1895
  items: Array<PermissionResponse>;
1579
1896
  pagination: Pagination;
@@ -1676,9 +1993,12 @@ export type PolicyResponse = {
1676
1993
  created_at: string;
1677
1994
  id: string;
1678
1995
  is_enabled: boolean;
1996
+ max_artifact_age_days?: number | null;
1679
1997
  max_severity: string;
1998
+ min_staging_hours?: number | null;
1680
1999
  name: string;
1681
2000
  repository_id?: string | null;
2001
+ require_signature: boolean;
1682
2002
  updated_at: string;
1683
2003
  };
1684
2004
 
@@ -1688,6 +2008,30 @@ export type PolicyViolation = {
1688
2008
  severity: string;
1689
2009
  };
1690
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
+
1691
2035
  export type ProbeBody = {
1692
2036
  bandwidth_estimate_bps?: number | null;
1693
2037
  latency_ms: number;
@@ -1711,7 +2055,9 @@ export type PromotionHistoryEntry = {
1711
2055
  } | null;
1712
2056
  promoted_by?: string | null;
1713
2057
  promoted_by_username?: string | null;
2058
+ rejection_reason?: string | null;
1714
2059
  source_repo_key: string;
2060
+ status: string;
1715
2061
  target_repo_key: string;
1716
2062
  };
1717
2063
 
@@ -1719,6 +2065,7 @@ export type PromotionHistoryQuery = {
1719
2065
  artifact_id?: string | null;
1720
2066
  page?: number | null;
1721
2067
  per_page?: number | null;
2068
+ status?: string | null;
1722
2069
  };
1723
2070
 
1724
2071
  export type PromotionHistoryResponse = {
@@ -1735,10 +2082,46 @@ export type PromotionResponse = {
1735
2082
  target: string;
1736
2083
  };
1737
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
+
1738
2107
  export type QuickSearchResponse = {
1739
2108
  results: Array<SearchResultItem>;
1740
2109
  };
1741
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
+
1742
2125
  export type RefreshTokenRequest = {
1743
2126
  refresh_token?: string | null;
1744
2127
  };
@@ -1760,6 +2143,19 @@ export type ReindexResponse = {
1760
2143
  repositories_indexed: number;
1761
2144
  };
1762
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
+
1763
2159
  export type RemoteInstanceResponse = {
1764
2160
  created_at: string;
1765
2161
  id: string;
@@ -1767,11 +2163,35 @@ export type RemoteInstanceResponse = {
1767
2163
  url: string;
1768
2164
  };
1769
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
+
1770
2181
  export type RepoSecurityResponse = {
1771
2182
  config?: null | ScanConfigResponse;
1772
2183
  score?: null | ScoreResponse;
1773
2184
  };
1774
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
+
1775
2195
  export type RepositoryAssessment = {
1776
2196
  artifact_count: number;
1777
2197
  compatibility: string;
@@ -1861,6 +2281,13 @@ export type RestoreResponse = {
1861
2281
  tables_restored: Array<string>;
1862
2282
  };
1863
2283
 
2284
+ export type ReviewRequest = {
2285
+ /**
2286
+ * Optional reviewer notes
2287
+ */
2288
+ notes?: string | null;
2289
+ };
2290
+
1864
2291
  export type RoleListResponse = {
1865
2292
  items: Array<RoleResponse>;
1866
2293
  };
@@ -1872,6 +2299,13 @@ export type RoleResponse = {
1872
2299
  permissions: Array<string>;
1873
2300
  };
1874
2301
 
2302
+ export type RuleEvaluationResponse = {
2303
+ passed: boolean;
2304
+ rule_id: string;
2305
+ rule_name: string;
2306
+ violations: Array<string>;
2307
+ };
2308
+
1875
2309
  export type SamlAcsForm = {
1876
2310
  RelayState?: string | null;
1877
2311
  SAMLResponse: string;
@@ -2015,6 +2449,10 @@ export type SetLabelsRequest = {
2015
2449
  labels: Array<LabelEntrySchema>;
2016
2450
  };
2017
2451
 
2452
+ export type SetPeerLabelsRequest = {
2453
+ labels: Array<PeerLabelEntrySchema>;
2454
+ };
2455
+
2018
2456
  /**
2019
2457
  * Response body for the setup status endpoint.
2020
2458
  */
@@ -2125,11 +2563,41 @@ export type SuggestResponse = {
2125
2563
  suggestions: Array<string>;
2126
2564
  };
2127
2565
 
2566
+ export type SuppressIssueRequest = {
2567
+ reason: string;
2568
+ };
2569
+
2128
2570
  export type SuppressRequest = {
2129
2571
  service_name: string;
2130
2572
  until: string;
2131
2573
  };
2132
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
+
2133
2601
  export type SyncTaskResponse = {
2134
2602
  artifact_id: string;
2135
2603
  artifact_size: number;
@@ -2226,6 +2694,10 @@ export type TicketResponse = {
2226
2694
  ticket: string;
2227
2695
  };
2228
2696
 
2697
+ export type TogglePolicyPayload = {
2698
+ enabled: boolean;
2699
+ };
2700
+
2229
2701
  export type ToggleRequest = {
2230
2702
  enabled: boolean;
2231
2703
  };
@@ -2282,6 +2754,16 @@ export type TreeResponse = {
2282
2754
  nodes: Array<TreeNodeResponse>;
2283
2755
  };
2284
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
+
2285
2767
  export type TriggerScanRequest = {
2286
2768
  artifact_id?: string | null;
2287
2769
  repository_id?: string | null;
@@ -2324,10 +2806,27 @@ export type UpdateCveStatusRequest = {
2324
2806
  status: string;
2325
2807
  };
2326
2808
 
2327
- export type UpdateLdapConfigRequest = {
2328
- admin_group_dn?: string | null;
2329
- bind_dn?: string | null;
2330
- bind_password?: string | null;
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
+
2826
+ export type UpdateLdapConfigRequest = {
2827
+ admin_group_dn?: string | null;
2828
+ bind_dn?: string | null;
2829
+ bind_password?: string | null;
2331
2830
  display_name_attribute?: string | null;
2332
2831
  email_attribute?: string | null;
2333
2832
  group_base_dn?: string | null;
@@ -2366,17 +2865,33 @@ export type UpdatePolicyRequest = {
2366
2865
  block_on_fail: boolean;
2367
2866
  block_unscanned: boolean;
2368
2867
  is_enabled: boolean;
2868
+ max_artifact_age_days?: number | null;
2369
2869
  max_severity: string;
2870
+ min_staging_hours?: number | null;
2370
2871
  name: string;
2872
+ require_signature?: boolean;
2371
2873
  };
2372
2874
 
2373
2875
  export type UpdateRepositoryRequest = {
2374
2876
  description?: string | null;
2375
2877
  is_public?: boolean | null;
2878
+ key?: string | null;
2376
2879
  name?: string | null;
2377
2880
  quota_bytes?: number | null;
2378
2881
  };
2379
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
+
2380
2895
  export type UpdateSamlConfigRequest = {
2381
2896
  admin_group?: string | null;
2382
2897
  attribute_mapping?: {
@@ -2401,6 +2916,24 @@ export type UpdateSigningConfigPayload = {
2401
2916
  signing_key_id?: string | null;
2402
2917
  };
2403
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
+
2404
2937
  export type UpdateUserRequest = {
2405
2938
  display_name?: string | null;
2406
2939
  email?: string | null;
@@ -3937,6 +4470,207 @@ export type UpdateTelemetrySettingsResponses = {
3937
4470
 
3938
4471
  export type UpdateTelemetrySettingsResponse = UpdateTelemetrySettingsResponses[keyof UpdateTelemetrySettingsResponses];
3939
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
+
3940
4674
  export type GetArtifactData = {
3941
4675
  body?: never;
3942
4676
  path: {
@@ -6358,8 +7092,8 @@ export type HeartbeatResponses = {
6358
7092
  200: unknown;
6359
7093
  };
6360
7094
 
6361
- export type UpdateNetworkProfileData = {
6362
- body: NetworkProfileBody;
7095
+ export type ListLabelsData = {
7096
+ body?: never;
6363
7097
  path: {
6364
7098
  /**
6365
7099
  * Peer instance ID
@@ -6367,18 +7101,27 @@ export type UpdateNetworkProfileData = {
6367
7101
  id: string;
6368
7102
  };
6369
7103
  query?: never;
6370
- url: '/api/v1/peers/{id}/network-profile';
7104
+ url: '/api/v1/peers/{id}/labels';
6371
7105
  };
6372
7106
 
6373
- export type UpdateNetworkProfileResponses = {
7107
+ export type ListLabelsErrors = {
6374
7108
  /**
6375
- * Network profile updated
7109
+ * Peer instance not found
6376
7110
  */
6377
- 200: unknown;
7111
+ 404: unknown;
6378
7112
  };
6379
7113
 
6380
- export type GetAssignedReposData = {
6381
- body?: never;
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;
6382
7125
  path: {
6383
7126
  /**
6384
7127
  * Peer instance ID
@@ -6386,95 +7129,91 @@ export type GetAssignedReposData = {
6386
7129
  id: string;
6387
7130
  };
6388
7131
  query?: never;
6389
- url: '/api/v1/peers/{id}/repositories';
7132
+ url: '/api/v1/peers/{id}/labels';
6390
7133
  };
6391
7134
 
6392
- export type GetAssignedReposErrors = {
7135
+ export type SetLabelsErrors = {
6393
7136
  /**
6394
7137
  * Peer instance not found
6395
7138
  */
6396
7139
  404: unknown;
6397
- /**
6398
- * Internal server error
6399
- */
6400
- 500: unknown;
6401
7140
  };
6402
7141
 
6403
- export type GetAssignedReposResponses = {
7142
+ export type SetLabelsResponses = {
6404
7143
  /**
6405
- * List of assigned repository IDs
7144
+ * Labels updated
6406
7145
  */
6407
- 200: Array<string>;
7146
+ 200: PeerLabelsListResponse;
6408
7147
  };
6409
7148
 
6410
- export type GetAssignedReposResponse = GetAssignedReposResponses[keyof GetAssignedReposResponses];
7149
+ export type SetLabelsResponse = SetLabelsResponses[keyof SetLabelsResponses];
6411
7150
 
6412
- export type AssignRepoData = {
6413
- body: AssignRepoRequest;
7151
+ export type DeleteLabelData = {
7152
+ body?: never;
6414
7153
  path: {
6415
7154
  /**
6416
7155
  * Peer instance ID
6417
7156
  */
6418
7157
  id: string;
7158
+ /**
7159
+ * Label key to remove
7160
+ */
7161
+ label_key: string;
6419
7162
  };
6420
7163
  query?: never;
6421
- url: '/api/v1/peers/{id}/repositories';
7164
+ url: '/api/v1/peers/{id}/labels/{label_key}';
6422
7165
  };
6423
7166
 
6424
- export type AssignRepoErrors = {
7167
+ export type DeleteLabelErrors = {
6425
7168
  /**
6426
- * Peer instance not found
7169
+ * Peer instance or label not found
6427
7170
  */
6428
7171
  404: unknown;
6429
- /**
6430
- * Internal server error
6431
- */
6432
- 500: unknown;
6433
7172
  };
6434
7173
 
6435
- export type AssignRepoResponses = {
7174
+ export type DeleteLabelResponses = {
6436
7175
  /**
6437
- * Repository assigned successfully
7176
+ * Label removed
6438
7177
  */
6439
- 200: unknown;
7178
+ 204: void;
6440
7179
  };
6441
7180
 
6442
- export type UnassignRepoData = {
6443
- body?: never;
7181
+ export type DeleteLabelResponse = DeleteLabelResponses[keyof DeleteLabelResponses];
7182
+
7183
+ export type AddLabelData = {
7184
+ body: AddPeerLabelRequest;
6444
7185
  path: {
6445
7186
  /**
6446
7187
  * Peer instance ID
6447
7188
  */
6448
7189
  id: string;
6449
7190
  /**
6450
- * Repository ID
7191
+ * Label key to set
6451
7192
  */
6452
- repo_id: string;
7193
+ label_key: string;
6453
7194
  };
6454
7195
  query?: never;
6455
- url: '/api/v1/peers/{id}/repositories/{repo_id}';
7196
+ url: '/api/v1/peers/{id}/labels/{label_key}';
6456
7197
  };
6457
7198
 
6458
- export type UnassignRepoErrors = {
7199
+ export type AddLabelErrors = {
6459
7200
  /**
6460
- * Peer instance or repository not found
7201
+ * Peer instance not found
6461
7202
  */
6462
7203
  404: unknown;
6463
- /**
6464
- * Internal server error
6465
- */
6466
- 500: unknown;
6467
7204
  };
6468
7205
 
6469
- export type UnassignRepoResponses = {
7206
+ export type AddLabelResponses = {
6470
7207
  /**
6471
- * Repository unassigned successfully
7208
+ * Label added/updated
6472
7209
  */
6473
- 200: unknown;
7210
+ 200: PeerLabelResponse;
6474
7211
  };
6475
7212
 
6476
- export type TriggerSyncData = {
6477
- body?: never;
7213
+ export type AddLabelResponse = AddLabelResponses[keyof AddLabelResponses];
7214
+
7215
+ export type UpdateNetworkProfileData = {
7216
+ body: NetworkProfileBody;
6478
7217
  path: {
6479
7218
  /**
6480
7219
  * Peer instance ID
@@ -6482,14 +7221,129 @@ export type TriggerSyncData = {
6482
7221
  id: string;
6483
7222
  };
6484
7223
  query?: never;
6485
- url: '/api/v1/peers/{id}/sync';
7224
+ url: '/api/v1/peers/{id}/network-profile';
6486
7225
  };
6487
7226
 
6488
- export type TriggerSyncErrors = {
7227
+ export type UpdateNetworkProfileResponses = {
6489
7228
  /**
6490
- * Peer instance not found
7229
+ * Network profile updated
6491
7230
  */
6492
- 404: unknown;
7231
+ 200: unknown;
7232
+ };
7233
+
7234
+ export type GetAssignedReposData = {
7235
+ body?: never;
7236
+ path: {
7237
+ /**
7238
+ * Peer instance ID
7239
+ */
7240
+ id: string;
7241
+ };
7242
+ query?: never;
7243
+ url: '/api/v1/peers/{id}/repositories';
7244
+ };
7245
+
7246
+ export type GetAssignedReposErrors = {
7247
+ /**
7248
+ * Peer instance not found
7249
+ */
7250
+ 404: unknown;
7251
+ /**
7252
+ * Internal server error
7253
+ */
7254
+ 500: unknown;
7255
+ };
7256
+
7257
+ export type GetAssignedReposResponses = {
7258
+ /**
7259
+ * List of assigned repository IDs
7260
+ */
7261
+ 200: Array<string>;
7262
+ };
7263
+
7264
+ export type GetAssignedReposResponse = GetAssignedReposResponses[keyof GetAssignedReposResponses];
7265
+
7266
+ export type AssignRepoData = {
7267
+ body: AssignRepoRequest;
7268
+ path: {
7269
+ /**
7270
+ * Peer instance ID
7271
+ */
7272
+ id: string;
7273
+ };
7274
+ query?: never;
7275
+ url: '/api/v1/peers/{id}/repositories';
7276
+ };
7277
+
7278
+ export type AssignRepoErrors = {
7279
+ /**
7280
+ * Peer instance not found
7281
+ */
7282
+ 404: unknown;
7283
+ /**
7284
+ * Internal server error
7285
+ */
7286
+ 500: unknown;
7287
+ };
7288
+
7289
+ export type AssignRepoResponses = {
7290
+ /**
7291
+ * Repository assigned successfully
7292
+ */
7293
+ 200: unknown;
7294
+ };
7295
+
7296
+ export type UnassignRepoData = {
7297
+ body?: never;
7298
+ path: {
7299
+ /**
7300
+ * Peer instance ID
7301
+ */
7302
+ id: string;
7303
+ /**
7304
+ * Repository ID
7305
+ */
7306
+ repo_id: string;
7307
+ };
7308
+ query?: never;
7309
+ url: '/api/v1/peers/{id}/repositories/{repo_id}';
7310
+ };
7311
+
7312
+ export type UnassignRepoErrors = {
7313
+ /**
7314
+ * Peer instance or repository not found
7315
+ */
7316
+ 404: unknown;
7317
+ /**
7318
+ * Internal server error
7319
+ */
7320
+ 500: unknown;
7321
+ };
7322
+
7323
+ export type UnassignRepoResponses = {
7324
+ /**
7325
+ * Repository unassigned successfully
7326
+ */
7327
+ 200: unknown;
7328
+ };
7329
+
7330
+ export type TriggerSyncData = {
7331
+ body?: never;
7332
+ path: {
7333
+ /**
7334
+ * Peer instance ID
7335
+ */
7336
+ id: string;
7337
+ };
7338
+ query?: never;
7339
+ url: '/api/v1/peers/{id}/sync';
7340
+ };
7341
+
7342
+ export type TriggerSyncErrors = {
7343
+ /**
7344
+ * Peer instance not found
7345
+ */
7346
+ 404: unknown;
6493
7347
  /**
6494
7348
  * Internal server error
6495
7349
  */
@@ -7209,6 +8063,178 @@ export type ReloadPluginResponses = {
7209
8063
 
7210
8064
  export type ReloadPluginResponse = ReloadPluginResponses[keyof ReloadPluginResponses];
7211
8065
 
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
+
7212
8238
  export type PromoteArtifactData = {
7213
8239
  body: PromoteArtifactRequest;
7214
8240
  path: {
@@ -7242,91 +8268,538 @@ export type PromoteArtifactErrors = {
7242
8268
 
7243
8269
  export type PromoteArtifactError = PromoteArtifactErrors[keyof PromoteArtifactErrors];
7244
8270
 
7245
- export type PromoteArtifactResponses = {
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
8613
+ */
8614
+ id: string;
8615
+ };
8616
+ query?: never;
8617
+ url: '/api/v1/quality/gates/{id}';
8618
+ };
8619
+
8620
+ export type GetGateErrors = {
8621
+ /**
8622
+ * Quality gate not found
8623
+ */
8624
+ 404: ErrorResponse;
8625
+ };
8626
+
8627
+ export type GetGateError = GetGateErrors[keyof GetGateErrors];
8628
+
8629
+ export type GetGateResponses = {
8630
+ /**
8631
+ * Quality gate details
8632
+ */
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 = {
8651
+ /**
8652
+ * Quality gate not found
8653
+ */
8654
+ 404: ErrorResponse;
8655
+ };
8656
+
8657
+ export type UpdateGateError = UpdateGateErrors[keyof UpdateGateErrors];
8658
+
8659
+ export type UpdateGateResponses = {
8660
+ /**
8661
+ * Quality gate updated
8662
+ */
8663
+ 200: GateResponse;
8664
+ };
8665
+
8666
+ export type UpdateGateResponse = UpdateGateResponses[keyof UpdateGateResponses];
8667
+
8668
+ export type GetArtifactHealthData = {
8669
+ body?: never;
8670
+ path: {
8671
+ /**
8672
+ * Artifact ID
8673
+ */
8674
+ artifact_id: string;
8675
+ };
8676
+ query?: never;
8677
+ url: '/api/v1/quality/health/artifacts/{artifact_id}';
8678
+ };
8679
+
8680
+ export type GetArtifactHealthErrors = {
8681
+ /**
8682
+ * Artifact not found
8683
+ */
8684
+ 404: ErrorResponse;
8685
+ };
8686
+
8687
+ export type GetArtifactHealthError = GetArtifactHealthErrors[keyof GetArtifactHealthErrors];
8688
+
8689
+ export type GetArtifactHealthResponses = {
8690
+ /**
8691
+ * Artifact health score
8692
+ */
8693
+ 200: ArtifactHealthResponse;
8694
+ };
8695
+
8696
+ export type GetArtifactHealthResponse = GetArtifactHealthResponses[keyof GetArtifactHealthResponses];
8697
+
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 = {
7246
8706
  /**
7247
- * Artifact promotion result
8707
+ * Health dashboard summary
7248
8708
  */
7249
- 200: PromotionResponse;
8709
+ 200: HealthDashboardResponse;
7250
8710
  };
7251
8711
 
7252
- export type PromoteArtifactResponse = PromoteArtifactResponses[keyof PromoteArtifactResponses];
8712
+ export type GetHealthDashboardResponse = GetHealthDashboardResponses[keyof GetHealthDashboardResponses];
7253
8713
 
7254
- export type PromoteArtifactsBulkData = {
7255
- body: BulkPromoteRequest;
8714
+ export type GetRepoHealthData = {
8715
+ body?: never;
7256
8716
  path: {
7257
8717
  /**
7258
- * Source repository key
8718
+ * Repository key
7259
8719
  */
7260
8720
  key: string;
7261
8721
  };
7262
8722
  query?: never;
7263
- url: '/api/v1/promotion/repositories/{key}/promote';
8723
+ url: '/api/v1/quality/health/repositories/{key}';
7264
8724
  };
7265
8725
 
7266
- export type PromoteArtifactsBulkErrors = {
8726
+ export type GetRepoHealthErrors = {
7267
8727
  /**
7268
8728
  * Repository not found
7269
8729
  */
7270
8730
  404: ErrorResponse;
7271
- /**
7272
- * Validation error (repo type/format mismatch)
7273
- */
7274
- 422: ErrorResponse;
7275
8731
  };
7276
8732
 
7277
- export type PromoteArtifactsBulkError = PromoteArtifactsBulkErrors[keyof PromoteArtifactsBulkErrors];
8733
+ export type GetRepoHealthError = GetRepoHealthErrors[keyof GetRepoHealthErrors];
7278
8734
 
7279
- export type PromoteArtifactsBulkResponses = {
8735
+ export type GetRepoHealthResponses = {
7280
8736
  /**
7281
- * Bulk promotion results
8737
+ * Repository health score
7282
8738
  */
7283
- 200: BulkPromotionResponse;
8739
+ 200: RepoHealthResponse;
7284
8740
  };
7285
8741
 
7286
- export type PromoteArtifactsBulkResponse = PromoteArtifactsBulkResponses[keyof PromoteArtifactsBulkResponses];
8742
+ export type GetRepoHealthResponse = GetRepoHealthResponses[keyof GetRepoHealthResponses];
7287
8743
 
7288
- export type PromotionHistoryData = {
8744
+ export type UnsuppressIssueData = {
7289
8745
  body?: never;
7290
8746
  path: {
7291
8747
  /**
7292
- * Repository key
8748
+ * Issue ID
7293
8749
  */
7294
- key: string;
8750
+ id: string;
7295
8751
  };
7296
- query?: {
7297
- /**
7298
- * Page number (1-indexed)
7299
- */
7300
- page?: number;
7301
- /**
7302
- * Items per page (max 100)
7303
- */
7304
- per_page?: number;
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: {
7305
8777
  /**
7306
- * Filter by artifact ID
8778
+ * Issue ID
7307
8779
  */
7308
- artifact_id?: string;
8780
+ id: string;
7309
8781
  };
7310
- url: '/api/v1/promotion/repositories/{key}/promotion-history';
8782
+ query?: never;
8783
+ url: '/api/v1/quality/issues/{id}/suppress';
7311
8784
  };
7312
8785
 
7313
- export type PromotionHistoryErrors = {
8786
+ export type SuppressIssueErrors = {
7314
8787
  /**
7315
- * Repository not found
8788
+ * Issue not found
7316
8789
  */
7317
8790
  404: ErrorResponse;
7318
8791
  };
7319
8792
 
7320
- export type PromotionHistoryError = PromotionHistoryErrors[keyof PromotionHistoryErrors];
8793
+ export type SuppressIssueError = SuppressIssueErrors[keyof SuppressIssueErrors];
7321
8794
 
7322
- export type PromotionHistoryResponses = {
8795
+ export type SuppressIssueResponses = {
7323
8796
  /**
7324
- * Promotion history for repository
8797
+ * Issue suppressed
7325
8798
  */
7326
- 200: PromotionHistoryResponse;
8799
+ 200: IssueResponse;
7327
8800
  };
7328
8801
 
7329
- export type PromotionHistoryResponse2 = PromotionHistoryResponses[keyof PromotionHistoryResponses];
8802
+ export type SuppressIssueResponse = SuppressIssueResponses[keyof SuppressIssueResponses];
7330
8803
 
7331
8804
  export type ListRepositoriesData = {
7332
8805
  body?: never;
@@ -7456,6 +8929,10 @@ export type UpdateRepositoryErrors = {
7456
8929
  * Repository not found
7457
8930
  */
7458
8931
  404: unknown;
8932
+ /**
8933
+ * Repository key already exists
8934
+ */
8935
+ 409: unknown;
7459
8936
  };
7460
8937
 
7461
8938
  export type UpdateRepositoryResponses = {
@@ -7634,7 +9111,7 @@ export type DownloadArtifactResponses = {
7634
9111
 
7635
9112
  export type DownloadArtifactResponse = DownloadArtifactResponses[keyof DownloadArtifactResponses];
7636
9113
 
7637
- export type ListLabelsData = {
9114
+ export type ListRepoLabelsData = {
7638
9115
  body?: never;
7639
9116
  path: {
7640
9117
  /**
@@ -7646,23 +9123,23 @@ export type ListLabelsData = {
7646
9123
  url: '/api/v1/repositories/{key}/labels';
7647
9124
  };
7648
9125
 
7649
- export type ListLabelsErrors = {
9126
+ export type ListRepoLabelsErrors = {
7650
9127
  /**
7651
9128
  * Repository not found
7652
9129
  */
7653
9130
  404: unknown;
7654
9131
  };
7655
9132
 
7656
- export type ListLabelsResponses = {
9133
+ export type ListRepoLabelsResponses = {
7657
9134
  /**
7658
9135
  * Labels retrieved
7659
9136
  */
7660
9137
  200: LabelsListResponse;
7661
9138
  };
7662
9139
 
7663
- export type ListLabelsResponse = ListLabelsResponses[keyof ListLabelsResponses];
9140
+ export type ListRepoLabelsResponse = ListRepoLabelsResponses[keyof ListRepoLabelsResponses];
7664
9141
 
7665
- export type SetLabelsData = {
9142
+ export type SetRepoLabelsData = {
7666
9143
  body: SetLabelsRequest;
7667
9144
  path: {
7668
9145
  /**
@@ -7674,23 +9151,23 @@ export type SetLabelsData = {
7674
9151
  url: '/api/v1/repositories/{key}/labels';
7675
9152
  };
7676
9153
 
7677
- export type SetLabelsErrors = {
9154
+ export type SetRepoLabelsErrors = {
7678
9155
  /**
7679
9156
  * Repository not found
7680
9157
  */
7681
9158
  404: unknown;
7682
9159
  };
7683
9160
 
7684
- export type SetLabelsResponses = {
9161
+ export type SetRepoLabelsResponses = {
7685
9162
  /**
7686
9163
  * Labels updated
7687
9164
  */
7688
9165
  200: LabelsListResponse;
7689
9166
  };
7690
9167
 
7691
- export type SetLabelsResponse = SetLabelsResponses[keyof SetLabelsResponses];
9168
+ export type SetRepoLabelsResponse = SetRepoLabelsResponses[keyof SetRepoLabelsResponses];
7692
9169
 
7693
- export type DeleteLabelData = {
9170
+ export type DeleteRepoLabelData = {
7694
9171
  body?: never;
7695
9172
  path: {
7696
9173
  /**
@@ -7706,23 +9183,23 @@ export type DeleteLabelData = {
7706
9183
  url: '/api/v1/repositories/{key}/labels/{label_key}';
7707
9184
  };
7708
9185
 
7709
- export type DeleteLabelErrors = {
9186
+ export type DeleteRepoLabelErrors = {
7710
9187
  /**
7711
9188
  * Repository or label not found
7712
9189
  */
7713
9190
  404: unknown;
7714
9191
  };
7715
9192
 
7716
- export type DeleteLabelResponses = {
9193
+ export type DeleteRepoLabelResponses = {
7717
9194
  /**
7718
9195
  * Label removed
7719
9196
  */
7720
9197
  204: void;
7721
9198
  };
7722
9199
 
7723
- export type DeleteLabelResponse = DeleteLabelResponses[keyof DeleteLabelResponses];
9200
+ export type DeleteRepoLabelResponse = DeleteRepoLabelResponses[keyof DeleteRepoLabelResponses];
7724
9201
 
7725
- export type AddLabelData = {
9202
+ export type AddRepoLabelData = {
7726
9203
  body: AddLabelRequest;
7727
9204
  path: {
7728
9205
  /**
@@ -7738,21 +9215,21 @@ export type AddLabelData = {
7738
9215
  url: '/api/v1/repositories/{key}/labels/{label_key}';
7739
9216
  };
7740
9217
 
7741
- export type AddLabelErrors = {
9218
+ export type AddRepoLabelErrors = {
7742
9219
  /**
7743
9220
  * Repository not found
7744
9221
  */
7745
9222
  404: unknown;
7746
9223
  };
7747
9224
 
7748
- export type AddLabelResponses = {
9225
+ export type AddRepoLabelResponses = {
7749
9226
  /**
7750
9227
  * Label added/updated
7751
9228
  */
7752
9229
  200: LabelResponse;
7753
9230
  };
7754
9231
 
7755
- export type AddLabelResponse = AddLabelResponses[keyof AddLabelResponses];
9232
+ export type AddRepoLabelResponse = AddRepoLabelResponses[keyof AddRepoLabelResponses];
7756
9233
 
7757
9234
  export type ListVirtualMembersData = {
7758
9235
  body?: never;
@@ -9252,6 +10729,238 @@ export type GetRepoPublicKeyResponses = {
9252
10729
 
9253
10730
  export type GetRepoPublicKeyResponse = GetRepoPublicKeyResponses[keyof GetRepoPublicKeyResponses];
9254
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
+
9255
10964
  export type GetTreeData = {
9256
10965
  body?: never;
9257
10966
  path?: never;
@@ -9937,23 +11646,43 @@ export type HealthCheckResponses = {
9937
11646
 
9938
11647
  export type HealthCheckResponse = HealthCheckResponses[keyof HealthCheckResponses];
9939
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
+
9940
11665
  export type ReadinessCheckData = {
9941
11666
  body?: never;
9942
11667
  path?: never;
9943
11668
  query?: never;
9944
- url: '/ready';
11669
+ url: '/readyz';
9945
11670
  };
9946
11671
 
9947
11672
  export type ReadinessCheckErrors = {
9948
11673
  /**
9949
11674
  * Service is not ready
9950
11675
  */
9951
- 503: unknown;
11676
+ 503: ReadyzResponse;
9952
11677
  };
9953
11678
 
11679
+ export type ReadinessCheckError = ReadinessCheckErrors[keyof ReadinessCheckErrors];
11680
+
9954
11681
  export type ReadinessCheckResponses = {
9955
11682
  /**
9956
- * Service is ready to accept traffic
11683
+ * Service is ready
9957
11684
  */
9958
- 200: unknown;
11685
+ 200: ReadyzResponse;
9959
11686
  };
11687
+
11688
+ export type ReadinessCheckResponse = ReadinessCheckResponses[keyof ReadinessCheckResponses];