@thinkai/tai-api-contract 2.152.0 → 2.154.0-pr.1317.ba1b741d

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.152.0
4
+ version: 2.154.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}/...`.
@@ -8613,9 +8613,10 @@ paths:
8613
8613
  tags: [CodeChat]
8614
8614
  summary: Generate a workspace-scoped PRD draft
8615
8615
  description: >-
8616
- Builds a PRD draft from ready repository wikis, code graphs, and platform evidence
8617
- (readiness, quality, delivery, AI adoption, monitoring). Upserts one workspace
8618
- knowledge page (`prd-<slug>` / `prd-draft`) without replacing the whole knowledge base.
8616
+ Builds a PRD draft from ready code maps (required) plus optional wiki pages and
8617
+ platform evidence (readiness, quality, delivery, AI adoption, monitoring). Wiki is
8618
+ optional — scan at least one repository first. Upserts one workspace knowledge page
8619
+ (`prd-<slug>` / `prd-draft`) without replacing the whole knowledge base.
8619
8620
  operationId: generatePrdDraft
8620
8621
  parameters:
8621
8622
  - $ref: "#/components/parameters/WorkspaceId"
@@ -8641,6 +8642,70 @@ paths:
8641
8642
  "409":
8642
8643
  description: No ready code map in scope
8643
8644
 
8645
+ /workspaces/{workspaceId}/knowledge-pages/rfc/generate:
8646
+ post:
8647
+ tags: [CodeChat]
8648
+ summary: Generate a workspace-scoped RFC draft
8649
+ description: >-
8650
+ Same grounding as PRD generate (ready code maps required; wiki optional; platform
8651
+ evidence when available). Upserts `rfc-<slug>` / `rfc-draft` without replacing the KB.
8652
+ operationId: generateRfcDraft
8653
+ parameters:
8654
+ - $ref: "#/components/parameters/WorkspaceId"
8655
+ requestBody:
8656
+ required: true
8657
+ content:
8658
+ application/json:
8659
+ schema:
8660
+ $ref: "#/components/schemas/GeneratePrdDraftBodyDto"
8661
+ responses:
8662
+ "200":
8663
+ description: Generated RFC draft page
8664
+ content:
8665
+ application/json:
8666
+ schema:
8667
+ $ref: "#/components/schemas/GeneratePrdDraftResultDto"
8668
+ "400":
8669
+ description: Missing or invalid featureIntent
8670
+ "401":
8671
+ $ref: "#/components/responses/Unauthorized"
8672
+ "403":
8673
+ description: Code Intelligence is disabled for this workspace
8674
+ "409":
8675
+ description: No ready code map in scope
8676
+
8677
+ /workspaces/{workspaceId}/knowledge-pages/adr/generate:
8678
+ post:
8679
+ tags: [CodeChat]
8680
+ summary: Generate a workspace-scoped ADR draft
8681
+ description: >-
8682
+ Same grounding as PRD generate (ready code maps required; wiki optional; platform
8683
+ evidence when available). Upserts `adr-<slug>` / `adr-draft` without replacing the KB.
8684
+ operationId: generateAdrDraft
8685
+ parameters:
8686
+ - $ref: "#/components/parameters/WorkspaceId"
8687
+ requestBody:
8688
+ required: true
8689
+ content:
8690
+ application/json:
8691
+ schema:
8692
+ $ref: "#/components/schemas/GeneratePrdDraftBodyDto"
8693
+ responses:
8694
+ "200":
8695
+ description: Generated ADR draft page
8696
+ content:
8697
+ application/json:
8698
+ schema:
8699
+ $ref: "#/components/schemas/GeneratePrdDraftResultDto"
8700
+ "400":
8701
+ description: Missing or invalid featureIntent
8702
+ "401":
8703
+ $ref: "#/components/responses/Unauthorized"
8704
+ "403":
8705
+ description: Code Intelligence is disabled for this workspace
8706
+ "409":
8707
+ description: No ready code map in scope
8708
+
8644
8709
  /workspaces/{workspaceId}/knowledge-graph:
8645
8710
  get:
8646
8711
  tags: [CodeChat]
@@ -9664,6 +9729,27 @@ paths:
9664
9729
  "401":
9665
9730
  $ref: "#/components/responses/Unauthorized"
9666
9731
 
9732
+ /workspaces/{workspaceId}/notifications/{id}/unread:
9733
+ post:
9734
+ tags: [Notifications]
9735
+ summary: Mark notification unread
9736
+ description: Clears read state for the current member's row. Does not follow a route.
9737
+ operationId: postNotificationUnread
9738
+ parameters:
9739
+ - $ref: "#/components/parameters/WorkspaceId"
9740
+ - $ref: "#/components/parameters/NotificationId"
9741
+ responses:
9742
+ "204":
9743
+ description: Updated
9744
+ "401":
9745
+ $ref: "#/components/responses/Unauthorized"
9746
+ "404":
9747
+ description: Notification was not found for this member
9748
+ content:
9749
+ application/json:
9750
+ schema:
9751
+ $ref: "#/components/schemas/ErrorMessageDto"
9752
+
9667
9753
  /workspaces/{workspaceId}/notifications/read-all:
9668
9754
  post:
9669
9755
  tags: [Notifications]
@@ -22529,7 +22615,7 @@ components:
22529
22615
  type: string
22530
22616
  minLength: 1
22531
22617
  maxLength: 4000
22532
- description: Feature or change the PRD should describe
22618
+ description: Feature or change the PRD, RFC, or ADR should describe
22533
22619
  repoIds:
22534
22620
  type: array
22535
22621
  description: Ready repository indexes to analyze. Omit or send empty for all ready indexes.
@@ -22541,18 +22627,24 @@ components:
22541
22627
 
22542
22628
  GeneratePrdDraftResultDto:
22543
22629
  type: object
22544
- required: [item, mode, repoIds, slug]
22630
+ required: [item, mode, kind, repoIds, slug]
22545
22631
  properties:
22546
22632
  item: { $ref: "#/components/schemas/WorkspaceKnowledgePageDto" }
22547
22633
  mode:
22548
22634
  type: string
22549
22635
  enum: [deterministic, llm]
22636
+ kind:
22637
+ type: string
22638
+ enum: [prd, rfc, adr]
22639
+ description: Artifact kind that was generated
22550
22640
  repoIds:
22551
22641
  type: array
22552
22642
  items: { type: string, format: uuid }
22553
22643
  slug:
22554
22644
  type: string
22555
- description: Persisted workspace knowledge page slug (prd-draft or prd-<safe-slug>)
22645
+ description: >-
22646
+ Persisted workspace knowledge page slug (`prd-draft` / `prd-<safe-slug>`,
22647
+ or the `rfc-` / `adr-` equivalents)
22556
22648
  usage:
22557
22649
  $ref: "#/components/schemas/CodeIntelligenceUsageDto"
22558
22650
 
@@ -22578,7 +22670,8 @@ components:
22578
22670
  type: string
22579
22671
  description: >-
22580
22672
  Page slug. `workspace-agent` is the canonical hub; supporting pages include
22581
- `workspace-overview`, `cross-repo-map`, `shared-concepts`, and `prd-*` drafts.
22673
+ `workspace-overview`, `cross-repo-map`, `shared-concepts`, and
22674
+ `prd-*` / `rfc-*` / `adr-*` drafts.
22582
22675
  title: { type: string }
22583
22676
  bodyMd: { type: string }
22584
22677
  sortOrder: { type: integer }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkai/tai-api-contract",
3
- "version": "2.152.0",
3
+ "version": "2.154.0-pr.1317.ba1b741d",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3353,7 +3353,7 @@ export interface paths {
3353
3353
  put?: never;
3354
3354
  /**
3355
3355
  * Generate a workspace-scoped PRD draft
3356
- * @description Builds a PRD draft from ready repository wikis, code graphs, and platform evidence (readiness, quality, delivery, AI adoption, monitoring). Upserts one workspace knowledge page (`prd-<slug>` / `prd-draft`) without replacing the whole knowledge base.
3356
+ * @description Builds a PRD draft from ready code maps (required) plus optional wiki pages and platform evidence (readiness, quality, delivery, AI adoption, monitoring). Wiki is optional — scan at least one repository first. Upserts one workspace knowledge page (`prd-<slug>` / `prd-draft`) without replacing the whole knowledge base.
3357
3357
  */
3358
3358
  post: operations["generatePrdDraft"];
3359
3359
  delete?: never;
@@ -3362,6 +3362,46 @@ export interface paths {
3362
3362
  patch?: never;
3363
3363
  trace?: never;
3364
3364
  };
3365
+ "/workspaces/{workspaceId}/knowledge-pages/rfc/generate": {
3366
+ parameters: {
3367
+ query?: never;
3368
+ header?: never;
3369
+ path?: never;
3370
+ cookie?: never;
3371
+ };
3372
+ get?: never;
3373
+ put?: never;
3374
+ /**
3375
+ * Generate a workspace-scoped RFC draft
3376
+ * @description Same grounding as PRD generate (ready code maps required; wiki optional; platform evidence when available). Upserts `rfc-<slug>` / `rfc-draft` without replacing the KB.
3377
+ */
3378
+ post: operations["generateRfcDraft"];
3379
+ delete?: never;
3380
+ options?: never;
3381
+ head?: never;
3382
+ patch?: never;
3383
+ trace?: never;
3384
+ };
3385
+ "/workspaces/{workspaceId}/knowledge-pages/adr/generate": {
3386
+ parameters: {
3387
+ query?: never;
3388
+ header?: never;
3389
+ path?: never;
3390
+ cookie?: never;
3391
+ };
3392
+ get?: never;
3393
+ put?: never;
3394
+ /**
3395
+ * Generate a workspace-scoped ADR draft
3396
+ * @description Same grounding as PRD generate (ready code maps required; wiki optional; platform evidence when available). Upserts `adr-<slug>` / `adr-draft` without replacing the KB.
3397
+ */
3398
+ post: operations["generateAdrDraft"];
3399
+ delete?: never;
3400
+ options?: never;
3401
+ head?: never;
3402
+ patch?: never;
3403
+ trace?: never;
3404
+ };
3365
3405
  "/workspaces/{workspaceId}/knowledge-graph": {
3366
3406
  parameters: {
3367
3407
  query?: never;
@@ -3910,6 +3950,26 @@ export interface paths {
3910
3950
  patch?: never;
3911
3951
  trace?: never;
3912
3952
  };
3953
+ "/workspaces/{workspaceId}/notifications/{id}/unread": {
3954
+ parameters: {
3955
+ query?: never;
3956
+ header?: never;
3957
+ path?: never;
3958
+ cookie?: never;
3959
+ };
3960
+ get?: never;
3961
+ put?: never;
3962
+ /**
3963
+ * Mark notification unread
3964
+ * @description Clears read state for the current member's row. Does not follow a route.
3965
+ */
3966
+ post: operations["postNotificationUnread"];
3967
+ delete?: never;
3968
+ options?: never;
3969
+ head?: never;
3970
+ patch?: never;
3971
+ trace?: never;
3972
+ };
3913
3973
  "/workspaces/{workspaceId}/notifications/read-all": {
3914
3974
  parameters: {
3915
3975
  query?: never;
@@ -9737,7 +9797,7 @@ export interface components {
9737
9797
  };
9738
9798
  };
9739
9799
  GeneratePrdDraftBodyDto: {
9740
- /** @description Feature or change the PRD should describe */
9800
+ /** @description Feature or change the PRD, RFC, or ADR should describe */
9741
9801
  featureIntent: string;
9742
9802
  /** @description Ready repository indexes to analyze. Omit or send empty for all ready indexes. */
9743
9803
  repoIds?: string[];
@@ -9751,8 +9811,13 @@ export interface components {
9751
9811
  item: components["schemas"]["WorkspaceKnowledgePageDto"];
9752
9812
  /** @enum {string} */
9753
9813
  mode: "deterministic" | "llm";
9814
+ /**
9815
+ * @description Artifact kind that was generated
9816
+ * @enum {string}
9817
+ */
9818
+ kind: "prd" | "rfc" | "adr";
9754
9819
  repoIds: string[];
9755
- /** @description Persisted workspace knowledge page slug (prd-draft or prd-<safe-slug>) */
9820
+ /** @description Persisted workspace knowledge page slug (`prd-draft` / `prd-<safe-slug>`, or the `rfc-` / `adr-` equivalents) */
9756
9821
  slug: string;
9757
9822
  usage?: components["schemas"]["CodeIntelligenceUsageDto"];
9758
9823
  };
@@ -9761,7 +9826,7 @@ export interface components {
9761
9826
  id: string;
9762
9827
  /** Format: uuid */
9763
9828
  workspaceId: string;
9764
- /** @description Page slug. `workspace-agent` is the canonical hub; supporting pages include `workspace-overview`, `cross-repo-map`, `shared-concepts`, and `prd-*` drafts. */
9829
+ /** @description Page slug. `workspace-agent` is the canonical hub; supporting pages include `workspace-overview`, `cross-repo-map`, `shared-concepts`, and `prd-*` / `rfc-*` / `adr-*` drafts. */
9765
9830
  slug: string;
9766
9831
  title: string;
9767
9832
  bodyMd: string;
@@ -20250,6 +20315,102 @@ export interface operations {
20250
20315
  };
20251
20316
  };
20252
20317
  };
20318
+ generateRfcDraft: {
20319
+ parameters: {
20320
+ query?: never;
20321
+ header?: never;
20322
+ path: {
20323
+ workspaceId: components["parameters"]["WorkspaceId"];
20324
+ };
20325
+ cookie?: never;
20326
+ };
20327
+ requestBody: {
20328
+ content: {
20329
+ "application/json": components["schemas"]["GeneratePrdDraftBodyDto"];
20330
+ };
20331
+ };
20332
+ responses: {
20333
+ /** @description Generated RFC draft page */
20334
+ 200: {
20335
+ headers: {
20336
+ [name: string]: unknown;
20337
+ };
20338
+ content: {
20339
+ "application/json": components["schemas"]["GeneratePrdDraftResultDto"];
20340
+ };
20341
+ };
20342
+ /** @description Missing or invalid featureIntent */
20343
+ 400: {
20344
+ headers: {
20345
+ [name: string]: unknown;
20346
+ };
20347
+ content?: never;
20348
+ };
20349
+ 401: components["responses"]["Unauthorized"];
20350
+ /** @description Code Intelligence is disabled for this workspace */
20351
+ 403: {
20352
+ headers: {
20353
+ [name: string]: unknown;
20354
+ };
20355
+ content?: never;
20356
+ };
20357
+ /** @description No ready code map in scope */
20358
+ 409: {
20359
+ headers: {
20360
+ [name: string]: unknown;
20361
+ };
20362
+ content?: never;
20363
+ };
20364
+ };
20365
+ };
20366
+ generateAdrDraft: {
20367
+ parameters: {
20368
+ query?: never;
20369
+ header?: never;
20370
+ path: {
20371
+ workspaceId: components["parameters"]["WorkspaceId"];
20372
+ };
20373
+ cookie?: never;
20374
+ };
20375
+ requestBody: {
20376
+ content: {
20377
+ "application/json": components["schemas"]["GeneratePrdDraftBodyDto"];
20378
+ };
20379
+ };
20380
+ responses: {
20381
+ /** @description Generated ADR draft page */
20382
+ 200: {
20383
+ headers: {
20384
+ [name: string]: unknown;
20385
+ };
20386
+ content: {
20387
+ "application/json": components["schemas"]["GeneratePrdDraftResultDto"];
20388
+ };
20389
+ };
20390
+ /** @description Missing or invalid featureIntent */
20391
+ 400: {
20392
+ headers: {
20393
+ [name: string]: unknown;
20394
+ };
20395
+ content?: never;
20396
+ };
20397
+ 401: components["responses"]["Unauthorized"];
20398
+ /** @description Code Intelligence is disabled for this workspace */
20399
+ 403: {
20400
+ headers: {
20401
+ [name: string]: unknown;
20402
+ };
20403
+ content?: never;
20404
+ };
20405
+ /** @description No ready code map in scope */
20406
+ 409: {
20407
+ headers: {
20408
+ [name: string]: unknown;
20409
+ };
20410
+ content?: never;
20411
+ };
20412
+ };
20413
+ };
20253
20414
  getWorkspaceKnowledgeGraph: {
20254
20415
  parameters: {
20255
20416
  query?: never;
@@ -21486,6 +21647,37 @@ export interface operations {
21486
21647
  401: components["responses"]["Unauthorized"];
21487
21648
  };
21488
21649
  };
21650
+ postNotificationUnread: {
21651
+ parameters: {
21652
+ query?: never;
21653
+ header?: never;
21654
+ path: {
21655
+ workspaceId: components["parameters"]["WorkspaceId"];
21656
+ id: components["parameters"]["NotificationId"];
21657
+ };
21658
+ cookie?: never;
21659
+ };
21660
+ requestBody?: never;
21661
+ responses: {
21662
+ /** @description Updated */
21663
+ 204: {
21664
+ headers: {
21665
+ [name: string]: unknown;
21666
+ };
21667
+ content?: never;
21668
+ };
21669
+ 401: components["responses"]["Unauthorized"];
21670
+ /** @description Notification was not found for this member */
21671
+ 404: {
21672
+ headers: {
21673
+ [name: string]: unknown;
21674
+ };
21675
+ content: {
21676
+ "application/json": components["schemas"]["ErrorMessageDto"];
21677
+ };
21678
+ };
21679
+ };
21680
+ };
21489
21681
  postNotificationsReadAll: {
21490
21682
  parameters: {
21491
21683
  query?: never;