@claudexor/schema 1.0.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/LICENSE +21 -0
- package/README.md +16 -0
- package/dist/agent-capabilities.d.ts +366 -0
- package/dist/agent-capabilities.d.ts.map +1 -0
- package/dist/agent-capabilities.js +125 -0
- package/dist/agent-capabilities.js.map +1 -0
- package/dist/apply-eligibility.d.ts +76 -0
- package/dist/apply-eligibility.d.ts.map +1 -0
- package/dist/apply-eligibility.js +37 -0
- package/dist/apply-eligibility.js.map +1 -0
- package/dist/attachment.d.ts +69 -0
- package/dist/attachment.d.ts.map +1 -0
- package/dist/attachment.js +54 -0
- package/dist/attachment.js.map +1 -0
- package/dist/budget.d.ts +75 -0
- package/dist/budget.d.ts.map +1 -0
- package/dist/budget.js +54 -0
- package/dist/budget.js.map +1 -0
- package/dist/config.d.ts +743 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +194 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +222 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +70 -0
- package/dist/context.js.map +1 -0
- package/dist/control-run-detail.d.ts +1686 -0
- package/dist/control-run-detail.d.ts.map +1 -0
- package/dist/control-run-detail.js +107 -0
- package/dist/control-run-detail.js.map +1 -0
- package/dist/control-trust.d.ts +79 -0
- package/dist/control-trust.d.ts.map +1 -0
- package/dist/control-trust.js +39 -0
- package/dist/control-trust.js.map +1 -0
- package/dist/control.d.ts +4226 -0
- package/dist/control.d.ts.map +1 -0
- package/dist/control.js +1022 -0
- package/dist/control.js.map +1 -0
- package/dist/decision.d.ts +208 -0
- package/dist/decision.d.ts.map +1 -0
- package/dist/decision.js +98 -0
- package/dist/decision.js.map +1 -0
- package/dist/events.d.ts +70 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +105 -0
- package/dist/events.js.map +1 -0
- package/dist/gate.d.ts +37 -0
- package/dist/gate.d.ts.map +1 -0
- package/dist/gate.js +20 -0
- package/dist/gate.js.map +1 -0
- package/dist/harness.d.ts +1418 -0
- package/dist/harness.d.ts.map +1 -0
- package/dist/harness.js +552 -0
- package/dist/harness.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/orchestrate.d.ts +428 -0
- package/dist/orchestrate.d.ts.map +1 -0
- package/dist/orchestrate.js +246 -0
- package/dist/orchestrate.js.map +1 -0
- package/dist/primitives.d.ts +71 -0
- package/dist/primitives.d.ts.map +1 -0
- package/dist/primitives.js +114 -0
- package/dist/primitives.js.map +1 -0
- package/dist/review.d.ts +220 -0
- package/dist/review.d.ts.map +1 -0
- package/dist/review.js +91 -0
- package/dist/review.js.map +1 -0
- package/dist/route.d.ts +67 -0
- package/dist/route.d.ts.map +1 -0
- package/dist/route.js +33 -0
- package/dist/route.js.map +1 -0
- package/dist/spec.d.ts +561 -0
- package/dist/spec.d.ts.map +1 -0
- package/dist/spec.js +133 -0
- package/dist/spec.js.map +1 -0
- package/dist/surface-run-controls.d.ts +14 -0
- package/dist/surface-run-controls.d.ts.map +1 -0
- package/dist/surface-run-controls.js +142 -0
- package/dist/surface-run-controls.js.map +1 -0
- package/dist/task.d.ts +565 -0
- package/dist/task.d.ts.map +1 -0
- package/dist/task.js +186 -0
- package/dist/task.js.map +1 -0
- package/dist/telemetry.d.ts +660 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +140 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/thread.d.ts +348 -0
- package/dist/thread.d.ts.map +1 -0
- package/dist/thread.js +194 -0
- package/dist/thread.js.map +1 -0
- package/dist/workproduct.d.ts +31 -0
- package/dist/workproduct.d.ts.map +1 -0
- package/dist/workproduct.js +25 -0
- package/dist/workproduct.js.map +1 -0
- package/dist/workspace.d.ts +53 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +30 -0
- package/dist/workspace.js.map +1 -0
- package/generated/AgentCapabilityCatalog.schema.json +389 -0
- package/generated/ApplyEligibility.schema.json +44 -0
- package/generated/BudgetLease.schema.json +95 -0
- package/generated/BudgetObservation.schema.json +76 -0
- package/generated/ConformanceReport.schema.json +107 -0
- package/generated/ContextPack.schema.json +186 -0
- package/generated/ControlApplyCheckRequest.schema.json +54 -0
- package/generated/ControlApplyRequest.schema.json +74 -0
- package/generated/ControlHarnessListResponse.schema.json +498 -0
- package/generated/ControlHarnessModelsResponse.schema.json +78 -0
- package/generated/ControlHarnessSettingsPatch.schema.json +130 -0
- package/generated/ControlInteractionAnswerRequest.schema.json +48 -0
- package/generated/ControlInteractionAnswerResponse.schema.json +35 -0
- package/generated/ControlPendingInteraction.schema.json +129 -0
- package/generated/ControlQueuedRunInfo.schema.json +44 -0
- package/generated/ControlRunControlRequest.schema.json +61 -0
- package/generated/ControlRunControlResponse.schema.json +40 -0
- package/generated/ControlRunDecisionRequest.schema.json +98 -0
- package/generated/ControlRunDecisionResponse.schema.json +40 -0
- package/generated/ControlRunDetail.schema.json +1925 -0
- package/generated/ControlRunStartInfo.schema.json +33 -0
- package/generated/ControlRunStartRequest.schema.json +429 -0
- package/generated/ControlRunSummary.schema.json +666 -0
- package/generated/ControlSecretListResponse.schema.json +57 -0
- package/generated/ControlSettingsSnapshot.schema.json +281 -0
- package/generated/ControlSettingsUpdateRequest.schema.json +212 -0
- package/generated/ControlSetupJob.schema.json +148 -0
- package/generated/ControlSetupJobConfirmRequest.schema.json +18 -0
- package/generated/ControlSetupJobCreateRequest.schema.json +38 -0
- package/generated/ControlSetupJobEvent.schema.json +58 -0
- package/generated/ControlSetupJobListResponse.schema.json +162 -0
- package/generated/ControlSpecFreezeRequest.schema.json +83 -0
- package/generated/ControlSpecQuestionsRequest.schema.json +80 -0
- package/generated/ControlThread.schema.json +129 -0
- package/generated/ControlThreadApplyRequest.schema.json +32 -0
- package/generated/ControlThreadApplyResponse.schema.json +47 -0
- package/generated/ControlThreadCreateRequest.schema.json +107 -0
- package/generated/ControlThreadDetail.schema.json +515 -0
- package/generated/ControlThreadListResponse.schema.json +141 -0
- package/generated/ControlThreadUpdateRequest.schema.json +46 -0
- package/generated/ControlTrustListResponse.schema.json +59 -0
- package/generated/ControlTrustState.schema.json +45 -0
- package/generated/ControlTrustUpdateRequest.schema.json +26 -0
- package/generated/DecisionRecord.schema.json +232 -0
- package/generated/GateResult.schema.json +81 -0
- package/generated/GlobalConfig.schema.json +313 -0
- package/generated/HarnessEvent.schema.json +360 -0
- package/generated/HarnessManifest.schema.json +350 -0
- package/generated/HarnessModel.schema.json +41 -0
- package/generated/HarnessStatusDto.schema.json +486 -0
- package/generated/McpRunToolResult.schema.json +91 -0
- package/generated/OrchestrateContract.schema.json +93 -0
- package/generated/OrchestratePlan.schema.json +244 -0
- package/generated/OrchestratePlanProgress.schema.json +103 -0
- package/generated/ProjectConfig.schema.json +95 -0
- package/generated/ReviewFinding.schema.json +226 -0
- package/generated/RouteFallbackPayload.schema.json +79 -0
- package/generated/RouteProof.schema.json +111 -0
- package/generated/RunControl.schema.json +51 -0
- package/generated/RunEvent.schema.json +103 -0
- package/generated/RunFailure.schema.json +98 -0
- package/generated/RunTelemetry.schema.json +433 -0
- package/generated/SecretMetadata.schema.json +34 -0
- package/generated/Session.schema.json +80 -0
- package/generated/SessionReboundLineage.schema.json +73 -0
- package/generated/SpecPack.schema.json +372 -0
- package/generated/TaskContract.schema.json +501 -0
- package/generated/Thread.schema.json +176 -0
- package/generated/ThreadTurn.schema.json +172 -0
- package/generated/TrustConfig.schema.json +44 -0
- package/generated/WorkProduct.schema.json +60 -0
- package/generated/WorkspaceEnvelope.schema.json +94 -0
- package/package.json +43 -0
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/ControlThreadDetail",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"ControlThreadDetail": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"thread": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"id": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"minLength": 1,
|
|
13
|
+
"description": "Thread id."
|
|
14
|
+
},
|
|
15
|
+
"title": {
|
|
16
|
+
"type": [
|
|
17
|
+
"string",
|
|
18
|
+
"null"
|
|
19
|
+
],
|
|
20
|
+
"default": null,
|
|
21
|
+
"description": "Thread title; null until set."
|
|
22
|
+
},
|
|
23
|
+
"repoRoot": {
|
|
24
|
+
"type": [
|
|
25
|
+
"string",
|
|
26
|
+
"null"
|
|
27
|
+
],
|
|
28
|
+
"default": null,
|
|
29
|
+
"description": "Project root the thread is anchored to; null for a no-project thread."
|
|
30
|
+
},
|
|
31
|
+
"mode": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"enum": [
|
|
34
|
+
"ask",
|
|
35
|
+
"plan",
|
|
36
|
+
"audit",
|
|
37
|
+
"agent",
|
|
38
|
+
"orchestrate"
|
|
39
|
+
],
|
|
40
|
+
"description": "Default mode for new turns."
|
|
41
|
+
},
|
|
42
|
+
"workspaceMode": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"enum": [
|
|
45
|
+
"in_place",
|
|
46
|
+
"isolated"
|
|
47
|
+
],
|
|
48
|
+
"description": "Per-thread workspace mode: in_place mutates the live project tree directly (the default); isolated keeps a persistent git worktree per thread that apply merges into the project.",
|
|
49
|
+
"default": "in_place"
|
|
50
|
+
},
|
|
51
|
+
"authPreference": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"enum": [
|
|
54
|
+
"subscription",
|
|
55
|
+
"api_key",
|
|
56
|
+
"auto"
|
|
57
|
+
],
|
|
58
|
+
"description": "Preferred auth route: subscription (native/OAuth session), api_key (a stored API key), or auto (engine picks subscription-first with policy fallback). A preference, not a secret.",
|
|
59
|
+
"default": "auto"
|
|
60
|
+
},
|
|
61
|
+
"primaryHarness": {
|
|
62
|
+
"type": [
|
|
63
|
+
"string",
|
|
64
|
+
"null"
|
|
65
|
+
],
|
|
66
|
+
"default": null,
|
|
67
|
+
"description": "Sticky primary harness for the thread; null = engine routing."
|
|
68
|
+
},
|
|
69
|
+
"eligibleHarnesses": {
|
|
70
|
+
"type": "array",
|
|
71
|
+
"items": {
|
|
72
|
+
"type": "string"
|
|
73
|
+
},
|
|
74
|
+
"default": [],
|
|
75
|
+
"description": "Sticky eligible harness pool; empty = the engine auto-pools."
|
|
76
|
+
},
|
|
77
|
+
"state": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"enum": [
|
|
80
|
+
"active",
|
|
81
|
+
"closed"
|
|
82
|
+
],
|
|
83
|
+
"description": "Thread lifecycle state: active or explicitly closed (archived). Blocked is a live projection, not a thread state.",
|
|
84
|
+
"default": "active"
|
|
85
|
+
},
|
|
86
|
+
"runIds": {
|
|
87
|
+
"type": "array",
|
|
88
|
+
"items": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"minLength": 1,
|
|
91
|
+
"description": "Non-empty identifier string."
|
|
92
|
+
},
|
|
93
|
+
"default": [],
|
|
94
|
+
"description": "Ordered run lineage of the thread."
|
|
95
|
+
},
|
|
96
|
+
"headRunId": {
|
|
97
|
+
"anyOf": [
|
|
98
|
+
{
|
|
99
|
+
"$ref": "#/definitions/ControlThreadDetail/properties/thread/properties/runIds/items"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "null"
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
"description": "Most recent run of the thread; null before the first turn runs.",
|
|
106
|
+
"default": null
|
|
107
|
+
},
|
|
108
|
+
"needsHuman": {
|
|
109
|
+
"type": "boolean",
|
|
110
|
+
"default": false,
|
|
111
|
+
"description": "True when the head turn is blocked on a human decision (needs-me inbox)."
|
|
112
|
+
},
|
|
113
|
+
"createdAt": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"description": "When the thread was created."
|
|
116
|
+
},
|
|
117
|
+
"updatedAt": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"description": "When the thread was last updated."
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"required": [
|
|
123
|
+
"id",
|
|
124
|
+
"createdAt",
|
|
125
|
+
"updatedAt"
|
|
126
|
+
],
|
|
127
|
+
"additionalProperties": false,
|
|
128
|
+
"description": "Control-plane projection of a thread (camelCase view of the Thread artifact)."
|
|
129
|
+
},
|
|
130
|
+
"sessions": {
|
|
131
|
+
"type": "array",
|
|
132
|
+
"items": {
|
|
133
|
+
"type": "object",
|
|
134
|
+
"properties": {
|
|
135
|
+
"id": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"minLength": 1,
|
|
138
|
+
"description": "Session id."
|
|
139
|
+
},
|
|
140
|
+
"threadId": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"minLength": 1,
|
|
143
|
+
"description": "Thread the session belongs to."
|
|
144
|
+
},
|
|
145
|
+
"harnessId": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"minLength": 1,
|
|
148
|
+
"description": "Harness the session is bound to."
|
|
149
|
+
},
|
|
150
|
+
"nativeSessionId": {
|
|
151
|
+
"type": [
|
|
152
|
+
"string",
|
|
153
|
+
"null"
|
|
154
|
+
],
|
|
155
|
+
"default": null,
|
|
156
|
+
"description": "The vendor CLI session id; null when none exists."
|
|
157
|
+
},
|
|
158
|
+
"observedModel": {
|
|
159
|
+
"type": [
|
|
160
|
+
"string",
|
|
161
|
+
"null"
|
|
162
|
+
],
|
|
163
|
+
"default": null,
|
|
164
|
+
"description": "Model last observed on the session's stream."
|
|
165
|
+
},
|
|
166
|
+
"state": {
|
|
167
|
+
"type": "string",
|
|
168
|
+
"enum": [
|
|
169
|
+
"live",
|
|
170
|
+
"stale",
|
|
171
|
+
"rebound"
|
|
172
|
+
],
|
|
173
|
+
"default": "live",
|
|
174
|
+
"description": "Session cache state: live, stale, or rebound."
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"required": [
|
|
178
|
+
"id",
|
|
179
|
+
"threadId",
|
|
180
|
+
"harnessId"
|
|
181
|
+
],
|
|
182
|
+
"additionalProperties": false,
|
|
183
|
+
"description": "Control-plane projection of a vendor CLI session bound to a thread."
|
|
184
|
+
},
|
|
185
|
+
"default": [],
|
|
186
|
+
"description": "Vendor sessions bound to the thread."
|
|
187
|
+
},
|
|
188
|
+
"turns": {
|
|
189
|
+
"type": "array",
|
|
190
|
+
"items": {
|
|
191
|
+
"type": "object",
|
|
192
|
+
"properties": {
|
|
193
|
+
"id": {
|
|
194
|
+
"type": "string",
|
|
195
|
+
"minLength": 1,
|
|
196
|
+
"description": "Turn id."
|
|
197
|
+
},
|
|
198
|
+
"threadId": {
|
|
199
|
+
"type": "string",
|
|
200
|
+
"minLength": 1,
|
|
201
|
+
"description": "Thread the turn belongs to."
|
|
202
|
+
},
|
|
203
|
+
"runId": {
|
|
204
|
+
"anyOf": [
|
|
205
|
+
{
|
|
206
|
+
"$ref": "#/definitions/ControlThreadDetail/properties/thread/properties/runIds/items"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"type": "null"
|
|
210
|
+
}
|
|
211
|
+
],
|
|
212
|
+
"description": "Run backing this turn; null while unbound.",
|
|
213
|
+
"default": null
|
|
214
|
+
},
|
|
215
|
+
"parentRunId": {
|
|
216
|
+
"anyOf": [
|
|
217
|
+
{
|
|
218
|
+
"$ref": "#/definitions/ControlThreadDetail/properties/thread/properties/runIds/items"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"type": "null"
|
|
222
|
+
}
|
|
223
|
+
],
|
|
224
|
+
"description": "Run this turn follows up on, when any.",
|
|
225
|
+
"default": null
|
|
226
|
+
},
|
|
227
|
+
"planRunId": {
|
|
228
|
+
"anyOf": [
|
|
229
|
+
{
|
|
230
|
+
"$ref": "#/definitions/ControlThreadDetail/properties/thread/properties/runIds/items"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"type": "null"
|
|
234
|
+
}
|
|
235
|
+
],
|
|
236
|
+
"description": "Set when this turn implements an approved plan from an earlier run.",
|
|
237
|
+
"default": null
|
|
238
|
+
},
|
|
239
|
+
"kind": {
|
|
240
|
+
"type": "string",
|
|
241
|
+
"enum": [
|
|
242
|
+
"initial",
|
|
243
|
+
"followup",
|
|
244
|
+
"decision"
|
|
245
|
+
],
|
|
246
|
+
"description": "Kind of thread turn: the initial message, a followup, or an operator decision turn.",
|
|
247
|
+
"default": "followup"
|
|
248
|
+
},
|
|
249
|
+
"prompt": {
|
|
250
|
+
"type": "string",
|
|
251
|
+
"default": "",
|
|
252
|
+
"description": "The user's message for this turn."
|
|
253
|
+
},
|
|
254
|
+
"run": {
|
|
255
|
+
"anyOf": [
|
|
256
|
+
{
|
|
257
|
+
"type": "object",
|
|
258
|
+
"properties": {
|
|
259
|
+
"state": {
|
|
260
|
+
"type": "string",
|
|
261
|
+
"enum": [
|
|
262
|
+
"queued",
|
|
263
|
+
"running",
|
|
264
|
+
"blocked",
|
|
265
|
+
"succeeded",
|
|
266
|
+
"no_op",
|
|
267
|
+
"ungated",
|
|
268
|
+
"review_not_run",
|
|
269
|
+
"failed",
|
|
270
|
+
"cancelled",
|
|
271
|
+
"interrupted",
|
|
272
|
+
"exhausted",
|
|
273
|
+
"not_converged",
|
|
274
|
+
"stuck_no_progress"
|
|
275
|
+
],
|
|
276
|
+
"description": "Control-plane run state: queued/running while live; blocked awaiting a human; then a terminal outcome (succeeded, no_op, ungated, review_not_run, failed, cancelled, interrupted, exhausted, not_converged, stuck_no_progress)."
|
|
277
|
+
},
|
|
278
|
+
"mode": {
|
|
279
|
+
"$ref": "#/definitions/ControlThreadDetail/properties/thread/properties/mode",
|
|
280
|
+
"description": "Canonical run mode: ask, plan, and audit are read-only; agent writes; orchestrate is the autonomous coordinator intent. Engine strategies (race, attempts, swarm, create) are flags on a mode, not modes."
|
|
281
|
+
},
|
|
282
|
+
"strategy": {
|
|
283
|
+
"anyOf": [
|
|
284
|
+
{
|
|
285
|
+
"type": "string",
|
|
286
|
+
"enum": [
|
|
287
|
+
"race",
|
|
288
|
+
"attempts",
|
|
289
|
+
"until_clean",
|
|
290
|
+
"swarm",
|
|
291
|
+
"create"
|
|
292
|
+
]
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"type": "null"
|
|
296
|
+
}
|
|
297
|
+
],
|
|
298
|
+
"description": "Engine strategy flag on the mode, when any."
|
|
299
|
+
},
|
|
300
|
+
"n": {
|
|
301
|
+
"type": "integer",
|
|
302
|
+
"description": "Race width, when the run was a race."
|
|
303
|
+
},
|
|
304
|
+
"result": {
|
|
305
|
+
"type": "object",
|
|
306
|
+
"properties": {
|
|
307
|
+
"kind": {
|
|
308
|
+
"type": "string",
|
|
309
|
+
"enum": [
|
|
310
|
+
"patch",
|
|
311
|
+
"answer",
|
|
312
|
+
"plan",
|
|
313
|
+
"report",
|
|
314
|
+
"none"
|
|
315
|
+
],
|
|
316
|
+
"default": "none",
|
|
317
|
+
"description": "What the turn actually produced: a patch, an answer, a plan (no files changed), a report, or nothing."
|
|
318
|
+
},
|
|
319
|
+
"diffStat": {
|
|
320
|
+
"anyOf": [
|
|
321
|
+
{
|
|
322
|
+
"type": "object",
|
|
323
|
+
"properties": {
|
|
324
|
+
"files": {
|
|
325
|
+
"type": "integer",
|
|
326
|
+
"minimum": 0,
|
|
327
|
+
"description": "Files changed."
|
|
328
|
+
},
|
|
329
|
+
"additions": {
|
|
330
|
+
"type": "integer",
|
|
331
|
+
"minimum": 0,
|
|
332
|
+
"description": "Lines added."
|
|
333
|
+
},
|
|
334
|
+
"deletions": {
|
|
335
|
+
"type": "integer",
|
|
336
|
+
"minimum": 0,
|
|
337
|
+
"description": "Lines deleted."
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
"required": [
|
|
341
|
+
"files",
|
|
342
|
+
"additions",
|
|
343
|
+
"deletions"
|
|
344
|
+
],
|
|
345
|
+
"additionalProperties": false
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"type": "null"
|
|
349
|
+
}
|
|
350
|
+
],
|
|
351
|
+
"default": null,
|
|
352
|
+
"description": "Diff statistics; null unless a patch exists."
|
|
353
|
+
},
|
|
354
|
+
"blockers": {
|
|
355
|
+
"type": "integer",
|
|
356
|
+
"minimum": 0,
|
|
357
|
+
"default": 0,
|
|
358
|
+
"description": "Count of accepted blocking review findings."
|
|
359
|
+
},
|
|
360
|
+
"adopted": {
|
|
361
|
+
"type": [
|
|
362
|
+
"boolean",
|
|
363
|
+
"null"
|
|
364
|
+
],
|
|
365
|
+
"default": null,
|
|
366
|
+
"description": "True when the live in-place tree was mutated this turn (regardless of review); null when unknown."
|
|
367
|
+
},
|
|
368
|
+
"applyState": {
|
|
369
|
+
"type": "string",
|
|
370
|
+
"enum": [
|
|
371
|
+
"not_applied",
|
|
372
|
+
"applied",
|
|
373
|
+
"applied_review_blocked",
|
|
374
|
+
"reverted"
|
|
375
|
+
],
|
|
376
|
+
"description": "Honest application state of a run's changes: not_applied (no in-place mutation), applied (applied and review clean), applied_review_blocked (applied but review blocked/unconverged), or reverted.",
|
|
377
|
+
"default": "not_applied"
|
|
378
|
+
},
|
|
379
|
+
"preTurnSha": {
|
|
380
|
+
"type": [
|
|
381
|
+
"string",
|
|
382
|
+
"null"
|
|
383
|
+
],
|
|
384
|
+
"default": null,
|
|
385
|
+
"description": "Tree SHA before this turn mutated the in-place tree (revert restore target)."
|
|
386
|
+
},
|
|
387
|
+
"postTurnSha": {
|
|
388
|
+
"type": [
|
|
389
|
+
"string",
|
|
390
|
+
"null"
|
|
391
|
+
],
|
|
392
|
+
"default": null,
|
|
393
|
+
"description": "Tree SHA right after this turn's mutation; revert refuses if the working tree has diverged from this since."
|
|
394
|
+
},
|
|
395
|
+
"revertable": {
|
|
396
|
+
"type": "boolean",
|
|
397
|
+
"default": false,
|
|
398
|
+
"description": "Revert metadata is available so a Revert affordance may be offered; not a live-safe guarantee — the server re-checks tree divergence at revert time."
|
|
399
|
+
}
|
|
400
|
+
},
|
|
401
|
+
"additionalProperties": false,
|
|
402
|
+
"description": "Honest terminal outcome of a run (what the turn actually did), projected from the work product and answer artifacts.",
|
|
403
|
+
"default": {}
|
|
404
|
+
},
|
|
405
|
+
"spendUsd": {
|
|
406
|
+
"type": [
|
|
407
|
+
"number",
|
|
408
|
+
"null"
|
|
409
|
+
],
|
|
410
|
+
"description": "Settled spend in USD; null when unknown."
|
|
411
|
+
},
|
|
412
|
+
"outputReadyState": {
|
|
413
|
+
"type": "string",
|
|
414
|
+
"enum": [
|
|
415
|
+
"pending",
|
|
416
|
+
"finalizing",
|
|
417
|
+
"ready",
|
|
418
|
+
"diagnostic"
|
|
419
|
+
],
|
|
420
|
+
"description": "Whether a terminal run also has a loaded user-facing output artifact: pending (not yet), finalizing (being produced), ready (loaded), diagnostic (only diagnostic output).",
|
|
421
|
+
"default": "pending"
|
|
422
|
+
},
|
|
423
|
+
"waitingOnUser": {
|
|
424
|
+
"type": "boolean",
|
|
425
|
+
"default": false,
|
|
426
|
+
"description": "True while an interactive question is awaiting the user's answer."
|
|
427
|
+
},
|
|
428
|
+
"finishedAt": {
|
|
429
|
+
"type": [
|
|
430
|
+
"string",
|
|
431
|
+
"null"
|
|
432
|
+
],
|
|
433
|
+
"default": null,
|
|
434
|
+
"description": "When the run finished; null while live."
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
"required": [
|
|
438
|
+
"state"
|
|
439
|
+
],
|
|
440
|
+
"additionalProperties": false,
|
|
441
|
+
"description": "Compact run state embedded on a turn so a chat surface renders the whole conversation from one thread fetch."
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"type": "null"
|
|
445
|
+
}
|
|
446
|
+
],
|
|
447
|
+
"description": "Embedded run card (outcome/state); null while no run is bound.",
|
|
448
|
+
"default": null
|
|
449
|
+
},
|
|
450
|
+
"enqueueError": {
|
|
451
|
+
"anyOf": [
|
|
452
|
+
{
|
|
453
|
+
"type": "object",
|
|
454
|
+
"properties": {
|
|
455
|
+
"message": {
|
|
456
|
+
"type": "string",
|
|
457
|
+
"description": "Human-readable refusal message."
|
|
458
|
+
},
|
|
459
|
+
"code": {
|
|
460
|
+
"type": [
|
|
461
|
+
"string",
|
|
462
|
+
"null"
|
|
463
|
+
],
|
|
464
|
+
"default": null,
|
|
465
|
+
"description": "Machine-readable refusal code; remedies key on it, never on the message text."
|
|
466
|
+
},
|
|
467
|
+
"retryable": {
|
|
468
|
+
"type": "boolean",
|
|
469
|
+
"default": true,
|
|
470
|
+
"description": "False when no recorded job exists to replay — surfaces offer a new message instead of a doomed retry."
|
|
471
|
+
},
|
|
472
|
+
"failedAt": {
|
|
473
|
+
"type": "string",
|
|
474
|
+
"description": "When the enqueue failed."
|
|
475
|
+
}
|
|
476
|
+
},
|
|
477
|
+
"required": [
|
|
478
|
+
"message",
|
|
479
|
+
"failedAt"
|
|
480
|
+
],
|
|
481
|
+
"additionalProperties": false
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"type": "null"
|
|
485
|
+
}
|
|
486
|
+
],
|
|
487
|
+
"default": null,
|
|
488
|
+
"description": "Why this turn has no run (enqueue/preflight refusal); null once a run binds."
|
|
489
|
+
},
|
|
490
|
+
"createdAt": {
|
|
491
|
+
"type": "string",
|
|
492
|
+
"description": "When the turn was created."
|
|
493
|
+
}
|
|
494
|
+
},
|
|
495
|
+
"required": [
|
|
496
|
+
"id",
|
|
497
|
+
"threadId",
|
|
498
|
+
"createdAt"
|
|
499
|
+
],
|
|
500
|
+
"additionalProperties": false,
|
|
501
|
+
"description": "Control-plane projection of one thread turn with its embedded run card."
|
|
502
|
+
},
|
|
503
|
+
"default": [],
|
|
504
|
+
"description": "Turns of the conversation, in order."
|
|
505
|
+
}
|
|
506
|
+
},
|
|
507
|
+
"required": [
|
|
508
|
+
"thread"
|
|
509
|
+
],
|
|
510
|
+
"additionalProperties": false,
|
|
511
|
+
"description": "Full thread detail served by GET /threads/:id: the thread, its vendor sessions, and its turns."
|
|
512
|
+
}
|
|
513
|
+
},
|
|
514
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
515
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/ControlThreadListResponse",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"ControlThreadListResponse": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"threads": {
|
|
8
|
+
"type": "array",
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"id": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"minLength": 1,
|
|
15
|
+
"description": "Thread id."
|
|
16
|
+
},
|
|
17
|
+
"title": {
|
|
18
|
+
"type": [
|
|
19
|
+
"string",
|
|
20
|
+
"null"
|
|
21
|
+
],
|
|
22
|
+
"default": null,
|
|
23
|
+
"description": "Thread title; null until set."
|
|
24
|
+
},
|
|
25
|
+
"repoRoot": {
|
|
26
|
+
"type": [
|
|
27
|
+
"string",
|
|
28
|
+
"null"
|
|
29
|
+
],
|
|
30
|
+
"default": null,
|
|
31
|
+
"description": "Project root the thread is anchored to; null for a no-project thread."
|
|
32
|
+
},
|
|
33
|
+
"mode": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"enum": [
|
|
36
|
+
"ask",
|
|
37
|
+
"plan",
|
|
38
|
+
"audit",
|
|
39
|
+
"agent",
|
|
40
|
+
"orchestrate"
|
|
41
|
+
],
|
|
42
|
+
"description": "Default mode for new turns."
|
|
43
|
+
},
|
|
44
|
+
"workspaceMode": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"enum": [
|
|
47
|
+
"in_place",
|
|
48
|
+
"isolated"
|
|
49
|
+
],
|
|
50
|
+
"description": "Per-thread workspace mode: in_place mutates the live project tree directly (the default); isolated keeps a persistent git worktree per thread that apply merges into the project.",
|
|
51
|
+
"default": "in_place"
|
|
52
|
+
},
|
|
53
|
+
"authPreference": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"enum": [
|
|
56
|
+
"subscription",
|
|
57
|
+
"api_key",
|
|
58
|
+
"auto"
|
|
59
|
+
],
|
|
60
|
+
"description": "Preferred auth route: subscription (native/OAuth session), api_key (a stored API key), or auto (engine picks subscription-first with policy fallback). A preference, not a secret.",
|
|
61
|
+
"default": "auto"
|
|
62
|
+
},
|
|
63
|
+
"primaryHarness": {
|
|
64
|
+
"type": [
|
|
65
|
+
"string",
|
|
66
|
+
"null"
|
|
67
|
+
],
|
|
68
|
+
"default": null,
|
|
69
|
+
"description": "Sticky primary harness for the thread; null = engine routing."
|
|
70
|
+
},
|
|
71
|
+
"eligibleHarnesses": {
|
|
72
|
+
"type": "array",
|
|
73
|
+
"items": {
|
|
74
|
+
"type": "string"
|
|
75
|
+
},
|
|
76
|
+
"default": [],
|
|
77
|
+
"description": "Sticky eligible harness pool; empty = the engine auto-pools."
|
|
78
|
+
},
|
|
79
|
+
"state": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"enum": [
|
|
82
|
+
"active",
|
|
83
|
+
"closed"
|
|
84
|
+
],
|
|
85
|
+
"description": "Thread lifecycle state: active or explicitly closed (archived). Blocked is a live projection, not a thread state.",
|
|
86
|
+
"default": "active"
|
|
87
|
+
},
|
|
88
|
+
"runIds": {
|
|
89
|
+
"type": "array",
|
|
90
|
+
"items": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"minLength": 1,
|
|
93
|
+
"description": "Non-empty identifier string."
|
|
94
|
+
},
|
|
95
|
+
"default": [],
|
|
96
|
+
"description": "Ordered run lineage of the thread."
|
|
97
|
+
},
|
|
98
|
+
"headRunId": {
|
|
99
|
+
"anyOf": [
|
|
100
|
+
{
|
|
101
|
+
"$ref": "#/definitions/ControlThreadListResponse/properties/threads/items/properties/runIds/items"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"type": "null"
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"description": "Most recent run of the thread; null before the first turn runs.",
|
|
108
|
+
"default": null
|
|
109
|
+
},
|
|
110
|
+
"needsHuman": {
|
|
111
|
+
"type": "boolean",
|
|
112
|
+
"default": false,
|
|
113
|
+
"description": "True when the head turn is blocked on a human decision (needs-me inbox)."
|
|
114
|
+
},
|
|
115
|
+
"createdAt": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"description": "When the thread was created."
|
|
118
|
+
},
|
|
119
|
+
"updatedAt": {
|
|
120
|
+
"type": "string",
|
|
121
|
+
"description": "When the thread was last updated."
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"required": [
|
|
125
|
+
"id",
|
|
126
|
+
"createdAt",
|
|
127
|
+
"updatedAt"
|
|
128
|
+
],
|
|
129
|
+
"additionalProperties": false,
|
|
130
|
+
"description": "Control-plane projection of a thread (camelCase view of the Thread artifact)."
|
|
131
|
+
},
|
|
132
|
+
"default": [],
|
|
133
|
+
"description": "All threads."
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"additionalProperties": false,
|
|
137
|
+
"description": "Response for GET /threads."
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
141
|
+
}
|