@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,313 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/GlobalConfig",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"GlobalConfig": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"version": {
|
|
8
|
+
"type": "number",
|
|
9
|
+
"const": 1,
|
|
10
|
+
"default": 1,
|
|
11
|
+
"description": "Config format version."
|
|
12
|
+
},
|
|
13
|
+
"default_portfolio": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"enum": [
|
|
16
|
+
"daily-rich",
|
|
17
|
+
"balanced",
|
|
18
|
+
"cheapest",
|
|
19
|
+
"strongest",
|
|
20
|
+
"burn",
|
|
21
|
+
"subscription-first",
|
|
22
|
+
"api-overflow",
|
|
23
|
+
"conserve-claude",
|
|
24
|
+
"conserve-codex"
|
|
25
|
+
],
|
|
26
|
+
"description": "Budget portfolio used when a run does not specify one.",
|
|
27
|
+
"default": "subscription-first"
|
|
28
|
+
},
|
|
29
|
+
"interaction_timeout_ms": {
|
|
30
|
+
"type": "integer",
|
|
31
|
+
"exclusiveMinimum": 0,
|
|
32
|
+
"default": 900000,
|
|
33
|
+
"description": "How long an interactive run waits for the user's answer to a harness question before delivering a benign decline and letting the model continue."
|
|
34
|
+
},
|
|
35
|
+
"routing": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {
|
|
38
|
+
"default_policy": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"enum": [
|
|
41
|
+
"auto",
|
|
42
|
+
"primary"
|
|
43
|
+
],
|
|
44
|
+
"description": "Default routing policy: auto (engine picks) or primary (prefer the configured primary harness).",
|
|
45
|
+
"default": "auto"
|
|
46
|
+
},
|
|
47
|
+
"primary_harness": {
|
|
48
|
+
"type": [
|
|
49
|
+
"string",
|
|
50
|
+
"null"
|
|
51
|
+
],
|
|
52
|
+
"default": null,
|
|
53
|
+
"description": "Global default primary harness; null = engine decides."
|
|
54
|
+
},
|
|
55
|
+
"eligible_harnesses": {
|
|
56
|
+
"type": "array",
|
|
57
|
+
"items": {
|
|
58
|
+
"type": "string"
|
|
59
|
+
},
|
|
60
|
+
"default": [],
|
|
61
|
+
"description": "Harness pool eligible for routing/races; empty = all available."
|
|
62
|
+
},
|
|
63
|
+
"env_inheritance": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"enum": [
|
|
66
|
+
"mirror_native",
|
|
67
|
+
"clean"
|
|
68
|
+
],
|
|
69
|
+
"default": "mirror_native",
|
|
70
|
+
"description": "How the child harness env is built: mirror_native inherits the user's shell env; clean spawns from a minimal allowlist."
|
|
71
|
+
},
|
|
72
|
+
"auth_preference": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"enum": [
|
|
75
|
+
"subscription",
|
|
76
|
+
"api_key",
|
|
77
|
+
"auto"
|
|
78
|
+
],
|
|
79
|
+
"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.",
|
|
80
|
+
"default": "auto"
|
|
81
|
+
},
|
|
82
|
+
"quality_priors": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"additionalProperties": {
|
|
85
|
+
"type": "number",
|
|
86
|
+
"minimum": 0,
|
|
87
|
+
"maximum": 1
|
|
88
|
+
},
|
|
89
|
+
"propertyNames": {
|
|
90
|
+
"enum": [
|
|
91
|
+
"openai",
|
|
92
|
+
"anthropic",
|
|
93
|
+
"google",
|
|
94
|
+
"cursor",
|
|
95
|
+
"opencode",
|
|
96
|
+
"xai",
|
|
97
|
+
"local",
|
|
98
|
+
"unknown"
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
"default": {},
|
|
102
|
+
"description": "Operator-tunable per-provider-family quality priors (0..1) feeding the router; unset families ride the neutral 0.5."
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"additionalProperties": false,
|
|
106
|
+
"default": {},
|
|
107
|
+
"description": "Global routing defaults."
|
|
108
|
+
},
|
|
109
|
+
"budget": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"properties": {
|
|
112
|
+
"max_usd_per_run": {
|
|
113
|
+
"anyOf": [
|
|
114
|
+
{
|
|
115
|
+
"type": "number",
|
|
116
|
+
"minimum": 0
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "null"
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
"default": null,
|
|
123
|
+
"description": "Global USD cap per run; null = no cap."
|
|
124
|
+
},
|
|
125
|
+
"estimate_usd_floor": {
|
|
126
|
+
"type": "number",
|
|
127
|
+
"minimum": 0,
|
|
128
|
+
"default": 0.05,
|
|
129
|
+
"description": "Per-candidate USD reservation floor held against the run cap for every race-wave slot after the first, so a parallel wave cannot blow past the cap between settlements."
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"additionalProperties": false,
|
|
133
|
+
"default": {},
|
|
134
|
+
"description": "Global budget limits."
|
|
135
|
+
},
|
|
136
|
+
"runtime": {
|
|
137
|
+
"type": "object",
|
|
138
|
+
"properties": {
|
|
139
|
+
"transient_retry": {
|
|
140
|
+
"type": "object",
|
|
141
|
+
"properties": {
|
|
142
|
+
"max_retries": {
|
|
143
|
+
"type": "integer",
|
|
144
|
+
"minimum": 0,
|
|
145
|
+
"maximum": 5,
|
|
146
|
+
"default": 2,
|
|
147
|
+
"description": "Maximum retries for a transient failure."
|
|
148
|
+
},
|
|
149
|
+
"initial_delay_ms": {
|
|
150
|
+
"type": "integer",
|
|
151
|
+
"minimum": 0,
|
|
152
|
+
"default": 1000,
|
|
153
|
+
"description": "Initial retry delay in milliseconds."
|
|
154
|
+
},
|
|
155
|
+
"max_delay_ms": {
|
|
156
|
+
"type": "integer",
|
|
157
|
+
"minimum": 0,
|
|
158
|
+
"default": 10000,
|
|
159
|
+
"description": "Maximum retry delay in milliseconds."
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"additionalProperties": false,
|
|
163
|
+
"default": {},
|
|
164
|
+
"description": "Bounded retry policy for adapter-declared transient failures; user-global only."
|
|
165
|
+
},
|
|
166
|
+
"reviewer_timeout_ms": {
|
|
167
|
+
"type": "integer",
|
|
168
|
+
"exclusiveMinimum": 0,
|
|
169
|
+
"default": 600000,
|
|
170
|
+
"description": "Wall-clock timeout for a reviewer run, in milliseconds."
|
|
171
|
+
},
|
|
172
|
+
"harness_inactivity_timeout_ms": {
|
|
173
|
+
"type": "integer",
|
|
174
|
+
"exclusiveMinimum": 0,
|
|
175
|
+
"default": 1200000,
|
|
176
|
+
"description": "Inactivity watchdog for harness streams: no events for this window aborts the stream and fails the attempt with a typed timeout."
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
"additionalProperties": false,
|
|
180
|
+
"default": {},
|
|
181
|
+
"description": "Global runtime timeouts and retry policy."
|
|
182
|
+
},
|
|
183
|
+
"harnesses": {
|
|
184
|
+
"type": "object",
|
|
185
|
+
"additionalProperties": {
|
|
186
|
+
"type": "object",
|
|
187
|
+
"properties": {
|
|
188
|
+
"enabled": {
|
|
189
|
+
"type": "boolean",
|
|
190
|
+
"default": true,
|
|
191
|
+
"description": "Whether the harness participates in routing."
|
|
192
|
+
},
|
|
193
|
+
"default_model": {
|
|
194
|
+
"type": [
|
|
195
|
+
"string",
|
|
196
|
+
"null"
|
|
197
|
+
],
|
|
198
|
+
"default": null,
|
|
199
|
+
"description": "Per-harness default model; null = the harness's own default."
|
|
200
|
+
},
|
|
201
|
+
"effort": {
|
|
202
|
+
"anyOf": [
|
|
203
|
+
{
|
|
204
|
+
"type": "string",
|
|
205
|
+
"enum": [
|
|
206
|
+
"low",
|
|
207
|
+
"medium",
|
|
208
|
+
"high",
|
|
209
|
+
"xhigh",
|
|
210
|
+
"max"
|
|
211
|
+
],
|
|
212
|
+
"description": "Cross-harness reasoning-effort level, weakest to strongest; adapters declare the subset they support and a shared normalizer clamps requests onto the nearest supported level."
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"type": "null"
|
|
216
|
+
}
|
|
217
|
+
],
|
|
218
|
+
"description": "Default reasoning effort for the harness; null = harness default.",
|
|
219
|
+
"default": null
|
|
220
|
+
},
|
|
221
|
+
"max_turns": {
|
|
222
|
+
"anyOf": [
|
|
223
|
+
{
|
|
224
|
+
"type": "integer",
|
|
225
|
+
"exclusiveMinimum": 0
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"type": "null"
|
|
229
|
+
}
|
|
230
|
+
],
|
|
231
|
+
"default": null,
|
|
232
|
+
"description": "Default max agent turns; null = no limit."
|
|
233
|
+
},
|
|
234
|
+
"max_rounds": {
|
|
235
|
+
"anyOf": [
|
|
236
|
+
{
|
|
237
|
+
"type": "integer",
|
|
238
|
+
"exclusiveMinimum": 0
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"type": "null"
|
|
242
|
+
}
|
|
243
|
+
],
|
|
244
|
+
"default": null,
|
|
245
|
+
"description": "Default max convergence rounds; null = engine default."
|
|
246
|
+
},
|
|
247
|
+
"max_usd": {
|
|
248
|
+
"anyOf": [
|
|
249
|
+
{
|
|
250
|
+
"type": "number",
|
|
251
|
+
"minimum": 0
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"type": "null"
|
|
255
|
+
}
|
|
256
|
+
],
|
|
257
|
+
"default": null,
|
|
258
|
+
"description": "Per-harness USD cap; null = no cap."
|
|
259
|
+
},
|
|
260
|
+
"tools_allow": {
|
|
261
|
+
"type": "array",
|
|
262
|
+
"items": {
|
|
263
|
+
"type": "string"
|
|
264
|
+
},
|
|
265
|
+
"default": [],
|
|
266
|
+
"description": "Tool names allowed for this harness."
|
|
267
|
+
},
|
|
268
|
+
"tools_deny": {
|
|
269
|
+
"type": "array",
|
|
270
|
+
"items": {
|
|
271
|
+
"type": "string"
|
|
272
|
+
},
|
|
273
|
+
"default": [],
|
|
274
|
+
"description": "Tool names denied for this harness."
|
|
275
|
+
},
|
|
276
|
+
"fallback_model": {
|
|
277
|
+
"type": [
|
|
278
|
+
"string",
|
|
279
|
+
"null"
|
|
280
|
+
],
|
|
281
|
+
"default": null,
|
|
282
|
+
"description": "Model to fall back to on typed fallback signals; null = none."
|
|
283
|
+
},
|
|
284
|
+
"web": {
|
|
285
|
+
"type": "string",
|
|
286
|
+
"enum": [
|
|
287
|
+
"off",
|
|
288
|
+
"auto",
|
|
289
|
+
"cached",
|
|
290
|
+
"live"
|
|
291
|
+
],
|
|
292
|
+
"description": "Default web policy for this harness.",
|
|
293
|
+
"default": "auto"
|
|
294
|
+
},
|
|
295
|
+
"auth_preference": {
|
|
296
|
+
"$ref": "#/definitions/GlobalConfig/properties/routing/properties/auth_preference",
|
|
297
|
+
"default": "auto",
|
|
298
|
+
"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."
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
"additionalProperties": false,
|
|
302
|
+
"description": "Per-harness settings."
|
|
303
|
+
},
|
|
304
|
+
"default": {},
|
|
305
|
+
"description": "Per-harness settings keyed by harness id."
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
"additionalProperties": false,
|
|
309
|
+
"description": "Global user config (~/.claudexor/config.yaml): portfolio, routing, budget, runtime, and per-harness settings."
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
313
|
+
}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/HarnessEvent",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"HarnessEvent": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"type": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"enum": [
|
|
10
|
+
"started",
|
|
11
|
+
"thinking",
|
|
12
|
+
"message",
|
|
13
|
+
"tool_call",
|
|
14
|
+
"tool_result",
|
|
15
|
+
"interaction_requested",
|
|
16
|
+
"file_change",
|
|
17
|
+
"usage",
|
|
18
|
+
"error",
|
|
19
|
+
"completed"
|
|
20
|
+
],
|
|
21
|
+
"description": "Normalized event type covering session lifecycle, output, tool use, interaction, file changes, usage, and errors."
|
|
22
|
+
},
|
|
23
|
+
"session_id": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 1,
|
|
26
|
+
"description": "Session the event belongs to."
|
|
27
|
+
},
|
|
28
|
+
"ts": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Event timestamp."
|
|
31
|
+
},
|
|
32
|
+
"text": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Text content for thinking/message/error events."
|
|
35
|
+
},
|
|
36
|
+
"tool": {
|
|
37
|
+
"type": "object",
|
|
38
|
+
"properties": {
|
|
39
|
+
"name": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "Native tool name as the harness reports it."
|
|
42
|
+
},
|
|
43
|
+
"kind": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"enum": [
|
|
46
|
+
"web",
|
|
47
|
+
"file",
|
|
48
|
+
"command",
|
|
49
|
+
"mcp",
|
|
50
|
+
"search",
|
|
51
|
+
"other"
|
|
52
|
+
],
|
|
53
|
+
"description": "Coarse tool classification used for typed governance; adapters map native tool names to a kind.",
|
|
54
|
+
"default": "other"
|
|
55
|
+
},
|
|
56
|
+
"use_id": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"description": "Correlates a tool_result with its tool_call."
|
|
59
|
+
},
|
|
60
|
+
"target": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"description": "Redacted, bounded human-readable target (query/url/path/command)."
|
|
63
|
+
},
|
|
64
|
+
"status": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"enum": [
|
|
67
|
+
"ok",
|
|
68
|
+
"error",
|
|
69
|
+
"cancelled",
|
|
70
|
+
"denied"
|
|
71
|
+
],
|
|
72
|
+
"description": "Outcome of the tool use; required on tool_result events (a missing status is never treated as ok)."
|
|
73
|
+
},
|
|
74
|
+
"error_summary": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"description": "Redacted, bounded error detail for status=error results."
|
|
77
|
+
},
|
|
78
|
+
"content_summary": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"description": "Redacted, bounded content detail for results (success or failure)."
|
|
81
|
+
},
|
|
82
|
+
"exit_code": {
|
|
83
|
+
"type": "integer",
|
|
84
|
+
"description": "Process exit code for command tools, when known."
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"required": [
|
|
88
|
+
"name"
|
|
89
|
+
],
|
|
90
|
+
"additionalProperties": false,
|
|
91
|
+
"description": "Typed tool info; set on tool_call and tool_result events."
|
|
92
|
+
},
|
|
93
|
+
"interaction": {
|
|
94
|
+
"type": "object",
|
|
95
|
+
"properties": {
|
|
96
|
+
"interaction_id": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"minLength": 1,
|
|
99
|
+
"description": "Interaction id used to correlate the answer set."
|
|
100
|
+
},
|
|
101
|
+
"questions": {
|
|
102
|
+
"type": "array",
|
|
103
|
+
"items": {
|
|
104
|
+
"type": "object",
|
|
105
|
+
"properties": {
|
|
106
|
+
"id": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"minLength": 1,
|
|
109
|
+
"description": "Question id."
|
|
110
|
+
},
|
|
111
|
+
"question": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"description": "The question text."
|
|
114
|
+
},
|
|
115
|
+
"header": {
|
|
116
|
+
"type": [
|
|
117
|
+
"string",
|
|
118
|
+
"null"
|
|
119
|
+
],
|
|
120
|
+
"default": null,
|
|
121
|
+
"description": "Short chip/header text some harnesses attach to a question."
|
|
122
|
+
},
|
|
123
|
+
"options": {
|
|
124
|
+
"type": "array",
|
|
125
|
+
"items": {
|
|
126
|
+
"type": "object",
|
|
127
|
+
"properties": {
|
|
128
|
+
"label": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"description": "Option label shown to the user."
|
|
131
|
+
},
|
|
132
|
+
"description": {
|
|
133
|
+
"type": [
|
|
134
|
+
"string",
|
|
135
|
+
"null"
|
|
136
|
+
],
|
|
137
|
+
"default": null,
|
|
138
|
+
"description": "Optional longer explanation of the option."
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"required": [
|
|
142
|
+
"label"
|
|
143
|
+
],
|
|
144
|
+
"additionalProperties": false,
|
|
145
|
+
"description": "One multiple-choice option of an interactive question."
|
|
146
|
+
},
|
|
147
|
+
"default": [],
|
|
148
|
+
"description": "Selectable options; empty for free-text-only questions."
|
|
149
|
+
},
|
|
150
|
+
"multi_select": {
|
|
151
|
+
"type": "boolean",
|
|
152
|
+
"default": false,
|
|
153
|
+
"description": "Whether multiple options may be selected."
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
"required": [
|
|
157
|
+
"id",
|
|
158
|
+
"question"
|
|
159
|
+
],
|
|
160
|
+
"additionalProperties": false,
|
|
161
|
+
"description": "One question of an interactive user-input request."
|
|
162
|
+
},
|
|
163
|
+
"default": [],
|
|
164
|
+
"description": "Questions the harness wants answered."
|
|
165
|
+
},
|
|
166
|
+
"source_tool": {
|
|
167
|
+
"type": [
|
|
168
|
+
"string",
|
|
169
|
+
"null"
|
|
170
|
+
],
|
|
171
|
+
"default": null,
|
|
172
|
+
"description": "Native tool that raised the request (e.g. \"AskUserQuestion\")."
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"required": [
|
|
176
|
+
"interaction_id"
|
|
177
|
+
],
|
|
178
|
+
"additionalProperties": false,
|
|
179
|
+
"description": "Set on interaction_requested events."
|
|
180
|
+
},
|
|
181
|
+
"usage": {
|
|
182
|
+
"type": "object",
|
|
183
|
+
"properties": {
|
|
184
|
+
"input_tokens": {
|
|
185
|
+
"type": "integer",
|
|
186
|
+
"minimum": 0,
|
|
187
|
+
"description": "Input tokens consumed."
|
|
188
|
+
},
|
|
189
|
+
"output_tokens": {
|
|
190
|
+
"type": "integer",
|
|
191
|
+
"minimum": 0,
|
|
192
|
+
"description": "Output tokens produced."
|
|
193
|
+
},
|
|
194
|
+
"cached_input_tokens": {
|
|
195
|
+
"type": "integer",
|
|
196
|
+
"minimum": 0,
|
|
197
|
+
"description": "Input tokens served from cache."
|
|
198
|
+
},
|
|
199
|
+
"cost_usd": {
|
|
200
|
+
"type": "number",
|
|
201
|
+
"minimum": 0,
|
|
202
|
+
"description": "Cost in USD."
|
|
203
|
+
},
|
|
204
|
+
"estimated": {
|
|
205
|
+
"type": "boolean",
|
|
206
|
+
"description": "True when cost_usd is derived from token pricing (not natively reported)."
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
"additionalProperties": false,
|
|
210
|
+
"description": "Token/cost usage reported by the harness."
|
|
211
|
+
},
|
|
212
|
+
"observed_model": {
|
|
213
|
+
"type": "string",
|
|
214
|
+
"description": "Model the harness actually reported using."
|
|
215
|
+
},
|
|
216
|
+
"quota": {
|
|
217
|
+
"type": "object",
|
|
218
|
+
"properties": {
|
|
219
|
+
"used_percent": {
|
|
220
|
+
"type": "number",
|
|
221
|
+
"minimum": 0,
|
|
222
|
+
"maximum": 100,
|
|
223
|
+
"description": "Consumed share of the binding rate window, 0-100."
|
|
224
|
+
},
|
|
225
|
+
"resets_at": {
|
|
226
|
+
"type": [
|
|
227
|
+
"string",
|
|
228
|
+
"null"
|
|
229
|
+
],
|
|
230
|
+
"default": null,
|
|
231
|
+
"description": "Native reset moment for the window, when the CLI reports one."
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
"required": [
|
|
235
|
+
"used_percent"
|
|
236
|
+
],
|
|
237
|
+
"additionalProperties": false,
|
|
238
|
+
"description": "Typed quota/usage-window signal from the harness CLI's own native machine-readable surface, never scraped from prose."
|
|
239
|
+
},
|
|
240
|
+
"plan_progress": {
|
|
241
|
+
"type": "object",
|
|
242
|
+
"properties": {
|
|
243
|
+
"items": {
|
|
244
|
+
"type": "array",
|
|
245
|
+
"items": {
|
|
246
|
+
"type": "object",
|
|
247
|
+
"properties": {
|
|
248
|
+
"id": {
|
|
249
|
+
"type": "string",
|
|
250
|
+
"description": "Plan item id."
|
|
251
|
+
},
|
|
252
|
+
"title": {
|
|
253
|
+
"type": "string",
|
|
254
|
+
"description": "Plan item title."
|
|
255
|
+
},
|
|
256
|
+
"status": {
|
|
257
|
+
"type": "string",
|
|
258
|
+
"enum": [
|
|
259
|
+
"pending",
|
|
260
|
+
"in_progress",
|
|
261
|
+
"completed"
|
|
262
|
+
],
|
|
263
|
+
"description": "Progress state of the item."
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"required": [
|
|
267
|
+
"id",
|
|
268
|
+
"title",
|
|
269
|
+
"status"
|
|
270
|
+
],
|
|
271
|
+
"additionalProperties": false
|
|
272
|
+
},
|
|
273
|
+
"default": [],
|
|
274
|
+
"description": "Last-wins list of plan/todo items."
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
"additionalProperties": false,
|
|
278
|
+
"description": "Typed live plan/todo progress mapped from the harness's native plan tools, never parsed from prose."
|
|
279
|
+
},
|
|
280
|
+
"rate_limit": {
|
|
281
|
+
"type": "object",
|
|
282
|
+
"properties": {
|
|
283
|
+
"resets_at": {
|
|
284
|
+
"type": [
|
|
285
|
+
"string",
|
|
286
|
+
"null"
|
|
287
|
+
],
|
|
288
|
+
"default": null,
|
|
289
|
+
"description": "When the rate window resets, when reported."
|
|
290
|
+
},
|
|
291
|
+
"retry_delay_ms": {
|
|
292
|
+
"anyOf": [
|
|
293
|
+
{
|
|
294
|
+
"type": "integer",
|
|
295
|
+
"minimum": 0
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"type": "null"
|
|
299
|
+
}
|
|
300
|
+
],
|
|
301
|
+
"default": null,
|
|
302
|
+
"description": "Suggested retry delay in milliseconds, when reported."
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
"additionalProperties": false,
|
|
306
|
+
"description": "Typed rate-limit/quota signal set by the adapter when the native CLI reports a 429/quota/overload."
|
|
307
|
+
},
|
|
308
|
+
"transient": {
|
|
309
|
+
"type": "object",
|
|
310
|
+
"properties": {
|
|
311
|
+
"kind": {
|
|
312
|
+
"type": "string",
|
|
313
|
+
"enum": [
|
|
314
|
+
"network",
|
|
315
|
+
"stream_disconnect",
|
|
316
|
+
"service_unavailable",
|
|
317
|
+
"timeout",
|
|
318
|
+
"unknown"
|
|
319
|
+
],
|
|
320
|
+
"default": "unknown",
|
|
321
|
+
"description": "Kind of transient failure."
|
|
322
|
+
},
|
|
323
|
+
"retry_delay_ms": {
|
|
324
|
+
"anyOf": [
|
|
325
|
+
{
|
|
326
|
+
"type": "integer",
|
|
327
|
+
"minimum": 0
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"type": "null"
|
|
331
|
+
}
|
|
332
|
+
],
|
|
333
|
+
"default": null,
|
|
334
|
+
"description": "Suggested retry delay in milliseconds, when reported."
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
"additionalProperties": false,
|
|
338
|
+
"description": "Typed transient-failure signal set by the adapter from native CLI/API error shapes, consumed for bounded retry policy."
|
|
339
|
+
},
|
|
340
|
+
"error": {
|
|
341
|
+
"type": "string",
|
|
342
|
+
"description": "Error text for error events."
|
|
343
|
+
},
|
|
344
|
+
"payload": {
|
|
345
|
+
"type": "object",
|
|
346
|
+
"additionalProperties": {},
|
|
347
|
+
"description": "Raw adapter-specific payload for diagnostics."
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
"required": [
|
|
351
|
+
"type",
|
|
352
|
+
"session_id",
|
|
353
|
+
"ts"
|
|
354
|
+
],
|
|
355
|
+
"additionalProperties": false,
|
|
356
|
+
"description": "Normalized event emitted by every adapter (the SSOT of adapter output)."
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
360
|
+
}
|