@archmax-ai/harness 0.7.1 → 0.8.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 (47) hide show
  1. package/README.md +11 -4
  2. package/dist/assembly/compose.d.ts +5 -3
  3. package/dist/assembly/compose.js +8 -5
  4. package/dist/assembly/compose.js.map +1 -1
  5. package/dist/assembly/index.d.ts +3 -2
  6. package/dist/assembly/index.js.map +1 -1
  7. package/dist/authoring-skill/archmax-harness/SKILL.md +9 -5
  8. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +3 -2
  9. package/dist/authoring-skill/archmax-harness/references/diagnostics.md +5 -3
  10. package/dist/authoring-skill/archmax-harness/references/hook-and-test-scripts.md +5 -4
  11. package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +78 -46
  12. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +30 -14
  13. package/dist/core/platform-prompt.generated.js +1 -1
  14. package/dist/core/platform-prompt.generated.js.map +1 -1
  15. package/dist/core/workspace-prompt.js +2 -1
  16. package/dist/core/workspace-prompt.js.map +1 -1
  17. package/dist/kernel/kernel.js +12 -8
  18. package/dist/kernel/kernel.js.map +1 -1
  19. package/dist/machine/lint-spec.js +62 -29
  20. package/dist/machine/lint-spec.js.map +1 -1
  21. package/dist/machine/machine.d.ts +33 -17
  22. package/dist/machine/machine.js +48 -28
  23. package/dist/machine/machine.js.map +1 -1
  24. package/dist/machine/spec-schema.d.ts +15 -7
  25. package/dist/machine/spec-schema.js +43 -15
  26. package/dist/machine/spec-schema.js.map +1 -1
  27. package/dist/machine/tool-names.d.ts +10 -7
  28. package/dist/machine/tool-names.js +11 -8
  29. package/dist/machine/tool-names.js.map +1 -1
  30. package/dist/machine/tool-paths.d.ts +4 -3
  31. package/dist/machine/tool-paths.js +4 -3
  32. package/dist/machine/tool-paths.js.map +1 -1
  33. package/dist/machine/types.d.ts +14 -8
  34. package/dist/machine/types.js.map +1 -1
  35. package/dist/public/spec.d.ts +3 -3
  36. package/dist/public/spec.js +3 -3
  37. package/dist/public/spec.js.map +1 -1
  38. package/dist/workflow/render-prompt.d.ts +2 -1
  39. package/dist/workflow/render-prompt.js +24 -5
  40. package/dist/workflow/render-prompt.js.map +1 -1
  41. package/package.json +1 -1
  42. package/skills/archmax-harness/SKILL.md +9 -5
  43. package/skills/archmax-harness/references/backend-integration.md +3 -2
  44. package/skills/archmax-harness/references/diagnostics.md +5 -3
  45. package/skills/archmax-harness/references/hook-and-test-scripts.md +5 -4
  46. package/skills/archmax-harness/references/workflow-schema.md +78 -46
  47. package/skills/archmax-harness/references/workflow-yaml.md +30 -14
@@ -27,7 +27,19 @@ metadata: { canvas: {} } # host data, never read; accepted at root, stat
27
27
  extensions: { hooks: [] } # host-registered hook kinds; rarely authored
28
28
 
29
29
  tools: # tool governance, workflow level
30
- allow_always: [] # granted in EVERY state; a state's allow adds to it
30
+ allow_always: # granted in EVERY state; a state's allow adds to or narrows it.
31
+ - ls # The DEFAULT TOOLS: declared, this list REPLACES them (absent,
32
+ - read_file # all twelve are granted), so a new workflow lists all twelve and
33
+ - write_file # removes only what it must not have. Workflow-wide host tools
34
+ - edit_file # go below them; state-specific ones under a state's tools.allow.
35
+ - glob
36
+ - grep
37
+ - copy_file
38
+ - move_file
39
+ - remove_file
40
+ - write_todos
41
+ - archmax_eval
42
+ - archmax_run
31
43
  forbid_always: [archmax_reset] # denied in EVERY state; beats every grant; "*" = every tool
32
44
  skills: # skill governance, workflow level — SLUGS, never paths
33
45
  allow_always: [order-data] # enabled in every state; [] = every capability is state-specific
@@ -67,10 +79,10 @@ states:
67
79
  tools:
68
80
  allow: # adds to allow_always; entry = name | { tool, args: {<arg>: [globs]} } | { tool, paths }
69
81
  - lookup_customer
70
- - { tool: archmax_run, paths: ["skills/refund-policy/scripts/**"] } # narrows an always-on tool, within an enabled skill
82
+ - { tool: archmax_run, paths: ["skills/refund-policy/scripts/**"] } # narrows the workflow-wide grant, within an enabled skill
71
83
  - { tool: write_file, args: { file_path: ["reports/${{case_id}}/*.json"] } } # variable-bound guard
72
84
  - archmax_workflow_enrich-order # runs a sibling workflow
73
- forbid: [archmax_wait] # denies here; beats every grant incl. the always-on surface
85
+ forbid: [archmax_wait] # denies here; beats every grant incl. allow_always
74
86
  skills:
75
87
  allow: [refund-policy] # adds to allow_always (bundle readable + scripts runnable, no path entries)
76
88
  forbid: [order-data] # subtracts, even from allow_always ([] never denies)
@@ -81,9 +93,10 @@ states:
81
93
  metadata: { x: 40, y: 180 }
82
94
  transitions: # none => terminal state
83
95
  - to: review # slug; must exist
84
- description: The decision is recorded and needs a person's approval. # REQUIRED, non-empty:
85
- # the ONLY thing the agent knows about this edge (on a human
86
- # state, also the button label). Say WHEN, never where.
96
+ description: The decision is recorded and needs a person's approval. # what the agent routes
97
+ # on. Say WHEN, never where. Omit it to route on the target's
98
+ # instructions instead (target must have some); REQUIRED on a
99
+ # human state's transitions, where it is the button label.
87
100
  type: none # approve | reject | refine | none — semantic on human states
88
101
 
89
102
  review: # human state: parks with a decision record; a PERSON picks the edge
@@ -252,14 +265,17 @@ no way to see more of the graph.
252
265
 
253
266
  Closed by default; **deny beats allow, and no narrower level widens a denial.**
254
267
 
255
- - **Always on, never declared**: `ls`, `read_file`, `write_file`,
256
- `edit_file`, `copy_file`, `move_file`, `remove_file`, `glob`, `grep`,
257
- `write_todos`, `archmax_eval`, `archmax_run`,
258
- and the controls `archmax_advance`, `archmax_reset`, `archmax_wait`,
259
- `archmax_raise`, `archmax_get_variables`, `archmax_set_variables`. Any other
260
- tool needs an
261
- `allow`/`allow_always` entry. An entry naming an always-on tool **narrows**
262
- it. `task` is ungrantable (error).
268
+ - **The workflow-wide grant**: `tools.allow_always`, in every state. Absent,
269
+ it is the **default tools**: `ls`, `read_file`, `write_file`, `edit_file`,
270
+ `copy_file`, `move_file`, `remove_file`, `glob`, `grep`, `write_todos`,
271
+ `archmax_eval`, `archmax_run`. Declared (`[]` included), it is exactly what it
272
+ lists and **replaces** the default tools, so a new workflow lists all twelve
273
+ (as in the skeleton) and removes only what it must not have. Never declared:
274
+ the controls `archmax_advance`, `archmax_reset`, `archmax_wait`,
275
+ `archmax_raise`, `archmax_get_variables`, `archmax_set_variables`, and a host's
276
+ `essentialTools`. Any other tool needs an `allow`/`allow_always` entry. A
277
+ state entry naming a granted tool **narrows** it there, and one naming a
278
+ default tool the list omits grants it there. `task` is ungrantable (error).
263
279
  - **Entries**: bare name; `{ tool, args: { <arg>: ["glob", …] } }` (matches
264
280
  if any glob matches; `${{var}}` allowed); `{ tool, paths: [...] }`
265
281
  (guards every path argument the tool declares — all must match to grant,
@@ -1,4 +1,4 @@
1
1
  // Generated from platform-prompt.md by scripts/generate-platform-prompt.mjs. Do not edit.
2
2
  /** The bundled platform prompt: how to move through the graph and which tools are the runtime's. */
3
- export const PLATFORM_PROMPT = "# Graph state execution\n\nYou run inside a **declarative workflow graph**: you occupy one **state** at a\ntime, and its spec governs which tools you may call and which files you may read\nor write.\n\n## How you move\n\n<!-- top-level-only -->\n1. **Name the run first.** Before anything else in your first turn, call\n **`archmax_set_variables({ \"variables\": { \"title\": \"<a few words>\" } })`** — see\n \"Naming the run\" below.\n<!-- /top-level-only -->\n2. Do the current state's work. Write files where its instructions or listed\n mounts say; `scratchpad/`, always writable, is only the default.\n3. Call **`archmax_advance({ \"to\": \"<next>\", \"reason\": \"<one sentence>\" })`**,\n choosing `to` from the transitions under \"Current state\" by their descriptions.\n `to` takes the target's **slug** — the backticked token on the transition line.\n A parenthesized note gives the edge's type (`approve`, `reject`, `refine`) and\n marks a **human decision node** or a **terminal** target. A state with no\n transitions says so: the run ends there, so finish its work and stop.\n4. The runtime validates the edge and runs this state's `after` hook and then the\n target's `before` hook — either may send you back to correct or veto the move —\n before the next state's tools unlock.\n\n**One transition per message.** A second `archmax_advance` in the same message is\nrefused; chain states over successive turns.\n\n**Text alone ends your turn.** A message with no tool call is the last thing you\ndo until someone writes again: the run stays where it is, and whatever you meant\nto do next never happens. So when the work is to tell the person something *and\nthen* advance, wait or raise, write that text and make the call in the **same\nmessage**.\n\n**A conversation keeps its position.** A new message finds you in the state your\nlast turn ended in. When that state can serve it, stay and answer there: a new\nmessage is not a reason to reset. If it cannot — no transition reaches what was\nasked, or an earlier turn took a wrong path — call\n**`archmax_reset({ \"reason\": \"<one sentence>\" })`** to return to the state the\nconversation began in. The conversation and every file written so far are kept.\nA reset only ever goes back there, so never call it while you are still in that\nstate — nothing has moved you out of it since the conversation began or since\nyour last reset.\n\n**A terminal state you moved into never serves a follow-up.** When a message lands\non a run that was *already sitting* in a terminal state it moved into, reset\n**before** answering, or you skip every state the answer depends on. Three cases\ntake no reset: a run you parked with `archmax_wait`, which resumes where it was on\npurpose; a terminal state you were routed into *this turn*, by your own advance or\na person's decision — do its work, then stop; and a terminal state the\nconversation began in, where a reset would leave you exactly where you are —\nanswer there. Never reset out of a state you just arrived in, and never\n`archmax_wait` for the runtime to move you.\n\n### Waiting and deciding\n\n- Something has to **arrive** from outside the run — an event, a callback, a reply\n someone sends in their own time → call\n **`archmax_wait({ \"reason\": \"<what you are waiting for>\" })`** and stop. You\n resume in **this same state**, with what arrived in your transcript and any\n values it carried in the variables. Waiting for a *time*? Add `\"until\": \"1d\"` (a\n duration or an ISO-8601 instant); an earlier event still resumes you.\n- Someone has to **decide**, approve, review or choose → `archmax_advance` into the\n **human decision node** the author declared for it. The runtime parks the run\n there and presents the options itself: do the work its transitions require,\n advance in, and stop. Never advance out of one yourself, and never `archmax_wait`\n to ask for a decision.\n\n### When the work fails\n\nIf the task **cannot be completed** — a system it depends on keeps failing, what it\nneeds does not exist, the request is one this workflow cannot serve — try to\nrecover once or twice (a retry, another tool, another approach). If that fails\ntoo, call **`archmax_raise({ \"code\": \"<short-token>\", \"reason\": \"<what failed>\" })`**:\nit ends the session as a failure from any state, and whoever started the run\nreads your `code` (e.g. `orders-unavailable`) and `reason`. **When you are about to\ntell the person the task cannot be done, make that call in the same message**: the\nmessage's text is what they read, and no other tool call goes with it. A reply\nthat only explains the failure ends the run as a success. Never raise to finish\nwork that worked, or in place of `archmax_wait`, `archmax_reset` or a human node.\n\n### The state you are in\n\nThe active state's **`instructions`** arrive under a \"Current state\" heading:\nfollow them. You are shown the edges out of this state and nothing else of the\ngraph — there is no map of the workflow to consult. Do not guess at slugs, and do\nnot treat a state named anywhere else (a message, a file, your own earlier turns)\nas somewhere you can move to. Skills the state may use are listed under \"Skills\navailable in this state\", each naming the `SKILL.md` to read first.\n\n**`before`/`after` hooks** run on their own and may approve, ask for a\ncorrection, or block the run: fix the work rather than arguing with it.\n\n## Tools\n\nTool access is **closed by default**: you see only the active state's tools, and\na state may narrow a tool's arguments (e.g. `write_file` to one path). Tools named\n`archmax_*` are the runtime's controls. A blocked call names the tool, the state\nand the policy: fix the call, or advance if you are done.\n\n**Write code instead of many calls.** **`archmax_eval({ \"code\": \"…\" })`**, in\nevery state, runs JavaScript in a sandbox where `tools.*` calls your tools,\ngoverned exactly as your own calls are. Reach for it by default for loops,\nfilters, arithmetic, or more than about two calls whose results feed each other:\n**only your last expression and whatever you `console.log` come back to you**, so\nthe rest of what those tools returned never enters the conversation. The REPL\nkeeps its state between calls. Your code cannot read the run's variables:\ninterpolate a scalar one into it with `${{name}}` (below), or use\n**`archmax_run({ \"file_path\": \"…\" })`**, the same sandbox subject to the state's\npath constraints, whose script receives whole structured values as\n`args.variables`.\n\n<!-- top-level-only -->\n**Naming the run.** `title` is a reserved run variable: a one-line label of a few\nwords (`Refund for order A-1042`) that tells this run apart in a list of runs.\nThis is step 1 above, and it is not optional. Write it from what the request\nalready says, **before** the state's own work and before any other tool call — it\nis a label, not a plan, so never read anything to produce one — and it still goes\nfirst when the state's instructions tell you to do something else first. After\nthat, leave it alone unless the conversation **as a whole** has moved to a\nsubject the old title no longer describes. Judge that against the whole\nconversation, not its latest message: a follow-up, a detail, a correction or a\nside question on the same subject keeps the title. When you do rename, name what\nthe whole conversation is about. Never pass `lock` with it: that call is refused.\n\n<!-- /top-level-only -->\n**Reference a run variable instead of retyping it.** In any text argument,\n`${{name}}` (or `${{name.path.to.value}}`) is replaced with that variable's value\nbefore the call runs, also **inside** a longer string and as often as you like:\n\n```\n\"Thanks — your refund is on its way.\n\n--- Original message ---\n\n${{inbound.text}}\"\n```\n\nPrefer the reference to writing the value out: the value is what you spend tokens\non, and a reference cannot paraphrase, truncate or mistype it.\n`archmax_get_variables` shows what is set; a reference that does not resolve\nrefuses the call and says why. To write `${{…}}` literally, double the dollar:\n`$${{name}}`.\n";
3
+ export const PLATFORM_PROMPT = "# Graph state execution\n\nYou run inside a **declarative workflow graph**: you occupy one **state** at a\ntime, and its spec governs which tools you may call and which files you may read\nor write.\n\n## How you move\n\n<!-- top-level-only -->\n1. **Name the run first.** Before anything else in your first turn, call\n **`archmax_set_variables({ \"variables\": { \"title\": \"<a few words>\" } })`** — see\n \"Naming the run\" below.\n<!-- /top-level-only -->\n2. Do the current state's work. Write files where its instructions or listed\n mounts say; `scratchpad/` is only the default.\n3. Call **`archmax_advance({ \"to\": \"<next>\", \"reason\": \"<one sentence>\" })`**,\n choosing `to` from the transitions under \"Current state\" by their descriptions.\n `to` takes the target's **slug** — the backticked token on the transition line.\n A parenthesized note gives the edge's type (`approve`, `reject`, `refine`) and\n marks a **human decision node** or a **terminal** target. A state with no\n transitions says so: the run ends there, so finish its work and stop.\n4. The runtime validates the edge and runs this state's `after` hook and then the\n target's `before` hook — either may send you back to correct or veto the move —\n before the next state's tools unlock.\n\n**One transition per message.** A second `archmax_advance` in the same message is\nrefused; chain states over successive turns.\n\n**Text alone ends your turn.** A message with no tool call is the last thing you\ndo until someone writes again: the run stays where it is, and whatever you meant\nto do next never happens. So when the work is to tell the person something *and\nthen* advance, wait or raise, write that text and make the call in the **same\nmessage**.\n\n**A conversation keeps its position.** A new message finds you in the state your\nlast turn ended in. When that state can serve it, stay and answer there: a new\nmessage is not a reason to reset. If it cannot — no transition reaches what was\nasked, or an earlier turn took a wrong path — call\n**`archmax_reset({ \"reason\": \"<one sentence>\" })`** to return to the state the\nconversation began in. The conversation and every file written so far are kept.\nA reset only ever goes back there, so never call it while you are still in that\nstate — nothing has moved you out of it since the conversation began or since\nyour last reset.\n\n**A terminal state you moved into never serves a follow-up.** When a message lands\non a run that was *already sitting* in a terminal state it moved into, reset\n**before** answering, or you skip every state the answer depends on. Three cases\ntake no reset: a run you parked with `archmax_wait`, which resumes where it was on\npurpose; a terminal state you were routed into *this turn*, by your own advance or\na person's decision — do its work, then stop; and a terminal state the\nconversation began in, where a reset would leave you exactly where you are —\nanswer there. Never reset out of a state you just arrived in, and never\n`archmax_wait` for the runtime to move you.\n\n### Waiting and deciding\n\n- Something has to **arrive** from outside the run — an event, a callback, a reply\n someone sends in their own time → call\n **`archmax_wait({ \"reason\": \"<what you are waiting for>\" })`** and stop. You\n resume in **this same state**, with what arrived in your transcript and any\n values it carried in the variables. Waiting for a *time*? Add `\"until\": \"1d\"` (a\n duration or an ISO-8601 instant); an earlier event still resumes you.\n- Someone has to **decide**, approve, review or choose → `archmax_advance` into the\n **human decision node** the author declared for it. The runtime parks the run\n there and presents the options itself: do the work its transitions require,\n advance in, and stop. Never advance out of one yourself, and never `archmax_wait`\n to ask for a decision.\n\n### When the work fails\n\nIf the task **cannot be completed** — a system it depends on keeps failing, what it\nneeds does not exist, the request is one this workflow cannot serve — try to\nrecover once or twice (a retry, another tool, another approach). If that fails\ntoo, call **`archmax_raise({ \"code\": \"<short-token>\", \"reason\": \"<what failed>\" })`**:\nit ends the session as a failure from any state, and whoever started the run\nreads your `code` (e.g. `orders-unavailable`) and `reason`. **When you are about to\ntell the person the task cannot be done, make that call in the same message**: the\nmessage's text is what they read, and no other tool call goes with it. A reply\nthat only explains the failure ends the run as a success. Never raise to finish\nwork that worked, or in place of `archmax_wait`, `archmax_reset` or a human node.\n\n### The state you are in\n\nThe active state's **`instructions`** arrive under a \"Current state\" heading:\nfollow them. You are shown the edges out of this state and nothing else of the\ngraph — there is no map of the workflow to consult. Do not guess at slugs, and do\nnot treat a state named anywhere else (a message, a file, your own earlier turns)\nas somewhere you can move to. Skills the state may use are listed under \"Skills\navailable in this state\", each naming the `SKILL.md` to read first.\n\n**`before`/`after` hooks** run on their own and may approve, ask for a\ncorrection, or block the run: fix the work rather than arguing with it.\n\n## Tools\n\nTool access is **closed by default**: you see only the active state's tools, and\na state may narrow a tool's arguments (e.g. `write_file` to one path). Tools named\n`archmax_*` are the runtime's controls. A blocked call names the tool, the state\nand the policy: fix the call, or advance if you are done.\n\n**Write code instead of many calls.** **`archmax_eval({ \"code\": \"…\" })`**, when\nyour tools include it, runs JavaScript in a sandbox where `tools.*` calls your tools,\ngoverned exactly as your own calls are. Reach for it by default for loops,\nfilters, arithmetic, or more than about two calls whose results feed each other:\n**only your last expression and whatever you `console.log` come back to you**, so\nthe rest of what those tools returned never enters the conversation. The REPL\nkeeps its state between calls. Your code cannot read the run's variables:\ninterpolate a scalar one into it with `${{name}}` (below), or use\n**`archmax_run({ \"file_path\": \"…\" })`**, the same sandbox subject to the state's\npath constraints, whose script receives whole structured values as\n`args.variables`.\n\n<!-- top-level-only -->\n**Naming the run.** `title` is a reserved run variable: a one-line label of a few\nwords (`Refund for order A-1042`) that tells this run apart in a list of runs.\nThis is step 1 above, and it is not optional. Write it from what the request\nalready says, **before** the state's own work and before any other tool call — it\nis a label, not a plan, so never read anything to produce one — and it still goes\nfirst when the state's instructions tell you to do something else first. After\nthat, leave it alone unless the conversation **as a whole** has moved to a\nsubject the old title no longer describes. Judge that against the whole\nconversation, not its latest message: a follow-up, a detail, a correction or a\nside question on the same subject keeps the title. When you do rename, name what\nthe whole conversation is about. Never pass `lock` with it: that call is refused.\n\n<!-- /top-level-only -->\n**Reference a run variable instead of retyping it.** In any text argument,\n`${{name}}` (or `${{name.path.to.value}}`) is replaced with that variable's value\nbefore the call runs, also **inside** a longer string and as often as you like:\n\n```\n\"Thanks — your refund is on its way.\n\n--- Original message ---\n\n${{inbound.text}}\"\n```\n\nPrefer the reference to writing the value out: the value is what you spend tokens\non, and a reference cannot paraphrase, truncate or mistype it.\n`archmax_get_variables` shows what is set; a reference that does not resolve\nrefuses the call and says why. To write `${{…}}` literally, double the dollar:\n`$${{name}}`.\n";
4
4
  //# sourceMappingURL=platform-prompt.generated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-prompt.generated.js","sourceRoot":"","sources":["../../src/core/platform-prompt.generated.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,oGAAoG;AACpG,MAAM,CAAC,MAAM,eAAe,GAAW,k/PAAk/P,CAAC"}
1
+ {"version":3,"file":"platform-prompt.generated.js","sourceRoot":"","sources":["../../src/core/platform-prompt.generated.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,oGAAoG;AACpG,MAAM,CAAC,MAAM,eAAe,GAAW,4+PAA4+P,CAAC"}
@@ -54,7 +54,8 @@ export function renderWorkspaceZones(mounts = NO_MOUNTS) {
54
54
  const writable = mountNames(mounts, true);
55
55
  const bullets = [
56
56
  `- **\`${SESSION_OPEN_DIR}/\`** — your working area: intermediate files and the ` +
57
- `artifacts you produce. Always readable and writable, whatever state you are in.`,
57
+ `artifacts you produce. Readable and writable in every state, with the file tools ` +
58
+ `that state gives you.`,
58
59
  `- **${offload}** — where the runtime parks oversized tool results and ` +
59
60
  `history. Read them when handed a path (paginate with \`read_file\` offset/limit); ` +
60
61
  `you cannot write there.`,
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-prompt.js","sourceRoot":"","sources":["../../src/core/workspace-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-prompt.js","sourceRoot":"","sources":["../../src/core/workspace-prompt.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ADVANCE_TOOL, ESSENTIAL_TOOLS, HARNESS_CONTROL_TOOLS, EVAL_TOOL, SET_VARIABLES_TOOL, UNGRANTABLE_TOOLS, } from "../machine/tool-names.js";
1
+ import { ADVANCE_TOOL, DEFAULT_TOOLS, HARNESS_CONTROL_TOOLS, EVAL_TOOL, SET_VARIABLES_TOOL, UNGRANTABLE_TOOLS, } from "../machine/tool-names.js";
2
2
  import { FORBID_ANY_TOOL } from "../machine/spec-schema.js";
3
3
  import { argsSatisfy, normalizeAllowEntry, pathGuardMatches, } from "../machine/allow.js";
4
4
  import { BUILT_IN_TOOL_PATH_TABLE, declaredPathsOf, malformedPathArgs, MUTATING_ACCESSES, OFFLOAD_ACCESSES, pathValuesOf, SCRATCHPAD_ACCESSES, } from "../machine/tool-paths.js";
@@ -562,17 +562,21 @@ export function compileForbiddenSkillRules(slugs, source) {
562
562
  * still block it), just ahead of the per-state defaults — so it loosens only
563
563
  * the state `allow` list, never the governed run paths outside it.
564
564
  *
565
- * It opens these areas only to an **essential** tool — one every state already
566
- * permits (the file tools, the file operations, the host's `essentialTools`) —
567
- * sparing it a grant it does not need where a state narrows it. Any other tool
568
- * is left to the state's grant: declaring a host tool's path arguments only ever
569
- * narrows what it may do, and never makes it callable in a state that does not
570
- * grant it.
565
+ * It opens these areas only to a default file tool the active state is granted
566
+ * — by the workflow-wide grant or its own entry, whatever that entry narrows —
567
+ * and to the host's `essentialTools` (see {@link WorkflowMachine.opensWorkingAreas}).
568
+ * A default tool the state is not granted gets nothing here, so the areas never
569
+ * make a withheld tool callable. Any other tool is left to the state's grant:
570
+ * declaring a host tool's path arguments only ever narrows what it may do, and
571
+ * never makes it callable in a state that does not grant it.
571
572
  */
572
573
  const runOpenAccessRule = (action, api) => {
573
574
  if (action.kind !== "tool-call")
574
575
  return null;
575
- if (!(api.machine ? api.machine.isEssential(action.tool) : ESSENTIAL_TOOLS.has(action.tool)))
576
+ const opens = api.machine
577
+ ? api.machine.opensWorkingAreas(action.state, action.tool)
578
+ : DEFAULT_TOOLS.has(action.tool);
579
+ if (!opens)
576
580
  return null;
577
581
  const paths = pathsOf(action, api);
578
582
  if (paths.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/kernel/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,GAGpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAsB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,EAAE,uBAAuB,EAA4B,MAAM,uBAAuB,CAAC;AAqH1F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAS;IACrE,0EAA0E;IAC1E,6EAA6E;IAC7E,yEAAyE;IACzE,GAAG,qBAAqB;IACxB,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,kBAAkB,GACtB,4EAA4E;IAC5E,KAAK,SAAS,yCAAyC,CAAC;AAE1D,MAAM,kBAAkB,GACtB,6FAA6F;IAC7F,+FAA+F;IAC/F,wEAAwE,CAAC;AAE3E,MAAM,KAAK,GAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAI9D;;;;;GAKG;AACH,SAAS,OAAO,CAAC,MAAsB,EAAE,GAAY;IACnD,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAClF,CAAC;AAED,oGAAoG;AACpG,SAAS,WAAW,CAAC,IAAY,EAAE,GAAqB;IACtD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxF,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,MAAsB,EAAE,IAAkB,EAAE,GAAY;IACvE,OAAO,IAAI,MAAM,CAAC,IAAI,QAAQ,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,kFAAkF;AAClF,SAAS,SAAS,CAAC,MAAsB,EAAE,IAAkB,EAAE,GAAY;IACzE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5E,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,MAAsB;IACrE,OAAO,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,UAAU,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAc,EACd,IAAwE;IAExE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACzE,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAE3E,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GACV,IAAI,CAAC,OAAO,KAAK,SAAS;YACxB,CAAC,CAAC,gGAAgG,IAAI,CAAC,MAAM,EAAE;YAC/G,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAA2B,EAAE;YACnE,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,CAAC;YACtC,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC;YACxC,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;gBACL,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW;gBACjD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,oEAAoE;gBACpE,uDAAuD;gBACvD,kBAAkB,EAAE,OAAO,CAAC,iBAAiB;gBAC7C,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAChF,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,kBAAkB,EAAE,KAAK;SAC1B,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACpD,CAAC;AAED,iFAAiF;AACjF,SAAS,eAAe,CACtB,KAAiB,EACjB,IAA+D;IAE/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yFAAyF;AACzF,SAAS,iBAAiB,CACxB,OAAwB,EACxB,KAAa,EACb,IAAY,EACZ,IAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QAC3C,CAAC,CAAC,+DAA+D,YAAY,GAAG;QAChF,CAAC,CAAC,8CAA8C,YAAY,yBAAyB,CAAC;IACxF,MAAM,MAAM,GACV,wBAAwB,IAAI,IAAI,MAAM,GAAG,MAAM,6BAA6B,KAAK,MAAM;QACvF,eAAe,KAAK,MAAM,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK;QAC7D,WAAW,CAAC;IACd,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC/E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,aAAa,GAAmB,CAAC,MAAM,EAAE,EAAE;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC1E,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,iBAAiB;QACzB,MAAM,EACJ,wBAAwB,MAAM,CAAC,IAAI,oDAAoD;YACvF,0FAA0F;QAC5F,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,aAAa,GAAmB,CAAC,MAAM,EAAE,EAAE;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7F,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,aAAa,GAAmB,CAAC,MAAM,EAAE,EAAE;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACpG,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,gBAAgB,GAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IACvD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC;YAAE,SAAS;QACvG,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,yEAAyE;QACzE,sDAAsD;QACtD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,gBAAgB;YACxB,MAAM,EACJ,uBAAuB,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,uBAAuB;gBACxE,WAAW,KAAK,qEAAqE;gBACrF,IAAI,gBAAgB,mDAAmD;YACzE,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,mBAAmB,GAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,CAAC;IAChG,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EACJ,uBAAuB,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,kCAAkC;YACnF,SAAS,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B;YAC7F,6DAA6D,gBAAgB,UAAU;YACvF,iBAAiB;QACnB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,kBAAkB,GAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IACzD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,aAAa,CAC1F,CAAC;IACF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EACJ,uBAAuB,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,gCAAgC;YACjF,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC;YACzF,sEAAsE,gBAAgB,MAAM;QAC9F,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,SAAS,GAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAChD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC;IACrF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,MAAsB,EACtB,IAAkB,EAClB,GAAY,EACZ,MAAqB;IAErB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvF,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,iBAAiB;QACzB,MAAM,EACJ,uBAAuB,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,0BAA0B,IAAI,WAAW;YAC1F,2EAA2E;QAC7E,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,SAAS,YAAY,CACnB,MAAsB,EACtB,IAAkB,EAClB,GAAY,EACZ,MAAqB;IAErB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CACvC,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAClC,CAAC;IACF,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,8EAA8E;IAC9E,0EAA0E;IAC1E,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,WAAW,GACf,OAAO,CAAC,MAAM,GAAG,CAAC;QAChB,CAAC,CAAC,wBAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC/C,CAAC,CAAC,oCAAoC,CAAC;IAC3C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EACJ,uBAAuB,EAAE,0BAA0B,IAAI,WAAW;gBAClE,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,IAAI;gBAC1G,+BAA+B,WAAW,EAAE;YAC9C,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EACJ,uBAAuB,EAAE,0BAA0B,IAAI,cAAc;YACrE,yBAAyB,KAAK,KAAK;YACnC,WAAW;QACb,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,SAAS,GAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAChD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC;IACrF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,MAAsB,EAAE,IAAkB,EAAE,GAAY;IACnF,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,IAAI,SAAS,CAAC;IAC9C,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/D,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EACJ,uBAAuB,EAAE,wBAAwB,IAAI,WAAW;gBAChE,2EAA2E;YAC7E,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzG,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EACJ,uBAAuB,EAAE,wBAAwB,IAAI,4BAA4B;gBACjF,qFAAqF;gBACrF,uDAAuD;YACzD,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxG,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,iBAAiB;QACzB,MAAM,EACJ,uBAAuB,EAAE,uBAAuB,IAAI,kCAAkC;YACtF,wFAAwF;YACxF,gCAAgC;QAClC,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,SAAS,YAAY,CAAC,MAAsB,EAAE,IAAkB,EAAE,GAAY;IAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,IAAI,SAAS,CAAC;IAC9C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/D,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,SAAS,EAAE,CAAC;QACd,yEAAyE;QACzE,yEAAyE;QACzE,qEAAqE;QACrE,0EAA0E;QAC1E,qDAAqD;QACrD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACvG,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC;YACtD,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,iEAAiE,CAAC;QACtE,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EACJ,uBAAuB,EAAE,uBAAuB,IAAI,iBAAiB;gBACrE,IAAI,KAAK,4BAA4B,GAAG,2BAA2B;gBACnE,IAAI,gBAAgB,cAAc;YACpC,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GACf,OAAO,CAAC,MAAM,GAAG,CAAC;QAChB,CAAC,CAAC,0BAA0B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACjD,CAAC,CAAC,mCAAmC,CAAC;IAC1C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EACJ,uBAAuB,EAAE,wBAAwB,IAAI,WAAW;gBAChE,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,IAAI;gBAC1G,+BAA+B,WAAW,EAAE;YAC9C,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EACJ,uBAAuB,EAAE,wBAAwB,IAAI,iBAAiB;YACtE,IAAI,KAAK,iEAAiE;YAC1E,WAAW;QACb,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAwB,EACxB,MAAc;IAEd,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO;QACL,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YACd,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,IAAI,SAAS,CAAC;YAC9C,IAAI,IAAI,GAAkB,IAAI,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3C,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;gBACtD,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvC,OAAO;gBACL,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EACJ,uBAAuB,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,wBAAwB,IAAI,WAAW;oBACxF,aAAa,MAAM,0CAA0C;oBAC7D,qDAAqD;gBACvD,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,OAAwB,EAAE,MAAc;IACtE,OAAO;QACL,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QACvF,GAAG,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,EAAE,MAAM,CAAC;QAC/E,GAAG,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,EAAE,MAAM,CAAC;KAChF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAwB,EAAE,MAAc;IACjF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO;QACL,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YACd,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC;YACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrC,IAAI,IAAI,GAAkB,IAAI,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3C,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACnC,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvC,OAAO;gBACL,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EACJ,uBAAuB,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,0BAA0B,IAAI,WAAW;oBAC1F,aAAa,MAAM,0CAA0C;oBAC7D,qDAAqD;gBACvD,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,iBAAiB,GAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IACxD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1G,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,4EAA4E;IAC5E,iEAAiE;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,UAAU,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC5E,IAAI,IAAI,KAAK,aAAa,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;QAC9C,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE;QACpD,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,cAAc,GAAmB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;IACxE,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,0EAA0E;IAC1E,0DAA0D;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACrC,IAAI,UAA8C,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;QACtD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;YACxB,UAAU,KAAK,OAAO,CAAC;QACzB,CAAC;KACF,CAAC,CAAC;IACH,IAAI,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAClE,6EAA6E;IAC7E,8DAA8D;IAC9D,IAAI,UAAU;QAAE,OAAO,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACvE,OAAO,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,mFAAmF;AACnF,SAAS,sBAAsB,CAC7B,KAAa,EACb,IAAY,EACZ,OAA+B;IAE/B,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,0BAA0B;QAClC,QAAQ,EAAE,IAAI;QACd,MAAM,EACJ,uBAAuB,IAAI,eAAe,KAAK,kBAAkB;YACjE,IAAI,OAAO,CAAC,SAAS,oCAAoC,OAAO,CAAC,MAAM,IAAI;YAC3E,sEAAsE;QACxE,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,mBAAmB,GAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,CACtF,CAAC;IACF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EACJ,wBAAwB,MAAM,CAAC,IAAI,0DAA0D;YAC7F,QAAQ,IAAI,CAAC,IAAI,oDAAoD;YACrE,6FAA6F;YAC7F,yCAAyC;QAC3C,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,gBAAgB,GAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IACvD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACzF,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,oBAAoB;QAC5B,MAAM,EACJ,wBAAwB,MAAM,CAAC,IAAI,eAAe,GAAG,sCAAsC;YAC3F,uEAAuE;QACzE,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7E,uEAAuE;IACvE,uEAAuE;IACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QACxC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACpD,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EACJ,wBAAwB,MAAM,CAAC,IAAI,SAAS,MAAM,kCAAkC;YACpF,KAAK,MAAM,oBAAoB,uBAAuB,CAAC,MAAM,CAAC,QAAQ;YACtE,mFAAmF;QACrF,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,YAAY,GAA8B;IAC9C,iFAAiF;IACjF,gBAAgB;IAChB,mBAAmB;IACnB,mBAAmB;IACnB,aAAa;IACb,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,0EAA0E;IAC1E,8EAA8E;IAC9E,SAAS;IACT,2EAA2E;IAC3E,2EAA2E;IAC3E,SAAS;CACV,CAAC;AAKF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAA2C,EAC3C,OAUC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,6BAA6B,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,KAAK,GAAqB,EAAE,CAAC;IAEnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,SAAS,CAAC,yBAAyB;QAC9C,MAAM,OAAO,GAAG,IAAI,KAAK,eAAe,CAAC;QACzC,MAAM,GAAG,GAAG,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,UAAU,KAAK,eAAe,CAAC;QAC1F,MAAM,KAAK,GAAG,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YACzB,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC7C,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAClD,IAAI,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC;YAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,IAAI,WAAW,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5C,OAAO;gBACL,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,qBAAqB;gBACvE,MAAM,EACJ,wBAAwB,MAAM,CAAC,IAAI,IAAI,MAAM,oBAAoB,KAAK,GAAG;oBACzE,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,mDAAmD;oBACxF,kBAAkB;gBACpB,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,aAAa,CAAC,KAA2B,EAAE,MAAsB,EAAE,GAAY;IACtF,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IACtC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACrF,OAAO,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC;IACnE,CAAC;IACD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;QAC5E,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,IAAI,UAAU,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,MAAsB,EAAE,GAAY;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,CAAC;IACD,OAAO,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,KAA2B;IACjD,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACtF,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;SACpD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,OAAwB,EACxB,WAA6B,EAC7B,KAAa;IAEb,OAAO;QACL,GAAG,YAAY;QACf,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAC/E,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3F,GAAG,WAAW;QACd,iBAAiB;QACjB,cAAc;KACf,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,cAAc,CACrB,OAAwB,EACxB,MAAsB,EACtB,WAA6B,EAC7B,aAA4B,EAC5B,SAAwB,EACxB,MAAqB;IAErB,MAAM,GAAG,GAAY,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACnE,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CACpB,OAAwB,EACxB,MAAsB,EACtB,cAAgC,EAAE,EAClC,gBAA+B,SAAS,EACxC,YAA2B,EAAE,EAC7B,SAAwB,SAAS;IAEjC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAExF,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,2EAA2E;YAC3E,sEAAsE;YACtE,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;YACzF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO;oBACL,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,qBAAqB;oBAC7B,MAAM,EACJ,iBAAiB,MAAM,CAAC,IAAI,UAAU,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBAC9E,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,mBAAmB;wBACvD,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,SAAS,kBAAkB,iBAAiB;iBACpF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;oBACL,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,oBAAoB;oBAC5B,MAAM,EACJ,wBAAwB,MAAM,CAAC,IAAI,SAAS,MAAM,CAAC,EAAE,KAAK;wBAC1D,CAAC,KAAK,CAAC,MAAM;4BACX,CAAC,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;4BAC5C,CAAC,CAAC,iCAAiC,CAAC;iBACzC,CAAC;YACJ,CAAC;YACD,OAAO,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE;gBACvC,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,IAAI;gBACV,EAAE,EAAE,MAAM,CAAC,EAAE;aACd,CAAC,CAAC;QACL,CAAC;QAED,KAAK,aAAa;YAChB,OAAO,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/kernel/kernel.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,36 @@ import { classifyWorkspacePath, SESSION_OPEN_DIR } from "../core/zones.js";
10
10
  import { guardReferences, normalizeAllowEntry } from "./allow.js";
11
11
  import { normalizeMountGrants } from "./mount-grants.js";
12
12
  import { triggerDeclarationSchema } from "./spec-schema.js";
13
- import { ADVANCE_TOOL, ESSENTIAL_TOOLS } from "./tool-names.js";
13
+ import { ADVANCE_TOOL, DEFAULT_TOOLS } from "./tool-names.js";
14
14
  import { BUILT_IN_TOOL_PATHS, MUTATING_ACCESSES, SCRATCHPAD_ACCESSES } from "./tool-paths.js";
15
15
  import { declaredVariableNames } from "./triggers.js";
16
16
  import { TRIGGER_VARIABLE } from "./variables.js";
17
17
  /** The block keys the SDK defines; anything else on a declaration is the host's. */
18
18
  const TRIGGER_KEYS = new Set(Object.keys(triggerDeclarationSchema.shape));
19
19
  const LABELED_TRANSITION_TYPES = ["approve", "reject", "refine"];
20
+ /**
21
+ * The tool and paths of an allow entry that narrows a mutating built-in to paths
22
+ * inside the always-open working area alone, or `null` for any other entry. Such
23
+ * an entry narrows nothing there: `tool.scratchpad` keeps the area open to the
24
+ * tool wherever it is granted, before the entry is consulted.
25
+ */
26
+ function scratchpadOnlyNarrowing(entry) {
27
+ const normalized = normalizeAllowEntry(entry);
28
+ const { tool, argMatchers } = normalized;
29
+ if (!tool || !argMatchers)
30
+ return null;
31
+ // A built-in that mutates, every path of which the scratchpad keeps open.
32
+ const declared = Object.entries(BUILT_IN_TOOL_PATHS[tool] ?? {});
33
+ const mutates = declared.some(([, access]) => MUTATING_ACCESSES.has(access));
34
+ if (!mutates || !declared.every(([, access]) => SCRATCHPAD_ACCESSES.has(access)))
35
+ return null;
36
+ const paths = normalized.fromPaths
37
+ ? (argMatchers.file_path ?? [])
38
+ : declared.flatMap(([arg]) => argMatchers[arg] ?? []);
39
+ if (paths.length === 0 || !paths.every((path) => classifyWorkspacePath(path) === "run-open"))
40
+ return null;
41
+ return { tool, paths };
42
+ }
20
43
  /** Findings for a spec the schema has accepted. `file` is left to the caller. */
21
44
  export function lintSpec(spec) {
22
45
  const out = [];
@@ -36,16 +59,37 @@ export function lintSpec(spec) {
36
59
  `Sessions already underway can still be decided, replied to and delivered to, and ` +
37
60
  `'archmax test' skips its cases. Remove the key to re-enable it.`);
38
61
  }
39
- // Essential built-ins are always permitted, and only a state's own entry
40
- // narrows them — so an `allow_always` entry naming one is inert. `task` is
41
- // conditional, so an entry naming it can be what discloses it.
42
- for (const entry of spec.tools?.allow_always ?? []) {
43
- const { tool, argMatchers } = normalizeAllowEntry(entry);
44
- if (!tool || !ESSENTIAL_TOOLS.has(tool))
62
+ // A declared `tools.allow_always` replaces the default tools rather than adding
63
+ // to them. One that names none of them — nor does any state's `tools.allow` —
64
+ // leaves an agent that cannot read a file, an offloaded tool result included:
65
+ // most often a workflow written as `allow_always: []` when the defaults were
66
+ // still implicit.
67
+ const declaredAlways = spec.tools?.allow_always;
68
+ if (declaredAlways !== undefined) {
69
+ const namesDefault = (entries) => (entries ?? []).some((entry) => {
70
+ const { tool } = normalizeAllowEntry(entry);
71
+ return tool !== undefined && DEFAULT_TOOLS.has(tool);
72
+ });
73
+ const grantsDefault = namesDefault(declaredAlways) || Object.values(spec.states).some((state) => namesDefault(state?.tools?.allow));
74
+ if (!grantsDefault) {
75
+ warn("tools.allow_always", `'tools.allow_always' is declared but grants none of the default tools ` +
76
+ `(${[...DEFAULT_TOOLS].join(", ")}), and no state's 'tools.allow' names one. A declared ` +
77
+ `'allow_always' replaces the default tools rather than adding to them, so this agent ` +
78
+ `cannot read a file, not even an offloaded tool result. List the default tools the ` +
79
+ `workflow needs under 'allow_always', or remove the key to grant them all.`);
80
+ }
81
+ }
82
+ // A guard on a workflow-wide grant binds, so one whose every path sits in the
83
+ // always-open working area reads as governance but narrows nothing there.
84
+ for (const [index, entry] of (spec.tools?.allow_always ?? []).entries()) {
85
+ const narrowed = scratchpadOnlyNarrowing(entry);
86
+ if (!narrowed)
45
87
  continue;
46
- warn("tools.allow_always", argMatchers
47
- ? `'tools.allow_always' constrains essential tool '${tool}', but essential tools are always permitted and the constraint is never enforced; narrow it per state with a 'tools.allow' entry instead`
48
- : `'tools.allow_always' lists essential tool '${tool}', which is always permitted; the entry is redundant`);
88
+ warn(`tools.allow_always.${index}`, `'tools.allow_always' allows '${narrowed.tool}' on ${narrowed.paths.map((p) => `'${p}'`).join(", ")}, ` +
89
+ `which is in the always-open '${SESSION_OPEN_DIR}/' area: those writes are permitted wherever ` +
90
+ `the tool is granted, regardless of this entry, so it does not constrain where inside ` +
91
+ `'${SESSION_OPEN_DIR}/' the write may land. Name an ordinary run path if the write itself ` +
92
+ `should be governed.`);
49
93
  }
50
94
  const alwaysSkills = spec.skills?.allow_always;
51
95
  const forbiddenSkills = spec.skills?.forbid_always ?? [];
@@ -178,8 +222,9 @@ export function lintSpec(spec) {
178
222
  if (state.type !== "human" && transitions.length > 1 && !state.instructions?.trim()) {
179
223
  warn(`${at}.instructions`, `State '${slug}' has ${transitions.length} outgoing transitions but no 'instructions'; add guidance so the agent classifies the request and routes with archmax_advance instead of leaving that decision to whichever state it lands in`);
180
224
  }
181
- // No routing-context advisory here: every transition now carries a non-empty
182
- // `description` by schema, and a state's `summary` reaches no model call.
225
+ // No routing-context advisory here: the schema refuses an edge with neither a
226
+ // `description` nor target `instructions` to route on, and a state's
227
+ // `summary` reaches no model call.
183
228
  if (state.type === "human") {
184
229
  if (!state.instructions?.trim()) {
185
230
  error(`${at}.instructions`, `Human state '${slug}' must declare 'instructions' describing the decision to present`);
@@ -188,7 +233,7 @@ export function lintSpec(spec) {
188
233
  error(`${at}.transitions`, `Human state '${slug}' must declare at least one outgoing transition the human can route to`);
189
234
  }
190
235
  // A missing button label is not checked here: the schema requires a
191
- // non-empty `description` on every transition, human or not.
236
+ // non-empty `description` on every transition of a human state.
192
237
  transitions.forEach((transition, index) => {
193
238
  // A decision routes the run *out* of the state: a self-edge is offered as
194
239
  // a button and then ends the run instead of routing.
@@ -225,24 +270,12 @@ export function lintSpec(spec) {
225
270
  }
226
271
  // An entry whose every path sits in the always-open working area reads as
227
272
  // governance but cannot act as one there: `tool.scratchpad` allows the write
228
- // before the state's list is consulted, in every state.
273
+ // before the state's list is consulted, wherever the tool is granted.
229
274
  for (const entry of state.tools?.allow ?? []) {
230
- const normalized = normalizeAllowEntry(entry);
231
- const { tool, argMatchers } = normalized;
232
- if (!tool || !argMatchers)
233
- continue;
234
- // A built-in that mutates, every path of which the scratchpad keeps open.
235
- const declared = Object.entries(BUILT_IN_TOOL_PATHS[tool] ?? {});
236
- const mutates = declared.some(([, access]) => MUTATING_ACCESSES.has(access));
237
- if (!mutates || !declared.every(([, access]) => SCRATCHPAD_ACCESSES.has(access)))
275
+ const narrowed = scratchpadOnlyNarrowing(entry);
276
+ if (!narrowed)
238
277
  continue;
239
- const paths = normalized.fromPaths
240
- ? (argMatchers.file_path ?? [])
241
- : declared.flatMap(([arg]) => argMatchers[arg] ?? []);
242
- if (paths.length === 0 || !paths.every((path) => classifyWorkspacePath(path) === "run-open")) {
243
- continue;
244
- }
245
- warn(`${at}.tools.allow`, `State '${slug}' allows '${tool}' on ${paths.map((p) => `'${p}'`).join(", ")}, which is in the always-open '${SESSION_OPEN_DIR}/' area: those writes are permitted in every state regardless of this entry, so it does not constrain where inside '${SESSION_OPEN_DIR}/' the write may land. Name an ordinary run path (e.g. '${slug}.json') if the write itself should be governed.`);
278
+ warn(`${at}.tools.allow`, `State '${slug}' allows '${narrowed.tool}' on ${narrowed.paths.map((p) => `'${p}'`).join(", ")}, which is in the always-open '${SESSION_OPEN_DIR}/' area: those writes are permitted wherever the tool is granted, regardless of this entry, so it does not constrain where inside '${SESSION_OPEN_DIR}/' the write may land. Name an ordinary run path (e.g. '${slug}.json') if the write itself should be governed.`);
246
279
  }
247
280
  }
248
281
  // A declaration is loose, so a host may decorate it; the SDK reads the keys it
@@ -1 +1 @@
1
- {"version":3,"file":"lint-spec.js","sourceRoot":"","sources":["../../src/machine/lint-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint-spec.js","sourceRoot":"","sources":["../../src/machine/lint-spec.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,10 @@ import { type VariableStore } from "./variables.js";
6
6
  import { type WorkflowSpecPaths } from "./load-spec.js";
7
7
  import { type TriggerSignature } from "./signature.js";
8
8
  import { type SessionPath, type TriggerBinding } from "./triggers.js";
9
- import { ALWAYS_ALLOWED_TOOLS, UNGRANTABLE_TOOLS, ESSENTIAL_TOOLS } from "./tool-names.js";
9
+ import { ALWAYS_ALLOWED_TOOLS, UNGRANTABLE_TOOLS, DEFAULT_TOOLS } from "./tool-names.js";
10
10
  import { type ToolPathTable, type ToolPaths } from "./tool-paths.js";
11
11
  import { type ForbidEntry, type HarnessSettings, type LifecycleHook, type MachineSpec, type MachineTransition } from "./types.js";
12
- export { ALWAYS_ALLOWED_TOOLS, ESSENTIAL_TOOLS, UNGRANTABLE_TOOLS };
12
+ export { ALWAYS_ALLOWED_TOOLS, DEFAULT_TOOLS, UNGRANTABLE_TOOLS };
13
13
  /**
14
14
  * Read-only context a guard check consults: the run's variables (for `${{…}}`
15
15
  * substitution) and a sink for the first unresolvable reference, which the
@@ -29,8 +29,9 @@ export interface GuardContext {
29
29
  export declare class WorkflowMachine {
30
30
  readonly spec: MachineSpec;
31
31
  /**
32
- * Host-declared tool names treated as essential — always disclosed and
33
- * permitted in every state, exactly like the built-in {@link ESSENTIAL_TOOLS}.
32
+ * The host's `essentialTools`: always disclosed and permitted in every state,
33
+ * whatever the workflow's `tools.allow_always` declares — the host opted
34
+ * them in, not the workflow. A state's own entry still narrows one.
34
35
  */
35
36
  private readonly extraEssential;
36
37
  /** Every tool's declared path arguments: the built-ins plus the host's. */
@@ -56,8 +57,8 @@ export declare class WorkflowMachine {
56
57
  /**
57
58
  * This machine with `extra` path declarations added to its table: how a
58
59
  * composition declares the `file` arguments of the delegation tools it binds,
59
- * which only reading each target's signature reveals. The spec, the essential
60
- * tools and every other declaration are unchanged.
60
+ * which only reading each target's signature reveals. The spec, the host's
61
+ * `essentialTools` and every other declaration are unchanged.
61
62
  */
62
63
  withToolPaths(extra: Readonly<Record<string, ToolPaths>>): WorkflowMachine;
63
64
  /** The path arguments `tool` declares, or `undefined` for a tool with none. */
@@ -245,16 +246,29 @@ export declare class WorkflowMachine {
245
246
  private allowEntries;
246
247
  private allowAlwaysEntries;
247
248
  /**
248
- * Whether `tool` is essential — always disclosed and permitted, in every state:
249
- * the built-ins of {@link ESSENTIAL_TOOLS} and the host's `essentialTools`.
249
+ * The workflow-wide grant: the declared `tools.allow_always` entries, guards
250
+ * included (an empty list included), or — when the key is absent — the
251
+ * {@link DEFAULT_TOOLS}, unconstrained. A declared list *replaces* the default
252
+ * tools; it never adds to them. A non-list (a spec whose schema failed, which
253
+ * only `validate` builds a machine from) counts as absent. `task` is in it
254
+ * under no circumstances (see {@link UNGRANTABLE_TOOLS}).
250
255
  */
251
- isEssential(tool: string): boolean;
256
+ private workflowGrant;
252
257
  /**
253
- * The effective essential set: the built-ins plus the host's `essentialTools`.
254
- * Unconditional — no property of a workspace or a spec adds to it, and `task`
255
- * is in it under no circumstances (see {@link UNGRANTABLE_TOOLS}).
258
+ * Whether the always-open working areas (`scratchpad/` and the offload areas)
259
+ * admit `tool` in `state` whatever its granting entry narrows: a host
260
+ * `essentialTools` tool, or a default tool some effective entry of the state
261
+ * names, guarded or not — the areas stay open under a narrowing entry. A
262
+ * default tool the state is not granted gets nothing from them, so they never
263
+ * make a withheld tool callable; any other tool is left to the state's grant.
256
264
  */
257
- private essentialTools;
265
+ opensWorkingAreas(state: string, tool: string): boolean;
266
+ /**
267
+ * Whether some declared state discloses `tool` — granted there and not denied
268
+ * by name. Decided once per composition, for guidance that belongs in the
269
+ * static prompt only when the tool can be offered at all (`write_todos`).
270
+ */
271
+ grantsAnywhere(tool: string): boolean;
258
272
  /**
259
273
  * Every denial entry that applies in `state`: the workflow's `forbid_always`
260
274
  * followed by the state's own `forbid`. Order is presentational only — both
@@ -264,10 +278,12 @@ export declare class WorkflowMachine {
264
278
  /**
265
279
  * The entries that govern `state`, in precedence order — the one derivation
266
280
  * enforcement and disclosure both read. A tool is decided by exactly one tier:
267
- * the state's own entries when they name it (the narrower constraint, even for
268
- * an essential tool); else the essential grant; else `allow_always`. An
269
- * `allow_always` entry for a tool the state mentions or that is essential is
270
- * therefore inert.
281
+ * the state's own entries when they name it (the narrower constraint, which
282
+ * also grants a default tool a declared `allow_always` omits); else the
283
+ * workflow-wide grant ({@link workflowGrant}); else the host's
284
+ * `essentialTools`, unconstrained. The last two never name the same tool — a
285
+ * workflow-wide entry for a host tool is inert — so their order is only the
286
+ * order a block message lists them in.
271
287
  */
272
288
  private effectiveEntries;
273
289
  /**