@artifact-keeper/sdk 1.1.0-rc.5 → 1.1.0

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
@@ -394,6 +394,16 @@ export type BulkPromotionResponse = {
394
394
  total: number;
395
395
  };
396
396
 
397
+ export type BulkStatusRequest = {
398
+ ids: Array<string>;
399
+ reason: string;
400
+ };
401
+
402
+ export type CacheTtlResponse = {
403
+ cache_ttl_seconds: number;
404
+ repository_key: string;
405
+ };
406
+
397
407
  export type ChangePasswordRequest = {
398
408
  current_password?: string | null;
399
409
  new_password: string;
@@ -481,6 +491,13 @@ export type ChunkManifestResponse = {
481
491
  session_id: string;
482
492
  };
483
493
 
494
+ export type ChunkResponse = {
495
+ bytes_received: number;
496
+ chunk_index: number;
497
+ chunks_completed: number;
498
+ chunks_remaining: number;
499
+ };
500
+
484
501
  export type CleanupRequest = {
485
502
  cleanup_audit_logs?: boolean | null;
486
503
  cleanup_old_backups?: boolean | null;
@@ -500,6 +517,13 @@ export type CompleteChunkBody = {
500
517
  source_peer_id?: string | null;
501
518
  };
502
519
 
520
+ export type CompleteResponse = {
521
+ artifact_id: string;
522
+ checksum_sha256: string;
523
+ path: string;
524
+ size: number;
525
+ };
526
+
503
527
  export type ComponentResponse = {
504
528
  author?: string | null;
505
529
  component_type?: string | null;
@@ -725,12 +749,42 @@ export type CreateRepositoryRequest = {
725
749
  * Custom format key for WASM plugin format handlers (e.g. "rpm-custom").
726
750
  */
727
751
  format_key?: string | null;
752
+ /**
753
+ * Separate index host for Cargo registries that split index and download
754
+ * across two hosts (e.g. crates.io uses `https://index.crates.io` for
755
+ * the sparse index but `https://crates.io` for tarball downloads).
756
+ * Stored in `repository_config` under the key `index_upstream_url`.
757
+ */
758
+ index_upstream_url?: string | null;
728
759
  is_public?: boolean | null;
729
760
  key: string;
761
+ /**
762
+ * Member repositories to add when creating a virtual repository.
763
+ * Each entry specifies a repository key and optional priority.
764
+ */
765
+ member_repos?: Array<CreateVirtualMemberInput> | null;
730
766
  name: string;
731
767
  quota_bytes?: number | null;
732
768
  repo_type: string;
769
+ /**
770
+ * Override the default storage backend for this repository.
771
+ * When omitted, the server's configured default is used.
772
+ * Non-admin users may only use the default backend.
773
+ */
774
+ storage_backend?: string | null;
775
+ /**
776
+ * Upstream auth type: "basic" or "bearer". Only valid for remote repos.
777
+ */
778
+ upstream_auth_type?: string | null;
779
+ /**
780
+ * Password (basic) or token (bearer). Write-only, never returned in responses.
781
+ */
782
+ upstream_password?: string | null;
733
783
  upstream_url?: string | null;
784
+ /**
785
+ * Username for basic auth.
786
+ */
787
+ upstream_username?: string | null;
734
788
  };
735
789
 
736
790
  export type CreateRuleRequest = {
@@ -775,6 +829,40 @@ export type CreateServiceAccountRequest = {
775
829
  name: string;
776
830
  };
777
831
 
832
+ export type CreateSessionRequest = {
833
+ /**
834
+ * Path within the repository (e.g. "images/vm.ova")
835
+ */
836
+ artifact_path: string;
837
+ /**
838
+ * Expected SHA256 checksum of the complete file
839
+ */
840
+ checksum_sha256: string;
841
+ /**
842
+ * Chunk size in bytes (default 8 MB, range 1 MB - 256 MB)
843
+ */
844
+ chunk_size?: number | null;
845
+ /**
846
+ * MIME content type (default "application/octet-stream")
847
+ */
848
+ content_type?: string | null;
849
+ /**
850
+ * Repository key (e.g. "my-repo")
851
+ */
852
+ repository_key: string;
853
+ /**
854
+ * Total file size in bytes
855
+ */
856
+ total_size: number;
857
+ };
858
+
859
+ export type CreateSessionResponse = {
860
+ chunk_count: number;
861
+ chunk_size: number;
862
+ expires_at: string;
863
+ session_id: string;
864
+ };
865
+
778
866
  export type CreateSyncPolicyPayload = {
779
867
  artifact_filter?: {
780
868
  [key: string]: unknown;
@@ -837,6 +925,11 @@ export type CreateUserResponse = {
837
925
  user: AdminUserResponse;
838
926
  };
839
927
 
928
+ export type CreateVirtualMemberInput = {
929
+ priority?: number;
930
+ repo_key: string;
931
+ };
932
+
840
933
  export type CreateWebhookRequest = {
841
934
  events: Array<string>;
842
935
  headers?: {
@@ -1404,6 +1497,7 @@ export type GrowthSummary = {
1404
1497
 
1405
1498
  export type HealthChecks = {
1406
1499
  database: CheckStatus;
1500
+ ldap?: null | CheckStatus;
1407
1501
  meilisearch?: null | CheckStatus;
1408
1502
  security_scanner?: null | CheckStatus;
1409
1503
  storage: CheckStatus;
@@ -1423,8 +1517,10 @@ export type HealthDashboardResponse = {
1423
1517
 
1424
1518
  export type HealthResponse = {
1425
1519
  checks: HealthChecks;
1520
+ commit?: string | null;
1426
1521
  db_pool?: null | DbPoolStats;
1427
1522
  demo_mode: boolean;
1523
+ dirty?: boolean | null;
1428
1524
  status: string;
1429
1525
  version: string;
1430
1526
  };
@@ -1435,7 +1531,6 @@ export type HeartbeatRequest = {
1435
1531
  };
1436
1532
 
1437
1533
  export type IdentityResponse = {
1438
- api_key: string;
1439
1534
  endpoint_url: string;
1440
1535
  name: string;
1441
1536
  peer_id: string;
@@ -1573,6 +1668,7 @@ export type LifecyclePolicy = {
1573
1668
  [key: string]: unknown;
1574
1669
  };
1575
1670
  created_at: string;
1671
+ cron_schedule?: string | null;
1576
1672
  description?: string | null;
1577
1673
  enabled: boolean;
1578
1674
  id: string;
@@ -1829,6 +1925,13 @@ export type OidcConfigResponse = {
1829
1925
  updated_at: string;
1830
1926
  };
1831
1927
 
1928
+ export type PackageListQuery = {
1929
+ limit?: number;
1930
+ offset?: number;
1931
+ staging_repo_id: string;
1932
+ status?: string | null;
1933
+ };
1934
+
1832
1935
  export type PackageListResponse = {
1833
1936
  items: Array<PackageResponse>;
1834
1937
  pagination: Pagination;
@@ -2223,6 +2326,11 @@ export type QuickSearchResponse = {
2223
2326
  results: Array<SearchResultItem>;
2224
2327
  };
2225
2328
 
2329
+ export type ReEvaluateRequest = {
2330
+ default_action: string;
2331
+ staging_repo_id: string;
2332
+ };
2333
+
2226
2334
  export type ReadyzChecks = {
2227
2335
  database: CheckStatus;
2228
2336
  migrations: CheckStatus;
@@ -2252,10 +2360,12 @@ export type RegisterPeerRequest = {
2252
2360
  };
2253
2361
  };
2254
2362
 
2363
+ /**
2364
+ * Response returned when a reindex is triggered.
2365
+ */
2255
2366
  export type ReindexResponse = {
2256
- artifacts_indexed: number;
2257
2367
  message: string;
2258
- repositories_indexed: number;
2368
+ status: string;
2259
2369
  };
2260
2370
 
2261
2371
  export type RejectArtifactRequest = {
@@ -2334,6 +2444,9 @@ export type RepositoryResponse = {
2334
2444
  repo_type: string;
2335
2445
  storage_used_bytes: number;
2336
2446
  updated_at: string;
2447
+ upstream_auth_configured: boolean;
2448
+ upstream_auth_type?: string | null;
2449
+ upstream_url?: string | null;
2337
2450
  };
2338
2451
 
2339
2452
  /**
@@ -2421,6 +2534,21 @@ export type RuleEvaluationResponse = {
2421
2534
  violations: Array<string>;
2422
2535
  };
2423
2536
 
2537
+ export type RuleResponse = {
2538
+ action: string;
2539
+ architecture: string;
2540
+ created_at: string;
2541
+ created_by?: string | null;
2542
+ enabled: boolean;
2543
+ id: string;
2544
+ package_pattern: string;
2545
+ priority: number;
2546
+ reason: string;
2547
+ staging_repo_id?: string | null;
2548
+ updated_at: string;
2549
+ version_constraint: string;
2550
+ };
2551
+
2424
2552
  export type SamlAcsForm = {
2425
2553
  RelayState?: string | null;
2426
2554
  SAMLResponse: string;
@@ -2583,10 +2711,27 @@ export type ServiceHealthEntry = {
2583
2711
  status: string;
2584
2712
  };
2585
2713
 
2714
+ export type SessionStatusResponse = {
2715
+ artifact_path: string;
2716
+ bytes_received: number;
2717
+ chunks_completed: number;
2718
+ chunks_total: number;
2719
+ created_at: string;
2720
+ expires_at: string;
2721
+ repository_key: string;
2722
+ session_id: string;
2723
+ status: string;
2724
+ total_size: number;
2725
+ };
2726
+
2586
2727
  export type SetArtifactLabelsRequest = {
2587
2728
  labels: Array<ArtifactLabelEntrySchema>;
2588
2729
  };
2589
2730
 
2731
+ export type SetCacheTtlRequest = {
2732
+ cache_ttl_seconds: number;
2733
+ };
2734
+
2590
2735
  export type SetLabelsRequest = {
2591
2736
  labels: Array<LabelEntrySchema>;
2592
2737
  };
@@ -2681,6 +2826,20 @@ export type StaleQuery = {
2681
2826
  limit?: number | null;
2682
2827
  };
2683
2828
 
2829
+ export type StatsQuery = {
2830
+ staging_repo_id: string;
2831
+ };
2832
+
2833
+ export type StatsResponse = {
2834
+ counts: Array<StatusCount>;
2835
+ staging_repo_id: string;
2836
+ };
2837
+
2838
+ export type StatusCount = {
2839
+ count: number;
2840
+ status: string;
2841
+ };
2842
+
2684
2843
  /**
2685
2844
  * Request body for storage GC.
2686
2845
  */
@@ -2776,6 +2935,8 @@ export type SystemSettings = {
2776
2935
  edge_stale_threshold_minutes: number;
2777
2936
  max_upload_size_bytes: number;
2778
2937
  retention_days: number;
2938
+ storage_backend: string;
2939
+ storage_path: string;
2779
2940
  };
2780
2941
 
2781
2942
  export type SystemStats = {
@@ -3062,6 +3223,11 @@ export type UpdatePolicyRequest = {
3062
3223
 
3063
3224
  export type UpdateRepositoryRequest = {
3064
3225
  description?: string | null;
3226
+ /**
3227
+ * Update the Cargo index upstream URL (stored in `repository_config`).
3228
+ * When provided, upserts the `index_upstream_url` key for this repository.
3229
+ */
3230
+ index_upstream_url?: string | null;
3065
3231
  is_public?: boolean | null;
3066
3232
  key?: string | null;
3067
3233
  name?: string | null;
@@ -3160,6 +3326,21 @@ export type UpsertScanConfigRequest = {
3160
3326
  severity_threshold: string;
3161
3327
  };
3162
3328
 
3329
+ export type UpstreamAuthRequest = {
3330
+ /**
3331
+ * Auth type: "basic", "bearer", or "none" to remove.
3332
+ */
3333
+ auth_type: string;
3334
+ /**
3335
+ * Password (basic) or token (bearer). Write-only, never returned.
3336
+ */
3337
+ password?: string | null;
3338
+ /**
3339
+ * Username for basic auth.
3340
+ */
3341
+ username?: string | null;
3342
+ };
3343
+
3163
3344
  export type UserListResponse = {
3164
3345
  items: Array<AdminUserResponse>;
3165
3346
  pagination: Pagination;
@@ -3190,7 +3371,7 @@ export type VirtualMemberResponse = {
3190
3371
  };
3191
3372
 
3192
3373
  export type VirtualMembersListResponse = {
3193
- items: Array<VirtualMemberResponse>;
3374
+ members: Array<VirtualMemberResponse>;
3194
3375
  };
3195
3376
 
3196
3377
  /**
@@ -3866,6 +4047,29 @@ export type TriggerReindexResponses = {
3866
4047
 
3867
4048
  export type TriggerReindexResponse = TriggerReindexResponses[keyof TriggerReindexResponses];
3868
4049
 
4050
+ export type TriggerSearchReindexData = {
4051
+ body?: never;
4052
+ path?: never;
4053
+ query?: never;
4054
+ url: '/api/v1/admin/search/reindex';
4055
+ };
4056
+
4057
+ export type TriggerSearchReindexErrors = {
4058
+ /**
4059
+ * Meilisearch is not configured
4060
+ */
4061
+ 500: unknown;
4062
+ };
4063
+
4064
+ export type TriggerSearchReindexResponses = {
4065
+ /**
4066
+ * Reindex started in background
4067
+ */
4068
+ 200: ReindexResponse;
4069
+ };
4070
+
4071
+ export type TriggerSearchReindexResponse = TriggerSearchReindexResponses[keyof TriggerSearchReindexResponses];
4072
+
3869
4073
  export type GetSettingsData = {
3870
4074
  body?: never;
3871
4075
  path?: never;
@@ -4540,6 +4744,29 @@ export type GetSystemStatsResponses = {
4540
4744
 
4541
4745
  export type GetSystemStatsResponse = GetSystemStatsResponses[keyof GetSystemStatsResponses];
4542
4746
 
4747
+ export type ListStorageBackendsData = {
4748
+ body?: never;
4749
+ path?: never;
4750
+ query?: never;
4751
+ url: '/api/v1/admin/storage-backends';
4752
+ };
4753
+
4754
+ export type ListStorageBackendsErrors = {
4755
+ /**
4756
+ * Admin privileges required
4757
+ */
4758
+ 403: unknown;
4759
+ };
4760
+
4761
+ export type ListStorageBackendsResponses = {
4762
+ /**
4763
+ * Available storage backends
4764
+ */
4765
+ 200: Array<string>;
4766
+ };
4767
+
4768
+ export type ListStorageBackendsResponse = ListStorageBackendsResponses[keyof ListStorageBackendsResponses];
4769
+
4543
4770
  export type RunStorageGcData = {
4544
4771
  body: StorageGcRequest;
4545
4772
  path?: never;
@@ -5680,179 +5907,372 @@ export type AddBuildArtifactsResponses = {
5680
5907
 
5681
5908
  export type AddBuildArtifactsResponse2 = AddBuildArtifactsResponses[keyof AddBuildArtifactsResponses];
5682
5909
 
5683
- export type UpdateAnalysisData = {
5684
- body: UpdateAnalysisBody;
5910
+ export type ListCurationPackagesData = {
5911
+ body?: never;
5685
5912
  path?: never;
5686
- query?: never;
5687
- url: '/api/v1/dependency-track/analysis';
5913
+ query: {
5914
+ staging_repo_id: string;
5915
+ status?: string | null;
5916
+ limit?: number;
5917
+ offset?: number;
5918
+ };
5919
+ url: '/api/v1/curation/packages';
5688
5920
  };
5689
5921
 
5690
- export type UpdateAnalysisResponses = {
5691
- /**
5692
- * Updated analysis
5693
- */
5694
- 200: DtAnalysisResponse;
5922
+ export type ListCurationPackagesResponses = {
5923
+ 200: Array<PackageResponse>;
5695
5924
  };
5696
5925
 
5697
- export type UpdateAnalysisResponse = UpdateAnalysisResponses[keyof UpdateAnalysisResponses];
5926
+ export type ListCurationPackagesResponse = ListCurationPackagesResponses[keyof ListCurationPackagesResponses];
5698
5927
 
5699
- export type GetPortfolioMetricsData = {
5700
- body?: never;
5928
+ export type BulkApproveData = {
5929
+ body: BulkStatusRequest;
5701
5930
  path?: never;
5702
5931
  query?: never;
5703
- url: '/api/v1/dependency-track/metrics/portfolio';
5932
+ url: '/api/v1/curation/packages/bulk-approve';
5704
5933
  };
5705
5934
 
5706
- export type GetPortfolioMetricsResponses = {
5707
- /**
5708
- * Portfolio metrics
5709
- */
5710
- 200: DtPortfolioMetrics;
5935
+ export type BulkApproveResponses = {
5936
+ 200: number;
5711
5937
  };
5712
5938
 
5713
- export type GetPortfolioMetricsResponse = GetPortfolioMetricsResponses[keyof GetPortfolioMetricsResponses];
5939
+ export type BulkApproveResponse = BulkApproveResponses[keyof BulkApproveResponses];
5714
5940
 
5715
- export type ListDependencyTrackPoliciesData = {
5716
- body?: never;
5941
+ export type BulkBlockData = {
5942
+ body: BulkStatusRequest;
5717
5943
  path?: never;
5718
5944
  query?: never;
5719
- url: '/api/v1/dependency-track/policies';
5945
+ url: '/api/v1/curation/packages/bulk-block';
5720
5946
  };
5721
5947
 
5722
- export type ListDependencyTrackPoliciesResponses = {
5723
- /**
5724
- * List of policies
5725
- */
5726
- 200: Array<DtPolicyFull>;
5948
+ export type BulkBlockResponses = {
5949
+ 200: number;
5727
5950
  };
5728
5951
 
5729
- export type ListDependencyTrackPoliciesResponse = ListDependencyTrackPoliciesResponses[keyof ListDependencyTrackPoliciesResponses];
5952
+ export type BulkBlockResponse = BulkBlockResponses[keyof BulkBlockResponses];
5730
5953
 
5731
- export type ListProjectsData = {
5732
- body?: never;
5954
+ export type ReEvaluateData = {
5955
+ body: ReEvaluateRequest;
5733
5956
  path?: never;
5734
5957
  query?: never;
5735
- url: '/api/v1/dependency-track/projects';
5958
+ url: '/api/v1/curation/packages/re-evaluate';
5736
5959
  };
5737
5960
 
5738
- export type ListProjectsResponses = {
5739
- /**
5740
- * List of projects
5741
- */
5742
- 200: Array<DtProject>;
5961
+ export type ReEvaluateResponses = {
5962
+ 200: number;
5743
5963
  };
5744
5964
 
5745
- export type ListProjectsResponse = ListProjectsResponses[keyof ListProjectsResponses];
5965
+ export type ReEvaluateResponse = ReEvaluateResponses[keyof ReEvaluateResponses];
5746
5966
 
5747
- export type GetProjectData = {
5967
+ export type GetCurationPackageData = {
5748
5968
  body?: never;
5749
5969
  path: {
5750
5970
  /**
5751
- * Project UUID
5971
+ * Package ID
5752
5972
  */
5753
- project_uuid: string;
5973
+ id: string;
5754
5974
  };
5755
5975
  query?: never;
5756
- url: '/api/v1/dependency-track/projects/{project_uuid}';
5976
+ url: '/api/v1/curation/packages/{id}';
5757
5977
  };
5758
5978
 
5759
- export type GetProjectResponses = {
5760
- /**
5761
- * Project findings
5762
- */
5763
- 200: Array<DtFinding>;
5979
+ export type GetCurationPackageResponses = {
5980
+ 200: PackageResponse;
5764
5981
  };
5765
5982
 
5766
- export type GetProjectResponse = GetProjectResponses[keyof GetProjectResponses];
5983
+ export type GetCurationPackageResponse = GetCurationPackageResponses[keyof GetCurationPackageResponses];
5767
5984
 
5768
- export type GetProjectComponentsData = {
5985
+ export type ApprovePackageData = {
5769
5986
  body?: never;
5770
5987
  path: {
5771
5988
  /**
5772
- * Project UUID
5989
+ * Package ID
5773
5990
  */
5774
- project_uuid: string;
5991
+ id: string;
5775
5992
  };
5776
5993
  query?: never;
5777
- url: '/api/v1/dependency-track/projects/{project_uuid}/components';
5994
+ url: '/api/v1/curation/packages/{id}/approve';
5778
5995
  };
5779
5996
 
5780
- export type GetProjectComponentsResponses = {
5781
- /**
5782
- * Project components
5783
- */
5784
- 200: Array<DtComponentFull>;
5997
+ export type ApprovePackageResponses = {
5998
+ 200: PackageResponse;
5785
5999
  };
5786
6000
 
5787
- export type GetProjectComponentsResponse = GetProjectComponentsResponses[keyof GetProjectComponentsResponses];
6001
+ export type ApprovePackageResponse = ApprovePackageResponses[keyof ApprovePackageResponses];
5788
6002
 
5789
- export type GetProjectFindingsData = {
6003
+ export type BlockPackageData = {
5790
6004
  body?: never;
5791
6005
  path: {
5792
6006
  /**
5793
- * Project UUID
6007
+ * Package ID
5794
6008
  */
5795
- project_uuid: string;
6009
+ id: string;
5796
6010
  };
5797
6011
  query?: never;
5798
- url: '/api/v1/dependency-track/projects/{project_uuid}/findings';
6012
+ url: '/api/v1/curation/packages/{id}/block';
5799
6013
  };
5800
6014
 
5801
- export type GetProjectFindingsResponses = {
5802
- /**
5803
- * Project vulnerability findings
5804
- */
5805
- 200: Array<DtFinding>;
6015
+ export type BlockPackageResponses = {
6016
+ 200: PackageResponse;
5806
6017
  };
5807
6018
 
5808
- export type GetProjectFindingsResponse = GetProjectFindingsResponses[keyof GetProjectFindingsResponses];
6019
+ export type BlockPackageResponse = BlockPackageResponses[keyof BlockPackageResponses];
5809
6020
 
5810
- export type GetProjectMetricsData = {
6021
+ export type ListCurationRulesData = {
5811
6022
  body?: never;
5812
- path: {
6023
+ path?: never;
6024
+ query?: {
5813
6025
  /**
5814
- * Project UUID
6026
+ * Filter by staging repo
5815
6027
  */
5816
- project_uuid: string;
6028
+ staging_repo_id?: string;
5817
6029
  };
6030
+ url: '/api/v1/curation/rules';
6031
+ };
6032
+
6033
+ export type ListCurationRulesResponses = {
6034
+ 200: Array<RuleResponse>;
6035
+ };
6036
+
6037
+ export type ListCurationRulesResponse = ListCurationRulesResponses[keyof ListCurationRulesResponses];
6038
+
6039
+ export type CreateCurationRuleData = {
6040
+ body: CreateRuleRequest;
6041
+ path?: never;
5818
6042
  query?: never;
5819
- url: '/api/v1/dependency-track/projects/{project_uuid}/metrics';
6043
+ url: '/api/v1/curation/rules';
5820
6044
  };
5821
6045
 
5822
- export type GetProjectMetricsResponses = {
5823
- /**
5824
- * Project metrics
5825
- */
5826
- 200: DtProjectMetrics;
6046
+ export type CreateCurationRuleResponses = {
6047
+ 201: RuleResponse;
5827
6048
  };
5828
6049
 
5829
- export type GetProjectMetricsResponse = GetProjectMetricsResponses[keyof GetProjectMetricsResponses];
6050
+ export type CreateCurationRuleResponse = CreateCurationRuleResponses[keyof CreateCurationRuleResponses];
5830
6051
 
5831
- export type GetProjectMetricsHistoryData = {
6052
+ export type DeleteCurationRuleData = {
5832
6053
  body?: never;
5833
6054
  path: {
5834
6055
  /**
5835
- * Project UUID
6056
+ * Rule ID
5836
6057
  */
5837
- project_uuid: string;
5838
- };
5839
- query?: {
5840
- days?: number;
6058
+ id: string;
5841
6059
  };
5842
- url: '/api/v1/dependency-track/projects/{project_uuid}/metrics/history';
6060
+ query?: never;
6061
+ url: '/api/v1/curation/rules/{id}';
5843
6062
  };
5844
6063
 
5845
- export type GetProjectMetricsHistoryResponses = {
5846
- /**
5847
- * Project metrics history
5848
- */
5849
- 200: Array<DtProjectMetrics>;
6064
+ export type DeleteCurationRuleResponses = {
6065
+ 204: void;
5850
6066
  };
5851
6067
 
5852
- export type GetProjectMetricsHistoryResponse = GetProjectMetricsHistoryResponses[keyof GetProjectMetricsHistoryResponses];
6068
+ export type DeleteCurationRuleResponse = DeleteCurationRuleResponses[keyof DeleteCurationRuleResponses];
5853
6069
 
5854
- export type GetProjectViolationsData = {
5855
- body?: never;
6070
+ export type UpdateCurationRuleData = {
6071
+ body: UpdateRuleRequest;
6072
+ path: {
6073
+ /**
6074
+ * Rule ID
6075
+ */
6076
+ id: string;
6077
+ };
6078
+ query?: never;
6079
+ url: '/api/v1/curation/rules/{id}';
6080
+ };
6081
+
6082
+ export type UpdateCurationRuleResponses = {
6083
+ 200: RuleResponse;
6084
+ };
6085
+
6086
+ export type UpdateCurationRuleResponse = UpdateCurationRuleResponses[keyof UpdateCurationRuleResponses];
6087
+
6088
+ export type StatsData = {
6089
+ body?: never;
6090
+ path?: never;
6091
+ query: {
6092
+ staging_repo_id: string;
6093
+ };
6094
+ url: '/api/v1/curation/stats';
6095
+ };
6096
+
6097
+ export type StatsResponses = {
6098
+ 200: StatsResponse;
6099
+ };
6100
+
6101
+ export type StatsResponse2 = StatsResponses[keyof StatsResponses];
6102
+
6103
+ export type UpdateAnalysisData = {
6104
+ body: UpdateAnalysisBody;
6105
+ path?: never;
6106
+ query?: never;
6107
+ url: '/api/v1/dependency-track/analysis';
6108
+ };
6109
+
6110
+ export type UpdateAnalysisResponses = {
6111
+ /**
6112
+ * Updated analysis
6113
+ */
6114
+ 200: DtAnalysisResponse;
6115
+ };
6116
+
6117
+ export type UpdateAnalysisResponse = UpdateAnalysisResponses[keyof UpdateAnalysisResponses];
6118
+
6119
+ export type GetPortfolioMetricsData = {
6120
+ body?: never;
6121
+ path?: never;
6122
+ query?: never;
6123
+ url: '/api/v1/dependency-track/metrics/portfolio';
6124
+ };
6125
+
6126
+ export type GetPortfolioMetricsResponses = {
6127
+ /**
6128
+ * Portfolio metrics
6129
+ */
6130
+ 200: DtPortfolioMetrics;
6131
+ };
6132
+
6133
+ export type GetPortfolioMetricsResponse = GetPortfolioMetricsResponses[keyof GetPortfolioMetricsResponses];
6134
+
6135
+ export type ListDependencyTrackPoliciesData = {
6136
+ body?: never;
6137
+ path?: never;
6138
+ query?: never;
6139
+ url: '/api/v1/dependency-track/policies';
6140
+ };
6141
+
6142
+ export type ListDependencyTrackPoliciesResponses = {
6143
+ /**
6144
+ * List of policies
6145
+ */
6146
+ 200: Array<DtPolicyFull>;
6147
+ };
6148
+
6149
+ export type ListDependencyTrackPoliciesResponse = ListDependencyTrackPoliciesResponses[keyof ListDependencyTrackPoliciesResponses];
6150
+
6151
+ export type ListProjectsData = {
6152
+ body?: never;
6153
+ path?: never;
6154
+ query?: never;
6155
+ url: '/api/v1/dependency-track/projects';
6156
+ };
6157
+
6158
+ export type ListProjectsResponses = {
6159
+ /**
6160
+ * List of projects
6161
+ */
6162
+ 200: Array<DtProject>;
6163
+ };
6164
+
6165
+ export type ListProjectsResponse = ListProjectsResponses[keyof ListProjectsResponses];
6166
+
6167
+ export type GetProjectData = {
6168
+ body?: never;
6169
+ path: {
6170
+ /**
6171
+ * Project UUID
6172
+ */
6173
+ project_uuid: string;
6174
+ };
6175
+ query?: never;
6176
+ url: '/api/v1/dependency-track/projects/{project_uuid}';
6177
+ };
6178
+
6179
+ export type GetProjectResponses = {
6180
+ /**
6181
+ * Project findings
6182
+ */
6183
+ 200: Array<DtFinding>;
6184
+ };
6185
+
6186
+ export type GetProjectResponse = GetProjectResponses[keyof GetProjectResponses];
6187
+
6188
+ export type GetProjectComponentsData = {
6189
+ body?: never;
6190
+ path: {
6191
+ /**
6192
+ * Project UUID
6193
+ */
6194
+ project_uuid: string;
6195
+ };
6196
+ query?: never;
6197
+ url: '/api/v1/dependency-track/projects/{project_uuid}/components';
6198
+ };
6199
+
6200
+ export type GetProjectComponentsResponses = {
6201
+ /**
6202
+ * Project components
6203
+ */
6204
+ 200: Array<DtComponentFull>;
6205
+ };
6206
+
6207
+ export type GetProjectComponentsResponse = GetProjectComponentsResponses[keyof GetProjectComponentsResponses];
6208
+
6209
+ export type GetProjectFindingsData = {
6210
+ body?: never;
6211
+ path: {
6212
+ /**
6213
+ * Project UUID
6214
+ */
6215
+ project_uuid: string;
6216
+ };
6217
+ query?: never;
6218
+ url: '/api/v1/dependency-track/projects/{project_uuid}/findings';
6219
+ };
6220
+
6221
+ export type GetProjectFindingsResponses = {
6222
+ /**
6223
+ * Project vulnerability findings
6224
+ */
6225
+ 200: Array<DtFinding>;
6226
+ };
6227
+
6228
+ export type GetProjectFindingsResponse = GetProjectFindingsResponses[keyof GetProjectFindingsResponses];
6229
+
6230
+ export type GetProjectMetricsData = {
6231
+ body?: never;
6232
+ path: {
6233
+ /**
6234
+ * Project UUID
6235
+ */
6236
+ project_uuid: string;
6237
+ };
6238
+ query?: never;
6239
+ url: '/api/v1/dependency-track/projects/{project_uuid}/metrics';
6240
+ };
6241
+
6242
+ export type GetProjectMetricsResponses = {
6243
+ /**
6244
+ * Project metrics
6245
+ */
6246
+ 200: DtProjectMetrics;
6247
+ };
6248
+
6249
+ export type GetProjectMetricsResponse = GetProjectMetricsResponses[keyof GetProjectMetricsResponses];
6250
+
6251
+ export type GetProjectMetricsHistoryData = {
6252
+ body?: never;
6253
+ path: {
6254
+ /**
6255
+ * Project UUID
6256
+ */
6257
+ project_uuid: string;
6258
+ };
6259
+ query?: {
6260
+ days?: number;
6261
+ };
6262
+ url: '/api/v1/dependency-track/projects/{project_uuid}/metrics/history';
6263
+ };
6264
+
6265
+ export type GetProjectMetricsHistoryResponses = {
6266
+ /**
6267
+ * Project metrics history
6268
+ */
6269
+ 200: Array<DtProjectMetrics>;
6270
+ };
6271
+
6272
+ export type GetProjectMetricsHistoryResponse = GetProjectMetricsHistoryResponses[keyof GetProjectMetricsHistoryResponses];
6273
+
6274
+ export type GetProjectViolationsData = {
6275
+ body?: never;
5856
6276
  path: {
5857
6277
  /**
5858
6278
  * Project UUID
@@ -9408,6 +9828,70 @@ export type UploadArtifactResponses = {
9408
9828
 
9409
9829
  export type UploadArtifactResponse = UploadArtifactResponses[keyof UploadArtifactResponses];
9410
9830
 
9831
+ export type GetCacheTtlData = {
9832
+ body?: never;
9833
+ path: {
9834
+ /**
9835
+ * Repository key
9836
+ */
9837
+ key: string;
9838
+ };
9839
+ query?: never;
9840
+ url: '/api/v1/repositories/{key}/cache-ttl';
9841
+ };
9842
+
9843
+ export type GetCacheTtlErrors = {
9844
+ /**
9845
+ * Repository not found
9846
+ */
9847
+ 404: unknown;
9848
+ };
9849
+
9850
+ export type GetCacheTtlResponses = {
9851
+ /**
9852
+ * Current cache TTL
9853
+ */
9854
+ 200: CacheTtlResponse;
9855
+ };
9856
+
9857
+ export type GetCacheTtlResponse = GetCacheTtlResponses[keyof GetCacheTtlResponses];
9858
+
9859
+ export type SetCacheTtlData = {
9860
+ body: SetCacheTtlRequest;
9861
+ path: {
9862
+ /**
9863
+ * Repository key
9864
+ */
9865
+ key: string;
9866
+ };
9867
+ query?: never;
9868
+ url: '/api/v1/repositories/{key}/cache-ttl';
9869
+ };
9870
+
9871
+ export type SetCacheTtlErrors = {
9872
+ /**
9873
+ * Invalid TTL value
9874
+ */
9875
+ 400: unknown;
9876
+ /**
9877
+ * Authentication required
9878
+ */
9879
+ 401: unknown;
9880
+ /**
9881
+ * Repository not found
9882
+ */
9883
+ 404: unknown;
9884
+ };
9885
+
9886
+ export type SetCacheTtlResponses = {
9887
+ /**
9888
+ * Cache TTL updated
9889
+ */
9890
+ 200: CacheTtlResponse;
9891
+ };
9892
+
9893
+ export type SetCacheTtlResponse = SetCacheTtlResponses[keyof SetCacheTtlResponses];
9894
+
9411
9895
  export type DownloadArtifactData = {
9412
9896
  body?: never;
9413
9897
  path: {
@@ -9794,6 +10278,78 @@ export type ListRepoScansResponses = {
9794
10278
 
9795
10279
  export type ListRepoScansResponse = ListRepoScansResponses[keyof ListRepoScansResponses];
9796
10280
 
10281
+ export type TestUpstreamData = {
10282
+ body?: never;
10283
+ path: {
10284
+ /**
10285
+ * Repository key
10286
+ */
10287
+ key: string;
10288
+ };
10289
+ query?: never;
10290
+ url: '/api/v1/repositories/{key}/test-upstream';
10291
+ };
10292
+
10293
+ export type TestUpstreamErrors = {
10294
+ /**
10295
+ * Repository is not remote or has no upstream URL
10296
+ */
10297
+ 400: unknown;
10298
+ /**
10299
+ * Authentication required
10300
+ */
10301
+ 401: unknown;
10302
+ /**
10303
+ * Repository not found
10304
+ */
10305
+ 404: unknown;
10306
+ /**
10307
+ * Upstream unreachable
10308
+ */
10309
+ 502: unknown;
10310
+ };
10311
+
10312
+ export type TestUpstreamResponses = {
10313
+ /**
10314
+ * Upstream reachable
10315
+ */
10316
+ 200: unknown;
10317
+ };
10318
+
10319
+ export type SetUpstreamAuthData = {
10320
+ body: UpstreamAuthRequest;
10321
+ path: {
10322
+ /**
10323
+ * Repository key
10324
+ */
10325
+ key: string;
10326
+ };
10327
+ query?: never;
10328
+ url: '/api/v1/repositories/{key}/upstream-auth';
10329
+ };
10330
+
10331
+ export type SetUpstreamAuthErrors = {
10332
+ /**
10333
+ * Invalid auth type or missing fields
10334
+ */
10335
+ 400: unknown;
10336
+ /**
10337
+ * Authentication required
10338
+ */
10339
+ 401: unknown;
10340
+ /**
10341
+ * Repository not found
10342
+ */
10343
+ 404: unknown;
10344
+ };
10345
+
10346
+ export type SetUpstreamAuthResponses = {
10347
+ /**
10348
+ * Upstream auth updated
10349
+ */
10350
+ 200: unknown;
10351
+ };
10352
+
9797
10353
  export type ListSbomsData = {
9798
10354
  body?: never;
9799
10355
  path?: never;
@@ -11581,6 +12137,229 @@ export type GetTreeResponses = {
11581
12137
 
11582
12138
  export type GetTreeResponse = GetTreeResponses[keyof GetTreeResponses];
11583
12139
 
12140
+ export type GetContentData = {
12141
+ body?: never;
12142
+ path?: never;
12143
+ query: {
12144
+ /**
12145
+ * Repository key containing the artifact
12146
+ */
12147
+ repository_key: string;
12148
+ /**
12149
+ * Full artifact path within the repository
12150
+ */
12151
+ path: string;
12152
+ /**
12153
+ * Optional maximum number of bytes to return (truncates the response)
12154
+ */
12155
+ max_bytes?: number | null;
12156
+ };
12157
+ url: '/api/v1/tree/content';
12158
+ };
12159
+
12160
+ export type GetContentErrors = {
12161
+ /**
12162
+ * Validation error
12163
+ */
12164
+ 400: ErrorResponse;
12165
+ /**
12166
+ * Artifact not found
12167
+ */
12168
+ 404: ErrorResponse;
12169
+ };
12170
+
12171
+ export type GetContentError = GetContentErrors[keyof GetContentErrors];
12172
+
12173
+ export type GetContentResponses = {
12174
+ /**
12175
+ * Artifact file content
12176
+ */
12177
+ 200: Blob | File;
12178
+ };
12179
+
12180
+ export type GetContentResponse = GetContentResponses[keyof GetContentResponses];
12181
+
12182
+ export type CreateSessionData = {
12183
+ body: CreateSessionRequest;
12184
+ path?: never;
12185
+ query?: never;
12186
+ url: '/api/v1/uploads';
12187
+ };
12188
+
12189
+ export type CreateSessionErrors = {
12190
+ /**
12191
+ * Invalid request
12192
+ */
12193
+ 400: ErrorResponse;
12194
+ /**
12195
+ * Unauthorized
12196
+ */
12197
+ 401: unknown;
12198
+ /**
12199
+ * Repository not found
12200
+ */
12201
+ 404: ErrorResponse;
12202
+ };
12203
+
12204
+ export type CreateSessionError = CreateSessionErrors[keyof CreateSessionErrors];
12205
+
12206
+ export type CreateSessionResponses = {
12207
+ /**
12208
+ * Upload session created
12209
+ */
12210
+ 201: CreateSessionResponse;
12211
+ };
12212
+
12213
+ export type CreateSessionResponse2 = CreateSessionResponses[keyof CreateSessionResponses];
12214
+
12215
+ export type CancelData = {
12216
+ body?: never;
12217
+ path: {
12218
+ /**
12219
+ * Upload session ID
12220
+ */
12221
+ session_id: string;
12222
+ };
12223
+ query?: never;
12224
+ url: '/api/v1/uploads/{session_id}';
12225
+ };
12226
+
12227
+ export type CancelErrors = {
12228
+ /**
12229
+ * Session not found
12230
+ */
12231
+ 404: ErrorResponse;
12232
+ };
12233
+
12234
+ export type CancelError = CancelErrors[keyof CancelErrors];
12235
+
12236
+ export type CancelResponses = {
12237
+ /**
12238
+ * Upload cancelled
12239
+ */
12240
+ 204: void;
12241
+ };
12242
+
12243
+ export type CancelResponse = CancelResponses[keyof CancelResponses];
12244
+
12245
+ export type GetSessionStatusData = {
12246
+ body?: never;
12247
+ path: {
12248
+ /**
12249
+ * Upload session ID
12250
+ */
12251
+ session_id: string;
12252
+ };
12253
+ query?: never;
12254
+ url: '/api/v1/uploads/{session_id}';
12255
+ };
12256
+
12257
+ export type GetSessionStatusErrors = {
12258
+ /**
12259
+ * Session not found
12260
+ */
12261
+ 404: ErrorResponse;
12262
+ /**
12263
+ * Session expired
12264
+ */
12265
+ 410: ErrorResponse;
12266
+ };
12267
+
12268
+ export type GetSessionStatusError = GetSessionStatusErrors[keyof GetSessionStatusErrors];
12269
+
12270
+ export type GetSessionStatusResponses = {
12271
+ /**
12272
+ * Session status
12273
+ */
12274
+ 200: SessionStatusResponse;
12275
+ };
12276
+
12277
+ export type GetSessionStatusResponse = GetSessionStatusResponses[keyof GetSessionStatusResponses];
12278
+
12279
+ export type UploadChunkData = {
12280
+ body?: never;
12281
+ path: {
12282
+ /**
12283
+ * Upload session ID
12284
+ */
12285
+ session_id: string;
12286
+ };
12287
+ query?: never;
12288
+ url: '/api/v1/uploads/{session_id}';
12289
+ };
12290
+
12291
+ export type UploadChunkErrors = {
12292
+ /**
12293
+ * Invalid chunk or Content-Range
12294
+ */
12295
+ 400: ErrorResponse;
12296
+ /**
12297
+ * Unauthorized
12298
+ */
12299
+ 401: unknown;
12300
+ /**
12301
+ * Session not found
12302
+ */
12303
+ 404: ErrorResponse;
12304
+ /**
12305
+ * Session expired
12306
+ */
12307
+ 410: ErrorResponse;
12308
+ };
12309
+
12310
+ export type UploadChunkError = UploadChunkErrors[keyof UploadChunkErrors];
12311
+
12312
+ export type UploadChunkResponses = {
12313
+ /**
12314
+ * Chunk uploaded
12315
+ */
12316
+ 200: ChunkResponse;
12317
+ };
12318
+
12319
+ export type UploadChunkResponse = UploadChunkResponses[keyof UploadChunkResponses];
12320
+
12321
+ export type CompleteData = {
12322
+ body?: never;
12323
+ path: {
12324
+ /**
12325
+ * Upload session ID
12326
+ */
12327
+ session_id: string;
12328
+ };
12329
+ query?: never;
12330
+ url: '/api/v1/uploads/{session_id}/complete';
12331
+ };
12332
+
12333
+ export type CompleteErrors = {
12334
+ /**
12335
+ * Incomplete chunks or invalid state
12336
+ */
12337
+ 400: ErrorResponse;
12338
+ /**
12339
+ * Session not found
12340
+ */
12341
+ 404: ErrorResponse;
12342
+ /**
12343
+ * Checksum mismatch
12344
+ */
12345
+ 409: ErrorResponse;
12346
+ /**
12347
+ * Session expired
12348
+ */
12349
+ 410: ErrorResponse;
12350
+ };
12351
+
12352
+ export type CompleteError = CompleteErrors[keyof CompleteErrors];
12353
+
12354
+ export type CompleteResponses = {
12355
+ /**
12356
+ * Upload finalized, artifact created
12357
+ */
12358
+ 200: CompleteResponse;
12359
+ };
12360
+
12361
+ export type CompleteResponse2 = CompleteResponses[keyof CompleteResponses];
12362
+
11584
12363
  export type ListUsersData = {
11585
12364
  body?: never;
11586
12365
  path?: never;