@archmax-ai/harness 0.9.0 → 1.0.1
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 +58 -14
- package/dist/agent.d.ts +4 -6
- package/dist/agent.js +4 -6
- package/dist/agent.js.map +1 -1
- package/dist/assembly/compose.d.ts +5 -24
- package/dist/assembly/compose.js +28 -42
- package/dist/assembly/compose.js.map +1 -1
- package/dist/assembly/delegation-registry.js +3 -14
- package/dist/assembly/delegation-registry.js.map +1 -1
- package/dist/assembly/index.d.ts +8 -15
- package/dist/assembly/index.js +21 -28
- package/dist/assembly/index.js.map +1 -1
- package/dist/assembly/plain.js +1 -2
- package/dist/assembly/plain.js.map +1 -1
- package/dist/authoring-skill/archmax-harness/README.md +5 -5
- package/dist/authoring-skill/archmax-harness/SKILL.md +72 -30
- package/dist/authoring-skill/archmax-harness/references/backend-integration.md +33 -24
- package/dist/authoring-skill/archmax-harness/references/cases.md +41 -8
- package/dist/authoring-skill/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +599 -339
- package/dist/authoring-skill/archmax-harness/references/code-states-and-scripts.md +115 -0
- package/dist/authoring-skill/archmax-harness/references/diagnostics.md +40 -7
- package/dist/authoring-skill/archmax-harness/references/wiring.md +19 -10
- package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +404 -293
- package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +151 -62
- package/dist/cli/state-flow.d.ts +1 -1
- package/dist/cli/state-flow.js +18 -28
- package/dist/cli/state-flow.js.map +1 -1
- package/dist/cli/turn.d.ts +1 -1
- package/dist/cli/turn.js +1 -1
- package/dist/core/code-description.d.ts +3 -3
- package/dist/core/code-description.js +3 -3
- package/dist/core/deepagents.d.ts +5 -12
- package/dist/core/deepagents.js +4 -17
- package/dist/core/deepagents.js.map +1 -1
- package/dist/core/events.d.ts +23 -42
- package/dist/core/events.js +21 -24
- package/dist/core/events.js.map +1 -1
- package/dist/core/message-readers.d.ts +4 -5
- package/dist/core/message-readers.js +3 -8
- package/dist/core/message-readers.js.map +1 -1
- package/dist/core/messages.d.ts +0 -22
- package/dist/core/messages.js +1 -32
- package/dist/core/messages.js.map +1 -1
- package/dist/core/mounts.js +3 -3
- package/dist/core/platform-prompt.generated.js +1 -1
- package/dist/core/platform-prompt.generated.js.map +1 -1
- package/dist/core/session-zone.d.ts +1 -1
- package/dist/core/session-zone.js +1 -1
- package/dist/core/workspace-context.d.ts +1 -1
- package/dist/core/workspace.d.ts +1 -1
- package/dist/core/workspace.js +1 -1
- package/dist/core/zones.d.ts +4 -4
- package/dist/core/zones.js +5 -5
- package/dist/core/zones.js.map +1 -1
- package/dist/env.d.ts +9 -9
- package/dist/index.d.ts +3 -7
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/kernel/kernel.d.ts +31 -61
- package/dist/kernel/kernel.js +54 -112
- package/dist/kernel/kernel.js.map +1 -1
- package/dist/machine/lint-spec.js +53 -12
- package/dist/machine/lint-spec.js.map +1 -1
- package/dist/machine/machine.d.ts +36 -18
- package/dist/machine/machine.js +62 -51
- package/dist/machine/machine.js.map +1 -1
- package/dist/machine/spec-schema.d.ts +32 -180
- package/dist/machine/spec-schema.js +52 -113
- package/dist/machine/spec-schema.js.map +1 -1
- package/dist/machine/tool-names.d.ts +34 -16
- package/dist/machine/tool-names.js +41 -16
- package/dist/machine/tool-names.js.map +1 -1
- package/dist/machine/types.d.ts +14 -46
- package/dist/machine/types.js +0 -2
- package/dist/machine/types.js.map +1 -1
- package/dist/machine/validate-spec.d.ts +1 -1
- package/dist/public/sandbox.d.ts +59 -95
- package/dist/public/sandbox.js +22 -23
- package/dist/public/sandbox.js.map +1 -1
- package/dist/public/spec.d.ts +13 -20
- package/dist/public/spec.js +12 -20
- package/dist/public/spec.js.map +1 -1
- package/dist/runtime/contract.d.ts +11 -12
- package/dist/runtime/contract.js +16 -16
- package/dist/runtime/contract.js.map +1 -1
- package/dist/sandbox/assets/parts/code-state.js +17 -0
- package/dist/sandbox/executor.d.ts +25 -7
- package/dist/sandbox/executor.js +56 -57
- package/dist/sandbox/executor.js.map +1 -1
- package/dist/sandbox/imports.d.ts +10 -10
- package/dist/sandbox/imports.js +11 -11
- package/dist/sandbox/imports.js.map +1 -1
- package/dist/sandbox/prelude.d.ts +5 -6
- package/dist/sandbox/prelude.js +38 -35
- package/dist/sandbox/prelude.js.map +1 -1
- package/dist/sandbox/ptc-gateway.d.ts +19 -18
- package/dist/sandbox/ptc-gateway.js +26 -22
- package/dist/sandbox/ptc-gateway.js.map +1 -1
- package/dist/sessions/resume.d.ts +2 -2
- package/dist/sessions/resume.js +1 -1
- package/dist/sessions/resume.js.map +1 -1
- package/dist/sessions/scope.d.ts +0 -10
- package/dist/sessions/scope.js +0 -17
- package/dist/sessions/scope.js.map +1 -1
- package/dist/sessions/summary.d.ts +1 -1
- package/dist/testing/assertions.js +9 -4
- package/dist/testing/assertions.js.map +1 -1
- package/dist/testing/driver.js +3 -0
- package/dist/testing/driver.js.map +1 -1
- package/dist/testing/interpreter.d.ts +2 -2
- package/dist/testing/runner.d.ts +2 -2
- package/dist/validate/validate.d.ts +1 -1
- package/dist/validate/validate.js +39 -70
- package/dist/validate/validate.js.map +1 -1
- package/dist/workflow/automated-controls.d.ts +63 -0
- package/dist/workflow/automated-controls.js +158 -0
- package/dist/workflow/automated-controls.js.map +1 -0
- package/dist/workflow/automated.d.ts +112 -0
- package/dist/workflow/automated.js +163 -0
- package/dist/workflow/automated.js.map +1 -0
- package/dist/workflow/code-state.d.ts +46 -0
- package/dist/workflow/code-state.js +26 -0
- package/dist/workflow/code-state.js.map +1 -0
- package/dist/workflow/control-tools.d.ts +54 -23
- package/dist/workflow/control-tools.js +99 -79
- package/dist/workflow/control-tools.js.map +1 -1
- package/dist/workflow/file-values.d.ts +4 -4
- package/dist/workflow/file-values.js +1 -1
- package/dist/workflow/file-values.js.map +1 -1
- package/dist/workflow/governance.d.ts +11 -22
- package/dist/workflow/governance.js +47 -104
- package/dist/workflow/governance.js.map +1 -1
- package/dist/workflow/grader-state.d.ts +55 -0
- package/dist/workflow/grader-state.js +182 -0
- package/dist/workflow/grader-state.js.map +1 -0
- package/dist/workflow/history.d.ts +11 -0
- package/dist/{lifecycle/transcript.js → workflow/history.js} +24 -8
- package/dist/workflow/history.js.map +1 -0
- package/dist/workflow/middleware.d.ts +14 -17
- package/dist/workflow/middleware.js +109 -95
- package/dist/workflow/middleware.js.map +1 -1
- package/dist/workflow/move-events.d.ts +21 -0
- package/dist/workflow/move-events.js +20 -0
- package/dist/workflow/move-events.js.map +1 -0
- package/dist/workflow/on-error.js +0 -2
- package/dist/workflow/on-error.js.map +1 -1
- package/dist/workflow/parks.d.ts +9 -2
- package/dist/workflow/parks.js +16 -10
- package/dist/workflow/parks.js.map +1 -1
- package/dist/workflow/paths.d.ts +9 -9
- package/dist/workflow/paths.js +19 -19
- package/dist/workflow/paths.js.map +1 -1
- package/dist/workflow/render-prompt.d.ts +7 -5
- package/dist/workflow/render-prompt.js +22 -37
- package/dist/workflow/render-prompt.js.map +1 -1
- package/dist/workflow/signature-checks.d.ts +2 -2
- package/dist/workflow/snapshot.js +5 -29
- package/dist/workflow/snapshot.js.map +1 -1
- package/dist/workflow/state.d.ts +14 -42
- package/dist/workflow/state.js +20 -33
- package/dist/workflow/state.js.map +1 -1
- package/dist/workflow/sub-workflow.d.ts +3 -3
- package/dist/workflow/sub-workflow.js +3 -7
- package/dist/workflow/sub-workflow.js.map +1 -1
- package/dist/workflow/tool-service.d.ts +1 -9
- package/dist/workflow/tool-service.js +21 -24
- package/dist/workflow/tool-service.js.map +1 -1
- package/dist/workflow/turn-boundary.d.ts +2 -2
- package/dist/workflow/turn-boundary.js +10 -15
- package/dist/workflow/turn-boundary.js.map +1 -1
- package/dist/workflow/turn-runner.js +5 -6
- package/dist/workflow/turn-runner.js.map +1 -1
- package/package.json +2 -2
- package/skills/archmax-harness/README.md +5 -5
- package/skills/archmax-harness/SKILL.md +72 -30
- package/skills/archmax-harness/references/backend-integration.md +33 -24
- package/skills/archmax-harness/references/cases.md +41 -8
- package/skills/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +599 -339
- package/skills/archmax-harness/references/code-states-and-scripts.md +115 -0
- package/skills/archmax-harness/references/diagnostics.md +40 -7
- package/skills/archmax-harness/references/wiring.md +19 -10
- package/skills/archmax-harness/references/workflow-schema.md +404 -293
- package/skills/archmax-harness/references/workflow-yaml.md +151 -62
- package/dist/authoring-skill/archmax-harness/references/hooks-and-scripts.md +0 -89
- package/dist/lifecycle/hook-shape.d.ts +0 -44
- package/dist/lifecycle/hook-shape.js +0 -66
- package/dist/lifecycle/hook-shape.js.map +0 -1
- package/dist/lifecycle/runner.d.ts +0 -197
- package/dist/lifecycle/runner.js +0 -419
- package/dist/lifecycle/runner.js.map +0 -1
- package/dist/lifecycle/tool-calls.d.ts +0 -9
- package/dist/lifecycle/tool-calls.js +0 -57
- package/dist/lifecycle/tool-calls.js.map +0 -1
- package/dist/lifecycle/transcript.d.ts +0 -31
- package/dist/lifecycle/transcript.js.map +0 -1
- package/dist/rubrics/rubrics.d.ts +0 -135
- package/dist/rubrics/rubrics.js +0 -145
- package/dist/rubrics/rubrics.js.map +0 -1
- package/dist/sandbox/assets/parts/core.js +0 -22
- package/dist/sandbox/assets/parts/lifecycle-hook.js +0 -47
- package/dist/sandbox/bridge.d.ts +0 -16
- package/dist/sandbox/bridge.js +0 -95
- package/dist/sandbox/bridge.js.map +0 -1
- package/dist/workflow/visits.d.ts +0 -21
- package/dist/workflow/visits.js +0 -45
- package/dist/workflow/visits.js.map +0 -1
- package/skills/archmax-harness/references/hooks-and-scripts.md +0 -89
|
@@ -1,4 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A session's **history**: its whole transcript as plain messages and its whole
|
|
3
|
+
* trail — what an automated state reads with `archmax_get_history`, a grader
|
|
4
|
+
* and a code state's script alike, so both counting the same rounds read the
|
|
5
|
+
* same thing. Built from the checkpointed session, never from the request a
|
|
6
|
+
* summary shortened for the model.
|
|
7
|
+
*
|
|
8
|
+
* Nothing is windowed: a grader asked to give up after N send-backs has to see
|
|
9
|
+
* all N. What bounds it is the sandbox's result and memory quotas, and the
|
|
10
|
+
* grader model's context.
|
|
11
|
+
*/
|
|
1
12
|
import { contentToString, messageTypeOf, runtimeNoteKind } from "../core/messages.js";
|
|
13
|
+
import { readAuditTrail } from "./state.js";
|
|
2
14
|
const ROLE_BY_TYPE = {
|
|
3
15
|
human: "user",
|
|
4
16
|
ai: "assistant",
|
|
@@ -7,13 +19,12 @@ const ROLE_BY_TYPE = {
|
|
|
7
19
|
function: "tool",
|
|
8
20
|
};
|
|
9
21
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* the hook input stays small however large they are.
|
|
22
|
+
* The transcript as plain messages, oldest first. A runtime note is carried in
|
|
23
|
+
* the transcript as a tool-call pair; only the half holding the text is kept,
|
|
24
|
+
* as one `runtime` entry. A tool result carries its text, the tool that
|
|
25
|
+
* produced it, and the id of the call it answers.
|
|
15
26
|
*/
|
|
16
|
-
export function
|
|
27
|
+
export function historyMessages(messages) {
|
|
17
28
|
const out = [];
|
|
18
29
|
for (const raw of Array.isArray(messages) ? messages : []) {
|
|
19
30
|
const msg = raw;
|
|
@@ -27,7 +38,7 @@ export function hookTranscript(messages) {
|
|
|
27
38
|
continue;
|
|
28
39
|
}
|
|
29
40
|
const role = ROLE_BY_TYPE[type] ?? (type || "unknown");
|
|
30
|
-
const entry = { role, text
|
|
41
|
+
const entry = { role, text };
|
|
31
42
|
const calls = msg.tool_calls;
|
|
32
43
|
if ((type === "ai" || type === "assistant") && Array.isArray(calls) && calls.length > 0) {
|
|
33
44
|
entry.toolCalls = calls.map((c) => {
|
|
@@ -45,4 +56,9 @@ export function hookTranscript(messages) {
|
|
|
45
56
|
}
|
|
46
57
|
return out;
|
|
47
58
|
}
|
|
48
|
-
|
|
59
|
+
/** The history of the session whose checkpointed state this is. */
|
|
60
|
+
export function sessionHistory(state) {
|
|
61
|
+
const messages = state?.messages;
|
|
62
|
+
return { messages: historyMessages(Array.isArray(messages) ? messages : []), trail: readAuditTrail(state) };
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/workflow/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { StructuredTool } from "@langchain/core/tools";
|
|
2
2
|
import type { AgentMiddleware } from "langchain";
|
|
3
|
-
import type {
|
|
3
|
+
import type { BaseChatModel } from "@langchain/core/language_models/chat_models";
|
|
4
|
+
import { type ScriptExecutor } from "../sandbox/executor.js";
|
|
4
5
|
import type { PtcToolGateway } from "../sandbox/ptc-gateway.js";
|
|
5
|
-
import { LifecycleRunner, type HookExecutor, type HookScriptResolver } from "../lifecycle/runner.js";
|
|
6
6
|
import type { WorkflowMachine } from "../machine/machine.js";
|
|
7
|
-
import type { Rubric } from "../rubrics/rubrics.js";
|
|
8
7
|
import type { Workspace } from "../core/workspace.js";
|
|
9
8
|
import { type WorkflowEventHandler } from "../core/events.js";
|
|
10
9
|
import type { VariableStore } from "../machine/variables.js";
|
|
10
|
+
import type { CodeScriptResolver } from "./code-state.js";
|
|
11
11
|
import type { SubWorkflowDispatcher } from "./sub-workflow.js";
|
|
12
12
|
import type { GovernanceRule } from "../kernel/kernel.js";
|
|
13
13
|
import { type MountPrefixes } from "../core/mounts.js";
|
|
@@ -29,30 +29,27 @@ export interface WorkflowInstrumentation {
|
|
|
29
29
|
/** The governance middleware proper; assembled after {@link parkMiddleware}. */
|
|
30
30
|
middleware: AgentMiddleware;
|
|
31
31
|
tools: StructuredTool[];
|
|
32
|
-
lifecycle: LifecycleRunner;
|
|
33
32
|
/** Release every per-session resource (idempotent; safe for sessions that never ran). */
|
|
34
33
|
dispose(sessionId: string): void;
|
|
35
34
|
}
|
|
36
35
|
export interface WorkflowMiddlewareOptions {
|
|
37
36
|
machine: WorkflowMachine;
|
|
38
|
-
/**
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
/** Runs a code state's script, reading it from the authoring backend. */
|
|
38
|
+
codeExecutor: ScriptExecutor;
|
|
39
|
+
/** Resolves a code state's declared `script:` to its authoring-backend path. */
|
|
40
|
+
resolveCodeScript: CodeScriptResolver;
|
|
41
|
+
/** The model a grader state runs on, and its id when the instance exposes one. */
|
|
42
|
+
graderModel(state: string): {
|
|
43
|
+
model: BaseChatModel;
|
|
44
|
+
id?: string;
|
|
45
|
+
};
|
|
43
46
|
/** Consumer rules, evaluated after the safety and `policy` rules, before per-state defaults. */
|
|
44
47
|
policyRules?: GovernanceRule[];
|
|
45
48
|
/** The workspace's resolved mount keys, so the kernel's read-only rule can classify authored paths. */
|
|
46
49
|
mountPrefixes?: MountPrefixes;
|
|
47
50
|
/** The workspace's skills: one table for what the kernel refuses, the prompt names, a listing returns. */
|
|
48
51
|
skills?: SkillRegistry;
|
|
49
|
-
/**
|
|
50
|
-
hookExecutors?: Record<string, HookExecutor>;
|
|
51
|
-
/** Script executor for lifecycle hooks, reading from the authoring backend. Defaults to {@link executor}. */
|
|
52
|
-
hookExecutor?: ScriptExecutor;
|
|
53
|
-
/** Resolves a hook's declared `script:` to its authoring-backend path. */
|
|
54
|
-
resolveHookScript?: HookScriptResolver;
|
|
55
|
-
/** Governs the `tools.*` calls hook scripts make and carries the live per-session context. */
|
|
52
|
+
/** Governs every call made outside the tool node — scripts', automated states' — and carries the live per-session context. */
|
|
56
53
|
ptcGateway?: PtcToolGateway;
|
|
57
54
|
/** Runs delegated machines. Omitted, a delegation call falls through to the tool's own body. */
|
|
58
55
|
subWorkflows?: SubWorkflowDispatcher;
|
|
@@ -85,7 +82,7 @@ export interface WorkflowMiddlewareOptions {
|
|
|
85
82
|
}
|
|
86
83
|
/**
|
|
87
84
|
* In-graph governance for the Deep Agent: the turn boundary, per-state tool
|
|
88
|
-
* disclosure and the kernel's verdict on every call,
|
|
85
|
+
* disclosure and the kernel's verdict on every call, the automated states, the
|
|
89
86
|
* control tools, budgets, `on_error` routing, and every park's commit, closing
|
|
90
87
|
* turn and suspension.
|
|
91
88
|
*/
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { RemoveMessage } from "@langchain/core/messages";
|
|
2
2
|
import { v4 as uuidv4 } from "@langchain/core/utils/uuid";
|
|
3
3
|
import { createMiddleware } from "langchain";
|
|
4
|
-
import {
|
|
4
|
+
import { CODE_SESSION } from "../sandbox/executor.js";
|
|
5
5
|
import { createWorkflowEventEmitter } from "../core/events.js";
|
|
6
|
-
import { createControlTools } from "./control-tools.js";
|
|
6
|
+
import { createControlTools, transitionUpdate } from "./control-tools.js";
|
|
7
|
+
import { automatedNoteText, automatedOutcomeOf } from "./automated.js";
|
|
7
8
|
import { checkReturns } from "./returns-check.js";
|
|
8
9
|
import { fileGovernance, fileValueCheck } from "./file-values.js";
|
|
9
10
|
import { returnsFileIssues } from "./signature-checks.js";
|
|
10
11
|
import { skillPrefixes } from "../core/skills.js";
|
|
11
|
-
import { currentWorkflowState, isReplyOnly, pendingFailure, pendingParkOf, readRunUsage, readRaised, readVariables, readWorkflowState, WORKFLOW_STATUSES, workflowStateSchema, } from "./state.js";
|
|
12
|
-
import {
|
|
12
|
+
import { currentWorkflowState, isReplyOnly, mergeVariables, NO_PENDING_FAILURE, pendingFailure, pendingParkOf, readRunUsage, readRaised, readVariables, readWorkflowState, WORKFLOW_STATUSES, workflowStateSchema, } from "./state.js";
|
|
13
|
+
import { sessionScopeFrom } from "../sessions/scope.js";
|
|
13
14
|
import { contentToString, isAiMessage, isRuntimeNote, lastMessageIsHuman, runtimeNote } from "../core/messages.js";
|
|
14
15
|
import { NO_MOUNTS } from "../core/mounts.js";
|
|
15
16
|
import { addSummaries, extractUsage, summarizeUsage } from "../core/usage.js";
|
|
16
17
|
import { routeFailure } from "./on-error.js";
|
|
17
|
-
import { servePark, suspendIfParked } from "./parks.js";
|
|
18
|
+
import { closingTurn, servePark, suspendIfParked } from "./parks.js";
|
|
18
19
|
import { openTurn } from "./turn-boundary.js";
|
|
19
|
-
import {
|
|
20
|
-
import { visitStart } from "./visits.js";
|
|
20
|
+
import { budgetExhaustedReason, buildRunnableConfig, createGovernance, } from "./governance.js";
|
|
21
21
|
export { resolveToolName } from "./governance.js";
|
|
22
22
|
/**
|
|
23
23
|
* The id a message will be committed under, assigning one when it arrived
|
|
@@ -45,23 +45,13 @@ function callsTools(message) {
|
|
|
45
45
|
const asHookResult = (update) => update;
|
|
46
46
|
/**
|
|
47
47
|
* In-graph governance for the Deep Agent: the turn boundary, per-state tool
|
|
48
|
-
* disclosure and the kernel's verdict on every call,
|
|
48
|
+
* disclosure and the kernel's verdict on every call, the automated states, the
|
|
49
49
|
* control tools, budgets, `on_error` routing, and every park's commit, closing
|
|
50
50
|
* turn and suspension.
|
|
51
51
|
*/
|
|
52
52
|
export function createWorkflowInstrumentation(opts) {
|
|
53
|
-
const { machine,
|
|
53
|
+
const { machine, ptcGateway, subWorkflows, onEvent, pricing, stateModels } = opts;
|
|
54
54
|
const emit = createWorkflowEventEmitter(onEvent);
|
|
55
|
-
const lifecycleHooks = machine.lifecycleHooks();
|
|
56
|
-
const lifecycle = new LifecycleRunner(machine, opts.hookExecutor ?? executor, rubrics, ptcNames, opts.hookExecutors, onEvent, ...(opts.resolveHookScript ? [{ resolveScript: opts.resolveHookScript }] : []));
|
|
57
|
-
if (Object.keys(lifecycleHooks).length > 0) {
|
|
58
|
-
emit({
|
|
59
|
-
type: "hooks-summary",
|
|
60
|
-
summary: Object.entries(lifecycleHooks)
|
|
61
|
-
.map(([s, l]) => `${s}(${[l.before && "before", l.after && "after"].filter(Boolean).join("+")})`)
|
|
62
|
-
.join(", "),
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
55
|
const sessionIdOf = (runtime) => sessionScopeFrom(runtime).sessionId;
|
|
66
56
|
const configOf = (runtime) => buildRunnableConfig((runtime ?? {}));
|
|
67
57
|
// The `file` type's runtime checks: a listing of the bound session's workspace
|
|
@@ -81,7 +71,6 @@ export function createWorkflowInstrumentation(opts) {
|
|
|
81
71
|
const governance = createGovernance({
|
|
82
72
|
machine,
|
|
83
73
|
emit,
|
|
84
|
-
lifecycle,
|
|
85
74
|
policyRules: opts.policyRules ?? [],
|
|
86
75
|
mountPrefixes: opts.mountPrefixes ?? NO_MOUNTS,
|
|
87
76
|
skills: opts.skills ?? new Map(),
|
|
@@ -91,6 +80,12 @@ export function createWorkflowInstrumentation(opts) {
|
|
|
91
80
|
...(subWorkflows ? { subWorkflows } : {}),
|
|
92
81
|
child: opts.child === true,
|
|
93
82
|
...(files ? { files } : {}),
|
|
83
|
+
automated: {
|
|
84
|
+
codeExecutor: opts.codeExecutor,
|
|
85
|
+
resolveScript: opts.resolveCodeScript,
|
|
86
|
+
graderModel: opts.graderModel,
|
|
87
|
+
...(pricing ? { pricing } : {}),
|
|
88
|
+
},
|
|
94
89
|
sessionIdOf,
|
|
95
90
|
});
|
|
96
91
|
const parkCtx = {
|
|
@@ -101,8 +96,6 @@ export function createWorkflowInstrumentation(opts) {
|
|
|
101
96
|
configOf,
|
|
102
97
|
};
|
|
103
98
|
const failureCtx = { machine, emit, sessionIdOf };
|
|
104
|
-
/** The model calls `invocation` has made so far, across every state. */
|
|
105
|
-
const turnCallsOf = (fields, invocation) => fields.turnCalls?.invocation === invocation ? fields.turnCalls : { invocation, count: 0 };
|
|
106
99
|
/** The state's `budget.maxTurns`, and the model calls this visit has made against it. */
|
|
107
100
|
const turnBudget = (fields, workflowState) => ({
|
|
108
101
|
maxTurns: machine.spec.states[workflowState]?.budget?.maxTurns,
|
|
@@ -150,9 +143,9 @@ export function createWorkflowInstrumentation(opts) {
|
|
|
150
143
|
hook: (state, runtime) => {
|
|
151
144
|
const fields = readWorkflowState(state);
|
|
152
145
|
const workflowState = currentWorkflowState(state, machine.entry);
|
|
153
|
-
// The
|
|
154
|
-
//
|
|
155
|
-
//
|
|
146
|
+
// The session raised in the step just serviced: it is over. Ended here,
|
|
147
|
+
// before any model call, so nothing after the model runs either — no
|
|
148
|
+
// `on_error` route, no `returns` check.
|
|
156
149
|
if (fields.status === WORKFLOW_STATUSES.failed && readRaised(state)) {
|
|
157
150
|
return asHookResult({ jumpTo: "end" });
|
|
158
151
|
}
|
|
@@ -165,19 +158,10 @@ export function createWorkflowInstrumentation(opts) {
|
|
|
165
158
|
if (isReplyOnly(state)) {
|
|
166
159
|
return asHookResult(lastMessageIsHuman(state.messages ?? []) ? undefined : { jumpTo: "end" });
|
|
167
160
|
}
|
|
168
|
-
//
|
|
169
|
-
//
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
const calls = invocation === undefined ? undefined : turnCallsOf(fields, invocation);
|
|
173
|
-
if (calls && !calls.exhausted && calls.count + 1 > machine.maxModelCalls) {
|
|
174
|
-
const routed = routeFailure(failureCtx, state, runtime, workflowState, `the turn exhausted its budget (maxModelCalls: ${machine.maxModelCalls})`, "before-model");
|
|
175
|
-
routed.turnCalls = { ...calls, count: calls.count + 1, exhausted: true };
|
|
176
|
-
if (routed.workflowState)
|
|
177
|
-
routed.stateTurns = { state: routed.workflowState, count: 1 };
|
|
178
|
-
return asHookResult(routed);
|
|
179
|
-
}
|
|
180
|
-
const turnCalls = calls ? { turnCalls: { ...calls, count: calls.count + 1 } } : {};
|
|
161
|
+
// An automated state makes no call of the agent's model, so no agent turn
|
|
162
|
+
// budget applies there; a grader's own calls are bounded inside its run.
|
|
163
|
+
if (machine.isAutomatedState(workflowState))
|
|
164
|
+
return asHookResult(undefined);
|
|
181
165
|
// The exact per-state turn budget: this call would be one too many.
|
|
182
166
|
const { maxTurns, spent } = turnBudget(fields, workflowState);
|
|
183
167
|
if (maxTurns != null && spent + 1 > maxTurns) {
|
|
@@ -185,9 +169,9 @@ export function createWorkflowInstrumentation(opts) {
|
|
|
185
169
|
// The error handler's first call is the one about to be made.
|
|
186
170
|
if (routed.workflowState)
|
|
187
171
|
routed.stateTurns = { state: routed.workflowState, count: 1 };
|
|
188
|
-
return asHookResult(
|
|
172
|
+
return asHookResult(routed);
|
|
189
173
|
}
|
|
190
|
-
return asHookResult({ stateTurns: { state: workflowState, count: spent + 1 }
|
|
174
|
+
return asHookResult({ stateTurns: { state: workflowState, count: spent + 1 } });
|
|
191
175
|
},
|
|
192
176
|
},
|
|
193
177
|
wrapModelCall: governance.wrapModelCall,
|
|
@@ -200,14 +184,11 @@ export function createWorkflowInstrumentation(opts) {
|
|
|
200
184
|
const messages = state.messages ?? [];
|
|
201
185
|
const last = messages[messages.length - 1];
|
|
202
186
|
const update = {};
|
|
203
|
-
//
|
|
204
|
-
//
|
|
205
|
-
const
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
update.dispatchCount = taken;
|
|
209
|
-
};
|
|
210
|
-
commitDispatches();
|
|
187
|
+
// An automated state's calls dispatch outside the tool node, during the
|
|
188
|
+
// serviced model call, so what they took is committed here.
|
|
189
|
+
const taken = governance.dispatchCount(sessionIdOf(runtime), state);
|
|
190
|
+
if (taken > (fields.dispatchCount ?? 0))
|
|
191
|
+
update.dispatchCount = taken;
|
|
211
192
|
// 1. Report the message the model just produced and what it cost. Usage is
|
|
212
193
|
// committed as the new total: the channel is last-value and this hook is its one writer.
|
|
213
194
|
if (last && isAiMessage(last) && !isRuntimeNote(last)) {
|
|
@@ -241,21 +222,31 @@ export function createWorkflowInstrumentation(opts) {
|
|
|
241
222
|
return asHookResult({
|
|
242
223
|
...update,
|
|
243
224
|
...routed,
|
|
244
|
-
// The marker is removed, so the handler's visit starts after the message before it.
|
|
245
|
-
...(routed.visits ? { visits: visitStart(routed.visits[0].state, messages.slice(0, -1)) } : {}),
|
|
246
225
|
messages: [new RemoveMessage({ id: last.id }), ...(routed.messages ?? [])],
|
|
247
226
|
});
|
|
248
227
|
}
|
|
249
|
-
// 3.
|
|
250
|
-
//
|
|
251
|
-
//
|
|
252
|
-
//
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
228
|
+
// 3. An automated state ran in place of the model call: the marker leaves
|
|
229
|
+
// the transcript and its outcome is committed. A move jumps back to the
|
|
230
|
+
// model, where the next state runs; a raise ends the session; a failure
|
|
231
|
+
// routes; a terminal state's completion falls through to the checks
|
|
232
|
+
// every completing session gets.
|
|
233
|
+
const step = automatedOutcomeOf(last);
|
|
234
|
+
let completedVariables;
|
|
235
|
+
if (step && typeof last?.id === "string") {
|
|
236
|
+
const committed = commitAutomated(step, last.id, state);
|
|
237
|
+
if (step.result.kind === "failed") {
|
|
238
|
+
const routed = routeFailure(failureCtx, state, runtime, workflowState, step.result.reason, "after-model");
|
|
239
|
+
return asHookResult({
|
|
240
|
+
...update,
|
|
241
|
+
...committed,
|
|
242
|
+
...routed,
|
|
243
|
+
messages: [...(committed.messages ?? []), ...(routed.messages ?? [])],
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
if (step.result.kind !== "completed")
|
|
247
|
+
return asHookResult({ ...update, ...committed });
|
|
248
|
+
Object.assign(update, committed);
|
|
249
|
+
completedVariables = committed.variables;
|
|
259
250
|
}
|
|
260
251
|
// 4. A park's closing or answering turn was just spent.
|
|
261
252
|
const served = servePark(parkCtx, state, runtime, "after-model");
|
|
@@ -273,40 +264,19 @@ export function createWorkflowInstrumentation(opts) {
|
|
|
273
264
|
// routes once the model has finished in the failing state.
|
|
274
265
|
const failure = pendingFailure(state);
|
|
275
266
|
if (failure) {
|
|
267
|
+
const routed = routeFailure(failureCtx, state, runtime, workflowState, failure, "after-model");
|
|
276
268
|
return asHookResult({
|
|
277
269
|
...update,
|
|
278
|
-
...
|
|
270
|
+
...routed,
|
|
271
|
+
// A completed automated step's marker still leaves the transcript.
|
|
272
|
+
messages: [...(update.messages ?? []), ...(routed.messages ?? [])],
|
|
279
273
|
});
|
|
280
274
|
}
|
|
281
|
-
// A terminal state has no `archmax_advance` out of it, so its `after` hook
|
|
282
|
-
// runs at completion: `correct` hands the state back with a note, a
|
|
283
|
-
// terminal failure routes through `on_error`.
|
|
284
|
-
if (machine.isTerminal(workflowState) && lifecycleHooks[workflowState]?.after?.length) {
|
|
285
|
-
const ctx = governance.lifecycleCtx(sessionIdOf(runtime), state, runtime.signal);
|
|
286
|
-
const reject = await lifecycle.runPhase(workflowState, "after", ctx, undefined, true);
|
|
287
|
-
commitDispatches();
|
|
288
|
-
if (reject) {
|
|
289
|
-
if (reject.terminal) {
|
|
290
|
-
return asHookResult({
|
|
291
|
-
...update,
|
|
292
|
-
iterations: ctx.iterations,
|
|
293
|
-
...routeFailure(failureCtx, state, runtime, workflowState, reject.reason, "after-model"),
|
|
294
|
-
});
|
|
295
|
-
}
|
|
296
|
-
return asHookResult({
|
|
297
|
-
...update,
|
|
298
|
-
messages: runtimeNote("after", `[after] The '${workflowState}' completion check did not pass: ${reject.reason}. ` +
|
|
299
|
-
`Revise your work and produce a corrected final response.`),
|
|
300
|
-
iterations: ctx.iterations,
|
|
301
|
-
jumpTo: "model",
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
update.iterations = ctx.iterations;
|
|
305
|
-
}
|
|
306
275
|
// The exit half of the trigger's signature, checked where a run completes —
|
|
307
276
|
// never at a park, and never handed back: a child settles on what it set
|
|
308
277
|
// (its caller gets a note naming the rest); anything else short of it is rejected.
|
|
309
|
-
|
|
278
|
+
// A terminal automated state's writes count: they land with this update.
|
|
279
|
+
const store = completedVariables ? mergeVariables(readVariables(state), completedVariables) : readVariables(state);
|
|
310
280
|
const returns = checkReturns(machine, {
|
|
311
281
|
trigger: fields.trigger?.id,
|
|
312
282
|
state: workflowState,
|
|
@@ -323,24 +293,68 @@ export function createWorkflowInstrumentation(opts) {
|
|
|
323
293
|
return asHookResult({ ...update, status: WORKFLOW_STATUSES.completed });
|
|
324
294
|
},
|
|
325
295
|
},
|
|
326
|
-
//
|
|
327
|
-
afterAgent: (
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
return undefined;
|
|
331
|
-
return { beforeDone: { ...(readWorkflowState(state).beforeDone ?? {}), ...staged } };
|
|
296
|
+
// The turn is over: drop the session's per-turn context.
|
|
297
|
+
afterAgent: (_state, runtime) => {
|
|
298
|
+
governance.endTurn(sessionIdOf(runtime));
|
|
299
|
+
return undefined;
|
|
332
300
|
},
|
|
333
301
|
});
|
|
302
|
+
/**
|
|
303
|
+
* The update an automated step's outcome commits, beside the marker's removal:
|
|
304
|
+
* its variable writes, its sub-run trail steps, its usage, and — for a move or
|
|
305
|
+
* a raise — the move itself or the failure record, with the runtime note the
|
|
306
|
+
* next state reads. A move jumps back to the model, which skips the
|
|
307
|
+
* `beforeModel` site, so what that site would do for the next call is done
|
|
308
|
+
* here: into a human state the park opens straight in its closing turn, and
|
|
309
|
+
* into an agent state the call is counted as the state's first.
|
|
310
|
+
*/
|
|
311
|
+
function commitAutomated(step, markerId, state) {
|
|
312
|
+
const note = automatedNoteText(step);
|
|
313
|
+
const notes = note ? runtimeNote(step.type, note) : [];
|
|
314
|
+
const committed = {
|
|
315
|
+
messages: [new RemoveMessage({ id: markerId }), ...notes],
|
|
316
|
+
...(step.variables ? { variables: step.variables } : {}),
|
|
317
|
+
...(step.usage ? { usage: addSummaries(readRunUsage(state), step.usage) } : {}),
|
|
318
|
+
...(step.trail?.length ? { auditTrail: step.trail } : {}),
|
|
319
|
+
};
|
|
320
|
+
const { result } = step;
|
|
321
|
+
if (result.kind === "raised") {
|
|
322
|
+
return {
|
|
323
|
+
...committed,
|
|
324
|
+
raised: { code: result.code, reason: result.reason, state: step.state },
|
|
325
|
+
status: WORKFLOW_STATUSES.failed,
|
|
326
|
+
...NO_PENDING_FAILURE,
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
if (result.kind !== "advanced")
|
|
330
|
+
return committed;
|
|
331
|
+
const { update: moved, park } = transitionUpdate(machine, state, {
|
|
332
|
+
to: result.to,
|
|
333
|
+
kind: step.type,
|
|
334
|
+
reason: result.reason,
|
|
335
|
+
...(result.evidence ? { evidence: result.evidence } : {}),
|
|
336
|
+
});
|
|
337
|
+
const landed = {
|
|
338
|
+
...committed,
|
|
339
|
+
...moved,
|
|
340
|
+
auditTrail: [...(committed.auditTrail ?? []), ...(moved.auditTrail ?? [])],
|
|
341
|
+
};
|
|
342
|
+
if (park)
|
|
343
|
+
return { ...landed, ...closingTurn(), jumpTo: "model" };
|
|
344
|
+
if (machine.isAutomatedState(result.to))
|
|
345
|
+
return { ...landed, jumpTo: "model" };
|
|
346
|
+
// The agent's call about to be made is its state's first.
|
|
347
|
+
return { ...landed, stateTurns: { state: result.to, count: 1 }, jumpTo: "model" };
|
|
348
|
+
}
|
|
334
349
|
return {
|
|
335
350
|
parkMiddleware,
|
|
336
351
|
middleware,
|
|
337
352
|
tools: createControlTools({ child: opts.child === true }),
|
|
338
|
-
lifecycle,
|
|
339
353
|
dispose: (sessionId) => {
|
|
340
354
|
// Requested per session, so it sweeps the session and every sub-run session nested beneath it.
|
|
341
355
|
for (const scope of new Set([...governance.release(sessionId), sessionId])) {
|
|
342
356
|
ptcGateway?.release(scope);
|
|
343
|
-
|
|
357
|
+
opts.codeExecutor.dispose(scope, CODE_SESSION);
|
|
344
358
|
}
|
|
345
359
|
},
|
|
346
360
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/workflow/middleware.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAI7C,OAAO,EAAE,eAAe,EAA8C,MAAM,wBAAwB,CAAC;AAIrG,OAAO,EAAE,0BAA0B,EAA6B,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GAGpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEnH,OAAO,EAAE,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAoB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAqElD;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,GAA4B;IACtD,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;IAClB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;IAC1B,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC;IAClB,sDAAsD;IACtD,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC;IAC7B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAG,MAAkC,CAAC,EAAE,GAAG,QAAQ,CAAC;IAC5F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,mFAAmF;AACnF,SAAS,UAAU,CAAC,OAAgB;IAClC,MAAM,KAAK,GAAI,OAAkD,EAAE,UAAU,CAAC;IAC9E,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,8EAA8E;AAC9E,MAAM,YAAY,GAAG,CAAC,MAAkC,EAAE,EAAE,CAAC,MAAe,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAA+B;IAC3E,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC3H,MAAM,IAAI,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,eAAe,CACnC,OAAO,EACP,IAAI,CAAC,YAAY,IAAI,QAAQ,EAC7B,OAAO,EACP,QAAQ,EACR,IAAI,CAAC,aAAa,EAClB,OAAO,EACP,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/E,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;iBACpC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;iBAChG,IAAI,CAAC,IAAI,CAAC;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAU,EAAE,CAC/C,gBAAgB,CAAC,OAAiE,CAAC,CAAC,SAAS,CAAC;IAChG,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAkB,EAAE,CACpD,mBAAmB,CAAC,CAAC,OAAO,IAAI,EAAE,CAA+C,CAAC,CAAC;IAErF,+EAA+E;IAC/E,iEAAiE;IACjE,MAAM,OAAO,GAA+B,IAAI,CAAC,SAAS;QACxD,CAAC,CAAC,cAAc,CAAC;YACb,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,SAAS;YAC9C,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS;SACrB,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,KAAK,GAAG,OAAO;QACnB,CAAC,CAAC,CAAC,KAAa,EAAE,SAAwB,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC;QACxF,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAClC,OAAO;QACP,IAAI;QACJ,SAAS;QACT,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,SAAS;QAC9C,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,EAAE;QAChC,OAAO,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;QACjC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI;QAC1B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,WAAW;KACZ,CAAC,CAAC;IACH,MAAM,OAAO,GAAgB;QAC3B,OAAO;QACP,IAAI;QACJ,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,WAAW;QACX,QAAQ;KACT,CAAC;IACF,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAClD,wEAAwE;IACxE,MAAM,WAAW,GAAG,CAAC,MAA2B,EAAE,UAAkB,EAAE,EAAE,CACtE,MAAM,CAAC,SAAS,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC5F,yFAAyF;IACzF,MAAM,UAAU,GAAG,CAAC,MAA2B,EAAE,aAAqB,EAAE,EAAE,CAAC,CAAC;QAC1E,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ;QAC9D,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAChF,CAAC,CAAC;IACH,MAAM,OAAO,GAAG;QACd,OAAO;QACP,IAAI;QACJ,OAAO;QACP,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,cAAc,GAAG,gBAAgB,CAAC;QACtC,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,KAAK,CAAC;YAClB,IAAI,EAAE,KAAK,EAAE,KAA2B,EAAE,OAAyB,EAAE,EAAE,CACrE,YAAY,CAAC,MAAM,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;SAC/E;QACD,UAAU,EAAE;YACV,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,KAAK,EAAE,KAA2B,EAAE,OAAyB,EAAE,EAAE,CACrE,YAAY,CAAC,MAAM,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;SAC9E;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAClC,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,mBAAmB;QAEhC,yDAAyD;QACzD,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,KAAK,CAAC;YAClB,IAAI,EAAE,KAAK,EAAE,KAA2B,EAAE,OAAyB,EAAE,EAAE,CACrE,YAAY,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,OAAqD,CAAC,CAAC;SACtG;QAED,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,KAAK,CAAC;YAClB,IAAI,EAAE,CAAC,KAA2B,EAAE,OAAyB,EAAE,EAAE;gBAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBAEjE,yEAAyE;gBACzE,wEAAwE;gBACxE,qEAAqE;gBACrE,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpE,OAAO,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzC,CAAC;gBAED,4FAA4F;gBAC5F,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;gBAClE,IAAI,MAAM;oBAAE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;gBAExC,uEAAuE;gBACvE,4CAA4C;gBAC5C,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChG,CAAC;gBAED,+EAA+E;gBAC/E,gFAAgF;gBAChF,6EAA6E;gBAC7E,MAAM,UAAU,GAAG,YAAY,CAAC,OAAyB,CAAC,CAAC;gBAC3D,MAAM,KAAK,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACrF,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;oBACzE,MAAM,MAAM,GAAG,YAAY,CACzB,UAAU,EACV,KAAK,EACL,OAAO,EACP,aAAa,EACb,iDAAiD,OAAO,CAAC,aAAa,GAAG,EACzE,cAAc,CACf,CAAC;oBACF,MAAM,CAAC,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBACzE,IAAI,MAAM,CAAC,aAAa;wBAAE,MAAM,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;oBACxF,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEnF,oEAAoE;gBACpE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAC9D,IAAI,QAAQ,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;oBAC7C,MAAM,MAAM,GAAG,YAAY,CACzB,UAAU,EACV,KAAK,EACL,OAAO,EACP,aAAa,EACb,UAAU,aAAa,0CAA0C,QAAQ,GAAG,EAC5E,cAAc,CACf,CAAC;oBACF,8DAA8D;oBAC9D,IAAI,MAAM,CAAC,aAAa;wBAAE,MAAM,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;oBACxF,OAAO,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YAChG,CAAC;SACF;QAED,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,YAAY,EAAE,UAAU,CAAC,YAAY;QAErC,UAAU,EAAE;YACV,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,KAAK,EAAE,KAA2B,EAAE,OAAyB,EAAE,EAAE;gBACrE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjE,MAAM,QAAQ,GAAc,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAwC,CAAC;gBAClF,MAAM,MAAM,GAAmB,EAAE,CAAC;gBAClC,8EAA8E;gBAC9E,4EAA4E;gBAC5E,MAAM,gBAAgB,GAAG,GAAG,EAAE;oBAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;oBACpE,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;wBAAE,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;gBACxE,CAAC,CAAC;gBACF,gBAAgB,EAAE,CAAC;gBAEnB,2EAA2E;gBAC3E,4FAA4F;gBAC5F,IAAI,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClD,IAAI,IAAI;wBAAE,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxG,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,SAAS,EAAE,CAAC;wBACd,kEAAkE;wBAClE,iEAAiE;wBACjE,qEAAqE;wBACrE,oEAAoE;wBACpE,mEAAmE;wBACnE,mEAAmE;wBACnE,8CAA8C;wBAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,IAAI,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;wBACrE,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;wBAClE,IAAI,CAAC;4BACH,IAAI,EAAE,aAAa;4BACnB,KAAK,EAAE,aAAa;4BACpB,GAAG,OAAO;4BACV,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACvC,CAAC,CAAC;wBACH,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBAED,yGAAyG;gBACzG,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;oBACjG,OAAO,YAAY,CAAC;wBAClB,GAAG,MAAM;wBACT,GAAG,MAAM;wBACT,oFAAoF;wBACpF,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChG,QAAQ,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;qBAC3E,CAAC,CAAC;gBACL,CAAC;gBAED,yEAAyE;gBACzE,0EAA0E;gBAC1E,yEAAyE;gBACzE,wEAAwE;gBACxE,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,OAAO,YAAY,CAAC;wBAClB,GAAG,MAAM;wBACT,GAAG,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC;qBACxF,CAAC,CAAC;gBACL,CAAC;gBAED,wDAAwD;gBACxD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;gBACjE,IAAI,MAAM;oBAAE,OAAO,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;gBAC1D,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;gBAED,6GAA6G;gBAC7G,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1E,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;gBAED,2EAA2E;gBAC3E,yEAAyE;gBACzE,2DAA2D;gBAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,YAAY,CAAC;wBAClB,GAAG,MAAM;wBACT,GAAG,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC;qBACnF,CAAC,CAAC;gBACL,CAAC;gBAED,2EAA2E;gBAC3E,oEAAoE;gBACpE,8CAA8C;gBAC9C,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBACtF,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBACjF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBACtF,gBAAgB,EAAE,CAAC;oBACnB,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;4BACpB,OAAO,YAAY,CAAC;gCAClB,GAAG,MAAM;gCACT,UAAU,EAAE,GAAG,CAAC,UAAU;gCAC1B,GAAG,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;6BACzF,CAAC,CAAC;wBACL,CAAC;wBACD,OAAO,YAAY,CAAC;4BAClB,GAAG,MAAM;4BACT,QAAQ,EAAE,WAAW,CACnB,OAAO,EACP,gBAAgB,aAAa,oCAAoC,MAAM,CAAC,MAAM,IAAI;gCAChF,0DAA0D,CAC7D;4BACD,UAAU,EAAE,GAAG,CAAC,UAAU;4BAC1B,MAAM,EAAE,OAAO;yBAChB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;gBACrC,CAAC;gBAED,4EAA4E;gBAC5E,yEAAyE;gBACzE,mFAAmF;gBACnF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE;oBACpC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE;oBAC3B,KAAK,EAAE,aAAa;oBACpB,KAAK;oBACL,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI;oBAC1B,UAAU,EAAE,KAAK;wBACf,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;wBAC1F,CAAC,CAAC,EAAE;iBACP,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACjC,OAAO,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnG,CAAC;gBAED,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBACzE,OAAO,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;YAC1E,CAAC;SACF;QAED,qEAAqE;QACrE,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC9B,OAAO,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;QACvF,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,cAAc;QACd,UAAU;QACV,KAAK,EAAE,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACzD,SAAS;QACT,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE;YACrB,+FAA+F;YAC/F,KAAK,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC3E,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3B,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/workflow/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a move of the session is narrated on the event stream — one shape for
|
|
3
|
+
* every mover: the session's agent, a grader state, a code state, a reset.
|
|
4
|
+
*/
|
|
5
|
+
import type { WorkflowEventEmitter } from "../core/events.js";
|
|
6
|
+
/** A move along a declared edge: `advance`, then the state left and the state entered, then the park it opened. */
|
|
7
|
+
export declare function reportAdvance(emit: WorkflowEventEmitter, sessionId: string, moved: {
|
|
8
|
+
from: string;
|
|
9
|
+
to: string;
|
|
10
|
+
reason?: string;
|
|
11
|
+
/** The `archmax_advance` call that made the move, when one did. */
|
|
12
|
+
callId?: string;
|
|
13
|
+
/** The target is a human state, so the move parked the session for a decision. */
|
|
14
|
+
parks?: boolean;
|
|
15
|
+
}): void;
|
|
16
|
+
/** The state left, the state entered, and — into a human state — the park it opened. */
|
|
17
|
+
export declare function reportMove(emit: WorkflowEventEmitter, sessionId: string, moved: {
|
|
18
|
+
from: string;
|
|
19
|
+
to: string;
|
|
20
|
+
parks?: boolean;
|
|
21
|
+
}): void;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** A move along a declared edge: `advance`, then the state left and the state entered, then the park it opened. */
|
|
2
|
+
export function reportAdvance(emit, sessionId, moved) {
|
|
3
|
+
const reason = moved.reason?.trim();
|
|
4
|
+
emit({
|
|
5
|
+
type: "advance",
|
|
6
|
+
from: moved.from,
|
|
7
|
+
to: moved.to,
|
|
8
|
+
...(reason ? { reason } : {}),
|
|
9
|
+
...(moved.callId ? { callId: moved.callId } : {}),
|
|
10
|
+
});
|
|
11
|
+
reportMove(emit, sessionId, moved);
|
|
12
|
+
}
|
|
13
|
+
/** The state left, the state entered, and — into a human state — the park it opened. */
|
|
14
|
+
export function reportMove(emit, sessionId, moved) {
|
|
15
|
+
emit({ type: "state-leave", state: moved.from, next: moved.to });
|
|
16
|
+
emit({ type: "state-enter", state: moved.to });
|
|
17
|
+
if (moved.parks)
|
|
18
|
+
emit({ type: "parked", state: moved.to, sessionId, awaiting: "decision" });
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=move-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"move-events.js","sourceRoot":"","sources":["../../src/workflow/move-events.ts"],"names":[],"mappings":"AAMA,mHAAmH;AACnH,MAAM,UAAU,aAAa,CAC3B,IAA0B,EAC1B,SAAiB,EACjB,KAQC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,UAAU,CACxB,IAA0B,EAC1B,SAAiB,EACjB,KAAoD;IAEpD,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,KAAK;QAAE,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9F,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { runtimeNote } from "../core/messages.js";
|
|
2
2
|
import { decisionRecordFor } from "./parks.js";
|
|
3
3
|
import { NO_PENDING_FAILURE, readWorkflowState, WORKFLOW_STATUSES, } from "./state.js";
|
|
4
|
-
import { messagesIn, visitStart } from "./visits.js";
|
|
5
4
|
/**
|
|
6
5
|
* The update that settles a failed state. With an `on_error` target: the note,
|
|
7
6
|
* the new position, an `on_error` trail step, every park record cleared, and —
|
|
@@ -36,7 +35,6 @@ export function routeFailure(ctx, state, runtime, from, reason, site) {
|
|
|
36
35
|
auditTrail: [
|
|
37
36
|
{ to: errorTarget, kind: "on_error", reason, ts: Date.now() },
|
|
38
37
|
],
|
|
39
|
-
visits: visitStart(errorTarget, messagesIn(state)),
|
|
40
38
|
...(site === "after-model" ? { jumpTo: "model" } : {}),
|
|
41
39
|
};
|
|
42
40
|
if (!ctx.machine.isHumanState(errorTarget))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"on-error.js","sourceRoot":"","sources":["../../src/workflow/on-error.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,GAGlB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"on-error.js","sourceRoot":"","sources":["../../src/workflow/on-error.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,GAGlB,MAAM,YAAY,CAAC;AAYpB;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,GAA0B,EAC1B,KAAc,EACd,OAAgB,EAChB,IAAY,EACZ,MAAc,EACd,IAAc;IAEd,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;YACL,GAAG,kBAAkB;YACrB,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,iBAAiB,CAAC,QAAQ;YAClC,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/E,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAClE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAmB;QAC7B,QAAQ,EAAE,WAAW,CACnB,OAAO,EACP,gBAAgB,IAAI,mBAAmB,MAAM,qBAAqB,WAAW,kBAAkB,CAChG;QACD,aAAa,EAAE,WAAW;QAC1B,GAAG,kBAAkB;QACrB,MAAM,EAAE,iBAAiB,CAAC,OAAO;QACjC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,IAAI;QACxB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE;YACV,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAsB;SAClF;QACD,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1D,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9D,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC;QACnC,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAC;IACH,OAAO;QACL,GAAG,MAAM;QACT,eAAe,EAAE,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC;QACjE,aAAa,EAAE,GAAG;QAClB,MAAM,EAAE,iBAAiB,CAAC,gBAAgB;QAC1C,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
|
package/dist/workflow/parks.d.ts
CHANGED
|
@@ -14,8 +14,9 @@ export declare function decisionRecordFor(machine: WorkflowMachine, state: strin
|
|
|
14
14
|
export declare function inputRecordFor(machine: WorkflowMachine, state: string, reason: string, resumeAt?: string): PendingInput;
|
|
15
15
|
/**
|
|
16
16
|
* What a reply-only turn is told. Four shapes of park reach this — handing the
|
|
17
|
-
* run to a person, being routed to one by a decision
|
|
18
|
-
* from outside, and answering someone while a person
|
|
17
|
+
* run to a person, being routed to one (by a decision or an automated state),
|
|
18
|
+
* waiting for something from outside, and answering someone while a person
|
|
19
|
+
* decides — each with its
|
|
19
20
|
* own first sentence. The last paragraph is the same in all: it is what stands
|
|
20
21
|
* between a parked run and a model that would rather keep working.
|
|
21
22
|
*/
|
|
@@ -30,6 +31,12 @@ export interface ParkContext {
|
|
|
30
31
|
/** The runnable config a hook's runtime stands for, for a child's resume. */
|
|
31
32
|
configOf(runtime: unknown): RunnableConfig;
|
|
32
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* The update that starts a closing turn: one reply-only model call, after which
|
|
36
|
+
* the next hook site suspends. Applied directly where the park opens on a jump
|
|
37
|
+
* to the model, which skips the `beforeModel` site that would otherwise start it.
|
|
38
|
+
*/
|
|
39
|
+
export declare function closingTurn(): WorkflowUpdate;
|
|
33
40
|
/**
|
|
34
41
|
* Move a park along, deterministically on state. Before the model: a record in
|
|
35
42
|
* phase `closing` gets its closing turn; a delegated child that parked becomes
|