@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
@@ -8,13 +8,42 @@
8
8
  * completion check rejected without importing the middleware.
9
9
  */
10
10
  import type { WorkflowMachine } from "../machine/machine.js";
11
+ import { type SignatureEntry, type SignatureValueIssue } from "../machine/signature.js";
11
12
  import { type VariableStore } from "../machine/variables.js";
13
+ /** An `invalid` issue, as the file check reports one. */
14
+ export type InvalidValueIssue = Extract<SignatureValueIssue, {
15
+ kind: "invalid";
16
+ }>;
17
+ /**
18
+ * What the file check asks of the session a `file` value belongs to: what a
19
+ * path names in its workspace, and why it may not read it on runtime authority
20
+ * (the rules that bind a hook — the zone rules and every workflow-wide denial,
21
+ * inherited ones included), or `undefined` when it may.
22
+ */
23
+ export interface FileValueCheck {
24
+ kind(path: string): Promise<"file" | "directory" | "missing">;
25
+ denied(path: string): string | undefined;
26
+ }
27
+ /** A `file` value in the canonical form the workspace addresses it by: no leading `/`. */
28
+ export declare function filePathOf(value: string): string;
29
+ /**
30
+ * The runtime half of the `file` type: one issue per `file` entry whose value
31
+ * has the right shape (the pure rule's business) but names a path this session
32
+ * may not read, a folder, or nothing. Entries of another type, unset values and
33
+ * malformed paths are left to {@link signatureValueIssues}.
34
+ */
35
+ export declare function fileValueIssues(entries: readonly SignatureEntry[], values: Readonly<Record<string, unknown>>, check: FileValueCheck): Promise<InvalidValueIssue[]>;
36
+ /** Whether a signature list declares any `file` entry: only then does a site pay for the file check. */
37
+ export declare function hasFileEntries(entries: readonly SignatureEntry[] | undefined): boolean;
38
+ /** The file issues of the `file` entries a trigger's `requires` declares, for {@link requiresRefusal}. */
39
+ export declare function requiresFileIssues(machine: WorkflowMachine, triggerId: string, opening: VariableStore, files: FileValueCheck): Promise<InvalidValueIssue[]>;
12
40
  /**
13
41
  * Why a turn's opening variables do not satisfy its trigger's `requires`, or
14
42
  * `undefined` when they do: every missing name in one sentence, then each value
15
- * that does not conform to its declared type.
43
+ * that does not conform to its declared type, then each of `fileIssues` (from
44
+ * {@link requiresFileIssues}).
16
45
  */
17
- export declare function requiresRefusal(machine: WorkflowMachine, triggerId: string, opening: VariableStore): string | undefined;
46
+ export declare function requiresRefusal(machine: WorkflowMachine, triggerId: string, opening: VariableStore, fileIssues?: readonly InvalidValueIssue[]): string | undefined;
18
47
  /**
19
48
  * What a finishing session still owes the `returns` of the trigger that started
20
49
  * its current turn: the declared names it left unset and the typed values that
@@ -27,14 +56,27 @@ export interface ReturnsShortfall {
27
56
  /** One message per typed return whose value does not conform. */
28
57
  invalid: string[];
29
58
  }
30
- /** The session's {@link ReturnsShortfall}, or `undefined` when it owes its trigger nothing. */
31
- export declare function returnsShortfall(machine: WorkflowMachine, triggerId: string | undefined, store: VariableStore): ReturnsShortfall | undefined;
59
+ /** The file issues of the `file` entries a trigger's `returns` declares, for {@link returnsShortfall}. */
60
+ export declare function returnsFileIssues(machine: WorkflowMachine, triggerId: string | undefined, store: VariableStore, files: FileValueCheck): Promise<InvalidValueIssue[]>;
61
+ /**
62
+ * The session's {@link ReturnsShortfall}, or `undefined` when it owes its
63
+ * trigger nothing: its unset and non-conforming returns, plus `fileIssues`
64
+ * (from {@link returnsFileIssues}).
65
+ */
66
+ export declare function returnsShortfall(machine: WorkflowMachine, triggerId: string | undefined, store: VariableStore, fileIssues?: readonly InvalidValueIssue[]): ReturnsShortfall | undefined;
32
67
  /**
33
68
  * Why a session completing in `state` does not satisfy the `returns` of the
34
69
  * trigger that started its current turn, or `undefined` when it does: every
35
70
  * unset name, then every typed return whose value does not conform.
36
71
  */
37
- export declare function returnsRejection(machine: WorkflowMachine, triggerId: string | undefined, state: string, store: VariableStore): string | undefined;
72
+ export declare function returnsRejection(machine: WorkflowMachine, triggerId: string | undefined, state: string, store: VariableStore, fileIssues?: readonly InvalidValueIssue[]): string | undefined;
73
+ /**
74
+ * Whether a session's `rejected` reason is a completion check's refusal of its
75
+ * returns — the sentences {@link returnsRejectionFor} writes, and nothing else
76
+ * does. The dispatcher reads a child rejected for its returns as a returns
77
+ * failure (`invalid-return`), any other rejection as `rejected`.
78
+ */
79
+ export declare function isReturnsRejection(reason: string): boolean;
38
80
  /** The rejection a {@link ReturnsShortfall} settles as, worded for the state the session finished in. */
39
81
  export declare function returnsRejectionFor(owed: ReturnsShortfall, state: string): string;
40
82
  /**
@@ -1,16 +1,60 @@
1
- import { signatureValueIssues } from "../machine/signature.js";
1
+ import { isFilePath, signatureValueIssues, } from "../machine/signature.js";
2
2
  import { SET_VARIABLES_TOOL } from "../machine/tool-names.js";
3
3
  import { storeValues } from "../machine/variables.js";
4
+ /** A `file` value in the canonical form the workspace addresses it by: no leading `/`. */
5
+ export function filePathOf(value) {
6
+ return value.startsWith("/") ? value.slice(1) : value;
7
+ }
8
+ /**
9
+ * The runtime half of the `file` type: one issue per `file` entry whose value
10
+ * has the right shape (the pure rule's business) but names a path this session
11
+ * may not read, a folder, or nothing. Entries of another type, unset values and
12
+ * malformed paths are left to {@link signatureValueIssues}.
13
+ */
14
+ export async function fileValueIssues(entries, values, check) {
15
+ const issues = [];
16
+ for (const entry of entries) {
17
+ if (entry.type !== "file")
18
+ continue;
19
+ const value = Object.hasOwn(values, entry.name) ? values[entry.name] : undefined;
20
+ if (typeof value !== "string" || !isFilePath(value))
21
+ continue;
22
+ const path = filePathOf(value);
23
+ const issue = (message) => issues.push({ kind: "invalid", name: entry.name, type: "file", found: "string", message });
24
+ const denied = check.denied(path);
25
+ if (denied) {
26
+ issue(`'${entry.name}' names '${path}', which this session may not read: ${denied}`);
27
+ continue;
28
+ }
29
+ const kind = await check.kind(path);
30
+ if (kind === "directory")
31
+ issue(`'${entry.name}' must name a file, but '${path}' is a folder`);
32
+ else if (kind === "missing")
33
+ issue(`'${entry.name}' must name a file, but nothing is at '${path}'`);
34
+ }
35
+ return issues;
36
+ }
37
+ /** Whether a signature list declares any `file` entry: only then does a site pay for the file check. */
38
+ export function hasFileEntries(entries) {
39
+ return (entries ?? []).some((entry) => entry.type === "file");
40
+ }
41
+ // --- The session boundary -------------------------------------------------------------
42
+ /** The file issues of the `file` entries a trigger's `requires` declares, for {@link requiresRefusal}. */
43
+ export async function requiresFileIssues(machine, triggerId, opening, files) {
44
+ const entries = machine.signatureForTrigger(triggerId)?.requires ?? [];
45
+ return hasFileEntries(entries) ? fileValueIssues(entries, storeValues(opening), files) : [];
46
+ }
4
47
  /**
5
48
  * Why a turn's opening variables do not satisfy its trigger's `requires`, or
6
49
  * `undefined` when they do: every missing name in one sentence, then each value
7
- * that does not conform to its declared type.
50
+ * that does not conform to its declared type, then each of `fileIssues` (from
51
+ * {@link requiresFileIssues}).
8
52
  */
9
- export function requiresRefusal(machine, triggerId, opening) {
53
+ export function requiresRefusal(machine, triggerId, opening, fileIssues = []) {
10
54
  const entries = machine.signatureForTrigger(triggerId)?.requires ?? [];
11
55
  if (entries.length === 0)
12
56
  return undefined;
13
- const issues = signatureValueIssues(entries, storeValues(opening));
57
+ const issues = [...signatureValueIssues(entries, storeValues(opening)), ...fileIssues];
14
58
  if (issues.length === 0)
15
59
  return undefined;
16
60
  const missing = issues.filter((issue) => issue.kind === "missing").map((issue) => `'${issue.name}'`);
@@ -22,14 +66,25 @@ export function requiresRefusal(machine, triggerId, opening) {
22
66
  parts.push(`declares typed inputs this firing does not satisfy: ${invalid.join("; ")}`);
23
67
  return `Refusing to start: trigger '${triggerId}' ${parts.join(". It also ")}.`;
24
68
  }
25
- /** The session's {@link ReturnsShortfall}, or `undefined` when it owes its trigger nothing. */
26
- export function returnsShortfall(machine, triggerId, store) {
69
+ /** The file issues of the `file` entries a trigger's `returns` declares, for {@link returnsShortfall}. */
70
+ export async function returnsFileIssues(machine, triggerId, store, files) {
71
+ if (!triggerId)
72
+ return [];
73
+ const entries = machine.signatureForTrigger(triggerId)?.returns ?? [];
74
+ return hasFileEntries(entries) ? fileValueIssues(entries, storeValues(store), files) : [];
75
+ }
76
+ /**
77
+ * The session's {@link ReturnsShortfall}, or `undefined` when it owes its
78
+ * trigger nothing: its unset and non-conforming returns, plus `fileIssues`
79
+ * (from {@link returnsFileIssues}).
80
+ */
81
+ export function returnsShortfall(machine, triggerId, store, fileIssues = []) {
27
82
  if (!triggerId)
28
83
  return undefined;
29
84
  const entries = machine.signatureForTrigger(triggerId)?.returns ?? [];
30
85
  if (entries.length === 0)
31
86
  return undefined;
32
- const issues = signatureValueIssues(entries, storeValues(store));
87
+ const issues = [...signatureValueIssues(entries, storeValues(store)), ...fileIssues];
33
88
  if (issues.length === 0)
34
89
  return undefined;
35
90
  return {
@@ -43,10 +98,19 @@ export function returnsShortfall(machine, triggerId, store) {
43
98
  * trigger that started its current turn, or `undefined` when it does: every
44
99
  * unset name, then every typed return whose value does not conform.
45
100
  */
46
- export function returnsRejection(machine, triggerId, state, store) {
47
- const owed = returnsShortfall(machine, triggerId, store);
101
+ export function returnsRejection(machine, triggerId, state, store, fileIssues = []) {
102
+ const owed = returnsShortfall(machine, triggerId, store, fileIssues);
48
103
  return owed ? returnsRejectionFor(owed, state) : undefined;
49
104
  }
105
+ /**
106
+ * Whether a session's `rejected` reason is a completion check's refusal of its
107
+ * returns — the sentences {@link returnsRejectionFor} writes, and nothing else
108
+ * does. The dispatcher reads a child rejected for its returns as a returns
109
+ * failure (`invalid-return`), any other rejection as `rejected`.
110
+ */
111
+ export function isReturnsRejection(reason) {
112
+ return /^Completed in state '[^']*' (?:without setting |with returns that do not conform )/.test(reason);
113
+ }
50
114
  /** The rejection a {@link ReturnsShortfall} settles as, worded for the state the session finished in. */
51
115
  export function returnsRejectionFor(owed, state) {
52
116
  const { trigger, unset, invalid } = owed;
@@ -1 +1 @@
1
- {"version":3,"file":"signature-checks.js","sourceRoot":"","sources":["../../src/workflow/signature-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signature-checks.js","sourceRoot":"","sources":["../../src/workflow/signature-checks.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@
7
7
  * target, an unresolvable param, and a child that parks with nothing to resume
8
8
  * it all raise {@link SubWorkflowError}; nothing returns a half-finished sub-run.
9
9
  * **Nothing crosses implicitly**: down, only the arguments the call passed; up,
10
- * only the closing message, the declared returns, and what the child wrote to
11
- * the run zone.
10
+ * only the closing message, the declared returns, and the runtime's copies of
11
+ * its declared `file` returns. A child's files stay in its own session.
12
12
  */
13
13
  import type { RunnableConfig } from "@langchain/core/runnables";
14
14
  import { type WorkflowEventHandler } from "../core/events.js";
@@ -17,6 +17,7 @@ import { type SignatureEntry } from "../machine/signature.js";
17
17
  import { DEFAULT_SUB_WORKFLOW_CONCURRENCY, DEFAULT_SUB_WORKFLOW_DEPTH } from "../machine/delegation.js";
18
18
  import type { GovernanceRule } from "../kernel/kernel.js";
19
19
  import type { WorkflowMachine } from "../machine/machine.js";
20
+ import { type SessionFiles } from "../core/attachments.js";
20
21
  export { DEFAULT_SUB_WORKFLOW_CONCURRENCY, DEFAULT_SUB_WORKFLOW_DEPTH };
21
22
  /** Why a sub-run did not produce a result. Each is a fail-closed outcome. */
22
23
  export type SubWorkflowFailureKind = "unresolved-param" | "missing-param" | "invalid-param" | "invalid-return" | "depth-exceeded" | "cycle" | "unknown-workflow" | "not-delegatable" | "disabled" | "parked" | "rejected"
@@ -150,6 +151,17 @@ export interface SubWorkflowDispatcherOptions {
150
151
  maxConcurrent?: number;
151
152
  };
152
153
  onEvent?: WorkflowEventHandler;
154
+ /**
155
+ * The runtime's access to the caller's and the child's files: how a `file`
156
+ * argument is copied into the child and a `file` return copied back. Absent, a
157
+ * target declaring a `file` entry cannot be dispatched (it fails closed).
158
+ */
159
+ files?: SessionFiles;
160
+ /**
161
+ * Why the calling session, in `state`, may not read `path` on runtime authority
162
+ * — the check a `file` argument is held to before anything is copied.
163
+ */
164
+ readDenial?: (state: string, path: string, variables: VariableStore) => string | undefined;
153
165
  }
154
166
  export interface SubWorkflowDispatcher {
155
167
  dispatch(input: DispatchSubWorkflowInput): Promise<SubWorkflowResult>;
@@ -7,8 +7,8 @@
7
7
  * target, an unresolvable param, and a child that parks with nothing to resume
8
8
  * it all raise {@link SubWorkflowError}; nothing returns a half-finished sub-run.
9
9
  * **Nothing crosses implicitly**: down, only the arguments the call passed; up,
10
- * only the closing message, the declared returns, and what the child wrote to
11
- * the run zone.
10
+ * only the closing message, the declared returns, and the runtime's copies of
11
+ * its declared `file` returns. A child's files stay in its own session.
12
12
  */
13
13
  import { Command, isGraphInterrupt } from "@langchain/langgraph";
14
14
  import { AsyncLocalStorageProviderSingleton } from "@langchain/core/singletons";
@@ -21,8 +21,9 @@ import { MANUAL_TRIGGER } from "../machine/triggers.js";
21
21
  import { GET_VARIABLES_TOOL, workflowToolName } from "../machine/tool-names.js";
22
22
  import { DEFAULT_SUB_WORKFLOW_CONCURRENCY, DEFAULT_SUB_WORKFLOW_DEPTH } from "../machine/delegation.js";
23
23
  import { findMock, readMocks } from "../core/tool-mocks.js";
24
- import { readRaised, readReturns, readVariables, readWorkflowState, WORKFLOW_STATUSES } from "./state.js";
25
- import { missingReturnsNote, RETURNS_NOTE_VARIABLE, returnsRejection } from "./signature-checks.js";
24
+ import { readRaised, readReturns, readWorkflowState, WORKFLOW_STATUSES } from "./state.js";
25
+ import { fileValueIssues, filePathOf, hasFileEntries, isReturnsRejection, missingReturnsNote, RETURNS_NOTE_VARIABLE, } from "./signature-checks.js";
26
+ import { baseName } from "../core/attachments.js";
26
27
  import { childRunConfig, releaseScopes, sessionScopeFrom, SEED_VARIABLES_KEY, subRunIdentity, } from "../sessions/scope.js";
27
28
  // --- Dispatch -------------------------------------------------------------------
28
29
  // The default bounds are pure vocabulary (`machine/delegation.ts`); re-exported
@@ -202,6 +203,45 @@ export function createSubWorkflowDispatcher(opts) {
202
203
  dispatched.set(key, [entry]);
203
204
  };
204
205
  const failed = (workflow, finishedIn, rejected) => new SubWorkflowError("rejected", workflow, `Sub-workflow '${workflow}' was rejected in state '${finishedIn}': ${rejected}`);
206
+ /** The file check a `file` argument is held to: a file the caller holds and may read on runtime authority. */
207
+ function callerFiles(input) {
208
+ const callerId = sessionScopeFrom(input.config).sessionId;
209
+ return {
210
+ kind: (path) => (opts.files ? opts.files.kind(callerId, path) : Promise.resolve("missing")),
211
+ denied: (path) => opts.readDenial?.(input.state, path, input.variables),
212
+ };
213
+ }
214
+ /** The port, or the closed failure of a dispatch that would have to copy a file without one. */
215
+ function filesFor(workflow) {
216
+ if (opts.files)
217
+ return opts.files;
218
+ throw new SubWorkflowError("error", workflow, `Sub-workflow '${workflow}' declares a 'file' entry, but this assembly cannot copy files between sessions.`);
219
+ }
220
+ /**
221
+ * Copy each `file` argument into the child's `scratchpad/attachments/`, in
222
+ * declaration order, and return the seeds with the child-side paths. The
223
+ * child gets its own copy: nothing it does reaches the caller's file.
224
+ */
225
+ async function copyFilesIn(workflow, requires, params, callerId, childId) {
226
+ if (!hasFileEntries(requires))
227
+ return params;
228
+ const files = filesFor(workflow);
229
+ const seeds = { ...params };
230
+ for (const entry of requires) {
231
+ const value = params[entry.name];
232
+ if (entry.type !== "file" || typeof value !== "string")
233
+ continue;
234
+ const path = filePathOf(value);
235
+ const read = await files.read(callerId, path);
236
+ const placed = "error" in read ? read : await files.place(childId, baseName(path), read.bytes);
237
+ if ("error" in placed) {
238
+ throw new SubWorkflowError("invalid-param", workflow, `Refusing to run sub-workflow '${workflow}': its argument '${entry.name}' could not be copied ` +
239
+ `into the sub-workflow: ${placed.error}`);
240
+ }
241
+ seeds[entry.name] = placed.path;
242
+ }
243
+ return seeds;
244
+ }
205
245
  /** Everything that can refuse a dispatch, before anything is composed. Shared by `dispatch` and `refusal`. */
206
246
  async function check(input) {
207
247
  const { workflow } = input;
@@ -242,6 +282,15 @@ export function createSubWorkflowDispatcher(opts) {
242
282
  throw new SubWorkflowError("invalid-param", workflow, `Refusing to run sub-workflow '${workflow}': ${invalid.map((issue) => issue.message).join("; ")}. ` +
243
283
  `Call it again with ${invalid.length === 1 ? "a value" : "values"} of the declared type.`);
244
284
  }
285
+ // A `file` argument must name a file the caller holds and may read: it is
286
+ // copied into the child before the child runs, so a miss is refused here.
287
+ if (hasFileEntries(requires)) {
288
+ const missingFiles = await fileValueIssues(requires, params, callerFiles(input));
289
+ if (missingFiles.length > 0) {
290
+ throw new SubWorkflowError("invalid-param", workflow, `Refusing to run sub-workflow '${workflow}': ${missingFiles.map((issue) => issue.message).join("; ")}. ` +
291
+ `Call it again with ${missingFiles.length === 1 ? "a path" : "paths"} naming a file this session may read.`);
292
+ }
293
+ }
245
294
  return { params, signature, ...(mock ? { mock } : {}) };
246
295
  }
247
296
  async function refusal(input) {
@@ -304,12 +353,21 @@ export function createSubWorkflowDispatcher(opts) {
304
353
  try {
305
354
  const { params, signature, mock } = await check(input);
306
355
  if (mock) {
307
- const mocked = applyMock(mock, workflow, signature.returns);
356
+ // A mock has no child session: its `file` returns name the caller's own
357
+ // files (a case seeds them), copied by the same rule a real return is.
358
+ const mocked = await applyMock(mock, workflow, signature.returns, (declared, handed) => copyFilesBack(workflow, declared, handed, scope.sessionId, scope.sessionId));
308
359
  settle("ok", undefined, mocked.returns);
309
360
  record(input.config, { workflow, status: "ok" });
310
361
  return mocked;
311
362
  }
312
- const result = await withSlot(() => run({ ...input, dispatchId, identity, params, returns: signature.returns ?? [] }));
363
+ const result = await withSlot(() => run({
364
+ ...input,
365
+ dispatchId,
366
+ identity,
367
+ params,
368
+ requires: signature.requires ?? [],
369
+ returns: signature.returns ?? [],
370
+ }));
313
371
  settle("ok", undefined, result.returns);
314
372
  record(input.config, { workflow, status: "ok" });
315
373
  return result;
@@ -357,10 +415,16 @@ export function createSubWorkflowDispatcher(opts) {
357
415
  workflow,
358
416
  dispatchId: input.dispatchId,
359
417
  });
360
- // Exactly what the caller declared: the child seeds them as its host would, locked.
361
- const configurable = { ...(config.configurable ?? {}), [SEED_VARIABLES_KEY]: { ...input.params } };
418
+ const sessions = {
419
+ callerId: sessionScopeFrom(input.config).sessionId,
420
+ childId: sessionScopeFrom(config).sessionId,
421
+ };
422
+ // Exactly what the caller declared — a `file` argument as the child's own
423
+ // copy — seeded as its host would, locked.
424
+ const seeds = await copyFilesIn(workflow, input.requires, input.params, sessions.callerId, sessions.childId);
425
+ const configurable = { ...(config.configurable ?? {}), [SEED_VARIABLES_KEY]: seeds };
362
426
  // Everything the child emits is tagged with this dispatch.
363
- const state = await withEventContext({ subWorkflowDispatchId: input.dispatchId }, () => child.graph.invoke({ messages: [humanNote("opening", subRunOpening(input.params))] }, { ...config, configurable, ...(input.signal ? { signal: input.signal } : {}) }));
427
+ const state = await withEventContext({ subWorkflowDispatchId: input.dispatchId }, () => child.graph.invoke({ messages: [humanNote("opening", subRunOpening(seeds))] }, { ...config, configurable, ...(input.signal ? { signal: input.signal } : {}) }));
364
428
  const fields = readWorkflowState(state);
365
429
  const finishedIn = fields.workflowState ?? child.machine.entry;
366
430
  // A park normally leaves through the `GraphInterrupt` above; settling in an
@@ -370,7 +434,7 @@ export function createSubWorkflowDispatcher(opts) {
370
434
  throw new SubWorkflowError("parked", workflow, `Sub-workflow '${workflow}' settled in state '${finishedIn}' with status ` +
371
435
  `'${fields.status}' but no pending suspension, so nothing could resume it.`);
372
436
  }
373
- const returns = settledReturns(workflow, child.machine, state, finishedIn, input.returns);
437
+ const returns = await settledReturns(workflow, state, finishedIn, input.returns, sessions);
374
438
  return { result: closingMessage(state), workflow, state: finishedIn, ...(returns ? { returns } : {}) };
375
439
  }
376
440
  /**
@@ -379,29 +443,56 @@ export function createSubWorkflowDispatcher(opts) {
379
443
  * the ones it set and a `note` naming the rest. A value that does not conform
380
444
  * fails the call `invalid-return` — the reason its own completion check
381
445
  * rejected it; any other rejection stays `rejected`. A child that raised owes
382
- * no returns: it fails as `raised`, carrying its agent's code and reason.
446
+ * no returns: it fails as `raised`, carrying its agent's code and reason. A
447
+ * `file` return is copied into the caller's `scratchpad/attachments/` under a
448
+ * name nothing there holds, and handed on as that path.
383
449
  */
384
- function settledReturns(workflow, machine, state, finishedIn, declared) {
450
+ async function settledReturns(workflow, state, finishedIn, declared, sessions) {
385
451
  const fields = readWorkflowState(state);
386
452
  if (fields.status === WORKFLOW_STATUSES.failed) {
387
453
  const raised = readRaised(state);
388
454
  throw new SubWorkflowError("raised", workflow, `Sub-workflow '${workflow}' failed: its agent raised '${raised?.code ?? "unknown"}' in state ` +
389
455
  `'${raised?.state ?? finishedIn}': ${raised?.reason ?? "no reason recorded"}`);
390
456
  }
391
- const store = readVariables(state);
392
- const trigger = fields.trigger?.id ?? MANUAL_TRIGGER;
393
- if (fields.rejected && fields.rejected !== returnsRejection(machine, trigger, finishedIn, store)) {
457
+ if (fields.rejected && !isReturnsRejection(fields.rejected))
394
458
  throw failed(workflow, finishedIn, fields.rejected);
395
- }
396
459
  const returns = readReturns(state, declared.map((entry) => entry.name));
397
460
  const issues = signatureValueIssues(declared, returns ?? {});
398
461
  if (invalidOf(issues).length > 0)
399
462
  throw returnsFailure(workflow, `in state '${finishedIn}'`, issues);
400
- // A rejection whose returns check passes against the target's own
401
- // signature still failed closed; it is only named for what it was.
402
- if (fields.rejected)
403
- throw failed(workflow, finishedIn, fields.rejected);
404
- return withMissingNote(returns, issues);
463
+ // Rejected for its returns, though their shapes conform: a `file` return
464
+ // naming no file it may hand on. Failed closed as the returns failure it is.
465
+ if (fields.rejected) {
466
+ throw new SubWorkflowError("invalid-return", workflow, `Sub-workflow '${workflow}' settled in state '${finishedIn}' with returns it could not hand back: ` +
467
+ fields.rejected);
468
+ }
469
+ const handed = withMissingNote(returns, issues);
470
+ return handed && hasFileEntries(declared)
471
+ ? copyFilesBack(workflow, declared, handed, sessions.childId, sessions.callerId)
472
+ : handed;
473
+ }
474
+ /**
475
+ * Copy each `file` return from the session that holds it into the caller's
476
+ * `scratchpad/attachments/`, under a name nothing there holds — an earlier or
477
+ * concurrent call's copy included — and hand the caller that path instead.
478
+ */
479
+ async function copyFilesBack(workflow, declared, returns, fromId, callerId) {
480
+ const files = filesFor(workflow);
481
+ const handed = { ...returns };
482
+ for (const entry of declared) {
483
+ const value = returns[entry.name];
484
+ if (entry.type !== "file" || typeof value !== "string")
485
+ continue;
486
+ const path = filePathOf(value);
487
+ const read = await files.read(fromId, path);
488
+ const placed = "error" in read ? read : await files.place(callerId, baseName(path), read.bytes);
489
+ if ("error" in placed) {
490
+ throw new SubWorkflowError("invalid-return", workflow, `Sub-workflow '${workflow}' returned '${entry.name}' as '${path}', which could not be copied back: ` +
491
+ placed.error);
492
+ }
493
+ handed[entry.name] = placed.path;
494
+ }
495
+ return handed;
405
496
  }
406
497
  /** Continue a child that stopped for a person: the same invoke, entered with a `Command({ resume })`. */
407
498
  async function resume(input) {
@@ -428,7 +519,10 @@ export function createSubWorkflowDispatcher(opts) {
428
519
  const fields = readWorkflowState(state);
429
520
  const finishedIn = fields.workflowState ?? child.machine.entry;
430
521
  const declared = (await opts.registry.signature(workflow)).returns ?? [];
431
- const returns = settledReturns(workflow, child.machine, state, finishedIn, declared);
522
+ const returns = await settledReturns(workflow, state, finishedIn, declared, {
523
+ callerId: sessionScopeFrom(input.config).sessionId,
524
+ childId: sessionScopeFrom(config).sessionId,
525
+ });
432
526
  settle({ status: "ok", returns });
433
527
  return { result: closingMessage(state), workflow, state: finishedIn, ...(returns ? { returns } : {}) };
434
528
  }
@@ -462,7 +556,7 @@ export function createSubWorkflowDispatcher(opts) {
462
556
  };
463
557
  }
464
558
  /** Turn a matched mock into the dispatch's result, held to the target's declared contract like a real sub-run. */
465
- function applyMock(mock, workflow, returns) {
559
+ async function applyMock(mock, workflow, returns, copyBack) {
466
560
  const declared = mock.result;
467
561
  if (declared != null && typeof declared === "object" && "error" in declared) {
468
562
  throw new SubWorkflowError("rejected", workflow, `Sub-workflow '${workflow}' failed (mocked): ${String(declared.error)}`);
@@ -483,7 +577,8 @@ function applyMock(mock, workflow, returns) {
483
577
  const issues = signatureValueIssues(wanted, supplied);
484
578
  if (invalidOf(issues).length > 0)
485
579
  throw returnsFailure(workflow, "(mocked)", issues);
486
- const handed = withMissingNote(Object.fromEntries(wanted.map((entry) => [entry.name, supplied[entry.name]])), issues);
580
+ const set = withMissingNote(Object.fromEntries(wanted.map((entry) => [entry.name, supplied[entry.name]])), issues);
581
+ const handed = set && hasFileEntries(wanted) ? await copyBack(wanted, set) : set;
487
582
  return { result, workflow, state, ...(handed ? { returns: handed } : {}) };
488
583
  }
489
584
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sub-workflow.js","sourceRoot":"","sources":["../../src/workflow/sub-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sub-workflow.js","sourceRoot":"","sources":["../../src/workflow/sub-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAkB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIjF,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EACL,eAAe,EACf,WAAW,EACX,WAAW,GAGZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAiD,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACxG,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EACL,eAAe,EACf,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAqB,MAAM,wBAAwB,CAAC;AACrE,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,mFAAmF;AAEnF,gFAAgF;AAChF,iFAAiF;AACjF,OAAO,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,CAAC;AAoBxE;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAwC,IAAI,GAAG,CAAC;IACrF,gBAAgB;IAChB,OAAO;IACP,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,UAAU;IACV,kBAAkB;CACV,CAAC,CAAC;AAEZ,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,GAAG,YAAY,gBAAgB,IAAI,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,8FAA8F;AAC9F,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAE9B;IACA;IAFX,YACW,IAA4B,EAC5B,QAAgB,EACzB,OAAe,EACf,OAA6B;QAE7B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QALf,SAAI,GAAJ,IAAI,CAAwB;QAC5B,aAAQ,GAAR,QAAQ,CAAQ;QAKzB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAWvE,SAAS,QAAQ,CAAC,GAAmB,EAAE,EAAqC;IAC1E,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE;QAC5C,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAA4B;QAC9E,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACL,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,MAAM,IAAI,GAAI,GAAsC,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC1E,OAAO,IAAmC,CAAC;AAC7C,CAAC;AAsED,qGAAqG;AACrG,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,iGAAiG;AACjG,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,yFAAyF;QACzF,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,MAA+B;IAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,IACE,QAAQ,KAAK,SAAS;YACtB,QAAQ,CAAC,MAAM,GAAG,uBAAuB;YACzC,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,wBAAwB,EAClD,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,KAAK,GAAG,kDAAkD,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,sCAAsC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CACR,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gCAAgC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAChG,iBAAiB,kBAAkB,2BAA2B,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,wDAAwD,CAAC;AA4D1F,sEAAsE;AACtE,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,OAAO,KAAK,UAAU,QAAQ,CAAI,EAAoB;QACpD,OAAO,MAAM,IAAI,KAAK;YAAE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACpF,MAAM,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,CAAC;YACZ,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,WAAW,GAAG,CAAC,CAAC;AAEpB;;;GAGG;AACH,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IACxD,uBAAuB;IACvB,+BAA+B;IAC/B,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAW,EAAE,CACpD,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAE,OAAqC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAEvF;;;;;;;;;;;GAWG;AACH,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAI,kCAAkC,CAAC,iBAAiB,EAAiC;QACtG,EAAE,SAAS,CAAC;IACd,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC5E,IAAI,eAAe,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,aAAa,CAAC,OAA8B,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,IAAkC;IAElC,MAAM,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,0BAA0B,CAAC;IACrE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,gCAAgC,CAAC;IACrF,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,uEAAuE;IACvE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuC,CAAC;IAClE,MAAM,MAAM,GAAG,CAAC,MAAsB,EAAE,KAAgC,EAAE,EAAE;QAC1E,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;QAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YAC1B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAE,UAAkB,EAAE,QAAgB,EAAE,EAAE,CACxE,IAAI,gBAAgB,CAClB,UAAU,EACV,QAAQ,EACR,iBAAiB,QAAQ,4BAA4B,UAAU,MAAM,QAAQ,EAAE,CAChF,CAAC;IAEJ,8GAA8G;IAC9G,SAAS,WAAW,CAAC,KAA+B;QAClD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;QAC1D,OAAO;YACL,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3F,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;SACxE,CAAC;IACJ,CAAC;IAED,gGAAgG;IAChG,SAAS,QAAQ,CAAC,QAAgB;QAChC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QAClC,MAAM,IAAI,gBAAgB,CACxB,OAAO,EACP,QAAQ,EACR,iBAAiB,QAAQ,kFAAkF,CAC5G,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,UAAU,WAAW,CACxB,QAAgB,EAChB,QAA0B,EAC1B,MAA+B,EAC/B,QAAgB,EAChB,OAAe;QAEf,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YACjE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/F,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,gBAAgB,CACxB,eAAe,EACf,QAAQ,EACR,iCAAiC,QAAQ,oBAAoB,KAAK,CAAC,IAAI,wBAAwB;oBAC7F,0BAA0B,MAAM,CAAC,KAAK,EAAE,CAC3C,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8GAA8G;IAC9G,KAAK,UAAU,KAAK,CAAC,KAA+B;QAKlD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,gBAAgB,CACxB,gBAAgB,EAChB,QAAQ,EACR,iCAAiC,QAAQ,kBAAkB,KAAK,qBAAqB;gBACnF,kCAAkC,QAAQ,mBAAmB,KAAK,GAAG,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,gBAAgB,CACxB,OAAO,EACP,QAAQ,EACR,iCAAiC,QAAQ,yCAAyC;gBAChF,IAAI,KAAK,oCAAoC,CAChD,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEtE,2EAA2E;QAC3E,kFAAkF;QAClF,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAChG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YAC/E,IAAI,IAAI;gBAAE,OAAO,EAAyB,CAAC;YAC3C,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,gBAAgB,CACxB,UAAU,EACV,QAAQ,EACR,iCAAiC,QAAQ,oBAAoB;gBAC3D,4EAA4E;gBAC5E,uBAAuB,CAC1B,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACnG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,gBAAgB,CACxB,eAAe,EACf,QAAQ,EACR,iCAAiC,QAAQ,iBAAiB;gBACxD,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC;gBAC/E,sBAAsB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,GAAG,CACtF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,gBAAgB,CACxB,eAAe,EACf,QAAQ,EACR,iCAAiC,QAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACjG,sBAAsB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,wBAAwB,CAC5F,CAAC;QACJ,CAAC;QACD,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACjF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,gBAAgB,CACxB,eAAe,EACf,QAAQ,EACR,iCAAiC,QAAQ,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBACtG,sBAAsB,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,uCAAuC,CAC9G,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,KAA+B;QACpD,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YACjD,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC1B,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,iGAAiG;IACjG,SAAS,aAAa,CAAC,KAA+B,EAAE,GAAqB;QAC3E,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,SAAS,EAAE,WAAW,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU;YACV,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC;QACF,IAAI,CAAC;YACH,IAAI,EAAE,oBAAoB;YAC1B,GAAG,MAAM;YACT,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,KAA+B;QACrD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAClC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,SAAS,EAAE,WAAW,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,IAAI,EAAE,oBAAoB;YAC1B,KAAK;YACL,QAAQ;YACR,UAAU;YACV,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,0EAA0E;QAC1E,MAAM,MAAM,GAAG,CACb,MAAiC,EACjC,MAAe,EACf,OAAiC,EACjC,EAAE,CACF,IAAI,CAAC;YACH,IAAI,EAAE,qBAAqB;YAC3B,KAAK;YACL,QAAQ;YACR,UAAU;YACV,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC,CAAC;QAEL,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,IAAI,EAAE,CAAC;gBACT,wEAAwE;gBACxE,uEAAuE;gBACvE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CACrF,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAC5E,CAAC;gBACF,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CACjC,GAAG,CAAC;gBACF,GAAG,KAAK;gBACR,UAAU;gBACV,QAAQ;gBACR,MAAM;gBACN,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;gBAClC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,EAAE;aACjC,CAAC,CACH,CAAC;YACF,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,2EAA2E;YAC3E,8DAA8D;YAC9D,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACjB,QAAQ,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;gBAClD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,OAAO,GACX,GAAG,YAAY,gBAAgB;gBAC7B,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,IAAI,gBAAgB,CACjB,GAAa,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAC1D,QAAQ,EACR,iBAAiB,QAAQ,aAAc,GAAa,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,EAC9E,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;YACR,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7E,MAAM,OAAO,CAAC;QAChB,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,SAAS,MAAM,CAAC,MAAsB;QACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,SAAS,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChG,CAAC;IAED;;;;OAIG;IACH,SAAS,WAAW,CAClB,MAAsB,EACtB,KAAiE;QAEjE,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtC,OAAO;YACL,cAAc,EAAE,uBAAuB;YACvC,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC;YAChC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,GAAG,CAChB,KAMC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE;YACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ;YACR,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS;YAClD,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS;SAC5C,CAAC;QACF,0EAA0E;QAC1E,2CAA2C;QAC3C,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7G,MAAM,YAAY,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC;QAErF,2DAA2D;QAC3D,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CACrF,KAAK,CAAC,KAAK,CAAC,MAAM,CAChB,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAC1D,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAC/E,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/D,4EAA4E;QAC5E,iFAAiF;QACjF,IACE,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC,aAAa;YACjD,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC,gBAAgB,EACpD,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,QAAQ,EACR,QAAQ,EACR,iBAAiB,QAAQ,uBAAuB,UAAU,gBAAgB;gBACxE,IAAI,MAAM,CAAC,MAAM,0DAA0D,CAC9E,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3F,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzG,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,UAAU,cAAc,CAC3B,QAAgB,EAChB,KAA8B,EAC9B,UAAkB,EAClB,QAA0B,EAC1B,QAA+C;QAE/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,IAAI,gBAAgB,CACxB,QAAQ,EACR,QAAQ,EACR,iBAAiB,QAAQ,+BAA+B,MAAM,EAAE,IAAI,IAAI,SAAS,aAAa;gBAC5F,IAAI,MAAM,EAAE,KAAK,IAAI,UAAU,MAAM,MAAM,EAAE,MAAM,IAAI,oBAAoB,EAAE,CAChF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,MAAM,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjH,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,cAAc,CAAC,QAAQ,EAAE,aAAa,UAAU,GAAG,EAAE,MAAM,CAAC,CAAC;QACrG,yEAAyE;QACzE,6EAA6E;QAC7E,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,gBAAgB,CACxB,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,QAAQ,uBAAuB,UAAU,yCAAyC;gBACjG,MAAM,CAAC,QAAQ,CAClB,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC;YACvC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC;YAChF,CAAC,CAAC,MAAM,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,UAAU,aAAa,CAC1B,QAAgB,EAChB,QAA0B,EAC1B,OAAgC,EAChC,MAAc,EACd,QAAgB;QAEhB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YACjE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAChG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,gBAAgB,CACxB,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,QAAQ,eAAe,KAAK,CAAC,IAAI,SAAS,IAAI,qCAAqC;oBAClG,MAAM,CAAC,KAAK,CACf,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,yGAAyG;IACzG,KAAK,UAAU,MAAM,CAAC,KAA6B;QACjD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE;YACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ;YACR,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,OAAkG,EAAE,EAAE,CACpH,IAAI,CAAC;YACH,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,YAAY;YACnB,QAAQ;YACR,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjG,CAAC,CAAC;QAEL,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CACrF,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAClE,CAAC;YACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAC/D,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;YACzE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE;gBAC1E,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS;gBAClD,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS;aAC5C,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAClC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,QAAQ,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBACpF,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,OAAO,GACX,GAAG,YAAY,gBAAgB;gBAC7B,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,IAAI,gBAAgB,CAClB,OAAO,EACP,QAAQ,EACR,iBAAiB,QAAQ,2BAA2B;oBAClD,GAAI,GAAa,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,EAC7C,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;YACR,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACrD,MAAM,OAAO,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,OAAO;QACP,MAAM;QACN,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5C,eAAe,CAAC,SAAS;YACvB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC/C,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,SAAS;YACf,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACrC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,kHAAkH;AAClH,KAAK,UAAU,SAAS,CACtB,IAA0B,EAC1B,QAAgB,EAChB,OAAqC,EACrC,QAA2G;IAE3G,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,IAAI,QAAQ,IAAI,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC5E,MAAM,IAAI,gBAAgB,CACxB,UAAU,EACV,QAAQ,EACR,iBAAiB,QAAQ,sBAAsB,MAAM,CAAE,QAA+B,CAAC,KAAK,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GACZ,QAAQ,IAAI,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAE,QAAoC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,MAAM,MAAM,GACV,OAAO,QAAQ,EAAE,OAAO,KAAK,QAAQ;QACnC,CAAC,CAAC,QAAQ,CAAC,OAAO;QAClB,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ;YAC5B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,QAAQ,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAEhF,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,CAAC;IAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAE5D,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAA4B,CAAC;IACtE,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACrF,MAAM,GAAG,GAAG,eAAe,CACzB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAC7E,MAAM,CACP,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CACtB,OAA4C,EAC5C,MAA6B;IAE7B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACvC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClG,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,2EAA2E;AAC3E,SAAS,SAAS,CAAC,MAA6B;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAA8D,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AACxH,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,QAAgB,EAAE,KAAa,EAAE,MAA6B;IACpF,OAAO,IAAI,gBAAgB,CACzB,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,QAAQ,aAAa,KAAK,sBAAsB,cAAc,YAAY;QACzF,oBAAoB,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,MAA2C,EAC3C,SAAwB,EACxB,QAAgB;IAEhB,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACvB,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;YAC5B,6FAA6F;YAC7F,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,gBAAgB,CACxB,kBAAkB,EAClB,QAAQ,EACR,4BAA4B,QAAQ,iBAAiB,IAAI,eAAe;gBACtE,GAAG,WAAW,CAAC,MAAM,GAAG,CAC3B,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,oGAAoG;AACpG,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnG,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,aAAa,CAAE,KAAkC,EAAE,QAAQ,IAAI,EAAE,CAAC,IAAI,iBAAiB,CAAC;AACjG,CAAC"}
@@ -10,6 +10,8 @@ import type { LifecycleContext, LifecycleRunner } from "../lifecycle/runner.js";
10
10
  import type { WorkflowMachine } from "../machine/machine.js";
11
11
  import type { WorkflowEventEmitter } from "../core/events.js";
12
12
  import type { MountPrefixes } from "../core/mounts.js";
13
+ import { type VariableStore } from "../machine/variables.js";
14
+ import type { FileValueCheck } from "./signature-checks.js";
13
15
  import type { WorkflowToolCallRequest } from "../core/deepagents.js";
14
16
  import { type PendingDecision, type TrailStep } from "./state.js";
15
17
  import { type SubWorkflowDispatcher } from "./sub-workflow.js";
@@ -19,6 +21,8 @@ export interface ToolServiceContext {
19
21
  lifecycle: LifecycleRunner;
20
22
  mountPrefixes: MountPrefixes;
21
23
  subWorkflows?: SubWorkflowDispatcher;
24
+ /** The `file` type's runtime check for a session in a state; omitted, a `file` value is held to its shape alone. */
25
+ files?: (state: string, variables: VariableStore) => FileValueCheck;
22
26
  lifecycleCtx(sessionId: string, state: unknown, messages: unknown[]): LifecycleContext;
23
27
  }
24
28
  /** The identities of one call being serviced. */