@archmax-ai/harness 0.3.2 → 0.4.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 (112) hide show
  1. package/README.md +3 -1
  2. package/dist/assembly/compose.d.ts +40 -3
  3. package/dist/assembly/compose.js +81 -7
  4. package/dist/assembly/compose.js.map +1 -1
  5. package/dist/assembly/delegation-registry.js +5 -2
  6. package/dist/assembly/delegation-registry.js.map +1 -1
  7. package/dist/assembly/image-reads.d.ts +53 -0
  8. package/dist/assembly/image-reads.js +163 -0
  9. package/dist/assembly/image-reads.js.map +1 -0
  10. package/dist/assembly/index.d.ts +21 -0
  11. package/dist/assembly/index.js +7 -1
  12. package/dist/assembly/index.js.map +1 -1
  13. package/dist/assembly/plain.js +6 -3
  14. package/dist/assembly/plain.js.map +1 -1
  15. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +48 -1
  16. package/dist/authoring-skill/archmax-harness/references/hook-and-test-scripts.md +27 -1
  17. package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +67 -22
  18. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +24 -5
  19. package/dist/core/binary-read.d.ts +52 -0
  20. package/dist/core/binary-read.js +129 -0
  21. package/dist/core/binary-read.js.map +1 -0
  22. package/dist/core/file-operations.d.ts +43 -0
  23. package/dist/core/file-operations.js +368 -0
  24. package/dist/core/file-operations.js.map +1 -0
  25. package/dist/core/path-mapping.d.ts +10 -3
  26. package/dist/core/path-mapping.js +27 -0
  27. package/dist/core/path-mapping.js.map +1 -1
  28. package/dist/core/platform-prompt.generated.js +1 -1
  29. package/dist/core/platform-prompt.generated.js.map +1 -1
  30. package/dist/core/prompt.d.ts +27 -0
  31. package/dist/core/prompt.js +65 -5
  32. package/dist/core/prompt.js.map +1 -1
  33. package/dist/core/session-zone.d.ts +3 -0
  34. package/dist/core/session-zone.js +9 -0
  35. package/dist/core/session-zone.js.map +1 -1
  36. package/dist/core/tool-context.d.ts +23 -0
  37. package/dist/core/tool-context.js +14 -0
  38. package/dist/core/tool-context.js.map +1 -0
  39. package/dist/core/tool-telemetry.js +2 -1
  40. package/dist/core/tool-telemetry.js.map +1 -1
  41. package/dist/core/workspace-router.d.ts +11 -1
  42. package/dist/core/workspace-router.js +47 -3
  43. package/dist/core/workspace-router.js.map +1 -1
  44. package/dist/index.d.ts +11 -1
  45. package/dist/index.js +3 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/kernel/kernel.js +167 -119
  48. package/dist/kernel/kernel.js.map +1 -1
  49. package/dist/machine/allow.d.ts +22 -0
  50. package/dist/machine/allow.js +47 -15
  51. package/dist/machine/allow.js.map +1 -1
  52. package/dist/machine/lint-spec.js +12 -3
  53. package/dist/machine/lint-spec.js.map +1 -1
  54. package/dist/machine/machine.d.ts +10 -1
  55. package/dist/machine/machine.js +36 -8
  56. package/dist/machine/machine.js.map +1 -1
  57. package/dist/machine/spec-schema.js +14 -0
  58. package/dist/machine/spec-schema.js.map +1 -1
  59. package/dist/machine/tool-names.d.ts +27 -7
  60. package/dist/machine/tool-names.js +43 -13
  61. package/dist/machine/tool-names.js.map +1 -1
  62. package/dist/machine/tool-paths.d.ts +51 -0
  63. package/dist/machine/tool-paths.js +127 -0
  64. package/dist/machine/tool-paths.js.map +1 -0
  65. package/dist/public/spec.d.ts +6 -1
  66. package/dist/public/spec.js +5 -1
  67. package/dist/public/spec.js.map +1 -1
  68. package/dist/validate/validate.js +10 -5
  69. package/dist/validate/validate.js.map +1 -1
  70. package/dist/workflow/agent-tools.d.ts +20 -1
  71. package/dist/workflow/agent-tools.js +31 -1
  72. package/dist/workflow/agent-tools.js.map +1 -1
  73. package/dist/workflow/control-tools.d.ts +4 -1
  74. package/dist/workflow/control-tools.js +16 -9
  75. package/dist/workflow/control-tools.js.map +1 -1
  76. package/dist/workflow/governance.d.ts +2 -0
  77. package/dist/workflow/governance.js +1 -0
  78. package/dist/workflow/governance.js.map +1 -1
  79. package/dist/workflow/middleware.d.ts +2 -0
  80. package/dist/workflow/middleware.js +27 -12
  81. package/dist/workflow/middleware.js.map +1 -1
  82. package/dist/workflow/on-error.js +3 -2
  83. package/dist/workflow/on-error.js.map +1 -1
  84. package/dist/workflow/parks.js +5 -5
  85. package/dist/workflow/parks.js.map +1 -1
  86. package/dist/workflow/render-prompt.d.ts +2 -0
  87. package/dist/workflow/render-prompt.js +9 -3
  88. package/dist/workflow/render-prompt.js.map +1 -1
  89. package/dist/workflow/returns-check.d.ts +35 -0
  90. package/dist/workflow/returns-check.js +10 -0
  91. package/dist/workflow/returns-check.js.map +1 -0
  92. package/dist/workflow/signature-checks.d.ts +26 -1
  93. package/dist/workflow/signature-checks.js +35 -10
  94. package/dist/workflow/signature-checks.js.map +1 -1
  95. package/dist/workflow/state.d.ts +75 -1
  96. package/dist/workflow/state.js +83 -0
  97. package/dist/workflow/state.js.map +1 -1
  98. package/dist/workflow/sub-workflow.d.ts +16 -5
  99. package/dist/workflow/sub-workflow.js +84 -37
  100. package/dist/workflow/sub-workflow.js.map +1 -1
  101. package/dist/workflow/tool-service.js +57 -10
  102. package/dist/workflow/tool-service.js.map +1 -1
  103. package/dist/workflow/turn-boundary.d.ts +8 -7
  104. package/dist/workflow/turn-boundary.js +10 -9
  105. package/dist/workflow/turn-boundary.js.map +1 -1
  106. package/dist/workflow/workflow-tools.js +5 -1
  107. package/dist/workflow/workflow-tools.js.map +1 -1
  108. package/package.json +1 -1
  109. package/skills/archmax-harness/references/backend-integration.md +48 -1
  110. package/skills/archmax-harness/references/hook-and-test-scripts.md +27 -1
  111. package/skills/archmax-harness/references/workflow-schema.md +67 -22
  112. package/skills/archmax-harness/references/workflow-yaml.md +24 -5
@@ -1 +1 @@
1
- {"version":3,"file":"path-mapping.js","sourceRoot":"","sources":["../../src/core/path-mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-mapping.js","sourceRoot":"","sources":["../../src/core/path-mapping.ts"],"names":[],"mappings":"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"}
@@ -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\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.\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. If that state cannot serve it — no transition reaches what\nwas asked, 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.\n\n**A terminal state never serves a follow-up.** When a message lands on a run that\nwas *already sitting* in a terminal state, reset **before** answering, or you skip\nevery state the answer depends on. Two cases are not follow-ups: a run you parked\nwith `archmax_wait`, which resumes where it was on purpose, and a terminal state\nyou were routed into *this turn*, by your own advance or a person's decision — do\nits work, then stop. 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**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. Update\nit when the task turns into something the old title no longer describes. Never\npass `lock` with it: that call is refused.\n\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/`, 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. If that state cannot serve it — no transition reaches what\nwas asked, 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.\n\n**A terminal state never serves a follow-up.** When a message lands on a run that\nwas *already sitting* in a terminal state, reset **before** answering, or you skip\nevery state the answer depends on. Two cases are not follow-ups: a run you parked\nwith `archmax_wait`, which resumes where it was on purpose, and a terminal state\nyou were routed into *this turn*, by your own advance or a person's decision — do\nits work, then stop. 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. Update\nit when the task turns into something the old title no longer describes. Never\npass `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,ovOAAovO,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,01OAA01O,CAAC"}
@@ -10,6 +10,12 @@ export interface ResolveSystemPromptOptions {
10
10
  * for it to explain.
11
11
  */
12
12
  platformBackendPath: string | null;
13
+ /**
14
+ * The prompt is a sub-workflow's child session's: the platform layer leaves
15
+ * out its top-level-only passages (see {@link platformPromptFor}). Omitted, it
16
+ * is a top-level session's.
17
+ */
18
+ child?: boolean;
13
19
  /**
14
20
  * Pre-assembled workflow prompt text: the spec-rendered workflow header
15
21
  * followed by any `WORKFLOW.md` prose addendum (the caller composes both —
@@ -38,5 +44,26 @@ export interface SystemPromptParts {
38
44
  }
39
45
  /** Join the prompt layers, skipping absent ones. */
40
46
  export declare function buildSystemPrompt(parts: SystemPromptParts): string;
47
+ /** Opens a platform-prompt passage only a top-level session reads; alone on its line. */
48
+ export declare const TOP_LEVEL_ONLY_OPEN = "<!-- top-level-only -->";
49
+ /** Closes a passage {@link TOP_LEVEL_ONLY_OPEN} opened; alone on its line. */
50
+ export declare const TOP_LEVEL_ONLY_CLOSE = "<!-- /top-level-only -->";
51
+ /** Which session a prompt is for: one a host started, or a sub-workflow's child. */
52
+ export type PromptSession = "top-level" | "child";
53
+ /**
54
+ * The platform prompt as `session` reads it. A passage between
55
+ * {@link TOP_LEVEL_ONLY_OPEN} and {@link TOP_LEVEL_ONLY_CLOSE}, each alone on
56
+ * its line, is kept for a top-level session and left out for a child session,
57
+ * which does not name itself: its title would describe a session nothing
58
+ * lists. The marker lines reach neither, so a top-level session reads the text
59
+ * exactly as it did before the markers existed. Where a left-out passage held
60
+ * items of an ordered list, the items after it in that list are renumbered. An
61
+ * opening marker with no closing one leaves everything after it in place.
62
+ *
63
+ * The same rule applies to a workspace's override, so one copied from the
64
+ * bundled prompt keeps the omission and one without markers reads the same in
65
+ * both sessions.
66
+ */
67
+ export declare function platformPromptFor(text: string, session: PromptSession): string;
41
68
  /** Load the prompt layers from the backend and merge them. */
42
69
  export declare function resolveSystemPrompt(workspace: Workspace, opts: ResolveSystemPromptOptions): Promise<string>;
@@ -11,7 +11,8 @@
11
11
  * It ships inside the code (`platform-prompt.md`, generated into
12
12
  * `platform-prompt.generated.ts`); a workspace may override it at
13
13
  * `.platform/system/GRAPH_STATE.md`. A plain agent has no machine for it to
14
- * explain, so it gets no platform layer.
14
+ * explain, so it gets no platform layer. A sub-workflow's child session
15
+ * reads it without its top-level-only passages (see {@link platformPromptFor}).
15
16
  * 4. Workspace zones — rendered from the assembly's resolved mount table.
16
17
  * 5. The workflow header — the spec's `title` and root `instructions`, and no
17
18
  * state of the graph: the graph is disclosed only from where the agent
@@ -51,17 +52,76 @@ export function buildSystemPrompt(parts) {
51
52
  .filter(Boolean)
52
53
  .join("\n\n");
53
54
  }
54
- /** The workspace's override when it serves one, else the bundled prompt. */
55
- async function readPlatformPrompt(workspace, backendPath) {
55
+ /** Opens a platform-prompt passage only a top-level session reads; alone on its line. */
56
+ export const TOP_LEVEL_ONLY_OPEN = "<!-- top-level-only -->";
57
+ /** Closes a passage {@link TOP_LEVEL_ONLY_OPEN} opened; alone on its line. */
58
+ export const TOP_LEVEL_ONLY_CLOSE = "<!-- /top-level-only -->";
59
+ const ORDERED_ITEM = /^(\d+)\.(?=\s)/;
60
+ /**
61
+ * The platform prompt as `session` reads it. A passage between
62
+ * {@link TOP_LEVEL_ONLY_OPEN} and {@link TOP_LEVEL_ONLY_CLOSE}, each alone on
63
+ * its line, is kept for a top-level session and left out for a child session,
64
+ * which does not name itself: its title would describe a session nothing
65
+ * lists. The marker lines reach neither, so a top-level session reads the text
66
+ * exactly as it did before the markers existed. Where a left-out passage held
67
+ * items of an ordered list, the items after it in that list are renumbered. An
68
+ * opening marker with no closing one leaves everything after it in place.
69
+ *
70
+ * The same rule applies to a workspace's override, so one copied from the
71
+ * bundled prompt keeps the omission and one without markers reads the same in
72
+ * both sessions.
73
+ */
74
+ export function platformPromptFor(text, session) {
75
+ if (!text.includes(TOP_LEVEL_ONLY_OPEN))
76
+ return text;
77
+ const kept = [];
78
+ /** The lines of the passage being read, or `null` outside one. */
79
+ let passage = null;
80
+ /** How many items of the ordered list being read a left-out passage held. */
81
+ let dropped = 0;
82
+ for (const line of text.split("\n")) {
83
+ const marker = line.trim();
84
+ if (passage === null && marker === TOP_LEVEL_ONLY_OPEN) {
85
+ passage = [];
86
+ continue;
87
+ }
88
+ if (passage !== null) {
89
+ if (marker !== TOP_LEVEL_ONLY_CLOSE) {
90
+ passage.push(line);
91
+ continue;
92
+ }
93
+ if (session === "top-level")
94
+ kept.push(...passage);
95
+ else
96
+ dropped += passage.filter((held) => ORDERED_ITEM.test(held)).length;
97
+ passage = null;
98
+ continue;
99
+ }
100
+ const item = ORDERED_ITEM.exec(line);
101
+ if (item && dropped > 0) {
102
+ kept.push(`${Number(item[1]) - dropped}${line.slice(item[1].length)}`);
103
+ continue;
104
+ }
105
+ // Any other unindented text ends the list a passage cut items from.
106
+ if (line.trim() !== "" && !/^\s/.test(line))
107
+ dropped = 0;
108
+ kept.push(line);
109
+ }
110
+ if (passage !== null)
111
+ kept.push(...passage);
112
+ return kept.join("\n");
113
+ }
114
+ /** The workspace's override when it serves one, else the bundled prompt, as `session` reads it. */
115
+ async function readPlatformPrompt(workspace, backendPath, session) {
56
116
  if (backendPath === null)
57
117
  return null;
58
- return (await workspace.readText(backendPath)) || PLATFORM_PROMPT;
118
+ return platformPromptFor((await workspace.readText(backendPath)) || PLATFORM_PROMPT, session);
59
119
  }
60
120
  /** Load the prompt layers from the backend and merge them. */
61
121
  export async function resolveSystemPrompt(workspace, opts) {
62
122
  const agentsPath = opts.agentsPath ?? "AGENTS.md";
63
123
  const [platform, agents] = await Promise.all([
64
- readPlatformPrompt(workspace, opts.platformBackendPath),
124
+ readPlatformPrompt(workspace, opts.platformBackendPath, opts.child ? "child" : "top-level"),
65
125
  workspace.readText(agentsPath),
66
126
  ]);
67
127
  return buildSystemPrompt({
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAsB,MAAM,YAAY,CAAC;AAwC3D,oDAAoD;AACpD,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,OAAO;QACL,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;QACpB,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;QACnB,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;QACtB,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE;QACvB,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;KACvB;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,kBAAkB,CAC/B,SAAoB,EACpB,WAA0B;IAE1B,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,eAAe,CAAC;AACpE,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAoB,EACpB,IAAgC;IAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3C,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC;QACvD,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;KAC/B,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;QACvB,MAAM;QACN,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ;QACR,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC;QAChE,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;KACtC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"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"}
@@ -51,4 +51,7 @@ export declare class SessionZoneRouter implements BackendProtocolV2 {
51
51
  glob(pattern: string, path?: string): import("deepagents").MaybePromise<import("deepagents").GlobResult>;
52
52
  write(filePath: string, content: string): import("deepagents").MaybePromise<import("deepagents").WriteResult>;
53
53
  edit(filePath: string, oldString: string, newString: string, replaceAll?: boolean): import("deepagents").MaybePromise<import("deepagents").EditResult>;
54
+ downloadFiles(paths: string[]): import("deepagents").MaybePromise<import("deepagents").FileDownloadResponse[]>;
55
+ uploadFiles(files: Array<[string, Uint8Array]>): import("deepagents").MaybePromise<import("deepagents").FileUploadResponse[]>;
56
+ delete(filePath: string): import("deepagents").MaybePromise<import("deepagents").DeleteResult>;
54
57
  }
@@ -78,5 +78,14 @@ export class SessionZoneRouter {
78
78
  edit(filePath, oldString, newString, replaceAll) {
79
79
  return this.routed.edit(filePath, oldString, newString, replaceAll);
80
80
  }
81
+ downloadFiles(paths) {
82
+ return this.routed.downloadFiles(paths);
83
+ }
84
+ uploadFiles(files) {
85
+ return this.routed.uploadFiles(files);
86
+ }
87
+ delete(filePath) {
88
+ return this.routed.delete(filePath);
89
+ }
81
90
  }
82
91
  //# sourceMappingURL=session-zone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-zone.js","sourceRoot":"","sources":["../../src/core/session-zone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,iBAAiB;IACX,OAAO,GAAG,IAAI,iBAAiB,EAAU,CAAC;IAC1C,MAAM,CAAoB;IAE3C,YAAY,OAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;YACjE,2EAA2E;YAC3E,uEAAuE;YACvE,sEAAsE;YACtE,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAC3B,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAI,SAAiB,EAAE,EAAoB;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,iEAAiE;IACjE,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,EAAE,CAAC,IAAY;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,MAAe,EAAE,KAAc;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,QAAgB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAoB,EAAE,IAAoB;QAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAa;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,OAAe;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,SAAiB,EAAE,SAAiB,EAAE,UAAoB;QAC/E,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"session-zone.js","sourceRoot":"","sources":["../../src/core/session-zone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,iBAAiB;IACX,OAAO,GAAG,IAAI,iBAAiB,EAAU,CAAC;IAC1C,MAAM,CAAgB;IAEvC,YAAY,OAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;YACjE,2EAA2E;YAC3E,uEAAuE;YACvE,sEAAsE;YACtE,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAC3B,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAI,SAAiB,EAAE,EAAoB;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,iEAAiE;IACjE,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,EAAE,CAAC,IAAY;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,MAAe,EAAE,KAAc;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,QAAgB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAoB,EAAE,IAAoB;QAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAa;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,OAAe;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,SAAiB,EAAE,SAAiB,EAAE,UAAoB;QAC/E,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,aAAa,CAAC,KAAe;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW,CAAC,KAAkC;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import type { BackendProtocolV2 } from "deepagents";
2
+ /**
3
+ * What a host tool's handler is handed besides its input: the turn's
4
+ * workspace, so a host tool resolves paths exactly as the built-in file tools
5
+ * do instead of rebuilding the mount table beside the SDK.
6
+ */
7
+ export interface ToolContext {
8
+ /**
9
+ * The turn's workspace: the host's mounts with their read-only posture and the
10
+ * session zone at the root, bound to this session — the same instance
11
+ * `read_file` resolves through. Besides text `read`/`write`, it carries raw
12
+ * bytes (`downloadFiles`/`uploadFiles`) and `delete`; a read-only mount refuses
13
+ * every write, upload and delete.
14
+ */
15
+ workspace: BackendProtocolV2;
16
+ }
17
+ /**
18
+ * Run `fn` with `context` as the tool context of everything it does. Bound per
19
+ * turn, beside the session binding, by both compositions.
20
+ */
21
+ export declare function runWithToolContext<T>(context: ToolContext, fn: () => Promise<T>): Promise<T>;
22
+ /** The tool context of the turn in progress, or `undefined` outside one. */
23
+ export declare function currentToolContext(): ToolContext | undefined;
@@ -0,0 +1,14 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ const current = new AsyncLocalStorage();
3
+ /**
4
+ * Run `fn` with `context` as the tool context of everything it does. Bound per
5
+ * turn, beside the session binding, by both compositions.
6
+ */
7
+ export function runWithToolContext(context, fn) {
8
+ return current.run(context, fn);
9
+ }
10
+ /** The tool context of the turn in progress, or `undefined` outside one. */
11
+ export function currentToolContext() {
12
+ return current.getStore();
13
+ }
14
+ //# sourceMappingURL=tool-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-context.js","sourceRoot":"","sources":["../../src/core/tool-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAmBrD,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAe,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAI,OAAoB,EAAE,EAAoB;IAC9E,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
@@ -30,7 +30,8 @@ export function toolOutputPreview(value) {
30
30
  }
31
31
  /** A concise, single-value hint for a tool call (e.g. its `file_path`), for the CLI. */
32
32
  export function toolCallDetail(args) {
33
- for (const key of ["file_path", "path", "to", "pattern", "command", "url"]) {
33
+ // A copy is named by where it lands, as a write is.
34
+ for (const key of ["file_path", "destination", "path", "to", "pattern", "command", "url"]) {
34
35
  const value = args[key];
35
36
  if (typeof value === "string" && value.trim())
36
37
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-telemetry.js","sourceRoot":"","sources":["../../src/core/tool-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;;;GAMG;AAEH,oFAAoF;AACpF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C,oEAAoE;AACpE,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,IAAY,CAAC;IACjB,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,IAAI,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACjG,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,GAAG,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,uBAAuB,CAAC;IACxD,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1F,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,cAAc,CAAC,IAA6B;IAC1D,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC;IAC9D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"tool-telemetry.js","sourceRoot":"","sources":["../../src/core/tool-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;;;GAMG;AAEH,oFAAoF;AACpF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAE5C,oEAAoE;AACpE,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,IAAY,CAAC;IACjB,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,IAAI,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACjG,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,GAAG,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,uBAAuB,CAAC;IACxD,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1F,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,cAAc,CAAC,IAA6B;IAC1D,oDAAoD;IACpD,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;QAC1F,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC;IAC9D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -3,7 +3,7 @@ import { classifyWorkspacePath } from "./zones.js";
3
3
  import type { MountPrefixes } from "./mounts.js";
4
4
  /**
5
5
  * The workspace's single entry point, wrapping the mount-routing
6
- * {@link CompositeBackend}. It owns the three things prefix routing cannot do
6
+ * {@link CompositeBackend}. It owns the things prefix routing cannot do
7
7
  * on its own:
8
8
  *
9
9
  * 1. **Canonicalization.** `CompositeBackend` routes by literal prefix, but
@@ -28,6 +28,16 @@ import type { MountPrefixes } from "./mounts.js";
28
28
  * serves searches, and a search addressed at it (the mount or a path inside
29
29
  * it) is delegated to its route directly, so the backend's own answer —
30
30
  * matches or refusal — reaches the caller verbatim.
31
+ * 5. **Text-only reads.** A `read` whose result is binary — a non-text MIME
32
+ * type, bytes, or NUL in decoded text — is answered with the binary notice
33
+ * (`core/binary-read.ts`) instead of content, so no caller of `read_file`
34
+ * or `tools.readFile` ever gets base64 or decoded bytes. A route's own
35
+ * `{ error }` and `readRaw` are untouched.
36
+ * 6. **Raw-byte transfer and deletion.** `downloadFiles`/`uploadFiles` and
37
+ * `delete` route each path as a read or a write does (exact file mount, else
38
+ * the composite), so the file operations can move bytes no text channel
39
+ * carries and remove a file. A route without transfer throws, as the
40
+ * composite does; a route without deletion answers an error.
31
41
  */
32
42
  export interface WorkspaceRouterOptions {
33
43
  /** Mount-routing backend: session zone as default route, authored zone mounted. */
@@ -1,3 +1,4 @@
1
+ import { binaryReadError } from "./binary-read.js";
1
2
  import { canonicalizeRelPath } from "./workspace.js";
2
3
  import { SESSION_INTERNAL_DIRS, classifyWorkspacePath, mountNameOf } from "./zones.js";
3
4
  /** Thrown when a workspace path resolves above the workspace root. */
@@ -48,6 +49,14 @@ export function createWorkspaceRouter(options) {
48
49
  // slash, and the mount itself becomes `/`.
49
50
  return { backend, name, routePath: target.slice(name.length + 1) || "/" };
50
51
  };
52
+ /** A routed read's result, or the binary notice in its place. */
53
+ const textOnly = async (target, pending) => {
54
+ const res = await pending;
55
+ // A v1 file mount answers a bare string; read it as Deep Agents' adapter wraps it.
56
+ const raw = res;
57
+ const binary = binaryReadError(target, typeof raw === "string" ? { content: raw } : res);
58
+ return binary === null ? res : { error: binary };
59
+ };
51
60
  /** Hide runtime-internal areas and surface file mounts at `/`. */
52
61
  const shapeRoot = async (path, files) => {
53
62
  if (path !== "/" || !boundSessionId())
@@ -83,9 +92,7 @@ export function createWorkspaceRouter(options) {
83
92
  read(filePath, offset, limit) {
84
93
  const target = canonical(filePath);
85
94
  const file = fileMount(target);
86
- return file
87
- ? file.backend.read(file.key, offset, limit)
88
- : composite.read(target, offset, limit);
95
+ return textOnly(target, file ? file.backend.read(file.key, offset, limit) : composite.read(target, offset, limit));
89
96
  },
90
97
  readRaw(filePath) {
91
98
  const target = canonical(filePath);
@@ -137,6 +144,43 @@ export function createWorkspaceRouter(options) {
137
144
  ? file.backend.edit(file.key, oldString, newString, replaceAll)
138
145
  : composite.edit(target, oldString, newString, replaceAll);
139
146
  },
147
+ async delete(filePath) {
148
+ const target = canonical(filePath);
149
+ const file = fileMount(target);
150
+ if (!file)
151
+ return composite.delete(target);
152
+ if (!file.backend.delete)
153
+ return { error: `Cannot delete '${target.slice(1)}': the store serving it cannot delete.` };
154
+ return file.backend.delete(file.key);
155
+ },
156
+ async downloadFiles(paths) {
157
+ const out = [];
158
+ for (const path of paths) {
159
+ const target = canonical(path);
160
+ const file = fileMount(target);
161
+ if (file && !file.backend.downloadFiles)
162
+ throw new Error("Backend does not support downloadFiles");
163
+ const [res] = file
164
+ ? await file.backend.downloadFiles([file.key])
165
+ : await composite.downloadFiles([target]);
166
+ out.push({ path: target, content: res?.content ?? null, error: res?.error ?? null });
167
+ }
168
+ return out;
169
+ },
170
+ async uploadFiles(files) {
171
+ const out = [];
172
+ for (const [path, content] of files) {
173
+ const target = canonical(path);
174
+ const file = fileMount(target);
175
+ if (file && !file.backend.uploadFiles)
176
+ throw new Error("Backend does not support uploadFiles");
177
+ const [res] = file
178
+ ? await file.backend.uploadFiles([[file.key, content]])
179
+ : await composite.uploadFiles([[target, content]]);
180
+ out.push({ path: target, error: res?.error ?? null });
181
+ }
182
+ return out;
183
+ },
140
184
  };
141
185
  return router;
142
186
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-router.js","sourceRoot":"","sources":["../../src/core/workspace-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-router.js","sourceRoot":"","sources":["../../src/core/workspace-router.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -106,8 +106,10 @@ WorkflowLoadError,
106
106
  WorkflowDisabledError, } from "./machine/load-spec.js";
107
107
  /** A trigger id the machine does not declare. */
108
108
  export { UnknownTriggerError } from "./machine/triggers.js";
109
- /** A host tool wearing a reserved `archmax_` name. */
109
+ /** A host tool wearing a reserved `archmax_` name, or a runtime file operation's name. */
110
110
  export { ReservedToolNameError } from "./machine/tool-names.js";
111
+ /** A host path declaration the runtime cannot honour (a built-in tool, an unknown access). */
112
+ export { ToolPathsError } from "./machine/tool-paths.js";
111
113
  /** A seeded variable name that is not a legal identifier. */
112
114
  export { InvalidVariableNameError } from "./machine/variables.js";
113
115
  /** A mount key shadows a session area. */
@@ -178,6 +180,14 @@ export { PLATFORM_PROMPT_PATH } from "./workflow/paths.js";
178
180
  export { resolveSystemPrompt } from "./core/prompt.js";
179
181
  /** Bind a `name → tool` map in the shape the `tools` option takes. */
180
182
  export { toolsFromMap } from "./workflow/agent-tools.js";
183
+ /** One host tool for `toolsFromMap`: its schema, its declared paths, and a handler handed the turn's workspace. */
184
+ export type { AgentToolDescriptor } from "./workflow/agent-tools.js";
185
+ /** What a host tool's handler is handed: the turn's workspace. */
186
+ export type { ToolContext } from "./core/tool-context.js";
187
+ /** A tool's path arguments and how a call uses each — the `toolPaths` option's values. */
188
+ export type { ToolPaths, PathAccess } from "./machine/tool-paths.js";
189
+ /** The `images` option: show the model the images it reads. */
190
+ export type { ImageReadOptions } from "./assembly/image-reads.js";
181
191
  /** A message's text, whatever content-block shape it arrived in. */
182
192
  export { contentToString } from "./core/messages.js";
183
193
  /** Whether a message is the assistant's turn. */
package/dist/index.js CHANGED
@@ -54,8 +54,10 @@ WorkflowLoadError,
54
54
  WorkflowDisabledError, } from "./machine/load-spec.js";
55
55
  /** A trigger id the machine does not declare. */
56
56
  export { UnknownTriggerError } from "./machine/triggers.js";
57
- /** A host tool wearing a reserved `archmax_` name. */
57
+ /** A host tool wearing a reserved `archmax_` name, or a runtime file operation's name. */
58
58
  export { ReservedToolNameError } from "./machine/tool-names.js";
59
+ /** A host path declaration the runtime cannot honour (a built-in tool, an unknown access). */
60
+ export { ToolPathsError } from "./machine/tool-paths.js";
59
61
  /** A seeded variable name that is not a legal identifier. */
60
62
  export { InvalidVariableNameError } from "./machine/variables.js";
61
63
  /** A mount key shadows a session area. */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}