@pasko70/pibo 3.2.7 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-runtime/capabilities.js +5 -0
- package/dist/agent-runtime/contract.js +2 -0
- package/dist/agent-runtime/routed-session.js +68 -11
- package/dist/agent-runtimes/codex-native/adapter.js +4 -1
- package/dist/agent-runtimes/codex-native/process.js +1 -1
- package/dist/agent-runtimes/codex-native/protocol-version.js +6 -6
- package/dist/agent-runtimes/codex-native/thread.js +26 -4
- package/dist/agent-runtimes/omp/adapter.js +1 -0
- package/dist/agent-runtimes/omp/process.js +23 -3
- package/dist/agent-runtimes/omp/protocol-version.js +2 -0
- package/dist/agent-runtimes/pi/adapter.js +5 -1
- package/dist/agent-runtimes/pi/model-catalog.js +2 -2
- package/dist/agent-runtimes/pi/routed-session.js +53 -5
- package/dist/agent-runtimes/pi/runtime.js +6 -3
- package/dist/apps/chat/chat-api-routes.js +12 -38
- package/dist/apps/chat/chat-request-normalizers.js +15 -50
- package/dist/apps/chat/data/legacy-project-migration.js +492 -0
- package/dist/apps/chat/data/room-service.js +2 -2
- package/dist/apps/chat/data/workflow-session-model.js +1 -0
- package/dist/apps/chat/data/workflow-session-service.js +352 -0
- package/dist/apps/chat/rooms.js +1 -1
- package/dist/apps/chat/session-metadata.js +30 -0
- package/dist/apps/chat/trace.js +15 -2
- package/dist/apps/chat/types/rooms.js +30 -0
- package/dist/apps/chat/web-app.js +355 -651
- package/dist/apps/chat/workflow-catalog.js +18 -18
- package/dist/apps/chat/{project-workflow-human-actions.js → workflow-human-actions.js} +14 -14
- package/dist/apps/chat/workflow-manual-trigger-runtime.js +5 -1
- package/dist/apps/chat/workflow-persistence.js +20 -28
- package/dist/apps/chat/{project-workflow-sessions.js → workflow-sessions.js} +18 -17
- package/dist/apps/chat-ui/assets/{dist-ENXYFYda.js → dist-AhtdAETR.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-CGgUuVB6.js → dist-Bk_L1qbJ.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-DG6T1maU.js → dist-Dyp6sLQn.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-CFtZTGHa.js → dist-jVaiGXFD.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-BikaGikn.js → dist-t25moyJS.js} +1 -1
- package/dist/apps/chat-ui/assets/index-CZjNw-aK.js +228 -0
- package/dist/apps/chat-ui/assets/index-CcEjFITM.css +1 -0
- package/dist/apps/chat-ui/index.html +2 -2
- package/dist/apps/chat-vscode-web/assets/index-Spj6M0tn.js +43 -0
- package/dist/apps/chat-vscode-web/index.html +1 -1
- package/dist/compute/pool/cli.js +1 -1
- package/dist/compute/pool/seeds.js +2 -3
- package/dist/config/config.js +1 -1
- package/dist/core/session-router.js +19 -10
- package/dist/debug/agents.js +9 -3
- package/dist/plugins/builtin.js +2 -0
- package/dist/plugins/registry.js +1 -0
- package/dist/previews/cli.js +154 -79
- package/dist/previews/compute-worker.js +37 -0
- package/dist/previews/config.js +2 -1
- package/dist/previews/migrations/session-ownership.js +7 -0
- package/dist/previews/proxy.js +4 -2
- package/dist/previews/public-setup.js +108 -0
- package/dist/previews/store.js +20 -13
- package/dist/previews/web-app.js +12 -2
- package/dist/providers/openai-gpt56.js +41 -3
- package/dist/sessions/workflow-session-kind.js +0 -3
- package/dist/subagents/context.js +2 -2
- package/dist/subagents/observation-query.js +49 -6
- package/dist/subagents/observation-text-regex.js +124 -0
- package/dist/subagents/tool.js +3 -2
- package/dist/tools/hashline.js +64 -0
- package/npm-shrinkwrap.json +786 -284
- package/package.json +11 -6
- package/packages/workflows/README.md +21 -0
- package/packages/workflows/dist/api/index.d.ts +48 -0
- package/packages/workflows/dist/api/index.d.ts.map +1 -0
- package/packages/workflows/dist/api/index.js +96 -0
- package/packages/workflows/dist/api/index.js.map +1 -0
- package/packages/workflows/dist/definition-hash.d.ts +4 -0
- package/packages/workflows/dist/definition-hash.d.ts.map +1 -0
- package/packages/workflows/dist/definition-hash.js +27 -0
- package/packages/workflows/dist/definition-hash.js.map +1 -0
- package/packages/workflows/dist/fixtures/index.d.ts +39 -0
- package/packages/workflows/dist/fixtures/index.d.ts.map +1 -0
- package/packages/workflows/dist/fixtures/index.js +608 -0
- package/packages/workflows/dist/fixtures/index.js.map +1 -0
- package/packages/workflows/dist/index.d.ts +16 -0
- package/packages/workflows/dist/index.d.ts.map +1 -0
- package/packages/workflows/dist/index.js +10 -0
- package/packages/workflows/dist/index.js.map +1 -0
- package/packages/workflows/dist/inspection/index.d.ts +47 -0
- package/packages/workflows/dist/inspection/index.d.ts.map +1 -0
- package/packages/workflows/dist/inspection/index.js +131 -0
- package/packages/workflows/dist/inspection/index.js.map +1 -0
- package/packages/workflows/dist/registry/index.d.ts +30 -0
- package/packages/workflows/dist/registry/index.d.ts.map +1 -0
- package/packages/workflows/dist/registry/index.js +161 -0
- package/packages/workflows/dist/registry/index.js.map +1 -0
- package/packages/workflows/dist/runtime/adapter-node.d.ts +28 -0
- package/packages/workflows/dist/runtime/adapter-node.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/adapter-node.js +172 -0
- package/packages/workflows/dist/runtime/adapter-node.js.map +1 -0
- package/packages/workflows/dist/runtime/agent-node.d.ts +32 -0
- package/packages/workflows/dist/runtime/agent-node.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/agent-node.js +231 -0
- package/packages/workflows/dist/runtime/agent-node.js.map +1 -0
- package/packages/workflows/dist/runtime/agent-runtime.d.ts +25 -0
- package/packages/workflows/dist/runtime/agent-runtime.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/agent-runtime.js +111 -0
- package/packages/workflows/dist/runtime/agent-runtime.js.map +1 -0
- package/packages/workflows/dist/runtime/code-node.d.ts +31 -0
- package/packages/workflows/dist/runtime/code-node.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/code-node.js +223 -0
- package/packages/workflows/dist/runtime/code-node.js.map +1 -0
- package/packages/workflows/dist/runtime/dispatch-failures.d.ts +36 -0
- package/packages/workflows/dist/runtime/dispatch-failures.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/dispatch-failures.js +80 -0
- package/packages/workflows/dist/runtime/dispatch-failures.js.map +1 -0
- package/packages/workflows/dist/runtime/edge-payloads.d.ts +3 -0
- package/packages/workflows/dist/runtime/edge-payloads.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/edge-payloads.js +11 -0
- package/packages/workflows/dist/runtime/edge-payloads.js.map +1 -0
- package/packages/workflows/dist/runtime/edge-transfer.d.ts +39 -0
- package/packages/workflows/dist/runtime/edge-transfer.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/edge-transfer.js +356 -0
- package/packages/workflows/dist/runtime/edge-transfer.js.map +1 -0
- package/packages/workflows/dist/runtime/human-action.d.ts +43 -0
- package/packages/workflows/dist/runtime/human-action.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/human-action.js +231 -0
- package/packages/workflows/dist/runtime/human-action.js.map +1 -0
- package/packages/workflows/dist/runtime/human-node.d.ts +27 -0
- package/packages/workflows/dist/runtime/human-node.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/human-node.js +126 -0
- package/packages/workflows/dist/runtime/human-node.js.map +1 -0
- package/packages/workflows/dist/runtime/ids.d.ts +2 -0
- package/packages/workflows/dist/runtime/ids.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/ids.js +4 -0
- package/packages/workflows/dist/runtime/ids.js.map +1 -0
- package/packages/workflows/dist/runtime/index.d.ts +23 -0
- package/packages/workflows/dist/runtime/index.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/index.js +12 -0
- package/packages/workflows/dist/runtime/index.js.map +1 -0
- package/packages/workflows/dist/runtime/manual-trigger.d.ts +51 -0
- package/packages/workflows/dist/runtime/manual-trigger.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/manual-trigger.js +403 -0
- package/packages/workflows/dist/runtime/manual-trigger.js.map +1 -0
- package/packages/workflows/dist/runtime/nested-workflow-node.d.ts +48 -0
- package/packages/workflows/dist/runtime/nested-workflow-node.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/nested-workflow-node.js +246 -0
- package/packages/workflows/dist/runtime/nested-workflow-node.js.map +1 -0
- package/packages/workflows/dist/runtime/one-node-agent.d.ts +34 -0
- package/packages/workflows/dist/runtime/one-node-agent.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/one-node-agent.js +334 -0
- package/packages/workflows/dist/runtime/one-node-agent.js.map +1 -0
- package/packages/workflows/dist/runtime/persistence.d.ts +9 -0
- package/packages/workflows/dist/runtime/persistence.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/persistence.js +67 -0
- package/packages/workflows/dist/runtime/persistence.js.map +1 -0
- package/packages/workflows/dist/runtime/pibo-routing.d.ts +126 -0
- package/packages/workflows/dist/runtime/pibo-routing.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/pibo-routing.js +96 -0
- package/packages/workflows/dist/runtime/pibo-routing.js.map +1 -0
- package/packages/workflows/dist/runtime/prompts.d.ts +20 -0
- package/packages/workflows/dist/runtime/prompts.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/prompts.js +235 -0
- package/packages/workflows/dist/runtime/prompts.js.map +1 -0
- package/packages/workflows/dist/runtime/retry.d.ts +35 -0
- package/packages/workflows/dist/runtime/retry.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/retry.js +80 -0
- package/packages/workflows/dist/runtime/retry.js.map +1 -0
- package/packages/workflows/dist/runtime/state.d.ts +14 -0
- package/packages/workflows/dist/runtime/state.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/state.js +139 -0
- package/packages/workflows/dist/runtime/state.js.map +1 -0
- package/packages/workflows/dist/runtime/time.d.ts +6 -0
- package/packages/workflows/dist/runtime/time.d.ts.map +1 -0
- package/packages/workflows/dist/runtime/time.js +42 -0
- package/packages/workflows/dist/runtime/time.js.map +1 -0
- package/packages/workflows/dist/store/catalog-records.d.ts +18 -0
- package/packages/workflows/dist/store/catalog-records.d.ts.map +1 -0
- package/packages/workflows/dist/store/catalog-records.js +59 -0
- package/packages/workflows/dist/store/catalog-records.js.map +1 -0
- package/packages/workflows/dist/store/contracts.d.ts +149 -0
- package/packages/workflows/dist/store/contracts.d.ts.map +1 -0
- package/packages/workflows/dist/store/contracts.js +2 -0
- package/packages/workflows/dist/store/contracts.js.map +1 -0
- package/packages/workflows/dist/store/draft-writes.d.ts +7 -0
- package/packages/workflows/dist/store/draft-writes.d.ts.map +1 -0
- package/packages/workflows/dist/store/draft-writes.js +18 -0
- package/packages/workflows/dist/store/draft-writes.js.map +1 -0
- package/packages/workflows/dist/store/index.d.ts +55 -0
- package/packages/workflows/dist/store/index.d.ts.map +1 -0
- package/packages/workflows/dist/store/index.js +650 -0
- package/packages/workflows/dist/store/index.js.map +1 -0
- package/packages/workflows/dist/store/list-query.d.ts +13 -0
- package/packages/workflows/dist/store/list-query.d.ts.map +1 -0
- package/packages/workflows/dist/store/list-query.js +20 -0
- package/packages/workflows/dist/store/list-query.js.map +1 -0
- package/packages/workflows/dist/store/row-mappers.d.ts +206 -0
- package/packages/workflows/dist/store/row-mappers.d.ts.map +1 -0
- package/packages/workflows/dist/store/row-mappers.js +262 -0
- package/packages/workflows/dist/store/row-mappers.js.map +1 -0
- package/packages/workflows/dist/store/schema.d.ts +13 -0
- package/packages/workflows/dist/store/schema.d.ts.map +1 -0
- package/packages/workflows/dist/store/schema.js +458 -0
- package/packages/workflows/dist/store/schema.js.map +1 -0
- package/packages/workflows/dist/store/write-values.d.ts +18 -0
- package/packages/workflows/dist/store/write-values.d.ts.map +1 -0
- package/packages/workflows/dist/store/write-values.js +227 -0
- package/packages/workflows/dist/store/write-values.js.map +1 -0
- package/packages/workflows/dist/types/index.d.ts +1202 -0
- package/packages/workflows/dist/types/index.d.ts.map +1 -0
- package/packages/workflows/dist/types/index.js +8 -0
- package/packages/workflows/dist/types/index.js.map +1 -0
- package/packages/workflows/dist/validation/diagnostics.d.ts +27 -0
- package/packages/workflows/dist/validation/diagnostics.d.ts.map +1 -0
- package/packages/workflows/dist/validation/diagnostics.js +104 -0
- package/packages/workflows/dist/validation/diagnostics.js.map +1 -0
- package/packages/workflows/dist/validation/graph-cycles.d.ts +4 -0
- package/packages/workflows/dist/validation/graph-cycles.d.ts.map +1 -0
- package/packages/workflows/dist/validation/graph-cycles.js +130 -0
- package/packages/workflows/dist/validation/graph-cycles.js.map +1 -0
- package/packages/workflows/dist/validation/graph-edges.d.ts +5 -0
- package/packages/workflows/dist/validation/graph-edges.d.ts.map +1 -0
- package/packages/workflows/dist/validation/graph-edges.js +48 -0
- package/packages/workflows/dist/validation/graph-edges.js.map +1 -0
- package/packages/workflows/dist/validation/graph-ports.d.ts +5 -0
- package/packages/workflows/dist/validation/graph-ports.d.ts.map +1 -0
- package/packages/workflows/dist/validation/graph-ports.js +55 -0
- package/packages/workflows/dist/validation/graph-ports.js.map +1 -0
- package/packages/workflows/dist/validation/index.d.ts +18 -0
- package/packages/workflows/dist/validation/index.d.ts.map +1 -0
- package/packages/workflows/dist/validation/index.js +175 -0
- package/packages/workflows/dist/validation/index.js.map +1 -0
- package/packages/workflows/dist/validation/json-schema.d.ts +12 -0
- package/packages/workflows/dist/validation/json-schema.d.ts.map +1 -0
- package/packages/workflows/dist/validation/json-schema.js +556 -0
- package/packages/workflows/dist/validation/json-schema.js.map +1 -0
- package/packages/workflows/dist/validation/registry-refs.d.ts +21 -0
- package/packages/workflows/dist/validation/registry-refs.d.ts.map +1 -0
- package/packages/workflows/dist/validation/registry-refs.js +283 -0
- package/packages/workflows/dist/validation/registry-refs.js.map +1 -0
- package/packages/workflows/dist/validation/retry-policy.d.ts +3 -0
- package/packages/workflows/dist/validation/retry-policy.d.ts.map +1 -0
- package/packages/workflows/dist/validation/retry-policy.js +114 -0
- package/packages/workflows/dist/validation/retry-policy.js.map +1 -0
- package/packages/workflows/dist/validation/schema-declarations.d.ts +5 -0
- package/packages/workflows/dist/validation/schema-declarations.d.ts.map +1 -0
- package/packages/workflows/dist/validation/schema-declarations.js +36 -0
- package/packages/workflows/dist/validation/schema-declarations.js.map +1 -0
- package/packages/workflows/dist/validation/state-access.d.ts +4 -0
- package/packages/workflows/dist/validation/state-access.d.ts.map +1 -0
- package/packages/workflows/dist/validation/state-access.js +121 -0
- package/packages/workflows/dist/validation/state-access.js.map +1 -0
- package/packages/workflows/dist/xstate/index.d.ts +73 -0
- package/packages/workflows/dist/xstate/index.d.ts.map +1 -0
- package/packages/workflows/dist/xstate/index.js +728 -0
- package/packages/workflows/dist/xstate/index.js.map +1 -0
- package/packages/workflows/package.json +23 -0
- package/dist/apps/chat/data/project-service.js +0 -1029
- package/dist/apps/chat-ui/assets/index-BwT5grLv.css +0 -1
- package/dist/apps/chat-ui/assets/index-PTJanD3E.js +0 -228
- package/dist/apps/chat-vscode-web/assets/index-D1bpAUkR.js +0 -43
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { resolveWorkflowHandler } from "../registry/index.js";
|
|
2
|
+
import { validateNodeOutput, validateWorkflowPortValue } from "../validation/index.js";
|
|
3
|
+
import { codeNodeDispatchFailure, failCodeNodeDispatch, } from "./dispatch-failures.js";
|
|
4
|
+
import { createEdgePayloadReader } from "./edge-payloads.js";
|
|
5
|
+
import { createWorkflowRuntimeId as createId } from "./ids.js";
|
|
6
|
+
import { emitWorkflowRuntimeEvent, persistWorkflowNodeAttempt, persistWorkflowRun, } from "./persistence.js";
|
|
7
|
+
import { applyCodeNodePatches, createStateReader, localStateSnapshotForNode, validateCodeNodePatches, WorkflowStateAccessViolation, } from "./state.js";
|
|
8
|
+
import { createTimestampFactory } from "./time.js";
|
|
9
|
+
export async function dispatchWorkflowCodeNode(definition, run, nodeId, input, options) {
|
|
10
|
+
const events = [];
|
|
11
|
+
const timestamp = createTimestampFactory(options.now);
|
|
12
|
+
const node = definition.nodes[nodeId];
|
|
13
|
+
if (!node) {
|
|
14
|
+
return codeNodeDispatchFailure({
|
|
15
|
+
run,
|
|
16
|
+
events,
|
|
17
|
+
diagnostics: [
|
|
18
|
+
{
|
|
19
|
+
code: "WorkflowRuntimeError.unknownNode",
|
|
20
|
+
message: `Workflow node '${nodeId}' does not exist, so it cannot be dispatched as a code node.`,
|
|
21
|
+
severity: "error",
|
|
22
|
+
nodeId,
|
|
23
|
+
path: `$.nodes.${nodeId}`,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
error: {
|
|
27
|
+
code: "WorkflowRuntimeError.unknownNode",
|
|
28
|
+
message: "Code node dispatch failed because the node is not declared.",
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (node.kind !== "code") {
|
|
33
|
+
return codeNodeDispatchFailure({
|
|
34
|
+
run,
|
|
35
|
+
events,
|
|
36
|
+
diagnostics: [
|
|
37
|
+
{
|
|
38
|
+
code: "WorkflowRuntimeError.codeNodeRequired",
|
|
39
|
+
message: `Workflow node '${nodeId}' is '${node.kind}', but code node dispatch requires a TypeScript code node.`,
|
|
40
|
+
severity: "error",
|
|
41
|
+
nodeId,
|
|
42
|
+
path: `$.nodes.${nodeId}.kind`,
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
error: {
|
|
46
|
+
code: "WorkflowRuntimeError.codeNodeRequired",
|
|
47
|
+
message: "Code node dispatch failed because the selected node is not a code node.",
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
const codeNode = node;
|
|
52
|
+
const startedAt = timestamp();
|
|
53
|
+
const nodeAttempt = {
|
|
54
|
+
id: options.createNodeAttemptId?.() ?? createId("wna"),
|
|
55
|
+
workflowRunId: run.id,
|
|
56
|
+
nodeId,
|
|
57
|
+
attempt: 1,
|
|
58
|
+
kind: "code",
|
|
59
|
+
status: "running",
|
|
60
|
+
input,
|
|
61
|
+
startedAt,
|
|
62
|
+
...localStateSnapshotForNode(run, nodeId),
|
|
63
|
+
metadata: { handlerId: codeNode.handler },
|
|
64
|
+
};
|
|
65
|
+
run.current = { nodeId, status: "running" };
|
|
66
|
+
run.updatedAt = startedAt;
|
|
67
|
+
await emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, {
|
|
68
|
+
type: "node.started",
|
|
69
|
+
runId: run.id,
|
|
70
|
+
nodeAttemptId: nodeAttempt.id,
|
|
71
|
+
nodeId,
|
|
72
|
+
});
|
|
73
|
+
await persistWorkflowNodeAttempt(options.store, nodeAttempt);
|
|
74
|
+
await persistWorkflowRun(options.store, run);
|
|
75
|
+
const handler = resolveWorkflowHandler(options.registry, codeNode.handler);
|
|
76
|
+
const diagnostics = [];
|
|
77
|
+
if (!handler) {
|
|
78
|
+
diagnostics.push({
|
|
79
|
+
code: "WorkflowGraphError.unknownHandlerRef",
|
|
80
|
+
message: `Workflow code node '${nodeId}' references handler '${codeNode.handler}', but it is not registered in the Workflow Registry.`,
|
|
81
|
+
severity: "error",
|
|
82
|
+
nodeId,
|
|
83
|
+
path: `$.nodes.${nodeId}.handler`,
|
|
84
|
+
hint: "Register the handler before dispatching the code node.",
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
if (codeNode.input) {
|
|
88
|
+
diagnostics.push(...validateWorkflowPortValue(codeNode.input, input, { path: `$.nodes.${nodeId}.input` }).diagnostics.map((diagnostic) => ({ ...diagnostic, nodeId })));
|
|
89
|
+
}
|
|
90
|
+
if (diagnostics.some((diagnostic) => diagnostic.severity === "error")) {
|
|
91
|
+
return failCodeNodeDispatch({
|
|
92
|
+
run,
|
|
93
|
+
nodeAttempt,
|
|
94
|
+
events,
|
|
95
|
+
diagnostics,
|
|
96
|
+
timestamp,
|
|
97
|
+
store: options.store,
|
|
98
|
+
emitEvent: options.emitEvent,
|
|
99
|
+
error: {
|
|
100
|
+
code: "WorkflowRuntimeError.codeNodeDispatchFailed",
|
|
101
|
+
message: "Code node dispatch failed before handler execution.",
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
const emittedCommands = [];
|
|
107
|
+
const handlerResult = await handler.value({
|
|
108
|
+
input,
|
|
109
|
+
global: createStateReader("global", run.state.global, codeNode, nodeId),
|
|
110
|
+
local: createStateReader("local", run.state.local?.[nodeId] ?? {}, codeNode, nodeId),
|
|
111
|
+
edge: createEdgePayloadReader(options.edgePayloads ?? {}),
|
|
112
|
+
emit: (event) => emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, event),
|
|
113
|
+
command: async (command) => {
|
|
114
|
+
emittedCommands.push(command);
|
|
115
|
+
await options.commandEmitter?.(command);
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
const commands = [...emittedCommands, ...toWorkflowCommandArray(handlerResult.command)];
|
|
119
|
+
const patchDiagnostics = validateCodeNodePatches(definition, codeNode, nodeId, handlerResult);
|
|
120
|
+
if (patchDiagnostics.some((diagnostic) => diagnostic.severity === "error")) {
|
|
121
|
+
return failCodeNodeDispatch({
|
|
122
|
+
run,
|
|
123
|
+
nodeAttempt,
|
|
124
|
+
events,
|
|
125
|
+
diagnostics: patchDiagnostics,
|
|
126
|
+
timestamp,
|
|
127
|
+
store: options.store,
|
|
128
|
+
emitEvent: options.emitEvent,
|
|
129
|
+
error: {
|
|
130
|
+
code: "WorkflowRuntimeError.invalidCodeNodePatch",
|
|
131
|
+
message: "Code node state patch failed validation before completion.",
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
const nodeOutputResult = validateNodeOutput(definition, nodeId, handlerResult.output);
|
|
136
|
+
if (!nodeOutputResult.ok) {
|
|
137
|
+
return failCodeNodeDispatch({
|
|
138
|
+
run,
|
|
139
|
+
nodeAttempt,
|
|
140
|
+
events,
|
|
141
|
+
diagnostics: nodeOutputResult.diagnostics,
|
|
142
|
+
timestamp,
|
|
143
|
+
store: options.store,
|
|
144
|
+
emitEvent: options.emitEvent,
|
|
145
|
+
error: {
|
|
146
|
+
code: "WorkflowRuntimeError.invalidNodeOutput",
|
|
147
|
+
message: "Code node output failed validation before downstream use.",
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
applyCodeNodePatches(run, nodeId, handlerResult.globalPatch, handlerResult.localPatch);
|
|
152
|
+
for (const command of commands) {
|
|
153
|
+
if (!emittedCommands.includes(command)) {
|
|
154
|
+
await options.commandEmitter?.(command);
|
|
155
|
+
}
|
|
156
|
+
if (command.kind === "emitEvent") {
|
|
157
|
+
await emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, command.event);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
const completedAt = timestamp();
|
|
161
|
+
nodeAttempt.status = "completed";
|
|
162
|
+
nodeAttempt.output = handlerResult.output;
|
|
163
|
+
Object.assign(nodeAttempt, localStateSnapshotForNode(run, nodeId));
|
|
164
|
+
nodeAttempt.completedAt = completedAt;
|
|
165
|
+
run.current = { nodeId, status: run.status };
|
|
166
|
+
run.updatedAt = completedAt;
|
|
167
|
+
await emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, {
|
|
168
|
+
type: "node.completed",
|
|
169
|
+
runId: run.id,
|
|
170
|
+
nodeAttemptId: nodeAttempt.id,
|
|
171
|
+
output: handlerResult.output,
|
|
172
|
+
});
|
|
173
|
+
await persistWorkflowNodeAttempt(options.store, nodeAttempt);
|
|
174
|
+
await persistWorkflowRun(options.store, run);
|
|
175
|
+
return {
|
|
176
|
+
ok: true,
|
|
177
|
+
run,
|
|
178
|
+
nodeAttempt,
|
|
179
|
+
events,
|
|
180
|
+
output: handlerResult.output,
|
|
181
|
+
result: handlerResult,
|
|
182
|
+
commands,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
catch (caught) {
|
|
186
|
+
const diagnostics = caught instanceof WorkflowStateAccessViolation ? [caught.diagnostic] : [];
|
|
187
|
+
return failCodeNodeDispatch({
|
|
188
|
+
run,
|
|
189
|
+
nodeAttempt,
|
|
190
|
+
events,
|
|
191
|
+
diagnostics,
|
|
192
|
+
timestamp,
|
|
193
|
+
store: options.store,
|
|
194
|
+
emitEvent: options.emitEvent,
|
|
195
|
+
error: codeNodeErrorSummaryFromCaught(caught),
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
function toWorkflowCommandArray(command) {
|
|
200
|
+
if (!command) {
|
|
201
|
+
return [];
|
|
202
|
+
}
|
|
203
|
+
return Array.isArray(command) ? command : [command];
|
|
204
|
+
}
|
|
205
|
+
function codeNodeErrorSummaryFromCaught(caught) {
|
|
206
|
+
if (caught instanceof WorkflowStateAccessViolation) {
|
|
207
|
+
return {
|
|
208
|
+
code: caught.diagnostic.code,
|
|
209
|
+
message: caught.message,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
if (caught instanceof Error) {
|
|
213
|
+
return {
|
|
214
|
+
code: "WorkflowRuntimeError.codeHandlerFailed",
|
|
215
|
+
message: caught.message,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
return {
|
|
219
|
+
code: "WorkflowRuntimeError.codeHandlerFailed",
|
|
220
|
+
message: "Code node handler failed with a non-Error value.",
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=code-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-node.js","sourceRoot":"","sources":["../../src/runtime/code-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { WorkflowRunStore } from "../store/index.js";
|
|
2
|
+
import type { NodeAttempt, WorkflowDiagnostic, WorkflowErrorSummary, WorkflowEventEmitter, WorkflowRun, WorkflowRuntimeEvent } from "../types/index.js";
|
|
3
|
+
type DispatchFailureOptions = {
|
|
4
|
+
run: WorkflowRun;
|
|
5
|
+
events: WorkflowRuntimeEvent[];
|
|
6
|
+
diagnostics: WorkflowDiagnostic[];
|
|
7
|
+
error: WorkflowErrorSummary;
|
|
8
|
+
};
|
|
9
|
+
type FailedNodeDispatchOptions = DispatchFailureOptions & {
|
|
10
|
+
nodeAttempt: NodeAttempt;
|
|
11
|
+
timestamp: () => string;
|
|
12
|
+
store?: WorkflowRunStore;
|
|
13
|
+
emitEvent?: WorkflowEventEmitter;
|
|
14
|
+
};
|
|
15
|
+
type DispatchFailure = DispatchFailureOptions & {
|
|
16
|
+
ok: false;
|
|
17
|
+
};
|
|
18
|
+
type FailedNodeDispatchFailure = DispatchFailure & {
|
|
19
|
+
nodeAttempt: NodeAttempt;
|
|
20
|
+
};
|
|
21
|
+
export declare function agentNodeDispatchFailure(options: DispatchFailureOptions): DispatchFailure;
|
|
22
|
+
export declare function failAgentNodeDispatch(options: FailedNodeDispatchOptions): Promise<FailedNodeDispatchFailure>;
|
|
23
|
+
export declare function codeNodeDispatchFailure(options: DispatchFailureOptions): DispatchFailure;
|
|
24
|
+
export declare function failCodeNodeDispatch(options: FailedNodeDispatchOptions): Promise<FailedNodeDispatchFailure>;
|
|
25
|
+
export declare function nestedWorkflowNodeDispatchFailure(options: DispatchFailureOptions): DispatchFailure;
|
|
26
|
+
export declare function failNestedWorkflowNodeDispatch(options: FailedNodeDispatchOptions & {
|
|
27
|
+
childRun?: WorkflowRun;
|
|
28
|
+
}): Promise<FailedNodeDispatchFailure & {
|
|
29
|
+
childRun?: WorkflowRun;
|
|
30
|
+
}>;
|
|
31
|
+
export declare function humanNodeDispatchFailure(options: DispatchFailureOptions): DispatchFailure;
|
|
32
|
+
export declare function failHumanNodeDispatch(options: FailedNodeDispatchOptions): Promise<FailedNodeDispatchFailure>;
|
|
33
|
+
export declare function adapterNodeDispatchFailure(options: DispatchFailureOptions): DispatchFailure;
|
|
34
|
+
export declare function failAdapterNodeDispatch(options: FailedNodeDispatchOptions): Promise<FailedNodeDispatchFailure>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=dispatch-failures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-failures.d.ts","sourceRoot":"","sources":["../../src/runtime/dispatch-failures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAO3B,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,KAAK,EAAE,oBAAoB,CAAC;CAC7B,CAAC;AAEF,KAAK,yBAAyB,GAAG,sBAAsB,GAAG;IACxD,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,CAAC;AAEF,KAAK,eAAe,GAAG,sBAAsB,GAAG;IAC9C,EAAE,EAAE,KAAK,CAAC;CACX,CAAC;AAMF,KAAK,yBAAyB,GAAG,eAAe,GAAG;IACjD,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAEzF;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAElH;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAExF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAEjH;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAElG;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,yBAAyB,GAAG;IAAE,QAAQ,CAAC,EAAE,WAAW,CAAA;CAAE,GAC9D,OAAO,CAAC,yBAAyB,GAAG;IAAE,QAAQ,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC,CAMjE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAEzF;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAElH;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAE3F;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAEpH"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { emitWorkflowRuntimeEvent, persistWorkflowNodeAttempt, persistWorkflowRun, } from "./persistence.js";
|
|
2
|
+
export function agentNodeDispatchFailure(options) {
|
|
3
|
+
return dispatchFailure(options);
|
|
4
|
+
}
|
|
5
|
+
export async function failAgentNodeDispatch(options) {
|
|
6
|
+
return failedNodeDispatchFailure(await failNodeDispatch(options));
|
|
7
|
+
}
|
|
8
|
+
export function codeNodeDispatchFailure(options) {
|
|
9
|
+
return dispatchFailure(options);
|
|
10
|
+
}
|
|
11
|
+
export async function failCodeNodeDispatch(options) {
|
|
12
|
+
return failedNodeDispatchFailure(await failNodeDispatch(options));
|
|
13
|
+
}
|
|
14
|
+
export function nestedWorkflowNodeDispatchFailure(options) {
|
|
15
|
+
return dispatchFailure(options);
|
|
16
|
+
}
|
|
17
|
+
export async function failNestedWorkflowNodeDispatch(options) {
|
|
18
|
+
const failure = failedNodeDispatchFailure(await failNodeDispatch(options));
|
|
19
|
+
return {
|
|
20
|
+
...failure,
|
|
21
|
+
...(options.childRun ? { childRun: options.childRun } : {}),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function humanNodeDispatchFailure(options) {
|
|
25
|
+
return dispatchFailure(options);
|
|
26
|
+
}
|
|
27
|
+
export async function failHumanNodeDispatch(options) {
|
|
28
|
+
return failedNodeDispatchFailure(await failNodeDispatch(options));
|
|
29
|
+
}
|
|
30
|
+
export function adapterNodeDispatchFailure(options) {
|
|
31
|
+
return dispatchFailure(options);
|
|
32
|
+
}
|
|
33
|
+
export async function failAdapterNodeDispatch(options) {
|
|
34
|
+
return failedNodeDispatchFailure(await failNodeDispatch(options));
|
|
35
|
+
}
|
|
36
|
+
async function failNodeDispatch(options) {
|
|
37
|
+
const failedAt = options.timestamp();
|
|
38
|
+
options.nodeAttempt.status = "failed";
|
|
39
|
+
options.nodeAttempt.error = options.error;
|
|
40
|
+
options.nodeAttempt.failedAt = failedAt;
|
|
41
|
+
options.run.status = "failed";
|
|
42
|
+
options.run.current = { nodeId: options.nodeAttempt.nodeId, status: "failed" };
|
|
43
|
+
options.run.failedAt = failedAt;
|
|
44
|
+
options.run.updatedAt = failedAt;
|
|
45
|
+
await emitWorkflowRuntimeEvent(options.events, options.store, options.emitEvent, {
|
|
46
|
+
type: "node.failed",
|
|
47
|
+
runId: options.run.id,
|
|
48
|
+
nodeAttemptId: options.nodeAttempt.id,
|
|
49
|
+
error: options.error,
|
|
50
|
+
});
|
|
51
|
+
await persistWorkflowNodeAttempt(options.store, options.nodeAttempt);
|
|
52
|
+
await persistWorkflowRun(options.store, options.run);
|
|
53
|
+
return {
|
|
54
|
+
run: options.run,
|
|
55
|
+
nodeAttempt: options.nodeAttempt,
|
|
56
|
+
events: options.events,
|
|
57
|
+
diagnostics: options.diagnostics,
|
|
58
|
+
error: options.error,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function dispatchFailure(options) {
|
|
62
|
+
return {
|
|
63
|
+
ok: false,
|
|
64
|
+
run: options.run,
|
|
65
|
+
events: options.events,
|
|
66
|
+
diagnostics: options.diagnostics,
|
|
67
|
+
error: options.error,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function failedNodeDispatchFailure(failure) {
|
|
71
|
+
return {
|
|
72
|
+
ok: false,
|
|
73
|
+
run: failure.run,
|
|
74
|
+
nodeAttempt: failure.nodeAttempt,
|
|
75
|
+
events: failure.events,
|
|
76
|
+
diagnostics: failure.diagnostics,
|
|
77
|
+
error: failure.error,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=dispatch-failures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-failures.js","sourceRoot":"","sources":["../../src/runtime/dispatch-failures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-payloads.d.ts","sourceRoot":"","sources":["../../src/runtime/edge-payloads.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE1E,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,iBAAiB,CASlG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-payloads.js","sourceRoot":"","sources":["../../src/runtime/edge-payloads.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,QAAuC;IAC7E,OAAO;QACL,GAAG,CAAC,MAAM;YACR,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,GAAG;YACD,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { EdgeTransfer, EdgeTransferId, NodeAttempt, WorkflowDefinition, WorkflowDiagnostic, WorkflowErrorSummary, WorkflowEventEmitter, WorkflowRegistry, WorkflowRun, WorkflowRuntimeEvent, WorkflowValue } from "../types/index.js";
|
|
2
|
+
import type { WorkflowRunStore } from "../store/index.js";
|
|
3
|
+
export type WorkflowEdgeTransferOptions = {
|
|
4
|
+
now?: () => Date | string;
|
|
5
|
+
createEdgeTransferId?: () => EdgeTransferId;
|
|
6
|
+
};
|
|
7
|
+
export type WorkflowEdgeAdapterTransferOptions = WorkflowEdgeTransferOptions & {
|
|
8
|
+
registry: Pick<WorkflowRegistry, "adapters">;
|
|
9
|
+
};
|
|
10
|
+
export type RecordedWorkflowEdgeTransferOptions = WorkflowEdgeTransferOptions & {
|
|
11
|
+
events?: WorkflowRuntimeEvent[];
|
|
12
|
+
emitEvent?: WorkflowEventEmitter;
|
|
13
|
+
store?: WorkflowRunStore;
|
|
14
|
+
};
|
|
15
|
+
export type WorkflowEdgeTransferSuccess = {
|
|
16
|
+
ok: true;
|
|
17
|
+
transfer: EdgeTransfer;
|
|
18
|
+
targetInput: WorkflowValue;
|
|
19
|
+
diagnostics: WorkflowDiagnostic[];
|
|
20
|
+
};
|
|
21
|
+
export type WorkflowEdgeTransferFailure = {
|
|
22
|
+
ok: false;
|
|
23
|
+
diagnostics: WorkflowDiagnostic[];
|
|
24
|
+
error: WorkflowErrorSummary;
|
|
25
|
+
};
|
|
26
|
+
export type WorkflowEdgeTransferResult = WorkflowEdgeTransferSuccess | WorkflowEdgeTransferFailure;
|
|
27
|
+
export type RecordedWorkflowEdgeTransferSuccess = WorkflowEdgeTransferSuccess & {
|
|
28
|
+
run: WorkflowRun;
|
|
29
|
+
events: WorkflowRuntimeEvent[];
|
|
30
|
+
};
|
|
31
|
+
export type RecordedWorkflowEdgeTransferFailure = WorkflowEdgeTransferFailure & {
|
|
32
|
+
run: WorkflowRun;
|
|
33
|
+
events: WorkflowRuntimeEvent[];
|
|
34
|
+
};
|
|
35
|
+
export type RecordedWorkflowEdgeTransferResult = RecordedWorkflowEdgeTransferSuccess | RecordedWorkflowEdgeTransferFailure;
|
|
36
|
+
export declare function transferWorkflowEdgeData(definition: WorkflowDefinition, run: WorkflowRun, edgeId: string, sourceNodeAttempt: NodeAttempt, options?: WorkflowEdgeTransferOptions): WorkflowEdgeTransferResult;
|
|
37
|
+
export declare function transferWorkflowEdgeAdapterData(definition: WorkflowDefinition, run: WorkflowRun, edgeId: string, sourceNodeAttempt: NodeAttempt, options: WorkflowEdgeAdapterTransferOptions): Promise<WorkflowEdgeTransferResult>;
|
|
38
|
+
export declare function recordWorkflowEdgeTransfer(definition: WorkflowDefinition, run: WorkflowRun, edgeId: string, sourceNodeAttempt: NodeAttempt, options?: RecordedWorkflowEdgeTransferOptions): Promise<RecordedWorkflowEdgeTransferResult>;
|
|
39
|
+
//# sourceMappingURL=edge-transfer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-transfer.d.ts","sourceRoot":"","sources":["../../src/runtime/edge-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAgB1D,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,cAAc,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,2BAA2B,GAAG;IAC7E,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAC7C,2BAA2B,GAAG;IAC5B,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEJ,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,aAAa,CAAC;IAC3B,WAAW,EAAE,kBAAkB,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,KAAK,CAAC;IACV,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,KAAK,EAAE,oBAAoB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC,2BAA2B,GAC3B,2BAA2B,CAAC;AAEhC,MAAM,MAAM,mCAAmC,GAC7C,2BAA2B,GAAG;IAC5B,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC,CAAC;AAEJ,MAAM,MAAM,mCAAmC,GAC7C,2BAA2B,GAAG;IAC5B,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC,CAAC;AAEJ,MAAM,MAAM,kCAAkC,GAC1C,mCAAmC,GACnC,mCAAmC,CAAC;AAExC,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,WAAW,EAC9B,OAAO,GAAE,2BAAgC,GACxC,0BAA0B,CA8K5B;AAED,wBAAsB,+BAA+B,CACnD,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,WAAW,EAC9B,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,0BAA0B,CAAC,CA8MrC;AAED,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,WAAW,EAC9B,OAAO,GAAE,mCAAwC,GAChD,OAAO,CAAC,kCAAkC,CAAC,CAyB7C"}
|