@thinkai/tai-api-contract 2.93.0 → 2.95.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 +186 -9
- package/dist/generated/openapi.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/openapi/openapi.yaml +193 -17
- package/package.json +1 -1
- package/src/generated/openapi.ts +186 -9
- package/src/index.ts +2 -0
package/src/generated/openapi.ts
CHANGED
|
@@ -606,6 +606,44 @@ export interface paths {
|
|
|
606
606
|
patch?: never;
|
|
607
607
|
trace?: never;
|
|
608
608
|
};
|
|
609
|
+
"/workspaces/{workspaceId}/integrations/sonarqube/repo-mappings": {
|
|
610
|
+
parameters: {
|
|
611
|
+
query?: never;
|
|
612
|
+
header?: never;
|
|
613
|
+
path?: never;
|
|
614
|
+
cookie?: never;
|
|
615
|
+
};
|
|
616
|
+
/** List SonarQube repo to project key mappings */
|
|
617
|
+
get: operations["listSonarQubeRepoMappings"];
|
|
618
|
+
/**
|
|
619
|
+
* Replace SonarQube repo mappings (full list)
|
|
620
|
+
* @description Replaces all SonarQube repo→projectKey rows for the workspace. Validate rows in the UI before save; optional `POST .../validate` probes keys with the workspace token.
|
|
621
|
+
*/
|
|
622
|
+
put: operations["putSonarQubeRepoMappings"];
|
|
623
|
+
post?: never;
|
|
624
|
+
delete?: never;
|
|
625
|
+
options?: never;
|
|
626
|
+
head?: never;
|
|
627
|
+
patch?: never;
|
|
628
|
+
trace?: never;
|
|
629
|
+
};
|
|
630
|
+
"/workspaces/{workspaceId}/integrations/sonarqube/repo-mappings/validate": {
|
|
631
|
+
parameters: {
|
|
632
|
+
query?: never;
|
|
633
|
+
header?: never;
|
|
634
|
+
path?: never;
|
|
635
|
+
cookie?: never;
|
|
636
|
+
};
|
|
637
|
+
get?: never;
|
|
638
|
+
put?: never;
|
|
639
|
+
/** Validate SonarQube mapping rows against the workspace token */
|
|
640
|
+
post: operations["validateSonarQubeRepoMappings"];
|
|
641
|
+
delete?: never;
|
|
642
|
+
options?: never;
|
|
643
|
+
head?: never;
|
|
644
|
+
patch?: never;
|
|
645
|
+
trace?: never;
|
|
646
|
+
};
|
|
609
647
|
"/workspaces/{workspaceId}/sources/{type}": {
|
|
610
648
|
parameters: {
|
|
611
649
|
query?: never;
|
|
@@ -2133,8 +2171,8 @@ export interface paths {
|
|
|
2133
2171
|
/**
|
|
2134
2172
|
* Export repository readiness issues as Markdown
|
|
2135
2173
|
* @description Download outstanding readiness issues for one repository as a Markdown (`.md`) attachment for local IDE workflows. Reuses the same scorecard as `GET .../readiness/repos/{repoId}` (issues plus optional remediation from `criteriaDetails`).
|
|
2136
|
-
* The Markdown is grouped **by readiness dimension** (catalog order). Each dimension section lists matching issues sorted by severity. Issue sections include severity in the heading
|
|
2137
|
-
* The response sets `Content-Disposition: attachment` with filename `readiness-
|
|
2174
|
+
* The Markdown is grouped **by readiness dimension** (catalog order). Each dimension section lists matching issues sorted by severity. Issue sections include severity in the heading, export format version, issue/rubric metadata, agent workflow, and agent instructions from the rubric when available. Default filter is outstanding issues (`open` + `pr-pending`). Optional query params narrow the set. When `includeCriteria` is true (default), each issue also includes criterion summary/status in metadata and remediation from `criteriaDetails` when it differs from agent instructions. Agent workflow and rubric agent instructions are emitted regardless of `includeCriteria`. Timestamps use the optional `timeZone` query (IANA; default `UTC`).
|
|
2175
|
+
* The response sets `Content-Disposition: attachment` with filename `readiness-remediations-{providerSlug}-{date}.md`.
|
|
2138
2176
|
*/
|
|
2139
2177
|
get: operations["exportReadinessRepoIssuesMarkdown"];
|
|
2140
2178
|
put?: never;
|
|
@@ -3991,17 +4029,17 @@ export interface components {
|
|
|
3991
4029
|
orgId?: string;
|
|
3992
4030
|
orgName?: string;
|
|
3993
4031
|
};
|
|
3994
|
-
/** @description SonarQube source for workspace sources PUT and connection test. Every field is re-submitted on each save; `token` is never round-tripped from `GET` workspace config. */
|
|
4032
|
+
/** @description SonarQube source for workspace sources PUT and connection test. Credentials only — per-repository Sonar project keys are configured via repo mappings. Every field is re-submitted on each save; `token` is never round-tripped from `GET` workspace config. */
|
|
3995
4033
|
SonarQubeSourceDto: {
|
|
3996
4034
|
/** @enum {string} */
|
|
3997
4035
|
type: "sonarqube";
|
|
3998
|
-
/** @description SonarQube server URL, e.g. https://sonarqube.example.com. */
|
|
4036
|
+
/** @description SonarQube server URL, e.g. https://sonarcloud.io or https://sonarqube.example.com. */
|
|
3999
4037
|
baseUrl: string;
|
|
4000
|
-
/** @description User or project analysis token (write-only on PUT). Literal tokens are encrypted at rest. Operator-managed secrets may use an `env:VAR` reference (resolved at runtime
|
|
4038
|
+
/** @description User or project analysis token (write-only on PUT). Literal tokens are encrypted at rest. Operator-managed secrets may use an `env:VAR` reference (resolved at runtime), matching other non-AI-tool sources. */
|
|
4001
4039
|
token: string;
|
|
4002
|
-
/** @description
|
|
4003
|
-
|
|
4004
|
-
/** @description Optional branch
|
|
4040
|
+
/** @description SonarCloud organization key (required for project search on SonarCloud). */
|
|
4041
|
+
organization?: string;
|
|
4042
|
+
/** @description Optional workspace default branch fallback for per-repo Sonar probes. */
|
|
4005
4043
|
branch?: string;
|
|
4006
4044
|
};
|
|
4007
4045
|
/** @description Redacted SonarQube source returned by GET workspace config. */
|
|
@@ -4010,9 +4048,38 @@ export interface components {
|
|
|
4010
4048
|
type: "sonarqube";
|
|
4011
4049
|
hasToken: boolean;
|
|
4012
4050
|
baseUrl: string;
|
|
4051
|
+
organization?: string;
|
|
4052
|
+
branch?: string;
|
|
4053
|
+
};
|
|
4054
|
+
SonarQubeRepoMappingDto: {
|
|
4055
|
+
/** @description Repository slug (`owner/repo`) in the workspace catalog. */
|
|
4056
|
+
providerSlug: string;
|
|
4013
4057
|
projectKey: string;
|
|
4058
|
+
/** @description Optional branch override for Sonar API calls for this repo. */
|
|
4014
4059
|
branch?: string;
|
|
4015
4060
|
};
|
|
4061
|
+
SonarQubeRepoMappingRowDto: components["schemas"]["SonarQubeRepoMappingDto"] & {
|
|
4062
|
+
/** Format: uuid */
|
|
4063
|
+
repoId: string;
|
|
4064
|
+
/** Format: date-time */
|
|
4065
|
+
updatedAt: string;
|
|
4066
|
+
};
|
|
4067
|
+
SonarQubeRepoMappingsPutDto: {
|
|
4068
|
+
mappings: components["schemas"]["SonarQubeRepoMappingDto"][];
|
|
4069
|
+
};
|
|
4070
|
+
SonarQubeRepoMappingsListDto: {
|
|
4071
|
+
mappings: components["schemas"]["SonarQubeRepoMappingRowDto"][];
|
|
4072
|
+
};
|
|
4073
|
+
SonarQubeRepoMappingValidateRowDto: {
|
|
4074
|
+
providerSlug: string;
|
|
4075
|
+
projectKey: string;
|
|
4076
|
+
branch?: string;
|
|
4077
|
+
ok: boolean;
|
|
4078
|
+
error?: string;
|
|
4079
|
+
};
|
|
4080
|
+
SonarQubeRepoMappingsValidateResponseDto: {
|
|
4081
|
+
results: components["schemas"]["SonarQubeRepoMappingValidateRowDto"][];
|
|
4082
|
+
};
|
|
4016
4083
|
/** @description PagerDuty incident monitoring source for `PUT /workspaces/{workspaceId}/sources` and `POST /workspaces/{workspaceId}/sources/test`. Requires a REST API v2 token (an "API Access Key" from PagerDuty → **Integrations → API Access Keys**). */
|
|
4017
4084
|
PagerDutySourceDto: {
|
|
4018
4085
|
/** @enum {string} */
|
|
@@ -4178,6 +4245,16 @@ export interface components {
|
|
|
4178
4245
|
};
|
|
4179
4246
|
/** @description Nested metric groups; see TypeScript `DashboardProductivityMetricsDto` in @thinkai/tai-api-contract. */
|
|
4180
4247
|
DashboardProductivityMetricsDto: {
|
|
4248
|
+
velocity?: {
|
|
4249
|
+
mergedPrCount?: number;
|
|
4250
|
+
shipWeightSum?: number;
|
|
4251
|
+
totalShipWeight?: number;
|
|
4252
|
+
/** @description GitHub merged PR ledger rows in the metrics window still awaiting ship-weight scoring (omit when zero). */
|
|
4253
|
+
shipWeightPendingCount?: number;
|
|
4254
|
+
} & {
|
|
4255
|
+
[key: string]: unknown;
|
|
4256
|
+
};
|
|
4257
|
+
} & {
|
|
4181
4258
|
[key: string]: unknown;
|
|
4182
4259
|
};
|
|
4183
4260
|
DashboardProductivityDto: {
|
|
@@ -8169,6 +8246,12 @@ export type GrafanaSourceDto = components['schemas']['GrafanaSourceDto'];
|
|
|
8169
8246
|
export type GrafanaSourceConfigDto = components['schemas']['GrafanaSourceConfigDto'];
|
|
8170
8247
|
export type SonarQubeSourceDto = components['schemas']['SonarQubeSourceDto'];
|
|
8171
8248
|
export type SonarQubeSourceConfigDto = components['schemas']['SonarQubeSourceConfigDto'];
|
|
8249
|
+
export type SonarQubeRepoMappingDto = components['schemas']['SonarQubeRepoMappingDto'];
|
|
8250
|
+
export type SonarQubeRepoMappingRowDto = components['schemas']['SonarQubeRepoMappingRowDto'];
|
|
8251
|
+
export type SonarQubeRepoMappingsPutDto = components['schemas']['SonarQubeRepoMappingsPutDto'];
|
|
8252
|
+
export type SonarQubeRepoMappingsListDto = components['schemas']['SonarQubeRepoMappingsListDto'];
|
|
8253
|
+
export type SonarQubeRepoMappingValidateRowDto = components['schemas']['SonarQubeRepoMappingValidateRowDto'];
|
|
8254
|
+
export type SonarQubeRepoMappingsValidateResponseDto = components['schemas']['SonarQubeRepoMappingsValidateResponseDto'];
|
|
8172
8255
|
export type PagerDutySourceDto = components['schemas']['PagerDutySourceDto'];
|
|
8173
8256
|
export type PagerDutySourceConfigDto = components['schemas']['PagerDutySourceConfigDto'];
|
|
8174
8257
|
export type AgentExecutionProviderDto = components['schemas']['AgentExecutionProviderDto'];
|
|
@@ -10229,6 +10312,100 @@ export interface operations {
|
|
|
10229
10312
|
};
|
|
10230
10313
|
};
|
|
10231
10314
|
};
|
|
10315
|
+
listSonarQubeRepoMappings: {
|
|
10316
|
+
parameters: {
|
|
10317
|
+
query?: never;
|
|
10318
|
+
header?: never;
|
|
10319
|
+
path: {
|
|
10320
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
10321
|
+
};
|
|
10322
|
+
cookie?: never;
|
|
10323
|
+
};
|
|
10324
|
+
requestBody?: never;
|
|
10325
|
+
responses: {
|
|
10326
|
+
/** @description Mappings for repos in this workspace */
|
|
10327
|
+
200: {
|
|
10328
|
+
headers: {
|
|
10329
|
+
[name: string]: unknown;
|
|
10330
|
+
};
|
|
10331
|
+
content: {
|
|
10332
|
+
"application/json": components["schemas"]["SonarQubeRepoMappingsListDto"];
|
|
10333
|
+
};
|
|
10334
|
+
};
|
|
10335
|
+
401: components["responses"]["Unauthorized"];
|
|
10336
|
+
403: components["responses"]["Forbidden"];
|
|
10337
|
+
};
|
|
10338
|
+
};
|
|
10339
|
+
putSonarQubeRepoMappings: {
|
|
10340
|
+
parameters: {
|
|
10341
|
+
query?: never;
|
|
10342
|
+
header?: never;
|
|
10343
|
+
path: {
|
|
10344
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
10345
|
+
};
|
|
10346
|
+
cookie?: never;
|
|
10347
|
+
};
|
|
10348
|
+
requestBody: {
|
|
10349
|
+
content: {
|
|
10350
|
+
"application/json": components["schemas"]["SonarQubeRepoMappingsPutDto"];
|
|
10351
|
+
};
|
|
10352
|
+
};
|
|
10353
|
+
responses: {
|
|
10354
|
+
/** @description Mappings saved */
|
|
10355
|
+
200: {
|
|
10356
|
+
headers: {
|
|
10357
|
+
[name: string]: unknown;
|
|
10358
|
+
};
|
|
10359
|
+
content: {
|
|
10360
|
+
"application/json": components["schemas"]["SonarQubeRepoMappingsListDto"];
|
|
10361
|
+
};
|
|
10362
|
+
};
|
|
10363
|
+
/** @description Unknown repo slug or invalid body */
|
|
10364
|
+
400: {
|
|
10365
|
+
headers: {
|
|
10366
|
+
[name: string]: unknown;
|
|
10367
|
+
};
|
|
10368
|
+
content?: never;
|
|
10369
|
+
};
|
|
10370
|
+
401: components["responses"]["Unauthorized"];
|
|
10371
|
+
403: components["responses"]["Forbidden"];
|
|
10372
|
+
};
|
|
10373
|
+
};
|
|
10374
|
+
validateSonarQubeRepoMappings: {
|
|
10375
|
+
parameters: {
|
|
10376
|
+
query?: never;
|
|
10377
|
+
header?: never;
|
|
10378
|
+
path: {
|
|
10379
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
10380
|
+
};
|
|
10381
|
+
cookie?: never;
|
|
10382
|
+
};
|
|
10383
|
+
requestBody: {
|
|
10384
|
+
content: {
|
|
10385
|
+
"application/json": components["schemas"]["SonarQubeRepoMappingsPutDto"];
|
|
10386
|
+
};
|
|
10387
|
+
};
|
|
10388
|
+
responses: {
|
|
10389
|
+
/** @description Per-row probe results */
|
|
10390
|
+
200: {
|
|
10391
|
+
headers: {
|
|
10392
|
+
[name: string]: unknown;
|
|
10393
|
+
};
|
|
10394
|
+
content: {
|
|
10395
|
+
"application/json": components["schemas"]["SonarQubeRepoMappingsValidateResponseDto"];
|
|
10396
|
+
};
|
|
10397
|
+
};
|
|
10398
|
+
401: components["responses"]["Unauthorized"];
|
|
10399
|
+
403: components["responses"]["Forbidden"];
|
|
10400
|
+
/** @description SonarQube source not configured */
|
|
10401
|
+
503: {
|
|
10402
|
+
headers: {
|
|
10403
|
+
[name: string]: unknown;
|
|
10404
|
+
};
|
|
10405
|
+
content?: never;
|
|
10406
|
+
};
|
|
10407
|
+
};
|
|
10408
|
+
};
|
|
10232
10409
|
deleteSourceByType: {
|
|
10233
10410
|
parameters: {
|
|
10234
10411
|
query?: never;
|
|
@@ -14116,7 +14293,7 @@ export interface operations {
|
|
|
14116
14293
|
fixStatus?: "open" | "pr-pending" | "fixed";
|
|
14117
14294
|
dimensionId?: components["schemas"]["ReadinessDimensionId"];
|
|
14118
14295
|
severity?: "critical" | "high" | "medium" | "low";
|
|
14119
|
-
/** @description
|
|
14296
|
+
/** @description When true (default), include criterion summary/status in issue metadata and remediation from `criteriaDetails` (plus inline scan remediation paragraphs). Agent workflow and rubric agent instructions are always included. When false, omit criterion-derived metadata and criterion remediation only. */
|
|
14120
14297
|
includeCriteria?: boolean;
|
|
14121
14298
|
/** @description IANA time zone for human-readable `Last analyzed` / `Exported` timestamps and the calendar date in the attachment filename (e.g. `Europe/Berlin`). Defaults to `UTC`. */
|
|
14122
14299
|
timeZone?: string;
|
package/src/index.ts
CHANGED
|
@@ -295,6 +295,8 @@ export interface DashboardProductivityMetricsDto {
|
|
|
295
295
|
shipWeightSum?: number;
|
|
296
296
|
/** Alias of shipWeightSum for single-window productivity cards. */
|
|
297
297
|
totalShipWeight?: number;
|
|
298
|
+
/** GitHub ledger rows in the window still awaiting ship-weight scoring. */
|
|
299
|
+
shipWeightPendingCount?: number;
|
|
298
300
|
avgPrMergeTimeHours?: number;
|
|
299
301
|
/** Per-PR summaries for contributor drilldown (stored during productivity ingest). */
|
|
300
302
|
mergedPullRequests?: {
|