@thinkai/tai-api-contract 2.156.0 → 2.157.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 +13 -33
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +46 -35
- package/package.json +1 -1
- package/src/generated/openapi.ts +13 -33
package/openapi/openapi.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
openapi: 3.0.3
|
|
2
2
|
info:
|
|
3
3
|
title: ThinkAI API
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.157.0
|
|
5
5
|
description: >
|
|
6
6
|
Contract surface for the AI Driven SDLC backend used by ThinkAI.
|
|
7
7
|
Workspace-scoped routes use `/workspaces/{workspaceId}/...`.
|
|
@@ -9343,10 +9343,11 @@ paths:
|
|
|
9343
9343
|
summary: Slack install URL for Message Center
|
|
9344
9344
|
operationId: getSlackInstallUrl
|
|
9345
9345
|
description: >
|
|
9346
|
-
Workspace admin only. Returns the Slack OAuth authorize URL
|
|
9347
|
-
server-side and names this workspace
|
|
9348
|
-
is `403` with `code`
|
|
9349
|
-
`503` with `code`
|
|
9346
|
+
Workspace admin only. Returns the Slack OAuth authorize URL with
|
|
9347
|
+
`incoming-webhook` scope. State is stored server-side and names this workspace
|
|
9348
|
+
and the signed-in admin. Editor or viewer is `403` with `code`
|
|
9349
|
+
`workspace_admin_required`. Missing Slack app settings are `503` with `code`
|
|
9350
|
+
`slack_not_configured`.
|
|
9350
9351
|
security:
|
|
9351
9352
|
- bearerAuth: []
|
|
9352
9353
|
parameters:
|
|
@@ -9393,10 +9394,11 @@ paths:
|
|
|
9393
9394
|
description: >
|
|
9394
9395
|
Browser return from Slack. The provider redirect does not include the API
|
|
9395
9396
|
bearer token. `state` was issued by `getSlackInstallUrl` to a signed-in admin
|
|
9396
|
-
and is single-use.
|
|
9397
|
-
|
|
9397
|
+
and is single-use. Install requests `incoming-webhook` only. The encrypted
|
|
9398
|
+
incoming-webhook URL and the channel Slack returns are stored only when that
|
|
9399
|
+
user is still a workspace admin. Success redirects to
|
|
9398
9400
|
`{spa}/workspace/preferences?chat=slack`. Failures redirect to the same
|
|
9399
|
-
page with `slack=error`. The
|
|
9401
|
+
page with `slack=error`. The webhook URL is never in the redirect.
|
|
9400
9402
|
parameters:
|
|
9401
9403
|
- name: code
|
|
9402
9404
|
in: query
|
|
@@ -9431,8 +9433,10 @@ paths:
|
|
|
9431
9433
|
summary: Slack connection status
|
|
9432
9434
|
operationId: getSlackIntegration
|
|
9433
9435
|
description: >
|
|
9434
|
-
Any workspace member. `{ connected, channelName }`. `
|
|
9435
|
-
|
|
9436
|
+
Any workspace member. `{ connected, channelName }`. `connected` is true only
|
|
9437
|
+
when a decryptable install webhook is stored. `channelName` is the channel
|
|
9438
|
+
chosen on Slack's install screen (null when not connected). Secrets are
|
|
9439
|
+
never returned.
|
|
9436
9440
|
security:
|
|
9437
9441
|
- bearerAuth: []
|
|
9438
9442
|
parameters:
|
|
@@ -9459,8 +9463,8 @@ paths:
|
|
|
9459
9463
|
summary: Disconnect Slack
|
|
9460
9464
|
operationId: deleteSlackIntegration
|
|
9461
9465
|
description: >
|
|
9462
|
-
Workspace admin only. Removes the bot token and
|
|
9463
|
-
Message Center delivery does not post to Slack.
|
|
9466
|
+
Workspace admin only. Removes the install webhook, optional bot token, and
|
|
9467
|
+
saved channel. Later Message Center delivery does not post to Slack.
|
|
9464
9468
|
security:
|
|
9465
9469
|
- bearerAuth: []
|
|
9466
9470
|
parameters:
|
|
@@ -9489,13 +9493,15 @@ paths:
|
|
|
9489
9493
|
/workspaces/{workspaceId}/integrations/slack/channel:
|
|
9490
9494
|
put:
|
|
9491
9495
|
tags: [Integrations]
|
|
9492
|
-
summary:
|
|
9496
|
+
summary: Change Slack channel (requires reinstall)
|
|
9493
9497
|
operationId: putSlackChannel
|
|
9494
9498
|
description: >
|
|
9495
|
-
Workspace admin only. Body `{ channelId }`.
|
|
9496
|
-
|
|
9497
|
-
channel
|
|
9498
|
-
`
|
|
9499
|
+
Workspace admin only. Body `{ channelId }`. The notification channel is
|
|
9500
|
+
chosen on Slack's install screen with the incoming webhook; this route does
|
|
9501
|
+
not rewrite channel metadata. When Slack is connected, the API returns `409`
|
|
9502
|
+
with `code` `slack_channel_reinstall_required` — reconnect via
|
|
9503
|
+
`getSlackInstallUrl` to pick a different channel. Malformed `channelId` is
|
|
9504
|
+
`400` `invalid_slack_channel`. Not connected is `409` `slack_not_connected`.
|
|
9499
9505
|
security:
|
|
9500
9506
|
- bearerAuth: []
|
|
9501
9507
|
parameters:
|
|
@@ -9508,19 +9514,21 @@ paths:
|
|
|
9508
9514
|
$ref: "#/components/schemas/SlackChannelBodyDto"
|
|
9509
9515
|
responses:
|
|
9510
9516
|
"200":
|
|
9511
|
-
description:
|
|
9517
|
+
description: >
|
|
9518
|
+
Not returned. The channel is chosen on Slack's install screen; when
|
|
9519
|
+
connected the API responds with `409` `slack_channel_reinstall_required`.
|
|
9512
9520
|
content:
|
|
9513
9521
|
application/json:
|
|
9514
9522
|
schema:
|
|
9515
9523
|
$ref: "#/components/schemas/SlackIntegrationStatusDto"
|
|
9516
9524
|
"400":
|
|
9517
|
-
description: channelId is missing
|
|
9525
|
+
description: channelId is missing or malformed
|
|
9518
9526
|
content:
|
|
9519
9527
|
application/json:
|
|
9520
9528
|
schema:
|
|
9521
9529
|
$ref: "#/components/schemas/ErrorMessageDto"
|
|
9522
9530
|
example:
|
|
9523
|
-
error:
|
|
9531
|
+
error: channelId is required
|
|
9524
9532
|
code: invalid_slack_channel
|
|
9525
9533
|
"401":
|
|
9526
9534
|
$ref: "#/components/responses/Unauthorized"
|
|
@@ -9540,23 +9548,22 @@ paths:
|
|
|
9540
9548
|
schema:
|
|
9541
9549
|
$ref: "#/components/schemas/ErrorMessageDto"
|
|
9542
9550
|
"409":
|
|
9543
|
-
description:
|
|
9544
|
-
|
|
9545
|
-
|
|
9546
|
-
schema:
|
|
9547
|
-
$ref: "#/components/schemas/ErrorMessageDto"
|
|
9548
|
-
example:
|
|
9549
|
-
error: Slack is not connected
|
|
9550
|
-
code: slack_not_connected
|
|
9551
|
-
"502":
|
|
9552
|
-
description: Slack rejected the lookup
|
|
9551
|
+
description: >
|
|
9552
|
+
Slack is not connected (`slack_not_connected`), or the channel cannot be
|
|
9553
|
+
changed without a new install (`slack_channel_reinstall_required`).
|
|
9553
9554
|
content:
|
|
9554
9555
|
application/json:
|
|
9555
9556
|
schema:
|
|
9556
9557
|
$ref: "#/components/schemas/ErrorMessageDto"
|
|
9557
|
-
|
|
9558
|
-
|
|
9559
|
-
|
|
9558
|
+
examples:
|
|
9559
|
+
notConnected:
|
|
9560
|
+
value:
|
|
9561
|
+
error: Slack is not connected
|
|
9562
|
+
code: slack_not_connected
|
|
9563
|
+
reinstallRequired:
|
|
9564
|
+
value:
|
|
9565
|
+
error: Reconnect Slack to change the notification channel
|
|
9566
|
+
code: slack_channel_reinstall_required
|
|
9560
9567
|
|
|
9561
9568
|
/workspaces/{workspaceId}/notification-preferences:
|
|
9562
9569
|
get:
|
|
@@ -19646,7 +19653,8 @@ components:
|
|
|
19646
19653
|
properties:
|
|
19647
19654
|
url:
|
|
19648
19655
|
type: string
|
|
19649
|
-
description:
|
|
19656
|
+
description: >
|
|
19657
|
+
Slack OAuth authorize URL (`incoming-webhook` scope). Secrets are not included.
|
|
19650
19658
|
|
|
19651
19659
|
SlackIntegrationStatusDto:
|
|
19652
19660
|
type: object
|
|
@@ -19655,10 +19663,13 @@ components:
|
|
|
19655
19663
|
properties:
|
|
19656
19664
|
connected:
|
|
19657
19665
|
type: boolean
|
|
19666
|
+
description: >
|
|
19667
|
+
True only when a decryptable install webhook URL is stored for this workspace.
|
|
19658
19668
|
channelName:
|
|
19659
19669
|
type: string
|
|
19660
19670
|
nullable: true
|
|
19661
|
-
description:
|
|
19671
|
+
description: >
|
|
19672
|
+
Channel name returned by Slack at install time. Null when not connected.
|
|
19662
19673
|
|
|
19663
19674
|
SlackChannelBodyDto:
|
|
19664
19675
|
type: object
|
package/package.json
CHANGED
package/src/generated/openapi.ts
CHANGED
|
@@ -3774,7 +3774,7 @@ export interface paths {
|
|
|
3774
3774
|
};
|
|
3775
3775
|
/**
|
|
3776
3776
|
* Slack install URL for Message Center
|
|
3777
|
-
* @description Workspace admin only. Returns the Slack OAuth authorize URL. State is stored server-side and names this workspace and the signed-in admin. Editor or viewer is `403` with `code` `workspace_admin_required`. Missing Slack app settings are `503` with `code` `slack_not_configured`.
|
|
3777
|
+
* @description Workspace admin only. Returns the Slack OAuth authorize URL with `incoming-webhook` scope. State is stored server-side and names this workspace and the signed-in admin. Editor or viewer is `403` with `code` `workspace_admin_required`. Missing Slack app settings are `503` with `code` `slack_not_configured`.
|
|
3778
3778
|
*/
|
|
3779
3779
|
get: operations["getSlackInstallUrl"];
|
|
3780
3780
|
put?: never;
|
|
@@ -3794,7 +3794,7 @@ export interface paths {
|
|
|
3794
3794
|
};
|
|
3795
3795
|
/**
|
|
3796
3796
|
* Slack OAuth callback
|
|
3797
|
-
* @description Browser return from Slack. The provider redirect does not include the API bearer token. `state` was issued by `getSlackInstallUrl` to a signed-in admin and is single-use. The
|
|
3797
|
+
* @description Browser return from Slack. The provider redirect does not include the API bearer token. `state` was issued by `getSlackInstallUrl` to a signed-in admin and is single-use. Install requests `incoming-webhook` only. The encrypted incoming-webhook URL and the channel Slack returns are stored only when that user is still a workspace admin. Success redirects to `{spa}/workspace/preferences?chat=slack`. Failures redirect to the same page with `slack=error`. The webhook URL is never in the redirect.
|
|
3798
3798
|
*/
|
|
3799
3799
|
get: operations["getSlackOauthCallback"];
|
|
3800
3800
|
put?: never;
|
|
@@ -3814,14 +3814,14 @@ export interface paths {
|
|
|
3814
3814
|
};
|
|
3815
3815
|
/**
|
|
3816
3816
|
* Slack connection status
|
|
3817
|
-
* @description Any workspace member. `{ connected, channelName }`. `
|
|
3817
|
+
* @description Any workspace member. `{ connected, channelName }`. `connected` is true only when a decryptable install webhook is stored. `channelName` is the channel chosen on Slack's install screen (null when not connected). Secrets are never returned.
|
|
3818
3818
|
*/
|
|
3819
3819
|
get: operations["getSlackIntegration"];
|
|
3820
3820
|
put?: never;
|
|
3821
3821
|
post?: never;
|
|
3822
3822
|
/**
|
|
3823
3823
|
* Disconnect Slack
|
|
3824
|
-
* @description Workspace admin only. Removes the bot token and saved channel. Later Message Center delivery does not post to Slack.
|
|
3824
|
+
* @description Workspace admin only. Removes the install webhook, optional bot token, and saved channel. Later Message Center delivery does not post to Slack.
|
|
3825
3825
|
*/
|
|
3826
3826
|
delete: operations["deleteSlackIntegration"];
|
|
3827
3827
|
options?: never;
|
|
@@ -3838,8 +3838,8 @@ export interface paths {
|
|
|
3838
3838
|
};
|
|
3839
3839
|
get?: never;
|
|
3840
3840
|
/**
|
|
3841
|
-
*
|
|
3842
|
-
* @description Workspace admin only. Body `{ channelId }`. Slack
|
|
3841
|
+
* Change Slack channel (requires reinstall)
|
|
3842
|
+
* @description Workspace admin only. Body `{ channelId }`. The notification channel is chosen on Slack's install screen with the incoming webhook; this route does not rewrite channel metadata. When Slack is connected, the API returns `409` with `code` `slack_channel_reinstall_required` — reconnect via `getSlackInstallUrl` to pick a different channel. Malformed `channelId` is `400` `invalid_slack_channel`. Not connected is `409` `slack_not_connected`.
|
|
3843
3843
|
*/
|
|
3844
3844
|
put: operations["putSlackChannel"];
|
|
3845
3845
|
post?: never;
|
|
@@ -8354,12 +8354,13 @@ export interface components {
|
|
|
8354
8354
|
teams: components["schemas"]["NotificationChatChannelsDto"];
|
|
8355
8355
|
};
|
|
8356
8356
|
SlackInstallUrlDto: {
|
|
8357
|
-
/** @description Slack OAuth authorize URL
|
|
8357
|
+
/** @description Slack OAuth authorize URL (`incoming-webhook` scope). Secrets are not included. */
|
|
8358
8358
|
url: string;
|
|
8359
8359
|
};
|
|
8360
8360
|
SlackIntegrationStatusDto: {
|
|
8361
|
+
/** @description True only when a decryptable install webhook URL is stored for this workspace. */
|
|
8361
8362
|
connected: boolean;
|
|
8362
|
-
/** @description
|
|
8363
|
+
/** @description Channel name returned by Slack at install time. Null when not connected. */
|
|
8363
8364
|
channelName: string | null;
|
|
8364
8365
|
};
|
|
8365
8366
|
SlackChannelBodyDto: {
|
|
@@ -21397,7 +21398,7 @@ export interface operations {
|
|
|
21397
21398
|
};
|
|
21398
21399
|
};
|
|
21399
21400
|
responses: {
|
|
21400
|
-
/** @description
|
|
21401
|
+
/** @description Not returned. The channel is chosen on Slack's install screen; when connected the API responds with `409` `slack_channel_reinstall_required`. */
|
|
21401
21402
|
200: {
|
|
21402
21403
|
headers: {
|
|
21403
21404
|
[name: string]: unknown;
|
|
@@ -21406,7 +21407,7 @@ export interface operations {
|
|
|
21406
21407
|
"application/json": components["schemas"]["SlackIntegrationStatusDto"];
|
|
21407
21408
|
};
|
|
21408
21409
|
};
|
|
21409
|
-
/** @description channelId is missing
|
|
21410
|
+
/** @description channelId is missing or malformed */
|
|
21410
21411
|
400: {
|
|
21411
21412
|
headers: {
|
|
21412
21413
|
[name: string]: unknown;
|
|
@@ -21414,7 +21415,7 @@ export interface operations {
|
|
|
21414
21415
|
content: {
|
|
21415
21416
|
/**
|
|
21416
21417
|
* @example {
|
|
21417
|
-
* "error": "
|
|
21418
|
+
* "error": "channelId is required",
|
|
21418
21419
|
* "code": "invalid_slack_channel"
|
|
21419
21420
|
* }
|
|
21420
21421
|
*/
|
|
@@ -21446,33 +21447,12 @@ export interface operations {
|
|
|
21446
21447
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
21447
21448
|
};
|
|
21448
21449
|
};
|
|
21449
|
-
/** @description Slack is not connected */
|
|
21450
|
+
/** @description Slack is not connected (`slack_not_connected`), or the channel cannot be changed without a new install (`slack_channel_reinstall_required`). */
|
|
21450
21451
|
409: {
|
|
21451
21452
|
headers: {
|
|
21452
21453
|
[name: string]: unknown;
|
|
21453
21454
|
};
|
|
21454
21455
|
content: {
|
|
21455
|
-
/**
|
|
21456
|
-
* @example {
|
|
21457
|
-
* "error": "Slack is not connected",
|
|
21458
|
-
* "code": "slack_not_connected"
|
|
21459
|
-
* }
|
|
21460
|
-
*/
|
|
21461
|
-
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
21462
|
-
};
|
|
21463
|
-
};
|
|
21464
|
-
/** @description Slack rejected the lookup */
|
|
21465
|
-
502: {
|
|
21466
|
-
headers: {
|
|
21467
|
-
[name: string]: unknown;
|
|
21468
|
-
};
|
|
21469
|
-
content: {
|
|
21470
|
-
/**
|
|
21471
|
-
* @example {
|
|
21472
|
-
* "error": "Slack did not accept the channel",
|
|
21473
|
-
* "code": "slack_request_failed"
|
|
21474
|
-
* }
|
|
21475
|
-
*/
|
|
21476
21456
|
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
21477
21457
|
};
|
|
21478
21458
|
};
|