@agimon-ai/doompi-workflow 0.0.1-alpha.76 → 0.0.1-alpha.78

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 (332) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  2. package/dist/api-contracts.cjs +7 -0
  3. package/dist/api-contracts.d.cts +2 -0
  4. package/dist/api-contracts.d.mts +2 -0
  5. package/dist/api-contracts.mjs +2 -0
  6. package/dist/extensions/pi.cjs +63 -0
  7. package/dist/extensions/pi.cjs.map +1 -0
  8. package/dist/extensions/pi.d.cts +6 -0
  9. package/dist/extensions/pi.d.cts.map +1 -0
  10. package/dist/extensions/pi.d.mts +6 -0
  11. package/dist/extensions/pi.d.mts.map +1 -0
  12. package/dist/extensions/pi.mjs +58 -0
  13. package/dist/extensions/pi.mjs.map +1 -0
  14. package/dist/extensions/server.cjs +96 -0
  15. package/dist/extensions/server.cjs.map +1 -0
  16. package/dist/extensions/server.d.cts +5 -0
  17. package/dist/extensions/server.d.cts.map +1 -0
  18. package/dist/extensions/server.d.mts +5 -0
  19. package/dist/extensions/server.d.mts.map +1 -0
  20. package/dist/extensions/server.mjs +91 -0
  21. package/dist/extensions/server.mjs.map +1 -0
  22. package/dist/extensions/web.mjs +3219 -0
  23. package/dist/extensions/web.mjs.map +1 -0
  24. package/dist/index.cjs +4 -0
  25. package/dist/index.d.cts +2 -0
  26. package/dist/index.d.mts +2 -0
  27. package/dist/index.mjs +2 -0
  28. package/dist/src/constants/workflow.cjs +32 -0
  29. package/dist/src/constants/workflow.cjs.map +1 -0
  30. package/dist/src/constants/workflow.mjs +21 -0
  31. package/dist/src/constants/workflow.mjs.map +1 -0
  32. package/dist/src/extensions/(backend)/_lib/index.server.cjs +12 -0
  33. package/dist/src/extensions/(backend)/_lib/index.server.cjs.map +1 -0
  34. package/dist/src/extensions/(backend)/_lib/index.server.mjs +12 -0
  35. package/dist/src/extensions/(backend)/_lib/index.server.mjs.map +1 -0
  36. package/dist/src/extensions/(backend)/api/workflow/route.server.cjs +7 -0
  37. package/dist/src/extensions/(backend)/api/workflow/route.server.cjs.map +1 -0
  38. package/dist/src/extensions/(backend)/api/workflow/route.server.mjs +8 -0
  39. package/dist/src/extensions/(backend)/api/workflow/route.server.mjs.map +1 -0
  40. package/dist/src/extensions/(backend)/channel/workflow-catalog.server.cjs +7 -0
  41. package/dist/src/extensions/(backend)/channel/workflow-catalog.server.cjs.map +1 -0
  42. package/dist/src/extensions/(backend)/channel/workflow-catalog.server.mjs +8 -0
  43. package/dist/src/extensions/(backend)/channel/workflow-catalog.server.mjs.map +1 -0
  44. package/dist/src/extensions/(backend)/channel/workflows.server.cjs +7 -0
  45. package/dist/src/extensions/(backend)/channel/workflows.server.cjs.map +1 -0
  46. package/dist/src/extensions/(backend)/channel/workflows.server.mjs +8 -0
  47. package/dist/src/extensions/(backend)/channel/workflows.server.mjs.map +1 -0
  48. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.cli.cjs +100 -0
  49. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.cli.cjs.map +1 -0
  50. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.cli.mjs +100 -0
  51. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.cli.mjs.map +1 -0
  52. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.server.cjs +11 -0
  53. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.server.cjs.map +1 -0
  54. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.server.mjs +11 -0
  55. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/index.server.mjs.map +1 -0
  56. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/workflowSkillsResource.cjs +12 -0
  57. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/workflowSkillsResource.cjs.map +1 -0
  58. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/workflowSkillsResource.mjs +12 -0
  59. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/workflowSkillsResource.mjs.map +1 -0
  60. package/dist/src/extensions/workspaces/sessions/(backend)/api/workflow/route.server.cjs +6 -0
  61. package/dist/src/extensions/workspaces/sessions/(backend)/api/workflow/route.server.cjs.map +1 -0
  62. package/dist/src/extensions/workspaces/sessions/(backend)/api/workflow/route.server.mjs +7 -0
  63. package/dist/src/extensions/workspaces/sessions/(backend)/api/workflow/route.server.mjs.map +1 -0
  64. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli.cjs +6 -0
  65. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli.cjs.map +1 -0
  66. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli.mjs +7 -0
  67. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli.mjs.map +1 -0
  68. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.server.cjs +6 -0
  69. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.server.cjs.map +1 -0
  70. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.server.mjs +7 -0
  71. package/dist/src/extensions/workspaces/sessions/(backend)/command/workflow-launch.server.mjs.map +1 -0
  72. package/dist/src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli.cjs +6 -0
  73. package/dist/src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli.cjs.map +1 -0
  74. package/dist/src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli.mjs +7 -0
  75. package/dist/src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli.mjs.map +1 -0
  76. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs +6 -0
  77. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs.map +1 -0
  78. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs +7 -0
  79. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs.map +1 -0
  80. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs +6 -0
  81. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs.map +1 -0
  82. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs +7 -0
  83. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs.map +1 -0
  84. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.server.cjs +6 -0
  85. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.server.cjs.map +1 -0
  86. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.server.mjs +7 -0
  87. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.server.mjs.map +1 -0
  88. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-workflow.server.cjs +6 -0
  89. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-workflow.server.cjs.map +1 -0
  90. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-workflow.server.mjs +7 -0
  91. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-workflow.server.mjs.map +1 -0
  92. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-workflow.server.cjs +6 -0
  93. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-workflow.server.cjs.map +1 -0
  94. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-workflow.server.mjs +7 -0
  95. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-workflow.server.mjs.map +1 -0
  96. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-recovery.server.cjs +6 -0
  97. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-recovery.server.cjs.map +1 -0
  98. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-recovery.server.mjs +7 -0
  99. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-recovery.server.mjs.map +1 -0
  100. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli.cjs +7 -0
  101. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli.cjs.map +1 -0
  102. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli.mjs +8 -0
  103. package/dist/src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli.mjs.map +1 -0
  104. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs +15 -0
  105. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs.map +1 -0
  106. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs +16 -0
  107. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs.map +1 -0
  108. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs +17 -0
  109. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs.map +1 -0
  110. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs +18 -0
  111. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs.map +1 -0
  112. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli.cjs +6 -0
  113. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli.cjs.map +1 -0
  114. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli.mjs +7 -0
  115. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli.mjs.map +1 -0
  116. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli.cjs +6 -0
  117. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli.cjs.map +1 -0
  118. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli.mjs +7 -0
  119. package/dist/src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli.mjs.map +1 -0
  120. package/dist/src/extensions/workspaces/sessions/(backend)/tool/launch-workflow.server.cjs +6 -0
  121. package/dist/src/extensions/workspaces/sessions/(backend)/tool/launch-workflow.server.cjs.map +1 -0
  122. package/dist/src/extensions/workspaces/sessions/(backend)/tool/launch-workflow.server.mjs +7 -0
  123. package/dist/src/extensions/workspaces/sessions/(backend)/tool/launch-workflow.server.mjs.map +1 -0
  124. package/dist/src/extensions/workspaces/sessions/(backend)/tool/list-workflows.server.cjs +6 -0
  125. package/dist/src/extensions/workspaces/sessions/(backend)/tool/list-workflows.server.cjs.map +1 -0
  126. package/dist/src/extensions/workspaces/sessions/(backend)/tool/list-workflows.server.mjs +7 -0
  127. package/dist/src/extensions/workspaces/sessions/(backend)/tool/list-workflows.server.mjs.map +1 -0
  128. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow-run.server.cjs +6 -0
  129. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow-run.server.cjs.map +1 -0
  130. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow-run.server.mjs +7 -0
  131. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow-run.server.mjs.map +1 -0
  132. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow.cli.cjs +6 -0
  133. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow.cli.cjs.map +1 -0
  134. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow.cli.mjs +7 -0
  135. package/dist/src/extensions/workspaces/sessions/(backend)/tool/workflow.cli.mjs.map +1 -0
  136. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli.cjs +6 -0
  137. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli.cjs.map +1 -0
  138. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli.mjs +7 -0
  139. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli.mjs.map +1 -0
  140. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.server.cjs +6 -0
  141. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.server.cjs.map +1 -0
  142. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.server.mjs +7 -0
  143. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.server.mjs.map +1 -0
  144. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowFinishedRenderer.cjs +50 -0
  145. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowFinishedRenderer.cjs.map +1 -0
  146. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowFinishedRenderer.mjs +47 -0
  147. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowFinishedRenderer.mjs.map +1 -0
  148. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowStepRenderer.cjs +36 -0
  149. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowStepRenderer.cjs.map +1 -0
  150. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowStepRenderer.mjs +35 -0
  151. package/dist/src/extensions/workspaces/sessions/(frontend)/message/_lib/workflowStepRenderer.mjs.map +1 -0
  152. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli.cjs +7 -0
  153. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli.cjs.map +1 -0
  154. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli.mjs +8 -0
  155. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli.mjs.map +1 -0
  156. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli.cjs +7 -0
  157. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli.cjs.map +1 -0
  158. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli.mjs +8 -0
  159. package/dist/src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli.mjs.map +1 -0
  160. package/dist/src/schemas/apiContracts.cjs +330 -0
  161. package/dist/src/schemas/apiContracts.cjs.map +1 -0
  162. package/dist/src/schemas/apiContracts.d.cts +53 -0
  163. package/dist/src/schemas/apiContracts.d.cts.map +1 -0
  164. package/dist/src/schemas/apiContracts.d.mts +53 -0
  165. package/dist/src/schemas/apiContracts.d.mts.map +1 -0
  166. package/dist/src/schemas/apiContracts.mjs +327 -0
  167. package/dist/src/schemas/apiContracts.mjs.map +1 -0
  168. package/dist/src/schemas/workflowPi.cjs +77 -0
  169. package/dist/src/schemas/workflowPi.cjs.map +1 -0
  170. package/dist/src/schemas/workflowPi.d.cts +1 -0
  171. package/dist/src/schemas/workflowPi.d.mts +1 -0
  172. package/dist/src/schemas/workflowPi.mjs +74 -0
  173. package/dist/src/schemas/workflowPi.mjs.map +1 -0
  174. package/dist/src/services/backgroundWork/index.cjs +61 -0
  175. package/dist/src/services/backgroundWork/index.cjs.map +1 -0
  176. package/dist/src/services/backgroundWork/index.mjs +61 -0
  177. package/dist/src/services/backgroundWork/index.mjs.map +1 -0
  178. package/dist/src/services/piToolBridge/index.cjs +205 -0
  179. package/dist/src/services/piToolBridge/index.cjs.map +1 -0
  180. package/dist/src/services/piToolBridge/index.mjs +195 -0
  181. package/dist/src/services/piToolBridge/index.mjs.map +1 -0
  182. package/dist/src/services/serverRuntime/index.cjs +387 -0
  183. package/dist/src/services/serverRuntime/index.cjs.map +1 -0
  184. package/dist/src/services/serverRuntime/index.mjs +387 -0
  185. package/dist/src/services/serverRuntime/index.mjs.map +1 -0
  186. package/dist/src/services/webWorkflowCatalog/index.cjs +53 -0
  187. package/dist/src/services/webWorkflowCatalog/index.cjs.map +1 -0
  188. package/dist/src/services/webWorkflowCatalog/index.mjs +52 -0
  189. package/dist/src/services/webWorkflowCatalog/index.mjs.map +1 -0
  190. package/dist/src/services/workflowCatalogChannel/index.cjs +74 -0
  191. package/dist/src/services/workflowCatalogChannel/index.cjs.map +1 -0
  192. package/dist/src/services/workflowCatalogChannel/index.mjs +74 -0
  193. package/dist/src/services/workflowCatalogChannel/index.mjs.map +1 -0
  194. package/dist/src/services/workflowCatalogDeps/index.cjs +25 -0
  195. package/dist/src/services/workflowCatalogDeps/index.cjs.map +1 -0
  196. package/dist/src/services/workflowCatalogDeps/index.mjs +25 -0
  197. package/dist/src/services/workflowCatalogDeps/index.mjs.map +1 -0
  198. package/dist/src/services/workflowExecution/index.cjs +205 -0
  199. package/dist/src/services/workflowExecution/index.cjs.map +1 -0
  200. package/dist/src/services/workflowExecution/index.d.cts +6 -0
  201. package/dist/src/services/workflowExecution/index.d.mts +6 -0
  202. package/dist/src/services/workflowExecution/index.mjs +200 -0
  203. package/dist/src/services/workflowExecution/index.mjs.map +1 -0
  204. package/dist/src/services/workflowFence/index.cjs +170 -0
  205. package/dist/src/services/workflowFence/index.cjs.map +1 -0
  206. package/dist/src/services/workflowFence/index.mjs +166 -0
  207. package/dist/src/services/workflowFence/index.mjs.map +1 -0
  208. package/dist/src/services/workflowHubApi/index.cjs +415 -0
  209. package/dist/src/services/workflowHubApi/index.cjs.map +1 -0
  210. package/dist/src/services/workflowHubApi/index.mjs +411 -0
  211. package/dist/src/services/workflowHubApi/index.mjs.map +1 -0
  212. package/dist/src/services/workflowLaunchCommand/index.cjs +121 -0
  213. package/dist/src/services/workflowLaunchCommand/index.cjs.map +1 -0
  214. package/dist/src/services/workflowLaunchCommand/index.d.cts +52 -0
  215. package/dist/src/services/workflowLaunchCommand/index.d.cts.map +1 -0
  216. package/dist/src/services/workflowLaunchCommand/index.d.mts +52 -0
  217. package/dist/src/services/workflowLaunchCommand/index.d.mts.map +1 -0
  218. package/dist/src/services/workflowLaunchCommand/index.mjs +118 -0
  219. package/dist/src/services/workflowLaunchCommand/index.mjs.map +1 -0
  220. package/dist/src/services/workflowLauncher/index.cjs +181 -0
  221. package/dist/src/services/workflowLauncher/index.cjs.map +1 -0
  222. package/dist/src/services/workflowLauncher/index.mjs +177 -0
  223. package/dist/src/services/workflowLauncher/index.mjs.map +1 -0
  224. package/dist/src/services/workflowNarration/index.cjs +19 -0
  225. package/dist/src/services/workflowNarration/index.cjs.map +1 -0
  226. package/dist/src/services/workflowNarration/index.mjs +19 -0
  227. package/dist/src/services/workflowNarration/index.mjs.map +1 -0
  228. package/dist/src/services/workflowResource/index.cjs +27 -0
  229. package/dist/src/services/workflowResource/index.cjs.map +1 -0
  230. package/dist/src/services/workflowResource/index.mjs +24 -0
  231. package/dist/src/services/workflowResource/index.mjs.map +1 -0
  232. package/dist/src/services/workflowRuns/index.cjs +333 -0
  233. package/dist/src/services/workflowRuns/index.cjs.map +1 -0
  234. package/dist/src/services/workflowRuns/index.mjs +319 -0
  235. package/dist/src/services/workflowRuns/index.mjs.map +1 -0
  236. package/dist/src/services/workflowTerminal/index.cjs +69 -0
  237. package/dist/src/services/workflowTerminal/index.cjs.map +1 -0
  238. package/dist/src/services/workflowTerminal/index.mjs +69 -0
  239. package/dist/src/services/workflowTerminal/index.mjs.map +1 -0
  240. package/dist/src/services/workflowTools/index.cjs +221 -0
  241. package/dist/src/services/workflowTools/index.cjs.map +1 -0
  242. package/dist/src/services/workflowTools/index.mjs +221 -0
  243. package/dist/src/services/workflowTools/index.mjs.map +1 -0
  244. package/dist/src/services/workflowWatcher/index.cjs +78 -0
  245. package/dist/src/services/workflowWatcher/index.cjs.map +1 -0
  246. package/dist/src/services/workflowWatcher/index.mjs +74 -0
  247. package/dist/src/services/workflowWatcher/index.mjs.map +1 -0
  248. package/dist/src/services/workflowsHubChannel/index.cjs +58 -0
  249. package/dist/src/services/workflowsHubChannel/index.cjs.map +1 -0
  250. package/dist/src/services/workflowsHubChannel/index.mjs +58 -0
  251. package/dist/src/services/workflowsHubChannel/index.mjs.map +1 -0
  252. package/dist/src/tui/leader.cjs +84 -0
  253. package/dist/src/tui/leader.cjs.map +1 -0
  254. package/dist/src/tui/leader.mjs +83 -0
  255. package/dist/src/tui/leader.mjs.map +1 -0
  256. package/dist/src/tui/workflow/doomOverlay.cjs +159 -0
  257. package/dist/src/tui/workflow/doomOverlay.cjs.map +1 -0
  258. package/dist/src/tui/workflow/doomOverlay.mjs +157 -0
  259. package/dist/src/tui/workflow/doomOverlay.mjs.map +1 -0
  260. package/dist/src/tui/workflow/overlayText.cjs +83 -0
  261. package/dist/src/tui/workflow/overlayText.cjs.map +1 -0
  262. package/dist/src/tui/workflow/overlayText.mjs +78 -0
  263. package/dist/src/tui/workflow/overlayText.mjs.map +1 -0
  264. package/dist/src/tui/workflow/rendering.cjs +22 -0
  265. package/dist/src/tui/workflow/rendering.cjs.map +1 -0
  266. package/dist/src/tui/workflow/rendering.mjs +20 -0
  267. package/dist/src/tui/workflow/rendering.mjs.map +1 -0
  268. package/dist/src/tui/workflow/workflowCatalog.cjs +336 -0
  269. package/dist/src/tui/workflow/workflowCatalog.cjs.map +1 -0
  270. package/dist/src/tui/workflow/workflowCatalog.mjs +333 -0
  271. package/dist/src/tui/workflow/workflowCatalog.mjs.map +1 -0
  272. package/dist/src/tui/workflow/workflowFinishedMessage.cjs +50 -0
  273. package/dist/src/tui/workflow/workflowFinishedMessage.cjs.map +1 -0
  274. package/dist/src/tui/workflow/workflowFinishedMessage.mjs +47 -0
  275. package/dist/src/tui/workflow/workflowFinishedMessage.mjs.map +1 -0
  276. package/dist/src/tui/workflow/workflowInspector.cjs +276 -0
  277. package/dist/src/tui/workflow/workflowInspector.cjs.map +1 -0
  278. package/dist/src/tui/workflow/workflowInspector.mjs +276 -0
  279. package/dist/src/tui/workflow/workflowInspector.mjs.map +1 -0
  280. package/dist/src/tui/workflow/workflowOverlay.cjs +126 -0
  281. package/dist/src/tui/workflow/workflowOverlay.cjs.map +1 -0
  282. package/dist/src/tui/workflow/workflowOverlay.mjs +125 -0
  283. package/dist/src/tui/workflow/workflowOverlay.mjs.map +1 -0
  284. package/dist/src/tui/workflow/workflowPicker.cjs +138 -0
  285. package/dist/src/tui/workflow/workflowPicker.cjs.map +1 -0
  286. package/dist/src/tui/workflow/workflowPicker.mjs +136 -0
  287. package/dist/src/tui/workflow/workflowPicker.mjs.map +1 -0
  288. package/dist/src/tui/workflow/workflowProgressOverlay.cjs +197 -0
  289. package/dist/src/tui/workflow/workflowProgressOverlay.cjs.map +1 -0
  290. package/dist/src/tui/workflow/workflowProgressOverlay.mjs +192 -0
  291. package/dist/src/tui/workflow/workflowProgressOverlay.mjs.map +1 -0
  292. package/dist/src/tui/workflow/workflowPrompt.cjs +142 -0
  293. package/dist/src/tui/workflow/workflowPrompt.cjs.map +1 -0
  294. package/dist/src/tui/workflow/workflowPrompt.mjs +139 -0
  295. package/dist/src/tui/workflow/workflowPrompt.mjs.map +1 -0
  296. package/dist/src/tui/workflow/workflowRunPanel.cjs +95 -0
  297. package/dist/src/tui/workflow/workflowRunPanel.cjs.map +1 -0
  298. package/dist/src/tui/workflow/workflowRunPanel.mjs +94 -0
  299. package/dist/src/tui/workflow/workflowRunPanel.mjs.map +1 -0
  300. package/dist/src/tui/workflow/workflowStatusRow.cjs +20 -0
  301. package/dist/src/tui/workflow/workflowStatusRow.cjs.map +1 -0
  302. package/dist/src/tui/workflow/workflowStatusRow.mjs +20 -0
  303. package/dist/src/tui/workflow/workflowStatusRow.mjs.map +1 -0
  304. package/dist/src/tui/workflow/workflowStepMessage.cjs +32 -0
  305. package/dist/src/tui/workflow/workflowStepMessage.cjs.map +1 -0
  306. package/dist/src/tui/workflow/workflowStepMessage.mjs +31 -0
  307. package/dist/src/tui/workflow/workflowStepMessage.mjs.map +1 -0
  308. package/dist/src/tui/workflow/workflowToolRender.cjs +491 -0
  309. package/dist/src/tui/workflow/workflowToolRender.cjs.map +1 -0
  310. package/dist/src/tui/workflow/workflowToolRender.mjs +490 -0
  311. package/dist/src/tui/workflow/workflowToolRender.mjs.map +1 -0
  312. package/dist/src/tui/workflowRuntime.cjs +1934 -0
  313. package/dist/src/tui/workflowRuntime.cjs.map +1 -0
  314. package/dist/src/tui/workflowRuntime.d.cts +33 -0
  315. package/dist/src/tui/workflowRuntime.d.cts.map +1 -0
  316. package/dist/src/tui/workflowRuntime.d.mts +33 -0
  317. package/dist/src/tui/workflowRuntime.d.mts.map +1 -0
  318. package/dist/src/tui/workflowRuntime.mjs +1930 -0
  319. package/dist/src/tui/workflowRuntime.mjs.map +1 -0
  320. package/dist/src/types/apiRoutes.cjs +82 -0
  321. package/dist/src/types/apiRoutes.cjs.map +1 -0
  322. package/dist/src/types/apiRoutes.mjs +80 -0
  323. package/dist/src/types/apiRoutes.mjs.map +1 -0
  324. package/dist/src/types/webWorkflowTerminal.cjs +23 -0
  325. package/dist/src/types/webWorkflowTerminal.cjs.map +1 -0
  326. package/dist/src/types/webWorkflowTerminal.mjs +22 -0
  327. package/dist/src/types/webWorkflowTerminal.mjs.map +1 -0
  328. package/dist/src/types/webWorkflows.cjs +8 -0
  329. package/dist/src/types/webWorkflows.cjs.map +1 -0
  330. package/dist/src/types/webWorkflows.mjs +7 -0
  331. package/dist/src/types/webWorkflows.mjs.map +1 -0
  332. package/package.json +8 -8
@@ -0,0 +1,53 @@
1
+ import { Type } from "typebox";
2
+ //#region src/schemas/apiContracts.d.ts
3
+ export declare const apiContracts: {
4
+ version: 1;
5
+ protocols?: Record<string, string> | undefined;
6
+ schemas?: Record<string, boolean | object> | undefined;
7
+ http: {
8
+ id: string;
9
+ scope: "global" | "session" | "workspace";
10
+ basePath?: string | undefined;
11
+ path: string;
12
+ method: "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT";
13
+ description: string;
14
+ availability?: string | undefined;
15
+ authentication: "device" | "none" | "owner";
16
+ parameters?: {
17
+ name: string;
18
+ in: "header" | "path" | "query";
19
+ required: boolean;
20
+ schema: boolean | object;
21
+ }[] | undefined;
22
+ body?: {
23
+ contentType: string;
24
+ contentTypes?: string[] | undefined;
25
+ required: boolean;
26
+ schema: boolean | object;
27
+ } | undefined;
28
+ responses: Record<string, {
29
+ description: string;
30
+ contentType?: string | undefined;
31
+ schema?: boolean | object | undefined;
32
+ events?: Record<string, boolean | object> | undefined;
33
+ }>;
34
+ }[];
35
+ sockets: {
36
+ id: string;
37
+ scope: "global" | "session" | "workspace";
38
+ description: string;
39
+ availability?: string | undefined;
40
+ service: string;
41
+ member: string;
42
+ direction: "client-to-server" | "server-to-client";
43
+ kind: "channel" | "method" | "state";
44
+ input: boolean | object;
45
+ output?: boolean | object | undefined;
46
+ errors?: boolean | object | undefined;
47
+ }[];
48
+ dynamic: string[];
49
+ gaps?: string[] | undefined;
50
+ };
51
+ //#endregion
52
+ export { apiContracts as default };
53
+ //# sourceMappingURL=apiContracts.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiContracts.d.mts","names":[],"sources":["../../../src/schemas/apiContracts.ts"],"mappings":";;qBA2Ea"}
@@ -0,0 +1,327 @@
1
+ import { defineApiContract, jsonApiResponses } from "@agimon-ai/doompi-core/api-contracts";
2
+ import { Type } from "typebox";
3
+ //#region src/schemas/apiContracts.ts
4
+ const S = Type.String();
5
+ const N = Type.Number();
6
+ const B = Type.Boolean();
7
+ const O = Type.Optional;
8
+ const values = (items) => Type.Union(items.map((item) => Type.Literal(item)));
9
+ const Step = {
10
+ name: S,
11
+ status: values([
12
+ "running",
13
+ "completed",
14
+ "skipped",
15
+ "failed",
16
+ "pause_requested",
17
+ "paused",
18
+ "resumed"
19
+ ]),
20
+ reason: O(S),
21
+ startedAt: O(S),
22
+ endedAt: O(S)
23
+ };
24
+ const Run = Type.Object({
25
+ runKey: S,
26
+ workspace: S,
27
+ displayName: S,
28
+ workflowName: O(S),
29
+ workflowPath: S,
30
+ stage: values([
31
+ "running",
32
+ "completed",
33
+ "error"
34
+ ]),
35
+ outcome: O(values([
36
+ "success",
37
+ "skipped",
38
+ "failed",
39
+ "interrupted"
40
+ ])),
41
+ executionState: O(values([
42
+ "running",
43
+ "pause_requested",
44
+ "paused",
45
+ "resume_requested"
46
+ ])),
47
+ prompt: O(S),
48
+ startedAt: S,
49
+ finishedAt: O(S),
50
+ errorMessage: O(S),
51
+ failedJob: O(S),
52
+ stale: O(B),
53
+ staleReason: O(S),
54
+ worktreeBranch: O(S),
55
+ position: O(Type.Object({
56
+ job: S,
57
+ step: O(S),
58
+ index: O(N),
59
+ total: O(N)
60
+ })),
61
+ jobs: Type.Array(Type.Object({
62
+ ...Step,
63
+ phase: values([
64
+ "pre",
65
+ "job",
66
+ "post"
67
+ ]),
68
+ index: O(N),
69
+ total: O(N),
70
+ steps: Type.Array(Type.Object(Step))
71
+ }))
72
+ });
73
+ const WorkflowRunsSchema = Type.Object({ runs: Type.Array(Run) });
74
+ const Artifact = {
75
+ path: S,
76
+ kind: values(["file", "directory"]),
77
+ description: S,
78
+ producedBy: Type.Array(S)
79
+ };
80
+ const WorkflowCatalogSchema = Type.Object({
81
+ cwd: S,
82
+ warning: O(S),
83
+ workflows: Type.Array(Type.Object({
84
+ path: S,
85
+ relativePath: S,
86
+ name: S,
87
+ description: S,
88
+ tags: Type.Array(S),
89
+ triggers: Type.Array(S),
90
+ inputs: Type.Array(Type.Object({
91
+ name: S,
92
+ description: O(S),
93
+ required: O(B),
94
+ default: O(S),
95
+ type: O(S),
96
+ options: O(Type.Array(S))
97
+ })),
98
+ jobs: Type.Array(Type.Object({
99
+ name: S,
100
+ steps: Type.Array(S)
101
+ })),
102
+ artifacts: Type.Array(Type.Object(Artifact)),
103
+ runners: O(Type.Array(S)),
104
+ error: O(S)
105
+ }))
106
+ });
107
+ const Screen = Type.Object({
108
+ lines: Type.Array(S),
109
+ capabilities: Type.Object({
110
+ readable: B,
111
+ writable: B,
112
+ resizable: B,
113
+ reason: O(S)
114
+ }),
115
+ ended: O(B)
116
+ });
117
+ const Control = Type.Object({
118
+ held: B,
119
+ token: O(S),
120
+ reason: O(S)
121
+ });
122
+ const root = "/runs/{workspace}/{runKey}";
123
+ const apiContracts = defineApiContract({
124
+ version: 1,
125
+ dynamic: [],
126
+ http: [
127
+ "global",
128
+ "workspace",
129
+ "session"
130
+ ].flatMap((scope) => [
131
+ {
132
+ id: "workflow.screen",
133
+ scope,
134
+ basePath: "workflow",
135
+ path: `${root}/screen/stream`,
136
+ method: "GET",
137
+ authentication: "owner",
138
+ description: "Follow the workflow terminal.",
139
+ responses: {
140
+ "200": {
141
+ description: "SSE stream with JSON screen events.",
142
+ contentType: "text/event-stream",
143
+ schema: S,
144
+ events: { screen: Screen }
145
+ },
146
+ "404": {
147
+ description: "Run unavailable.",
148
+ schema: Type.Object({ error: S })
149
+ }
150
+ }
151
+ },
152
+ {
153
+ id: "workflow.control",
154
+ scope,
155
+ basePath: "workflow",
156
+ path: `${root}/control`,
157
+ method: "POST",
158
+ authentication: "owner",
159
+ description: "Take or release the keyboard.",
160
+ body: {
161
+ required: true,
162
+ contentType: "application/json",
163
+ schema: Type.Object({
164
+ release: O(B),
165
+ token: O(S)
166
+ })
167
+ },
168
+ responses: {
169
+ ...jsonApiResponses(Control),
170
+ "409": {
171
+ description: "Keyboard unavailable.",
172
+ schema: Control
173
+ }
174
+ }
175
+ },
176
+ {
177
+ id: "workflow.keys",
178
+ scope,
179
+ basePath: "workflow",
180
+ path: `${root}/keys`,
181
+ method: "POST",
182
+ authentication: "owner",
183
+ description: "Write terminal data with the control token.",
184
+ body: {
185
+ required: true,
186
+ contentType: "application/json",
187
+ schema: Type.Object({
188
+ token: S,
189
+ data: S
190
+ })
191
+ },
192
+ responses: {
193
+ "204": { description: "Data written." },
194
+ "400": {
195
+ description: "Invalid request.",
196
+ schema: Type.Object({ error: S })
197
+ },
198
+ "409": {
199
+ description: "Write refused.",
200
+ schema: Type.Object({ error: S })
201
+ }
202
+ }
203
+ },
204
+ {
205
+ id: "workflow.resize",
206
+ scope,
207
+ basePath: "workflow",
208
+ path: `${root}/resize`,
209
+ method: "POST",
210
+ authentication: "owner",
211
+ description: "Resize the terminal.",
212
+ body: {
213
+ required: true,
214
+ contentType: "application/json",
215
+ schema: Type.Object({
216
+ token: S,
217
+ columns: N,
218
+ rows: N
219
+ })
220
+ },
221
+ responses: jsonApiResponses(Type.Object({ resized: B }))
222
+ },
223
+ {
224
+ id: "workflow.delete",
225
+ scope,
226
+ basePath: "workflow",
227
+ path: root,
228
+ method: "DELETE",
229
+ authentication: "owner",
230
+ description: "Delete a settled run and its directory.",
231
+ responses: jsonApiResponses(Type.Object({ deleted: Type.Literal(true) }))
232
+ },
233
+ {
234
+ id: "workflow.artifacts",
235
+ scope,
236
+ basePath: "workflow",
237
+ path: `${root}/artifacts`,
238
+ method: "GET",
239
+ authentication: "owner",
240
+ description: "List declared and discovered artifacts.",
241
+ responses: jsonApiResponses(Type.Object({
242
+ runDir: S,
243
+ description: S,
244
+ artifacts: Type.Array(Type.Object({
245
+ ...Artifact,
246
+ declared: B,
247
+ state: values([
248
+ "written",
249
+ "empty",
250
+ "pending",
251
+ "unreadable"
252
+ ]),
253
+ size: O(N),
254
+ modifiedAt: O(S)
255
+ }))
256
+ }))
257
+ },
258
+ {
259
+ id: "workflow.artifact",
260
+ scope,
261
+ basePath: "workflow",
262
+ path: `${root}/artifacts/{name}`,
263
+ method: "GET",
264
+ authentication: "owner",
265
+ description: "Read artifact metadata and text. name may contain nested path segments. raw=1 streams binary with its media type and supports byte ranges.",
266
+ parameters: [
267
+ {
268
+ name: "raw",
269
+ in: "query",
270
+ required: false,
271
+ schema: values(["0", "1"])
272
+ },
273
+ {
274
+ name: "download",
275
+ in: "query",
276
+ required: false,
277
+ schema: values(["0", "1"])
278
+ },
279
+ {
280
+ name: "range",
281
+ in: "header",
282
+ required: false,
283
+ schema: S
284
+ }
285
+ ],
286
+ responses: {
287
+ ...jsonApiResponses(Type.Union([Type.Object({
288
+ path: S,
289
+ size: N,
290
+ modifiedAt: S,
291
+ mimeType: O(S),
292
+ text: O(S),
293
+ truncated: B
294
+ }), S])),
295
+ "206": {
296
+ description: "Partial raw bytes.",
297
+ contentType: "application/octet-stream",
298
+ schema: S
299
+ },
300
+ "416": { description: "Unsatisfiable byte range." }
301
+ }
302
+ }
303
+ ]),
304
+ sockets: ["global", "workspace"].flatMap((scope) => [{
305
+ id: "workflow.runs",
306
+ scope,
307
+ service: "doompi.hub.v1",
308
+ member: "workflow_runs",
309
+ kind: "channel",
310
+ direction: "server-to-client",
311
+ description: "Workflow runs channel payload.",
312
+ input: WorkflowRunsSchema
313
+ }, {
314
+ id: "workflow.catalog",
315
+ scope,
316
+ service: "doompi.hub.v1",
317
+ member: "workflow_catalog",
318
+ kind: "channel",
319
+ direction: "server-to-client",
320
+ description: "Workflow catalog channel payload.",
321
+ input: WorkflowCatalogSchema
322
+ }])
323
+ });
324
+ //#endregion
325
+ export { WorkflowCatalogSchema, WorkflowRunsSchema, apiContracts, apiContracts as default };
326
+
327
+ //# sourceMappingURL=apiContracts.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiContracts.mjs","names":[],"sources":["../../../src/schemas/apiContracts.ts"],"sourcesContent":["import { defineApiContract, jsonApiResponses, type DoomHttpContract } from '@agimon-ai/doompi-core/api-contracts';\nimport { Type } from 'typebox';\n\nconst S = Type.String();\nconst N = Type.Number();\nconst B = Type.Boolean();\nconst O = Type.Optional;\nconst values = <T extends string>(items: T[]) => Type.Union(items.map((item) => Type.Literal(item)));\nconst Progress = values(['running', 'completed', 'skipped', 'failed', 'pause_requested', 'paused', 'resumed']);\nconst Step = { name: S, status: Progress, reason: O(S), startedAt: O(S), endedAt: O(S) };\nconst Run = Type.Object({\n runKey: S,\n workspace: S,\n displayName: S,\n workflowName: O(S),\n workflowPath: S,\n stage: values(['running', 'completed', 'error']),\n outcome: O(values(['success', 'skipped', 'failed', 'interrupted'])),\n executionState: O(values(['running', 'pause_requested', 'paused', 'resume_requested'])),\n prompt: O(S),\n startedAt: S,\n finishedAt: O(S),\n errorMessage: O(S),\n failedJob: O(S),\n stale: O(B),\n staleReason: O(S),\n worktreeBranch: O(S),\n position: O(Type.Object({ job: S, step: O(S), index: O(N), total: O(N) })),\n jobs: Type.Array(\n Type.Object({\n ...Step,\n phase: values(['pre', 'job', 'post']),\n index: O(N),\n total: O(N),\n steps: Type.Array(Type.Object(Step)),\n }),\n ),\n});\nexport const WorkflowRunsSchema = Type.Object({ runs: Type.Array(Run) });\nconst Artifact = { path: S, kind: values(['file', 'directory']), description: S, producedBy: Type.Array(S) };\nexport const WorkflowCatalogSchema = Type.Object({\n cwd: S,\n warning: O(S),\n workflows: Type.Array(\n Type.Object({\n path: S,\n relativePath: S,\n name: S,\n description: S,\n tags: Type.Array(S),\n triggers: Type.Array(S),\n inputs: Type.Array(\n Type.Object({\n name: S,\n description: O(S),\n required: O(B),\n default: O(S),\n type: O(S),\n options: O(Type.Array(S)),\n }),\n ),\n jobs: Type.Array(Type.Object({ name: S, steps: Type.Array(S) })),\n artifacts: Type.Array(Type.Object(Artifact)),\n runners: O(Type.Array(S)),\n error: O(S),\n }),\n ),\n});\nconst Screen = Type.Object({\n lines: Type.Array(S),\n capabilities: Type.Object({ readable: B, writable: B, resizable: B, reason: O(S) }),\n ended: O(B),\n});\nconst Control = Type.Object({ held: B, token: O(S), reason: O(S) });\nconst root = '/runs/{workspace}/{runKey}';\nexport const apiContracts = defineApiContract({\n version: 1,\n dynamic: [],\n http: (['global', 'workspace', 'session'] as const).flatMap((scope): DoomHttpContract[] => [\n {\n id: 'workflow.screen',\n scope,\n basePath: 'workflow',\n path: `${root}/screen/stream`,\n method: 'GET',\n authentication: 'owner',\n description: 'Follow the workflow terminal.',\n responses: {\n '200': {\n description: 'SSE stream with JSON screen events.',\n contentType: 'text/event-stream',\n schema: S,\n events: { screen: Screen },\n },\n '404': { description: 'Run unavailable.', schema: Type.Object({ error: S }) },\n },\n },\n {\n id: 'workflow.control',\n scope,\n basePath: 'workflow',\n path: `${root}/control`,\n method: 'POST',\n authentication: 'owner',\n description: 'Take or release the keyboard.',\n body: { required: true, contentType: 'application/json', schema: Type.Object({ release: O(B), token: O(S) }) },\n responses: { ...jsonApiResponses(Control), '409': { description: 'Keyboard unavailable.', schema: Control } },\n },\n {\n id: 'workflow.keys',\n scope,\n basePath: 'workflow',\n path: `${root}/keys`,\n method: 'POST',\n authentication: 'owner',\n description: 'Write terminal data with the control token.',\n body: { required: true, contentType: 'application/json', schema: Type.Object({ token: S, data: S }) },\n responses: {\n '204': { description: 'Data written.' },\n '400': { description: 'Invalid request.', schema: Type.Object({ error: S }) },\n '409': { description: 'Write refused.', schema: Type.Object({ error: S }) },\n },\n },\n {\n id: 'workflow.resize',\n scope,\n basePath: 'workflow',\n path: `${root}/resize`,\n method: 'POST',\n authentication: 'owner',\n description: 'Resize the terminal.',\n body: { required: true, contentType: 'application/json', schema: Type.Object({ token: S, columns: N, rows: N }) },\n responses: jsonApiResponses(Type.Object({ resized: B })),\n },\n {\n id: 'workflow.delete',\n scope,\n basePath: 'workflow',\n path: root,\n method: 'DELETE',\n authentication: 'owner',\n description: 'Delete a settled run and its directory.',\n responses: jsonApiResponses(Type.Object({ deleted: Type.Literal(true) })),\n },\n {\n id: 'workflow.artifacts',\n scope,\n basePath: 'workflow',\n path: `${root}/artifacts`,\n method: 'GET',\n authentication: 'owner',\n description: 'List declared and discovered artifacts.',\n responses: jsonApiResponses(\n Type.Object({\n runDir: S,\n description: S,\n artifacts: Type.Array(\n Type.Object({\n ...Artifact,\n declared: B,\n state: values(['written', 'empty', 'pending', 'unreadable']),\n size: O(N),\n modifiedAt: O(S),\n }),\n ),\n }),\n ),\n },\n {\n id: 'workflow.artifact',\n scope,\n basePath: 'workflow',\n path: `${root}/artifacts/{name}`,\n method: 'GET',\n authentication: 'owner',\n description:\n 'Read artifact metadata and text. name may contain nested path segments. raw=1 streams binary with its media type and supports byte ranges.',\n parameters: [\n { name: 'raw', in: 'query', required: false, schema: values(['0', '1']) },\n { name: 'download', in: 'query', required: false, schema: values(['0', '1']) },\n { name: 'range', in: 'header', required: false, schema: S },\n ],\n responses: {\n ...jsonApiResponses(\n Type.Union([Type.Object({ path: S, size: N, modifiedAt: S, mimeType: O(S), text: O(S), truncated: B }), S]),\n ),\n '206': { description: 'Partial raw bytes.', contentType: 'application/octet-stream', schema: S },\n '416': { description: 'Unsatisfiable byte range.' },\n },\n },\n ]),\n sockets: (['global', 'workspace'] as const).flatMap((scope) => [\n {\n id: 'workflow.runs',\n scope,\n service: 'doompi.hub.v1',\n member: 'workflow_runs',\n kind: 'channel',\n direction: 'server-to-client',\n description: 'Workflow runs channel payload.',\n input: WorkflowRunsSchema,\n },\n {\n id: 'workflow.catalog',\n scope,\n service: 'doompi.hub.v1',\n member: 'workflow_catalog',\n kind: 'channel',\n direction: 'server-to-client',\n description: 'Workflow catalog channel payload.',\n input: WorkflowCatalogSchema,\n },\n ]),\n});\nexport default apiContracts;\n"],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ let zod = require("zod");
2
+ //#region src/schemas/workflowPi.ts
3
+ const RUN_SELECTOR_FIELDS = {
4
+ runKey: zod.z.string().min(1).describe("Run key of the workflow run."),
5
+ workspace: zod.z.string().optional().describe("Workspace the run belongs to.")
6
+ };
7
+ const workflowRunInputSchema = zod.z.discriminatedUnion("action", [
8
+ zod.z.object({
9
+ action: zod.z.literal("status"),
10
+ ...RUN_SELECTOR_FIELDS
11
+ }).strict(),
12
+ zod.z.object({
13
+ action: zod.z.literal("tail"),
14
+ ...RUN_SELECTOR_FIELDS
15
+ }).strict(),
16
+ zod.z.object({
17
+ action: zod.z.literal("recovery-evidence"),
18
+ ...RUN_SELECTOR_FIELDS
19
+ }).strict(),
20
+ zod.z.object({
21
+ action: zod.z.literal("follow"),
22
+ ...RUN_SELECTOR_FIELDS
23
+ }).strict(),
24
+ zod.z.object({
25
+ action: zod.z.literal("open"),
26
+ ...RUN_SELECTOR_FIELDS
27
+ }).strict(),
28
+ zod.z.object({
29
+ action: zod.z.literal("pause"),
30
+ ...RUN_SELECTOR_FIELDS,
31
+ reason: zod.z.string().optional()
32
+ }).strict(),
33
+ zod.z.object({
34
+ action: zod.z.literal("resume"),
35
+ ...RUN_SELECTOR_FIELDS,
36
+ reason: zod.z.string().optional()
37
+ }).strict(),
38
+ zod.z.object({
39
+ action: zod.z.literal("stop"),
40
+ ...RUN_SELECTOR_FIELDS,
41
+ reason: zod.z.string().optional()
42
+ }).strict(),
43
+ zod.z.object({
44
+ action: zod.z.literal("recover"),
45
+ ...RUN_SELECTOR_FIELDS,
46
+ dryRun: zod.z.boolean().optional(),
47
+ job: zod.z.string().optional(),
48
+ runner: zod.z.string().optional()
49
+ }).strict()
50
+ ]);
51
+ const dispatchInputSchema = zod.z.object({
52
+ description: zod.z.string().optional().describe("Description shown for the workflow input."),
53
+ required: zod.z.boolean().optional().describe("Whether the workflow input must be provided."),
54
+ default: zod.z.string().optional().describe("Default value for the workflow input."),
55
+ type: zod.z.string().optional().describe("Declared workflow input type."),
56
+ options: zod.z.array(zod.z.string()).optional().describe("Allowed values for the workflow input.")
57
+ }).passthrough();
58
+ const workflowDispatchInputsSchema = zod.z.object({ inputs: zod.z.record(zod.z.string(), dispatchInputSchema).optional().describe("Workflow dispatch input definitions.") }).passthrough();
59
+ const workflowCatalogPageSchema = zod.z.object({
60
+ directory: zod.z.string().min(1).describe("Directory searched for workflow definitions."),
61
+ hasNextPage: zod.z.boolean().describe("Whether another catalog page exists."),
62
+ page: zod.z.number().int().positive().describe("One-based catalog page number."),
63
+ pageSize: zod.z.number().int().positive().describe("Catalog page size."),
64
+ workflows: zod.z.array(zod.z.object({
65
+ path: zod.z.string().min(1).describe("Workflow path relative to the catalog directory."),
66
+ name: zod.z.string().describe("Workflow display name."),
67
+ description: zod.z.string().describe("Workflow description."),
68
+ tags: zod.z.array(zod.z.string()).describe("Workflow tags.")
69
+ }).passthrough()).describe("Workflow definitions on this page.")
70
+ }).passthrough();
71
+ //#endregion
72
+ exports.dispatchInputSchema = dispatchInputSchema;
73
+ exports.workflowCatalogPageSchema = workflowCatalogPageSchema;
74
+ exports.workflowDispatchInputsSchema = workflowDispatchInputsSchema;
75
+ exports.workflowRunInputSchema = workflowRunInputSchema;
76
+
77
+ //# sourceMappingURL=workflowPi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflowPi.cjs","names":["z"],"sources":["../../../src/schemas/workflowPi.ts"],"sourcesContent":["import { z } from 'zod';\n\nconst RUN_SELECTOR_FIELDS = {\n runKey: z.string().min(1).describe('Run key of the workflow run.'),\n workspace: z.string().optional().describe('Workspace the run belongs to.'),\n} as const;\n\nexport const workflowRunInputSchema = z.discriminatedUnion('action', [\n z.object({ action: z.literal('status'), ...RUN_SELECTOR_FIELDS }).strict(),\n z.object({ action: z.literal('tail'), ...RUN_SELECTOR_FIELDS }).strict(),\n z.object({ action: z.literal('recovery-evidence'), ...RUN_SELECTOR_FIELDS }).strict(),\n z.object({ action: z.literal('follow'), ...RUN_SELECTOR_FIELDS }).strict(),\n z.object({ action: z.literal('open'), ...RUN_SELECTOR_FIELDS }).strict(),\n z.object({ action: z.literal('pause'), ...RUN_SELECTOR_FIELDS, reason: z.string().optional() }).strict(),\n z.object({ action: z.literal('resume'), ...RUN_SELECTOR_FIELDS, reason: z.string().optional() }).strict(),\n z.object({ action: z.literal('stop'), ...RUN_SELECTOR_FIELDS, reason: z.string().optional() }).strict(),\n z\n .object({\n action: z.literal('recover'),\n ...RUN_SELECTOR_FIELDS,\n dryRun: z.boolean().optional(),\n job: z.string().optional(),\n runner: z.string().optional(),\n })\n .strict(),\n]);\n\nexport type WorkflowRunInput = z.infer<typeof workflowRunInputSchema>;\n\nexport const dispatchInputSchema = z\n .object({\n description: z.string().optional().describe('Description shown for the workflow input.'),\n required: z.boolean().optional().describe('Whether the workflow input must be provided.'),\n default: z.string().optional().describe('Default value for the workflow input.'),\n type: z.string().optional().describe('Declared workflow input type.'),\n options: z.array(z.string()).optional().describe('Allowed values for the workflow input.'),\n })\n .passthrough();\n\nexport type DispatchInput = z.infer<typeof dispatchInputSchema>;\n\nexport const workflowDispatchInputsSchema = z\n .object({\n inputs: z.record(z.string(), dispatchInputSchema).optional().describe('Workflow dispatch input definitions.'),\n })\n .passthrough();\n\nexport const workflowCatalogPageSchema = z\n .object({\n directory: z.string().min(1).describe('Directory searched for workflow definitions.'),\n hasNextPage: z.boolean().describe('Whether another catalog page exists.'),\n page: z.number().int().positive().describe('One-based catalog page number.'),\n pageSize: z.number().int().positive().describe('Catalog page size.'),\n workflows: z\n .array(\n z\n .object({\n path: z.string().min(1).describe('Workflow path relative to the catalog directory.'),\n name: z.string().describe('Workflow display name.'),\n description: z.string().describe('Workflow description.'),\n tags: z.array(z.string()).describe('Workflow tags.'),\n })\n .passthrough(),\n )\n .describe('Workflow definitions on this page.'),\n })\n .passthrough();\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import "zod";
@@ -0,0 +1 @@
1
+ import { z } from "zod";
@@ -0,0 +1,74 @@
1
+ import { z } from "zod";
2
+ //#region src/schemas/workflowPi.ts
3
+ const RUN_SELECTOR_FIELDS = {
4
+ runKey: z.string().min(1).describe("Run key of the workflow run."),
5
+ workspace: z.string().optional().describe("Workspace the run belongs to.")
6
+ };
7
+ const workflowRunInputSchema = z.discriminatedUnion("action", [
8
+ z.object({
9
+ action: z.literal("status"),
10
+ ...RUN_SELECTOR_FIELDS
11
+ }).strict(),
12
+ z.object({
13
+ action: z.literal("tail"),
14
+ ...RUN_SELECTOR_FIELDS
15
+ }).strict(),
16
+ z.object({
17
+ action: z.literal("recovery-evidence"),
18
+ ...RUN_SELECTOR_FIELDS
19
+ }).strict(),
20
+ z.object({
21
+ action: z.literal("follow"),
22
+ ...RUN_SELECTOR_FIELDS
23
+ }).strict(),
24
+ z.object({
25
+ action: z.literal("open"),
26
+ ...RUN_SELECTOR_FIELDS
27
+ }).strict(),
28
+ z.object({
29
+ action: z.literal("pause"),
30
+ ...RUN_SELECTOR_FIELDS,
31
+ reason: z.string().optional()
32
+ }).strict(),
33
+ z.object({
34
+ action: z.literal("resume"),
35
+ ...RUN_SELECTOR_FIELDS,
36
+ reason: z.string().optional()
37
+ }).strict(),
38
+ z.object({
39
+ action: z.literal("stop"),
40
+ ...RUN_SELECTOR_FIELDS,
41
+ reason: z.string().optional()
42
+ }).strict(),
43
+ z.object({
44
+ action: z.literal("recover"),
45
+ ...RUN_SELECTOR_FIELDS,
46
+ dryRun: z.boolean().optional(),
47
+ job: z.string().optional(),
48
+ runner: z.string().optional()
49
+ }).strict()
50
+ ]);
51
+ const dispatchInputSchema = z.object({
52
+ description: z.string().optional().describe("Description shown for the workflow input."),
53
+ required: z.boolean().optional().describe("Whether the workflow input must be provided."),
54
+ default: z.string().optional().describe("Default value for the workflow input."),
55
+ type: z.string().optional().describe("Declared workflow input type."),
56
+ options: z.array(z.string()).optional().describe("Allowed values for the workflow input.")
57
+ }).passthrough();
58
+ const workflowDispatchInputsSchema = z.object({ inputs: z.record(z.string(), dispatchInputSchema).optional().describe("Workflow dispatch input definitions.") }).passthrough();
59
+ const workflowCatalogPageSchema = z.object({
60
+ directory: z.string().min(1).describe("Directory searched for workflow definitions."),
61
+ hasNextPage: z.boolean().describe("Whether another catalog page exists."),
62
+ page: z.number().int().positive().describe("One-based catalog page number."),
63
+ pageSize: z.number().int().positive().describe("Catalog page size."),
64
+ workflows: z.array(z.object({
65
+ path: z.string().min(1).describe("Workflow path relative to the catalog directory."),
66
+ name: z.string().describe("Workflow display name."),
67
+ description: z.string().describe("Workflow description."),
68
+ tags: z.array(z.string()).describe("Workflow tags.")
69
+ }).passthrough()).describe("Workflow definitions on this page.")
70
+ }).passthrough();
71
+ //#endregion
72
+ export { dispatchInputSchema, workflowCatalogPageSchema, workflowDispatchInputsSchema, workflowRunInputSchema };
73
+
74
+ //# sourceMappingURL=workflowPi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflowPi.mjs","names":[],"sources":["../../../src/schemas/workflowPi.ts"],"sourcesContent":["import { z } from 'zod';\n\nconst RUN_SELECTOR_FIELDS = {\n runKey: z.string().min(1).describe('Run key of the workflow run.'),\n workspace: z.string().optional().describe('Workspace the run belongs to.'),\n} as const;\n\nexport const workflowRunInputSchema = z.discriminatedUnion('action', [\n z.object({ action: z.literal('status'), ...RUN_SELECTOR_FIELDS }).strict(),\n z.object({ action: z.literal('tail'), ...RUN_SELECTOR_FIELDS }).strict(),\n z.object({ action: z.literal('recovery-evidence'), ...RUN_SELECTOR_FIELDS }).strict(),\n z.object({ action: z.literal('follow'), ...RUN_SELECTOR_FIELDS }).strict(),\n z.object({ action: z.literal('open'), ...RUN_SELECTOR_FIELDS }).strict(),\n z.object({ action: z.literal('pause'), ...RUN_SELECTOR_FIELDS, reason: z.string().optional() }).strict(),\n z.object({ action: z.literal('resume'), ...RUN_SELECTOR_FIELDS, reason: z.string().optional() }).strict(),\n z.object({ action: z.literal('stop'), ...RUN_SELECTOR_FIELDS, reason: z.string().optional() }).strict(),\n z\n .object({\n action: z.literal('recover'),\n ...RUN_SELECTOR_FIELDS,\n dryRun: z.boolean().optional(),\n job: z.string().optional(),\n runner: z.string().optional(),\n })\n .strict(),\n]);\n\nexport type WorkflowRunInput = z.infer<typeof workflowRunInputSchema>;\n\nexport const dispatchInputSchema = z\n .object({\n description: z.string().optional().describe('Description shown for the workflow input.'),\n required: z.boolean().optional().describe('Whether the workflow input must be provided.'),\n default: z.string().optional().describe('Default value for the workflow input.'),\n type: z.string().optional().describe('Declared workflow input type.'),\n options: z.array(z.string()).optional().describe('Allowed values for the workflow input.'),\n })\n .passthrough();\n\nexport type DispatchInput = z.infer<typeof dispatchInputSchema>;\n\nexport const workflowDispatchInputsSchema = z\n .object({\n inputs: z.record(z.string(), dispatchInputSchema).optional().describe('Workflow dispatch input definitions.'),\n })\n .passthrough();\n\nexport const workflowCatalogPageSchema = z\n .object({\n directory: z.string().min(1).describe('Directory searched for workflow definitions.'),\n hasNextPage: z.boolean().describe('Whether another catalog page exists.'),\n page: z.number().int().positive().describe('One-based catalog page number.'),\n pageSize: z.number().int().positive().describe('Catalog page size.'),\n workflows: z\n .array(\n z\n .object({\n path: z.string().min(1).describe('Workflow path relative to the catalog directory.'),\n name: z.string().describe('Workflow display name.'),\n description: z.string().describe('Workflow description.'),\n tags: z.array(z.string()).describe('Workflow tags.'),\n })\n .passthrough(),\n )\n .describe('Workflow definitions on this page.'),\n })\n .passthrough();\n"],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ let _agimon_ai_doompi_core_background_work = require("@agimon-ai/doompi-core/background-work");
2
+ //#region src/services/backgroundWork/index.ts
3
+ /**
4
+ * Background-work registration for workflow runs.
5
+ *
6
+ * DESIGN PATTERNS:
7
+ * - Hard dependency binding through Cordis injection
8
+ * - Snapshot pattern: the extension pushes the current run set, the provider
9
+ * only reads it
10
+ *
11
+ * CODING STANDARDS:
12
+ * - Named exports only
13
+ * - Explicit return types on exported functions
14
+ *
15
+ * AVOID:
16
+ * - Process-global symbols or dynamic imports for extension communication
17
+ * - Reporting runs owned by another Pi session
18
+ */
19
+ const PROVIDER_NAME = "workflow-mcp";
20
+ /**
21
+ * Register a background-work provider for this session's workflow runs.
22
+ *
23
+ * The runtime pins all announcements to the active Pi session and validates
24
+ * each snapshot before it reaches another extension.
25
+ */
26
+ function registerRunProvider(ctx) {
27
+ let items = [];
28
+ let provider;
29
+ let disposed = false;
30
+ ctx.inject([_agimon_ai_doompi_core_background_work.DOOM_BACKGROUND_WORK_SERVICE], (serviceContext) => {
31
+ if (disposed) return void 0;
32
+ const service = (0, _agimon_ai_doompi_core_background_work.readDoomBackgroundWorkService)(serviceContext);
33
+ if (!service) return void 0;
34
+ const registration = service.register({
35
+ provider: PROVIDER_NAME,
36
+ listActiveWork: () => items
37
+ });
38
+ provider = registration;
39
+ return () => {
40
+ registration.dispose();
41
+ if (provider === registration) provider = void 0;
42
+ };
43
+ });
44
+ return {
45
+ update(next) {
46
+ items = next;
47
+ provider?.update();
48
+ },
49
+ dispose() {
50
+ if (disposed) return;
51
+ disposed = true;
52
+ items = [];
53
+ provider?.dispose();
54
+ provider = void 0;
55
+ }
56
+ };
57
+ }
58
+ //#endregion
59
+ exports.registerRunProvider = registerRunProvider;
60
+
61
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["DOOM_BACKGROUND_WORK_SERVICE","readDoomBackgroundWorkService"],"sources":["../../../../src/services/backgroundWork/index.ts"],"sourcesContent":["/**\n * Background-work registration for workflow runs.\n *\n * DESIGN PATTERNS:\n * - Hard dependency binding through Cordis injection\n * - Snapshot pattern: the extension pushes the current run set, the provider\n * only reads it\n *\n * CODING STANDARDS:\n * - Named exports only\n * - Explicit return types on exported functions\n *\n * AVOID:\n * - Process-global symbols or dynamic imports for extension communication\n * - Reporting runs owned by another Pi session\n */\n\nimport {\n DOOM_BACKGROUND_WORK_SERVICE,\n type BackgroundWorkProviderHandle,\n readDoomBackgroundWorkService,\n} from '@agimon-ai/doompi-core/background-work';\nimport type { Context } from '@deepseek-ai/cordis';\n\nexport interface RunProviderItem {\n id: string;\n sessionId: string;\n}\n\nexport interface RunProviderHandle {\n /** Replace the reported run set. */\n update(items: RunProviderItem[]): void;\n /** Remove the registration. Safe to call when registration never happened. */\n dispose(): void;\n}\n\nconst PROVIDER_NAME = 'workflow-mcp';\n\n/**\n * Register a background-work provider for this session's workflow runs.\n *\n * The runtime pins all announcements to the active Pi session and validates\n * each snapshot before it reaches another extension.\n */\nexport function registerRunProvider(ctx: Context): RunProviderHandle {\n let items: RunProviderItem[] = [];\n let provider: BackgroundWorkProviderHandle | undefined;\n let disposed = false;\n ctx.inject([DOOM_BACKGROUND_WORK_SERVICE], (serviceContext) => {\n if (disposed) return undefined;\n const service = readDoomBackgroundWorkService(serviceContext);\n if (!service) return undefined;\n const registration = service.register({ provider: PROVIDER_NAME, listActiveWork: () => items });\n provider = registration;\n return () => {\n registration.dispose();\n if (provider === registration) provider = undefined;\n };\n });\n const handle: RunProviderHandle = {\n update(next) {\n items = next;\n provider?.update();\n },\n dispose() {\n if (disposed) return;\n disposed = true;\n items = [];\n provider?.dispose();\n provider = undefined;\n },\n };\n return handle;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAoCA,MAAM,gBAAgB;;;;;;;AAQtB,SAAgB,oBAAoB,KAAiC;CACnE,IAAI,QAA2B,CAAC;CAChC,IAAI;CACJ,IAAI,WAAW;CACf,IAAI,OAAO,CAACA,uCAAAA,4BAA4B,IAAI,mBAAmB;EAC7D,IAAI,UAAU,OAAO,KAAA;EACrB,MAAM,WAAA,GAAUC,uCAAAA,8BAAAA,CAA8B,cAAc;EAC5D,IAAI,CAAC,SAAS,OAAO,KAAA;EACrB,MAAM,eAAe,QAAQ,SAAS;GAAE,UAAU;GAAe,sBAAsB;EAAM,CAAC;EAC9F,WAAW;EACX,aAAa;GACX,aAAa,QAAQ;GACrB,IAAI,aAAa,cAAc,WAAW,KAAA;EAC5C;CACF,CAAC;CAcD,OAAO;EAZL,OAAO,MAAM;GACX,QAAQ;GACR,UAAU,OAAO;EACnB;EACA,UAAU;GACR,IAAI,UAAU;GACd,WAAW;GACX,QAAQ,CAAC;GACT,UAAU,QAAQ;GAClB,WAAW,KAAA;EACb;CAEU;AACd"}