@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.
- package/README.md +8 -0
- package/dist/agent.d.ts +14 -0
- package/dist/agent.js.map +1 -1
- package/dist/assembly/compose.js +51 -26
- package/dist/assembly/compose.js.map +1 -1
- package/dist/assembly/index.js +51 -11
- package/dist/assembly/index.js.map +1 -1
- package/dist/authoring-skill/archmax-harness/SKILL.md +2 -2
- package/dist/authoring-skill/archmax-harness/references/backend-integration.md +28 -10
- package/dist/authoring-skill/archmax-harness/references/hook-and-test-scripts.md +2 -1
- package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +65 -8
- package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +1 -1
- package/dist/cli/bootstrap.d.ts +8 -1
- package/dist/cli/bootstrap.js +43 -3
- package/dist/cli/bootstrap.js.map +1 -1
- package/dist/cli/command.d.ts +3 -1
- package/dist/cli/command.js +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/turn.d.ts +3 -1
- package/dist/cli/turn.js +1 -0
- package/dist/cli/turn.js.map +1 -1
- package/dist/cli.js +9 -1
- package/dist/cli.js.map +1 -1
- package/dist/core/attachments.d.ts +64 -0
- package/dist/core/attachments.js +87 -0
- package/dist/core/attachments.js.map +1 -0
- package/dist/core/file-operations.d.ts +22 -0
- package/dist/core/file-operations.js +54 -0
- package/dist/core/file-operations.js.map +1 -1
- package/dist/core/platform-prompt.generated.js +1 -1
- package/dist/core/platform-prompt.generated.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/kernel/kernel.d.ts +9 -0
- package/dist/kernel/kernel.js +15 -0
- package/dist/kernel/kernel.js.map +1 -1
- package/dist/machine/machine.d.ts +7 -0
- package/dist/machine/machine.js +14 -0
- package/dist/machine/machine.js.map +1 -1
- package/dist/machine/signature.d.ts +16 -5
- package/dist/machine/signature.js +25 -4
- package/dist/machine/signature.js.map +1 -1
- package/dist/machine/spec-schema.d.ts +10 -0
- package/dist/sessions/resume.d.ts +9 -0
- package/dist/sessions/resume.js +13 -0
- package/dist/sessions/resume.js.map +1 -1
- package/dist/workflow/control-tools.d.ts +12 -1
- package/dist/workflow/control-tools.js +33 -4
- package/dist/workflow/control-tools.js.map +1 -1
- package/dist/workflow/file-values.d.ts +44 -0
- package/dist/workflow/file-values.js +29 -0
- package/dist/workflow/file-values.js.map +1 -0
- package/dist/workflow/governance.d.ts +4 -0
- package/dist/workflow/governance.js +1 -0
- package/dist/workflow/governance.js.map +1 -1
- package/dist/workflow/middleware.d.ts +6 -0
- package/dist/workflow/middleware.js +25 -1
- package/dist/workflow/middleware.js.map +1 -1
- package/dist/workflow/parks.js +5 -1
- package/dist/workflow/parks.js.map +1 -1
- package/dist/workflow/returns-check.d.ts +3 -0
- package/dist/workflow/returns-check.js +1 -1
- package/dist/workflow/returns-check.js.map +1 -1
- package/dist/workflow/signature-checks.d.ts +47 -5
- package/dist/workflow/signature-checks.js +73 -9
- package/dist/workflow/signature-checks.js.map +1 -1
- package/dist/workflow/sub-workflow.d.ts +14 -2
- package/dist/workflow/sub-workflow.js +119 -24
- package/dist/workflow/sub-workflow.js.map +1 -1
- package/dist/workflow/tool-service.d.ts +4 -0
- package/dist/workflow/tool-service.js +5 -2
- package/dist/workflow/tool-service.js.map +1 -1
- package/dist/workflow/turn-boundary.d.ts +3 -0
- package/dist/workflow/turn-boundary.js +5 -2
- package/dist/workflow/turn-boundary.js.map +1 -1
- package/dist/workflow/workflow-tools.js +11 -0
- package/dist/workflow/workflow-tools.js.map +1 -1
- package/package.json +1 -1
- package/skills/archmax-harness/SKILL.md +2 -2
- package/skills/archmax-harness/references/backend-integration.md +28 -10
- package/skills/archmax-harness/references/hook-and-test-scripts.md +2 -1
- package/skills/archmax-harness/references/workflow-schema.md +65 -8
- 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
|
|
31
|
-
export declare function
|
|
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
|
|
26
|
-
export function
|
|
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":"AAUA,OAAO,
|
|
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
|
|
11
|
-
*
|
|
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
|
|
11
|
-
*
|
|
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,
|
|
25
|
-
import { missingReturnsNote, RETURNS_NOTE_VARIABLE,
|
|
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
|
-
|
|
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({
|
|
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
|
-
|
|
361
|
-
|
|
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(
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
-
//
|
|
401
|
-
//
|
|
402
|
-
if (fields.rejected)
|
|
403
|
-
throw
|
|
404
|
-
|
|
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,
|
|
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
|
|
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. */
|