@thinkai/tai-api-contract 2.81.0-pr.976.a7aec716 → 2.82.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.81.0
4
+ version: 2.82.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}/...`.
@@ -7010,6 +7010,15 @@ paths:
7010
7010
  application/json:
7011
7011
  schema:
7012
7012
  $ref: "#/components/schemas/ErrorMessageDto"
7013
+ "422":
7014
+ description: Repository blocked by workspace eligibility or size limits
7015
+ content:
7016
+ application/json:
7017
+ schema:
7018
+ $ref: "#/components/schemas/ErrorMessageDto"
7019
+ example:
7020
+ error: Repository exceeds the workspace eligibility limits and cannot be indexed
7021
+ code: repo_ineligible
7013
7022
 
7014
7023
  /workspaces/{workspaceId}/code-chat/indexes/sync:
7015
7024
  post:
@@ -16868,6 +16877,21 @@ components:
16868
16877
  items:
16869
16878
  type: array
16870
16879
  items: { $ref: "#/components/schemas/CodeChatIndexDto" }
16880
+ skipped:
16881
+ type: array
16882
+ description: Repositories requested (or considered) for sync but not enqueued
16883
+ items: { $ref: "#/components/schemas/CodeChatSkippedRepoDto" }
16884
+
16885
+ CodeChatSkippedRepoDto:
16886
+ type: object
16887
+ required: [repoId, repoName, code]
16888
+ properties:
16889
+ repoId: { type: string, format: uuid }
16890
+ repoName: { type: string }
16891
+ code:
16892
+ type: string
16893
+ enum: [repo_ineligible]
16894
+ description: Stable machine-readable skip reason
16871
16895
 
16872
16896
  CodeChatThreadDto:
16873
16897
  type: object
@@ -16956,7 +16980,65 @@ components:
16956
16980
  - type: object
16957
16981
  required: [mode]
16958
16982
  properties:
16959
- mode: { type: string, enum: [llm, retrieval] }
16983
+ mode:
16984
+ type: string
16985
+ enum: [llm, retrieval, inventory]
16986
+ description: >
16987
+ How the assistant answer was produced. `inventory` returns a deterministic
16988
+ catalog (APIs or modules) rather than LLM synthesis.
16989
+ structured:
16990
+ description: Optional typed inventory payload for rich UI tables
16991
+ allOf:
16992
+ - $ref: "#/components/schemas/CodeChatStructuredBlockDto"
16993
+ groundedInWiki:
16994
+ type: boolean
16995
+ description: True when wiki pages from one or more repos contributed to LLM context
16996
+ wikiRepos:
16997
+ type: array
16998
+ items: { type: string }
16999
+ description: Repository names whose wiki pages grounded the answer
17000
+
17001
+ CodeChatApiRouteRowDto:
17002
+ type: object
17003
+ required: [method, path, file]
17004
+ properties:
17005
+ method: { type: string }
17006
+ path: { type: string }
17007
+ file: { type: string }
17008
+ line: { type: integer }
17009
+ summary: { type: string }
17010
+ repoId: { type: string, format: uuid }
17011
+ repoName: { type: string }
17012
+ providerSlug: { type: string }
17013
+ commitSha: { type: string, nullable: true }
17014
+
17015
+ CodeChatModuleInventoryRowDto:
17016
+ type: object
17017
+ required: [name, kind, path]
17018
+ properties:
17019
+ name: { type: string }
17020
+ kind: { type: string, enum: [package, root, area] }
17021
+ path: { type: string }
17022
+ summary: { type: string }
17023
+ repoId: { type: string, format: uuid }
17024
+ repoName: { type: string }
17025
+
17026
+ CodeChatStructuredBlockDto:
17027
+ oneOf:
17028
+ - type: object
17029
+ required: [kind, rows]
17030
+ properties:
17031
+ kind: { type: string, enum: [api_inventory] }
17032
+ rows:
17033
+ type: array
17034
+ items: { $ref: "#/components/schemas/CodeChatApiRouteRowDto" }
17035
+ - type: object
17036
+ required: [kind, rows]
17037
+ properties:
17038
+ kind: { type: string, enum: [module_inventory] }
17039
+ rows:
17040
+ type: array
17041
+ items: { $ref: "#/components/schemas/CodeChatModuleInventoryRowDto" }
16960
17042
 
16961
17043
  CodeChatWikiPageDto:
16962
17044
  type: object
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkai/tai-api-contract",
3
- "version": "2.81.0-pr.976.a7aec716",
3
+ "version": "2.82.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -7325,6 +7325,18 @@ export interface components {
7325
7325
  CodeChatSyncIndexesResultDto: {
7326
7326
  enqueued: number;
7327
7327
  items?: components["schemas"]["CodeChatIndexDto"][];
7328
+ /** @description Repositories requested (or considered) for sync but not enqueued */
7329
+ skipped?: components["schemas"]["CodeChatSkippedRepoDto"][];
7330
+ };
7331
+ CodeChatSkippedRepoDto: {
7332
+ /** Format: uuid */
7333
+ repoId: string;
7334
+ repoName: string;
7335
+ /**
7336
+ * @description Stable machine-readable skip reason
7337
+ * @enum {string}
7338
+ */
7339
+ code: "repo_ineligible";
7328
7340
  };
7329
7341
  CodeChatThreadDto: {
7330
7342
  /** Format: uuid */
@@ -7387,8 +7399,48 @@ export interface components {
7387
7399
  content: string;
7388
7400
  };
7389
7401
  CodeChatMessageReplyDto: components["schemas"]["CodeChatMessageDto"] & {
7402
+ /**
7403
+ * @description How the assistant answer was produced. `inventory` returns a deterministic catalog (APIs or modules) rather than LLM synthesis.
7404
+ * @enum {string}
7405
+ */
7406
+ mode: "llm" | "retrieval" | "inventory";
7407
+ /** @description Optional typed inventory payload for rich UI tables */
7408
+ structured?: components["schemas"]["CodeChatStructuredBlockDto"];
7409
+ /** @description True when wiki pages from one or more repos contributed to LLM context */
7410
+ groundedInWiki?: boolean;
7411
+ /** @description Repository names whose wiki pages grounded the answer */
7412
+ wikiRepos?: string[];
7413
+ };
7414
+ CodeChatApiRouteRowDto: {
7415
+ method: string;
7416
+ path: string;
7417
+ file: string;
7418
+ line?: number;
7419
+ summary?: string;
7420
+ /** Format: uuid */
7421
+ repoId?: string;
7422
+ repoName?: string;
7423
+ providerSlug?: string;
7424
+ commitSha?: string | null;
7425
+ };
7426
+ CodeChatModuleInventoryRowDto: {
7427
+ name: string;
7390
7428
  /** @enum {string} */
7391
- mode: "llm" | "retrieval";
7429
+ kind: "package" | "root" | "area";
7430
+ path: string;
7431
+ summary?: string;
7432
+ /** Format: uuid */
7433
+ repoId?: string;
7434
+ repoName?: string;
7435
+ };
7436
+ CodeChatStructuredBlockDto: {
7437
+ /** @enum {string} */
7438
+ kind: "api_inventory";
7439
+ rows: components["schemas"]["CodeChatApiRouteRowDto"][];
7440
+ } | {
7441
+ /** @enum {string} */
7442
+ kind: "module_inventory";
7443
+ rows: components["schemas"]["CodeChatModuleInventoryRowDto"][];
7392
7444
  };
7393
7445
  CodeChatWikiPageDto: {
7394
7446
  /** Format: uuid */
@@ -8215,6 +8267,7 @@ export type CodeChatIndexListDto = components['schemas']['CodeChatIndexListDto']
8215
8267
  export type CodeChatCreateIndexBodyDto = components['schemas']['CodeChatCreateIndexBodyDto'];
8216
8268
  export type CodeChatSyncIndexesBodyDto = components['schemas']['CodeChatSyncIndexesBodyDto'];
8217
8269
  export type CodeChatSyncIndexesResultDto = components['schemas']['CodeChatSyncIndexesResultDto'];
8270
+ export type CodeChatSkippedRepoDto = components['schemas']['CodeChatSkippedRepoDto'];
8218
8271
  export type CodeChatThreadDto = components['schemas']['CodeChatThreadDto'];
8219
8272
  export type CodeChatThreadListDto = components['schemas']['CodeChatThreadListDto'];
8220
8273
  export type CodeChatCreateThreadBodyDto = components['schemas']['CodeChatCreateThreadBodyDto'];
@@ -8223,6 +8276,9 @@ export type CodeChatMessageDto = components['schemas']['CodeChatMessageDto'];
8223
8276
  export type CodeChatThreadDetailDto = components['schemas']['CodeChatThreadDetailDto'];
8224
8277
  export type CodeChatPostMessageBodyDto = components['schemas']['CodeChatPostMessageBodyDto'];
8225
8278
  export type CodeChatMessageReplyDto = components['schemas']['CodeChatMessageReplyDto'];
8279
+ export type CodeChatApiRouteRowDto = components['schemas']['CodeChatApiRouteRowDto'];
8280
+ export type CodeChatModuleInventoryRowDto = components['schemas']['CodeChatModuleInventoryRowDto'];
8281
+ export type CodeChatStructuredBlockDto = components['schemas']['CodeChatStructuredBlockDto'];
8226
8282
  export type CodeChatWikiPageDto = components['schemas']['CodeChatWikiPageDto'];
8227
8283
  export type CodeChatWikiPageListDto = components['schemas']['CodeChatWikiPageListDto'];
8228
8284
  export type CodeChatSymbolQueryBodyDto = components['schemas']['CodeChatSymbolQueryBodyDto'];
@@ -15417,6 +15473,21 @@ export interface operations {
15417
15473
  "application/json": components["schemas"]["ErrorMessageDto"];
15418
15474
  };
15419
15475
  };
15476
+ /** @description Repository blocked by workspace eligibility or size limits */
15477
+ 422: {
15478
+ headers: {
15479
+ [name: string]: unknown;
15480
+ };
15481
+ content: {
15482
+ /**
15483
+ * @example {
15484
+ * "error": "Repository exceeds the workspace eligibility limits and cannot be indexed",
15485
+ * "code": "repo_ineligible"
15486
+ * }
15487
+ */
15488
+ "application/json": components["schemas"]["ErrorMessageDto"];
15489
+ };
15490
+ };
15420
15491
  };
15421
15492
  };
15422
15493
  syncCodeChatIndexes: {