@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.
Files changed (175) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -0
  3. package/dist/agent-capabilities.d.ts +366 -0
  4. package/dist/agent-capabilities.d.ts.map +1 -0
  5. package/dist/agent-capabilities.js +125 -0
  6. package/dist/agent-capabilities.js.map +1 -0
  7. package/dist/apply-eligibility.d.ts +76 -0
  8. package/dist/apply-eligibility.d.ts.map +1 -0
  9. package/dist/apply-eligibility.js +37 -0
  10. package/dist/apply-eligibility.js.map +1 -0
  11. package/dist/attachment.d.ts +69 -0
  12. package/dist/attachment.d.ts.map +1 -0
  13. package/dist/attachment.js +54 -0
  14. package/dist/attachment.js.map +1 -0
  15. package/dist/budget.d.ts +75 -0
  16. package/dist/budget.d.ts.map +1 -0
  17. package/dist/budget.js +54 -0
  18. package/dist/budget.js.map +1 -0
  19. package/dist/config.d.ts +743 -0
  20. package/dist/config.d.ts.map +1 -0
  21. package/dist/config.js +194 -0
  22. package/dist/config.js.map +1 -0
  23. package/dist/context.d.ts +222 -0
  24. package/dist/context.d.ts.map +1 -0
  25. package/dist/context.js +70 -0
  26. package/dist/context.js.map +1 -0
  27. package/dist/control-run-detail.d.ts +1686 -0
  28. package/dist/control-run-detail.d.ts.map +1 -0
  29. package/dist/control-run-detail.js +107 -0
  30. package/dist/control-run-detail.js.map +1 -0
  31. package/dist/control-trust.d.ts +79 -0
  32. package/dist/control-trust.d.ts.map +1 -0
  33. package/dist/control-trust.js +39 -0
  34. package/dist/control-trust.js.map +1 -0
  35. package/dist/control.d.ts +4226 -0
  36. package/dist/control.d.ts.map +1 -0
  37. package/dist/control.js +1022 -0
  38. package/dist/control.js.map +1 -0
  39. package/dist/decision.d.ts +208 -0
  40. package/dist/decision.d.ts.map +1 -0
  41. package/dist/decision.js +98 -0
  42. package/dist/decision.js.map +1 -0
  43. package/dist/events.d.ts +70 -0
  44. package/dist/events.d.ts.map +1 -0
  45. package/dist/events.js +105 -0
  46. package/dist/events.js.map +1 -0
  47. package/dist/gate.d.ts +37 -0
  48. package/dist/gate.d.ts.map +1 -0
  49. package/dist/gate.js +20 -0
  50. package/dist/gate.js.map +1 -0
  51. package/dist/harness.d.ts +1418 -0
  52. package/dist/harness.d.ts.map +1 -0
  53. package/dist/harness.js +552 -0
  54. package/dist/harness.js.map +1 -0
  55. package/dist/index.d.ts +32 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +32 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/orchestrate.d.ts +428 -0
  60. package/dist/orchestrate.d.ts.map +1 -0
  61. package/dist/orchestrate.js +246 -0
  62. package/dist/orchestrate.js.map +1 -0
  63. package/dist/primitives.d.ts +71 -0
  64. package/dist/primitives.d.ts.map +1 -0
  65. package/dist/primitives.js +114 -0
  66. package/dist/primitives.js.map +1 -0
  67. package/dist/review.d.ts +220 -0
  68. package/dist/review.d.ts.map +1 -0
  69. package/dist/review.js +91 -0
  70. package/dist/review.js.map +1 -0
  71. package/dist/route.d.ts +67 -0
  72. package/dist/route.d.ts.map +1 -0
  73. package/dist/route.js +33 -0
  74. package/dist/route.js.map +1 -0
  75. package/dist/spec.d.ts +561 -0
  76. package/dist/spec.d.ts.map +1 -0
  77. package/dist/spec.js +133 -0
  78. package/dist/spec.js.map +1 -0
  79. package/dist/surface-run-controls.d.ts +14 -0
  80. package/dist/surface-run-controls.d.ts.map +1 -0
  81. package/dist/surface-run-controls.js +142 -0
  82. package/dist/surface-run-controls.js.map +1 -0
  83. package/dist/task.d.ts +565 -0
  84. package/dist/task.d.ts.map +1 -0
  85. package/dist/task.js +186 -0
  86. package/dist/task.js.map +1 -0
  87. package/dist/telemetry.d.ts +660 -0
  88. package/dist/telemetry.d.ts.map +1 -0
  89. package/dist/telemetry.js +140 -0
  90. package/dist/telemetry.js.map +1 -0
  91. package/dist/thread.d.ts +348 -0
  92. package/dist/thread.d.ts.map +1 -0
  93. package/dist/thread.js +194 -0
  94. package/dist/thread.js.map +1 -0
  95. package/dist/workproduct.d.ts +31 -0
  96. package/dist/workproduct.d.ts.map +1 -0
  97. package/dist/workproduct.js +25 -0
  98. package/dist/workproduct.js.map +1 -0
  99. package/dist/workspace.d.ts +53 -0
  100. package/dist/workspace.d.ts.map +1 -0
  101. package/dist/workspace.js +30 -0
  102. package/dist/workspace.js.map +1 -0
  103. package/generated/AgentCapabilityCatalog.schema.json +389 -0
  104. package/generated/ApplyEligibility.schema.json +44 -0
  105. package/generated/BudgetLease.schema.json +95 -0
  106. package/generated/BudgetObservation.schema.json +76 -0
  107. package/generated/ConformanceReport.schema.json +107 -0
  108. package/generated/ContextPack.schema.json +186 -0
  109. package/generated/ControlApplyCheckRequest.schema.json +54 -0
  110. package/generated/ControlApplyRequest.schema.json +74 -0
  111. package/generated/ControlHarnessListResponse.schema.json +498 -0
  112. package/generated/ControlHarnessModelsResponse.schema.json +78 -0
  113. package/generated/ControlHarnessSettingsPatch.schema.json +130 -0
  114. package/generated/ControlInteractionAnswerRequest.schema.json +48 -0
  115. package/generated/ControlInteractionAnswerResponse.schema.json +35 -0
  116. package/generated/ControlPendingInteraction.schema.json +129 -0
  117. package/generated/ControlQueuedRunInfo.schema.json +44 -0
  118. package/generated/ControlRunControlRequest.schema.json +61 -0
  119. package/generated/ControlRunControlResponse.schema.json +40 -0
  120. package/generated/ControlRunDecisionRequest.schema.json +98 -0
  121. package/generated/ControlRunDecisionResponse.schema.json +40 -0
  122. package/generated/ControlRunDetail.schema.json +1925 -0
  123. package/generated/ControlRunStartInfo.schema.json +33 -0
  124. package/generated/ControlRunStartRequest.schema.json +429 -0
  125. package/generated/ControlRunSummary.schema.json +666 -0
  126. package/generated/ControlSecretListResponse.schema.json +57 -0
  127. package/generated/ControlSettingsSnapshot.schema.json +281 -0
  128. package/generated/ControlSettingsUpdateRequest.schema.json +212 -0
  129. package/generated/ControlSetupJob.schema.json +148 -0
  130. package/generated/ControlSetupJobConfirmRequest.schema.json +18 -0
  131. package/generated/ControlSetupJobCreateRequest.schema.json +38 -0
  132. package/generated/ControlSetupJobEvent.schema.json +58 -0
  133. package/generated/ControlSetupJobListResponse.schema.json +162 -0
  134. package/generated/ControlSpecFreezeRequest.schema.json +83 -0
  135. package/generated/ControlSpecQuestionsRequest.schema.json +80 -0
  136. package/generated/ControlThread.schema.json +129 -0
  137. package/generated/ControlThreadApplyRequest.schema.json +32 -0
  138. package/generated/ControlThreadApplyResponse.schema.json +47 -0
  139. package/generated/ControlThreadCreateRequest.schema.json +107 -0
  140. package/generated/ControlThreadDetail.schema.json +515 -0
  141. package/generated/ControlThreadListResponse.schema.json +141 -0
  142. package/generated/ControlThreadUpdateRequest.schema.json +46 -0
  143. package/generated/ControlTrustListResponse.schema.json +59 -0
  144. package/generated/ControlTrustState.schema.json +45 -0
  145. package/generated/ControlTrustUpdateRequest.schema.json +26 -0
  146. package/generated/DecisionRecord.schema.json +232 -0
  147. package/generated/GateResult.schema.json +81 -0
  148. package/generated/GlobalConfig.schema.json +313 -0
  149. package/generated/HarnessEvent.schema.json +360 -0
  150. package/generated/HarnessManifest.schema.json +350 -0
  151. package/generated/HarnessModel.schema.json +41 -0
  152. package/generated/HarnessStatusDto.schema.json +486 -0
  153. package/generated/McpRunToolResult.schema.json +91 -0
  154. package/generated/OrchestrateContract.schema.json +93 -0
  155. package/generated/OrchestratePlan.schema.json +244 -0
  156. package/generated/OrchestratePlanProgress.schema.json +103 -0
  157. package/generated/ProjectConfig.schema.json +95 -0
  158. package/generated/ReviewFinding.schema.json +226 -0
  159. package/generated/RouteFallbackPayload.schema.json +79 -0
  160. package/generated/RouteProof.schema.json +111 -0
  161. package/generated/RunControl.schema.json +51 -0
  162. package/generated/RunEvent.schema.json +103 -0
  163. package/generated/RunFailure.schema.json +98 -0
  164. package/generated/RunTelemetry.schema.json +433 -0
  165. package/generated/SecretMetadata.schema.json +34 -0
  166. package/generated/Session.schema.json +80 -0
  167. package/generated/SessionReboundLineage.schema.json +73 -0
  168. package/generated/SpecPack.schema.json +372 -0
  169. package/generated/TaskContract.schema.json +501 -0
  170. package/generated/Thread.schema.json +176 -0
  171. package/generated/ThreadTurn.schema.json +172 -0
  172. package/generated/TrustConfig.schema.json +44 -0
  173. package/generated/WorkProduct.schema.json +60 -0
  174. package/generated/WorkspaceEnvelope.schema.json +94 -0
  175. package/package.json +43 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,552 @@
1
+ import { z } from "zod";
2
+ import { AccessProfile, AuthPreference, ExternalContextPolicy, Id, Intent, ProviderFamily } from "./primitives.js";
3
+ import { Attachment, ImageInputMode } from "./attachment.js";
4
+ /** Quality of a usage/quota signal a harness can emit. */
5
+ export const SignalQuality = z
6
+ .enum(["exact", "native", "observed", "manual", "unknown"])
7
+ .describe("Quality of a usage/quota signal a harness can emit, from exact vendor accounting through native CLI reporting, engine observation, manual entry, to unknown.");
8
+ /**
9
+ * Open cross-harness reasoning-effort vocabulary. Adapters declare the SUBSET
10
+ * they actually support via `HarnessCapabilities.effort_levels`; a shared
11
+ * normalizer maps any requested level onto the nearest supported one. New levels
12
+ * (e.g. a future `ultra`) extend this union without touching adapter logic.
13
+ */
14
+ export const EffortHint = z
15
+ .enum(["low", "medium", "high", "xhigh", "max"])
16
+ .describe("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.");
17
+ // Staged-field rule: only kinds a shipped adapter declares. New adapter
18
+ // categories (local servers, SDK embeddings, external bridges) add their
19
+ // kind together with the adapter that produces it.
20
+ export const HarnessKind = z
21
+ .enum(["local_cli", "remote_api", "fake"])
22
+ .describe("Kind of harness adapter: a local vendor CLI, a remote API, or a fake used for tests.");
23
+ /**
24
+ * How a harness can honor the external web policy:
25
+ * - `native`: web modes are a native config surface (codex web_search).
26
+ * - `tools`: web runs through permissioned tools the adapter can allow/deny (claude).
27
+ * - `uncontrolled`: the harness CAN reach the web but exposes no enforceable
28
+ * switch — incompatible with `off` (cannot be enforced) AND with
29
+ * `cached`/`live` (cannot produce required evidence). cursor/opencode today.
30
+ * - `none`: the harness has NO web access at all — trivially satisfies `off`,
31
+ * incompatible with web-required policies. raw-api/fake.
32
+ */
33
+ export const WebPolicySupport = z
34
+ .enum(["native", "tools", "uncontrolled", "none"])
35
+ .describe("How a harness can honor the external web policy: native (a native config surface), tools (permissioned tools the adapter can allow/deny), uncontrolled (can reach the web but exposes no enforceable switch), or none (no web access at all).");
36
+ /**
37
+ * Declared capabilities the ENGINE actually consumes (intent gating, routing,
38
+ * knob support, disclosure). Every field here has a reader; declared-but-
39
+ * never-read booleans (historically: spec/repair/shell/edit_files/
40
+ * apply_patch/structured_events/structured_output/resume/cancel/mcp/plugins/
41
+ * worktree_native) were deleted — a capability with no consumer is the same
42
+ * bug class as a staged field. Re-add one only WITH its consumer in the same
43
+ * change (as `json_schema_output` was, together with the structured-output
44
+ * gate that reads it).
45
+ */
46
+ export const HarnessCapabilities = z
47
+ .object({
48
+ plan: z.boolean().default(false).describe("The harness can produce plans (plan intent)."),
49
+ implement: z.boolean().default(false).describe("The harness can implement code changes (implement intent)."),
50
+ create_from_scratch: z.boolean().default(false).describe("The harness can scaffold new projects (create_from_scratch intent)."),
51
+ review: z.boolean().default(false).describe("The harness can act as a reviewer (review intent)."),
52
+ /** Consumed by the Phase-3 FinalVerifier routing (gating pushes `verify`). */
53
+ verify: z.boolean().default(false).describe("The harness can act as the FinalVerifier (verify intent)."),
54
+ synthesize: z.boolean().default(false).describe("The harness can synthesize across candidate outputs (synthesize intent)."),
55
+ read_files: z.boolean().default(false).describe("The harness can read project files."),
56
+ /**
57
+ * The adapter can inject a browser-automation MCP server (Playwright MCP) that
58
+ * this harness drives as `browser_*` tools (navigate / screenshot / snapshot).
59
+ * Gated on web policy: never injected under `external_context_policy:off`.
60
+ */
61
+ browser_tool: z
62
+ .boolean()
63
+ .default(false)
64
+ .describe("The adapter can inject a browser-automation MCP server (Playwright MCP) the harness drives as browser_* tools; never injected when web policy is off."),
65
+ web_policy: WebPolicySupport.default("none"),
66
+ /** Honors HarnessRunSpec.max_turns (e.g. claude --max-turns). */
67
+ max_turns: z.boolean().default(false).describe("Honors HarnessRunSpec.max_turns (e.g. a native --max-turns flag)."),
68
+ /** Honors tool_permission_policy allow/deny lists (e.g. claude --allowedTools). */
69
+ tool_lists: z.boolean().default(false).describe("Honors tool_permission_policy allow/deny lists (e.g. a native --allowedTools flag)."),
70
+ /**
71
+ * The adapter can surface interactive user questions (interaction_requested
72
+ * events) and deliver typed answers back into the live session. Claude's
73
+ * bidirectional stream-json control protocol today; honest false elsewhere.
74
+ */
75
+ interactive: z
76
+ .boolean()
77
+ .default(false)
78
+ .describe("The adapter can surface interactive user questions (interaction_requested events) and deliver typed answers back into the live session."),
79
+ /**
80
+ * The harness can play the autonomous `orchestrate` planner intent: plan
81
+ * multi-harness work over the typed tool belt. NOT a privileged role — routed
82
+ * like reviewers via doctor + capability + quota headroom.
83
+ */
84
+ orchestrate: z
85
+ .boolean()
86
+ .default(false)
87
+ .describe("The harness can play the autonomous orchestrate planner intent, planning multi-harness work over the typed tool belt; not a privileged role."),
88
+ /**
89
+ * The harness can constrain its FINAL message to a caller-supplied JSON
90
+ * Schema (codex `--output-schema <file>`, claude `--json-schema <json>`).
91
+ * Consumer: the engine passes HarnessRunSpec.output_schema only to routes
92
+ * declaring this; everything else keeps fenced-JSON parsing.
93
+ */
94
+ json_schema_output: z
95
+ .boolean()
96
+ .default(false)
97
+ .describe("The harness can constrain its final message to a caller-supplied JSON Schema (native structured-output flag)."),
98
+ /**
99
+ * Ordered (weakest→strongest) reasoning-effort levels this harness actually
100
+ * accepts. Empty = effort is not a tunable surface. The shared effort
101
+ * normalizer clamps any requested EffortHint onto the nearest member.
102
+ */
103
+ effort_levels: z
104
+ .array(EffortHint)
105
+ .default([])
106
+ .describe("Ordered (weakest to strongest) reasoning-effort levels this harness actually accepts; empty means effort is not a tunable surface."),
107
+ /**
108
+ * Known model ids/aliases this harness accepts — the manifest-declared model
109
+ * truth source used when the adapter has no live `models()` inventory.
110
+ * STRICT: an explicit model outside the active truth source is refused
111
+ * at settings-write, run preflight, and reviewer resolution; a harness with
112
+ * NO truth source (no `models()` and an empty list) refuses every explicit
113
+ * model. Data-driven like `effort_levels` — no model id is hardcoded in
114
+ * routing logic.
115
+ */
116
+ known_models: z
117
+ .array(z.string())
118
+ .default([])
119
+ .describe("Manifest-declared model ids/aliases this harness accepts, used as the model truth source when the adapter has no live inventory; explicit models outside the truth source are refused."),
120
+ /**
121
+ * Vendor CLI version this `known_models` hint set was last verified against
122
+ * (freshness note, surfaced with manifest-sourced model lists and checked by
123
+ * the model-hints-freshness gate). Null = never verified / not applicable.
124
+ */
125
+ known_models_verified_against: z
126
+ .string()
127
+ .nullable()
128
+ .default(null)
129
+ .describe("Vendor CLI version the known_models hints were last verified against; null = never verified / not applicable."),
130
+ })
131
+ .describe("Declared harness capabilities the engine actually consumes for intent gating, routing, knob support, and disclosure.");
132
+ export const AuthSourceKind = z
133
+ .enum(["native_session", "api_key_env", "api_key_flag", "provider_auth_file", "none"])
134
+ .describe("Where a harness's credentials can come from: a native login session, an API key via env var or CLI flag, a provider auth file, or none.");
135
+ export const CredentialTransportKind = z
136
+ .enum(["config_file", "env_var", "oauth_token_env", "os_keychain", "http_header", "none"])
137
+ .describe("Mechanism that carries a credential to the harness process (config file, env var, OAuth token env, OS keychain, HTTP header, or none).");
138
+ export const CredentialRelocation = z
139
+ .enum(["HOME", "CONFIG_DIR", "ENV", "none"])
140
+ .describe("Which relocation lever moves the credential into a scoped environment (HOME, a config dir override, env injection, or none).");
141
+ export const CredentialTransport = z
142
+ .object({
143
+ source: AuthSourceKind,
144
+ kind: CredentialTransportKind,
145
+ relocatable_by: z.array(CredentialRelocation).default([]).describe("Relocation levers that can move this transport into a scoped environment."),
146
+ })
147
+ .describe("How a credential from one auth source physically reaches the harness process.");
148
+ export const AuthCapabilities = z
149
+ .object({
150
+ supported_sources: z.array(AuthSourceKind).default([]).describe("Auth sources this harness supports."),
151
+ preferred_source: AuthSourceKind.nullable().default(null).describe("Auth source the adapter prefers; null when it has no preference."),
152
+ credential_transports: z.array(CredentialTransport).default([]).describe("Declared credential transports per auth source."),
153
+ })
154
+ .default({})
155
+ .describe("Declared auth routing facts for a harness.");
156
+ export const ContainmentKind = z
157
+ .enum(["env_or_file_injection", "scoped_home_keychain_bridge", "host_user_context", "process_sandbox", "container"])
158
+ .describe("Isolation containment level an adapter supports for run environments, from env/file injection through scoped-HOME keychain bridging to process sandboxes and containers.");
159
+ export const IsolationCapabilities = z
160
+ .object({
161
+ supported_containment: z
162
+ .array(ContainmentKind)
163
+ .default(["env_or_file_injection"])
164
+ .describe("Containment mechanisms the adapter can run under."),
165
+ })
166
+ .default({})
167
+ .describe("Declared isolation containment facts for a harness.");
168
+ export const ReadonlyMechanism = z
169
+ .enum(["fs_sandbox", "permission_deny", "tool_allowlist", "none"])
170
+ .describe("How read-only access is enforced for a harness: a filesystem sandbox, permission denial, a tool allowlist, or none (read-only intent is advisory).");
171
+ export const AccessControlCapabilities = z
172
+ .object({
173
+ readonly_mechanism: ReadonlyMechanism.default("none"),
174
+ })
175
+ .default({})
176
+ .describe("Declared access-control facts for a harness.");
177
+ /**
178
+ * Structured per-harness facts the engine consumes: auth routing (scoped-home
179
+ * keychain bridging), isolation containment, honest readonly mechanism, and
180
+ * vision input. The v0.15 triage deleted the never-consumed subtrees
181
+ * (execution_surfaces, session, output, probe/env metadata, access booleans):
182
+ * a declared capability with no consumer is a staged field. Re-add a branch
183
+ * only WITH its consumer in the same change.
184
+ */
185
+ export const HarnessCapabilityProfile = z
186
+ .object({
187
+ auth: AuthCapabilities,
188
+ access_control: AccessControlCapabilities,
189
+ isolation: IsolationCapabilities,
190
+ /** How the harness accepts image input (drives honest attach gating + the
191
+ * per-adapter serializer). `none` = no vision input on this route. */
192
+ image_input: ImageInputMode.default("none"),
193
+ })
194
+ .default({})
195
+ .describe("Structured per-harness facts the engine consumes: auth routing, isolation containment, readonly mechanism, and vision input.");
196
+ /**
197
+ * One enumerable model offered by a harness. Deliberately small: only the
198
+ * fields a real enumeration source (an OpenAI-compatible `GET /v1/models`)
199
+ * can honestly populate. `label`/`context_window` are nullable because the
200
+ * raw `{data:[{id}]}` list rarely carries them.
201
+ */
202
+ export const HarnessModel = z
203
+ .object({
204
+ id: z.string().describe("Model id as the vendor enumerates it."),
205
+ label: z.string().nullable().default(null).describe("Human-readable model label; null when the enumeration source has none."),
206
+ context_window: z
207
+ .number()
208
+ .int()
209
+ .positive()
210
+ .nullable()
211
+ .default(null)
212
+ .describe("Context window in tokens; null when the enumeration source does not report it."),
213
+ })
214
+ .describe("One enumerable model offered by a harness, limited to fields a real enumeration source can honestly populate.");
215
+ export const HarnessManifest = z
216
+ .object({
217
+ id: Id.describe("Harness id (codex, claude, cursor, opencode, raw-api, ...)."),
218
+ display_name: z.string().describe("Human display name of the harness."),
219
+ kind: HarnessKind,
220
+ version: z.string().optional().describe("Vendor CLI/API version, when discovered."),
221
+ adapter_version: z.string().optional().describe("Version of the Claudexor adapter itself."),
222
+ provider_family: ProviderFamily.default("unknown"),
223
+ capability_profile: HarnessCapabilityProfile,
224
+ /** Compatibility convenience fields. New routing/UI should prefer capability_profile. */
225
+ capabilities: HarnessCapabilities,
226
+ auth_modes: z
227
+ .array(z.enum(["local_session", "api_key", "none"]))
228
+ .default([])
229
+ .describe("Auth modes the harness supports (availability only, not readiness)."),
230
+ access_profiles_supported: z.array(AccessProfile).default([]).describe("Access profiles the adapter can enforce."),
231
+ })
232
+ .describe("Static manifest an adapter declares for its harness: identity, kind, capabilities, auth modes, and access profiles.");
233
+ /** Result of a conformance probe for one capability check. */
234
+ export const ConformanceCheck = z
235
+ .object({
236
+ id: z.string().describe("Check id."),
237
+ status: z.enum(["pass", "fail", "skip"]).describe("Outcome of the check: pass, fail, or skip."),
238
+ detail: z.string().optional().describe("Human-readable detail for the outcome."),
239
+ duration_ms: z.number().int().nonnegative().optional().describe("How long the check took, in milliseconds."),
240
+ })
241
+ .describe("Result of a conformance probe for one capability check.");
242
+ export const AdapterStatus = z
243
+ .enum(["ok", "degraded", "unavailable"])
244
+ .describe("Doctor verdict for a harness: ok (usable), degraded (usable with limitations), or unavailable.");
245
+ export const ConformanceReport = z
246
+ .object({
247
+ harness_id: Id.describe("Harness the report is about."),
248
+ status: AdapterStatus,
249
+ checks: z.array(ConformanceCheck).default([]).describe("Individual probe results."),
250
+ enabled_intents: z.array(Intent).default([]).describe("Intents the gateway will route to this harness."),
251
+ disabled_intents: z.array(Intent).default([]).describe("Intents the doctor disabled."),
252
+ reasons: z.array(z.string()).default([]).describe("Human-readable reasons for degraded/unavailable status or disabled intents."),
253
+ })
254
+ .describe("Doctor/conformance report for one harness: status, probe results, and the intents enabled or disabled by it.");
255
+ /**
256
+ * Per-run browser-tool wiring. Present (non-null) on a HarnessRunSpec ONLY when
257
+ * the orchestrator has decided this run gets the agent-driven browser: the run
258
+ * opted in, the harness has the `browser_tool` capability, AND web policy is not
259
+ * `off`. The adapter injects Playwright MCP accordingly.
260
+ */
261
+ export const BrowserToolSpec = z
262
+ .object({
263
+ /**
264
+ * `--output-dir` for the browser MCP. Captures the per-navigation accessibility
265
+ * SNAPSHOTS (Playwright MCP writes screenshot image files to the agent's cwd,
266
+ * not here) into the run artifact tree as a browsing record the Canvas gallery
267
+ * lists. The live view is the headed window itself. Null = MCP's own temp dir.
268
+ */
269
+ output_dir: z
270
+ .string()
271
+ .nullable()
272
+ .default(null)
273
+ .describe("Output directory for the browser MCP's per-navigation accessibility snapshots, kept in the run artifact tree; null = the MCP's own temp dir."),
274
+ /**
275
+ * Run the browser headless (no visible window). Default false — a headed
276
+ * Chromium so the user can watch the agent browse directly (the chosen mirror:
277
+ * a real visible window, not an embedded screencast).
278
+ */
279
+ headless: z
280
+ .boolean()
281
+ .default(false)
282
+ .describe("Run the browser headless (no visible window); default false so the user can watch the agent browse."),
283
+ })
284
+ .describe("Per-run browser-tool wiring, present only when the orchestrator decided this run gets the agent-driven browser (opt-in, browser_tool capability, web policy not off).");
285
+ /** Spec passed to a harness adapter's run(). */
286
+ export const HarnessRunSpec = z
287
+ .object({
288
+ session_id: Id.describe("Session id this run belongs to."),
289
+ intent: Intent,
290
+ prompt: z.string().describe("Prompt text delivered to the harness."),
291
+ cwd: z.string().describe("Working directory the harness process runs in."),
292
+ access: AccessProfile.default("workspace_write"),
293
+ external_context_policy: ExternalContextPolicy.default("auto"),
294
+ tool_permission_policy: z
295
+ .object({
296
+ web: ExternalContextPolicy.default("auto").describe("Web policy forwarded to tool permissioning."),
297
+ allow: z.array(z.string()).default([]).describe("Tool names explicitly allowed."),
298
+ deny: z.array(z.string()).default([]).describe("Tool names explicitly denied."),
299
+ })
300
+ .default({ web: "auto", allow: [], deny: [] })
301
+ .describe("Tool allow/deny policy for harnesses that support tool lists."),
302
+ model_hint: z.string().nullable().default(null).describe("Requested model id; null = the harness's default."),
303
+ effort_hint: EffortHint.nullable().default(null).describe("Requested reasoning effort; null = the harness's default."),
304
+ max_usd: z.number().nullable().default(null).describe("USD spend cap for the attempt; null = no cap."),
305
+ max_turns: z.number().int().nullable().default(null).describe("Maximum agent turns, for harnesses that honor it; null = no limit."),
306
+ /**
307
+ * Which auth route the attempt should use. `auto` = subscription-first with
308
+ * api_key fallback; adapters seed native session vs inject the key accordingly.
309
+ */
310
+ auth_preference: AuthPreference.default("auto"),
311
+ /**
312
+ * Native CLI session id to resume into (codex `exec resume`, claude `--resume`,
313
+ * cursor `agent --resume`, opencode `run --session`). Null starts a fresh session.
314
+ */
315
+ resume_session_id: z
316
+ .string()
317
+ .nullable()
318
+ .default(null)
319
+ .describe("Native CLI session id to resume into; null starts a fresh session."),
320
+ /**
321
+ * How the child harness env is composed. `mirror_native` inherits the parent
322
+ * env (minus provider-secret scrub); `clean` spawns from a minimal allowlist
323
+ * (agent env isolation). Threaded from routing.env_inheritance at spawn.
324
+ */
325
+ env_inheritance: z
326
+ .enum(["mirror_native", "clean"])
327
+ .default("mirror_native")
328
+ .describe("How the child harness env is composed: mirror_native inherits the parent env (minus provider-secret scrub); clean spawns from a minimal allowlist."),
329
+ env: z.record(z.string(), z.string()).default({}).describe("Extra environment variables injected into the harness process."),
330
+ /**
331
+ * User/agent attachments (images, files) forwarded to the harness in its
332
+ * native shape per `capability_profile.image_input`. Empty for non-vision
333
+ * harnesses — the orchestrator drops + discloses rather than silently ignore.
334
+ */
335
+ attachments: z
336
+ .array(Attachment)
337
+ .default([])
338
+ .describe("Attachments forwarded to the harness in its native shape; empty for non-vision harnesses (dropped and disclosed)."),
339
+ /**
340
+ * Agent-driven browser wiring. Null = no browser tool this run (the common
341
+ * case). Set by the orchestrator only when the run opted in, the harness has
342
+ * `browser_tool`, and web policy is not `off`.
343
+ */
344
+ browser: BrowserToolSpec.nullable()
345
+ .default(null)
346
+ .describe("Agent-driven browser wiring; null = no browser tool this run (the common case)."),
347
+ /**
348
+ * JSON Schema constraining the harness's FINAL message. Producers:
349
+ * the orchestrate planner (OrchestratePlan schema) and spec-questions
350
+ * grounding (InterviewQuestion block). Passed only to routes whose manifest
351
+ * declares `json_schema_output`; consumers add the native CLI flag.
352
+ */
353
+ output_schema: z
354
+ .unknown()
355
+ .optional()
356
+ .describe("JSON Schema constraining the harness's final message; passed only to routes declaring json_schema_output."),
357
+ extra: z.record(z.string(), z.unknown()).default({}).describe("Adapter-specific extras (no cross-adapter meaning)."),
358
+ })
359
+ .describe("Spec passed to a harness adapter's run(): prompt, working directory, access, policies, routing hints, and wiring.");
360
+ /**
361
+ * Coarse tool classification used for typed governance (no tool-name string
362
+ * matching outside adapters). Adapters map native tool names to a kind.
363
+ */
364
+ export const ToolKind = z
365
+ .enum(["web", "file", "command", "mcp", "search", "other"])
366
+ .describe("Coarse tool classification used for typed governance; adapters map native tool names to a kind.");
367
+ /**
368
+ * Typed tool reference attached to `tool_call` / `tool_result` events.
369
+ * `status` is REQUIRED on `tool_result` events (adapter conformance enforces it);
370
+ * a missing status on a result is treated as a dropped/diagnostic event, never as ok.
371
+ */
372
+ export const ToolRef = z
373
+ .object({
374
+ name: z.string().describe("Native tool name as the harness reports it."),
375
+ kind: ToolKind.default("other"),
376
+ use_id: z.string().optional().describe("Correlates a tool_result with its tool_call."),
377
+ /** Redacted, bounded human-readable target (query/url/path/command). */
378
+ target: z.string().optional().describe("Redacted, bounded human-readable target (query/url/path/command)."),
379
+ status: z
380
+ .enum(["ok", "error", "cancelled", "denied"])
381
+ .optional()
382
+ .describe("Outcome of the tool use; required on tool_result events (a missing status is never treated as ok)."),
383
+ /** Redacted, bounded error detail for status=error results. */
384
+ error_summary: z.string().optional().describe("Redacted, bounded error detail for status=error results."),
385
+ /** Redacted, bounded content detail for results (success or failure). */
386
+ content_summary: z.string().optional().describe("Redacted, bounded content detail for results (success or failure)."),
387
+ exit_code: z.number().int().optional().describe("Process exit code for command tools, when known."),
388
+ })
389
+ .describe("Typed tool reference attached to tool_call/tool_result events.");
390
+ /**
391
+ * One multiple-choice option of an interactive question (AskUserQuestion-style).
392
+ */
393
+ export const InteractionOption = z
394
+ .object({
395
+ label: z.string().describe("Option label shown to the user."),
396
+ description: z.string().nullable().default(null).describe("Optional longer explanation of the option."),
397
+ })
398
+ .describe("One multiple-choice option of an interactive question.");
399
+ export const InteractionQuestion = z
400
+ .object({
401
+ id: Id.describe("Question id."),
402
+ question: z.string().describe("The question text."),
403
+ /** Short chip/header text some harnesses attach to a question. */
404
+ header: z.string().nullable().default(null).describe("Short chip/header text some harnesses attach to a question."),
405
+ options: z.array(InteractionOption).default([]).describe("Selectable options; empty for free-text-only questions."),
406
+ multi_select: z.boolean().default(false).describe("Whether multiple options may be selected."),
407
+ })
408
+ .describe("One question of an interactive user-input request.");
409
+ /**
410
+ * A live request for user input raised by an interactive harness session.
411
+ * Carried on `interaction_requested` HarnessEvents and projected into
412
+ * `interaction.requested` RunEvents.
413
+ */
414
+ export const InteractionRequest = z
415
+ .object({
416
+ interaction_id: Id.describe("Interaction id used to correlate the answer set."),
417
+ questions: z.array(InteractionQuestion).default([]).describe("Questions the harness wants answered."),
418
+ /** Native tool that raised the request (e.g. "AskUserQuestion"). */
419
+ source_tool: z.string().nullable().default(null).describe('Native tool that raised the request (e.g. "AskUserQuestion").'),
420
+ })
421
+ .describe("A live request for user input raised by an interactive harness session.");
422
+ export const InteractionAnswer = z
423
+ .object({
424
+ question_id: Id.describe("Id of the question being answered."),
425
+ selected_labels: z.array(z.string()).default([]).describe("Labels of the selected options."),
426
+ free_text: z.string().nullable().default(null).describe("Free-text answer; null when only options were selected."),
427
+ })
428
+ .describe("The user's answer to one interactive question.");
429
+ export const InteractionAnswerSet = z
430
+ .object({
431
+ interaction_id: Id.describe("Interaction this answer set responds to."),
432
+ answers: z.array(InteractionAnswer).default([]).describe("Answers, one per question."),
433
+ })
434
+ .describe("Typed answers delivered back into a live interactive harness session.");
435
+ /** Normalized event emitted by every adapter (the SSOT of adapter output). */
436
+ export const HarnessEvent = z
437
+ .object({
438
+ type: z
439
+ .enum([
440
+ "started",
441
+ "thinking",
442
+ "message",
443
+ "tool_call",
444
+ "tool_result",
445
+ "interaction_requested",
446
+ "file_change",
447
+ "usage",
448
+ "error",
449
+ "completed",
450
+ ])
451
+ .describe("Normalized event type covering session lifecycle, output, tool use, interaction, file changes, usage, and errors."),
452
+ session_id: Id.describe("Session the event belongs to."),
453
+ ts: z.string().describe("Event timestamp."),
454
+ text: z.string().optional().describe("Text content for thinking/message/error events."),
455
+ /** Typed tool info; set on `tool_call` and `tool_result` events. */
456
+ tool: ToolRef.optional().describe("Typed tool info; set on tool_call and tool_result events."),
457
+ /** Set on `interaction_requested` events. */
458
+ interaction: InteractionRequest.optional().describe("Set on interaction_requested events."),
459
+ usage: z
460
+ .object({
461
+ input_tokens: z.number().int().nonnegative().optional().describe("Input tokens consumed."),
462
+ output_tokens: z.number().int().nonnegative().optional().describe("Output tokens produced."),
463
+ cached_input_tokens: z.number().int().nonnegative().optional().describe("Input tokens served from cache."),
464
+ cost_usd: z.number().nonnegative().optional().describe("Cost in USD."),
465
+ /** True when cost_usd is derived from token pricing (not natively reported). */
466
+ estimated: z.boolean().optional().describe("True when cost_usd is derived from token pricing (not natively reported)."),
467
+ })
468
+ .optional()
469
+ .describe("Token/cost usage reported by the harness."),
470
+ observed_model: z.string().optional().describe("Model the harness actually reported using."),
471
+ /**
472
+ * Typed quota/usage-window signal: the harness CLI's OWN record of how
473
+ * much of its subscription/rate window is consumed. Producers read native
474
+ * machine-readable surfaces only (codex rollout `token_count.rate_limits`);
475
+ * a harness with no native surface emits nothing (fail-honest, never
476
+ * scraped from prose). The budget layer maps this to a `used_percent`
477
+ * observation; `headroom()` and pool ordering consume it.
478
+ */
479
+ quota: z
480
+ .object({
481
+ /** 0-100: consumed share of the binding rate window. */
482
+ used_percent: z.number().min(0).max(100).describe("Consumed share of the binding rate window, 0-100."),
483
+ /** Native reset moment for the window, when the CLI reports one. */
484
+ resets_at: z.string().nullable().default(null).describe("Native reset moment for the window, when the CLI reports one."),
485
+ })
486
+ .optional()
487
+ .describe("Typed quota/usage-window signal from the harness CLI's own native machine-readable surface, never scraped from prose."),
488
+ /**
489
+ * Typed live plan/todo progress: adapters map their native plan tools
490
+ * (codex `todo_list` items, claude `TodoWrite` todos) into this shape in
491
+ * the parse layer; the orchestrator forwards the LAST-WINS list as a
492
+ * `plan.progress` run event and the UI renders live checklists. Never
493
+ * parsed from prose.
494
+ */
495
+ plan_progress: z
496
+ .object({
497
+ items: z
498
+ .array(z.object({
499
+ id: z.string().describe("Plan item id."),
500
+ title: z.string().describe("Plan item title."),
501
+ status: z.enum(["pending", "in_progress", "completed"]).describe("Progress state of the item."),
502
+ }))
503
+ .default([])
504
+ .describe("Last-wins list of plan/todo items."),
505
+ })
506
+ .optional()
507
+ .describe("Typed live plan/todo progress mapped from the harness's native plan tools, never parsed from prose."),
508
+ /**
509
+ * Typed rate-limit / quota signal. Adapters set this in their parse layer when
510
+ * the native CLI reports a 429 / quota / overload (adapter knowledge is allowed);
511
+ * the budget layer projects it WITHOUT regex over model/CLI prose. Replaces the
512
+ * old string-matching governance in budget/observe.ts.
513
+ */
514
+ rate_limit: z
515
+ .object({
516
+ resets_at: z.string().nullable().default(null).describe("When the rate window resets, when reported."),
517
+ retry_delay_ms: z
518
+ .number()
519
+ .int()
520
+ .nonnegative()
521
+ .nullable()
522
+ .default(null)
523
+ .describe("Suggested retry delay in milliseconds, when reported."),
524
+ })
525
+ .optional()
526
+ .describe("Typed rate-limit/quota signal set by the adapter when the native CLI reports a 429/quota/overload."),
527
+ /**
528
+ * Typed transient-failure signal. Adapters set this from native CLI/API error
529
+ * shapes in their parse layer; the orchestrator consumes it for bounded retry
530
+ * policy without governing on free-form harness prose.
531
+ */
532
+ transient: z
533
+ .object({
534
+ kind: z
535
+ .enum(["network", "stream_disconnect", "service_unavailable", "timeout", "unknown"])
536
+ .default("unknown")
537
+ .describe("Kind of transient failure."),
538
+ retry_delay_ms: z
539
+ .number()
540
+ .int()
541
+ .nonnegative()
542
+ .nullable()
543
+ .default(null)
544
+ .describe("Suggested retry delay in milliseconds, when reported."),
545
+ })
546
+ .optional()
547
+ .describe("Typed transient-failure signal set by the adapter from native CLI/API error shapes, consumed for bounded retry policy."),
548
+ error: z.string().optional().describe("Error text for error events."),
549
+ payload: z.record(z.string(), z.unknown()).optional().describe("Raw adapter-specific payload for diagnostics."),
550
+ })
551
+ .describe("Normalized event emitted by every adapter (the SSOT of adapter output).");
552
+ //# sourceMappingURL=harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @claudexor/schema — single source of truth for all Claudexor data shapes.
3
+ *
4
+ * Every other package imports types and validators from here. Do not define
5
+ * competing shapes elsewhere. JSON Schema is generated from these Zod schemas
6
+ * (see scripts/gen-jsonschema.ts).
7
+ */
8
+ export * from "./primitives.js";
9
+ export * from "./surface-run-controls.js";
10
+ export * from "./attachment.js";
11
+ export * from "./task.js";
12
+ export * from "./spec.js";
13
+ export * from "./context.js";
14
+ export * from "./harness.js";
15
+ export * from "./review.js";
16
+ export * from "./workproduct.js";
17
+ export * from "./budget.js";
18
+ export * from "./route.js";
19
+ export * from "./decision.js";
20
+ export * from "./control-run-detail.js";
21
+ export * from "./gate.js";
22
+ export * from "./events.js";
23
+ export * from "./telemetry.js";
24
+ export * from "./config.js";
25
+ export * from "./workspace.js";
26
+ export * from "./thread.js";
27
+ export * from "./orchestrate.js";
28
+ export * from "./control.js";
29
+ export * from "./control-trust.js";
30
+ export * from "./agent-capabilities.js";
31
+ export * from "./apply-eligibility.js";
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC"}