@duetso/agent 0.1.170 → 0.1.172
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/dist/package.json +1 -1
- package/dist/src/turn-runner/prompts.d.ts.map +1 -1
- package/dist/src/turn-runner/prompts.js +13 -25
- package/dist/src/turn-runner/prompts.js.map +1 -1
- package/dist/src/turn-runner/state-machine-controller.d.ts.map +1 -1
- package/dist/src/turn-runner/state-machine-controller.js +3 -3
- package/dist/src/turn-runner/state-machine-controller.js.map +1 -1
- package/dist/src/turn-runner/state-machine-session.d.ts +16 -0
- package/dist/src/turn-runner/state-machine-session.d.ts.map +1 -1
- package/dist/src/turn-runner/state-machine-session.js +32 -0
- package/dist/src/turn-runner/state-machine-session.js.map +1 -1
- package/dist/src/turn-runner/tools.d.ts +1 -0
- package/dist/src/turn-runner/tools.d.ts.map +1 -1
- package/dist/src/turn-runner/tools.js +74 -10
- package/dist/src/turn-runner/tools.js.map +1 -1
- package/dist/src/turn-runner/turn-runner.d.ts +21 -0
- package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
- package/dist/src/turn-runner/turn-runner.js +81 -34
- package/dist/src/turn-runner/turn-runner.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { createCodingTools, createLocalBashOperations, } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
import { Ajv } from "ajv";
|
|
3
3
|
import dedent from "dedent";
|
|
4
|
+
import { statSync } from "node:fs";
|
|
5
|
+
import { isAbsolute, resolve } from "node:path";
|
|
4
6
|
import { Type } from "typebox";
|
|
5
7
|
import { Value } from "typebox/value";
|
|
6
8
|
import { toXML } from "../lib/xml.js";
|
|
@@ -287,12 +289,12 @@ export function createTurnRunnerTools(input) {
|
|
|
287
289
|
return tools;
|
|
288
290
|
}
|
|
289
291
|
if (input.mode === "auto") {
|
|
290
|
-
tools.push(createStateMachineDefinitionTool(input.getStateMachine));
|
|
292
|
+
tools.push(createStateMachineDefinitionTool(input.getStateMachine, input.cwd));
|
|
291
293
|
}
|
|
292
294
|
const getDefinition = typeof input.mode === "object"
|
|
293
295
|
? () => input.mode
|
|
294
296
|
: input.getDefinition;
|
|
295
|
-
tools.push(createSelectStateTool(getDefinition));
|
|
297
|
+
tools.push(createSelectStateTool(getDefinition, input.cwd));
|
|
296
298
|
tools.push(createCurrentStateMachineStateTool(input.getStateMachine, input.getActiveStateOutput));
|
|
297
299
|
return tools;
|
|
298
300
|
}
|
|
@@ -610,7 +612,10 @@ export function formatCarriedTodosReminder(todos) {
|
|
|
610
612
|
</system-reminder>
|
|
611
613
|
`;
|
|
612
614
|
}
|
|
613
|
-
function createStateMachineDefinitionTool(getStateMachine
|
|
615
|
+
function createStateMachineDefinitionTool(getStateMachine,
|
|
616
|
+
// Base directory used to resolve a relative state `cwd` before checking it
|
|
617
|
+
// exists, matching the resolution used when the state actually runs.
|
|
618
|
+
baseCwd) {
|
|
614
619
|
return {
|
|
615
620
|
name: "create_state_machine_definition",
|
|
616
621
|
label: "Create state machine definition",
|
|
@@ -635,6 +640,8 @@ function createStateMachineDefinitionTool(getStateMachine) {
|
|
|
635
640
|
|
|
636
641
|
State prompts and script commands may use \`{{ input.foo }}\` templates — declare \`inputSchema\` on those states and pass matching \`input\` when selecting them via select_state_machine_state. Agent states may set \`allowedSkills\` to restrict the skill set for that sub-agent.
|
|
637
642
|
|
|
643
|
+
A per-state \`cwd\` must resolve to an existing directory at creation time, and a relative \`cwd\` resolves against the session working directory shown in the \`<cwd>\` block of the system prompt. If an earlier state creates that directory at runtime (a worktree, clone, or scratch dir), omit \`cwd\` here and set it via \`override.cwd\` on select_state_machine_state once the directory exists — do not point \`cwd\` at a path that does not exist yet.
|
|
644
|
+
|
|
638
645
|
Only use this when no state machine is active or the previous one has reached a terminal state; otherwise call select_state_machine_state. Creating a definition while a machine is still active is rejected unless you set \`replaceActive: true\` to deliberately cancel the running machine and replace it.
|
|
639
646
|
`,
|
|
640
647
|
parameters: createDefinitionSchema,
|
|
@@ -651,7 +658,7 @@ function createStateMachineDefinitionTool(getStateMachine) {
|
|
|
651
658
|
if (active && !active.terminal && params.replaceActive !== true) {
|
|
652
659
|
throw new Error(activeStateMachineCreateError(active));
|
|
653
660
|
}
|
|
654
|
-
assertValidDefinition(params.definition);
|
|
661
|
+
assertValidDefinition(params.definition, baseCwd);
|
|
655
662
|
const result = {
|
|
656
663
|
type: "create_state_machine_definition",
|
|
657
664
|
definition: params.definition,
|
|
@@ -665,7 +672,12 @@ function createStateMachineDefinitionTool(getStateMachine) {
|
|
|
665
672
|
},
|
|
666
673
|
};
|
|
667
674
|
}
|
|
668
|
-
function createSelectStateTool(getDefinition
|
|
675
|
+
function createSelectStateTool(getDefinition,
|
|
676
|
+
// Base directory used to resolve a relative state/override `cwd` before
|
|
677
|
+
// checking it exists. Mirrors how the runner resolves a per-state cwd
|
|
678
|
+
// (`cwdOverride ?? config.cwd ?? process.cwd()`) so validation rejects the
|
|
679
|
+
// same missing directory the sub-agent's tools would otherwise start in.
|
|
680
|
+
baseCwd) {
|
|
669
681
|
return {
|
|
670
682
|
name: "select_state_machine_state",
|
|
671
683
|
label: "Select state machine state",
|
|
@@ -674,9 +686,9 @@ function createSelectStateTool(getDefinition) {
|
|
|
674
686
|
|
|
675
687
|
Carry forward what the orchestrator now knows. Each agent state runs in a fresh sub-agent context with no view of the previous state's transcript, tool output, or output value — it only sees the rendered prompt and the input you pass here. So when a previous state surfaced facts the next state will need (file paths, IDs, error messages, decisions, summaries, root causes), either pass them as \`input\` (when the state's inputSchema has matching fields) or use \`override.prompt\` to inline the findings into the next state's prompt before running it. A static prompt that says "using the findings from the previous step" without inputs or an override is a bug: the sub-agent has no way to read those findings.
|
|
676
688
|
|
|
677
|
-
The working directory is part of that carry-forward, and the most common thing orchestrators get wrong. The moment a state operates anywhere other than the session cwd — a git worktree, clone, sub-package, or scratch directory whose path an earlier state returned — set \`override.cwd\` (agent states) or the script/poll \`cwd\` to that path. Do this aggressively and by default for any out-of-tree work rather than waiting for the sub-agent to orient itself. Do NOT convey the location by writing "cd into /path" or "work in the worktree at /path" in the prompt: a sub-agent's coding tools (bash, read, write, edit) start in the \`cwd\` you set, not wherever the prompt mentions, so an inlined path leaves the tools pointed at the wrong tree while the narration reads correct. The path almost always comes from a previous state's output (e.g. a worktree path printed by an implement step) — capture it and pass it as \`override.cwd\` on that transition.
|
|
689
|
+
The working directory is part of that carry-forward, and the most common thing orchestrators get wrong. The moment a state operates anywhere other than the session cwd — a git worktree, clone, sub-package, or scratch directory whose path an earlier state returned — set \`override.cwd\` (agent states) or the script/poll \`cwd\` to that path. Do this aggressively and by default for any out-of-tree work rather than waiting for the sub-agent to orient itself. Do NOT convey the location by writing "cd into /path" or "work in the worktree at /path" in the prompt: a sub-agent's coding tools (bash, read, write, edit) start in the \`cwd\` you set, not wherever the prompt mentions, so an inlined path leaves the tools pointed at the wrong tree while the narration reads correct. The path almost always comes from a previous state's output (e.g. a worktree path printed by an implement step) — capture it and pass it as \`override.cwd\` on that transition. A relative cwd resolves against the session working directory shown in the \`<cwd>\` block of the system prompt, so prefer an absolute path for a worktree or clone that lives outside it.
|
|
678
690
|
|
|
679
|
-
Overrides persist by default. When you pass \`override\`, the merged state (prompt, command, schedule — whichever fields you set) is written back into the active definition, so every future run of that state uses the tuned version. This is the right shape when you are tightening a sub-agent prompt that hallucinated, fixing a script command that misbehaved, or tuning poll/timer cadence. Set \`persistOverride: false\` when you want a one-shot variation that does not commit — for example, probing a different prompt to see if the sub-agent recovers before deciding whether to keep the change. Persistence is a no-op for terminal states
|
|
691
|
+
Overrides persist by default. When you pass \`override\`, the merged state (prompt, command, schedule — whichever fields you set) is written back into the active definition, so every future run of that state uses the tuned version. This is the right shape when you are tightening a sub-agent prompt that hallucinated, fixing a script command that misbehaved, or tuning poll/timer cadence. Set \`persistOverride: false\` when you want a one-shot variation that does not commit — for example, probing a different prompt to see if the sub-agent recovers before deciding whether to keep the change. Persistence is a no-op for terminal states. \`override.kind\` must match the target state's kind; a mismatch is rejected outright (rather than silently dropping the override), and a per-state \`cwd\` that does not resolve to an existing directory is rejected too — fix the kind or the path before re-selecting.
|
|
680
692
|
|
|
681
693
|
Selecting a terminal state ends the state machine. Every definition is guaranteed to have the auto-injected \`failed\` and \`cancelled\` terminals available, so to fail or cancel, just select one of those by name and optionally attach a \`reason\`. After a terminal you will be woken once more for an acknowledgment turn — the runner re-prompts you with the terminal details (state, status, reason) so you can reply to the user in plain text and, if appropriate, kick off a follow-up state machine via create_state_machine_definition. Do not call select_state_machine_state on that acknowledgment turn; the state machine is already terminal.
|
|
682
694
|
`,
|
|
@@ -690,7 +702,7 @@ function createSelectStateTool(getDefinition) {
|
|
|
690
702
|
persistOverride: params.decision.persistOverride,
|
|
691
703
|
input: params.decision.input,
|
|
692
704
|
};
|
|
693
|
-
assertValidSelectedState(decision, definition);
|
|
705
|
+
assertValidSelectedState(decision, definition, baseCwd);
|
|
694
706
|
const result = { type: "select_state_machine_state", decision };
|
|
695
707
|
return {
|
|
696
708
|
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
@@ -727,7 +739,7 @@ function createCurrentStateMachineStateTool(getStateMachine, getActiveStateOutpu
|
|
|
727
739
|
},
|
|
728
740
|
};
|
|
729
741
|
}
|
|
730
|
-
function assertValidSelectedState(decision, definition) {
|
|
742
|
+
function assertValidSelectedState(decision, definition, baseCwd) {
|
|
731
743
|
if (!definition)
|
|
732
744
|
return;
|
|
733
745
|
const validStates = definition.states.map((state) => state.name);
|
|
@@ -741,10 +753,61 @@ function assertValidSelectedState(decision, definition) {
|
|
|
741
753
|
// decision is always accepted.
|
|
742
754
|
if (selectedState.kind === "terminal")
|
|
743
755
|
return;
|
|
756
|
+
// A kind-mismatched override is silently discarded by applyStateOverride —
|
|
757
|
+
// prompt, cwd, and all — leaving the sub-agent to run with the original
|
|
758
|
+
// definition state instead of the tuned one the caller thought they sent.
|
|
759
|
+
// Reject it loudly so the caller fixes the override kind rather than
|
|
760
|
+
// shipping work the runner quietly ignored.
|
|
761
|
+
if (decision.override && decision.override.kind !== selectedState.kind) {
|
|
762
|
+
throw new Error(`Override kind "${decision.override.kind}" does not match state "${selectedState.name}", which is a "${selectedState.kind}" state. Set override.kind to "${selectedState.kind}" so the override is applied instead of silently dropped.`);
|
|
763
|
+
}
|
|
744
764
|
const effectiveState = applyStateOverride(selectedState, decision.override);
|
|
745
765
|
assertValidStateInputSchema(effectiveState);
|
|
746
766
|
assertValidStateSchedule(effectiveState);
|
|
747
767
|
assertValidStateInput(effectiveState, decision.input);
|
|
768
|
+
assertValidStateCwd(effectiveState, baseCwd, SELECT_CWD_GUIDANCE);
|
|
769
|
+
}
|
|
770
|
+
// Appended to the "cwd does not exist" error depending on where validation
|
|
771
|
+
// runs. At selection time the directory should already exist (an earlier
|
|
772
|
+
// state had a chance to create it). At creation time it often does not exist
|
|
773
|
+
// yet, so the right move is usually to omit cwd now and set it via
|
|
774
|
+
// override.cwd on select_state_machine_state once the directory is created.
|
|
775
|
+
const SELECT_CWD_GUIDANCE = "Set the override/state cwd to a directory that exists — typically the worktree or clone an earlier state created.";
|
|
776
|
+
const CREATE_CWD_GUIDANCE = "If an earlier state creates this directory at runtime, omit cwd here and set it via override.cwd on select_state_machine_state once the directory exists. Otherwise point it at a directory that already exists.";
|
|
777
|
+
// Resolve a per-state `cwd` (from a state definition or an override) against
|
|
778
|
+
// the runner's base cwd. A relative path resolves against `baseCwd` — the
|
|
779
|
+
// runner's config.cwd, set by --workDir, falling back to process.cwd() — so it
|
|
780
|
+
// lands in the directory the `<cwd>` system-prompt block advertises rather than
|
|
781
|
+
// the launching process's cwd, which Node would otherwise use. Used by both the
|
|
782
|
+
// runtime (agent/script/poll execution) and the select/create validators so a
|
|
783
|
+
// cwd is resolved identically wherever it is checked or run. `undefined`
|
|
784
|
+
// (no per-state cwd) falls back to the base.
|
|
785
|
+
export function resolveStateCwd(cwd, baseCwd) {
|
|
786
|
+
if (cwd === undefined)
|
|
787
|
+
return baseCwd;
|
|
788
|
+
return isAbsolute(cwd) ? cwd : resolve(baseCwd, cwd);
|
|
789
|
+
}
|
|
790
|
+
// A per-state `cwd` (from the definition or an override) becomes the working
|
|
791
|
+
// directory the sub-agent's coding tools start in. A path that does not exist
|
|
792
|
+
// or is not a directory lands the sub-agent in a broken/empty tree where it
|
|
793
|
+
// finds none of the files it was told to work on and reports "nothing to do".
|
|
794
|
+
function assertValidStateCwd(state, baseCwd, guidance) {
|
|
795
|
+
const cwd = state.kind === "agent" || state.kind === "script" || state.kind === "poll"
|
|
796
|
+
? state.cwd
|
|
797
|
+
: undefined;
|
|
798
|
+
if (!cwd)
|
|
799
|
+
return;
|
|
800
|
+
const resolved = resolveStateCwd(cwd, baseCwd);
|
|
801
|
+
let stats;
|
|
802
|
+
try {
|
|
803
|
+
stats = statSync(resolved);
|
|
804
|
+
}
|
|
805
|
+
catch {
|
|
806
|
+
throw new Error(`cwd "${cwd}" for state "${state.name}" does not exist (resolved to "${resolved}"). ${guidance}`);
|
|
807
|
+
}
|
|
808
|
+
if (!stats.isDirectory()) {
|
|
809
|
+
throw new Error(`cwd "${cwd}" for state "${state.name}" is not a directory (resolved to "${resolved}").`);
|
|
810
|
+
}
|
|
748
811
|
}
|
|
749
812
|
function assertValidStateInput(state, input) {
|
|
750
813
|
if (!state.inputSchema)
|
|
@@ -763,7 +826,7 @@ function assertValidStateInput(state, input) {
|
|
|
763
826
|
// than this should be performed directly in the parent turn rather than paid
|
|
764
827
|
// for with the orchestration overhead of a state machine.
|
|
765
828
|
const MINIMUM_STATE_MACHINE_DELAY_MS = 15 * 60 * 1000;
|
|
766
|
-
function assertValidDefinition(definition) {
|
|
829
|
+
function assertValidDefinition(definition, baseCwd) {
|
|
767
830
|
for (const state of definition.states) {
|
|
768
831
|
if (state.name === INTERRUPTED_STATE_MACHINE_STATE) {
|
|
769
832
|
throw new Error(`State name "${INTERRUPTED_STATE_MACHINE_STATE}" is reserved.`);
|
|
@@ -771,6 +834,7 @@ function assertValidDefinition(definition) {
|
|
|
771
834
|
assertValidStateInputSchema(state);
|
|
772
835
|
assertValidStateSchedule(state);
|
|
773
836
|
assertValidStateScheduleMinimum(state);
|
|
837
|
+
assertValidStateCwd(state, baseCwd, CREATE_CWD_GUIDANCE);
|
|
774
838
|
}
|
|
775
839
|
injectMissingTerminalEscapeHatches(definition);
|
|
776
840
|
assertHasCompletedTerminal(definition);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/turn-runner/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/turn-runner/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,EACjB,yBAAyB,GAE1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,IAAI,EAAe,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAcnE,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAoB,MAAM,qBAAqB,CAAC;AAI3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAoB,EACpB,wBAAgC,4BAA4B;IAE5D,OAAO;QACL,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,GAAG,OAAO;YACV,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,qBAAqB;SAClD,CAAC;KACL,CAAC;AACJ,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;IACrE,WAAW,EAAE,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC,CACzE;CACF,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IACnE,MAAM,EAAE,IAAI,CAAC,QAAQ,CACnB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC,CAC5E;IACD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE;QACxC,QAAQ,EAAE,CAAC;QACX,WAAW,EACT,2HAA2H;KAC9H,CAAC;IACF,WAAW,EAAE,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,mDAAmD,EAAE,CAAC,CACnF;CACF,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;QACpC,WAAW,EAAE,+EAA+E;KAC7F,CAAC;CACH,CAAC,CAAC;AAIH,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CACjC;IACE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;CACvB,EACD;IACE,WAAW,EACT,mKAAmK;CACtK,CACF,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;QACd,WAAW,EACT,wJAAwJ;KAC3J,CAAC;IACF,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,WAAW,EACT,uHAAuH;KAC1H,CAAC;IACF,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;IAClC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QAClB,WAAW,EACT,qKAAqK;KACxK,CAAC;IACF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;QAChC,WAAW,EACT,iIAAiI;KACpI,CAAC;CACH,CAAC,CAAC;AASH,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CACtC,IAAI,CAAC,MAAM,CAAC;IACV,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC;IACrF,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC;QACxB,WAAW,EAAE,6DAA6D;KAC3E,CAAC;IACF,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;QACvC,WAAW,EACT,iFAAiF;KACpF,CAAC;IACF,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;QACf,WAAW,EACT,kWAAkW;KACrW,CAAC;IACF,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;QAClD,WAAW,EACT,4QAA4Q;KAC/Q,CAAC;CACH,CAAC,CACH,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CACvC,IAAI,CAAC,MAAM,CAAC;IACV,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kDAAkD,EAAE,CAAC;IACzF,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,gDAAgD;KAC9D,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;IACvF,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;QACtC,WAAW,EAAE,0DAA0D;KACxE,CAAC;IACF,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;QAClD,WAAW,EACT,4QAA4Q;KAC/Q,CAAC;CACH,CAAC,CACH,CAAC;AAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CACrC,IAAI,CAAC,MAAM,CAAC;IACV,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QACrD,WAAW,EACT,uIAAuI;KAC1I,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;IAClF,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,iDAAiD;KAC/D,CAAC;IACF,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,qDAAqD;KACnE,CAAC;IACF,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;QACtC,WAAW,EAAE,oEAAoE;KAClF,CAAC;IACF,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;QAClD,WAAW,EACT,4OAA4O;KAC/O,CAAC;CACH,CAAC,CACH,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CACtC,IAAI,CAAC,MAAM,CAAC;IACV,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QACjD,WAAW,EACT,sJAAsJ;KACzJ,CAAC;IACF,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QACtD,WAAW,EACT,2MAA2M;KAC9M,CAAC;IACF,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;QAClD,WAAW,EACT,gPAAgP;KACnP,CAAC;CACH,CAAC,CACH,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;CACzE,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;IACpF,IAAI,EAAE,IAAI,CAAC,QAAQ,CACjB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+DAA+D,EAAE,CAAC,CAC9F;IACD,WAAW,EAAE,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;QACrC,WAAW,EACT,gUAAgU;KACnU,CAAC,CACH;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC;IACnC,GAAG,eAAe;IAClB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;IAC/E,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,8EAA8E;KAC5F,CAAC;IACF,YAAY,EAAE,IAAI,CAAC,QAAQ,CACzB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0DAA0D,EAAE,CAAC,CACzF;IACD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;QACxB,WAAW,EACT,iFAAiF;KACpF,CAAC,CACH;IACD,GAAG,EAAE,IAAI,CAAC,QAAQ,CAChB,IAAI,CAAC,MAAM,CAAC;QACV,WAAW,EACT,iYAAiY;KACpY,CAAC,CACH;CACF,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC;IACpC,GAAG,eAAe;IAClB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;IACpF,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,qEAAqE;KACnF,CAAC;IACF,GAAG,EAAE,IAAI,CAAC,QAAQ,CAChB,IAAI,CAAC,MAAM,CAAC;QACV,WAAW,EAAE,+EAA+E;KAC7F,CAAC,CACH;IACD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC,CAAC;IAC1F,YAAY,EAAE,IAAI,CAAC,QAAQ,CACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;QACxB,WAAW,EAAE,+DAA+D;KAC7E,CAAC,CACH;CACF,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;IAClC,GAAG,eAAe;IAClB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;IACvF,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QACrD,WAAW,EACT,uIAAuI;KAC1I,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,QAAQ,CACtB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC,CAC5E;IACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,WAAW,EACT,6FAA6F;KAChG,CAAC;IACF,GAAG,EAAE,IAAI,CAAC,QAAQ,CAChB,IAAI,CAAC,MAAM,CAAC;QACV,WAAW,EACT,oFAAoF;KACvF,CAAC,CACH;IACD,YAAY,EAAE,IAAI,CAAC,QAAQ,CACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;QACxB,WAAW,EAAE,wDAAwD;KACtE,CAAC,CACH;CACF,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC;IACnC,GAAG,eAAe;IAClB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QAC1B,WAAW,EACT,iJAAiJ;KACpJ,CAAC;IACF,MAAM,EAAE,IAAI,CAAC,QAAQ,CACnB,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QACzC,WAAW,EACT,gMAAgM;KACnM,CAAC,CACH;IACD,WAAW,EAAE,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QACzC,WAAW,EACT,sOAAsO;KACzO,CAAC,CACH;CACF,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC;IACtC,GAAG,eAAe;IAClB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;IACtF,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;QACvF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;KAC/E,CAAC;IACF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC,CAAC;CAChG,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC;IACzC,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,mBAAmB;CACpB,CAAC,CAAC;AA0BH,MAAM,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAC9C;IACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;IACxE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,yEAAyE;KACvF,CAAC;IACF,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE;QAC1C,WAAW,EAAE,gDAAgD;KAC9D,CAAC;CACH,EACD;IACE,WAAW,EACT,qIAAqI;CACxI,CACF,CAAC;AAEF,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,4BAA4B;IACxC,UAAU,EAAE,IAAI,CAAC,QAAQ,CACvB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iEAAiE,EAAE,CAAC,CAChG;IACD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAC1B,IAAI,CAAC,OAAO,CAAC;QACX,WAAW,EACT,4eAA4e;KAC/e,CAAC,CACH;CACF,CAAC,CAAC;AAKH,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,IAAI,CAAC,MAAM,CACnB;QACE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YACjB,WAAW,EACT,2OAA2O;SAC9O,CAAC;QACF,MAAM,EAAE,IAAI,CAAC,QAAQ,CACnB,IAAI,CAAC,MAAM,CAAC;YACV,WAAW,EACT,gIAAgI;SACnI,CAAC,CACH;QACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC5C,eAAe,EAAE,IAAI,CAAC,QAAQ,CAC5B,IAAI,CAAC,OAAO,CAAC;YACX,WAAW,EACT,wmBAAwmB;SAC3mB,CAAC,CACH;QACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;YACrC,WAAW,EACT,uIAAuI;SAC1I,CAAC,CACH;KACF,EACD;QACE,WAAW,EACT,0JAA0J;KAC7J,CACF;CACF,CAAC,CAAC;AA+CH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,OAAO,CACL,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,mBAAmB;QAC5B,IAAI,KAAK,iCAAiC;QAC1C,IAAI,KAAK,4BAA4B,CACtC,CAAC;AACJ,CAAC;AAwCD,MAAM,UAAU,4BAA4B,CAC1C,GAAW,EACX,WAAiC,EACjC,aAAuC;IAEvC,MAAM,KAAK,GAAgB;QACzB,GAAG,iBAAiB,CAAC,GAAG,EAAE;YACxB,IAAI,EAAE;gBACJ,UAAU,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,yBAAyB,EAAE,CAAC,CAAC;aACpF;SACF,CAAC;QACF,mBAAmB,CAAC,WAAW,CAAC;QAChC,yBAAyB,EAAE;KAC5B,CAAC;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAA2B;IAC/D,MAAM,KAAK,GAAG;QACZ,GAAG,4BAA4B,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC;KACnF,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,aAAa,GACjB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC5B,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAA8B;QAC5C,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAClG,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,6BAA6B,CAAC,OAA4B;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,IAAI,CAAC;IAC1F,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3E,OAAO,MAAM,CAAA;;;uBAGQ,IAAI,0BAA0B,gBAAgB;;;GAGlE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAwB,EACxB,QAA+C;IAE/C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAuB,CAAC;IACpE,uEAAuE;IACvE,uEAAuE;IACvE,qEAAqE;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;QACrC,IAAI,QAAQ,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpE,OAAQ,MAAiC,CAAC,WAAW,CAAC;QACxD,CAAC;aAAM,IAAI,aAAa,IAAI,aAAa,IAAI,aAAa,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrF,OAAQ,MAAiC,CAAC,MAAM,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB;IAChC,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,8HAA8H;QAChI,UAAU,EAAE,qBAAqB;QACjC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM;YAC/B,yEAAyE;YACzE,qEAAqE;YACrE,6DAA6D;YAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;YAC3F,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,yCAAyC,UAAU,mEAAmE,CACvH,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAA4B;gBACtC,IAAI,EAAE,mBAAmB;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;QACjB,WAAW,EACT,8MAA8M;KACjN,CAAC;IACF,KAAK,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,OAAO,CAAC;QACX,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,uCAAuC;KACrD,CAAC,CACH;IACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;QACjF,WAAW,EACT,kHAAkH;KACrH,CAAC,CACH;IACD,MAAM,EAAE,IAAI,CAAC,QAAQ,CACnB,IAAI,CAAC,OAAO,CAAC;QACX,WAAW,EACT,6LAA6L;KAChM,CAAC,CACH;CACF,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAC7B,OAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,MAAM,CAAA;;;;KAIlB;QACD,UAAU,EAAE,kBAAkB;QAC9B,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iFAAiF;yBACxF;qBACF;oBACD,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACnD,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAgB,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;YAEhC,MAAM,OAAO,GAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC5C,4DAA4D;gBAC5D,gEAAgE;gBAChE,6DAA6D;gBAC7D,oCAAoC;gBACpC,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACzF,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,YAAY,CAAC;gBACX,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK;gBACL,4DAA4D;gBAC5D,6CAA6C;gBAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK;gBACxC,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CACH,CACF,CAAC;YAEF,MAAM,QAAQ,GAAG,oBAAoB,CACnC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACf,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAC5E,CACF,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAClB,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAC5F,CAAC;YACF,MAAM,YAAY,GAAG,QAAQ;iBAC1B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACzB,MAAM,CAAC,CAAC,WAAW,EAA8B,EAAE,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;YAElF,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACtE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM;gBACjC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChD,CAAC,CAAC,cAAc,CAAC;YACnB,MAAM,MAAM,GACV,eAAe,IAAI,CAAC,eAAe;gBACjC,CAAC,CAAC,sEAAsE;gBACxE,CAAC,CAAC,iBAAiB,CAAC;YAExB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,OAAO,EAAE,EAAE,CAAC;gBAC5D,OAAO,EAAE;oBACP,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,KAAK;oBACL,QAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;oBAC5B,IAAI,EAAE,YAAY,CAAC,MAAM;oBACzB,qBAAqB,EAAE,eAAe;iBACvC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC;IACnC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;CACrE,CAAC,CAAC;AAEH,KAAK,UAAU,wBAAwB,CAAC,KAAa,EAAE,KAAa;IAClE,mEAAmE;IACnE,mEAAmE;IACnE,oEAAoE;IACpE,oEAAoE;IACpE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC;YAC5C,KAAK;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,iDAAiD;gBAC9D,UAAU,EAAE,gBAAgB;aAC7B;YACD,YAAY,EACV,kIAAkI;YACpI,MAAM,EAAE,mBAAmB,KAAK,EAAE;SACnC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,WAAwB;IAC/C,gEAAgE;IAChE,mEAAmE;IACnE,8BAA8B;IAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,QAAQ,GACZ,WAAW,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/F,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,YAAY,GAAG,IAAI,GAAG,UAAU,GAAG,OAAO,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC;AACjI,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAA6B;IAE7B,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;KAoBlB;QACD,UAAU,EAAE,eAAe;QAC3B,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;gBACxB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC;gBAC9C,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAExB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/D,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,QAAoB,EAAE,QAAkC;IAC1E,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAEvE,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAA+B;IACrD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAiB;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,6BAA6B,CAAC;IAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACpF,MAAM,IAAI,GAAG,CAAC,oBAAoB,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CACrE,CAAC;IACF,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,CAAA;;;;GAItB,CAAC;IACF,OAAO,GAAG,IAAI,OAAO,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,8CAA8C,CAAC,KAE9D;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,MAAM,CAAA;yBACU,OAAO,CAAC,UAAU,CAAC,IAAI;;MAE1C,KAAK,CAAC;QACN,sBAAsB,EAAE;YACtB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;SAChC;KACF,CAAC;;;;;;;GAOH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAA6B;IACtE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CACrE,CAAC;IACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACpF,OAAO,MAAM,CAAA;;;MAGT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;;GAGnB,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CACvC,eAAoE;AACpE,2EAA2E;AAC3E,qEAAqE;AACrE,OAAe;IAEf,OAAO;QACL,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,iCAAiC;QACxC,WAAW,EAAE,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;KAwBlB;QACD,UAAU,EAAE,sBAAsB;QAClC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM;YAC/B,mEAAmE;YACnE,wEAAwE;YACxE,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,uEAAuE;YACvE,yEAAyE;YACzE,uBAAuB;YACvB,MAAM,MAAM,GAAG,eAAe,EAAE,EAAE,CAAC;YACnC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,CAAC;YACD,qBAAqB,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,MAAM,GAA4B;gBACtC,IAAI,EAAE,iCAAiC;gBACvC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,aAAqE;AACrE,wEAAwE;AACxE,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AACzE,OAAe;IAEf,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,MAAM,CAAA;;;;;;;;;;KAUlB;QACD,UAAU,EAAE,iBAAiB;QAC7B,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM;YAC/B,MAAM,UAAU,GAAG,aAAa,EAAE,EAAE,CAAC;YACrC,MAAM,QAAQ,GAA+B;gBAC3C,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;gBAC5B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAiD;gBAC3E,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe;gBAChD,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;aAC7B,CAAC;YACF,wBAAwB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAExD,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC;YACzF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,eAAoE,EACpE,oBAAuE;IAEvE,OAAO;QACL,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,iCAAiC;QACxC,WAAW,EACT,wUAAwU;QAC1U,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,OAAO;YACX,MAAM,YAAY,GAAG,eAAe,EAAE,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,oBAAoB,EAAE,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAmC;gBAC7C,YAAY,EAAE,YAAY,EAAE,YAAY;gBACxC,YAAY,EAAE,YAAY,EAAE,YAAY;gBACxC,QAAQ,EAAE,YAAY,EAAE,QAAQ;gBAChC,QAAQ,EAAE,YAAY,EAAE,QAAQ;gBAChC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;gBAC/C,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;aAChD,CAAC;YACF,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;YACrC,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,MAAM;aAChB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAoC,EACpC,UAA8C,EAC9C,OAAe;IAEf,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,CAAC,KAAK,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,oEAAoE;IACpE,+BAA+B;IAC/B,IAAI,aAAa,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO;IAE9C,2EAA2E;IAC3E,wEAAwE;IACxE,0EAA0E;IAC1E,qEAAqE;IACrE,4CAA4C;IAC5C,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,kBAAkB,QAAQ,CAAC,QAAQ,CAAC,IAAI,2BAA2B,aAAa,CAAC,IAAI,kBAAkB,aAAa,CAAC,IAAI,kCAAkC,aAAa,CAAC,IAAI,2DAA2D,CACzO,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5E,2BAA2B,CAAC,cAAc,CAAC,CAAC;IAC5C,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACzC,qBAAqB,CAAC,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,mBAAmB,CAAC,cAAc,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;AACpE,CAAC;AAED,2EAA2E;AAC3E,yEAAyE;AACzE,6EAA6E;AAC7E,mEAAmE;AACnE,4EAA4E;AAC5E,MAAM,mBAAmB,GACvB,mHAAmH,CAAC;AACtH,MAAM,mBAAmB,GACvB,kNAAkN,CAAC;AAErN,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,yEAAyE;AACzE,6CAA6C;AAC7C,MAAM,UAAU,eAAe,CAAC,GAAuB,EAAE,OAAe;IACtE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IACtC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,SAAS,mBAAmB,CAAC,KAAwB,EAAE,OAAe,EAAE,QAAgB;IACtF,MAAM,GAAG,GACP,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QACxE,CAAC,CAAC,KAAK,CAAC,GAAG;QACX,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,CAAC,GAAG;QAAE,OAAO;IAEjB,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAI,KAAkC,CAAC;IACvC,IAAI,CAAC;QACH,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,QAAQ,GAAG,gBAAgB,KAAK,CAAC,IAAI,kCAAkC,QAAQ,OAAO,QAAQ,EAAE,CACjG,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,QAAQ,GAAG,gBAAgB,KAAK,CAAC,IAAI,sCAAsC,QAAQ,KAAK,CACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAwB,EAAE,KAAc;IACrE,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO;IAE/B,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC;IAC9B,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAoB,EAAE,SAAS,CAAC;QAAE,OAAO;IAE/D,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAoB,EAAE,SAAS,CAAC,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAoD,CAAC;IAC3E,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC;IAChC,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,uBAAuB,CAAC;IAC1D,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,IAAI,QAAQ,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAC7E,0DAA0D;AAC1D,MAAM,8BAA8B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtD,SAAS,qBAAqB,CAAC,UAAkC,EAAE,OAAe;IAChF,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,IAAI,KAAK,+BAA+B,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,eAAe,+BAA+B,gBAAgB,CAAC,CAAC;QAClF,CAAC;QACD,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACnC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,+BAA+B,CAAC,KAAK,CAAC,CAAC;QACvC,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IACD,kCAAkC,CAAC,UAAU,CAAC,CAAC;IAC/C,0BAA0B,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,sEAAsE;AACtE,SAAS,kCAAkC,CAAC,UAAkC;IAC5E,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,UAAkC;IACpE,MAAM,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CACjD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CACrE,CAAC;IACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,gJAAgJ,CACjJ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAwB;IAC3D,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO;IAE/B,IAAI,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO;IAElE,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE;QACzE,OAAO,EAAE,0BAA0B,KAAK,CAAC,IAAI,GAAG;KACjD,CAAC,CAAC;IACH,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,CAAC,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,+EAA+E;AAC/E,0EAA0E;AAC1E,6EAA6E;AAC7E,0EAA0E;AAC1E,SAAS,wBAAwB,CAAC,KAAwB;IACxD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,iBAAiB,CACf,KAAK,CAAC,UAAU,EAChB,oCAAoC,KAAK,CAAC,IAAI,eAAe,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;QAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC;QACrD,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,qCAAqC,KAAK,CAAC,IAAI,kDAAkD,CAClG,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,qCAAqC,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,iBAAiB,CACf,KAAK,CAAC,WAAW,EACjB,qCAAqC,KAAK,CAAC,IAAI,gBAAgB,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,kFAAkF;AAClF,6EAA6E;AAC7E,wEAAwE;AACxE,SAAS,+BAA+B,CAAC,KAAwB;IAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAG,iBAAiB,CAClC,KAAK,CAAC,UAAU,EAChB,oCAAoC,KAAK,CAAC,IAAI,eAAe,CAC9D,CAAC;QACF,IAAI,UAAU,GAAG,8BAA8B,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,oCAAoC,KAAK,CAAC,IAAI,8CAA8C,8BAA8B,mGAAmG,CAC9N,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,eAAe,CAC5B,KAAK,CAAC,MAAM,EACZ,qCAAqC,KAAK,CAAC,IAAI,WAAW,CAC3D,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,8BAA8B,CAAC;QAC9D,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,qCAAqC,KAAK,CAAC,IAAI,kJAAkJ,CAClM,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,WAAW,GAAG,iBAAiB,CACnC,KAAK,CAAC,WAAW,EACjB,qCAAqC,KAAK,CAAC,IAAI,gBAAgB,CAChE,CAAC;QACF,IAAI,WAAW,GAAG,8BAA8B,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,qCAAqC,KAAK,CAAC,IAAI,+CAA+C,8BAA8B,mGAAmG,CAChO,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -250,6 +250,27 @@ export declare class TurnRunner {
|
|
|
250
250
|
*/
|
|
251
251
|
private runStateMachineTerminalAcknowledgment;
|
|
252
252
|
private selectNextStateAfterCompletion;
|
|
253
|
+
/**
|
|
254
|
+
* Enforce the transition owed after an agent state asked the user a question
|
|
255
|
+
* and the user answered without the parent advancing the machine.
|
|
256
|
+
*
|
|
257
|
+
* The user's answer already ran as an ordinary parent prompt; reaching here
|
|
258
|
+
* means that turn emitted no `select_state_machine_state`, so the machine is
|
|
259
|
+
* still suspended at the asking state. Re-prompt under the same bounded
|
|
260
|
+
* budget as a completed state, then record an `error` terminal if the parent
|
|
261
|
+
* still refuses to advance.
|
|
262
|
+
*/
|
|
263
|
+
private enforceTransitionAfterAnsweredAsk;
|
|
264
|
+
/**
|
|
265
|
+
* Shared bounded-retry loop for transitions the parent owes the machine.
|
|
266
|
+
* Re-prompts up to `PARENT_TRANSITION_RETRY_BUDGET` times with `buildPrompt`
|
|
267
|
+
* (the second and later attempts carry a retry reminder); the first attempt
|
|
268
|
+
* that emits a control action returns its result. When the budget is
|
|
269
|
+
* exhausted with no control action, records an `error` terminal carrying
|
|
270
|
+
* `failureReason` — a runtime failure of the machine, not a deliberate
|
|
271
|
+
* `failed` selection.
|
|
272
|
+
*/
|
|
273
|
+
private enforceParentTransition;
|
|
253
274
|
protected createStateAgentHandle(input: {
|
|
254
275
|
state: StateMachineAgentState;
|
|
255
276
|
prompt: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAiBlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAM3D,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,4BAA4B,EAC5B,SAAS,EACT,eAAe,EAEf,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EAEjB,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,WAAW,EAEZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAaxE,OAAO,
|
|
1
|
+
{"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,14 +15,22 @@ import { COMPACT_MESSAGE_TOKENS_RATIO, compactTurnState, } from "./state-compact
|
|
|
15
15
|
import { agentEventToTurnEvents, agentMessageText } from "./agent-events.js";
|
|
16
16
|
import { createRecallMemorySystemPromptLayer, createSourceOfTruthSystemPromptLayer, createStateMachineSystemPromptLayer, } from "./prompts.js";
|
|
17
17
|
import { applyEvictionHorizon, calculateWireTokens, createInitialHorizon, findEvictionHorizon, } from "./wire-shaping.js";
|
|
18
|
-
import { createDefaultTurnRunnerTools, createTurnRunnerTools, formatCarriedTodosReminder, formatStateMachineTerminalAcknowledgmentPrompt, isTurnRunnerControlResult, } from "./tools.js";
|
|
18
|
+
import { createDefaultTurnRunnerTools, createTurnRunnerTools, resolveStateCwd, formatCarriedTodosReminder, formatStateMachineTerminalAcknowledgmentPrompt, isTurnRunnerControlResult, } from "./tools.js";
|
|
19
19
|
import { connectMcpServers } from "./mcp.js";
|
|
20
20
|
import { SkillContext } from "./skill-context.js";
|
|
21
|
-
import { currentScheduledState, isWaitingOnScheduledState } from "./state-machine-session.js";
|
|
21
|
+
import { currentScheduledState, isAwaitingUserAnswer, isWaitingOnScheduledState, } from "./state-machine-session.js";
|
|
22
22
|
import { StateMachineController, } from "./state-machine-controller.js";
|
|
23
23
|
import { completeTurn, copyOptionalArray, createInitialTurnState } from "./turn-state.js";
|
|
24
24
|
import { DEFAULT_TRANSIENT_RETRY_POLICY, lastMessageIsTransientFailure, transientRetryDelayMs, } from "./transient-error.js";
|
|
25
25
|
import { addUsage, usageFromMessages } from "./usage-accounting.js";
|
|
26
|
+
/**
|
|
27
|
+
* How many times the parent is re-prompted to emit the
|
|
28
|
+
* select_state_machine_state it owes (after a state completes or after the
|
|
29
|
+
* user answers a state's question) before the runner gives up and records an
|
|
30
|
+
* `error` terminal. Bounds the protocol-violation retry loop so a parent that
|
|
31
|
+
* never transitions can't spin forever.
|
|
32
|
+
*/
|
|
33
|
+
const PARENT_TRANSITION_RETRY_BUDGET = 3;
|
|
26
34
|
/** Order matches `TurnContextWindowUsage` fields; indexes map to `scaled[0..3]`. */
|
|
27
35
|
const CONTEXT_USAGE_KEYS = [
|
|
28
36
|
"systemPrompt",
|
|
@@ -848,44 +856,74 @@ export class TurnRunner {
|
|
|
848
856
|
return undefined;
|
|
849
857
|
}
|
|
850
858
|
async selectNextStateAfterCompletion(stateName, output) {
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
? undefined
|
|
854
|
-
: `This is retry ${attempt} of 3. You did not call select_state_machine_state last time. You must call select_state_machine_state now.`;
|
|
855
|
-
const turnState = this.snapshotState({ ...this.requireRunnerState(), status: "running" });
|
|
856
|
-
const workerResult = await this.runAgentWorkerWithUsage({
|
|
857
|
-
state: turnState,
|
|
858
|
-
prompt: dedent `
|
|
859
|
-
The state "${stateName}" finished.
|
|
859
|
+
return this.enforceParentTransition((retryInstruction) => dedent `
|
|
860
|
+
The state "${stateName}" finished.
|
|
860
861
|
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
862
|
+
${toXML({
|
|
863
|
+
state_completed: {
|
|
864
|
+
output: output ?? null,
|
|
865
|
+
},
|
|
866
|
+
})}
|
|
867
|
+
|
|
868
|
+
<system-reminder>
|
|
869
|
+
THIS TURN MUST END WITH A select_state_machine_state TOOL CALL. The state machine only advances when the tool call is actually emitted — nothing else, including text, thinking, or narration, advances it. Even if your conclusion is obvious ("this is internal plumbing, transition to X"), the conclusion is not the action; you must emit the select_state_machine_state tool call for state X in this same turn. Responses that narrate the transition without the tool call ("I should transition to X", "no user-facing post needed, moving on to Y", "the next state is Z") will be rejected and you will be re-prompted. This rule holds whether the state output is a user-facing artifact or purely internal plumbing — internal plumbing still requires the tool call to advance the machine, it just skips the user-facing message.
|
|
870
|
+
|
|
871
|
+
${retryInstruction ?? ""}
|
|
866
872
|
|
|
867
|
-
|
|
868
|
-
THIS TURN MUST END WITH A select_state_machine_state TOOL CALL. The state machine only advances when the tool call is actually emitted — nothing else, including text, thinking, or narration, advances it. Even if your conclusion is obvious ("this is internal plumbing, transition to X"), the conclusion is not the action; you must emit the select_state_machine_state tool call for state X in this same turn. Responses that narrate the transition without the tool call ("I should transition to X", "no user-facing post needed, moving on to Y", "the next state is Z") will be rejected and you will be re-prompted. This rule holds whether the state output is a user-facing artifact or purely internal plumbing — internal plumbing still requires the tool call to advance the machine, it just skips the user-facing message.
|
|
873
|
+
If the state produced output the user would want to see — a written artifact (poem, summary, draft), a finding, a status the user is watching, or anything else the background work was meant to surface — post that content to the user in this turn before or alongside the tool call. The user does not see state output, transcripts, or tool results from background states; if you do not relay it here, they never see it. Skip the user-facing message only when the state output is purely internal plumbing (an ack, a control signal, a value that only matters to the next state).
|
|
869
874
|
|
|
870
|
-
|
|
875
|
+
You are the orchestrator and are responsible for this sub-agent's output. Treat the state_completed block above as a claim, not as verified truth. The sub-agent may have hallucinated success, skipped steps, swallowed errors, or misreported what it did. Before transitioning, review the output against reality: read the files it claims to have changed, run the build/test/lint it claims to have passed, and confirm any IDs, paths, counts, or statuses it asserts. If the output is wrong, incomplete, or unverifiable, do not just blindly re-select the same state — the sub-agent will hallucinate the same result a second time. Re-select the state with an override.state.prompt that addresses the specific failure (require a verification step, name the exact file path or tool to use, forbid the hallucinated phrasing), or select a different state. Tuning the sub-agent's prompt is the orchestrator's lever — use it. Do not silently take over the sub-agent's job by running its tools yourself; that hides the broken state from future runs. Do not propagate an unverified claim into the next state's prompt as fact, and do not relay it to the user as finished work. The orchestrator owns correctness; the sub-agent only owns effort.
|
|
876
|
+
</system-reminder>
|
|
877
|
+
`, "State completed, but the runner did not call select_state_machine_state.");
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* Enforce the transition owed after an agent state asked the user a question
|
|
881
|
+
* and the user answered without the parent advancing the machine.
|
|
882
|
+
*
|
|
883
|
+
* The user's answer already ran as an ordinary parent prompt; reaching here
|
|
884
|
+
* means that turn emitted no `select_state_machine_state`, so the machine is
|
|
885
|
+
* still suspended at the asking state. Re-prompt under the same bounded
|
|
886
|
+
* budget as a completed state, then record an `error` terminal if the parent
|
|
887
|
+
* still refuses to advance.
|
|
888
|
+
*/
|
|
889
|
+
async enforceTransitionAfterAnsweredAsk() {
|
|
890
|
+
const stateName = this.stateMachineController.getSession()?.currentState ?? "";
|
|
891
|
+
return this.enforceParentTransition((retryInstruction) => dedent `
|
|
892
|
+
You received the user's answer to the question asked by the "${stateName}" state, but you did not call select_state_machine_state. The machine is still suspended at that state and will not advance on its own.
|
|
871
893
|
|
|
872
|
-
|
|
894
|
+
<system-reminder>
|
|
895
|
+
THIS TURN MUST END WITH A select_state_machine_state TOOL CALL. The user's answer is the input you route on: pick the next state (or a terminal, including a cancelled terminal if the answer means the work should stop) and pass the answer forward via input or override.prompt. Narration without the tool call ("the user chose X, so I'll move to Y") does not advance the machine and will be rejected and re-prompted.
|
|
873
896
|
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
897
|
+
${retryInstruction ?? ""}
|
|
898
|
+
</system-reminder>
|
|
899
|
+
`, "User answered the question, but the runner did not call select_state_machine_state.");
|
|
900
|
+
}
|
|
901
|
+
/**
|
|
902
|
+
* Shared bounded-retry loop for transitions the parent owes the machine.
|
|
903
|
+
* Re-prompts up to `PARENT_TRANSITION_RETRY_BUDGET` times with `buildPrompt`
|
|
904
|
+
* (the second and later attempts carry a retry reminder); the first attempt
|
|
905
|
+
* that emits a control action returns its result. When the budget is
|
|
906
|
+
* exhausted with no control action, records an `error` terminal carrying
|
|
907
|
+
* `failureReason` — a runtime failure of the machine, not a deliberate
|
|
908
|
+
* `failed` selection.
|
|
909
|
+
*/
|
|
910
|
+
async enforceParentTransition(buildPrompt, failureReason) {
|
|
911
|
+
for (let attempt = 1; attempt <= PARENT_TRANSITION_RETRY_BUDGET; attempt++) {
|
|
912
|
+
const retryInstruction = attempt === 1
|
|
913
|
+
? undefined
|
|
914
|
+
: `This is retry ${attempt} of ${PARENT_TRANSITION_RETRY_BUDGET}. You did not call select_state_machine_state last time. You must call select_state_machine_state now.`;
|
|
915
|
+
const turnState = this.snapshotState({ ...this.requireRunnerState(), status: "running" });
|
|
916
|
+
const workerResult = await this.runAgentWorkerWithUsage({
|
|
917
|
+
state: turnState,
|
|
918
|
+
prompt: buildPrompt(retryInstruction),
|
|
877
919
|
...this.createTools(turnState.mode),
|
|
878
920
|
});
|
|
879
921
|
this.setState(workerResult.outcome.state);
|
|
880
922
|
const result = await this.controllerResultFromWorkerResult(workerResult, workerResult.outcome.state);
|
|
881
|
-
if (
|
|
882
|
-
|
|
883
|
-
return result;
|
|
923
|
+
if (result)
|
|
924
|
+
return result;
|
|
884
925
|
}
|
|
885
|
-
|
|
886
|
-
// but never emitted one across the bounded retry budget. That is a runtime
|
|
887
|
-
// failure of the machine, so record an `error` terminal on the session.
|
|
888
|
-
return this.stateMachineController.failActiveSession(this.stateMachineController.getSession()?.currentState ?? "", "State completed, but the runner did not call select_state_machine_state.");
|
|
926
|
+
return this.stateMachineController.failActiveSession(this.stateMachineController.getSession()?.currentState ?? "", failureReason);
|
|
889
927
|
}
|
|
890
928
|
createStateAgentHandle(input) {
|
|
891
929
|
let control = { type: "none" };
|
|
@@ -1135,9 +1173,18 @@ export class TurnRunner {
|
|
|
1135
1173
|
images: input.images,
|
|
1136
1174
|
});
|
|
1137
1175
|
const result = await this.controllerResultFromWorkerResult(workerResult, input.state);
|
|
1138
|
-
if (
|
|
1139
|
-
return this.
|
|
1140
|
-
|
|
1176
|
+
if (result)
|
|
1177
|
+
return this.driveStateMachineResult(result, workerResult.outcome.state);
|
|
1178
|
+
// The parent emitted no control action. If the machine is suspended at a
|
|
1179
|
+
// state that asked the user a question, the parent owed a transition to
|
|
1180
|
+
// advance it (the user's answer arrives as an ordinary parent prompt).
|
|
1181
|
+
// Enforce it the same way a completed state does, so an answered ask can
|
|
1182
|
+
// never silently stall the machine.
|
|
1183
|
+
if (isAwaitingUserAnswer(this.stateMachineController.getSession())) {
|
|
1184
|
+
const enforced = await this.enforceTransitionAfterAnsweredAsk();
|
|
1185
|
+
return this.driveStateMachineResult(enforced, this.requireRunnerState());
|
|
1186
|
+
}
|
|
1187
|
+
return this.outcomeToTerminal(workerResult.outcome);
|
|
1141
1188
|
}
|
|
1142
1189
|
/**
|
|
1143
1190
|
* Turns a parent worker turn's control output into the state-machine
|
|
@@ -1183,7 +1230,7 @@ export class TurnRunner {
|
|
|
1183
1230
|
return this.stateMachineController.runDecision(control.decision);
|
|
1184
1231
|
}
|
|
1185
1232
|
createTools(mode, cwdOverride) {
|
|
1186
|
-
const cwd = cwdOverride
|
|
1233
|
+
const cwd = resolveStateCwd(cwdOverride, this.config.cwd ?? process.cwd());
|
|
1187
1234
|
const todoStorage = {
|
|
1188
1235
|
getTodos: () => this.getTodos(),
|
|
1189
1236
|
setTodos: (todos) => {
|