@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,389 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/AgentCapabilityCatalog",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"AgentCapabilityCatalog": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"ok": {
|
|
8
|
+
"type": "boolean",
|
|
9
|
+
"const": true,
|
|
10
|
+
"description": "Envelope marker (matches the CLI JSON convention)."
|
|
11
|
+
},
|
|
12
|
+
"version": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "Claudexor version serving this catalog (compare with CLAUDEXOR_PLUGIN_VERSION to detect plugin skew)."
|
|
15
|
+
},
|
|
16
|
+
"generatedAt": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "ISO timestamp when the catalog was composed."
|
|
19
|
+
},
|
|
20
|
+
"harnesses": {
|
|
21
|
+
"type": "array",
|
|
22
|
+
"items": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"properties": {
|
|
25
|
+
"id": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "Harness id (codex, claude, cursor, opencode, raw-api, openrouter, ...)."
|
|
28
|
+
},
|
|
29
|
+
"enabled": {
|
|
30
|
+
"type": "boolean",
|
|
31
|
+
"description": "False when settings disable this harness (harnesses.<id>.enabled=false) — routing excludes it regardless of doctor status."
|
|
32
|
+
},
|
|
33
|
+
"displayName": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Human display name from the manifest."
|
|
36
|
+
},
|
|
37
|
+
"status": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"enum": [
|
|
40
|
+
"ok",
|
|
41
|
+
"degraded",
|
|
42
|
+
"unavailable"
|
|
43
|
+
],
|
|
44
|
+
"description": "Doctor verdict: ok | degraded | unavailable (doctor-backed, cached ~90s)."
|
|
45
|
+
},
|
|
46
|
+
"providerFamily": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"enum": [
|
|
49
|
+
"openai",
|
|
50
|
+
"anthropic",
|
|
51
|
+
"google",
|
|
52
|
+
"cursor",
|
|
53
|
+
"opencode",
|
|
54
|
+
"xai",
|
|
55
|
+
"local",
|
|
56
|
+
"unknown"
|
|
57
|
+
],
|
|
58
|
+
"description": "Vendor family the harness routes to."
|
|
59
|
+
},
|
|
60
|
+
"enabledIntents": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
},
|
|
65
|
+
"description": "Intents the gateway will route to this harness right now."
|
|
66
|
+
},
|
|
67
|
+
"disabledIntents": {
|
|
68
|
+
"type": "array",
|
|
69
|
+
"items": {
|
|
70
|
+
"type": "string"
|
|
71
|
+
},
|
|
72
|
+
"description": "Intents the doctor disabled (with reasons in `reasons`)."
|
|
73
|
+
},
|
|
74
|
+
"reasons": {
|
|
75
|
+
"type": "array",
|
|
76
|
+
"items": {
|
|
77
|
+
"type": "string"
|
|
78
|
+
},
|
|
79
|
+
"description": "Human-readable doctor/discovery reasons for degraded or unavailable status."
|
|
80
|
+
},
|
|
81
|
+
"configuredModel": {
|
|
82
|
+
"type": [
|
|
83
|
+
"string",
|
|
84
|
+
"null"
|
|
85
|
+
],
|
|
86
|
+
"description": "The user's configured per-harness default model, if any (null = engine default routing)."
|
|
87
|
+
},
|
|
88
|
+
"configuredModelValid": {
|
|
89
|
+
"type": [
|
|
90
|
+
"boolean",
|
|
91
|
+
"null"
|
|
92
|
+
],
|
|
93
|
+
"description": "Strict truth-source check of configuredModel (null when no model is configured)."
|
|
94
|
+
},
|
|
95
|
+
"models": {
|
|
96
|
+
"type": "object",
|
|
97
|
+
"properties": {
|
|
98
|
+
"source": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"enum": [
|
|
101
|
+
"api",
|
|
102
|
+
"manifest",
|
|
103
|
+
"none"
|
|
104
|
+
],
|
|
105
|
+
"description": "Where the model list comes from: a live vendor API enumeration, the adapter manifest's curated hints, or nothing (model overrides are refused for source=none)."
|
|
106
|
+
},
|
|
107
|
+
"count": {
|
|
108
|
+
"type": "integer",
|
|
109
|
+
"minimum": 0,
|
|
110
|
+
"description": "Number of enumerable models (GET /harnesses/:id/models has the full list)."
|
|
111
|
+
},
|
|
112
|
+
"verifiedAgainst": {
|
|
113
|
+
"type": [
|
|
114
|
+
"string",
|
|
115
|
+
"null"
|
|
116
|
+
],
|
|
117
|
+
"description": "Vendor CLI version the manifest hints were last verified against (null for api/none sources)."
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"required": [
|
|
121
|
+
"source",
|
|
122
|
+
"count",
|
|
123
|
+
"verifiedAgainst"
|
|
124
|
+
],
|
|
125
|
+
"additionalProperties": false,
|
|
126
|
+
"description": "Summary of a harness's model truth source (full list via the models endpoint/verb)."
|
|
127
|
+
},
|
|
128
|
+
"webPolicy": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"enum": [
|
|
131
|
+
"native",
|
|
132
|
+
"tools",
|
|
133
|
+
"uncontrolled",
|
|
134
|
+
"none"
|
|
135
|
+
],
|
|
136
|
+
"description": "How external web/search is controlled for this harness."
|
|
137
|
+
},
|
|
138
|
+
"imageInput": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"enum": [
|
|
141
|
+
"file_path",
|
|
142
|
+
"base64_stream",
|
|
143
|
+
"base64_inline",
|
|
144
|
+
"none"
|
|
145
|
+
],
|
|
146
|
+
"description": "Attachment/vision delivery mechanism the adapter supports."
|
|
147
|
+
},
|
|
148
|
+
"effortLevels": {
|
|
149
|
+
"type": "array",
|
|
150
|
+
"items": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"enum": [
|
|
153
|
+
"low",
|
|
154
|
+
"medium",
|
|
155
|
+
"high",
|
|
156
|
+
"xhigh",
|
|
157
|
+
"max"
|
|
158
|
+
],
|
|
159
|
+
"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."
|
|
160
|
+
},
|
|
161
|
+
"description": "Reasoning-effort ladder the adapter declares (normalized by the engine)."
|
|
162
|
+
},
|
|
163
|
+
"accessProfilesSupported": {
|
|
164
|
+
"type": "array",
|
|
165
|
+
"items": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"enum": [
|
|
168
|
+
"readonly",
|
|
169
|
+
"workspace_write",
|
|
170
|
+
"full",
|
|
171
|
+
"external_sandbox_full",
|
|
172
|
+
"inherit_native"
|
|
173
|
+
],
|
|
174
|
+
"description": "Filesystem/command access profile for a run: readonly (no writes), workspace_write (writes inside the workspace only), full (unrestricted; requires the per-repo trust allow), external_sandbox_full (full access inside an external sandbox), inherit_native (defer to the harness's own native sandbox settings)."
|
|
175
|
+
},
|
|
176
|
+
"description": "Access profiles the adapter can enforce."
|
|
177
|
+
},
|
|
178
|
+
"readonlyMechanism": {
|
|
179
|
+
"type": "string",
|
|
180
|
+
"enum": [
|
|
181
|
+
"fs_sandbox",
|
|
182
|
+
"permission_deny",
|
|
183
|
+
"tool_allowlist",
|
|
184
|
+
"none"
|
|
185
|
+
],
|
|
186
|
+
"description": "HOW read-only is enforced (fs_sandbox | permission_deny | tool_allowlist | none) — none means read-only intent is advisory for this harness."
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"required": [
|
|
190
|
+
"id",
|
|
191
|
+
"enabled",
|
|
192
|
+
"displayName",
|
|
193
|
+
"status",
|
|
194
|
+
"providerFamily",
|
|
195
|
+
"enabledIntents",
|
|
196
|
+
"disabledIntents",
|
|
197
|
+
"reasons",
|
|
198
|
+
"configuredModel",
|
|
199
|
+
"configuredModelValid",
|
|
200
|
+
"models",
|
|
201
|
+
"webPolicy",
|
|
202
|
+
"imageInput",
|
|
203
|
+
"effortLevels",
|
|
204
|
+
"accessProfilesSupported",
|
|
205
|
+
"readonlyMechanism"
|
|
206
|
+
],
|
|
207
|
+
"additionalProperties": false,
|
|
208
|
+
"description": "Per-harness live capability row (manifest + doctor + model truth)."
|
|
209
|
+
},
|
|
210
|
+
"description": "Live per-harness capabilities (doctor-backed)."
|
|
211
|
+
},
|
|
212
|
+
"availableHarnesses": {
|
|
213
|
+
"type": "array",
|
|
214
|
+
"items": {
|
|
215
|
+
"type": "string"
|
|
216
|
+
},
|
|
217
|
+
"description": "Convenience: ids with doctor status ok."
|
|
218
|
+
},
|
|
219
|
+
"modes": {
|
|
220
|
+
"type": "array",
|
|
221
|
+
"items": {
|
|
222
|
+
"type": "string",
|
|
223
|
+
"enum": [
|
|
224
|
+
"ask",
|
|
225
|
+
"plan",
|
|
226
|
+
"audit",
|
|
227
|
+
"agent",
|
|
228
|
+
"orchestrate"
|
|
229
|
+
],
|
|
230
|
+
"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."
|
|
231
|
+
},
|
|
232
|
+
"description": "Canonical run modes (strategies like --n/--until-clean/--swarm are flags, not modes)."
|
|
233
|
+
},
|
|
234
|
+
"runControlKeys": {
|
|
235
|
+
"type": "array",
|
|
236
|
+
"items": {
|
|
237
|
+
"type": "string"
|
|
238
|
+
},
|
|
239
|
+
"description": "Accepted POST /runs request keys (derived from the ControlRunStartRequest schema; the CLI/MCP/ACP surfaces project subsets of these)."
|
|
240
|
+
},
|
|
241
|
+
"mutability": {
|
|
242
|
+
"type": "object",
|
|
243
|
+
"properties": {
|
|
244
|
+
"readOnlyModes": {
|
|
245
|
+
"type": "array",
|
|
246
|
+
"items": {
|
|
247
|
+
"$ref": "#/definitions/AgentCapabilityCatalog/properties/modes/items"
|
|
248
|
+
},
|
|
249
|
+
"description": "Canonical modes that never mutate the project tree (ask/plan/audit; orchestrate in suggest autonomy is also read-only)."
|
|
250
|
+
},
|
|
251
|
+
"writeModes": {
|
|
252
|
+
"type": "array",
|
|
253
|
+
"items": {
|
|
254
|
+
"$ref": "#/definitions/AgentCapabilityCatalog/properties/modes/items"
|
|
255
|
+
},
|
|
256
|
+
"description": "Canonical modes that may mutate a tree (agent always; orchestrate only above suggest autonomy)."
|
|
257
|
+
},
|
|
258
|
+
"isolationKinds": {
|
|
259
|
+
"type": "array",
|
|
260
|
+
"items": {
|
|
261
|
+
"type": "string",
|
|
262
|
+
"enum": [
|
|
263
|
+
"envelope",
|
|
264
|
+
"live"
|
|
265
|
+
]
|
|
266
|
+
},
|
|
267
|
+
"description": "Run isolation: envelope = isolated worktree under .claudexor/workspaces (default), live = the project tree itself."
|
|
268
|
+
},
|
|
269
|
+
"workspaceModes": {
|
|
270
|
+
"type": "array",
|
|
271
|
+
"items": {
|
|
272
|
+
"type": "string",
|
|
273
|
+
"enum": [
|
|
274
|
+
"in_place",
|
|
275
|
+
"isolated"
|
|
276
|
+
],
|
|
277
|
+
"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."
|
|
278
|
+
},
|
|
279
|
+
"description": "Thread workspace modes (in_place | isolated)."
|
|
280
|
+
},
|
|
281
|
+
"accessProfiles": {
|
|
282
|
+
"type": "array",
|
|
283
|
+
"items": {
|
|
284
|
+
"$ref": "#/definitions/AgentCapabilityCatalog/properties/harnesses/items/properties/accessProfilesSupported/items"
|
|
285
|
+
},
|
|
286
|
+
"description": "Access vocabulary; `full` additionally requires the per-repo trust allow (claudexor trust --allow-full-access)."
|
|
287
|
+
},
|
|
288
|
+
"applyModes": {
|
|
289
|
+
"type": "array",
|
|
290
|
+
"items": {
|
|
291
|
+
"type": "string",
|
|
292
|
+
"enum": [
|
|
293
|
+
"apply",
|
|
294
|
+
"commit",
|
|
295
|
+
"branch",
|
|
296
|
+
"pr"
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
"description": "Delivery modes for applying a run's WorkProduct to the project."
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"required": [
|
|
303
|
+
"readOnlyModes",
|
|
304
|
+
"writeModes",
|
|
305
|
+
"isolationKinds",
|
|
306
|
+
"workspaceModes",
|
|
307
|
+
"accessProfiles",
|
|
308
|
+
"applyModes"
|
|
309
|
+
],
|
|
310
|
+
"additionalProperties": false,
|
|
311
|
+
"description": "The mutability matrix: every way a Claudexor run can (or cannot) touch a tree, from the schema's closed vocabularies."
|
|
312
|
+
},
|
|
313
|
+
"cliCommands": {
|
|
314
|
+
"type": "array",
|
|
315
|
+
"items": {
|
|
316
|
+
"type": "object",
|
|
317
|
+
"properties": {
|
|
318
|
+
"id": {
|
|
319
|
+
"type": "string",
|
|
320
|
+
"description": "CLI verb."
|
|
321
|
+
},
|
|
322
|
+
"mutability": {
|
|
323
|
+
"type": "string",
|
|
324
|
+
"enum": [
|
|
325
|
+
"read",
|
|
326
|
+
"write",
|
|
327
|
+
"delivery",
|
|
328
|
+
"ops"
|
|
329
|
+
],
|
|
330
|
+
"description": "read = never mutates the tree; write = produces tree changes (envelope or live); delivery = moves an existing WorkProduct into the tree/VCS; ops = local config/daemon plumbing."
|
|
331
|
+
},
|
|
332
|
+
"stability": {
|
|
333
|
+
"type": "string",
|
|
334
|
+
"enum": [
|
|
335
|
+
"stable",
|
|
336
|
+
"experimental"
|
|
337
|
+
],
|
|
338
|
+
"description": "Contract stability of the verb."
|
|
339
|
+
},
|
|
340
|
+
"recovery": {
|
|
341
|
+
"type": "boolean",
|
|
342
|
+
"description": "True for post-run recovery verbs (inspect/follow/apply/decision)."
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
"required": [
|
|
346
|
+
"id",
|
|
347
|
+
"mutability",
|
|
348
|
+
"stability",
|
|
349
|
+
"recovery"
|
|
350
|
+
],
|
|
351
|
+
"additionalProperties": false,
|
|
352
|
+
"description": "CLI verb projection from the command registry (same data `claudexor help --json` serves)."
|
|
353
|
+
},
|
|
354
|
+
"description": "CLI verbs with mutability/stability (full flag detail via `claudexor help --json`)."
|
|
355
|
+
},
|
|
356
|
+
"mcpTools": {
|
|
357
|
+
"type": "array",
|
|
358
|
+
"items": {
|
|
359
|
+
"type": "string"
|
|
360
|
+
},
|
|
361
|
+
"description": "MCP tool names `claudexor mcp serve` exposes."
|
|
362
|
+
},
|
|
363
|
+
"runApplyStates": {
|
|
364
|
+
"type": "array",
|
|
365
|
+
"items": {
|
|
366
|
+
"type": "string"
|
|
367
|
+
},
|
|
368
|
+
"description": "RunApplyState vocabulary an agent can encounter on run results (not_applied | applied | applied_review_blocked | reverted) — distinct from the ApplyEligibility verdict object on run details."
|
|
369
|
+
}
|
|
370
|
+
},
|
|
371
|
+
"required": [
|
|
372
|
+
"ok",
|
|
373
|
+
"version",
|
|
374
|
+
"generatedAt",
|
|
375
|
+
"harnesses",
|
|
376
|
+
"availableHarnesses",
|
|
377
|
+
"modes",
|
|
378
|
+
"runControlKeys",
|
|
379
|
+
"mutability",
|
|
380
|
+
"cliCommands",
|
|
381
|
+
"mcpTools",
|
|
382
|
+
"runApplyStates"
|
|
383
|
+
],
|
|
384
|
+
"additionalProperties": false,
|
|
385
|
+
"description": "Machine-readable capability catalog for external agents — derived, never hand-maintained."
|
|
386
|
+
}
|
|
387
|
+
},
|
|
388
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
389
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/ApplyEligibility",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"ApplyEligibility": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"eligible": {
|
|
8
|
+
"type": "boolean",
|
|
9
|
+
"description": "True when the apply gate would accept this run's patch right now."
|
|
10
|
+
},
|
|
11
|
+
"state": {
|
|
12
|
+
"type": [
|
|
13
|
+
"string",
|
|
14
|
+
"null"
|
|
15
|
+
],
|
|
16
|
+
"description": "The gate's state classification (e.g. blocked | ungated | review_not_run | no_op | ok) when known."
|
|
17
|
+
},
|
|
18
|
+
"reason": {
|
|
19
|
+
"type": [
|
|
20
|
+
"string",
|
|
21
|
+
"null"
|
|
22
|
+
],
|
|
23
|
+
"description": "The gate's refusal text when not eligible (null when eligible)."
|
|
24
|
+
},
|
|
25
|
+
"requiredAction": {
|
|
26
|
+
"type": [
|
|
27
|
+
"string",
|
|
28
|
+
"null"
|
|
29
|
+
],
|
|
30
|
+
"description": "Honest guidance for what actually unblocks apply (typed operator decision, add gates, re-run, or nothing to apply)."
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"required": [
|
|
34
|
+
"eligible",
|
|
35
|
+
"state",
|
|
36
|
+
"reason",
|
|
37
|
+
"requiredAction"
|
|
38
|
+
],
|
|
39
|
+
"additionalProperties": false,
|
|
40
|
+
"description": "Derived apply-gate verdict for a run's WorkProduct (single producer in the delivery gate)."
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
44
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/BudgetLease",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"BudgetLease": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"lease_id": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"minLength": 1,
|
|
10
|
+
"description": "Lease id."
|
|
11
|
+
},
|
|
12
|
+
"task_id": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"minLength": 1,
|
|
15
|
+
"description": "Task the lease belongs to."
|
|
16
|
+
},
|
|
17
|
+
"attempt_id": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"minLength": 1,
|
|
20
|
+
"description": "Attempt the lease covers, when scoped to one."
|
|
21
|
+
},
|
|
22
|
+
"intent": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"enum": [
|
|
25
|
+
"plan",
|
|
26
|
+
"spec",
|
|
27
|
+
"implement",
|
|
28
|
+
"create_from_scratch",
|
|
29
|
+
"repair",
|
|
30
|
+
"review",
|
|
31
|
+
"verify",
|
|
32
|
+
"synthesize",
|
|
33
|
+
"explain",
|
|
34
|
+
"audit",
|
|
35
|
+
"orchestrate"
|
|
36
|
+
],
|
|
37
|
+
"description": "Canonical intent a harness can be assigned for a session (roles are intents, never fixed classes)."
|
|
38
|
+
},
|
|
39
|
+
"harness_id": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"minLength": 1,
|
|
42
|
+
"description": "Harness the reservation is for."
|
|
43
|
+
},
|
|
44
|
+
"model_hint": {
|
|
45
|
+
"type": [
|
|
46
|
+
"string",
|
|
47
|
+
"null"
|
|
48
|
+
],
|
|
49
|
+
"default": null,
|
|
50
|
+
"description": "Requested model for the reserved call; null = harness default."
|
|
51
|
+
},
|
|
52
|
+
"max_usd": {
|
|
53
|
+
"type": [
|
|
54
|
+
"number",
|
|
55
|
+
"null"
|
|
56
|
+
],
|
|
57
|
+
"default": null,
|
|
58
|
+
"description": "USD cap reserved for the call; null = no cap."
|
|
59
|
+
},
|
|
60
|
+
"reason": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
},
|
|
65
|
+
"default": [],
|
|
66
|
+
"description": "Human-readable reasons the lease was created."
|
|
67
|
+
},
|
|
68
|
+
"created_at": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "When the lease was created."
|
|
71
|
+
},
|
|
72
|
+
"state": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"enum": [
|
|
75
|
+
"reserved",
|
|
76
|
+
"settled",
|
|
77
|
+
"cancelled"
|
|
78
|
+
],
|
|
79
|
+
"default": "reserved",
|
|
80
|
+
"description": "Lifecycle state: reserved before work, settled after, or cancelled."
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"required": [
|
|
84
|
+
"lease_id",
|
|
85
|
+
"task_id",
|
|
86
|
+
"intent",
|
|
87
|
+
"harness_id",
|
|
88
|
+
"created_at"
|
|
89
|
+
],
|
|
90
|
+
"additionalProperties": false,
|
|
91
|
+
"description": "A pre-call budget reservation, created before work and settled after; never post-hoc only."
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
95
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/BudgetObservation",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"BudgetObservation": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"harness_id": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"minLength": 1,
|
|
10
|
+
"description": "Harness the observation is about."
|
|
11
|
+
},
|
|
12
|
+
"ts": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "When the signal was observed."
|
|
15
|
+
},
|
|
16
|
+
"quality": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"enum": [
|
|
19
|
+
"exact",
|
|
20
|
+
"native",
|
|
21
|
+
"observed",
|
|
22
|
+
"manual",
|
|
23
|
+
"unknown"
|
|
24
|
+
],
|
|
25
|
+
"description": "Quality of a usage/quota signal a harness can emit, from exact vendor accounting through native CLI reporting, engine observation, manual entry, to unknown."
|
|
26
|
+
},
|
|
27
|
+
"kind": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"enum": [
|
|
30
|
+
"spend",
|
|
31
|
+
"rate_limited",
|
|
32
|
+
"used_percent",
|
|
33
|
+
"cooldown",
|
|
34
|
+
"manual"
|
|
35
|
+
],
|
|
36
|
+
"description": "What was observed: spend, a rate-limit hit, a used-percent reading, a cooldown, or a manual entry."
|
|
37
|
+
},
|
|
38
|
+
"usd": {
|
|
39
|
+
"type": "number",
|
|
40
|
+
"description": "Observed spend in USD, for spend observations."
|
|
41
|
+
},
|
|
42
|
+
"used_percent": {
|
|
43
|
+
"type": "number",
|
|
44
|
+
"description": "Consumed share of the rate window (0-100), for used_percent observations."
|
|
45
|
+
},
|
|
46
|
+
"resets_at": {
|
|
47
|
+
"type": [
|
|
48
|
+
"string",
|
|
49
|
+
"null"
|
|
50
|
+
],
|
|
51
|
+
"description": "When the rate window resets, when reported."
|
|
52
|
+
},
|
|
53
|
+
"cooldown_until": {
|
|
54
|
+
"type": [
|
|
55
|
+
"string",
|
|
56
|
+
"null"
|
|
57
|
+
],
|
|
58
|
+
"description": "Until when the harness is in cooldown, when set."
|
|
59
|
+
},
|
|
60
|
+
"detail": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"description": "Redacted human-readable detail."
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"required": [
|
|
66
|
+
"harness_id",
|
|
67
|
+
"ts",
|
|
68
|
+
"quality",
|
|
69
|
+
"kind"
|
|
70
|
+
],
|
|
71
|
+
"additionalProperties": false,
|
|
72
|
+
"description": "An observed quota/usage signal (rate-limit error, used-percent, reset hint) recorded in the budget ledger."
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
76
|
+
}
|