@ajna-inc/workflow 0.5.37 → 0.6.1

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 (336) hide show
  1. package/.npmvc/attestations.jsonld +32 -0
  2. package/LICENSE +202 -0
  3. package/build/WorkflowEvents.d.mts +40 -0
  4. package/build/WorkflowEvents.d.mts.map +1 -0
  5. package/build/WorkflowEvents.mjs +11 -0
  6. package/build/WorkflowEvents.mjs.map +1 -0
  7. package/build/WorkflowModule.d.mts +17 -0
  8. package/build/WorkflowModule.d.mts.map +1 -0
  9. package/build/WorkflowModule.mjs +446 -0
  10. package/build/WorkflowModule.mjs.map +1 -0
  11. package/build/WorkflowModuleConfig.d.mts +39 -0
  12. package/build/WorkflowModuleConfig.d.mts.map +1 -0
  13. package/build/WorkflowModuleConfig.mjs +19 -0
  14. package/build/WorkflowModuleConfig.mjs.map +1 -0
  15. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs +14 -0
  16. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs +11 -0
  17. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateParam.mjs +9 -0
  18. package/build/_virtual/rolldown_runtime.mjs +41 -0
  19. package/build/actions/ActionRegistry.d.mts +64 -0
  20. package/build/actions/ActionRegistry.d.mts.map +1 -0
  21. package/build/actions/ActionRegistry.mjs +304 -0
  22. package/build/actions/ActionRegistry.mjs.map +1 -0
  23. package/build/api/WorkflowApi.d.mts +99 -0
  24. package/build/api/WorkflowApi.d.mts.map +1 -0
  25. package/build/api/WorkflowApi.mjs +228 -0
  26. package/build/api/WorkflowApi.mjs.map +1 -0
  27. package/build/engine/AttributePlanner.d.mts +12 -0
  28. package/build/engine/AttributePlanner.d.mts.map +1 -0
  29. package/build/engine/AttributePlanner.mjs +58 -0
  30. package/build/engine/AttributePlanner.mjs.map +1 -0
  31. package/build/engine/GuardEvaluator.d.mts +16 -0
  32. package/build/engine/GuardEvaluator.d.mts.map +1 -0
  33. package/build/engine/GuardEvaluator.mjs +38 -0
  34. package/build/engine/GuardEvaluator.mjs.map +1 -0
  35. package/build/index.d.mts +46 -0
  36. package/build/index.mjs +53 -0
  37. package/build/index.mjs.map +1 -0
  38. package/build/model/TemplateValidation.d.mts +8 -0
  39. package/build/model/TemplateValidation.d.mts.map +1 -0
  40. package/build/model/TemplateValidation.mjs +278 -0
  41. package/build/model/TemplateValidation.mjs.map +1 -0
  42. package/build/model/types.d.mts +120 -0
  43. package/build/model/types.d.mts.map +1 -0
  44. package/build/model/types.mjs +11 -0
  45. package/build/model/types.mjs.map +1 -0
  46. package/build/protocol/WorkflowMessageTypes.d.mts +19 -0
  47. package/build/protocol/WorkflowMessageTypes.d.mts.map +1 -0
  48. package/build/protocol/WorkflowMessageTypes.mjs +20 -0
  49. package/build/protocol/WorkflowMessageTypes.mjs.map +1 -0
  50. package/build/protocol/handlers/AdvanceHandler.d.mts +16 -0
  51. package/build/protocol/handlers/AdvanceHandler.d.mts.map +1 -0
  52. package/build/protocol/handlers/AdvanceHandler.mjs +148 -0
  53. package/build/protocol/handlers/AdvanceHandler.mjs.map +1 -0
  54. package/build/protocol/handlers/CancelHandler.d.mts +16 -0
  55. package/build/protocol/handlers/CancelHandler.d.mts.map +1 -0
  56. package/build/protocol/handlers/CancelHandler.mjs +103 -0
  57. package/build/protocol/handlers/CancelHandler.mjs.map +1 -0
  58. package/build/protocol/handlers/CompleteHandler.d.mts +16 -0
  59. package/build/protocol/handlers/CompleteHandler.d.mts.map +1 -0
  60. package/build/protocol/handlers/CompleteHandler.mjs +103 -0
  61. package/build/protocol/handlers/CompleteHandler.mjs.map +1 -0
  62. package/build/protocol/handlers/DiscoverHandler.d.mts +15 -0
  63. package/build/protocol/handlers/DiscoverHandler.d.mts.map +1 -0
  64. package/build/protocol/handlers/DiscoverHandler.mjs +73 -0
  65. package/build/protocol/handlers/DiscoverHandler.mjs.map +1 -0
  66. package/build/protocol/handlers/FetchTemplateHandler.d.mts +16 -0
  67. package/build/protocol/handlers/FetchTemplateHandler.d.mts.map +1 -0
  68. package/build/protocol/handlers/FetchTemplateHandler.mjs +64 -0
  69. package/build/protocol/handlers/FetchTemplateHandler.mjs.map +1 -0
  70. package/build/protocol/handlers/PauseHandler.d.mts +16 -0
  71. package/build/protocol/handlers/PauseHandler.d.mts.map +1 -0
  72. package/build/protocol/handlers/PauseHandler.mjs +103 -0
  73. package/build/protocol/handlers/PauseHandler.mjs.map +1 -0
  74. package/build/protocol/handlers/ProblemReportHandler.d.mts +11 -0
  75. package/build/protocol/handlers/ProblemReportHandler.d.mts.map +1 -0
  76. package/build/protocol/handlers/ProblemReportHandler.mjs +26 -0
  77. package/build/protocol/handlers/ProblemReportHandler.mjs.map +1 -0
  78. package/build/protocol/handlers/PublishTemplateHandler.d.mts +15 -0
  79. package/build/protocol/handlers/PublishTemplateHandler.d.mts.map +1 -0
  80. package/build/protocol/handlers/PublishTemplateHandler.mjs +47 -0
  81. package/build/protocol/handlers/PublishTemplateHandler.mjs.map +1 -0
  82. package/build/protocol/handlers/ResumeHandler.d.mts +16 -0
  83. package/build/protocol/handlers/ResumeHandler.d.mts.map +1 -0
  84. package/build/protocol/handlers/ResumeHandler.mjs +103 -0
  85. package/build/protocol/handlers/ResumeHandler.mjs.map +1 -0
  86. package/build/protocol/handlers/StartHandler.d.mts +16 -0
  87. package/build/protocol/handlers/StartHandler.d.mts.map +1 -0
  88. package/build/protocol/handlers/StartHandler.mjs +238 -0
  89. package/build/protocol/handlers/StartHandler.mjs.map +1 -0
  90. package/build/protocol/handlers/StatusHandler.d.mts +16 -0
  91. package/build/protocol/handlers/StatusHandler.d.mts.map +1 -0
  92. package/build/protocol/handlers/StatusHandler.mjs +169 -0
  93. package/build/protocol/handlers/StatusHandler.mjs.map +1 -0
  94. package/build/protocol/handlers/TemplateHandler.d.mts +14 -0
  95. package/build/protocol/handlers/TemplateHandler.d.mts.map +1 -0
  96. package/build/protocol/handlers/TemplateHandler.mjs +66 -0
  97. package/build/protocol/handlers/TemplateHandler.mjs.map +1 -0
  98. package/build/protocol/messages/AdvanceMessage.d.mts +22 -0
  99. package/build/protocol/messages/AdvanceMessage.d.mts.map +1 -0
  100. package/build/protocol/messages/AdvanceMessage.mjs +25 -0
  101. package/build/protocol/messages/AdvanceMessage.mjs.map +1 -0
  102. package/build/protocol/messages/CancelMessage.d.mts +20 -0
  103. package/build/protocol/messages/CancelMessage.d.mts.map +1 -0
  104. package/build/protocol/messages/CancelMessage.mjs +25 -0
  105. package/build/protocol/messages/CancelMessage.mjs.map +1 -0
  106. package/build/protocol/messages/CompleteMessage.d.mts +20 -0
  107. package/build/protocol/messages/CompleteMessage.d.mts.map +1 -0
  108. package/build/protocol/messages/CompleteMessage.mjs +25 -0
  109. package/build/protocol/messages/CompleteMessage.mjs.map +1 -0
  110. package/build/protocol/messages/DiscoverMessage.d.mts +29 -0
  111. package/build/protocol/messages/DiscoverMessage.d.mts.map +1 -0
  112. package/build/protocol/messages/DiscoverMessage.mjs +25 -0
  113. package/build/protocol/messages/DiscoverMessage.mjs.map +1 -0
  114. package/build/protocol/messages/FetchTemplateMessage.d.mts +21 -0
  115. package/build/protocol/messages/FetchTemplateMessage.d.mts.map +1 -0
  116. package/build/protocol/messages/FetchTemplateMessage.mjs +31 -0
  117. package/build/protocol/messages/FetchTemplateMessage.mjs.map +1 -0
  118. package/build/protocol/messages/PauseMessage.d.mts +20 -0
  119. package/build/protocol/messages/PauseMessage.d.mts.map +1 -0
  120. package/build/protocol/messages/PauseMessage.mjs +25 -0
  121. package/build/protocol/messages/PauseMessage.mjs.map +1 -0
  122. package/build/protocol/messages/ProblemReportMessage.d.mts +21 -0
  123. package/build/protocol/messages/ProblemReportMessage.d.mts.map +1 -0
  124. package/build/protocol/messages/ProblemReportMessage.mjs +25 -0
  125. package/build/protocol/messages/ProblemReportMessage.mjs.map +1 -0
  126. package/build/protocol/messages/PublishTemplateMessage.d.mts +23 -0
  127. package/build/protocol/messages/PublishTemplateMessage.d.mts.map +1 -0
  128. package/build/protocol/messages/PublishTemplateMessage.mjs +24 -0
  129. package/build/protocol/messages/PublishTemplateMessage.mjs.map +1 -0
  130. package/build/protocol/messages/ResumeMessage.d.mts +20 -0
  131. package/build/protocol/messages/ResumeMessage.d.mts.map +1 -0
  132. package/build/protocol/messages/ResumeMessage.mjs +25 -0
  133. package/build/protocol/messages/ResumeMessage.mjs.map +1 -0
  134. package/build/protocol/messages/StartMessage.d.mts +27 -0
  135. package/build/protocol/messages/StartMessage.d.mts.map +1 -0
  136. package/build/protocol/messages/StartMessage.mjs +25 -0
  137. package/build/protocol/messages/StartMessage.mjs.map +1 -0
  138. package/build/protocol/messages/StatusMessage.d.mts +35 -0
  139. package/build/protocol/messages/StatusMessage.d.mts.map +1 -0
  140. package/build/protocol/messages/StatusMessage.mjs +25 -0
  141. package/build/protocol/messages/StatusMessage.mjs.map +1 -0
  142. package/build/protocol/messages/StatusRequestMessage.d.mts +29 -0
  143. package/build/protocol/messages/StatusRequestMessage.d.mts.map +1 -0
  144. package/build/protocol/messages/StatusRequestMessage.mjs +25 -0
  145. package/build/protocol/messages/StatusRequestMessage.mjs.map +1 -0
  146. package/build/protocol/messages/TemplateMessage.d.mts +20 -0
  147. package/build/protocol/messages/TemplateMessage.d.mts.map +1 -0
  148. package/build/protocol/messages/TemplateMessage.mjs +25 -0
  149. package/build/protocol/messages/TemplateMessage.mjs.map +1 -0
  150. package/build/protocol/messages/WorkflowsMessage.d.mts +28 -0
  151. package/build/protocol/messages/WorkflowsMessage.d.mts.map +1 -0
  152. package/build/protocol/messages/WorkflowsMessage.mjs +25 -0
  153. package/build/protocol/messages/WorkflowsMessage.mjs.map +1 -0
  154. package/build/queue/CommandQueue.d.mts +22 -0
  155. package/build/queue/CommandQueue.d.mts.map +1 -0
  156. package/build/queue/CommandQueue.mjs +6 -0
  157. package/build/queue/CommandQueue.mjs.map +1 -0
  158. package/build/queue/PersistentCommandQueue.d.mts +56 -0
  159. package/build/queue/PersistentCommandQueue.d.mts.map +1 -0
  160. package/build/queue/PersistentCommandQueue.mjs +273 -0
  161. package/build/queue/PersistentCommandQueue.mjs.map +1 -0
  162. package/build/repository/WorkflowCommandRecord.d.mts +50 -0
  163. package/build/repository/WorkflowCommandRecord.d.mts.map +1 -0
  164. package/build/repository/WorkflowCommandRecord.mjs +48 -0
  165. package/build/repository/WorkflowCommandRecord.mjs.map +1 -0
  166. package/build/repository/WorkflowCommandRepository.d.mts +59 -0
  167. package/build/repository/WorkflowCommandRepository.d.mts.map +1 -0
  168. package/build/repository/WorkflowCommandRepository.mjs +136 -0
  169. package/build/repository/WorkflowCommandRepository.mjs.map +1 -0
  170. package/build/repository/WorkflowInstanceRecord.d.mts +65 -0
  171. package/build/repository/WorkflowInstanceRecord.d.mts.map +1 -0
  172. package/build/repository/WorkflowInstanceRecord.mjs +44 -0
  173. package/build/repository/WorkflowInstanceRecord.mjs.map +1 -0
  174. package/build/repository/WorkflowInstanceRepository.d.mts +15 -0
  175. package/build/repository/WorkflowInstanceRepository.d.mts.map +1 -0
  176. package/build/repository/WorkflowInstanceRepository.mjs +48 -0
  177. package/build/repository/WorkflowInstanceRepository.mjs.map +1 -0
  178. package/build/repository/WorkflowTemplateRecord.d.mts +27 -0
  179. package/build/repository/WorkflowTemplateRecord.d.mts.map +1 -0
  180. package/build/repository/WorkflowTemplateRecord.mjs +29 -0
  181. package/build/repository/WorkflowTemplateRecord.mjs.map +1 -0
  182. package/build/repository/WorkflowTemplateRepository.d.mts +11 -0
  183. package/build/repository/WorkflowTemplateRepository.d.mts.map +1 -0
  184. package/build/repository/WorkflowTemplateRepository.mjs +43 -0
  185. package/build/repository/WorkflowTemplateRepository.mjs.map +1 -0
  186. package/build/services/WorkflowService.d.mts +107 -0
  187. package/build/services/WorkflowService.d.mts.map +1 -0
  188. package/build/services/WorkflowService.mjs +582 -0
  189. package/build/services/WorkflowService.mjs.map +1 -0
  190. package/build/ui/UiFilter.mjs +85 -0
  191. package/build/ui/UiFilter.mjs.map +1 -0
  192. package/package.json +27 -33
  193. package/build/WorkflowEvents.d.ts +0 -35
  194. package/build/WorkflowEvents.js +0 -10
  195. package/build/WorkflowEvents.js.map +0 -1
  196. package/build/WorkflowModule.d.ts +0 -13
  197. package/build/WorkflowModule.js +0 -647
  198. package/build/WorkflowModule.js.map +0 -1
  199. package/build/WorkflowModuleConfig.d.ts +0 -35
  200. package/build/WorkflowModuleConfig.js +0 -19
  201. package/build/WorkflowModuleConfig.js.map +0 -1
  202. package/build/actions/ActionRegistry.d.ts +0 -59
  203. package/build/actions/ActionRegistry.js +0 -367
  204. package/build/actions/ActionRegistry.js.map +0 -1
  205. package/build/api/WorkflowApi.d.ts +0 -94
  206. package/build/api/WorkflowApi.js +0 -241
  207. package/build/api/WorkflowApi.js.map +0 -1
  208. package/build/engine/AttributePlanner.d.ts +0 -7
  209. package/build/engine/AttributePlanner.js +0 -81
  210. package/build/engine/AttributePlanner.js.map +0 -1
  211. package/build/engine/GuardEvaluator.d.ts +0 -11
  212. package/build/engine/GuardEvaluator.js +0 -40
  213. package/build/engine/GuardEvaluator.js.map +0 -1
  214. package/build/index.d.ts +0 -45
  215. package/build/index.js +0 -69
  216. package/build/index.js.map +0 -1
  217. package/build/model/TemplateValidation.d.ts +0 -3
  218. package/build/model/TemplateValidation.js +0 -231
  219. package/build/model/TemplateValidation.js.map +0 -1
  220. package/build/model/types.d.ts +0 -116
  221. package/build/model/types.js +0 -15
  222. package/build/model/types.js.map +0 -1
  223. package/build/protocol/WorkflowMessageTypes.d.ts +0 -15
  224. package/build/protocol/WorkflowMessageTypes.js +0 -22
  225. package/build/protocol/WorkflowMessageTypes.js.map +0 -1
  226. package/build/protocol/handlers/AdvanceHandler.d.ts +0 -12
  227. package/build/protocol/handlers/AdvanceHandler.js +0 -149
  228. package/build/protocol/handlers/AdvanceHandler.js.map +0 -1
  229. package/build/protocol/handlers/CancelHandler.d.ts +0 -12
  230. package/build/protocol/handlers/CancelHandler.js +0 -124
  231. package/build/protocol/handlers/CancelHandler.js.map +0 -1
  232. package/build/protocol/handlers/CompleteHandler.d.ts +0 -12
  233. package/build/protocol/handlers/CompleteHandler.js +0 -125
  234. package/build/protocol/handlers/CompleteHandler.js.map +0 -1
  235. package/build/protocol/handlers/DiscoverHandler.d.ts +0 -11
  236. package/build/protocol/handlers/DiscoverHandler.js +0 -71
  237. package/build/protocol/handlers/DiscoverHandler.js.map +0 -1
  238. package/build/protocol/handlers/FetchTemplateHandler.d.ts +0 -12
  239. package/build/protocol/handlers/FetchTemplateHandler.js +0 -71
  240. package/build/protocol/handlers/FetchTemplateHandler.js.map +0 -1
  241. package/build/protocol/handlers/PauseHandler.d.ts +0 -12
  242. package/build/protocol/handlers/PauseHandler.js +0 -124
  243. package/build/protocol/handlers/PauseHandler.js.map +0 -1
  244. package/build/protocol/handlers/ProblemReportHandler.d.ts +0 -6
  245. package/build/protocol/handlers/ProblemReportHandler.js +0 -28
  246. package/build/protocol/handlers/ProblemReportHandler.js.map +0 -1
  247. package/build/protocol/handlers/PublishTemplateHandler.d.ts +0 -11
  248. package/build/protocol/handlers/PublishTemplateHandler.js +0 -53
  249. package/build/protocol/handlers/PublishTemplateHandler.js.map +0 -1
  250. package/build/protocol/handlers/ResumeHandler.d.ts +0 -12
  251. package/build/protocol/handlers/ResumeHandler.js +0 -124
  252. package/build/protocol/handlers/ResumeHandler.js.map +0 -1
  253. package/build/protocol/handlers/StartHandler.d.ts +0 -12
  254. package/build/protocol/handlers/StartHandler.js +0 -274
  255. package/build/protocol/handlers/StartHandler.js.map +0 -1
  256. package/build/protocol/handlers/StatusHandler.d.ts +0 -12
  257. package/build/protocol/handlers/StatusHandler.js +0 -202
  258. package/build/protocol/handlers/StatusHandler.js.map +0 -1
  259. package/build/protocol/handlers/TemplateHandler.d.ts +0 -9
  260. package/build/protocol/handlers/TemplateHandler.js +0 -83
  261. package/build/protocol/handlers/TemplateHandler.js.map +0 -1
  262. package/build/protocol/messages/AdvanceMessage.d.ts +0 -16
  263. package/build/protocol/messages/AdvanceMessage.js +0 -33
  264. package/build/protocol/messages/AdvanceMessage.js.map +0 -1
  265. package/build/protocol/messages/CancelMessage.d.ts +0 -14
  266. package/build/protocol/messages/CancelMessage.js +0 -33
  267. package/build/protocol/messages/CancelMessage.js.map +0 -1
  268. package/build/protocol/messages/CompleteMessage.d.ts +0 -14
  269. package/build/protocol/messages/CompleteMessage.js +0 -33
  270. package/build/protocol/messages/CompleteMessage.js.map +0 -1
  271. package/build/protocol/messages/DiscoverMessage.d.ts +0 -23
  272. package/build/protocol/messages/DiscoverMessage.js +0 -33
  273. package/build/protocol/messages/DiscoverMessage.js.map +0 -1
  274. package/build/protocol/messages/FetchTemplateMessage.d.ts +0 -15
  275. package/build/protocol/messages/FetchTemplateMessage.js +0 -33
  276. package/build/protocol/messages/FetchTemplateMessage.js.map +0 -1
  277. package/build/protocol/messages/PauseMessage.d.ts +0 -14
  278. package/build/protocol/messages/PauseMessage.js +0 -33
  279. package/build/protocol/messages/PauseMessage.js.map +0 -1
  280. package/build/protocol/messages/ProblemReportMessage.d.ts +0 -15
  281. package/build/protocol/messages/ProblemReportMessage.js +0 -33
  282. package/build/protocol/messages/ProblemReportMessage.js.map +0 -1
  283. package/build/protocol/messages/PublishTemplateMessage.d.ts +0 -17
  284. package/build/protocol/messages/PublishTemplateMessage.js +0 -31
  285. package/build/protocol/messages/PublishTemplateMessage.js.map +0 -1
  286. package/build/protocol/messages/ResumeMessage.d.ts +0 -14
  287. package/build/protocol/messages/ResumeMessage.js +0 -33
  288. package/build/protocol/messages/ResumeMessage.js.map +0 -1
  289. package/build/protocol/messages/StartMessage.d.ts +0 -21
  290. package/build/protocol/messages/StartMessage.js +0 -33
  291. package/build/protocol/messages/StartMessage.js.map +0 -1
  292. package/build/protocol/messages/StatusMessage.d.ts +0 -29
  293. package/build/protocol/messages/StatusMessage.js +0 -33
  294. package/build/protocol/messages/StatusMessage.js.map +0 -1
  295. package/build/protocol/messages/StatusRequestMessage.d.ts +0 -23
  296. package/build/protocol/messages/StatusRequestMessage.js +0 -33
  297. package/build/protocol/messages/StatusRequestMessage.js.map +0 -1
  298. package/build/protocol/messages/TemplateMessage.d.ts +0 -14
  299. package/build/protocol/messages/TemplateMessage.js +0 -33
  300. package/build/protocol/messages/TemplateMessage.js.map +0 -1
  301. package/build/protocol/messages/WorkflowsMessage.d.ts +0 -22
  302. package/build/protocol/messages/WorkflowsMessage.js +0 -33
  303. package/build/protocol/messages/WorkflowsMessage.js.map +0 -1
  304. package/build/queue/CommandQueue.d.ts +0 -18
  305. package/build/queue/CommandQueue.js +0 -8
  306. package/build/queue/CommandQueue.js.map +0 -1
  307. package/build/queue/PersistentCommandQueue.d.ts +0 -51
  308. package/build/queue/PersistentCommandQueue.js +0 -348
  309. package/build/queue/PersistentCommandQueue.js.map +0 -1
  310. package/build/repository/WorkflowCommandRecord.d.ts +0 -46
  311. package/build/repository/WorkflowCommandRecord.js +0 -52
  312. package/build/repository/WorkflowCommandRecord.js.map +0 -1
  313. package/build/repository/WorkflowCommandRepository.d.ts +0 -55
  314. package/build/repository/WorkflowCommandRepository.js +0 -149
  315. package/build/repository/WorkflowCommandRepository.js.map +0 -1
  316. package/build/repository/WorkflowInstanceRecord.d.ts +0 -61
  317. package/build/repository/WorkflowInstanceRecord.js +0 -43
  318. package/build/repository/WorkflowInstanceRecord.js.map +0 -1
  319. package/build/repository/WorkflowInstanceRepository.d.ts +0 -10
  320. package/build/repository/WorkflowInstanceRepository.js +0 -52
  321. package/build/repository/WorkflowInstanceRepository.js.map +0 -1
  322. package/build/repository/WorkflowTemplateRecord.d.ts +0 -23
  323. package/build/repository/WorkflowTemplateRecord.js +0 -28
  324. package/build/repository/WorkflowTemplateRecord.js.map +0 -1
  325. package/build/repository/WorkflowTemplateRepository.d.ts +0 -6
  326. package/build/repository/WorkflowTemplateRepository.js +0 -56
  327. package/build/repository/WorkflowTemplateRepository.js.map +0 -1
  328. package/build/services/WorkflowService.d.ts +0 -102
  329. package/build/services/WorkflowService.js +0 -704
  330. package/build/services/WorkflowService.js.map +0 -1
  331. package/build/ui/UiFilter.d.ts +0 -5
  332. package/build/ui/UiFilter.js +0 -104
  333. package/build/ui/UiFilter.js.map +0 -1
  334. package/build/ui/UiTypes.d.ts +0 -28
  335. package/build/ui/UiTypes.js +0 -3
  336. package/build/ui/UiTypes.js.map +0 -1
@@ -0,0 +1,41 @@
1
+ //#region rolldown:runtime
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
7
+ var __export = (all, symbols) => {
8
+ let target = {};
9
+ for (var name in all) {
10
+ __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ }
15
+ if (symbols) {
16
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
17
+ }
18
+ return target;
19
+ };
20
+ var __copyProps = (to, from, except, desc) => {
21
+ if (from && typeof from === "object" || typeof from === "function") {
22
+ for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
23
+ key = keys[i];
24
+ if (!__hasOwnProp.call(to, key) && key !== except) {
25
+ __defProp(to, key, {
26
+ get: ((k) => from[k]).bind(null, key),
27
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
28
+ });
29
+ }
30
+ }
31
+ }
32
+ return to;
33
+ };
34
+ var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
36
+ if (typeof require !== "undefined") return require.apply(this, arguments);
37
+ throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function.");
38
+ });
39
+
40
+ //#endregion
41
+ export { __esmMin, __export, __require, __toCommonJS };
@@ -0,0 +1,64 @@
1
+ import { ActionDef, WorkflowInstanceData, WorkflowTemplate } from "../model/types.mjs";
2
+ import { AgentContext } from "@credo-ts/core";
3
+
4
+ //#region src/actions/ActionRegistry.d.ts
5
+ type ActionCtx = {
6
+ agentContext: AgentContext;
7
+ template: WorkflowTemplate;
8
+ instance: WorkflowInstanceData;
9
+ action: ActionDef;
10
+ input?: Record<string, unknown>;
11
+ };
12
+ type ActionResult = {
13
+ artifacts?: Record<string, unknown>;
14
+ contextMerge?: Record<string, unknown>;
15
+ messageId?: string;
16
+ };
17
+ interface WorkflowActionHandler {
18
+ readonly typeUri: string;
19
+ execute(ctx: ActionCtx): Promise<ActionResult>;
20
+ }
21
+ declare class ActionRegistry {
22
+ private handlers;
23
+ register(handler: WorkflowActionHandler): void;
24
+ get(typeUri: string): WorkflowActionHandler | undefined;
25
+ }
26
+ declare class LocalStateSetAction implements WorkflowActionHandler {
27
+ readonly typeUri = "https://didcomm.org/workflow/actions/state:set@1";
28
+ execute(ctx: ActionCtx): Promise<ActionResult>;
29
+ }
30
+ declare class IssueCredentialV2Action implements WorkflowActionHandler {
31
+ readonly typeUri = "https://didcomm.org/issue-credential/2.0/offer-credential";
32
+ execute(ctx: ActionCtx): Promise<ActionResult>;
33
+ }
34
+ /**
35
+ * ProposeCredentialV2Action - Holder proposes a credential to the issuer
36
+ * Used when holder initiates the credential issuance flow
37
+ */
38
+ declare class ProposeCredentialV2Action implements WorkflowActionHandler {
39
+ readonly typeUri = "https://didcomm.org/issue-credential/2.0/propose-credential";
40
+ execute(ctx: ActionCtx): Promise<ActionResult>;
41
+ }
42
+ /**
43
+ * RequestCredentialV2Action - Holder accepts a credential offer
44
+ * Used when holder receives an offer and wants to request the credential
45
+ */
46
+ declare class RequestCredentialV2Action implements WorkflowActionHandler {
47
+ readonly typeUri = "https://didcomm.org/issue-credential/2.0/request-credential";
48
+ execute(ctx: ActionCtx): Promise<ActionResult>;
49
+ }
50
+ /**
51
+ * IssueCredentialMessageV2Action - Issuer issues the credential after receiving a request
52
+ * Used when issuer receives a credential request and wants to issue the credential
53
+ */
54
+ declare class IssueCredentialMessageV2Action implements WorkflowActionHandler {
55
+ readonly typeUri = "https://didcomm.org/issue-credential/2.0/issue-credential";
56
+ execute(ctx: ActionCtx): Promise<ActionResult>;
57
+ }
58
+ declare class PresentProofV2Action implements WorkflowActionHandler {
59
+ readonly typeUri = "https://didcomm.org/present-proof/2.0/request-presentation";
60
+ execute(ctx: ActionCtx): Promise<ActionResult>;
61
+ }
62
+ //#endregion
63
+ export { ActionCtx, ActionRegistry, ActionResult, IssueCredentialMessageV2Action, IssueCredentialV2Action, LocalStateSetAction, PresentProofV2Action, ProposeCredentialV2Action, RequestCredentialV2Action, WorkflowActionHandler };
64
+ //# sourceMappingURL=ActionRegistry.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionRegistry.d.mts","names":[],"sources":["../../src/actions/ActionRegistry.ts"],"sourcesContent":[],"mappings":";;;;KASY,SAAA;gBACI;EADJ,QAAA,EAEA,gBAFS;EACL,QAAA,EAEJ,oBAFI;EACJ,MAAA,EAEF,SAFE;EACA,KAAA,CAAA,EAEF,MAFE,CAAA,MAAA,EAAA,OAAA,CAAA;CACF;AACA,KAGE,YAAA,GAHF;EAAM,SAAA,CAAA,EAIF,MAJE,CAAA,MAAA,EAAA,OAAA,CAAA;EAGJ,YAAA,CAAA,EAEK,MAFO,CAAA,MACV,EAAA,OACG,CAAA;EAIA,SAAA,CAAA,EAAA,MAAA;CAEF;AAAoB,UAFlB,qBAAA,CAEkB;EAAR,SAAA,OAAA,EAAA,MAAA;EAAO,OAAA,CAAA,GAAA,EAAnB,SAAmB,CAAA,EAAP,OAAO,CAAC,YAAD,CAAA;AAGlC;AAUa,cAVA,cAAA,CAUoB;EAEL,QAAA,QAAA;EAAoB,QAAA,CAAA,OAAA,EAVrB,qBAUqB,CAAA,EAAA,IAAA;EAAR,GAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAPT,qBAOS,GAAA,SAAA;;AAFyB,cAApD,mBAAA,YAA+B,qBAAqB,CAAA;EAiCpD,SAAA,OAAA,GAAA,kDAAwB;EAET,OAAA,CAAA,GAAA,EAjCA,SAiCA,CAAA,EAjCY,OAiCZ,CAjCoB,YAiCpB,CAAA;;AAAY,cAF3B,uBAAA,YAAmC,qBAER,CAAA;EAFQ,SAAA,OAAA,GAAA,2DAAA;EAAqB,OAAA,CAAA,GAAA,EAEzC,SAFyC,CAAA,EAE7B,OAF6B,CAErB,YAFqB,CAAA;AA2DrE;;;;;AAAuE,cAA1D,yBAAA,YAAqC,qBAAqB,CAAA;EAkE1D,SAAA,OAAA,GAAA,6DAA0B;EAGX,OAAA,CAAA,GAAA,EAlEA,SAkEA,CAAA,EAlEY,OAkEZ,CAlEoB,YAkEpB,CAAA;;;;;AA4D5B;AAG4B,cAlEf,yBAAA,YAAqC,qBAkEtB,CAAA;EAAoB,SAAA,OAAA,GAAA,6DAAA;EAAR,OAAA,CAAA,GAAA,EA/DZ,SA+DY,CAAA,EA/DA,OA+DA,CA/DQ,YA+DR,CAAA;;;AAsDxC;;;AAEwC,cA3D3B,8BAAA,YAA0C,qBA2Df,CAAA;EAFK,SAAA,OAAA,GAAA,2DAAA;EAAqB,OAAA,CAAA,GAAA,EAtDtC,SAsDsC,CAAA,EAtD1B,OAsD0B,CAtDlB,YAsDkB,CAAA;;cAArD,oBAAA,YAAgC;;eAEjB,YAAY,QAAQ"}
@@ -0,0 +1,304 @@
1
+ import { AttributePlanner, deepMerge } from "../engine/AttributePlanner.mjs";
2
+ import { DidCommConnectionService, DidCommCredentialsApi, DidCommProofsApi } from "@credo-ts/didcomm";
3
+
4
+ //#region src/actions/ActionRegistry.ts
5
+ var ActionRegistry = class {
6
+ constructor() {
7
+ this.handlers = /* @__PURE__ */ new Map();
8
+ }
9
+ register(handler) {
10
+ this.handlers.set(handler.typeUri, handler);
11
+ }
12
+ get(typeUri) {
13
+ return this.handlers.get(typeUri);
14
+ }
15
+ };
16
+ var LocalStateSetAction = class {
17
+ constructor() {
18
+ this.typeUri = "https://didcomm.org/workflow/actions/state:set@1";
19
+ }
20
+ async execute(ctx) {
21
+ const mergeObj = ctx.action?.staticInput;
22
+ const mergeValue = typeof mergeObj === "object" && mergeObj ? mergeObj.merge : mergeObj;
23
+ if (mergeValue && typeof mergeValue === "object") return { contextMerge: deepMerge({ ...ctx.instance.context || {} }, mergeValue) };
24
+ if (typeof mergeValue === "string" && ctx.input && mergeValue.includes("input.")) try {
25
+ const value = mergeValue.replace(/\{\{|\}\}/g, "").trim().replace(/^input\./, "").split(".").reduce((acc, p) => {
26
+ if (acc === null || acc === void 0) return void 0;
27
+ if (typeof acc !== "object") return void 0;
28
+ return acc[p];
29
+ }, ctx.input);
30
+ if (value && typeof value === "object") return { contextMerge: deepMerge({ ...ctx.instance.context || {} }, value) };
31
+ } catch (_e) {}
32
+ return {};
33
+ }
34
+ };
35
+ var IssueCredentialV2Action = class {
36
+ constructor() {
37
+ this.typeUri = "https://didcomm.org/issue-credential/2.0/offer-credential";
38
+ }
39
+ async execute(ctx) {
40
+ const ref = ctx.action.profile_ref;
41
+ if (!ref?.startsWith("cp.")) throw Object.assign(/* @__PURE__ */ new Error("invalid profile_ref"), { code: "action_error" });
42
+ const key = ref.slice(3);
43
+ const profile = ctx.template.catalog?.credential_profiles?.[key];
44
+ if (!profile) throw Object.assign(/* @__PURE__ */ new Error("missing catalog profile"), { code: "action_error" });
45
+ const attrs = AttributePlanner.materialize(profile.attribute_plan || {}, ctx.instance);
46
+ const attributes = Object.entries(attrs).map(([name, value]) => ({
47
+ name,
48
+ value: String(value)
49
+ }));
50
+ const connectionId = ctx.instance.connection_id;
51
+ if (!connectionId) throw Object.assign(/* @__PURE__ */ new Error("connectionId required"), { code: "action_error" });
52
+ {
53
+ const toRef = profile.to_ref;
54
+ const expectedDid = toRef ? ctx.instance.participants?.[toRef]?.did : void 0;
55
+ if (expectedDid && ctx.instance.connection_id) {
56
+ const theirDid = (await ctx.agentContext.dependencyManager.resolve(DidCommConnectionService).getById(ctx.agentContext, ctx.instance.connection_id))?.theirDid;
57
+ if (theirDid && theirDid !== expectedDid) throw Object.assign(/* @__PURE__ */ new Error("to_ref DID mismatch"), { code: "forbidden" });
58
+ }
59
+ }
60
+ try {
61
+ const credsApi = ctx.agentContext.dependencyManager.resolve(DidCommCredentialsApi);
62
+ const record = await credsApi.offerCredential({
63
+ connectionId,
64
+ protocolVersion: "v2",
65
+ credentialFormats: { anoncreds: {
66
+ credentialDefinitionId: profile.cred_def_id,
67
+ attributes
68
+ } },
69
+ comment: profile.options?.comment
70
+ });
71
+ let messageId = record?.id || record?.credentialRecord?.id;
72
+ try {
73
+ if (messageId) {
74
+ const found = await credsApi.findOfferMessage(messageId);
75
+ if (found && typeof found === "object") {
76
+ const f = found;
77
+ messageId = f.message?.id || f.id || messageId;
78
+ }
79
+ }
80
+ } catch (_e) {}
81
+ return {
82
+ artifacts: { issueRecordId: record?.id || record?.credentialRecord?.id },
83
+ messageId
84
+ };
85
+ } catch (e) {
86
+ throw Object.assign(/* @__PURE__ */ new Error(`issue action error: ${e.message}`), { code: "action_error" });
87
+ }
88
+ }
89
+ };
90
+ /**
91
+ * ProposeCredentialV2Action - Holder proposes a credential to the issuer
92
+ * Used when holder initiates the credential issuance flow
93
+ */
94
+ var ProposeCredentialV2Action = class {
95
+ constructor() {
96
+ this.typeUri = "https://didcomm.org/issue-credential/2.0/propose-credential";
97
+ }
98
+ async execute(ctx) {
99
+ const ref = ctx.action.profile_ref;
100
+ if (!ref?.startsWith("cp.")) throw Object.assign(/* @__PURE__ */ new Error("invalid profile_ref"), { code: "action_error" });
101
+ const key = ref.slice(3);
102
+ const profile = ctx.template.catalog?.credential_profiles?.[key];
103
+ if (!profile) throw Object.assign(/* @__PURE__ */ new Error("missing catalog profile"), { code: "action_error" });
104
+ const attrs = AttributePlanner.materialize(profile.attribute_plan || {}, ctx.instance);
105
+ const attributes = Object.entries(attrs).map(([name, value]) => ({
106
+ name,
107
+ value: String(value)
108
+ }));
109
+ const connectionId = ctx.instance.connection_id;
110
+ if (!connectionId) throw Object.assign(/* @__PURE__ */ new Error("connectionId required"), { code: "action_error" });
111
+ try {
112
+ const credsApi = ctx.agentContext.dependencyManager.resolve(DidCommCredentialsApi);
113
+ const record = await credsApi.proposeCredential({
114
+ connectionId,
115
+ protocolVersion: "v2",
116
+ credentialFormats: { anoncreds: {
117
+ credentialDefinitionId: profile.cred_def_id,
118
+ attributes
119
+ } },
120
+ comment: profile.options?.comment
121
+ });
122
+ let messageId = record?.id || record?.credentialRecord?.id;
123
+ try {
124
+ if (messageId) {
125
+ const found = await credsApi.findProposalMessage(messageId);
126
+ if (found && typeof found === "object") {
127
+ const f = found;
128
+ messageId = f.message?.id || f.id || messageId;
129
+ }
130
+ }
131
+ } catch (_e) {}
132
+ return {
133
+ artifacts: { credentialRecordId: record?.id || record?.credentialRecord?.id },
134
+ messageId
135
+ };
136
+ } catch (e) {
137
+ throw Object.assign(/* @__PURE__ */ new Error(`propose action error: ${e.message}`), { code: "action_error" });
138
+ }
139
+ }
140
+ };
141
+ /**
142
+ * RequestCredentialV2Action - Holder accepts a credential offer
143
+ * Used when holder receives an offer and wants to request the credential
144
+ */
145
+ var RequestCredentialV2Action = class {
146
+ constructor() {
147
+ this.typeUri = "https://didcomm.org/issue-credential/2.0/request-credential";
148
+ }
149
+ async execute(ctx) {
150
+ const connectionId = ctx.instance.connection_id;
151
+ if (!connectionId) throw Object.assign(/* @__PURE__ */ new Error("connectionId required"), { code: "action_error" });
152
+ try {
153
+ const credsApi = ctx.agentContext.dependencyManager.resolve(DidCommCredentialsApi);
154
+ let credentialRecordId = ctx.instance.artifacts?.credentialRecordId;
155
+ if (!credentialRecordId) {
156
+ const matches = (await credsApi.getAll()).filter((r) => r.connectionId === connectionId && r.state === "offer-received").sort((a, b) => {
157
+ const dateA = a.updatedAt ? new Date(a.updatedAt).getTime() : 0;
158
+ return (b.updatedAt ? new Date(b.updatedAt).getTime() : 0) - dateA;
159
+ });
160
+ if (matches.length === 0) throw Object.assign(/* @__PURE__ */ new Error("no offer found to accept"), { code: "action_error" });
161
+ credentialRecordId = matches[0].id;
162
+ }
163
+ const record = await credsApi.acceptOffer({ credentialRecordId });
164
+ let messageId = record?.id;
165
+ try {
166
+ if (messageId) {
167
+ const found = await credsApi.findRequestMessage(messageId);
168
+ if (found && typeof found === "object") {
169
+ const f = found;
170
+ messageId = f.message?.id || f.id || messageId;
171
+ }
172
+ }
173
+ } catch (_e) {}
174
+ return {
175
+ artifacts: { credentialRecordId: record?.id },
176
+ messageId
177
+ };
178
+ } catch (e) {
179
+ throw Object.assign(/* @__PURE__ */ new Error(`request action error: ${e.message}`), { code: "action_error" });
180
+ }
181
+ }
182
+ };
183
+ /**
184
+ * IssueCredentialMessageV2Action - Issuer issues the credential after receiving a request
185
+ * Used when issuer receives a credential request and wants to issue the credential
186
+ */
187
+ var IssueCredentialMessageV2Action = class {
188
+ constructor() {
189
+ this.typeUri = "https://didcomm.org/issue-credential/2.0/issue-credential";
190
+ }
191
+ async execute(ctx) {
192
+ const connectionId = ctx.instance.connection_id;
193
+ if (!connectionId) throw Object.assign(/* @__PURE__ */ new Error("connectionId required"), { code: "action_error" });
194
+ try {
195
+ const credsApi = ctx.agentContext.dependencyManager.resolve(DidCommCredentialsApi);
196
+ let credentialRecordId = ctx.instance.artifacts?.credentialRecordId;
197
+ if (!credentialRecordId) {
198
+ const matches = (await credsApi.getAll()).filter((r) => r.connectionId === connectionId && r.state === "request-received").sort((a, b) => {
199
+ const dateA = a.updatedAt ? new Date(a.updatedAt).getTime() : 0;
200
+ return (b.updatedAt ? new Date(b.updatedAt).getTime() : 0) - dateA;
201
+ });
202
+ if (matches.length === 0) throw Object.assign(/* @__PURE__ */ new Error("no request found to issue"), { code: "action_error" });
203
+ credentialRecordId = matches[0].id;
204
+ }
205
+ const record = await credsApi.acceptRequest({ credentialRecordId });
206
+ let messageId = record?.id;
207
+ try {
208
+ if (messageId) {
209
+ const found = await credsApi.findCredentialMessage(messageId);
210
+ if (found && typeof found === "object") {
211
+ const f = found;
212
+ messageId = f.message?.id || f.id || messageId;
213
+ }
214
+ }
215
+ } catch (_e) {}
216
+ return {
217
+ artifacts: { issuedCredentialRecordId: record?.id },
218
+ messageId
219
+ };
220
+ } catch (e) {
221
+ throw Object.assign(/* @__PURE__ */ new Error(`issue action error: ${e.message}`), { code: "action_error" });
222
+ }
223
+ }
224
+ };
225
+ var PresentProofV2Action = class {
226
+ constructor() {
227
+ this.typeUri = "https://didcomm.org/present-proof/2.0/request-presentation";
228
+ }
229
+ async execute(ctx) {
230
+ const ref = ctx.action.profile_ref;
231
+ if (!ref?.startsWith("pp.")) throw Object.assign(/* @__PURE__ */ new Error("invalid profile_ref"), { code: "action_error" });
232
+ const key = ref.slice(3);
233
+ const profile = ctx.template.catalog?.proof_profiles?.[key];
234
+ if (!profile) throw Object.assign(/* @__PURE__ */ new Error("missing catalog profile"), { code: "action_error" });
235
+ const connectionId = ctx.instance.connection_id;
236
+ if (!connectionId) throw Object.assign(/* @__PURE__ */ new Error("connectionId required"), { code: "action_error" });
237
+ {
238
+ const toRef2 = profile.to_ref;
239
+ const expectedDid2 = toRef2 ? ctx.instance.participants?.[toRef2]?.did : void 0;
240
+ if (expectedDid2 && ctx.instance.connection_id) {
241
+ const theirDid = (await ctx.agentContext.dependencyManager.resolve(DidCommConnectionService).getById(ctx.agentContext, ctx.instance.connection_id))?.theirDid;
242
+ if (theirDid && theirDid !== expectedDid2) throw Object.assign(/* @__PURE__ */ new Error("to_ref DID mismatch"), { code: "forbidden" });
243
+ }
244
+ }
245
+ try {
246
+ const proofsApi = ctx.agentContext.dependencyManager.resolve(DidCommProofsApi);
247
+ const credDefId = profile.cred_def_id;
248
+ const schemaId = profile.schema_id;
249
+ const restriction = credDefId ? { cred_def_id: credDefId } : schemaId ? { schema_id: schemaId } : void 0;
250
+ const reqAttrs = (profile.requested_attributes || []).reduce((acc, name, idx) => {
251
+ acc[`attr${idx + 1}`] = restriction ? {
252
+ name,
253
+ restrictions: [restriction]
254
+ } : { name };
255
+ return acc;
256
+ }, {});
257
+ const reqPreds = (profile.requested_predicates || []).reduce((acc, p, idx) => {
258
+ acc[`pred${idx + 1}`] = restriction ? {
259
+ name: p.name,
260
+ p_type: p.p_type,
261
+ p_value: p.p_value,
262
+ restrictions: [restriction]
263
+ } : {
264
+ name: p.name,
265
+ p_type: p.p_type,
266
+ p_value: p.p_value
267
+ };
268
+ return acc;
269
+ }, {});
270
+ const record = await proofsApi.requestProof({
271
+ connectionId,
272
+ protocolVersion: "v2",
273
+ proofFormats: { anoncreds: {
274
+ name: "Workflow Proof Request",
275
+ version: "1.0",
276
+ requested_attributes: reqAttrs,
277
+ requested_predicates: reqPreds
278
+ } },
279
+ willConfirm: true,
280
+ comment: profile.options?.comment
281
+ });
282
+ let messageId = record?.id || record?.proofRecord?.id;
283
+ try {
284
+ if (messageId) {
285
+ const found = await proofsApi.findRequestMessage(messageId);
286
+ if (found && typeof found === "object") {
287
+ const f = found;
288
+ messageId = f.message?.id || f.id || messageId;
289
+ }
290
+ }
291
+ } catch (_e) {}
292
+ return {
293
+ artifacts: { proofRecordId: record?.id || record?.proofRecord?.id },
294
+ messageId
295
+ };
296
+ } catch (e) {
297
+ throw Object.assign(/* @__PURE__ */ new Error(`proof action error: ${e.message}`), { code: "action_error" });
298
+ }
299
+ }
300
+ };
301
+
302
+ //#endregion
303
+ export { ActionRegistry, IssueCredentialMessageV2Action, IssueCredentialV2Action, LocalStateSetAction, PresentProofV2Action, ProposeCredentialV2Action, RequestCredentialV2Action };
304
+ //# sourceMappingURL=ActionRegistry.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionRegistry.mjs","names":["ref: string","messageId: string | undefined"],"sources":["../../src/actions/ActionRegistry.ts"],"sourcesContent":["import type { ActionDef, WorkflowInstanceData, WorkflowTemplate } from '../model/types'\nimport type { AgentContext } from '@credo-ts/core'\n\nimport { DidCommCredentialsApi, DidCommProofsApi } from '@credo-ts/didcomm'\n\nimport { DidCommConnectionService } from '@credo-ts/didcomm'\n\nimport { AttributePlanner, deepMerge } from '../engine/AttributePlanner'\n\nexport type ActionCtx = {\n agentContext: AgentContext\n template: WorkflowTemplate\n instance: WorkflowInstanceData\n action: ActionDef\n input?: Record<string, unknown>\n}\n\nexport type ActionResult = {\n artifacts?: Record<string, unknown>\n contextMerge?: Record<string, unknown>\n messageId?: string\n}\n\nexport interface WorkflowActionHandler {\n readonly typeUri: string\n execute(ctx: ActionCtx): Promise<ActionResult>\n}\n\nexport class ActionRegistry {\n private handlers = new Map<string, WorkflowActionHandler>()\n public register(handler: WorkflowActionHandler) {\n this.handlers.set(handler.typeUri, handler)\n }\n public get(typeUri: string): WorkflowActionHandler | undefined {\n return this.handlers.get(typeUri)\n }\n}\n\nexport class LocalStateSetAction implements WorkflowActionHandler {\n public readonly typeUri = 'https://didcomm.org/workflow/actions/state:set@1'\n public async execute(ctx: ActionCtx): Promise<ActionResult> {\n const mergeObj = (ctx.action as { staticInput?: unknown })?.staticInput as { merge?: unknown } | undefined | string\n const mergeValue = typeof mergeObj === 'object' && mergeObj ? (mergeObj as { merge?: unknown }).merge : mergeObj\n if (mergeValue && typeof mergeValue === 'object') {\n const next = deepMerge({ ...(ctx.instance.context || {}) }, mergeValue as Record<string, unknown>)\n return { contextMerge: next }\n }\n // if string with template, try basic input resolution: '{{ input.form }}'\n if (typeof mergeValue === 'string' && ctx.input && mergeValue.includes('input.')) {\n try {\n const path = mergeValue\n .replace(/\\{\\{|\\}\\}/g, '')\n .trim()\n .replace(/^input\\./, '')\n const value = path.split('.').reduce<unknown>((acc, p) => {\n if (acc === null || acc === undefined) return undefined\n if (typeof acc !== 'object') return undefined\n return (acc as Record<string, unknown>)[p]\n }, ctx.input)\n if (value && typeof value === 'object') {\n const next = deepMerge({ ...(ctx.instance.context || {}) }, value as Record<string, unknown>)\n return { contextMerge: next }\n }\n } catch (_e) {\n void 0\n }\n }\n return {}\n }\n}\n\nexport class IssueCredentialV2Action implements WorkflowActionHandler {\n public readonly typeUri = 'https://didcomm.org/issue-credential/2.0/offer-credential'\n public async execute(ctx: ActionCtx): Promise<ActionResult> {\n const act = ctx.action as { profile_ref: string }\n const ref: string = act.profile_ref\n if (!ref?.startsWith('cp.')) throw Object.assign(new Error('invalid profile_ref'), { code: 'action_error' })\n const key = ref.slice(3)\n const profile = ctx.template.catalog?.credential_profiles?.[key]\n if (!profile) throw Object.assign(new Error('missing catalog profile'), { code: 'action_error' })\n const attrs = AttributePlanner.materialize(profile.attribute_plan || {}, ctx.instance)\n const attributes = Object.entries(attrs).map(([name, value]) => ({ name, value: String(value) }))\n const connectionId = ctx.instance.connection_id\n if (!connectionId) throw Object.assign(new Error('connectionId required'), { code: 'action_error' })\n // Enforce to_ref recipient DID against connection counterparty DID (if available)\n {\n const toRef = profile.to_ref\n const expectedDid = toRef ? ctx.instance.participants?.[toRef]?.did : undefined\n if (expectedDid && ctx.instance.connection_id) {\n const connSvc = ctx.agentContext.dependencyManager.resolve(DidCommConnectionService)\n const conn = await connSvc.getById(ctx.agentContext, ctx.instance.connection_id)\n const theirDid = (conn as unknown as { theirDid?: string })?.theirDid\n if (theirDid && theirDid !== expectedDid)\n throw Object.assign(new Error('to_ref DID mismatch'), { code: 'forbidden' })\n }\n }\n try {\n const credsApi = ctx.agentContext.dependencyManager.resolve(DidCommCredentialsApi) as unknown as {\n offerCredential: (options: unknown) => Promise<{ id: string; credentialRecord?: { id?: string } }>\n findOfferMessage: (id: string) => Promise<unknown>\n }\n const record = await credsApi.offerCredential({\n connectionId,\n protocolVersion: 'v2',\n credentialFormats: { anoncreds: { credentialDefinitionId: profile.cred_def_id, attributes } },\n comment: profile.options?.comment,\n })\n let messageId: string | undefined = record?.id || record?.credentialRecord?.id\n try {\n if (messageId) {\n const found = (await credsApi.findOfferMessage(messageId)) as unknown\n if (found && typeof found === 'object') {\n const f = found as { id?: string; message?: { id?: string } }\n messageId = f.message?.id || f.id || messageId\n }\n }\n } catch (_e) {\n void 0\n }\n return { artifacts: { issueRecordId: record?.id || record?.credentialRecord?.id }, messageId }\n } catch (e) {\n throw Object.assign(new Error(`issue action error: ${(e as Error).message}`), { code: 'action_error' })\n }\n }\n}\n\n/**\n * ProposeCredentialV2Action - Holder proposes a credential to the issuer\n * Used when holder initiates the credential issuance flow\n */\nexport class ProposeCredentialV2Action implements WorkflowActionHandler {\n public readonly typeUri = 'https://didcomm.org/issue-credential/2.0/propose-credential'\n\n public async execute(ctx: ActionCtx): Promise<ActionResult> {\n const act = ctx.action as { profile_ref: string }\n const ref: string = act.profile_ref\n if (!ref?.startsWith('cp.')) throw Object.assign(new Error('invalid profile_ref'), { code: 'action_error' })\n\n const key = ref.slice(3)\n const profile = ctx.template.catalog?.credential_profiles?.[key]\n if (!profile) throw Object.assign(new Error('missing catalog profile'), { code: 'action_error' })\n\n // Materialize attributes from context using attribute_plan\n const attrs = AttributePlanner.materialize(profile.attribute_plan || {}, ctx.instance)\n const attributes = Object.entries(attrs).map(([name, value]) => ({ name, value: String(value) }))\n\n const connectionId = ctx.instance.connection_id\n if (!connectionId) throw Object.assign(new Error('connectionId required'), { code: 'action_error' })\n\n try {\n const credsApi = ctx.agentContext.dependencyManager.resolve(DidCommCredentialsApi) as unknown as {\n proposeCredential: (options: unknown) => Promise<{ id: string; credentialRecord?: { id?: string } }>\n findProposalMessage: (id: string) => Promise<unknown>\n }\n\n const record = await credsApi.proposeCredential({\n connectionId,\n protocolVersion: 'v2',\n credentialFormats: {\n anoncreds: {\n credentialDefinitionId: profile.cred_def_id,\n attributes,\n },\n },\n comment: profile.options?.comment,\n })\n\n // Extract message ID for correlation\n let messageId: string | undefined = record?.id || record?.credentialRecord?.id\n try {\n if (messageId) {\n const found = await credsApi.findProposalMessage(messageId)\n if (found && typeof found === 'object') {\n const f = found as { id?: string; message?: { id?: string } }\n messageId = f.message?.id || f.id || messageId\n }\n }\n } catch (_e) {\n void 0\n }\n\n // Store record ID in artifacts for later actions to find\n return {\n artifacts: { credentialRecordId: record?.id || record?.credentialRecord?.id },\n messageId,\n }\n } catch (e) {\n throw Object.assign(new Error(`propose action error: ${(e as Error).message}`), { code: 'action_error' })\n }\n }\n}\n\n/**\n * RequestCredentialV2Action - Holder accepts a credential offer\n * Used when holder receives an offer and wants to request the credential\n */\nexport class RequestCredentialV2Action implements WorkflowActionHandler {\n public readonly typeUri = 'https://didcomm.org/issue-credential/2.0/request-credential'\n\n public async execute(ctx: ActionCtx): Promise<ActionResult> {\n const connectionId = ctx.instance.connection_id\n if (!connectionId) throw Object.assign(new Error('connectionId required'), { code: 'action_error' })\n\n try {\n const credsApi = ctx.agentContext.dependencyManager.resolve(DidCommCredentialsApi) as unknown as {\n acceptOffer: (options: { credentialRecordId: string }) => Promise<{ id: string }>\n getAll: () => Promise<Array<{ id: string; connectionId?: string; state: string; updatedAt?: Date }>>\n findRequestMessage: (id: string) => Promise<unknown>\n }\n\n // Find the credential record with OfferReceived state for this connection\n // Option 1: Check artifacts for stored credentialRecordId\n let credentialRecordId = ctx.instance.artifacts?.credentialRecordId as string | undefined\n\n // Option 2: Query by connection + state if not in artifacts\n if (!credentialRecordId) {\n const all = await credsApi.getAll()\n const matches = all\n .filter((r) => r.connectionId === connectionId && r.state === 'offer-received')\n .sort((a, b) => {\n const dateA = a.updatedAt ? new Date(a.updatedAt).getTime() : 0\n const dateB = b.updatedAt ? new Date(b.updatedAt).getTime() : 0\n return dateB - dateA // Most recent first\n })\n if (matches.length === 0) {\n throw Object.assign(new Error('no offer found to accept'), { code: 'action_error' })\n }\n credentialRecordId = matches[0].id\n }\n\n const record = await credsApi.acceptOffer({ credentialRecordId })\n\n let messageId: string | undefined = record?.id\n try {\n if (messageId) {\n const found = await credsApi.findRequestMessage(messageId)\n if (found && typeof found === 'object') {\n const f = found as { id?: string; message?: { id?: string } }\n messageId = f.message?.id || f.id || messageId\n }\n }\n } catch (_e) {\n void 0\n }\n\n return {\n artifacts: { credentialRecordId: record?.id },\n messageId,\n }\n } catch (e) {\n throw Object.assign(new Error(`request action error: ${(e as Error).message}`), { code: 'action_error' })\n }\n }\n}\n\n/**\n * IssueCredentialMessageV2Action - Issuer issues the credential after receiving a request\n * Used when issuer receives a credential request and wants to issue the credential\n */\nexport class IssueCredentialMessageV2Action implements WorkflowActionHandler {\n public readonly typeUri = 'https://didcomm.org/issue-credential/2.0/issue-credential'\n\n public async execute(ctx: ActionCtx): Promise<ActionResult> {\n const connectionId = ctx.instance.connection_id\n if (!connectionId) throw Object.assign(new Error('connectionId required'), { code: 'action_error' })\n\n try {\n const credsApi = ctx.agentContext.dependencyManager.resolve(DidCommCredentialsApi) as unknown as {\n acceptRequest: (options: { credentialRecordId: string }) => Promise<{ id: string }>\n getAll: () => Promise<Array<{ id: string; connectionId?: string; state: string; updatedAt?: Date }>>\n findCredentialMessage: (id: string) => Promise<unknown>\n }\n\n // Find the credential record with RequestReceived state for this connection\n let credentialRecordId = ctx.instance.artifacts?.credentialRecordId as string | undefined\n\n if (!credentialRecordId) {\n const all = await credsApi.getAll()\n const matches = all\n .filter((r) => r.connectionId === connectionId && r.state === 'request-received')\n .sort((a, b) => {\n const dateA = a.updatedAt ? new Date(a.updatedAt).getTime() : 0\n const dateB = b.updatedAt ? new Date(b.updatedAt).getTime() : 0\n return dateB - dateA // Most recent first\n })\n if (matches.length === 0) {\n throw Object.assign(new Error('no request found to issue'), { code: 'action_error' })\n }\n credentialRecordId = matches[0].id\n }\n\n const record = await credsApi.acceptRequest({ credentialRecordId })\n\n let messageId: string | undefined = record?.id\n try {\n if (messageId) {\n const found = await credsApi.findCredentialMessage(messageId)\n if (found && typeof found === 'object') {\n const f = found as { id?: string; message?: { id?: string } }\n messageId = f.message?.id || f.id || messageId\n }\n }\n } catch (_e) {\n void 0\n }\n\n return {\n artifacts: { issuedCredentialRecordId: record?.id },\n messageId,\n }\n } catch (e) {\n throw Object.assign(new Error(`issue action error: ${(e as Error).message}`), { code: 'action_error' })\n }\n }\n}\n\nexport class PresentProofV2Action implements WorkflowActionHandler {\n public readonly typeUri = 'https://didcomm.org/present-proof/2.0/request-presentation'\n public async execute(ctx: ActionCtx): Promise<ActionResult> {\n const act = ctx.action as { profile_ref: string }\n const ref: string = act.profile_ref\n if (!ref?.startsWith('pp.')) throw Object.assign(new Error('invalid profile_ref'), { code: 'action_error' })\n const key = ref.slice(3)\n const profile = ctx.template.catalog?.proof_profiles?.[key]\n if (!profile) throw Object.assign(new Error('missing catalog profile'), { code: 'action_error' })\n const connectionId = ctx.instance.connection_id\n if (!connectionId) throw Object.assign(new Error('connectionId required'), { code: 'action_error' })\n // Enforce to_ref recipient DID against connection counterparty DID (if available)\n {\n const toRef2 = profile.to_ref\n const expectedDid2 = toRef2 ? ctx.instance.participants?.[toRef2]?.did : undefined\n if (expectedDid2 && ctx.instance.connection_id) {\n const connSvc = ctx.agentContext.dependencyManager.resolve(DidCommConnectionService)\n const conn = await connSvc.getById(ctx.agentContext, ctx.instance.connection_id)\n const theirDid = (conn as unknown as { theirDid?: string })?.theirDid\n if (theirDid && theirDid !== expectedDid2)\n throw Object.assign(new Error('to_ref DID mismatch'), { code: 'forbidden' })\n }\n }\n try {\n const proofsApi = ctx.agentContext.dependencyManager.resolve(DidCommProofsApi) as unknown as {\n requestProof: (options: unknown) => Promise<{ id: string; proofRecord?: { id?: string } }>\n findRequestMessage: (id: string) => Promise<unknown>\n }\n const credDefId = (profile as { cred_def_id?: string }).cred_def_id\n const schemaId = (profile as { schema_id?: string }).schema_id\n const restriction = credDefId ? { cred_def_id: credDefId } : schemaId ? { schema_id: schemaId } : undefined\n\n const reqAttrs = (profile.requested_attributes || []).reduce<Record<string, unknown>>(\n (acc, name: string, idx: number) => {\n acc[`attr${idx + 1}`] = restriction ? { name, restrictions: [restriction] } : { name }\n return acc\n },\n {}\n )\n const reqPreds = (profile.requested_predicates || []).reduce<Record<string, unknown>>(\n (acc, p: { name: string; p_type: string; p_value: number }, idx: number) => {\n acc[`pred${idx + 1}`] = restriction\n ? { name: p.name, p_type: p.p_type, p_value: p.p_value, restrictions: [restriction] }\n : { name: p.name, p_type: p.p_type, p_value: p.p_value }\n return acc\n },\n {}\n )\n const record = await proofsApi.requestProof({\n connectionId,\n protocolVersion: 'v2',\n proofFormats: {\n anoncreds: {\n name: 'Workflow Proof Request',\n version: '1.0',\n requested_attributes: reqAttrs,\n requested_predicates: reqPreds,\n },\n },\n willConfirm: true,\n comment: profile.options?.comment,\n })\n let messageId: string | undefined = record?.id || record?.proofRecord?.id\n try {\n if (messageId) {\n const found = (await proofsApi.findRequestMessage(messageId)) as unknown\n if (found && typeof found === 'object') {\n const f = found as { id?: string; message?: { id?: string } }\n messageId = f.message?.id || f.id || messageId\n }\n }\n } catch (_e) {\n void 0\n }\n return { artifacts: { proofRecordId: record?.id || record?.proofRecord?.id }, messageId }\n } catch (e) {\n throw Object.assign(new Error(`proof action error: ${(e as Error).message}`), { code: 'action_error' })\n }\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import { Participants, UiItem, WorkflowTemplate } from "../model/types.mjs";
2
+ import { WorkflowInstanceRecord } from "../repository/WorkflowInstanceRecord.mjs";
3
+ import { WorkflowTemplateRecord } from "../repository/WorkflowTemplateRecord.mjs";
4
+ import { WorkflowService } from "../services/WorkflowService.mjs";
5
+ import { AgentContext } from "@credo-ts/core";
6
+
7
+ //#region src/api/WorkflowApi.d.ts
8
+ declare class WorkflowApi {
9
+ private readonly service;
10
+ private readonly agentContext;
11
+ constructor(service: WorkflowService, agentContext: AgentContext);
12
+ publishTemplate(template: WorkflowTemplate): Promise<WorkflowTemplateRecord>;
13
+ start(opts: {
14
+ template_id: string;
15
+ template_version?: string;
16
+ instance_id?: string;
17
+ connection_id?: string;
18
+ participants?: Participants;
19
+ context?: Record<string, unknown>;
20
+ }): Promise<WorkflowInstanceRecord>;
21
+ advance(opts: {
22
+ instance_id: string;
23
+ event: string;
24
+ idempotency_key?: string;
25
+ input?: Record<string, unknown>;
26
+ }): Promise<WorkflowInstanceRecord>;
27
+ listTemplates(): Promise<WorkflowTemplateRecord[]>;
28
+ getTemplate(template_id: string, template_version?: string): Promise<WorkflowTemplateRecord | null>;
29
+ /**
30
+ * Ensure a template exists locally by fetching it from the counterparty.
31
+ * If template_version is omitted, the remote will return its preferred/latest version.
32
+ * Returns the stored record or null when not found within waitMs.
33
+ */
34
+ ensureTemplate(opts: {
35
+ connection_id: string;
36
+ template_id: string;
37
+ template_version?: string;
38
+ prefer_hash?: string;
39
+ waitMs?: number;
40
+ }): Promise<WorkflowTemplateRecord | null>;
41
+ /**
42
+ * Ask counterparty to list workflows matching filters. This sends DIDComm only.
43
+ * Note: The reply (WorkflowsMessage) is not persisted; use for UX hints or pair with ensureTemplate.
44
+ */
45
+ discoverTemplates(connection_id: string, opts?: {
46
+ template_id?: string;
47
+ version?: string;
48
+ include_hash?: boolean;
49
+ }): Promise<void>;
50
+ status(opts: {
51
+ instance_id: string;
52
+ include_actions?: boolean;
53
+ include_ui?: boolean;
54
+ ui_profile?: string;
55
+ viewer?: {
56
+ role?: string;
57
+ connection_id?: string;
58
+ did?: string;
59
+ participantKey?: string;
60
+ };
61
+ capabilities?: string[];
62
+ }): Promise<{
63
+ instance_id: string;
64
+ state: string;
65
+ section?: string;
66
+ allowed_events: string[];
67
+ action_menu: Array<{
68
+ label?: string;
69
+ event: string;
70
+ }>;
71
+ artifacts: Record<string, unknown>;
72
+ ui?: UiItem[];
73
+ ui_profile?: string;
74
+ assets?: Record<string, {
75
+ mediaType: string;
76
+ uri?: string;
77
+ attachmentId?: string;
78
+ }>;
79
+ }>;
80
+ pause(opts: {
81
+ instance_id: string;
82
+ reason?: string;
83
+ }): Promise<WorkflowInstanceRecord>;
84
+ resume(opts: {
85
+ instance_id: string;
86
+ reason?: string;
87
+ }): Promise<WorkflowInstanceRecord>;
88
+ cancel(opts: {
89
+ instance_id: string;
90
+ reason?: string;
91
+ }): Promise<WorkflowInstanceRecord>;
92
+ complete(opts: {
93
+ instance_id: string;
94
+ reason?: string;
95
+ }): Promise<WorkflowInstanceRecord>;
96
+ }
97
+ //#endregion
98
+ export { WorkflowApi };
99
+ //# sourceMappingURL=WorkflowApi.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowApi.d.mts","names":[],"sources":["../../src/api/WorkflowApi.ts"],"sourcesContent":[],"mappings":";;;;;;;cAiBa,WAAA;;EAAA,iBAAW,YAAA;EACuB,WAAA,CAAA,OAAA,EAAA,eAAA,EAAA,YAAA,EAAgD,YAAhD;EAAgD,eAAA,CAAA,QAAA,EAE5D,gBAF4D,CAAA,EAEzC,OAFyC,CAEjC,sBAFiC,CAAA;EAE5D,KAAA,CAAA,IAAA,EAAA;IAA2B,WAAA,EAAA,MAAA;IAAR,gBAAA,CAAA,EAAA,MAAA;IASnC,WAAA,CAAA,EAAA,MAAA;IACL,aAAA,CAAA,EAAA,MAAA;IACA,YAAA,CAAA,EAFK,YAEL;IAAR,OAAA,CAAA,EADQ,MACR,CAAA,MAAA,EAAA,OAAA,CAAA;EA0CM,CAAA,CAAA,EA1CN,OA0CM,CA1CE,sBA0CF,CAAA;EACE,OAAA,CAAA,IAAA,EAAA;IAAR,WAAA,EAAA,MAAA;IAsCkC,KAAA,EAAA,MAAA;IAAR,eAAA,CAAA,EAAA,MAAA;IAQnB,KAAA,CAAA,EA/CD,MA+CC,CAAA,MAAA,EAAA,OAAA,CAAA;EAAR,CAAA,CAAA,EA9CC,OA8CD,CA9CS,sBA8CT,CAAA;EAgBS,aAAA,CAAA,CAAA,EAxBkB,OAwBlB,CAxB0B,sBAwB1B,EAAA,CAAA;EAAR,WAAA,CAAA,WAAA,EAAA,MAAA,EAAA,gBAAA,CAAA,EAAA,MAAA,CAAA,EAhBD,OAgBC,CAhBO,sBAgBP,GAAA,IAAA,CAAA;EAkDD;;;;;EAuCC,cAAA,CAAA,IAAA,EAAA;IAcuD,aAAA,EAAA,MAAA;IAAA,WAAA,EAAA,MAAA;IAIC,gBAAA,CAAA,EAAA,MAAA;IAAA,WAAA,CAAA,EAAA,MAAA;IAIA,MAAA,CAAA,EAAA,MAAA;EAAA,CAAA,CAAA,EA/GxD,OA+GwD,CA/GhD,sBA+GgD,GAAA,IAAA,CAAA;EAIE;;;;;;;;MAjE3D;;;;;;;;;;;;;MAuCC;;;;;iBAKW;;;;eACF;SACN;;aAEI;;;;;;;;;MAKgD,QAAA;;;;MAIC,QAAA;;;;MAIA,QAAA;;;;MAIE,QAAA"}