@thinkai/tai-api-contract 2.147.1 → 2.149.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 +127 -10
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +231 -10
- package/package.json +1 -1
- package/src/generated/openapi.ts +127 -10
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.149.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}/...`.
|
|
@@ -9204,15 +9204,42 @@ paths:
|
|
|
9204
9204
|
get:
|
|
9205
9205
|
tags: [Notifications]
|
|
9206
9206
|
summary: Paginated notifications
|
|
9207
|
+
description: >
|
|
9208
|
+
Inbox for the current user in this workspace. Applies the same notification-type
|
|
9209
|
+
preference filter and routine-title exclusion as the unread badge. `view` defaults to
|
|
9210
|
+
`all` so a client that omits it still receives success rows. Severity is the stored
|
|
9211
|
+
column and is not recomputed per request.
|
|
9207
9212
|
operationId: listNotifications
|
|
9208
9213
|
parameters:
|
|
9209
9214
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
9210
9215
|
- name: limit
|
|
9211
9216
|
in: query
|
|
9212
|
-
schema:
|
|
9217
|
+
schema:
|
|
9218
|
+
type: integer
|
|
9219
|
+
minimum: 1
|
|
9220
|
+
maximum: 100
|
|
9221
|
+
default: 50
|
|
9213
9222
|
- name: offset
|
|
9214
9223
|
in: query
|
|
9215
|
-
schema:
|
|
9224
|
+
schema:
|
|
9225
|
+
type: integer
|
|
9226
|
+
minimum: 0
|
|
9227
|
+
default: 0
|
|
9228
|
+
- name: view
|
|
9229
|
+
in: query
|
|
9230
|
+
description: >
|
|
9231
|
+
`all` returns every severity. `needs_action` returns only `warning` and
|
|
9232
|
+
`destructive`. Omitted is `all`.
|
|
9233
|
+
schema:
|
|
9234
|
+
type: string
|
|
9235
|
+
enum: [all, needs_action]
|
|
9236
|
+
default: all
|
|
9237
|
+
- name: unread
|
|
9238
|
+
in: query
|
|
9239
|
+
description: >
|
|
9240
|
+
Omit to include read and unread rows. `true` is unread only. `false` is read only.
|
|
9241
|
+
schema:
|
|
9242
|
+
type: boolean
|
|
9216
9243
|
responses:
|
|
9217
9244
|
"200":
|
|
9218
9245
|
description: Page of notifications
|
|
@@ -9220,6 +9247,12 @@ paths:
|
|
|
9220
9247
|
application/json:
|
|
9221
9248
|
schema:
|
|
9222
9249
|
$ref: "#/components/schemas/NotificationListDto"
|
|
9250
|
+
"400":
|
|
9251
|
+
description: Invalid `view` or `unread`
|
|
9252
|
+
content:
|
|
9253
|
+
application/json:
|
|
9254
|
+
schema:
|
|
9255
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
9223
9256
|
"401":
|
|
9224
9257
|
$ref: "#/components/responses/Unauthorized"
|
|
9225
9258
|
|
|
@@ -9227,6 +9260,10 @@ paths:
|
|
|
9227
9260
|
get:
|
|
9228
9261
|
tags: [Notifications]
|
|
9229
9262
|
summary: Unread notification count
|
|
9263
|
+
description: >
|
|
9264
|
+
Unread rows for the current user in this workspace after the notification-type
|
|
9265
|
+
preference filter and the routine-title exclusion. `count` is not capped.
|
|
9266
|
+
`hasUnreadCritical` is true when at least one of those rows has severity `destructive`.
|
|
9230
9267
|
operationId: getNotificationUnreadCount
|
|
9231
9268
|
parameters:
|
|
9232
9269
|
- $ref: "#/components/parameters/WorkspaceId"
|
|
@@ -9363,6 +9400,9 @@ paths:
|
|
|
9363
9400
|
get:
|
|
9364
9401
|
tags: [Preferences]
|
|
9365
9402
|
summary: Get preferences for current user
|
|
9403
|
+
description: >
|
|
9404
|
+
Returns saved preferences, including `notificationChannels`. An empty or missing
|
|
9405
|
+
profile returns defaults (`email.status` is `digest`; every other channel cell is `off`).
|
|
9366
9406
|
operationId: getMyPreferences
|
|
9367
9407
|
responses:
|
|
9368
9408
|
"200":
|
|
@@ -9376,13 +9416,20 @@ paths:
|
|
|
9376
9416
|
put:
|
|
9377
9417
|
tags: [Preferences]
|
|
9378
9418
|
summary: Upsert preferences
|
|
9419
|
+
description: >
|
|
9420
|
+
Replaces the saved preferences object. Omitting `notificationChannels` keeps the
|
|
9421
|
+
stored cells, or the defaults when none are stored. A body that includes
|
|
9422
|
+
`notificationChannels` replaces those cells; any missing key inside it uses the
|
|
9423
|
+
default (`email.status` = `digest`, every other cell = `off`). Setting
|
|
9424
|
+
`email.status` to `off` returns 400 `notification_channel_required`. In-app
|
|
9425
|
+
`notifications` booleans are independent of these cells.
|
|
9379
9426
|
operationId: putMyPreferences
|
|
9380
9427
|
requestBody:
|
|
9381
9428
|
required: true
|
|
9382
9429
|
content:
|
|
9383
9430
|
application/json:
|
|
9384
9431
|
schema:
|
|
9385
|
-
$ref: "#/components/schemas/
|
|
9432
|
+
$ref: "#/components/schemas/PutPreferencesBodyDto"
|
|
9386
9433
|
responses:
|
|
9387
9434
|
"200":
|
|
9388
9435
|
description: Saved preferences
|
|
@@ -9391,11 +9438,15 @@ paths:
|
|
|
9391
9438
|
schema:
|
|
9392
9439
|
$ref: "#/components/schemas/PreferencesDto"
|
|
9393
9440
|
"400":
|
|
9394
|
-
description:
|
|
9441
|
+
description: >
|
|
9442
|
+
Validation failed, or Status email was set to off
|
|
9443
|
+
(`code` `notification_channel_required`).
|
|
9395
9444
|
content:
|
|
9396
9445
|
application/json:
|
|
9397
9446
|
schema:
|
|
9398
|
-
|
|
9447
|
+
oneOf:
|
|
9448
|
+
- $ref: "#/components/schemas/PreferencesValidationErrorDto"
|
|
9449
|
+
- $ref: "#/components/schemas/NotificationChannelRequiredErrorDto"
|
|
9399
9450
|
"401":
|
|
9400
9451
|
$ref: "#/components/responses/Unauthorized"
|
|
9401
9452
|
|
|
@@ -9450,9 +9501,10 @@ paths:
|
|
|
9450
9501
|
tags: [Me]
|
|
9451
9502
|
summary: App chrome bootstrap payload
|
|
9452
9503
|
description: >
|
|
9453
|
-
Returns the authenticated user's profile, workspace list, and preferences
|
|
9504
|
+
Returns the authenticated user's profile, workspace list, and preferences
|
|
9505
|
+
(including `notificationChannels`) in one response.
|
|
9454
9506
|
When `workspaceId` is provided and resolves to a workspace the caller belongs to, also
|
|
9455
|
-
returns platform banner, unread notification count, journey progress, and connectors
|
|
9507
|
+
returns platform banner, unread notification count (`count` and `hasUnreadCritical`), journey progress, and connectors
|
|
9456
9508
|
snapshot. Invalid, unknown, or non-member `workspaceId` values do not produce 403/404 —
|
|
9457
9509
|
the response is still 200 with only `me`, `workspaces`, and `preferences` (workspace-scoped
|
|
9458
9510
|
fields omitted).
|
|
@@ -18501,7 +18553,7 @@ components:
|
|
|
18501
18553
|
|
|
18502
18554
|
NotificationDto:
|
|
18503
18555
|
type: object
|
|
18504
|
-
required: [id, type, title, message, read, createdAt]
|
|
18556
|
+
required: [id, type, title, message, read, createdAt, severity]
|
|
18505
18557
|
properties:
|
|
18506
18558
|
id:
|
|
18507
18559
|
type: string
|
|
@@ -18522,6 +18574,8 @@ components:
|
|
|
18522
18574
|
severity:
|
|
18523
18575
|
type: string
|
|
18524
18576
|
enum: [success, warning, destructive, muted, neutral]
|
|
18577
|
+
description: >
|
|
18578
|
+
Stored on the notification row at fan-out. `destructive` is the only critical severity.
|
|
18525
18579
|
triggeredBy:
|
|
18526
18580
|
type: string
|
|
18527
18581
|
nullable: true
|
|
@@ -18539,11 +18593,17 @@ components:
|
|
|
18539
18593
|
|
|
18540
18594
|
NotificationUnreadCountDto:
|
|
18541
18595
|
type: object
|
|
18542
|
-
required: [count]
|
|
18596
|
+
required: [count, hasUnreadCritical]
|
|
18543
18597
|
properties:
|
|
18544
18598
|
count:
|
|
18545
18599
|
type: integer
|
|
18546
18600
|
minimum: 0
|
|
18601
|
+
description: >
|
|
18602
|
+
Unread rows after the type-preference filter and routine-title exclusion. Not capped.
|
|
18603
|
+
hasUnreadCritical:
|
|
18604
|
+
type: boolean
|
|
18605
|
+
description: >
|
|
18606
|
+
True when at least one of those unread rows has severity `destructive`.
|
|
18547
18607
|
|
|
18548
18608
|
EffectiveTaskRowDto:
|
|
18549
18609
|
type: object
|
|
@@ -18708,9 +18768,156 @@ components:
|
|
|
18708
18768
|
type: boolean
|
|
18709
18769
|
description: System / platform announcements.
|
|
18710
18770
|
|
|
18771
|
+
NotificationEmailStatusMode:
|
|
18772
|
+
type: string
|
|
18773
|
+
description: >
|
|
18774
|
+
Status email delivery. `digest` (default) is the weekly mail. `immediate`
|
|
18775
|
+
sends as events arrive. `off` is not allowed.
|
|
18776
|
+
enum: [immediate, digest]
|
|
18777
|
+
|
|
18778
|
+
NotificationEmailDeliveryMode:
|
|
18779
|
+
type: string
|
|
18780
|
+
description: >
|
|
18781
|
+
Email delivery for comment, activity, or system. Default `off`.
|
|
18782
|
+
`immediate` sends as events arrive. `digest` is the weekly mail.
|
|
18783
|
+
enum: [off, immediate, digest]
|
|
18784
|
+
|
|
18785
|
+
NotificationChatDeliveryMode:
|
|
18786
|
+
type: string
|
|
18787
|
+
description: >
|
|
18788
|
+
Slack or Teams delivery for one category. Default `off` until that member
|
|
18789
|
+
changes the cell. `dm` is a direct message. `channel` posts to the workspace
|
|
18790
|
+
channel an admin saved. Connecting chat does not turn cells on.
|
|
18791
|
+
enum: [off, dm, channel]
|
|
18792
|
+
|
|
18793
|
+
NotificationEmailChannelsDto:
|
|
18794
|
+
type: object
|
|
18795
|
+
additionalProperties: false
|
|
18796
|
+
required: [status, comment, activity, system]
|
|
18797
|
+
properties:
|
|
18798
|
+
status:
|
|
18799
|
+
$ref: "#/components/schemas/NotificationEmailStatusMode"
|
|
18800
|
+
comment:
|
|
18801
|
+
$ref: "#/components/schemas/NotificationEmailDeliveryMode"
|
|
18802
|
+
activity:
|
|
18803
|
+
$ref: "#/components/schemas/NotificationEmailDeliveryMode"
|
|
18804
|
+
system:
|
|
18805
|
+
$ref: "#/components/schemas/NotificationEmailDeliveryMode"
|
|
18806
|
+
|
|
18807
|
+
NotificationChatChannelsDto:
|
|
18808
|
+
type: object
|
|
18809
|
+
additionalProperties: false
|
|
18810
|
+
required: [status, comment, activity, system]
|
|
18811
|
+
properties:
|
|
18812
|
+
status:
|
|
18813
|
+
$ref: "#/components/schemas/NotificationChatDeliveryMode"
|
|
18814
|
+
comment:
|
|
18815
|
+
$ref: "#/components/schemas/NotificationChatDeliveryMode"
|
|
18816
|
+
activity:
|
|
18817
|
+
$ref: "#/components/schemas/NotificationChatDeliveryMode"
|
|
18818
|
+
system:
|
|
18819
|
+
$ref: "#/components/schemas/NotificationChatDeliveryMode"
|
|
18820
|
+
|
|
18821
|
+
NotificationChannelsDto:
|
|
18822
|
+
type: object
|
|
18823
|
+
additionalProperties: false
|
|
18824
|
+
required: [email, slack, teams]
|
|
18825
|
+
description: >
|
|
18826
|
+
Delivery cells beside the in-app Message Center switches. Defaults:
|
|
18827
|
+
`email.status` is `digest`; every other cell is `off`. Inbox rows whose
|
|
18828
|
+
type is `integration` use the `status` cell.
|
|
18829
|
+
properties:
|
|
18830
|
+
email:
|
|
18831
|
+
$ref: "#/components/schemas/NotificationEmailChannelsDto"
|
|
18832
|
+
slack:
|
|
18833
|
+
$ref: "#/components/schemas/NotificationChatChannelsDto"
|
|
18834
|
+
teams:
|
|
18835
|
+
$ref: "#/components/schemas/NotificationChatChannelsDto"
|
|
18836
|
+
|
|
18837
|
+
PutNotificationEmailChannelsDto:
|
|
18838
|
+
type: object
|
|
18839
|
+
additionalProperties: false
|
|
18840
|
+
description: >
|
|
18841
|
+
Partial email cells. Omitted keys are filled with defaults on save
|
|
18842
|
+
(`status` = `digest`, other keys = `off`).
|
|
18843
|
+
properties:
|
|
18844
|
+
status:
|
|
18845
|
+
$ref: "#/components/schemas/NotificationEmailStatusMode"
|
|
18846
|
+
comment:
|
|
18847
|
+
$ref: "#/components/schemas/NotificationEmailDeliveryMode"
|
|
18848
|
+
activity:
|
|
18849
|
+
$ref: "#/components/schemas/NotificationEmailDeliveryMode"
|
|
18850
|
+
system:
|
|
18851
|
+
$ref: "#/components/schemas/NotificationEmailDeliveryMode"
|
|
18852
|
+
|
|
18853
|
+
PutNotificationChatChannelsDto:
|
|
18854
|
+
type: object
|
|
18855
|
+
additionalProperties: false
|
|
18856
|
+
description: Partial chat cells. Omitted keys default to `off` on save.
|
|
18857
|
+
properties:
|
|
18858
|
+
status:
|
|
18859
|
+
$ref: "#/components/schemas/NotificationChatDeliveryMode"
|
|
18860
|
+
comment:
|
|
18861
|
+
$ref: "#/components/schemas/NotificationChatDeliveryMode"
|
|
18862
|
+
activity:
|
|
18863
|
+
$ref: "#/components/schemas/NotificationChatDeliveryMode"
|
|
18864
|
+
system:
|
|
18865
|
+
$ref: "#/components/schemas/NotificationChatDeliveryMode"
|
|
18866
|
+
|
|
18867
|
+
PutNotificationChannelsDto:
|
|
18868
|
+
type: object
|
|
18869
|
+
additionalProperties: false
|
|
18870
|
+
description: >
|
|
18871
|
+
Replaces stored channel cells when present on `PUT /me/preferences`.
|
|
18872
|
+
Omitted `email`, `slack`, or `teams` objects are filled with defaults.
|
|
18873
|
+
properties:
|
|
18874
|
+
email:
|
|
18875
|
+
$ref: "#/components/schemas/PutNotificationEmailChannelsDto"
|
|
18876
|
+
slack:
|
|
18877
|
+
$ref: "#/components/schemas/PutNotificationChatChannelsDto"
|
|
18878
|
+
teams:
|
|
18879
|
+
$ref: "#/components/schemas/PutNotificationChatChannelsDto"
|
|
18880
|
+
|
|
18711
18881
|
PreferencesDto:
|
|
18712
18882
|
type: object
|
|
18713
18883
|
additionalProperties: false
|
|
18884
|
+
required:
|
|
18885
|
+
[
|
|
18886
|
+
theme,
|
|
18887
|
+
sidebarCollapsed,
|
|
18888
|
+
timezone,
|
|
18889
|
+
dataRefreshInterval,
|
|
18890
|
+
notifications,
|
|
18891
|
+
buddyEnabled,
|
|
18892
|
+
notificationChannels,
|
|
18893
|
+
]
|
|
18894
|
+
properties:
|
|
18895
|
+
theme:
|
|
18896
|
+
$ref: "#/components/schemas/ThemePreference"
|
|
18897
|
+
sidebarCollapsed:
|
|
18898
|
+
type: boolean
|
|
18899
|
+
timezone:
|
|
18900
|
+
type: string
|
|
18901
|
+
description: IANA timezone name
|
|
18902
|
+
dataRefreshInterval:
|
|
18903
|
+
$ref: "#/components/schemas/DataRefreshInterval"
|
|
18904
|
+
notifications:
|
|
18905
|
+
$ref: "#/components/schemas/NotificationPreferencesDto"
|
|
18906
|
+
buddyEnabled:
|
|
18907
|
+
type: boolean
|
|
18908
|
+
default: false
|
|
18909
|
+
description: >
|
|
18910
|
+
When true, show the ThinkAI Buddy mascot. Default and missing stored
|
|
18911
|
+
values are false (opt-in only).
|
|
18912
|
+
notificationChannels:
|
|
18913
|
+
$ref: "#/components/schemas/NotificationChannelsDto"
|
|
18914
|
+
|
|
18915
|
+
PutPreferencesBodyDto:
|
|
18916
|
+
type: object
|
|
18917
|
+
additionalProperties: false
|
|
18918
|
+
description: >
|
|
18919
|
+
Body for `PUT /me/preferences`. `notificationChannels` may be omitted to keep
|
|
18920
|
+
stored cells.
|
|
18714
18921
|
required:
|
|
18715
18922
|
[theme, sidebarCollapsed, timezone, dataRefreshInterval, notifications, buddyEnabled]
|
|
18716
18923
|
properties:
|
|
@@ -18731,6 +18938,20 @@ components:
|
|
|
18731
18938
|
description: >
|
|
18732
18939
|
When true, show the ThinkAI Buddy mascot. Default and missing stored
|
|
18733
18940
|
values are false (opt-in only).
|
|
18941
|
+
notificationChannels:
|
|
18942
|
+
$ref: "#/components/schemas/PutNotificationChannelsDto"
|
|
18943
|
+
|
|
18944
|
+
NotificationChannelRequiredErrorDto:
|
|
18945
|
+
type: object
|
|
18946
|
+
additionalProperties: false
|
|
18947
|
+
required: [error, code]
|
|
18948
|
+
properties:
|
|
18949
|
+
error:
|
|
18950
|
+
type: string
|
|
18951
|
+
description: Status email cannot be turned off.
|
|
18952
|
+
code:
|
|
18953
|
+
type: string
|
|
18954
|
+
enum: [notification_channel_required]
|
|
18734
18955
|
|
|
18735
18956
|
ValidationIssueDto:
|
|
18736
18957
|
type: object
|
package/package.json
CHANGED
package/src/generated/openapi.ts
CHANGED
|
@@ -3708,7 +3708,10 @@ export interface paths {
|
|
|
3708
3708
|
path?: never;
|
|
3709
3709
|
cookie?: never;
|
|
3710
3710
|
};
|
|
3711
|
-
/**
|
|
3711
|
+
/**
|
|
3712
|
+
* Paginated notifications
|
|
3713
|
+
* @description Inbox for the current user in this workspace. Applies the same notification-type preference filter and routine-title exclusion as the unread badge. `view` defaults to `all` so a client that omits it still receives success rows. Severity is the stored column and is not recomputed per request.
|
|
3714
|
+
*/
|
|
3712
3715
|
get: operations["listNotifications"];
|
|
3713
3716
|
put?: never;
|
|
3714
3717
|
post?: never;
|
|
@@ -3725,7 +3728,10 @@ export interface paths {
|
|
|
3725
3728
|
path?: never;
|
|
3726
3729
|
cookie?: never;
|
|
3727
3730
|
};
|
|
3728
|
-
/**
|
|
3731
|
+
/**
|
|
3732
|
+
* Unread notification count
|
|
3733
|
+
* @description Unread rows for the current user in this workspace after the notification-type preference filter and the routine-title exclusion. `count` is not capped. `hasUnreadCritical` is true when at least one of those rows has severity `destructive`.
|
|
3734
|
+
*/
|
|
3729
3735
|
get: operations["getNotificationUnreadCount"];
|
|
3730
3736
|
put?: never;
|
|
3731
3737
|
post?: never;
|
|
@@ -3814,9 +3820,15 @@ export interface paths {
|
|
|
3814
3820
|
path?: never;
|
|
3815
3821
|
cookie?: never;
|
|
3816
3822
|
};
|
|
3817
|
-
/**
|
|
3823
|
+
/**
|
|
3824
|
+
* Get preferences for current user
|
|
3825
|
+
* @description Returns saved preferences, including `notificationChannels`. An empty or missing profile returns defaults (`email.status` is `digest`; every other channel cell is `off`).
|
|
3826
|
+
*/
|
|
3818
3827
|
get: operations["getMyPreferences"];
|
|
3819
|
-
/**
|
|
3828
|
+
/**
|
|
3829
|
+
* Upsert preferences
|
|
3830
|
+
* @description Replaces the saved preferences object. Omitting `notificationChannels` keeps the stored cells, or the defaults when none are stored. A body that includes `notificationChannels` replaces those cells; any missing key inside it uses the default (`email.status` = `digest`, every other cell = `off`). Setting `email.status` to `off` returns 400 `notification_channel_required`. In-app `notifications` booleans are independent of these cells.
|
|
3831
|
+
*/
|
|
3820
3832
|
put: operations["putMyPreferences"];
|
|
3821
3833
|
post?: never;
|
|
3822
3834
|
delete?: never;
|
|
@@ -3852,7 +3864,7 @@ export interface paths {
|
|
|
3852
3864
|
};
|
|
3853
3865
|
/**
|
|
3854
3866
|
* App chrome bootstrap payload
|
|
3855
|
-
* @description Returns the authenticated user's profile, workspace list, and preferences in one response. When `workspaceId` is provided and resolves to a workspace the caller belongs to, also returns platform banner, unread notification count, journey progress, and connectors snapshot. Invalid, unknown, or non-member `workspaceId` values do not produce 403/404 — the response is still 200 with only `me`, `workspaces`, and `preferences` (workspace-scoped fields omitted).
|
|
3867
|
+
* @description Returns the authenticated user's profile, workspace list, and preferences (including `notificationChannels`) in one response. When `workspaceId` is provided and resolves to a workspace the caller belongs to, also returns platform banner, unread notification count (`count` and `hasUnreadCritical`), journey progress, and connectors snapshot. Invalid, unknown, or non-member `workspaceId` values do not produce 403/404 — the response is still 200 with only `me`, `workspaces`, and `preferences` (workspace-scoped fields omitted).
|
|
3856
3868
|
*/
|
|
3857
3869
|
get: operations["getAppShell"];
|
|
3858
3870
|
put?: never;
|
|
@@ -7880,8 +7892,11 @@ export interface components {
|
|
|
7880
7892
|
/** Format: date-time */
|
|
7881
7893
|
createdAt: string;
|
|
7882
7894
|
route?: string;
|
|
7883
|
-
/**
|
|
7884
|
-
|
|
7895
|
+
/**
|
|
7896
|
+
* @description Stored on the notification row at fan-out. `destructive` is the only critical severity.
|
|
7897
|
+
* @enum {string}
|
|
7898
|
+
*/
|
|
7899
|
+
severity: "success" | "warning" | "destructive" | "muted" | "neutral";
|
|
7885
7900
|
triggeredBy?: string | null;
|
|
7886
7901
|
};
|
|
7887
7902
|
NotificationListDto: {
|
|
@@ -7889,7 +7904,10 @@ export interface components {
|
|
|
7889
7904
|
total: number;
|
|
7890
7905
|
};
|
|
7891
7906
|
NotificationUnreadCountDto: {
|
|
7907
|
+
/** @description Unread rows after the type-preference filter and routine-title exclusion. Not capped. */
|
|
7892
7908
|
count: number;
|
|
7909
|
+
/** @description True when at least one of those unread rows has severity `destructive`. */
|
|
7910
|
+
hasUnreadCritical: boolean;
|
|
7893
7911
|
};
|
|
7894
7912
|
EffectiveTaskRowDto: {
|
|
7895
7913
|
id: string;
|
|
@@ -7967,6 +7985,59 @@ export interface components {
|
|
|
7967
7985
|
/** @description System / platform announcements. */
|
|
7968
7986
|
system: boolean;
|
|
7969
7987
|
};
|
|
7988
|
+
/**
|
|
7989
|
+
* @description Status email delivery. `digest` (default) is the weekly mail. `immediate` sends as events arrive. `off` is not allowed.
|
|
7990
|
+
* @enum {string}
|
|
7991
|
+
*/
|
|
7992
|
+
NotificationEmailStatusMode: "immediate" | "digest";
|
|
7993
|
+
/**
|
|
7994
|
+
* @description Email delivery for comment, activity, or system. Default `off`. `immediate` sends as events arrive. `digest` is the weekly mail.
|
|
7995
|
+
* @enum {string}
|
|
7996
|
+
*/
|
|
7997
|
+
NotificationEmailDeliveryMode: "off" | "immediate" | "digest";
|
|
7998
|
+
/**
|
|
7999
|
+
* @description Slack or Teams delivery for one category. Default `off` until that member changes the cell. `dm` is a direct message. `channel` posts to the workspace channel an admin saved. Connecting chat does not turn cells on.
|
|
8000
|
+
* @enum {string}
|
|
8001
|
+
*/
|
|
8002
|
+
NotificationChatDeliveryMode: "off" | "dm" | "channel";
|
|
8003
|
+
NotificationEmailChannelsDto: {
|
|
8004
|
+
status: components["schemas"]["NotificationEmailStatusMode"];
|
|
8005
|
+
comment: components["schemas"]["NotificationEmailDeliveryMode"];
|
|
8006
|
+
activity: components["schemas"]["NotificationEmailDeliveryMode"];
|
|
8007
|
+
system: components["schemas"]["NotificationEmailDeliveryMode"];
|
|
8008
|
+
};
|
|
8009
|
+
NotificationChatChannelsDto: {
|
|
8010
|
+
status: components["schemas"]["NotificationChatDeliveryMode"];
|
|
8011
|
+
comment: components["schemas"]["NotificationChatDeliveryMode"];
|
|
8012
|
+
activity: components["schemas"]["NotificationChatDeliveryMode"];
|
|
8013
|
+
system: components["schemas"]["NotificationChatDeliveryMode"];
|
|
8014
|
+
};
|
|
8015
|
+
/** @description Delivery cells beside the in-app Message Center switches. Defaults: `email.status` is `digest`; every other cell is `off`. Inbox rows whose type is `integration` use the `status` cell. */
|
|
8016
|
+
NotificationChannelsDto: {
|
|
8017
|
+
email: components["schemas"]["NotificationEmailChannelsDto"];
|
|
8018
|
+
slack: components["schemas"]["NotificationChatChannelsDto"];
|
|
8019
|
+
teams: components["schemas"]["NotificationChatChannelsDto"];
|
|
8020
|
+
};
|
|
8021
|
+
/** @description Partial email cells. Omitted keys are filled with defaults on save (`status` = `digest`, other keys = `off`). */
|
|
8022
|
+
PutNotificationEmailChannelsDto: {
|
|
8023
|
+
status?: components["schemas"]["NotificationEmailStatusMode"];
|
|
8024
|
+
comment?: components["schemas"]["NotificationEmailDeliveryMode"];
|
|
8025
|
+
activity?: components["schemas"]["NotificationEmailDeliveryMode"];
|
|
8026
|
+
system?: components["schemas"]["NotificationEmailDeliveryMode"];
|
|
8027
|
+
};
|
|
8028
|
+
/** @description Partial chat cells. Omitted keys default to `off` on save. */
|
|
8029
|
+
PutNotificationChatChannelsDto: {
|
|
8030
|
+
status?: components["schemas"]["NotificationChatDeliveryMode"];
|
|
8031
|
+
comment?: components["schemas"]["NotificationChatDeliveryMode"];
|
|
8032
|
+
activity?: components["schemas"]["NotificationChatDeliveryMode"];
|
|
8033
|
+
system?: components["schemas"]["NotificationChatDeliveryMode"];
|
|
8034
|
+
};
|
|
8035
|
+
/** @description Replaces stored channel cells when present on `PUT /me/preferences`. Omitted `email`, `slack`, or `teams` objects are filled with defaults. */
|
|
8036
|
+
PutNotificationChannelsDto: {
|
|
8037
|
+
email?: components["schemas"]["PutNotificationEmailChannelsDto"];
|
|
8038
|
+
slack?: components["schemas"]["PutNotificationChatChannelsDto"];
|
|
8039
|
+
teams?: components["schemas"]["PutNotificationChatChannelsDto"];
|
|
8040
|
+
};
|
|
7970
8041
|
PreferencesDto: {
|
|
7971
8042
|
theme: components["schemas"]["ThemePreference"];
|
|
7972
8043
|
sidebarCollapsed: boolean;
|
|
@@ -7979,6 +8050,28 @@ export interface components {
|
|
|
7979
8050
|
* @default false
|
|
7980
8051
|
*/
|
|
7981
8052
|
buddyEnabled: boolean;
|
|
8053
|
+
notificationChannels: components["schemas"]["NotificationChannelsDto"];
|
|
8054
|
+
};
|
|
8055
|
+
/** @description Body for `PUT /me/preferences`. `notificationChannels` may be omitted to keep stored cells. */
|
|
8056
|
+
PutPreferencesBodyDto: {
|
|
8057
|
+
theme: components["schemas"]["ThemePreference"];
|
|
8058
|
+
sidebarCollapsed: boolean;
|
|
8059
|
+
/** @description IANA timezone name */
|
|
8060
|
+
timezone: string;
|
|
8061
|
+
dataRefreshInterval: components["schemas"]["DataRefreshInterval"];
|
|
8062
|
+
notifications: components["schemas"]["NotificationPreferencesDto"];
|
|
8063
|
+
/**
|
|
8064
|
+
* @description When true, show the ThinkAI Buddy mascot. Default and missing stored values are false (opt-in only).
|
|
8065
|
+
* @default false
|
|
8066
|
+
*/
|
|
8067
|
+
buddyEnabled: boolean;
|
|
8068
|
+
notificationChannels?: components["schemas"]["PutNotificationChannelsDto"];
|
|
8069
|
+
};
|
|
8070
|
+
NotificationChannelRequiredErrorDto: {
|
|
8071
|
+
/** @description Status email cannot be turned off. */
|
|
8072
|
+
error: string;
|
|
8073
|
+
/** @enum {string} */
|
|
8074
|
+
code: "notification_channel_required";
|
|
7982
8075
|
};
|
|
7983
8076
|
ValidationIssueDto: {
|
|
7984
8077
|
path: (string | number)[];
|
|
@@ -10708,7 +10801,18 @@ export type JourneyProgressUpdateDto = components['schemas']['JourneyProgressUpd
|
|
|
10708
10801
|
export type ThemePreference = components['schemas']['ThemePreference'];
|
|
10709
10802
|
export type DataRefreshInterval = components['schemas']['DataRefreshInterval'];
|
|
10710
10803
|
export type NotificationPreferencesDto = components['schemas']['NotificationPreferencesDto'];
|
|
10804
|
+
export type NotificationEmailStatusMode = components['schemas']['NotificationEmailStatusMode'];
|
|
10805
|
+
export type NotificationEmailDeliveryMode = components['schemas']['NotificationEmailDeliveryMode'];
|
|
10806
|
+
export type NotificationChatDeliveryMode = components['schemas']['NotificationChatDeliveryMode'];
|
|
10807
|
+
export type NotificationEmailChannelsDto = components['schemas']['NotificationEmailChannelsDto'];
|
|
10808
|
+
export type NotificationChatChannelsDto = components['schemas']['NotificationChatChannelsDto'];
|
|
10809
|
+
export type NotificationChannelsDto = components['schemas']['NotificationChannelsDto'];
|
|
10810
|
+
export type PutNotificationEmailChannelsDto = components['schemas']['PutNotificationEmailChannelsDto'];
|
|
10811
|
+
export type PutNotificationChatChannelsDto = components['schemas']['PutNotificationChatChannelsDto'];
|
|
10812
|
+
export type PutNotificationChannelsDto = components['schemas']['PutNotificationChannelsDto'];
|
|
10711
10813
|
export type PreferencesDto = components['schemas']['PreferencesDto'];
|
|
10814
|
+
export type PutPreferencesBodyDto = components['schemas']['PutPreferencesBodyDto'];
|
|
10815
|
+
export type NotificationChannelRequiredErrorDto = components['schemas']['NotificationChannelRequiredErrorDto'];
|
|
10712
10816
|
export type ValidationIssueDto = components['schemas']['ValidationIssueDto'];
|
|
10713
10817
|
export type PreferencesValidationErrorDto = components['schemas']['PreferencesValidationErrorDto'];
|
|
10714
10818
|
export type ConsentCategoriesDto = components['schemas']['ConsentCategoriesDto'];
|
|
@@ -20580,6 +20684,10 @@ export interface operations {
|
|
|
20580
20684
|
query?: {
|
|
20581
20685
|
limit?: number;
|
|
20582
20686
|
offset?: number;
|
|
20687
|
+
/** @description `all` returns every severity. `needs_action` returns only `warning` and `destructive`. Omitted is `all`. */
|
|
20688
|
+
view?: "all" | "needs_action";
|
|
20689
|
+
/** @description Omit to include read and unread rows. `true` is unread only. `false` is read only. */
|
|
20690
|
+
unread?: boolean;
|
|
20583
20691
|
};
|
|
20584
20692
|
header?: never;
|
|
20585
20693
|
path: {
|
|
@@ -20598,6 +20706,15 @@ export interface operations {
|
|
|
20598
20706
|
"application/json": components["schemas"]["NotificationListDto"];
|
|
20599
20707
|
};
|
|
20600
20708
|
};
|
|
20709
|
+
/** @description Invalid `view` or `unread` */
|
|
20710
|
+
400: {
|
|
20711
|
+
headers: {
|
|
20712
|
+
[name: string]: unknown;
|
|
20713
|
+
};
|
|
20714
|
+
content: {
|
|
20715
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20716
|
+
};
|
|
20717
|
+
};
|
|
20601
20718
|
401: components["responses"]["Unauthorized"];
|
|
20602
20719
|
};
|
|
20603
20720
|
};
|
|
@@ -20812,7 +20929,7 @@ export interface operations {
|
|
|
20812
20929
|
};
|
|
20813
20930
|
requestBody: {
|
|
20814
20931
|
content: {
|
|
20815
|
-
"application/json": components["schemas"]["
|
|
20932
|
+
"application/json": components["schemas"]["PutPreferencesBodyDto"];
|
|
20816
20933
|
};
|
|
20817
20934
|
};
|
|
20818
20935
|
responses: {
|
|
@@ -20825,13 +20942,13 @@ export interface operations {
|
|
|
20825
20942
|
"application/json": components["schemas"]["PreferencesDto"];
|
|
20826
20943
|
};
|
|
20827
20944
|
};
|
|
20828
|
-
/** @description Validation failed */
|
|
20945
|
+
/** @description Validation failed, or Status email was set to off (`code` `notification_channel_required`). */
|
|
20829
20946
|
400: {
|
|
20830
20947
|
headers: {
|
|
20831
20948
|
[name: string]: unknown;
|
|
20832
20949
|
};
|
|
20833
20950
|
content: {
|
|
20834
|
-
"application/json": components["schemas"]["PreferencesValidationErrorDto"];
|
|
20951
|
+
"application/json": components["schemas"]["PreferencesValidationErrorDto"] | components["schemas"]["NotificationChannelRequiredErrorDto"];
|
|
20835
20952
|
};
|
|
20836
20953
|
};
|
|
20837
20954
|
401: components["responses"]["Unauthorized"];
|