@archmax-ai/harness 0.4.2 → 0.5.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 (84) hide show
  1. package/README.md +8 -0
  2. package/dist/agent.d.ts +14 -0
  3. package/dist/agent.js.map +1 -1
  4. package/dist/assembly/compose.js +51 -26
  5. package/dist/assembly/compose.js.map +1 -1
  6. package/dist/assembly/index.js +51 -11
  7. package/dist/assembly/index.js.map +1 -1
  8. package/dist/authoring-skill/archmax-harness/SKILL.md +2 -2
  9. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +28 -10
  10. package/dist/authoring-skill/archmax-harness/references/hook-and-test-scripts.md +2 -1
  11. package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +65 -8
  12. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +1 -1
  13. package/dist/cli/bootstrap.d.ts +8 -1
  14. package/dist/cli/bootstrap.js +43 -3
  15. package/dist/cli/bootstrap.js.map +1 -1
  16. package/dist/cli/command.d.ts +3 -1
  17. package/dist/cli/command.js +1 -1
  18. package/dist/cli/command.js.map +1 -1
  19. package/dist/cli/turn.d.ts +3 -1
  20. package/dist/cli/turn.js +1 -0
  21. package/dist/cli/turn.js.map +1 -1
  22. package/dist/cli.js +9 -1
  23. package/dist/cli.js.map +1 -1
  24. package/dist/core/attachments.d.ts +64 -0
  25. package/dist/core/attachments.js +87 -0
  26. package/dist/core/attachments.js.map +1 -0
  27. package/dist/core/file-operations.d.ts +22 -0
  28. package/dist/core/file-operations.js +54 -0
  29. package/dist/core/file-operations.js.map +1 -1
  30. package/dist/core/platform-prompt.generated.js +1 -1
  31. package/dist/core/platform-prompt.generated.js.map +1 -1
  32. package/dist/index.d.ts +4 -0
  33. package/dist/index.js +2 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/kernel/kernel.d.ts +9 -0
  36. package/dist/kernel/kernel.js +15 -0
  37. package/dist/kernel/kernel.js.map +1 -1
  38. package/dist/machine/machine.d.ts +7 -0
  39. package/dist/machine/machine.js +14 -0
  40. package/dist/machine/machine.js.map +1 -1
  41. package/dist/machine/signature.d.ts +16 -5
  42. package/dist/machine/signature.js +25 -4
  43. package/dist/machine/signature.js.map +1 -1
  44. package/dist/machine/spec-schema.d.ts +10 -0
  45. package/dist/sessions/resume.d.ts +9 -0
  46. package/dist/sessions/resume.js +13 -0
  47. package/dist/sessions/resume.js.map +1 -1
  48. package/dist/workflow/control-tools.d.ts +12 -1
  49. package/dist/workflow/control-tools.js +33 -4
  50. package/dist/workflow/control-tools.js.map +1 -1
  51. package/dist/workflow/file-values.d.ts +44 -0
  52. package/dist/workflow/file-values.js +29 -0
  53. package/dist/workflow/file-values.js.map +1 -0
  54. package/dist/workflow/governance.d.ts +4 -0
  55. package/dist/workflow/governance.js +1 -0
  56. package/dist/workflow/governance.js.map +1 -1
  57. package/dist/workflow/middleware.d.ts +6 -0
  58. package/dist/workflow/middleware.js +25 -1
  59. package/dist/workflow/middleware.js.map +1 -1
  60. package/dist/workflow/parks.js +5 -1
  61. package/dist/workflow/parks.js.map +1 -1
  62. package/dist/workflow/returns-check.d.ts +3 -0
  63. package/dist/workflow/returns-check.js +1 -1
  64. package/dist/workflow/returns-check.js.map +1 -1
  65. package/dist/workflow/signature-checks.d.ts +47 -5
  66. package/dist/workflow/signature-checks.js +73 -9
  67. package/dist/workflow/signature-checks.js.map +1 -1
  68. package/dist/workflow/sub-workflow.d.ts +14 -2
  69. package/dist/workflow/sub-workflow.js +119 -24
  70. package/dist/workflow/sub-workflow.js.map +1 -1
  71. package/dist/workflow/tool-service.d.ts +4 -0
  72. package/dist/workflow/tool-service.js +5 -2
  73. package/dist/workflow/tool-service.js.map +1 -1
  74. package/dist/workflow/turn-boundary.d.ts +3 -0
  75. package/dist/workflow/turn-boundary.js +5 -2
  76. package/dist/workflow/turn-boundary.js.map +1 -1
  77. package/dist/workflow/workflow-tools.js +11 -0
  78. package/dist/workflow/workflow-tools.js.map +1 -1
  79. package/package.json +1 -1
  80. package/skills/archmax-harness/SKILL.md +2 -2
  81. package/skills/archmax-harness/references/backend-integration.md +28 -10
  82. package/skills/archmax-harness/references/hook-and-test-scripts.md +2 -1
  83. package/skills/archmax-harness/references/workflow-schema.md +65 -8
  84. package/skills/archmax-harness/references/workflow-yaml.md +1 -1
package/README.md CHANGED
@@ -128,12 +128,20 @@ rejected too, unless it runs as a sub-workflow: then its caller gets the returns
128
128
  `@archmax-ai/harness/spec` turns the same signature into a JSON Schema. See
129
129
  [triggers](https://harness.archmax.ai/guides/triggers/#typing-a-signature).
130
130
 
131
+ An entry typed `file` takes a path from the workspace root. A host hands one in with
132
+ `send(sessionId, { message, files: { invoice: { name, content } } })`, or the CLI with
133
+ `--file invoice=./invoice.pdf`, and the file lands in the session's `scratchpad/attachments/`. A
134
+ sub-workflow is its own session with its own files, so a `file` argument is copied into the child,
135
+ and a `file` return is copied back under a name that never overwrites the caller's files. See
136
+ [passing files](https://harness.archmax.ai/guides/sub-workflows/#passing-files).
137
+
131
138
  `examples/customer-support/` in this repository is a complete reference workspace.
132
139
 
133
140
  ### The CLI
134
141
 
135
142
  ```bash
136
143
  npx archmax run order-lookup "Which orders are delayed for Acme?" --root ./my-workspace
144
+ npx archmax run reconcile "Reconcile this" --file invoice=./invoice.pdf # hand the session a file
137
145
  npx archmax test order-lookup --root ./my-workspace # run the workflow's cases
138
146
  npx archmax validate order-lookup --root ./my-workspace # static checks, no model calls
139
147
  npx archmax sessions --root ./my-workspace # list durable sessions
package/dist/agent.d.ts CHANGED
@@ -33,9 +33,23 @@ export interface TurnInput {
33
33
  trigger?: TriggerInput;
34
34
  /** Variables seeded for this turn, locked — the same seeds a delivery carries. */
35
35
  variables?: Record<string, unknown>;
36
+ /**
37
+ * Files handed to the session, by the variable each seeds: placed in its
38
+ * `scratchpad/attachments/` (a taken name gets a `-1`, `-2`, … suffix) before
39
+ * the turn starts, and the variable seeded, locked, with the placed path — what
40
+ * a `file` entry of the trigger's `requires` takes. Not for a session parked at
41
+ * a human state, which takes a reply only.
42
+ */
43
+ files?: Record<string, TurnFile>;
36
44
  /** Where a firing's session id lives, overriding the trigger's declaration. */
37
45
  sessionPath?: string;
38
46
  }
47
+ /** One file a host hands a turn: its file name and its exact bytes. */
48
+ export interface TurnFile {
49
+ /** One plain file name (no `/`, `\`, `.` or `..`), kept unless taken. */
50
+ name: string;
51
+ content: Uint8Array;
52
+ }
39
53
  /** What {@link WorkflowSurface.send} takes: a turn, or one of the three resumes. */
40
54
  export type SendInput = TurnInput | ResumePayload;
41
55
  /**
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,2BAA2B,CAAC;AAG9E,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GAKxB,MAAM,sBAAsB,CAAC;AAkB9B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,QAAQ,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE;IAC/C,cAAc,EAAE,uBAAuB;CACxC,CAAC;AAkGF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,YAAY;IACd,MAAM,CAAqB;IAC3B,OAAO,CAAiB;IACxB,QAAQ,CAAe;IACvB,OAAO,CAAyB;IAEhC,OAAO,CAA8B;IACrC,eAAe,CAA0B;IACzC,SAAS,CAAU;IACnB,gBAAgB,CAAmB;IACnC,QAAQ,CAAoB;IAC5B,eAAe,CAAgD;IAExE;;;OAGG;IACM,QAAQ,CAA8B;IAE/C,YAAY,IAOX;QACC,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;QAEpD,4EAA4E;QAC5E,iDAAiD;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,mFAAmF;IACnF,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,oDAAoD;IACpD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAyD,CAAC;IAC/E,CAAC;IAED,8EAA8E;IAC9E,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAA8B,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,MAAsB;QAC/B,OAAO,IAAI,YAAY,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,MAAM,CAAC,KAAiB,EAAE,MAAuB;QAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAyB,CAAC;QACpF,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,MAAM,CAAC,KAAiB,EAAE,OAA4B;QAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAyB,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAA4B,CAAC,CAAC;IACjE,CAAC;IAED,6CAA6C;IAC7C,YAAY,CAAC,KAAiB,EAAE,MAAsB,EAAE,OAAiB;QACvE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,8EAA8E;IAE9E,QAAQ,CAAC,MAAsB,EAAE,OAAiB;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,eAAe,CAAC,MAAsB,EAAE,OAAiB;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAED,WAAW,CAAC,MAAsB,EAAE,MAAe,EAAE,MAAe;QAClE,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED,YAAY,CAAC,SAAkB,EAAE,OAAiB;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,iBAAiB,CAAC,SAAkB,EAAE,OAAiB;QACrD,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,aAAa,CAAC,MAAuB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/F,CAAC;CACF"}
@@ -3,7 +3,9 @@ import { createMiddleware, todoListMiddleware } from "langchain";
3
3
  import { createDeepAgent } from "deepagents";
4
4
  import { AGENT_DEFAULT_CONFIG } from "../agent.js";
5
5
  import { READ_FILE_IMAGES_LINE, READ_FILE_TEXT_ONLY_LINE, textOnlyReadFileDescription, } from "../core/binary-read.js";
6
- import { createFileOperationTools } from "../core/file-operations.js";
6
+ import { createFileOperationTools, workspaceEntryKind } from "../core/file-operations.js";
7
+ import { createSessionFiles } from "../core/attachments.js";
8
+ import { fileGovernance, runtimeReadDenial } from "../workflow/file-values.js";
7
9
  import { runWithToolContext } from "../core/tool-context.js";
8
10
  import { imageReadMiddleware, resolveImageReads } from "./image-reads.js";
9
11
  import { asCompiledAgentGraph, asDecisionGraph, asModelCallResult, asStructuredTools, } from "../core/deepagents.js";
@@ -14,7 +16,7 @@ import { TOOL_MOCK_MIDDLEWARE_NAME } from "../core/tool-mocks.js";
14
16
  import { withoutDeletion } from "../core/workspace-router.js";
15
17
  import { loadPromptCacheEnv } from "../env.js";
16
18
  import { BUILTIN_HOOK_KINDS } from "../lifecycle/runner.js";
17
- import { compileForbiddenSkillRules, compileForbiddenMountRules, compileForbidRules, } from "../kernel/kernel.js";
19
+ import { workflowDenials } from "../kernel/kernel.js";
18
20
  import { UNGRANTABLE_TOOLS } from "../machine/machine.js";
19
21
  import { WorkflowLoadError } from "../machine/load-spec.js";
20
22
  import { workflowToolName } from "../machine/tool-names.js";
@@ -269,7 +271,11 @@ function describeDeclaredModels(machine) {
269
271
  /** Compose one governed agent for `input.machine`. */
270
272
  export async function composeGoverned(ctx, input) {
271
273
  const { params, emit, workspace, authoring } = ctx;
272
- const target = input.machine;
274
+ // Every sibling this machine's allow lists name, read first: a delegation
275
+ // tool's schema feeds the system prompt, so an unusable target fails assembly,
276
+ // and a target's `file` arguments are path arguments the kernel governs.
277
+ const delegationSignatures = await readDelegationSignatures(input);
278
+ const target = input.machine.withToolPaths(delegationFilePaths(delegationSignatures));
273
279
  const governanceRules = [...(input.inheritedPolicyRules ?? []), ...(params.policyRules ?? [])];
274
280
  const settings = target.harnessSettings;
275
281
  // Two executors, one sandbox runtime: agent scripts read sources from the
@@ -325,6 +331,16 @@ export async function composeGoverned(ctx, input) {
325
331
  // are enforced in one place and every dispatch is reported the same way. A
326
332
  // child of this composition inherits what it inherited plus its own policy:
327
333
  // denials accumulate down the chain, never resetting to the root's.
334
+ // A `file` argument is read from the caller and copied into the child, a
335
+ // `file` return copied back: across sessions, each bound in turn.
336
+ const callerFiles = fileGovernance({
337
+ machine: target,
338
+ workflow: input.workflow,
339
+ policyRules: governanceRules,
340
+ mountPrefixes: ctx.mountPrefixes,
341
+ skills: ctx.skillTable,
342
+ kind: (path) => workspaceEntryKind(ctx.backend, path),
343
+ });
328
344
  const dispatcher = createSubWorkflowDispatcher({
329
345
  registry: input.registry,
330
346
  machine: target,
@@ -333,6 +349,8 @@ export async function composeGoverned(ctx, input) {
333
349
  ...workflowDenials(target, input.workflow),
334
350
  ],
335
351
  onEvent: emit,
352
+ files: createSessionFiles(ctx.backend, sessionBinder(ctx)),
353
+ readDenial: (state, path, variables) => runtimeReadDenial(callerFiles, state, path, variables),
336
354
  });
337
355
  // Validate the assembly-time default trigger (fails closed on an unknown id).
338
356
  const defaultTrigger = resolveTrigger(target, input.trigger);
@@ -363,6 +381,8 @@ export async function composeGoverned(ctx, input) {
363
381
  seededVariables,
364
382
  ...(ctx.pricing ? { pricing: ctx.pricing } : {}),
365
383
  ...(input.child ? { child: true } : {}),
384
+ // Through the workspace, bound to the turn's session: what a `file` value names.
385
+ entryKind: (path) => workspaceEntryKind(ctx.backend, path),
366
386
  });
367
387
  // Native Anthropic/Bedrock caching is LangChain's own middleware; the
368
388
  // OpenAI-compatible Claude path is marked by the workflow instrumentation.
@@ -380,19 +400,9 @@ export async function composeGoverned(ctx, input) {
380
400
  ...(providerCacheMiddleware ? [providerCacheMiddleware] : []),
381
401
  ...(params.middleware ?? []),
382
402
  ];
383
- // One tool per sibling this machine's allow lists name. A delegation tool's
384
- // schema feeds the system prompt, so an unusable target fails assembly.
403
+ // One tool per sibling this machine's allow lists name.
385
404
  const delegationTools = [];
386
- for (const slug of target.delegationTargets()) {
387
- let signature;
388
- try {
389
- signature = await input.registry.signature(slug);
390
- }
391
- catch (err) {
392
- const raw = err instanceof SubWorkflowError ? err.message : String(err);
393
- const detail = raw.replace(/^Cannot run sub-workflow '[^']*':\s*/, "");
394
- throw new WorkflowLoadError(input.workflow, workflowPaths(input.workflow).workflowYaml, `it allows '${workflowToolName(slug)}', but ${detail}`);
395
- }
405
+ for (const [slug, signature] of delegationSignatures) {
396
406
  // `disabled` is dropped: a description is built once at assembly, so
397
407
  // "currently disabled" would be stale and destabilize the cacheable prefix.
398
408
  const { disabled: _disabled, ...described } = signature;
@@ -447,19 +457,34 @@ export async function composeGoverned(ctx, input) {
447
457
  },
448
458
  };
449
459
  }
460
+ /** The signature of every sibling `input.machine` may delegate to, by slug; an unreadable one fails assembly. */
461
+ async function readDelegationSignatures(input) {
462
+ const signatures = new Map();
463
+ for (const slug of input.machine.delegationTargets()) {
464
+ try {
465
+ signatures.set(slug, await input.registry.signature(slug));
466
+ }
467
+ catch (err) {
468
+ const raw = err instanceof SubWorkflowError ? err.message : String(err);
469
+ const detail = raw.replace(/^Cannot run sub-workflow '[^']*':\s*/, "");
470
+ throw new WorkflowLoadError(input.workflow, workflowPaths(input.workflow).workflowYaml, `it allows '${workflowToolName(slug)}', but ${detail}`);
471
+ }
472
+ }
473
+ return signatures;
474
+ }
450
475
  /**
451
- * One workflow's **workflow-wide** denials, as rules a descendant inherits:
452
- * `tools.forbid_always`, `skills.forbid_always` and `mounts.forbid_always`,
453
- * named with the workflow that declared them. A per-state `forbid` is not
454
- * inherited — it governs that state's turns, not a child session — and neither
455
- * is any grant.
476
+ * The path arguments of the delegation tools: each target's `file` arguments,
477
+ * declared `read`, so the kernel governs them as it governs any read — a
478
+ * `paths:` guard on the tool and the zone and mount rules bind them.
456
479
  */
457
- function workflowDenials(machine, source) {
458
- return [
459
- ...compileForbidRules(machine.spec.tools?.forbid_always, { scope: "workflow", source }),
460
- ...compileForbiddenSkillRules(machine.spec.skills?.forbid_always ?? [], source),
461
- ...compileForbiddenMountRules(machine.spec.mounts?.forbid_always ?? [], source),
462
- ];
480
+ function delegationFilePaths(signatures) {
481
+ const declared = {};
482
+ for (const [slug, signature] of signatures) {
483
+ const files = (signature.requires ?? []).filter((entry) => entry.type === "file");
484
+ if (files.length > 0)
485
+ declared[workflowToolName(slug)] = Object.fromEntries(files.map((entry) => [entry.name, "read"]));
486
+ }
487
+ return declared;
463
488
  }
464
489
  /** The denials a direct child inherits from the root machine — the chain's first link. */
465
490
  export function inheritedDenials(ctx, root) {
@@ -1 +1 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/assembly/compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/assembly/compose.ts"],"names":[],"mappings":"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"}
@@ -22,12 +22,14 @@ import { assertNoReservedToolNames } from "../machine/tool-names.js";
22
22
  import { resolveToolPaths } from "../machine/tool-paths.js";
23
23
  import { toolPathsFromMetadata } from "../workflow/agent-tools.js";
24
24
  import { DEFAULT_TRIGGER_ID, resolveTrigger } from "../machine/triggers.js";
25
- import { buildSeededVariables } from "../machine/variables.js";
25
+ import { buildSeededVariables, VARIABLE_NAME_PATTERN } from "../machine/variables.js";
26
+ import { SEED_VARIABLES_KEY } from "../sessions/scope.js";
26
27
  import { isRuntimeContractSupported, resolveRuntimeContract, UnsupportedRuntimeContractError, } from "../runtime/contract.js";
27
28
  import { rubricsAsSubagents, rubricsFromSpec } from "../rubrics/rubrics.js";
28
29
  import { createArtifactEmitter, createSessionOperations, createSpecSnapshotReader, } from "../sessions/operations.js";
29
30
  import { resolveSession } from "../sessions/resolve.js";
30
- import { decide, deliver, EmptyMessageError, outcomeOf, reply, resume, settle } from "../sessions/resume.js";
31
+ import { decide, deliver, EmptyMessageError, InvalidTurnFileError, outcomeOf, reply, resume, settle, } from "../sessions/resume.js";
32
+ import { createSessionFiles, isPlainFileName } from "../core/attachments.js";
31
33
  import { BackendCheckpointSaver } from "../workflow/checkpointer.js";
32
34
  import { DEFAULT_WORKFLOW, workflowPaths } from "../workflow/paths.js";
33
35
  import { createPlainTurnRunner } from "../workflow/turn-runner.js";
@@ -203,6 +205,34 @@ export async function createAgent(params = {}) {
203
205
  });
204
206
  const agentMembers = members(composed.graph, composed.dispose, composed.toolMocks);
205
207
  const { resumable, driver } = composed;
208
+ // A turn's files: placed in the session's attachments, each seeding its variable with the path.
209
+ const sessionFiles = createSessionFiles(backend, sessionBinder(ctx));
210
+ const checkTurnFiles = (sessionId, turn) => {
211
+ for (const [variable, file] of Object.entries(turn.files ?? {})) {
212
+ const refuse = (reason) => new InvalidTurnFileError(sessionId, variable, reason);
213
+ if (!VARIABLE_NAME_PATTERN.test(variable)) {
214
+ throw refuse("it is not a valid variable name (lowercase letters, digits and underscores, starting with a letter).");
215
+ }
216
+ if (turn.variables && Object.hasOwn(turn.variables, variable)) {
217
+ throw refuse("the turn gives it in both 'files' and 'variables'; give it once.");
218
+ }
219
+ if (typeof file?.name !== "string" || !isPlainFileName(file.name)) {
220
+ throw refuse(`'${String(file?.name)}' is not one plain file name (no '/', '\\', '.' or '..').`);
221
+ }
222
+ if (!(file.content instanceof Uint8Array))
223
+ throw refuse("its content is not bytes (a Uint8Array).");
224
+ }
225
+ };
226
+ const placeTurnFiles = async (sessionId, turn) => {
227
+ const seeded = {};
228
+ for (const [variable, file] of Object.entries(turn.files ?? {})) {
229
+ const placed = await sessionFiles.place(sessionId, file.name, file.content);
230
+ if ("error" in placed)
231
+ throw new InvalidTurnFileError(sessionId, variable, placed.error);
232
+ seeded[variable] = placed.path;
233
+ }
234
+ return seeded;
235
+ };
206
236
  const workflow = {
207
237
  name: workflowName,
208
238
  machine,
@@ -223,6 +253,8 @@ export async function createAgent(params = {}) {
223
253
  // A turn: the session's disposition decides whether it is a fresh turn, a
224
254
  // reply to a person's hold, or a delivery to a waiting park.
225
255
  const turn = input;
256
+ checkTurnFiles(sessionId, turn);
257
+ const hasFiles = Object.keys(turn.files ?? {}).length > 0;
226
258
  const resolved = await workflow.resolveSession({
227
259
  sessionId,
228
260
  ...(turn.trigger ? { trigger: turn.trigger } : {}),
@@ -230,13 +262,17 @@ export async function createAgent(params = {}) {
230
262
  ...(turn.sessionPath ? { sessionPath: turn.sessionPath } : {}),
231
263
  });
232
264
  if (resolved.disposition === "reply") {
265
+ if (hasFiles) {
266
+ throw new InvalidTurnFileError(sessionId, Object.keys(turn.files)[0], "the session is parked at a human state, which takes a reply only; decide it first.");
267
+ }
233
268
  return outcomeOf(await resume(resumable, sessionId, { message: turn.message }, config), "reply");
234
269
  }
235
270
  if (resolved.disposition === "resume") {
236
271
  // The person's message travels with the firing rather than being dropped.
272
+ const seeds = { ...(turn.variables ?? {}), ...(await placeTurnFiles(sessionId, turn)) };
237
273
  const delivery = {
238
274
  trigger: turn.trigger ?? { id: DEFAULT_TRIGGER_ID },
239
- ...(turn.variables ? { variables: turn.variables } : {}),
275
+ ...(Object.keys(seeds).length > 0 ? { variables: seeds } : {}),
240
276
  ...(turn.message?.trim() ? { message: turn.message } : {}),
241
277
  };
242
278
  return outcomeOf(await resume(resumable, sessionId, { delivery }, config), "deliver");
@@ -247,16 +283,20 @@ export async function createAgent(params = {}) {
247
283
  if (!message)
248
284
  throw new EmptyMessageError(sessionId);
249
285
  const trigger = { id: resolveTrigger(machine, turn.trigger).id };
286
+ // Validated here, so a bad name is refused before anything runs.
287
+ if (turn.variables)
288
+ buildSeededVariables(turn.variables);
289
+ const seeds = { ...(turn.variables ?? {}), ...(hasFiles ? await placeTurnFiles(sessionId, turn) : {}) };
250
290
  const turnConfig = mergeConfigs(AGENT_DEFAULT_CONFIG, config, {
251
- configurable: { thread_id: sessionId },
291
+ configurable: {
292
+ thread_id: sessionId,
293
+ // Seeded per turn, locked, through the per-invocation seed channel the
294
+ // turn boundary reads — so they are this turn's opening variables, and
295
+ // a trigger's `requires` is checked against them.
296
+ ...(Object.keys(seeds).length > 0 ? { [SEED_VARIABLES_KEY]: seeds } : {}),
297
+ },
252
298
  });
253
- const result = await driver.invoke({
254
- messages: [{ role: "user", content: message }],
255
- trigger,
256
- // Seeded per turn, locked, like a delivery's seeds; the channel's
257
- // merge keeps the first lock, so a later seed cannot overwrite it.
258
- ...(turn.variables ? { variables: buildSeededVariables(turn.variables) } : {}),
259
- }, turnConfig);
299
+ const result = await driver.invoke({ messages: [{ role: "user", content: message }], trigger }, turnConfig);
260
300
  return outcomeOf(settle(result, sessionId), "turn");
261
301
  },
262
302
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assembly/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assembly/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAuB,MAAM,2BAA2B,CAAC;AAK9E,OAAO,EACL,oBAAoB,EACpB,YAAY,GAKb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAA6B,MAAM,mBAAmB,CAAC;AAG/G,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAqB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EACL,eAAe,EACf,UAAU,EACV,OAAO,EACP,cAAc,GAGf,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAkB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAqB,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAe,MAAM,uBAAuB,CAAC;AACzF,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,oBAAoB,EACpB,SAAS,EACT,KAAK,EACL,MAAM,EACN,MAAM,GACP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAwB,MAAM,cAAc,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAyM1C,8CAA8C;AAC9C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAA4B,EAAE;IAC9D,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IAC/C,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACpC,4EAA4E;IAC5E,uDAAuD;IACvD,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAE1C,+EAA+E;IAC/E,4GAA4G;IAC5G,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,GAC/E,sBAAsB,CAAC;QACrB,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7D,CAAC,CAAC;IAEL,uEAAuE;IACvE,8EAA8E;IAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAElF,4EAA4E;IAC5E,2EAA2E;IAC3E,YAAY;IACZ,MAAM,KAAK,GAAG,kBAAkB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACrF,MAAM,IAAI,GAAG,0BAA0B,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzE,wEAAwE;IACxE,MAAM,MAAM,GAAmB,QAAQ;QACrC,CAAC,CAAC,MAAM,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC;QACzC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChG,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,4EAA4E;IAC5E,+EAA+E;IAC/E,gFAAgF;IAChF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAE/D,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAE1E,iFAAiF;IACjF,6EAA6E;IAC7E,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAEpG,MAAM,OAAO,GACX,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI;QAC1B,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC;QACzE,CAAC,CAAC,IAAI,CAAC;IAEX,4EAA4E;IAC5E,6EAA6E;IAC7E,qBAAqB;IACrB,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QACtG,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,MAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,OAAO,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,+BAA+B,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,8EAA8E;IAC9E,mFAAmF;IACnF,IAAI,SAA+B,CAAC;IACpC,MAAM,GAAG,GAAG,GAAa,EAAE,CAAC,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,4EAA4E;IAC5E,gFAAgF;IAChF,+EAA+E;IAC/E,gDAAgD;IAChD,EAAE;IACF,6EAA6E;IAC7E,+EAA+E;IAC/E,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAwB,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,CAAC,EAAW,EAAiB,EAAE;QAChD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,MAAM,CAAC,YAAY;gBAC5B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;gBACxC,CAAC,CAAC,eAAe,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,yEAAyE;IACzE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC;IACnD,8EAA8E;IAC9E,+EAA+E;IAC/E,gCAAgC;IAChC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAqC,CAAC;IAClE,MAAM,WAAW,GAAG,CAAC,MAAc,EAA6B,EAAE;QAChE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,YAAY,CAAC,GAAG,CACd,GAAG,EACH,MAAM,CAAC,YAAY;gBACjB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;gBAClD,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;oBAC1B,CAAC,CAAC,eAAe,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;oBACpD,CAAC,CAAC,SAAS,CAChB,CAAC;QACJ,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,GAAG,GAAoB;QAC3B,MAAM;QACN,YAAY;QACZ,SAAS;QACT,SAAS;QACT,OAAO;QACP,WAAW;QACX,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,IAAI;QACJ,KAAK;QACL,KAAK;QACL,UAAU;QACV,qBAAqB,EAAE,MAAM,CAAC,KAAK,KAAK,SAAS;QACjD,OAAO;QACP,WAAW;QACX,SAAS,EAAE,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC;QACnD,YAAY;QACZ,aAAa;QACb,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC;QACxC,eAAe;QACf,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,SAAS;KACV,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IACrG,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC;QAAE,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAE9F,oEAAoE;IACpE,MAAM,OAAO,GAAG,CAAC,KAAyB,EAAE,OAAoC,EAAE,SAAkB,EAAgB,EAAE,CAAC,CAAC;QACtH,OAAO;QACP,eAAe;QACf,SAAS;QACT,gBAAgB,EAAE,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClH,QAAQ,EAAE,uBAAuB,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;QACpG,eAAe,EAAE,wBAAwB,CAAC,SAAS,CAAC;KACrD,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC9C,4EAA4E;QAC5E,mDAAmD;QACnD,MAAM,MAAM,GAAG,qBAAqB,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9F,OAAO,IAAI,YAAY,CAAC;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;YACxD,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE;QAC1C,OAAO;QACP,QAAQ,EAAE,YAAY;QACtB,YAAY;QACZ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnF,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAEvC,gGAAgG;IAChG,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,IAAe,EAAQ,EAAE;QAClE,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,MAAM,MAAM,CAAC,sGAAsG,CAAC,CAAC;YACvH,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC9D,MAAM,MAAM,CAAC,kEAAkE,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,YAAY,UAAU,CAAC;gBAAE,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC;QACtG,CAAC;IACH,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,KAAK,EAAE,SAAiB,EAAE,IAAe,EAAoC,EAAE;QACpG,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5E,IAAI,OAAO,IAAI,MAAM;gBAAE,MAAM,IAAI,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACzF,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QACjC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAoB;QAChC,IAAI,EAAE,YAAY;QAClB,OAAO;QACP,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC;QAC7D,MAAM,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC;QAC3E,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;QACnE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;QACzE,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CACxB,cAAc,CACZ,OAAO,EACP;YACE,mEAAmE;YACnE,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;YAChE,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,UAAU,EAAE,EAAE;SAC/C,EACD,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,EAChF,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAClE;QACH,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,UAAU,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;YACvG,IAAI,UAAU,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;YACxG,0EAA0E;YAC1E,6DAA6D;YAC7D,MAAM,IAAI,GAAG,KAAkB,CAAC;YAChC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC;gBAC7C,SAAS;gBACT,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;gBACrC,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,oBAAoB,CAC5B,SAAS,EACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,CAAC,CAAE,EAC5B,oFAAoF,CACrF,CAAC;gBACJ,CAAC;gBACD,OAAO,SAAS,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACtC,0EAA0E;gBAC1E,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxF,MAAM,QAAQ,GAAG;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,kBAAkB,EAAE;oBACnD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3D,CAAC;gBACF,OAAO,SAAS,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ;gBAAE,MAAM,IAAI,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;YACjE,iEAAiE;YACjE,IAAI,IAAI,CAAC,SAAS;gBAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACxG,MAAM,UAAU,GAAmB,YAAY,CAAC,oBAAoB,EAAE,MAAM,EAAE;gBAC5E,YAAY,EAAE;oBACZ,SAAS,EAAE,SAAS;oBACpB,uEAAuE;oBACvE,uEAAuE;oBACvE,kDAAkD;oBAClD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1E;aACF,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;YAC5G,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;KACF,CAAC;IAEF,OAAO,IAAI,YAAY,CAAC;QACtB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,YAAY;QACrB,MAAM;QACN,QAAQ;KACT,CAAC,CAAC;AACL,CAAC"}
@@ -60,7 +60,7 @@ then verify. Do not write a file, validate, and discover the next file.
60
60
  (another workflow, a host's MCP tool or form), give its trigger a
61
61
  `description` for the caller and a `requires`/`returns` signature, typing an
62
62
  entry (`{ name, type, description }`; `string` `integer` `number` `boolean`
63
- `date` `date-time` `object` `array`) where the caller must build or read the
63
+ `date` `date-time` `object` `array` `file`) where the caller must build or read the
64
64
  value. The runtime holds typed entries at start, at `archmax_set_variables`
65
65
  and at completion ([`references/workflow-schema.md`](references/workflow-schema.md)).
66
66
  Decide how the work can **fail**, too: the agent ends a session it cannot
@@ -230,7 +230,7 @@ Rules that follow:
230
230
  ```bash
231
231
  archmax validate [workflow] [--json] # offline; run after every structural edit
232
232
  archmax test [workflow] [filter] [--json] # cases; filter = case-id substring
233
- archmax run <workflow> "<prompt>" [--session <id>] [--trigger <id>] [--variables '<json>']
233
+ archmax run <workflow> "<prompt>" [--session <id>] [--trigger <id>] [--variables '<json>'] [--file <var>=<path>]...
234
234
  archmax sessions [session] [--json] # list, or one session's variables (value + locked)
235
235
  archmax decide <session> --to <state> [--comment "…"] # resume a human state
236
236
  archmax reply <session> "<message>" # message a parked run; it stays parked
@@ -333,9 +333,11 @@ turn ended in — the position, variables, transcript and files are already ther
333
333
  message.
334
334
 
335
335
  The runtime does not reposition a later turn, so nothing is injected into the
336
- transcript to explain a jump. When a turn needs a path the current state cannot
337
- reach, the agent calls `archmax_reset` to return to the state the conversation began
338
- in (available in every state). To continue *mid-state* instead — inside the state
336
+ transcript to explain a jump. When the current state can serve the new message, the
337
+ agent answers there without a reset. That includes a terminal state that is also the
338
+ state the conversation began in, such as a one-state chat workflow. When a turn needs
339
+ a path the current state cannot reach, the agent calls `archmax_reset` to return to
340
+ the state the conversation began in (available in every state). To continue *mid-state* instead — inside the state
339
341
  that stopped, with the arrival in its transcript — the turn must park rather than
340
342
  finish.
341
343
 
@@ -378,7 +380,7 @@ const outcome = await agent.workflow!.send(sessionId, { message: "Refund the ord
378
380
 
379
381
  - `signatureJsonSchema(entries)` → `{ type: "object", properties, required }`:
380
382
  one property per entry in declaration order, every name required,
381
- `date`/`date-time` as `{ type: "string", format }`, an untyped entry as `{}`,
383
+ `date`/`date-time`/`file` as `{ type: "string", format }`, an untyped entry as `{}`,
382
384
  an entry's `description` carried over. It adds no `additionalProperties`; set
383
385
  it for your own ingress.
384
386
  - `signatureValueIssues(entries, values)` → one issue per missing name and per
@@ -387,6 +389,19 @@ const outcome = await agent.workflow!.send(sessionId, { message: "Refund the ord
387
389
  `"4"` to `4` before it validates or seeds.
388
390
  - A trigger's `description` is written for the caller. Use it as the MCP tool
389
391
  or operation description. The session's own model never sees it.
392
+ - **A `file` entry** (`format: "file"` in the schema) takes a workspace path. To
393
+ hand a session an uploaded file, pass it on the turn rather than writing into
394
+ the store yourself:
395
+ `send(sessionId, { message, files: { invoice: { name: "invoice.pdf", content: bytes } } })`.
396
+ The runtime places the bytes in the session's `scratchpad/attachments/` (a taken
397
+ name gets `-1`, `-2`, …), seeds `invoice`, locked, with the placed path, and the
398
+ turn boundary then checks that the file is there and readable. `send` throws
399
+ `InvalidTurnFileError`, before anything is written, for a bad variable or file
400
+ name, a variable also given in `variables`, a session parked at a human state, or
401
+ bytes the store cannot hold exactly (a non-text file needs a store with
402
+ `uploadFiles`). `signatureValueIssues` checks only a `file` value's shape, so a
403
+ start form validates the path the upload will produce, or skips the entry and
404
+ lets `files` supply it.
390
405
  - A host that reads specs itself must read `requires`/`returns` through
391
406
  `normalizeSignature` (both spellings → `{ name, type?, description? }[]`),
392
407
  never as `string[]`: an entry may be an object. Hosts must be on the release
@@ -708,7 +723,7 @@ real). A bespoke target that intercepts by other means sets
708
723
  `capabilities.toolMocks` itself. Mockless cases run against any
709
724
  workflow-governed target.
710
725
 
711
- **Sub-workflows inherit the assembly.** When a workflow delegates (by advancing
726
+ **Sub-workflows inherit the assembly.** When a workflow delegates (by calling
712
727
  an `archmax_workflow_<slug>` tool), the child runtime is
713
728
  composed from the *same* resolved inputs as the parent — model and
714
729
  `modelFactory`, `backend` and `mounts`, `sessionStore` and `checkpointer`, host
@@ -721,11 +736,14 @@ never delegated to is never loaded, and one delegated from many places is
721
736
  composed once. A child whose spec is broken surfaces as a *dispatch* failure, not
722
737
  an assembly failure — a parent still assembles.
723
738
 
724
- The child runs on the parent's **session id** (which is what gives it the same
725
- run zone) under a nested checkpoint namespace, so `sessions.list()` reports one
726
- session and the parent session's metrics include the child's tokens.
727
- `capabilities.subWorkflows` is stamped `true` for a governed assembly and `false`
728
- for the plain one.
739
+ The child runs as a **separate session**, `<parent>~<state>:<workflow>:<n>`, in
740
+ the same session store, with its own checkpoints, its own token accounting and its
741
+ own file space: its `scratchpad/` is not its caller's, so it can neither read nor
742
+ overwrite a file of its caller's. `sessions.list()` reports it beside its caller
743
+ with `parentSessionId` naming the caller, and `sessions.delete` removes it by its
744
+ own id. The only files that cross are the runtime's copies of declared `file` arguments and
745
+ `file` returns. `capabilities.subWorkflows` is stamped `true` for a governed
746
+ assembly and `false` for the plain one.
729
747
 
730
748
  Omit both options and behavior is identical to `archmax test`. Cases run
731
749
  sequentially (`tests.maxConcurrency` above 1 is rejected, not silently
@@ -322,7 +322,8 @@ state fails that call closed with `parked`.
322
322
  Scripts still may not call `archmax_advance` (moving the state machine is the model's governed
323
323
  decision) or `archmax_set_variables`. Concurrent calls succeed or fail **independently**, so a script
324
324
  can act on what worked — `Promise.allSettled` is the honest shape when partial success is
325
- meaningful. Give each sub-run its own output path: they share one run zone.
325
+ meaningful. Each sub-run is its own session with its own `scratchpad/`, so concurrent sub-runs
326
+ never collide on a path; a `file` return comes back as a copy under a name no other file holds.
326
327
 
327
328
  ### Worked example: a `before` gate
328
329