@thinkai/tai-api-contract 2.143.0 → 2.145.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 +348 -11
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +308 -9
- package/package.json +1 -1
- package/src/generated/openapi.ts +348 -11
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.145.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}/...`.
|
|
@@ -7767,6 +7767,107 @@ paths:
|
|
|
7767
7767
|
"403":
|
|
7768
7768
|
$ref: "#/components/responses/Forbidden"
|
|
7769
7769
|
|
|
7770
|
+
/workspaces/{workspaceId}/code-intelligence/agent-md:
|
|
7771
|
+
get:
|
|
7772
|
+
tags: [CodeChat]
|
|
7773
|
+
summary: Read the workspace agent.md
|
|
7774
|
+
description: >
|
|
7775
|
+
Any workspace member. Returns the persisted workspace agent file, or null fields when
|
|
7776
|
+
none has been written. 403 `code_intelligence_disabled` when Engineering Context Graph is off.
|
|
7777
|
+
operationId: getCodeIntelligenceAgentMd
|
|
7778
|
+
x-test-coverage-skip: thin read of persisted config; covered by readiness and maintain unit tests
|
|
7779
|
+
parameters:
|
|
7780
|
+
- $ref: "#/components/parameters/WorkspaceId"
|
|
7781
|
+
responses:
|
|
7782
|
+
"200":
|
|
7783
|
+
description: Persisted agent.md
|
|
7784
|
+
content:
|
|
7785
|
+
application/json:
|
|
7786
|
+
schema:
|
|
7787
|
+
$ref: "#/components/schemas/CodeIntelligenceAgentMdDto"
|
|
7788
|
+
"401":
|
|
7789
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7790
|
+
"403":
|
|
7791
|
+
description: Engineering Context Graph is off, or the caller is not a member
|
|
7792
|
+
content:
|
|
7793
|
+
application/json:
|
|
7794
|
+
schema:
|
|
7795
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
7796
|
+
put:
|
|
7797
|
+
tags: [CodeChat]
|
|
7798
|
+
summary: Save an admin edit of the workspace agent.md
|
|
7799
|
+
description: >
|
|
7800
|
+
Admin only. Body is 1 to 12,000 characters. Saves source `admin`. Auto-generate and the
|
|
7801
|
+
cadence tick do not overwrite this text until an admin regenerates it. A non-admin receives 403.
|
|
7802
|
+
operationId: putCodeIntelligenceAgentMd
|
|
7803
|
+
x-test-coverage-skip: admin write of persisted config; covered by store and maintain unit tests
|
|
7804
|
+
parameters:
|
|
7805
|
+
- $ref: "#/components/parameters/WorkspaceId"
|
|
7806
|
+
requestBody:
|
|
7807
|
+
required: true
|
|
7808
|
+
content:
|
|
7809
|
+
application/json:
|
|
7810
|
+
schema:
|
|
7811
|
+
$ref: "#/components/schemas/PutCodeIntelligenceAgentMdDto"
|
|
7812
|
+
responses:
|
|
7813
|
+
"200":
|
|
7814
|
+
description: Saved agent.md
|
|
7815
|
+
content:
|
|
7816
|
+
application/json:
|
|
7817
|
+
schema:
|
|
7818
|
+
$ref: "#/components/schemas/CodeIntelligenceAgentMdDto"
|
|
7819
|
+
"400":
|
|
7820
|
+
description: Body missing or outside 1 to 12,000 characters
|
|
7821
|
+
content:
|
|
7822
|
+
application/json:
|
|
7823
|
+
schema:
|
|
7824
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
7825
|
+
"401":
|
|
7826
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7827
|
+
"403":
|
|
7828
|
+
description: Caller is not an admin, or Engineering Context Graph is off
|
|
7829
|
+
content:
|
|
7830
|
+
application/json:
|
|
7831
|
+
schema:
|
|
7832
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
7833
|
+
|
|
7834
|
+
/workspaces/{workspaceId}/code-intelligence/agent-md/regenerate:
|
|
7835
|
+
post:
|
|
7836
|
+
tags: [CodeChat]
|
|
7837
|
+
summary: Rewrite workspace agent.md from ready code graphs
|
|
7838
|
+
description: >
|
|
7839
|
+
Admin only. Rewrites the file from current ready eligible graphs and sets source
|
|
7840
|
+
`generated`. Returns 409 `agent_md_not_ready` when no eligible repository index is ready.
|
|
7841
|
+
Does not call an LLM and does not clone repositories.
|
|
7842
|
+
operationId: regenerateCodeIntelligenceAgentMd
|
|
7843
|
+
x-test-coverage-skip: wraps regenerateWorkspaceAgentMd; covered by wave maintain unit tests
|
|
7844
|
+
parameters:
|
|
7845
|
+
- $ref: "#/components/parameters/WorkspaceId"
|
|
7846
|
+
responses:
|
|
7847
|
+
"200":
|
|
7848
|
+
description: Regenerated agent.md
|
|
7849
|
+
content:
|
|
7850
|
+
application/json:
|
|
7851
|
+
schema:
|
|
7852
|
+
$ref: "#/components/schemas/CodeIntelligenceAgentMdDto"
|
|
7853
|
+
"401":
|
|
7854
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7855
|
+
"403":
|
|
7856
|
+
description: Caller is not an admin, or Engineering Context Graph is off
|
|
7857
|
+
content:
|
|
7858
|
+
application/json:
|
|
7859
|
+
schema:
|
|
7860
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
7861
|
+
"409":
|
|
7862
|
+
description: No ready eligible index
|
|
7863
|
+
content:
|
|
7864
|
+
application/json:
|
|
7865
|
+
schema:
|
|
7866
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
7867
|
+
example:
|
|
7868
|
+
error: No ready repository index is available to write the workspace agent file.
|
|
7869
|
+
code: agent_md_not_ready
|
|
7870
|
+
|
|
7770
7871
|
/workspaces/{workspaceId}/code-intelligence/token-usage/summary:
|
|
7771
7872
|
get:
|
|
7772
7873
|
tags: [CodeChat]
|
|
@@ -8102,6 +8203,10 @@ paths:
|
|
|
8102
8203
|
post:
|
|
8103
8204
|
tags: [CodeChat]
|
|
8104
8205
|
summary: Enqueue indexing for all (or selected) readiness GitHub repos
|
|
8206
|
+
description: >
|
|
8207
|
+
`indexOnly: true` enqueues a graph-only job. `{ "indexOnly": true, "force": true }` with
|
|
8208
|
+
no `repoIds` is admin-only and opens one index wave for every eligible GitHub repository.
|
|
8209
|
+
A single-repo indexOnly sync does not open a wave. Members who send that admin body receive 403.
|
|
8105
8210
|
operationId: syncCodeChatIndexes
|
|
8106
8211
|
x-test-coverage-skip: lightweight MVP; covered by package unit tests
|
|
8107
8212
|
parameters:
|
|
@@ -8121,6 +8226,47 @@ paths:
|
|
|
8121
8226
|
$ref: "#/components/schemas/CodeChatSyncIndexesResultDto"
|
|
8122
8227
|
"401":
|
|
8123
8228
|
$ref: "#/components/responses/Unauthorized"
|
|
8229
|
+
"403":
|
|
8230
|
+
description: >
|
|
8231
|
+
Engineering Context Graph is off, or a member sent the admin force body
|
|
8232
|
+
(`indexOnly` and `force` with no `repoIds`).
|
|
8233
|
+
content:
|
|
8234
|
+
application/json:
|
|
8235
|
+
schema:
|
|
8236
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
8237
|
+
|
|
8238
|
+
/workspaces/{workspaceId}/code-chat/readiness:
|
|
8239
|
+
get:
|
|
8240
|
+
tags: [CodeChat]
|
|
8241
|
+
summary: Workspace chat readiness
|
|
8242
|
+
description: >
|
|
8243
|
+
Any workspace member. 403 `code_intelligence_disabled` when Engineering Context Graph is off.
|
|
8244
|
+
`status` is `indexing`, `generating_agent_md`, `failed`, or `ready`. Chat stays closed
|
|
8245
|
+
until `ready`: create thread and post message return `409 chat_not_ready` with
|
|
8246
|
+
`progressMessage` when status is not ready. An open index wave reports `indexing` until
|
|
8247
|
+
every job in that wave is terminal.
|
|
8248
|
+
operationId: getCodeChatReadiness
|
|
8249
|
+
x-test-coverage-skip: thin HTTP over deriveCodeChatReadiness; covered by code-chat-readiness unit tests
|
|
8250
|
+
parameters:
|
|
8251
|
+
- $ref: "#/components/parameters/WorkspaceId"
|
|
8252
|
+
responses:
|
|
8253
|
+
"200":
|
|
8254
|
+
description: Readiness snapshot
|
|
8255
|
+
content:
|
|
8256
|
+
application/json:
|
|
8257
|
+
schema:
|
|
8258
|
+
$ref: "#/components/schemas/CodeChatReadinessDto"
|
|
8259
|
+
"401":
|
|
8260
|
+
$ref: "#/components/responses/Unauthorized"
|
|
8261
|
+
"403":
|
|
8262
|
+
description: Engineering Context Graph is off
|
|
8263
|
+
content:
|
|
8264
|
+
application/json:
|
|
8265
|
+
schema:
|
|
8266
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
8267
|
+
example:
|
|
8268
|
+
error: Code Intelligence is disabled for this workspace
|
|
8269
|
+
code: code_intelligence_disabled
|
|
8124
8270
|
|
|
8125
8271
|
/workspaces/{workspaceId}/code-chat/indexes/{indexId}:
|
|
8126
8272
|
get:
|
|
@@ -8189,6 +8335,12 @@ paths:
|
|
|
8189
8335
|
$ref: "#/components/schemas/CodeChatThreadDto"
|
|
8190
8336
|
"401":
|
|
8191
8337
|
$ref: "#/components/responses/Unauthorized"
|
|
8338
|
+
"403":
|
|
8339
|
+
description: Engineering Context Graph is off
|
|
8340
|
+
content:
|
|
8341
|
+
application/json:
|
|
8342
|
+
schema:
|
|
8343
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
8192
8344
|
"404":
|
|
8193
8345
|
description: Not found
|
|
8194
8346
|
content:
|
|
@@ -8196,7 +8348,23 @@ paths:
|
|
|
8196
8348
|
schema:
|
|
8197
8349
|
$ref: "#/components/schemas/ErrorMessageDto"
|
|
8198
8350
|
"409":
|
|
8199
|
-
description:
|
|
8351
|
+
description: Chat not ready, or no ready corpus for a repo-scoped thread
|
|
8352
|
+
content:
|
|
8353
|
+
application/json:
|
|
8354
|
+
schema:
|
|
8355
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
8356
|
+
examples:
|
|
8357
|
+
chat_not_ready:
|
|
8358
|
+
value:
|
|
8359
|
+
error: Indexing repositories (0/2).
|
|
8360
|
+
code: chat_not_ready
|
|
8361
|
+
progressMessage: Indexing repositories (0/2).
|
|
8362
|
+
"422":
|
|
8363
|
+
description: Execution key required
|
|
8364
|
+
content:
|
|
8365
|
+
application/json:
|
|
8366
|
+
schema:
|
|
8367
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
8200
8368
|
|
|
8201
8369
|
/workspaces/{workspaceId}/code-chat/threads/{threadId}:
|
|
8202
8370
|
get:
|
|
@@ -8271,6 +8439,12 @@ paths:
|
|
|
8271
8439
|
$ref: "#/components/schemas/CodeChatMessageReplyDto"
|
|
8272
8440
|
"401":
|
|
8273
8441
|
$ref: "#/components/responses/Unauthorized"
|
|
8442
|
+
"403":
|
|
8443
|
+
description: Engineering Context Graph is off
|
|
8444
|
+
content:
|
|
8445
|
+
application/json:
|
|
8446
|
+
schema:
|
|
8447
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
8274
8448
|
"404":
|
|
8275
8449
|
description: Not found
|
|
8276
8450
|
content:
|
|
@@ -8278,7 +8452,17 @@ paths:
|
|
|
8278
8452
|
schema:
|
|
8279
8453
|
$ref: "#/components/schemas/ErrorMessageDto"
|
|
8280
8454
|
"409":
|
|
8281
|
-
description:
|
|
8455
|
+
description: Chat not ready, or no ready corpus in thread scope
|
|
8456
|
+
content:
|
|
8457
|
+
application/json:
|
|
8458
|
+
schema:
|
|
8459
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
8460
|
+
"422":
|
|
8461
|
+
description: Execution key required
|
|
8462
|
+
content:
|
|
8463
|
+
application/json:
|
|
8464
|
+
schema:
|
|
8465
|
+
$ref: "#/components/schemas/ErrorMessageDto"
|
|
8282
8466
|
|
|
8283
8467
|
/workspaces/{workspaceId}/code-chat/indexes/{indexId}/wiki:
|
|
8284
8468
|
get:
|
|
@@ -10712,6 +10896,11 @@ components:
|
|
|
10712
10896
|
code:
|
|
10713
10897
|
type: string
|
|
10714
10898
|
description: Machine-readable error code when present (for example `last_admin`).
|
|
10899
|
+
progressMessage:
|
|
10900
|
+
type: string
|
|
10901
|
+
description: >
|
|
10902
|
+
Human-readable progress when `code` is `chat_not_ready` (same text as `error`
|
|
10903
|
+
for that response).
|
|
10715
10904
|
|
|
10716
10905
|
TeamMemberDto:
|
|
10717
10906
|
type: object
|
|
@@ -11919,6 +12108,17 @@ components:
|
|
|
11919
12108
|
type: string
|
|
11920
12109
|
nullable: true
|
|
11921
12110
|
minLength: 1
|
|
12111
|
+
indexingEnabled:
|
|
12112
|
+
type: boolean
|
|
12113
|
+
description: >
|
|
12114
|
+
When false, turning Engineering Context Graph on and the cadence tick do not enqueue
|
|
12115
|
+
index jobs. Stored graphs, wiki pages, and agent.md stay. Defaults to true.
|
|
12116
|
+
indexingCadence:
|
|
12117
|
+
type: string
|
|
12118
|
+
enum: [daily, weekly, manual]
|
|
12119
|
+
description: >
|
|
12120
|
+
How often the code-knowledge worker enqueues an index-only wave for eligible GitHub
|
|
12121
|
+
repositories. `manual` never ticks. Defaults to `daily`.
|
|
11922
12122
|
wikiGuidance:
|
|
11923
12123
|
allOf:
|
|
11924
12124
|
- $ref: "#/components/schemas/CodeWikiGuidanceDto"
|
|
@@ -11946,6 +12146,71 @@ components:
|
|
|
11946
12146
|
maxLength: 120
|
|
11947
12147
|
description: Title of the parent topic for hierarchy (must match another topic title).
|
|
11948
12148
|
|
|
12149
|
+
PutCodeIntelligenceAgentMdDto:
|
|
12150
|
+
type: object
|
|
12151
|
+
required: [body]
|
|
12152
|
+
properties:
|
|
12153
|
+
body:
|
|
12154
|
+
type: string
|
|
12155
|
+
minLength: 1
|
|
12156
|
+
maxLength: 12000
|
|
12157
|
+
|
|
12158
|
+
CodeIntelligenceAgentMdDto:
|
|
12159
|
+
type: object
|
|
12160
|
+
required: [body, source, updatedAt]
|
|
12161
|
+
properties:
|
|
12162
|
+
body:
|
|
12163
|
+
type: string
|
|
12164
|
+
nullable: true
|
|
12165
|
+
source:
|
|
12166
|
+
type: string
|
|
12167
|
+
nullable: true
|
|
12168
|
+
enum: [generated, admin]
|
|
12169
|
+
updatedAt:
|
|
12170
|
+
type: string
|
|
12171
|
+
format: date-time
|
|
12172
|
+
nullable: true
|
|
12173
|
+
|
|
12174
|
+
CodeChatReadinessDto:
|
|
12175
|
+
type: object
|
|
12176
|
+
required:
|
|
12177
|
+
- status
|
|
12178
|
+
- progressMessage
|
|
12179
|
+
- eligibleCount
|
|
12180
|
+
- readyCount
|
|
12181
|
+
- failedCount
|
|
12182
|
+
- inProgressCount
|
|
12183
|
+
- indexingEnabled
|
|
12184
|
+
- indexingCadence
|
|
12185
|
+
- agentMdSource
|
|
12186
|
+
properties:
|
|
12187
|
+
status:
|
|
12188
|
+
type: string
|
|
12189
|
+
enum: [indexing, generating_agent_md, failed, ready]
|
|
12190
|
+
progressMessage:
|
|
12191
|
+
type: string
|
|
12192
|
+
eligibleCount:
|
|
12193
|
+
type: integer
|
|
12194
|
+
minimum: 0
|
|
12195
|
+
readyCount:
|
|
12196
|
+
type: integer
|
|
12197
|
+
minimum: 0
|
|
12198
|
+
failedCount:
|
|
12199
|
+
type: integer
|
|
12200
|
+
minimum: 0
|
|
12201
|
+
inProgressCount:
|
|
12202
|
+
type: integer
|
|
12203
|
+
minimum: 0
|
|
12204
|
+
indexingEnabled:
|
|
12205
|
+
type: boolean
|
|
12206
|
+
indexingCadence:
|
|
12207
|
+
type: string
|
|
12208
|
+
enum: [daily, weekly, manual]
|
|
12209
|
+
agentMdSource:
|
|
12210
|
+
type: string
|
|
12211
|
+
nullable: true
|
|
12212
|
+
enum: [generated, admin]
|
|
12213
|
+
|
|
11949
12214
|
CodeWikiGuidanceDto:
|
|
11950
12215
|
type: object
|
|
11951
12216
|
properties:
|
|
@@ -12026,6 +12291,15 @@ components:
|
|
|
12026
12291
|
type: string
|
|
12027
12292
|
nullable: true
|
|
12028
12293
|
description: Optional Claude model override for Code Intelligence (null/empty → env default).
|
|
12294
|
+
codeIntelligenceIndexingEnabled:
|
|
12295
|
+
type: boolean
|
|
12296
|
+
description: >
|
|
12297
|
+
When false, enable-enqueue and the cadence tick do not start an index wave.
|
|
12298
|
+
Defaults to true.
|
|
12299
|
+
codeIntelligenceIndexingCadence:
|
|
12300
|
+
type: string
|
|
12301
|
+
enum: [daily, weekly, manual]
|
|
12302
|
+
description: Index wave cadence. `manual` does not tick. Defaults to `daily`.
|
|
12029
12303
|
hasCodeIntelligenceExecutionToken:
|
|
12030
12304
|
type: boolean
|
|
12031
12305
|
description: True when a dedicated `code_intelligence` source has a stored executionToken.
|
|
@@ -19098,6 +19372,14 @@ components:
|
|
|
19098
19372
|
type: string
|
|
19099
19373
|
minLength: 1
|
|
19100
19374
|
maxLength: 256
|
|
19375
|
+
shareMode:
|
|
19376
|
+
type: string
|
|
19377
|
+
enum: [internal, external]
|
|
19378
|
+
default: internal
|
|
19379
|
+
description: >
|
|
19380
|
+
Export audience recorded for audit. `external` means the client generated a
|
|
19381
|
+
share-safe PDF with organizational identifiers redacted. Omitted legacy requests
|
|
19382
|
+
are recorded as `internal`.
|
|
19101
19383
|
providerIds:
|
|
19102
19384
|
type: array
|
|
19103
19385
|
maxItems: 32
|
|
@@ -20887,6 +21169,7 @@ components:
|
|
|
20887
21169
|
Omit or false to keep the full pipeline, including wiki. Distinct from
|
|
20888
21170
|
skipLlm, which still writes a skeleton wiki. A job that is already
|
|
20889
21171
|
queued or running keeps the options it was enqueued with.
|
|
21172
|
+
Together with `force: true` and no `repoIds`, this opens an admin index wave.
|
|
20890
21173
|
|
|
20891
21174
|
CodeChatSyncIndexesResultDto:
|
|
20892
21175
|
type: object
|
|
@@ -20909,12 +21192,15 @@ components:
|
|
|
20909
21192
|
repoName: { type: string }
|
|
20910
21193
|
code:
|
|
20911
21194
|
type: string
|
|
20912
|
-
enum: [repo_ineligible, indexed_recently, index_in_progress]
|
|
20913
|
-
description:
|
|
21195
|
+
enum: [repo_ineligible, indexed_recently, index_in_progress, ecg_source_off]
|
|
21196
|
+
description: >
|
|
21197
|
+
Stable machine-readable skip reason. `ecg_source_off` covers a source turned off
|
|
21198
|
+
for Engineering Context Graph and non-GitHub providers that stay listed but are
|
|
21199
|
+
never indexed.
|
|
20914
21200
|
|
|
20915
21201
|
CodeChatThreadDto:
|
|
20916
21202
|
type: object
|
|
20917
|
-
required: [id, workspaceId, repoIds, title, createdAt, updatedAt]
|
|
21203
|
+
required: [id, workspaceId, repoIds, title, scope, createdAt, updatedAt]
|
|
20918
21204
|
properties:
|
|
20919
21205
|
id: { type: string, format: uuid }
|
|
20920
21206
|
workspaceId: { type: string, format: uuid }
|
|
@@ -20925,6 +21211,12 @@ components:
|
|
|
20925
21211
|
description: Empty means all ready repos in the workspace.
|
|
20926
21212
|
revisionRef: { type: string, nullable: true }
|
|
20927
21213
|
title: { type: string }
|
|
21214
|
+
scope:
|
|
21215
|
+
type: string
|
|
21216
|
+
enum: [workspace, repo]
|
|
21217
|
+
description: >
|
|
21218
|
+
`workspace` when `repoIds` is empty or has more than one id (Conversations).
|
|
21219
|
+
`repo` when exactly one repository is bound (System / Wiki).
|
|
20928
21220
|
createdAt: { type: string, format: date-time }
|
|
20929
21221
|
updatedAt: { type: string, format: date-time }
|
|
20930
21222
|
|
|
@@ -20939,6 +21231,12 @@ components:
|
|
|
20939
21231
|
CodeChatCreateThreadBodyDto:
|
|
20940
21232
|
type: object
|
|
20941
21233
|
properties:
|
|
21234
|
+
scope:
|
|
21235
|
+
type: string
|
|
21236
|
+
enum: [workspace]
|
|
21237
|
+
description: >
|
|
21238
|
+
Create a workspace conversation with empty `repoIds`. Does not reuse an older
|
|
21239
|
+
thread. Requires chat readiness and an execution key.
|
|
20942
21240
|
indexId:
|
|
20943
21241
|
type: string
|
|
20944
21242
|
format: uuid
|
|
@@ -20946,7 +21244,7 @@ components:
|
|
|
20946
21244
|
repoIds:
|
|
20947
21245
|
type: array
|
|
20948
21246
|
items: { type: string, format: uuid }
|
|
20949
|
-
description: Empty or omitted = all ready repos.
|
|
21247
|
+
description: Empty or omitted = all ready repos. Ignored when scope is workspace.
|
|
20950
21248
|
revisionRef: { type: string }
|
|
20951
21249
|
title: { type: string }
|
|
20952
21250
|
|
|
@@ -21011,10 +21309,11 @@ components:
|
|
|
21011
21309
|
properties:
|
|
21012
21310
|
mode:
|
|
21013
21311
|
type: string
|
|
21014
|
-
enum: [llm, retrieval, inventory]
|
|
21312
|
+
enum: [llm, retrieval, inventory, failed]
|
|
21015
21313
|
description: >
|
|
21016
21314
|
How the assistant answer was produced. `inventory` returns a deterministic
|
|
21017
|
-
catalog (APIs or modules) rather than LLM synthesis.
|
|
21315
|
+
catalog (APIs or modules) rather than LLM synthesis. `failed` is a short
|
|
21316
|
+
assistant message after provider timeout or error (no retrieval substitute).
|
|
21018
21317
|
structured:
|
|
21019
21318
|
description: Optional typed inventory payload for rich UI tables
|
|
21020
21319
|
allOf:
|