@thinkai/tai-api-contract 2.193.0 → 2.195.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 +86 -247
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +54 -242
- package/package.json +1 -1
- package/src/generated/openapi.ts +86 -247
package/src/generated/openapi.ts
CHANGED
|
@@ -465,6 +465,27 @@ export interface paths {
|
|
|
465
465
|
patch?: never;
|
|
466
466
|
trace?: never;
|
|
467
467
|
};
|
|
468
|
+
"/admin/jobs-session": {
|
|
469
|
+
parameters: {
|
|
470
|
+
query?: never;
|
|
471
|
+
header?: never;
|
|
472
|
+
path?: never;
|
|
473
|
+
cookie?: never;
|
|
474
|
+
};
|
|
475
|
+
get?: never;
|
|
476
|
+
put?: never;
|
|
477
|
+
/**
|
|
478
|
+
* Mint HttpOnly cookie for /admin/jobs dashboard access
|
|
479
|
+
* @description Platform admins only. Copies the caller's Bearer JWT into an HttpOnly `tai_admin_jobs` cookie (`Path=/admin/`, `SameSite=Lax`, `Secure` when HTTPS/prod, `Max-Age` 1 hour) so browser navigations and admin-SPA iframes can authenticate to `/admin/jobs*` without an `Authorization` header on every request.
|
|
480
|
+
* Requires a Bearer JWT from an email on `PLATFORM_ADMIN_EMAILS`. The cookie is only accepted as a Bearer substitute on `/admin/jobs*` paths by the API auth preHandler. The mounted `@pg-boss/dashboard` HTML surface is not part of this contract.
|
|
481
|
+
*/
|
|
482
|
+
post: operations["adminCreateJobsSession"];
|
|
483
|
+
delete?: never;
|
|
484
|
+
options?: never;
|
|
485
|
+
head?: never;
|
|
486
|
+
patch?: never;
|
|
487
|
+
trace?: never;
|
|
488
|
+
};
|
|
468
489
|
"/admin/platform/banner": {
|
|
469
490
|
parameters: {
|
|
470
491
|
query?: never;
|
|
@@ -3696,59 +3717,6 @@ export interface paths {
|
|
|
3696
3717
|
patch?: never;
|
|
3697
3718
|
trace?: never;
|
|
3698
3719
|
};
|
|
3699
|
-
"/workspaces/{workspaceId}/squad": {
|
|
3700
|
-
parameters: {
|
|
3701
|
-
query?: never;
|
|
3702
|
-
header?: never;
|
|
3703
|
-
path?: never;
|
|
3704
|
-
cookie?: never;
|
|
3705
|
-
};
|
|
3706
|
-
/** Get squad configuration */
|
|
3707
|
-
get: operations["getSquad"];
|
|
3708
|
-
/** Upsert squad */
|
|
3709
|
-
put: operations["putSquad"];
|
|
3710
|
-
post?: never;
|
|
3711
|
-
delete?: never;
|
|
3712
|
-
options?: never;
|
|
3713
|
-
head?: never;
|
|
3714
|
-
patch?: never;
|
|
3715
|
-
trace?: never;
|
|
3716
|
-
};
|
|
3717
|
-
"/workspaces/{workspaceId}/projects": {
|
|
3718
|
-
parameters: {
|
|
3719
|
-
query?: never;
|
|
3720
|
-
header?: never;
|
|
3721
|
-
path?: never;
|
|
3722
|
-
cookie?: never;
|
|
3723
|
-
};
|
|
3724
|
-
/** List projects */
|
|
3725
|
-
get: operations["listProjects"];
|
|
3726
|
-
put?: never;
|
|
3727
|
-
/** Create project */
|
|
3728
|
-
post: operations["createProject"];
|
|
3729
|
-
delete?: never;
|
|
3730
|
-
options?: never;
|
|
3731
|
-
head?: never;
|
|
3732
|
-
patch?: never;
|
|
3733
|
-
trace?: never;
|
|
3734
|
-
};
|
|
3735
|
-
"/workspaces/{workspaceId}/projects/{projectId}": {
|
|
3736
|
-
parameters: {
|
|
3737
|
-
query?: never;
|
|
3738
|
-
header?: never;
|
|
3739
|
-
path?: never;
|
|
3740
|
-
cookie?: never;
|
|
3741
|
-
};
|
|
3742
|
-
get?: never;
|
|
3743
|
-
put?: never;
|
|
3744
|
-
post?: never;
|
|
3745
|
-
delete?: never;
|
|
3746
|
-
options?: never;
|
|
3747
|
-
head?: never;
|
|
3748
|
-
/** Update project */
|
|
3749
|
-
patch: operations["patchProject"];
|
|
3750
|
-
trace?: never;
|
|
3751
|
-
};
|
|
3752
3720
|
"/workspaces/{workspaceId}/code-chat/indexes": {
|
|
3753
3721
|
parameters: {
|
|
3754
3722
|
query?: never;
|
|
@@ -9608,64 +9576,6 @@ export interface components {
|
|
|
9608
9576
|
prNumber: number;
|
|
9609
9577
|
branchName: string;
|
|
9610
9578
|
};
|
|
9611
|
-
PhaseRoleDto: {
|
|
9612
|
-
phase: string;
|
|
9613
|
-
/** @enum {string} */
|
|
9614
|
-
assignment: "orchestrate" | "review" | "both" | "none";
|
|
9615
|
-
};
|
|
9616
|
-
SquadMemberDto: {
|
|
9617
|
-
id: string;
|
|
9618
|
-
role: string;
|
|
9619
|
-
roleLabel: string;
|
|
9620
|
-
name?: string;
|
|
9621
|
-
description: string;
|
|
9622
|
-
count: number;
|
|
9623
|
-
phases: components["schemas"]["PhaseRoleDto"][];
|
|
9624
|
-
custom?: boolean;
|
|
9625
|
-
};
|
|
9626
|
-
CustomWorkStreamTaskDto: {
|
|
9627
|
-
id: string;
|
|
9628
|
-
name: string;
|
|
9629
|
-
summary: string;
|
|
9630
|
-
};
|
|
9631
|
-
PhaseWorkStreamConfigDto: {
|
|
9632
|
-
deselectedCatalogIds?: string[];
|
|
9633
|
-
customTasks?: components["schemas"]["CustomWorkStreamTaskDto"][];
|
|
9634
|
-
};
|
|
9635
|
-
SquadDto: {
|
|
9636
|
-
members: components["schemas"]["SquadMemberDto"][];
|
|
9637
|
-
hrConnected: boolean;
|
|
9638
|
-
selectedPhases?: string[];
|
|
9639
|
-
phaseWorkStreams?: {
|
|
9640
|
-
[key: string]: components["schemas"]["PhaseWorkStreamConfigDto"];
|
|
9641
|
-
};
|
|
9642
|
-
};
|
|
9643
|
-
WorkflowDto: {
|
|
9644
|
-
id: string;
|
|
9645
|
-
name: string;
|
|
9646
|
-
kinds: ("greenfield" | "brownfield")[];
|
|
9647
|
-
typeDescription: string;
|
|
9648
|
-
roles: string[];
|
|
9649
|
-
};
|
|
9650
|
-
ProjectDto: {
|
|
9651
|
-
id: string;
|
|
9652
|
-
name: string;
|
|
9653
|
-
description: string;
|
|
9654
|
-
startDate: string;
|
|
9655
|
-
workflows: components["schemas"]["WorkflowDto"][];
|
|
9656
|
-
/** Format: date-time */
|
|
9657
|
-
createdAt: string;
|
|
9658
|
-
};
|
|
9659
|
-
/** @description Partial update; all properties optional */
|
|
9660
|
-
ProjectPatchDto: {
|
|
9661
|
-
id?: string;
|
|
9662
|
-
name?: string;
|
|
9663
|
-
description?: string;
|
|
9664
|
-
startDate?: string;
|
|
9665
|
-
workflows?: components["schemas"]["WorkflowDto"][];
|
|
9666
|
-
/** Format: date-time */
|
|
9667
|
-
createdAt?: string;
|
|
9668
|
-
};
|
|
9669
9579
|
PlatformBannerDto: {
|
|
9670
9580
|
/** @description Stable identifier used for dismiss persistence in the SPA. */
|
|
9671
9581
|
id: string;
|
|
@@ -13104,7 +13014,6 @@ export interface components {
|
|
|
13104
13014
|
RepoId: string;
|
|
13105
13015
|
/** @description Provider repository slug in `owner/repo` form (GitHub). Used for shareable public URLs; resolves to the same row as `repoId` UUID internally. */
|
|
13106
13016
|
ProviderSlug: string;
|
|
13107
|
-
ProjectId: string;
|
|
13108
13017
|
NotificationId: string;
|
|
13109
13018
|
/** @description Workspace member user id (`tai_users.id`). */
|
|
13110
13019
|
WorkspaceMemberId: string;
|
|
@@ -13517,14 +13426,6 @@ export type RulesSkillsCreateRequestDto = components['schemas']['RulesSkillsCrea
|
|
|
13517
13426
|
export type RulesSkillsCreateResponseDto = components['schemas']['RulesSkillsCreateResponseDto'];
|
|
13518
13427
|
export type RulesSkillsOpenPullRequestRequestDto = components['schemas']['RulesSkillsOpenPullRequestRequestDto'];
|
|
13519
13428
|
export type RulesSkillsOpenPullRequestResponseDto = components['schemas']['RulesSkillsOpenPullRequestResponseDto'];
|
|
13520
|
-
export type PhaseRoleDto = components['schemas']['PhaseRoleDto'];
|
|
13521
|
-
export type SquadMemberDto = components['schemas']['SquadMemberDto'];
|
|
13522
|
-
export type CustomWorkStreamTaskDto = components['schemas']['CustomWorkStreamTaskDto'];
|
|
13523
|
-
export type PhaseWorkStreamConfigDto = components['schemas']['PhaseWorkStreamConfigDto'];
|
|
13524
|
-
export type SquadDto = components['schemas']['SquadDto'];
|
|
13525
|
-
export type WorkflowDto = components['schemas']['WorkflowDto'];
|
|
13526
|
-
export type ProjectDto = components['schemas']['ProjectDto'];
|
|
13527
|
-
export type ProjectPatchDto = components['schemas']['ProjectPatchDto'];
|
|
13528
13429
|
export type PlatformBannerDto = components['schemas']['PlatformBannerDto'];
|
|
13529
13430
|
export type PlatformBannerViewDto = components['schemas']['PlatformBannerViewDto'];
|
|
13530
13431
|
export type PlatformBannerUpsertDto = components['schemas']['PlatformBannerUpsertDto'];
|
|
@@ -13856,7 +13757,6 @@ export type ParameterEvalPackId = components['parameters']['EvalPackId'];
|
|
|
13856
13757
|
export type ParameterEvalRunId = components['parameters']['EvalRunId'];
|
|
13857
13758
|
export type ParameterRepoId = components['parameters']['RepoId'];
|
|
13858
13759
|
export type ParameterProviderSlug = components['parameters']['ProviderSlug'];
|
|
13859
|
-
export type ParameterProjectId = components['parameters']['ProjectId'];
|
|
13860
13760
|
export type ParameterNotificationId = components['parameters']['NotificationId'];
|
|
13861
13761
|
export type ParameterWorkspaceMemberId = components['parameters']['WorkspaceMemberId'];
|
|
13862
13762
|
export type ParameterWorkspaceInvitationToken = components['parameters']['WorkspaceInvitationToken'];
|
|
@@ -15510,6 +15410,71 @@ export interface operations {
|
|
|
15510
15410
|
};
|
|
15511
15411
|
};
|
|
15512
15412
|
};
|
|
15413
|
+
adminCreateJobsSession: {
|
|
15414
|
+
parameters: {
|
|
15415
|
+
query?: never;
|
|
15416
|
+
header?: never;
|
|
15417
|
+
path?: never;
|
|
15418
|
+
cookie?: never;
|
|
15419
|
+
};
|
|
15420
|
+
requestBody?: never;
|
|
15421
|
+
responses: {
|
|
15422
|
+
/** @description Session cookie set (Set-Cookie with tai_admin_jobs). */
|
|
15423
|
+
204: {
|
|
15424
|
+
headers: {
|
|
15425
|
+
/** @description HttpOnly jobs session cookie with the caller's JWT value, Path=/admin/, SameSite=Lax, Max-Age=3600, Secure when applicable. */
|
|
15426
|
+
"Set-Cookie"?: string;
|
|
15427
|
+
[name: string]: unknown;
|
|
15428
|
+
};
|
|
15429
|
+
content?: never;
|
|
15430
|
+
};
|
|
15431
|
+
/** @description Missing or non-Bearer Authorization (no JWT to put in the cookie). */
|
|
15432
|
+
401: {
|
|
15433
|
+
headers: {
|
|
15434
|
+
[name: string]: unknown;
|
|
15435
|
+
};
|
|
15436
|
+
content: {
|
|
15437
|
+
/**
|
|
15438
|
+
* @example {
|
|
15439
|
+
* "error": "Unauthorized",
|
|
15440
|
+
* "code": "unauthorized"
|
|
15441
|
+
* }
|
|
15442
|
+
*/
|
|
15443
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
15444
|
+
};
|
|
15445
|
+
};
|
|
15446
|
+
/** @description Caller is not a platform admin. */
|
|
15447
|
+
403: {
|
|
15448
|
+
headers: {
|
|
15449
|
+
[name: string]: unknown;
|
|
15450
|
+
};
|
|
15451
|
+
content: {
|
|
15452
|
+
/**
|
|
15453
|
+
* @example {
|
|
15454
|
+
* "error": "Forbidden",
|
|
15455
|
+
* "code": "forbidden"
|
|
15456
|
+
* }
|
|
15457
|
+
*/
|
|
15458
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
15459
|
+
};
|
|
15460
|
+
};
|
|
15461
|
+
/** @description Jobs dashboard unavailable (`JOBS_PG_BOSS_ENABLED=false` or readiness DB URL missing). */
|
|
15462
|
+
503: {
|
|
15463
|
+
headers: {
|
|
15464
|
+
[name: string]: unknown;
|
|
15465
|
+
};
|
|
15466
|
+
content: {
|
|
15467
|
+
/**
|
|
15468
|
+
* @example {
|
|
15469
|
+
* "error": "Jobs dashboard unavailable",
|
|
15470
|
+
* "code": "jobs_dashboard_unavailable"
|
|
15471
|
+
* }
|
|
15472
|
+
*/
|
|
15473
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
15474
|
+
};
|
|
15475
|
+
};
|
|
15476
|
+
};
|
|
15477
|
+
};
|
|
15513
15478
|
adminGetPlatformBanner: {
|
|
15514
15479
|
parameters: {
|
|
15515
15480
|
query?: never;
|
|
@@ -24131,132 +24096,6 @@ export interface operations {
|
|
|
24131
24096
|
403: components["responses"]["Forbidden"];
|
|
24132
24097
|
};
|
|
24133
24098
|
};
|
|
24134
|
-
getSquad: {
|
|
24135
|
-
parameters: {
|
|
24136
|
-
query?: never;
|
|
24137
|
-
header?: never;
|
|
24138
|
-
path: {
|
|
24139
|
-
workspaceId: components["parameters"]["WorkspaceId"];
|
|
24140
|
-
};
|
|
24141
|
-
cookie?: never;
|
|
24142
|
-
};
|
|
24143
|
-
requestBody?: never;
|
|
24144
|
-
responses: {
|
|
24145
|
-
/** @description Squad */
|
|
24146
|
-
200: {
|
|
24147
|
-
headers: {
|
|
24148
|
-
[name: string]: unknown;
|
|
24149
|
-
};
|
|
24150
|
-
content: {
|
|
24151
|
-
"application/json": components["schemas"]["SquadDto"];
|
|
24152
|
-
};
|
|
24153
|
-
};
|
|
24154
|
-
401: components["responses"]["Unauthorized"];
|
|
24155
|
-
};
|
|
24156
|
-
};
|
|
24157
|
-
putSquad: {
|
|
24158
|
-
parameters: {
|
|
24159
|
-
query?: never;
|
|
24160
|
-
header?: never;
|
|
24161
|
-
path: {
|
|
24162
|
-
workspaceId: components["parameters"]["WorkspaceId"];
|
|
24163
|
-
};
|
|
24164
|
-
cookie?: never;
|
|
24165
|
-
};
|
|
24166
|
-
requestBody: {
|
|
24167
|
-
content: {
|
|
24168
|
-
"application/json": components["schemas"]["SquadDto"];
|
|
24169
|
-
};
|
|
24170
|
-
};
|
|
24171
|
-
responses: {
|
|
24172
|
-
/** @description Saved */
|
|
24173
|
-
204: {
|
|
24174
|
-
headers: {
|
|
24175
|
-
[name: string]: unknown;
|
|
24176
|
-
};
|
|
24177
|
-
content?: never;
|
|
24178
|
-
};
|
|
24179
|
-
401: components["responses"]["Unauthorized"];
|
|
24180
|
-
};
|
|
24181
|
-
};
|
|
24182
|
-
listProjects: {
|
|
24183
|
-
parameters: {
|
|
24184
|
-
query?: never;
|
|
24185
|
-
header?: never;
|
|
24186
|
-
path: {
|
|
24187
|
-
workspaceId: components["parameters"]["WorkspaceId"];
|
|
24188
|
-
};
|
|
24189
|
-
cookie?: never;
|
|
24190
|
-
};
|
|
24191
|
-
requestBody?: never;
|
|
24192
|
-
responses: {
|
|
24193
|
-
/** @description Projects */
|
|
24194
|
-
200: {
|
|
24195
|
-
headers: {
|
|
24196
|
-
[name: string]: unknown;
|
|
24197
|
-
};
|
|
24198
|
-
content: {
|
|
24199
|
-
"application/json": components["schemas"]["ProjectDto"][];
|
|
24200
|
-
};
|
|
24201
|
-
};
|
|
24202
|
-
401: components["responses"]["Unauthorized"];
|
|
24203
|
-
};
|
|
24204
|
-
};
|
|
24205
|
-
createProject: {
|
|
24206
|
-
parameters: {
|
|
24207
|
-
query?: never;
|
|
24208
|
-
header?: never;
|
|
24209
|
-
path: {
|
|
24210
|
-
workspaceId: components["parameters"]["WorkspaceId"];
|
|
24211
|
-
};
|
|
24212
|
-
cookie?: never;
|
|
24213
|
-
};
|
|
24214
|
-
requestBody: {
|
|
24215
|
-
content: {
|
|
24216
|
-
"application/json": components["schemas"]["ProjectDto"];
|
|
24217
|
-
};
|
|
24218
|
-
};
|
|
24219
|
-
responses: {
|
|
24220
|
-
/** @description Created project */
|
|
24221
|
-
200: {
|
|
24222
|
-
headers: {
|
|
24223
|
-
[name: string]: unknown;
|
|
24224
|
-
};
|
|
24225
|
-
content: {
|
|
24226
|
-
"application/json": components["schemas"]["ProjectDto"];
|
|
24227
|
-
};
|
|
24228
|
-
};
|
|
24229
|
-
401: components["responses"]["Unauthorized"];
|
|
24230
|
-
};
|
|
24231
|
-
};
|
|
24232
|
-
patchProject: {
|
|
24233
|
-
parameters: {
|
|
24234
|
-
query?: never;
|
|
24235
|
-
header?: never;
|
|
24236
|
-
path: {
|
|
24237
|
-
workspaceId: components["parameters"]["WorkspaceId"];
|
|
24238
|
-
projectId: components["parameters"]["ProjectId"];
|
|
24239
|
-
};
|
|
24240
|
-
cookie?: never;
|
|
24241
|
-
};
|
|
24242
|
-
requestBody: {
|
|
24243
|
-
content: {
|
|
24244
|
-
"application/json": components["schemas"]["ProjectPatchDto"];
|
|
24245
|
-
};
|
|
24246
|
-
};
|
|
24247
|
-
responses: {
|
|
24248
|
-
/** @description Updated project */
|
|
24249
|
-
200: {
|
|
24250
|
-
headers: {
|
|
24251
|
-
[name: string]: unknown;
|
|
24252
|
-
};
|
|
24253
|
-
content: {
|
|
24254
|
-
"application/json": components["schemas"]["ProjectDto"];
|
|
24255
|
-
};
|
|
24256
|
-
};
|
|
24257
|
-
401: components["responses"]["Unauthorized"];
|
|
24258
|
-
};
|
|
24259
|
-
};
|
|
24260
24099
|
listCodeChatIndexes: {
|
|
24261
24100
|
parameters: {
|
|
24262
24101
|
query?: never;
|