@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
@@ -0,0 +1,103 @@
1
+ import { WorkflowModuleConfig } from "../../WorkflowModuleConfig.mjs";
2
+ import { CommandQueueService } from "../../queue/CommandQueue.mjs";
3
+ import { __decorateMetadata, init_decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs";
4
+ import { __decorate, init_decorate } from "../../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs";
5
+ import { WorkflowInstanceRepository } from "../../repository/WorkflowInstanceRepository.mjs";
6
+ import { WorkflowService } from "../../services/WorkflowService.mjs";
7
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
8
+ import { StatusMessage } from "../messages/StatusMessage.mjs";
9
+ import { PauseMessage } from "../messages/PauseMessage.mjs";
10
+ import { AgentConfig, injectable } from "@credo-ts/core";
11
+ import { DidCommOutboundMessageContext } from "@credo-ts/didcomm";
12
+
13
+ //#region src/protocol/handlers/PauseHandler.ts
14
+ init_decorateMetadata();
15
+ init_decorate();
16
+ var _ref;
17
+ let PauseHandler = class PauseHandler$1 {
18
+ constructor(service) {
19
+ this.service = service;
20
+ this.supportedMessages = [PauseMessage];
21
+ }
22
+ async handle(messageContext) {
23
+ const dm = messageContext.agentContext.dependencyManager;
24
+ const logger = dm.resolve(AgentConfig).logger;
25
+ const config = dm.resolve(WorkflowModuleConfig);
26
+ const instId = messageContext.message.body?.instance_id;
27
+ const thid = messageContext.message.threadId || messageContext.message.id;
28
+ logger.info("[Workflow] pause received", {
29
+ instance_id: instId,
30
+ thid
31
+ });
32
+ try {
33
+ const _id = messageContext.message.body?.instance_id;
34
+ if (_id && thid && _id !== thid) throw Object.assign(/* @__PURE__ */ new Error("threadId does not match instance_id"), { code: "correlation_mismatch" });
35
+ } catch (_e) {}
36
+ try {
37
+ const inboundConnId = messageContext.connection?.id;
38
+ const instIdBody = messageContext.message.body?.instance_id;
39
+ if (!inboundConnId || !instIdBody) throw Object.assign(/* @__PURE__ */ new Error("missing inbound connection"), { code: "forbidden" });
40
+ const instRec = await messageContext.agentContext.dependencyManager.resolve(WorkflowInstanceRepository).getByInstanceId(messageContext.agentContext, instIdBody);
41
+ if (!instRec) throw Object.assign(/* @__PURE__ */ new Error("instance not found"), { code: "invalid_event" });
42
+ if (instRec.connectionId && instRec.connectionId !== inboundConnId) throw Object.assign(/* @__PURE__ */ new Error("connection mismatch"), { code: "forbidden" });
43
+ const queue = dm.resolve(CommandQueueService);
44
+ if (queue && typeof queue.enqueue === "function" && typeof queue.isReady === "function") {
45
+ if (await queue.isReady()) {
46
+ await queue.enqueue(messageContext.agentContext, {
47
+ cmd: "pause",
48
+ thid: instIdBody,
49
+ connectionId: inboundConnId,
50
+ payload: messageContext.message.body,
51
+ contextCorrelationId: messageContext.agentContext.contextCorrelationId
52
+ });
53
+ return new DidCommOutboundMessageContext(new StatusMessage({
54
+ thid,
55
+ body: await this.service.status(messageContext.agentContext, { instance_id: instIdBody }, instRec)
56
+ }), {
57
+ agentContext: messageContext.agentContext,
58
+ inboundMessageContext: messageContext,
59
+ connection: messageContext.connection
60
+ });
61
+ }
62
+ }
63
+ logger.warn("[Workflow] Queue not available for pause, processing synchronously");
64
+ const updated = await this.service.pause(messageContext.agentContext, messageContext.message.body, instRec);
65
+ return new DidCommOutboundMessageContext(new StatusMessage({
66
+ thid,
67
+ body: await this.service.status(messageContext.agentContext, { instance_id: instId }, updated)
68
+ }), {
69
+ agentContext: messageContext.agentContext,
70
+ inboundMessageContext: messageContext,
71
+ connection: messageContext.connection
72
+ });
73
+ } catch (e) {
74
+ if (e?.code === "invalid_event") {
75
+ logger.info("[Workflow] pause ignored (no local instance)", { instance_id: instId });
76
+ return;
77
+ }
78
+ if (config.enableProblemReport && messageContext.connection) {
79
+ const code = e.code;
80
+ const normalize = (c) => c === "queue_unavailable" ? "temporary_unavailable" : c || "action_error";
81
+ const body = {
82
+ code: normalize(code),
83
+ comment: e.message
84
+ };
85
+ if (code === "queue_unavailable") body.args = { subcode: "queue_unavailable" };
86
+ return new DidCommOutboundMessageContext(new ProblemReportMessage({
87
+ thid: messageContext.message.threadId || messageContext.message.id,
88
+ body
89
+ }), {
90
+ agentContext: messageContext.agentContext,
91
+ inboundMessageContext: messageContext,
92
+ connection: messageContext.connection
93
+ });
94
+ }
95
+ throw e;
96
+ }
97
+ }
98
+ };
99
+ PauseHandler = __decorate([injectable(), __decorateMetadata("design:paramtypes", [WorkflowService])], PauseHandler);
100
+
101
+ //#endregion
102
+ export { PauseHandler };
103
+ //# sourceMappingURL=PauseHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PauseHandler.mjs","names":["PauseHandler","service: WorkflowService","body: { code: string; comment: string; args?: Record<string, unknown> }"],"sources":["../../../src/protocol/handlers/PauseHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\n\nimport { AgentConfig, injectable } from '@credo-ts/core'\n\nimport { DidCommOutboundMessageContext } from '@credo-ts/didcomm'\n\nimport { WorkflowModuleConfig } from '../../WorkflowModuleConfig'\nimport { CommandQueueService } from '../../queue/CommandQueue'\nimport { WorkflowService } from '../../services/WorkflowService'\nimport { PauseMessage } from '../messages/PauseMessage'\nimport { ProblemReportMessage } from '../messages/ProblemReportMessage'\nimport { StatusMessage } from '../messages/StatusMessage'\nimport { WorkflowInstanceRepository } from '../../repository/WorkflowInstanceRepository'\n\n@injectable()\nexport class PauseHandler implements DidCommMessageHandler {\n public supportedMessages = [PauseMessage]\n public constructor(private readonly service: WorkflowService) {}\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<PauseHandler>) {\n const dm = messageContext.agentContext.dependencyManager\n const logger = dm.resolve(AgentConfig).logger\n const config = dm.resolve(WorkflowModuleConfig)\n const instId = messageContext.message.body?.instance_id\n const thid = messageContext.message.threadId || messageContext.message.id\n logger.info('[Workflow] pause received', { instance_id: instId, thid })\n // Strict correlation: thid MUST equal instance_id\n try {\n const _id = messageContext.message.body?.instance_id\n if (_id && thid && _id !== thid) {\n throw Object.assign(new Error('threadId does not match instance_id'), { code: 'correlation_mismatch' })\n }\n } catch (_e) {\n void 0\n }\n try {\n // Enforce inbound connection matches instance binding\n const inboundConnId = messageContext.connection?.id\n const instIdBody = messageContext.message.body?.instance_id\n if (!inboundConnId || !instIdBody) {\n throw Object.assign(new Error('missing inbound connection'), { code: 'forbidden' })\n }\n const repo = messageContext.agentContext.dependencyManager.resolve(WorkflowInstanceRepository)\n const instRec = await repo.getByInstanceId(messageContext.agentContext, instIdBody)\n if (!instRec) {\n throw Object.assign(new Error('instance not found'), { code: 'invalid_event' })\n }\n if (instRec.connectionId && instRec.connectionId !== inboundConnId) {\n throw Object.assign(new Error('connection mismatch'), { code: 'forbidden' })\n }\n\n // Enqueue command for async processing (always async now)\n const queue = dm.resolve(CommandQueueService) as unknown as {\n enqueue?: (ctx: unknown, job: unknown) => Promise<void>\n isReady?: () => Promise<boolean>\n }\n\n if (queue && typeof queue.enqueue === 'function' && typeof queue.isReady === 'function') {\n const ready = await queue.isReady()\n if (ready) {\n await queue.enqueue(messageContext.agentContext, {\n cmd: 'pause',\n thid: instIdBody,\n connectionId: inboundConnId,\n payload: messageContext.message.body,\n contextCorrelationId: messageContext.agentContext.contextCorrelationId,\n })\n\n // Immediate response with CURRENT state\n const status = await this.service.status(messageContext.agentContext, { instance_id: instIdBody }, instRec)\n const reply = new StatusMessage({ thid, body: status })\n return new DidCommOutboundMessageContext(reply, {\n agentContext: messageContext.agentContext,\n inboundMessageContext: messageContext,\n connection: messageContext.connection,\n })\n }\n }\n\n // Fallback: queue not available, process synchronously\n logger.warn('[Workflow] Queue not available for pause, processing synchronously')\n const updated = await this.service.pause(messageContext.agentContext, messageContext.message.body, instRec)\n const status = await this.service.status(messageContext.agentContext, { instance_id: instId }, updated)\n const reply = new StatusMessage({ thid, body: status })\n return new DidCommOutboundMessageContext(reply, {\n agentContext: messageContext.agentContext,\n inboundMessageContext: messageContext,\n connection: messageContext.connection,\n })\n } catch (e) {\n if ((e as { code?: string })?.code === 'invalid_event') {\n logger.info('[Workflow] pause ignored (no local instance)', { instance_id: instId })\n return undefined\n }\n if (config.enableProblemReport && messageContext.connection) {\n const code = (e as { code?: string }).code\n const normalize = (c?: string) => (c === 'queue_unavailable' ? 'temporary_unavailable' : c || 'action_error')\n const body: { code: string; comment: string; args?: Record<string, unknown> } = {\n code: normalize(code),\n comment: (e as Error).message,\n }\n if (code === 'queue_unavailable') body.args = { subcode: 'queue_unavailable' }\n const pr = new ProblemReportMessage({\n thid: messageContext.message.threadId || messageContext.message.id,\n body,\n })\n return new DidCommOutboundMessageContext(pr, {\n agentContext: messageContext.agentContext,\n inboundMessageContext: messageContext,\n connection: messageContext.connection,\n })\n }\n throw e\n }\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
2
+ import { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from "@credo-ts/didcomm";
3
+
4
+ //#region src/protocol/handlers/ProblemReportHandler.d.ts
5
+ declare class ProblemReportHandler implements DidCommMessageHandler {
6
+ supportedMessages: (typeof ProblemReportMessage)[];
7
+ handle(messageContext: DidCommMessageHandlerInboundMessage<ProblemReportHandler>): Promise<undefined>;
8
+ }
9
+ //#endregion
10
+ export { ProblemReportHandler };
11
+ //# sourceMappingURL=ProblemReportHandler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProblemReportHandler.d.mts","names":[],"sources":["../../../src/protocol/handlers/ProblemReportHandler.ts"],"sourcesContent":[],"mappings":";;;;cAOa,oBAAA,YAAgC;6BACnB;EADb,MAAA,CAAA,cAAA,EAEyB,mCAFJ,CAEwC,oBAFxC,CAAA,CAAA,EAE6D,OAF7D,CAAA,SAAA,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { __decorate, init_decorate } from "../../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs";
2
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
3
+ import { AgentConfig, injectable } from "@credo-ts/core";
4
+
5
+ //#region src/protocol/handlers/ProblemReportHandler.ts
6
+ init_decorate();
7
+ let ProblemReportHandler = class ProblemReportHandler$1 {
8
+ constructor() {
9
+ this.supportedMessages = [ProblemReportMessage];
10
+ }
11
+ async handle(messageContext) {
12
+ const logger = messageContext.agentContext.dependencyManager.resolve(AgentConfig).logger;
13
+ const body = messageContext.message.body;
14
+ const thid = messageContext.message.threadId || messageContext.message.id;
15
+ logger.warn("[Workflow] problem-report received", {
16
+ thid,
17
+ code: body?.code,
18
+ comment: body?.comment
19
+ });
20
+ }
21
+ };
22
+ ProblemReportHandler = __decorate([injectable()], ProblemReportHandler);
23
+
24
+ //#endregion
25
+ export { ProblemReportHandler };
26
+ //# sourceMappingURL=ProblemReportHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProblemReportHandler.mjs","names":["ProblemReportHandler"],"sources":["../../../src/protocol/handlers/ProblemReportHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\n\nimport { AgentConfig, injectable } from '@credo-ts/core'\n\nimport { ProblemReportMessage } from '../messages/ProblemReportMessage'\n\n@injectable()\nexport class ProblemReportHandler implements DidCommMessageHandler {\n public supportedMessages = [ProblemReportMessage]\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<ProblemReportHandler>) {\n const logger = messageContext.agentContext.dependencyManager.resolve(AgentConfig).logger\n const body = messageContext.message.body\n const thid = messageContext.message.threadId || messageContext.message.id\n logger.warn('[Workflow] problem-report received', { thid, code: body?.code, comment: body?.comment })\n return undefined\n }\n}\n"],"mappings":";;;;;;AAOO,iCAAMA,uBAAsD;;OAC1D,oBAAoB,CAAC,qBAAqB;;CACjD,MAAa,OAAO,gBAA2E;EAC7F,MAAM,SAAS,eAAe,aAAa,kBAAkB,QAAQ,YAAY,CAAC;EAClF,MAAM,OAAO,eAAe,QAAQ;EACpC,MAAM,OAAO,eAAe,QAAQ,YAAY,eAAe,QAAQ;AACvE,SAAO,KAAK,sCAAsC;GAAE;GAAM,MAAM,MAAM;GAAM,SAAS,MAAM;GAAS,CAAC;;;mCAPxG,YAAY"}
@@ -0,0 +1,15 @@
1
+ import { WorkflowService } from "../../services/WorkflowService.mjs";
2
+ import { PublishTemplateMessage } from "../messages/PublishTemplateMessage.mjs";
3
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
4
+ import { DidCommMessageHandler, DidCommMessageHandlerInboundMessage, DidCommOutboundMessageContext } from "@credo-ts/didcomm";
5
+
6
+ //#region src/protocol/handlers/PublishTemplateHandler.d.ts
7
+ declare class PublishTemplateHandler implements DidCommMessageHandler {
8
+ private readonly service;
9
+ supportedMessages: (typeof PublishTemplateMessage)[];
10
+ constructor(service: WorkflowService);
11
+ handle(messageContext: DidCommMessageHandlerInboundMessage<PublishTemplateHandler>): Promise<DidCommOutboundMessageContext<ProblemReportMessage> | undefined>;
12
+ }
13
+ //#endregion
14
+ export { PublishTemplateHandler };
15
+ //# sourceMappingURL=PublishTemplateHandler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublishTemplateHandler.d.mts","names":[],"sources":["../../../src/protocol/handlers/PublishTemplateHandler.ts"],"sourcesContent":[],"mappings":";;;;;;cAYa,sBAAA,YAAkC;EAAlC,iBAAA,OAAA;EACa,iBAAA,EAAA,CAAA,OAAA,sBAAA,CAAA,EAAA;EACqB,WAAA,CAAA,OAAA,EAAA,eAAA;EAC2B,MAAA,CAAA,cAAA,EAApC,mCAAoC,CAAA,sBAAA,CAAA,CAAA,EAAuB,OAAvB,CAAuB,6BAAvB,CAAuB,oBAAvB,CAAA,GAAA,SAAA,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { WorkflowModuleConfig } from "../../WorkflowModuleConfig.mjs";
2
+ import { __decorateMetadata, init_decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs";
3
+ import { __decorate, init_decorate } from "../../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs";
4
+ import { WorkflowService } from "../../services/WorkflowService.mjs";
5
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
6
+ import { PublishTemplateMessage } from "../messages/PublishTemplateMessage.mjs";
7
+ import { AgentConfig, injectable } from "@credo-ts/core";
8
+ import { DidCommOutboundMessageContext } from "@credo-ts/didcomm";
9
+
10
+ //#region src/protocol/handlers/PublishTemplateHandler.ts
11
+ init_decorateMetadata();
12
+ init_decorate();
13
+ var _ref;
14
+ let PublishTemplateHandler = class PublishTemplateHandler$1 {
15
+ constructor(service) {
16
+ this.service = service;
17
+ this.supportedMessages = [PublishTemplateMessage];
18
+ }
19
+ async handle(messageContext) {
20
+ const dm = messageContext.agentContext.dependencyManager;
21
+ const logger = dm.resolve(AgentConfig).logger;
22
+ const config = dm.resolve(WorkflowModuleConfig);
23
+ logger.info("[Workflow] publish-template received");
24
+ try {
25
+ await this.service.publishTemplate(messageContext.agentContext, messageContext.message.body.template);
26
+ return;
27
+ } catch (e) {
28
+ if (config.enableProblemReport && messageContext.connection) return new DidCommOutboundMessageContext(new ProblemReportMessage({
29
+ thid: messageContext.message.threadId || messageContext.message.id,
30
+ body: {
31
+ code: e.code || "action_error",
32
+ comment: e.message
33
+ }
34
+ }), {
35
+ agentContext: messageContext.agentContext,
36
+ inboundMessageContext: messageContext,
37
+ connection: messageContext.connection
38
+ });
39
+ throw e;
40
+ }
41
+ }
42
+ };
43
+ PublishTemplateHandler = __decorate([injectable(), __decorateMetadata("design:paramtypes", [WorkflowService])], PublishTemplateHandler);
44
+
45
+ //#endregion
46
+ export { PublishTemplateHandler };
47
+ //# sourceMappingURL=PublishTemplateHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublishTemplateHandler.mjs","names":["PublishTemplateHandler","service: WorkflowService"],"sources":["../../../src/protocol/handlers/PublishTemplateHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\n\nimport { AgentConfig, injectable } from '@credo-ts/core'\n\nimport { DidCommOutboundMessageContext } from '@credo-ts/didcomm'\n\nimport { WorkflowModuleConfig } from '../../WorkflowModuleConfig'\nimport { WorkflowService } from '../../services/WorkflowService'\nimport { ProblemReportMessage } from '../messages/ProblemReportMessage'\nimport { PublishTemplateMessage } from '../messages/PublishTemplateMessage'\n\n@injectable()\nexport class PublishTemplateHandler implements DidCommMessageHandler {\n public supportedMessages = [PublishTemplateMessage]\n public constructor(private readonly service: WorkflowService) {}\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<PublishTemplateHandler>) {\n const dm = messageContext.agentContext.dependencyManager\n const logger = dm.resolve(AgentConfig).logger\n const config = dm.resolve(WorkflowModuleConfig)\n logger.info('[Workflow] publish-template received')\n try {\n await this.service.publishTemplate(messageContext.agentContext, messageContext.message.body.template)\n return\n } catch (e) {\n if (config.enableProblemReport && messageContext.connection) {\n const pr = new ProblemReportMessage({\n thid: messageContext.message.threadId || messageContext.message.id,\n body: { code: (e as { code?: string }).code || 'action_error', comment: (e as Error).message },\n })\n return new DidCommOutboundMessageContext(pr, {\n agentContext: messageContext.agentContext,\n inboundMessageContext: messageContext,\n connection: messageContext.connection,\n })\n }\n throw e\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAYO,mCAAMA,yBAAwD;CAEnE,AAAO,YAAY,AAAiBC,SAA0B;EAA1B;OAD7B,oBAAoB,CAAC,uBAAuB;;CAEnD,MAAa,OAAO,gBAA6E;EAC/F,MAAM,KAAK,eAAe,aAAa;EACvC,MAAM,SAAS,GAAG,QAAQ,YAAY,CAAC;EACvC,MAAM,SAAS,GAAG,QAAQ,qBAAqB;AAC/C,SAAO,KAAK,uCAAuC;AACnD,MAAI;AACF,SAAM,KAAK,QAAQ,gBAAgB,eAAe,cAAc,eAAe,QAAQ,KAAK,SAAS;AACrG;WACO,GAAG;AACV,OAAI,OAAO,uBAAuB,eAAe,WAK/C,QAAO,IAAI,8BAJA,IAAI,qBAAqB;IAClC,MAAM,eAAe,QAAQ,YAAY,eAAe,QAAQ;IAChE,MAAM;KAAE,MAAO,EAAwB,QAAQ;KAAgB,SAAU,EAAY;KAAS;IAC/F,CAAC,EAC2C;IAC3C,cAAc,eAAe;IAC7B,uBAAuB;IACvB,YAAY,eAAe;IAC5B,CAAC;AAEJ,SAAM;;;;qCAxBX,YAAY"}
@@ -0,0 +1,16 @@
1
+ import { WorkflowService } from "../../services/WorkflowService.mjs";
2
+ import { StatusMessage } from "../messages/StatusMessage.mjs";
3
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
4
+ import { ResumeMessage } from "../messages/ResumeMessage.mjs";
5
+ import { DidCommMessageHandler, DidCommMessageHandlerInboundMessage, DidCommOutboundMessageContext } from "@credo-ts/didcomm";
6
+
7
+ //#region src/protocol/handlers/ResumeHandler.d.ts
8
+ declare class ResumeHandler implements DidCommMessageHandler {
9
+ private readonly service;
10
+ supportedMessages: (typeof ResumeMessage)[];
11
+ constructor(service: WorkflowService);
12
+ handle(messageContext: DidCommMessageHandlerInboundMessage<ResumeHandler>): Promise<DidCommOutboundMessageContext<ProblemReportMessage> | DidCommOutboundMessageContext<StatusMessage> | undefined>;
13
+ }
14
+ //#endregion
15
+ export { ResumeHandler };
16
+ //# sourceMappingURL=ResumeHandler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResumeHandler.d.mts","names":[],"sources":["../../../src/protocol/handlers/ResumeHandler.ts"],"sourcesContent":[],"mappings":";;;;;;;cAea,aAAA,YAAyB;EAAzB,iBAAc,OAAA;EACD,iBAAA,EAAA,CAAA,OAAA,aAAA,CAAA,EAAA;EACqB,WAAA,CAAA,OAAA,EAAA,eAAA;EAC2B,MAAA,CAAA,cAAA,EAApC,mCAAoC,CAAA,aAAA,CAAA,CAAA,EAAc,OAAd,CAAc,6BAAd,CAAc,oBAAd,CAAA,GAAc,6BAAd,CAAc,aAAd,CAAA,GAAA,SAAA,CAAA"}
@@ -0,0 +1,103 @@
1
+ import { WorkflowModuleConfig } from "../../WorkflowModuleConfig.mjs";
2
+ import { CommandQueueService } from "../../queue/CommandQueue.mjs";
3
+ import { __decorateMetadata, init_decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs";
4
+ import { __decorate, init_decorate } from "../../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs";
5
+ import { WorkflowInstanceRepository } from "../../repository/WorkflowInstanceRepository.mjs";
6
+ import { WorkflowService } from "../../services/WorkflowService.mjs";
7
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
8
+ import { StatusMessage } from "../messages/StatusMessage.mjs";
9
+ import { ResumeMessage } from "../messages/ResumeMessage.mjs";
10
+ import { AgentConfig, injectable } from "@credo-ts/core";
11
+ import { DidCommOutboundMessageContext } from "@credo-ts/didcomm";
12
+
13
+ //#region src/protocol/handlers/ResumeHandler.ts
14
+ init_decorateMetadata();
15
+ init_decorate();
16
+ var _ref;
17
+ let ResumeHandler = class ResumeHandler$1 {
18
+ constructor(service) {
19
+ this.service = service;
20
+ this.supportedMessages = [ResumeMessage];
21
+ }
22
+ async handle(messageContext) {
23
+ const dm = messageContext.agentContext.dependencyManager;
24
+ const logger = dm.resolve(AgentConfig).logger;
25
+ const config = dm.resolve(WorkflowModuleConfig);
26
+ const instId = messageContext.message.body?.instance_id;
27
+ const thid = messageContext.message.threadId || messageContext.message.id;
28
+ logger.info("[Workflow] resume received", {
29
+ instance_id: instId,
30
+ thid
31
+ });
32
+ try {
33
+ const _id = messageContext.message.body?.instance_id;
34
+ if (_id && thid && _id !== thid) throw Object.assign(/* @__PURE__ */ new Error("threadId does not match instance_id"), { code: "correlation_mismatch" });
35
+ } catch (_e) {}
36
+ try {
37
+ const inboundConnId = messageContext.connection?.id;
38
+ const instIdBody = messageContext.message.body?.instance_id;
39
+ if (!inboundConnId || !instIdBody) throw Object.assign(/* @__PURE__ */ new Error("missing inbound connection"), { code: "forbidden" });
40
+ const instRec = await messageContext.agentContext.dependencyManager.resolve(WorkflowInstanceRepository).getByInstanceId(messageContext.agentContext, instIdBody);
41
+ if (!instRec) throw Object.assign(/* @__PURE__ */ new Error("instance not found"), { code: "invalid_event" });
42
+ if (instRec.connectionId && instRec.connectionId !== inboundConnId) throw Object.assign(/* @__PURE__ */ new Error("connection mismatch"), { code: "forbidden" });
43
+ const queue = dm.resolve(CommandQueueService);
44
+ if (queue && typeof queue.enqueue === "function" && typeof queue.isReady === "function") {
45
+ if (await queue.isReady()) {
46
+ await queue.enqueue(messageContext.agentContext, {
47
+ cmd: "resume",
48
+ thid: instIdBody,
49
+ connectionId: inboundConnId,
50
+ payload: messageContext.message.body,
51
+ contextCorrelationId: messageContext.agentContext.contextCorrelationId
52
+ });
53
+ return new DidCommOutboundMessageContext(new StatusMessage({
54
+ thid,
55
+ body: await this.service.status(messageContext.agentContext, { instance_id: instIdBody }, instRec)
56
+ }), {
57
+ agentContext: messageContext.agentContext,
58
+ inboundMessageContext: messageContext,
59
+ connection: messageContext.connection
60
+ });
61
+ }
62
+ }
63
+ logger.warn("[Workflow] Queue not available for resume, processing synchronously");
64
+ const updated = await this.service.resume(messageContext.agentContext, messageContext.message.body, instRec);
65
+ return new DidCommOutboundMessageContext(new StatusMessage({
66
+ thid,
67
+ body: await this.service.status(messageContext.agentContext, { instance_id: instId }, updated)
68
+ }), {
69
+ agentContext: messageContext.agentContext,
70
+ inboundMessageContext: messageContext,
71
+ connection: messageContext.connection
72
+ });
73
+ } catch (e) {
74
+ if (e?.code === "invalid_event") {
75
+ logger.info("[Workflow] resume ignored (no local instance)", { instance_id: instId });
76
+ return;
77
+ }
78
+ if (config.enableProblemReport && messageContext.connection) {
79
+ const code = e.code;
80
+ const normalize = (c) => c === "queue_unavailable" ? "temporary_unavailable" : c || "action_error";
81
+ const body = {
82
+ code: normalize(code),
83
+ comment: e.message
84
+ };
85
+ if (code === "queue_unavailable") body.args = { subcode: "queue_unavailable" };
86
+ return new DidCommOutboundMessageContext(new ProblemReportMessage({
87
+ thid: messageContext.message.threadId || messageContext.message.id,
88
+ body
89
+ }), {
90
+ agentContext: messageContext.agentContext,
91
+ inboundMessageContext: messageContext,
92
+ connection: messageContext.connection
93
+ });
94
+ }
95
+ throw e;
96
+ }
97
+ }
98
+ };
99
+ ResumeHandler = __decorate([injectable(), __decorateMetadata("design:paramtypes", [WorkflowService])], ResumeHandler);
100
+
101
+ //#endregion
102
+ export { ResumeHandler };
103
+ //# sourceMappingURL=ResumeHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResumeHandler.mjs","names":["ResumeHandler","service: WorkflowService","body: { code: string; comment: string; args?: Record<string, unknown> }"],"sources":["../../../src/protocol/handlers/ResumeHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\n\nimport { AgentConfig, injectable } from '@credo-ts/core'\n\nimport { DidCommOutboundMessageContext } from '@credo-ts/didcomm'\n\nimport { WorkflowModuleConfig } from '../../WorkflowModuleConfig'\nimport { CommandQueueService } from '../../queue/CommandQueue'\nimport { WorkflowService } from '../../services/WorkflowService'\nimport { ProblemReportMessage } from '../messages/ProblemReportMessage'\nimport { ResumeMessage } from '../messages/ResumeMessage'\nimport { StatusMessage } from '../messages/StatusMessage'\nimport { WorkflowInstanceRepository } from '../../repository/WorkflowInstanceRepository'\n\n@injectable()\nexport class ResumeHandler implements DidCommMessageHandler {\n public supportedMessages = [ResumeMessage]\n public constructor(private readonly service: WorkflowService) {}\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<ResumeHandler>) {\n const dm = messageContext.agentContext.dependencyManager\n const logger = dm.resolve(AgentConfig).logger\n const config = dm.resolve(WorkflowModuleConfig)\n const instId = messageContext.message.body?.instance_id\n const thid = messageContext.message.threadId || messageContext.message.id\n logger.info('[Workflow] resume received', { instance_id: instId, thid })\n // Strict correlation: thid MUST equal instance_id\n try {\n const _id = messageContext.message.body?.instance_id\n if (_id && thid && _id !== thid) {\n throw Object.assign(new Error('threadId does not match instance_id'), { code: 'correlation_mismatch' })\n }\n } catch (_e) {\n void 0\n }\n try {\n // Enforce inbound connection matches instance binding\n const inboundConnId = messageContext.connection?.id\n const instIdBody = messageContext.message.body?.instance_id\n if (!inboundConnId || !instIdBody) {\n throw Object.assign(new Error('missing inbound connection'), { code: 'forbidden' })\n }\n const repo = messageContext.agentContext.dependencyManager.resolve(WorkflowInstanceRepository)\n const instRec = await repo.getByInstanceId(messageContext.agentContext, instIdBody)\n if (!instRec) {\n throw Object.assign(new Error('instance not found'), { code: 'invalid_event' })\n }\n if (instRec.connectionId && instRec.connectionId !== inboundConnId) {\n throw Object.assign(new Error('connection mismatch'), { code: 'forbidden' })\n }\n\n // Enqueue command for async processing (always async now)\n const queue = dm.resolve(CommandQueueService) as unknown as {\n enqueue?: (ctx: unknown, job: unknown) => Promise<void>\n isReady?: () => Promise<boolean>\n }\n\n if (queue && typeof queue.enqueue === 'function' && typeof queue.isReady === 'function') {\n const ready = await queue.isReady()\n if (ready) {\n await queue.enqueue(messageContext.agentContext, {\n cmd: 'resume',\n thid: instIdBody,\n connectionId: inboundConnId,\n payload: messageContext.message.body,\n contextCorrelationId: messageContext.agentContext.contextCorrelationId,\n })\n\n // Immediate response with CURRENT state\n const status = await this.service.status(messageContext.agentContext, { instance_id: instIdBody }, instRec)\n const reply = new StatusMessage({ thid, body: status })\n return new DidCommOutboundMessageContext(reply, {\n agentContext: messageContext.agentContext,\n inboundMessageContext: messageContext,\n connection: messageContext.connection,\n })\n }\n }\n\n // Fallback: queue not available, process synchronously\n logger.warn('[Workflow] Queue not available for resume, processing synchronously')\n const updated = await this.service.resume(messageContext.agentContext, messageContext.message.body, instRec)\n const status = await this.service.status(messageContext.agentContext, { instance_id: instId }, updated)\n const reply = new StatusMessage({ thid, body: status })\n return new DidCommOutboundMessageContext(reply, {\n agentContext: messageContext.agentContext,\n inboundMessageContext: messageContext,\n connection: messageContext.connection,\n })\n } catch (e) {\n if ((e as { code?: string })?.code === 'invalid_event') {\n logger.info('[Workflow] resume ignored (no local instance)', { instance_id: instId })\n return undefined\n }\n if (config.enableProblemReport && messageContext.connection) {\n const code = (e as { code?: string }).code\n const normalize = (c?: string) => (c === 'queue_unavailable' ? 'temporary_unavailable' : c || 'action_error')\n const body: { code: string; comment: string; args?: Record<string, unknown> } = {\n code: normalize(code),\n comment: (e as Error).message,\n }\n if (code === 'queue_unavailable') body.args = { subcode: 'queue_unavailable' }\n const pr = new ProblemReportMessage({\n thid: messageContext.message.threadId || messageContext.message.id,\n body,\n })\n return new DidCommOutboundMessageContext(pr, {\n agentContext: messageContext.agentContext,\n inboundMessageContext: messageContext,\n connection: messageContext.connection,\n })\n }\n throw e\n }\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { WorkflowService } from "../../services/WorkflowService.mjs";
2
+ import { StartMessage } from "../messages/StartMessage.mjs";
3
+ import { StatusMessage } from "../messages/StatusMessage.mjs";
4
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
5
+ import { DidCommMessageHandler, DidCommMessageHandlerInboundMessage, DidCommOutboundMessageContext } from "@credo-ts/didcomm";
6
+
7
+ //#region src/protocol/handlers/StartHandler.d.ts
8
+ declare class StartHandler implements DidCommMessageHandler {
9
+ private readonly service;
10
+ supportedMessages: (typeof StartMessage)[];
11
+ constructor(service: WorkflowService);
12
+ handle(messageContext: DidCommMessageHandlerInboundMessage<StartHandler>): Promise<DidCommOutboundMessageContext<ProblemReportMessage> | DidCommOutboundMessageContext<StatusMessage>>;
13
+ }
14
+ //#endregion
15
+ export { StartHandler };
16
+ //# sourceMappingURL=StartHandler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StartHandler.d.mts","names":[],"sources":["../../../src/protocol/handlers/StartHandler.ts"],"sourcesContent":[],"mappings":";;;;;;;cAkBa,YAAA,YAAwB;EAAxB,iBAAa,OAAA;EACA,iBAAA,EAAA,CAAA,OAAA,YAAA,CAAA,EAAA;EACqB,WAAA,CAAA,OAAA,EAAA,eAAA;EAC2B,MAAA,CAAA,cAAA,EAApC,mCAAoC,CAAA,YAAA,CAAA,CAAA,EAAa,OAAb,CAAa,6BAAb,CAAa,oBAAb,CAAA,GAAa,6BAAb,CAAa,aAAb,CAAA,CAAA"}
@@ -0,0 +1,238 @@
1
+ import { WorkflowModuleConfig } from "../../WorkflowModuleConfig.mjs";
2
+ import { CommandQueueService } from "../../queue/CommandQueue.mjs";
3
+ import { __decorateMetadata, init_decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs";
4
+ import { __decorate, init_decorate } from "../../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs";
5
+ import { WorkflowInstanceRepository } from "../../repository/WorkflowInstanceRepository.mjs";
6
+ import { WorkflowTemplateRepository } from "../../repository/WorkflowTemplateRepository.mjs";
7
+ import { StartMessage } from "../messages/StartMessage.mjs";
8
+ import { FetchTemplateMessage, init_FetchTemplateMessage } from "../messages/FetchTemplateMessage.mjs";
9
+ import "../messages/DiscoverMessage.mjs";
10
+ import { WorkflowService } from "../../services/WorkflowService.mjs";
11
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
12
+ import { StatusMessage } from "../messages/StatusMessage.mjs";
13
+ import { AgentConfig, injectable } from "@credo-ts/core";
14
+ import { DidCommMessageSender, DidCommOutboundMessageContext, ReturnRouteTypes } from "@credo-ts/didcomm";
15
+
16
+ //#region src/protocol/handlers/StartHandler.ts
17
+ init_FetchTemplateMessage();
18
+ init_decorateMetadata();
19
+ init_decorate();
20
+ var _ref;
21
+ let StartHandler = class StartHandler$1 {
22
+ constructor(service) {
23
+ this.service = service;
24
+ this.supportedMessages = [StartMessage];
25
+ }
26
+ async handle(messageContext) {
27
+ const dm = messageContext.agentContext.dependencyManager;
28
+ const logger = dm.resolve(AgentConfig).logger;
29
+ const config = dm.resolve(WorkflowModuleConfig);
30
+ const thid = messageContext.message.threadId || messageContext.message.id;
31
+ const iid = messageContext.message.body?.instance_id;
32
+ logger.info("[Workflow] start received", {
33
+ template_id: messageContext.message.body?.template_id,
34
+ instance_id: iid,
35
+ thid
36
+ });
37
+ try {
38
+ const _id = messageContext.message.body?.instance_id;
39
+ if (_id && thid && _id !== thid) {
40
+ try {
41
+ logger.warn("[Workflow] start correlation mismatch (thid != instance_id)", {
42
+ thid,
43
+ instance_id: _id
44
+ });
45
+ } catch {}
46
+ throw Object.assign(/* @__PURE__ */ new Error("threadId does not match instance_id"), { code: "correlation_mismatch" });
47
+ }
48
+ } catch (_e) {}
49
+ const startBody = { ...messageContext.message.body };
50
+ const connectionId = messageContext.connection?.id;
51
+ if (connectionId) {
52
+ startBody.connection_id = connectionId;
53
+ try {
54
+ logger.info("[Workflow] start binding to inbound connection", {
55
+ thid,
56
+ connectionId
57
+ });
58
+ } catch {}
59
+ }
60
+ try {
61
+ const maybeRepo = dm.resolve(WorkflowTemplateRepository);
62
+ if (!!maybeRepo?.findByTemplateIdAndVersion) {
63
+ const templateRepo = maybeRepo;
64
+ const templateId = startBody.template_id;
65
+ const templateVersion = startBody.template_version;
66
+ if (!await templateRepo.findByTemplateIdAndVersion(messageContext.agentContext, templateId, templateVersion)) {
67
+ const allowDiscover = messageContext.message.body?.allow_discover ?? true;
68
+ const conn = messageContext.connection;
69
+ if (allowDiscover && config.enableAutoDiscoverOnStart && conn) try {
70
+ logger.info("[Workflow] start: template missing locally, attempting fetch-template", {
71
+ thid,
72
+ template_id: templateId,
73
+ template_version: templateVersion
74
+ });
75
+ const sender = dm.resolve(DidCommMessageSender);
76
+ const fetch = new FetchTemplateMessage({
77
+ thid,
78
+ body: {
79
+ template_id: templateId,
80
+ template_version: templateVersion,
81
+ prefer_hash: messageContext.message.body?.template_hash
82
+ }
83
+ });
84
+ try {
85
+ fetch.setReturnRouting(ReturnRouteTypes.thread, thid);
86
+ } catch {}
87
+ await sender.sendMessage(new DidCommOutboundMessageContext(fetch, {
88
+ agentContext: messageContext.agentContext,
89
+ connection: conn
90
+ }));
91
+ try {
92
+ logger.info("[Workflow] start: fetch-template sent", { thid });
93
+ } catch {}
94
+ } catch (_discoverErr) {
95
+ try {
96
+ logger.warn("[Workflow] start: fetch-template send failed", {
97
+ thid,
98
+ error: _discoverErr.message
99
+ });
100
+ } catch {}
101
+ }
102
+ }
103
+ }
104
+ const queue = dm.resolve(CommandQueueService);
105
+ if (queue && typeof queue.enqueue === "function" && typeof queue.isReady === "function") {
106
+ const ready = await queue.isReady();
107
+ try {
108
+ logger.info("[Workflow] start: queue resolved", {
109
+ thid,
110
+ ready
111
+ });
112
+ } catch {}
113
+ if (ready) {
114
+ const instanceId = startBody.instance_id || thid;
115
+ startBody.instance_id = instanceId;
116
+ await queue.enqueue(messageContext.agentContext, {
117
+ cmd: "start",
118
+ thid: instanceId,
119
+ connectionId,
120
+ payload: startBody,
121
+ contextCorrelationId: messageContext.agentContext.contextCorrelationId
122
+ });
123
+ try {
124
+ logger.info("[Workflow] start: enqueued command", {
125
+ thid: instanceId,
126
+ connectionId
127
+ });
128
+ } catch {}
129
+ const repo = dm.resolve(WorkflowInstanceRepository);
130
+ let inst;
131
+ try {
132
+ inst = await repo.getByInstanceId(messageContext.agentContext, instanceId);
133
+ } catch {
134
+ try {
135
+ logger.debug?.("[Workflow] start: instance not yet created, will be created by worker", { thid: instanceId });
136
+ } catch {}
137
+ }
138
+ return new DidCommOutboundMessageContext(new StatusMessage({
139
+ thid,
140
+ body: inst ? await this.service.status(messageContext.agentContext, { instance_id: instanceId }, inst) : {
141
+ instance_id: instanceId,
142
+ state: "pending",
143
+ allowed_events: [],
144
+ action_menu: [],
145
+ artifacts: {}
146
+ }
147
+ }), {
148
+ agentContext: messageContext.agentContext,
149
+ inboundMessageContext: messageContext,
150
+ connection: messageContext.connection
151
+ });
152
+ }
153
+ }
154
+ logger.warn("[Workflow] Queue not available for start, processing synchronously");
155
+ const rec = await this.service.start(messageContext.agentContext, startBody);
156
+ return new DidCommOutboundMessageContext(new StatusMessage({
157
+ thid,
158
+ body: await this.service.status(messageContext.agentContext, { instance_id: rec.instanceId }, rec)
159
+ }), {
160
+ agentContext: messageContext.agentContext,
161
+ inboundMessageContext: messageContext,
162
+ connection: messageContext.connection
163
+ });
164
+ } catch (e) {
165
+ if (config.enableProblemReport && messageContext.connection) {
166
+ const errCode = e.code;
167
+ const allowDiscover = messageContext.message.body?.allow_discover ?? true;
168
+ const conn = messageContext.connection;
169
+ const th = messageContext.message.threadId || messageContext.message.id;
170
+ if (errCode === "invalid_template" && allowDiscover && config.enableAutoDiscoverOnStart && conn) try {
171
+ logger.info("[Workflow] start error: invalid_template, attempting fetch-template and deferring", {
172
+ thid: th,
173
+ template_id: messageContext.message.body?.template_id,
174
+ template_version: messageContext.message.body?.template_version
175
+ });
176
+ const sender = messageContext.agentContext.dependencyManager.resolve(DidCommMessageSender);
177
+ const wantedId = messageContext.message.body?.template_id;
178
+ const wantedVersion = messageContext.message.body?.template_version;
179
+ const fetch = new FetchTemplateMessage({
180
+ thid: th,
181
+ body: {
182
+ template_id: wantedId,
183
+ template_version: wantedVersion,
184
+ prefer_hash: messageContext.message.body?.template_hash
185
+ }
186
+ });
187
+ try {
188
+ fetch.setReturnRouting(ReturnRouteTypes.thread, th);
189
+ } catch {}
190
+ await sender.sendMessage(new DidCommOutboundMessageContext(fetch, {
191
+ agentContext: messageContext.agentContext,
192
+ connection: conn
193
+ }));
194
+ throw new Error("template not found - fetch-template sent, please retry start after template is received");
195
+ } catch (discoverErr) {
196
+ return new DidCommOutboundMessageContext(new ProblemReportMessage({
197
+ thid: th,
198
+ body: {
199
+ code: "not_found_remote_template",
200
+ comment: discoverErr.message
201
+ }
202
+ }), {
203
+ agentContext: messageContext.agentContext,
204
+ inboundMessageContext: messageContext,
205
+ connection: messageContext.connection
206
+ });
207
+ }
208
+ try {
209
+ logger.warn("[Workflow] start failed, sending problem-report", {
210
+ thid,
211
+ code: errCode || "action_error",
212
+ error: e.message
213
+ });
214
+ } catch {}
215
+ const normalize = (c) => c === "queue_unavailable" ? "temporary_unavailable" : c === "template_not_found" ? "not_found_remote_template" : c || "action_error";
216
+ const body = {
217
+ code: normalize(errCode),
218
+ comment: e.message
219
+ };
220
+ if (errCode === "queue_unavailable") body.args = { subcode: "queue_unavailable" };
221
+ return new DidCommOutboundMessageContext(new ProblemReportMessage({
222
+ thid,
223
+ body
224
+ }), {
225
+ agentContext: messageContext.agentContext,
226
+ inboundMessageContext: messageContext,
227
+ connection: messageContext.connection
228
+ });
229
+ }
230
+ throw e;
231
+ }
232
+ }
233
+ };
234
+ StartHandler = __decorate([injectable(), __decorateMetadata("design:paramtypes", [WorkflowService])], StartHandler);
235
+
236
+ //#endregion
237
+ export { StartHandler };
238
+ //# sourceMappingURL=StartHandler.mjs.map