@agimon-ai/po-runner 0.0.0-alpha.0

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 (322) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +257 -0
  3. package/dist/ansiScrub-CsqTSaVT.mjs +71 -0
  4. package/dist/ansiScrub-CsqTSaVT.mjs.map +1 -0
  5. package/dist/ansiScrub-D5gpHDch.cjs +100 -0
  6. package/dist/ansiScrub-D5gpHDch.cjs.map +1 -0
  7. package/dist/ansiScrub.cjs +7 -0
  8. package/dist/ansiScrub.d.mts +26 -0
  9. package/dist/ansiScrub.d.mts.map +1 -0
  10. package/dist/ansiScrub.mjs +2 -0
  11. package/dist/apiContracts.cjs +162 -0
  12. package/dist/apiContracts.cjs.map +1 -0
  13. package/dist/apiContracts.d.mts +53 -0
  14. package/dist/apiContracts.d.mts.map +1 -0
  15. package/dist/apiContracts.mjs +157 -0
  16. package/dist/apiContracts.mjs.map +1 -0
  17. package/dist/bashResult-DNgtahGR.cjs +629 -0
  18. package/dist/bashResult-DNgtahGR.cjs.map +1 -0
  19. package/dist/bashResult-DcrRaBLv.d.mts +49 -0
  20. package/dist/bashResult-DcrRaBLv.d.mts.map +1 -0
  21. package/dist/bashResult-bIVSzoj-.mjs +546 -0
  22. package/dist/bashResult-bIVSzoj-.mjs.map +1 -0
  23. package/dist/bashRunService-CJ02XaAq.mjs +440 -0
  24. package/dist/bashRunService-CJ02XaAq.mjs.map +1 -0
  25. package/dist/bashRunService-Ci0cGdYO.d.mts +71 -0
  26. package/dist/bashRunService-Ci0cGdYO.d.mts.map +1 -0
  27. package/dist/bashRunService-DyqxOSlx.cjs +445 -0
  28. package/dist/bashRunService-DyqxOSlx.cjs.map +1 -0
  29. package/dist/bashRunService.cjs +3 -0
  30. package/dist/bashRunService.d.mts +36 -0
  31. package/dist/bashRunService.d.mts.map +1 -0
  32. package/dist/bashRunService.mjs +2 -0
  33. package/dist/bashSchema.cjs +5 -0
  34. package/dist/bashSchema.d.mts +7 -0
  35. package/dist/bashSchema.d.mts.map +1 -0
  36. package/dist/bashSchema.mjs +2 -0
  37. package/dist/bashTool-B1EwZLo_.d.mts +20 -0
  38. package/dist/bashTool-B1EwZLo_.d.mts.map +1 -0
  39. package/dist/bashTool-C-k7fmyh.mjs +24 -0
  40. package/dist/bashTool-C-k7fmyh.mjs.map +1 -0
  41. package/dist/bashTool-CdgtqVFD.cjs +41 -0
  42. package/dist/bashTool-CdgtqVFD.cjs.map +1 -0
  43. package/dist/bashTool.cjs +13 -0
  44. package/dist/bashTool.cjs.map +1 -0
  45. package/dist/bashTool.d.mts +8 -0
  46. package/dist/bashTool.d.mts.map +1 -0
  47. package/dist/bashTool.mjs +11 -0
  48. package/dist/bashTool.mjs.map +1 -0
  49. package/dist/bin/cli.cjs +78 -0
  50. package/dist/bin/cli.cjs.map +1 -0
  51. package/dist/bin/cli.d.mts +4 -0
  52. package/dist/bin/cli.d.mts.map +1 -0
  53. package/dist/bin/cli.mjs +77 -0
  54. package/dist/bin/cli.mjs.map +1 -0
  55. package/dist/bin/logSink.cjs +102 -0
  56. package/dist/bin/logSink.cjs.map +1 -0
  57. package/dist/bin/logSink.d.mts +4 -0
  58. package/dist/bin/logSink.d.mts.map +1 -0
  59. package/dist/bin/logSink.mjs +99 -0
  60. package/dist/bin/logSink.mjs.map +1 -0
  61. package/dist/bin/runnerHost.cjs +131 -0
  62. package/dist/bin/runnerHost.cjs.map +1 -0
  63. package/dist/bin/runnerHost.d.mts +4 -0
  64. package/dist/bin/runnerHost.d.mts.map +1 -0
  65. package/dist/bin/runnerHost.mjs +127 -0
  66. package/dist/bin/runnerHost.mjs.map +1 -0
  67. package/dist/cliApp-Dj9nwaOv.cjs +244 -0
  68. package/dist/cliApp-Dj9nwaOv.cjs.map +1 -0
  69. package/dist/cliApp-v8Z3rMCi.mjs +237 -0
  70. package/dist/cliApp-v8Z3rMCi.mjs.map +1 -0
  71. package/dist/cliApp.cjs +3 -0
  72. package/dist/cliApp.d.mts +18 -0
  73. package/dist/cliApp.d.mts.map +1 -0
  74. package/dist/cliApp.mjs +2 -0
  75. package/dist/clock-Cv2pddgo.mjs +16 -0
  76. package/dist/clock-Cv2pddgo.mjs.map +1 -0
  77. package/dist/clock-euJkweLq.d.mts +11 -0
  78. package/dist/clock-euJkweLq.d.mts.map +1 -0
  79. package/dist/clock-jqnLWziT.cjs +21 -0
  80. package/dist/clock-jqnLWziT.cjs.map +1 -0
  81. package/dist/clock.cjs +3 -0
  82. package/dist/clock.d.mts +10 -0
  83. package/dist/clock.d.mts.map +1 -0
  84. package/dist/clock.mjs +2 -0
  85. package/dist/compaction-4QSUsBxq.cjs +40 -0
  86. package/dist/compaction-4QSUsBxq.cjs.map +1 -0
  87. package/dist/compaction-DCw80VZj.mjs +29 -0
  88. package/dist/compaction-DCw80VZj.mjs.map +1 -0
  89. package/dist/compaction.cjs +4 -0
  90. package/dist/compaction.d.mts +10 -0
  91. package/dist/compaction.d.mts.map +1 -0
  92. package/dist/compaction.mjs +2 -0
  93. package/dist/config.cjs +41 -0
  94. package/dist/config.d.mts +2 -0
  95. package/dist/config.mjs +2 -0
  96. package/dist/extensions/mcp-ui.mjs +23 -0
  97. package/dist/extensions/mcp-ui.mjs.map +1 -0
  98. package/dist/extensions/mcp.cjs +142 -0
  99. package/dist/extensions/mcp.cjs.map +1 -0
  100. package/dist/extensions/mcp.d.mts +5 -0
  101. package/dist/extensions/mcp.d.mts.map +1 -0
  102. package/dist/extensions/mcp.mjs +114 -0
  103. package/dist/extensions/mcp.mjs.map +1 -0
  104. package/dist/extensions/server.cjs +1156 -0
  105. package/dist/extensions/server.cjs.map +1 -0
  106. package/dist/extensions/server.d.mts +5 -0
  107. package/dist/extensions/server.d.mts.map +1 -0
  108. package/dist/extensions/server.mjs +1146 -0
  109. package/dist/extensions/server.mjs.map +1 -0
  110. package/dist/extensions/web.mjs +1785 -0
  111. package/dist/extensions/web.mjs.map +1 -0
  112. package/dist/headless-BGYfIlNk.mjs +169 -0
  113. package/dist/headless-BGYfIlNk.mjs.map +1 -0
  114. package/dist/headless-CHUsBGhg.cjs +180 -0
  115. package/dist/headless-CHUsBGhg.cjs.map +1 -0
  116. package/dist/index-BZL7keVW.d.mts +31 -0
  117. package/dist/index-BZL7keVW.d.mts.map +1 -0
  118. package/dist/index-BwB_jTI9.d.mts +12 -0
  119. package/dist/index-BwB_jTI9.d.mts.map +1 -0
  120. package/dist/index-D9-IXax4.d.mts +43 -0
  121. package/dist/index-D9-IXax4.d.mts.map +1 -0
  122. package/dist/index-DBz0DxnL.d.mts +39 -0
  123. package/dist/index-DBz0DxnL.d.mts.map +1 -0
  124. package/dist/index-DM7yJpMs.d.mts +25 -0
  125. package/dist/index-DM7yJpMs.d.mts.map +1 -0
  126. package/dist/index-Dhi8asLH.d.mts +22 -0
  127. package/dist/index-Dhi8asLH.d.mts.map +1 -0
  128. package/dist/index.cjs +19 -0
  129. package/dist/index.d.mts +7 -0
  130. package/dist/index.mjs +6 -0
  131. package/dist/launcher-BDm6-DiQ.mjs +150 -0
  132. package/dist/launcher-BDm6-DiQ.mjs.map +1 -0
  133. package/dist/launcher-BG5t9nvG.d.mts +39 -0
  134. package/dist/launcher-BG5t9nvG.d.mts.map +1 -0
  135. package/dist/launcher-SlyE8R3b.cjs +157 -0
  136. package/dist/launcher-SlyE8R3b.cjs.map +1 -0
  137. package/dist/launcher.cjs +3 -0
  138. package/dist/launcher.d.mts +33 -0
  139. package/dist/launcher.d.mts.map +1 -0
  140. package/dist/launcher.mjs +2 -0
  141. package/dist/lifeline-BZaQA0rm.mjs +88 -0
  142. package/dist/lifeline-BZaQA0rm.mjs.map +1 -0
  143. package/dist/lifeline-BuV_erib.cjs +98 -0
  144. package/dist/lifeline-BuV_erib.cjs.map +1 -0
  145. package/dist/lifeline-eJdZV0nN.d.mts +19 -0
  146. package/dist/lifeline-eJdZV0nN.d.mts.map +1 -0
  147. package/dist/lifeline.cjs +6 -0
  148. package/dist/lifeline.d.mts +21 -0
  149. package/dist/lifeline.d.mts.map +1 -0
  150. package/dist/lifeline.mjs +3 -0
  151. package/dist/logFile-C7oQ_v-g.d.mts +16 -0
  152. package/dist/logFile-C7oQ_v-g.d.mts.map +1 -0
  153. package/dist/logFile-CNvepZh0.cjs +67 -0
  154. package/dist/logFile-CNvepZh0.cjs.map +1 -0
  155. package/dist/logFile-KKPbkC-a.mjs +60 -0
  156. package/dist/logFile-KKPbkC-a.mjs.map +1 -0
  157. package/dist/logFile.cjs +3 -0
  158. package/dist/logFile.d.mts +11 -0
  159. package/dist/logFile.d.mts.map +1 -0
  160. package/dist/logFile.mjs +2 -0
  161. package/dist/logReader-B6J7L7Ua.cjs +282 -0
  162. package/dist/logReader-B6J7L7Ua.cjs.map +1 -0
  163. package/dist/logReader-MdW9ffvV.d.mts +43 -0
  164. package/dist/logReader-MdW9ffvV.d.mts.map +1 -0
  165. package/dist/logReader-UfbDbwQl.mjs +257 -0
  166. package/dist/logReader-UfbDbwQl.mjs.map +1 -0
  167. package/dist/logReader.cjs +4 -0
  168. package/dist/logReader.d.mts +3 -0
  169. package/dist/logReader.mjs +2 -0
  170. package/dist/processControl-BAOa3oo_.d.mts +14 -0
  171. package/dist/processControl-BAOa3oo_.d.mts.map +1 -0
  172. package/dist/processControl-DApTpV16.mjs +26 -0
  173. package/dist/processControl-DApTpV16.mjs.map +1 -0
  174. package/dist/processControl-DNJ1WZ9N.cjs +31 -0
  175. package/dist/processControl-DNJ1WZ9N.cjs.map +1 -0
  176. package/dist/processControl.cjs +3 -0
  177. package/dist/processControl.d.mts +10 -0
  178. package/dist/processControl.d.mts.map +1 -0
  179. package/dist/processControl.mjs +2 -0
  180. package/dist/ptyHost-DWWtRrGn.d.mts +38 -0
  181. package/dist/ptyHost-DWWtRrGn.d.mts.map +1 -0
  182. package/dist/ptyHost-DlQtTB8F.mjs +150 -0
  183. package/dist/ptyHost-DlQtTB8F.mjs.map +1 -0
  184. package/dist/ptyHost-MI2Z6WTG.cjs +157 -0
  185. package/dist/ptyHost-MI2Z6WTG.cjs.map +1 -0
  186. package/dist/ptyHost.cjs +3 -0
  187. package/dist/ptyHost.d.mts +26 -0
  188. package/dist/ptyHost.d.mts.map +1 -0
  189. package/dist/ptyHost.mjs +2 -0
  190. package/dist/ptySpawner-B6GsueZd.d.mts +28 -0
  191. package/dist/ptySpawner-B6GsueZd.d.mts.map +1 -0
  192. package/dist/ptySpawner-DEi1KOnd.mjs +17 -0
  193. package/dist/ptySpawner-DEi1KOnd.mjs.map +1 -0
  194. package/dist/ptySpawner-ijw0g5_T.cjs +22 -0
  195. package/dist/ptySpawner-ijw0g5_T.cjs.map +1 -0
  196. package/dist/ptySpawner.cjs +3 -0
  197. package/dist/ptySpawner.d.mts +14 -0
  198. package/dist/ptySpawner.d.mts.map +1 -0
  199. package/dist/ptySpawner.mjs +2 -0
  200. package/dist/reconcile-BugwYFbV.cjs +133 -0
  201. package/dist/reconcile-BugwYFbV.cjs.map +1 -0
  202. package/dist/reconcile-DMeNSxwn.mjs +114 -0
  203. package/dist/reconcile-DMeNSxwn.mjs.map +1 -0
  204. package/dist/reconcile.cjs +5 -0
  205. package/dist/reconcile.d.mts +36 -0
  206. package/dist/reconcile.d.mts.map +1 -0
  207. package/dist/reconcile.mjs +2 -0
  208. package/dist/responseEnvelope.cjs +19 -0
  209. package/dist/responseEnvelope.d.mts +50 -0
  210. package/dist/responseEnvelope.d.mts.map +1 -0
  211. package/dist/responseEnvelope.mjs +3 -0
  212. package/dist/rmuxBackend-CaEWooWn.d.mts +36 -0
  213. package/dist/rmuxBackend-CaEWooWn.d.mts.map +1 -0
  214. package/dist/rmuxBackend-DfyQwJrc.mjs +509 -0
  215. package/dist/rmuxBackend-DfyQwJrc.mjs.map +1 -0
  216. package/dist/rmuxBackend-DlxgqRZ1.cjs +523 -0
  217. package/dist/rmuxBackend-DlxgqRZ1.cjs.map +1 -0
  218. package/dist/rmuxBackend.cjs +4 -0
  219. package/dist/rmuxBackend.d.mts +3 -0
  220. package/dist/rmuxBackend.mjs +2 -0
  221. package/dist/rolldown-runtime-VH7oDXx4.cjs +28 -0
  222. package/dist/rtkProcessor-B4_urXQr.mjs +10 -0
  223. package/dist/rtkProcessor-B4_urXQr.mjs.map +1 -0
  224. package/dist/rtkProcessor-B9KPdyzr.mjs +309 -0
  225. package/dist/rtkProcessor-B9KPdyzr.mjs.map +1 -0
  226. package/dist/rtkProcessor-Bc4L4o_8.cjs +335 -0
  227. package/dist/rtkProcessor-Bc4L4o_8.cjs.map +1 -0
  228. package/dist/rtkProcessor-CVZvNhkJ.d.mts +35 -0
  229. package/dist/rtkProcessor-CVZvNhkJ.d.mts.map +1 -0
  230. package/dist/rtkProcessor-CsrCPyTQ.cjs +33 -0
  231. package/dist/rtkProcessor-CsrCPyTQ.cjs.map +1 -0
  232. package/dist/rtkProcessor.cjs +11 -0
  233. package/dist/rtkProcessor.d.mts +7 -0
  234. package/dist/rtkProcessor.d.mts.map +1 -0
  235. package/dist/rtkProcessor.mjs +3 -0
  236. package/dist/runnerConfig-BQBlVAXn.mjs +134 -0
  237. package/dist/runnerConfig-BQBlVAXn.mjs.map +1 -0
  238. package/dist/runnerConfig-BjtulXBI.d.mts +57 -0
  239. package/dist/runnerConfig-BjtulXBI.d.mts.map +1 -0
  240. package/dist/runnerConfig-D2tGq5ZM.cjs +367 -0
  241. package/dist/runnerConfig-D2tGq5ZM.cjs.map +1 -0
  242. package/dist/runnerDependencies-DruByBGS.mjs +647 -0
  243. package/dist/runnerDependencies-DruByBGS.mjs.map +1 -0
  244. package/dist/runnerDependencies-KMZigIxB.cjs +667 -0
  245. package/dist/runnerDependencies-KMZigIxB.cjs.map +1 -0
  246. package/dist/runnerDependencies.cjs +3 -0
  247. package/dist/runnerDependencies.d.mts +2 -0
  248. package/dist/runnerDependencies.mjs +2 -0
  249. package/dist/runnerNamer-B8FH7n2v.mjs +44 -0
  250. package/dist/runnerNamer-B8FH7n2v.mjs.map +1 -0
  251. package/dist/runnerNamer-we1XVYfM.cjs +49 -0
  252. package/dist/runnerNamer-we1XVYfM.cjs.map +1 -0
  253. package/dist/runnerNamer.cjs +3 -0
  254. package/dist/runnerNamer.d.mts +11 -0
  255. package/dist/runnerNamer.d.mts.map +1 -0
  256. package/dist/runnerNamer.mjs +2 -0
  257. package/dist/runnerPaths-BTEuzxw0.cjs +471 -0
  258. package/dist/runnerPaths-BTEuzxw0.cjs.map +1 -0
  259. package/dist/runnerPaths-B_dAAeco.mjs +451 -0
  260. package/dist/runnerPaths-B_dAAeco.mjs.map +1 -0
  261. package/dist/runnerPaths.cjs +3 -0
  262. package/dist/runnerPaths.d.mts +50 -0
  263. package/dist/runnerPaths.d.mts.map +1 -0
  264. package/dist/runnerPaths.mjs +2 -0
  265. package/dist/runnerRegistry-BmkZTJHi.cjs +371 -0
  266. package/dist/runnerRegistry-BmkZTJHi.cjs.map +1 -0
  267. package/dist/runnerRegistry-CeOHEjBv.mjs +339 -0
  268. package/dist/runnerRegistry-CeOHEjBv.mjs.map +1 -0
  269. package/dist/runnerRegistry-CtJiD02R.d.mts +88 -0
  270. package/dist/runnerRegistry-CtJiD02R.d.mts.map +1 -0
  271. package/dist/runnerRegistry.cjs +4 -0
  272. package/dist/runnerRegistry.d.mts +3 -0
  273. package/dist/runnerRegistry.mjs +2 -0
  274. package/dist/runnerSettings-DiV1lvzx.d.mts +34 -0
  275. package/dist/runnerSettings-DiV1lvzx.d.mts.map +1 -0
  276. package/dist/services/lifeline/client.cjs +52 -0
  277. package/dist/services/lifeline/client.cjs.map +1 -0
  278. package/dist/services/lifeline/client.d.mts +22 -0
  279. package/dist/services/lifeline/client.d.mts.map +1 -0
  280. package/dist/services/lifeline/client.mjs +48 -0
  281. package/dist/services/lifeline/client.mjs.map +1 -0
  282. package/dist/services/runnerSupervisor/index.cjs +207 -0
  283. package/dist/services/runnerSupervisor/index.cjs.map +1 -0
  284. package/dist/services/runnerSupervisor/index.d.mts +71 -0
  285. package/dist/services/runnerSupervisor/index.d.mts.map +1 -0
  286. package/dist/services/runnerSupervisor/index.mjs +195 -0
  287. package/dist/services/runnerSupervisor/index.mjs.map +1 -0
  288. package/dist/session-BC43uEyG.cjs +29 -0
  289. package/dist/session-BC43uEyG.cjs.map +1 -0
  290. package/dist/session-Chsb_Nh2.mjs +18 -0
  291. package/dist/session-Chsb_Nh2.mjs.map +1 -0
  292. package/dist/session-DE2Acesp.mjs +6 -0
  293. package/dist/session-DE2Acesp.mjs.map +1 -0
  294. package/dist/session-SfIPtdZO.cjs +11 -0
  295. package/dist/session-SfIPtdZO.cjs.map +1 -0
  296. package/dist/session.cjs +6 -0
  297. package/dist/session.d.mts +11 -0
  298. package/dist/session.d.mts.map +1 -0
  299. package/dist/session.mjs +3 -0
  300. package/dist/spawner-BxFsINXP.cjs +68 -0
  301. package/dist/spawner-BxFsINXP.cjs.map +1 -0
  302. package/dist/spawner-CdrN_HNk.d.mts +35 -0
  303. package/dist/spawner-CdrN_HNk.d.mts.map +1 -0
  304. package/dist/spawner-LoVsn55-.mjs +63 -0
  305. package/dist/spawner-LoVsn55-.mjs.map +1 -0
  306. package/dist/spawner.cjs +3 -0
  307. package/dist/spawner.d.mts +9 -0
  308. package/dist/spawner.d.mts.map +1 -0
  309. package/dist/spawner.mjs +2 -0
  310. package/dist/type-BXM03qSw.d.mts +44 -0
  311. package/dist/type-BXM03qSw.d.mts.map +1 -0
  312. package/dist/type-C31e1gla.d.mts +43 -0
  313. package/dist/type-C31e1gla.d.mts.map +1 -0
  314. package/dist/type-vWQNTahw.d.mts +12 -0
  315. package/dist/type-vWQNTahw.d.mts.map +1 -0
  316. package/dist/types.cjs +0 -0
  317. package/dist/types.d.mts +3 -0
  318. package/dist/types.mjs +1 -0
  319. package/llms.txt +9 -0
  320. package/package.json +303 -0
  321. package/skills/doom-runner/SKILL.md +78 -0
  322. package/src/prompts/po-use-runner/SKILL.md +47 -0
package/package.json ADDED
@@ -0,0 +1,303 @@
1
+ {
2
+ "name": "@agimon-ai/po-runner",
3
+ "version": "0.0.0-alpha.0",
4
+ "description": "Supervised shell execution, background process control, and run logs for Pi coding agents.",
5
+ "keywords": [
6
+ "ai",
7
+ "background-process",
8
+ "coding-agent",
9
+ "developer-tools",
10
+ "doom-runner",
11
+ "pi-coding-agent",
12
+ "pi-package",
13
+ "po",
14
+ "process-supervision",
15
+ "shell"
16
+ ],
17
+ "homepage": "https://agimon.ai",
18
+ "bugs": {
19
+ "url": "https://github.com/AgiFlow/po/issues"
20
+ },
21
+ "license": "MIT",
22
+ "author": "Vuong Ngo",
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/AgiFlow/po.git",
26
+ "directory": "packages/default/po-runner"
27
+ },
28
+ "bin": {
29
+ "po-runner": "./dist/bin/cli.mjs"
30
+ },
31
+ "files": [
32
+ "dist",
33
+ "skills",
34
+ "llms.txt",
35
+ "src/prompts",
36
+ "README.md",
37
+ "LICENSE",
38
+ "package.json"
39
+ ],
40
+ "type": "module",
41
+ "main": "./dist/index.cjs",
42
+ "module": "./dist/index.mjs",
43
+ "types": "./dist/index.d.mts",
44
+ "jsnext:main": "./dist/index.mjs",
45
+ "exports": {
46
+ ".": {
47
+ "types": "./dist/index.d.mts",
48
+ "import": "./dist/index.mjs",
49
+ "require": "./dist/index.cjs"
50
+ },
51
+ "./ansiScrub": {
52
+ "types": "./dist/ansiScrub.d.mts",
53
+ "import": "./dist/ansiScrub.mjs",
54
+ "require": "./dist/ansiScrub.cjs"
55
+ },
56
+ "./bashRunService": {
57
+ "types": "./dist/bashRunService.d.mts",
58
+ "import": "./dist/bashRunService.mjs",
59
+ "require": "./dist/bashRunService.cjs"
60
+ },
61
+ "./bashSchema": {
62
+ "types": "./dist/bashSchema.d.mts",
63
+ "import": "./dist/bashSchema.mjs",
64
+ "require": "./dist/bashSchema.cjs"
65
+ },
66
+ "./bashTool": {
67
+ "types": "./dist/bashTool.d.mts",
68
+ "import": "./dist/bashTool.mjs",
69
+ "require": "./dist/bashTool.cjs"
70
+ },
71
+ "./bin/cli": {
72
+ "types": "./dist/bin/cli.d.mts",
73
+ "import": "./dist/bin/cli.mjs",
74
+ "require": "./dist/bin/cli.cjs"
75
+ },
76
+ "./bin/logSink": {
77
+ "types": "./dist/bin/logSink.d.mts",
78
+ "import": "./dist/bin/logSink.mjs",
79
+ "require": "./dist/bin/logSink.cjs"
80
+ },
81
+ "./bin/runnerHost": {
82
+ "types": "./dist/bin/runnerHost.d.mts",
83
+ "import": "./dist/bin/runnerHost.mjs",
84
+ "require": "./dist/bin/runnerHost.cjs"
85
+ },
86
+ "./cliApp": {
87
+ "types": "./dist/cliApp.d.mts",
88
+ "import": "./dist/cliApp.mjs",
89
+ "require": "./dist/cliApp.cjs"
90
+ },
91
+ "./clock": {
92
+ "types": "./dist/clock.d.mts",
93
+ "import": "./dist/clock.mjs",
94
+ "require": "./dist/clock.cjs"
95
+ },
96
+ "./compaction": {
97
+ "types": "./dist/compaction.d.mts",
98
+ "import": "./dist/compaction.mjs",
99
+ "require": "./dist/compaction.cjs"
100
+ },
101
+ "./config": {
102
+ "types": "./dist/config.d.mts",
103
+ "import": "./dist/config.mjs",
104
+ "require": "./dist/config.cjs"
105
+ },
106
+ "./extensions/server": {
107
+ "types": "./dist/extensions/server.d.mts",
108
+ "import": "./dist/extensions/server.mjs",
109
+ "require": "./dist/extensions/server.cjs"
110
+ },
111
+ "./extensions/web": {
112
+ "import": "./dist/extensions/web.mjs"
113
+ },
114
+ "./launcher": {
115
+ "types": "./dist/launcher.d.mts",
116
+ "import": "./dist/launcher.mjs",
117
+ "require": "./dist/launcher.cjs"
118
+ },
119
+ "./lifeline": {
120
+ "types": "./dist/lifeline.d.mts",
121
+ "import": "./dist/lifeline.mjs",
122
+ "require": "./dist/lifeline.cjs"
123
+ },
124
+ "./logFile": {
125
+ "types": "./dist/logFile.d.mts",
126
+ "import": "./dist/logFile.mjs",
127
+ "require": "./dist/logFile.cjs"
128
+ },
129
+ "./logReader": {
130
+ "types": "./dist/logReader.d.mts",
131
+ "import": "./dist/logReader.mjs",
132
+ "require": "./dist/logReader.cjs"
133
+ },
134
+ "./processControl": {
135
+ "types": "./dist/processControl.d.mts",
136
+ "import": "./dist/processControl.mjs",
137
+ "require": "./dist/processControl.cjs"
138
+ },
139
+ "./ptyHost": {
140
+ "types": "./dist/ptyHost.d.mts",
141
+ "import": "./dist/ptyHost.mjs",
142
+ "require": "./dist/ptyHost.cjs"
143
+ },
144
+ "./ptySpawner": {
145
+ "types": "./dist/ptySpawner.d.mts",
146
+ "import": "./dist/ptySpawner.mjs",
147
+ "require": "./dist/ptySpawner.cjs"
148
+ },
149
+ "./reconcile": {
150
+ "types": "./dist/reconcile.d.mts",
151
+ "import": "./dist/reconcile.mjs",
152
+ "require": "./dist/reconcile.cjs"
153
+ },
154
+ "./responseEnvelope": {
155
+ "types": "./dist/responseEnvelope.d.mts",
156
+ "import": "./dist/responseEnvelope.mjs",
157
+ "require": "./dist/responseEnvelope.cjs"
158
+ },
159
+ "./rmuxBackend": {
160
+ "types": "./dist/rmuxBackend.d.mts",
161
+ "import": "./dist/rmuxBackend.mjs",
162
+ "require": "./dist/rmuxBackend.cjs"
163
+ },
164
+ "./rtkProcessor": {
165
+ "types": "./dist/rtkProcessor.d.mts",
166
+ "import": "./dist/rtkProcessor.mjs",
167
+ "require": "./dist/rtkProcessor.cjs"
168
+ },
169
+ "./runnerDependencies": {
170
+ "types": "./dist/runnerDependencies.d.mts",
171
+ "import": "./dist/runnerDependencies.mjs",
172
+ "require": "./dist/runnerDependencies.cjs"
173
+ },
174
+ "./runnerNamer": {
175
+ "types": "./dist/runnerNamer.d.mts",
176
+ "import": "./dist/runnerNamer.mjs",
177
+ "require": "./dist/runnerNamer.cjs"
178
+ },
179
+ "./runnerPaths": {
180
+ "types": "./dist/runnerPaths.d.mts",
181
+ "import": "./dist/runnerPaths.mjs",
182
+ "require": "./dist/runnerPaths.cjs"
183
+ },
184
+ "./runnerRegistry": {
185
+ "types": "./dist/runnerRegistry.d.mts",
186
+ "import": "./dist/runnerRegistry.mjs",
187
+ "require": "./dist/runnerRegistry.cjs"
188
+ },
189
+ "./session": {
190
+ "types": "./dist/session.d.mts",
191
+ "import": "./dist/session.mjs",
192
+ "require": "./dist/session.cjs"
193
+ },
194
+ "./spawner": {
195
+ "types": "./dist/spawner.d.mts",
196
+ "import": "./dist/spawner.mjs",
197
+ "require": "./dist/spawner.cjs"
198
+ },
199
+ "./types": {
200
+ "types": "./dist/types.d.mts",
201
+ "import": "./dist/types.mjs",
202
+ "require": "./dist/types.cjs"
203
+ },
204
+ "./package.json": "./package.json"
205
+ },
206
+ "publishConfig": {
207
+ "access": "public",
208
+ "registry": "https://registry.npmjs.org/"
209
+ },
210
+ "dependencies": {
211
+ "@agimon-ai/foundation-process-registry": "0.30.12",
212
+ "@agimon-ai/po-core": "0.0.0-alpha.0",
213
+ "@agimon-ai/po-telemetry": "0.0.0-alpha.0",
214
+ "@agimon-ai/po-ui": "0.0.0-alpha.0",
215
+ "@agimon-ai/po-web-components": "0.0.0-alpha.0",
216
+ "@agimon-ai/po-web-security": "0.0.0-alpha.0",
217
+ "@deepseek-ai/cordis": "4.0.4",
218
+ "@rmux/sdk": "0.6.5",
219
+ "@xterm/headless": "6.0.0",
220
+ "hono": "4.13.12",
221
+ "typebox": "1.3.34"
222
+ },
223
+ "devDependencies": {
224
+ "@agimon-ai/po-build": "0.0.0-alpha.0",
225
+ "@earendil-works/pi-coding-agent": "1.0.2",
226
+ "@tanstack/react-store": "0.11.2",
227
+ "@tanstack/store": "0.11.2",
228
+ "@types/node": "26.6.4",
229
+ "@types/react": "19.3.0",
230
+ "@vitest/coverage-v8": "5.0.3",
231
+ "react": "19.3.0",
232
+ "react-dom": "19.3.0",
233
+ "tsdown": "0.23.0",
234
+ "typescript": "7.0.2",
235
+ "vitest": "5.0.3"
236
+ },
237
+ "peerDependencies": {
238
+ "@earendil-works/pi-coding-agent": "1.0.2"
239
+ },
240
+ "peerDependenciesMeta": {
241
+ "@earendil-works/pi-coding-agent": {
242
+ "optional": true
243
+ }
244
+ },
245
+ "optionalDependencies": {
246
+ "@agimon-ai/po-runner-rmux-darwin-arm64": "0.0.0-alpha.0",
247
+ "@agimon-ai/po-runner-rmux-darwin-x64": "0.0.0-alpha.0",
248
+ "@agimon-ai/po-runner-rmux-linux-arm64": "0.0.0-alpha.0",
249
+ "@agimon-ai/po-runner-rmux-linux-x64": "0.0.0-alpha.0",
250
+ "@agimon-ai/po-runner-rtk-darwin-arm64": "0.0.0-alpha.0",
251
+ "@agimon-ai/po-runner-rtk-darwin-x64": "0.0.0-alpha.0",
252
+ "@agimon-ai/po-runner-rtk-linux-arm64": "0.0.0-alpha.0",
253
+ "@agimon-ai/po-runner-rtk-linux-x64": "0.0.0-alpha.0"
254
+ },
255
+ "engines": {
256
+ "node": ">=24"
257
+ },
258
+ "poMcp": {
259
+ "entry": "./generated/mcp.ts",
260
+ "dist": "./dist/extensions/mcp.mjs",
261
+ "scopes": [
262
+ "session"
263
+ ],
264
+ "ui": {
265
+ "entry": "./generated/mcp-ui.ts",
266
+ "dist": "./dist/extensions/mcp-ui.mjs",
267
+ "widgets": [
268
+ "@agimon-ai/po-runner/bash"
269
+ ]
270
+ }
271
+ },
272
+ "poServer": {
273
+ "entry": "./generated/server.ts",
274
+ "dist": "./dist/extensions/server.mjs",
275
+ "scopes": [
276
+ "global",
277
+ "workspace",
278
+ "session"
279
+ ],
280
+ "contracts": {
281
+ "entry": "./src/exports/apiContracts.ts",
282
+ "dist": "./dist/apiContracts.mjs"
283
+ }
284
+ },
285
+ "poWeb": {
286
+ "pluginId": "runner",
287
+ "channels": [
288
+ "runner_runs"
289
+ ],
290
+ "client": "./dist/extensions/web.mjs",
291
+ "scopes": [
292
+ "session"
293
+ ]
294
+ },
295
+ "scripts": {
296
+ "build": "tsdown && tsdown --config tsdown.mcp.config.ts",
297
+ "build:mcp": "tsdown --config tsdown.mcp.config.ts",
298
+ "test": "vitest --run",
299
+ "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.web.json && tsc --noEmit -p tsconfig.mcp.json",
300
+ "lint": "oxlint . && oxfmt . --check",
301
+ "fixcode": "oxlint . --fix && oxfmt ."
302
+ }
303
+ }
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: doom-runner
3
+ description: 'Manage long-running commands started by bash: dev servers, watchers, builds, tails, and anything that prompts for input. Trigger when a command needs to outlive the current turn, when bash output was truncated, or when a background process needs to be inspected, followed, given input, or stopped.'
4
+ ---
5
+
6
+ # doom-runner
7
+
8
+ `bash` supervises what it starts. A command that outlives the background
9
+ threshold keeps running instead of blocking the turn. Use the `doom-runner`
10
+ CLI to manage it without adding another model tool.
11
+
12
+ ## Backgrounding
13
+
14
+ - A command still running after 60 seconds (`DOOM_RUNNER_BG_THRESHOLD_MS`) is
15
+ moved to the background automatically. You get its unique ID and streaming
16
+ log path.
17
+ - Pass `background: true` for commands you already know will not finish: dev
18
+ servers, watchers, `tail -f`. Waiting out the threshold first wastes a turn.
19
+ - Pass `interactive: true` when the command will prompt for confirmation or
20
+ input. It runs under a terminal and backgrounds immediately. Answer it with
21
+ `doom-runner input <id> --text <text> --enter`, or use Runner Space.
22
+ - Pass `timeout` (seconds) when you want a command killed rather than
23
+ supervised. A timeout above the threshold has no effect: the command is
24
+ promoted first.
25
+ - Pass `name` to choose the runner name. A name already in use gets a numbered
26
+ suffix.
27
+
28
+ ## CLI
29
+
30
+ Invoke the CLI through the available Bash tool to inspect or control an existing
31
+ runner. Do not relaunch its original command to recover output. The CLI inherits `PI_SESSION_ID` from the active Pi session and only accesses that
32
+ session's runners. A manual shell without `PI_SESSION_ID` fails closed.
33
+
34
+ Use the unique runner ID returned by `bash`:
35
+
36
+ | Command | Purpose |
37
+ | -------------------------------------------------- | ---------------------------------------------- |
38
+ | `doom-runner list [--all]` | List active runners, or include completed ones |
39
+ | `doom-runner status <id>` | Show command, state, backend, and log path |
40
+ | `doom-runner logs <id> [--lines N] [--follow]` | Read or stream the saved log |
41
+ | `doom-runner stop <id> [--reason <text>]` | Stop one runner and keep its log |
42
+ | `doom-runner stop-all [--reason <text>]` | Stop active runners owned by this Pi session |
43
+ | `doom-runner input <id> [--text <text>] [--enter]` | Send input to an interactive RMUX runner |
44
+
45
+ ## Rules
46
+
47
+ - **Read the log, do not re-run the command.** When output is truncated, the
48
+ full text is already on disk. Use `doom-runner logs <id>` or standard file
49
+ search tools against the reported path.
50
+ - **Read the truncation notice before reading the file.** It states the real
51
+ file size and line count, so you do not read past the end.
52
+ - **CLI access is session-scoped.** `list`, direct ID commands, and `stop-all`
53
+ only access runners owned by the inherited Pi session.
54
+ - **`input` needs `interactive: true`.** A normal runner does not expose stdin.
55
+ - **Stop what you no longer need.** Everything still running is stopped when
56
+ the session ends, but a forgotten dev server holds a port until then.
57
+ - **Completion delivery depends on the client.** Local Po can notify its
58
+ agent, but remote MCP callers must not assume that this wakes their chat.
59
+ Use a bounded status or log read when needed. Do not sleep or poll in a loop,
60
+ promise automatic continuation, or report a running command as completed.
61
+ - **Do not pipe to head or tail.** Results are already bounded and the full log
62
+ is on disk. A tail pipe also leaves the live log empty until the command
63
+ exits, which blanks the log pane in Runner Space.
64
+
65
+ ## Where things live
66
+
67
+ Run metadata and logs sit under
68
+ `$PI_CODING_AGENT_DIR/doom-runner/<session-id>/{runs,logs}`. Without an
69
+ override, `$PI_CODING_AGENT_DIR` defaults to `~/.po/agent`. Completed metadata
70
+ and complete raw logs remain readable for seven days.
71
+
72
+ RMUX is bundled for supported macOS and Linux platforms. Non-interactive runs
73
+ fall back to a supervised subprocess when RMUX is unavailable; interactive runs
74
+ require RMUX. Eligible simple commands use a command-specific RTK stdin filter
75
+ after completion. Compound shell commands and unsupported formats keep bounded
76
+ raw output.
77
+
78
+ `SPC r l` opens Runner Space. Escape returns from logs or an attached terminal.
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: po-use-runner
3
+ description: Use Doom Pi Runner to supervise shell commands, inspect durable logs, provide interactive input, and stop background runs.
4
+ ---
5
+
6
+ # Use Doom Pi Runner
7
+
8
+ Use Runner for shell work that may outlive one tool call, needs durable logs, or requires later inspection and control.
9
+
10
+ ## Launch work
11
+
12
+ - Use the Runner-provided `bash` tool for shell commands.
13
+ - Let short commands return inline.
14
+ - Set `background: true` when the command should detach immediately.
15
+ - Set `interactive: true` only when the process genuinely needs terminal input.
16
+ - `timeout` only governs the foreground wait. A command promoted to the background can continue past it; do not treat it as a background deadline.
17
+
18
+ ## Inspect and control work
19
+
20
+ For remote MCP, run the following commands through `bash`. They inherit the
21
+ bound session; do not supply another session ID. `/runners` and `SPC r l` are
22
+ local TUI interfaces, not shell commands or remote tools. For direct control, use:
23
+
24
+ ```bash
25
+ doom-runner list
26
+ doom-runner status <runner-id>
27
+ doom-runner logs <runner-id> --lines 100
28
+ doom-runner input <runner-id> --text "y" --enter
29
+ doom-runner stop <runner-id>
30
+ doom-runner stop-all
31
+ ```
32
+
33
+ Input requires a running interactive process backed by RMUX. Preserve the returned runner identifier because it remains usable after transcript compaction.
34
+
35
+ ## Close the lifecycle
36
+
37
+ Remote MCP never receives runner completion notices, and a runner you start
38
+ does not resume your conversation when it ends. While a runner matters to your
39
+ task, check `doom-runner status <id>` between steps of your own work and read
40
+ `doom-runner logs <id> --lines 100`. Stop checking when State is completed, and
41
+ report a runner that is still running with its identifier. Do not promise
42
+ automatic follow-up or relaunch uncertain work.
43
+
44
+ - Inspect logs instead of relaunching a command whose status is uncertain.
45
+ - Stop watchers, servers, and failed interactive processes when they are no longer needed.
46
+ - Treat commands as running with the Doom Pi process environment and the operating-system user's privileges.
47
+ - Treat logs as sensitive because they may contain prompts, source, output, or credentials.