@ajna-inc/workflow 0.5.38 → 0.6.2

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 (337) hide show
  1. package/.npmvc/attestations.jsonld +43 -0
  2. package/.npmvc/sbom.cdx.json +23758 -0
  3. package/LICENSE +202 -0
  4. package/build/WorkflowEvents.d.mts +40 -0
  5. package/build/WorkflowEvents.d.mts.map +1 -0
  6. package/build/WorkflowEvents.mjs +11 -0
  7. package/build/WorkflowEvents.mjs.map +1 -0
  8. package/build/WorkflowModule.d.mts +17 -0
  9. package/build/WorkflowModule.d.mts.map +1 -0
  10. package/build/WorkflowModule.mjs +446 -0
  11. package/build/WorkflowModule.mjs.map +1 -0
  12. package/build/WorkflowModuleConfig.d.mts +39 -0
  13. package/build/WorkflowModuleConfig.d.mts.map +1 -0
  14. package/build/WorkflowModuleConfig.mjs +19 -0
  15. package/build/WorkflowModuleConfig.mjs.map +1 -0
  16. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs +14 -0
  17. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs +11 -0
  18. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateParam.mjs +9 -0
  19. package/build/_virtual/rolldown_runtime.mjs +41 -0
  20. package/build/actions/ActionRegistry.d.mts +64 -0
  21. package/build/actions/ActionRegistry.d.mts.map +1 -0
  22. package/build/actions/ActionRegistry.mjs +304 -0
  23. package/build/actions/ActionRegistry.mjs.map +1 -0
  24. package/build/api/WorkflowApi.d.mts +99 -0
  25. package/build/api/WorkflowApi.d.mts.map +1 -0
  26. package/build/api/WorkflowApi.mjs +228 -0
  27. package/build/api/WorkflowApi.mjs.map +1 -0
  28. package/build/engine/AttributePlanner.d.mts +12 -0
  29. package/build/engine/AttributePlanner.d.mts.map +1 -0
  30. package/build/engine/AttributePlanner.mjs +58 -0
  31. package/build/engine/AttributePlanner.mjs.map +1 -0
  32. package/build/engine/GuardEvaluator.d.mts +16 -0
  33. package/build/engine/GuardEvaluator.d.mts.map +1 -0
  34. package/build/engine/GuardEvaluator.mjs +38 -0
  35. package/build/engine/GuardEvaluator.mjs.map +1 -0
  36. package/build/index.d.mts +46 -0
  37. package/build/index.mjs +53 -0
  38. package/build/index.mjs.map +1 -0
  39. package/build/model/TemplateValidation.d.mts +8 -0
  40. package/build/model/TemplateValidation.d.mts.map +1 -0
  41. package/build/model/TemplateValidation.mjs +278 -0
  42. package/build/model/TemplateValidation.mjs.map +1 -0
  43. package/build/model/types.d.mts +120 -0
  44. package/build/model/types.d.mts.map +1 -0
  45. package/build/model/types.mjs +11 -0
  46. package/build/model/types.mjs.map +1 -0
  47. package/build/protocol/WorkflowMessageTypes.d.mts +19 -0
  48. package/build/protocol/WorkflowMessageTypes.d.mts.map +1 -0
  49. package/build/protocol/WorkflowMessageTypes.mjs +20 -0
  50. package/build/protocol/WorkflowMessageTypes.mjs.map +1 -0
  51. package/build/protocol/handlers/AdvanceHandler.d.mts +16 -0
  52. package/build/protocol/handlers/AdvanceHandler.d.mts.map +1 -0
  53. package/build/protocol/handlers/AdvanceHandler.mjs +148 -0
  54. package/build/protocol/handlers/AdvanceHandler.mjs.map +1 -0
  55. package/build/protocol/handlers/CancelHandler.d.mts +16 -0
  56. package/build/protocol/handlers/CancelHandler.d.mts.map +1 -0
  57. package/build/protocol/handlers/CancelHandler.mjs +103 -0
  58. package/build/protocol/handlers/CancelHandler.mjs.map +1 -0
  59. package/build/protocol/handlers/CompleteHandler.d.mts +16 -0
  60. package/build/protocol/handlers/CompleteHandler.d.mts.map +1 -0
  61. package/build/protocol/handlers/CompleteHandler.mjs +103 -0
  62. package/build/protocol/handlers/CompleteHandler.mjs.map +1 -0
  63. package/build/protocol/handlers/DiscoverHandler.d.mts +15 -0
  64. package/build/protocol/handlers/DiscoverHandler.d.mts.map +1 -0
  65. package/build/protocol/handlers/DiscoverHandler.mjs +73 -0
  66. package/build/protocol/handlers/DiscoverHandler.mjs.map +1 -0
  67. package/build/protocol/handlers/FetchTemplateHandler.d.mts +16 -0
  68. package/build/protocol/handlers/FetchTemplateHandler.d.mts.map +1 -0
  69. package/build/protocol/handlers/FetchTemplateHandler.mjs +64 -0
  70. package/build/protocol/handlers/FetchTemplateHandler.mjs.map +1 -0
  71. package/build/protocol/handlers/PauseHandler.d.mts +16 -0
  72. package/build/protocol/handlers/PauseHandler.d.mts.map +1 -0
  73. package/build/protocol/handlers/PauseHandler.mjs +103 -0
  74. package/build/protocol/handlers/PauseHandler.mjs.map +1 -0
  75. package/build/protocol/handlers/ProblemReportHandler.d.mts +11 -0
  76. package/build/protocol/handlers/ProblemReportHandler.d.mts.map +1 -0
  77. package/build/protocol/handlers/ProblemReportHandler.mjs +26 -0
  78. package/build/protocol/handlers/ProblemReportHandler.mjs.map +1 -0
  79. package/build/protocol/handlers/PublishTemplateHandler.d.mts +15 -0
  80. package/build/protocol/handlers/PublishTemplateHandler.d.mts.map +1 -0
  81. package/build/protocol/handlers/PublishTemplateHandler.mjs +47 -0
  82. package/build/protocol/handlers/PublishTemplateHandler.mjs.map +1 -0
  83. package/build/protocol/handlers/ResumeHandler.d.mts +16 -0
  84. package/build/protocol/handlers/ResumeHandler.d.mts.map +1 -0
  85. package/build/protocol/handlers/ResumeHandler.mjs +103 -0
  86. package/build/protocol/handlers/ResumeHandler.mjs.map +1 -0
  87. package/build/protocol/handlers/StartHandler.d.mts +16 -0
  88. package/build/protocol/handlers/StartHandler.d.mts.map +1 -0
  89. package/build/protocol/handlers/StartHandler.mjs +238 -0
  90. package/build/protocol/handlers/StartHandler.mjs.map +1 -0
  91. package/build/protocol/handlers/StatusHandler.d.mts +16 -0
  92. package/build/protocol/handlers/StatusHandler.d.mts.map +1 -0
  93. package/build/protocol/handlers/StatusHandler.mjs +169 -0
  94. package/build/protocol/handlers/StatusHandler.mjs.map +1 -0
  95. package/build/protocol/handlers/TemplateHandler.d.mts +14 -0
  96. package/build/protocol/handlers/TemplateHandler.d.mts.map +1 -0
  97. package/build/protocol/handlers/TemplateHandler.mjs +66 -0
  98. package/build/protocol/handlers/TemplateHandler.mjs.map +1 -0
  99. package/build/protocol/messages/AdvanceMessage.d.mts +22 -0
  100. package/build/protocol/messages/AdvanceMessage.d.mts.map +1 -0
  101. package/build/protocol/messages/AdvanceMessage.mjs +25 -0
  102. package/build/protocol/messages/AdvanceMessage.mjs.map +1 -0
  103. package/build/protocol/messages/CancelMessage.d.mts +20 -0
  104. package/build/protocol/messages/CancelMessage.d.mts.map +1 -0
  105. package/build/protocol/messages/CancelMessage.mjs +25 -0
  106. package/build/protocol/messages/CancelMessage.mjs.map +1 -0
  107. package/build/protocol/messages/CompleteMessage.d.mts +20 -0
  108. package/build/protocol/messages/CompleteMessage.d.mts.map +1 -0
  109. package/build/protocol/messages/CompleteMessage.mjs +25 -0
  110. package/build/protocol/messages/CompleteMessage.mjs.map +1 -0
  111. package/build/protocol/messages/DiscoverMessage.d.mts +29 -0
  112. package/build/protocol/messages/DiscoverMessage.d.mts.map +1 -0
  113. package/build/protocol/messages/DiscoverMessage.mjs +25 -0
  114. package/build/protocol/messages/DiscoverMessage.mjs.map +1 -0
  115. package/build/protocol/messages/FetchTemplateMessage.d.mts +21 -0
  116. package/build/protocol/messages/FetchTemplateMessage.d.mts.map +1 -0
  117. package/build/protocol/messages/FetchTemplateMessage.mjs +31 -0
  118. package/build/protocol/messages/FetchTemplateMessage.mjs.map +1 -0
  119. package/build/protocol/messages/PauseMessage.d.mts +20 -0
  120. package/build/protocol/messages/PauseMessage.d.mts.map +1 -0
  121. package/build/protocol/messages/PauseMessage.mjs +25 -0
  122. package/build/protocol/messages/PauseMessage.mjs.map +1 -0
  123. package/build/protocol/messages/ProblemReportMessage.d.mts +21 -0
  124. package/build/protocol/messages/ProblemReportMessage.d.mts.map +1 -0
  125. package/build/protocol/messages/ProblemReportMessage.mjs +25 -0
  126. package/build/protocol/messages/ProblemReportMessage.mjs.map +1 -0
  127. package/build/protocol/messages/PublishTemplateMessage.d.mts +23 -0
  128. package/build/protocol/messages/PublishTemplateMessage.d.mts.map +1 -0
  129. package/build/protocol/messages/PublishTemplateMessage.mjs +24 -0
  130. package/build/protocol/messages/PublishTemplateMessage.mjs.map +1 -0
  131. package/build/protocol/messages/ResumeMessage.d.mts +20 -0
  132. package/build/protocol/messages/ResumeMessage.d.mts.map +1 -0
  133. package/build/protocol/messages/ResumeMessage.mjs +25 -0
  134. package/build/protocol/messages/ResumeMessage.mjs.map +1 -0
  135. package/build/protocol/messages/StartMessage.d.mts +27 -0
  136. package/build/protocol/messages/StartMessage.d.mts.map +1 -0
  137. package/build/protocol/messages/StartMessage.mjs +25 -0
  138. package/build/protocol/messages/StartMessage.mjs.map +1 -0
  139. package/build/protocol/messages/StatusMessage.d.mts +35 -0
  140. package/build/protocol/messages/StatusMessage.d.mts.map +1 -0
  141. package/build/protocol/messages/StatusMessage.mjs +25 -0
  142. package/build/protocol/messages/StatusMessage.mjs.map +1 -0
  143. package/build/protocol/messages/StatusRequestMessage.d.mts +29 -0
  144. package/build/protocol/messages/StatusRequestMessage.d.mts.map +1 -0
  145. package/build/protocol/messages/StatusRequestMessage.mjs +25 -0
  146. package/build/protocol/messages/StatusRequestMessage.mjs.map +1 -0
  147. package/build/protocol/messages/TemplateMessage.d.mts +20 -0
  148. package/build/protocol/messages/TemplateMessage.d.mts.map +1 -0
  149. package/build/protocol/messages/TemplateMessage.mjs +25 -0
  150. package/build/protocol/messages/TemplateMessage.mjs.map +1 -0
  151. package/build/protocol/messages/WorkflowsMessage.d.mts +28 -0
  152. package/build/protocol/messages/WorkflowsMessage.d.mts.map +1 -0
  153. package/build/protocol/messages/WorkflowsMessage.mjs +25 -0
  154. package/build/protocol/messages/WorkflowsMessage.mjs.map +1 -0
  155. package/build/queue/CommandQueue.d.mts +22 -0
  156. package/build/queue/CommandQueue.d.mts.map +1 -0
  157. package/build/queue/CommandQueue.mjs +6 -0
  158. package/build/queue/CommandQueue.mjs.map +1 -0
  159. package/build/queue/PersistentCommandQueue.d.mts +56 -0
  160. package/build/queue/PersistentCommandQueue.d.mts.map +1 -0
  161. package/build/queue/PersistentCommandQueue.mjs +273 -0
  162. package/build/queue/PersistentCommandQueue.mjs.map +1 -0
  163. package/build/repository/WorkflowCommandRecord.d.mts +50 -0
  164. package/build/repository/WorkflowCommandRecord.d.mts.map +1 -0
  165. package/build/repository/WorkflowCommandRecord.mjs +48 -0
  166. package/build/repository/WorkflowCommandRecord.mjs.map +1 -0
  167. package/build/repository/WorkflowCommandRepository.d.mts +59 -0
  168. package/build/repository/WorkflowCommandRepository.d.mts.map +1 -0
  169. package/build/repository/WorkflowCommandRepository.mjs +136 -0
  170. package/build/repository/WorkflowCommandRepository.mjs.map +1 -0
  171. package/build/repository/WorkflowInstanceRecord.d.mts +65 -0
  172. package/build/repository/WorkflowInstanceRecord.d.mts.map +1 -0
  173. package/build/repository/WorkflowInstanceRecord.mjs +44 -0
  174. package/build/repository/WorkflowInstanceRecord.mjs.map +1 -0
  175. package/build/repository/WorkflowInstanceRepository.d.mts +15 -0
  176. package/build/repository/WorkflowInstanceRepository.d.mts.map +1 -0
  177. package/build/repository/WorkflowInstanceRepository.mjs +48 -0
  178. package/build/repository/WorkflowInstanceRepository.mjs.map +1 -0
  179. package/build/repository/WorkflowTemplateRecord.d.mts +27 -0
  180. package/build/repository/WorkflowTemplateRecord.d.mts.map +1 -0
  181. package/build/repository/WorkflowTemplateRecord.mjs +29 -0
  182. package/build/repository/WorkflowTemplateRecord.mjs.map +1 -0
  183. package/build/repository/WorkflowTemplateRepository.d.mts +11 -0
  184. package/build/repository/WorkflowTemplateRepository.d.mts.map +1 -0
  185. package/build/repository/WorkflowTemplateRepository.mjs +43 -0
  186. package/build/repository/WorkflowTemplateRepository.mjs.map +1 -0
  187. package/build/services/WorkflowService.d.mts +107 -0
  188. package/build/services/WorkflowService.d.mts.map +1 -0
  189. package/build/services/WorkflowService.mjs +582 -0
  190. package/build/services/WorkflowService.mjs.map +1 -0
  191. package/build/ui/UiFilter.mjs +85 -0
  192. package/build/ui/UiFilter.mjs.map +1 -0
  193. package/package.json +27 -33
  194. package/build/WorkflowEvents.d.ts +0 -35
  195. package/build/WorkflowEvents.js +0 -10
  196. package/build/WorkflowEvents.js.map +0 -1
  197. package/build/WorkflowModule.d.ts +0 -13
  198. package/build/WorkflowModule.js +0 -647
  199. package/build/WorkflowModule.js.map +0 -1
  200. package/build/WorkflowModuleConfig.d.ts +0 -35
  201. package/build/WorkflowModuleConfig.js +0 -19
  202. package/build/WorkflowModuleConfig.js.map +0 -1
  203. package/build/actions/ActionRegistry.d.ts +0 -59
  204. package/build/actions/ActionRegistry.js +0 -367
  205. package/build/actions/ActionRegistry.js.map +0 -1
  206. package/build/api/WorkflowApi.d.ts +0 -94
  207. package/build/api/WorkflowApi.js +0 -241
  208. package/build/api/WorkflowApi.js.map +0 -1
  209. package/build/engine/AttributePlanner.d.ts +0 -7
  210. package/build/engine/AttributePlanner.js +0 -81
  211. package/build/engine/AttributePlanner.js.map +0 -1
  212. package/build/engine/GuardEvaluator.d.ts +0 -11
  213. package/build/engine/GuardEvaluator.js +0 -40
  214. package/build/engine/GuardEvaluator.js.map +0 -1
  215. package/build/index.d.ts +0 -45
  216. package/build/index.js +0 -69
  217. package/build/index.js.map +0 -1
  218. package/build/model/TemplateValidation.d.ts +0 -3
  219. package/build/model/TemplateValidation.js +0 -231
  220. package/build/model/TemplateValidation.js.map +0 -1
  221. package/build/model/types.d.ts +0 -116
  222. package/build/model/types.js +0 -15
  223. package/build/model/types.js.map +0 -1
  224. package/build/protocol/WorkflowMessageTypes.d.ts +0 -15
  225. package/build/protocol/WorkflowMessageTypes.js +0 -22
  226. package/build/protocol/WorkflowMessageTypes.js.map +0 -1
  227. package/build/protocol/handlers/AdvanceHandler.d.ts +0 -12
  228. package/build/protocol/handlers/AdvanceHandler.js +0 -149
  229. package/build/protocol/handlers/AdvanceHandler.js.map +0 -1
  230. package/build/protocol/handlers/CancelHandler.d.ts +0 -12
  231. package/build/protocol/handlers/CancelHandler.js +0 -124
  232. package/build/protocol/handlers/CancelHandler.js.map +0 -1
  233. package/build/protocol/handlers/CompleteHandler.d.ts +0 -12
  234. package/build/protocol/handlers/CompleteHandler.js +0 -125
  235. package/build/protocol/handlers/CompleteHandler.js.map +0 -1
  236. package/build/protocol/handlers/DiscoverHandler.d.ts +0 -11
  237. package/build/protocol/handlers/DiscoverHandler.js +0 -71
  238. package/build/protocol/handlers/DiscoverHandler.js.map +0 -1
  239. package/build/protocol/handlers/FetchTemplateHandler.d.ts +0 -12
  240. package/build/protocol/handlers/FetchTemplateHandler.js +0 -71
  241. package/build/protocol/handlers/FetchTemplateHandler.js.map +0 -1
  242. package/build/protocol/handlers/PauseHandler.d.ts +0 -12
  243. package/build/protocol/handlers/PauseHandler.js +0 -124
  244. package/build/protocol/handlers/PauseHandler.js.map +0 -1
  245. package/build/protocol/handlers/ProblemReportHandler.d.ts +0 -6
  246. package/build/protocol/handlers/ProblemReportHandler.js +0 -28
  247. package/build/protocol/handlers/ProblemReportHandler.js.map +0 -1
  248. package/build/protocol/handlers/PublishTemplateHandler.d.ts +0 -11
  249. package/build/protocol/handlers/PublishTemplateHandler.js +0 -53
  250. package/build/protocol/handlers/PublishTemplateHandler.js.map +0 -1
  251. package/build/protocol/handlers/ResumeHandler.d.ts +0 -12
  252. package/build/protocol/handlers/ResumeHandler.js +0 -124
  253. package/build/protocol/handlers/ResumeHandler.js.map +0 -1
  254. package/build/protocol/handlers/StartHandler.d.ts +0 -12
  255. package/build/protocol/handlers/StartHandler.js +0 -274
  256. package/build/protocol/handlers/StartHandler.js.map +0 -1
  257. package/build/protocol/handlers/StatusHandler.d.ts +0 -12
  258. package/build/protocol/handlers/StatusHandler.js +0 -202
  259. package/build/protocol/handlers/StatusHandler.js.map +0 -1
  260. package/build/protocol/handlers/TemplateHandler.d.ts +0 -9
  261. package/build/protocol/handlers/TemplateHandler.js +0 -83
  262. package/build/protocol/handlers/TemplateHandler.js.map +0 -1
  263. package/build/protocol/messages/AdvanceMessage.d.ts +0 -16
  264. package/build/protocol/messages/AdvanceMessage.js +0 -33
  265. package/build/protocol/messages/AdvanceMessage.js.map +0 -1
  266. package/build/protocol/messages/CancelMessage.d.ts +0 -14
  267. package/build/protocol/messages/CancelMessage.js +0 -33
  268. package/build/protocol/messages/CancelMessage.js.map +0 -1
  269. package/build/protocol/messages/CompleteMessage.d.ts +0 -14
  270. package/build/protocol/messages/CompleteMessage.js +0 -33
  271. package/build/protocol/messages/CompleteMessage.js.map +0 -1
  272. package/build/protocol/messages/DiscoverMessage.d.ts +0 -23
  273. package/build/protocol/messages/DiscoverMessage.js +0 -33
  274. package/build/protocol/messages/DiscoverMessage.js.map +0 -1
  275. package/build/protocol/messages/FetchTemplateMessage.d.ts +0 -15
  276. package/build/protocol/messages/FetchTemplateMessage.js +0 -33
  277. package/build/protocol/messages/FetchTemplateMessage.js.map +0 -1
  278. package/build/protocol/messages/PauseMessage.d.ts +0 -14
  279. package/build/protocol/messages/PauseMessage.js +0 -33
  280. package/build/protocol/messages/PauseMessage.js.map +0 -1
  281. package/build/protocol/messages/ProblemReportMessage.d.ts +0 -15
  282. package/build/protocol/messages/ProblemReportMessage.js +0 -33
  283. package/build/protocol/messages/ProblemReportMessage.js.map +0 -1
  284. package/build/protocol/messages/PublishTemplateMessage.d.ts +0 -17
  285. package/build/protocol/messages/PublishTemplateMessage.js +0 -31
  286. package/build/protocol/messages/PublishTemplateMessage.js.map +0 -1
  287. package/build/protocol/messages/ResumeMessage.d.ts +0 -14
  288. package/build/protocol/messages/ResumeMessage.js +0 -33
  289. package/build/protocol/messages/ResumeMessage.js.map +0 -1
  290. package/build/protocol/messages/StartMessage.d.ts +0 -21
  291. package/build/protocol/messages/StartMessage.js +0 -33
  292. package/build/protocol/messages/StartMessage.js.map +0 -1
  293. package/build/protocol/messages/StatusMessage.d.ts +0 -29
  294. package/build/protocol/messages/StatusMessage.js +0 -33
  295. package/build/protocol/messages/StatusMessage.js.map +0 -1
  296. package/build/protocol/messages/StatusRequestMessage.d.ts +0 -23
  297. package/build/protocol/messages/StatusRequestMessage.js +0 -33
  298. package/build/protocol/messages/StatusRequestMessage.js.map +0 -1
  299. package/build/protocol/messages/TemplateMessage.d.ts +0 -14
  300. package/build/protocol/messages/TemplateMessage.js +0 -33
  301. package/build/protocol/messages/TemplateMessage.js.map +0 -1
  302. package/build/protocol/messages/WorkflowsMessage.d.ts +0 -22
  303. package/build/protocol/messages/WorkflowsMessage.js +0 -33
  304. package/build/protocol/messages/WorkflowsMessage.js.map +0 -1
  305. package/build/queue/CommandQueue.d.ts +0 -18
  306. package/build/queue/CommandQueue.js +0 -8
  307. package/build/queue/CommandQueue.js.map +0 -1
  308. package/build/queue/PersistentCommandQueue.d.ts +0 -51
  309. package/build/queue/PersistentCommandQueue.js +0 -348
  310. package/build/queue/PersistentCommandQueue.js.map +0 -1
  311. package/build/repository/WorkflowCommandRecord.d.ts +0 -46
  312. package/build/repository/WorkflowCommandRecord.js +0 -52
  313. package/build/repository/WorkflowCommandRecord.js.map +0 -1
  314. package/build/repository/WorkflowCommandRepository.d.ts +0 -55
  315. package/build/repository/WorkflowCommandRepository.js +0 -149
  316. package/build/repository/WorkflowCommandRepository.js.map +0 -1
  317. package/build/repository/WorkflowInstanceRecord.d.ts +0 -61
  318. package/build/repository/WorkflowInstanceRecord.js +0 -43
  319. package/build/repository/WorkflowInstanceRecord.js.map +0 -1
  320. package/build/repository/WorkflowInstanceRepository.d.ts +0 -10
  321. package/build/repository/WorkflowInstanceRepository.js +0 -52
  322. package/build/repository/WorkflowInstanceRepository.js.map +0 -1
  323. package/build/repository/WorkflowTemplateRecord.d.ts +0 -23
  324. package/build/repository/WorkflowTemplateRecord.js +0 -28
  325. package/build/repository/WorkflowTemplateRecord.js.map +0 -1
  326. package/build/repository/WorkflowTemplateRepository.d.ts +0 -6
  327. package/build/repository/WorkflowTemplateRepository.js +0 -56
  328. package/build/repository/WorkflowTemplateRepository.js.map +0 -1
  329. package/build/services/WorkflowService.d.ts +0 -102
  330. package/build/services/WorkflowService.js +0 -712
  331. package/build/services/WorkflowService.js.map +0 -1
  332. package/build/ui/UiFilter.d.ts +0 -5
  333. package/build/ui/UiFilter.js +0 -104
  334. package/build/ui/UiFilter.js.map +0 -1
  335. package/build/ui/UiTypes.d.ts +0 -28
  336. package/build/ui/UiTypes.js +0 -3
  337. package/build/ui/UiTypes.js.map +0 -1
@@ -1,647 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WorkflowModule = exports.WORKFLOW_ROLES = exports.WORKFLOW_PROTOCOL_URI = void 0;
4
- const core_1 = require("@credo-ts/core");
5
- const WorkflowModuleConfig_1 = require("./WorkflowModuleConfig");
6
- const CommandQueue_1 = require("./queue/CommandQueue");
7
- const PersistentCommandQueue_1 = require("./queue/PersistentCommandQueue");
8
- const WorkflowApi_1 = require("./api/WorkflowApi");
9
- const WorkflowCommandRepository_1 = require("./repository/WorkflowCommandRepository");
10
- const AdvanceHandler_1 = require("./protocol/handlers/AdvanceHandler");
11
- const CancelHandler_1 = require("./protocol/handlers/CancelHandler");
12
- const CompleteHandler_1 = require("./protocol/handlers/CompleteHandler");
13
- const DiscoverHandler_1 = require("./protocol/handlers/DiscoverHandler");
14
- const FetchTemplateHandler_1 = require("./protocol/handlers/FetchTemplateHandler");
15
- const TemplateHandler_1 = require("./protocol/handlers/TemplateHandler");
16
- const PauseHandler_1 = require("./protocol/handlers/PauseHandler");
17
- const ProblemReportHandler_1 = require("./protocol/handlers/ProblemReportHandler");
18
- const PublishTemplateHandler_1 = require("./protocol/handlers/PublishTemplateHandler");
19
- const ResumeHandler_1 = require("./protocol/handlers/ResumeHandler");
20
- const StartHandler_1 = require("./protocol/handlers/StartHandler");
21
- const StatusHandler_1 = require("./protocol/handlers/StatusHandler");
22
- const WorkflowInstanceRepository_1 = require("./repository/WorkflowInstanceRepository");
23
- const WorkflowTemplateRepository_1 = require("./repository/WorkflowTemplateRepository");
24
- const WorkflowService_1 = require("./services/WorkflowService");
25
- const core_2 = require("@credo-ts/core");
26
- exports.WORKFLOW_PROTOCOL_URI = 'https://didcomm.org/workflow/1.0';
27
- exports.WORKFLOW_ROLES = ['processor', 'coordinator'];
28
- class WorkflowModule {
29
- constructor(options) {
30
- this.api = WorkflowApi_1.WorkflowApi;
31
- this.config = new WorkflowModuleConfig_1.WorkflowModuleConfig(options);
32
- }
33
- register(dependencyManager) {
34
- dependencyManager.resolve(core_1.AgentConfig).logger.info('Registering WorkflowModule');
35
- dependencyManager.registerInstance(WorkflowModuleConfig_1.WorkflowModuleConfig, this.config);
36
- dependencyManager.registerSingleton(WorkflowTemplateRepository_1.WorkflowTemplateRepository);
37
- dependencyManager.registerSingleton(WorkflowInstanceRepository_1.WorkflowInstanceRepository);
38
- dependencyManager.registerSingleton(WorkflowCommandRepository_1.WorkflowCommandRepository);
39
- dependencyManager.registerSingleton(WorkflowService_1.WorkflowService);
40
- // IMPORTANT: Do not register WorkflowApi as a singleton here.
41
- // The DependencyManager will register `module.api` (WorkflowApi) as context-scoped
42
- // via `registerModules`, ensuring a fresh API instance per AgentContext (tenant-safe).
43
- dependencyManager.registerSingleton(PublishTemplateHandler_1.PublishTemplateHandler);
44
- dependencyManager.registerSingleton(StartHandler_1.StartHandler);
45
- dependencyManager.registerSingleton(AdvanceHandler_1.AdvanceHandler);
46
- dependencyManager.registerSingleton(StatusHandler_1.StatusHandler);
47
- dependencyManager.registerSingleton(ProblemReportHandler_1.ProblemReportHandler);
48
- dependencyManager.registerSingleton(PauseHandler_1.PauseHandler);
49
- dependencyManager.registerSingleton(ResumeHandler_1.ResumeHandler);
50
- dependencyManager.registerSingleton(CancelHandler_1.CancelHandler);
51
- dependencyManager.registerSingleton(CompleteHandler_1.CompleteHandler);
52
- dependencyManager.registerSingleton(DiscoverHandler_1.DiscoverHandler);
53
- dependencyManager.registerSingleton(FetchTemplateHandler_1.FetchTemplateHandler);
54
- dependencyManager.registerSingleton(TemplateHandler_1.TemplateHandler);
55
- }
56
- async initialize(agentContext) {
57
- const dm = agentContext.dependencyManager;
58
- const logger = dm.resolve(core_1.AgentConfig).logger;
59
- const features = dm.resolve(core_1.FeatureRegistry);
60
- const handlers = dm.resolve(core_1.MessageHandlerRegistry);
61
- logger.info('Initializing WorkflowModule - registering workflow/1.0 protocol');
62
- try {
63
- features.register(new core_1.Protocol({ id: exports.WORKFLOW_PROTOCOL_URI, roles: [...exports.WORKFLOW_ROLES] }));
64
- }
65
- catch (_e) {
66
- void 0;
67
- }
68
- handlers.registerMessageHandler(dm.resolve(PublishTemplateHandler_1.PublishTemplateHandler));
69
- handlers.registerMessageHandler(dm.resolve(StartHandler_1.StartHandler));
70
- handlers.registerMessageHandler(dm.resolve(AdvanceHandler_1.AdvanceHandler));
71
- handlers.registerMessageHandler(dm.resolve(StatusHandler_1.StatusHandler));
72
- handlers.registerMessageHandler(dm.resolve(ProblemReportHandler_1.ProblemReportHandler));
73
- handlers.registerMessageHandler(dm.resolve(PauseHandler_1.PauseHandler));
74
- handlers.registerMessageHandler(dm.resolve(ResumeHandler_1.ResumeHandler));
75
- handlers.registerMessageHandler(dm.resolve(CancelHandler_1.CancelHandler));
76
- handlers.registerMessageHandler(dm.resolve(CompleteHandler_1.CompleteHandler));
77
- // discovery/fetch extension
78
- handlers.registerMessageHandler(dm.resolve(DiscoverHandler_1.DiscoverHandler));
79
- handlers.registerMessageHandler(dm.resolve(FetchTemplateHandler_1.FetchTemplateHandler));
80
- handlers.registerMessageHandler(dm.resolve(TemplateHandler_1.TemplateHandler));
81
- // Inbound mapping: credentials/proofs → workflow events
82
- const events = dm.resolve(core_1.EventEmitter);
83
- const service = dm.resolve(WorkflowService_1.WorkflowService);
84
- const contextProvider = dm.resolve(core_1.InjectionSymbols.AgentContextProvider);
85
- const rootContextId = agentContext.contextCorrelationId;
86
- const resolveEventContext = async (metadata) => {
87
- const correlationId = metadata?.contextCorrelationId;
88
- if (!correlationId || correlationId === rootContextId) {
89
- return { context: agentContext, release: async () => { } };
90
- }
91
- try {
92
- const scopedContext = await contextProvider.getAgentContextForContextCorrelationId(correlationId);
93
- return {
94
- context: scopedContext,
95
- release: async () => {
96
- try {
97
- await contextProvider.endSessionForAgentContext(scopedContext);
98
- }
99
- catch (error) {
100
- logger.debug('WorkflowModule - failed to end tenant session after event', {
101
- contextCorrelationId: correlationId,
102
- error: error.message,
103
- });
104
- }
105
- },
106
- };
107
- }
108
- catch (error) {
109
- logger.debug('WorkflowModule - unable to resolve context for event', {
110
- contextCorrelationId: correlationId,
111
- error: error.message,
112
- });
113
- return null;
114
- }
115
- };
116
- events.on(core_1.CredentialEventTypes.CredentialStateChanged, async (e) => {
117
- const rec = e.payload.credentialRecord;
118
- const connId = rec.connectionId;
119
- if (!connId)
120
- return;
121
- const scoped = await resolveEventContext(e.metadata);
122
- if (!scoped)
123
- return;
124
- try {
125
- if (rec.state === core_1.CredentialState.ProposalReceived) {
126
- await service.autoAdvanceByConnection(scoped.context, connId, 'proposal_received');
127
- }
128
- else if (rec.state === core_1.CredentialState.OfferReceived) {
129
- await service.autoAdvanceByConnection(scoped.context, connId, 'offer_received');
130
- }
131
- else if (rec.state === core_1.CredentialState.RequestReceived) {
132
- await service.autoAdvanceByConnection(scoped.context, connId, 'request_received');
133
- }
134
- else if (rec.state === core_1.CredentialState.Done) {
135
- await service.autoAdvanceByConnection(scoped.context, connId, 'issued_ack');
136
- }
137
- }
138
- finally {
139
- await scoped.release();
140
- }
141
- });
142
- events.on(core_1.ProofEventTypes.ProofStateChanged, async (e) => {
143
- const rec = e.payload.proofRecord;
144
- const connId = rec.connectionId;
145
- if (!connId)
146
- return;
147
- const scoped = await resolveEventContext(e.metadata);
148
- if (!scoped)
149
- return;
150
- try {
151
- if (rec.state === core_1.ProofState.PresentationReceived) {
152
- await service.autoAdvanceByConnection(scoped.context, connId, 'presentation_received');
153
- }
154
- else if (rec.state === core_1.ProofState.Done) {
155
- await service.autoAdvanceByConnection(scoped.context, connId, 'verified_ack');
156
- }
157
- }
158
- finally {
159
- await scoped.release();
160
- }
161
- });
162
- // Optional: register payments v1 actions when payments module is available
163
- try {
164
- let createPaymentsV1Actions;
165
- try {
166
- ;
167
- ({ createPaymentsV1Actions } = require('@credo-ts/payments'));
168
- }
169
- catch {
170
- /* optional dependency */
171
- }
172
- if (!createPaymentsV1Actions) {
173
- try {
174
- ;
175
- ({ createPaymentsV1Actions } = require('@credo-ts/payments/workflow/PaymentsV1Actions'));
176
- }
177
- catch {
178
- /* optional dependency */
179
- }
180
- }
181
- if (!createPaymentsV1Actions) {
182
- try {
183
- ;
184
- ({ createPaymentsV1Actions } = require('@credo-ts/payments/workflow/PaymentsV1Actions'));
185
- }
186
- catch {
187
- /* optional dependency */
188
- }
189
- }
190
- // Try @ajna-inc/payments (static require for React Native compatibility)
191
- if (!createPaymentsV1Actions) {
192
- try {
193
- ;
194
- ({ createPaymentsV1Actions } = require('@ajna-inc/payments'));
195
- }
196
- catch {
197
- /* optional dependency */
198
- }
199
- }
200
- if (!createPaymentsV1Actions) {
201
- try {
202
- ;
203
- ({ createPaymentsV1Actions } = require('@ajna-inc/payments/workflow/PaymentsV1Actions'));
204
- }
205
- catch {
206
- /* optional dependency */
207
- }
208
- }
209
- if (createPaymentsV1Actions) {
210
- const actions = createPaymentsV1Actions();
211
- try {
212
- // Prefer explicit API if available
213
- const svcAny = service;
214
- if (typeof svcAny.registerActions === 'function') {
215
- svcAny.registerActions(actions);
216
- }
217
- else if (svcAny.actions && typeof svcAny.actions.register === 'function') {
218
- for (const a of actions)
219
- svcAny.actions.register(a);
220
- }
221
- else {
222
- throw new Error('no action registry available');
223
- }
224
- logger.info('WorkflowModule - registered PaymentsV1 actions');
225
- }
226
- catch (_e) {
227
- // swallow
228
- }
229
- }
230
- }
231
- catch {
232
- /* optional dependency */
233
- }
234
- // Optional: map payments events → workflow events (guarded if payments not installed)
235
- if (this.config.enablePaymentsEventMapping)
236
- try {
237
- let PaymentsEventTypes;
238
- try {
239
- ;
240
- ({ PaymentsEventTypes } = require('@credo-ts/payments'));
241
- }
242
- catch {
243
- /* optional dependency */
244
- }
245
- if (!PaymentsEventTypes) {
246
- try {
247
- ;
248
- ({ PaymentsEventTypes } = require('@credo-ts/payments/events/PaymentEvents'));
249
- }
250
- catch {
251
- /* optional dependency */
252
- }
253
- }
254
- if (!PaymentsEventTypes) {
255
- try {
256
- ;
257
- ({ PaymentsEventTypes } = require('@credo-ts/payments/events/PaymentEvents'));
258
- }
259
- catch {
260
- /* optional dependency */
261
- }
262
- }
263
- if (!PaymentsEventTypes)
264
- return;
265
- const adv = async (threadId, event, metadata) => {
266
- const scoped = await resolveEventContext(metadata);
267
- if (!scoped)
268
- return;
269
- try {
270
- await service.advance(scoped.context, {
271
- instance_id: threadId,
272
- event,
273
- idempotency_key: `auto:payments:${event}:${threadId}`,
274
- });
275
- }
276
- catch (e) {
277
- logger.debug(`[Workflow] payments event advance error: ${e.message}`);
278
- }
279
- finally {
280
- await scoped.release();
281
- }
282
- };
283
- const on = (evt, cb) => events.on?.(evt, cb);
284
- if (PaymentsEventTypes.IntroResponded)
285
- on(PaymentsEventTypes.IntroResponded, async (e) => {
286
- const th = e?.payload?.threadId;
287
- if (th)
288
- await adv(th, 'payments.methods_received', e?.metadata);
289
- });
290
- if (PaymentsEventTypes.HandshakeAccepted)
291
- on(PaymentsEventTypes.HandshakeAccepted, async (e) => {
292
- const th = e?.payload?.threadId;
293
- if (th)
294
- await adv(th, 'payments.handshake_accepted', e?.metadata);
295
- });
296
- if (PaymentsEventTypes.ComplianceRequired)
297
- on(PaymentsEventTypes.ComplianceRequired, async (e) => {
298
- const th = e?.payload?.threadId;
299
- if (th)
300
- await adv(th, 'payments.compliance_required', e?.metadata);
301
- });
302
- if (PaymentsEventTypes.ComplianceSatisfied)
303
- on(PaymentsEventTypes.ComplianceSatisfied, async (e) => {
304
- const th = e?.payload?.threadId;
305
- if (th)
306
- await adv(th, 'payments.compliance_satisfied', e?.metadata);
307
- });
308
- if (PaymentsEventTypes.ComplianceRejected)
309
- on(PaymentsEventTypes.ComplianceRejected, async (e) => {
310
- const th = e?.payload?.threadId;
311
- if (th)
312
- await adv(th, 'payments.compliance_rejected', e?.metadata);
313
- });
314
- if (PaymentsEventTypes.SettlementUpdated)
315
- on(PaymentsEventTypes.SettlementUpdated, async (e) => {
316
- const p = e?.payload;
317
- const th = p?.threadId;
318
- const status = p?.status;
319
- if (!status)
320
- return;
321
- const map = {
322
- received: 'payments.receipt_received',
323
- pending: 'payments.settlement_pending',
324
- settled: 'payments.settled',
325
- failed: 'payments.failed',
326
- };
327
- const ev = map[status];
328
- if (ev && th)
329
- await adv(th, ev, e?.metadata);
330
- });
331
- logger.info('WorkflowModule - registered Payments event listeners');
332
- }
333
- catch {
334
- /* optional dependency */
335
- }
336
- // Optional: register POE v1 actions when POE module is available
337
- try {
338
- let createPoeV1Actions;
339
- try {
340
- ;
341
- ({ createPoeV1Actions } = require('@ajna-inc/poe'));
342
- }
343
- catch {
344
- /* optional dependency */
345
- }
346
- if (!createPoeV1Actions) {
347
- try {
348
- ;
349
- ({ createPoeV1Actions } = require('@ajna-inc/poe/workflow/PoeV1Actions'));
350
- }
351
- catch {
352
- /* optional dependency */
353
- }
354
- }
355
- if (createPoeV1Actions) {
356
- const actions = createPoeV1Actions();
357
- try {
358
- const svcAny = service;
359
- if (typeof svcAny.registerActions === 'function') {
360
- svcAny.registerActions(actions);
361
- }
362
- else if (svcAny.actions && typeof svcAny.actions.register === 'function') {
363
- for (const a of actions)
364
- svcAny.actions.register(a);
365
- }
366
- else {
367
- throw new Error('no action registry available');
368
- }
369
- logger.info('WorkflowModule - registered PoeV1 actions');
370
- }
371
- catch (_e) {
372
- // swallow
373
- }
374
- }
375
- }
376
- catch {
377
- /* optional dependency */
378
- }
379
- // Optional: map POE events → workflow events (guarded if POE not installed)
380
- if (this.config.enablePoeEventMapping)
381
- try {
382
- let PoeEventTypes;
383
- let PoeState;
384
- try {
385
- ;
386
- ({ PoeEventTypes, PoeState } = require('@ajna-inc/poe'));
387
- }
388
- catch {
389
- /* optional dependency */
390
- }
391
- if (!PoeEventTypes || !PoeState)
392
- return;
393
- const on = (evt, cb) => events.on?.(evt, cb);
394
- if (PoeEventTypes.PoeStateChanged)
395
- on(PoeEventTypes.PoeStateChanged, async (e) => {
396
- const poeRecord = e?.payload?.poeRecord;
397
- const connectionId = poeRecord?.connectionId;
398
- if (!connectionId)
399
- return;
400
- const scoped = await resolveEventContext(e?.metadata);
401
- if (!scoped)
402
- return;
403
- try {
404
- let workflowEvent;
405
- switch (poeRecord.state) {
406
- case PoeState?.RequestReceived:
407
- workflowEvent = 'poe.request_received';
408
- break;
409
- case PoeState?.SubmitReceived:
410
- workflowEvent = poeRecord.verificationResult?.verified
411
- ? 'poe.verified'
412
- : 'poe.verification_failed';
413
- break;
414
- case PoeState?.ProposalReceived:
415
- workflowEvent = 'poe.proposal_received';
416
- break;
417
- case PoeState?.Accepted:
418
- workflowEvent = 'poe.accepted';
419
- break;
420
- case PoeState?.Declined:
421
- workflowEvent = 'poe.declined';
422
- break;
423
- case PoeState?.Complete:
424
- workflowEvent = 'poe.completed';
425
- break;
426
- case PoeState?.Problem:
427
- workflowEvent = 'poe.problem';
428
- break;
429
- case PoeState?.ChallengeReceived:
430
- workflowEvent = 'poe.challenge_received';
431
- break;
432
- }
433
- if (workflowEvent) {
434
- await service.autoAdvanceByConnection(scoped.context, connectionId, workflowEvent);
435
- }
436
- }
437
- catch (err) {
438
- logger.debug(`[Workflow] POE event advance error: ${err.message}`);
439
- }
440
- finally {
441
- await scoped.release();
442
- }
443
- });
444
- logger.info('WorkflowModule - registered POE event listeners');
445
- }
446
- catch {
447
- /* optional dependency */
448
- }
449
- // Initialize persistent command queue (always enabled, no Redis needed)
450
- logger.info('WorkflowModule - initializing persistent command queue');
451
- const commandRepo = dm.resolve(WorkflowCommandRepository_1.WorkflowCommandRepository);
452
- const queue = new PersistentCommandQueue_1.PersistentCommandQueue(commandRepo, contextProvider, agentContext, {
453
- pollIntervalMs: this.config.asyncQueue?.pollIntervalMs,
454
- concurrency: this.config.asyncQueue?.concurrency,
455
- processingTimeoutMs: this.config.asyncQueue?.processingTimeoutMs,
456
- staleCheckIntervalMs: this.config.asyncQueue?.staleCheckIntervalMs,
457
- cleanupIntervalMs: this.config.asyncQueue?.cleanupIntervalMs,
458
- commandRetentionMs: this.config.asyncQueue?.commandRetentionMs,
459
- failedRetentionMs: this.config.asyncQueue?.failedRetentionMs,
460
- maxAttempts: this.config.asyncQueue?.maxAttempts,
461
- });
462
- // Test-time helper: register queue instance globally for best-effort shutdown in afterAll
463
- try {
464
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
465
- const g = globalThis;
466
- g.__WF_QUEUES = g.__WF_QUEUES || new Set();
467
- g.__WF_QUEUES.add(queue);
468
- }
469
- catch {
470
- /* noop */
471
- }
472
- // In tests or minimal environments, dependencyManager may not expose registerInstance
473
- try {
474
- const anyDm = dm;
475
- anyDm.registerInstance?.(CommandQueue_1.CommandQueueService, queue);
476
- }
477
- catch {
478
- // no-op if DI container doesn't support instance registration in this context
479
- }
480
- // Start worker: processes commands and sends follow-up status messages
481
- await queue.startWorker(async (job) => {
482
- // Context resolution handled inside PersistentCommandQueue
483
- // Worker receives job with already-resolved context
484
- // This worker callback is called from PersistentCommandQueue.processCommand
485
- // which already resolves the context, so we need to get it here
486
- const metadata = { contextCorrelationId: job.contextCorrelationId };
487
- const scoped = await (async () => {
488
- const correlationId = metadata.contextCorrelationId;
489
- if (!correlationId || correlationId === rootContextId) {
490
- return { context: agentContext, release: async () => { } };
491
- }
492
- try {
493
- const scopedContext = await contextProvider.getAgentContextForContextCorrelationId(correlationId);
494
- return {
495
- context: scopedContext,
496
- release: async () => {
497
- try {
498
- await contextProvider.endSessionForAgentContext(scopedContext);
499
- }
500
- catch (error) {
501
- logger.debug('WorkflowModule - failed to end tenant session after queue job', {
502
- contextCorrelationId: correlationId,
503
- error: error.message,
504
- });
505
- }
506
- },
507
- };
508
- }
509
- catch (error) {
510
- logger.debug('WorkflowModule - unable to resolve context for queue job', {
511
- error: error.message,
512
- });
513
- return null;
514
- }
515
- })();
516
- if (!scoped)
517
- return;
518
- try {
519
- const ctx = scoped.context;
520
- try {
521
- logger.info('[WorkflowWorker] handling job', {
522
- cmd: job.cmd,
523
- thid: job.thid,
524
- connectionId: job.connectionId,
525
- contextCorrelationId: job.contextCorrelationId,
526
- });
527
- }
528
- catch { }
529
- switch (job.cmd) {
530
- case 'start': {
531
- // Ensure template exists before starting. If missing, attempt auto-discover and defer.
532
- try {
533
- const templateRepo = dm.resolve(WorkflowTemplateRepository_1.WorkflowTemplateRepository);
534
- const p = (job.payload || {});
535
- const templateRec = p.template_id
536
- ? await templateRepo.findByTemplateIdAndVersion(ctx, p.template_id, p.template_version)
537
- : null;
538
- if (!templateRec) {
539
- const allowDiscover = p.allow_discover ?? true;
540
- if (allowDiscover && this.config.enableAutoDiscoverOnStart && job.connectionId) {
541
- try {
542
- const sender = dm.resolve(core_1.MessageSender);
543
- const connectionSvc = dm.resolve(core_2.ConnectionService);
544
- const connection = await connectionSvc.getById(ctx, job.connectionId);
545
- const { FetchTemplateMessage } = require('./protocol/messages/FetchTemplateMessage');
546
- const fetch = new FetchTemplateMessage({
547
- thid: job.thid,
548
- body: {
549
- template_id: p.template_id,
550
- template_version: p.template_version,
551
- prefer_hash: p.template_hash,
552
- },
553
- });
554
- try {
555
- fetch.setReturnRouting(core_1.ReturnRouteTypes.thread, job.thid);
556
- }
557
- catch { }
558
- const outbound = new core_1.OutboundMessageContext(fetch, { agentContext: ctx, connection });
559
- await sender.sendMessage(outbound);
560
- try {
561
- logger.info('[WorkflowWorker] fetch-template sent from worker', {
562
- thid: job.thid,
563
- template_id: p.template_id,
564
- template_version: p.template_version,
565
- });
566
- }
567
- catch { }
568
- }
569
- catch (e) {
570
- logger.debug('WorkflowModule - fetch-template send failed in worker', {
571
- error: e.message,
572
- });
573
- }
574
- }
575
- // Defer start by signaling invalid_template so queue will retry later
576
- const err = new Error('template not found for start');
577
- err.code = 'invalid_template';
578
- throw err;
579
- }
580
- }
581
- catch (precheckErr) {
582
- // Rethrow to queue-level handler for unified deferral behavior
583
- throw precheckErr;
584
- }
585
- await service.start(ctx, job.payload);
586
- try {
587
- logger.info('[WorkflowWorker] start completed', { thid: job.thid });
588
- }
589
- catch { }
590
- break;
591
- }
592
- case 'advance':
593
- await service.advance(ctx, job.payload);
594
- try {
595
- logger.info('[WorkflowWorker] advance completed', { thid: job.thid });
596
- }
597
- catch { }
598
- break;
599
- case 'pause':
600
- await service.pause(ctx, job.payload);
601
- try {
602
- logger.info('[WorkflowWorker] pause completed', { thid: job.thid });
603
- }
604
- catch { }
605
- break;
606
- case 'resume':
607
- await service.resume(ctx, job.payload);
608
- try {
609
- logger.info('[WorkflowWorker] resume completed', { thid: job.thid });
610
- }
611
- catch { }
612
- break;
613
- case 'cancel':
614
- await service.cancel(ctx, job.payload);
615
- try {
616
- logger.info('[WorkflowWorker] cancel completed', { thid: job.thid });
617
- }
618
- catch { }
619
- break;
620
- case 'complete':
621
- await service.complete(ctx, job.payload);
622
- try {
623
- logger.info('[WorkflowWorker] complete completed', { thid: job.thid });
624
- }
625
- catch { }
626
- break;
627
- }
628
- // Note: Per Workflow 1.0 spec §11.6 and §3.4, status is provided on-demand (pull-based).
629
- // The spec defines status as a request/response pattern where Coordinators explicitly
630
- // request status via StatusRequestMessage, and Processors respond with StatusMessage.
631
- //
632
- // Unsolicited push notifications are not part of the base protocol and cause issues:
633
- // - Tenant context mismatches in multi-tenant deployments
634
- // - Receivers interpret unsolicited StatusMessage as a request (same @type)
635
- // - HTTP transport timeouts (fire-and-forget over request/response transport)
636
- //
637
- // For real-time UI updates, use the existing WebSocket event system which emits
638
- // WorkflowInstanceStateChanged events to connected clients.
639
- }
640
- finally {
641
- await scoped.release();
642
- }
643
- });
644
- }
645
- }
646
- exports.WorkflowModule = WorkflowModule;
647
- //# sourceMappingURL=WorkflowModule.js.map