botmux 3.4.2 → 3.5.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 (378) hide show
  1. package/README.en.md +10 -7
  2. package/README.md +11 -6
  3. package/dist/adapters/backend/herdr-backend.d.ts +43 -6
  4. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
  5. package/dist/adapters/backend/herdr-backend.js +362 -28
  6. package/dist/adapters/backend/herdr-backend.js.map +1 -1
  7. package/dist/adapters/backend/reproduce-command.d.ts +39 -0
  8. package/dist/adapters/backend/reproduce-command.d.ts.map +1 -0
  9. package/dist/adapters/backend/reproduce-command.js +63 -0
  10. package/dist/adapters/backend/reproduce-command.js.map +1 -0
  11. package/dist/adapters/backend/session-backend-selector.d.ts +10 -1
  12. package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
  13. package/dist/adapters/backend/session-backend-selector.js +73 -4
  14. package/dist/adapters/backend/session-backend-selector.js.map +1 -1
  15. package/dist/adapters/backend/types.d.ts +16 -0
  16. package/dist/adapters/backend/types.d.ts.map +1 -1
  17. package/dist/adapters/backend/types.js.map +1 -1
  18. package/dist/adapters/cli/pi-initial-prompt-extension.d.ts +27 -0
  19. package/dist/adapters/cli/pi-initial-prompt-extension.d.ts.map +1 -0
  20. package/dist/adapters/cli/pi-initial-prompt-extension.js +38 -0
  21. package/dist/adapters/cli/pi-initial-prompt-extension.js.map +1 -0
  22. package/dist/adapters/cli/pi-initial-prompt.d.ts +21 -0
  23. package/dist/adapters/cli/pi-initial-prompt.d.ts.map +1 -0
  24. package/dist/adapters/cli/pi-initial-prompt.js +59 -0
  25. package/dist/adapters/cli/pi-initial-prompt.js.map +1 -0
  26. package/dist/adapters/cli/pi.d.ts.map +1 -1
  27. package/dist/adapters/cli/pi.js +15 -4
  28. package/dist/adapters/cli/pi.js.map +1 -1
  29. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  30. package/dist/adapters/cli/read-isolation.js +5 -0
  31. package/dist/adapters/cli/read-isolation.js.map +1 -1
  32. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  33. package/dist/adapters/cli/shared-hints.js +8 -0
  34. package/dist/adapters/cli/shared-hints.js.map +1 -1
  35. package/dist/adapters/cli/traex.d.ts.map +1 -1
  36. package/dist/adapters/cli/traex.js +5 -0
  37. package/dist/adapters/cli/traex.js.map +1 -1
  38. package/dist/adapters/cli/types.d.ts +23 -3
  39. package/dist/adapters/cli/types.d.ts.map +1 -1
  40. package/dist/adapters/hook-installer.d.ts +7 -0
  41. package/dist/adapters/hook-installer.d.ts.map +1 -1
  42. package/dist/adapters/hook-installer.js +56 -0
  43. package/dist/adapters/hook-installer.js.map +1 -1
  44. package/dist/bot-registry.d.ts +13 -0
  45. package/dist/bot-registry.d.ts.map +1 -1
  46. package/dist/bot-registry.js +118 -2
  47. package/dist/bot-registry.js.map +1 -1
  48. package/dist/cli/capabilities.d.ts +24 -0
  49. package/dist/cli/capabilities.d.ts.map +1 -0
  50. package/dist/cli/capabilities.js +25 -0
  51. package/dist/cli/capabilities.js.map +1 -0
  52. package/dist/cli/create-group-resolver.d.ts +24 -0
  53. package/dist/cli/create-group-resolver.d.ts.map +1 -1
  54. package/dist/cli/create-group-resolver.js +23 -0
  55. package/dist/cli/create-group-resolver.js.map +1 -1
  56. package/dist/cli/daemon-lifecycle-env.d.ts +5 -7
  57. package/dist/cli/daemon-lifecycle-env.d.ts.map +1 -1
  58. package/dist/cli/daemon-lifecycle-env.js +13 -7
  59. package/dist/cli/daemon-lifecycle-env.js.map +1 -1
  60. package/dist/cli/exact-chat-grant-client.d.ts +48 -0
  61. package/dist/cli/exact-chat-grant-client.d.ts.map +1 -0
  62. package/dist/cli/exact-chat-grant-client.js +108 -0
  63. package/dist/cli/exact-chat-grant-client.js.map +1 -0
  64. package/dist/cli/exact-chat-grant.d.ts +18 -0
  65. package/dist/cli/exact-chat-grant.d.ts.map +1 -0
  66. package/dist/cli/exact-chat-grant.js +97 -0
  67. package/dist/cli/exact-chat-grant.js.map +1 -0
  68. package/dist/cli.d.ts +10 -1
  69. package/dist/cli.d.ts.map +1 -1
  70. package/dist/cli.js +770 -126
  71. package/dist/cli.js.map +1 -1
  72. package/dist/codex-rpc-engine.d.ts +26 -0
  73. package/dist/codex-rpc-engine.d.ts.map +1 -1
  74. package/dist/codex-rpc-engine.js +113 -2
  75. package/dist/codex-rpc-engine.js.map +1 -1
  76. package/dist/config.d.ts +16 -0
  77. package/dist/config.d.ts.map +1 -1
  78. package/dist/config.js +16 -0
  79. package/dist/config.js.map +1 -1
  80. package/dist/core/bot-live-control.d.ts +41 -0
  81. package/dist/core/bot-live-control.d.ts.map +1 -0
  82. package/dist/core/bot-live-control.js +135 -0
  83. package/dist/core/bot-live-control.js.map +1 -0
  84. package/dist/core/command-handler.d.ts.map +1 -1
  85. package/dist/core/command-handler.js +28 -8
  86. package/dist/core/command-handler.js.map +1 -1
  87. package/dist/core/daemon-config-fence.d.ts +8 -0
  88. package/dist/core/daemon-config-fence.d.ts.map +1 -0
  89. package/dist/core/daemon-config-fence.js +13 -0
  90. package/dist/core/daemon-config-fence.js.map +1 -0
  91. package/dist/core/dashboard-events.d.ts +5 -0
  92. package/dist/core/dashboard-events.d.ts.map +1 -1
  93. package/dist/core/dashboard-events.js.map +1 -1
  94. package/dist/core/dashboard-ipc-server.d.ts +21 -2
  95. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  96. package/dist/core/dashboard-ipc-server.js +232 -5
  97. package/dist/core/dashboard-ipc-server.js.map +1 -1
  98. package/dist/core/dispatch-registry.d.ts +12 -0
  99. package/dist/core/dispatch-registry.d.ts.map +1 -0
  100. package/dist/core/dispatch-registry.js +33 -0
  101. package/dist/core/dispatch-registry.js.map +1 -0
  102. package/dist/core/dispatch.d.ts +99 -0
  103. package/dist/core/dispatch.d.ts.map +1 -1
  104. package/dist/core/dispatch.js +136 -0
  105. package/dist/core/dispatch.js.map +1 -1
  106. package/dist/core/inflight-input-tracker.d.ts +1 -0
  107. package/dist/core/inflight-input-tracker.d.ts.map +1 -1
  108. package/dist/core/inflight-input-tracker.js.map +1 -1
  109. package/dist/core/maintenance.d.ts.map +1 -1
  110. package/dist/core/maintenance.js +10 -3
  111. package/dist/core/maintenance.js.map +1 -1
  112. package/dist/core/persistent-backend.d.ts +16 -2
  113. package/dist/core/persistent-backend.d.ts.map +1 -1
  114. package/dist/core/persistent-backend.js +40 -0
  115. package/dist/core/persistent-backend.js.map +1 -1
  116. package/dist/core/session-discovery.d.ts +8 -1
  117. package/dist/core/session-discovery.d.ts.map +1 -1
  118. package/dist/core/session-discovery.js +140 -8
  119. package/dist/core/session-discovery.js.map +1 -1
  120. package/dist/core/session-manager.d.ts.map +1 -1
  121. package/dist/core/session-manager.js +12 -8
  122. package/dist/core/session-manager.js.map +1 -1
  123. package/dist/core/session-title.d.ts +8 -0
  124. package/dist/core/session-title.d.ts.map +1 -1
  125. package/dist/core/session-title.js +54 -0
  126. package/dist/core/session-title.js.map +1 -1
  127. package/dist/core/terminal-write-auth.d.ts +15 -0
  128. package/dist/core/terminal-write-auth.d.ts.map +1 -1
  129. package/dist/core/terminal-write-auth.js +20 -0
  130. package/dist/core/terminal-write-auth.js.map +1 -1
  131. package/dist/core/trigger-session.d.ts.map +1 -1
  132. package/dist/core/trigger-session.js +3 -2
  133. package/dist/core/trigger-session.js.map +1 -1
  134. package/dist/core/types.d.ts +33 -0
  135. package/dist/core/types.d.ts.map +1 -1
  136. package/dist/core/types.js.map +1 -1
  137. package/dist/core/worker-pool.d.ts +27 -8
  138. package/dist/core/worker-pool.d.ts.map +1 -1
  139. package/dist/core/worker-pool.js +389 -19
  140. package/dist/core/worker-pool.js.map +1 -1
  141. package/dist/daemon.d.ts +4 -2
  142. package/dist/daemon.d.ts.map +1 -1
  143. package/dist/daemon.js +397 -26
  144. package/dist/daemon.js.map +1 -1
  145. package/dist/dashboard/bot-onboarding.d.ts +127 -1
  146. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  147. package/dist/dashboard/bot-onboarding.js +1104 -25
  148. package/dist/dashboard/bot-onboarding.js.map +1 -1
  149. package/dist/dashboard/debug-terminal.d.ts +18 -0
  150. package/dist/dashboard/debug-terminal.d.ts.map +1 -0
  151. package/dist/dashboard/debug-terminal.js +338 -0
  152. package/dist/dashboard/debug-terminal.js.map +1 -0
  153. package/dist/dashboard/public-redact.d.ts +2 -0
  154. package/dist/dashboard/public-redact.d.ts.map +1 -1
  155. package/dist/dashboard/public-redact.js +12 -3
  156. package/dist/dashboard/public-redact.js.map +1 -1
  157. package/dist/dashboard/registry.d.ts +8 -0
  158. package/dist/dashboard/registry.d.ts.map +1 -1
  159. package/dist/dashboard/registry.js +13 -0
  160. package/dist/dashboard/registry.js.map +1 -1
  161. package/dist/dashboard/settings-write-applier.d.ts +47 -1
  162. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  163. package/dist/dashboard/settings-write-applier.js +102 -1
  164. package/dist/dashboard/settings-write-applier.js.map +1 -1
  165. package/dist/dashboard/web/app.d.ts.map +1 -1
  166. package/dist/dashboard/web/app.js +2 -0
  167. package/dist/dashboard/web/app.js.map +1 -1
  168. package/dist/dashboard/web/bot-defaults-page.d.ts +1 -0
  169. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  170. package/dist/dashboard/web/bot-defaults-page.js +24 -5
  171. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  172. package/dist/dashboard/web/bot-defaults.d.ts +15 -0
  173. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  174. package/dist/dashboard/web/bot-defaults.js +19 -0
  175. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  176. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  177. package/dist/dashboard/web/i18n.js +76 -6
  178. package/dist/dashboard/web/i18n.js.map +1 -1
  179. package/dist/dashboard/web/icon-tooltip.d.ts +3 -0
  180. package/dist/dashboard/web/icon-tooltip.d.ts.map +1 -0
  181. package/dist/dashboard/web/icon-tooltip.js +108 -0
  182. package/dist/dashboard/web/icon-tooltip.js.map +1 -0
  183. package/dist/dashboard/web/sessions-kanban.js +2 -2
  184. package/dist/dashboard/web/sessions-kanban.js.map +1 -1
  185. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  186. package/dist/dashboard/web/sessions-page.js +48 -9
  187. package/dist/dashboard/web/sessions-page.js.map +1 -1
  188. package/dist/dashboard/web/sessions.d.ts +2 -0
  189. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  190. package/dist/dashboard/web/sessions.js +46 -2
  191. package/dist/dashboard/web/sessions.js.map +1 -1
  192. package/dist/dashboard/web/settings-page.d.ts +78 -0
  193. package/dist/dashboard/web/settings-page.d.ts.map +1 -1
  194. package/dist/dashboard/web/settings-page.js +88 -1
  195. package/dist/dashboard/web/settings-page.js.map +1 -1
  196. package/dist/dashboard/web/store.d.ts +2 -0
  197. package/dist/dashboard/web/store.d.ts.map +1 -1
  198. package/dist/dashboard/web/store.js +13 -1
  199. package/dist/dashboard/web/store.js.map +1 -1
  200. package/dist/dashboard-web/app.js +1 -1
  201. package/dist/dashboard-web/chunks/bot-defaults-page-O376WSER.js +5 -0
  202. package/dist/dashboard-web/chunks/{chunk-JNRSPKLS.js → chunk-EJDYUINZ.js} +1 -1
  203. package/dist/dashboard-web/chunks/{chunk-CUV65BIQ.js → chunk-H7P5UV4W.js} +6 -6
  204. package/dist/dashboard-web/chunks/{chunk-P6GO5KT4.js → chunk-QCPPKCX3.js} +1 -1
  205. package/dist/dashboard-web/chunks/{chunk-UBOLHQCK.js → chunk-WXPMNEYV.js} +1 -1
  206. package/dist/dashboard-web/chunks/{connectors-page-KTC2QWNW.js → connectors-page-IR54AOAI.js} +1 -1
  207. package/dist/dashboard-web/chunks/{groups-page-B3EKGOLY.js → groups-page-3P4TLUMF.js} +1 -1
  208. package/dist/dashboard-web/chunks/{insights-page-X6RXNCWX.js → insights-page-TDCZV56A.js} +1 -1
  209. package/dist/dashboard-web/chunks/{monitor-room-LLRA5LQW.js → monitor-room-QWCWL3SX.js} +1 -1
  210. package/dist/dashboard-web/chunks/{monitoring-page-7MT5FEOS.js → monitoring-page-IOWFSNVC.js} +1 -1
  211. package/dist/dashboard-web/chunks/{office-page-KD46D5TD.js → office-page-5AUPEHZP.js} +1 -1
  212. package/dist/dashboard-web/chunks/{overview-page-JUWNH32O.js → overview-page-QJMI6NLW.js} +1 -1
  213. package/dist/dashboard-web/chunks/{roles-page-P6F7NLOI.js → roles-page-WJVB52ET.js} +1 -1
  214. package/dist/dashboard-web/chunks/{schedules-page-XIHWZST4.js → schedules-page-RVRWHP4V.js} +1 -1
  215. package/dist/dashboard-web/chunks/sessions-page-KWLGBX6G.js +3 -0
  216. package/dist/dashboard-web/chunks/settings-page-TNZEPC7V.js +2 -0
  217. package/dist/dashboard-web/chunks/{skills-page-A46KVWBL.js → skills-page-7YT5TIX5.js} +1 -1
  218. package/dist/dashboard-web/chunks/{team-federation-page-SDUC56DF.js → team-federation-page-NJZKTU7A.js} +1 -1
  219. package/dist/dashboard-web/chunks/{v3-page-J5JOTUSQ.js → v3-page-NQ73UA2Q.js} +1 -1
  220. package/dist/dashboard-web/chunks/{whiteboards-page-U7LSOAWI.js → whiteboards-page-DSM3MDMN.js} +1 -1
  221. package/dist/dashboard-web/style.css +198 -7
  222. package/dist/dashboard.js +294 -7
  223. package/dist/dashboard.js.map +1 -1
  224. package/dist/features/codex-notifier/adoption.d.ts +11 -0
  225. package/dist/features/codex-notifier/adoption.d.ts.map +1 -0
  226. package/dist/features/codex-notifier/adoption.js +11 -0
  227. package/dist/features/codex-notifier/adoption.js.map +1 -0
  228. package/dist/features/codex-notifier/app-opener.d.ts +21 -0
  229. package/dist/features/codex-notifier/app-opener.d.ts.map +1 -0
  230. package/dist/features/codex-notifier/app-opener.js +33 -0
  231. package/dist/features/codex-notifier/app-opener.js.map +1 -0
  232. package/dist/features/codex-notifier/card-action.d.ts +27 -0
  233. package/dist/features/codex-notifier/card-action.d.ts.map +1 -0
  234. package/dist/features/codex-notifier/card-action.js +84 -0
  235. package/dist/features/codex-notifier/card-action.js.map +1 -0
  236. package/dist/features/codex-notifier/card.d.ts +12 -0
  237. package/dist/features/codex-notifier/card.d.ts.map +1 -0
  238. package/dist/features/codex-notifier/card.js +150 -0
  239. package/dist/features/codex-notifier/card.js.map +1 -0
  240. package/dist/features/codex-notifier/codex-context.d.ts +12 -0
  241. package/dist/features/codex-notifier/codex-context.d.ts.map +1 -0
  242. package/dist/features/codex-notifier/codex-context.js +161 -0
  243. package/dist/features/codex-notifier/codex-context.js.map +1 -0
  244. package/dist/features/codex-notifier/config.d.ts +9 -0
  245. package/dist/features/codex-notifier/config.d.ts.map +1 -0
  246. package/dist/features/codex-notifier/config.js +11 -0
  247. package/dist/features/codex-notifier/config.js.map +1 -0
  248. package/dist/features/codex-notifier/confirmed-turn.d.ts +20 -0
  249. package/dist/features/codex-notifier/confirmed-turn.d.ts.map +1 -0
  250. package/dist/features/codex-notifier/confirmed-turn.js +130 -0
  251. package/dist/features/codex-notifier/confirmed-turn.js.map +1 -0
  252. package/dist/features/codex-notifier/emitter.d.ts +13 -0
  253. package/dist/features/codex-notifier/emitter.d.ts.map +1 -0
  254. package/dist/features/codex-notifier/emitter.js +33 -0
  255. package/dist/features/codex-notifier/emitter.js.map +1 -0
  256. package/dist/features/codex-notifier/event-store.d.ts +29 -0
  257. package/dist/features/codex-notifier/event-store.d.ts.map +1 -0
  258. package/dist/features/codex-notifier/event-store.js +217 -0
  259. package/dist/features/codex-notifier/event-store.js.map +1 -0
  260. package/dist/features/codex-notifier/event.d.ts +46 -0
  261. package/dist/features/codex-notifier/event.d.ts.map +1 -0
  262. package/dist/features/codex-notifier/event.js +188 -0
  263. package/dist/features/codex-notifier/event.js.map +1 -0
  264. package/dist/features/codex-notifier/hook-cli.d.ts +23 -0
  265. package/dist/features/codex-notifier/hook-cli.d.ts.map +1 -0
  266. package/dist/features/codex-notifier/hook-cli.js +130 -0
  267. package/dist/features/codex-notifier/hook-cli.js.map +1 -0
  268. package/dist/features/codex-notifier/hook-installer.d.ts +19 -0
  269. package/dist/features/codex-notifier/hook-installer.d.ts.map +1 -0
  270. package/dist/features/codex-notifier/hook-installer.js +158 -0
  271. package/dist/features/codex-notifier/hook-installer.js.map +1 -0
  272. package/dist/features/codex-notifier/index.d.ts +21 -0
  273. package/dist/features/codex-notifier/index.d.ts.map +1 -0
  274. package/dist/features/codex-notifier/index.js +19 -0
  275. package/dist/features/codex-notifier/index.js.map +1 -0
  276. package/dist/features/codex-notifier/internal-turn.d.ts +5 -0
  277. package/dist/features/codex-notifier/internal-turn.d.ts.map +1 -0
  278. package/dist/features/codex-notifier/internal-turn.js +43 -0
  279. package/dist/features/codex-notifier/internal-turn.js.map +1 -0
  280. package/dist/features/codex-notifier/outbox-worker.d.ts +71 -0
  281. package/dist/features/codex-notifier/outbox-worker.d.ts.map +1 -0
  282. package/dist/features/codex-notifier/outbox-worker.js +290 -0
  283. package/dist/features/codex-notifier/outbox-worker.js.map +1 -0
  284. package/dist/features/codex-notifier/outbox.d.ts +25 -0
  285. package/dist/features/codex-notifier/outbox.d.ts.map +1 -0
  286. package/dist/features/codex-notifier/outbox.js +225 -0
  287. package/dist/features/codex-notifier/outbox.js.map +1 -0
  288. package/dist/features/codex-notifier/paths.d.ts +7 -0
  289. package/dist/features/codex-notifier/paths.d.ts.map +1 -0
  290. package/dist/features/codex-notifier/paths.js +20 -0
  291. package/dist/features/codex-notifier/paths.js.map +1 -0
  292. package/dist/features/codex-notifier/screen-lock.d.ts +12 -0
  293. package/dist/features/codex-notifier/screen-lock.d.ts.map +1 -0
  294. package/dist/features/codex-notifier/screen-lock.js +47 -0
  295. package/dist/features/codex-notifier/screen-lock.js.map +1 -0
  296. package/dist/features/codex-notifier/side-conversation-monitor.d.ts +102 -0
  297. package/dist/features/codex-notifier/side-conversation-monitor.d.ts.map +1 -0
  298. package/dist/features/codex-notifier/side-conversation-monitor.js +774 -0
  299. package/dist/features/codex-notifier/side-conversation-monitor.js.map +1 -0
  300. package/dist/features/codex-notifier/types.d.ts +42 -0
  301. package/dist/features/codex-notifier/types.d.ts.map +1 -0
  302. package/dist/features/codex-notifier/types.js +2 -0
  303. package/dist/features/codex-notifier/types.js.map +1 -0
  304. package/dist/features/codex-notifier/worker-lock.d.ts +8 -0
  305. package/dist/features/codex-notifier/worker-lock.d.ts.map +1 -0
  306. package/dist/features/codex-notifier/worker-lock.js +108 -0
  307. package/dist/features/codex-notifier/worker-lock.js.map +1 -0
  308. package/dist/global-config.d.ts +13 -0
  309. package/dist/global-config.d.ts.map +1 -1
  310. package/dist/global-config.js +30 -0
  311. package/dist/global-config.js.map +1 -1
  312. package/dist/im/lark/card-builder.js +2 -2
  313. package/dist/im/lark/card-builder.js.map +1 -1
  314. package/dist/im/lark/card-handler.d.ts +2 -0
  315. package/dist/im/lark/card-handler.d.ts.map +1 -1
  316. package/dist/im/lark/card-handler.js +165 -34
  317. package/dist/im/lark/card-handler.js.map +1 -1
  318. package/dist/im/lark/client.d.ts +62 -4
  319. package/dist/im/lark/client.d.ts.map +1 -1
  320. package/dist/im/lark/client.js +237 -29
  321. package/dist/im/lark/client.js.map +1 -1
  322. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  323. package/dist/im/lark/event-dispatcher.js +20 -30
  324. package/dist/im/lark/event-dispatcher.js.map +1 -1
  325. package/dist/platform/secure-host-file.d.ts.map +1 -1
  326. package/dist/platform/secure-host-file.js +173 -54
  327. package/dist/platform/secure-host-file.js.map +1 -1
  328. package/dist/services/codex-app-threads.d.ts +47 -0
  329. package/dist/services/codex-app-threads.d.ts.map +1 -1
  330. package/dist/services/codex-app-threads.js +502 -10
  331. package/dist/services/codex-app-threads.js.map +1 -1
  332. package/dist/services/exact-chat-grant.d.ts +83 -0
  333. package/dist/services/exact-chat-grant.d.ts.map +1 -0
  334. package/dist/services/exact-chat-grant.js +249 -0
  335. package/dist/services/exact-chat-grant.js.map +1 -0
  336. package/dist/services/group-creator.d.ts +11 -0
  337. package/dist/services/group-creator.d.ts.map +1 -1
  338. package/dist/services/group-creator.js +18 -9
  339. package/dist/services/group-creator.js.map +1 -1
  340. package/dist/services/local-cli-opener.d.ts.map +1 -1
  341. package/dist/services/local-cli-opener.js +10 -5
  342. package/dist/services/local-cli-opener.js.map +1 -1
  343. package/dist/services/traex-user-input.d.ts +19 -0
  344. package/dist/services/traex-user-input.d.ts.map +1 -0
  345. package/dist/services/traex-user-input.js +57 -0
  346. package/dist/services/traex-user-input.js.map +1 -0
  347. package/dist/setup/open-platform-automation.d.ts +24 -3
  348. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  349. package/dist/setup/open-platform-automation.js +45 -8
  350. package/dist/setup/open-platform-automation.js.map +1 -1
  351. package/dist/setup/verify-permissions.d.ts +18 -0
  352. package/dist/setup/verify-permissions.d.ts.map +1 -1
  353. package/dist/setup/verify-permissions.js +60 -0
  354. package/dist/setup/verify-permissions.js.map +1 -1
  355. package/dist/types.d.ts +70 -4
  356. package/dist/types.d.ts.map +1 -1
  357. package/dist/utils/child-env.d.ts +1 -1
  358. package/dist/utils/child-env.d.ts.map +1 -1
  359. package/dist/utils/child-env.js +2 -0
  360. package/dist/utils/child-env.js.map +1 -1
  361. package/dist/utils/pending-input-queue.d.ts +19 -0
  362. package/dist/utils/pending-input-queue.d.ts.map +1 -1
  363. package/dist/utils/pending-input-queue.js +21 -1
  364. package/dist/utils/pending-input-queue.js.map +1 -1
  365. package/dist/utils/stuck-detector.d.ts +45 -0
  366. package/dist/utils/stuck-detector.d.ts.map +1 -0
  367. package/dist/utils/stuck-detector.js +188 -0
  368. package/dist/utils/stuck-detector.js.map +1 -0
  369. package/dist/utils/stuck-key-guard.d.ts +75 -0
  370. package/dist/utils/stuck-key-guard.d.ts.map +1 -0
  371. package/dist/utils/stuck-key-guard.js +77 -0
  372. package/dist/utils/stuck-key-guard.js.map +1 -0
  373. package/dist/worker.js +807 -117
  374. package/dist/worker.js.map +1 -1
  375. package/package.json +1 -1
  376. package/dist/dashboard-web/chunks/bot-defaults-page-B5AY4B2J.js +0 -5
  377. package/dist/dashboard-web/chunks/sessions-page-2VECQ27T.js +0 -3
  378. package/dist/dashboard-web/chunks/settings-page-HMIUE2JA.js +0 -2
@@ -1,4 +1,7 @@
1
1
  import { execFileSync, spawn } from 'node:child_process';
2
+ import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
4
+ import { basename, delimiter, dirname, isAbsolute, join } from 'node:path';
2
5
  import * as pty from 'node-pty';
3
6
  import xtermHeadless from '@xterm/headless';
4
7
  import { logger } from '../../utils/logger.js';
@@ -19,6 +22,19 @@ const SERVER_BOOT_DEADLINE_MS = 5000;
19
22
  // agent still re-arms the watcher and we never accumulate an
20
23
  // indefinitely-orphaned subprocess on process teardown.
21
24
  const STATUS_WAIT_TIMEOUT_MS = 30_000;
25
+ // Herdr 0.7.5 replaced the free-form `agent start --cwd -- <argv...>` command
26
+ // with a managed-agent facade that targets an existing shell pane and launches
27
+ // one of Herdr's known coding-agent kinds. The command itself waits for the TUI
28
+ // to become interactive, so let it use its 30s default plus a small IPC margin.
29
+ const PANE_AGENT_START_TIMEOUT_MS = 30_000;
30
+ const PANE_AGENT_EXEC_TIMEOUT_MS = PANE_AGENT_START_TIMEOUT_MS + 5_000;
31
+ // A newly-created workspace can be returned before its login shell reaches an
32
+ // interactive prompt. `agent start` then fails immediately with
33
+ // `agent_pane_busy`; retry only that transient response, bounded independently
34
+ // from the agent's own startup timeout.
35
+ const PANE_SHELL_READY_TIMEOUT_MS = 5_000;
36
+ const PANE_SHELL_READY_POLL_MS = 100;
37
+ const PANE_SHELL_READY_MAX_ATTEMPTS = Math.ceil(PANE_SHELL_READY_TIMEOUT_MS / PANE_SHELL_READY_POLL_MS);
22
38
  // Watch the full useful lifecycle, not just settled statuses. Herdr's
23
39
  // `wait agent-status --status X` is level-triggered: when the pane is already
24
40
  // in X it succeeds immediately. After one status wins we therefore exclude it
@@ -26,6 +42,21 @@ const STATUS_WAIT_TIMEOUT_MS = 30_000;
26
42
  // is what re-enables `done`/`blocked`/`idle` for the following turn without
27
43
  // hot-looping on the settled state between turns.
28
44
  const WATCHED_STATUSES = ['working', 'done', 'blocked', 'idle'];
45
+ const PANE_AGENT_KIND_BY_EXECUTABLE = {
46
+ pi: 'pi',
47
+ claude: 'claude',
48
+ codex: 'codex',
49
+ gemini: 'gemini',
50
+ 'cursor-agent': 'cursor',
51
+ agy: 'agy',
52
+ omp: 'omp',
53
+ opencode: 'opencode',
54
+ copilot: 'copilot',
55
+ kimi: 'kimi',
56
+ 'kiro-cli': 'kiro',
57
+ grok: 'grok',
58
+ hermes: 'hermes',
59
+ };
29
60
  function tryJsonCommand(args, opts) {
30
61
  try {
31
62
  const out = execFileSync('herdr', args, {
@@ -46,6 +77,135 @@ function jsonCommand(args, opts) {
46
77
  const result = tryJsonCommand(args, opts);
47
78
  return result.ok ? result.value : undefined;
48
79
  }
80
+ /** Required command variant used by multi-step Herdr protocols.
81
+ *
82
+ * `jsonCommand()` intentionally collapses command failures to undefined for
83
+ * best-effort probes. Spawn is different: swallowing stderr turned Herdr
84
+ * 0.7.5's actionable `unknown option: --cwd` into the generic
85
+ * "failed to start agent" message. Keep command arguments (which may contain
86
+ * credentials in --env values) out of the exception while preserving the
87
+ * upstream error code/message.
88
+ */
89
+ function requiredJsonCommand(operation, args, opts) {
90
+ let raw = '';
91
+ try {
92
+ raw = execFileSync('herdr', args, {
93
+ encoding: 'utf-8',
94
+ input: opts?.input,
95
+ stdio: opts?.input === undefined ? ['ignore', 'pipe', 'pipe'] : ['pipe', 'pipe', 'pipe'],
96
+ timeout: opts?.timeout ?? 5000,
97
+ maxBuffer: 16 * 1024 * 1024,
98
+ env: opts?.env,
99
+ }).trim();
100
+ }
101
+ catch (err) {
102
+ const stderr = typeof err?.stderr === 'string' ? err.stderr.trim() : err?.stderr?.toString?.().trim();
103
+ const stdout = typeof err?.stdout === 'string' ? err.stdout.trim() : err?.stdout?.toString?.().trim();
104
+ const detail = stderr || stdout;
105
+ throw new Error(`${operation} failed${detail ? `: ${detail.slice(0, 1000)}` : ''}`);
106
+ }
107
+ if (!raw)
108
+ throw new Error(`${operation} failed: empty response`);
109
+ let value;
110
+ try {
111
+ value = JSON.parse(raw);
112
+ }
113
+ catch {
114
+ throw new Error(`${operation} failed: invalid JSON response`);
115
+ }
116
+ if (value?.error) {
117
+ const code = typeof value.error.code === 'string' ? value.error.code : 'unknown_error';
118
+ const message = typeof value.error.message === 'string' ? value.error.message : 'unknown error';
119
+ throw new Error(`${operation} failed: ${code}: ${message}`);
120
+ }
121
+ return value;
122
+ }
123
+ function herdrUsesPaneAgentStart() {
124
+ try {
125
+ const out = execFileSync('herdr', ['--version'], {
126
+ encoding: 'utf-8',
127
+ stdio: ['ignore', 'pipe', 'ignore'],
128
+ timeout: 3000,
129
+ }).trim();
130
+ const match = /(?:^|\s)(\d+)\.(\d+)\.(\d+)(?:\D|$)/.exec(out);
131
+ if (!match)
132
+ return false;
133
+ const [, majorRaw, minorRaw, patchRaw] = match;
134
+ const major = Number(majorRaw);
135
+ const minor = Number(minorRaw);
136
+ const patch = Number(patchRaw);
137
+ return major > 0 || minor > 7 || (minor === 7 && patch >= 5);
138
+ }
139
+ catch {
140
+ return false;
141
+ }
142
+ }
143
+ function paneAgentKindForExecutable(bin) {
144
+ return PANE_AGENT_KIND_BY_EXECUTABLE[basename(bin)];
145
+ }
146
+ function environmentForPaneAgent(bin, childEnv) {
147
+ const env = { ...(childEnv ?? {}) };
148
+ if (!isAbsolute(bin))
149
+ return env;
150
+ const binDir = dirname(bin);
151
+ const currentPath = env.PATH ?? process.env.PATH ?? '';
152
+ const pathParts = currentPath.split(delimiter).filter(Boolean);
153
+ env.PATH = [binDir, ...pathParts.filter(part => part !== binDir)].join(delimiter);
154
+ return env;
155
+ }
156
+ function shellSingleQuote(value) {
157
+ if (value.includes('\0'))
158
+ throw new Error('Herdr launch argument contains NUL');
159
+ return `'${value.replaceAll("'", `'"'"'`)}'`;
160
+ }
161
+ function canForwardPaneAgentArgs(args) {
162
+ return args.every(arg => !/[\x00-\x1f\x7f]/.test(arg));
163
+ }
164
+ /** Build a short-lived canonical launcher for Herdr's managed-agent facade.
165
+ *
166
+ * Herdr 0.7.5 rejects control characters in `agent start` arguments, while
167
+ * Botmux intentionally passes multiline system/initial prompts to several
168
+ * CLIs. Put the exact executable + argv in a mode-0700 script and give Herdr
169
+ * no agent arguments. The shell immediately execs the real CLI, so Herdr still
170
+ * observes and validates the actual supported coding-agent process. The script
171
+ * is removed as soon as Herdr reports the TUI interactive.
172
+ */
173
+ function createPaneAgentLauncher(canonicalExecutable, bin, args, originalPath) {
174
+ const dir = mkdtempSync(join(tmpdir(), 'botmux-herdr-launch-'));
175
+ const path = join(dir, canonicalExecutable);
176
+ const command = [bin, ...args].map(shellSingleQuote).join(' ');
177
+ writeFileSync(path, [
178
+ '#!/bin/sh',
179
+ // Minimise the lifetime of the mode-0700 file containing the exact argv.
180
+ // The backend's finally block is the fallback if Herdr never executes it.
181
+ '/bin/rm -f -- "$0"',
182
+ '/bin/rmdir -- "${0%/*}" 2>/dev/null || true',
183
+ `PATH=${shellSingleQuote(originalPath)}`,
184
+ 'export PATH',
185
+ `exec ${command}`,
186
+ '',
187
+ ].join('\n'), { mode: 0o700 });
188
+ return { dir, path };
189
+ }
190
+ function envCommandArgs(env) {
191
+ return Object.entries(env).flatMap(([key, value]) => ['--env', `${key}=${value}`]);
192
+ }
193
+ /** Neutral environment for the machine-wide shared Herdr server.
194
+ *
195
+ * Every managed agent receives its complete sanitized environment explicitly
196
+ * at workspace/agent creation. The long-lived server must therefore not retain
197
+ * whichever bot happened to create it first (provider tokens, BOTMUX_* routing,
198
+ * etc.), or later bots could inherit cross-bot state for variables they omit.
199
+ */
200
+ function sharedServerEnv(source) {
201
+ const safeKeys = [
202
+ 'PATH', 'HOME', 'USER', 'LOGNAME', 'SHELL',
203
+ 'TMPDIR', 'TMP', 'TEMP',
204
+ 'XDG_CONFIG_HOME', 'XDG_RUNTIME_DIR',
205
+ 'LANG', 'LC_ALL', 'LC_CTYPE', 'TERM', 'COLORTERM',
206
+ ];
207
+ return Object.fromEntries(safeKeys.flatMap(key => source[key] === undefined ? [] : [[key, source[key]]]));
208
+ }
49
209
  function runHerdr(args, opts) {
50
210
  try {
51
211
  execFileSync('herdr', args, {
@@ -84,6 +244,37 @@ function agentRowExited(agent) {
84
244
  function extractReadText(raw) {
85
245
  return typeof raw?.result?.read?.text === 'string' ? raw.result.read.text : '';
86
246
  }
247
+ /** Read terminal text across Herdr CLI output contracts.
248
+ *
249
+ * Herdr 0.6.x wrapped `agent read` in JSON (`result.read.text`), while 0.7.5
250
+ * writes the terminal snapshot directly to stdout even though most other
251
+ * commands remain JSON. Parsing every read via jsonCommand() therefore turned
252
+ * a successful 0.7.5 read into an empty screen. Preserve raw ANSI bytes, but
253
+ * still unwrap the legacy JSON response for older installations.
254
+ */
255
+ function readHerdrTextCommand(args) {
256
+ try {
257
+ const raw = execFileSync('herdr', args, {
258
+ encoding: 'utf-8',
259
+ stdio: ['ignore', 'pipe', 'pipe'],
260
+ timeout: 5000,
261
+ maxBuffer: 16 * 1024 * 1024,
262
+ });
263
+ const candidate = raw.trim();
264
+ if (candidate.startsWith('{')) {
265
+ try {
266
+ const text = extractReadText(JSON.parse(candidate));
267
+ if (text || candidate.includes('"read"'))
268
+ return text;
269
+ }
270
+ catch { /* Herdr 0.7.5 raw terminal text may itself begin with `{`. */ }
271
+ }
272
+ return raw;
273
+ }
274
+ catch {
275
+ return '';
276
+ }
277
+ }
87
278
  function longestSuffixPrefix(previous, next) {
88
279
  const max = Math.min(previous.length, next.length);
89
280
  for (let len = max; len > 0; len--) {
@@ -102,7 +293,8 @@ export class HerdrBackend {
102
293
  snapshotCbs = [];
103
294
  webCursorCbs = [];
104
295
  exitCbs = [];
105
- agentName = 'botmux';
296
+ agentStatusCbs = [];
297
+ agentName;
106
298
  paneId;
107
299
  lastText = '';
108
300
  exited = false;
@@ -124,6 +316,7 @@ export class HerdrBackend {
124
316
  constructor(sessionName, opts = {}) {
125
317
  this.sessionName = sessionName;
126
318
  this.opts = opts;
319
+ this.agentName = opts.agentName ?? 'botmux';
127
320
  if (opts.externalTarget?.paneId)
128
321
  this.paneId = opts.externalTarget.paneId;
129
322
  }
@@ -139,6 +332,10 @@ export class HerdrBackend {
139
332
  static sessionName(sessionId) {
140
333
  return `bmx-${sessionId.slice(0, 8)}`;
141
334
  }
335
+ /** Machine-wide host for every agent actively launched by Botmux. */
336
+ static managedSessionName() {
337
+ return 'botmux';
338
+ }
142
339
  static hasSession(name) {
143
340
  return HerdrBackend.probeSession(name) === 'exists';
144
341
  }
@@ -174,6 +371,29 @@ export class HerdrBackend {
174
371
  .map((s) => typeof s?.name === 'string' ? s.name : '')
175
372
  .filter((name) => name.startsWith('bmx-'));
176
373
  }
374
+ static hasAgent(sessionName, agentName) {
375
+ return HerdrBackend.probeAgent(sessionName, agentName) === 'exists';
376
+ }
377
+ /** Tri-state probe for a Botmux-managed agent inside a shared session. */
378
+ static probeAgent(sessionName, agentName) {
379
+ const result = tryJsonCommand(herdrSessionArgs(sessionName, ['agent', 'list']), { timeout: 5000 });
380
+ if (!result.ok) {
381
+ // `agent list` can fail because this specific host session disappeared,
382
+ // not only because the Herdr server is unavailable. Preserve the same
383
+ // missing-vs-unknown distinction as whole-session lifecycle probes.
384
+ return HerdrBackend.probeSession(sessionName) === 'missing' ? 'missing' : 'unknown';
385
+ }
386
+ const agent = extractAgents(result.value).find((row) => row?.name === agentName);
387
+ return agent && !agentRowExited(agent) ? 'exists' : 'missing';
388
+ }
389
+ /** Close only the managed pane, never the surrounding user-owned session. */
390
+ static killAgent(sessionName, agentName) {
391
+ const raw = jsonCommand(herdrSessionArgs(sessionName, ['agent', 'list']), { timeout: 5000 });
392
+ const paneId = extractAgents(raw).find((row) => row?.name === agentName)?.pane_id;
393
+ if (typeof paneId === 'string' && paneId) {
394
+ runHerdr(herdrSessionArgs(sessionName, ['pane', 'close', paneId]), { timeout: 5000 });
395
+ }
396
+ }
177
397
  get isReattach() {
178
398
  return this.opts.isReattach ?? false;
179
399
  }
@@ -192,14 +412,11 @@ export class HerdrBackend {
192
412
  // Skip on externalTarget: that's the user's own pre-existing herdr
193
413
  // session; we can't (and shouldn't) re-env an already-running CLI.
194
414
  //
195
- // Per-bot env (opts.injectEnv, e.g. ANTHROPIC_BASE_URL/AUTH_TOKEN for a GLM
196
- // bot): herdr runs a per-session server (one `herdr --session <name> server`
197
- // per botmux session, see ensureServer), so unlike tmux/zellij there is no
198
- // shared cross-bot server whose global env we'd pollute merging it into
199
- // childEnv is safe (same reasoning as the pty backend). childEnv flows to
200
- // both the daemon spawn and the agent-start call, and the daemon forks the
201
- // CLI as its child, so the per-bot env reaches the CLI. Already sanitized by
202
- // the worker. Appended last so it wins over a same-named key in opts.env.
415
+ // Per-bot env (opts.injectEnv, e.g. provider credentials) is merged into
416
+ // the environment passed explicitly when this agent/workspace is created.
417
+ // The machine-wide server itself gets only sharedServerEnv(), so the first
418
+ // bot to create `botmux` cannot leak its routing or credentials to siblings.
419
+ // Appended last so injected values win over same-named keys in opts.env.
203
420
  this.childEnv = this.opts.externalTarget
204
421
  ? undefined
205
422
  : { ...opts.env, ...(opts.injectEnv ?? {}) };
@@ -221,10 +438,17 @@ export class HerdrBackend {
221
438
  if (existing) {
222
439
  this.paneId = existing.pane_id;
223
440
  }
441
+ else if (herdrUsesPaneAgentStart()) {
442
+ this.paneId = this.startPaneAgent(bin, args, opts);
443
+ }
224
444
  else {
225
- const started = jsonCommand(herdrSessionArgs(this.sessionName, [
445
+ const envArgs = this.opts.ownsSession === false
446
+ ? envCommandArgs(this.childEnv ?? {})
447
+ : [];
448
+ const started = requiredJsonCommand(`herdr agent start ${this.agentName} in ${this.sessionName}`, herdrSessionArgs(this.sessionName, [
226
449
  'agent', 'start', this.agentName,
227
450
  '--cwd', opts.cwd,
451
+ ...envArgs,
228
452
  '--', bin, ...args,
229
453
  ]), { timeout: 10_000, env: this.childEnv });
230
454
  const agent = extractAgent(started);
@@ -330,6 +554,28 @@ export class HerdrBackend {
330
554
  onExit(cb) {
331
555
  this.exitCbs.push(cb);
332
556
  }
557
+ /** Authoritative Herdr lifecycle signal for input gating.
558
+ *
559
+ * Screen deltas are insufficient for TUIs such as Pi whose empty prompt can
560
+ * render identically before and after becoming interactive. Herdr already
561
+ * classifies that state, so expose it to the worker rather than guessing from
562
+ * terminal text. Registration also reports the current settled state to avoid
563
+ * missing a fast `idle` transition that happened during spawn().
564
+ */
565
+ onAgentStatus(cb) {
566
+ this.agentStatusCbs.push(cb);
567
+ const current = this.getAgent()?.agent_status;
568
+ if (!WATCHED_STATUSES.includes(current))
569
+ return;
570
+ queueMicrotask(() => {
571
+ if (this.exited || !this.agentStatusCbs.includes(cb))
572
+ return;
573
+ try {
574
+ cb(current);
575
+ }
576
+ catch { /* listener crash shouldn't kill backend */ }
577
+ });
578
+ }
333
579
  kill() {
334
580
  if (this.exited)
335
581
  return;
@@ -341,13 +587,19 @@ export class HerdrBackend {
341
587
  }
342
588
  destroySession() {
343
589
  this.kill();
344
- // Only tear down the herdr session if botmux owns it. An adopted external
345
- // target (externalTarget) is the user's own herdr session botmux merely
346
- // observes it, so /close must detach (kill) without stopping their CLI.
347
- // Mirrors TmuxPipeBackend's ownsSession guard.
348
- if (!this.opts.externalTarget) {
590
+ // Adopted targets are observation-only. A managed agent placed in a user's
591
+ // existing session owns its pane but never the surrounding herdr session.
592
+ if (this.opts.ownsSession ?? !this.opts.externalTarget) {
349
593
  HerdrBackend.killSession(this.sessionName);
350
594
  }
595
+ else if (this.opts.ownsAgent) {
596
+ if (this.paneId) {
597
+ runHerdr(herdrSessionArgs(this.sessionName, ['pane', 'close', this.paneId]), { timeout: 5000 });
598
+ }
599
+ else {
600
+ HerdrBackend.killAgent(this.sessionName, this.agentName);
601
+ }
602
+ }
351
603
  }
352
604
  getChildPid() {
353
605
  return this.cliPid ?? null;
@@ -369,14 +621,17 @@ export class HerdrBackend {
369
621
  return;
370
622
  if (this.opts.externalTarget)
371
623
  throw new Error(`herdr session ${this.sessionName} is not running`);
372
- // Pass childEnv to the herdr daemon: the daemon forks the agent CLI as
373
- // its own child, so the daemon's env is what the CLI ultimately
374
- // inherits. Without this, the CLI would see worker.ts process.env (bare
375
- // LARK_APP_SECRET, no BOTMUX_*).
624
+ // Botmux's machine-wide host is shared across bots, so its long-lived
625
+ // server must be credential-neutral. Each agent receives childEnv
626
+ // explicitly in startPaneAgent()/agent start. Legacy per-topic owned
627
+ // sessions keep the historical server-env behavior for compatibility.
628
+ const serverEnv = this.opts.ownsSession === false
629
+ ? sharedServerEnv(process.env)
630
+ : this.childEnv;
376
631
  this.serverProcess = spawn('herdr', ['--session', this.sessionName, 'server'], {
377
632
  stdio: 'ignore',
378
633
  detached: true,
379
- env: this.childEnv,
634
+ env: serverEnv,
380
635
  });
381
636
  this.serverProcess.unref();
382
637
  // Bounded poll with sleeps so we don't pin a core spamming `session list`
@@ -389,6 +644,85 @@ export class HerdrBackend {
389
644
  }
390
645
  throw new Error(`failed to start herdr session ${this.sessionName}`);
391
646
  }
647
+ /** Herdr >=0.7.5 managed-agent launch protocol.
648
+ *
649
+ * The new facade no longer accepts an arbitrary executable or cwd directly:
650
+ * create a shell workspace with the requested cwd/env, then ask Herdr to
651
+ * launch a supported coding-agent kind in that exact root pane. Prepending
652
+ * an absolute binary's directory to PATH preserves cliPathOverride installs
653
+ * whose basename is still the canonical Herdr executable (for example a Pi
654
+ * installed under ~/.local/bin/node/bin/pi).
655
+ */
656
+ startPaneAgent(bin, args, opts) {
657
+ const kind = paneAgentKindForExecutable(bin);
658
+ if (!kind) {
659
+ throw new Error(`Herdr >=0.7.5 cannot launch executable "${basename(bin)}" as a managed coding agent; ` +
660
+ 'use a Herdr-supported CLI executable or select the tmux backend');
661
+ }
662
+ const workspaceEnv = environmentForPaneAgent(bin, this.childEnv);
663
+ const originalPath = workspaceEnv.PATH ?? process.env.PATH ?? '';
664
+ const launcher = createPaneAgentLauncher(basename(bin), bin, args, originalPath);
665
+ workspaceEnv.PATH = [launcher.dir, originalPath].filter(Boolean).join(delimiter);
666
+ let workspaceId;
667
+ try {
668
+ const created = requiredJsonCommand(`herdr workspace create for ${this.agentName} in ${this.sessionName}`, herdrSessionArgs(this.sessionName, [
669
+ 'workspace', 'create',
670
+ '--cwd', opts.cwd,
671
+ '--label', this.agentName,
672
+ '--no-focus',
673
+ ...envCommandArgs(workspaceEnv),
674
+ ]), { timeout: 10_000, env: this.childEnv });
675
+ const paneId = created?.result?.root_pane?.pane_id;
676
+ workspaceId = created?.result?.workspace?.workspace_id;
677
+ if (typeof paneId !== 'string' || !paneId) {
678
+ throw new Error(`herdr workspace create for ${this.agentName} in ${this.sessionName} failed: missing root pane`);
679
+ }
680
+ const startArgs = herdrSessionArgs(this.sessionName, [
681
+ 'agent', 'start', this.agentName,
682
+ '--kind', kind,
683
+ '--pane', paneId,
684
+ '--timeout', String(PANE_AGENT_START_TIMEOUT_MS),
685
+ // Herdr 0.7.5 on macOS resolves managed kinds through its integration
686
+ // instead of the workspace PATH, so the canonical launcher may not run.
687
+ // Forward control-character-free argv as well (Pi's @prompt-file path
688
+ // is safe) to preserve session identity and initial-message delivery.
689
+ // Multiline argv still stays exclusively in the launcher because Herdr
690
+ // rejects control characters with invalid_agent_argument.
691
+ ...(canForwardPaneAgentArgs(args) ? ['--', ...args] : []),
692
+ ]);
693
+ const readyDeadline = Date.now() + PANE_SHELL_READY_TIMEOUT_MS;
694
+ let started;
695
+ for (let attempt = 1;; attempt++) {
696
+ try {
697
+ started = requiredJsonCommand(`herdr agent start ${this.agentName} in ${this.sessionName}`, startArgs, { timeout: PANE_AGENT_EXEC_TIMEOUT_MS, env: this.childEnv });
698
+ break;
699
+ }
700
+ catch (err) {
701
+ const paneBusy = err instanceof Error && err.message.includes('agent_pane_busy');
702
+ if (!paneBusy || attempt >= PANE_SHELL_READY_MAX_ATTEMPTS || Date.now() >= readyDeadline)
703
+ throw err;
704
+ sleepSync(PANE_SHELL_READY_POLL_MS);
705
+ }
706
+ }
707
+ const agent = extractAgent(started);
708
+ if (!agent?.pane_id) {
709
+ throw new Error(`herdr agent start ${this.agentName} in ${this.sessionName} failed: missing agent pane`);
710
+ }
711
+ return agent.pane_id;
712
+ }
713
+ catch (err) {
714
+ // Workspace creation succeeded but the CLI did not. Remove only the
715
+ // workspace created by this attempt so a shared user session is never
716
+ // left with an empty Botmux tab after a failed spawn.
717
+ if (typeof workspaceId === 'string' && workspaceId) {
718
+ runHerdr(herdrSessionArgs(this.sessionName, ['workspace', 'close', workspaceId]), { timeout: 5000 });
719
+ }
720
+ throw err;
721
+ }
722
+ finally {
723
+ rmSync(launcher.dir, { recursive: true, force: true });
724
+ }
725
+ }
392
726
  startWebAttach(size) {
393
727
  const target = this.paneId ?? this.agentName;
394
728
  const cursorTerminal = new Terminal({
@@ -486,19 +820,13 @@ export class HerdrBackend {
486
820
  const raw = tryJsonCommand(herdrSessionArgs(this.sessionName, ['agent', 'list']), { timeout: 5000 });
487
821
  return raw.ok ? extractAgents(raw.value) : null;
488
822
  }
489
- // NOTE: we use `agent read` (not `pane read`) for capture. Both accept the
490
- // same target shapes (pane_id, agent name, terminal_id), but `pane read`
491
- // prints raw text while `agent read` prints JSON with `result.read.text`.
492
- // Routing reads through JSON keeps the parsing path uniform with the rest
493
- // of the herdr CLI surface and gives us a hard "did the call succeed"
494
- // signal instead of treating raw bytes as opaque text.
495
823
  readVisibleAnsi() {
496
824
  const target = this.paneId ?? this.agentName;
497
- return extractReadText(jsonCommand(herdrSessionArgs(this.sessionName, ['agent', 'read', target, '--source', 'visible', '--lines', String(this.rows), '--format', 'ansi']), { timeout: 5000 }));
825
+ return readHerdrTextCommand(herdrSessionArgs(this.sessionName, ['agent', 'read', target, '--source', 'visible', '--lines', String(this.rows), '--format', 'ansi']));
498
826
  }
499
827
  readRecentAnsi() {
500
828
  const target = this.paneId ?? this.agentName;
501
- return extractReadText(jsonCommand(herdrSessionArgs(this.sessionName, ['agent', 'read', target, '--source', 'recent', '--lines', String(READ_LINES), '--format', 'ansi']), { timeout: 5000 }));
829
+ return readHerdrTextCommand(herdrSessionArgs(this.sessionName, ['agent', 'read', target, '--source', 'recent', '--lines', String(READ_LINES), '--format', 'ansi']));
502
830
  }
503
831
  startPolling() {
504
832
  this.stopPolling();
@@ -621,6 +949,12 @@ export class HerdrBackend {
621
949
  // immediately while a status remains current, so including it again is
622
950
  // the level-triggered success storm this state machine prevents.
623
951
  if (code === 0) {
952
+ for (const cb of this.agentStatusCbs) {
953
+ try {
954
+ cb(status);
955
+ }
956
+ catch { /* listener crash shouldn't kill watcher */ }
957
+ }
624
958
  this.startStatusWatcher(status);
625
959
  return;
626
960
  }
@@ -1 +1 @@
1
- {"version":3,"file":"herdr-backend.js","sourceRoot":"","sources":["../../../src/adapters/backend/herdr-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"herdr-backend.js","sourceRoot":"","sources":["../../../src/adapters/backend/herdr-backend.ts"],"names":[],"mappings":"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"}