@thinkai/tai-api-contract 2.182.0 → 2.184.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/dist/generated/openapi.d.ts +1731 -292
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +1898 -260
- package/package.json +1 -1
- package/src/generated/openapi.ts +1731 -292
|
@@ -77,7 +77,7 @@ export interface paths {
|
|
|
77
77
|
put?: never;
|
|
78
78
|
/**
|
|
79
79
|
* Evaluate assessment preflight from server-loaded evidence
|
|
80
|
-
* @description Loads repository scope, readiness scan age, and window coverage for one workspace. Client fields for scope, scans, windows, and engineer counts are ignored, so an unscanned source cannot be marked fresh. The five-business-day clock uses Monday–Friday in America/New_York and is stored on the first passing result. A later blocker does not clear it.
|
|
80
|
+
* @description Loads repository scope, readiness scan age, and window coverage for one workspace. Client fields for scope, scans, windows, and engineer counts are ignored, so an unscanned source cannot be marked fresh. The five-business-day clock uses Monday–Friday in America/New_York and is stored on the first passing result. A later blocker does not clear it. The active-engineer count is loaded from stored commit authors and merged pull requests in the 90-day baseline window (bots and identities not on the org chart excluded). It stays unloaded until commit ingest covers the whole window for every non-archived repository.
|
|
81
81
|
* **Authorization:** Bearer JWT required. Caller email must appear in `PLATFORM_ADMIN_EMAILS`.
|
|
82
82
|
*/
|
|
83
83
|
post: operations["runLiveAssessmentPreflight"];
|
|
@@ -129,6 +129,56 @@ export interface paths {
|
|
|
129
129
|
patch?: never;
|
|
130
130
|
trace?: never;
|
|
131
131
|
};
|
|
132
|
+
"/workspaces/{workspaceId}/assessment-manifest/validate": {
|
|
133
|
+
parameters: {
|
|
134
|
+
query?: never;
|
|
135
|
+
header?: never;
|
|
136
|
+
path?: never;
|
|
137
|
+
cookie?: never;
|
|
138
|
+
};
|
|
139
|
+
get?: never;
|
|
140
|
+
put?: never;
|
|
141
|
+
/**
|
|
142
|
+
* Validate this workspace's assessment manifest
|
|
143
|
+
* @description Runs the same fail-closed manifest check as `runAssessmentManifestValidation` for the workspace in the path. The server ignores `manifest.validation` and `manifest.watermark` from the client. `buyerDeliverable` is true only when the result is validated and `shareMode` is internal. An external share-safe result can be validated and is never the buyer file. Unset or exceeded tolerances fail. No numeric tolerance is assumed. GitLab and Bitbucket fixtures are not part of this operation.
|
|
144
|
+
* `workspaceId` and `expectedWorkspaceId` in the body must equal the path workspace. A body that names another workspace is rejected. Comparing two workspaces stays on `runAssessmentManifestValidation`.
|
|
145
|
+
* **Authorization:** Bearer JWT required. Caller must be a workspace admin, or a platform admin who is a member of this workspace. Members who are not workspace admins receive 403. Non-members of an existing workspace receive 403. Unknown workspaces receive 404.
|
|
146
|
+
*/
|
|
147
|
+
post: operations["validateWorkspaceAssessmentManifest"];
|
|
148
|
+
delete?: never;
|
|
149
|
+
options?: never;
|
|
150
|
+
head?: never;
|
|
151
|
+
patch?: never;
|
|
152
|
+
trace?: never;
|
|
153
|
+
};
|
|
154
|
+
"/workspaces/{workspaceId}/assessment-manifest/build": {
|
|
155
|
+
parameters: {
|
|
156
|
+
query?: never;
|
|
157
|
+
header?: never;
|
|
158
|
+
path?: never;
|
|
159
|
+
cookie?: never;
|
|
160
|
+
};
|
|
161
|
+
get?: never;
|
|
162
|
+
put?: never;
|
|
163
|
+
/**
|
|
164
|
+
* Build and validate this workspace's assessment manifest from stored evidence
|
|
165
|
+
* @description The client sends only the offer, share mode, the render status of each selected section, and the matched-period ROI chapter it printed. The server fills scope, excluded repositories, windows, sources with freshness, consent, `expectedRepositoryIds`, `soldWindowComplete`, `premiumAiAssessable`, and tolerances from stored data, then runs the same fail-closed check as `validateWorkspaceAssessmentManifest`.
|
|
166
|
+
*
|
|
167
|
+
* Scope is the non-archived workspace repositories. Above 50 repositories or 500 active engineers fails (custom quote). For the premium offer, repositories without merged pull requests in both matched windows are listed in `excluded` and left out of scope. Baseline windows: `pre` is null, `post` is the 90 calendar days ending yesterday (America/New_York), and `transitionDays` is 0. Premium windows come from the confirmed rollout day. Freshness: source control 24 hours, AI usage 7 days, readiness scans 30 days. Aggregate-use consent is reported as stored; no row is `unset`.
|
|
168
|
+
*
|
|
169
|
+
* `premiumAiAssessable` needs fresh Cursor, Claude, or Copilot usage in the post window and complete matched-period evidence. A live ROI refusal for incomplete data blocks validation (`rollout_unset`, `window_missing`, `ship_weight_incomplete`, `active_engineers_unknown`, `confounder_inputs_missing`, `normalization_unset`, `output_unit_mismatch`). A refusal that is a legitimate result does not (`non_positive_output`, `confounder`, `missing_cost`, `non_usd_cost`, `cost_not_attributable`); the report prints "not assessable" with no figure. The premium `roi` tolerance is `unset` when the ROI section did not render or `roi` is missing, `exceeded` when the printed chapter differs from the server result (USD figures within the dictionary money tolerance), and `within` otherwise. Named-person sections always fail.
|
|
170
|
+
*
|
|
171
|
+
* Send `result.contentHash` with the PDF to `storeAssessmentReport`, which rebuilds the manifest and stores only when it is still a validated internal buyer file with the same hash.
|
|
172
|
+
*
|
|
173
|
+
* **Authorization:** Bearer JWT required. Caller must be a workspace admin, or a platform admin who is a member of this workspace. Members who are not workspace admins receive 403. Non-members of an existing workspace receive 403. Unknown workspaces receive 404.
|
|
174
|
+
*/
|
|
175
|
+
post: operations["buildWorkspaceAssessmentManifest"];
|
|
176
|
+
delete?: never;
|
|
177
|
+
options?: never;
|
|
178
|
+
head?: never;
|
|
179
|
+
patch?: never;
|
|
180
|
+
trace?: never;
|
|
181
|
+
};
|
|
132
182
|
"/admin/readiness/token-usage": {
|
|
133
183
|
parameters: {
|
|
134
184
|
query?: never;
|
|
@@ -2524,6 +2574,50 @@ export interface paths {
|
|
|
2524
2574
|
patch?: never;
|
|
2525
2575
|
trace?: never;
|
|
2526
2576
|
};
|
|
2577
|
+
"/workspaces/{workspaceId}/assessment-rollout": {
|
|
2578
|
+
parameters: {
|
|
2579
|
+
query?: never;
|
|
2580
|
+
header?: never;
|
|
2581
|
+
path?: never;
|
|
2582
|
+
cookie?: never;
|
|
2583
|
+
};
|
|
2584
|
+
/**
|
|
2585
|
+
* Read the customer-confirmed assessment rollout day
|
|
2586
|
+
* @description Returns the AI rollout day the customer confirmed for the Agentic AI ROI assessment, interpreted at 00:00 America/New_York, plus who set it and when. This is the only rollout source for the matched pre and post windows. `rolloutDay` is null until an admin sets it. Any workspace member may read it.
|
|
2587
|
+
*/
|
|
2588
|
+
get: operations["getWorkspaceAssessmentRollout"];
|
|
2589
|
+
/**
|
|
2590
|
+
* Set the customer-confirmed assessment rollout day
|
|
2591
|
+
* @description Workspace admins, or platform admins who are workspace members, set the rollout day. The day must be a real calendar date that has already started in America/New_York. Each save records the caller and time and writes one `workspace.assessment_rollout.changed` activity-log row.
|
|
2592
|
+
*/
|
|
2593
|
+
put: operations["putWorkspaceAssessmentRollout"];
|
|
2594
|
+
post?: never;
|
|
2595
|
+
delete?: never;
|
|
2596
|
+
options?: never;
|
|
2597
|
+
head?: never;
|
|
2598
|
+
patch?: never;
|
|
2599
|
+
trace?: never;
|
|
2600
|
+
};
|
|
2601
|
+
"/workspaces/{workspaceId}/assessment-roi": {
|
|
2602
|
+
parameters: {
|
|
2603
|
+
query?: never;
|
|
2604
|
+
header?: never;
|
|
2605
|
+
path?: never;
|
|
2606
|
+
cookie?: never;
|
|
2607
|
+
};
|
|
2608
|
+
/**
|
|
2609
|
+
* Read the matched-period ROI from stored evidence
|
|
2610
|
+
* @description Derives the 90-day pre window, the 14-day transition, and the 90-day post window from the confirmed rollout day, then loads calendar-day coverage, merged pull request Ship Weight per window, and recorded USD AI spend for the post window. The figure is USD cost per incremental normalized Ship Weight (per active engineer and Mon–Fri America/New_York working day). Fails closed: `status` is `not_assessable` with a `reason` when a window is incomplete, cost is missing, non-USD, or not attributable by day, Ship Weight is unscored, active engineers are not countable, incremental output is not positive, or a confounder is flagged or cannot be checked. Cost is never estimated. Any workspace member may read it.
|
|
2611
|
+
*/
|
|
2612
|
+
get: operations["getWorkspaceAssessmentRoi"];
|
|
2613
|
+
put?: never;
|
|
2614
|
+
post?: never;
|
|
2615
|
+
delete?: never;
|
|
2616
|
+
options?: never;
|
|
2617
|
+
head?: never;
|
|
2618
|
+
patch?: never;
|
|
2619
|
+
trace?: never;
|
|
2620
|
+
};
|
|
2527
2621
|
"/workspaces/{workspaceId}/aggregate-use-consent": {
|
|
2528
2622
|
parameters: {
|
|
2529
2623
|
query?: never;
|
|
@@ -2568,6 +2662,130 @@ export interface paths {
|
|
|
2568
2662
|
patch?: never;
|
|
2569
2663
|
trace?: never;
|
|
2570
2664
|
};
|
|
2665
|
+
"/workspaces/{workspaceId}/assessment-reports": {
|
|
2666
|
+
parameters: {
|
|
2667
|
+
query?: never;
|
|
2668
|
+
header?: never;
|
|
2669
|
+
path?: never;
|
|
2670
|
+
cookie?: never;
|
|
2671
|
+
};
|
|
2672
|
+
/**
|
|
2673
|
+
* List stored assessment reports and their secure links
|
|
2674
|
+
* @description Workspace admin (or platform admin who is a workspace member). Lists stored buyer PDFs (metadata only, never bytes) with every secure link grant. Link tokens and token hashes are never returned. A hidden report stays listed: `hidden_restorable` until `restoreUntil`, then `restore_window_ended`. The restore window is restore capability, not erasure. Responses carry `Cache-Control: no-store`.
|
|
2675
|
+
*/
|
|
2676
|
+
get: operations["listAssessmentReports"];
|
|
2677
|
+
put?: never;
|
|
2678
|
+
/**
|
|
2679
|
+
* Store a validated buyer PDF for secure delivery
|
|
2680
|
+
* @description Workspace admin (or platform admin who is a workspace member). The client never supplies evidence: the server rebuilds the manifest from stored data with the same builder as `buildWorkspaceAssessmentManifest`, using only `build` (offer, share mode, section status, printed ROI), and stores the PDF only when `buyerDeliverable` is true (validated and internal) and the rebuilt `contentHash` equals the one sent. An external share-safe file is never stored here. The PDF is encrypted with AES-256-GCM and kept in Postgres with its sha256; it is limited to 10 MiB. Records `report.assessment_stored` without report content.
|
|
2681
|
+
*/
|
|
2682
|
+
post: operations["storeAssessmentReport"];
|
|
2683
|
+
delete?: never;
|
|
2684
|
+
options?: never;
|
|
2685
|
+
head?: never;
|
|
2686
|
+
patch?: never;
|
|
2687
|
+
trace?: never;
|
|
2688
|
+
};
|
|
2689
|
+
"/workspaces/{workspaceId}/assessment-reports/{reportId}/links": {
|
|
2690
|
+
parameters: {
|
|
2691
|
+
query?: never;
|
|
2692
|
+
header?: never;
|
|
2693
|
+
path?: never;
|
|
2694
|
+
cookie?: never;
|
|
2695
|
+
};
|
|
2696
|
+
get?: never;
|
|
2697
|
+
put?: never;
|
|
2698
|
+
/**
|
|
2699
|
+
* Create a secure link and email it to a workspace member
|
|
2700
|
+
* @description Workspace admin (or platform admin who is a workspace member). Creates one link grant for a current workspace member and emails them the link only: generic text and `{siteUrl}/reports/secure?t=<opaque token>`. The email carries no PDF attachment, report name, metrics, repository, or person names. Only the sha256 of the token is stored and the token is never returned. Expiry defaults to 14 days and can be shorter. When SMTP is not configured the grant still stands and `email` says why it was skipped. Hidden reports cannot be shared (`409 report_hidden`).
|
|
2701
|
+
*/
|
|
2702
|
+
post: operations["createAssessmentReportLink"];
|
|
2703
|
+
delete?: never;
|
|
2704
|
+
options?: never;
|
|
2705
|
+
head?: never;
|
|
2706
|
+
patch?: never;
|
|
2707
|
+
trace?: never;
|
|
2708
|
+
};
|
|
2709
|
+
"/workspaces/{workspaceId}/assessment-reports/{reportId}/links/{grantId}/revoke": {
|
|
2710
|
+
parameters: {
|
|
2711
|
+
query?: never;
|
|
2712
|
+
header?: never;
|
|
2713
|
+
path?: never;
|
|
2714
|
+
cookie?: never;
|
|
2715
|
+
};
|
|
2716
|
+
get?: never;
|
|
2717
|
+
put?: never;
|
|
2718
|
+
/**
|
|
2719
|
+
* Revoke a secure link
|
|
2720
|
+
* @description Workspace admin (or platform admin who is a workspace member). The link stops working immediately. Idempotent: revoking again keeps the first `revokedAt`. Revoking a link does not affect a file the recipient already downloaded. Records `report.assessment_link_revoked`.
|
|
2721
|
+
*/
|
|
2722
|
+
post: operations["revokeAssessmentReportLink"];
|
|
2723
|
+
delete?: never;
|
|
2724
|
+
options?: never;
|
|
2725
|
+
head?: never;
|
|
2726
|
+
patch?: never;
|
|
2727
|
+
trace?: never;
|
|
2728
|
+
};
|
|
2729
|
+
"/workspaces/{workspaceId}/assessment-reports/{reportId}/hide": {
|
|
2730
|
+
parameters: {
|
|
2731
|
+
query?: never;
|
|
2732
|
+
header?: never;
|
|
2733
|
+
path?: never;
|
|
2734
|
+
cookie?: never;
|
|
2735
|
+
};
|
|
2736
|
+
get?: never;
|
|
2737
|
+
put?: never;
|
|
2738
|
+
/**
|
|
2739
|
+
* Hide a stored report
|
|
2740
|
+
* @description Workspace admin (or platform admin who is a workspace member). Same semantics as workspace delete: the report is hidden immediately and every link stops downloading. It can be restored for 30 days (`restoreUntil`). That window is restore capability, not erasure; no backup purge date is promised, and a file the buyer already downloaded stays with them. Idempotent. Records `report.assessment_hidden`.
|
|
2741
|
+
*/
|
|
2742
|
+
post: operations["hideAssessmentReport"];
|
|
2743
|
+
delete?: never;
|
|
2744
|
+
options?: never;
|
|
2745
|
+
head?: never;
|
|
2746
|
+
patch?: never;
|
|
2747
|
+
trace?: never;
|
|
2748
|
+
};
|
|
2749
|
+
"/workspaces/{workspaceId}/assessment-reports/{reportId}/restore": {
|
|
2750
|
+
parameters: {
|
|
2751
|
+
query?: never;
|
|
2752
|
+
header?: never;
|
|
2753
|
+
path?: never;
|
|
2754
|
+
cookie?: never;
|
|
2755
|
+
};
|
|
2756
|
+
get?: never;
|
|
2757
|
+
put?: never;
|
|
2758
|
+
/**
|
|
2759
|
+
* Restore a hidden report within the 30-day window
|
|
2760
|
+
* @description Workspace admin (or platform admin who is a workspace member). Allowed only before `restoreUntil`; afterwards it fails with `409 restore_window_ended`. Links that were not revoked or expired work again after restore. Records `report.assessment_restored`.
|
|
2761
|
+
*/
|
|
2762
|
+
post: operations["restoreAssessmentReport"];
|
|
2763
|
+
delete?: never;
|
|
2764
|
+
options?: never;
|
|
2765
|
+
head?: never;
|
|
2766
|
+
patch?: never;
|
|
2767
|
+
trace?: never;
|
|
2768
|
+
};
|
|
2769
|
+
"/assessment-reports/secure": {
|
|
2770
|
+
parameters: {
|
|
2771
|
+
query?: never;
|
|
2772
|
+
header?: never;
|
|
2773
|
+
path?: never;
|
|
2774
|
+
cookie?: never;
|
|
2775
|
+
};
|
|
2776
|
+
/**
|
|
2777
|
+
* Download a stored report through a secure link
|
|
2778
|
+
* @description Bearer JWT required. The caller must be the link recipient and a current member of the report's workspace. Access follows `decideReportAccess`: `leaked_token`, `removed_member`, and `wrong_workspace` answer 403; `expired` and `revoked` answer 410; `invalid_grant` answers 404. A hidden report answers `410 report_hidden`. Every response carries `Cache-Control: no-store`. Records `report.assessment_downloaded` without report content.
|
|
2779
|
+
*/
|
|
2780
|
+
get: operations["downloadAssessmentReport"];
|
|
2781
|
+
put?: never;
|
|
2782
|
+
post?: never;
|
|
2783
|
+
delete?: never;
|
|
2784
|
+
options?: never;
|
|
2785
|
+
head?: never;
|
|
2786
|
+
patch?: never;
|
|
2787
|
+
trace?: never;
|
|
2788
|
+
};
|
|
2571
2789
|
"/workspaces/{workspaceId}/activity": {
|
|
2572
2790
|
parameters: {
|
|
2573
2791
|
query?: never;
|
|
@@ -4286,7 +4504,7 @@ export interface paths {
|
|
|
4286
4504
|
put?: never;
|
|
4287
4505
|
/**
|
|
4288
4506
|
* Import org chart from Supabase storage path
|
|
4289
|
-
* @description Parse-only. Downloads the CSV at `storagePath` from the `org-charts` bucket and returns `persons` and `errors`. Does not persist to `spa_org_chart` or `org_chart`. The SPA derives teams client-side and saves the org structure via `POST /workspaces/{workspaceId}/org-chart`. Required columns: employee_id, name, email, title, department, team, manager_id, location. Optional: github_username (GitHub login for productivity ingest), bitbucket_nickname, bitbucket_uuid, alternate_emails (comma-separated alternate work emails for AI tool spend attribution). Saving the SPA snapshot also materializes a scoring `org_chart` tree for team/person metrics when import members are present. Parse-only responses may include duplicateEmailWarnings, identityEmailPreview (cross-check against connected AI tool seat rosters), and importWarnings when roster preview is unavailable.
|
|
4507
|
+
* @description Parse-only. Downloads the CSV at `storagePath` from the `org-charts` bucket and returns `persons` and `errors`. Does not persist to `spa_org_chart` or `org_chart`. The SPA derives teams client-side and saves the org structure via `POST /workspaces/{workspaceId}/org-chart`. Required columns: employee_id, name, email, title, department, team, manager_id, location. Optional: github_username (GitHub login for productivity ingest), bitbucket_nickname, bitbucket_uuid, gitlab_username (GitLab.com or self-managed username), alternate_emails (comma-separated alternate work emails for AI tool spend attribution). Saving the SPA snapshot also materializes a scoring `org_chart` tree for team/person metrics when import members are present. Parse-only responses may include duplicateEmailWarnings, identityEmailPreview (cross-check against connected AI tool seat rosters), and importWarnings when roster preview is unavailable.
|
|
4290
4508
|
*/
|
|
4291
4509
|
post: operations["postOrgChartImport"];
|
|
4292
4510
|
delete?: never;
|
|
@@ -4743,6 +4961,46 @@ export interface paths {
|
|
|
4743
4961
|
patch?: never;
|
|
4744
4962
|
trace?: never;
|
|
4745
4963
|
};
|
|
4964
|
+
"/workspaces/{workspaceId}/sources/discover": {
|
|
4965
|
+
parameters: {
|
|
4966
|
+
query?: never;
|
|
4967
|
+
header?: never;
|
|
4968
|
+
path?: never;
|
|
4969
|
+
cookie?: never;
|
|
4970
|
+
};
|
|
4971
|
+
get?: never;
|
|
4972
|
+
put?: never;
|
|
4973
|
+
/**
|
|
4974
|
+
* List repositories a GitLab or Bitbucket source can read (does not persist)
|
|
4975
|
+
* @description Lists projects (GitLab.com, self-managed GitLab) or repositories (Bitbucket Cloud, Bitbucket Data Center) for repository selection. Nothing is stored. Self-managed and Data Center `baseUrl` must be `https`, public, and without credentials; private, loopback, and link-local hosts are rejected before any request. `env:` token references are rejected for self-hosted providers and never resolved from the request for cloud providers. A blank or `***` token reuses the stored source with the same provider, host, and account, and requires the editor or admin role. The list covers the whole account (group or workspace/project key), not only `projects`/`repos`. `repoCap` is the standard repository cap (50); ingest refuses to auto-select more than that. Tokens are never returned.
|
|
4976
|
+
*/
|
|
4977
|
+
post: operations["postWorkspaceVcsRepoDiscovery"];
|
|
4978
|
+
delete?: never;
|
|
4979
|
+
options?: never;
|
|
4980
|
+
head?: never;
|
|
4981
|
+
patch?: never;
|
|
4982
|
+
trace?: never;
|
|
4983
|
+
};
|
|
4984
|
+
"/workspaces/{workspaceId}/vcs-provider-coverage": {
|
|
4985
|
+
parameters: {
|
|
4986
|
+
query?: never;
|
|
4987
|
+
header?: never;
|
|
4988
|
+
path?: never;
|
|
4989
|
+
cookie?: never;
|
|
4990
|
+
};
|
|
4991
|
+
/**
|
|
4992
|
+
* GitLab and Bitbucket Data Coverage freshness (server-computed)
|
|
4993
|
+
* @description One row per configured GitLab or Bitbucket source. Freshness is computed on the server from batch-written sync rows and succeeded readiness runs; no request field can mark a row fresh. Git is fresh when the last complete ingest finished within `gitFreshnessHours` (24) and no error was recorded after it. A readiness scan is fresh within `readinessScanFreshnessDays` (30, America/New_York calendar days); `scansFresh` requires every in-scope repository to have a fresh scan. A source with an invalid base URL or missing account is `misconfigured`. Requires workspace membership.
|
|
4994
|
+
*/
|
|
4995
|
+
get: operations["getWorkspaceVcsProviderCoverage"];
|
|
4996
|
+
put?: never;
|
|
4997
|
+
post?: never;
|
|
4998
|
+
delete?: never;
|
|
4999
|
+
options?: never;
|
|
5000
|
+
head?: never;
|
|
5001
|
+
patch?: never;
|
|
5002
|
+
trace?: never;
|
|
5003
|
+
};
|
|
4746
5004
|
"/workspaces/{workspaceId}/ingest/productivity/repos/{slug}/retry": {
|
|
4747
5005
|
parameters: {
|
|
4748
5006
|
query?: never;
|
|
@@ -5067,6 +5325,81 @@ export interface paths {
|
|
|
5067
5325
|
export type webhooks = Record<string, never>;
|
|
5068
5326
|
export interface components {
|
|
5069
5327
|
schemas: {
|
|
5328
|
+
/** @description Body of runAssessmentManifestValidation; buildWorkspaceAssessmentManifest returns the server-built object as `validation`. */
|
|
5329
|
+
AssessmentManifestValidationBodyDto: {
|
|
5330
|
+
manifest: {
|
|
5331
|
+
/** @enum {string} */
|
|
5332
|
+
offerId: "engineering_readiness_baseline" | "agentic_ai_roi";
|
|
5333
|
+
dictionaryVersion: string;
|
|
5334
|
+
/** @enum {string} */
|
|
5335
|
+
validation: "validated" | "not_validated";
|
|
5336
|
+
/** @enum {string} */
|
|
5337
|
+
shareMode: "internal" | "external";
|
|
5338
|
+
/** @enum {string|null} */
|
|
5339
|
+
watermark: "NOT VALIDATED" | "SAMPLE · SYNTHETIC DATA" | null;
|
|
5340
|
+
scope: {
|
|
5341
|
+
repositories: {
|
|
5342
|
+
id: string;
|
|
5343
|
+
name: string;
|
|
5344
|
+
}[];
|
|
5345
|
+
excluded: {
|
|
5346
|
+
id: string;
|
|
5347
|
+
name: string;
|
|
5348
|
+
reason: string;
|
|
5349
|
+
}[];
|
|
5350
|
+
};
|
|
5351
|
+
windows: {
|
|
5352
|
+
pre: {
|
|
5353
|
+
start: string;
|
|
5354
|
+
end: string;
|
|
5355
|
+
} | null;
|
|
5356
|
+
post: {
|
|
5357
|
+
start: string;
|
|
5358
|
+
end: string;
|
|
5359
|
+
} | null;
|
|
5360
|
+
transitionDays: number;
|
|
5361
|
+
};
|
|
5362
|
+
sources: {
|
|
5363
|
+
provider: string;
|
|
5364
|
+
status: string;
|
|
5365
|
+
freshAt: string | null;
|
|
5366
|
+
}[];
|
|
5367
|
+
consent: {
|
|
5368
|
+
/** @enum {string} */
|
|
5369
|
+
aggregateUse: "opt_in" | "opt_out" | "unset";
|
|
5370
|
+
recordedAt: string | null;
|
|
5371
|
+
};
|
|
5372
|
+
sections: {
|
|
5373
|
+
id: string;
|
|
5374
|
+
/** @enum {string} */
|
|
5375
|
+
status: "ok" | "failed" | "omitted";
|
|
5376
|
+
reason?: string;
|
|
5377
|
+
}[];
|
|
5378
|
+
};
|
|
5379
|
+
workspaceId: string;
|
|
5380
|
+
expectedWorkspaceId: string;
|
|
5381
|
+
expectedRepositoryIds: string[];
|
|
5382
|
+
soldWindowComplete: boolean;
|
|
5383
|
+
premiumAiAssessable: boolean;
|
|
5384
|
+
namedPersonSectionIds: string[];
|
|
5385
|
+
tolerances: {
|
|
5386
|
+
id: string;
|
|
5387
|
+
/** @enum {string} */
|
|
5388
|
+
status: "unset" | "exceeded" | "within";
|
|
5389
|
+
}[];
|
|
5390
|
+
};
|
|
5391
|
+
AssessmentManifestValidationResultDto: {
|
|
5392
|
+
buyerDeliverable: boolean;
|
|
5393
|
+
/** @enum {string} */
|
|
5394
|
+
validation: "validated" | "not_validated";
|
|
5395
|
+
/** @enum {string|null} */
|
|
5396
|
+
watermark: "NOT VALIDATED" | null;
|
|
5397
|
+
reasons: {
|
|
5398
|
+
code: string;
|
|
5399
|
+
message: string;
|
|
5400
|
+
}[];
|
|
5401
|
+
contentHash: string;
|
|
5402
|
+
};
|
|
5070
5403
|
TeamsInstallUrlDto: {
|
|
5071
5404
|
/** Format: uri */
|
|
5072
5405
|
url: string;
|
|
@@ -5232,6 +5565,8 @@ export interface components {
|
|
|
5232
5565
|
bitbucketNickname?: string;
|
|
5233
5566
|
/** @description Bitbucket account UUID (e.g. "{aeefb6b0-...}") to attribute merged PRs and reviews to this person in productivity ingest. Preferred over bitbucketNickname — Bitbucket PR payloads expose a stable uuid but not nickname. Resolves to the same person_id (email) as githubUsername. */
|
|
5234
5567
|
bitbucketUuid?: string;
|
|
5568
|
+
/** @description GitLab username (no @; GitLab.com or self-managed) to map merged merge requests and commits to this person in productivity ingest and the assessment active-engineer count. Stored lowercased. Resolves to the same person_id (email) as githubUsername. */
|
|
5569
|
+
gitlabUsername?: string;
|
|
5235
5570
|
/** @description Optional comma-separated work emails that map to the same person for AI tool spend/usage (mirrors multi-login github_username). Primary email remains canonical person_id. */
|
|
5236
5571
|
alternateEmails?: string;
|
|
5237
5572
|
};
|
|
@@ -5262,6 +5597,7 @@ export interface components {
|
|
|
5262
5597
|
githubUsername?: string;
|
|
5263
5598
|
bitbucketNickname?: string;
|
|
5264
5599
|
bitbucketUuid?: string;
|
|
5600
|
+
gitlabUsername?: string;
|
|
5265
5601
|
/** @description Comma-separated alternate work emails for AI tool attribution. */
|
|
5266
5602
|
alternateEmails?: string;
|
|
5267
5603
|
};
|
|
@@ -5471,6 +5807,38 @@ export interface components {
|
|
|
5471
5807
|
/** @description New Relic user name when known from the last successful verify. */
|
|
5472
5808
|
userName?: string;
|
|
5473
5809
|
};
|
|
5810
|
+
/** @description Datadog monitoring source for `PUT /workspaces/{workspaceId}/sources` and `POST /workspaces/{workspaceId}/sources/test`. Requires an API key, an Application key, and a site host suffix (US1/US3/US5/EU/AP1). Raw keys are write-only. */
|
|
5811
|
+
DatadogSourceDto: {
|
|
5812
|
+
/** @enum {string} */
|
|
5813
|
+
type: "datadog";
|
|
5814
|
+
/** @description Datadog API key (write-only on PUT; encrypted at rest). */
|
|
5815
|
+
apiKey: string;
|
|
5816
|
+
/** @description Datadog Application key (write-only on PUT; encrypted at rest). */
|
|
5817
|
+
appKey: string;
|
|
5818
|
+
/**
|
|
5819
|
+
* @description Datadog site host suffix. Maps to API host `api.{site}` (US1 `datadoghq.com`, US3 `us3.datadoghq.com`, US5 `us5.datadoghq.com`, EU `datadoghq.eu`, AP1 `ap1.datadoghq.com`). Gov/custom sites are out of scope.
|
|
5820
|
+
* @enum {string}
|
|
5821
|
+
*/
|
|
5822
|
+
site: "datadoghq.com" | "us3.datadoghq.com" | "us5.datadoghq.com" | "datadoghq.eu" | "ap1.datadoghq.com";
|
|
5823
|
+
/** @description Optional org display name returned from a successful connection test. */
|
|
5824
|
+
orgName?: string;
|
|
5825
|
+
};
|
|
5826
|
+
/** @description Redacted Datadog source returned by `GET /workspaces/{workspaceId}/config`. Raw `apiKey` and `appKey` are never returned. */
|
|
5827
|
+
DatadogSourceConfigDto: {
|
|
5828
|
+
/** @enum {string} */
|
|
5829
|
+
type: "datadog";
|
|
5830
|
+
/** @description Whether a Datadog API key is stored for this workspace. */
|
|
5831
|
+
hasApiKey: boolean;
|
|
5832
|
+
/** @description Whether a Datadog Application key is stored for this workspace. */
|
|
5833
|
+
hasAppKey: boolean;
|
|
5834
|
+
/**
|
|
5835
|
+
* @description Configured Datadog site host suffix.
|
|
5836
|
+
* @enum {string}
|
|
5837
|
+
*/
|
|
5838
|
+
site: "datadoghq.com" | "us3.datadoghq.com" | "us5.datadoghq.com" | "datadoghq.eu" | "ap1.datadoghq.com";
|
|
5839
|
+
/** @description Org display name when known from the last successful verify. */
|
|
5840
|
+
orgName?: string;
|
|
5841
|
+
};
|
|
5474
5842
|
/** @description Prometheus / Alertmanager monitoring source for workspace sources PUT and connection test. Provide at least one URL; authentication is optional. */
|
|
5475
5843
|
PrometheusSourceDto: {
|
|
5476
5844
|
/** @enum {string} */
|
|
@@ -5720,7 +6088,7 @@ export interface components {
|
|
|
5720
6088
|
topics?: components["schemas"]["CodeWikiGuidanceTopicDto"][];
|
|
5721
6089
|
};
|
|
5722
6090
|
WorkspaceConfigDto: {
|
|
5723
|
-
sources: (components["schemas"]["CursorSourceConfigDto"] | components["schemas"]["ClaudeSourceConfigDto"] | components["schemas"]["CodeIntelligenceSourceConfigDto"] | components["schemas"]["NewRelicSourceConfigDto"] | components["schemas"]["PrometheusSourceConfigDto"] | components["schemas"]["GrafanaSourceConfigDto"] | components["schemas"]["SonarQubeSourceConfigDto"] | components["schemas"]["PagerDutySourceConfigDto"] | components["schemas"]["JiraSourceConfigDto"] | components["schemas"]["TenantSourceEntryDto"])[];
|
|
6091
|
+
sources: (components["schemas"]["CursorSourceConfigDto"] | components["schemas"]["ClaudeSourceConfigDto"] | components["schemas"]["CodeIntelligenceSourceConfigDto"] | components["schemas"]["NewRelicSourceConfigDto"] | components["schemas"]["DatadogSourceConfigDto"] | components["schemas"]["PrometheusSourceConfigDto"] | components["schemas"]["GrafanaSourceConfigDto"] | components["schemas"]["SonarQubeSourceConfigDto"] | components["schemas"]["PagerDutySourceConfigDto"] | components["schemas"]["JiraSourceConfigDto"] | components["schemas"]["TenantSourceEntryDto"])[];
|
|
5724
6092
|
orgChart?: components["schemas"]["ScoringOrgChartDto"] | null;
|
|
5725
6093
|
/** @enum {string|null} */
|
|
5726
6094
|
region?: "us" | "eu" | "me" | null;
|
|
@@ -5843,7 +6211,7 @@ export interface components {
|
|
|
5843
6211
|
accountName?: string;
|
|
5844
6212
|
/** @description Present for New Relic or Jira verify success — resolved account ID. */
|
|
5845
6213
|
accountId?: string;
|
|
5846
|
-
/** @description Present for Grafana verify success — resolved organization name. */
|
|
6214
|
+
/** @description Present for Grafana or Datadog verify success — resolved organization name. */
|
|
5847
6215
|
orgName?: string;
|
|
5848
6216
|
/** @description Present for Prometheus verify success — Alertmanager cluster name. */
|
|
5849
6217
|
clusterName?: string;
|
|
@@ -7791,10 +8159,88 @@ export interface components {
|
|
|
7791
8159
|
* @enum {string}
|
|
7792
8160
|
*/
|
|
7793
8161
|
ReadinessDimensionId: "ai-agent-readiness" | "token-efficiency" | "repo-hygiene" | "stack-quality" | "tests-qa" | "observability" | "api-contracts" | "platform-governance" | "delivery";
|
|
8162
|
+
/**
|
|
8163
|
+
* @description `bitbucket_server` is Bitbucket Data Center. Self-hosted providers (`gitlab_self_managed`, `bitbucket_server`) always carry `hostBaseUrl`.
|
|
8164
|
+
* @enum {string}
|
|
8165
|
+
*/
|
|
8166
|
+
ExternalVcsProviderDto: "gitlab_cloud" | "gitlab_self_managed" | "bitbucket_cloud" | "bitbucket_server";
|
|
8167
|
+
/** @description GitLab or Bitbucket tenant source entry. GitLab: optional `group` (full path) and `projects` (`group/sub/project`). Bitbucket: `workspace` (Cloud workspace or Data Center project key) and optional `repos` (repository slugs). `deployment` selects self-hosted; it then requires `baseUrl`. */
|
|
8168
|
+
GitVcsSourceDto: {
|
|
8169
|
+
/** @enum {string} */
|
|
8170
|
+
type: "gitlab" | "bitbucket";
|
|
8171
|
+
/** @enum {string} */
|
|
8172
|
+
deployment?: "cloud" | "self_managed" | "data_center";
|
|
8173
|
+
baseUrl?: string;
|
|
8174
|
+
group?: string;
|
|
8175
|
+
projects?: string[];
|
|
8176
|
+
workspace?: string;
|
|
8177
|
+
repos?: string[];
|
|
8178
|
+
/** @description Personal / project / HTTP access token, or `***` to reuse the stored token. */
|
|
8179
|
+
token?: string;
|
|
8180
|
+
} & {
|
|
8181
|
+
[key: string]: unknown;
|
|
8182
|
+
};
|
|
8183
|
+
VcsDiscoveredRepoDto: {
|
|
8184
|
+
/** @description `group/sub/project` (GitLab) or `workspace/repo` / `PROJECT/repo` (Bitbucket) */
|
|
8185
|
+
slug: string;
|
|
8186
|
+
name: string;
|
|
8187
|
+
defaultBranch: string | null;
|
|
8188
|
+
webUrl: string | null;
|
|
8189
|
+
};
|
|
8190
|
+
VcsRepoDiscoveryResponseDto: {
|
|
8191
|
+
provider: components["schemas"]["ExternalVcsProviderDto"];
|
|
8192
|
+
hostBaseUrl: string | null;
|
|
8193
|
+
/** @description GitLab group path (empty = token membership), Bitbucket workspace, or project key */
|
|
8194
|
+
account: string;
|
|
8195
|
+
/** @description True when the provider page limit was reached; the list is incomplete. */
|
|
8196
|
+
truncated: boolean;
|
|
8197
|
+
repoCap: number;
|
|
8198
|
+
repositories: components["schemas"]["VcsDiscoveredRepoDto"][];
|
|
8199
|
+
};
|
|
8200
|
+
VcsProviderCoverageRowDto: {
|
|
8201
|
+
provider: components["schemas"]["ExternalVcsProviderDto"];
|
|
8202
|
+
hostBaseUrl: string | null;
|
|
8203
|
+
account: string;
|
|
8204
|
+
selfHosted: boolean;
|
|
8205
|
+
/** @enum {string} */
|
|
8206
|
+
state: "fresh" | "stale" | "never_synced" | "error" | "misconfigured";
|
|
8207
|
+
/** @description Server-computed; true only when `state` is `fresh`. */
|
|
8208
|
+
isFresh: boolean;
|
|
8209
|
+
/** Format: date-time */
|
|
8210
|
+
lastIngestSuccessAt: string | null;
|
|
8211
|
+
lastErrorKind: string | null;
|
|
8212
|
+
/** Format: date-time */
|
|
8213
|
+
lastDiscoveryAt: string | null;
|
|
8214
|
+
discoveredRepoCount: number | null;
|
|
8215
|
+
/** @description Milliseconds past the Git freshness limit when `state` is `stale`. */
|
|
8216
|
+
staleForMs: number | null;
|
|
8217
|
+
/** @description In-scope repositories stored for this source. */
|
|
8218
|
+
repoCount: number;
|
|
8219
|
+
scannedRepoCount: number;
|
|
8220
|
+
freshScanRepoCount: number;
|
|
8221
|
+
scansFresh: boolean;
|
|
8222
|
+
/**
|
|
8223
|
+
* Format: date-time
|
|
8224
|
+
* @description Earliest merge time reached by the assessment merged-request history backfill for this source; null when no backfill window has been written.
|
|
8225
|
+
*/
|
|
8226
|
+
mergedHistorySince: string | null;
|
|
8227
|
+
/**
|
|
8228
|
+
* Format: date-time
|
|
8229
|
+
* @description Instant from which every in-scope repository of this source has contiguous default-branch commit-author coverage (latest per-repo coverage start); null when any repository has no coverage.
|
|
8230
|
+
*/
|
|
8231
|
+
commitHistorySince: string | null;
|
|
8232
|
+
};
|
|
8233
|
+
VcsProviderCoverageDto: {
|
|
8234
|
+
/** Format: date-time */
|
|
8235
|
+
generatedAt: string;
|
|
8236
|
+
gitFreshnessHours: number;
|
|
8237
|
+
readinessScanFreshnessDays: number;
|
|
8238
|
+
sources: components["schemas"]["VcsProviderCoverageRowDto"][];
|
|
8239
|
+
};
|
|
7794
8240
|
RepoProviderDto: {
|
|
7795
8241
|
/** @enum {string} */
|
|
7796
|
-
kind: "github" | "bitbucket_cloud" | "bitbucket_server";
|
|
7797
|
-
/** @description owner/repo (GitHub), workspace/repo_slug (Bitbucket Cloud),
|
|
8242
|
+
kind: "github" | "bitbucket_cloud" | "bitbucket_server" | "gitlab_cloud" | "gitlab_self_managed";
|
|
8243
|
+
/** @description owner/repo (GitHub), workspace/repo_slug (Bitbucket Cloud), PROJECT_KEY/repo_slug (Bitbucket Server / Data Center), or group/sub/project (GitLab) */
|
|
7798
8244
|
slug: string;
|
|
7799
8245
|
/**
|
|
7800
8246
|
* Format: uri
|
|
@@ -7806,7 +8252,7 @@ export interface components {
|
|
|
7806
8252
|
externalId?: string | null;
|
|
7807
8253
|
/**
|
|
7808
8254
|
* Format: uri
|
|
7809
|
-
* @description Required for bitbucket_server (self-hosted); null for cloud providers
|
|
8255
|
+
* @description Required for bitbucket_server and gitlab_self_managed (self-hosted); null for cloud providers
|
|
7810
8256
|
*/
|
|
7811
8257
|
hostBaseUrl?: string | null;
|
|
7812
8258
|
};
|
|
@@ -9155,11 +9601,7 @@ export interface components {
|
|
|
9155
9601
|
* @description Type of workspace lifecycle event.
|
|
9156
9602
|
* @enum {string}
|
|
9157
9603
|
*/
|
|
9158
|
-
ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.suspended" | "integration.github.unsuspended" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "code_insights.design_run_started" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.invite_accepted" | "member.invite_rejected" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.zelt.sync_started" | "hris.zelt.sync_completed" | "hris.zelt.sync_failed" | "hris.hibob.sync_started" | "hris.hibob.sync_completed" | "hris.hibob.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "integrations.code_intelligence.settings_changed" | "integrations.code_intelligence.execution_key.added" | "integrations.code_intelligence.execution_key.updated" | "integrations.code_intelligence.execution_key.removed" | "integrations.code_intelligence.execution_key.check_failed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped" | "productivity.ingest.repo_skipped" | "productivity.ingest.coverage_gap_detected" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed" | "integrations.zelt.added" | "integrations.zelt.removed" | "report.exported" | "workspace.aggregate_use.changed";
|
|
9159
|
-
UnsetAssessmentDecisionDto: {
|
|
9160
|
-
/** @enum {string} */
|
|
9161
|
-
status: "unset";
|
|
9162
|
-
};
|
|
9604
|
+
ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.suspended" | "integration.github.unsuspended" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "code_insights.design_run_started" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.invite_accepted" | "member.invite_rejected" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.zelt.sync_started" | "hris.zelt.sync_completed" | "hris.zelt.sync_failed" | "hris.hibob.sync_started" | "hris.hibob.sync_completed" | "hris.hibob.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "integrations.code_intelligence.settings_changed" | "integrations.code_intelligence.execution_key.added" | "integrations.code_intelligence.execution_key.updated" | "integrations.code_intelligence.execution_key.removed" | "integrations.code_intelligence.execution_key.check_failed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped" | "productivity.ingest.repo_skipped" | "productivity.ingest.coverage_gap_detected" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed" | "integrations.zelt.added" | "integrations.zelt.removed" | "report.exported" | "report.assessment_stored" | "report.assessment_link_sent" | "report.assessment_link_revoked" | "report.assessment_downloaded" | "report.assessment_hidden" | "report.assessment_restored" | "workspace.aggregate_use.changed" | "workspace.assessment_rollout.changed";
|
|
9163
9605
|
/** @description Current legal-approved opt-in notice, or `unset` while opt-in is unavailable. */
|
|
9164
9606
|
AggregateUseNoticeStatusDto: {
|
|
9165
9607
|
/** @enum {string} */
|
|
@@ -9167,6 +9609,122 @@ export interface components {
|
|
|
9167
9609
|
/** @description Present only when `status` is `approved`. Send it back on opt-in. */
|
|
9168
9610
|
version?: string;
|
|
9169
9611
|
};
|
|
9612
|
+
/**
|
|
9613
|
+
* @description Confounder-relevant named event from the assessment dictionary.
|
|
9614
|
+
* @enum {string}
|
|
9615
|
+
*/
|
|
9616
|
+
AssessmentNamedEventDto: "major_release" | "migration" | "acquisition" | "policy_change";
|
|
9617
|
+
AssessmentRolloutDto: {
|
|
9618
|
+
/**
|
|
9619
|
+
* Format: date
|
|
9620
|
+
* @description Confirmed rollout day (`YYYY-MM-DD`); null until set.
|
|
9621
|
+
*/
|
|
9622
|
+
rolloutDay: string | null;
|
|
9623
|
+
/** @enum {string} */
|
|
9624
|
+
timezone: "America/New_York";
|
|
9625
|
+
/** @enum {string} */
|
|
9626
|
+
boundary: "midnight";
|
|
9627
|
+
/**
|
|
9628
|
+
* Format: date-time
|
|
9629
|
+
* @description UTC instant of 00:00 America/New_York on `rolloutDay`.
|
|
9630
|
+
*/
|
|
9631
|
+
startsAt: string | null;
|
|
9632
|
+
setBy: {
|
|
9633
|
+
/** Format: uuid */
|
|
9634
|
+
userId: string;
|
|
9635
|
+
displayName: string | null;
|
|
9636
|
+
} | null;
|
|
9637
|
+
/** Format: date-time */
|
|
9638
|
+
setAt: string | null;
|
|
9639
|
+
/** @description Named events confirmed during either matched window. Null means the customer or operator has not confirmed yet, so the ROI confounder check reports `confounder_inputs_missing`. An empty array confirms none occurred. */
|
|
9640
|
+
namedEvents: components["schemas"]["AssessmentNamedEventDto"][] | null;
|
|
9641
|
+
namedEventsConfirmedBy: {
|
|
9642
|
+
/** Format: uuid */
|
|
9643
|
+
userId: string;
|
|
9644
|
+
displayName: string | null;
|
|
9645
|
+
} | null;
|
|
9646
|
+
/** Format: date-time */
|
|
9647
|
+
namedEventsConfirmedAt: string | null;
|
|
9648
|
+
};
|
|
9649
|
+
AssessmentRolloutPutDto: {
|
|
9650
|
+
/**
|
|
9651
|
+
* Format: date
|
|
9652
|
+
* @description Real calendar date, not after today in America/New_York.
|
|
9653
|
+
*/
|
|
9654
|
+
rolloutDay: string;
|
|
9655
|
+
/** @description Omit to leave the stored named-event confirmation unchanged. Send an empty array to confirm no named event occurred during either matched window, or the events that did. */
|
|
9656
|
+
namedEvents?: components["schemas"]["AssessmentNamedEventDto"][];
|
|
9657
|
+
};
|
|
9658
|
+
/**
|
|
9659
|
+
* @description Why the matched-period ROI is not assessable. `cost_not_attributable` means a billing-cycle bill (GitHub Copilot) overlaps the post window and cannot be split by day. `active_engineers_unknown` means stored identities cannot yet be counted. `confounder_inputs_missing` means a named-event, headcount, or repository-scope check has no stored input.
|
|
9660
|
+
* @enum {string}
|
|
9661
|
+
*/
|
|
9662
|
+
AssessmentRoiReasonDto: "rollout_unset" | "window_missing" | "missing_cost" | "non_usd_cost" | "cost_not_attributable" | "ship_weight_incomplete" | "active_engineers_unknown" | "non_positive_output" | "normalization_unset" | "confounder" | "confounder_inputs_missing" | "output_unit_mismatch";
|
|
9663
|
+
AssessmentRoiDayRangeDto: {
|
|
9664
|
+
/** Format: date */
|
|
9665
|
+
from: string;
|
|
9666
|
+
/** Format: date */
|
|
9667
|
+
to: string;
|
|
9668
|
+
};
|
|
9669
|
+
AssessmentRoiWindowDto: {
|
|
9670
|
+
/** Format: date */
|
|
9671
|
+
from: string;
|
|
9672
|
+
/** Format: date */
|
|
9673
|
+
to: string;
|
|
9674
|
+
/** @description Calendar days in the window (90). */
|
|
9675
|
+
requiredDays: number;
|
|
9676
|
+
/** @description Calendar days with stored evidence. */
|
|
9677
|
+
coveredDays: number;
|
|
9678
|
+
/** @description Every calendar day is covered and the window ended before today. */
|
|
9679
|
+
complete: boolean;
|
|
9680
|
+
/** @description Monday–Friday days in America/New_York. No holidays. */
|
|
9681
|
+
workingDays: number;
|
|
9682
|
+
activeEngineers: number | null;
|
|
9683
|
+
mergedPullRequests: number;
|
|
9684
|
+
/** @description Sum of stored Ship Weight for unique merged pull requests; null if any is unscored. */
|
|
9685
|
+
shipWeight: number | null;
|
|
9686
|
+
/** @description Ship Weight per active engineer per working day. */
|
|
9687
|
+
normalizedShipWeight: number | null;
|
|
9688
|
+
};
|
|
9689
|
+
AssessmentRoiDto: {
|
|
9690
|
+
dictionaryVersion: string;
|
|
9691
|
+
/** Format: date */
|
|
9692
|
+
rolloutDay: string | null;
|
|
9693
|
+
rolloutBoundary: {
|
|
9694
|
+
/** @enum {string} */
|
|
9695
|
+
timezone: "America/New_York";
|
|
9696
|
+
/** @enum {string} */
|
|
9697
|
+
boundary: "midnight";
|
|
9698
|
+
/** Format: date-time */
|
|
9699
|
+
startsAt: string | null;
|
|
9700
|
+
};
|
|
9701
|
+
windows: {
|
|
9702
|
+
pre: components["schemas"]["AssessmentRoiWindowDto"] | null;
|
|
9703
|
+
transition: components["schemas"]["AssessmentRoiDayRangeDto"] | null;
|
|
9704
|
+
post: components["schemas"]["AssessmentRoiWindowDto"] | null;
|
|
9705
|
+
};
|
|
9706
|
+
/** @description Recorded daily AI spend inside the post window. Never estimated. */
|
|
9707
|
+
cost: {
|
|
9708
|
+
amountUsd: number | null;
|
|
9709
|
+
/** @enum {string|null} */
|
|
9710
|
+
currency: "USD" | null;
|
|
9711
|
+
providers: string[];
|
|
9712
|
+
};
|
|
9713
|
+
confounders: {
|
|
9714
|
+
/** @description Null when no named-event input is stored. */
|
|
9715
|
+
namedEvent: boolean | null;
|
|
9716
|
+
headcountChangeRatio: number | null;
|
|
9717
|
+
/** @description Repositories with merged pull requests in only one window, over pre-window repositories. */
|
|
9718
|
+
repositoryScopeChangeRatio: number | null;
|
|
9719
|
+
};
|
|
9720
|
+
/** @enum {string} */
|
|
9721
|
+
status: "assessable" | "not_assessable";
|
|
9722
|
+
reason: components["schemas"]["AssessmentRoiReasonDto"] | null;
|
|
9723
|
+
incrementalNormalizedShipWeight: number | null;
|
|
9724
|
+
costPerIncrementalShipWeightUsd: number | null;
|
|
9725
|
+
/** @description Separate correlation. Never the sold ROI figure. */
|
|
9726
|
+
costPerMergedPullRequestUsd: number | null;
|
|
9727
|
+
};
|
|
9170
9728
|
AggregateUseConsentDto: {
|
|
9171
9729
|
/**
|
|
9172
9730
|
* @description Saved choice. `unset` means the workspace never chose and is treated as opted out.
|
|
@@ -9206,7 +9764,7 @@ export interface components {
|
|
|
9206
9764
|
};
|
|
9207
9765
|
AssessmentDictionaryDto: {
|
|
9208
9766
|
/** @enum {string} */
|
|
9209
|
-
version: "2026-10-
|
|
9767
|
+
version: "2026-10-24.1";
|
|
9210
9768
|
/** @enum {integer} */
|
|
9211
9769
|
periodDays: 90;
|
|
9212
9770
|
/** @enum {integer} */
|
|
@@ -9284,8 +9842,22 @@ export interface components {
|
|
|
9284
9842
|
costAssessableCurrency: "USD";
|
|
9285
9843
|
};
|
|
9286
9844
|
unresolved: {
|
|
9287
|
-
baselinePrice:
|
|
9288
|
-
|
|
9845
|
+
baselinePrice: {
|
|
9846
|
+
/** @enum {string} */
|
|
9847
|
+
status: "set";
|
|
9848
|
+
/** @enum {integer} */
|
|
9849
|
+
amountUsd: 4999;
|
|
9850
|
+
/** @enum {string} */
|
|
9851
|
+
taxes: "extra";
|
|
9852
|
+
};
|
|
9853
|
+
premiumPrice: {
|
|
9854
|
+
/** @enum {string} */
|
|
9855
|
+
status: "set";
|
|
9856
|
+
/** @enum {integer} */
|
|
9857
|
+
amountUsd: 9999;
|
|
9858
|
+
/** @enum {string} */
|
|
9859
|
+
taxes: "extra";
|
|
9860
|
+
};
|
|
9289
9861
|
currency: {
|
|
9290
9862
|
/** @enum {string} */
|
|
9291
9863
|
status: "set";
|
|
@@ -9333,7 +9905,14 @@ export interface components {
|
|
|
9333
9905
|
/** @enum {string} */
|
|
9334
9906
|
holidays: "none";
|
|
9335
9907
|
};
|
|
9336
|
-
|
|
9908
|
+
/** @description Owner decision without counsel acceptance; `counselAccepted` stays false. */
|
|
9909
|
+
countryAllowList: {
|
|
9910
|
+
/** @enum {string} */
|
|
9911
|
+
status: "set";
|
|
9912
|
+
countries: ("US" | "BH" | "KW" | "OM" | "QA" | "SA" | "AE")[];
|
|
9913
|
+
/** @enum {boolean} */
|
|
9914
|
+
counselAccepted: false;
|
|
9915
|
+
};
|
|
9337
9916
|
};
|
|
9338
9917
|
};
|
|
9339
9918
|
/** @description Metadata for a successful Report Center PDF download. Secret-free; no table payloads. Recorded as `report.exported` on the workspace activity log. */
|
|
@@ -9360,6 +9939,126 @@ export interface components {
|
|
|
9360
9939
|
providerIds?: string[];
|
|
9361
9940
|
repoIds?: string[];
|
|
9362
9941
|
};
|
|
9942
|
+
StoreAssessmentReportBodyDto: {
|
|
9943
|
+
/** @description The buyer PDF, base64-encoded. Must start with `%PDF-`; at most 10 MiB decoded. */
|
|
9944
|
+
pdfBase64: string;
|
|
9945
|
+
build: components["schemas"]["BuildAssessmentManifestBodyDto"];
|
|
9946
|
+
/** @description `result.contentHash` from the `buildWorkspaceAssessmentManifest` call the PDF was rendered from. The server rebuilds the manifest and rejects a different hash. */
|
|
9947
|
+
contentHash: string;
|
|
9948
|
+
};
|
|
9949
|
+
BuildAssessmentManifestBodyDto: {
|
|
9950
|
+
/** @enum {string} */
|
|
9951
|
+
offerId: "engineering_readiness_baseline" | "agentic_ai_roi";
|
|
9952
|
+
/** @enum {string} */
|
|
9953
|
+
shareMode: "internal" | "external";
|
|
9954
|
+
/** @description Every selected section with its render status. Ids are unique. */
|
|
9955
|
+
sections: {
|
|
9956
|
+
id: string;
|
|
9957
|
+
/** @enum {string} */
|
|
9958
|
+
status: "ok" | "failed" | "omitted";
|
|
9959
|
+
reason?: string;
|
|
9960
|
+
}[];
|
|
9961
|
+
/** @description The matched-period ROI chapter as printed, copied from the `getWorkspaceAssessmentRoi` result it rendered. Null or omitted when the chapter did not print one. */
|
|
9962
|
+
roi?: components["schemas"]["PrintedAssessmentRoiDto"] | null;
|
|
9963
|
+
};
|
|
9964
|
+
PrintedAssessmentRoiDto: {
|
|
9965
|
+
/** @enum {string} */
|
|
9966
|
+
status: "assessable" | "not_assessable";
|
|
9967
|
+
reason: string | null;
|
|
9968
|
+
incrementalNormalizedShipWeight: number | null;
|
|
9969
|
+
costPerIncrementalShipWeightUsd: number | null;
|
|
9970
|
+
costPerMergedPullRequestUsd: number | null;
|
|
9971
|
+
};
|
|
9972
|
+
BuildAssessmentManifestResponseDto: {
|
|
9973
|
+
validation: components["schemas"]["AssessmentManifestValidationBodyDto"];
|
|
9974
|
+
result: components["schemas"]["AssessmentManifestValidationResultDto"];
|
|
9975
|
+
};
|
|
9976
|
+
StoreAssessmentReportRejectedDto: {
|
|
9977
|
+
error: string;
|
|
9978
|
+
/** @enum {string} */
|
|
9979
|
+
code: "not_buyer_deliverable" | "manifest_changed";
|
|
9980
|
+
/** @enum {string} */
|
|
9981
|
+
validation?: "validated" | "not_validated";
|
|
9982
|
+
reasons?: {
|
|
9983
|
+
code: string;
|
|
9984
|
+
message: string;
|
|
9985
|
+
}[];
|
|
9986
|
+
};
|
|
9987
|
+
AssessmentReportLinkDto: {
|
|
9988
|
+
/** Format: uuid */
|
|
9989
|
+
id: string;
|
|
9990
|
+
/** Format: uuid */
|
|
9991
|
+
reportId: string;
|
|
9992
|
+
/** Format: uuid */
|
|
9993
|
+
recipientUserId: string;
|
|
9994
|
+
/** @description Null when the recipient is no longer a workspace member. */
|
|
9995
|
+
recipientEmail: string | null;
|
|
9996
|
+
recipientName: string | null;
|
|
9997
|
+
/** Format: date-time */
|
|
9998
|
+
expiresAt: string;
|
|
9999
|
+
/** Format: date-time */
|
|
10000
|
+
revokedAt: string | null;
|
|
10001
|
+
/** Format: date-time */
|
|
10002
|
+
createdAt: string;
|
|
10003
|
+
/** Format: date-time */
|
|
10004
|
+
lastAccessedAt: string | null;
|
|
10005
|
+
/** @enum {string} */
|
|
10006
|
+
status: "active" | "expired" | "revoked";
|
|
10007
|
+
};
|
|
10008
|
+
AssessmentReportDto: {
|
|
10009
|
+
/** Format: uuid */
|
|
10010
|
+
id: string;
|
|
10011
|
+
/** @enum {string} */
|
|
10012
|
+
offerId: "engineering_readiness_baseline" | "agentic_ai_roi";
|
|
10013
|
+
sizeBytes: number;
|
|
10014
|
+
/** @description sha256 of the plaintext PDF. */
|
|
10015
|
+
sha256: string;
|
|
10016
|
+
/** @description `contentHash` of the validated manifest. */
|
|
10017
|
+
manifestHash: string;
|
|
10018
|
+
/** Format: date-time */
|
|
10019
|
+
createdAt: string;
|
|
10020
|
+
/** Format: uuid */
|
|
10021
|
+
createdBy: string | null;
|
|
10022
|
+
/** Format: date-time */
|
|
10023
|
+
hiddenAt: string | null;
|
|
10024
|
+
/**
|
|
10025
|
+
* Format: date-time
|
|
10026
|
+
* @description End of the restore window. Not an erasure or backup purge date.
|
|
10027
|
+
*/
|
|
10028
|
+
restoreUntil: string | null;
|
|
10029
|
+
/** @enum {string} */
|
|
10030
|
+
status: "available" | "hidden_restorable" | "restore_window_ended";
|
|
10031
|
+
links: components["schemas"]["AssessmentReportLinkDto"][];
|
|
10032
|
+
};
|
|
10033
|
+
AssessmentReportListDto: {
|
|
10034
|
+
/** @enum {integer} */
|
|
10035
|
+
restoreWindowDays: 30;
|
|
10036
|
+
/**
|
|
10037
|
+
* @description Default and maximum secure link lifetime in days.
|
|
10038
|
+
* @enum {integer}
|
|
10039
|
+
*/
|
|
10040
|
+
secureLinkDays: 14;
|
|
10041
|
+
reports: components["schemas"]["AssessmentReportDto"][];
|
|
10042
|
+
};
|
|
10043
|
+
CreateAssessmentReportLinkBodyDto: {
|
|
10044
|
+
/**
|
|
10045
|
+
* Format: uuid
|
|
10046
|
+
* @description A current workspace member (`TeamMemberDto.id`).
|
|
10047
|
+
*/
|
|
10048
|
+
recipientUserId: string;
|
|
10049
|
+
/** @default 14 */
|
|
10050
|
+
expiresInDays: number;
|
|
10051
|
+
};
|
|
10052
|
+
CreateAssessmentReportLinkResponseDto: {
|
|
10053
|
+
link: components["schemas"]["AssessmentReportLinkDto"];
|
|
10054
|
+
/** @enum {string} */
|
|
10055
|
+
email: "sent" | "skipped_missing_smtp" | "skipped_missing_base_url" | "failed";
|
|
10056
|
+
};
|
|
10057
|
+
AssessmentReportAccessErrorDto: {
|
|
10058
|
+
error: string;
|
|
10059
|
+
/** @enum {string} */
|
|
10060
|
+
code: "leaked_token" | "removed_member" | "wrong_workspace" | "expired" | "revoked" | "invalid_grant" | "report_hidden";
|
|
10061
|
+
};
|
|
9363
10062
|
ReportCenterExportRecordResponseDto: {
|
|
9364
10063
|
/** @enum {boolean} */
|
|
9365
10064
|
ok: true;
|
|
@@ -11755,6 +12454,8 @@ export interface components {
|
|
|
11755
12454
|
};
|
|
11756
12455
|
parameters: {
|
|
11757
12456
|
WorkspaceId: string;
|
|
12457
|
+
/** @description Stored assessment report id (`tai_workspace_assessment_reports.id`). */
|
|
12458
|
+
AssessmentReportId: string;
|
|
11758
12459
|
/** @description Eval suite id (`tai_workspace_eval_suites.id`). */
|
|
11759
12460
|
EvalSuiteId: string;
|
|
11760
12461
|
/** @description Platform starter pack id (kebab-case), e.g. `pr-review`. Not a UUID. */
|
|
@@ -11844,6 +12545,8 @@ export interface components {
|
|
|
11844
12545
|
headers: never;
|
|
11845
12546
|
pathItems: never;
|
|
11846
12547
|
}
|
|
12548
|
+
export type AssessmentManifestValidationBodyDto = components['schemas']['AssessmentManifestValidationBodyDto'];
|
|
12549
|
+
export type AssessmentManifestValidationResultDto = components['schemas']['AssessmentManifestValidationResultDto'];
|
|
11847
12550
|
export type TeamsInstallUrlDto = components['schemas']['TeamsInstallUrlDto'];
|
|
11848
12551
|
export type TeamsConnectionDto = components['schemas']['TeamsConnectionDto'];
|
|
11849
12552
|
export type TeamsChannelBodyDto = components['schemas']['TeamsChannelBodyDto'];
|
|
@@ -11885,6 +12588,8 @@ export type CodeIntelligenceSourcePatchDto = components['schemas']['CodeIntellig
|
|
|
11885
12588
|
export type CodeIntelligenceSourceConfigDto = components['schemas']['CodeIntelligenceSourceConfigDto'];
|
|
11886
12589
|
export type NewRelicSourceDto = components['schemas']['NewRelicSourceDto'];
|
|
11887
12590
|
export type NewRelicSourceConfigDto = components['schemas']['NewRelicSourceConfigDto'];
|
|
12591
|
+
export type DatadogSourceDto = components['schemas']['DatadogSourceDto'];
|
|
12592
|
+
export type DatadogSourceConfigDto = components['schemas']['DatadogSourceConfigDto'];
|
|
11888
12593
|
export type PrometheusSourceDto = components['schemas']['PrometheusSourceDto'];
|
|
11889
12594
|
export type PrometheusSourceConfigDto = components['schemas']['PrometheusSourceConfigDto'];
|
|
11890
12595
|
export type GrafanaSourceDto = components['schemas']['GrafanaSourceDto'];
|
|
@@ -12073,6 +12778,12 @@ export type NdaCompletionExternalDto = components['schemas']['NdaCompletionExter
|
|
|
12073
12778
|
export type NdaExternalBodyDto = components['schemas']['NdaExternalBodyDto'];
|
|
12074
12779
|
export type ReadinessDimensionDto = components['schemas']['ReadinessDimensionDto'];
|
|
12075
12780
|
export type ReadinessDimensionId = components['schemas']['ReadinessDimensionId'];
|
|
12781
|
+
export type ExternalVcsProviderDto = components['schemas']['ExternalVcsProviderDto'];
|
|
12782
|
+
export type GitVcsSourceDto = components['schemas']['GitVcsSourceDto'];
|
|
12783
|
+
export type VcsDiscoveredRepoDto = components['schemas']['VcsDiscoveredRepoDto'];
|
|
12784
|
+
export type VcsRepoDiscoveryResponseDto = components['schemas']['VcsRepoDiscoveryResponseDto'];
|
|
12785
|
+
export type VcsProviderCoverageRowDto = components['schemas']['VcsProviderCoverageRowDto'];
|
|
12786
|
+
export type VcsProviderCoverageDto = components['schemas']['VcsProviderCoverageDto'];
|
|
12076
12787
|
export type RepoProviderDto = components['schemas']['RepoProviderDto'];
|
|
12077
12788
|
export type ReadinessAnalyzeBodyDto = components['schemas']['ReadinessAnalyzeBodyDto'];
|
|
12078
12789
|
export type ReadinessInitializeResponseDto = components['schemas']['ReadinessInitializeResponseDto'];
|
|
@@ -12214,12 +12925,29 @@ export type PutAgenticFoundationRepoScopeAppliedDto = components['schemas']['Put
|
|
|
12214
12925
|
export type PutAgenticFoundationRepoScopeFailureDto = components['schemas']['PutAgenticFoundationRepoScopeFailureDto'];
|
|
12215
12926
|
export type PutAgenticFoundationRepoScopeResponseDto = components['schemas']['PutAgenticFoundationRepoScopeResponseDto'];
|
|
12216
12927
|
export type ActivityLogEventTypeDto = components['schemas']['ActivityLogEventTypeDto'];
|
|
12217
|
-
export type UnsetAssessmentDecisionDto = components['schemas']['UnsetAssessmentDecisionDto'];
|
|
12218
12928
|
export type AggregateUseNoticeStatusDto = components['schemas']['AggregateUseNoticeStatusDto'];
|
|
12929
|
+
export type AssessmentNamedEventDto = components['schemas']['AssessmentNamedEventDto'];
|
|
12930
|
+
export type AssessmentRolloutDto = components['schemas']['AssessmentRolloutDto'];
|
|
12931
|
+
export type AssessmentRolloutPutDto = components['schemas']['AssessmentRolloutPutDto'];
|
|
12932
|
+
export type AssessmentRoiReasonDto = components['schemas']['AssessmentRoiReasonDto'];
|
|
12933
|
+
export type AssessmentRoiDayRangeDto = components['schemas']['AssessmentRoiDayRangeDto'];
|
|
12934
|
+
export type AssessmentRoiWindowDto = components['schemas']['AssessmentRoiWindowDto'];
|
|
12935
|
+
export type AssessmentRoiDto = components['schemas']['AssessmentRoiDto'];
|
|
12219
12936
|
export type AggregateUseConsentDto = components['schemas']['AggregateUseConsentDto'];
|
|
12220
12937
|
export type AggregateUseConsentPutDto = components['schemas']['AggregateUseConsentPutDto'];
|
|
12221
12938
|
export type AssessmentDictionaryDto = components['schemas']['AssessmentDictionaryDto'];
|
|
12222
12939
|
export type ReportCenterExportRecordBodyDto = components['schemas']['ReportCenterExportRecordBodyDto'];
|
|
12940
|
+
export type StoreAssessmentReportBodyDto = components['schemas']['StoreAssessmentReportBodyDto'];
|
|
12941
|
+
export type BuildAssessmentManifestBodyDto = components['schemas']['BuildAssessmentManifestBodyDto'];
|
|
12942
|
+
export type PrintedAssessmentRoiDto = components['schemas']['PrintedAssessmentRoiDto'];
|
|
12943
|
+
export type BuildAssessmentManifestResponseDto = components['schemas']['BuildAssessmentManifestResponseDto'];
|
|
12944
|
+
export type StoreAssessmentReportRejectedDto = components['schemas']['StoreAssessmentReportRejectedDto'];
|
|
12945
|
+
export type AssessmentReportLinkDto = components['schemas']['AssessmentReportLinkDto'];
|
|
12946
|
+
export type AssessmentReportDto = components['schemas']['AssessmentReportDto'];
|
|
12947
|
+
export type AssessmentReportListDto = components['schemas']['AssessmentReportListDto'];
|
|
12948
|
+
export type CreateAssessmentReportLinkBodyDto = components['schemas']['CreateAssessmentReportLinkBodyDto'];
|
|
12949
|
+
export type CreateAssessmentReportLinkResponseDto = components['schemas']['CreateAssessmentReportLinkResponseDto'];
|
|
12950
|
+
export type AssessmentReportAccessErrorDto = components['schemas']['AssessmentReportAccessErrorDto'];
|
|
12223
12951
|
export type ReportCenterExportRecordResponseDto = components['schemas']['ReportCenterExportRecordResponseDto'];
|
|
12224
12952
|
export type ActivityLogActorDto = components['schemas']['ActivityLogActorDto'];
|
|
12225
12953
|
export type ActivityLogEntryDto = components['schemas']['ActivityLogEntryDto'];
|
|
@@ -12448,6 +13176,7 @@ export type ResponseUnauthorized = components['responses']['Unauthorized'];
|
|
|
12448
13176
|
export type ResponseForbidden = components['responses']['Forbidden'];
|
|
12449
13177
|
export type ResponseZenHrSyncInProgress = components['responses']['ZenHrSyncInProgress'];
|
|
12450
13178
|
export type ParameterWorkspaceId = components['parameters']['WorkspaceId'];
|
|
13179
|
+
export type ParameterAssessmentReportId = components['parameters']['AssessmentReportId'];
|
|
12451
13180
|
export type ParameterEvalSuiteId = components['parameters']['EvalSuiteId'];
|
|
12452
13181
|
export type ParameterEvalPackId = components['parameters']['EvalPackId'];
|
|
12453
13182
|
export type ParameterEvalRunId = components['parameters']['EvalRunId'];
|
|
@@ -12918,6 +13647,11 @@ export interface operations {
|
|
|
12918
13647
|
label: string;
|
|
12919
13648
|
href: string | null;
|
|
12920
13649
|
} | null;
|
|
13650
|
+
/**
|
|
13651
|
+
* Format: date
|
|
13652
|
+
* @description America/New_York day the five-business-day clock started.
|
|
13653
|
+
*/
|
|
13654
|
+
clockStartedOn: string | null;
|
|
12921
13655
|
/** Format: date */
|
|
12922
13656
|
dueDate: string | null;
|
|
12923
13657
|
/** Format: date-time */
|
|
@@ -12961,68 +13695,7 @@ export interface operations {
|
|
|
12961
13695
|
};
|
|
12962
13696
|
requestBody: {
|
|
12963
13697
|
content: {
|
|
12964
|
-
"application/json":
|
|
12965
|
-
manifest: {
|
|
12966
|
-
/** @enum {string} */
|
|
12967
|
-
offerId: "engineering_readiness_baseline" | "agentic_ai_roi";
|
|
12968
|
-
dictionaryVersion: string;
|
|
12969
|
-
/** @enum {string} */
|
|
12970
|
-
validation: "validated" | "not_validated";
|
|
12971
|
-
/** @enum {string} */
|
|
12972
|
-
shareMode: "internal" | "external";
|
|
12973
|
-
/** @enum {string|null} */
|
|
12974
|
-
watermark: "NOT VALIDATED" | "SAMPLE · SYNTHETIC DATA" | null;
|
|
12975
|
-
scope: {
|
|
12976
|
-
repositories: {
|
|
12977
|
-
id: string;
|
|
12978
|
-
name: string;
|
|
12979
|
-
}[];
|
|
12980
|
-
excluded: {
|
|
12981
|
-
id: string;
|
|
12982
|
-
name: string;
|
|
12983
|
-
reason: string;
|
|
12984
|
-
}[];
|
|
12985
|
-
};
|
|
12986
|
-
windows: {
|
|
12987
|
-
pre: {
|
|
12988
|
-
start: string;
|
|
12989
|
-
end: string;
|
|
12990
|
-
} | null;
|
|
12991
|
-
post: {
|
|
12992
|
-
start: string;
|
|
12993
|
-
end: string;
|
|
12994
|
-
} | null;
|
|
12995
|
-
transitionDays: number;
|
|
12996
|
-
};
|
|
12997
|
-
sources: {
|
|
12998
|
-
provider: string;
|
|
12999
|
-
status: string;
|
|
13000
|
-
freshAt: string | null;
|
|
13001
|
-
}[];
|
|
13002
|
-
consent: {
|
|
13003
|
-
/** @enum {string} */
|
|
13004
|
-
aggregateUse: "opt_in" | "opt_out" | "unset";
|
|
13005
|
-
recordedAt: string | null;
|
|
13006
|
-
};
|
|
13007
|
-
sections: {
|
|
13008
|
-
id: string;
|
|
13009
|
-
/** @enum {string} */
|
|
13010
|
-
status: "ok" | "failed" | "omitted";
|
|
13011
|
-
reason?: string;
|
|
13012
|
-
}[];
|
|
13013
|
-
};
|
|
13014
|
-
workspaceId: string;
|
|
13015
|
-
expectedWorkspaceId: string;
|
|
13016
|
-
expectedRepositoryIds: string[];
|
|
13017
|
-
soldWindowComplete: boolean;
|
|
13018
|
-
premiumAiAssessable: boolean;
|
|
13019
|
-
namedPersonSectionIds: string[];
|
|
13020
|
-
tolerances: {
|
|
13021
|
-
id: string;
|
|
13022
|
-
/** @enum {string} */
|
|
13023
|
-
status: "unset" | "exceeded" | "within";
|
|
13024
|
-
}[];
|
|
13025
|
-
};
|
|
13698
|
+
"application/json": components["schemas"]["AssessmentManifestValidationBodyDto"];
|
|
13026
13699
|
};
|
|
13027
13700
|
};
|
|
13028
13701
|
responses: {
|
|
@@ -13032,18 +13705,7 @@ export interface operations {
|
|
|
13032
13705
|
[name: string]: unknown;
|
|
13033
13706
|
};
|
|
13034
13707
|
content: {
|
|
13035
|
-
"application/json":
|
|
13036
|
-
buyerDeliverable: boolean;
|
|
13037
|
-
/** @enum {string} */
|
|
13038
|
-
validation: "validated" | "not_validated";
|
|
13039
|
-
/** @enum {string|null} */
|
|
13040
|
-
watermark: "NOT VALIDATED" | null;
|
|
13041
|
-
reasons: {
|
|
13042
|
-
code: string;
|
|
13043
|
-
message: string;
|
|
13044
|
-
}[];
|
|
13045
|
-
contentHash: string;
|
|
13046
|
-
};
|
|
13708
|
+
"application/json": components["schemas"]["AssessmentManifestValidationResultDto"];
|
|
13047
13709
|
};
|
|
13048
13710
|
};
|
|
13049
13711
|
/** @description Body failed validation. */
|
|
@@ -13087,102 +13749,48 @@ export interface operations {
|
|
|
13087
13749
|
};
|
|
13088
13750
|
};
|
|
13089
13751
|
};
|
|
13090
|
-
|
|
13752
|
+
validateWorkspaceAssessmentManifest: {
|
|
13091
13753
|
parameters: {
|
|
13092
|
-
query?:
|
|
13093
|
-
/** @description Filter by workspace UUID. */
|
|
13094
|
-
workspaceId?: string;
|
|
13095
|
-
/** @description Filter by repository slug (e.g. `owner/repo`). */
|
|
13096
|
-
providerSlug?: string;
|
|
13097
|
-
/** @description Filter by operation type. */
|
|
13098
|
-
operation?: "readiness_analysis" | "readiness_fix";
|
|
13099
|
-
/** @description Include only rows created at or after this ISO-8601 timestamp. */
|
|
13100
|
-
from?: string;
|
|
13101
|
-
/** @description Include only rows created at or before this ISO-8601 timestamp. */
|
|
13102
|
-
to?: string;
|
|
13103
|
-
/** @description Maximum number of rows to return (default 200, max 1000). */
|
|
13104
|
-
limit?: number;
|
|
13105
|
-
};
|
|
13754
|
+
query?: never;
|
|
13106
13755
|
header?: never;
|
|
13107
|
-
path
|
|
13756
|
+
path: {
|
|
13757
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
13758
|
+
};
|
|
13108
13759
|
cookie?: never;
|
|
13109
13760
|
};
|
|
13110
|
-
requestBody
|
|
13761
|
+
requestBody: {
|
|
13762
|
+
content: {
|
|
13763
|
+
"application/json": components["schemas"]["AssessmentManifestValidationBodyDto"];
|
|
13764
|
+
};
|
|
13765
|
+
};
|
|
13111
13766
|
responses: {
|
|
13112
|
-
/** @description
|
|
13767
|
+
/** @description Validation result. Client validation and watermark inputs are ignored. */
|
|
13113
13768
|
200: {
|
|
13114
13769
|
headers: {
|
|
13115
13770
|
[name: string]: unknown;
|
|
13116
13771
|
};
|
|
13117
13772
|
content: {
|
|
13118
|
-
"application/json":
|
|
13119
|
-
rows: components["schemas"]["ReadinessTokenUsageRowDto"][];
|
|
13120
|
-
};
|
|
13121
|
-
};
|
|
13122
|
-
};
|
|
13123
|
-
/** @description Missing or invalid JWT. */
|
|
13124
|
-
401: {
|
|
13125
|
-
headers: {
|
|
13126
|
-
[name: string]: unknown;
|
|
13127
|
-
};
|
|
13128
|
-
content: {
|
|
13129
|
-
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
13773
|
+
"application/json": components["schemas"]["AssessmentManifestValidationResultDto"];
|
|
13130
13774
|
};
|
|
13131
13775
|
};
|
|
13132
|
-
/** @description
|
|
13133
|
-
|
|
13776
|
+
/** @description Body failed validation. */
|
|
13777
|
+
400: {
|
|
13134
13778
|
headers: {
|
|
13135
13779
|
[name: string]: unknown;
|
|
13136
13780
|
};
|
|
13137
13781
|
content: {
|
|
13138
13782
|
/**
|
|
13139
13783
|
* @example {
|
|
13140
|
-
* "error": "
|
|
13141
|
-
* "code": "
|
|
13784
|
+
* "error": "manifest.offerId is not a known assessment offer",
|
|
13785
|
+
* "code": "invalid_body"
|
|
13142
13786
|
* }
|
|
13143
13787
|
*/
|
|
13144
13788
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
13145
13789
|
};
|
|
13146
13790
|
};
|
|
13147
|
-
|
|
13148
|
-
|
|
13149
|
-
|
|
13150
|
-
parameters: {
|
|
13151
|
-
query?: {
|
|
13152
|
-
/** @description Filter by workspace UUID. */
|
|
13153
|
-
workspaceId?: string;
|
|
13154
|
-
/** @description Filter by repository slug (e.g. `owner/repo`). */
|
|
13155
|
-
providerSlug?: string;
|
|
13156
|
-
/** @description Filter by operation type. */
|
|
13157
|
-
operation?: "readiness_analysis" | "readiness_fix";
|
|
13158
|
-
/** @description Filter by a specific readiness dimension ID. */
|
|
13159
|
-
dimensionId?: string;
|
|
13160
|
-
/** @description Include only rows whose last activity is at or after this ISO-8601 timestamp. */
|
|
13161
|
-
from?: string;
|
|
13162
|
-
/** @description Include only rows whose first activity is at or before this ISO-8601 timestamp. */
|
|
13163
|
-
to?: string;
|
|
13164
|
-
/** @description Maximum number of rows to return (default 200, max 500). */
|
|
13165
|
-
limit?: number;
|
|
13166
|
-
};
|
|
13167
|
-
header?: never;
|
|
13168
|
-
path?: never;
|
|
13169
|
-
cookie?: never;
|
|
13170
|
-
};
|
|
13171
|
-
requestBody?: never;
|
|
13172
|
-
responses: {
|
|
13173
|
-
/** @description Token usage grouped by operation and dimension. */
|
|
13174
|
-
200: {
|
|
13175
|
-
headers: {
|
|
13176
|
-
[name: string]: unknown;
|
|
13177
|
-
};
|
|
13178
|
-
content: {
|
|
13179
|
-
"application/json": {
|
|
13180
|
-
rows: components["schemas"]["ReadinessTokenUsageByDimensionRowDto"][];
|
|
13181
|
-
};
|
|
13182
|
-
};
|
|
13183
|
-
};
|
|
13184
|
-
/** @description Missing or invalid JWT. */
|
|
13185
|
-
401: {
|
|
13791
|
+
401: components["responses"]["Unauthorized"];
|
|
13792
|
+
/** @description Caller cannot validate this workspace. */
|
|
13793
|
+
403: {
|
|
13186
13794
|
headers: {
|
|
13187
13795
|
[name: string]: unknown;
|
|
13188
13796
|
};
|
|
@@ -13190,16 +13798,15 @@ export interface operations {
|
|
|
13190
13798
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
13191
13799
|
};
|
|
13192
13800
|
};
|
|
13193
|
-
/** @description
|
|
13194
|
-
|
|
13801
|
+
/** @description Workspace does not exist. */
|
|
13802
|
+
404: {
|
|
13195
13803
|
headers: {
|
|
13196
13804
|
[name: string]: unknown;
|
|
13197
13805
|
};
|
|
13198
13806
|
content: {
|
|
13199
13807
|
/**
|
|
13200
13808
|
* @example {
|
|
13201
|
-
* "error": "
|
|
13202
|
-
* "code": "forbidden"
|
|
13809
|
+
* "error": "Not found"
|
|
13203
13810
|
* }
|
|
13204
13811
|
*/
|
|
13205
13812
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
@@ -13207,29 +13814,31 @@ export interface operations {
|
|
|
13207
13814
|
};
|
|
13208
13815
|
};
|
|
13209
13816
|
};
|
|
13210
|
-
|
|
13817
|
+
buildWorkspaceAssessmentManifest: {
|
|
13211
13818
|
parameters: {
|
|
13212
13819
|
query?: never;
|
|
13213
13820
|
header?: never;
|
|
13214
|
-
path
|
|
13821
|
+
path: {
|
|
13822
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
13823
|
+
};
|
|
13215
13824
|
cookie?: never;
|
|
13216
13825
|
};
|
|
13217
13826
|
requestBody: {
|
|
13218
13827
|
content: {
|
|
13219
|
-
"application/json": components["schemas"]["
|
|
13828
|
+
"application/json": components["schemas"]["BuildAssessmentManifestBodyDto"];
|
|
13220
13829
|
};
|
|
13221
13830
|
};
|
|
13222
13831
|
responses: {
|
|
13223
|
-
/** @description
|
|
13224
|
-
|
|
13832
|
+
/** @description Server-built manifest body and its validation result. */
|
|
13833
|
+
200: {
|
|
13225
13834
|
headers: {
|
|
13226
13835
|
[name: string]: unknown;
|
|
13227
13836
|
};
|
|
13228
13837
|
content: {
|
|
13229
|
-
"application/json": components["schemas"]["
|
|
13838
|
+
"application/json": components["schemas"]["BuildAssessmentManifestResponseDto"];
|
|
13230
13839
|
};
|
|
13231
13840
|
};
|
|
13232
|
-
/** @description
|
|
13841
|
+
/** @description Body failed validation. */
|
|
13233
13842
|
400: {
|
|
13234
13843
|
headers: {
|
|
13235
13844
|
[name: string]: unknown;
|
|
@@ -13237,30 +13846,234 @@ export interface operations {
|
|
|
13237
13846
|
content: {
|
|
13238
13847
|
/**
|
|
13239
13848
|
* @example {
|
|
13240
|
-
* "error": "
|
|
13241
|
-
* "code": "
|
|
13849
|
+
* "error": "offerId is not a known assessment offer",
|
|
13850
|
+
* "code": "invalid_body"
|
|
13242
13851
|
* }
|
|
13243
13852
|
*/
|
|
13244
13853
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
13245
13854
|
};
|
|
13246
13855
|
};
|
|
13247
|
-
|
|
13248
|
-
|
|
13856
|
+
401: components["responses"]["Unauthorized"];
|
|
13857
|
+
/** @description Caller cannot build this workspace's manifest. */
|
|
13858
|
+
403: {
|
|
13249
13859
|
headers: {
|
|
13250
13860
|
[name: string]: unknown;
|
|
13251
13861
|
};
|
|
13252
13862
|
content: {
|
|
13253
13863
|
/**
|
|
13254
13864
|
* @example {
|
|
13255
|
-
* "error": "
|
|
13256
|
-
* "code": "
|
|
13865
|
+
* "error": "Forbidden",
|
|
13866
|
+
* "code": "workspace_admin_required"
|
|
13257
13867
|
* }
|
|
13258
13868
|
*/
|
|
13259
13869
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
13260
13870
|
};
|
|
13261
13871
|
};
|
|
13262
|
-
/** @description
|
|
13263
|
-
|
|
13872
|
+
/** @description Workspace does not exist. */
|
|
13873
|
+
404: {
|
|
13874
|
+
headers: {
|
|
13875
|
+
[name: string]: unknown;
|
|
13876
|
+
};
|
|
13877
|
+
content: {
|
|
13878
|
+
/**
|
|
13879
|
+
* @example {
|
|
13880
|
+
* "error": "Not found"
|
|
13881
|
+
* }
|
|
13882
|
+
*/
|
|
13883
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
13884
|
+
};
|
|
13885
|
+
};
|
|
13886
|
+
/** @description Stored evidence could not be loaded (no database or a load failure). */
|
|
13887
|
+
503: {
|
|
13888
|
+
headers: {
|
|
13889
|
+
[name: string]: unknown;
|
|
13890
|
+
};
|
|
13891
|
+
content: {
|
|
13892
|
+
/**
|
|
13893
|
+
* @example {
|
|
13894
|
+
* "error": "Service unavailable",
|
|
13895
|
+
* "code": "evidence_unavailable"
|
|
13896
|
+
* }
|
|
13897
|
+
*/
|
|
13898
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
13899
|
+
};
|
|
13900
|
+
};
|
|
13901
|
+
};
|
|
13902
|
+
};
|
|
13903
|
+
adminListReadinessTokenUsage: {
|
|
13904
|
+
parameters: {
|
|
13905
|
+
query?: {
|
|
13906
|
+
/** @description Filter by workspace UUID. */
|
|
13907
|
+
workspaceId?: string;
|
|
13908
|
+
/** @description Filter by repository slug (e.g. `owner/repo`). */
|
|
13909
|
+
providerSlug?: string;
|
|
13910
|
+
/** @description Filter by operation type. */
|
|
13911
|
+
operation?: "readiness_analysis" | "readiness_fix";
|
|
13912
|
+
/** @description Include only rows created at or after this ISO-8601 timestamp. */
|
|
13913
|
+
from?: string;
|
|
13914
|
+
/** @description Include only rows created at or before this ISO-8601 timestamp. */
|
|
13915
|
+
to?: string;
|
|
13916
|
+
/** @description Maximum number of rows to return (default 200, max 1000). */
|
|
13917
|
+
limit?: number;
|
|
13918
|
+
};
|
|
13919
|
+
header?: never;
|
|
13920
|
+
path?: never;
|
|
13921
|
+
cookie?: never;
|
|
13922
|
+
};
|
|
13923
|
+
requestBody?: never;
|
|
13924
|
+
responses: {
|
|
13925
|
+
/** @description Token usage rows, newest first. */
|
|
13926
|
+
200: {
|
|
13927
|
+
headers: {
|
|
13928
|
+
[name: string]: unknown;
|
|
13929
|
+
};
|
|
13930
|
+
content: {
|
|
13931
|
+
"application/json": {
|
|
13932
|
+
rows: components["schemas"]["ReadinessTokenUsageRowDto"][];
|
|
13933
|
+
};
|
|
13934
|
+
};
|
|
13935
|
+
};
|
|
13936
|
+
/** @description Missing or invalid JWT. */
|
|
13937
|
+
401: {
|
|
13938
|
+
headers: {
|
|
13939
|
+
[name: string]: unknown;
|
|
13940
|
+
};
|
|
13941
|
+
content: {
|
|
13942
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
13943
|
+
};
|
|
13944
|
+
};
|
|
13945
|
+
/** @description Caller is not a platform admin. */
|
|
13946
|
+
403: {
|
|
13947
|
+
headers: {
|
|
13948
|
+
[name: string]: unknown;
|
|
13949
|
+
};
|
|
13950
|
+
content: {
|
|
13951
|
+
/**
|
|
13952
|
+
* @example {
|
|
13953
|
+
* "error": "Forbidden",
|
|
13954
|
+
* "code": "forbidden"
|
|
13955
|
+
* }
|
|
13956
|
+
*/
|
|
13957
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
13958
|
+
};
|
|
13959
|
+
};
|
|
13960
|
+
};
|
|
13961
|
+
};
|
|
13962
|
+
adminListReadinessTokenUsageByDimension: {
|
|
13963
|
+
parameters: {
|
|
13964
|
+
query?: {
|
|
13965
|
+
/** @description Filter by workspace UUID. */
|
|
13966
|
+
workspaceId?: string;
|
|
13967
|
+
/** @description Filter by repository slug (e.g. `owner/repo`). */
|
|
13968
|
+
providerSlug?: string;
|
|
13969
|
+
/** @description Filter by operation type. */
|
|
13970
|
+
operation?: "readiness_analysis" | "readiness_fix";
|
|
13971
|
+
/** @description Filter by a specific readiness dimension ID. */
|
|
13972
|
+
dimensionId?: string;
|
|
13973
|
+
/** @description Include only rows whose last activity is at or after this ISO-8601 timestamp. */
|
|
13974
|
+
from?: string;
|
|
13975
|
+
/** @description Include only rows whose first activity is at or before this ISO-8601 timestamp. */
|
|
13976
|
+
to?: string;
|
|
13977
|
+
/** @description Maximum number of rows to return (default 200, max 500). */
|
|
13978
|
+
limit?: number;
|
|
13979
|
+
};
|
|
13980
|
+
header?: never;
|
|
13981
|
+
path?: never;
|
|
13982
|
+
cookie?: never;
|
|
13983
|
+
};
|
|
13984
|
+
requestBody?: never;
|
|
13985
|
+
responses: {
|
|
13986
|
+
/** @description Token usage grouped by operation and dimension. */
|
|
13987
|
+
200: {
|
|
13988
|
+
headers: {
|
|
13989
|
+
[name: string]: unknown;
|
|
13990
|
+
};
|
|
13991
|
+
content: {
|
|
13992
|
+
"application/json": {
|
|
13993
|
+
rows: components["schemas"]["ReadinessTokenUsageByDimensionRowDto"][];
|
|
13994
|
+
};
|
|
13995
|
+
};
|
|
13996
|
+
};
|
|
13997
|
+
/** @description Missing or invalid JWT. */
|
|
13998
|
+
401: {
|
|
13999
|
+
headers: {
|
|
14000
|
+
[name: string]: unknown;
|
|
14001
|
+
};
|
|
14002
|
+
content: {
|
|
14003
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14004
|
+
};
|
|
14005
|
+
};
|
|
14006
|
+
/** @description Caller is not a platform admin. */
|
|
14007
|
+
403: {
|
|
14008
|
+
headers: {
|
|
14009
|
+
[name: string]: unknown;
|
|
14010
|
+
};
|
|
14011
|
+
content: {
|
|
14012
|
+
/**
|
|
14013
|
+
* @example {
|
|
14014
|
+
* "error": "Forbidden",
|
|
14015
|
+
* "code": "forbidden"
|
|
14016
|
+
* }
|
|
14017
|
+
*/
|
|
14018
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14019
|
+
};
|
|
14020
|
+
};
|
|
14021
|
+
};
|
|
14022
|
+
};
|
|
14023
|
+
submitPublicPrivacyRequest: {
|
|
14024
|
+
parameters: {
|
|
14025
|
+
query?: never;
|
|
14026
|
+
header?: never;
|
|
14027
|
+
path?: never;
|
|
14028
|
+
cookie?: never;
|
|
14029
|
+
};
|
|
14030
|
+
requestBody: {
|
|
14031
|
+
content: {
|
|
14032
|
+
"application/json": components["schemas"]["CreatePrivacyRequestBodyDto"];
|
|
14033
|
+
};
|
|
14034
|
+
};
|
|
14035
|
+
responses: {
|
|
14036
|
+
/** @description Request accepted and queued for privacy ops. */
|
|
14037
|
+
201: {
|
|
14038
|
+
headers: {
|
|
14039
|
+
[name: string]: unknown;
|
|
14040
|
+
};
|
|
14041
|
+
content: {
|
|
14042
|
+
"application/json": components["schemas"]["CreatePrivacyRequestResultDto"];
|
|
14043
|
+
};
|
|
14044
|
+
};
|
|
14045
|
+
/** @description Missing or invalid email, unknown request type, or details too long. */
|
|
14046
|
+
400: {
|
|
14047
|
+
headers: {
|
|
14048
|
+
[name: string]: unknown;
|
|
14049
|
+
};
|
|
14050
|
+
content: {
|
|
14051
|
+
/**
|
|
14052
|
+
* @example {
|
|
14053
|
+
* "error": "A valid email is required",
|
|
14054
|
+
* "code": "invalid_email"
|
|
14055
|
+
* }
|
|
14056
|
+
*/
|
|
14057
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14058
|
+
};
|
|
14059
|
+
};
|
|
14060
|
+
/** @description An open request for this email and type already exists. */
|
|
14061
|
+
409: {
|
|
14062
|
+
headers: {
|
|
14063
|
+
[name: string]: unknown;
|
|
14064
|
+
};
|
|
14065
|
+
content: {
|
|
14066
|
+
/**
|
|
14067
|
+
* @example {
|
|
14068
|
+
* "error": "An open request for this email already exists",
|
|
14069
|
+
* "code": "duplicate_open_request"
|
|
14070
|
+
* }
|
|
14071
|
+
*/
|
|
14072
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14073
|
+
};
|
|
14074
|
+
};
|
|
14075
|
+
/** @description Too many submissions from this client; retry later. */
|
|
14076
|
+
429: {
|
|
13264
14077
|
headers: {
|
|
13265
14078
|
[name: string]: unknown;
|
|
13266
14079
|
};
|
|
@@ -14783,7 +15596,7 @@ export interface operations {
|
|
|
14783
15596
|
requestBody: {
|
|
14784
15597
|
content: {
|
|
14785
15598
|
"application/json": {
|
|
14786
|
-
sources: (components["schemas"]["CursorSourcePatchDto"] | components["schemas"]["CursorSourceDto"] | components["schemas"]["ClaudeSourcePatchDto"] | components["schemas"]["ClaudeSourceDto"] | components["schemas"]["CodeIntelligenceSourcePatchDto"] | components["schemas"]["NewRelicSourceDto"] | components["schemas"]["PrometheusSourceDto"] | components["schemas"]["GrafanaSourceDto"] | components["schemas"]["SonarQubeSourceDto"] | components["schemas"]["PagerDutySourceDto"] | components["schemas"]["JiraSourceDto"] | components["schemas"]["TenantSourceEntryDto"])[];
|
|
15599
|
+
sources: (components["schemas"]["CursorSourcePatchDto"] | components["schemas"]["CursorSourceDto"] | components["schemas"]["ClaudeSourcePatchDto"] | components["schemas"]["ClaudeSourceDto"] | components["schemas"]["CodeIntelligenceSourcePatchDto"] | components["schemas"]["NewRelicSourceDto"] | components["schemas"]["DatadogSourceDto"] | components["schemas"]["PrometheusSourceDto"] | components["schemas"]["GrafanaSourceDto"] | components["schemas"]["SonarQubeSourceDto"] | components["schemas"]["PagerDutySourceDto"] | components["schemas"]["JiraSourceDto"] | components["schemas"]["TenantSourceEntryDto"])[];
|
|
14787
15600
|
};
|
|
14788
15601
|
};
|
|
14789
15602
|
};
|
|
@@ -14837,7 +15650,7 @@ export interface operations {
|
|
|
14837
15650
|
};
|
|
14838
15651
|
requestBody: {
|
|
14839
15652
|
content: {
|
|
14840
|
-
"application/json": components["schemas"]["CursorSourcePatchDto"] | components["schemas"]["CursorSourceDto"] | components["schemas"]["ClaudeSourcePatchDto"] | components["schemas"]["ClaudeSourceDto"] | components["schemas"]["CodeIntelligenceSourcePatchDto"] | components["schemas"]["NewRelicSourceDto"] | components["schemas"]["PrometheusSourceDto"] | components["schemas"]["GrafanaSourceDto"] | components["schemas"]["SonarQubeSourceDto"] | components["schemas"]["PagerDutySourceDto"] | components["schemas"]["JiraSourceDto"] | components["schemas"]["TenantSourceEntryDto"];
|
|
15653
|
+
"application/json": components["schemas"]["CursorSourcePatchDto"] | components["schemas"]["CursorSourceDto"] | components["schemas"]["ClaudeSourcePatchDto"] | components["schemas"]["ClaudeSourceDto"] | components["schemas"]["CodeIntelligenceSourcePatchDto"] | components["schemas"]["NewRelicSourceDto"] | components["schemas"]["DatadogSourceDto"] | components["schemas"]["PrometheusSourceDto"] | components["schemas"]["GrafanaSourceDto"] | components["schemas"]["SonarQubeSourceDto"] | components["schemas"]["PagerDutySourceDto"] | components["schemas"]["JiraSourceDto"] | components["schemas"]["TenantSourceEntryDto"];
|
|
14841
15654
|
};
|
|
14842
15655
|
};
|
|
14843
15656
|
responses: {
|
|
@@ -19263,22 +20076,544 @@ export interface operations {
|
|
|
19263
20076
|
header?: never;
|
|
19264
20077
|
path: {
|
|
19265
20078
|
workspaceId: components["parameters"]["WorkspaceId"];
|
|
19266
|
-
repoId: components["parameters"]["RepoId"];
|
|
20079
|
+
repoId: components["parameters"]["RepoId"];
|
|
20080
|
+
};
|
|
20081
|
+
cookie?: never;
|
|
20082
|
+
};
|
|
20083
|
+
requestBody?: never;
|
|
20084
|
+
responses: {
|
|
20085
|
+
/** @description Markdown file of readiness issues */
|
|
20086
|
+
200: {
|
|
20087
|
+
headers: {
|
|
20088
|
+
[name: string]: unknown;
|
|
20089
|
+
};
|
|
20090
|
+
content: {
|
|
20091
|
+
"text/markdown": string;
|
|
20092
|
+
};
|
|
20093
|
+
};
|
|
20094
|
+
/** @description Malformed `repoId` or invalid query parameters */
|
|
20095
|
+
400: {
|
|
20096
|
+
headers: {
|
|
20097
|
+
[name: string]: unknown;
|
|
20098
|
+
};
|
|
20099
|
+
content: {
|
|
20100
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20101
|
+
};
|
|
20102
|
+
};
|
|
20103
|
+
401: components["responses"]["Unauthorized"];
|
|
20104
|
+
403: components["responses"]["Forbidden"];
|
|
20105
|
+
/** @description Workspace or repository not found */
|
|
20106
|
+
404: {
|
|
20107
|
+
headers: {
|
|
20108
|
+
[name: string]: unknown;
|
|
20109
|
+
};
|
|
20110
|
+
content: {
|
|
20111
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20112
|
+
};
|
|
20113
|
+
};
|
|
20114
|
+
};
|
|
20115
|
+
};
|
|
20116
|
+
listReadinessRepoRuns: {
|
|
20117
|
+
parameters: {
|
|
20118
|
+
query?: {
|
|
20119
|
+
limit?: number;
|
|
20120
|
+
order?: "asc" | "desc";
|
|
20121
|
+
/** @description Opaque cursor from a prior response `nextCursor` field. */
|
|
20122
|
+
cursor?: string;
|
|
20123
|
+
};
|
|
20124
|
+
header?: never;
|
|
20125
|
+
path: {
|
|
20126
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20127
|
+
repoId: components["parameters"]["RepoId"];
|
|
20128
|
+
};
|
|
20129
|
+
cookie?: never;
|
|
20130
|
+
};
|
|
20131
|
+
requestBody?: never;
|
|
20132
|
+
responses: {
|
|
20133
|
+
/** @description Run history page */
|
|
20134
|
+
200: {
|
|
20135
|
+
headers: {
|
|
20136
|
+
[name: string]: unknown;
|
|
20137
|
+
};
|
|
20138
|
+
content: {
|
|
20139
|
+
"application/json": components["schemas"]["ReadinessRepoRunListDto"];
|
|
20140
|
+
};
|
|
20141
|
+
};
|
|
20142
|
+
/** @description Invalid pagination query */
|
|
20143
|
+
400: {
|
|
20144
|
+
headers: {
|
|
20145
|
+
[name: string]: unknown;
|
|
20146
|
+
};
|
|
20147
|
+
content: {
|
|
20148
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20149
|
+
};
|
|
20150
|
+
};
|
|
20151
|
+
401: components["responses"]["Unauthorized"];
|
|
20152
|
+
403: components["responses"]["Forbidden"];
|
|
20153
|
+
/** @description Workspace or repository not found */
|
|
20154
|
+
404: {
|
|
20155
|
+
headers: {
|
|
20156
|
+
[name: string]: unknown;
|
|
20157
|
+
};
|
|
20158
|
+
content: {
|
|
20159
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20160
|
+
};
|
|
20161
|
+
};
|
|
20162
|
+
};
|
|
20163
|
+
};
|
|
20164
|
+
listReadinessAudit: {
|
|
20165
|
+
parameters: {
|
|
20166
|
+
query?: {
|
|
20167
|
+
limit?: number;
|
|
20168
|
+
offset?: number;
|
|
20169
|
+
order?: "asc" | "desc";
|
|
20170
|
+
/** @description Sort column for the activity feed. */
|
|
20171
|
+
sort?: "occurredAt" | "actorName" | "repoName" | "eventType" | "dimensionId";
|
|
20172
|
+
/** @description Case-insensitive match on actor name or email. */
|
|
20173
|
+
search?: string;
|
|
20174
|
+
eventType?: components["schemas"]["ReadinessAuditEventType"];
|
|
20175
|
+
dimensionId?: components["schemas"]["ReadinessDimensionId"];
|
|
20176
|
+
repoId?: string;
|
|
20177
|
+
/** @description ISO-8601 lower bound on `occurredAt` (inclusive). */
|
|
20178
|
+
since?: string;
|
|
20179
|
+
};
|
|
20180
|
+
header?: never;
|
|
20181
|
+
path: {
|
|
20182
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20183
|
+
};
|
|
20184
|
+
cookie?: never;
|
|
20185
|
+
};
|
|
20186
|
+
requestBody?: never;
|
|
20187
|
+
responses: {
|
|
20188
|
+
/** @description Paginated audit entries */
|
|
20189
|
+
200: {
|
|
20190
|
+
headers: {
|
|
20191
|
+
[name: string]: unknown;
|
|
20192
|
+
};
|
|
20193
|
+
content: {
|
|
20194
|
+
"application/json": components["schemas"]["ReadinessAuditListDto"];
|
|
20195
|
+
};
|
|
20196
|
+
};
|
|
20197
|
+
/** @description Invalid query */
|
|
20198
|
+
400: {
|
|
20199
|
+
headers: {
|
|
20200
|
+
[name: string]: unknown;
|
|
20201
|
+
};
|
|
20202
|
+
content: {
|
|
20203
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20204
|
+
};
|
|
20205
|
+
};
|
|
20206
|
+
401: components["responses"]["Unauthorized"];
|
|
20207
|
+
403: components["responses"]["Forbidden"];
|
|
20208
|
+
/** @description Workspace does not exist */
|
|
20209
|
+
404: {
|
|
20210
|
+
headers: {
|
|
20211
|
+
[name: string]: unknown;
|
|
20212
|
+
};
|
|
20213
|
+
content: {
|
|
20214
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20215
|
+
};
|
|
20216
|
+
};
|
|
20217
|
+
};
|
|
20218
|
+
};
|
|
20219
|
+
getAssessmentDictionary: {
|
|
20220
|
+
parameters: {
|
|
20221
|
+
query?: never;
|
|
20222
|
+
header?: never;
|
|
20223
|
+
path: {
|
|
20224
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20225
|
+
};
|
|
20226
|
+
cookie?: never;
|
|
20227
|
+
};
|
|
20228
|
+
requestBody?: never;
|
|
20229
|
+
responses: {
|
|
20230
|
+
/** @description Current assessment dictionary */
|
|
20231
|
+
200: {
|
|
20232
|
+
headers: {
|
|
20233
|
+
[name: string]: unknown;
|
|
20234
|
+
};
|
|
20235
|
+
content: {
|
|
20236
|
+
"application/json": components["schemas"]["AssessmentDictionaryDto"];
|
|
20237
|
+
};
|
|
20238
|
+
};
|
|
20239
|
+
401: components["responses"]["Unauthorized"];
|
|
20240
|
+
403: components["responses"]["Forbidden"];
|
|
20241
|
+
/** @description Workspace does not exist */
|
|
20242
|
+
404: {
|
|
20243
|
+
headers: {
|
|
20244
|
+
[name: string]: unknown;
|
|
20245
|
+
};
|
|
20246
|
+
content: {
|
|
20247
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20248
|
+
};
|
|
20249
|
+
};
|
|
20250
|
+
};
|
|
20251
|
+
};
|
|
20252
|
+
getWorkspaceAssessmentRollout: {
|
|
20253
|
+
parameters: {
|
|
20254
|
+
query?: never;
|
|
20255
|
+
header?: never;
|
|
20256
|
+
path: {
|
|
20257
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20258
|
+
};
|
|
20259
|
+
cookie?: never;
|
|
20260
|
+
};
|
|
20261
|
+
requestBody?: never;
|
|
20262
|
+
responses: {
|
|
20263
|
+
/** @description Current rollout day */
|
|
20264
|
+
200: {
|
|
20265
|
+
headers: {
|
|
20266
|
+
[name: string]: unknown;
|
|
20267
|
+
};
|
|
20268
|
+
content: {
|
|
20269
|
+
"application/json": components["schemas"]["AssessmentRolloutDto"];
|
|
20270
|
+
};
|
|
20271
|
+
};
|
|
20272
|
+
401: components["responses"]["Unauthorized"];
|
|
20273
|
+
403: components["responses"]["Forbidden"];
|
|
20274
|
+
/** @description Workspace does not exist */
|
|
20275
|
+
404: {
|
|
20276
|
+
headers: {
|
|
20277
|
+
[name: string]: unknown;
|
|
20278
|
+
};
|
|
20279
|
+
content: {
|
|
20280
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20281
|
+
};
|
|
20282
|
+
};
|
|
20283
|
+
/** @description Rollout storage is not configured */
|
|
20284
|
+
503: {
|
|
20285
|
+
headers: {
|
|
20286
|
+
[name: string]: unknown;
|
|
20287
|
+
};
|
|
20288
|
+
content: {
|
|
20289
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20290
|
+
};
|
|
20291
|
+
};
|
|
20292
|
+
};
|
|
20293
|
+
};
|
|
20294
|
+
putWorkspaceAssessmentRollout: {
|
|
20295
|
+
parameters: {
|
|
20296
|
+
query?: never;
|
|
20297
|
+
header?: never;
|
|
20298
|
+
path: {
|
|
20299
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20300
|
+
};
|
|
20301
|
+
cookie?: never;
|
|
20302
|
+
};
|
|
20303
|
+
requestBody: {
|
|
20304
|
+
content: {
|
|
20305
|
+
"application/json": components["schemas"]["AssessmentRolloutPutDto"];
|
|
20306
|
+
};
|
|
20307
|
+
};
|
|
20308
|
+
responses: {
|
|
20309
|
+
/** @description Saved rollout day */
|
|
20310
|
+
200: {
|
|
20311
|
+
headers: {
|
|
20312
|
+
[name: string]: unknown;
|
|
20313
|
+
};
|
|
20314
|
+
content: {
|
|
20315
|
+
"application/json": components["schemas"]["AssessmentRolloutDto"];
|
|
20316
|
+
};
|
|
20317
|
+
};
|
|
20318
|
+
/** @description Invalid body, impossible date, or future day (`code`: `invalid_input`) */
|
|
20319
|
+
400: {
|
|
20320
|
+
headers: {
|
|
20321
|
+
[name: string]: unknown;
|
|
20322
|
+
};
|
|
20323
|
+
content: {
|
|
20324
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20325
|
+
};
|
|
20326
|
+
};
|
|
20327
|
+
401: components["responses"]["Unauthorized"];
|
|
20328
|
+
/** @description Caller is not a workspace admin (`code`: `workspace_admin_required`) */
|
|
20329
|
+
403: {
|
|
20330
|
+
headers: {
|
|
20331
|
+
[name: string]: unknown;
|
|
20332
|
+
};
|
|
20333
|
+
content: {
|
|
20334
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20335
|
+
};
|
|
20336
|
+
};
|
|
20337
|
+
/** @description Workspace does not exist */
|
|
20338
|
+
404: {
|
|
20339
|
+
headers: {
|
|
20340
|
+
[name: string]: unknown;
|
|
20341
|
+
};
|
|
20342
|
+
content: {
|
|
20343
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20344
|
+
};
|
|
20345
|
+
};
|
|
20346
|
+
/** @description Rollout storage is not configured */
|
|
20347
|
+
503: {
|
|
20348
|
+
headers: {
|
|
20349
|
+
[name: string]: unknown;
|
|
20350
|
+
};
|
|
20351
|
+
content: {
|
|
20352
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20353
|
+
};
|
|
20354
|
+
};
|
|
20355
|
+
};
|
|
20356
|
+
};
|
|
20357
|
+
getWorkspaceAssessmentRoi: {
|
|
20358
|
+
parameters: {
|
|
20359
|
+
query?: never;
|
|
20360
|
+
header?: never;
|
|
20361
|
+
path: {
|
|
20362
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20363
|
+
};
|
|
20364
|
+
cookie?: never;
|
|
20365
|
+
};
|
|
20366
|
+
requestBody?: never;
|
|
20367
|
+
responses: {
|
|
20368
|
+
/** @description Matched-period ROI result */
|
|
20369
|
+
200: {
|
|
20370
|
+
headers: {
|
|
20371
|
+
[name: string]: unknown;
|
|
20372
|
+
};
|
|
20373
|
+
content: {
|
|
20374
|
+
"application/json": components["schemas"]["AssessmentRoiDto"];
|
|
20375
|
+
};
|
|
20376
|
+
};
|
|
20377
|
+
401: components["responses"]["Unauthorized"];
|
|
20378
|
+
403: components["responses"]["Forbidden"];
|
|
20379
|
+
/** @description Workspace does not exist */
|
|
20380
|
+
404: {
|
|
20381
|
+
headers: {
|
|
20382
|
+
[name: string]: unknown;
|
|
20383
|
+
};
|
|
20384
|
+
content: {
|
|
20385
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20386
|
+
};
|
|
20387
|
+
};
|
|
20388
|
+
/** @description Evidence storage is not configured or could not be read */
|
|
20389
|
+
503: {
|
|
20390
|
+
headers: {
|
|
20391
|
+
[name: string]: unknown;
|
|
20392
|
+
};
|
|
20393
|
+
content: {
|
|
20394
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20395
|
+
};
|
|
20396
|
+
};
|
|
20397
|
+
};
|
|
20398
|
+
};
|
|
20399
|
+
getAggregateUseConsent: {
|
|
20400
|
+
parameters: {
|
|
20401
|
+
query?: never;
|
|
20402
|
+
header?: never;
|
|
20403
|
+
path: {
|
|
20404
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20405
|
+
};
|
|
20406
|
+
cookie?: never;
|
|
20407
|
+
};
|
|
20408
|
+
requestBody?: never;
|
|
20409
|
+
responses: {
|
|
20410
|
+
/** @description Current permission and the sentence reports must print */
|
|
20411
|
+
200: {
|
|
20412
|
+
headers: {
|
|
20413
|
+
[name: string]: unknown;
|
|
20414
|
+
};
|
|
20415
|
+
content: {
|
|
20416
|
+
"application/json": components["schemas"]["AggregateUseConsentDto"];
|
|
20417
|
+
};
|
|
20418
|
+
};
|
|
20419
|
+
401: components["responses"]["Unauthorized"];
|
|
20420
|
+
403: components["responses"]["Forbidden"];
|
|
20421
|
+
/** @description Workspace does not exist */
|
|
20422
|
+
404: {
|
|
20423
|
+
headers: {
|
|
20424
|
+
[name: string]: unknown;
|
|
20425
|
+
};
|
|
20426
|
+
content: {
|
|
20427
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20428
|
+
};
|
|
20429
|
+
};
|
|
20430
|
+
};
|
|
20431
|
+
};
|
|
20432
|
+
putAggregateUseConsent: {
|
|
20433
|
+
parameters: {
|
|
20434
|
+
query?: never;
|
|
20435
|
+
header?: never;
|
|
20436
|
+
path: {
|
|
20437
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20438
|
+
};
|
|
20439
|
+
cookie?: never;
|
|
20440
|
+
};
|
|
20441
|
+
requestBody: {
|
|
20442
|
+
content: {
|
|
20443
|
+
"application/json": components["schemas"]["AggregateUseConsentPutDto"];
|
|
20444
|
+
};
|
|
20445
|
+
};
|
|
20446
|
+
responses: {
|
|
20447
|
+
/** @description Saved permission */
|
|
20448
|
+
200: {
|
|
20449
|
+
headers: {
|
|
20450
|
+
[name: string]: unknown;
|
|
20451
|
+
};
|
|
20452
|
+
content: {
|
|
20453
|
+
"application/json": components["schemas"]["AggregateUseConsentDto"];
|
|
20454
|
+
};
|
|
20455
|
+
};
|
|
20456
|
+
/** @description Invalid body (`code`: `invalid_input`) */
|
|
20457
|
+
400: {
|
|
20458
|
+
headers: {
|
|
20459
|
+
[name: string]: unknown;
|
|
20460
|
+
};
|
|
20461
|
+
content: {
|
|
20462
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20463
|
+
};
|
|
20464
|
+
};
|
|
20465
|
+
401: components["responses"]["Unauthorized"];
|
|
20466
|
+
/** @description Caller is not a workspace admin (`code`: `workspace_admin_required`) */
|
|
20467
|
+
403: {
|
|
20468
|
+
headers: {
|
|
20469
|
+
[name: string]: unknown;
|
|
20470
|
+
};
|
|
20471
|
+
content: {
|
|
20472
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20473
|
+
};
|
|
20474
|
+
};
|
|
20475
|
+
/** @description Workspace does not exist */
|
|
20476
|
+
404: {
|
|
20477
|
+
headers: {
|
|
20478
|
+
[name: string]: unknown;
|
|
20479
|
+
};
|
|
20480
|
+
content: {
|
|
20481
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20482
|
+
};
|
|
20483
|
+
};
|
|
20484
|
+
/** @description Opt-in refused because no notice is approved (`aggregate_use_notice_unapproved`) or the submitted notice version is not current (`aggregate_use_notice_stale`). */
|
|
20485
|
+
409: {
|
|
20486
|
+
headers: {
|
|
20487
|
+
[name: string]: unknown;
|
|
20488
|
+
};
|
|
20489
|
+
content: {
|
|
20490
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20491
|
+
};
|
|
20492
|
+
};
|
|
20493
|
+
};
|
|
20494
|
+
};
|
|
20495
|
+
recordReportCenterExport: {
|
|
20496
|
+
parameters: {
|
|
20497
|
+
query?: never;
|
|
20498
|
+
header?: never;
|
|
20499
|
+
path: {
|
|
20500
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20501
|
+
};
|
|
20502
|
+
cookie?: never;
|
|
20503
|
+
};
|
|
20504
|
+
requestBody: {
|
|
20505
|
+
content: {
|
|
20506
|
+
"application/json": components["schemas"]["ReportCenterExportRecordBodyDto"];
|
|
20507
|
+
};
|
|
20508
|
+
};
|
|
20509
|
+
responses: {
|
|
20510
|
+
/** @description Export recorded */
|
|
20511
|
+
201: {
|
|
20512
|
+
headers: {
|
|
20513
|
+
[name: string]: unknown;
|
|
20514
|
+
};
|
|
20515
|
+
content: {
|
|
20516
|
+
"application/json": components["schemas"]["ReportCenterExportRecordResponseDto"];
|
|
20517
|
+
};
|
|
20518
|
+
};
|
|
20519
|
+
/** @description Invalid body */
|
|
20520
|
+
400: {
|
|
20521
|
+
headers: {
|
|
20522
|
+
[name: string]: unknown;
|
|
20523
|
+
};
|
|
20524
|
+
content: {
|
|
20525
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20526
|
+
};
|
|
20527
|
+
};
|
|
20528
|
+
401: components["responses"]["Unauthorized"];
|
|
20529
|
+
403: components["responses"]["Forbidden"];
|
|
20530
|
+
/** @description Workspace does not exist */
|
|
20531
|
+
404: {
|
|
20532
|
+
headers: {
|
|
20533
|
+
[name: string]: unknown;
|
|
20534
|
+
};
|
|
20535
|
+
content: {
|
|
20536
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20537
|
+
};
|
|
20538
|
+
};
|
|
20539
|
+
/** @description Activity log is not supported by this backend build */
|
|
20540
|
+
501: {
|
|
20541
|
+
headers: {
|
|
20542
|
+
[name: string]: unknown;
|
|
20543
|
+
};
|
|
20544
|
+
content: {
|
|
20545
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20546
|
+
};
|
|
20547
|
+
};
|
|
20548
|
+
};
|
|
20549
|
+
};
|
|
20550
|
+
listAssessmentReports: {
|
|
20551
|
+
parameters: {
|
|
20552
|
+
query?: never;
|
|
20553
|
+
header?: never;
|
|
20554
|
+
path: {
|
|
20555
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20556
|
+
};
|
|
20557
|
+
cookie?: never;
|
|
20558
|
+
};
|
|
20559
|
+
requestBody?: never;
|
|
20560
|
+
responses: {
|
|
20561
|
+
/** @description Stored reports, newest first */
|
|
20562
|
+
200: {
|
|
20563
|
+
headers: {
|
|
20564
|
+
[name: string]: unknown;
|
|
20565
|
+
};
|
|
20566
|
+
content: {
|
|
20567
|
+
"application/json": components["schemas"]["AssessmentReportListDto"];
|
|
20568
|
+
};
|
|
20569
|
+
};
|
|
20570
|
+
401: components["responses"]["Unauthorized"];
|
|
20571
|
+
403: components["responses"]["Forbidden"];
|
|
20572
|
+
/** @description Workspace does not exist */
|
|
20573
|
+
404: {
|
|
20574
|
+
headers: {
|
|
20575
|
+
[name: string]: unknown;
|
|
20576
|
+
};
|
|
20577
|
+
content: {
|
|
20578
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20579
|
+
};
|
|
20580
|
+
};
|
|
20581
|
+
/** @description Stored reports are not supported by this backend build (no database) */
|
|
20582
|
+
501: {
|
|
20583
|
+
headers: {
|
|
20584
|
+
[name: string]: unknown;
|
|
20585
|
+
};
|
|
20586
|
+
content: {
|
|
20587
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20588
|
+
};
|
|
20589
|
+
};
|
|
20590
|
+
};
|
|
20591
|
+
};
|
|
20592
|
+
storeAssessmentReport: {
|
|
20593
|
+
parameters: {
|
|
20594
|
+
query?: never;
|
|
20595
|
+
header?: never;
|
|
20596
|
+
path: {
|
|
20597
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
19267
20598
|
};
|
|
19268
20599
|
cookie?: never;
|
|
19269
20600
|
};
|
|
19270
|
-
requestBody
|
|
20601
|
+
requestBody: {
|
|
20602
|
+
content: {
|
|
20603
|
+
"application/json": components["schemas"]["StoreAssessmentReportBodyDto"];
|
|
20604
|
+
};
|
|
20605
|
+
};
|
|
19271
20606
|
responses: {
|
|
19272
|
-
/** @description
|
|
19273
|
-
|
|
20607
|
+
/** @description Report stored */
|
|
20608
|
+
201: {
|
|
19274
20609
|
headers: {
|
|
19275
20610
|
[name: string]: unknown;
|
|
19276
20611
|
};
|
|
19277
20612
|
content: {
|
|
19278
|
-
"
|
|
20613
|
+
"application/json": components["schemas"]["AssessmentReportDto"];
|
|
19279
20614
|
};
|
|
19280
20615
|
};
|
|
19281
|
-
/** @description
|
|
20616
|
+
/** @description Body is not valid, or the file is not a PDF or is too large */
|
|
19282
20617
|
400: {
|
|
19283
20618
|
headers: {
|
|
19284
20619
|
[name: string]: unknown;
|
|
@@ -19289,7 +20624,7 @@ export interface operations {
|
|
|
19289
20624
|
};
|
|
19290
20625
|
401: components["responses"]["Unauthorized"];
|
|
19291
20626
|
403: components["responses"]["Forbidden"];
|
|
19292
|
-
/** @description Workspace
|
|
20627
|
+
/** @description Workspace does not exist */
|
|
19293
20628
|
404: {
|
|
19294
20629
|
headers: {
|
|
19295
20630
|
[name: string]: unknown;
|
|
@@ -19298,36 +20633,17 @@ export interface operations {
|
|
|
19298
20633
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
19299
20634
|
};
|
|
19300
20635
|
};
|
|
19301
|
-
|
|
19302
|
-
|
|
19303
|
-
listReadinessRepoRuns: {
|
|
19304
|
-
parameters: {
|
|
19305
|
-
query?: {
|
|
19306
|
-
limit?: number;
|
|
19307
|
-
order?: "asc" | "desc";
|
|
19308
|
-
/** @description Opaque cursor from a prior response `nextCursor` field. */
|
|
19309
|
-
cursor?: string;
|
|
19310
|
-
};
|
|
19311
|
-
header?: never;
|
|
19312
|
-
path: {
|
|
19313
|
-
workspaceId: components["parameters"]["WorkspaceId"];
|
|
19314
|
-
repoId: components["parameters"]["RepoId"];
|
|
19315
|
-
};
|
|
19316
|
-
cookie?: never;
|
|
19317
|
-
};
|
|
19318
|
-
requestBody?: never;
|
|
19319
|
-
responses: {
|
|
19320
|
-
/** @description Run history page */
|
|
19321
|
-
200: {
|
|
20636
|
+
/** @description `not_buyer_deliverable` (the rebuilt manifest did not validate as an internal buyer file; includes `reasons`) or `manifest_changed` (stored evidence changed since the PDF was built, so `contentHash` differs; export again). */
|
|
20637
|
+
422: {
|
|
19322
20638
|
headers: {
|
|
19323
20639
|
[name: string]: unknown;
|
|
19324
20640
|
};
|
|
19325
20641
|
content: {
|
|
19326
|
-
"application/json": components["schemas"]["
|
|
20642
|
+
"application/json": components["schemas"]["StoreAssessmentReportRejectedDto"];
|
|
19327
20643
|
};
|
|
19328
20644
|
};
|
|
19329
|
-
/** @description
|
|
19330
|
-
|
|
20645
|
+
/** @description Stored reports are not supported by this backend build (no database) */
|
|
20646
|
+
501: {
|
|
19331
20647
|
headers: {
|
|
19332
20648
|
[name: string]: unknown;
|
|
19333
20649
|
};
|
|
@@ -19335,10 +20651,8 @@ export interface operations {
|
|
|
19335
20651
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
19336
20652
|
};
|
|
19337
20653
|
};
|
|
19338
|
-
|
|
19339
|
-
|
|
19340
|
-
/** @description Workspace or repository not found */
|
|
19341
|
-
404: {
|
|
20654
|
+
/** @description Stored evidence could not be loaded to rebuild the manifest. */
|
|
20655
|
+
503: {
|
|
19342
20656
|
headers: {
|
|
19343
20657
|
[name: string]: unknown;
|
|
19344
20658
|
};
|
|
@@ -19348,40 +20662,33 @@ export interface operations {
|
|
|
19348
20662
|
};
|
|
19349
20663
|
};
|
|
19350
20664
|
};
|
|
19351
|
-
|
|
20665
|
+
createAssessmentReportLink: {
|
|
19352
20666
|
parameters: {
|
|
19353
|
-
query?:
|
|
19354
|
-
limit?: number;
|
|
19355
|
-
offset?: number;
|
|
19356
|
-
order?: "asc" | "desc";
|
|
19357
|
-
/** @description Sort column for the activity feed. */
|
|
19358
|
-
sort?: "occurredAt" | "actorName" | "repoName" | "eventType" | "dimensionId";
|
|
19359
|
-
/** @description Case-insensitive match on actor name or email. */
|
|
19360
|
-
search?: string;
|
|
19361
|
-
eventType?: components["schemas"]["ReadinessAuditEventType"];
|
|
19362
|
-
dimensionId?: components["schemas"]["ReadinessDimensionId"];
|
|
19363
|
-
repoId?: string;
|
|
19364
|
-
/** @description ISO-8601 lower bound on `occurredAt` (inclusive). */
|
|
19365
|
-
since?: string;
|
|
19366
|
-
};
|
|
20667
|
+
query?: never;
|
|
19367
20668
|
header?: never;
|
|
19368
20669
|
path: {
|
|
19369
20670
|
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20671
|
+
/** @description Stored assessment report id (`tai_workspace_assessment_reports.id`). */
|
|
20672
|
+
reportId: components["parameters"]["AssessmentReportId"];
|
|
19370
20673
|
};
|
|
19371
20674
|
cookie?: never;
|
|
19372
20675
|
};
|
|
19373
|
-
requestBody
|
|
20676
|
+
requestBody: {
|
|
20677
|
+
content: {
|
|
20678
|
+
"application/json": components["schemas"]["CreateAssessmentReportLinkBodyDto"];
|
|
20679
|
+
};
|
|
20680
|
+
};
|
|
19374
20681
|
responses: {
|
|
19375
|
-
/** @description
|
|
19376
|
-
|
|
20682
|
+
/** @description Link created */
|
|
20683
|
+
201: {
|
|
19377
20684
|
headers: {
|
|
19378
20685
|
[name: string]: unknown;
|
|
19379
20686
|
};
|
|
19380
20687
|
content: {
|
|
19381
|
-
"application/json": components["schemas"]["
|
|
20688
|
+
"application/json": components["schemas"]["CreateAssessmentReportLinkResponseDto"];
|
|
19382
20689
|
};
|
|
19383
20690
|
};
|
|
19384
|
-
/** @description
|
|
20691
|
+
/** @description Body is not valid */
|
|
19385
20692
|
400: {
|
|
19386
20693
|
headers: {
|
|
19387
20694
|
[name: string]: unknown;
|
|
@@ -19392,7 +20699,7 @@ export interface operations {
|
|
|
19392
20699
|
};
|
|
19393
20700
|
401: components["responses"]["Unauthorized"];
|
|
19394
20701
|
403: components["responses"]["Forbidden"];
|
|
19395
|
-
/** @description Workspace
|
|
20702
|
+
/** @description Workspace or report not found (`report_not_found`) */
|
|
19396
20703
|
404: {
|
|
19397
20704
|
headers: {
|
|
19398
20705
|
[name: string]: unknown;
|
|
@@ -19401,31 +20708,61 @@ export interface operations {
|
|
|
19401
20708
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
19402
20709
|
};
|
|
19403
20710
|
};
|
|
20711
|
+
/** @description The report is hidden (`report_hidden`) */
|
|
20712
|
+
409: {
|
|
20713
|
+
headers: {
|
|
20714
|
+
[name: string]: unknown;
|
|
20715
|
+
};
|
|
20716
|
+
content: {
|
|
20717
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20718
|
+
};
|
|
20719
|
+
};
|
|
20720
|
+
/** @description The recipient is not a current workspace member (`recipient_not_member`) */
|
|
20721
|
+
422: {
|
|
20722
|
+
headers: {
|
|
20723
|
+
[name: string]: unknown;
|
|
20724
|
+
};
|
|
20725
|
+
content: {
|
|
20726
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20727
|
+
};
|
|
20728
|
+
};
|
|
20729
|
+
/** @description Stored reports or member listing are not supported by this backend build */
|
|
20730
|
+
501: {
|
|
20731
|
+
headers: {
|
|
20732
|
+
[name: string]: unknown;
|
|
20733
|
+
};
|
|
20734
|
+
content: {
|
|
20735
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20736
|
+
};
|
|
20737
|
+
};
|
|
19404
20738
|
};
|
|
19405
20739
|
};
|
|
19406
|
-
|
|
20740
|
+
revokeAssessmentReportLink: {
|
|
19407
20741
|
parameters: {
|
|
19408
20742
|
query?: never;
|
|
19409
20743
|
header?: never;
|
|
19410
20744
|
path: {
|
|
19411
20745
|
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20746
|
+
/** @description Stored assessment report id (`tai_workspace_assessment_reports.id`). */
|
|
20747
|
+
reportId: components["parameters"]["AssessmentReportId"];
|
|
20748
|
+
grantId: string;
|
|
19412
20749
|
};
|
|
19413
20750
|
cookie?: never;
|
|
19414
20751
|
};
|
|
19415
20752
|
requestBody?: never;
|
|
19416
20753
|
responses: {
|
|
19417
|
-
/** @description
|
|
20754
|
+
/** @description Revoked link */
|
|
19418
20755
|
200: {
|
|
19419
20756
|
headers: {
|
|
19420
20757
|
[name: string]: unknown;
|
|
19421
20758
|
};
|
|
19422
20759
|
content: {
|
|
19423
|
-
"application/json": components["schemas"]["
|
|
20760
|
+
"application/json": components["schemas"]["AssessmentReportLinkDto"];
|
|
19424
20761
|
};
|
|
19425
20762
|
};
|
|
19426
20763
|
401: components["responses"]["Unauthorized"];
|
|
19427
20764
|
403: components["responses"]["Forbidden"];
|
|
19428
|
-
/** @description Workspace
|
|
20765
|
+
/** @description Workspace, report, or link not found */
|
|
19429
20766
|
404: {
|
|
19430
20767
|
headers: {
|
|
19431
20768
|
[name: string]: unknown;
|
|
@@ -19434,31 +20771,42 @@ export interface operations {
|
|
|
19434
20771
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
19435
20772
|
};
|
|
19436
20773
|
};
|
|
20774
|
+
/** @description Stored reports are not supported by this backend build (no database) */
|
|
20775
|
+
501: {
|
|
20776
|
+
headers: {
|
|
20777
|
+
[name: string]: unknown;
|
|
20778
|
+
};
|
|
20779
|
+
content: {
|
|
20780
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20781
|
+
};
|
|
20782
|
+
};
|
|
19437
20783
|
};
|
|
19438
20784
|
};
|
|
19439
|
-
|
|
20785
|
+
hideAssessmentReport: {
|
|
19440
20786
|
parameters: {
|
|
19441
20787
|
query?: never;
|
|
19442
20788
|
header?: never;
|
|
19443
20789
|
path: {
|
|
19444
20790
|
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20791
|
+
/** @description Stored assessment report id (`tai_workspace_assessment_reports.id`). */
|
|
20792
|
+
reportId: components["parameters"]["AssessmentReportId"];
|
|
19445
20793
|
};
|
|
19446
20794
|
cookie?: never;
|
|
19447
20795
|
};
|
|
19448
20796
|
requestBody?: never;
|
|
19449
20797
|
responses: {
|
|
19450
|
-
/** @description
|
|
20798
|
+
/** @description Hidden report (`links` is empty in this response; list again for links) */
|
|
19451
20799
|
200: {
|
|
19452
20800
|
headers: {
|
|
19453
20801
|
[name: string]: unknown;
|
|
19454
20802
|
};
|
|
19455
20803
|
content: {
|
|
19456
|
-
"application/json": components["schemas"]["
|
|
20804
|
+
"application/json": components["schemas"]["AssessmentReportDto"];
|
|
19457
20805
|
};
|
|
19458
20806
|
};
|
|
19459
20807
|
401: components["responses"]["Unauthorized"];
|
|
19460
20808
|
403: components["responses"]["Forbidden"];
|
|
19461
|
-
/** @description Workspace
|
|
20809
|
+
/** @description Workspace or report not found */
|
|
19462
20810
|
404: {
|
|
19463
20811
|
headers: {
|
|
19464
20812
|
[name: string]: unknown;
|
|
@@ -19467,44 +20815,43 @@ export interface operations {
|
|
|
19467
20815
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
19468
20816
|
};
|
|
19469
20817
|
};
|
|
20818
|
+
/** @description Stored reports are not supported by this backend build (no database) */
|
|
20819
|
+
501: {
|
|
20820
|
+
headers: {
|
|
20821
|
+
[name: string]: unknown;
|
|
20822
|
+
};
|
|
20823
|
+
content: {
|
|
20824
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20825
|
+
};
|
|
20826
|
+
};
|
|
19470
20827
|
};
|
|
19471
20828
|
};
|
|
19472
|
-
|
|
20829
|
+
restoreAssessmentReport: {
|
|
19473
20830
|
parameters: {
|
|
19474
20831
|
query?: never;
|
|
19475
20832
|
header?: never;
|
|
19476
20833
|
path: {
|
|
19477
20834
|
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20835
|
+
/** @description Stored assessment report id (`tai_workspace_assessment_reports.id`). */
|
|
20836
|
+
reportId: components["parameters"]["AssessmentReportId"];
|
|
19478
20837
|
};
|
|
19479
20838
|
cookie?: never;
|
|
19480
20839
|
};
|
|
19481
|
-
requestBody
|
|
19482
|
-
content: {
|
|
19483
|
-
"application/json": components["schemas"]["AggregateUseConsentPutDto"];
|
|
19484
|
-
};
|
|
19485
|
-
};
|
|
20840
|
+
requestBody?: never;
|
|
19486
20841
|
responses: {
|
|
19487
|
-
/** @description
|
|
20842
|
+
/** @description Restored report (`links` is empty in this response; list again for links) */
|
|
19488
20843
|
200: {
|
|
19489
20844
|
headers: {
|
|
19490
20845
|
[name: string]: unknown;
|
|
19491
20846
|
};
|
|
19492
20847
|
content: {
|
|
19493
|
-
"application/json": components["schemas"]["
|
|
19494
|
-
};
|
|
19495
|
-
};
|
|
19496
|
-
/** @description Invalid body (`code`: `invalid_input`) */
|
|
19497
|
-
400: {
|
|
19498
|
-
headers: {
|
|
19499
|
-
[name: string]: unknown;
|
|
19500
|
-
};
|
|
19501
|
-
content: {
|
|
19502
|
-
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20848
|
+
"application/json": components["schemas"]["AssessmentReportDto"];
|
|
19503
20849
|
};
|
|
19504
20850
|
};
|
|
19505
20851
|
401: components["responses"]["Unauthorized"];
|
|
19506
|
-
|
|
19507
|
-
|
|
20852
|
+
403: components["responses"]["Forbidden"];
|
|
20853
|
+
/** @description Workspace or report not found */
|
|
20854
|
+
404: {
|
|
19508
20855
|
headers: {
|
|
19509
20856
|
[name: string]: unknown;
|
|
19510
20857
|
};
|
|
@@ -19512,8 +20859,8 @@ export interface operations {
|
|
|
19512
20859
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
19513
20860
|
};
|
|
19514
20861
|
};
|
|
19515
|
-
/** @description
|
|
19516
|
-
|
|
20862
|
+
/** @description `not_hidden` or `restore_window_ended` */
|
|
20863
|
+
409: {
|
|
19517
20864
|
headers: {
|
|
19518
20865
|
[name: string]: unknown;
|
|
19519
20866
|
};
|
|
@@ -19521,8 +20868,8 @@ export interface operations {
|
|
|
19521
20868
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
19522
20869
|
};
|
|
19523
20870
|
};
|
|
19524
|
-
/** @description
|
|
19525
|
-
|
|
20871
|
+
/** @description Stored reports are not supported by this backend build (no database) */
|
|
20872
|
+
501: {
|
|
19526
20873
|
headers: {
|
|
19527
20874
|
[name: string]: unknown;
|
|
19528
20875
|
};
|
|
@@ -19532,43 +20879,58 @@ export interface operations {
|
|
|
19532
20879
|
};
|
|
19533
20880
|
};
|
|
19534
20881
|
};
|
|
19535
|
-
|
|
20882
|
+
downloadAssessmentReport: {
|
|
19536
20883
|
parameters: {
|
|
19537
|
-
query
|
|
19538
|
-
|
|
19539
|
-
|
|
19540
|
-
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20884
|
+
query: {
|
|
20885
|
+
/** @description Opaque link token from the email (`secureLinkQuery`). */
|
|
20886
|
+
t: string;
|
|
19541
20887
|
};
|
|
20888
|
+
header?: never;
|
|
20889
|
+
path?: never;
|
|
19542
20890
|
cookie?: never;
|
|
19543
20891
|
};
|
|
19544
|
-
requestBody
|
|
19545
|
-
content: {
|
|
19546
|
-
"application/json": components["schemas"]["ReportCenterExportRecordBodyDto"];
|
|
19547
|
-
};
|
|
19548
|
-
};
|
|
20892
|
+
requestBody?: never;
|
|
19549
20893
|
responses: {
|
|
19550
|
-
/** @description
|
|
19551
|
-
|
|
20894
|
+
/** @description The decrypted PDF */
|
|
20895
|
+
200: {
|
|
19552
20896
|
headers: {
|
|
20897
|
+
"Cache-Control"?: "no-store";
|
|
19553
20898
|
[name: string]: unknown;
|
|
19554
20899
|
};
|
|
19555
20900
|
content: {
|
|
19556
|
-
"application/
|
|
20901
|
+
"application/pdf": string;
|
|
19557
20902
|
};
|
|
19558
20903
|
};
|
|
19559
|
-
|
|
19560
|
-
|
|
20904
|
+
401: components["responses"]["Unauthorized"];
|
|
20905
|
+
/** @description `leaked_token`, `removed_member`, or `wrong_workspace` */
|
|
20906
|
+
403: {
|
|
19561
20907
|
headers: {
|
|
19562
20908
|
[name: string]: unknown;
|
|
19563
20909
|
};
|
|
19564
20910
|
content: {
|
|
19565
|
-
"application/json": components["schemas"]["
|
|
20911
|
+
"application/json": components["schemas"]["AssessmentReportAccessErrorDto"];
|
|
19566
20912
|
};
|
|
19567
20913
|
};
|
|
19568
|
-
|
|
19569
|
-
403: components["responses"]["Forbidden"];
|
|
19570
|
-
/** @description Workspace does not exist */
|
|
20914
|
+
/** @description `invalid_grant` */
|
|
19571
20915
|
404: {
|
|
20916
|
+
headers: {
|
|
20917
|
+
[name: string]: unknown;
|
|
20918
|
+
};
|
|
20919
|
+
content: {
|
|
20920
|
+
"application/json": components["schemas"]["AssessmentReportAccessErrorDto"];
|
|
20921
|
+
};
|
|
20922
|
+
};
|
|
20923
|
+
/** @description `expired`, `revoked`, or `report_hidden` */
|
|
20924
|
+
410: {
|
|
20925
|
+
headers: {
|
|
20926
|
+
[name: string]: unknown;
|
|
20927
|
+
};
|
|
20928
|
+
content: {
|
|
20929
|
+
"application/json": components["schemas"]["AssessmentReportAccessErrorDto"];
|
|
20930
|
+
};
|
|
20931
|
+
};
|
|
20932
|
+
/** @description The stored report could not be decrypted (`report_unreadable`) */
|
|
20933
|
+
500: {
|
|
19572
20934
|
headers: {
|
|
19573
20935
|
[name: string]: unknown;
|
|
19574
20936
|
};
|
|
@@ -19576,7 +20938,7 @@ export interface operations {
|
|
|
19576
20938
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
19577
20939
|
};
|
|
19578
20940
|
};
|
|
19579
|
-
/** @description
|
|
20941
|
+
/** @description Stored reports are not supported by this backend build (no database) */
|
|
19580
20942
|
501: {
|
|
19581
20943
|
headers: {
|
|
19582
20944
|
[name: string]: unknown;
|
|
@@ -24954,6 +26316,83 @@ export interface operations {
|
|
|
24954
26316
|
403: components["responses"]["Forbidden"];
|
|
24955
26317
|
};
|
|
24956
26318
|
};
|
|
26319
|
+
postWorkspaceVcsRepoDiscovery: {
|
|
26320
|
+
parameters: {
|
|
26321
|
+
query?: never;
|
|
26322
|
+
header?: never;
|
|
26323
|
+
path: {
|
|
26324
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
26325
|
+
};
|
|
26326
|
+
cookie?: never;
|
|
26327
|
+
};
|
|
26328
|
+
requestBody: {
|
|
26329
|
+
content: {
|
|
26330
|
+
"application/json": components["schemas"]["GitVcsSourceDto"];
|
|
26331
|
+
};
|
|
26332
|
+
};
|
|
26333
|
+
responses: {
|
|
26334
|
+
/** @description Repositories the source can read */
|
|
26335
|
+
200: {
|
|
26336
|
+
headers: {
|
|
26337
|
+
[name: string]: unknown;
|
|
26338
|
+
};
|
|
26339
|
+
content: {
|
|
26340
|
+
"application/json": components["schemas"]["VcsRepoDiscoveryResponseDto"];
|
|
26341
|
+
};
|
|
26342
|
+
};
|
|
26343
|
+
/** @description Invalid source (`error` is a code such as `base_url_required`, `base_url_invalid`, `base_url_not_https`, `base_url_has_credentials`, `base_url_has_path`, `base_url_host_blocked`, `env_ref_not_allowed`, `account_missing`, `token_missing`, `unsupported_type`). */
|
|
26344
|
+
400: {
|
|
26345
|
+
headers: {
|
|
26346
|
+
[name: string]: unknown;
|
|
26347
|
+
};
|
|
26348
|
+
content: {
|
|
26349
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
26350
|
+
};
|
|
26351
|
+
};
|
|
26352
|
+
401: components["responses"]["Unauthorized"];
|
|
26353
|
+
403: components["responses"]["Forbidden"];
|
|
26354
|
+
/** @description The provider rejected or failed the listing (`error` is `unauthorized`, `forbidden`, `not_found`, `rate_limited`, or `discovery_failed`). */
|
|
26355
|
+
502: {
|
|
26356
|
+
headers: {
|
|
26357
|
+
[name: string]: unknown;
|
|
26358
|
+
};
|
|
26359
|
+
content: {
|
|
26360
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
26361
|
+
};
|
|
26362
|
+
};
|
|
26363
|
+
};
|
|
26364
|
+
};
|
|
26365
|
+
getWorkspaceVcsProviderCoverage: {
|
|
26366
|
+
parameters: {
|
|
26367
|
+
query?: never;
|
|
26368
|
+
header?: never;
|
|
26369
|
+
path: {
|
|
26370
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
26371
|
+
};
|
|
26372
|
+
cookie?: never;
|
|
26373
|
+
};
|
|
26374
|
+
requestBody?: never;
|
|
26375
|
+
responses: {
|
|
26376
|
+
/** @description Server-computed provider coverage */
|
|
26377
|
+
200: {
|
|
26378
|
+
headers: {
|
|
26379
|
+
[name: string]: unknown;
|
|
26380
|
+
};
|
|
26381
|
+
content: {
|
|
26382
|
+
"application/json": components["schemas"]["VcsProviderCoverageDto"];
|
|
26383
|
+
};
|
|
26384
|
+
};
|
|
26385
|
+
401: components["responses"]["Unauthorized"];
|
|
26386
|
+
403: components["responses"]["Forbidden"];
|
|
26387
|
+
/** @description Store does not support provider coverage */
|
|
26388
|
+
501: {
|
|
26389
|
+
headers: {
|
|
26390
|
+
[name: string]: unknown;
|
|
26391
|
+
};
|
|
26392
|
+
content?: never;
|
|
26393
|
+
};
|
|
26394
|
+
};
|
|
26395
|
+
};
|
|
24957
26396
|
retryWorkspaceProductivityRepo: {
|
|
24958
26397
|
parameters: {
|
|
24959
26398
|
query?: never;
|