@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 @@
1
+ {"version":3,"file":"AdvanceHandler.mjs","names":["AdvanceHandler","service: WorkflowService","body: { code: string; comment: string; args?: Record<string, unknown> }"],"sources":["../../../src/protocol/handlers/AdvanceHandler.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 { AdvanceMessage } from '../messages/AdvanceMessage'\nimport { ProblemReportMessage } from '../messages/ProblemReportMessage'\nimport { StatusMessage } from '../messages/StatusMessage'\nimport { WorkflowInstanceRepository } from '../../repository/WorkflowInstanceRepository'\n\n@injectable()\nexport class AdvanceHandler implements DidCommMessageHandler {\n public supportedMessages = [AdvanceMessage]\n public constructor(private readonly service: WorkflowService) {}\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<AdvanceHandler>) {\n const dm = messageContext.agentContext.dependencyManager\n const logger = dm.resolve(AgentConfig).logger\n const config = dm.resolve(WorkflowModuleConfig)\n const thid = messageContext.message.threadId || messageContext.message.id\n const { instance_id, event } = messageContext.message.body || {}\n logger.info('[Workflow] advance received', { instance_id, event, thid })\n\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\n try {\n // Enforce inbound connection matches instance binding\n const inboundConnId = messageContext.connection?.id\n const instId = messageContext.message.body?.instance_id\n if (!inboundConnId || !instId) {\n try {\n logger.warn('[Workflow] advance rejected (missing inbound connection or instance_id)', {\n thid,\n inboundConnId,\n instId,\n })\n } catch {}\n throw Object.assign(new Error('missing inbound connection'), { code: 'forbidden' })\n }\n const repo = messageContext.agentContext.dependencyManager.resolve(WorkflowInstanceRepository)\n const inst = await repo.getByInstanceId(messageContext.agentContext, instId)\n if (!inst) {\n try { logger.warn('[Workflow] advance: instance not found', { thid, instId }) } catch {}\n throw Object.assign(new Error('instance not found'), { code: 'invalid_event' })\n }\n if (inst.connectionId && inst.connectionId !== inboundConnId) {\n try { logger.warn('[Workflow] advance rejected (connection mismatch)', { thid, inboundConnId, instanceConnId: inst.connectionId }) } catch {}\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 try { logger.info('[Workflow] advance: queue resolved', { thid: instId, ready }) } catch {}\n if (ready) {\n await queue.enqueue(messageContext.agentContext, {\n cmd: 'advance',\n thid: instId,\n connectionId: inboundConnId,\n idempotency_key: messageContext.message.body?.idempotency_key,\n payload: messageContext.message.body,\n contextCorrelationId: messageContext.agentContext.contextCorrelationId,\n })\n try { logger.info('[Workflow] advance: enqueued command', { thid: instId, event }) } catch {}\n\n // Immediate response with CURRENT state (before processing)\n const status = await this.service.status(messageContext.agentContext, { instance_id: instId }, inst)\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, processing synchronously')\n const updated = await this.service.advance(messageContext.agentContext, messageContext.message.body, inst)\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 (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 try { logger.warn('[Workflow] advance failed, sending problem-report', { thid, code: body.code, error: (e as Error).message }) } catch {}\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 { StatusMessage } from "../messages/StatusMessage.mjs";
3
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
4
+ import { CancelMessage } from "../messages/CancelMessage.mjs";
5
+ import { DidCommMessageHandler, DidCommMessageHandlerInboundMessage, DidCommOutboundMessageContext } from "@credo-ts/didcomm";
6
+
7
+ //#region src/protocol/handlers/CancelHandler.d.ts
8
+ declare class CancelHandler implements DidCommMessageHandler {
9
+ private readonly service;
10
+ supportedMessages: (typeof CancelMessage)[];
11
+ constructor(service: WorkflowService);
12
+ handle(messageContext: DidCommMessageHandlerInboundMessage<CancelHandler>): Promise<DidCommOutboundMessageContext<ProblemReportMessage> | DidCommOutboundMessageContext<StatusMessage> | undefined>;
13
+ }
14
+ //#endregion
15
+ export { CancelHandler };
16
+ //# sourceMappingURL=CancelHandler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CancelHandler.d.mts","names":[],"sources":["../../../src/protocol/handlers/CancelHandler.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 { CancelMessage } from "../messages/CancelMessage.mjs";
10
+ import { AgentConfig, injectable } from "@credo-ts/core";
11
+ import { DidCommOutboundMessageContext } from "@credo-ts/didcomm";
12
+
13
+ //#region src/protocol/handlers/CancelHandler.ts
14
+ init_decorateMetadata();
15
+ init_decorate();
16
+ var _ref;
17
+ let CancelHandler = class CancelHandler$1 {
18
+ constructor(service) {
19
+ this.service = service;
20
+ this.supportedMessages = [CancelMessage];
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] cancel 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: "cancel",
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 cancel, processing synchronously");
64
+ const updated = await this.service.cancel(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] cancel 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
+ CancelHandler = __decorate([injectable(), __decorateMetadata("design:paramtypes", [WorkflowService])], CancelHandler);
100
+
101
+ //#endregion
102
+ export { CancelHandler };
103
+ //# sourceMappingURL=CancelHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CancelHandler.mjs","names":["CancelHandler","service: WorkflowService","body: { code: string; comment: string; args?: Record<string, unknown> }"],"sources":["../../../src/protocol/handlers/CancelHandler.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 { CancelMessage } from '../messages/CancelMessage'\nimport { ProblemReportMessage } from '../messages/ProblemReportMessage'\nimport { StatusMessage } from '../messages/StatusMessage'\nimport { WorkflowInstanceRepository } from '../../repository/WorkflowInstanceRepository'\n\n@injectable()\nexport class CancelHandler implements DidCommMessageHandler {\n public supportedMessages = [CancelMessage]\n public constructor(private readonly service: WorkflowService) {}\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<CancelHandler>) {\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] cancel 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: 'cancel',\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 cancel, processing synchronously')\n const updated = await this.service.cancel(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] cancel 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 { StatusMessage } from "../messages/StatusMessage.mjs";
3
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
4
+ import { CompleteMessage } from "../messages/CompleteMessage.mjs";
5
+ import { DidCommMessageHandler, DidCommMessageHandlerInboundMessage, DidCommOutboundMessageContext } from "@credo-ts/didcomm";
6
+
7
+ //#region src/protocol/handlers/CompleteHandler.d.ts
8
+ declare class CompleteHandler implements DidCommMessageHandler {
9
+ private readonly service;
10
+ supportedMessages: (typeof CompleteMessage)[];
11
+ constructor(service: WorkflowService);
12
+ handle(messageContext: DidCommMessageHandlerInboundMessage<CompleteHandler>): Promise<DidCommOutboundMessageContext<ProblemReportMessage> | DidCommOutboundMessageContext<StatusMessage> | undefined>;
13
+ }
14
+ //#endregion
15
+ export { CompleteHandler };
16
+ //# sourceMappingURL=CompleteHandler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompleteHandler.d.mts","names":[],"sources":["../../../src/protocol/handlers/CompleteHandler.ts"],"sourcesContent":[],"mappings":";;;;;;;cAea,eAAA,YAA2B;EAA3B,iBAAA,OAAgB;EACH,iBAAA,EAAA,CAAA,OAAA,eAAA,CAAA,EAAA;EACqB,WAAA,CAAA,OAAA,EAAA,eAAA;EAC2B,MAAA,CAAA,cAAA,EAApC,mCAAoC,CAAA,eAAA,CAAA,CAAA,EAAgB,OAAhB,CAAgB,6BAAhB,CAAgB,oBAAhB,CAAA,GAAgB,6BAAhB,CAAgB,aAAhB,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 { CompleteMessage } from "../messages/CompleteMessage.mjs";
7
+ import { WorkflowService } from "../../services/WorkflowService.mjs";
8
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
9
+ import { StatusMessage } from "../messages/StatusMessage.mjs";
10
+ import { AgentConfig, injectable } from "@credo-ts/core";
11
+ import { DidCommOutboundMessageContext } from "@credo-ts/didcomm";
12
+
13
+ //#region src/protocol/handlers/CompleteHandler.ts
14
+ init_decorateMetadata();
15
+ init_decorate();
16
+ var _ref;
17
+ let CompleteHandler = class CompleteHandler$1 {
18
+ constructor(service) {
19
+ this.service = service;
20
+ this.supportedMessages = [CompleteMessage];
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] complete 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: "complete",
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 complete, processing synchronously");
64
+ const updated = await this.service.complete(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] complete 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,
88
+ body
89
+ }), {
90
+ agentContext: messageContext.agentContext,
91
+ inboundMessageContext: messageContext,
92
+ connection: messageContext.connection
93
+ });
94
+ }
95
+ throw e;
96
+ }
97
+ }
98
+ };
99
+ CompleteHandler = __decorate([injectable(), __decorateMetadata("design:paramtypes", [WorkflowService])], CompleteHandler);
100
+
101
+ //#endregion
102
+ export { CompleteHandler };
103
+ //# sourceMappingURL=CompleteHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompleteHandler.mjs","names":["CompleteHandler","service: WorkflowService","body: { code: string; comment: string; args?: Record<string, unknown> }"],"sources":["../../../src/protocol/handlers/CompleteHandler.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 { CompleteMessage } from '../messages/CompleteMessage'\nimport { ProblemReportMessage } from '../messages/ProblemReportMessage'\nimport { StatusMessage } from '../messages/StatusMessage'\nimport { WorkflowInstanceRepository } from '../../repository/WorkflowInstanceRepository'\n\n@injectable()\nexport class CompleteHandler implements DidCommMessageHandler {\n public supportedMessages = [CompleteMessage]\n public constructor(private readonly service: WorkflowService) {}\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<CompleteHandler>) {\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] complete 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: 'complete',\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 complete, processing synchronously')\n const updated = await this.service.complete(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 the receiving agent doesn't host the instance, ignore silently (no problem-report)\n if ((e as { code?: string })?.code === 'invalid_event') {\n logger.info('[Workflow] complete 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,\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,15 @@
1
+ import { WorkflowTemplateRepository } from "../../repository/WorkflowTemplateRepository.mjs";
2
+ import { DiscoverMessage } from "../messages/DiscoverMessage.mjs";
3
+ import { WorkflowsMessage } from "../messages/WorkflowsMessage.mjs";
4
+ import { DidCommMessageHandler, DidCommMessageHandlerInboundMessage, DidCommOutboundMessageContext } from "@credo-ts/didcomm";
5
+
6
+ //#region src/protocol/handlers/DiscoverHandler.d.ts
7
+ declare class DiscoverHandler implements DidCommMessageHandler {
8
+ private readonly templateRepo;
9
+ supportedMessages: (typeof DiscoverMessage)[];
10
+ constructor(templateRepo: WorkflowTemplateRepository);
11
+ handle(messageContext: DidCommMessageHandlerInboundMessage<DiscoverHandler>): Promise<DidCommOutboundMessageContext<WorkflowsMessage>>;
12
+ }
13
+ //#endregion
14
+ export { DiscoverHandler };
15
+ //# sourceMappingURL=DiscoverHandler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscoverHandler.d.mts","names":[],"sources":["../../../src/protocol/handlers/DiscoverHandler.ts"],"sourcesContent":[],"mappings":";;;;;;cAWa,eAAA,YAA2B;EAA3B,iBAAA,YAAgB;EACH,iBAAA,EAAA,CAAA,OAAA,eAAA,CAAA,EAAA;EAE0B,WAAA,CAAA,YAAA,EAAA,0BAAA;EAEsB,MAAA,CAAA,cAAA,EAApC,mCAAoC,CAAA,eAAA,CAAA,CAAA,EAAgB,OAAhB,CAAgB,6BAAhB,CAAgB,gBAAhB,CAAA,CAAA"}
@@ -0,0 +1,73 @@
1
+ import { __decorateMetadata, init_decorateMetadata } from "../../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs";
2
+ import { __decorate, init_decorate } from "../../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs";
3
+ import { WorkflowTemplateRepository } from "../../repository/WorkflowTemplateRepository.mjs";
4
+ import { DiscoverMessage } from "../messages/DiscoverMessage.mjs";
5
+ import { WorkflowsMessage } from "../messages/WorkflowsMessage.mjs";
6
+ import { AgentConfig, injectable } from "@credo-ts/core";
7
+ import { DidCommOutboundMessageContext } from "@credo-ts/didcomm";
8
+
9
+ //#region src/protocol/handlers/DiscoverHandler.ts
10
+ init_decorateMetadata();
11
+ init_decorate();
12
+ var _ref;
13
+ let DiscoverHandler = class DiscoverHandler$1 {
14
+ constructor(templateRepo) {
15
+ this.templateRepo = templateRepo;
16
+ this.supportedMessages = [DiscoverMessage];
17
+ }
18
+ async handle(messageContext) {
19
+ const logger = messageContext.agentContext.dependencyManager.resolve(AgentConfig).logger;
20
+ const { filters, paging, include_hash } = messageContext.message.body || {};
21
+ logger.info("[Workflow] discover received", {
22
+ filters,
23
+ include_hash
24
+ });
25
+ const filtered = (await this.templateRepo.getAll(messageContext.agentContext)).filter((r) => {
26
+ const matchesId = !filters?.template_id || r.template.template_id === filters?.template_id;
27
+ const matchesVer = !filters?.version || r.template.version === filters?.version;
28
+ return matchesId && matchesVer;
29
+ });
30
+ const byId = /* @__PURE__ */ new Map();
31
+ for (const rec of filtered) {
32
+ const arr = byId.get(rec.template.template_id) || [];
33
+ arr.push(rec);
34
+ byId.set(rec.template.template_id, arr);
35
+ }
36
+ const items = [];
37
+ for (const [templateId, recs] of byId.entries()) {
38
+ const versions = recs.map((r) => r.template.version).sort((a, b) => b.localeCompare(a));
39
+ const title = recs[0]?.template?.title;
40
+ let hash;
41
+ if (include_hash && versions.length === 1) hash = recs[0]?.hash;
42
+ items.push({
43
+ template_id: templateId,
44
+ versions,
45
+ title,
46
+ ...hash ? { hash } : {}
47
+ });
48
+ }
49
+ const offset = paging?.offset ?? 0;
50
+ const limit = paging?.limit ?? items.length;
51
+ const pageItems = items.slice(offset, offset + limit);
52
+ const body = {
53
+ workflows: pageItems,
54
+ paging: {
55
+ total: items.length,
56
+ next_offset: offset + pageItems.length
57
+ }
58
+ };
59
+ return new DidCommOutboundMessageContext(new WorkflowsMessage({
60
+ thid: messageContext.message.threadId || messageContext.message.id,
61
+ body
62
+ }), {
63
+ agentContext: messageContext.agentContext,
64
+ inboundMessageContext: messageContext,
65
+ connection: messageContext.connection
66
+ });
67
+ }
68
+ };
69
+ DiscoverHandler = __decorate([injectable(), __decorateMetadata("design:paramtypes", [WorkflowTemplateRepository])], DiscoverHandler);
70
+
71
+ //#endregion
72
+ export { DiscoverHandler };
73
+ //# sourceMappingURL=DiscoverHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscoverHandler.mjs","names":["DiscoverHandler","templateRepo: WorkflowTemplateRepository","items: Array<{ template_id: string; versions: string[]; title?: string; hash?: string }>","hash: string | undefined"],"sources":["../../../src/protocol/handlers/DiscoverHandler.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 { WorkflowTemplateRepository } from '../../repository/WorkflowTemplateRepository'\nimport { DiscoverMessage } from '../messages/DiscoverMessage'\nimport { WorkflowsMessage } from '../messages/WorkflowsMessage'\n\n@injectable()\nexport class DiscoverHandler implements DidCommMessageHandler {\n public supportedMessages = [DiscoverMessage]\n\n public constructor(private readonly templateRepo: WorkflowTemplateRepository) {}\n\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<DiscoverHandler>) {\n const dm = messageContext.agentContext.dependencyManager\n const logger = dm.resolve(AgentConfig).logger\n const { filters, paging, include_hash } = messageContext.message.body || {}\n logger.info('[Workflow] discover received', { filters, include_hash })\n\n const all = await this.templateRepo.getAll(messageContext.agentContext)\n const filtered = all.filter((r) => {\n const matchesId = !filters?.template_id || r.template.template_id === filters?.template_id\n const matchesVer = !filters?.version || r.template.version === filters?.version\n return matchesId && matchesVer\n })\n const byId = new Map<string, typeof filtered>()\n for (const rec of filtered) {\n const arr = byId.get(rec.template.template_id) || []\n arr.push(rec)\n byId.set(rec.template.template_id, arr)\n }\n const items: Array<{ template_id: string; versions: string[]; title?: string; hash?: string }> = []\n for (const [templateId, recs] of byId.entries()) {\n const versions = recs.map((r) => r.template.version).sort((a, b) => b.localeCompare(a))\n const title = recs[0]?.template?.title\n let hash: string | undefined\n if (include_hash && versions.length === 1) {\n hash = recs[0]?.hash\n }\n items.push({ template_id: templateId, versions, title, ...(hash ? { hash } : {}) })\n }\n // Simple paging\n const offset = paging?.offset ?? 0\n const limit = paging?.limit ?? items.length\n const pageItems = items.slice(offset, offset + limit)\n const body = { workflows: pageItems, paging: { total: items.length, next_offset: offset + pageItems.length } }\n const reply = new WorkflowsMessage({\n thid: messageContext.message.threadId || messageContext.message.id,\n body,\n })\n return new DidCommOutboundMessageContext(reply, {\n agentContext: messageContext.agentContext,\n // reply over the same inbound session when available for faster turnaround\n inboundMessageContext: messageContext,\n connection: messageContext.connection,\n })\n }\n}\n"],"mappings":";;;;;;;;;;;;AAWO,4BAAMA,kBAAiD;CAG5D,AAAO,YAAY,AAAiBC,cAA0C;EAA1C;OAF7B,oBAAoB,CAAC,gBAAgB;;CAI5C,MAAa,OAAO,gBAAsE;EAExF,MAAM,SADK,eAAe,aAAa,kBACrB,QAAQ,YAAY,CAAC;EACvC,MAAM,EAAE,SAAS,QAAQ,iBAAiB,eAAe,QAAQ,QAAQ,EAAE;AAC3E,SAAO,KAAK,gCAAgC;GAAE;GAAS;GAAc,CAAC;EAGtE,MAAM,YADM,MAAM,KAAK,aAAa,OAAO,eAAe,aAAa,EAClD,QAAQ,MAAM;GACjC,MAAM,YAAY,CAAC,SAAS,eAAe,EAAE,SAAS,gBAAgB,SAAS;GAC/E,MAAM,aAAa,CAAC,SAAS,WAAW,EAAE,SAAS,YAAY,SAAS;AACxE,UAAO,aAAa;IACpB;EACF,MAAM,uBAAO,IAAI,KAA8B;AAC/C,OAAK,MAAM,OAAO,UAAU;GAC1B,MAAM,MAAM,KAAK,IAAI,IAAI,SAAS,YAAY,IAAI,EAAE;AACpD,OAAI,KAAK,IAAI;AACb,QAAK,IAAI,IAAI,SAAS,aAAa,IAAI;;EAEzC,MAAMC,QAA2F,EAAE;AACnG,OAAK,MAAM,CAAC,YAAY,SAAS,KAAK,SAAS,EAAE;GAC/C,MAAM,WAAW,KAAK,KAAK,MAAM,EAAE,SAAS,QAAQ,CAAC,MAAM,GAAG,MAAM,EAAE,cAAc,EAAE,CAAC;GACvF,MAAM,QAAQ,KAAK,IAAI,UAAU;GACjC,IAAIC;AACJ,OAAI,gBAAgB,SAAS,WAAW,EACtC,QAAO,KAAK,IAAI;AAElB,SAAM,KAAK;IAAE,aAAa;IAAY;IAAU;IAAO,GAAI,OAAO,EAAE,MAAM,GAAG,EAAE;IAAG,CAAC;;EAGrF,MAAM,SAAS,QAAQ,UAAU;EACjC,MAAM,QAAQ,QAAQ,SAAS,MAAM;EACrC,MAAM,YAAY,MAAM,MAAM,QAAQ,SAAS,MAAM;EACrD,MAAM,OAAO;GAAE,WAAW;GAAW,QAAQ;IAAE,OAAO,MAAM;IAAQ,aAAa,SAAS,UAAU;IAAQ;GAAE;AAK9G,SAAO,IAAI,8BAJG,IAAI,iBAAiB;GACjC,MAAM,eAAe,QAAQ,YAAY,eAAe,QAAQ;GAChE;GACD,CAAC,EAC8C;GAC9C,cAAc,eAAe;GAE7B,uBAAuB;GACvB,YAAY,eAAe;GAC5B,CAAC;;;8BAhDL,YAAY"}
@@ -0,0 +1,16 @@
1
+ import { WorkflowTemplateRepository } from "../../repository/WorkflowTemplateRepository.mjs";
2
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
3
+ import { FetchTemplateMessage } from "../messages/FetchTemplateMessage.mjs";
4
+ import { TemplateMessage } from "../messages/TemplateMessage.mjs";
5
+ import { DidCommMessageHandler, DidCommMessageHandlerInboundMessage, DidCommOutboundMessageContext } from "@credo-ts/didcomm";
6
+
7
+ //#region src/protocol/handlers/FetchTemplateHandler.d.ts
8
+ declare class FetchTemplateHandler implements DidCommMessageHandler {
9
+ private readonly templateRepo;
10
+ supportedMessages: (typeof FetchTemplateMessage)[];
11
+ constructor(templateRepo: WorkflowTemplateRepository);
12
+ handle(messageContext: DidCommMessageHandlerInboundMessage<FetchTemplateHandler>): Promise<DidCommOutboundMessageContext<ProblemReportMessage> | DidCommOutboundMessageContext<TemplateMessage>>;
13
+ }
14
+ //#endregion
15
+ export { FetchTemplateHandler };
16
+ //# sourceMappingURL=FetchTemplateHandler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FetchTemplateHandler.d.mts","names":[],"sources":["../../../src/protocol/handlers/FetchTemplateHandler.ts"],"sourcesContent":[],"mappings":";;;;;;;cAaa,oBAAA,YAAgC;EAAhC,iBAAA,YAAqB;EACR,iBAAA,EAAA,CAAA,OAAA,oBAAA,CAAA,EAAA;EAE0B,WAAA,CAAA,YAAA,EAAA,0BAAA;EAEsB,MAAA,CAAA,cAAA,EAApC,mCAAoC,CAAA,oBAAA,CAAA,CAAA,EAAqB,OAArB,CAAqB,6BAArB,CAAqB,oBAArB,CAAA,GAAqB,6BAArB,CAAqB,eAArB,CAAA,CAAA"}
@@ -0,0 +1,64 @@
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 { WorkflowTemplateRepository } from "../../repository/WorkflowTemplateRepository.mjs";
5
+ import { FetchTemplateMessage, init_FetchTemplateMessage } from "../messages/FetchTemplateMessage.mjs";
6
+ import { ProblemReportMessage } from "../messages/ProblemReportMessage.mjs";
7
+ import { TemplateMessage } from "../messages/TemplateMessage.mjs";
8
+ import { AgentConfig, injectable } from "@credo-ts/core";
9
+ import { DidCommOutboundMessageContext } from "@credo-ts/didcomm";
10
+
11
+ //#region src/protocol/handlers/FetchTemplateHandler.ts
12
+ init_FetchTemplateMessage();
13
+ init_decorateMetadata();
14
+ init_decorate();
15
+ var _ref;
16
+ let FetchTemplateHandler = class FetchTemplateHandler$1 {
17
+ constructor(templateRepo) {
18
+ this.templateRepo = templateRepo;
19
+ this.supportedMessages = [FetchTemplateMessage];
20
+ }
21
+ async handle(messageContext) {
22
+ const dm = messageContext.agentContext.dependencyManager;
23
+ const logger = dm.resolve(AgentConfig).logger;
24
+ dm.resolve(WorkflowModuleConfig);
25
+ const { template_id, template_version, prefer_hash } = messageContext.message.body || {};
26
+ const thid = messageContext.message.threadId || messageContext.message.id;
27
+ logger.info("[Workflow] fetch-template received", {
28
+ template_id,
29
+ template_version,
30
+ thid
31
+ });
32
+ try {
33
+ const rec = await this.templateRepo.findByTemplateIdAndVersion(messageContext.agentContext, template_id, template_version);
34
+ if (!rec) throw Object.assign(/* @__PURE__ */ new Error("template not found"), { code: "not_found_remote_template" });
35
+ if (prefer_hash && rec.hash && prefer_hash !== rec.hash) throw Object.assign(/* @__PURE__ */ new Error("template hash mismatch"), { code: "not_found_remote_template" });
36
+ return new DidCommOutboundMessageContext(new TemplateMessage({
37
+ thid,
38
+ body: { template: rec.template }
39
+ }), {
40
+ agentContext: messageContext.agentContext,
41
+ inboundMessageContext: messageContext,
42
+ connection: messageContext.connection
43
+ });
44
+ } catch (e) {
45
+ if (messageContext.connection) return new DidCommOutboundMessageContext(new ProblemReportMessage({
46
+ thid,
47
+ body: {
48
+ code: e.code || "not_found_remote_template",
49
+ comment: e.message
50
+ }
51
+ }), {
52
+ agentContext: messageContext.agentContext,
53
+ inboundMessageContext: messageContext,
54
+ connection: messageContext.connection
55
+ });
56
+ throw e;
57
+ }
58
+ }
59
+ };
60
+ FetchTemplateHandler = __decorate([injectable(), __decorateMetadata("design:paramtypes", [WorkflowTemplateRepository])], FetchTemplateHandler);
61
+
62
+ //#endregion
63
+ export { FetchTemplateHandler };
64
+ //# sourceMappingURL=FetchTemplateHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FetchTemplateHandler.mjs","names":["FetchTemplateHandler","templateRepo: WorkflowTemplateRepository"],"sources":["../../../src/protocol/handlers/FetchTemplateHandler.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 { WorkflowTemplateRepository } from '../../repository/WorkflowTemplateRepository'\nimport { FetchTemplateMessage } from '../messages/FetchTemplateMessage'\nimport { ProblemReportMessage } from '../messages/ProblemReportMessage'\nimport { TemplateMessage } from '../messages/TemplateMessage'\n\n@injectable()\nexport class FetchTemplateHandler implements DidCommMessageHandler {\n public supportedMessages = [FetchTemplateMessage]\n\n public constructor(private readonly templateRepo: WorkflowTemplateRepository) {}\n\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<FetchTemplateHandler>) {\n const dm = messageContext.agentContext.dependencyManager\n const logger = dm.resolve(AgentConfig).logger\n const config = dm.resolve(WorkflowModuleConfig)\n const { template_id, template_version, prefer_hash } = messageContext.message.body || {}\n const thid = messageContext.message.threadId || messageContext.message.id\n logger.info('[Workflow] fetch-template received', { template_id, template_version, thid })\n\n try {\n const rec = await this.templateRepo.findByTemplateIdAndVersion(\n messageContext.agentContext,\n template_id,\n template_version\n )\n if (!rec) throw Object.assign(new Error('template not found'), { code: 'not_found_remote_template' })\n if (prefer_hash && rec.hash && prefer_hash !== rec.hash) {\n throw Object.assign(new Error('template hash mismatch'), { code: 'not_found_remote_template' })\n }\n const reply = new TemplateMessage({\n thid,\n body: { template: rec.template },\n })\n return new DidCommOutboundMessageContext(reply, {\n agentContext: messageContext.agentContext,\n // reply over the same inbound session when available for faster turnaround\n inboundMessageContext: messageContext,\n connection: messageContext.connection,\n })\n } catch (e) {\n if (messageContext.connection) {\n const pr = new ProblemReportMessage({\n thid,\n body: { code: (e as { code?: string }).code || 'not_found_remote_template', comment: (e as Error).message },\n })\n return new DidCommOutboundMessageContext(pr, {\n agentContext: messageContext.agentContext,\n // reply over the same inbound session when available for faster turnaround\n inboundMessageContext: messageContext,\n connection: messageContext.connection,\n })\n }\n throw e\n }\n }\n}\n"],"mappings":";;;;;;;;;;;2BAQuE;;;;AAKhE,iCAAMA,uBAAsD;CAGjE,AAAO,YAAY,AAAiBC,cAA0C;EAA1C;OAF7B,oBAAoB,CAAC,qBAAqB;;CAIjD,MAAa,OAAO,gBAA2E;EAC7F,MAAM,KAAK,eAAe,aAAa;EACvC,MAAM,SAAS,GAAG,QAAQ,YAAY,CAAC;AACxB,KAAG,QAAQ,qBAAqB;EAC/C,MAAM,EAAE,aAAa,kBAAkB,gBAAgB,eAAe,QAAQ,QAAQ,EAAE;EACxF,MAAM,OAAO,eAAe,QAAQ,YAAY,eAAe,QAAQ;AACvE,SAAO,KAAK,sCAAsC;GAAE;GAAa;GAAkB;GAAM,CAAC;AAE1F,MAAI;GACF,MAAM,MAAM,MAAM,KAAK,aAAa,2BAClC,eAAe,cACf,aACA,iBACD;AACD,OAAI,CAAC,IAAK,OAAM,OAAO,uBAAO,IAAI,MAAM,qBAAqB,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACrG,OAAI,eAAe,IAAI,QAAQ,gBAAgB,IAAI,KACjD,OAAM,OAAO,uBAAO,IAAI,MAAM,yBAAyB,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAMjG,UAAO,IAAI,8BAJG,IAAI,gBAAgB;IAChC;IACA,MAAM,EAAE,UAAU,IAAI,UAAU;IACjC,CAAC,EAC8C;IAC9C,cAAc,eAAe;IAE7B,uBAAuB;IACvB,YAAY,eAAe;IAC5B,CAAC;WACK,GAAG;AACV,OAAI,eAAe,WAKjB,QAAO,IAAI,8BAJA,IAAI,qBAAqB;IAClC;IACA,MAAM;KAAE,MAAO,EAAwB,QAAQ;KAA6B,SAAU,EAAY;KAAS;IAC5G,CAAC,EAC2C;IAC3C,cAAc,eAAe;IAE7B,uBAAuB;IACvB,YAAY,eAAe;IAC5B,CAAC;AAEJ,SAAM;;;;mCA/CX,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 { PauseMessage } from "../messages/PauseMessage.mjs";
5
+ import { DidCommMessageHandler, DidCommMessageHandlerInboundMessage, DidCommOutboundMessageContext } from "@credo-ts/didcomm";
6
+
7
+ //#region src/protocol/handlers/PauseHandler.d.ts
8
+ declare class PauseHandler implements DidCommMessageHandler {
9
+ private readonly service;
10
+ supportedMessages: (typeof PauseMessage)[];
11
+ constructor(service: WorkflowService);
12
+ handle(messageContext: DidCommMessageHandlerInboundMessage<PauseHandler>): Promise<DidCommOutboundMessageContext<ProblemReportMessage> | DidCommOutboundMessageContext<StatusMessage> | undefined>;
13
+ }
14
+ //#endregion
15
+ export { PauseHandler };
16
+ //# sourceMappingURL=PauseHandler.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PauseHandler.d.mts","names":[],"sources":["../../../src/protocol/handlers/PauseHandler.ts"],"sourcesContent":[],"mappings":";;;;;;;cAea,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,GAAA,SAAA,CAAA"}