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