@pasko70/pibo 3.3.0 → 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.
Files changed (237) hide show
  1. package/dist/agent-runtime/capabilities.js +5 -0
  2. package/dist/agent-runtime/contract.js +2 -0
  3. package/dist/agent-runtime/routed-session.js +68 -11
  4. package/dist/agent-runtimes/codex-native/adapter.js +3 -0
  5. package/dist/agent-runtimes/codex-native/thread.js +26 -4
  6. package/dist/agent-runtimes/omp/adapter.js +1 -0
  7. package/dist/agent-runtimes/pi/adapter.js +4 -0
  8. package/dist/agent-runtimes/pi/routed-session.js +53 -5
  9. package/dist/apps/chat/chat-api-routes.js +11 -37
  10. package/dist/apps/chat/chat-request-normalizers.js +8 -48
  11. package/dist/apps/chat/data/legacy-project-migration.js +492 -0
  12. package/dist/apps/chat/data/room-service.js +2 -2
  13. package/dist/apps/chat/data/workflow-session-model.js +1 -0
  14. package/dist/apps/chat/data/workflow-session-service.js +352 -0
  15. package/dist/apps/chat/rooms.js +1 -1
  16. package/dist/apps/chat/types/rooms.js +30 -0
  17. package/dist/apps/chat/web-app.js +264 -647
  18. package/dist/apps/chat/workflow-catalog.js +18 -18
  19. package/dist/apps/chat/{project-workflow-human-actions.js → workflow-human-actions.js} +14 -14
  20. package/dist/apps/chat/workflow-manual-trigger-runtime.js +5 -1
  21. package/dist/apps/chat/workflow-persistence.js +20 -28
  22. package/dist/apps/chat/{project-workflow-sessions.js → workflow-sessions.js} +18 -17
  23. package/dist/apps/chat-ui/assets/{dist-Kc3zbvQi.js → dist-AhtdAETR.js} +1 -1
  24. package/dist/apps/chat-ui/assets/{dist-CcAkJ8iv.js → dist-Bk_L1qbJ.js} +1 -1
  25. package/dist/apps/chat-ui/assets/{dist-BbCjOLiw.js → dist-Dyp6sLQn.js} +1 -1
  26. package/dist/apps/chat-ui/assets/{dist-Bd9gWCbk.js → dist-jVaiGXFD.js} +1 -1
  27. package/dist/apps/chat-ui/assets/{dist-C9a0_446.js → dist-t25moyJS.js} +1 -1
  28. package/dist/apps/chat-ui/assets/index-CZjNw-aK.js +228 -0
  29. package/dist/apps/chat-ui/assets/index-CcEjFITM.css +1 -0
  30. package/dist/apps/chat-ui/index.html +2 -2
  31. package/dist/apps/chat-vscode-web/assets/index-Spj6M0tn.js +43 -0
  32. package/dist/apps/chat-vscode-web/index.html +1 -1
  33. package/dist/compute/pool/cli.js +1 -1
  34. package/dist/compute/pool/seeds.js +2 -3
  35. package/dist/config/config.js +1 -1
  36. package/dist/core/session-router.js +7 -4
  37. package/dist/previews/cli.js +154 -79
  38. package/dist/previews/compute-worker.js +37 -0
  39. package/dist/previews/config.js +2 -1
  40. package/dist/previews/migrations/session-ownership.js +7 -0
  41. package/dist/previews/proxy.js +4 -2
  42. package/dist/previews/public-setup.js +108 -0
  43. package/dist/previews/store.js +20 -13
  44. package/dist/previews/web-app.js +12 -2
  45. package/dist/sessions/workflow-session-kind.js +0 -3
  46. package/npm-shrinkwrap.json +7 -6
  47. package/package.json +6 -2
  48. package/packages/workflows/README.md +21 -0
  49. package/packages/workflows/dist/api/index.d.ts +48 -0
  50. package/packages/workflows/dist/api/index.d.ts.map +1 -0
  51. package/packages/workflows/dist/api/index.js +96 -0
  52. package/packages/workflows/dist/api/index.js.map +1 -0
  53. package/packages/workflows/dist/definition-hash.d.ts +4 -0
  54. package/packages/workflows/dist/definition-hash.d.ts.map +1 -0
  55. package/packages/workflows/dist/definition-hash.js +27 -0
  56. package/packages/workflows/dist/definition-hash.js.map +1 -0
  57. package/packages/workflows/dist/fixtures/index.d.ts +39 -0
  58. package/packages/workflows/dist/fixtures/index.d.ts.map +1 -0
  59. package/packages/workflows/dist/fixtures/index.js +608 -0
  60. package/packages/workflows/dist/fixtures/index.js.map +1 -0
  61. package/packages/workflows/dist/index.d.ts +16 -0
  62. package/packages/workflows/dist/index.d.ts.map +1 -0
  63. package/packages/workflows/dist/index.js +10 -0
  64. package/packages/workflows/dist/index.js.map +1 -0
  65. package/packages/workflows/dist/inspection/index.d.ts +47 -0
  66. package/packages/workflows/dist/inspection/index.d.ts.map +1 -0
  67. package/packages/workflows/dist/inspection/index.js +131 -0
  68. package/packages/workflows/dist/inspection/index.js.map +1 -0
  69. package/packages/workflows/dist/registry/index.d.ts +30 -0
  70. package/packages/workflows/dist/registry/index.d.ts.map +1 -0
  71. package/packages/workflows/dist/registry/index.js +161 -0
  72. package/packages/workflows/dist/registry/index.js.map +1 -0
  73. package/packages/workflows/dist/runtime/adapter-node.d.ts +28 -0
  74. package/packages/workflows/dist/runtime/adapter-node.d.ts.map +1 -0
  75. package/packages/workflows/dist/runtime/adapter-node.js +172 -0
  76. package/packages/workflows/dist/runtime/adapter-node.js.map +1 -0
  77. package/packages/workflows/dist/runtime/agent-node.d.ts +32 -0
  78. package/packages/workflows/dist/runtime/agent-node.d.ts.map +1 -0
  79. package/packages/workflows/dist/runtime/agent-node.js +231 -0
  80. package/packages/workflows/dist/runtime/agent-node.js.map +1 -0
  81. package/packages/workflows/dist/runtime/agent-runtime.d.ts +25 -0
  82. package/packages/workflows/dist/runtime/agent-runtime.d.ts.map +1 -0
  83. package/packages/workflows/dist/runtime/agent-runtime.js +111 -0
  84. package/packages/workflows/dist/runtime/agent-runtime.js.map +1 -0
  85. package/packages/workflows/dist/runtime/code-node.d.ts +31 -0
  86. package/packages/workflows/dist/runtime/code-node.d.ts.map +1 -0
  87. package/packages/workflows/dist/runtime/code-node.js +223 -0
  88. package/packages/workflows/dist/runtime/code-node.js.map +1 -0
  89. package/packages/workflows/dist/runtime/dispatch-failures.d.ts +36 -0
  90. package/packages/workflows/dist/runtime/dispatch-failures.d.ts.map +1 -0
  91. package/packages/workflows/dist/runtime/dispatch-failures.js +80 -0
  92. package/packages/workflows/dist/runtime/dispatch-failures.js.map +1 -0
  93. package/packages/workflows/dist/runtime/edge-payloads.d.ts +3 -0
  94. package/packages/workflows/dist/runtime/edge-payloads.d.ts.map +1 -0
  95. package/packages/workflows/dist/runtime/edge-payloads.js +11 -0
  96. package/packages/workflows/dist/runtime/edge-payloads.js.map +1 -0
  97. package/packages/workflows/dist/runtime/edge-transfer.d.ts +39 -0
  98. package/packages/workflows/dist/runtime/edge-transfer.d.ts.map +1 -0
  99. package/packages/workflows/dist/runtime/edge-transfer.js +356 -0
  100. package/packages/workflows/dist/runtime/edge-transfer.js.map +1 -0
  101. package/packages/workflows/dist/runtime/human-action.d.ts +43 -0
  102. package/packages/workflows/dist/runtime/human-action.d.ts.map +1 -0
  103. package/packages/workflows/dist/runtime/human-action.js +231 -0
  104. package/packages/workflows/dist/runtime/human-action.js.map +1 -0
  105. package/packages/workflows/dist/runtime/human-node.d.ts +27 -0
  106. package/packages/workflows/dist/runtime/human-node.d.ts.map +1 -0
  107. package/packages/workflows/dist/runtime/human-node.js +126 -0
  108. package/packages/workflows/dist/runtime/human-node.js.map +1 -0
  109. package/packages/workflows/dist/runtime/ids.d.ts +2 -0
  110. package/packages/workflows/dist/runtime/ids.d.ts.map +1 -0
  111. package/packages/workflows/dist/runtime/ids.js +4 -0
  112. package/packages/workflows/dist/runtime/ids.js.map +1 -0
  113. package/packages/workflows/dist/runtime/index.d.ts +23 -0
  114. package/packages/workflows/dist/runtime/index.d.ts.map +1 -0
  115. package/packages/workflows/dist/runtime/index.js +12 -0
  116. package/packages/workflows/dist/runtime/index.js.map +1 -0
  117. package/packages/workflows/dist/runtime/manual-trigger.d.ts +51 -0
  118. package/packages/workflows/dist/runtime/manual-trigger.d.ts.map +1 -0
  119. package/packages/workflows/dist/runtime/manual-trigger.js +403 -0
  120. package/packages/workflows/dist/runtime/manual-trigger.js.map +1 -0
  121. package/packages/workflows/dist/runtime/nested-workflow-node.d.ts +48 -0
  122. package/packages/workflows/dist/runtime/nested-workflow-node.d.ts.map +1 -0
  123. package/packages/workflows/dist/runtime/nested-workflow-node.js +246 -0
  124. package/packages/workflows/dist/runtime/nested-workflow-node.js.map +1 -0
  125. package/packages/workflows/dist/runtime/one-node-agent.d.ts +34 -0
  126. package/packages/workflows/dist/runtime/one-node-agent.d.ts.map +1 -0
  127. package/packages/workflows/dist/runtime/one-node-agent.js +334 -0
  128. package/packages/workflows/dist/runtime/one-node-agent.js.map +1 -0
  129. package/packages/workflows/dist/runtime/persistence.d.ts +9 -0
  130. package/packages/workflows/dist/runtime/persistence.d.ts.map +1 -0
  131. package/packages/workflows/dist/runtime/persistence.js +67 -0
  132. package/packages/workflows/dist/runtime/persistence.js.map +1 -0
  133. package/packages/workflows/dist/runtime/pibo-routing.d.ts +126 -0
  134. package/packages/workflows/dist/runtime/pibo-routing.d.ts.map +1 -0
  135. package/packages/workflows/dist/runtime/pibo-routing.js +96 -0
  136. package/packages/workflows/dist/runtime/pibo-routing.js.map +1 -0
  137. package/packages/workflows/dist/runtime/prompts.d.ts +20 -0
  138. package/packages/workflows/dist/runtime/prompts.d.ts.map +1 -0
  139. package/packages/workflows/dist/runtime/prompts.js +235 -0
  140. package/packages/workflows/dist/runtime/prompts.js.map +1 -0
  141. package/packages/workflows/dist/runtime/retry.d.ts +35 -0
  142. package/packages/workflows/dist/runtime/retry.d.ts.map +1 -0
  143. package/packages/workflows/dist/runtime/retry.js +80 -0
  144. package/packages/workflows/dist/runtime/retry.js.map +1 -0
  145. package/packages/workflows/dist/runtime/state.d.ts +14 -0
  146. package/packages/workflows/dist/runtime/state.d.ts.map +1 -0
  147. package/packages/workflows/dist/runtime/state.js +139 -0
  148. package/packages/workflows/dist/runtime/state.js.map +1 -0
  149. package/packages/workflows/dist/runtime/time.d.ts +6 -0
  150. package/packages/workflows/dist/runtime/time.d.ts.map +1 -0
  151. package/packages/workflows/dist/runtime/time.js +42 -0
  152. package/packages/workflows/dist/runtime/time.js.map +1 -0
  153. package/packages/workflows/dist/store/catalog-records.d.ts +18 -0
  154. package/packages/workflows/dist/store/catalog-records.d.ts.map +1 -0
  155. package/packages/workflows/dist/store/catalog-records.js +59 -0
  156. package/packages/workflows/dist/store/catalog-records.js.map +1 -0
  157. package/packages/workflows/dist/store/contracts.d.ts +149 -0
  158. package/packages/workflows/dist/store/contracts.d.ts.map +1 -0
  159. package/packages/workflows/dist/store/contracts.js +2 -0
  160. package/packages/workflows/dist/store/contracts.js.map +1 -0
  161. package/packages/workflows/dist/store/draft-writes.d.ts +7 -0
  162. package/packages/workflows/dist/store/draft-writes.d.ts.map +1 -0
  163. package/packages/workflows/dist/store/draft-writes.js +18 -0
  164. package/packages/workflows/dist/store/draft-writes.js.map +1 -0
  165. package/packages/workflows/dist/store/index.d.ts +55 -0
  166. package/packages/workflows/dist/store/index.d.ts.map +1 -0
  167. package/packages/workflows/dist/store/index.js +650 -0
  168. package/packages/workflows/dist/store/index.js.map +1 -0
  169. package/packages/workflows/dist/store/list-query.d.ts +13 -0
  170. package/packages/workflows/dist/store/list-query.d.ts.map +1 -0
  171. package/packages/workflows/dist/store/list-query.js +20 -0
  172. package/packages/workflows/dist/store/list-query.js.map +1 -0
  173. package/packages/workflows/dist/store/row-mappers.d.ts +206 -0
  174. package/packages/workflows/dist/store/row-mappers.d.ts.map +1 -0
  175. package/packages/workflows/dist/store/row-mappers.js +262 -0
  176. package/packages/workflows/dist/store/row-mappers.js.map +1 -0
  177. package/packages/workflows/dist/store/schema.d.ts +13 -0
  178. package/packages/workflows/dist/store/schema.d.ts.map +1 -0
  179. package/packages/workflows/dist/store/schema.js +458 -0
  180. package/packages/workflows/dist/store/schema.js.map +1 -0
  181. package/packages/workflows/dist/store/write-values.d.ts +18 -0
  182. package/packages/workflows/dist/store/write-values.d.ts.map +1 -0
  183. package/packages/workflows/dist/store/write-values.js +227 -0
  184. package/packages/workflows/dist/store/write-values.js.map +1 -0
  185. package/packages/workflows/dist/types/index.d.ts +1202 -0
  186. package/packages/workflows/dist/types/index.d.ts.map +1 -0
  187. package/packages/workflows/dist/types/index.js +8 -0
  188. package/packages/workflows/dist/types/index.js.map +1 -0
  189. package/packages/workflows/dist/validation/diagnostics.d.ts +27 -0
  190. package/packages/workflows/dist/validation/diagnostics.d.ts.map +1 -0
  191. package/packages/workflows/dist/validation/diagnostics.js +104 -0
  192. package/packages/workflows/dist/validation/diagnostics.js.map +1 -0
  193. package/packages/workflows/dist/validation/graph-cycles.d.ts +4 -0
  194. package/packages/workflows/dist/validation/graph-cycles.d.ts.map +1 -0
  195. package/packages/workflows/dist/validation/graph-cycles.js +130 -0
  196. package/packages/workflows/dist/validation/graph-cycles.js.map +1 -0
  197. package/packages/workflows/dist/validation/graph-edges.d.ts +5 -0
  198. package/packages/workflows/dist/validation/graph-edges.d.ts.map +1 -0
  199. package/packages/workflows/dist/validation/graph-edges.js +48 -0
  200. package/packages/workflows/dist/validation/graph-edges.js.map +1 -0
  201. package/packages/workflows/dist/validation/graph-ports.d.ts +5 -0
  202. package/packages/workflows/dist/validation/graph-ports.d.ts.map +1 -0
  203. package/packages/workflows/dist/validation/graph-ports.js +55 -0
  204. package/packages/workflows/dist/validation/graph-ports.js.map +1 -0
  205. package/packages/workflows/dist/validation/index.d.ts +18 -0
  206. package/packages/workflows/dist/validation/index.d.ts.map +1 -0
  207. package/packages/workflows/dist/validation/index.js +175 -0
  208. package/packages/workflows/dist/validation/index.js.map +1 -0
  209. package/packages/workflows/dist/validation/json-schema.d.ts +12 -0
  210. package/packages/workflows/dist/validation/json-schema.d.ts.map +1 -0
  211. package/packages/workflows/dist/validation/json-schema.js +556 -0
  212. package/packages/workflows/dist/validation/json-schema.js.map +1 -0
  213. package/packages/workflows/dist/validation/registry-refs.d.ts +21 -0
  214. package/packages/workflows/dist/validation/registry-refs.d.ts.map +1 -0
  215. package/packages/workflows/dist/validation/registry-refs.js +283 -0
  216. package/packages/workflows/dist/validation/registry-refs.js.map +1 -0
  217. package/packages/workflows/dist/validation/retry-policy.d.ts +3 -0
  218. package/packages/workflows/dist/validation/retry-policy.d.ts.map +1 -0
  219. package/packages/workflows/dist/validation/retry-policy.js +114 -0
  220. package/packages/workflows/dist/validation/retry-policy.js.map +1 -0
  221. package/packages/workflows/dist/validation/schema-declarations.d.ts +5 -0
  222. package/packages/workflows/dist/validation/schema-declarations.d.ts.map +1 -0
  223. package/packages/workflows/dist/validation/schema-declarations.js +36 -0
  224. package/packages/workflows/dist/validation/schema-declarations.js.map +1 -0
  225. package/packages/workflows/dist/validation/state-access.d.ts +4 -0
  226. package/packages/workflows/dist/validation/state-access.d.ts.map +1 -0
  227. package/packages/workflows/dist/validation/state-access.js +121 -0
  228. package/packages/workflows/dist/validation/state-access.js.map +1 -0
  229. package/packages/workflows/dist/xstate/index.d.ts +73 -0
  230. package/packages/workflows/dist/xstate/index.d.ts.map +1 -0
  231. package/packages/workflows/dist/xstate/index.js +728 -0
  232. package/packages/workflows/dist/xstate/index.js.map +1 -0
  233. package/packages/workflows/package.json +23 -0
  234. package/dist/apps/chat/data/project-service.js +0 -1029
  235. package/dist/apps/chat-ui/assets/index-DWJnUye8.css +0 -1
  236. package/dist/apps/chat-ui/assets/index-exohEOUE.js +0 -228
  237. 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,3 @@
1
+ import type { EdgePayloadReader, WorkflowValue } from "../types/index.js";
2
+ export declare function createEdgePayloadReader(payloads: Record<string, WorkflowValue>): EdgePayloadReader;
3
+ //# sourceMappingURL=edge-payloads.d.ts.map
@@ -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,11 @@
1
+ export function createEdgePayloadReader(payloads) {
2
+ return {
3
+ get(edgeId) {
4
+ return payloads[edgeId];
5
+ },
6
+ all() {
7
+ return { ...payloads };
8
+ },
9
+ };
10
+ }
11
+ //# sourceMappingURL=edge-payloads.js.map
@@ -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"}