@archmax-ai/harness 0.8.0 → 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 (219) hide show
  1. package/README.md +58 -14
  2. package/dist/agent.d.ts +4 -4
  3. package/dist/agent.js +4 -4
  4. package/dist/assembly/compose.d.ts +5 -24
  5. package/dist/assembly/compose.js +40 -41
  6. package/dist/assembly/compose.js.map +1 -1
  7. package/dist/assembly/delegation-registry.js +3 -14
  8. package/dist/assembly/delegation-registry.js.map +1 -1
  9. package/dist/assembly/index.d.ts +18 -15
  10. package/dist/assembly/index.js +50 -32
  11. package/dist/assembly/index.js.map +1 -1
  12. package/dist/assembly/plain.js +1 -2
  13. package/dist/assembly/plain.js.map +1 -1
  14. package/dist/authoring-skill/archmax-harness/README.md +5 -5
  15. package/dist/authoring-skill/archmax-harness/SKILL.md +72 -30
  16. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +35 -23
  17. package/dist/authoring-skill/archmax-harness/references/cases.md +44 -10
  18. package/dist/authoring-skill/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +617 -313
  19. package/dist/authoring-skill/archmax-harness/references/code-states-and-scripts.md +115 -0
  20. package/dist/authoring-skill/archmax-harness/references/diagnostics.md +40 -7
  21. package/dist/authoring-skill/archmax-harness/references/wiring.md +19 -10
  22. package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +416 -276
  23. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +161 -62
  24. package/dist/cli/state-flow.d.ts +1 -1
  25. package/dist/cli/state-flow.js +18 -28
  26. package/dist/cli/state-flow.js.map +1 -1
  27. package/dist/cli/turn.d.ts +1 -1
  28. package/dist/cli/turn.js +2 -3
  29. package/dist/cli/turn.js.map +1 -1
  30. package/dist/core/clock.d.ts +26 -0
  31. package/dist/core/clock.js +64 -0
  32. package/dist/core/clock.js.map +1 -0
  33. package/dist/core/code-description.d.ts +3 -3
  34. package/dist/core/code-description.js +3 -3
  35. package/dist/core/deepagents.d.ts +5 -5
  36. package/dist/core/deepagents.js +4 -4
  37. package/dist/core/events.d.ts +23 -42
  38. package/dist/core/events.js +21 -24
  39. package/dist/core/events.js.map +1 -1
  40. package/dist/core/message-readers.d.ts +22 -2
  41. package/dist/core/message-readers.js +31 -0
  42. package/dist/core/message-readers.js.map +1 -1
  43. package/dist/core/messages.d.ts +1 -23
  44. package/dist/core/messages.js +2 -35
  45. package/dist/core/messages.js.map +1 -1
  46. package/dist/core/mounts.js +3 -3
  47. package/dist/core/platform-prompt.generated.js +1 -1
  48. package/dist/core/platform-prompt.generated.js.map +1 -1
  49. package/dist/core/session-zone.d.ts +1 -1
  50. package/dist/core/session-zone.js +1 -1
  51. package/dist/core/workspace-context.d.ts +1 -1
  52. package/dist/core/workspace.d.ts +1 -1
  53. package/dist/core/workspace.js +1 -1
  54. package/dist/core/zones.d.ts +4 -4
  55. package/dist/core/zones.js +5 -5
  56. package/dist/core/zones.js.map +1 -1
  57. package/dist/env.d.ts +9 -9
  58. package/dist/index.d.ts +3 -7
  59. package/dist/index.js +2 -4
  60. package/dist/index.js.map +1 -1
  61. package/dist/kernel/kernel.d.ts +31 -61
  62. package/dist/kernel/kernel.js +57 -114
  63. package/dist/kernel/kernel.js.map +1 -1
  64. package/dist/machine/allow.d.ts +17 -2
  65. package/dist/machine/allow.js +16 -6
  66. package/dist/machine/allow.js.map +1 -1
  67. package/dist/machine/lint-spec.js +68 -12
  68. package/dist/machine/lint-spec.js.map +1 -1
  69. package/dist/machine/machine.d.ts +39 -16
  70. package/dist/machine/machine.js +72 -49
  71. package/dist/machine/machine.js.map +1 -1
  72. package/dist/machine/spec-schema.d.ts +34 -179
  73. package/dist/machine/spec-schema.js +93 -106
  74. package/dist/machine/spec-schema.js.map +1 -1
  75. package/dist/machine/tool-names.d.ts +34 -10
  76. package/dist/machine/tool-names.js +41 -10
  77. package/dist/machine/tool-names.js.map +1 -1
  78. package/dist/machine/tool-paths.d.ts +6 -0
  79. package/dist/machine/tool-paths.js +10 -0
  80. package/dist/machine/tool-paths.js.map +1 -1
  81. package/dist/machine/types.d.ts +14 -38
  82. package/dist/machine/types.js.map +1 -1
  83. package/dist/machine/validate-spec.d.ts +1 -1
  84. package/dist/machine/variables.d.ts +2 -0
  85. package/dist/machine/variables.js.map +1 -1
  86. package/dist/public/sandbox.d.ts +62 -66
  87. package/dist/public/sandbox.js +22 -23
  88. package/dist/public/sandbox.js.map +1 -1
  89. package/dist/public/spec.d.ts +12 -19
  90. package/dist/public/spec.js +11 -19
  91. package/dist/public/spec.js.map +1 -1
  92. package/dist/runtime/contract.d.ts +11 -12
  93. package/dist/runtime/contract.js +16 -16
  94. package/dist/runtime/contract.js.map +1 -1
  95. package/dist/sandbox/assets/parts/code-state.js +17 -0
  96. package/dist/sandbox/executor.d.ts +25 -7
  97. package/dist/sandbox/executor.js +56 -47
  98. package/dist/sandbox/executor.js.map +1 -1
  99. package/dist/sandbox/imports.d.ts +10 -10
  100. package/dist/sandbox/imports.js +11 -11
  101. package/dist/sandbox/imports.js.map +1 -1
  102. package/dist/sandbox/prelude.d.ts +5 -6
  103. package/dist/sandbox/prelude.js +38 -35
  104. package/dist/sandbox/prelude.js.map +1 -1
  105. package/dist/sandbox/ptc-gateway.d.ts +19 -18
  106. package/dist/sandbox/ptc-gateway.js +26 -22
  107. package/dist/sandbox/ptc-gateway.js.map +1 -1
  108. package/dist/sessions/operations.js +4 -5
  109. package/dist/sessions/operations.js.map +1 -1
  110. package/dist/sessions/resume.d.ts +12 -7
  111. package/dist/sessions/resume.js +12 -9
  112. package/dist/sessions/resume.js.map +1 -1
  113. package/dist/sessions/summary.d.ts +1 -1
  114. package/dist/testing/assertions.js +9 -4
  115. package/dist/testing/assertions.js.map +1 -1
  116. package/dist/testing/case-document.d.ts +2 -0
  117. package/dist/testing/case-document.js.map +1 -1
  118. package/dist/testing/case-schema.d.ts +1 -1
  119. package/dist/testing/case-schema.js +17 -1
  120. package/dist/testing/case-schema.js.map +1 -1
  121. package/dist/testing/driver.d.ts +4 -0
  122. package/dist/testing/driver.js +22 -3
  123. package/dist/testing/driver.js.map +1 -1
  124. package/dist/testing/grade.js +3 -3
  125. package/dist/testing/grade.js.map +1 -1
  126. package/dist/testing/interpreter.d.ts +2 -2
  127. package/dist/testing/interpreter.js +1 -0
  128. package/dist/testing/interpreter.js.map +1 -1
  129. package/dist/testing/runner.d.ts +2 -2
  130. package/dist/validate/validate.d.ts +1 -1
  131. package/dist/validate/validate.js +39 -70
  132. package/dist/validate/validate.js.map +1 -1
  133. package/dist/workflow/automated-controls.d.ts +63 -0
  134. package/dist/workflow/automated-controls.js +158 -0
  135. package/dist/workflow/automated-controls.js.map +1 -0
  136. package/dist/workflow/automated.d.ts +112 -0
  137. package/dist/workflow/automated.js +163 -0
  138. package/dist/workflow/automated.js.map +1 -0
  139. package/dist/workflow/checkpointer.d.ts +7 -0
  140. package/dist/workflow/checkpointer.js +28 -0
  141. package/dist/workflow/checkpointer.js.map +1 -1
  142. package/dist/workflow/code-state.d.ts +46 -0
  143. package/dist/workflow/code-state.js +26 -0
  144. package/dist/workflow/code-state.js.map +1 -0
  145. package/dist/workflow/control-tools.d.ts +54 -23
  146. package/dist/workflow/control-tools.js +121 -77
  147. package/dist/workflow/control-tools.js.map +1 -1
  148. package/dist/workflow/file-values.d.ts +4 -4
  149. package/dist/workflow/file-values.js +1 -1
  150. package/dist/workflow/file-values.js.map +1 -1
  151. package/dist/workflow/governance.d.ts +13 -22
  152. package/dist/workflow/governance.js +51 -87
  153. package/dist/workflow/governance.js.map +1 -1
  154. package/dist/workflow/grader-state.d.ts +55 -0
  155. package/dist/workflow/grader-state.js +182 -0
  156. package/dist/workflow/grader-state.js.map +1 -0
  157. package/dist/workflow/history.d.ts +11 -0
  158. package/dist/workflow/history.js +64 -0
  159. package/dist/workflow/history.js.map +1 -0
  160. package/dist/workflow/middleware.d.ts +14 -17
  161. package/dist/workflow/middleware.js +106 -74
  162. package/dist/workflow/middleware.js.map +1 -1
  163. package/dist/workflow/move-events.d.ts +21 -0
  164. package/dist/workflow/move-events.js +20 -0
  165. package/dist/workflow/move-events.js.map +1 -0
  166. package/dist/workflow/parks.d.ts +9 -2
  167. package/dist/workflow/parks.js +16 -8
  168. package/dist/workflow/parks.js.map +1 -1
  169. package/dist/workflow/paths.d.ts +9 -9
  170. package/dist/workflow/paths.js +19 -19
  171. package/dist/workflow/paths.js.map +1 -1
  172. package/dist/workflow/render-prompt.d.ts +7 -5
  173. package/dist/workflow/render-prompt.js +22 -37
  174. package/dist/workflow/render-prompt.js.map +1 -1
  175. package/dist/workflow/signature-checks.d.ts +2 -2
  176. package/dist/workflow/snapshot.js +5 -29
  177. package/dist/workflow/snapshot.js.map +1 -1
  178. package/dist/workflow/state.d.ts +19 -6
  179. package/dist/workflow/state.js +24 -8
  180. package/dist/workflow/state.js.map +1 -1
  181. package/dist/workflow/sub-workflow.d.ts +3 -3
  182. package/dist/workflow/tool-service.d.ts +1 -9
  183. package/dist/workflow/tool-service.js +21 -24
  184. package/dist/workflow/tool-service.js.map +1 -1
  185. package/dist/workflow/turn-boundary.d.ts +2 -2
  186. package/dist/workflow/turn-boundary.js +10 -7
  187. package/dist/workflow/turn-boundary.js.map +1 -1
  188. package/dist/workflow/turn-runner.js +30 -2
  189. package/dist/workflow/turn-runner.js.map +1 -1
  190. package/package.json +1 -1
  191. package/skills/archmax-harness/README.md +5 -5
  192. package/skills/archmax-harness/SKILL.md +72 -30
  193. package/skills/archmax-harness/references/backend-integration.md +35 -23
  194. package/skills/archmax-harness/references/cases.md +44 -10
  195. package/skills/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +617 -313
  196. package/skills/archmax-harness/references/code-states-and-scripts.md +115 -0
  197. package/skills/archmax-harness/references/diagnostics.md +40 -7
  198. package/skills/archmax-harness/references/wiring.md +19 -10
  199. package/skills/archmax-harness/references/workflow-schema.md +416 -276
  200. package/skills/archmax-harness/references/workflow-yaml.md +161 -62
  201. package/dist/authoring-skill/archmax-harness/references/hooks-and-scripts.md +0 -88
  202. package/dist/lifecycle/hook-shape.d.ts +0 -44
  203. package/dist/lifecycle/hook-shape.js +0 -66
  204. package/dist/lifecycle/hook-shape.js.map +0 -1
  205. package/dist/lifecycle/runner.d.ts +0 -183
  206. package/dist/lifecycle/runner.js +0 -373
  207. package/dist/lifecycle/runner.js.map +0 -1
  208. package/dist/lifecycle/transcript.d.ts +0 -27
  209. package/dist/lifecycle/transcript.js +0 -43
  210. package/dist/lifecycle/transcript.js.map +0 -1
  211. package/dist/rubrics/rubrics.d.ts +0 -135
  212. package/dist/rubrics/rubrics.js +0 -145
  213. package/dist/rubrics/rubrics.js.map +0 -1
  214. package/dist/sandbox/assets/parts/core.js +0 -22
  215. package/dist/sandbox/assets/parts/lifecycle-hook.js +0 -47
  216. package/dist/sandbox/bridge.d.ts +0 -16
  217. package/dist/sandbox/bridge.js +0 -95
  218. package/dist/sandbox/bridge.js.map +0 -1
  219. package/skills/archmax-harness/references/hooks-and-scripts.md +0 -88
@@ -8,7 +8,6 @@
8
8
  */
9
9
  import { z } from "zod";
10
10
  import { normalizeAllowEntry } from "./allow.js";
11
- import { normalizeHooks } from "../lifecycle/hook-shape.js";
12
11
  import { isSlug } from "./slug.js";
13
12
  import { SIGNATURE_TYPES } from "./signature.js";
14
13
  import { MANUAL_TRIGGER, parseSessionPath, stateTriggerIds } from "./triggers.js";
@@ -28,7 +27,7 @@ const POSITIVE = "must be a positive number";
28
27
  const positiveInt = z.number({ error: POSITIVE }).int(POSITIVE).positive(POSITIVE);
29
28
  /**
30
29
  * A model id, and only an id: the one spelling of "which model runs this" in the
31
- * schema, shared by `settings.model`, a state's `model` and a rubric's. Never an
30
+ * schema, shared by `settings.model` and a state's `model`. Never an
32
31
  * endpoint, credentials or sampling knobs — a declared id is resolved over the
33
32
  * endpoint and credentials the assembly is already configured with, so an object
34
33
  * value is refused with the sentence that says where those belong. The id itself
@@ -130,95 +129,26 @@ const sessionPath = z
130
129
  *
131
130
  * One loose, named slot for host data the runtime never reads (an authoring UI's
132
131
  * canvas state, a node's position) — rather than a `.catchall()`, which would
133
- * switch off the strictness this file exists for. Accepted at three positions:
134
- * the spec root, a state, and a rubric declaration.
132
+ * switch off the strictness this file exists for. Accepted at two positions:
133
+ * the spec root and a state.
135
134
  */
136
135
  export const specMetadataSchema = z.looseObject({});
136
+ // --- Code-state scripts ---------------------------------------------------------
137
+ const CODE_SCRIPT_PATH = /^scripts\/[^/].*\.(js|mjs)$/;
137
138
  /**
138
- * @see RubricDeclaration
139
- *
140
- * A grading rubric: the standard a state's exit is measured against, declared
141
- * **inline on the hook that applies it**. `instructions` is the only required
142
- * key — the same word a state uses for the prose telling a model what to do.
143
- *
144
- * There is deliberately no name: a rubric is not a first-order item a hook
145
- * points at, it is part of the state's own declaration, so reading the state
146
- * tells you the whole standard without a lookup. The cost is duplication when
147
- * two states want the same grader, which is accepted: a state is legible on its
148
- * own, and nothing silently changes what one state grades against by editing
149
- * something elsewhere. There is no `title` either (nothing routes to a rubric)
150
- * and no `description`; a host label goes in `metadata`.
139
+ * Whether a code state's script path stays inside the workflow's `scripts/`
140
+ * directory. Checked by segment, not only by prefix: `scripts/../escape.js`
141
+ * satisfies a naive "starts with scripts/" rule while resolving outside it.
151
142
  */
152
- export const rubricDeclarationSchema = z
153
- .object({
154
- instructions: nonEmptyString,
155
- max_iterations: z.number().int().min(0).optional(),
156
- model: modelId.optional(),
157
- metadata: specMetadataSchema.optional(),
158
- })
159
- .strict();
160
- // --- Hooks ---------------------------------------------------------------------
161
- /** Keys a hook may carry *alongside* its kind, which therefore never name one. */
162
- const RESERVED_HOOK_KEYS = new Set(["max_iterations"]);
163
- const HOOK_SCRIPT_PATH = /^hooks\/[^/].*\.(js|mjs)$/;
164
- /**
165
- * Whether a hook script path stays inside the workflow's `hooks/` directory.
166
- * Checked by segment, not only by prefix: `hooks/../escape.js` satisfies a naive
167
- * "starts with hooks/" rule while resolving outside it.
168
- */
169
- function isConfinedHookScript(path) {
170
- return HOOK_SCRIPT_PATH.test(path) && !path.split("/").includes("..");
143
+ function isConfinedCodeScript(path) {
144
+ return CODE_SCRIPT_PATH.test(path) && !path.split("/").includes("..");
171
145
  }
172
- const hookScriptPath = z
173
- .string()
174
- .refine(isConfinedHookScript, "must be a workflow-relative path inside 'hooks/' ending in .js or .mjs, with " +
175
- "no '..' segment (e.g. 'hooks/check-requester.js'). Runtime scripts the agent " +
176
- "runs with archmax_run live in a skill bundle instead.");
177
- /**
178
- * The one wording for a hook that is not a usable tagged object.
179
- *
180
- * Deliberately free of per-key special cases: a retired spelling
181
- * (`subagent`, `max_corrections`) is reported as the unrecognized key it is, the
182
- * way a typo is, so the schema carries no memory of every name it ever had.
183
- */
184
- function describeHookInput(input) {
185
- if (!input || typeof input !== "object" || Array.isArray(input)) {
186
- return "must be a { script } or { rubric } entry";
187
- }
188
- const record = input;
189
- const kinds = Object.keys(record).filter((key) => !RESERVED_HOOK_KEYS.has(key));
190
- if (kinds.length !== 1) {
191
- return "must be a single-key tagged object (plus an optional 'max_iterations' sidecar)";
192
- }
193
- return ("must be a hook: { script: 'hooks/<file>.js' }, { rubric: { instructions: … } }, or " +
194
- "{ <custom-kind>: '<target>' } for an executor registered at assembly");
195
- }
196
- /**
197
- * One lifecycle hook. The built-in kinds are strict; the custom-kind branch (a
198
- * record of strings, for an executor registered at assembly) is fenced so it
199
- * cannot rescue a malformed built-in — `{ script: <bad path> }` must fail the
200
- * script branch and stay failed.
201
- */
202
- export const hookSchema = z.union([
203
- z
204
- .object({ script: hookScriptPath, max_iterations: z.number().int().min(0).optional() })
205
- .strict(),
206
- // A rubric hook carries the whole grader inline, so its budget is declared
207
- // inside the declaration rather than as a sidecar beside it: there is only
208
- // one place to put it, which is the point of inlining.
209
- z.object({ rubric: rubricDeclarationSchema }).strict(),
210
- z
211
- .record(z.string(), z.string())
212
- .refine((value) => !("script" in value) &&
213
- !("rubric" in value) &&
214
- Object.keys(value).filter((key) => !RESERVED_HOOK_KEYS.has(key)).length === 1, { error: (issue) => describeHookInput(issue.input) }),
215
- ], { error: (issue) => describeHookInput(issue.input) });
216
- /** @see HookSpec */
217
- export const hookSpecSchema = z.union([hookSchema, z.array(hookSchema)], {
218
- error: (issue) => Array.isArray(issue.input)
219
- ? "every entry must be a { script } or { rubric } entry"
220
- : describeHookInput(issue.input),
221
- });
146
+ /** @see MachineState.script — the file a code state runs. */
147
+ export const codeScriptPathSchema = z
148
+ .string({ error: "must be a workflow-relative path string (e.g. 'scripts/check-refund.js')" })
149
+ .refine(isConfinedCodeScript, "must be a workflow-relative path inside 'scripts/' ending in .js or .mjs, with no '..' " +
150
+ "segment (e.g. 'scripts/check-refund.js'). Scripts the agent runs with archmax_run live in " +
151
+ "a skill bundle instead.");
222
152
  // --- States --------------------------------------------------------------------
223
153
  /** @see TransitionType */
224
154
  export const transitionTypeSchema = z.enum(["approve", "reject", "refine", "none"], {
@@ -230,10 +160,14 @@ export const transitionTypeSchema = z.enum(["approve", "reject", "refine", "none
230
160
  * **undescribed** edge (absent, empty or blank) — the target state's own
231
161
  * `instructions`, which the edge then discloses in its place. An edge with
232
162
  * neither hands the agent a bare slug and asks it to route: an unnavigable graph,
233
- * which is worse to warn about than to refuse, so {@link refineSpec} refuses it,
234
- * and refuses an undescribed transition of a human state, where the description
235
- * is the person's button label. A non-string is a typo and refused here. The
236
- * issue path (`states.<slug>.transitions.<index>.description`) names the edge.
163
+ * which is worse to warn about than to refuse, so {@link refineSpec} refuses it.
164
+ * It refuses an undescribed transition of a human state, where the description
165
+ * is the person's button label, and an undescribed edge into a grader or a code
166
+ * state: a grader's instructions are its criteria, which the work it judges is
167
+ * never shown, and a code state has none. A code state's own edges are exempt —
168
+ * its script routes, and nothing reads their descriptions. A non-string is a
169
+ * typo and refused here. The issue path
170
+ * (`states.<slug>.transitions.<index>.description`) names the edge.
237
171
  */
238
172
  const TRANSITION_DESCRIPTION = `must be a string: what the agent routes on when it considers this edge. Say when to take it ` +
239
173
  `(e.g. 'Refunds over $50'), not where it goes — or omit it to route on the target state's ` +
@@ -244,6 +178,15 @@ function undescribedEdgeMessage(target) {
244
178
  `none, on the target state's instructions — and '${target}' declares none. Say when to take ` +
245
179
  `this edge (e.g. 'Refunds over $50'), or give '${target}' instructions.`);
246
180
  }
181
+ /** An undescribed edge into an automated state: there are no instructions the agent may be shown. */
182
+ function undescribedAutomatedEdgeMessage(target, type) {
183
+ const why = type === "grader"
184
+ ? `'${target}' is a grader, whose instructions are its criteria and never shown to the work it judges`
185
+ : `'${target}' is a code state, which has none`;
186
+ return (`must be a non-empty string here: the agent routes on an edge's description, or, when it has ` +
187
+ `none, on the target state's instructions — and ${why}. Say when to take this edge ` +
188
+ `(e.g. 'The reply is drafted').`);
189
+ }
247
190
  /** An undescribed transition on a human state: the decision's button has no label. */
248
191
  const HUMAN_TRANSITION_DESCRIPTION = `must be a non-empty string on a human state's transition: it is the label of the decision's ` +
249
192
  `button for the person deciding, and a target's instructions do not tell them what choosing it ` +
@@ -352,8 +295,8 @@ export const mountsBlockSchema = z
352
295
  })
353
296
  .strict();
354
297
  /** @see StateType */
355
- export const stateTypeSchema = z.enum(["agent", "human"], {
356
- error: (issue) => `unknown state type '${String(issue.input)}' (expected 'agent' or 'human')`,
298
+ export const stateTypeSchema = z.enum(["agent", "human", "grader", "code"], {
299
+ error: (issue) => `unknown state type '${String(issue.input)}' (expected 'agent', 'human', 'grader' or 'code')`,
357
300
  });
358
301
  // --- Triggers ------------------------------------------------------------------
359
302
  /** The keys a signature entry object may carry, as a refusal lists them. */
@@ -536,8 +479,7 @@ export const machineStateSchema = z
536
479
  evidence: z.array(z.string()).optional(),
537
480
  approvers: z.array(z.string()).optional(),
538
481
  triggers: stateTriggersSchema.optional(),
539
- before: hookSpecSchema.optional(),
540
- after: hookSpecSchema.optional(),
482
+ script: codeScriptPathSchema.optional(),
541
483
  budget: stateBudgetSchema.optional(),
542
484
  model: modelId.optional(),
543
485
  on_error: nonEmptyString.optional(),
@@ -545,6 +487,8 @@ export const machineStateSchema = z
545
487
  skills: skillsBlockSchema.optional(),
546
488
  mounts: mountsBlockSchema.optional(),
547
489
  requires: z.array(variableName, { error: "must be a list of run-variable names" }).optional(),
490
+ /** Variables this state owns: only it may write them, on any visit. */
491
+ locks: z.array(variableName, { error: "must be a list of run-variable names" }).optional(),
548
492
  metadata: specMetadataSchema.optional(),
549
493
  transitions: z.array(machineTransitionSchema).optional(),
550
494
  })
@@ -648,10 +592,6 @@ export const runtimeMetadataSchema = z
648
592
  version: z.union([z.string(), z.number()]).optional(),
649
593
  })
650
594
  .strict();
651
- /** @see SpecExtensions */
652
- export const specExtensionsSchema = z
653
- .object({ hooks: z.array(z.string()).optional() })
654
- .strict();
655
595
  /** The whole of `workflow.yaml`. @see MachineSpec */
656
596
  export const machineSpecSchema = z
657
597
  .object({
@@ -670,7 +610,6 @@ export const machineSpecSchema = z
670
610
  skills: workflowSkillsConfigSchema.optional(),
671
611
  mounts: workflowMountsConfigSchema.optional(),
672
612
  tests: workflowTestsConfigSchema.optional(),
673
- extensions: specExtensionsSchema.optional(),
674
613
  metadata: specMetadataSchema.optional(),
675
614
  states: z.record(z.string(), authoredStateSchema, {
676
615
  error: "Machine spec is missing or has empty 'states'",
@@ -683,6 +622,43 @@ export const machineSpecSchema = z
683
622
  * reference variables by a readable name. Runs after the shape has been
684
623
  * accepted. Defects the runtime tolerates are `lint-spec.ts` errors instead.
685
624
  */
625
+ /**
626
+ * What `locks` may not say: a variable owned twice (ownership never moves), a
627
+ * reserved name (`trigger` refuses every write, `title` is never locked), the
628
+ * same name twice, or any name on a human state, which makes no tool calls.
629
+ */
630
+ function lockIssues(states) {
631
+ const issues = [];
632
+ const owners = new Map();
633
+ for (const [slug, state] of Object.entries(states)) {
634
+ const locks = state?.locks;
635
+ if (!locks)
636
+ continue;
637
+ const at = `states.${slug}.locks`;
638
+ if (state.type === "human") {
639
+ issues.push({ path: at, message: `State '${slug}' is a human state, which makes no tool calls, so it cannot own variables` });
640
+ }
641
+ locks.forEach((name, index) => {
642
+ if (name === TRIGGER_VARIABLE || name === TITLE_VARIABLE) {
643
+ issues.push({ path: `${at}.${index}`, message: `State '${slug}' cannot own the reserved variable '${name}'` });
644
+ }
645
+ else if (locks.indexOf(name) !== index) {
646
+ issues.push({ path: `${at}.${index}`, message: `State '${slug}' lists '${name}' in 'locks' twice` });
647
+ }
648
+ if (locks.indexOf(name) === index)
649
+ owners.set(name, [...(owners.get(name) ?? []), slug]);
650
+ });
651
+ }
652
+ for (const [name, slugs] of owners) {
653
+ if (slugs.length > 1) {
654
+ issues.push({
655
+ path: `states.${slugs[1]}.locks`,
656
+ message: `Variable '${name}' is owned by more than one state (${slugs.map((s) => `'${s}'`).join(", ")}); a variable has one owner`,
657
+ });
658
+ }
659
+ }
660
+ return issues;
661
+ }
686
662
  export function refineSpec(spec) {
687
663
  const issues = [];
688
664
  const issue = (path, message) => issues.push({ path, message });
@@ -699,23 +675,32 @@ export function refineSpec(spec) {
699
675
  issue(`${at}.transitions.${index}.to`, `State '${slug}' transitions to undefined state '${transition.to}'`);
700
676
  return;
701
677
  }
702
- if (!isUndescribed(transition))
678
+ // A code state's script routes: nothing reads its edges' descriptions.
679
+ if (!isUndescribed(transition) || state.type === "code")
703
680
  return;
681
+ const target = states[transition.to];
704
682
  if (state.type === "human") {
705
683
  issue(`${at}.transitions.${index}.description`, HUMAN_TRANSITION_DESCRIPTION);
706
684
  }
707
- else if (!states[transition.to]?.instructions?.trim()) {
685
+ else if (target?.type === "grader" || target?.type === "code") {
686
+ issue(`${at}.transitions.${index}.description`, undescribedAutomatedEdgeMessage(transition.to, target.type));
687
+ }
688
+ else if (!target?.instructions?.trim()) {
708
689
  issue(`${at}.transitions.${index}.description`, undescribedEdgeMessage(transition.to));
709
690
  }
710
691
  });
711
692
  if (state.on_error !== undefined && !(state.on_error in states)) {
712
693
  issue(`${at}.on_error`, `State '${slug}' on_error routes to undefined state '${state.on_error}'`);
713
694
  }
714
- // Before hooks gate entry with ok/veto only — there is no retry loop for an
715
- // iteration budget to bound, so the sidecar would enforce nothing.
716
- if (normalizeHooks(state.before).some((hook) => "max_iterations" in hook)) {
717
- issue(`${at}.before`, `State '${slug}' 'before' hook declares 'max_iterations', but before hooks are ok/veto ` +
718
- `only ('correct' is treated as a veto); the budget applies to 'after' hooks`);
695
+ // A code state *is* its script: without one there is nothing to run, and a
696
+ // script anywhere else would be read by nothing.
697
+ if (state.type === "code" && state.script === undefined) {
698
+ issue(`${at}.script`, `Code state '${slug}' declares no 'script': a code state runs the file it names ` +
699
+ `(e.g. 'script: scripts/${slug}.js'), and without one it has nothing to run.`);
700
+ }
701
+ if (state.type !== "code" && state.script !== undefined) {
702
+ issue(`${at}.script`, `State '${slug}' declares 'script', which only a code state runs; this state is ` +
703
+ `type '${state.type ?? "agent"}'. Declare 'type: code' to run the script, or drop the key.`);
719
704
  }
720
705
  for (const [index, entry] of (state.tools?.allow ?? []).entries()) {
721
706
  for (const message of guardReferenceIssues(`State '${slug}'`, entry)) {
@@ -730,6 +715,8 @@ export function refineSpec(spec) {
730
715
  }
731
716
  }
732
717
  }
718
+ for (const message of lockIssues(states))
719
+ issue(message.path, message.message);
733
720
  for (const [index, entry] of (spec.tools?.allow_always ?? []).entries()) {
734
721
  for (const message of guardReferenceIssues("tools.allow_always", entry)) {
735
722
  issue(`tools.allow_always.${index}`, message);
@@ -1 +1 @@
1
- {"version":3,"file":"spec-schema.js","sourceRoot":"","sources":["../../src/machine/spec-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-schema.js","sourceRoot":"","sources":["../../src/machine/spec-schema.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ export declare const RUN_TOOL = "archmax_run";
24
24
  export declare const GET_VARIABLES_TOOL = "archmax_get_variables";
25
25
  /** Create, update, and lock the run's variables. */
26
26
  export declare const SET_VARIABLES_TOOL = "archmax_set_variables";
27
+ /** Read the session's history: its whole transcript and its trail. A grader state's tool. */
28
+ export declare const GET_HISTORY_TOOL = "archmax_get_history";
27
29
  /**
28
30
  * The runtime's own file operations, beside Deep Agents' built-ins and named
29
31
  * like them (they act on the workspace, not on the run). Each works on one file
@@ -73,13 +75,21 @@ export declare const HARNESS_CONTROL_TOOLS: ReadonlySet<string>;
73
75
  /** Whether a name is reserved for harness-owned controls. */
74
76
  export declare function isReservedToolName(name: string): boolean;
75
77
  /**
76
- * Tools permitted in every state regardless of its `tools` governance: the
77
- * runtime's own controls. `archmax_advance`'s target is still checked against the
78
+ * The controls an **agent** or **human** state is offered regardless of its
79
+ * `tools` governance. `archmax_advance`'s target is still checked against the
78
80
  * state's `transitions`, and a variable write is decided by whether the target
79
81
  * is locked. `tools.forbid_always` (or a state's `tools.forbid`) can still block
80
82
  * any of them.
81
83
  */
82
84
  export declare const ALWAYS_ALLOWED_TOOLS: ReadonlySet<string>;
85
+ /**
86
+ * The controls an **automated** state (a grader or a code state) is offered: it
87
+ * moves (`archmax_advance`), fails (`archmax_raise`), keeps the session's
88
+ * variables, and reads the session it checks (`archmax_get_history`). It never
89
+ * parks — a script frame is not durable, and a grader judges rather than waits —
90
+ * and never resets, so `archmax_wait` and `archmax_reset` are not among them.
91
+ */
92
+ export declare const AUTOMATED_STATE_CONTROL_TOOLS: ReadonlySet<string>;
83
93
  /**
84
94
  * The default tools: the workflow-wide grant of a workflow that does not declare
85
95
  * `tools.allow_always` — the file tools (the runtime's file operations among
@@ -91,15 +101,29 @@ export declare const ALWAYS_ALLOWED_TOOLS: ReadonlySet<string>;
91
101
  */
92
102
  export declare const DEFAULT_TOOLS: ReadonlySet<string>;
93
103
  /**
94
- * The framework's subagent-dispatch tool, which the runtime uses only to
95
- * dispatch its own grading rubrics.
104
+ * The always-on tools an **automated** state (a grader or a code state) is never
105
+ * offered, whatever its grants: the planning scratchpad, which only a model's
106
+ * own loop reads back, and the two sandbox entry points — a code state *is* a
107
+ * script, and a grader judges rather than computes. A `tools.allow` entry naming
108
+ * one in such a state is a `validate` error.
109
+ */
110
+ export declare const AGENT_ONLY_TOOLS: ReadonlySet<string>;
111
+ /**
112
+ * Every tool an automated state is never offered, whatever its own or the
113
+ * workflow-wide grant names: the agent-only tools, and parking and resetting —
114
+ * an automated state cannot park, and a reset is the agent's way back. The one
115
+ * set the machine filters a grant by and `validate` reports a grant against.
116
+ */
117
+ export declare const NOT_OFFERED_TO_AUTOMATED: ReadonlySet<string>;
118
+ /**
119
+ * Deep Agents' subagent-dispatch tool, which Deep Agents registers whatever the
120
+ * assembly passes (it always builds its general-purpose subagent).
96
121
  *
97
- * It is never disclosed and never grantable. A rubric grades the agent rather
98
- * than serving it, so the agent has no use for the tool: naming it in a
99
- * `tools.allow` or `tools.allow_always` entry is a `validate` error, and the
100
- * kernel refuses an agent-initiated call in every state. Registered rubrics make
101
- * the tool *exist* in the assembled tool list — the runtime needs a runnable —
102
- * so withholding it is enforced rather than incidental.
122
+ * It is never grantable: grading is a grader state and delegating work is a
123
+ * sub-workflow, so no state has a use for it. Naming it in a `tools.allow` or
124
+ * `tools.allow_always` entry is a `validate` error, and the kernel refuses a
125
+ * call to it in every state, whatever an entry discloses — withholding it is
126
+ * enforced rather than incidental.
103
127
  */
104
128
  export declare const UNGRANTABLE_TOOLS: ReadonlySet<string>;
105
129
  /**
@@ -24,6 +24,8 @@ export const RUN_TOOL = "archmax_run";
24
24
  export const GET_VARIABLES_TOOL = "archmax_get_variables";
25
25
  /** Create, update, and lock the run's variables. */
26
26
  export const SET_VARIABLES_TOOL = "archmax_set_variables";
27
+ /** Read the session's history: its whole transcript and its trail. A grader state's tool. */
28
+ export const GET_HISTORY_TOOL = "archmax_get_history";
27
29
  /**
28
30
  * The runtime's own file operations, beside Deep Agents' built-ins and named
29
31
  * like them (they act on the workspace, not on the run). Each works on one file
@@ -86,14 +88,15 @@ export const HARNESS_CONTROL_TOOLS = new Set([
86
88
  RUN_TOOL,
87
89
  GET_VARIABLES_TOOL,
88
90
  SET_VARIABLES_TOOL,
91
+ GET_HISTORY_TOOL,
89
92
  ]);
90
93
  /** Whether a name is reserved for harness-owned controls. */
91
94
  export function isReservedToolName(name) {
92
95
  return name.startsWith(ARCHMAX_TOOL_PREFIX);
93
96
  }
94
97
  /**
95
- * Tools permitted in every state regardless of its `tools` governance: the
96
- * runtime's own controls. `archmax_advance`'s target is still checked against the
98
+ * The controls an **agent** or **human** state is offered regardless of its
99
+ * `tools` governance. `archmax_advance`'s target is still checked against the
97
100
  * state's `transitions`, and a variable write is decided by whether the target
98
101
  * is locked. `tools.forbid_always` (or a state's `tools.forbid`) can still block
99
102
  * any of them.
@@ -106,6 +109,20 @@ export const ALWAYS_ALLOWED_TOOLS = new Set([
106
109
  GET_VARIABLES_TOOL,
107
110
  SET_VARIABLES_TOOL,
108
111
  ]);
112
+ /**
113
+ * The controls an **automated** state (a grader or a code state) is offered: it
114
+ * moves (`archmax_advance`), fails (`archmax_raise`), keeps the session's
115
+ * variables, and reads the session it checks (`archmax_get_history`). It never
116
+ * parks — a script frame is not durable, and a grader judges rather than waits —
117
+ * and never resets, so `archmax_wait` and `archmax_reset` are not among them.
118
+ */
119
+ export const AUTOMATED_STATE_CONTROL_TOOLS = new Set([
120
+ ADVANCE_TOOL,
121
+ RAISE_TOOL,
122
+ GET_VARIABLES_TOOL,
123
+ SET_VARIABLES_TOOL,
124
+ GET_HISTORY_TOOL,
125
+ ]);
109
126
  /**
110
127
  * The default tools: the workflow-wide grant of a workflow that does not declare
111
128
  * `tools.allow_always` — the file tools (the runtime's file operations among
@@ -130,15 +147,29 @@ export const DEFAULT_TOOLS = new Set([
130
147
  RUN_TOOL,
131
148
  ]);
132
149
  /**
133
- * The framework's subagent-dispatch tool, which the runtime uses only to
134
- * dispatch its own grading rubrics.
150
+ * The always-on tools an **automated** state (a grader or a code state) is never
151
+ * offered, whatever its grants: the planning scratchpad, which only a model's
152
+ * own loop reads back, and the two sandbox entry points — a code state *is* a
153
+ * script, and a grader judges rather than computes. A `tools.allow` entry naming
154
+ * one in such a state is a `validate` error.
155
+ */
156
+ export const AGENT_ONLY_TOOLS = new Set([TODO_TOOL, EVAL_TOOL, RUN_TOOL]);
157
+ /**
158
+ * Every tool an automated state is never offered, whatever its own or the
159
+ * workflow-wide grant names: the agent-only tools, and parking and resetting —
160
+ * an automated state cannot park, and a reset is the agent's way back. The one
161
+ * set the machine filters a grant by and `validate` reports a grant against.
162
+ */
163
+ export const NOT_OFFERED_TO_AUTOMATED = new Set([...AGENT_ONLY_TOOLS, WAIT_TOOL, RESET_TOOL]);
164
+ /**
165
+ * Deep Agents' subagent-dispatch tool, which Deep Agents registers whatever the
166
+ * assembly passes (it always builds its general-purpose subagent).
135
167
  *
136
- * It is never disclosed and never grantable. A rubric grades the agent rather
137
- * than serving it, so the agent has no use for the tool: naming it in a
138
- * `tools.allow` or `tools.allow_always` entry is a `validate` error, and the
139
- * kernel refuses an agent-initiated call in every state. Registered rubrics make
140
- * the tool *exist* in the assembled tool list — the runtime needs a runnable —
141
- * so withholding it is enforced rather than incidental.
168
+ * It is never grantable: grading is a grader state and delegating work is a
169
+ * sub-workflow, so no state has a use for it. Naming it in a `tools.allow` or
170
+ * `tools.allow_always` entry is a `validate` error, and the kernel refuses a
171
+ * call to it in every state, whatever an entry discloses — withholding it is
172
+ * enforced rather than incidental.
142
173
  */
143
174
  export const UNGRANTABLE_TOOLS = new Set(["task"]);
144
175
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tool-names.js","sourceRoot":"","sources":["../../src/machine/tool-names.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAE9C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAC9C,qDAAqD;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;AAC1C,iFAAiF;AACjF,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CAAC;AACxC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;AAC1C,wFAAwF;AACxF,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CAAC;AACxC,gEAAgE;AAChE,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC;AACtC,gCAAgC;AAChC,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAC1D,oDAAoD;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE9C,uFAAuF;AACvF,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC;AAEvC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAEnH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAExD,gEAAgE;AAChE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,GAAG,oBAAoB,GAAG,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CAAC;AAExC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IAChE,YAAY;IACZ,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;IACR,kBAAkB;IAClB,kBAAkB;CACnB,CAAC,CAAC;AAEH,6DAA6D;AAC7D,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IAC/D,YAAY;IACZ,UAAU;IACV,SAAS;IACT,UAAU;IACV,kBAAkB;IAClB,kBAAkB;CACnB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IACxD,IAAI;IACJ,WAAW;IACX,YAAY;IACZ,WAAW;IACX,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAEnC;IAEA;IAHX,YACW,KAAe;IACxB,kGAAkG;IACzF,cAA2C,QAAQ;QAE5D,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,KAAK,CACH,WAAW,KAAK,QAAQ;YACtB,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB;gBACvE,IAAI,mBAAmB,yDAAyD;gBAChF,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG;YACpC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iCAAiC;gBACzF,iBAAiB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB;gBACvF,2BAA2B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAC1F,CAAC;QAdO,UAAK,GAAL,KAAK,CAAU;QAEf,gBAAW,GAAX,WAAW,CAAwC;QAa5D,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAgD;IACxF,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;IAChH,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"tool-names.js","sourceRoot":"","sources":["../../src/machine/tool-names.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,12 @@ export declare function declaredPathsOf(tool: string, paths: ToolPaths | undefin
54
54
  export declare function malformedPathArgs(tool: string, paths: ToolPaths | undefined, args: Record<string, unknown>): string[];
55
55
  /** The arguments a `paths:` guard matches for `tool`: its declared ones, else `file_path`. */
56
56
  export declare function pathArgsOf(paths: ToolPaths | undefined): string[];
57
+ /**
58
+ * The arguments of `tool` an `args` guard matches as paths: those {@link pathArgsOf}
59
+ * names, plus the built-in aliases the tool reads them by. Any other argument
60
+ * is text.
61
+ */
62
+ export declare function pathArgNamesOf(tool: string, paths: ToolPaths | undefined): string[];
57
63
  /**
58
64
  * The values a `paths:` guard on `tool` tests: every path of every argument it
59
65
  * matches ({@link pathArgsOf}), read through the built-in aliases as the path
@@ -137,6 +137,16 @@ export function pathArgsOf(paths) {
137
137
  const declared = Object.keys(paths ?? {});
138
138
  return declared.length > 0 ? declared : [DEFAULT_PATH_ARG];
139
139
  }
140
+ /**
141
+ * The arguments of `tool` an `args` guard matches as paths: those {@link pathArgsOf}
142
+ * names, plus the built-in aliases the tool reads them by. Any other argument
143
+ * is text.
144
+ */
145
+ export function pathArgNamesOf(tool, paths) {
146
+ const names = pathArgsOf(paths);
147
+ const aliases = BUILT_IN_PATH_ALIASES[tool] ?? {};
148
+ return [...names, ...names.flatMap((arg) => (aliases[arg] === undefined ? [] : [aliases[arg]]))];
149
+ }
140
150
  /**
141
151
  * The values a `paths:` guard on `tool` tests: every path of every argument it
142
152
  * matches ({@link pathArgsOf}), read through the built-in aliases as the path