@thinkai/tai-api-contract 2.52.0 → 2.53.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.
@@ -1,7 +1,7 @@
1
1
  openapi: 3.0.3
2
2
  info:
3
3
  title: ThinkAI API
4
- version: 2.52.0
4
+ version: 2.53.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}/...`.
@@ -5392,6 +5392,23 @@ paths:
5392
5392
  "401":
5393
5393
  $ref: "#/components/responses/Unauthorized"
5394
5394
 
5395
+ /workspaces/{workspaceId}/notifications/unread-count:
5396
+ get:
5397
+ tags: [Notifications]
5398
+ summary: Unread notification count
5399
+ operationId: getNotificationUnreadCount
5400
+ parameters:
5401
+ - $ref: "#/components/parameters/WorkspaceId"
5402
+ responses:
5403
+ "200":
5404
+ description: Unread count for the current user in this workspace (respecting notification preferences)
5405
+ content:
5406
+ application/json:
5407
+ schema:
5408
+ $ref: "#/components/schemas/NotificationUnreadCountDto"
5409
+ "401":
5410
+ $ref: "#/components/responses/Unauthorized"
5411
+
5395
5412
  /workspaces/{workspaceId}/notifications/{id}/read:
5396
5413
  post:
5397
5414
  tags: [Notifications]
@@ -11365,6 +11382,12 @@ components:
11365
11382
  format: date-time
11366
11383
  route:
11367
11384
  type: string
11385
+ severity:
11386
+ type: string
11387
+ enum: [success, warning, destructive, muted, neutral]
11388
+ triggeredBy:
11389
+ type: string
11390
+ nullable: true
11368
11391
 
11369
11392
  NotificationListDto:
11370
11393
  type: object
@@ -11377,6 +11400,14 @@ components:
11377
11400
  total:
11378
11401
  type: integer
11379
11402
 
11403
+ NotificationUnreadCountDto:
11404
+ type: object
11405
+ required: [count]
11406
+ properties:
11407
+ count:
11408
+ type: integer
11409
+ minimum: 0
11410
+
11380
11411
  EffectiveTaskRowDto:
11381
11412
  type: object
11382
11413
  required: [id, name, summary, source]
@@ -11934,6 +11965,9 @@ components:
11934
11965
  - hris.personio.sync_started
11935
11966
  - hris.personio.sync_completed
11936
11967
  - hris.personio.sync_failed
11968
+ - hris.zenhr.sync_started
11969
+ - hris.zenhr.sync_completed
11970
+ - hris.zenhr.sync_failed
11937
11971
  - hris.sync_started
11938
11972
  - hris.sync_completed
11939
11973
  - hris.sync_failed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkai/tai-api-contract",
3
- "version": "2.52.0",
3
+ "version": "2.53.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -2057,6 +2057,23 @@ export interface paths {
2057
2057
  patch?: never;
2058
2058
  trace?: never;
2059
2059
  };
2060
+ "/workspaces/{workspaceId}/notifications/unread-count": {
2061
+ parameters: {
2062
+ query?: never;
2063
+ header?: never;
2064
+ path?: never;
2065
+ cookie?: never;
2066
+ };
2067
+ /** Unread notification count */
2068
+ get: operations["getNotificationUnreadCount"];
2069
+ put?: never;
2070
+ post?: never;
2071
+ delete?: never;
2072
+ options?: never;
2073
+ head?: never;
2074
+ patch?: never;
2075
+ trace?: never;
2076
+ };
2060
2077
  "/workspaces/{workspaceId}/notifications/{id}/read": {
2061
2078
  parameters: {
2062
2079
  query?: never;
@@ -4784,11 +4801,17 @@ export interface components {
4784
4801
  /** Format: date-time */
4785
4802
  createdAt: string;
4786
4803
  route?: string;
4804
+ /** @enum {string} */
4805
+ severity?: "success" | "warning" | "destructive" | "muted" | "neutral";
4806
+ triggeredBy?: string | null;
4787
4807
  };
4788
4808
  NotificationListDto: {
4789
4809
  items: components["schemas"]["NotificationDto"][];
4790
4810
  total: number;
4791
4811
  };
4812
+ NotificationUnreadCountDto: {
4813
+ count: number;
4814
+ };
4792
4815
  EffectiveTaskRowDto: {
4793
4816
  id: string;
4794
4817
  name: string;
@@ -5050,7 +5073,7 @@ export interface components {
5050
5073
  * @description Type of workspace lifecycle event.
5051
5074
  * @enum {string}
5052
5075
  */
5053
- ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped";
5076
+ ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped";
5054
5077
  ActivityLogActorDto: {
5055
5078
  /** Format: uuid */
5056
5079
  userId: string;
@@ -5571,6 +5594,7 @@ export type ProjectDto = components['schemas']['ProjectDto'];
5571
5594
  export type ProjectPatchDto = components['schemas']['ProjectPatchDto'];
5572
5595
  export type NotificationDto = components['schemas']['NotificationDto'];
5573
5596
  export type NotificationListDto = components['schemas']['NotificationListDto'];
5597
+ export type NotificationUnreadCountDto = components['schemas']['NotificationUnreadCountDto'];
5574
5598
  export type EffectiveTaskRowDto = components['schemas']['EffectiveTaskRowDto'];
5575
5599
  export type EffectivePhaseTasksBlockDto = components['schemas']['EffectivePhaseTasksBlockDto'];
5576
5600
  export type AiStrategyRecommendBodyDto = components['schemas']['AiStrategyRecommendBodyDto'];
@@ -11055,6 +11079,29 @@ export interface operations {
11055
11079
  401: components["responses"]["Unauthorized"];
11056
11080
  };
11057
11081
  };
11082
+ getNotificationUnreadCount: {
11083
+ parameters: {
11084
+ query?: never;
11085
+ header?: never;
11086
+ path: {
11087
+ workspaceId: components["parameters"]["WorkspaceId"];
11088
+ };
11089
+ cookie?: never;
11090
+ };
11091
+ requestBody?: never;
11092
+ responses: {
11093
+ /** @description Unread count for the current user in this workspace (respecting notification preferences) */
11094
+ 200: {
11095
+ headers: {
11096
+ [name: string]: unknown;
11097
+ };
11098
+ content: {
11099
+ "application/json": components["schemas"]["NotificationUnreadCountDto"];
11100
+ };
11101
+ };
11102
+ 401: components["responses"]["Unauthorized"];
11103
+ };
11104
+ };
11058
11105
  postNotificationRead: {
11059
11106
  parameters: {
11060
11107
  query?: never;