@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,32 @@
1
+ import type { NodeAttempt, NodeAttemptId, WorkflowDefinition, WorkflowDiagnostic, WorkflowErrorSummary, WorkflowEventEmitter, WorkflowRegistry, WorkflowRun, WorkflowRuntimeEvent, WorkflowValue } from "../types/index.js";
2
+ import type { WorkflowRunStore } from "../store/index.js";
3
+ import type { AgentProfileResolver, OneNodeAgentExecutor, OneNodeAgentExecutorResult } from "./pibo-routing.js";
4
+ export type WorkflowAgentNodeDispatchOptions = {
5
+ registry?: Pick<WorkflowRegistry, "promptBuilders">;
6
+ now?: () => Date | string;
7
+ createNodeAttemptId?: () => NodeAttemptId;
8
+ store?: WorkflowRunStore;
9
+ emitEvent?: WorkflowEventEmitter;
10
+ profileResolver?: AgentProfileResolver;
11
+ agentExecutor: OneNodeAgentExecutor;
12
+ edgePayloads?: Record<string, WorkflowValue>;
13
+ };
14
+ export type WorkflowAgentNodeDispatchSuccess = {
15
+ ok: true;
16
+ run: WorkflowRun;
17
+ nodeAttempt: NodeAttempt;
18
+ events: WorkflowRuntimeEvent[];
19
+ output: WorkflowValue;
20
+ result: OneNodeAgentExecutorResult;
21
+ };
22
+ export type WorkflowAgentNodeDispatchFailure = {
23
+ ok: false;
24
+ run: WorkflowRun;
25
+ nodeAttempt?: NodeAttempt;
26
+ events: WorkflowRuntimeEvent[];
27
+ diagnostics: WorkflowDiagnostic[];
28
+ error: WorkflowErrorSummary;
29
+ };
30
+ export type WorkflowAgentNodeDispatchResult = WorkflowAgentNodeDispatchSuccess | WorkflowAgentNodeDispatchFailure;
31
+ export declare function dispatchWorkflowAgentNode(definition: WorkflowDefinition, run: WorkflowRun, nodeId: string, input: WorkflowValue, options: WorkflowAgentNodeDispatchOptions): Promise<WorkflowAgentNodeDispatchResult>;
32
+ //# sourceMappingURL=agent-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-node.d.ts","sourceRoot":"","sources":["../../src/runtime/agent-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACX,aAAa,EACb,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;AAU1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAUhH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACpD,GAAG,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC;IAC1B,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;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,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;IACtB,MAAM,EAAE,0BAA0B,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,EAAE,EAAE,KAAK,CAAC;IACV,GAAG,EAAE,WAAW,CAAC;IACjB,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,+BAA+B,GACvC,gCAAgC,GAChC,gCAAgC,CAAC;AAErC,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,+BAA+B,CAAC,CAgP1C"}
@@ -0,0 +1,231 @@
1
+ import { validateNodeOutput, validateWorkflowPortValue } from "../validation/index.js";
2
+ import { agentNodeDispatchFailure, failAgentNodeDispatch } from "./dispatch-failures.js";
3
+ import { agentExecutorErrorSummaryFromCaught, createAgentRuntimeSelectionMetadata, linkWorkflowRunToAgentSession, resolveAgentProfileForRuntime, } from "./agent-runtime.js";
4
+ import { createWorkflowRuntimeId as createId } from "./ids.js";
5
+ import { createNodeScopedWorkflowRun, localStateSnapshotForNode } from "./state.js";
6
+ import { buildAgentNodePrompt, recordFinalAgentPrompt } from "./prompts.js";
7
+ import { emitWorkflowRuntimeEvent, persistWorkflowNodeAttempt, persistWorkflowRun, } from "./persistence.js";
8
+ import { createTimestampFactory } from "./time.js";
9
+ export async function dispatchWorkflowAgentNode(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 agentNodeDispatchFailure({
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 an agent node.`,
21
+ severity: "error",
22
+ nodeId,
23
+ path: `$.nodes.${nodeId}`,
24
+ },
25
+ ],
26
+ error: {
27
+ code: "WorkflowRuntimeError.unknownNode",
28
+ message: "Agent node dispatch failed because the node is not declared.",
29
+ },
30
+ });
31
+ }
32
+ if (node.kind !== "agent") {
33
+ return agentNodeDispatchFailure({
34
+ run,
35
+ events,
36
+ diagnostics: [
37
+ {
38
+ code: "WorkflowRuntimeError.agentNodeRequired",
39
+ message: `Workflow node '${nodeId}' is '${node.kind}', but agent node dispatch requires an agent node.`,
40
+ severity: "error",
41
+ nodeId,
42
+ path: `$.nodes.${nodeId}.kind`,
43
+ },
44
+ ],
45
+ error: {
46
+ code: "WorkflowRuntimeError.agentNodeRequired",
47
+ message: "Agent node dispatch failed because the selected node is not an agent node.",
48
+ },
49
+ });
50
+ }
51
+ const agentNode = node;
52
+ if (agentNode.runtime !== "pibo") {
53
+ return agentNodeDispatchFailure({
54
+ run,
55
+ events,
56
+ diagnostics: [
57
+ {
58
+ code: "WorkflowRuntimeError.piboRuntimeRequired",
59
+ message: `Workflow agent node '${nodeId}' uses runtime '${agentNode.runtime}', but V1 agent dispatch requires the Pibo runtime.`,
60
+ severity: "error",
61
+ nodeId,
62
+ path: `$.nodes.${nodeId}.runtime`,
63
+ },
64
+ ],
65
+ error: {
66
+ code: "WorkflowRuntimeError.piboRuntimeRequired",
67
+ message: "Agent node dispatch failed because the selected node does not use the Pibo runtime.",
68
+ },
69
+ });
70
+ }
71
+ const startedAt = timestamp();
72
+ const nodeAttempt = {
73
+ id: options.createNodeAttemptId?.() ?? createId("wna"),
74
+ workflowRunId: run.id,
75
+ nodeId,
76
+ attempt: 1,
77
+ kind: "agent",
78
+ status: "running",
79
+ input,
80
+ startedAt,
81
+ ...localStateSnapshotForNode(run, nodeId),
82
+ };
83
+ run.current = { nodeId, status: "running" };
84
+ run.updatedAt = startedAt;
85
+ await emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, {
86
+ type: "node.started",
87
+ runId: run.id,
88
+ nodeAttemptId: nodeAttempt.id,
89
+ nodeId,
90
+ });
91
+ await persistWorkflowNodeAttempt(options.store, nodeAttempt);
92
+ await persistWorkflowRun(options.store, run);
93
+ const diagnostics = [];
94
+ if (agentNode.input) {
95
+ diagnostics.push(...validateWorkflowPortValue(agentNode.input, input, { path: `$.nodes.${nodeId}.input` }).diagnostics.map((diagnostic) => ({ ...diagnostic, nodeId })));
96
+ }
97
+ if (diagnostics.some((diagnostic) => diagnostic.severity === "error")) {
98
+ return failAgentNodeDispatch({
99
+ run,
100
+ nodeAttempt,
101
+ events,
102
+ diagnostics,
103
+ timestamp,
104
+ store: options.store,
105
+ emitEvent: options.emitEvent,
106
+ error: {
107
+ code: "WorkflowRuntimeError.agentNodeDispatchFailed",
108
+ message: "Agent node dispatch failed before Pibo Runtime execution.",
109
+ },
110
+ });
111
+ }
112
+ try {
113
+ const profileResolution = await resolveAgentProfileForRuntime({
114
+ workflow: definition,
115
+ run,
116
+ nodeId,
117
+ node: agentNode,
118
+ resolver: options.profileResolver,
119
+ });
120
+ if (!profileResolution.ok) {
121
+ return failAgentNodeDispatch({
122
+ run,
123
+ nodeAttempt,
124
+ events,
125
+ diagnostics: profileResolution.diagnostics,
126
+ timestamp,
127
+ store: options.store,
128
+ emitEvent: options.emitEvent,
129
+ error: profileResolution.error,
130
+ });
131
+ }
132
+ const promptResult = await buildAgentNodePrompt(agentNode, input, {
133
+ workflow: definition,
134
+ run,
135
+ nodeId,
136
+ registry: options.registry,
137
+ edgePayloads: options.edgePayloads,
138
+ });
139
+ if (!promptResult.ok) {
140
+ return failAgentNodeDispatch({
141
+ run,
142
+ nodeAttempt,
143
+ events,
144
+ diagnostics: promptResult.diagnostics,
145
+ timestamp,
146
+ store: options.store,
147
+ emitEvent: options.emitEvent,
148
+ error: promptResult.error,
149
+ });
150
+ }
151
+ recordFinalAgentPrompt(nodeAttempt, promptResult.recordedPrompt);
152
+ await persistWorkflowNodeAttempt(options.store, nodeAttempt);
153
+ const executorResult = await options.agentExecutor({
154
+ workflow: definition,
155
+ run: createNodeScopedWorkflowRun(run, nodeId),
156
+ nodeAttemptId: nodeAttempt.id,
157
+ nodeId,
158
+ node: agentNode,
159
+ input,
160
+ prompt: promptResult.prompt,
161
+ profileId: profileResolution.profile.id,
162
+ resolvedProfile: profileResolution.profile,
163
+ routing: agentNode.routing,
164
+ });
165
+ const nodeOutputResult = validateNodeOutput(definition, nodeId, executorResult.output);
166
+ if (!nodeOutputResult.ok) {
167
+ return failAgentNodeDispatch({
168
+ run,
169
+ nodeAttempt,
170
+ events,
171
+ diagnostics: nodeOutputResult.diagnostics,
172
+ timestamp,
173
+ store: options.store,
174
+ emitEvent: options.emitEvent,
175
+ error: {
176
+ code: "WorkflowRuntimeError.invalidNodeOutput",
177
+ message: "Agent node output failed validation before downstream use.",
178
+ },
179
+ });
180
+ }
181
+ const runtimeMetadata = createAgentRuntimeSelectionMetadata({
182
+ run,
183
+ node: agentNode,
184
+ profile: profileResolution.profile,
185
+ executorResult,
186
+ });
187
+ const completedAt = timestamp();
188
+ nodeAttempt.status = "completed";
189
+ nodeAttempt.output = executorResult.output;
190
+ nodeAttempt.completedAt = completedAt;
191
+ Object.assign(nodeAttempt, localStateSnapshotForNode(run, nodeId));
192
+ nodeAttempt.metadata = {
193
+ ...nodeAttempt.metadata,
194
+ runtime: runtimeMetadata,
195
+ ...(executorResult.piboSessionId ? { piboSessionId: executorResult.piboSessionId } : {}),
196
+ ...(executorResult.piSessionId ? { piSessionId: executorResult.piSessionId } : {}),
197
+ };
198
+ linkWorkflowRunToAgentSession(run, agentNode, executorResult);
199
+ run.current = { nodeId, status: run.status };
200
+ run.updatedAt = completedAt;
201
+ await emitWorkflowRuntimeEvent(events, options.store, options.emitEvent, {
202
+ type: "node.completed",
203
+ runId: run.id,
204
+ nodeAttemptId: nodeAttempt.id,
205
+ output: executorResult.output,
206
+ });
207
+ await persistWorkflowNodeAttempt(options.store, nodeAttempt);
208
+ await persistWorkflowRun(options.store, run);
209
+ return {
210
+ ok: true,
211
+ run,
212
+ nodeAttempt,
213
+ events,
214
+ output: executorResult.output,
215
+ result: executorResult,
216
+ };
217
+ }
218
+ catch (caught) {
219
+ return failAgentNodeDispatch({
220
+ run,
221
+ nodeAttempt,
222
+ events,
223
+ diagnostics: [],
224
+ timestamp,
225
+ store: options.store,
226
+ emitEvent: options.emitEvent,
227
+ error: agentExecutorErrorSummaryFromCaught(caught),
228
+ });
229
+ }
230
+ }
231
+ //# sourceMappingURL=agent-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-node.js","sourceRoot":"","sources":["../../src/runtime/agent-node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { AgentNodeDefinition, RuntimeSelectionMetadata, WorkflowDefinition, WorkflowDiagnostic, WorkflowErrorSummary, WorkflowRun } from "../types/index.js";
2
+ import type { AgentProfileResolver, OneNodeAgentExecutorResult, ResolvedAgentProfile } from "./pibo-routing.js";
3
+ export declare function resolveAgentProfileForRuntime(options: {
4
+ workflow: WorkflowDefinition;
5
+ run: WorkflowRun;
6
+ nodeId: string;
7
+ node: AgentNodeDefinition;
8
+ resolver?: AgentProfileResolver;
9
+ }): Promise<{
10
+ ok: true;
11
+ profile: ResolvedAgentProfile;
12
+ } | {
13
+ ok: false;
14
+ diagnostics: WorkflowDiagnostic[];
15
+ error: WorkflowErrorSummary;
16
+ }>;
17
+ export declare function linkWorkflowRunToAgentSession(run: WorkflowRun, node: AgentNodeDefinition, executorResult: OneNodeAgentExecutorResult): void;
18
+ export declare function createAgentRuntimeSelectionMetadata(options: {
19
+ run: WorkflowRun;
20
+ node: AgentNodeDefinition;
21
+ profile: ResolvedAgentProfile;
22
+ executorResult: OneNodeAgentExecutorResult;
23
+ }): RuntimeSelectionMetadata;
24
+ export declare function agentExecutorErrorSummaryFromCaught(caught: unknown): WorkflowErrorSummary;
25
+ //# sourceMappingURL=agent-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/agent-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,GAAG,OAAO,CACP;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GAC3C;IACE,EAAE,EAAE,KAAK,CAAC;IACV,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,KAAK,EAAE,oBAAoB,CAAC;CAC7B,CACJ,CAkEA;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,0BAA0B,GACzC,IAAI,CAGN;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE;IAC3D,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,cAAc,EAAE,0BAA0B,CAAC;CAC5C,GAAG,wBAAwB,CA8B3B;AAeD,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,OAAO,GACd,oBAAoB,CAYtB"}
@@ -0,0 +1,111 @@
1
+ export async function resolveAgentProfileForRuntime(options) {
2
+ const requestedId = options.node.profile.id;
3
+ if (!options.resolver) {
4
+ return { ok: true, profile: { id: requestedId, requestedId } };
5
+ }
6
+ try {
7
+ const profile = await options.resolver({
8
+ workflow: options.workflow,
9
+ run: options.run,
10
+ nodeId: options.nodeId,
11
+ node: options.node,
12
+ selection: options.node.profile,
13
+ });
14
+ if (!profile || typeof profile.id !== "string" || profile.id.length === 0) {
15
+ const diagnostic = {
16
+ code: "WorkflowRuntimeError.unknownAgentProfile",
17
+ message: `Workflow agent node '${options.nodeId}' references fixed Agent Designer profile '${requestedId}', but profile resolution returned no profile.`,
18
+ severity: "error",
19
+ nodeId: options.nodeId,
20
+ path: `$.nodes.${options.nodeId}.profile.id`,
21
+ hint: "Register the Agent Designer profile before running the workflow or update the node's fixed profile selection.",
22
+ };
23
+ return {
24
+ ok: false,
25
+ diagnostics: [diagnostic],
26
+ error: {
27
+ code: diagnostic.code,
28
+ message: "Agent node dispatch failed before Pibo Runtime creation because profile resolution failed.",
29
+ },
30
+ };
31
+ }
32
+ return {
33
+ ok: true,
34
+ profile: {
35
+ ...profile,
36
+ requestedId: profile.requestedId || requestedId,
37
+ },
38
+ };
39
+ }
40
+ catch (caught) {
41
+ const message = caught instanceof Error
42
+ ? caught.message
43
+ : "Agent profile resolver failed with a non-Error value.";
44
+ const diagnostic = {
45
+ code: "WorkflowRuntimeError.agentProfileResolutionFailed",
46
+ message: `Workflow agent node '${options.nodeId}' could not resolve fixed Agent Designer profile '${requestedId}': ${message}`,
47
+ severity: "error",
48
+ nodeId: options.nodeId,
49
+ path: `$.nodes.${options.nodeId}.profile.id`,
50
+ hint: "Ensure the workflow runtime is connected to the Agent Designer profile registry before creating the Pibo Runtime.",
51
+ };
52
+ return {
53
+ ok: false,
54
+ diagnostics: [diagnostic],
55
+ error: {
56
+ code: diagnostic.code,
57
+ message: "Agent node dispatch failed before Pibo Runtime creation because profile resolution failed.",
58
+ },
59
+ };
60
+ }
61
+ }
62
+ export function linkWorkflowRunToAgentSession(run, node, executorResult) {
63
+ if (executorResult.piboSessionId)
64
+ run.piboSessionId = executorResult.piboSessionId;
65
+ }
66
+ export function createAgentRuntimeSelectionMetadata(options) {
67
+ const tools = options.executorResult.effectiveTools ??
68
+ options.profile.tools ??
69
+ options.profile.nativeTools;
70
+ const skills = options.executorResult.effectiveSkills ?? options.profile.skills;
71
+ const contextFiles = options.executorResult.effectiveContextFiles ??
72
+ options.profile.contextFiles;
73
+ return {
74
+ profileId: options.executorResult.effectiveProfile ?? options.profile.id,
75
+ requestedProfileId: options.profile.requestedId,
76
+ selectedProfile: {
77
+ id: options.profile.id,
78
+ requestedId: options.profile.requestedId,
79
+ ...(options.profile.aliases ? { aliases: options.profile.aliases } : {}),
80
+ ...(options.profile.metadata
81
+ ? { metadata: options.profile.metadata }
82
+ : {}),
83
+ },
84
+ ...(tools ? { tools } : {}),
85
+ ...(skills ? { skills } : {}),
86
+ ...(contextFiles ? { contextFiles } : {}),
87
+ routing: createAgentRuntimeRoutingMetadata(options.run, options.node.routing),
88
+ };
89
+ }
90
+ function createAgentRuntimeRoutingMetadata(run, routing) {
91
+ return {
92
+ ...(routing?.parentSessionId
93
+ ? { parentSessionId: routing.parentSessionId }
94
+ : {}),
95
+ ...(routing?.roomId ? { roomId: routing.roomId } : {}),
96
+ ...(routing?.channel ? { channel: routing.channel } : {}),
97
+ };
98
+ }
99
+ export function agentExecutorErrorSummaryFromCaught(caught) {
100
+ if (caught instanceof Error) {
101
+ return {
102
+ code: "WorkflowRuntimeError.executorFailed",
103
+ message: caught.message,
104
+ };
105
+ }
106
+ return {
107
+ code: "WorkflowRuntimeError.executorFailed",
108
+ message: "Agent executor failed with a non-Error value.",
109
+ };
110
+ }
111
+ //# sourceMappingURL=agent-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../src/runtime/agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { CodeNodeResult, NodeAttempt, NodeAttemptId, WorkflowCommand, WorkflowCommandEmitter, WorkflowDefinition, WorkflowDiagnostic, WorkflowErrorSummary, WorkflowEventEmitter, WorkflowRegistry, WorkflowRun, WorkflowRuntimeEvent, WorkflowValue } from "../types/index.js";
2
+ import type { WorkflowRunStore } from "../store/index.js";
3
+ export type WorkflowCodeNodeDispatchOptions = {
4
+ registry: Pick<WorkflowRegistry, "handlers">;
5
+ now?: () => Date | string;
6
+ createNodeAttemptId?: () => NodeAttemptId;
7
+ store?: WorkflowRunStore;
8
+ emitEvent?: WorkflowEventEmitter;
9
+ commandEmitter?: WorkflowCommandEmitter;
10
+ edgePayloads?: Record<string, WorkflowValue>;
11
+ };
12
+ export type WorkflowCodeNodeDispatchSuccess = {
13
+ ok: true;
14
+ run: WorkflowRun;
15
+ nodeAttempt: NodeAttempt;
16
+ events: WorkflowRuntimeEvent[];
17
+ output: WorkflowValue;
18
+ result: CodeNodeResult;
19
+ commands: WorkflowCommand[];
20
+ };
21
+ export type WorkflowCodeNodeDispatchFailure = {
22
+ ok: false;
23
+ run: WorkflowRun;
24
+ nodeAttempt?: NodeAttempt;
25
+ events: WorkflowRuntimeEvent[];
26
+ diagnostics: WorkflowDiagnostic[];
27
+ error: WorkflowErrorSummary;
28
+ };
29
+ export type WorkflowCodeNodeDispatchResult = WorkflowCodeNodeDispatchSuccess | WorkflowCodeNodeDispatchFailure;
30
+ export declare function dispatchWorkflowCodeNode(definition: WorkflowDefinition, run: WorkflowRun, nodeId: string, input: WorkflowValue, options: WorkflowCodeNodeDispatchOptions): Promise<WorkflowCodeNodeDispatchResult>;
31
+ //# sourceMappingURL=code-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-node.d.ts","sourceRoot":"","sources":["../../src/runtime/code-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,aAAa,EAEb,eAAe,EACf,sBAAsB,EACtB,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;AAuB1D,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC7C,GAAG,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,aAAa,CAAC;IAC1C,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,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;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,EAAE,EAAE,KAAK,CAAC;IACV,GAAG,EAAE,WAAW,CAAC;IACjB,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,8BAA8B,GAAG,+BAA+B,GAAG,+BAA+B,CAAC;AAE/G,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,kBAAkB,EAC9B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,8BAA8B,CAAC,CAgNzC"}