@sprinterai/runtime 0.4.1 → 0.5.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 (384) hide show
  1. package/dist/adapters/a2a-adapter.d.ts +37 -9
  2. package/dist/adapters/a2a-adapter.d.ts.map +1 -1
  3. package/dist/adapters/a2a-adapter.js +132 -9
  4. package/dist/adapters/a2a-adapter.js.map +1 -1
  5. package/dist/adapters/a2a-adapter.test.d.ts +2 -0
  6. package/dist/adapters/a2a-adapter.test.d.ts.map +1 -0
  7. package/dist/adapters/a2a-adapter.test.js +295 -0
  8. package/dist/adapters/a2a-adapter.test.js.map +1 -0
  9. package/dist/adapters/http-agent-adapter.d.ts +19 -9
  10. package/dist/adapters/http-agent-adapter.d.ts.map +1 -1
  11. package/dist/adapters/http-agent-adapter.js +55 -9
  12. package/dist/adapters/http-agent-adapter.js.map +1 -1
  13. package/dist/adapters/http-agent-adapter.test.d.ts +2 -0
  14. package/dist/adapters/http-agent-adapter.test.d.ts.map +1 -0
  15. package/dist/adapters/http-agent-adapter.test.js +164 -0
  16. package/dist/adapters/http-agent-adapter.test.js.map +1 -0
  17. package/dist/adapters/index.d.ts +8 -8
  18. package/dist/adapters/index.d.ts.map +1 -1
  19. package/dist/adapters/index.js +4 -4
  20. package/dist/adapters/index.js.map +1 -1
  21. package/dist/adapters/mcp-adapter.d.ts +29 -9
  22. package/dist/adapters/mcp-adapter.d.ts.map +1 -1
  23. package/dist/adapters/mcp-adapter.js +43 -8
  24. package/dist/adapters/mcp-adapter.js.map +1 -1
  25. package/dist/adapters/mcp-adapter.test.d.ts +2 -0
  26. package/dist/adapters/mcp-adapter.test.d.ts.map +1 -0
  27. package/dist/adapters/mcp-adapter.test.js +118 -0
  28. package/dist/adapters/mcp-adapter.test.js.map +1 -0
  29. package/dist/adapters/openclaw-adapter.d.ts +34 -8
  30. package/dist/adapters/openclaw-adapter.d.ts.map +1 -1
  31. package/dist/adapters/openclaw-adapter.js +38 -8
  32. package/dist/adapters/openclaw-adapter.js.map +1 -1
  33. package/dist/adapters/openclaw-adapter.test.d.ts +2 -0
  34. package/dist/adapters/openclaw-adapter.test.d.ts.map +1 -0
  35. package/dist/adapters/openclaw-adapter.test.js +77 -0
  36. package/dist/adapters/openclaw-adapter.test.js.map +1 -0
  37. package/dist/agent/agent-registry.test.js +1 -1
  38. package/dist/agent/agent-resolver.d.ts +8 -2
  39. package/dist/agent/agent-resolver.d.ts.map +1 -1
  40. package/dist/agent/agent-resolver.js +7 -1
  41. package/dist/agent/agent-resolver.js.map +1 -1
  42. package/dist/agent/agent-resolver.test.js +21 -3
  43. package/dist/agent/agent-resolver.test.js.map +1 -1
  44. package/dist/agent/delegate.test.js +1 -1
  45. package/dist/agent/execute-agent.d.ts +32 -8
  46. package/dist/agent/execute-agent.d.ts.map +1 -1
  47. package/dist/agent/execute-agent.js +40 -3
  48. package/dist/agent/execute-agent.js.map +1 -1
  49. package/dist/agent/index.d.ts +9 -9
  50. package/dist/agent/index.d.ts.map +1 -1
  51. package/dist/agent/index.js +5 -5
  52. package/dist/agent/index.js.map +1 -1
  53. package/dist/agent/prompt-builder.test.js +1 -1
  54. package/dist/approval/approval-manager.d.ts +19 -0
  55. package/dist/approval/approval-manager.d.ts.map +1 -0
  56. package/dist/approval/approval-manager.js +36 -0
  57. package/dist/approval/approval-manager.js.map +1 -0
  58. package/dist/approval/approval-manager.test.d.ts +2 -0
  59. package/dist/approval/approval-manager.test.d.ts.map +1 -0
  60. package/dist/approval/approval-manager.test.js +239 -0
  61. package/dist/approval/approval-manager.test.js.map +1 -0
  62. package/dist/approval/index.d.ts +3 -0
  63. package/dist/approval/index.d.ts.map +1 -0
  64. package/dist/approval/index.js +2 -0
  65. package/dist/approval/index.js.map +1 -0
  66. package/dist/chat/chat-handler.d.ts +14 -7
  67. package/dist/chat/chat-handler.d.ts.map +1 -1
  68. package/dist/chat/chat-handler.js +56 -11
  69. package/dist/chat/chat-handler.js.map +1 -1
  70. package/dist/chat/chat-handler.test.js +100 -11
  71. package/dist/chat/chat-handler.test.js.map +1 -1
  72. package/dist/chat/index.d.ts +3 -3
  73. package/dist/chat/index.js +2 -2
  74. package/dist/chat/message-utils.d.ts +15 -7
  75. package/dist/chat/message-utils.d.ts.map +1 -1
  76. package/dist/chat/message-utils.js +94 -22
  77. package/dist/chat/message-utils.js.map +1 -1
  78. package/dist/chat/message-utils.test.js +71 -1
  79. package/dist/chat/message-utils.test.js.map +1 -1
  80. package/dist/document/chunk-generator.d.ts +6 -0
  81. package/dist/document/chunk-generator.d.ts.map +1 -0
  82. package/dist/document/chunk-generator.js +107 -0
  83. package/dist/document/chunk-generator.js.map +1 -0
  84. package/dist/document/chunk-generator.test.d.ts +2 -0
  85. package/dist/document/chunk-generator.test.d.ts.map +1 -0
  86. package/dist/document/chunk-generator.test.js +166 -0
  87. package/dist/document/chunk-generator.test.js.map +1 -0
  88. package/dist/document/document-processor.d.ts +27 -0
  89. package/dist/document/document-processor.d.ts.map +1 -0
  90. package/dist/document/document-processor.js +44 -0
  91. package/dist/document/document-processor.js.map +1 -0
  92. package/dist/document/document-processor.test.d.ts +2 -0
  93. package/dist/document/document-processor.test.d.ts.map +1 -0
  94. package/dist/document/document-processor.test.js +197 -0
  95. package/dist/document/document-processor.test.js.map +1 -0
  96. package/dist/document/index.d.ts +5 -0
  97. package/dist/document/index.d.ts.map +1 -0
  98. package/dist/document/index.js +4 -0
  99. package/dist/document/index.js.map +1 -0
  100. package/dist/document/parsers/index.d.ts +2 -0
  101. package/dist/document/parsers/index.d.ts.map +1 -0
  102. package/dist/document/parsers/index.js +2 -0
  103. package/dist/document/parsers/index.js.map +1 -0
  104. package/dist/document/parsers/text-parser.d.ts +4 -0
  105. package/dist/document/parsers/text-parser.d.ts.map +1 -0
  106. package/dist/document/parsers/text-parser.js +23 -0
  107. package/dist/document/parsers/text-parser.js.map +1 -0
  108. package/dist/document/parsers/text-parser.test.d.ts +2 -0
  109. package/dist/document/parsers/text-parser.test.d.ts.map +1 -0
  110. package/dist/document/parsers/text-parser.test.js +64 -0
  111. package/dist/document/parsers/text-parser.test.js.map +1 -0
  112. package/dist/eval/eval-runner.test.js +2 -2
  113. package/dist/eval/index.d.ts +3 -3
  114. package/dist/eval/index.js +2 -2
  115. package/dist/eval/scorers.test.js +1 -1
  116. package/dist/events/event-bus.d.ts +12 -0
  117. package/dist/events/event-bus.d.ts.map +1 -0
  118. package/dist/events/event-bus.js +77 -0
  119. package/dist/events/event-bus.js.map +1 -0
  120. package/dist/events/event-bus.test.d.ts +2 -0
  121. package/dist/events/event-bus.test.d.ts.map +1 -0
  122. package/dist/events/event-bus.test.js +155 -0
  123. package/dist/events/event-bus.test.js.map +1 -0
  124. package/dist/events/index.d.ts +2 -0
  125. package/dist/events/index.d.ts.map +1 -0
  126. package/dist/events/index.js +2 -0
  127. package/dist/events/index.js.map +1 -0
  128. package/dist/guardrail/guardrail-pipeline.test.js +1 -1
  129. package/dist/guardrail/index.d.ts +2 -2
  130. package/dist/guardrail/index.js +1 -1
  131. package/dist/index.d.ts +81 -45
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/index.js +55 -27
  134. package/dist/index.js.map +1 -1
  135. package/dist/jobs/in-memory-job-queue.d.ts +20 -0
  136. package/dist/jobs/in-memory-job-queue.d.ts.map +1 -0
  137. package/dist/jobs/in-memory-job-queue.js +120 -0
  138. package/dist/jobs/in-memory-job-queue.js.map +1 -0
  139. package/dist/jobs/in-memory-job-queue.test.d.ts +2 -0
  140. package/dist/jobs/in-memory-job-queue.test.d.ts.map +1 -0
  141. package/dist/jobs/in-memory-job-queue.test.js +146 -0
  142. package/dist/jobs/in-memory-job-queue.test.js.map +1 -0
  143. package/dist/jobs/index.d.ts +4 -0
  144. package/dist/jobs/index.d.ts.map +1 -0
  145. package/dist/jobs/index.js +3 -0
  146. package/dist/jobs/index.js.map +1 -0
  147. package/dist/jobs/job-runner.d.ts +42 -0
  148. package/dist/jobs/job-runner.d.ts.map +1 -0
  149. package/dist/jobs/job-runner.js +119 -0
  150. package/dist/jobs/job-runner.js.map +1 -0
  151. package/dist/jobs/job-runner.test.d.ts +2 -0
  152. package/dist/jobs/job-runner.test.d.ts.map +1 -0
  153. package/dist/jobs/job-runner.test.js +190 -0
  154. package/dist/jobs/job-runner.test.js.map +1 -0
  155. package/dist/memory/index.d.ts +3 -3
  156. package/dist/memory/index.js +2 -2
  157. package/dist/memory/memory-prompt.d.ts +1 -1
  158. package/dist/module/create-runtime.d.ts +21 -6
  159. package/dist/module/create-runtime.d.ts.map +1 -1
  160. package/dist/module/create-runtime.js +7 -7
  161. package/dist/module/create-runtime.js.map +1 -1
  162. package/dist/module/create-runtime.test.js +8 -8
  163. package/dist/module/index.d.ts +5 -4
  164. package/dist/module/index.d.ts.map +1 -1
  165. package/dist/module/index.js +3 -2
  166. package/dist/module/index.js.map +1 -1
  167. package/dist/module/map-supabase-stores.d.ts +33 -0
  168. package/dist/module/map-supabase-stores.d.ts.map +1 -0
  169. package/dist/module/map-supabase-stores.js +28 -0
  170. package/dist/module/map-supabase-stores.js.map +1 -0
  171. package/dist/module/module-loader.d.ts +9 -1
  172. package/dist/module/module-loader.d.ts.map +1 -1
  173. package/dist/module/module-loader.js +40 -1
  174. package/dist/module/module-loader.js.map +1 -1
  175. package/dist/module/module-loader.test.js +38 -1
  176. package/dist/module/module-loader.test.js.map +1 -1
  177. package/dist/notification/digest-scheduler.d.ts +18 -0
  178. package/dist/notification/digest-scheduler.d.ts.map +1 -0
  179. package/dist/notification/digest-scheduler.js +44 -0
  180. package/dist/notification/digest-scheduler.js.map +1 -0
  181. package/dist/notification/digest-scheduler.test.d.ts +2 -0
  182. package/dist/notification/digest-scheduler.test.d.ts.map +1 -0
  183. package/dist/notification/digest-scheduler.test.js +306 -0
  184. package/dist/notification/digest-scheduler.test.js.map +1 -0
  185. package/dist/notification/index.d.ts +5 -0
  186. package/dist/notification/index.d.ts.map +1 -0
  187. package/dist/notification/index.js +3 -0
  188. package/dist/notification/index.js.map +1 -0
  189. package/dist/notification/notification-engine.d.ts +20 -0
  190. package/dist/notification/notification-engine.d.ts.map +1 -0
  191. package/dist/notification/notification-engine.js +78 -0
  192. package/dist/notification/notification-engine.js.map +1 -0
  193. package/dist/notification/notification-engine.test.d.ts +2 -0
  194. package/dist/notification/notification-engine.test.d.ts.map +1 -0
  195. package/dist/notification/notification-engine.test.js +364 -0
  196. package/dist/notification/notification-engine.test.js.map +1 -0
  197. package/dist/providers/index.d.ts +5 -0
  198. package/dist/providers/index.d.ts.map +1 -0
  199. package/dist/providers/index.js +3 -0
  200. package/dist/providers/index.js.map +1 -0
  201. package/dist/providers/model-resolver.d.ts +93 -0
  202. package/dist/providers/model-resolver.d.ts.map +1 -0
  203. package/dist/providers/model-resolver.js +152 -0
  204. package/dist/providers/model-resolver.js.map +1 -0
  205. package/dist/providers/model-resolver.test.d.ts +2 -0
  206. package/dist/providers/model-resolver.test.d.ts.map +1 -0
  207. package/dist/providers/model-resolver.test.js +199 -0
  208. package/dist/providers/model-resolver.test.js.map +1 -0
  209. package/dist/providers/noop-providers.d.ts +6 -0
  210. package/dist/providers/noop-providers.d.ts.map +1 -0
  211. package/dist/providers/noop-providers.js +15 -0
  212. package/dist/providers/noop-providers.js.map +1 -0
  213. package/dist/providers/noop-providers.test.d.ts +2 -0
  214. package/dist/providers/noop-providers.test.d.ts.map +1 -0
  215. package/dist/providers/noop-providers.test.js +63 -0
  216. package/dist/providers/noop-providers.test.js.map +1 -0
  217. package/dist/providers/provider-interfaces.d.ts +65 -0
  218. package/dist/providers/provider-interfaces.d.ts.map +1 -0
  219. package/dist/providers/provider-interfaces.js +2 -0
  220. package/dist/providers/provider-interfaces.js.map +1 -0
  221. package/dist/realtime/index.d.ts +3 -0
  222. package/dist/realtime/index.d.ts.map +1 -0
  223. package/dist/realtime/index.js +2 -0
  224. package/dist/realtime/index.js.map +1 -0
  225. package/dist/realtime/realtime-manager.d.ts +20 -0
  226. package/dist/realtime/realtime-manager.d.ts.map +1 -0
  227. package/dist/realtime/realtime-manager.js +110 -0
  228. package/dist/realtime/realtime-manager.js.map +1 -0
  229. package/dist/realtime/realtime-manager.test.d.ts +2 -0
  230. package/dist/realtime/realtime-manager.test.d.ts.map +1 -0
  231. package/dist/realtime/realtime-manager.test.js +273 -0
  232. package/dist/realtime/realtime-manager.test.js.map +1 -0
  233. package/dist/scoring/compute-score.test.js +1 -1
  234. package/dist/scoring/index.d.ts +2 -2
  235. package/dist/scoring/index.js +1 -1
  236. package/dist/search/cosine-similarity.d.ts +8 -0
  237. package/dist/search/cosine-similarity.d.ts.map +1 -0
  238. package/dist/search/cosine-similarity.js +28 -0
  239. package/dist/search/cosine-similarity.js.map +1 -0
  240. package/dist/search/cosine-similarity.test.d.ts +2 -0
  241. package/dist/search/cosine-similarity.test.d.ts.map +1 -0
  242. package/dist/search/cosine-similarity.test.js +49 -0
  243. package/dist/search/cosine-similarity.test.js.map +1 -0
  244. package/dist/search/hybrid-search.d.ts +47 -0
  245. package/dist/search/hybrid-search.d.ts.map +1 -0
  246. package/dist/search/hybrid-search.js +111 -0
  247. package/dist/search/hybrid-search.js.map +1 -0
  248. package/dist/search/hybrid-search.test.d.ts +2 -0
  249. package/dist/search/hybrid-search.test.d.ts.map +1 -0
  250. package/dist/search/hybrid-search.test.js +238 -0
  251. package/dist/search/hybrid-search.test.js.map +1 -0
  252. package/dist/search/in-memory-search.d.ts +17 -0
  253. package/dist/search/in-memory-search.d.ts.map +1 -0
  254. package/dist/search/in-memory-search.js +59 -0
  255. package/dist/search/in-memory-search.js.map +1 -0
  256. package/dist/search/in-memory-search.test.d.ts +2 -0
  257. package/dist/search/in-memory-search.test.d.ts.map +1 -0
  258. package/dist/search/in-memory-search.test.js +169 -0
  259. package/dist/search/in-memory-search.test.js.map +1 -0
  260. package/dist/search/index.d.ts +6 -0
  261. package/dist/search/index.d.ts.map +1 -0
  262. package/dist/search/index.js +4 -0
  263. package/dist/search/index.js.map +1 -0
  264. package/dist/testing/in-memory-agent-store.d.ts +5 -1
  265. package/dist/testing/in-memory-agent-store.d.ts.map +1 -1
  266. package/dist/testing/in-memory-agent-store.js +19 -0
  267. package/dist/testing/in-memory-agent-store.js.map +1 -1
  268. package/dist/testing/in-memory-agent-store.test.js +1 -1
  269. package/dist/testing/in-memory-chat-store.d.ts.map +1 -1
  270. package/dist/testing/in-memory-chat-store.js +2 -1
  271. package/dist/testing/in-memory-chat-store.js.map +1 -1
  272. package/dist/testing/in-memory-entity-store.d.ts +5 -1
  273. package/dist/testing/in-memory-entity-store.d.ts.map +1 -1
  274. package/dist/testing/in-memory-entity-store.js +69 -4
  275. package/dist/testing/in-memory-entity-store.js.map +1 -1
  276. package/dist/testing/in-memory-entity-store.test.js +1 -1
  277. package/dist/testing/in-memory-memory-store.d.ts +3 -1
  278. package/dist/testing/in-memory-memory-store.d.ts.map +1 -1
  279. package/dist/testing/in-memory-memory-store.js +20 -0
  280. package/dist/testing/in-memory-memory-store.js.map +1 -1
  281. package/dist/testing/in-memory-tool-store.d.ts +13 -2
  282. package/dist/testing/in-memory-tool-store.d.ts.map +1 -1
  283. package/dist/testing/in-memory-tool-store.js +51 -0
  284. package/dist/testing/in-memory-tool-store.js.map +1 -1
  285. package/dist/testing/index.d.ts +7 -7
  286. package/dist/testing/index.js +7 -7
  287. package/dist/tool/ai-bridge.d.ts +1 -0
  288. package/dist/tool/ai-bridge.d.ts.map +1 -1
  289. package/dist/tool/ai-bridge.js +1 -0
  290. package/dist/tool/ai-bridge.js.map +1 -1
  291. package/dist/tool/ai-bridge.test.js +1 -1
  292. package/dist/tool/catalog.d.ts +19 -0
  293. package/dist/tool/catalog.d.ts.map +1 -0
  294. package/dist/tool/catalog.js +88 -0
  295. package/dist/tool/catalog.js.map +1 -0
  296. package/dist/tool/catalog.test.d.ts +2 -0
  297. package/dist/tool/catalog.test.d.ts.map +1 -0
  298. package/dist/tool/catalog.test.js +129 -0
  299. package/dist/tool/catalog.test.js.map +1 -0
  300. package/dist/tool/entity-tools-factory.test.js +2 -2
  301. package/dist/tool/execute-registered-tool.d.ts +17 -0
  302. package/dist/tool/execute-registered-tool.d.ts.map +1 -0
  303. package/dist/tool/execute-registered-tool.js +24 -0
  304. package/dist/tool/execute-registered-tool.js.map +1 -0
  305. package/dist/tool/execute-registered-tool.test.d.ts +2 -0
  306. package/dist/tool/execute-registered-tool.test.d.ts.map +1 -0
  307. package/dist/tool/execute-registered-tool.test.js +73 -0
  308. package/dist/tool/execute-registered-tool.test.js.map +1 -0
  309. package/dist/tool/index.d.ts +11 -7
  310. package/dist/tool/index.d.ts.map +1 -1
  311. package/dist/tool/index.js +7 -5
  312. package/dist/tool/index.js.map +1 -1
  313. package/dist/tool/resolve-tools.d.ts +3 -1
  314. package/dist/tool/resolve-tools.d.ts.map +1 -1
  315. package/dist/tool/resolve-tools.js +1 -1
  316. package/dist/tool/resolve-tools.js.map +1 -1
  317. package/dist/tool/resolve-tools.test.js +1 -1
  318. package/dist/tool/tool-executor.d.ts +3 -2
  319. package/dist/tool/tool-executor.d.ts.map +1 -1
  320. package/dist/tool/tool-executor.js +4 -2
  321. package/dist/tool/tool-executor.js.map +1 -1
  322. package/dist/tool/tool-executor.test.js +2 -2
  323. package/dist/tool/tool-registry.test.js +1 -1
  324. package/dist/tool/zod-to-json-schema.d.ts +7 -0
  325. package/dist/tool/zod-to-json-schema.d.ts.map +1 -0
  326. package/dist/tool/zod-to-json-schema.js +12 -0
  327. package/dist/tool/zod-to-json-schema.js.map +1 -0
  328. package/dist/tool/zod-to-json-schema.test.d.ts +2 -0
  329. package/dist/tool/zod-to-json-schema.test.d.ts.map +1 -0
  330. package/dist/tool/zod-to-json-schema.test.js +127 -0
  331. package/dist/tool/zod-to-json-schema.test.js.map +1 -0
  332. package/dist/webhook/index.d.ts +4 -0
  333. package/dist/webhook/index.d.ts.map +1 -0
  334. package/dist/webhook/index.js +3 -0
  335. package/dist/webhook/index.js.map +1 -0
  336. package/dist/webhook/webhook-delivery.d.ts +12 -0
  337. package/dist/webhook/webhook-delivery.d.ts.map +1 -0
  338. package/dist/webhook/webhook-delivery.js +102 -0
  339. package/dist/webhook/webhook-delivery.js.map +1 -0
  340. package/dist/webhook/webhook-delivery.test.d.ts +2 -0
  341. package/dist/webhook/webhook-delivery.test.d.ts.map +1 -0
  342. package/dist/webhook/webhook-delivery.test.js +284 -0
  343. package/dist/webhook/webhook-delivery.test.js.map +1 -0
  344. package/dist/webhook/webhook-signer.d.ts +14 -0
  345. package/dist/webhook/webhook-signer.d.ts.map +1 -0
  346. package/dist/webhook/webhook-signer.js +31 -0
  347. package/dist/webhook/webhook-signer.js.map +1 -0
  348. package/dist/webhook/webhook-signer.test.d.ts +2 -0
  349. package/dist/webhook/webhook-signer.test.d.ts.map +1 -0
  350. package/dist/webhook/webhook-signer.test.js +74 -0
  351. package/dist/webhook/webhook-signer.test.js.map +1 -0
  352. package/dist/workflow/compile.js +4 -1
  353. package/dist/workflow/compile.js.map +1 -1
  354. package/dist/workflow/compile.test.js +1 -1
  355. package/dist/workflow/evaluate-nodes.d.ts +24 -0
  356. package/dist/workflow/evaluate-nodes.d.ts.map +1 -0
  357. package/dist/workflow/evaluate-nodes.js +126 -0
  358. package/dist/workflow/evaluate-nodes.js.map +1 -0
  359. package/dist/workflow/evaluate-nodes.test.d.ts +2 -0
  360. package/dist/workflow/evaluate-nodes.test.d.ts.map +1 -0
  361. package/dist/workflow/evaluate-nodes.test.js +363 -0
  362. package/dist/workflow/evaluate-nodes.test.js.map +1 -0
  363. package/dist/workflow/index.d.ts +8 -3
  364. package/dist/workflow/index.d.ts.map +1 -1
  365. package/dist/workflow/index.js +4 -2
  366. package/dist/workflow/index.js.map +1 -1
  367. package/dist/workflow/node-executor.d.ts +40 -0
  368. package/dist/workflow/node-executor.d.ts.map +1 -0
  369. package/dist/workflow/node-executor.js +2 -0
  370. package/dist/workflow/node-executor.js.map +1 -0
  371. package/dist/workflow/node-executor.test.d.ts +2 -0
  372. package/dist/workflow/node-executor.test.d.ts.map +1 -0
  373. package/dist/workflow/node-executor.test.js +91 -0
  374. package/dist/workflow/node-executor.test.js.map +1 -0
  375. package/dist/workflow/status.test.js +1 -1
  376. package/dist/workflow/workflow-runner.d.ts +57 -0
  377. package/dist/workflow/workflow-runner.d.ts.map +1 -0
  378. package/dist/workflow/workflow-runner.js +263 -0
  379. package/dist/workflow/workflow-runner.js.map +1 -0
  380. package/dist/workflow/workflow-runner.test.d.ts +2 -0
  381. package/dist/workflow/workflow-runner.test.d.ts.map +1 -0
  382. package/dist/workflow/workflow-runner.test.js +657 -0
  383. package/dist/workflow/workflow-runner.test.js.map +1 -0
  384. package/package.json +9 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate-nodes.test.js","sourceRoot":"","sources":["../../src/workflow/evaluate-nodes.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
- export { compileEntityWorkflowDefinition, getWorkflowLayers } from "./compile";
2
- export { computeWorkflowProgress, deriveWorkflowStatus } from "./status";
3
- export type { WorkflowProgress } from "./status";
1
+ export { compileEntityWorkflowDefinition, getWorkflowLayers } from './compile.js';
2
+ export { computeWorkflowProgress, deriveWorkflowStatus } from './status.js';
3
+ export type { WorkflowProgress } from './status.js';
4
+ export { evaluateNodeStatuses } from './evaluate-nodes.js';
5
+ export type { NodeStatusUpdate } from './evaluate-nodes.js';
6
+ export { runWorkflow } from './workflow-runner.js';
7
+ export type { RunWorkflowOptions, RunWorkflowResult } from './workflow-runner.js';
8
+ export type { NodeExecutionContext, NodeExecutionResult, NodeExecutorFn } from './node-executor.js';
4
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,3 +1,5 @@
1
- export { compileEntityWorkflowDefinition, getWorkflowLayers } from "./compile";
2
- export { computeWorkflowProgress, deriveWorkflowStatus } from "./status";
1
+ export { compileEntityWorkflowDefinition, getWorkflowLayers } from './compile.js';
2
+ export { computeWorkflowProgress, deriveWorkflowStatus } from './status.js';
3
+ export { evaluateNodeStatuses } from './evaluate-nodes.js';
4
+ export { runWorkflow } from './workflow-runner.js';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { WorkflowNodeRunRecord, WorkflowFieldOverride } from '@sprinterai/core';
2
+ /**
3
+ * Context passed to a node executor function.
4
+ *
5
+ * The executor is responsible for performing the actual work
6
+ * (e.g., calling an AI model, running an extraction prompt).
7
+ */
8
+ export interface NodeExecutionContext {
9
+ /** The node run record being executed. */
10
+ node: WorkflowNodeRunRecord;
11
+ /** The entity being processed. */
12
+ entityId: string;
13
+ /** Tenant scope. */
14
+ tenantId: string;
15
+ /** Current entity field values (may be partial). */
16
+ entityContent: Record<string, unknown>;
17
+ /** Per-field overrides (custom instructions, parent response IDs). */
18
+ fieldOverrides?: Record<string, WorkflowFieldOverride>;
19
+ }
20
+ /**
21
+ * Result returned by a node executor function.
22
+ */
23
+ export interface NodeExecutionResult {
24
+ /** Whether the node execution succeeded. */
25
+ success: boolean;
26
+ /** Field names that were extracted/populated by this node. */
27
+ fieldsExtracted: string[];
28
+ /** Updated entity content after this node's execution. */
29
+ updatedContent?: Record<string, unknown>;
30
+ /** Error message if the node failed. */
31
+ error?: string;
32
+ }
33
+ /**
34
+ * A function that executes a single workflow node.
35
+ *
36
+ * Injected into the WorkflowRunner — keeps the runner pure and
37
+ * decoupled from AI SDKs, agents, or external services.
38
+ */
39
+ export type NodeExecutorFn = (context: NodeExecutionContext) => Promise<NodeExecutionResult>;
40
+ //# sourceMappingURL=node-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-executor.d.ts","sourceRoot":"","sources":["../../src/workflow/node-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAErF;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=node-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-executor.js","sourceRoot":"","sources":["../../src/workflow/node-executor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=node-executor.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-executor.test.d.ts","sourceRoot":"","sources":["../../src/workflow/node-executor.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,91 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ function makeNodeRun(overrides = {}) {
3
+ return {
4
+ id: 'nr-1',
5
+ workflow_run_id: 'run-1',
6
+ entity_id: 'ent-1',
7
+ tenant_id: 'ten-1',
8
+ node_key: 'agent_task:title',
9
+ node_type: 'agent_task',
10
+ label: 'Extract title',
11
+ field_name: 'title',
12
+ block_id: null,
13
+ output_type: 'field',
14
+ status: 'running',
15
+ assignee_type: 'agent',
16
+ assignee_agent_slug: 'extractor',
17
+ depends_on: null,
18
+ instructions: null,
19
+ metadata: null,
20
+ error_message: null,
21
+ claimed_by: 'worker-1',
22
+ claimed_at: new Date().toISOString(),
23
+ attempt_count: 1,
24
+ started_at: new Date().toISOString(),
25
+ completed_at: null,
26
+ duration_ms: null,
27
+ created_at: new Date().toISOString(),
28
+ ...overrides,
29
+ };
30
+ }
31
+ describe('NodeExecutor types', () => {
32
+ it('NodeExecutionContext has required fields', () => {
33
+ const context = {
34
+ node: makeNodeRun(),
35
+ entityId: 'ent-1',
36
+ tenantId: 'ten-1',
37
+ entityContent: {},
38
+ };
39
+ expect(context.node.node_key).toBe('agent_task:title');
40
+ expect(context.entityId).toBe('ent-1');
41
+ expect(context.fieldOverrides).toBeUndefined();
42
+ });
43
+ it('NodeExecutionContext accepts optional fieldOverrides', () => {
44
+ const context = {
45
+ node: makeNodeRun(),
46
+ entityId: 'ent-1',
47
+ tenantId: 'ten-1',
48
+ entityContent: { title: 'existing' },
49
+ fieldOverrides: {
50
+ title: { instructions: 'Be more specific' },
51
+ },
52
+ };
53
+ expect(context.fieldOverrides?.title?.instructions).toBe('Be more specific');
54
+ });
55
+ it('NodeExecutionResult represents success', () => {
56
+ const result = {
57
+ success: true,
58
+ fieldsExtracted: ['title'],
59
+ updatedContent: { title: 'Extracted Title' },
60
+ };
61
+ expect(result.success).toBe(true);
62
+ expect(result.fieldsExtracted).toEqual(['title']);
63
+ expect(result.error).toBeUndefined();
64
+ });
65
+ it('NodeExecutionResult represents failure', () => {
66
+ const result = {
67
+ success: false,
68
+ fieldsExtracted: [],
69
+ error: 'API timeout',
70
+ };
71
+ expect(result.success).toBe(false);
72
+ expect(result.error).toBe('API timeout');
73
+ expect(result.updatedContent).toBeUndefined();
74
+ });
75
+ it('NodeExecutorFn type is callable', async () => {
76
+ const executor = async (ctx) => ({
77
+ success: true,
78
+ fieldsExtracted: ctx.node.field_name ? [ctx.node.field_name] : [],
79
+ updatedContent: { [ctx.node.field_name ?? '']: 'value' },
80
+ });
81
+ const result = await executor({
82
+ node: makeNodeRun(),
83
+ entityId: 'ent-1',
84
+ tenantId: 'ten-1',
85
+ entityContent: {},
86
+ });
87
+ expect(result.success).toBe(true);
88
+ expect(result.fieldsExtracted).toEqual(['title']);
89
+ });
90
+ });
91
+ //# sourceMappingURL=node-executor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-executor.test.js","sourceRoot":"","sources":["../../src/workflow/node-executor.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect } from 'vitest';
2
- import { computeWorkflowProgress, deriveWorkflowStatus } from './status';
2
+ import { computeWorkflowProgress, deriveWorkflowStatus } from './status.js';
3
3
  /** Helper to build a minimal WorkflowNodeRunRecord with a given status. */
4
4
  function nodeRun(status, overrides) {
5
5
  return {
@@ -0,0 +1,57 @@
1
+ import type { WorkflowDefinition, WorkflowRunStatus, WorkflowTriggerType, WorkflowFieldOverride, WorkflowRunStore, EventBus } from '@sprinterai/core';
2
+ import type { NodeExecutorFn } from './node-executor.js';
3
+ /** Options for running a workflow. */
4
+ export interface RunWorkflowOptions {
5
+ /** Entity being processed. */
6
+ entityId: string;
7
+ /** Tenant scope. */
8
+ tenantId: string;
9
+ /** The workflow DAG to execute. */
10
+ definition: WorkflowDefinition;
11
+ /** Current entity field values. Updated locally as nodes complete. */
12
+ entityContent: Record<string, unknown>;
13
+ /** Store for persisting workflow and node run state. */
14
+ store: WorkflowRunStore;
15
+ /** Function to execute a single node. Injected by the consumer. */
16
+ executeNode: NodeExecutorFn;
17
+ /** Optional event bus for emitting workflow events. */
18
+ eventBus?: EventBus;
19
+ /** How this workflow was triggered. */
20
+ triggerType?: WorkflowTriggerType;
21
+ /** Who triggered this workflow (userId, agentSlug, etc.). */
22
+ triggeredBy?: string;
23
+ /** Subset of fields to process. If empty/undefined, process all. */
24
+ fields?: string[];
25
+ /** Force re-extraction even if fields are already populated. */
26
+ force?: boolean;
27
+ /** Per-field instruction overrides. */
28
+ fieldOverrides?: Record<string, WorkflowFieldOverride>;
29
+ }
30
+ /** Result returned after a workflow run completes. */
31
+ export interface RunWorkflowResult {
32
+ /** The workflow run ID. */
33
+ runId: string;
34
+ /** Final workflow status. */
35
+ status: WorkflowRunStatus;
36
+ /** Field names that were successfully extracted. */
37
+ fieldsExtracted: string[];
38
+ /** Map of node key -> error message for failed nodes. */
39
+ errors: Record<string, string>;
40
+ /** Number of nodes that were claimed and executed. */
41
+ claimedNodeCount: number;
42
+ }
43
+ /**
44
+ * Run a workflow to completion.
45
+ *
46
+ * The runner:
47
+ * 1. Creates a workflow_run record
48
+ * 2. Seeds node_run records from the definition
49
+ * 3. Enters the execution loop:
50
+ * - Evaluates node statuses based on entity content + dependencies
51
+ * - Claims and executes pending agent_task nodes
52
+ * - Updates entity content after each successful node
53
+ * 4. Derives final status and completes the workflow_run
54
+ * 5. Emits events (if EventBus provided)
55
+ */
56
+ export declare function runWorkflow(options: RunWorkflowOptions): Promise<RunWorkflowResult>;
57
+ //# sourceMappingURL=workflow-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-runner.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKtD,sCAAsC;AACtC,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,wDAAwD;IACxD,KAAK,EAAE,gBAAgB,CAAC;IACxB,mEAAmE;IACnE,WAAW,EAAE,cAAc,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACxD;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,oDAAoD;IACpD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,sDAAsD;IACtD,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwPzF"}
@@ -0,0 +1,263 @@
1
+ import { evaluateNodeStatuses } from './evaluate-nodes.js';
2
+ import { deriveWorkflowStatus } from './status.js';
3
+ // ─── Main Runner ──────────────────────────────────────────────
4
+ /**
5
+ * Run a workflow to completion.
6
+ *
7
+ * The runner:
8
+ * 1. Creates a workflow_run record
9
+ * 2. Seeds node_run records from the definition
10
+ * 3. Enters the execution loop:
11
+ * - Evaluates node statuses based on entity content + dependencies
12
+ * - Claims and executes pending agent_task nodes
13
+ * - Updates entity content after each successful node
14
+ * 4. Derives final status and completes the workflow_run
15
+ * 5. Emits events (if EventBus provided)
16
+ */
17
+ export async function runWorkflow(options) {
18
+ const { entityId, tenantId, definition, entityContent, store, executeNode, eventBus, triggerType = 'manual', triggeredBy, fields, force, fieldOverrides, } = options;
19
+ const startTime = Date.now();
20
+ const fieldsExtracted = [];
21
+ const errors = {};
22
+ let claimedNodeCount = 0;
23
+ // ── 1. Create workflow run ─────────────────────────────────
24
+ const workflowRun = await store.createWorkflowRun({
25
+ entityId,
26
+ tenantId,
27
+ triggerType,
28
+ metadata: triggeredBy ? { triggeredBy } : undefined,
29
+ });
30
+ // ── 2. Filter and seed node runs ──────────────────────────
31
+ const filteredNodes = filterNodes(definition, fields);
32
+ if (filteredNodes.length > 0) {
33
+ await store.createNodeRuns(filteredNodes.map((node) => ({
34
+ workflowRunId: workflowRun.id,
35
+ entityId,
36
+ tenantId,
37
+ nodeKey: node.key,
38
+ nodeType: node.type,
39
+ label: node.label,
40
+ fieldName: node.fieldName,
41
+ blockId: node.blockId,
42
+ outputType: node.outputType,
43
+ status: 'pending',
44
+ assigneeType: node.assigneeType,
45
+ assigneeAgentSlug: node.assigneeAgentSlug,
46
+ dependsOn: node.dependsOn.length > 0 ? node.dependsOn : undefined,
47
+ instructions: node.instructions,
48
+ })));
49
+ }
50
+ // Emit workflow started event
51
+ await emitWorkflowEvent(eventBus, 'workflow.started', {
52
+ workflowRunId: workflowRun.id,
53
+ entityId,
54
+ tenantId,
55
+ status: 'running',
56
+ triggerType,
57
+ });
58
+ // ── 3. Execution loop ─────────────────────────────────────
59
+ // Local copy of entity content that gets updated as nodes complete
60
+ const localContent = { ...entityContent };
61
+ let iterationCount = 0;
62
+ const maxIterations = filteredNodes.length * 2 + 1; // Safety limit
63
+ while (iterationCount < maxIterations) {
64
+ iterationCount++;
65
+ // Re-fetch node runs (may have been updated by previous iterations)
66
+ const nodeRuns = await store.getNodeRuns(workflowRun.id);
67
+ // Force only applies on the first evaluation pass.
68
+ // After nodes have been executed, they should not be forced back to pending.
69
+ const useForce = force && iterationCount === 1;
70
+ // Evaluate which nodes need status updates
71
+ const statusUpdates = evaluateNodeStatuses(nodeRuns, localContent, useForce);
72
+ // Apply status updates to the store in parallel
73
+ if (statusUpdates.length > 0) {
74
+ await Promise.all(statusUpdates.map((update) => store.updateNodeRun(update.nodeRunId, { status: update.newStatus })));
75
+ }
76
+ // Apply status updates to local node runs (avoids extra DB round-trip)
77
+ const statusMap = new Map(statusUpdates.map((u) => [u.nodeRunId, u.newStatus]));
78
+ const currentNodeRuns = nodeRuns.map((n) => {
79
+ const newStatus = statusMap.get(n.id);
80
+ return newStatus ? { ...n, status: newStatus } : n;
81
+ });
82
+ // Find claimable nodes (pending agent_task nodes)
83
+ const claimableNodes = currentNodeRuns.filter((n) => n.status === 'pending' && n.node_type === 'agent_task');
84
+ if (claimableNodes.length === 0) {
85
+ // No more work to do
86
+ break;
87
+ }
88
+ // Claim and execute each pending node
89
+ let anyExecuted = false;
90
+ for (const node of claimableNodes) {
91
+ const claimed = await store.claimNodeRun(node.id, triggeredBy ?? 'workflow-runner');
92
+ if (!claimed)
93
+ continue;
94
+ anyExecuted = true;
95
+ claimedNodeCount++;
96
+ const nodeStartTime = Date.now();
97
+ try {
98
+ // Mark as running
99
+ await store.updateNodeRun(claimed.id, {
100
+ status: 'running',
101
+ startedAt: new Date().toISOString(),
102
+ attemptCount: (claimed.attempt_count ?? 0) + 1,
103
+ });
104
+ // Execute the node
105
+ const result = await executeNode({
106
+ node: claimed,
107
+ entityId,
108
+ tenantId,
109
+ entityContent: localContent,
110
+ fieldOverrides,
111
+ });
112
+ if (result.success) {
113
+ const nodeDuration = Date.now() - nodeStartTime;
114
+ // Update local content with extracted values
115
+ if (result.updatedContent) {
116
+ Object.assign(localContent, result.updatedContent);
117
+ }
118
+ // Track extracted fields
119
+ fieldsExtracted.push(...result.fieldsExtracted);
120
+ // Mark node completed
121
+ await store.updateNodeRun(claimed.id, {
122
+ status: 'completed',
123
+ completedAt: new Date().toISOString(),
124
+ durationMs: nodeDuration,
125
+ });
126
+ // Emit node completed event
127
+ await emitWorkflowEvent(eventBus, 'workflow.node_completed', {
128
+ workflowRunId: workflowRun.id,
129
+ entityId,
130
+ tenantId,
131
+ status: 'completed',
132
+ nodeKey: claimed.node_key,
133
+ nodeType: claimed.node_type,
134
+ fieldName: claimed.field_name ?? undefined,
135
+ fieldsExtracted: result.fieldsExtracted,
136
+ });
137
+ }
138
+ else {
139
+ const nodeDuration = Date.now() - nodeStartTime;
140
+ // Mark node failed
141
+ errors[claimed.node_key] = result.error ?? 'Unknown error';
142
+ await store.updateNodeRun(claimed.id, {
143
+ status: 'failed',
144
+ errorMessage: result.error ?? 'Unknown error',
145
+ completedAt: new Date().toISOString(),
146
+ durationMs: nodeDuration,
147
+ });
148
+ // Emit node failed event
149
+ await emitWorkflowEvent(eventBus, 'workflow.node_failed', {
150
+ workflowRunId: workflowRun.id,
151
+ entityId,
152
+ tenantId,
153
+ status: 'failed',
154
+ nodeKey: claimed.node_key,
155
+ nodeType: claimed.node_type,
156
+ fieldName: claimed.field_name ?? undefined,
157
+ });
158
+ }
159
+ }
160
+ catch (err) {
161
+ const nodeDuration = Date.now() - nodeStartTime;
162
+ const errorMessage = err instanceof Error ? err.message : String(err);
163
+ errors[claimed.node_key] = errorMessage;
164
+ await store.updateNodeRun(claimed.id, {
165
+ status: 'failed',
166
+ errorMessage,
167
+ completedAt: new Date().toISOString(),
168
+ durationMs: nodeDuration,
169
+ });
170
+ await emitWorkflowEvent(eventBus, 'workflow.node_failed', {
171
+ workflowRunId: workflowRun.id,
172
+ entityId,
173
+ tenantId,
174
+ status: 'failed',
175
+ nodeKey: claimed.node_key,
176
+ nodeType: claimed.node_type,
177
+ fieldName: claimed.field_name ?? undefined,
178
+ });
179
+ }
180
+ }
181
+ // If no nodes were executed this iteration, break to prevent infinite loops
182
+ if (!anyExecuted)
183
+ break;
184
+ }
185
+ // ── 4. Derive final status ────────────────────────────────
186
+ const finalNodeRuns = await store.getNodeRuns(workflowRun.id);
187
+ const finalStatus = deriveWorkflowStatus(finalNodeRuns);
188
+ const totalDuration = Date.now() - startTime;
189
+ // ── 5. Complete workflow run ───────────────────────────────
190
+ await store.completeWorkflowRun(workflowRun.id, finalStatus, totalDuration);
191
+ // ── 6. Emit final workflow event ──────────────────────────
192
+ const eventType = finalStatus === 'completed' || finalStatus === 'partial'
193
+ ? 'workflow.completed'
194
+ : finalStatus === 'failed'
195
+ ? 'workflow.failed'
196
+ : 'workflow.completed';
197
+ await emitWorkflowEvent(eventBus, eventType, {
198
+ workflowRunId: workflowRun.id,
199
+ entityId,
200
+ tenantId,
201
+ status: finalStatus,
202
+ triggerType,
203
+ fieldsExtracted,
204
+ errors: Object.keys(errors).length > 0 ? errors : undefined,
205
+ });
206
+ return {
207
+ runId: workflowRun.id,
208
+ status: finalStatus,
209
+ fieldsExtracted,
210
+ errors,
211
+ claimedNodeCount,
212
+ };
213
+ }
214
+ // ─── Helpers ──────────────────────────────────────────────────
215
+ /**
216
+ * Filter workflow definition nodes to only include requested fields.
217
+ * If no fields specified, returns all nodes.
218
+ * Also includes dependency nodes transitively.
219
+ */
220
+ function filterNodes(definition, fields) {
221
+ if (!fields || fields.length === 0) {
222
+ return definition.nodes;
223
+ }
224
+ const fieldSet = new Set(fields);
225
+ const requiredKeys = new Set();
226
+ // First pass: find nodes matching requested fields
227
+ for (const node of definition.nodes) {
228
+ if (node.fieldName && fieldSet.has(node.fieldName)) {
229
+ requiredKeys.add(node.key);
230
+ }
231
+ }
232
+ // Transitive pass: include dependencies
233
+ const nodeMap = new Map(definition.nodes.map((n) => [n.key, n]));
234
+ const queue = [...requiredKeys];
235
+ while (queue.length > 0) {
236
+ const key = queue.pop();
237
+ const node = nodeMap.get(key);
238
+ if (!node)
239
+ continue;
240
+ for (const depKey of node.dependsOn) {
241
+ if (!requiredKeys.has(depKey)) {
242
+ requiredKeys.add(depKey);
243
+ queue.push(depKey);
244
+ }
245
+ }
246
+ }
247
+ return definition.nodes.filter((n) => requiredKeys.has(n.key));
248
+ }
249
+ /**
250
+ * Emit a workflow event via the event bus, if present.
251
+ * Failures are silently ignored — events are best-effort.
252
+ */
253
+ async function emitWorkflowEvent(eventBus, type, data) {
254
+ if (!eventBus)
255
+ return;
256
+ try {
257
+ await eventBus.emit(type, data, { correlationId: data.workflowRunId });
258
+ }
259
+ catch {
260
+ // Events are best-effort — swallow failures
261
+ }
262
+ }
263
+ //# sourceMappingURL=workflow-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-runner.js","sourceRoot":"","sources":["../../src/workflow/workflow-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=workflow-runner.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-runner.test.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow-runner.test.ts"],"names":[],"mappings":""}