@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,246 @@
|
|
|
1
|
+
import { resolveWorkflowDefinition } from "../registry/index.js";
|
|
2
|
+
import { validateNodeOutput, validateWorkflowInput, validateWorkflowOutput, validateWorkflowPortValue, } from "../validation/index.js";
|
|
3
|
+
import { failNestedWorkflowNodeDispatch, nestedWorkflowNodeDispatchFailure, } from "./dispatch-failures.js";
|
|
4
|
+
import { createWorkflowRuntimeId as createId } from "./ids.js";
|
|
5
|
+
import { emitWorkflowRuntimeEvent, persistWorkflowNodeAttempt, persistWorkflowRun, } from "./persistence.js";
|
|
6
|
+
import { createNodeScopedWorkflowRun, localStateSnapshotForNode } from "./state.js";
|
|
7
|
+
import { createTimestampFactory } from "./time.js";
|
|
8
|
+
export async function dispatchWorkflowNestedWorkflowNode(definition, run, nodeId, input, options) {
|
|
9
|
+
const events = [];
|
|
10
|
+
const timestamp = createTimestampFactory(options.now);
|
|
11
|
+
const node = definition.nodes[nodeId];
|
|
12
|
+
if (!node) {
|
|
13
|
+
return nestedWorkflowNodeDispatchFailure({
|
|
14
|
+
run,
|
|
15
|
+
events,
|
|
16
|
+
diagnostics: [
|
|
17
|
+
{
|
|
18
|
+
code: "WorkflowRuntimeError.unknownNode",
|
|
19
|
+
message: `Workflow node '${nodeId}' does not exist, so it cannot be dispatched as a nested workflow node.`,
|
|
20
|
+
severity: "error",
|
|
21
|
+
nodeId,
|
|
22
|
+
path: `$.nodes.${nodeId}`,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
error: {
|
|
26
|
+
code: "WorkflowRuntimeError.unknownNode",
|
|
27
|
+
message: "Nested workflow node dispatch failed because the node is not declared.",
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
if (node.kind !== "workflow") {
|
|
32
|
+
return nestedWorkflowNodeDispatchFailure({
|
|
33
|
+
run,
|
|
34
|
+
events,
|
|
35
|
+
diagnostics: [
|
|
36
|
+
{
|
|
37
|
+
code: "WorkflowRuntimeError.workflowNodeRequired",
|
|
38
|
+
message: `Workflow node '${nodeId}' is '${node.kind}', but nested workflow dispatch requires a workflow node.`,
|
|
39
|
+
severity: "error",
|
|
40
|
+
nodeId,
|
|
41
|
+
path: `$.nodes.${nodeId}.kind`,
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
error: {
|
|
45
|
+
code: "WorkflowRuntimeError.workflowNodeRequired",
|
|
46
|
+
message: "Nested workflow node dispatch failed because the selected node is not a workflow node.",
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
const workflowNode = node;
|
|
51
|
+
const startedAt = timestamp();
|
|
52
|
+
const nodeAttempt = {
|
|
53
|
+
id: options.createNodeAttemptId?.() ?? createId("wna"),
|
|
54
|
+
workflowRunId: run.id,
|
|
55
|
+
nodeId,
|
|
56
|
+
attempt: 1,
|
|
57
|
+
kind: "workflow",
|
|
58
|
+
status: "running",
|
|
59
|
+
input,
|
|
60
|
+
startedAt,
|
|
61
|
+
...localStateSnapshotForNode(run, nodeId),
|
|
62
|
+
metadata: {
|
|
63
|
+
workflowId: workflowNode.workflowId,
|
|
64
|
+
...(workflowNode.workflowVersion ? { workflowVersion: workflowNode.workflowVersion } : {}),
|
|
65
|
+
...(workflowNode.namespace ? { namespace: workflowNode.namespace } : {}),
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
run.current = { nodeId, status: "running" };
|
|
69
|
+
run.updatedAt = startedAt;
|
|
70
|
+
await emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, {
|
|
71
|
+
type: "node.started",
|
|
72
|
+
runId: run.id,
|
|
73
|
+
nodeAttemptId: nodeAttempt.id,
|
|
74
|
+
nodeId,
|
|
75
|
+
});
|
|
76
|
+
await persistWorkflowNodeAttempt(options.store, nodeAttempt);
|
|
77
|
+
await persistWorkflowRun(options.store, run);
|
|
78
|
+
const diagnostics = [];
|
|
79
|
+
const childWorkflow = resolveWorkflowDefinition(options.registry, workflowNode.workflowId, workflowNode.workflowVersion);
|
|
80
|
+
if (!childWorkflow) {
|
|
81
|
+
diagnostics.push({
|
|
82
|
+
code: "WorkflowGraphError.unknownWorkflowRef",
|
|
83
|
+
message: `Workflow node '${nodeId}' references child workflow '${workflowNode.workflowId}${workflowNode.workflowVersion ? `@${workflowNode.workflowVersion}` : ""}', but it is not registered in the Workflow Registry.`,
|
|
84
|
+
severity: "error",
|
|
85
|
+
nodeId,
|
|
86
|
+
path: `$.nodes.${nodeId}.workflowId`,
|
|
87
|
+
registryRef: workflowNode.workflowId,
|
|
88
|
+
hint: "Register the child workflow definition before dispatching the nested workflow node.",
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
if (workflowNode.input) {
|
|
92
|
+
diagnostics.push(...validateWorkflowPortValue(workflowNode.input, input, { path: `$.nodes.${nodeId}.input` }).diagnostics.map((diagnostic) => ({ ...diagnostic, nodeId })));
|
|
93
|
+
}
|
|
94
|
+
if (childWorkflow) {
|
|
95
|
+
diagnostics.push(...validateWorkflowInput(childWorkflow, input, { path: `$.nodes.${nodeId}.childInput` }).diagnostics.map((diagnostic) => ({ ...diagnostic, nodeId })));
|
|
96
|
+
}
|
|
97
|
+
if (diagnostics.some((diagnostic) => diagnostic.severity === "error")) {
|
|
98
|
+
return failNestedWorkflowNodeDispatch({
|
|
99
|
+
run,
|
|
100
|
+
nodeAttempt,
|
|
101
|
+
events,
|
|
102
|
+
diagnostics,
|
|
103
|
+
timestamp,
|
|
104
|
+
store: options.store,
|
|
105
|
+
emitEvent: options.emitEvent,
|
|
106
|
+
error: {
|
|
107
|
+
code: "WorkflowRuntimeError.workflowNodeDispatchFailed",
|
|
108
|
+
message: "Nested workflow node dispatch failed before child workflow execution.",
|
|
109
|
+
},
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
const childRunId = options.createChildRunId?.() ?? createId("wfr");
|
|
113
|
+
try {
|
|
114
|
+
const executorResult = await options.nestedWorkflowExecutor({
|
|
115
|
+
workflow: definition,
|
|
116
|
+
run: createNodeScopedWorkflowRun(run, nodeId),
|
|
117
|
+
nodeAttemptId: nodeAttempt.id,
|
|
118
|
+
nodeId,
|
|
119
|
+
node: workflowNode,
|
|
120
|
+
childWorkflow: childWorkflow,
|
|
121
|
+
childRunId,
|
|
122
|
+
input,
|
|
123
|
+
namespace: workflowNode.namespace,
|
|
124
|
+
});
|
|
125
|
+
if (executorResult.events?.length) {
|
|
126
|
+
events.push(...executorResult.events);
|
|
127
|
+
}
|
|
128
|
+
nodeAttempt.metadata = {
|
|
129
|
+
...nodeAttempt.metadata,
|
|
130
|
+
childRunId: executorResult.childRun.id,
|
|
131
|
+
childWorkflowId: executorResult.childRun.workflowId,
|
|
132
|
+
childWorkflowVersion: executorResult.childRun.workflowVersion,
|
|
133
|
+
};
|
|
134
|
+
if (executorResult.childRun.status !== "completed") {
|
|
135
|
+
return failNestedWorkflowNodeDispatch({
|
|
136
|
+
run,
|
|
137
|
+
nodeAttempt,
|
|
138
|
+
events,
|
|
139
|
+
diagnostics: [
|
|
140
|
+
{
|
|
141
|
+
code: "WorkflowRuntimeError.childWorkflowIncomplete",
|
|
142
|
+
message: `Child workflow run '${executorResult.childRun.id}' ended with status '${executorResult.childRun.status}' instead of 'completed'.`,
|
|
143
|
+
severity: "error",
|
|
144
|
+
nodeId,
|
|
145
|
+
path: `$.nodes.${nodeId}.workflowId`,
|
|
146
|
+
hint: "Nested workflow nodes must wait for the child workflow to complete successfully before producing output.",
|
|
147
|
+
},
|
|
148
|
+
],
|
|
149
|
+
timestamp,
|
|
150
|
+
store: options.store,
|
|
151
|
+
emitEvent: options.emitEvent,
|
|
152
|
+
error: {
|
|
153
|
+
code: executorResult.childRun.status === "failed"
|
|
154
|
+
? "WorkflowRuntimeError.childWorkflowFailed"
|
|
155
|
+
: "WorkflowRuntimeError.childWorkflowIncomplete",
|
|
156
|
+
message: "Nested workflow node dispatch failed because the child workflow did not complete successfully.",
|
|
157
|
+
},
|
|
158
|
+
childRun: executorResult.childRun,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
const childOutputResult = validateWorkflowOutput(childWorkflow, executorResult.output, {
|
|
162
|
+
path: `$.nodes.${nodeId}.childOutput`,
|
|
163
|
+
});
|
|
164
|
+
if (!childOutputResult.ok) {
|
|
165
|
+
return failNestedWorkflowNodeDispatch({
|
|
166
|
+
run,
|
|
167
|
+
nodeAttempt,
|
|
168
|
+
events,
|
|
169
|
+
diagnostics: childOutputResult.diagnostics.map((diagnostic) => ({ ...diagnostic, nodeId })),
|
|
170
|
+
timestamp,
|
|
171
|
+
store: options.store,
|
|
172
|
+
emitEvent: options.emitEvent,
|
|
173
|
+
error: {
|
|
174
|
+
code: "WorkflowRuntimeError.invalidChildWorkflowOutput",
|
|
175
|
+
message: "Child workflow output failed validation before parent node completion.",
|
|
176
|
+
},
|
|
177
|
+
childRun: executorResult.childRun,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
const nodeOutputResult = validateNodeOutput(definition, nodeId, executorResult.output);
|
|
181
|
+
if (!nodeOutputResult.ok) {
|
|
182
|
+
return failNestedWorkflowNodeDispatch({
|
|
183
|
+
run,
|
|
184
|
+
nodeAttempt,
|
|
185
|
+
events,
|
|
186
|
+
diagnostics: nodeOutputResult.diagnostics,
|
|
187
|
+
timestamp,
|
|
188
|
+
store: options.store,
|
|
189
|
+
emitEvent: options.emitEvent,
|
|
190
|
+
error: {
|
|
191
|
+
code: "WorkflowRuntimeError.invalidNodeOutput",
|
|
192
|
+
message: "Nested workflow node output failed validation before downstream use.",
|
|
193
|
+
},
|
|
194
|
+
childRun: executorResult.childRun,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
const completedAt = timestamp();
|
|
198
|
+
nodeAttempt.status = "completed";
|
|
199
|
+
nodeAttempt.output = executorResult.output;
|
|
200
|
+
nodeAttempt.completedAt = completedAt;
|
|
201
|
+
Object.assign(nodeAttempt, localStateSnapshotForNode(run, nodeId));
|
|
202
|
+
run.current = { nodeId, status: run.status };
|
|
203
|
+
run.updatedAt = completedAt;
|
|
204
|
+
await emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, {
|
|
205
|
+
type: "node.completed",
|
|
206
|
+
runId: run.id,
|
|
207
|
+
nodeAttemptId: nodeAttempt.id,
|
|
208
|
+
output: executorResult.output,
|
|
209
|
+
});
|
|
210
|
+
await persistWorkflowNodeAttempt(options.store, nodeAttempt);
|
|
211
|
+
await persistWorkflowRun(options.store, run);
|
|
212
|
+
return {
|
|
213
|
+
ok: true,
|
|
214
|
+
run,
|
|
215
|
+
nodeAttempt,
|
|
216
|
+
events,
|
|
217
|
+
output: executorResult.output,
|
|
218
|
+
childRun: executorResult.childRun,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
catch (caught) {
|
|
222
|
+
return failNestedWorkflowNodeDispatch({
|
|
223
|
+
run,
|
|
224
|
+
nodeAttempt,
|
|
225
|
+
events,
|
|
226
|
+
diagnostics: [],
|
|
227
|
+
timestamp,
|
|
228
|
+
store: options.store,
|
|
229
|
+
emitEvent: options.emitEvent,
|
|
230
|
+
error: nestedWorkflowErrorSummaryFromCaught(caught),
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
function nestedWorkflowErrorSummaryFromCaught(caught) {
|
|
235
|
+
if (caught instanceof Error) {
|
|
236
|
+
return {
|
|
237
|
+
code: "WorkflowRuntimeError.nestedWorkflowExecutorFailed",
|
|
238
|
+
message: caught.message,
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
return {
|
|
242
|
+
code: "WorkflowRuntimeError.nestedWorkflowExecutorFailed",
|
|
243
|
+
message: "Nested workflow executor failed with a non-Error value.",
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=nested-workflow-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nested-workflow-node.js","sourceRoot":"","sources":["../../src/runtime/nested-workflow-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { WorkflowRunStore } from "../store/index.js";
|
|
2
|
+
import type { JsonValue, NodeAttempt, NodeAttemptId, NodeId, ValidationResult, WorkflowDefinition, WorkflowDiagnostic, WorkflowErrorSummary, WorkflowEventEmitter, WorkflowRegistry, WorkflowRun, WorkflowRunId, WorkflowRuntimeEvent, WorkflowValue } from "../types/index.js";
|
|
3
|
+
import type { AgentProfileResolver, OneNodeAgentExecutor } from "./pibo-routing.js";
|
|
4
|
+
export type OneNodeAgentWorkflowOptions = {
|
|
5
|
+
registry?: Pick<WorkflowRegistry, "promptBuilders">;
|
|
6
|
+
initialGlobalState?: Record<string, JsonValue>;
|
|
7
|
+
initialLocalState?: Record<NodeId, Record<string, JsonValue>>;
|
|
8
|
+
now?: () => Date | string;
|
|
9
|
+
createRunId?: () => WorkflowRunId;
|
|
10
|
+
createNodeAttemptId?: () => NodeAttemptId;
|
|
11
|
+
store?: WorkflowRunStore;
|
|
12
|
+
emitEvent?: WorkflowEventEmitter;
|
|
13
|
+
profileResolver?: AgentProfileResolver;
|
|
14
|
+
agentExecutor: OneNodeAgentExecutor;
|
|
15
|
+
};
|
|
16
|
+
export type OneNodeAgentWorkflowSuccess = {
|
|
17
|
+
ok: true;
|
|
18
|
+
run: WorkflowRun;
|
|
19
|
+
nodeAttempt: NodeAttempt;
|
|
20
|
+
events: WorkflowRuntimeEvent[];
|
|
21
|
+
output: WorkflowValue;
|
|
22
|
+
};
|
|
23
|
+
export type OneNodeAgentWorkflowFailure = {
|
|
24
|
+
ok: false;
|
|
25
|
+
run?: WorkflowRun;
|
|
26
|
+
nodeAttempt?: NodeAttempt;
|
|
27
|
+
events: WorkflowRuntimeEvent[];
|
|
28
|
+
diagnostics: WorkflowDiagnostic[];
|
|
29
|
+
error: WorkflowErrorSummary;
|
|
30
|
+
};
|
|
31
|
+
export type OneNodeAgentWorkflowResult = OneNodeAgentWorkflowSuccess | OneNodeAgentWorkflowFailure;
|
|
32
|
+
export declare function validateOneNodeAgentWorkflowPath(definition: WorkflowDefinition): ValidationResult;
|
|
33
|
+
export declare function runOneNodeAgentWorkflow(definition: WorkflowDefinition, input: WorkflowValue, options: OneNodeAgentWorkflowOptions): Promise<OneNodeAgentWorkflowResult>;
|
|
34
|
+
//# sourceMappingURL=one-node-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"one-node-agent.d.ts","sourceRoot":"","sources":["../../src/runtime/one-node-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAEV,SAAS,EACT,WAAW,EACX,aAAa,EACb,MAAM,EACN,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAe3B,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAc3B,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,GAAG,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,aAAa,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,aAAa,CAAC;IAC1C,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,IAAI,CAAC;IACT,GAAG,EAAE,WAAW,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,KAAK,CAAC;IACV,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,KAAK,EAAE,oBAAoB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC,2BAA2B,GAC3B,2BAA2B,CAAC;AAEhC,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,kBAAkB,GAC7B,gBAAgB,CAwFlB;AAED,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,kBAAkB,EAC9B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CA+OrC"}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import { validateNodeOutput, validateWorkflow, validateWorkflowGlobalState, validateWorkflowInput, validateWorkflowOutput, } from "../validation/index.js";
|
|
2
|
+
import { agentExecutorErrorSummaryFromCaught, createAgentRuntimeSelectionMetadata, linkWorkflowRunToAgentSession, resolveAgentProfileForRuntime, } from "./agent-runtime.js";
|
|
3
|
+
import { createWorkflowRuntimeId as createId } from "./ids.js";
|
|
4
|
+
import { emitWorkflowRuntimeEvent, persistWorkflowNodeAttempt, persistWorkflowRun, } from "./persistence.js";
|
|
5
|
+
import { buildAgentNodePrompt, recordFinalAgentPrompt } from "./prompts.js";
|
|
6
|
+
import { createInitialWorkflowRunState, createNodeScopedWorkflowRun, localStateSnapshotForNode, } from "./state.js";
|
|
7
|
+
import { createTimestampFactory } from "./time.js";
|
|
8
|
+
export function validateOneNodeAgentWorkflowPath(definition) {
|
|
9
|
+
const diagnostics = [
|
|
10
|
+
...validateWorkflow(definition).diagnostics,
|
|
11
|
+
];
|
|
12
|
+
const nodeEntries = Object.entries(definition.nodes);
|
|
13
|
+
if (nodeEntries.length !== 1) {
|
|
14
|
+
diagnostics.push({
|
|
15
|
+
code: "WorkflowRuntimeError.oneNodeAgentRequired",
|
|
16
|
+
message: "The one-node agent workflow path requires exactly one node.",
|
|
17
|
+
severity: "error",
|
|
18
|
+
path: "$.nodes",
|
|
19
|
+
hint: "Use a workflow with one agent node, no edges, and matching initial/final ids.",
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
const initialNodeIds = toNodeIdArray(definition.initial);
|
|
23
|
+
if (initialNodeIds.length !== 1) {
|
|
24
|
+
diagnostics.push({
|
|
25
|
+
code: "WorkflowRuntimeError.singleInitialRequired",
|
|
26
|
+
message: "The one-node agent workflow path requires exactly one initial node.",
|
|
27
|
+
severity: "error",
|
|
28
|
+
path: "$.initial",
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
if (Object.keys(definition.edges).length > 0) {
|
|
32
|
+
diagnostics.push({
|
|
33
|
+
code: "WorkflowRuntimeError.edgesUnsupported",
|
|
34
|
+
message: "The one-node agent workflow path does not execute edges.",
|
|
35
|
+
severity: "error",
|
|
36
|
+
path: "$.edges",
|
|
37
|
+
hint: "Use the later graph runtime path for multi-node workflows with edges.",
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const [nodeId, node] = nodeEntries[0] ?? [];
|
|
41
|
+
if (nodeId && node) {
|
|
42
|
+
const finalNodeIds = definition.final
|
|
43
|
+
? toNodeIdArray(definition.final)
|
|
44
|
+
: [nodeId];
|
|
45
|
+
if (initialNodeIds.length === 1 && initialNodeIds[0] !== nodeId) {
|
|
46
|
+
diagnostics.push({
|
|
47
|
+
code: "WorkflowRuntimeError.initialNodeMismatch",
|
|
48
|
+
message: "The initial node must be the only declared node for the one-node agent workflow path.",
|
|
49
|
+
severity: "error",
|
|
50
|
+
path: "$.initial",
|
|
51
|
+
nodeId: initialNodeIds[0],
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
if (finalNodeIds.length !== 1 || finalNodeIds[0] !== nodeId) {
|
|
55
|
+
diagnostics.push({
|
|
56
|
+
code: "WorkflowRuntimeError.finalNodeMismatch",
|
|
57
|
+
message: "The final node must be the only declared node for the one-node agent workflow path.",
|
|
58
|
+
severity: "error",
|
|
59
|
+
path: "$.final",
|
|
60
|
+
nodeId,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (node.kind !== "agent") {
|
|
64
|
+
diagnostics.push({
|
|
65
|
+
code: "WorkflowRuntimeError.agentNodeRequired",
|
|
66
|
+
message: "The one-node workflow path only supports agent nodes.",
|
|
67
|
+
severity: "error",
|
|
68
|
+
path: `$.nodes.${nodeId}.kind`,
|
|
69
|
+
nodeId,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
else if (node.runtime !== "pibo") {
|
|
73
|
+
diagnostics.push({
|
|
74
|
+
code: "WorkflowRuntimeError.piboRuntimeRequired",
|
|
75
|
+
message: "Agent nodes must use the Pibo runtime in the one-node agent workflow path.",
|
|
76
|
+
severity: "error",
|
|
77
|
+
path: `$.nodes.${nodeId}.runtime`,
|
|
78
|
+
nodeId,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return diagnostics.some((diagnostic) => diagnostic.severity === "error")
|
|
83
|
+
? { ok: false, diagnostics }
|
|
84
|
+
: { ok: true, diagnostics };
|
|
85
|
+
}
|
|
86
|
+
export async function runOneNodeAgentWorkflow(definition, input, options) {
|
|
87
|
+
const events = [];
|
|
88
|
+
const shapeResult = validateOneNodeAgentWorkflowPath(definition);
|
|
89
|
+
if (!shapeResult.ok) {
|
|
90
|
+
return runtimeFailure(events, shapeResult.diagnostics, {
|
|
91
|
+
code: "WorkflowRuntimeError.invalidDefinition",
|
|
92
|
+
message: "Workflow definition cannot run on the one-node agent workflow path.",
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
const inputResult = validateWorkflowInput(definition, input);
|
|
96
|
+
if (!inputResult.ok) {
|
|
97
|
+
return runtimeFailure(events, inputResult.diagnostics, {
|
|
98
|
+
code: "WorkflowRuntimeError.invalidInput",
|
|
99
|
+
message: "Workflow input failed validation before execution.",
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
const initialGlobalState = { ...(options.initialGlobalState ?? {}) };
|
|
103
|
+
const globalStateResult = validateWorkflowGlobalState(definition, initialGlobalState);
|
|
104
|
+
if (!globalStateResult.ok) {
|
|
105
|
+
return runtimeFailure(events, globalStateResult.diagnostics, {
|
|
106
|
+
code: "WorkflowRuntimeError.invalidGlobalState",
|
|
107
|
+
message: "Workflow global state failed validation before execution.",
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
const nodeId = toNodeIdArray(definition.initial)[0];
|
|
111
|
+
const node = definition.nodes[nodeId];
|
|
112
|
+
const timestamp = createTimestampFactory(options.now);
|
|
113
|
+
const createdAt = timestamp();
|
|
114
|
+
const run = {
|
|
115
|
+
id: options.createRunId?.() ?? createId("wfr"),
|
|
116
|
+
workflowId: definition.id,
|
|
117
|
+
workflowVersion: definition.version,
|
|
118
|
+
status: "running",
|
|
119
|
+
current: { nodeId, status: "running" },
|
|
120
|
+
input,
|
|
121
|
+
state: createInitialWorkflowRunState(initialGlobalState, options.initialLocalState),
|
|
122
|
+
createdAt,
|
|
123
|
+
updatedAt: createdAt,
|
|
124
|
+
};
|
|
125
|
+
await emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, {
|
|
126
|
+
type: "workflow.started",
|
|
127
|
+
runId: run.id,
|
|
128
|
+
workflowId: definition.id,
|
|
129
|
+
});
|
|
130
|
+
await persistWorkflowRun(options.store, run);
|
|
131
|
+
const nodeAttempt = {
|
|
132
|
+
id: options.createNodeAttemptId?.() ?? createId("wna"),
|
|
133
|
+
workflowRunId: run.id,
|
|
134
|
+
nodeId,
|
|
135
|
+
attempt: 1,
|
|
136
|
+
kind: "agent",
|
|
137
|
+
status: "running",
|
|
138
|
+
input,
|
|
139
|
+
startedAt: timestamp(),
|
|
140
|
+
...localStateSnapshotForNode(run, nodeId),
|
|
141
|
+
};
|
|
142
|
+
await emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, {
|
|
143
|
+
type: "node.started",
|
|
144
|
+
runId: run.id,
|
|
145
|
+
nodeAttemptId: nodeAttempt.id,
|
|
146
|
+
nodeId,
|
|
147
|
+
});
|
|
148
|
+
await persistWorkflowNodeAttempt(options.store, nodeAttempt);
|
|
149
|
+
try {
|
|
150
|
+
const profileResolution = await resolveAgentProfileForRuntime({
|
|
151
|
+
workflow: definition,
|
|
152
|
+
run,
|
|
153
|
+
nodeId,
|
|
154
|
+
node,
|
|
155
|
+
resolver: options.profileResolver,
|
|
156
|
+
});
|
|
157
|
+
if (!profileResolution.ok) {
|
|
158
|
+
return failRunningWorkflow({
|
|
159
|
+
run,
|
|
160
|
+
nodeAttempt,
|
|
161
|
+
events,
|
|
162
|
+
diagnostics: profileResolution.diagnostics,
|
|
163
|
+
timestamp,
|
|
164
|
+
store: options.store,
|
|
165
|
+
emitEvent: options.emitEvent,
|
|
166
|
+
error: profileResolution.error,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
const promptResult = await buildAgentNodePrompt(node, input, {
|
|
170
|
+
workflow: definition,
|
|
171
|
+
run,
|
|
172
|
+
nodeId,
|
|
173
|
+
registry: options.registry,
|
|
174
|
+
});
|
|
175
|
+
if (!promptResult.ok) {
|
|
176
|
+
return failRunningWorkflow({
|
|
177
|
+
run,
|
|
178
|
+
nodeAttempt,
|
|
179
|
+
events,
|
|
180
|
+
diagnostics: promptResult.diagnostics,
|
|
181
|
+
timestamp,
|
|
182
|
+
store: options.store,
|
|
183
|
+
emitEvent: options.emitEvent,
|
|
184
|
+
error: promptResult.error,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
recordFinalAgentPrompt(nodeAttempt, promptResult.recordedPrompt);
|
|
188
|
+
await persistWorkflowNodeAttempt(options.store, nodeAttempt);
|
|
189
|
+
const executorResult = await options.agentExecutor({
|
|
190
|
+
workflow: definition,
|
|
191
|
+
run: createNodeScopedWorkflowRun(run, nodeId),
|
|
192
|
+
nodeAttemptId: nodeAttempt.id,
|
|
193
|
+
nodeId,
|
|
194
|
+
node,
|
|
195
|
+
input,
|
|
196
|
+
prompt: promptResult.prompt,
|
|
197
|
+
profileId: profileResolution.profile.id,
|
|
198
|
+
resolvedProfile: profileResolution.profile,
|
|
199
|
+
routing: node.routing,
|
|
200
|
+
});
|
|
201
|
+
const nodeOutputResult = validateNodeOutput(definition, nodeId, executorResult.output);
|
|
202
|
+
if (!nodeOutputResult.ok) {
|
|
203
|
+
return failRunningWorkflow({
|
|
204
|
+
run,
|
|
205
|
+
nodeAttempt,
|
|
206
|
+
events,
|
|
207
|
+
diagnostics: nodeOutputResult.diagnostics,
|
|
208
|
+
timestamp,
|
|
209
|
+
store: options.store,
|
|
210
|
+
emitEvent: options.emitEvent,
|
|
211
|
+
error: {
|
|
212
|
+
code: "WorkflowRuntimeError.invalidNodeOutput",
|
|
213
|
+
message: "Agent node output failed validation before workflow completion.",
|
|
214
|
+
},
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
const workflowOutputResult = validateWorkflowOutput(definition, executorResult.output);
|
|
218
|
+
if (!workflowOutputResult.ok) {
|
|
219
|
+
return failRunningWorkflow({
|
|
220
|
+
run,
|
|
221
|
+
nodeAttempt,
|
|
222
|
+
events,
|
|
223
|
+
diagnostics: workflowOutputResult.diagnostics,
|
|
224
|
+
timestamp,
|
|
225
|
+
store: options.store,
|
|
226
|
+
emitEvent: options.emitEvent,
|
|
227
|
+
error: {
|
|
228
|
+
code: "WorkflowRuntimeError.invalidWorkflowOutput",
|
|
229
|
+
message: "Workflow output failed validation before completion.",
|
|
230
|
+
},
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
const runtimeMetadata = createAgentRuntimeSelectionMetadata({
|
|
234
|
+
run,
|
|
235
|
+
node,
|
|
236
|
+
profile: profileResolution.profile,
|
|
237
|
+
executorResult,
|
|
238
|
+
});
|
|
239
|
+
const completedAt = timestamp();
|
|
240
|
+
nodeAttempt.status = "completed";
|
|
241
|
+
nodeAttempt.output = executorResult.output;
|
|
242
|
+
nodeAttempt.completedAt = completedAt;
|
|
243
|
+
Object.assign(nodeAttempt, localStateSnapshotForNode(run, nodeId));
|
|
244
|
+
nodeAttempt.metadata = {
|
|
245
|
+
...nodeAttempt.metadata,
|
|
246
|
+
runtime: runtimeMetadata,
|
|
247
|
+
...(executorResult.piboSessionId
|
|
248
|
+
? { piboSessionId: executorResult.piboSessionId }
|
|
249
|
+
: {}),
|
|
250
|
+
...(executorResult.piSessionId
|
|
251
|
+
? { piSessionId: executorResult.piSessionId }
|
|
252
|
+
: {}),
|
|
253
|
+
};
|
|
254
|
+
await emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, {
|
|
255
|
+
type: "node.completed",
|
|
256
|
+
runId: run.id,
|
|
257
|
+
nodeAttemptId: nodeAttempt.id,
|
|
258
|
+
output: executorResult.output,
|
|
259
|
+
});
|
|
260
|
+
await persistWorkflowNodeAttempt(options.store, nodeAttempt);
|
|
261
|
+
run.status = "completed";
|
|
262
|
+
run.current = { nodeId, status: "completed" };
|
|
263
|
+
linkWorkflowRunToAgentSession(run, node, executorResult);
|
|
264
|
+
run.output = executorResult.output;
|
|
265
|
+
run.completedAt = completedAt;
|
|
266
|
+
run.updatedAt = completedAt;
|
|
267
|
+
await emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, {
|
|
268
|
+
type: "workflow.completed",
|
|
269
|
+
runId: run.id,
|
|
270
|
+
output: executorResult.output,
|
|
271
|
+
});
|
|
272
|
+
await persistWorkflowRun(options.store, run);
|
|
273
|
+
return {
|
|
274
|
+
ok: true,
|
|
275
|
+
run,
|
|
276
|
+
nodeAttempt,
|
|
277
|
+
events,
|
|
278
|
+
output: executorResult.output,
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
catch (caught) {
|
|
282
|
+
return failRunningWorkflow({
|
|
283
|
+
run,
|
|
284
|
+
nodeAttempt,
|
|
285
|
+
events,
|
|
286
|
+
diagnostics: [],
|
|
287
|
+
timestamp,
|
|
288
|
+
store: options.store,
|
|
289
|
+
emitEvent: options.emitEvent,
|
|
290
|
+
error: agentExecutorErrorSummaryFromCaught(caught),
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
async function failRunningWorkflow(options) {
|
|
295
|
+
const failedAt = options.timestamp();
|
|
296
|
+
options.nodeAttempt.status = "failed";
|
|
297
|
+
options.nodeAttempt.error = options.error;
|
|
298
|
+
options.nodeAttempt.failedAt = failedAt;
|
|
299
|
+
options.run.status = "failed";
|
|
300
|
+
options.run.current = {
|
|
301
|
+
nodeId: options.nodeAttempt.nodeId,
|
|
302
|
+
status: "failed",
|
|
303
|
+
};
|
|
304
|
+
options.run.failedAt = failedAt;
|
|
305
|
+
options.run.updatedAt = failedAt;
|
|
306
|
+
await emitWorkflowRuntimeEvent(options.events, options.store, options.emitEvent, {
|
|
307
|
+
type: "node.failed",
|
|
308
|
+
runId: options.run.id,
|
|
309
|
+
nodeAttemptId: options.nodeAttempt.id,
|
|
310
|
+
error: options.error,
|
|
311
|
+
});
|
|
312
|
+
await emitWorkflowRuntimeEvent(options.events, options.store, options.emitEvent, {
|
|
313
|
+
type: "workflow.failed",
|
|
314
|
+
runId: options.run.id,
|
|
315
|
+
error: options.error,
|
|
316
|
+
});
|
|
317
|
+
await persistWorkflowNodeAttempt(options.store, options.nodeAttempt);
|
|
318
|
+
await persistWorkflowRun(options.store, options.run);
|
|
319
|
+
return {
|
|
320
|
+
ok: false,
|
|
321
|
+
run: options.run,
|
|
322
|
+
nodeAttempt: options.nodeAttempt,
|
|
323
|
+
events: options.events,
|
|
324
|
+
diagnostics: options.diagnostics,
|
|
325
|
+
error: options.error,
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
function runtimeFailure(events, diagnostics, error) {
|
|
329
|
+
return { ok: false, events, diagnostics, error };
|
|
330
|
+
}
|
|
331
|
+
function toNodeIdArray(value) {
|
|
332
|
+
return Array.isArray(value) ? value : [value];
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=one-node-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"one-node-agent.js","sourceRoot":"","sources":["../../src/runtime/one-node-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { EdgeTransfer, NodeAttempt, WorkflowEventEmitter, WorkflowRun, WorkflowRuntimeEvent } from "../types/index.js";
|
|
2
|
+
import type { WorkflowNodeAttemptStore, WorkflowRunStore, WorkflowWakeupStore } from "../store/index.js";
|
|
3
|
+
export declare function emitWorkflowRuntimeEvent(events: WorkflowRuntimeEvent[], store: WorkflowRunStore | undefined, emitEvent: WorkflowEventEmitter | undefined, event: WorkflowRuntimeEvent): Promise<void>;
|
|
4
|
+
export declare function persistWorkflowRun(store: WorkflowRunStore | undefined, run: WorkflowRun): Promise<void>;
|
|
5
|
+
export declare function persistWorkflowNodeAttempt(store: WorkflowRunStore | undefined, nodeAttempt: NodeAttempt): Promise<void>;
|
|
6
|
+
export declare function persistWorkflowEdgeTransfer(store: WorkflowRunStore | undefined, transfer: EdgeTransfer): Promise<void>;
|
|
7
|
+
export declare function hasWorkflowWakeupStore(store: WorkflowRunStore | undefined): store is WorkflowRunStore & Pick<WorkflowWakeupStore, "saveWakeup">;
|
|
8
|
+
export declare function hasWorkflowNodeAttemptReadStore(store: WorkflowRunStore | undefined): store is WorkflowRunStore & Pick<WorkflowNodeAttemptStore, "getNodeAttempt" | "saveNodeAttempt">;
|
|
9
|
+
//# sourceMappingURL=persistence.d.ts.map
|