@agimon-ai/doompi-workflow 0.0.1-alpha.73 → 0.0.1-alpha.74

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 (352) hide show
  1. package/LICENSE +4 -2
  2. package/README.md +8 -5
  3. package/dist/_virtual/_rolldown/runtime.cjs +23 -1
  4. package/dist/api-contracts.cjs +7 -1
  5. package/dist/api-contracts.mjs +2 -1
  6. package/dist/extensions/pi.cjs +62 -1
  7. package/dist/extensions/pi.cjs.map +1 -1
  8. package/dist/extensions/pi.d.cts +3 -3
  9. package/dist/extensions/pi.d.cts.map +1 -1
  10. package/dist/extensions/pi.d.mts +3 -3
  11. package/dist/extensions/pi.d.mts.map +1 -1
  12. package/dist/extensions/pi.mjs +57 -1
  13. package/dist/extensions/pi.mjs.map +1 -1
  14. package/dist/extensions/server.cjs +95 -1
  15. package/dist/extensions/server.cjs.map +1 -1
  16. package/dist/extensions/server.d.cts +3 -3
  17. package/dist/extensions/server.d.cts.map +1 -1
  18. package/dist/extensions/server.d.mts +3 -3
  19. package/dist/extensions/server.d.mts.map +1 -1
  20. package/dist/extensions/server.mjs +90 -1
  21. package/dist/extensions/server.mjs.map +1 -1
  22. package/dist/extensions/web.mjs +3219 -0
  23. package/dist/extensions/web.mjs.map +1 -0
  24. package/dist/index.cjs +4 -1
  25. package/dist/index.mjs +2 -1
  26. package/dist/src/constants/workflow.cjs +31 -1
  27. package/dist/src/constants/workflow.cjs.map +1 -1
  28. package/dist/src/constants/workflow.mjs +20 -1
  29. package/dist/src/constants/workflow.mjs.map +1 -1
  30. package/dist/src/extensions/(backend)/_lib/index.server.cjs +12 -0
  31. package/dist/src/extensions/(backend)/_lib/index.server.cjs.map +1 -0
  32. package/dist/src/extensions/(backend)/_lib/index.server.mjs +12 -0
  33. package/dist/src/extensions/(backend)/_lib/index.server.mjs.map +1 -0
  34. package/dist/src/extensions/(backend)/api/workflow/route.server.cjs +7 -0
  35. package/dist/src/extensions/(backend)/api/workflow/route.server.cjs.map +1 -0
  36. package/dist/src/extensions/(backend)/api/workflow/route.server.mjs +8 -0
  37. package/dist/src/extensions/(backend)/api/workflow/route.server.mjs.map +1 -0
  38. package/dist/src/extensions/(backend)/channel/workflow-catalog.server.cjs +7 -0
  39. package/dist/src/extensions/(backend)/channel/workflow-catalog.server.cjs.map +1 -0
  40. package/dist/src/extensions/(backend)/channel/workflow-catalog.server.mjs +8 -0
  41. package/dist/src/extensions/(backend)/channel/workflow-catalog.server.mjs.map +1 -0
  42. package/dist/src/extensions/(backend)/channel/workflows.server.cjs +7 -0
  43. package/dist/src/extensions/(backend)/channel/workflows.server.cjs.map +1 -0
  44. package/dist/src/extensions/(backend)/channel/workflows.server.mjs +8 -0
  45. package/dist/src/extensions/(backend)/channel/workflows.server.mjs.map +1 -0
  46. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.cli.cjs +100 -0
  47. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.cli.cjs.map +1 -0
  48. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.cli.mjs +100 -0
  49. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.cli.mjs.map +1 -0
  50. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.server.cjs +11 -0
  51. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.server.cjs.map +1 -0
  52. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.server.mjs +11 -0
  53. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.server.mjs.map +1 -0
  54. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/workflowSkillsResource.cjs +12 -0
  55. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/workflowSkillsResource.cjs.map +1 -0
  56. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/workflowSkillsResource.mjs +12 -0
  57. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/workflowSkillsResource.mjs.map +1 -0
  58. package/dist/src/extensions/workspaces/sessions/(backend)/api/workflow/route.server.cjs +6 -0
  59. package/dist/src/extensions/workspaces/sessions/(backend)/api/workflow/route.server.cjs.map +1 -0
  60. package/dist/src/extensions/workspaces/sessions/(backend)/api/workflow/route.server.mjs +7 -0
  61. package/dist/src/extensions/workspaces/sessions/(backend)/api/workflow/route.server.mjs.map +1 -0
  62. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli.cjs +6 -0
  63. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli.cjs.map +1 -0
  64. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli.mjs +7 -0
  65. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli.mjs.map +1 -0
  66. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.server.cjs +6 -0
  67. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.server.cjs.map +1 -0
  68. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.server.mjs +7 -0
  69. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.server.mjs.map +1 -0
  70. package/dist/src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli.cjs +6 -0
  71. package/dist/src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli.cjs.map +1 -0
  72. package/dist/src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli.mjs +7 -0
  73. package/dist/src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli.mjs.map +1 -0
  74. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs +6 -0
  75. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs.map +1 -0
  76. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs +7 -0
  77. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs.map +1 -0
  78. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs +6 -0
  79. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs.map +1 -0
  80. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs +7 -0
  81. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs.map +1 -0
  82. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.server.cjs +6 -0
  83. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.server.cjs.map +1 -0
  84. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.server.mjs +7 -0
  85. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.server.mjs.map +1 -0
  86. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-workflow.server.cjs +6 -0
  87. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-workflow.server.cjs.map +1 -0
  88. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-workflow.server.mjs +7 -0
  89. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-workflow.server.mjs.map +1 -0
  90. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-workflow.server.cjs +6 -0
  91. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-workflow.server.cjs.map +1 -0
  92. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-workflow.server.mjs +7 -0
  93. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-workflow.server.mjs.map +1 -0
  94. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-recovery.server.cjs +6 -0
  95. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-recovery.server.cjs.map +1 -0
  96. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-recovery.server.mjs +7 -0
  97. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-recovery.server.mjs.map +1 -0
  98. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli.cjs +7 -0
  99. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli.cjs.map +1 -0
  100. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli.mjs +8 -0
  101. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli.mjs.map +1 -0
  102. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs +15 -0
  103. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs.map +1 -0
  104. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs +16 -0
  105. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs.map +1 -0
  106. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs +17 -0
  107. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs.map +1 -0
  108. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs +18 -0
  109. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs.map +1 -0
  110. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli.cjs +6 -0
  111. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli.cjs.map +1 -0
  112. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli.mjs +7 -0
  113. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli.mjs.map +1 -0
  114. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli.cjs +6 -0
  115. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli.cjs.map +1 -0
  116. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli.mjs +7 -0
  117. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli.mjs.map +1 -0
  118. package/dist/src/extensions/workspaces/sessions/(backend)/tool/launch-workflow.server.cjs +6 -0
  119. package/dist/src/extensions/workspaces/sessions/(backend)/tool/launch-workflow.server.cjs.map +1 -0
  120. package/dist/src/extensions/workspaces/sessions/(backend)/tool/launch-workflow.server.mjs +7 -0
  121. package/dist/src/extensions/workspaces/sessions/(backend)/tool/launch-workflow.server.mjs.map +1 -0
  122. package/dist/src/extensions/workspaces/sessions/(backend)/tool/list-workflows.server.cjs +6 -0
  123. package/dist/src/extensions/workspaces/sessions/(backend)/tool/list-workflows.server.cjs.map +1 -0
  124. package/dist/src/extensions/workspaces/sessions/(backend)/tool/list-workflows.server.mjs +7 -0
  125. package/dist/src/extensions/workspaces/sessions/(backend)/tool/list-workflows.server.mjs.map +1 -0
  126. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow-run.server.cjs +6 -0
  127. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow-run.server.cjs.map +1 -0
  128. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow-run.server.mjs +7 -0
  129. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow-run.server.mjs.map +1 -0
  130. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow.cli.cjs +6 -0
  131. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow.cli.cjs.map +1 -0
  132. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow.cli.mjs +7 -0
  133. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow.cli.mjs.map +1 -0
  134. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli.cjs +6 -0
  135. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli.cjs.map +1 -0
  136. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli.mjs +7 -0
  137. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli.mjs.map +1 -0
  138. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.server.cjs +6 -0
  139. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.server.cjs.map +1 -0
  140. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.server.mjs +7 -0
  141. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.server.mjs.map +1 -0
  142. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowFinishedRenderer.cjs +50 -0
  143. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowFinishedRenderer.cjs.map +1 -0
  144. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowFinishedRenderer.mjs +47 -0
  145. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowFinishedRenderer.mjs.map +1 -0
  146. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowStepRenderer.cjs +36 -0
  147. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowStepRenderer.cjs.map +1 -0
  148. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowStepRenderer.mjs +35 -0
  149. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowStepRenderer.mjs.map +1 -0
  150. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli.cjs +7 -0
  151. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli.cjs.map +1 -0
  152. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli.mjs +8 -0
  153. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli.mjs.map +1 -0
  154. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli.cjs +7 -0
  155. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli.cjs.map +1 -0
  156. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli.mjs +8 -0
  157. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli.mjs.map +1 -0
  158. package/dist/src/schemas/apiContracts.cjs +329 -1
  159. package/dist/src/schemas/apiContracts.cjs.map +1 -1
  160. package/dist/src/schemas/apiContracts.mjs +326 -1
  161. package/dist/src/schemas/apiContracts.mjs.map +1 -1
  162. package/dist/src/schemas/workflowPi.cjs +76 -1
  163. package/dist/src/schemas/workflowPi.cjs.map +1 -1
  164. package/dist/src/schemas/workflowPi.mjs +73 -1
  165. package/dist/src/schemas/workflowPi.mjs.map +1 -1
  166. package/dist/src/services/backgroundWork/index.cjs +60 -1
  167. package/dist/src/services/backgroundWork/index.cjs.map +1 -1
  168. package/dist/src/services/backgroundWork/index.mjs +60 -1
  169. package/dist/src/services/backgroundWork/index.mjs.map +1 -1
  170. package/dist/src/services/piToolBridge/index.cjs +204 -10
  171. package/dist/src/services/piToolBridge/index.cjs.map +1 -1
  172. package/dist/src/services/piToolBridge/index.mjs +194 -10
  173. package/dist/src/services/piToolBridge/index.mjs.map +1 -1
  174. package/dist/src/services/serverRuntime/index.cjs +341 -0
  175. package/dist/src/services/serverRuntime/index.cjs.map +1 -0
  176. package/dist/src/services/serverRuntime/index.mjs +341 -0
  177. package/dist/src/services/serverRuntime/index.mjs.map +1 -0
  178. package/dist/src/services/webWorkflowCatalog/index.cjs +52 -1
  179. package/dist/src/services/webWorkflowCatalog/index.cjs.map +1 -1
  180. package/dist/src/services/webWorkflowCatalog/index.mjs +51 -1
  181. package/dist/src/services/webWorkflowCatalog/index.mjs.map +1 -1
  182. package/dist/src/services/workflowCatalogChannel/index.cjs +74 -0
  183. package/dist/src/services/workflowCatalogChannel/index.cjs.map +1 -0
  184. package/dist/src/services/workflowCatalogChannel/index.mjs +74 -0
  185. package/dist/src/services/workflowCatalogChannel/index.mjs.map +1 -0
  186. package/dist/src/services/workflowCatalogDeps/index.cjs +24 -1
  187. package/dist/src/services/workflowCatalogDeps/index.cjs.map +1 -1
  188. package/dist/src/services/workflowCatalogDeps/index.mjs +24 -1
  189. package/dist/src/services/workflowCatalogDeps/index.mjs.map +1 -1
  190. package/dist/src/services/workflowExecution/index.cjs +204 -1
  191. package/dist/src/services/workflowExecution/index.cjs.map +1 -1
  192. package/dist/src/services/workflowExecution/index.mjs +199 -1
  193. package/dist/src/services/workflowExecution/index.mjs.map +1 -1
  194. package/dist/src/services/workflowFence/index.cjs +169 -1
  195. package/dist/src/services/workflowFence/index.cjs.map +1 -1
  196. package/dist/src/services/workflowFence/index.mjs +165 -1
  197. package/dist/src/services/workflowFence/index.mjs.map +1 -1
  198. package/dist/src/services/workflowHubApi/index.cjs +415 -0
  199. package/dist/src/services/workflowHubApi/index.cjs.map +1 -0
  200. package/dist/src/services/workflowHubApi/index.mjs +411 -0
  201. package/dist/src/services/workflowHubApi/index.mjs.map +1 -0
  202. package/dist/src/services/workflowLaunchCommand/index.cjs +120 -1
  203. package/dist/src/services/workflowLaunchCommand/index.cjs.map +1 -1
  204. package/dist/src/services/workflowLaunchCommand/index.mjs +117 -1
  205. package/dist/src/services/workflowLaunchCommand/index.mjs.map +1 -1
  206. package/dist/src/services/workflowLauncher/index.cjs +180 -1
  207. package/dist/src/services/workflowLauncher/index.cjs.map +1 -1
  208. package/dist/src/services/workflowLauncher/index.mjs +176 -1
  209. package/dist/src/services/workflowLauncher/index.mjs.map +1 -1
  210. package/dist/src/services/workflowNarration/index.cjs +18 -1
  211. package/dist/src/services/workflowNarration/index.cjs.map +1 -1
  212. package/dist/src/services/workflowNarration/index.mjs +18 -1
  213. package/dist/src/services/workflowNarration/index.mjs.map +1 -1
  214. package/dist/src/services/workflowResource/index.cjs +26 -1
  215. package/dist/src/services/workflowResource/index.cjs.map +1 -1
  216. package/dist/src/services/workflowResource/index.mjs +23 -1
  217. package/dist/src/services/workflowResource/index.mjs.map +1 -1
  218. package/dist/src/services/workflowRuns/index.cjs +332 -2
  219. package/dist/src/services/workflowRuns/index.cjs.map +1 -1
  220. package/dist/src/services/workflowRuns/index.mjs +318 -2
  221. package/dist/src/services/workflowRuns/index.mjs.map +1 -1
  222. package/dist/src/services/workflowTerminal/index.cjs +68 -1
  223. package/dist/src/services/workflowTerminal/index.cjs.map +1 -1
  224. package/dist/src/services/workflowTerminal/index.mjs +68 -1
  225. package/dist/src/services/workflowTerminal/index.mjs.map +1 -1
  226. package/dist/src/services/workflowTools/index.cjs +221 -0
  227. package/dist/src/services/workflowTools/index.cjs.map +1 -0
  228. package/dist/src/services/workflowTools/index.mjs +221 -0
  229. package/dist/src/services/workflowTools/index.mjs.map +1 -0
  230. package/dist/src/services/workflowWatcher/index.cjs +77 -1
  231. package/dist/src/services/workflowWatcher/index.cjs.map +1 -1
  232. package/dist/src/services/workflowWatcher/index.mjs +73 -1
  233. package/dist/src/services/workflowWatcher/index.mjs.map +1 -1
  234. package/dist/src/services/workflowsHubChannel/index.cjs +58 -0
  235. package/dist/src/services/workflowsHubChannel/index.cjs.map +1 -0
  236. package/dist/src/services/workflowsHubChannel/index.mjs +58 -0
  237. package/dist/src/services/workflowsHubChannel/index.mjs.map +1 -0
  238. package/dist/src/tui/leader.cjs +83 -1
  239. package/dist/src/tui/leader.cjs.map +1 -1
  240. package/dist/src/tui/leader.mjs +82 -1
  241. package/dist/src/tui/leader.mjs.map +1 -1
  242. package/dist/src/tui/workflow/doomOverlay.cjs +158 -1
  243. package/dist/src/tui/workflow/doomOverlay.cjs.map +1 -1
  244. package/dist/src/tui/workflow/doomOverlay.mjs +156 -1
  245. package/dist/src/tui/workflow/doomOverlay.mjs.map +1 -1
  246. package/dist/src/tui/workflow/overlayText.cjs +82 -1
  247. package/dist/src/tui/workflow/overlayText.cjs.map +1 -1
  248. package/dist/src/tui/workflow/overlayText.mjs +77 -1
  249. package/dist/src/tui/workflow/overlayText.mjs.map +1 -1
  250. package/dist/src/tui/workflow/rendering.cjs +21 -1
  251. package/dist/src/tui/workflow/rendering.cjs.map +1 -1
  252. package/dist/src/tui/workflow/rendering.mjs +19 -1
  253. package/dist/src/tui/workflow/rendering.mjs.map +1 -1
  254. package/dist/src/tui/workflow/workflowCatalog.cjs +335 -1
  255. package/dist/src/tui/workflow/workflowCatalog.cjs.map +1 -1
  256. package/dist/src/tui/workflow/workflowCatalog.mjs +332 -1
  257. package/dist/src/tui/workflow/workflowCatalog.mjs.map +1 -1
  258. package/dist/src/tui/workflow/workflowFinishedMessage.cjs +49 -2
  259. package/dist/src/tui/workflow/workflowFinishedMessage.cjs.map +1 -1
  260. package/dist/src/tui/workflow/workflowFinishedMessage.mjs +46 -2
  261. package/dist/src/tui/workflow/workflowFinishedMessage.mjs.map +1 -1
  262. package/dist/src/tui/workflow/workflowInspector.cjs +275 -1
  263. package/dist/src/tui/workflow/workflowInspector.cjs.map +1 -1
  264. package/dist/src/tui/workflow/workflowInspector.mjs +275 -1
  265. package/dist/src/tui/workflow/workflowInspector.mjs.map +1 -1
  266. package/dist/src/tui/workflow/workflowOverlay.cjs +125 -1
  267. package/dist/src/tui/workflow/workflowOverlay.cjs.map +1 -1
  268. package/dist/src/tui/workflow/workflowOverlay.mjs +124 -1
  269. package/dist/src/tui/workflow/workflowOverlay.mjs.map +1 -1
  270. package/dist/src/tui/workflow/workflowPicker.cjs +137 -1
  271. package/dist/src/tui/workflow/workflowPicker.cjs.map +1 -1
  272. package/dist/src/tui/workflow/workflowPicker.mjs +135 -1
  273. package/dist/src/tui/workflow/workflowPicker.mjs.map +1 -1
  274. package/dist/src/tui/workflow/workflowProgressOverlay.cjs +196 -1
  275. package/dist/src/tui/workflow/workflowProgressOverlay.cjs.map +1 -1
  276. package/dist/src/tui/workflow/workflowProgressOverlay.mjs +191 -1
  277. package/dist/src/tui/workflow/workflowProgressOverlay.mjs.map +1 -1
  278. package/dist/src/tui/workflow/workflowPrompt.cjs +141 -1
  279. package/dist/src/tui/workflow/workflowPrompt.cjs.map +1 -1
  280. package/dist/src/tui/workflow/workflowPrompt.mjs +138 -1
  281. package/dist/src/tui/workflow/workflowPrompt.mjs.map +1 -1
  282. package/dist/src/tui/workflow/workflowRunPanel.cjs +94 -1
  283. package/dist/src/tui/workflow/workflowRunPanel.cjs.map +1 -1
  284. package/dist/src/tui/workflow/workflowRunPanel.mjs +93 -1
  285. package/dist/src/tui/workflow/workflowRunPanel.mjs.map +1 -1
  286. package/dist/src/tui/workflow/workflowStatusRow.cjs +19 -1
  287. package/dist/src/tui/workflow/workflowStatusRow.cjs.map +1 -1
  288. package/dist/src/tui/workflow/workflowStatusRow.mjs +19 -1
  289. package/dist/src/tui/workflow/workflowStatusRow.mjs.map +1 -1
  290. package/dist/src/tui/workflow/workflowStepMessage.cjs +31 -1
  291. package/dist/src/tui/workflow/workflowStepMessage.cjs.map +1 -1
  292. package/dist/src/tui/workflow/workflowStepMessage.mjs +30 -1
  293. package/dist/src/tui/workflow/workflowStepMessage.mjs.map +1 -1
  294. package/dist/src/tui/workflow/workflowToolRender.cjs +490 -6
  295. package/dist/src/tui/workflow/workflowToolRender.cjs.map +1 -1
  296. package/dist/src/tui/workflow/workflowToolRender.mjs +489 -6
  297. package/dist/src/tui/workflow/workflowToolRender.mjs.map +1 -1
  298. package/dist/src/tui/workflowRuntime.cjs +1932 -7
  299. package/dist/src/tui/workflowRuntime.cjs.map +1 -1
  300. package/dist/src/tui/workflowRuntime.mjs +1928 -7
  301. package/dist/src/tui/workflowRuntime.mjs.map +1 -1
  302. package/dist/src/types/apiRoutes.cjs +82 -0
  303. package/dist/src/types/apiRoutes.cjs.map +1 -0
  304. package/dist/src/types/apiRoutes.mjs +80 -0
  305. package/dist/src/types/apiRoutes.mjs.map +1 -0
  306. package/dist/src/types/webWorkflowTerminal.cjs +22 -1
  307. package/dist/src/types/webWorkflowTerminal.cjs.map +1 -1
  308. package/dist/src/types/webWorkflowTerminal.mjs +21 -1
  309. package/dist/src/types/webWorkflowTerminal.mjs.map +1 -1
  310. package/dist/src/types/webWorkflows.cjs +7 -1
  311. package/dist/src/types/webWorkflows.cjs.map +1 -1
  312. package/dist/src/types/webWorkflows.mjs +6 -1
  313. package/dist/src/types/webWorkflows.mjs.map +1 -1
  314. package/package.json +19 -18
  315. package/src/types/webWorkflowTerminal.ts +7 -6
  316. package/dist/src/controllers/serverRuntime.cjs +0 -2
  317. package/dist/src/controllers/serverRuntime.cjs.map +0 -1
  318. package/dist/src/controllers/serverRuntime.mjs +0 -2
  319. package/dist/src/controllers/serverRuntime.mjs.map +0 -1
  320. package/dist/src/controllers/workflowCatalogChannel.cjs +0 -2
  321. package/dist/src/controllers/workflowCatalogChannel.cjs.map +0 -1
  322. package/dist/src/controllers/workflowCatalogChannel.mjs +0 -2
  323. package/dist/src/controllers/workflowCatalogChannel.mjs.map +0 -1
  324. package/dist/src/controllers/workflowHubApi.cjs +0 -2
  325. package/dist/src/controllers/workflowHubApi.cjs.map +0 -1
  326. package/dist/src/controllers/workflowHubApi.mjs +0 -2
  327. package/dist/src/controllers/workflowHubApi.mjs.map +0 -1
  328. package/dist/src/controllers/workflowsHubChannel.cjs +0 -2
  329. package/dist/src/controllers/workflowsHubChannel.cjs.map +0 -1
  330. package/dist/src/controllers/workflowsHubChannel.mjs +0 -2
  331. package/dist/src/controllers/workflowsHubChannel.mjs.map +0 -1
  332. package/dist/src/tools/workflowTools.cjs +0 -5
  333. package/dist/src/tools/workflowTools.cjs.map +0 -1
  334. package/dist/src/tools/workflowTools.mjs +0 -5
  335. package/dist/src/tools/workflowTools.mjs.map +0 -1
  336. package/src/extensions/web.ts +0 -80
  337. package/src/web/api/terminalApi.ts +0 -208
  338. package/src/web/components/ArtifactsPane.tsx +0 -451
  339. package/src/web/components/LaunchWorkflowDialog.tsx +0 -259
  340. package/src/web/components/StepTerminalPanel.tsx +0 -243
  341. package/src/web/components/WorkflowCatalogDrawer.tsx +0 -229
  342. package/src/web/components/WorkflowToolMessage.tsx +0 -55
  343. package/src/web/components/WorkflowsActivitySection.tsx +0 -155
  344. package/src/web/components/WorkflowsPanel.tsx +0 -750
  345. package/src/web/lib/launchLine.ts +0 -66
  346. package/src/web/lib/runDuration.ts +0 -15
  347. package/src/web/lib/workflowActivity.ts +0 -102
  348. package/src/web/lib/workflowToolRender.ts +0 -585
  349. package/src/web/stores/catalogStore.ts +0 -123
  350. package/src/web/stores/workflowsStore.ts +0 -91
  351. package/src/web/tsconfig.json +0 -22
  352. /package/{src/web/LICENSE → LICENSE.web} +0 -0
package/LICENSE CHANGED
@@ -1,7 +1,9 @@
1
1
  Portions of this software are licensed as follows:
2
2
 
3
- * All content under the "web/" directory is licensed under the DoomPi Web
4
- License defined in "web/LICENSE": free to use, not to redistribute.
3
+ * The browser half of this package, meaning every ".web" routed file under
4
+ "src/extensions" and the "_components" and "_lib" modules colocated with
5
+ one, is licensed under the DoomPi Web License defined in "LICENSE.web":
6
+ free to use, not to redistribute.
5
7
  * All other content is licensed under the MIT license below.
6
8
 
7
9
  MIT License
package/README.md CHANGED
@@ -117,17 +117,20 @@ Maintained by [Agimon](https://agimon.ai/about).
117
117
 
118
118
  ## Web cockpit plugin
119
119
 
120
- The `src/web` directory is this package's DoomPi web cockpit plugin: the workflows panel the dock's
121
- workflows group opens in a temporary tab, its store, and its `workflow_runs` session channel,
122
- compiled into the cockpit bundle by `doompi-web`'s build.
120
+ The `.web` routed files under `src/extensions/workspaces/sessions/(frontend)` are this package's
121
+ DoomPi web cockpit plugin: the workflows panel the dock's workflows group opens in a temporary tab,
122
+ its store, and its `workflow_runs` session channel, compiled into the cockpit bundle by
123
+ `doompi-web`'s build. Each surface keeps its components in a colocated `_components` folder and its
124
+ stores and helpers in `_lib`.
123
125
  The hub-side data source ships behind the `./web-hub` subpath and reads the workflow registry
124
126
  (run.json plus progress.ndjson) exactly as the engine writes it. Both halves are declared by the
125
127
  `doompiWeb` block in package.json.
126
128
 
127
129
  ## License
128
130
 
129
- MIT, except the `src/web` directory, which is source available under the DoomPi Web License (see
130
- `src/web/LICENSE`): free to use, including commercially, but not to redistribute.
131
+ MIT, except this package's browser half (the `.web` routed files under `src/extensions` and the
132
+ `_components` and `_lib` modules colocated with one), which is source available under the DoomPi
133
+ Web License (see `LICENSE.web`): free to use, including commercially, but not to redistribute.
131
134
 
132
135
  Workflow's host entries live in `src/extensions/pi.ts`, `server.ts`, and `web.ts`.
133
136
  `src/exports` exposes reusable package APIs. Controllers declare server APIs and
@@ -1 +1,23 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));exports.__toESM=s;
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
22
+ //#endregion
23
+ exports.__toESM = __toESM;
@@ -1 +1,7 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./src/schemas/apiContracts.cjs");exports.apiContracts=e.apiContracts,exports.default=e.apiContracts;
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_apiContracts = require("./src/schemas/apiContracts.cjs");
6
+ exports.apiContracts = require_apiContracts.apiContracts;
7
+ exports.default = require_apiContracts.apiContracts;
@@ -1 +1,2 @@
1
- import{apiContracts as e}from"./src/schemas/apiContracts.mjs";export{e as apiContracts,e as default};
1
+ import { apiContracts } from "./src/schemas/apiContracts.mjs";
2
+ export { apiContracts, apiContracts as default };
@@ -1,2 +1,63 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../src/constants/workflow.cjs"),t=require("../src/services/workflowFence/index.cjs"),n=require("../src/services/workflowResource/index.cjs"),r=require("../src/tools/workflowTools.cjs"),i=require("../src/tui/leader.cjs"),a=require("../src/tui/workflow/workflowToolRender.cjs"),o=require("../src/tui/workflowRuntime.cjs");let s=require("@agimon-ai/doompi-core/pi-extension"),c=require("@agimon-ai/doompi-core/skills"),l=require("@agimon-ai/doompi-core/ui-hub");const u=(0,s.definePiExtension)(e.PACKAGE_SOURCE,({pi:u,context:d,options:f,signal:p})=>{let m=f?.environment??Object.freeze({...process.env}),h=t.isWorkflowDispatcherProcess(m),g=t.createWorkflowFence(u,p),_=!1,v,y=o.createWorkflowPiRuntime(g.pi,{...f,environment:m,cordis:d,initialMode:h||f?.initialMode,isActive:g.isCurrentInvocation,runCleanup:g.runCleanup,onModeChange(e){_=e,v?.setMode(e),f?.onModeChange?.(e)}}),b=r.createWorkflowTools(y.toolDependencies,e=>({renderCall:(t,n)=>a.renderWorkflowToolCall(e,t,n),renderResult:(t,n,r,i)=>a.renderWorkflowToolResult(e,i.args,t,{...n,isError:i.isError},r)})),x=h?t.dispatcherTools(b,t.resolveDispatcherParentSession(m),m):b;return{services:[...y.services??[],t=>{t.inject([c.DOOM_SKILL_SOURCES_SERVICE],t=>{let r=n.workflowSkillDirectory(),i=(0,c.requireDoomSkillSourcesService)(t).register({source:e.PACKAGE_SOURCE,directories:[r]});return()=>i.dispose()}),h||t.inject([l.DOOM_UI_HUB_SERVICE],e=>{let t=i.registerLeaderContribution((0,l.requireDoomUiHub)(e),_);return v=t,()=>{t.dispose(),v===t&&(v=void 0)}})}],tools:x.map(e=>(0,s.definePiTool)(g.tool({...e,async execute(...t){return await y.waitForReadiness(t[2]),e.execute(...t)}}))),commands:y.commands.map(([e,t])=>g.command(e,t)),shortcuts:y.shortcuts?.map(([e,t])=>g.shortcut(e,t)),events:g.events(y.events??{}),messageRenderers:y.messageRenderers,toolRestrictions:[...y.toolRestrictions??[],...h?[{source:`${e.PACKAGE_SOURCE}/dispatcher`,restrict:t.dispatcherToolRestriction()}]:[]],resources:h?[]:[{source:e.PACKAGE_SOURCE,moduleUrl:require("url").pathToFileURL(__filename).href,skills:[{name:`doompi-author-workflow`,description:`Author DoomPi workflow definitions, job dependencies and host-executed steps.`},{name:`doompi-use-workflow`,description:`Discover, launch, monitor, control and recover DoomPi workflow runs.`}]}],async onStop(){g.beginDisposal(),await g.runCleanup(()=>y.dispose())},async onDispose(){g.beginDisposal();try{await g.runCleanup(()=>y.dispose())}finally{g.finishDisposal()}}}});exports.default=u,exports.workflowExtension=u;
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_root_cli = require("../src/extensions/workspaces/sessions/(backend)/root.cli.cjs");
6
+ const require_workflow_launch_cli = require("../src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli.cjs");
7
+ const require_resources_discover_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli.cjs");
8
+ const require_session_start_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs");
9
+ const require_workflow_skills_cli = require("../src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli.cjs");
10
+ const require_workflow_panel_cli = require("../src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli.cjs");
11
+ const require_workflow_view_close_cli = require("../src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli.cjs");
12
+ const require_workflow_cli = require("../src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli.cjs");
13
+ const require_workflow_cli$1 = require("../src/extensions/workspaces/sessions/(backend)/tool/workflow.cli.cjs");
14
+ const require_workflow_finished_cli = require("../src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli.cjs");
15
+ const require_workflow_step_cli = require("../src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli.cjs");
16
+ let _agimon_ai_doompi_core_pi_extension = require("@agimon-ai/doompi-core/pi-extension");
17
+ let _agimon_ai_doompi_core_extension_file = require("@agimon-ai/doompi-core/extension-file");
18
+ //#region generated/pi.ts
19
+ const at = (value, context) => typeof value === "function" ? value(context) : value;
20
+ const many = (value, context) => {
21
+ const resolved = typeof value === "function" ? value(context) : value;
22
+ return Array.isArray(resolved) ? resolved : [resolved];
23
+ };
24
+ /* v8 ignore next -- generated normalization branch */
25
+ const defined = (values) => values.filter((value) => value !== void 0);
26
+ /* v8 ignore next -- generated normalization branch */
27
+ const keyed = (key, value) => value === void 0 ? {} : { [key]: value };
28
+ const extension = (0, _agimon_ai_doompi_core_pi_extension.definePiExtension)("@agimon-ai/doompi-workflow", async (context) => {
29
+ const scopeSession = await require_root_cli.default(context);
30
+ const contextSession = {
31
+ ...context,
32
+ root: scopeSession.value
33
+ };
34
+ return {
35
+ ...(0, _agimon_ai_doompi_core_extension_file.composeRootHooks)(scopeSession),
36
+ get commands() {
37
+ return defined([at(require_workflow_launch_cli.default, contextSession)]);
38
+ },
39
+ events: {
40
+ ...keyed("resources_discover", at(require_resources_discover_cli.default, contextSession)),
41
+ ...keyed("session_start", at(require_session_start_cli.default, contextSession))
42
+ },
43
+ get messageRenderers() {
44
+ return [at(require_workflow_finished_cli.default, contextSession), at(require_workflow_step_cli.default, contextSession)];
45
+ },
46
+ get resources() {
47
+ return defined([at(require_workflow_skills_cli.default, contextSession)]);
48
+ },
49
+ get shortcuts() {
50
+ return defined([at(require_workflow_panel_cli.default, contextSession), at(require_workflow_view_close_cli.default, contextSession)]);
51
+ },
52
+ get toolRestrictions() {
53
+ return [...many(require_workflow_cli.default, contextSession)];
54
+ },
55
+ ...(0, _agimon_ai_doompi_core_pi_extension.piToolContributions)("@agimon-ai/doompi-workflow", [...many(require_workflow_cli$1.default, contextSession)]),
56
+ services: [...scopeSession.services ?? []]
57
+ };
58
+ });
59
+ //#endregion
60
+ exports.default = extension;
61
+ exports.extension = extension;
62
+
2
63
  //# sourceMappingURL=pi.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi.cjs","names":["definePiExtension","PACKAGE_SOURCE","isWorkflowDispatcherProcess","createWorkflowFence","createWorkflowPiRuntime","createWorkflowTools","renderWorkflowToolCall","renderWorkflowToolResult","dispatcherTools","resolveDispatcherParentSession","DOOM_SKILL_SOURCES_SERVICE","workflowSkillDirectory","requireDoomSkillSourcesService","DOOM_UI_HUB_SERVICE","registerLeaderContribution","requireDoomUiHub","definePiTool","dispatcherToolRestriction"],"sources":["../../src/extensions/pi.ts"],"sourcesContent":["import { definePiExtension, definePiTool } from '@agimon-ai/doompi-core/pi-extension';\nimport { DOOM_SKILL_SOURCES_SERVICE, requireDoomSkillSourcesService } from '@agimon-ai/doompi-core/skills';\nimport { DOOM_UI_HUB_SERVICE, requireDoomUiHub } from '@agimon-ai/doompi-core/ui-hub';\nimport type { Context } from '@deepseek-ai/cordis';\n\nimport { PACKAGE_SOURCE } from '../constants/workflow';\nimport {\n createWorkflowFence,\n dispatcherTools,\n dispatcherToolRestriction,\n isWorkflowDispatcherProcess,\n resolveDispatcherParentSession,\n} from '../services/workflowFence';\nimport { workflowSkillDirectory } from '../services/workflowResource';\nimport { createWorkflowTools } from '../tools/workflowTools';\nimport { registerLeaderContribution } from '../tui/leader';\nimport { renderWorkflowToolCall, renderWorkflowToolResult } from '../tui/workflow/workflowToolRender';\nimport { createWorkflowPiRuntime, type WorkflowPiExtensionOptions } from '../tui/workflowRuntime';\n\nexport const workflowExtension = definePiExtension<Partial<WorkflowPiExtensionOptions>>(\n PACKAGE_SOURCE,\n ({ pi, context, options, signal }) => {\n const environment = options?.environment ?? Object.freeze({ ...process.env });\n const dispatcher = isWorkflowDispatcherProcess(environment);\n const fence = createWorkflowFence(pi, signal);\n let workflowMode = false;\n let leader: ReturnType<typeof registerLeaderContribution> | undefined;\n const runtime = createWorkflowPiRuntime(fence.pi, {\n ...options,\n environment,\n cordis: context,\n initialMode: dispatcher || options?.initialMode,\n isActive: fence.isCurrentInvocation,\n runCleanup: fence.runCleanup,\n onModeChange(enabled) {\n workflowMode = enabled;\n leader?.setMode(enabled);\n options?.onModeChange?.(enabled);\n },\n });\n const nativeTools = createWorkflowTools(runtime.toolDependencies, (name) => ({\n renderCall: (args, theme) => renderWorkflowToolCall(name, args as Record<string, unknown>, theme),\n renderResult: (result, renderOptions, theme, renderContext) =>\n renderWorkflowToolResult(\n name,\n renderContext.args as Record<string, unknown>,\n result,\n { ...renderOptions, isError: renderContext.isError },\n theme,\n ),\n }));\n const selectedTools = dispatcher\n ? dispatcherTools(nativeTools, resolveDispatcherParentSession(environment), environment)\n : nativeTools;\n return {\n services: [\n ...(runtime.services ?? []),\n (cordis: Context) => {\n cordis.inject([DOOM_SKILL_SOURCES_SERVICE], (skillContext) => {\n const directory = workflowSkillDirectory();\n const contribution = requireDoomSkillSourcesService(skillContext).register({\n source: PACKAGE_SOURCE,\n directories: [directory],\n });\n return () => contribution.dispose();\n });\n if (!dispatcher)\n cordis.inject([DOOM_UI_HUB_SERVICE], (uiContext) => {\n const contribution = registerLeaderContribution(requireDoomUiHub(uiContext), workflowMode);\n leader = contribution;\n return () => {\n contribution.dispose();\n if (leader === contribution) leader = undefined;\n };\n });\n },\n ],\n tools: selectedTools.map((tool) =>\n definePiTool(\n fence.tool({\n ...tool,\n async execute(...args) {\n await runtime.waitForReadiness(args[2]);\n return tool.execute(...args);\n },\n }),\n ),\n ),\n commands: runtime.commands.map(([name, command]) => fence.command(name, command)),\n shortcuts: runtime.shortcuts?.map(([key, shortcut]) => fence.shortcut(key, shortcut)),\n events: fence.events(runtime.events ?? {}),\n messageRenderers: runtime.messageRenderers,\n\n toolRestrictions: [\n ...(runtime.toolRestrictions ?? []),\n ...(dispatcher ? [{ source: `${PACKAGE_SOURCE}/dispatcher`, restrict: dispatcherToolRestriction() }] : []),\n ],\n resources: dispatcher\n ? []\n : [\n {\n source: PACKAGE_SOURCE,\n moduleUrl: import.meta.url,\n skills: [\n {\n name: 'doompi-author-workflow',\n description: 'Author DoomPi workflow definitions, job dependencies and host-executed steps.',\n },\n {\n name: 'doompi-use-workflow',\n description: 'Discover, launch, monitor, control and recover DoomPi workflow runs.',\n },\n ],\n },\n ],\n async onStop() {\n fence.beginDisposal();\n await fence.runCleanup(() => runtime.dispose());\n },\n async onDispose() {\n fence.beginDisposal();\n try {\n await fence.runCleanup(() => runtime.dispose());\n } finally {\n fence.finishDisposal();\n }\n },\n };\n },\n);\nexport default workflowExtension;\n"],"mappings":"2jBAmBA,MAAa,GAAA,EAAoBA,EAAAA,kBAAAA,CAC/BC,EAAAA,gBACC,CAAE,KAAI,UAAS,UAAS,YAAa,CACpC,IAAM,EAAc,GAAS,aAAe,OAAO,OAAO,CAAE,GAAG,QAAQ,GAAI,CAAC,EACtE,EAAaC,EAAAA,4BAA4B,CAAW,EACpD,EAAQC,EAAAA,oBAAoB,EAAI,CAAM,EACxC,EAAe,GACf,EACE,EAAUC,EAAAA,wBAAwB,EAAM,GAAI,CAChD,GAAG,EACH,cACA,OAAQ,EACR,YAAa,GAAc,GAAS,YACpC,SAAU,EAAM,oBAChB,WAAY,EAAM,WAClB,aAAa,EAAS,CACpB,EAAe,EACf,GAAQ,QAAQ,CAAO,EACvB,GAAS,eAAe,CAAO,CACjC,CACF,CAAC,EACK,EAAcC,EAAAA,oBAAoB,EAAQ,iBAAmB,IAAU,CAC3E,YAAa,EAAM,IAAUC,EAAAA,uBAAuB,EAAM,EAAiC,CAAK,EAChG,cAAe,EAAQ,EAAe,EAAO,IAC3CC,EAAAA,yBACE,EACA,EAAc,KACd,EACA,CAAE,GAAG,EAAe,QAAS,EAAc,OAAQ,EACnD,CACF,CACJ,EAAE,EACI,EAAgB,EAClBC,EAAAA,gBAAgB,EAAaC,EAAAA,+BAA+B,CAAW,EAAG,CAAW,EACrF,EACJ,MAAO,CACL,SAAU,CACR,GAAI,EAAQ,UAAY,CAAC,EACxB,GAAoB,CACnB,EAAO,OAAO,CAACC,EAAAA,0BAA0B,EAAI,GAAiB,CAC5D,IAAM,EAAYC,EAAAA,uBAAuB,EACnC,GAAA,EAAeC,EAAAA,+BAAAA,CAA+B,CAAY,CAAC,CAAC,SAAS,CACzE,OAAQX,EAAAA,eACR,YAAa,CAAC,CAAS,CACzB,CAAC,EACD,UAAa,EAAa,QAAQ,CACpC,CAAC,EACI,GACH,EAAO,OAAO,CAACY,EAAAA,mBAAmB,EAAI,GAAc,CAClD,IAAM,EAAeC,EAAAA,4BAAAA,EAA2BC,EAAAA,iBAAAA,CAAiB,CAAS,EAAG,CAAY,EAEzF,MADA,GAAS,MACI,CACX,EAAa,QAAQ,EACjB,IAAW,IAAc,EAAS,IAAA,GACxC,CACF,CAAC,CACL,CACF,EACA,MAAO,EAAc,IAAK,IAAA,EACxBC,EAAAA,aAAAA,CACE,EAAM,KAAK,CACT,GAAG,EACH,MAAM,QAAQ,GAAG,EAAM,CAErB,OADA,MAAM,EAAQ,iBAAiB,EAAK,EAAE,EAC/B,EAAK,QAAQ,GAAG,CAAI,CAC7B,CACF,CAAC,CACH,CACF,EACA,SAAU,EAAQ,SAAS,KAAK,CAAC,EAAM,KAAa,EAAM,QAAQ,EAAM,CAAO,CAAC,EAChF,UAAW,EAAQ,WAAW,KAAK,CAAC,EAAK,KAAc,EAAM,SAAS,EAAK,CAAQ,CAAC,EACpF,OAAQ,EAAM,OAAO,EAAQ,QAAU,CAAC,CAAC,EACzC,iBAAkB,EAAQ,iBAE1B,iBAAkB,CAChB,GAAI,EAAQ,kBAAoB,CAAC,EACjC,GAAI,EAAa,CAAC,CAAE,OAAQ,GAAGf,EAAAA,eAAe,aAAc,SAAUgB,EAAAA,0BAA0B,CAAE,CAAC,EAAI,CAAC,CAC1G,EACA,UAAW,EACP,CAAC,EACD,CACE,CACE,OAAQhB,EAAAA,eACR,UAAA,QAAA,KAAA,CAAA,CAAA,cAAA,UAAA,CAAA,CAAA,KACA,OAAQ,CACN,CACE,KAAM,yBACN,YAAa,+EACf,EACA,CACE,KAAM,sBACN,YAAa,sEACf,CACF,CACF,CACF,EACJ,MAAM,QAAS,CACb,EAAM,cAAc,EACpB,MAAM,EAAM,eAAiB,EAAQ,QAAQ,CAAC,CAChD,EACA,MAAM,WAAY,CAChB,EAAM,cAAc,EACpB,GAAI,CACF,MAAM,EAAM,eAAiB,EAAQ,QAAQ,CAAC,CAChD,QAAU,CACR,EAAM,eAAe,CACvB,CACF,CACF,CACF,CACF"}
1
+ {"version":3,"file":"pi.cjs","names":["definePiExtension","rootSession","composeRootHooks","commandWorkflowLaunch","hookResourcesDiscover","hookSessionStart","messageWorkflowFinished","messageWorkflowStep","resourceWorkflowSkills","shortcutWorkflowPanel","shortcutWorkflowViewClose","toolRestrictionWorkflow","piToolContributions","toolWorkflow"],"sources":["../../generated/pi.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { definePiExtension, piToolContributions, type PiPluginContext, type PiPluginContributions } from '@agimon-ai/doompi-core/pi-extension';\nimport { composeRootHooks } from '@agimon-ai/doompi-core/extension-file';\n\nimport rootSession from '../src/extensions/workspaces/sessions/(backend)/root.cli';\nimport commandWorkflowLaunch from '../src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli';\nimport hookResourcesDiscover from '../src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli';\nimport hookSessionStart from '../src/extensions/workspaces/sessions/(backend)/hook/session-start.cli';\nimport resourceWorkflowSkills from '../src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli';\nimport shortcutWorkflowPanel from '../src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli';\nimport shortcutWorkflowViewClose from '../src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli';\nimport toolRestrictionWorkflow from '../src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli';\nimport toolWorkflow from '../src/extensions/workspaces/sessions/(backend)/tool/workflow.cli';\nimport messageWorkflowFinished from '../src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli';\nimport messageWorkflowStep from '../src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli';\n\ntype OptionsOf<T> = T extends (context: PiPluginContext<infer Options>) => unknown ? Options : never;\ntype InferredOptions = Exclude<OptionsOf<typeof rootSession> | OptionsOf<typeof commandWorkflowLaunch> | OptionsOf<typeof hookResourcesDiscover> | OptionsOf<typeof hookSessionStart> | OptionsOf<typeof resourceWorkflowSkills> | OptionsOf<typeof shortcutWorkflowPanel> | OptionsOf<typeof shortcutWorkflowViewClose> | OptionsOf<typeof toolRestrictionWorkflow> | OptionsOf<typeof toolWorkflow> | OptionsOf<typeof messageWorkflowFinished> | OptionsOf<typeof messageWorkflowStep>, undefined>;\ntype Intersect<Union> =\n (Union extends unknown ? (value: Union) => void : never) extends (value: infer Value) => void ? Value : never;\ntype ExtensionOptions = [InferredOptions] extends [never] ? undefined : Intersect<InferredOptions>;\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\ntype ManyFactory<T, C> = (context: C) => T | readonly T[];\nconst many = <T, C>(value: T | readonly T[] | ManyFactory<T, C>, context: C): readonly T[] => {\n const resolved = typeof value === 'function' ? (value as ManyFactory<T, C>)(context) : value;\n return Array.isArray(resolved) ? resolved : [resolved as T];\n};\n/* v8 ignore next -- generated normalization branch */\nconst defined = <T>(values: readonly (T | undefined)[]): T[] =>\n values.filter((value): value is T => value !== undefined);\n/* v8 ignore next -- generated normalization branch */\nconst keyed = <T>(key: string, value: T | undefined): Record<string, T> =>\n value === undefined ? {} : { [key]: value };\n\nexport const extension = definePiExtension<ExtensionOptions>('@agimon-ai/doompi-workflow', async (context) => {\n const scopeSession = await rootSession(context);\n const contextSession = { ...context, root: scopeSession.value };\n return {\n ...composeRootHooks(scopeSession),\n get commands(): PiPluginContributions['commands'] { return defined([at(commandWorkflowLaunch, contextSession)]); },\n events: {\n ...keyed('resources_discover', at(hookResourcesDiscover, contextSession) as NonNullable<PiPluginContributions['events']>['resources_discover']),\n ...keyed('session_start', at(hookSessionStart, contextSession) as NonNullable<PiPluginContributions['events']>['session_start']),\n },\n get messageRenderers(): PiPluginContributions['messageRenderers'] { return [at(messageWorkflowFinished, contextSession), at(messageWorkflowStep, contextSession)]; },\n get resources(): PiPluginContributions['resources'] { return defined([at(resourceWorkflowSkills, contextSession)]); },\n get shortcuts(): PiPluginContributions['shortcuts'] { return defined([at(shortcutWorkflowPanel, contextSession), at(shortcutWorkflowViewClose, contextSession)]); },\n get toolRestrictions(): PiPluginContributions['toolRestrictions'] { return [...many(toolRestrictionWorkflow, contextSession)]; },\n ...piToolContributions('@agimon-ai/doompi-workflow', [...many(toolWorkflow, contextSession)]),\n services: [...(scopeSession.services ?? [])],\n };\n});\n\nexport default extension;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAuBA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AAEpE,MAAM,QAAc,OAA6C,YAA6B;CAC5F,MAAM,WAAW,OAAO,UAAU,aAAc,MAA4B,OAAO,IAAI;CACvF,OAAO,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAa;AAC5D;;AAEA,MAAM,WAAc,WAClB,OAAO,QAAQ,UAAsB,UAAU,KAAA,CAAS;;AAE1D,MAAM,SAAY,KAAa,UAC7B,UAAU,KAAA,IAAY,CAAC,IAAI,GAAG,MAAM,MAAM;AAE5C,MAAa,aAAA,GAAYA,oCAAAA,kBAAAA,CAAoC,8BAA8B,OAAO,YAAY;CAC5G,MAAM,eAAe,MAAMC,iBAAAA,QAAY,OAAO;CAC9C,MAAM,iBAAiB;EAAE,GAAG;EAAS,MAAM,aAAa;CAAM;CAC9D,OAAO;EACL,IAAA,GAAGC,sCAAAA,iBAAAA,CAAiB,YAAY;EAChC,IAAI,WAA8C;GAAE,OAAO,QAAQ,CAAC,GAAGC,4BAAAA,SAAuB,cAAc,CAAC,CAAC;EAAG;EACjH,QAAQ;GACN,GAAG,MAAM,sBAAsB,GAAGC,+BAAAA,SAAuB,cAAc,CAAuE;GAC9I,GAAG,MAAM,iBAAiB,GAAGC,0BAAAA,SAAkB,cAAc,CAAkE;EACjI;EACA,IAAI,mBAA8D;GAAE,OAAO,CAAC,GAAGC,8BAAAA,SAAyB,cAAc,GAAG,GAAGC,0BAAAA,SAAqB,cAAc,CAAC;EAAG;EACnK,IAAI,YAAgD;GAAE,OAAO,QAAQ,CAAC,GAAGC,4BAAAA,SAAwB,cAAc,CAAC,CAAC;EAAG;EACpH,IAAI,YAAgD;GAAE,OAAO,QAAQ,CAAC,GAAGC,2BAAAA,SAAuB,cAAc,GAAG,GAAGC,gCAAAA,SAA2B,cAAc,CAAC,CAAC;EAAG;EAClK,IAAI,mBAA8D;GAAE,OAAO,CAAC,GAAG,KAAKC,qBAAAA,SAAyB,cAAc,CAAC;EAAG;EAC/H,IAAA,GAAGC,oCAAAA,oBAAAA,CAAoB,8BAA8B,CAAC,GAAG,KAAKC,uBAAAA,SAAc,cAAc,CAAC,CAAC;EAC5F,UAAU,CAAC,GAAI,aAAa,YAAY,CAAC,CAAE;CAC7C;AACF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { WorkflowPiExtensionOptions } from "../src/tui/workflowRuntime.cjs";
2
- //#region src/extensions/pi.d.ts
3
- export declare const workflowExtension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<Partial<WorkflowPiExtensionOptions>>;
2
+ //#region generated/pi.d.ts
3
+ export declare const extension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<Partial<WorkflowPiExtensionOptions>>;
4
4
  //#endregion
5
- export { workflowExtension as default };
5
+ export { extension as default };
6
6
  //# sourceMappingURL=pi.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi.d.cts","names":[],"sources":["../../src/extensions/pi.ts"],"mappings":";;qBAmBa,yEAAiB,mBAAA,QAAA"}
1
+ {"version":3,"file":"pi.d.cts","names":[],"sources":["../../generated/pi.ts"],"mappings":";;qBAqCa,iEAAS,mBAAA,QAAT"}
@@ -1,6 +1,6 @@
1
1
  import { WorkflowPiExtensionOptions } from "../src/tui/workflowRuntime.mjs";
2
- //#region src/extensions/pi.d.ts
3
- export declare const workflowExtension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<Partial<WorkflowPiExtensionOptions>>;
2
+ //#region generated/pi.d.ts
3
+ export declare const extension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<Partial<WorkflowPiExtensionOptions>>;
4
4
  //#endregion
5
- export { workflowExtension as default };
5
+ export { extension as default };
6
6
  //# sourceMappingURL=pi.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi.d.mts","names":[],"sources":["../../src/extensions/pi.ts"],"mappings":";;qBAmBa,yEAAiB,mBAAA,QAAA"}
1
+ {"version":3,"file":"pi.d.mts","names":[],"sources":["../../generated/pi.ts"],"mappings":";;qBAqCa,iEAAS,mBAAA,QAAT"}
@@ -1,2 +1,58 @@
1
- import{PACKAGE_SOURCE as e}from"../src/constants/workflow.mjs";import{createWorkflowFence as t,dispatcherToolRestriction as n,dispatcherTools as r,isWorkflowDispatcherProcess as i,resolveDispatcherParentSession as a}from"../src/services/workflowFence/index.mjs";import{workflowSkillDirectory as o}from"../src/services/workflowResource/index.mjs";import{createWorkflowTools as s}from"../src/tools/workflowTools.mjs";import{registerLeaderContribution as c}from"../src/tui/leader.mjs";import{renderWorkflowToolCall as l,renderWorkflowToolResult as u}from"../src/tui/workflow/workflowToolRender.mjs";import{createWorkflowPiRuntime as d}from"../src/tui/workflowRuntime.mjs";import{definePiExtension as f,definePiTool as p}from"@agimon-ai/doompi-core/pi-extension";import{DOOM_SKILL_SOURCES_SERVICE as m,requireDoomSkillSourcesService as h}from"@agimon-ai/doompi-core/skills";import{DOOM_UI_HUB_SERVICE as g,requireDoomUiHub as _}from"@agimon-ai/doompi-core/ui-hub";const v=f(e,({pi:f,context:v,options:y,signal:b})=>{let x=y?.environment??Object.freeze({...process.env}),S=i(x),C=t(f,b),w=!1,T,E=d(C.pi,{...y,environment:x,cordis:v,initialMode:S||y?.initialMode,isActive:C.isCurrentInvocation,runCleanup:C.runCleanup,onModeChange(e){w=e,T?.setMode(e),y?.onModeChange?.(e)}}),D=s(E.toolDependencies,e=>({renderCall:(t,n)=>l(e,t,n),renderResult:(t,n,r,i)=>u(e,i.args,t,{...n,isError:i.isError},r)})),O=S?r(D,a(x),x):D;return{services:[...E.services??[],t=>{t.inject([m],t=>{let n=o(),r=h(t).register({source:e,directories:[n]});return()=>r.dispose()}),S||t.inject([g],e=>{let t=c(_(e),w);return T=t,()=>{t.dispose(),T===t&&(T=void 0)}})}],tools:O.map(e=>p(C.tool({...e,async execute(...t){return await E.waitForReadiness(t[2]),e.execute(...t)}}))),commands:E.commands.map(([e,t])=>C.command(e,t)),shortcuts:E.shortcuts?.map(([e,t])=>C.shortcut(e,t)),events:C.events(E.events??{}),messageRenderers:E.messageRenderers,toolRestrictions:[...E.toolRestrictions??[],...S?[{source:`${e}/dispatcher`,restrict:n()}]:[]],resources:S?[]:[{source:e,moduleUrl:import.meta.url,skills:[{name:`doompi-author-workflow`,description:`Author DoomPi workflow definitions, job dependencies and host-executed steps.`},{name:`doompi-use-workflow`,description:`Discover, launch, monitor, control and recover DoomPi workflow runs.`}]}],async onStop(){C.beginDisposal(),await C.runCleanup(()=>E.dispose())},async onDispose(){C.beginDisposal();try{await C.runCleanup(()=>E.dispose())}finally{C.finishDisposal()}}}});export{v as default,v as workflowExtension};
1
+ import root_cli_default from "../src/extensions/workspaces/sessions/(backend)/root.cli.mjs";
2
+ import workflow_launch_cli_default from "../src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli.mjs";
3
+ import resources_discover_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli.mjs";
4
+ import session_start_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs";
5
+ import workflow_skills_cli_default from "../src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli.mjs";
6
+ import workflow_panel_cli_default from "../src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli.mjs";
7
+ import workflow_view_close_cli_default from "../src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli.mjs";
8
+ import workflow_cli_default from "../src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli.mjs";
9
+ import workflow_cli_default$1 from "../src/extensions/workspaces/sessions/(backend)/tool/workflow.cli.mjs";
10
+ import workflow_finished_cli_default from "../src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli.mjs";
11
+ import workflow_step_cli_default from "../src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli.mjs";
12
+ import { definePiExtension, piToolContributions } from "@agimon-ai/doompi-core/pi-extension";
13
+ import { composeRootHooks } from "@agimon-ai/doompi-core/extension-file";
14
+ //#region generated/pi.ts
15
+ const at = (value, context) => typeof value === "function" ? value(context) : value;
16
+ const many = (value, context) => {
17
+ const resolved = typeof value === "function" ? value(context) : value;
18
+ return Array.isArray(resolved) ? resolved : [resolved];
19
+ };
20
+ /* v8 ignore next -- generated normalization branch */
21
+ const defined = (values) => values.filter((value) => value !== void 0);
22
+ /* v8 ignore next -- generated normalization branch */
23
+ const keyed = (key, value) => value === void 0 ? {} : { [key]: value };
24
+ const extension = definePiExtension("@agimon-ai/doompi-workflow", async (context) => {
25
+ const scopeSession = await root_cli_default(context);
26
+ const contextSession = {
27
+ ...context,
28
+ root: scopeSession.value
29
+ };
30
+ return {
31
+ ...composeRootHooks(scopeSession),
32
+ get commands() {
33
+ return defined([at(workflow_launch_cli_default, contextSession)]);
34
+ },
35
+ events: {
36
+ ...keyed("resources_discover", at(resources_discover_cli_default, contextSession)),
37
+ ...keyed("session_start", at(session_start_cli_default, contextSession))
38
+ },
39
+ get messageRenderers() {
40
+ return [at(workflow_finished_cli_default, contextSession), at(workflow_step_cli_default, contextSession)];
41
+ },
42
+ get resources() {
43
+ return defined([at(workflow_skills_cli_default, contextSession)]);
44
+ },
45
+ get shortcuts() {
46
+ return defined([at(workflow_panel_cli_default, contextSession), at(workflow_view_close_cli_default, contextSession)]);
47
+ },
48
+ get toolRestrictions() {
49
+ return [...many(workflow_cli_default, contextSession)];
50
+ },
51
+ ...piToolContributions("@agimon-ai/doompi-workflow", [...many(workflow_cli_default$1, contextSession)]),
52
+ services: [...scopeSession.services ?? []]
53
+ };
54
+ });
55
+ //#endregion
56
+ export { extension as default, extension };
57
+
2
58
  //# sourceMappingURL=pi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi.mjs","names":[],"sources":["../../src/extensions/pi.ts"],"sourcesContent":["import { definePiExtension, definePiTool } from '@agimon-ai/doompi-core/pi-extension';\nimport { DOOM_SKILL_SOURCES_SERVICE, requireDoomSkillSourcesService } from '@agimon-ai/doompi-core/skills';\nimport { DOOM_UI_HUB_SERVICE, requireDoomUiHub } from '@agimon-ai/doompi-core/ui-hub';\nimport type { Context } from '@deepseek-ai/cordis';\n\nimport { PACKAGE_SOURCE } from '../constants/workflow';\nimport {\n createWorkflowFence,\n dispatcherTools,\n dispatcherToolRestriction,\n isWorkflowDispatcherProcess,\n resolveDispatcherParentSession,\n} from '../services/workflowFence';\nimport { workflowSkillDirectory } from '../services/workflowResource';\nimport { createWorkflowTools } from '../tools/workflowTools';\nimport { registerLeaderContribution } from '../tui/leader';\nimport { renderWorkflowToolCall, renderWorkflowToolResult } from '../tui/workflow/workflowToolRender';\nimport { createWorkflowPiRuntime, type WorkflowPiExtensionOptions } from '../tui/workflowRuntime';\n\nexport const workflowExtension = definePiExtension<Partial<WorkflowPiExtensionOptions>>(\n PACKAGE_SOURCE,\n ({ pi, context, options, signal }) => {\n const environment = options?.environment ?? Object.freeze({ ...process.env });\n const dispatcher = isWorkflowDispatcherProcess(environment);\n const fence = createWorkflowFence(pi, signal);\n let workflowMode = false;\n let leader: ReturnType<typeof registerLeaderContribution> | undefined;\n const runtime = createWorkflowPiRuntime(fence.pi, {\n ...options,\n environment,\n cordis: context,\n initialMode: dispatcher || options?.initialMode,\n isActive: fence.isCurrentInvocation,\n runCleanup: fence.runCleanup,\n onModeChange(enabled) {\n workflowMode = enabled;\n leader?.setMode(enabled);\n options?.onModeChange?.(enabled);\n },\n });\n const nativeTools = createWorkflowTools(runtime.toolDependencies, (name) => ({\n renderCall: (args, theme) => renderWorkflowToolCall(name, args as Record<string, unknown>, theme),\n renderResult: (result, renderOptions, theme, renderContext) =>\n renderWorkflowToolResult(\n name,\n renderContext.args as Record<string, unknown>,\n result,\n { ...renderOptions, isError: renderContext.isError },\n theme,\n ),\n }));\n const selectedTools = dispatcher\n ? dispatcherTools(nativeTools, resolveDispatcherParentSession(environment), environment)\n : nativeTools;\n return {\n services: [\n ...(runtime.services ?? []),\n (cordis: Context) => {\n cordis.inject([DOOM_SKILL_SOURCES_SERVICE], (skillContext) => {\n const directory = workflowSkillDirectory();\n const contribution = requireDoomSkillSourcesService(skillContext).register({\n source: PACKAGE_SOURCE,\n directories: [directory],\n });\n return () => contribution.dispose();\n });\n if (!dispatcher)\n cordis.inject([DOOM_UI_HUB_SERVICE], (uiContext) => {\n const contribution = registerLeaderContribution(requireDoomUiHub(uiContext), workflowMode);\n leader = contribution;\n return () => {\n contribution.dispose();\n if (leader === contribution) leader = undefined;\n };\n });\n },\n ],\n tools: selectedTools.map((tool) =>\n definePiTool(\n fence.tool({\n ...tool,\n async execute(...args) {\n await runtime.waitForReadiness(args[2]);\n return tool.execute(...args);\n },\n }),\n ),\n ),\n commands: runtime.commands.map(([name, command]) => fence.command(name, command)),\n shortcuts: runtime.shortcuts?.map(([key, shortcut]) => fence.shortcut(key, shortcut)),\n events: fence.events(runtime.events ?? {}),\n messageRenderers: runtime.messageRenderers,\n\n toolRestrictions: [\n ...(runtime.toolRestrictions ?? []),\n ...(dispatcher ? [{ source: `${PACKAGE_SOURCE}/dispatcher`, restrict: dispatcherToolRestriction() }] : []),\n ],\n resources: dispatcher\n ? []\n : [\n {\n source: PACKAGE_SOURCE,\n moduleUrl: import.meta.url,\n skills: [\n {\n name: 'doompi-author-workflow',\n description: 'Author DoomPi workflow definitions, job dependencies and host-executed steps.',\n },\n {\n name: 'doompi-use-workflow',\n description: 'Discover, launch, monitor, control and recover DoomPi workflow runs.',\n },\n ],\n },\n ],\n async onStop() {\n fence.beginDisposal();\n await fence.runCleanup(() => runtime.dispose());\n },\n async onDispose() {\n fence.beginDisposal();\n try {\n await fence.runCleanup(() => runtime.dispose());\n } finally {\n fence.finishDisposal();\n }\n },\n };\n },\n);\nexport default workflowExtension;\n"],"mappings":"g8BAmBA,MAAa,EAAoB,EAC/B,GACC,CAAE,KAAI,UAAS,UAAS,YAAa,CACpC,IAAM,EAAc,GAAS,aAAe,OAAO,OAAO,CAAE,GAAG,QAAQ,GAAI,CAAC,EACtE,EAAa,EAA4B,CAAW,EACpD,EAAQ,EAAoB,EAAI,CAAM,EACxC,EAAe,GACf,EACE,EAAU,EAAwB,EAAM,GAAI,CAChD,GAAG,EACH,cACA,OAAQ,EACR,YAAa,GAAc,GAAS,YACpC,SAAU,EAAM,oBAChB,WAAY,EAAM,WAClB,aAAa,EAAS,CACpB,EAAe,EACf,GAAQ,QAAQ,CAAO,EACvB,GAAS,eAAe,CAAO,CACjC,CACF,CAAC,EACK,EAAc,EAAoB,EAAQ,iBAAmB,IAAU,CAC3E,YAAa,EAAM,IAAU,EAAuB,EAAM,EAAiC,CAAK,EAChG,cAAe,EAAQ,EAAe,EAAO,IAC3C,EACE,EACA,EAAc,KACd,EACA,CAAE,GAAG,EAAe,QAAS,EAAc,OAAQ,EACnD,CACF,CACJ,EAAE,EACI,EAAgB,EAClB,EAAgB,EAAa,EAA+B,CAAW,EAAG,CAAW,EACrF,EACJ,MAAO,CACL,SAAU,CACR,GAAI,EAAQ,UAAY,CAAC,EACxB,GAAoB,CACnB,EAAO,OAAO,CAAC,CAA0B,EAAI,GAAiB,CAC5D,IAAM,EAAY,EAAuB,EACnC,EAAe,EAA+B,CAAY,CAAC,CAAC,SAAS,CACzE,OAAQ,EACR,YAAa,CAAC,CAAS,CACzB,CAAC,EACD,UAAa,EAAa,QAAQ,CACpC,CAAC,EACI,GACH,EAAO,OAAO,CAAC,CAAmB,EAAI,GAAc,CAClD,IAAM,EAAe,EAA2B,EAAiB,CAAS,EAAG,CAAY,EAEzF,MADA,GAAS,MACI,CACX,EAAa,QAAQ,EACjB,IAAW,IAAc,EAAS,IAAA,GACxC,CACF,CAAC,CACL,CACF,EACA,MAAO,EAAc,IAAK,GACxB,EACE,EAAM,KAAK,CACT,GAAG,EACH,MAAM,QAAQ,GAAG,EAAM,CAErB,OADA,MAAM,EAAQ,iBAAiB,EAAK,EAAE,EAC/B,EAAK,QAAQ,GAAG,CAAI,CAC7B,CACF,CAAC,CACH,CACF,EACA,SAAU,EAAQ,SAAS,KAAK,CAAC,EAAM,KAAa,EAAM,QAAQ,EAAM,CAAO,CAAC,EAChF,UAAW,EAAQ,WAAW,KAAK,CAAC,EAAK,KAAc,EAAM,SAAS,EAAK,CAAQ,CAAC,EACpF,OAAQ,EAAM,OAAO,EAAQ,QAAU,CAAC,CAAC,EACzC,iBAAkB,EAAQ,iBAE1B,iBAAkB,CAChB,GAAI,EAAQ,kBAAoB,CAAC,EACjC,GAAI,EAAa,CAAC,CAAE,OAAQ,GAAG,EAAe,aAAc,SAAU,EAA0B,CAAE,CAAC,EAAI,CAAC,CAC1G,EACA,UAAW,EACP,CAAC,EACD,CACE,CACE,OAAQ,EACR,UAAW,YAAY,IACvB,OAAQ,CACN,CACE,KAAM,yBACN,YAAa,+EACf,EACA,CACE,KAAM,sBACN,YAAa,sEACf,CACF,CACF,CACF,EACJ,MAAM,QAAS,CACb,EAAM,cAAc,EACpB,MAAM,EAAM,eAAiB,EAAQ,QAAQ,CAAC,CAChD,EACA,MAAM,WAAY,CAChB,EAAM,cAAc,EACpB,GAAI,CACF,MAAM,EAAM,eAAiB,EAAQ,QAAQ,CAAC,CAChD,QAAU,CACR,EAAM,eAAe,CACvB,CACF,CACF,CACF,CACF"}
1
+ {"version":3,"file":"pi.mjs","names":["rootSession","commandWorkflowLaunch","hookResourcesDiscover","hookSessionStart","messageWorkflowFinished","messageWorkflowStep","resourceWorkflowSkills","shortcutWorkflowPanel","shortcutWorkflowViewClose","toolRestrictionWorkflow","toolWorkflow"],"sources":["../../generated/pi.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { definePiExtension, piToolContributions, type PiPluginContext, type PiPluginContributions } from '@agimon-ai/doompi-core/pi-extension';\nimport { composeRootHooks } from '@agimon-ai/doompi-core/extension-file';\n\nimport rootSession from '../src/extensions/workspaces/sessions/(backend)/root.cli';\nimport commandWorkflowLaunch from '../src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli';\nimport hookResourcesDiscover from '../src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli';\nimport hookSessionStart from '../src/extensions/workspaces/sessions/(backend)/hook/session-start.cli';\nimport resourceWorkflowSkills from '../src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli';\nimport shortcutWorkflowPanel from '../src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli';\nimport shortcutWorkflowViewClose from '../src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli';\nimport toolRestrictionWorkflow from '../src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli';\nimport toolWorkflow from '../src/extensions/workspaces/sessions/(backend)/tool/workflow.cli';\nimport messageWorkflowFinished from '../src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli';\nimport messageWorkflowStep from '../src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli';\n\ntype OptionsOf<T> = T extends (context: PiPluginContext<infer Options>) => unknown ? Options : never;\ntype InferredOptions = Exclude<OptionsOf<typeof rootSession> | OptionsOf<typeof commandWorkflowLaunch> | OptionsOf<typeof hookResourcesDiscover> | OptionsOf<typeof hookSessionStart> | OptionsOf<typeof resourceWorkflowSkills> | OptionsOf<typeof shortcutWorkflowPanel> | OptionsOf<typeof shortcutWorkflowViewClose> | OptionsOf<typeof toolRestrictionWorkflow> | OptionsOf<typeof toolWorkflow> | OptionsOf<typeof messageWorkflowFinished> | OptionsOf<typeof messageWorkflowStep>, undefined>;\ntype Intersect<Union> =\n (Union extends unknown ? (value: Union) => void : never) extends (value: infer Value) => void ? Value : never;\ntype ExtensionOptions = [InferredOptions] extends [never] ? undefined : Intersect<InferredOptions>;\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\ntype ManyFactory<T, C> = (context: C) => T | readonly T[];\nconst many = <T, C>(value: T | readonly T[] | ManyFactory<T, C>, context: C): readonly T[] => {\n const resolved = typeof value === 'function' ? (value as ManyFactory<T, C>)(context) : value;\n return Array.isArray(resolved) ? resolved : [resolved as T];\n};\n/* v8 ignore next -- generated normalization branch */\nconst defined = <T>(values: readonly (T | undefined)[]): T[] =>\n values.filter((value): value is T => value !== undefined);\n/* v8 ignore next -- generated normalization branch */\nconst keyed = <T>(key: string, value: T | undefined): Record<string, T> =>\n value === undefined ? {} : { [key]: value };\n\nexport const extension = definePiExtension<ExtensionOptions>('@agimon-ai/doompi-workflow', async (context) => {\n const scopeSession = await rootSession(context);\n const contextSession = { ...context, root: scopeSession.value };\n return {\n ...composeRootHooks(scopeSession),\n get commands(): PiPluginContributions['commands'] { return defined([at(commandWorkflowLaunch, contextSession)]); },\n events: {\n ...keyed('resources_discover', at(hookResourcesDiscover, contextSession) as NonNullable<PiPluginContributions['events']>['resources_discover']),\n ...keyed('session_start', at(hookSessionStart, contextSession) as NonNullable<PiPluginContributions['events']>['session_start']),\n },\n get messageRenderers(): PiPluginContributions['messageRenderers'] { return [at(messageWorkflowFinished, contextSession), at(messageWorkflowStep, contextSession)]; },\n get resources(): PiPluginContributions['resources'] { return defined([at(resourceWorkflowSkills, contextSession)]); },\n get shortcuts(): PiPluginContributions['shortcuts'] { return defined([at(shortcutWorkflowPanel, contextSession), at(shortcutWorkflowViewClose, contextSession)]); },\n get toolRestrictions(): PiPluginContributions['toolRestrictions'] { return [...many(toolRestrictionWorkflow, contextSession)]; },\n ...piToolContributions('@agimon-ai/doompi-workflow', [...many(toolWorkflow, contextSession)]),\n services: [...(scopeSession.services ?? [])],\n };\n});\n\nexport default extension;\n"],"mappings":";;;;;;;;;;;;;;AAuBA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AAEpE,MAAM,QAAc,OAA6C,YAA6B;CAC5F,MAAM,WAAW,OAAO,UAAU,aAAc,MAA4B,OAAO,IAAI;CACvF,OAAO,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAa;AAC5D;;AAEA,MAAM,WAAc,WAClB,OAAO,QAAQ,UAAsB,UAAU,KAAA,CAAS;;AAE1D,MAAM,SAAY,KAAa,UAC7B,UAAU,KAAA,IAAY,CAAC,IAAI,GAAG,MAAM,MAAM;AAE5C,MAAa,YAAY,kBAAoC,8BAA8B,OAAO,YAAY;CAC5G,MAAM,eAAe,MAAMA,iBAAY,OAAO;CAC9C,MAAM,iBAAiB;EAAE,GAAG;EAAS,MAAM,aAAa;CAAM;CAC9D,OAAO;EACL,GAAG,iBAAiB,YAAY;EAChC,IAAI,WAA8C;GAAE,OAAO,QAAQ,CAAC,GAAGC,6BAAuB,cAAc,CAAC,CAAC;EAAG;EACjH,QAAQ;GACN,GAAG,MAAM,sBAAsB,GAAGC,gCAAuB,cAAc,CAAuE;GAC9I,GAAG,MAAM,iBAAiB,GAAGC,2BAAkB,cAAc,CAAkE;EACjI;EACA,IAAI,mBAA8D;GAAE,OAAO,CAAC,GAAGC,+BAAyB,cAAc,GAAG,GAAGC,2BAAqB,cAAc,CAAC;EAAG;EACnK,IAAI,YAAgD;GAAE,OAAO,QAAQ,CAAC,GAAGC,6BAAwB,cAAc,CAAC,CAAC;EAAG;EACpH,IAAI,YAAgD;GAAE,OAAO,QAAQ,CAAC,GAAGC,4BAAuB,cAAc,GAAG,GAAGC,iCAA2B,cAAc,CAAC,CAAC;EAAG;EAClK,IAAI,mBAA8D;GAAE,OAAO,CAAC,GAAG,KAAKC,sBAAyB,cAAc,CAAC;EAAG;EAC/H,GAAG,oBAAoB,8BAA8B,CAAC,GAAG,KAAKC,wBAAc,cAAc,CAAC,CAAC;EAC5F,UAAU,CAAC,GAAI,aAAa,YAAY,CAAC,CAAE;CAC7C;AACF,CAAC"}
@@ -1,2 +1,96 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../src/constants/workflow.cjs"),t=require("../src/controllers/serverRuntime.cjs"),n=require("../src/controllers/workflowCatalogChannel.cjs"),r=require("../src/controllers/workflowHubApi.cjs"),i=require("../src/controllers/workflowsHubChannel.cjs"),a=(0,require("@agimon-ai/doompi-core/server-facet").defineServerPlugin)({name:e.PACKAGE_SOURCE,global:{channels:[i.createWorkflowsChannel,n.createWorkflowCatalogChannel],api:[r.api]},workspace:{channels:[i.createWorkflowsChannel,n.createWorkflowCatalogChannel],api:[r.api]},session:({agent:e,host:n})=>({api:[r.api],...e?t.createWorkflowServerRuntime(e,n):{}})});exports.default=a,exports.workflowServerFacet=a;
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_root_server = require("../src/extensions/workspaces/sessions/(backend)/root.server.cjs");
6
+ const require_route_server = require("../src/extensions/(backend)/api/workflow/route.server.cjs");
7
+ const require_workflow_catalog_server = require("../src/extensions/(backend)/channel/workflow-catalog.server.cjs");
8
+ const require_workflows_server = require("../src/extensions/(backend)/channel/workflows.server.cjs");
9
+ const require_route_server$1 = require("../src/extensions/workspaces/sessions/(backend)/api/workflow/route.server.cjs");
10
+ const require_workflow_launch_server = require("../src/extensions/workspaces/sessions/(backend)/command/workflow-launch.server.cjs");
11
+ const require_session_shutdown_server = require("../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs");
12
+ const require_tool_execution_end_server = require("../src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.server.cjs");
13
+ const require_doompi_author_workflow_server = require("../src/extensions/workspaces/sessions/(backend)/resource/doompi-author-workflow.server.cjs");
14
+ const require_doompi_use_workflow_server = require("../src/extensions/workspaces/sessions/(backend)/resource/doompi-use-workflow.server.cjs");
15
+ const require_workflow_recovery_server = require("../src/extensions/workspaces/sessions/(backend)/resource/workflow-recovery.server.cjs");
16
+ const require_workflow_server = require("../src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.server.cjs");
17
+ const require_launch_workflow_server = require("../src/extensions/workspaces/sessions/(backend)/tool/launch-workflow.server.cjs");
18
+ const require_list_workflows_server = require("../src/extensions/workspaces/sessions/(backend)/tool/list-workflows.server.cjs");
19
+ const require_workflow_run_server = require("../src/extensions/workspaces/sessions/(backend)/tool/workflow-run.server.cjs");
20
+ let _agimon_ai_doompi_core_extension_file = require("@agimon-ai/doompi-core/extension-file");
21
+ let _agimon_ai_doompi_core_server_facet = require("@agimon-ai/doompi-core/server-facet");
22
+ //#region generated/server.ts
23
+ const at = (value, context) => typeof value === "function" ? value(context) : value;
24
+ /* v8 ignore next -- generated normalization branch */
25
+ const defined = (values) => values.filter((value) => value !== void 0);
26
+ const via = (identity, value) => ({
27
+ ...identity,
28
+ ...value
29
+ });
30
+ const facet = (0, _agimon_ai_doompi_core_server_facet.defineServerPlugin)({
31
+ name: "@agimon-ai/doompi-workflow",
32
+ global: (context) => ({
33
+ get api() {
34
+ return defined([at(require_route_server.default, context)]);
35
+ },
36
+ get channels() {
37
+ return [() => via({ frameType: "workflow_catalog" }, require_workflow_catalog_server.default()), () => via({ frameType: "workflows" }, require_workflows_server.default())];
38
+ }
39
+ }),
40
+ workspace: (context) => ({
41
+ get api() {
42
+ return defined([at(require_route_server.default, context)]);
43
+ },
44
+ get channels() {
45
+ return [() => via({ frameType: "workflow_catalog" }, require_workflow_catalog_server.default()), () => via({ frameType: "workflows" }, require_workflows_server.default())];
46
+ }
47
+ }),
48
+ session: async (context) => {
49
+ const scopeSession = await require_root_server.default(context);
50
+ const contextSession = {
51
+ ...context,
52
+ root: scopeSession.value
53
+ };
54
+ return {
55
+ ...(0, _agimon_ai_doompi_core_extension_file.composeRootHooks)(scopeSession),
56
+ get api() {
57
+ return defined([at(require_route_server.default, context), at(require_route_server$1.default, contextSession)]);
58
+ },
59
+ get channels() {
60
+ return [() => via({ frameType: "workflow_catalog" }, require_workflow_catalog_server.default()), () => via({ frameType: "workflows" }, require_workflows_server.default())];
61
+ },
62
+ get commands() {
63
+ return defined([via({ name: "workflow-launch" }, at(require_workflow_launch_server.default, contextSession))]);
64
+ },
65
+ get hooks() {
66
+ return defined([via({ event: "session_shutdown" }, at(require_session_shutdown_server.default, contextSession)), via({ event: "tool_execution_end" }, at(require_tool_execution_end_server.default, contextSession))]);
67
+ },
68
+ get resources() {
69
+ return defined([
70
+ at(require_doompi_author_workflow_server.default, contextSession),
71
+ at(require_doompi_use_workflow_server.default, contextSession),
72
+ at(require_workflow_recovery_server.default, contextSession)
73
+ ]);
74
+ },
75
+ get toolRestrictions() {
76
+ return defined([at(require_workflow_server.default, contextSession)]);
77
+ },
78
+ get tools() {
79
+ return defined([
80
+ via({ name: "launch_workflow" }, at(require_launch_workflow_server.default, contextSession)),
81
+ via({ name: "list_workflows" }, at(require_list_workflows_server.default, contextSession)),
82
+ via({ name: "workflow_run" }, at(require_workflow_run_server.default, contextSession))
83
+ ]);
84
+ },
85
+ services: [...scopeSession.services ?? []],
86
+ get activities() {
87
+ return [...scopeSession.activities ?? []];
88
+ }
89
+ };
90
+ }
91
+ });
92
+ //#endregion
93
+ exports.default = facet;
94
+ exports.facet = facet;
95
+
2
96
  //# sourceMappingURL=server.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.cjs","names":["defineServerPlugin","PACKAGE_SOURCE","createWorkflowsChannel","createWorkflowCatalogChannel","api","createWorkflowServerRuntime"],"sources":["../../src/extensions/server.ts"],"sourcesContent":["import { defineServerPlugin } from '@agimon-ai/doompi-core/server-facet';\n\nimport { PACKAGE_SOURCE } from '../constants/workflow';\nimport { createWorkflowServerRuntime } from '../controllers/serverRuntime';\nimport { createWorkflowCatalogChannel } from '../controllers/workflowCatalogChannel';\nimport { api } from '../controllers/workflowHubApi';\nimport { createWorkflowsChannel } from '../controllers/workflowsHubChannel';\nexport const workflowServerFacet = defineServerPlugin({\n name: PACKAGE_SOURCE,\n global: { channels: [createWorkflowsChannel, createWorkflowCatalogChannel], api: [api] },\n workspace: { channels: [createWorkflowsChannel, createWorkflowCatalogChannel], api: [api] },\n session: ({ agent, host }) => ({ api: [api], ...(agent ? createWorkflowServerRuntime(agent, host) : {}) }),\n});\nexport default workflowServerFacet;\n"],"mappings":"wWAOa,GAAA,+CAAsBA,CAAAA,CAAAA,mBAAAA,CAAmB,CACpD,KAAMC,EAAAA,eACN,OAAQ,CAAE,SAAU,CAACC,EAAAA,uBAAwBC,EAAAA,4BAA4B,EAAG,IAAK,CAACC,EAAAA,GAAG,CAAE,EACvF,UAAW,CAAE,SAAU,CAACF,EAAAA,uBAAwBC,EAAAA,4BAA4B,EAAG,IAAK,CAACC,EAAAA,GAAG,CAAE,EAC1F,SAAU,CAAE,QAAO,WAAY,CAAE,IAAK,CAACA,EAAAA,GAAG,EAAG,GAAI,EAAQC,EAAAA,4BAA4B,EAAO,CAAI,EAAI,CAAC,CAAG,EAC1G,CAAC"}
1
+ {"version":3,"file":"server.cjs","names":["defineServerPlugin","apiRoute","channelWorkflowCatalog","channelWorkflows","rootSession","composeRootHooks","apiRoute2","commandWorkflowLaunch","hookSessionShutdown","hookToolExecutionEnd","resourceDoompiAuthorWorkflow","resourceDoompiUseWorkflow","resourceWorkflowRecovery","toolRestrictionWorkflow","toolLaunchWorkflow","toolListWorkflows","toolWorkflowRun"],"sources":["../../generated/server.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { defineServerPlugin, type DoomServerSessionPlugin } from '@agimon-ai/doompi-core/server-facet';\nimport { composeRootHooks } from '@agimon-ai/doompi-core/extension-file';\n\nimport rootSession from '../src/extensions/workspaces/sessions/(backend)/root.server';\nimport apiRoute from '../src/extensions/(backend)/api/workflow/route.server';\nimport channelWorkflowCatalog from '../src/extensions/(backend)/channel/workflow-catalog.server';\nimport channelWorkflows from '../src/extensions/(backend)/channel/workflows.server';\nimport apiRoute2 from '../src/extensions/workspaces/sessions/(backend)/api/workflow/route.server';\nimport commandWorkflowLaunch from '../src/extensions/workspaces/sessions/(backend)/command/workflow-launch.server';\nimport hookSessionShutdown from '../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server';\nimport hookToolExecutionEnd from '../src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.server';\nimport resourceDoompiAuthorWorkflow from '../src/extensions/workspaces/sessions/(backend)/resource/doompi-author-workflow.server';\nimport resourceDoompiUseWorkflow from '../src/extensions/workspaces/sessions/(backend)/resource/doompi-use-workflow.server';\nimport resourceWorkflowRecovery from '../src/extensions/workspaces/sessions/(backend)/resource/workflow-recovery.server';\nimport toolRestrictionWorkflow from '../src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.server';\nimport toolLaunchWorkflow from '../src/extensions/workspaces/sessions/(backend)/tool/launch-workflow.server';\nimport toolListWorkflows from '../src/extensions/workspaces/sessions/(backend)/tool/list-workflows.server';\nimport toolWorkflowRun from '../src/extensions/workspaces/sessions/(backend)/tool/workflow-run.server';\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\n/* v8 ignore next -- generated normalization branch */\nconst defined = <T>(values: readonly (T | undefined)[]): T[] =>\n values.filter((value): value is T => value !== undefined);\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T => ({ ...identity, ...(value as object) }) as T;\n\nexport const facet = defineServerPlugin({\n name: '@agimon-ai/doompi-workflow',\n global: (context) => ({\n get api(): DoomServerSessionPlugin['api'] { return defined([at(apiRoute, context)]); },\n get channels(): DoomServerSessionPlugin['channels'] { return [() => via({ frameType: 'workflow_catalog' }, channelWorkflowCatalog()), () => via({ frameType: 'workflows' }, channelWorkflows())]; },\n }),\n workspace: (context) => ({\n get api(): DoomServerSessionPlugin['api'] { return defined([at(apiRoute, context)]); },\n get channels(): DoomServerSessionPlugin['channels'] { return [() => via({ frameType: 'workflow_catalog' }, channelWorkflowCatalog()), () => via({ frameType: 'workflows' }, channelWorkflows())]; },\n }),\n session: async (context) => {\n const scopeSession = await rootSession(context);\n const contextSession = { ...context, root: scopeSession.value };\n return {\n ...composeRootHooks(scopeSession),\n get api(): DoomServerSessionPlugin['api'] { return defined([at(apiRoute, context), at(apiRoute2, contextSession)]); },\n get channels(): DoomServerSessionPlugin['channels'] { return [() => via({ frameType: 'workflow_catalog' }, channelWorkflowCatalog()), () => via({ frameType: 'workflows' }, channelWorkflows())]; },\n get commands(): DoomServerSessionPlugin['commands'] { return defined([via({ name: 'workflow-launch' }, at(commandWorkflowLaunch, contextSession))]); },\n get hooks(): DoomServerSessionPlugin['hooks'] { return defined([via({ event: 'session_shutdown' }, at(hookSessionShutdown, contextSession)), via({ event: 'tool_execution_end' }, at(hookToolExecutionEnd, contextSession))]); },\n get resources(): DoomServerSessionPlugin['resources'] { return defined([at(resourceDoompiAuthorWorkflow, contextSession), at(resourceDoompiUseWorkflow, contextSession), at(resourceWorkflowRecovery, contextSession)]); },\n get toolRestrictions(): DoomServerSessionPlugin['toolRestrictions'] { return defined([at(toolRestrictionWorkflow, contextSession)]); },\n get tools(): DoomServerSessionPlugin['tools'] { return defined([via({ name: 'launch_workflow' }, at(toolLaunchWorkflow, contextSession)), via({ name: 'list_workflows' }, at(toolListWorkflows, contextSession)), via({ name: 'workflow_run' }, at(toolWorkflowRun, contextSession))]); },\n services: [...(scopeSession.services ?? [])],\n get activities(): DoomServerSessionPlugin['activities'] { return [...(scopeSession.activities ?? [])]; },\n };\n },\n});\n\nexport default facet;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;;AAEpE,MAAM,WAAc,WAClB,OAAO,QAAQ,UAAsB,UAAU,KAAA,CAAS;AAC1D,MAAM,OAAU,UAAmC,WAAuB;CAAE,GAAG;CAAU,GAAI;AAAiB;AAE9G,MAAa,SAAA,GAAQA,oCAAAA,mBAAAA,CAAmB;CACtC,MAAM;CACN,SAAS,aAAa;EACpB,IAAI,MAAsC;GAAE,OAAO,QAAQ,CAAC,GAAGC,qBAAAA,SAAU,OAAO,CAAC,CAAC;EAAG;EACrF,IAAI,WAAgD;GAAE,OAAO,OAAO,IAAI,EAAE,WAAW,mBAAmB,GAAGC,gCAAAA,QAAuB,CAAC,SAAS,IAAI,EAAE,WAAW,YAAY,GAAGC,yBAAAA,QAAiB,CAAC,CAAC;EAAG;CACpM;CACA,YAAY,aAAa;EACvB,IAAI,MAAsC;GAAE,OAAO,QAAQ,CAAC,GAAGF,qBAAAA,SAAU,OAAO,CAAC,CAAC;EAAG;EACrF,IAAI,WAAgD;GAAE,OAAO,OAAO,IAAI,EAAE,WAAW,mBAAmB,GAAGC,gCAAAA,QAAuB,CAAC,SAAS,IAAI,EAAE,WAAW,YAAY,GAAGC,yBAAAA,QAAiB,CAAC,CAAC;EAAG;CACpM;CACA,SAAS,OAAO,YAAY;EAC1B,MAAM,eAAe,MAAMC,oBAAAA,QAAY,OAAO;EAC9C,MAAM,iBAAiB;GAAE,GAAG;GAAS,MAAM,aAAa;EAAM;EAC9D,OAAO;GACL,IAAA,GAAGC,sCAAAA,iBAAAA,CAAiB,YAAY;GAChC,IAAI,MAAsC;IAAE,OAAO,QAAQ,CAAC,GAAGJ,qBAAAA,SAAU,OAAO,GAAG,GAAGK,uBAAAA,SAAW,cAAc,CAAC,CAAC;GAAG;GACpH,IAAI,WAAgD;IAAE,OAAO,OAAO,IAAI,EAAE,WAAW,mBAAmB,GAAGJ,gCAAAA,QAAuB,CAAC,SAAS,IAAI,EAAE,WAAW,YAAY,GAAGC,yBAAAA,QAAiB,CAAC,CAAC;GAAG;GAClM,IAAI,WAAgD;IAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,kBAAkB,GAAG,GAAGI,+BAAAA,SAAuB,cAAc,CAAC,CAAC,CAAC;GAAG;GACrJ,IAAI,QAA0C;IAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,OAAO,mBAAmB,GAAG,GAAGC,gCAAAA,SAAqB,cAAc,CAAC,GAAG,IAAI,EAAE,OAAO,qBAAqB,GAAG,GAAGC,kCAAAA,SAAsB,cAAc,CAAC,CAAC,CAAC;GAAG;GAC/N,IAAI,YAAkD;IAAE,OAAO,QAAQ;KAAC,GAAGC,sCAAAA,SAA8B,cAAc;KAAG,GAAGC,mCAAAA,SAA2B,cAAc;KAAG,GAAGC,iCAAAA,SAA0B,cAAc;IAAC,CAAC;GAAG;GACzN,IAAI,mBAAgE;IAAE,OAAO,QAAQ,CAAC,GAAGC,wBAAAA,SAAyB,cAAc,CAAC,CAAC;GAAG;GACrI,IAAI,QAA0C;IAAE,OAAO,QAAQ;KAAC,IAAI,EAAE,MAAM,kBAAkB,GAAG,GAAGC,+BAAAA,SAAoB,cAAc,CAAC;KAAG,IAAI,EAAE,MAAM,iBAAiB,GAAG,GAAGC,8BAAAA,SAAmB,cAAc,CAAC;KAAG,IAAI,EAAE,MAAM,eAAe,GAAG,GAAGC,4BAAAA,SAAiB,cAAc,CAAC;IAAC,CAAC;GAAG;GACxR,UAAU,CAAC,GAAI,aAAa,YAAY,CAAC,CAAE;GAC3C,IAAI,aAAoD;IAAE,OAAO,CAAC,GAAI,aAAa,cAAc,CAAC,CAAE;GAAG;EACzG;CACF;AACF,CAAC"}
@@ -1,5 +1,5 @@
1
- //#region src/extensions/server.d.ts
2
- export declare const workflowServerFacet: import("@agimon-ai/doompi-core/server-facet").DoomServerFacet;
1
+ //#region generated/server.d.ts
2
+ export declare const facet: import("@agimon-ai/doompi-core/server-facet").DoomServerFacet;
3
3
  //#endregion
4
- export { workflowServerFacet as default };
4
+ export { facet as default };
5
5
  //# sourceMappingURL=server.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.cts","names":[],"sources":["../../src/extensions/server.ts"],"mappings":";qBAOa,mEAAmB"}
1
+ {"version":3,"file":"server.d.cts","names":[],"sources":["../../generated/server.ts"],"mappings":";qBA4Ba,qDAAK"}
@@ -1,5 +1,5 @@
1
- //#region src/extensions/server.d.ts
2
- export declare const workflowServerFacet: import("@agimon-ai/doompi-core/server-facet").DoomServerFacet;
1
+ //#region generated/server.d.ts
2
+ export declare const facet: import("@agimon-ai/doompi-core/server-facet").DoomServerFacet;
3
3
  //#endregion
4
- export { workflowServerFacet as default };
4
+ export { facet as default };
5
5
  //# sourceMappingURL=server.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.mts","names":[],"sources":["../../src/extensions/server.ts"],"mappings":";qBAOa,mEAAmB"}
1
+ {"version":3,"file":"server.d.mts","names":[],"sources":["../../generated/server.ts"],"mappings":";qBA4Ba,qDAAK"}