@thinkai/tai-api-contract 2.4.1 → 2.4.4
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 +168 -19
- package/dist/generated/openapi.d.ts.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/openapi/openapi.yaml +199 -18
- package/package.json +1 -1
- package/src/generated/openapi.ts +168 -19
- package/src/index.ts +8 -3
|
@@ -825,7 +825,10 @@ export interface paths {
|
|
|
825
825
|
path?: never;
|
|
826
826
|
cookie?: never;
|
|
827
827
|
};
|
|
828
|
-
/**
|
|
828
|
+
/**
|
|
829
|
+
* Readiness dimensions catalog
|
|
830
|
+
* @description Returns static rubric metadata (id, name, description, maxScore) aligned with the readiness scanner dimensions. Does not run scoring on the request path.
|
|
831
|
+
*/
|
|
829
832
|
get: operations["listReadinessDimensions"];
|
|
830
833
|
put?: never;
|
|
831
834
|
post?: never;
|
|
@@ -842,10 +845,16 @@ export interface paths {
|
|
|
842
845
|
path?: never;
|
|
843
846
|
cookie?: never;
|
|
844
847
|
};
|
|
845
|
-
/**
|
|
848
|
+
/**
|
|
849
|
+
* List fix requests
|
|
850
|
+
* @description Returns persisted fix-queue rows for the workspace (newest first). Empty array when none exist.
|
|
851
|
+
*/
|
|
846
852
|
get: operations["listReadinessFixes"];
|
|
847
853
|
put?: never;
|
|
848
|
-
/**
|
|
854
|
+
/**
|
|
855
|
+
* Enqueue fix for an issue
|
|
856
|
+
* @description Creates a fix request with `status: queued` when `issueId` belongs to `repoId` in this workspace. Requires workspace editor or admin. Re-posting the same `issueId` and `repoId` returns the existing row (idempotent).
|
|
857
|
+
*/
|
|
849
858
|
post: operations["postReadinessFix"];
|
|
850
859
|
delete?: never;
|
|
851
860
|
options?: never;
|
|
@@ -1022,7 +1031,10 @@ export interface paths {
|
|
|
1022
1031
|
};
|
|
1023
1032
|
get?: never;
|
|
1024
1033
|
put?: never;
|
|
1025
|
-
/**
|
|
1034
|
+
/**
|
|
1035
|
+
* Import org chart from Supabase storage path
|
|
1036
|
+
* @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`.
|
|
1037
|
+
*/
|
|
1026
1038
|
post: operations["postOrgChartImport"];
|
|
1027
1039
|
delete?: never;
|
|
1028
1040
|
options?: never;
|
|
@@ -1056,6 +1068,16 @@ export interface components {
|
|
|
1056
1068
|
/** @enum {string} */
|
|
1057
1069
|
role: "admin" | "editor" | "viewer";
|
|
1058
1070
|
};
|
|
1071
|
+
OrgChartNodeDto: {
|
|
1072
|
+
id: string;
|
|
1073
|
+
name: string;
|
|
1074
|
+
/** @enum {string} */
|
|
1075
|
+
type: "org" | "department" | "team" | "person";
|
|
1076
|
+
external_ids?: {
|
|
1077
|
+
[key: string]: string;
|
|
1078
|
+
};
|
|
1079
|
+
children?: components["schemas"]["OrgChartNodeDto"][];
|
|
1080
|
+
};
|
|
1059
1081
|
OrgChartTreeNodeDto: {
|
|
1060
1082
|
id: string;
|
|
1061
1083
|
name?: string;
|
|
@@ -1069,9 +1091,31 @@ export interface components {
|
|
|
1069
1091
|
};
|
|
1070
1092
|
children?: components["schemas"]["OrgChartTreeNodeDto"][];
|
|
1071
1093
|
};
|
|
1072
|
-
|
|
1094
|
+
ScoringOrgChartDto: {
|
|
1073
1095
|
root: components["schemas"]["OrgChartTreeNodeDto"];
|
|
1074
1096
|
};
|
|
1097
|
+
OrgChartDto: {
|
|
1098
|
+
root: components["schemas"]["OrgChartNodeDto"];
|
|
1099
|
+
};
|
|
1100
|
+
OrgChartPersonDto: {
|
|
1101
|
+
employeeId: string;
|
|
1102
|
+
name: string;
|
|
1103
|
+
email: string;
|
|
1104
|
+
title: string;
|
|
1105
|
+
department: string;
|
|
1106
|
+
team: string;
|
|
1107
|
+
managerId: string;
|
|
1108
|
+
location: string;
|
|
1109
|
+
};
|
|
1110
|
+
OrgChartImportResultDto: {
|
|
1111
|
+
persons: components["schemas"]["OrgChartPersonDto"][];
|
|
1112
|
+
errors: string[];
|
|
1113
|
+
};
|
|
1114
|
+
OrgChartSaveResultDto: {
|
|
1115
|
+
ok: boolean;
|
|
1116
|
+
/** Format: uuid */
|
|
1117
|
+
tenantId: string;
|
|
1118
|
+
};
|
|
1075
1119
|
TenantSourceEntryDto: {
|
|
1076
1120
|
type: string;
|
|
1077
1121
|
} & {
|
|
@@ -1092,7 +1136,7 @@ export interface components {
|
|
|
1092
1136
|
};
|
|
1093
1137
|
WorkspaceConfigDto: {
|
|
1094
1138
|
sources: components["schemas"]["TenantSourceEntryDto"][];
|
|
1095
|
-
orgChart?: components["schemas"]["
|
|
1139
|
+
orgChart?: components["schemas"]["ScoringOrgChartDto"] | null;
|
|
1096
1140
|
/** @enum {string|null} */
|
|
1097
1141
|
region?: "us" | "eu" | "me" | null;
|
|
1098
1142
|
};
|
|
@@ -1391,6 +1435,11 @@ export interface components {
|
|
|
1391
1435
|
};
|
|
1392
1436
|
/** @enum {string} */
|
|
1393
1437
|
ReadinessRunStatusDto: "queued" | "running" | "succeeded" | "failed" | "partial_failed";
|
|
1438
|
+
/**
|
|
1439
|
+
* @description Whether an AI readiness analysis run is queued or in progress for this repository slug. `idle` means no `queued`/`running` row exists in `tai_workspace_readiness_runs`.
|
|
1440
|
+
* @enum {string}
|
|
1441
|
+
*/
|
|
1442
|
+
ReadinessRepoAnalysisStatusDto: "idle" | "queued" | "running";
|
|
1394
1443
|
ReadinessRunSummaryDto: {
|
|
1395
1444
|
/** Format: uuid */
|
|
1396
1445
|
runId: string;
|
|
@@ -1436,6 +1485,12 @@ export interface components {
|
|
|
1436
1485
|
/** Format: uuid */
|
|
1437
1486
|
teamId?: string | null;
|
|
1438
1487
|
provider: components["schemas"]["RepoProviderDto"];
|
|
1488
|
+
analysisStatus: components["schemas"]["ReadinessRepoAnalysisStatusDto"];
|
|
1489
|
+
/**
|
|
1490
|
+
* Format: uuid
|
|
1491
|
+
* @description Present when `analysisStatus` is `queued` or `running`; use with `GET .../readiness/runs/{runId}`.
|
|
1492
|
+
*/
|
|
1493
|
+
activeRunId?: string | null;
|
|
1439
1494
|
};
|
|
1440
1495
|
AgenticFoundationDashboardSummaryDto: {
|
|
1441
1496
|
repoCount: number;
|
|
@@ -1484,7 +1539,15 @@ export interface components {
|
|
|
1484
1539
|
createdAt: string;
|
|
1485
1540
|
};
|
|
1486
1541
|
CreateFixRequestBodyDto: {
|
|
1542
|
+
/**
|
|
1543
|
+
* Format: uuid
|
|
1544
|
+
* @description Readiness issue id from stored scorecard data
|
|
1545
|
+
*/
|
|
1487
1546
|
issueId: string;
|
|
1547
|
+
/**
|
|
1548
|
+
* Format: uuid
|
|
1549
|
+
* @description Workspace repository id that owns the issue
|
|
1550
|
+
*/
|
|
1488
1551
|
repoId: string;
|
|
1489
1552
|
};
|
|
1490
1553
|
PhaseRoleDto: {
|
|
@@ -1673,8 +1736,13 @@ export type TeamMemberDto = components['schemas']['TeamMemberDto'];
|
|
|
1673
1736
|
export type TeamMemberListDto = components['schemas']['TeamMemberListDto'];
|
|
1674
1737
|
export type InviteTeamMemberBodyDto = components['schemas']['InviteTeamMemberBodyDto'];
|
|
1675
1738
|
export type UpdateTeamMemberRoleBodyDto = components['schemas']['UpdateTeamMemberRoleBodyDto'];
|
|
1739
|
+
export type OrgChartNodeDto = components['schemas']['OrgChartNodeDto'];
|
|
1676
1740
|
export type OrgChartTreeNodeDto = components['schemas']['OrgChartTreeNodeDto'];
|
|
1741
|
+
export type ScoringOrgChartDto = components['schemas']['ScoringOrgChartDto'];
|
|
1677
1742
|
export type OrgChartDto = components['schemas']['OrgChartDto'];
|
|
1743
|
+
export type OrgChartPersonDto = components['schemas']['OrgChartPersonDto'];
|
|
1744
|
+
export type OrgChartImportResultDto = components['schemas']['OrgChartImportResultDto'];
|
|
1745
|
+
export type OrgChartSaveResultDto = components['schemas']['OrgChartSaveResultDto'];
|
|
1678
1746
|
export type TenantSourceEntryDto = components['schemas']['TenantSourceEntryDto'];
|
|
1679
1747
|
export type CursorSourceDto = components['schemas']['CursorSourceDto'];
|
|
1680
1748
|
export type WorkspaceConfigDto = components['schemas']['WorkspaceConfigDto'];
|
|
@@ -1716,6 +1784,7 @@ export type RepoProviderDto = components['schemas']['RepoProviderDto'];
|
|
|
1716
1784
|
export type ReadinessAnalyzeBodyDto = components['schemas']['ReadinessAnalyzeBodyDto'];
|
|
1717
1785
|
export type ReadinessAnalyzeResponseDto = components['schemas']['ReadinessAnalyzeResponseDto'];
|
|
1718
1786
|
export type ReadinessRunStatusDto = components['schemas']['ReadinessRunStatusDto'];
|
|
1787
|
+
export type ReadinessRepoAnalysisStatusDto = components['schemas']['ReadinessRepoAnalysisStatusDto'];
|
|
1719
1788
|
export type ReadinessRunSummaryDto = components['schemas']['ReadinessRunSummaryDto'];
|
|
1720
1789
|
export type ReadinessIssueDto = components['schemas']['ReadinessIssueDto'];
|
|
1721
1790
|
export type DimensionScoreDto = components['schemas']['DimensionScoreDto'];
|
|
@@ -1985,9 +2054,7 @@ export interface operations {
|
|
|
1985
2054
|
};
|
|
1986
2055
|
getTenantOrgChart: {
|
|
1987
2056
|
parameters: {
|
|
1988
|
-
query?:
|
|
1989
|
-
withScores?: boolean;
|
|
1990
|
-
};
|
|
2057
|
+
query?: never;
|
|
1991
2058
|
header?: never;
|
|
1992
2059
|
path: {
|
|
1993
2060
|
workspaceId: components["parameters"]["WorkspaceId"];
|
|
@@ -1996,7 +2063,7 @@ export interface operations {
|
|
|
1996
2063
|
};
|
|
1997
2064
|
requestBody?: never;
|
|
1998
2065
|
responses: {
|
|
1999
|
-
/** @description
|
|
2066
|
+
/** @description SPA org structure chart (`spa_org_chart`; per-node scores not included — use GET /config for scoring tree) */
|
|
2000
2067
|
200: {
|
|
2001
2068
|
headers: {
|
|
2002
2069
|
[name: string]: unknown;
|
|
@@ -2006,6 +2073,7 @@ export interface operations {
|
|
|
2006
2073
|
};
|
|
2007
2074
|
};
|
|
2008
2075
|
401: components["responses"]["Unauthorized"];
|
|
2076
|
+
403: components["responses"]["Forbidden"];
|
|
2009
2077
|
/** @description Workspace not found */
|
|
2010
2078
|
404: {
|
|
2011
2079
|
headers: {
|
|
@@ -2036,13 +2104,20 @@ export interface operations {
|
|
|
2036
2104
|
[name: string]: unknown;
|
|
2037
2105
|
};
|
|
2038
2106
|
content: {
|
|
2039
|
-
"application/json":
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2107
|
+
"application/json": components["schemas"]["OrgChartSaveResultDto"];
|
|
2108
|
+
};
|
|
2109
|
+
};
|
|
2110
|
+
/** @description Invalid request body or chart limits exceeded */
|
|
2111
|
+
400: {
|
|
2112
|
+
headers: {
|
|
2113
|
+
[name: string]: unknown;
|
|
2114
|
+
};
|
|
2115
|
+
content: {
|
|
2116
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
2043
2117
|
};
|
|
2044
2118
|
};
|
|
2045
2119
|
401: components["responses"]["Unauthorized"];
|
|
2120
|
+
403: components["responses"]["Forbidden"];
|
|
2046
2121
|
};
|
|
2047
2122
|
};
|
|
2048
2123
|
getWorkspaceConfig: {
|
|
@@ -3534,6 +3609,16 @@ export interface operations {
|
|
|
3534
3609
|
};
|
|
3535
3610
|
};
|
|
3536
3611
|
401: components["responses"]["Unauthorized"];
|
|
3612
|
+
403: components["responses"]["Forbidden"];
|
|
3613
|
+
/** @description Workspace does not exist */
|
|
3614
|
+
404: {
|
|
3615
|
+
headers: {
|
|
3616
|
+
[name: string]: unknown;
|
|
3617
|
+
};
|
|
3618
|
+
content: {
|
|
3619
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
3620
|
+
};
|
|
3621
|
+
};
|
|
3537
3622
|
};
|
|
3538
3623
|
};
|
|
3539
3624
|
listReadinessFixes: {
|
|
@@ -3557,6 +3642,16 @@ export interface operations {
|
|
|
3557
3642
|
};
|
|
3558
3643
|
};
|
|
3559
3644
|
401: components["responses"]["Unauthorized"];
|
|
3645
|
+
403: components["responses"]["Forbidden"];
|
|
3646
|
+
/** @description Workspace does not exist */
|
|
3647
|
+
404: {
|
|
3648
|
+
headers: {
|
|
3649
|
+
[name: string]: unknown;
|
|
3650
|
+
};
|
|
3651
|
+
content: {
|
|
3652
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
3653
|
+
};
|
|
3654
|
+
};
|
|
3560
3655
|
};
|
|
3561
3656
|
};
|
|
3562
3657
|
postReadinessFix: {
|
|
@@ -3574,7 +3669,7 @@ export interface operations {
|
|
|
3574
3669
|
};
|
|
3575
3670
|
};
|
|
3576
3671
|
responses: {
|
|
3577
|
-
/** @description Fix request created */
|
|
3672
|
+
/** @description Fix request created or existing row returned */
|
|
3578
3673
|
200: {
|
|
3579
3674
|
headers: {
|
|
3580
3675
|
[name: string]: unknown;
|
|
@@ -3583,7 +3678,26 @@ export interface operations {
|
|
|
3583
3678
|
"application/json": components["schemas"]["FixRequestDto"];
|
|
3584
3679
|
};
|
|
3585
3680
|
};
|
|
3681
|
+
/** @description Invalid body or malformed `repoId` (not a UUID) */
|
|
3682
|
+
400: {
|
|
3683
|
+
headers: {
|
|
3684
|
+
[name: string]: unknown;
|
|
3685
|
+
};
|
|
3686
|
+
content: {
|
|
3687
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
3688
|
+
};
|
|
3689
|
+
};
|
|
3586
3690
|
401: components["responses"]["Unauthorized"];
|
|
3691
|
+
403: components["responses"]["Forbidden"];
|
|
3692
|
+
/** @description Workspace not found, or issue/repo pair not in workspace */
|
|
3693
|
+
404: {
|
|
3694
|
+
headers: {
|
|
3695
|
+
[name: string]: unknown;
|
|
3696
|
+
};
|
|
3697
|
+
content: {
|
|
3698
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
3699
|
+
};
|
|
3700
|
+
};
|
|
3587
3701
|
};
|
|
3588
3702
|
};
|
|
3589
3703
|
getSquad: {
|
|
@@ -3966,18 +4080,53 @@ export interface operations {
|
|
|
3966
4080
|
};
|
|
3967
4081
|
};
|
|
3968
4082
|
responses: {
|
|
3969
|
-
/** @description Parsed persons
|
|
4083
|
+
/** @description Parsed persons from uploaded CSV (not persisted server-side) */
|
|
3970
4084
|
200: {
|
|
3971
4085
|
headers: {
|
|
3972
4086
|
[name: string]: unknown;
|
|
3973
4087
|
};
|
|
3974
4088
|
content: {
|
|
3975
|
-
"application/json":
|
|
3976
|
-
|
|
3977
|
-
|
|
4089
|
+
"application/json": components["schemas"]["OrgChartImportResultDto"];
|
|
4090
|
+
};
|
|
4091
|
+
};
|
|
4092
|
+
/** @description Invalid body or storage path */
|
|
4093
|
+
400: {
|
|
4094
|
+
headers: {
|
|
4095
|
+
[name: string]: unknown;
|
|
4096
|
+
};
|
|
4097
|
+
content: {
|
|
4098
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
3978
4099
|
};
|
|
3979
4100
|
};
|
|
3980
4101
|
401: components["responses"]["Unauthorized"];
|
|
4102
|
+
403: components["responses"]["Forbidden"];
|
|
4103
|
+
/** @description Storage object not found */
|
|
4104
|
+
404: {
|
|
4105
|
+
headers: {
|
|
4106
|
+
[name: string]: unknown;
|
|
4107
|
+
};
|
|
4108
|
+
content: {
|
|
4109
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
4110
|
+
};
|
|
4111
|
+
};
|
|
4112
|
+
/** @description Failed to download file from storage */
|
|
4113
|
+
502: {
|
|
4114
|
+
headers: {
|
|
4115
|
+
[name: string]: unknown;
|
|
4116
|
+
};
|
|
4117
|
+
content: {
|
|
4118
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
4119
|
+
};
|
|
4120
|
+
};
|
|
4121
|
+
/** @description Storage import not configured or service unavailable */
|
|
4122
|
+
503: {
|
|
4123
|
+
headers: {
|
|
4124
|
+
[name: string]: unknown;
|
|
4125
|
+
};
|
|
4126
|
+
content: {
|
|
4127
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
4128
|
+
};
|
|
4129
|
+
};
|
|
3981
4130
|
};
|
|
3982
4131
|
};
|
|
3983
4132
|
}
|