botmux 3.15.0 → 3.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (792) hide show
  1. package/README.en.md +2 -2
  2. package/README.md +2 -2
  3. package/dist/.runtime-build-id +1 -1
  4. package/dist/adapters/backend/destroy-result.d.ts +159 -0
  5. package/dist/adapters/backend/destroy-result.d.ts.map +1 -0
  6. package/dist/adapters/backend/destroy-result.js +223 -0
  7. package/dist/adapters/backend/destroy-result.js.map +1 -0
  8. package/dist/adapters/backend/herdr-backend.d.ts +4 -0
  9. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
  10. package/dist/adapters/backend/herdr-backend.js +23 -1
  11. package/dist/adapters/backend/herdr-backend.js.map +1 -1
  12. package/dist/adapters/backend/mojo-backend.d.ts +577 -0
  13. package/dist/adapters/backend/mojo-backend.d.ts.map +1 -0
  14. package/dist/adapters/backend/mojo-backend.js +2471 -0
  15. package/dist/adapters/backend/mojo-backend.js.map +1 -0
  16. package/dist/adapters/backend/mojo-budgets.d.ts +21 -0
  17. package/dist/adapters/backend/mojo-budgets.d.ts.map +1 -0
  18. package/dist/adapters/backend/mojo-budgets.js +22 -0
  19. package/dist/adapters/backend/mojo-budgets.js.map +1 -0
  20. package/dist/adapters/backend/mojo-isolated-workspace.d.ts +69 -0
  21. package/dist/adapters/backend/mojo-isolated-workspace.d.ts.map +1 -0
  22. package/dist/adapters/backend/mojo-isolated-workspace.js +213 -0
  23. package/dist/adapters/backend/mojo-isolated-workspace.js.map +1 -0
  24. package/dist/adapters/backend/mojo-process-tree.d.ts +292 -0
  25. package/dist/adapters/backend/mojo-process-tree.d.ts.map +1 -0
  26. package/dist/adapters/backend/mojo-process-tree.js +486 -0
  27. package/dist/adapters/backend/mojo-process-tree.js.map +1 -0
  28. package/dist/adapters/backend/mojo-types.d.ts +542 -0
  29. package/dist/adapters/backend/mojo-types.d.ts.map +1 -0
  30. package/dist/adapters/backend/mojo-types.js +682 -0
  31. package/dist/adapters/backend/mojo-types.js.map +1 -0
  32. package/dist/adapters/backend/reproduce-command.js +3 -3
  33. package/dist/adapters/backend/reproduce-command.js.map +1 -1
  34. package/dist/adapters/backend/riff-backend.js +1 -1
  35. package/dist/adapters/backend/riff-backend.js.map +1 -1
  36. package/dist/adapters/backend/sandbox.d.ts +44 -7
  37. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  38. package/dist/adapters/backend/sandbox.js +30 -7
  39. package/dist/adapters/backend/sandbox.js.map +1 -1
  40. package/dist/adapters/backend/session-backend-selector.d.ts +14 -1
  41. package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
  42. package/dist/adapters/backend/session-backend-selector.js +82 -10
  43. package/dist/adapters/backend/session-backend-selector.js.map +1 -1
  44. package/dist/adapters/backend/types.d.ts +101 -6
  45. package/dist/adapters/backend/types.d.ts.map +1 -1
  46. package/dist/adapters/backend/types.js.map +1 -1
  47. package/dist/adapters/backend/zmx-backend.d.ts +11 -0
  48. package/dist/adapters/backend/zmx-backend.d.ts.map +1 -1
  49. package/dist/adapters/backend/zmx-backend.js +16 -1
  50. package/dist/adapters/backend/zmx-backend.js.map +1 -1
  51. package/dist/adapters/cli/codex-app.d.ts.map +1 -1
  52. package/dist/adapters/cli/codex-app.js +2 -2
  53. package/dist/adapters/cli/codex-app.js.map +1 -1
  54. package/dist/adapters/cli/codex.d.ts.map +1 -1
  55. package/dist/adapters/cli/codex.js +7 -0
  56. package/dist/adapters/cli/codex.js.map +1 -1
  57. package/dist/adapters/cli/copilot.d.ts +3 -1
  58. package/dist/adapters/cli/copilot.d.ts.map +1 -1
  59. package/dist/adapters/cli/copilot.js +23 -5
  60. package/dist/adapters/cli/copilot.js.map +1 -1
  61. package/dist/adapters/cli/cursor.d.ts.map +1 -1
  62. package/dist/adapters/cli/cursor.js +13 -3
  63. package/dist/adapters/cli/cursor.js.map +1 -1
  64. package/dist/adapters/cli/grok.d.ts.map +1 -1
  65. package/dist/adapters/cli/grok.js +24 -5
  66. package/dist/adapters/cli/grok.js.map +1 -1
  67. package/dist/adapters/cli/kimi.d.ts.map +1 -1
  68. package/dist/adapters/cli/kimi.js +19 -1
  69. package/dist/adapters/cli/kimi.js.map +1 -1
  70. package/dist/adapters/cli/mojo.d.ts +28 -0
  71. package/dist/adapters/cli/mojo.d.ts.map +1 -0
  72. package/dist/adapters/cli/mojo.js +58 -0
  73. package/dist/adapters/cli/mojo.js.map +1 -0
  74. package/dist/adapters/cli/pi.d.ts +6 -4
  75. package/dist/adapters/cli/pi.d.ts.map +1 -1
  76. package/dist/adapters/cli/pi.js +6 -4
  77. package/dist/adapters/cli/pi.js.map +1 -1
  78. package/dist/adapters/cli/read-isolation.d.ts +251 -1
  79. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  80. package/dist/adapters/cli/read-isolation.js +254 -1
  81. package/dist/adapters/cli/read-isolation.js.map +1 -1
  82. package/dist/adapters/cli/registry.d.ts +13 -1
  83. package/dist/adapters/cli/registry.d.ts.map +1 -1
  84. package/dist/adapters/cli/registry.js +19 -1
  85. package/dist/adapters/cli/registry.js.map +1 -1
  86. package/dist/adapters/cli/runner-input.d.ts +3 -3
  87. package/dist/adapters/cli/runner-input.d.ts.map +1 -1
  88. package/dist/adapters/cli/runner-input.js +4 -3
  89. package/dist/adapters/cli/runner-input.js.map +1 -1
  90. package/dist/adapters/cli/shared-hints.d.ts +3 -1
  91. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  92. package/dist/adapters/cli/shared-hints.js +22 -6
  93. package/dist/adapters/cli/shared-hints.js.map +1 -1
  94. package/dist/adapters/cli/types.d.ts +29 -4
  95. package/dist/adapters/cli/types.d.ts.map +1 -1
  96. package/dist/bot-registry.d.ts +20 -0
  97. package/dist/bot-registry.d.ts.map +1 -1
  98. package/dist/bot-registry.js +30 -4
  99. package/dist/bot-registry.js.map +1 -1
  100. package/dist/cli/arg-utils.d.ts +5 -0
  101. package/dist/cli/arg-utils.d.ts.map +1 -1
  102. package/dist/cli/arg-utils.js +7 -0
  103. package/dist/cli/arg-utils.js.map +1 -1
  104. package/dist/cli/bots-list-output.d.ts +130 -2
  105. package/dist/cli/bots-list-output.d.ts.map +1 -1
  106. package/dist/cli/bots-list-output.js +173 -27
  107. package/dist/cli/bots-list-output.js.map +1 -1
  108. package/dist/cli/daemon-lifecycle-env.d.ts +10 -3
  109. package/dist/cli/daemon-lifecycle-env.d.ts.map +1 -1
  110. package/dist/cli/daemon-lifecycle-env.js +38 -11
  111. package/dist/cli/daemon-lifecycle-env.js.map +1 -1
  112. package/dist/cli/dashboard-command.d.ts +15 -0
  113. package/dist/cli/dashboard-command.d.ts.map +1 -1
  114. package/dist/cli/dashboard-command.js +22 -0
  115. package/dist/cli/dashboard-command.js.map +1 -1
  116. package/dist/cli/log-tail.d.ts +54 -0
  117. package/dist/cli/log-tail.d.ts.map +1 -0
  118. package/dist/cli/log-tail.js +167 -0
  119. package/dist/cli/log-tail.js.map +1 -0
  120. package/dist/cli/pm2-env.d.ts +16 -0
  121. package/dist/cli/pm2-env.d.ts.map +1 -0
  122. package/dist/cli/pm2-env.js +63 -0
  123. package/dist/cli/pm2-env.js.map +1 -0
  124. package/dist/cli/pm2-fleet-lock.d.ts +26 -0
  125. package/dist/cli/pm2-fleet-lock.d.ts.map +1 -0
  126. package/dist/cli/pm2-fleet-lock.js +50 -0
  127. package/dist/cli/pm2-fleet-lock.js.map +1 -0
  128. package/dist/cli/pm2-god-retirement.d.ts +59 -0
  129. package/dist/cli/pm2-god-retirement.d.ts.map +1 -0
  130. package/dist/cli/pm2-god-retirement.js +95 -0
  131. package/dist/cli/pm2-god-retirement.js.map +1 -0
  132. package/dist/cli/session-list-wake.d.ts +41 -0
  133. package/dist/cli/session-list-wake.d.ts.map +1 -0
  134. package/dist/cli/session-list-wake.js +102 -0
  135. package/dist/cli/session-list-wake.js.map +1 -0
  136. package/dist/cli/workflow.d.ts.map +1 -1
  137. package/dist/cli/workflow.js +26 -0
  138. package/dist/cli/workflow.js.map +1 -1
  139. package/dist/cli.d.ts.map +1 -1
  140. package/dist/cli.js +933 -115
  141. package/dist/cli.js.map +1 -1
  142. package/dist/codex-app-runner.js +261 -49
  143. package/dist/codex-app-runner.js.map +1 -1
  144. package/dist/core/cli-runtime-update.d.ts +8 -0
  145. package/dist/core/cli-runtime-update.d.ts.map +1 -1
  146. package/dist/core/cli-runtime-update.js +127 -8
  147. package/dist/core/cli-runtime-update.js.map +1 -1
  148. package/dist/core/close-residual.d.ts +64 -0
  149. package/dist/core/close-residual.d.ts.map +1 -0
  150. package/dist/core/close-residual.js +93 -0
  151. package/dist/core/close-residual.js.map +1 -0
  152. package/dist/core/closed-session-card.d.ts.map +1 -1
  153. package/dist/core/closed-session-card.js +11 -3
  154. package/dist/core/closed-session-card.js.map +1 -1
  155. package/dist/core/command-handler.d.ts.map +1 -1
  156. package/dist/core/command-handler.js +129 -27
  157. package/dist/core/command-handler.js.map +1 -1
  158. package/dist/core/cost-calculator.d.ts +3 -1
  159. package/dist/core/cost-calculator.d.ts.map +1 -1
  160. package/dist/core/cost-calculator.js +230 -1
  161. package/dist/core/cost-calculator.js.map +1 -1
  162. package/dist/core/daemon-background-close.d.ts +19 -0
  163. package/dist/core/daemon-background-close.d.ts.map +1 -0
  164. package/dist/core/daemon-background-close.js +39 -0
  165. package/dist/core/daemon-background-close.js.map +1 -0
  166. package/dist/core/dashboard-command/overview.d.ts +4 -0
  167. package/dist/core/dashboard-command/overview.d.ts.map +1 -1
  168. package/dist/core/dashboard-command/overview.js +8 -1
  169. package/dist/core/dashboard-command/overview.js.map +1 -1
  170. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  171. package/dist/core/dashboard-ipc-server.js +373 -41
  172. package/dist/core/dashboard-ipc-server.js.map +1 -1
  173. package/dist/core/dashboard-rows.d.ts +4 -0
  174. package/dist/core/dashboard-rows.d.ts.map +1 -1
  175. package/dist/core/dashboard-rows.js +3 -0
  176. package/dist/core/dashboard-rows.js.map +1 -1
  177. package/dist/core/dashboard-url.d.ts +47 -1
  178. package/dist/core/dashboard-url.d.ts.map +1 -1
  179. package/dist/core/dashboard-url.js +83 -2
  180. package/dist/core/dashboard-url.js.map +1 -1
  181. package/dist/core/deferred-schedule-settlement.d.ts +15 -1
  182. package/dist/core/deferred-schedule-settlement.d.ts.map +1 -1
  183. package/dist/core/deferred-schedule-settlement.js +4 -1
  184. package/dist/core/deferred-schedule-settlement.js.map +1 -1
  185. package/dist/core/device-isolation-daemon.d.ts +91 -1
  186. package/dist/core/device-isolation-daemon.d.ts.map +1 -1
  187. package/dist/core/device-isolation-daemon.js +346 -2
  188. package/dist/core/device-isolation-daemon.js.map +1 -1
  189. package/dist/core/local-terminal-opener.d.ts.map +1 -1
  190. package/dist/core/local-terminal-opener.js +5 -1
  191. package/dist/core/local-terminal-opener.js.map +1 -1
  192. package/dist/core/loopback-target.d.ts +14 -0
  193. package/dist/core/loopback-target.d.ts.map +1 -0
  194. package/dist/core/loopback-target.js +20 -0
  195. package/dist/core/loopback-target.js.map +1 -0
  196. package/dist/core/maintenance.d.ts.map +1 -1
  197. package/dist/core/maintenance.js +16 -2
  198. package/dist/core/maintenance.js.map +1 -1
  199. package/dist/core/mojo-containment-command.d.ts +20 -0
  200. package/dist/core/mojo-containment-command.d.ts.map +1 -0
  201. package/dist/core/mojo-containment-command.js +266 -0
  202. package/dist/core/mojo-containment-command.js.map +1 -0
  203. package/dist/core/mojo-containment.d.ts +575 -0
  204. package/dist/core/mojo-containment.d.ts.map +1 -0
  205. package/dist/core/mojo-containment.js +1158 -0
  206. package/dist/core/mojo-containment.js.map +1 -0
  207. package/dist/core/mojo-launcher-env-quarantine.d.ts +30 -0
  208. package/dist/core/mojo-launcher-env-quarantine.d.ts.map +1 -0
  209. package/dist/core/mojo-launcher-env-quarantine.js +175 -0
  210. package/dist/core/mojo-launcher-env-quarantine.js.map +1 -0
  211. package/dist/core/mojo-session-identity.d.ts +3 -0
  212. package/dist/core/mojo-session-identity.d.ts.map +1 -0
  213. package/dist/core/mojo-session-identity.js +126 -0
  214. package/dist/core/mojo-session-identity.js.map +1 -0
  215. package/dist/core/persistent-backend.d.ts +32 -8
  216. package/dist/core/persistent-backend.d.ts.map +1 -1
  217. package/dist/core/persistent-backend.js +55 -17
  218. package/dist/core/persistent-backend.js.map +1 -1
  219. package/dist/core/plugins/mcp/gateway.d.ts +41 -4
  220. package/dist/core/plugins/mcp/gateway.d.ts.map +1 -1
  221. package/dist/core/plugins/mcp/gateway.js +342 -29
  222. package/dist/core/plugins/mcp/gateway.js.map +1 -1
  223. package/dist/core/plugins/mcp/host.d.ts +20 -0
  224. package/dist/core/plugins/mcp/host.d.ts.map +1 -1
  225. package/dist/core/plugins/mcp/host.js +82 -16
  226. package/dist/core/plugins/mcp/host.js.map +1 -1
  227. package/dist/core/plugins/mcp/launch-record.d.ts +14 -0
  228. package/dist/core/plugins/mcp/launch-record.d.ts.map +1 -0
  229. package/dist/core/plugins/mcp/launch-record.js +63 -0
  230. package/dist/core/plugins/mcp/launch-record.js.map +1 -0
  231. package/dist/core/plugins/pm2.d.ts.map +1 -1
  232. package/dist/core/plugins/pm2.js +16 -3
  233. package/dist/core/plugins/pm2.js.map +1 -1
  234. package/dist/core/plugins/service-manager.d.ts +9 -0
  235. package/dist/core/plugins/service-manager.d.ts.map +1 -1
  236. package/dist/core/plugins/service-manager.js +33 -16
  237. package/dist/core/plugins/service-manager.js.map +1 -1
  238. package/dist/core/preview-port-owner.d.ts +109 -0
  239. package/dist/core/preview-port-owner.d.ts.map +1 -0
  240. package/dist/core/preview-port-owner.js +320 -0
  241. package/dist/core/preview-port-owner.js.map +1 -0
  242. package/dist/core/remote-cli-ids.d.ts +5 -0
  243. package/dist/core/remote-cli-ids.d.ts.map +1 -0
  244. package/dist/core/remote-cli-ids.js +24 -0
  245. package/dist/core/remote-cli-ids.js.map +1 -0
  246. package/dist/core/{riff-shutdown-detach.d.ts → remote-shutdown-detach.d.ts} +40 -39
  247. package/dist/core/remote-shutdown-detach.d.ts.map +1 -0
  248. package/dist/core/{riff-shutdown-detach.js → remote-shutdown-detach.js} +85 -83
  249. package/dist/core/remote-shutdown-detach.js.map +1 -0
  250. package/dist/core/{riff-worker-shutdown-readiness.d.ts → remote-worker-shutdown-readiness.d.ts} +5 -4
  251. package/dist/core/remote-worker-shutdown-readiness.d.ts.map +1 -0
  252. package/dist/core/{riff-worker-shutdown-readiness.js → remote-worker-shutdown-readiness.js} +4 -3
  253. package/dist/core/remote-worker-shutdown-readiness.js.map +1 -0
  254. package/dist/core/reply-target.d.ts +16 -1
  255. package/dist/core/reply-target.d.ts.map +1 -1
  256. package/dist/core/reply-target.js +61 -0
  257. package/dist/core/reply-target.js.map +1 -1
  258. package/dist/core/session-group-birth.d.ts +26 -0
  259. package/dist/core/session-group-birth.d.ts.map +1 -1
  260. package/dist/core/session-group-birth.js +81 -4
  261. package/dist/core/session-group-birth.js.map +1 -1
  262. package/dist/core/session-manager.d.ts +15 -2
  263. package/dist/core/session-manager.d.ts.map +1 -1
  264. package/dist/core/session-manager.js +259 -5
  265. package/dist/core/session-manager.js.map +1 -1
  266. package/dist/core/session-model.d.ts +46 -0
  267. package/dist/core/session-model.d.ts.map +1 -0
  268. package/dist/core/session-model.js +42 -0
  269. package/dist/core/session-model.js.map +1 -0
  270. package/dist/core/session-owner-reminder.d.ts +63 -0
  271. package/dist/core/session-owner-reminder.d.ts.map +1 -0
  272. package/dist/core/session-owner-reminder.js +196 -0
  273. package/dist/core/session-owner-reminder.js.map +1 -0
  274. package/dist/core/session-preview-registry.d.ts +53 -0
  275. package/dist/core/session-preview-registry.d.ts.map +1 -0
  276. package/dist/core/session-preview-registry.js +82 -0
  277. package/dist/core/session-preview-registry.js.map +1 -0
  278. package/dist/core/session-preview.d.ts +114 -0
  279. package/dist/core/session-preview.d.ts.map +1 -0
  280. package/dist/core/session-preview.js +184 -0
  281. package/dist/core/session-preview.js.map +1 -0
  282. package/dist/core/session-rename.d.ts.map +1 -1
  283. package/dist/core/session-rename.js +5 -3
  284. package/dist/core/session-rename.js.map +1 -1
  285. package/dist/core/session-wake-deadline.d.ts +5 -0
  286. package/dist/core/session-wake-deadline.d.ts.map +1 -0
  287. package/dist/core/session-wake-deadline.js +13 -0
  288. package/dist/core/session-wake-deadline.js.map +1 -0
  289. package/dist/core/shutdown-budgets.d.ts +7 -6
  290. package/dist/core/shutdown-budgets.d.ts.map +1 -1
  291. package/dist/core/shutdown-budgets.js +11 -10
  292. package/dist/core/shutdown-budgets.js.map +1 -1
  293. package/dist/core/terminal-control-grant.d.ts +74 -0
  294. package/dist/core/terminal-control-grant.d.ts.map +1 -0
  295. package/dist/core/terminal-control-grant.js +183 -0
  296. package/dist/core/terminal-control-grant.js.map +1 -0
  297. package/dist/core/terminal-proxy.d.ts.map +1 -1
  298. package/dist/core/terminal-proxy.js +4 -5
  299. package/dist/core/terminal-proxy.js.map +1 -1
  300. package/dist/core/terminal-write-auth.d.ts +4 -11
  301. package/dist/core/terminal-write-auth.d.ts.map +1 -1
  302. package/dist/core/terminal-write-auth.js +19 -16
  303. package/dist/core/terminal-write-auth.js.map +1 -1
  304. package/dist/core/trigger-session.d.ts.map +1 -1
  305. package/dist/core/trigger-session.js +36 -29
  306. package/dist/core/trigger-session.js.map +1 -1
  307. package/dist/core/types.d.ts +88 -10
  308. package/dist/core/types.d.ts.map +1 -1
  309. package/dist/core/types.js +9 -7
  310. package/dist/core/types.js.map +1 -1
  311. package/dist/core/workbench-link.d.ts +81 -0
  312. package/dist/core/workbench-link.d.ts.map +1 -0
  313. package/dist/core/workbench-link.js +109 -0
  314. package/dist/core/workbench-link.js.map +1 -0
  315. package/dist/core/worker-pool.d.ts +321 -12
  316. package/dist/core/worker-pool.d.ts.map +1 -1
  317. package/dist/core/worker-pool.js +2524 -212
  318. package/dist/core/worker-pool.js.map +1 -1
  319. package/dist/daemon.d.ts +6 -0
  320. package/dist/daemon.d.ts.map +1 -1
  321. package/dist/daemon.js +443 -106
  322. package/dist/daemon.js.map +1 -1
  323. package/dist/dashboard/aggregator.d.ts +33 -3
  324. package/dist/dashboard/aggregator.d.ts.map +1 -1
  325. package/dist/dashboard/aggregator.js +93 -17
  326. package/dist/dashboard/aggregator.js.map +1 -1
  327. package/dist/dashboard/auth-session-connections.d.ts +59 -0
  328. package/dist/dashboard/auth-session-connections.d.ts.map +1 -0
  329. package/dist/dashboard/auth-session-connections.js +109 -0
  330. package/dist/dashboard/auth-session-connections.js.map +1 -0
  331. package/dist/dashboard/auth.d.ts +99 -1
  332. package/dist/dashboard/auth.d.ts.map +1 -1
  333. package/dist/dashboard/auth.js +176 -64
  334. package/dist/dashboard/auth.js.map +1 -1
  335. package/dist/dashboard/bot-payload.d.ts +1 -0
  336. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  337. package/dist/dashboard/bot-payload.js +3 -0
  338. package/dist/dashboard/bot-payload.js.map +1 -1
  339. package/dist/dashboard/control-audit.d.ts +112 -0
  340. package/dist/dashboard/control-audit.d.ts.map +1 -0
  341. package/dist/dashboard/control-audit.js +195 -0
  342. package/dist/dashboard/control-audit.js.map +1 -0
  343. package/dist/dashboard/control-csrf.d.ts +123 -0
  344. package/dist/dashboard/control-csrf.d.ts.map +1 -0
  345. package/dist/dashboard/control-csrf.js +397 -0
  346. package/dist/dashboard/control-csrf.js.map +1 -0
  347. package/dist/dashboard/daemon-reconcile.d.ts +26 -0
  348. package/dist/dashboard/daemon-reconcile.d.ts.map +1 -0
  349. package/dist/dashboard/daemon-reconcile.js +46 -0
  350. package/dist/dashboard/daemon-reconcile.js.map +1 -0
  351. package/dist/dashboard/debug-terminal.d.ts.map +1 -1
  352. package/dist/dashboard/debug-terminal.js +18 -4
  353. package/dist/dashboard/debug-terminal.js.map +1 -1
  354. package/dist/dashboard/events-sse.d.ts +60 -0
  355. package/dist/dashboard/events-sse.d.ts.map +1 -0
  356. package/dist/dashboard/events-sse.js +63 -0
  357. package/dist/dashboard/events-sse.js.map +1 -0
  358. package/dist/dashboard/h5-auth.d.ts +256 -0
  359. package/dist/dashboard/h5-auth.d.ts.map +1 -0
  360. package/dist/dashboard/h5-auth.js +825 -0
  361. package/dist/dashboard/h5-auth.js.map +1 -0
  362. package/dist/dashboard/managed-spawn.d.ts +36 -0
  363. package/dist/dashboard/managed-spawn.d.ts.map +1 -0
  364. package/dist/dashboard/managed-spawn.js +169 -0
  365. package/dist/dashboard/managed-spawn.js.map +1 -0
  366. package/dist/dashboard/preview-content-capability.d.ts +41 -0
  367. package/dist/dashboard/preview-content-capability.d.ts.map +1 -0
  368. package/dist/dashboard/preview-content-capability.js +127 -0
  369. package/dist/dashboard/preview-content-capability.js.map +1 -0
  370. package/dist/dashboard/preview-contract.d.ts +85 -0
  371. package/dist/dashboard/preview-contract.d.ts.map +1 -0
  372. package/dist/dashboard/preview-contract.js +198 -0
  373. package/dist/dashboard/preview-contract.js.map +1 -0
  374. package/dist/dashboard/preview-guard-page.d.ts +52 -0
  375. package/dist/dashboard/preview-guard-page.d.ts.map +1 -0
  376. package/dist/dashboard/preview-guard-page.js +162 -0
  377. package/dist/dashboard/preview-guard-page.js.map +1 -0
  378. package/dist/dashboard/preview-interaction.d.ts +57 -0
  379. package/dist/dashboard/preview-interaction.d.ts.map +1 -0
  380. package/dist/dashboard/preview-interaction.js +198 -0
  381. package/dist/dashboard/preview-interaction.js.map +1 -0
  382. package/dist/dashboard/preview-proxy.d.ts +113 -0
  383. package/dist/dashboard/preview-proxy.d.ts.map +1 -0
  384. package/dist/dashboard/preview-proxy.js +543 -0
  385. package/dist/dashboard/preview-proxy.js.map +1 -0
  386. package/dist/dashboard/public-redact.d.ts +23 -0
  387. package/dist/dashboard/public-redact.d.ts.map +1 -1
  388. package/dist/dashboard/public-redact.js +90 -21
  389. package/dist/dashboard/public-redact.js.map +1 -1
  390. package/dist/dashboard/request-identity.d.ts +77 -0
  391. package/dist/dashboard/request-identity.d.ts.map +1 -0
  392. package/dist/dashboard/request-identity.js +72 -0
  393. package/dist/dashboard/request-identity.js.map +1 -0
  394. package/dist/dashboard/session-cleanup.d.ts +5 -0
  395. package/dist/dashboard/session-cleanup.d.ts.map +1 -1
  396. package/dist/dashboard/session-cleanup.js +4 -0
  397. package/dist/dashboard/session-cleanup.js.map +1 -1
  398. package/dist/dashboard/settings-write-applier.d.ts +5 -1
  399. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  400. package/dist/dashboard/settings-write-applier.js +14 -0
  401. package/dist/dashboard/settings-write-applier.js.map +1 -1
  402. package/dist/dashboard/standing-link.d.ts +76 -0
  403. package/dist/dashboard/standing-link.d.ts.map +1 -0
  404. package/dist/dashboard/standing-link.js +111 -0
  405. package/dist/dashboard/standing-link.js.map +1 -0
  406. package/dist/dashboard/terminal-control.d.ts +105 -0
  407. package/dist/dashboard/terminal-control.d.ts.map +1 -0
  408. package/dist/dashboard/terminal-control.js +296 -0
  409. package/dist/dashboard/terminal-control.js.map +1 -0
  410. package/dist/dashboard/terminal-front-proxy.d.ts +55 -0
  411. package/dist/dashboard/terminal-front-proxy.d.ts.map +1 -0
  412. package/dist/dashboard/terminal-front-proxy.js +415 -0
  413. package/dist/dashboard/terminal-front-proxy.js.map +1 -0
  414. package/dist/dashboard/terminal-view-capability.d.ts +97 -0
  415. package/dist/dashboard/terminal-view-capability.d.ts.map +1 -0
  416. package/dist/dashboard/terminal-view-capability.js +145 -0
  417. package/dist/dashboard/terminal-view-capability.js.map +1 -0
  418. package/dist/dashboard/web/agent-workbench-api.d.ts +59 -0
  419. package/dist/dashboard/web/agent-workbench-api.d.ts.map +1 -0
  420. package/dist/dashboard/web/agent-workbench-api.js +227 -0
  421. package/dist/dashboard/web/agent-workbench-api.js.map +1 -0
  422. package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts +59 -0
  423. package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts.map +1 -0
  424. package/dist/dashboard/web/agent-workbench-appearance-menu.js +195 -0
  425. package/dist/dashboard/web/agent-workbench-appearance-menu.js.map +1 -0
  426. package/dist/dashboard/web/agent-workbench-appearance.d.ts +222 -0
  427. package/dist/dashboard/web/agent-workbench-appearance.d.ts.map +1 -0
  428. package/dist/dashboard/web/agent-workbench-appearance.js +499 -0
  429. package/dist/dashboard/web/agent-workbench-appearance.js.map +1 -0
  430. package/dist/dashboard/web/agent-workbench-capabilities.d.ts +13 -0
  431. package/dist/dashboard/web/agent-workbench-capabilities.d.ts.map +1 -0
  432. package/dist/dashboard/web/agent-workbench-capabilities.js +24 -0
  433. package/dist/dashboard/web/agent-workbench-capabilities.js.map +1 -0
  434. package/dist/dashboard/web/agent-workbench-chat.d.ts +90 -0
  435. package/dist/dashboard/web/agent-workbench-chat.d.ts.map +1 -0
  436. package/dist/dashboard/web/agent-workbench-chat.js +168 -0
  437. package/dist/dashboard/web/agent-workbench-chat.js.map +1 -0
  438. package/dist/dashboard/web/agent-workbench-dock-page.d.ts +3 -0
  439. package/dist/dashboard/web/agent-workbench-dock-page.d.ts.map +1 -0
  440. package/dist/dashboard/web/agent-workbench-dock-page.js +23 -0
  441. package/dist/dashboard/web/agent-workbench-dock-page.js.map +1 -0
  442. package/dist/dashboard/web/agent-workbench-dock-view.d.ts +22 -0
  443. package/dist/dashboard/web/agent-workbench-dock-view.d.ts.map +1 -0
  444. package/dist/dashboard/web/agent-workbench-dock-view.js +76 -0
  445. package/dist/dashboard/web/agent-workbench-dock-view.js.map +1 -0
  446. package/dist/dashboard/web/agent-workbench-model.d.ts +196 -0
  447. package/dist/dashboard/web/agent-workbench-model.d.ts.map +1 -0
  448. package/dist/dashboard/web/agent-workbench-model.js +529 -0
  449. package/dist/dashboard/web/agent-workbench-model.js.map +1 -0
  450. package/dist/dashboard/web/agent-workbench-page.d.ts +3 -0
  451. package/dist/dashboard/web/agent-workbench-page.d.ts.map +1 -0
  452. package/dist/dashboard/web/agent-workbench-page.js +27 -0
  453. package/dist/dashboard/web/agent-workbench-page.js.map +1 -0
  454. package/dist/dashboard/web/agent-workbench-panes.d.ts +49 -0
  455. package/dist/dashboard/web/agent-workbench-panes.d.ts.map +1 -0
  456. package/dist/dashboard/web/agent-workbench-panes.js +468 -0
  457. package/dist/dashboard/web/agent-workbench-panes.js.map +1 -0
  458. package/dist/dashboard/web/agent-workbench-session-list.d.ts +42 -0
  459. package/dist/dashboard/web/agent-workbench-session-list.d.ts.map +1 -0
  460. package/dist/dashboard/web/agent-workbench-session-list.js +353 -0
  461. package/dist/dashboard/web/agent-workbench-session-list.js.map +1 -0
  462. package/dist/dashboard/web/agent-workbench-storage.d.ts +49 -0
  463. package/dist/dashboard/web/agent-workbench-storage.d.ts.map +1 -0
  464. package/dist/dashboard/web/agent-workbench-storage.js +197 -0
  465. package/dist/dashboard/web/agent-workbench-storage.js.map +1 -0
  466. package/dist/dashboard/web/agent-workbench-touch.d.ts +46 -0
  467. package/dist/dashboard/web/agent-workbench-touch.d.ts.map +1 -0
  468. package/dist/dashboard/web/agent-workbench-touch.js +96 -0
  469. package/dist/dashboard/web/agent-workbench-touch.js.map +1 -0
  470. package/dist/dashboard/web/agent-workbench-view.d.ts +34 -0
  471. package/dist/dashboard/web/agent-workbench-view.d.ts.map +1 -0
  472. package/dist/dashboard/web/agent-workbench-view.js +439 -0
  473. package/dist/dashboard/web/agent-workbench-view.js.map +1 -0
  474. package/dist/dashboard/web/app.d.ts.map +1 -1
  475. package/dist/dashboard/web/app.js +63 -2
  476. package/dist/dashboard/web/app.js.map +1 -1
  477. package/dist/dashboard/web/bot-defaults-page.d.ts +11 -0
  478. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  479. package/dist/dashboard/web/bot-defaults-page.js +267 -36
  480. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  481. package/dist/dashboard/web/bot-defaults.d.ts +6 -0
  482. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  483. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  484. package/dist/dashboard/web/control-csrf.d.ts +4 -0
  485. package/dist/dashboard/web/control-csrf.d.ts.map +1 -0
  486. package/dist/dashboard/web/control-csrf.js +26 -0
  487. package/dist/dashboard/web/control-csrf.js.map +1 -0
  488. package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
  489. package/dist/dashboard/web/dashboard-routes.js +2 -0
  490. package/dist/dashboard/web/dashboard-routes.js.map +1 -1
  491. package/dist/dashboard/web/groups-page.d.ts.map +1 -1
  492. package/dist/dashboard/web/groups-page.js +11 -2
  493. package/dist/dashboard/web/groups-page.js.map +1 -1
  494. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  495. package/dist/dashboard/web/i18n.js +132 -6
  496. package/dist/dashboard/web/i18n.js.map +1 -1
  497. package/dist/dashboard/web/overview-page.d.ts.map +1 -1
  498. package/dist/dashboard/web/overview-page.js +3 -2
  499. package/dist/dashboard/web/overview-page.js.map +1 -1
  500. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  501. package/dist/dashboard/web/sessions-page.js +41 -1
  502. package/dist/dashboard/web/sessions-page.js.map +1 -1
  503. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  504. package/dist/dashboard/web/sessions.js +5 -1
  505. package/dist/dashboard/web/sessions.js.map +1 -1
  506. package/dist/dashboard/web/settings-page.d.ts +3 -0
  507. package/dist/dashboard/web/settings-page.d.ts.map +1 -1
  508. package/dist/dashboard/web/settings-page.js +56 -10
  509. package/dist/dashboard/web/settings-page.js.map +1 -1
  510. package/dist/dashboard/web/store.d.ts +27 -2
  511. package/dist/dashboard/web/store.d.ts.map +1 -1
  512. package/dist/dashboard/web/store.js +43 -4
  513. package/dist/dashboard/web/store.js.map +1 -1
  514. package/dist/dashboard/web/ui.d.ts +3 -0
  515. package/dist/dashboard/web/ui.d.ts.map +1 -1
  516. package/dist/dashboard/web/ui.js +11 -0
  517. package/dist/dashboard/web/ui.js.map +1 -1
  518. package/dist/dashboard/web/update-action.d.ts +12 -0
  519. package/dist/dashboard/web/update-action.d.ts.map +1 -1
  520. package/dist/dashboard/web/update-action.js +11 -0
  521. package/dist/dashboard/web/update-action.js.map +1 -1
  522. package/dist/dashboard/workbench-doctor.d.ts +114 -0
  523. package/dist/dashboard/workbench-doctor.d.ts.map +1 -0
  524. package/dist/dashboard/workbench-doctor.js +620 -0
  525. package/dist/dashboard/workbench-doctor.js.map +1 -0
  526. package/dist/dashboard/workbench-ticket.d.ts +165 -0
  527. package/dist/dashboard/workbench-ticket.d.ts.map +1 -0
  528. package/dist/dashboard/workbench-ticket.js +495 -0
  529. package/dist/dashboard/workbench-ticket.js.map +1 -0
  530. package/dist/dashboard-web/app.js +1 -1
  531. package/dist/dashboard-web/chunks/agent-workbench-dock-page-IKAC5CFL.js +1 -0
  532. package/dist/dashboard-web/chunks/agent-workbench-page-M53UN5EB.js +1 -0
  533. package/dist/dashboard-web/chunks/bot-defaults-page-YKE5SDZF.js +10 -0
  534. package/dist/dashboard-web/chunks/chunk-22WIADUT.js +2 -0
  535. package/dist/dashboard-web/chunks/chunk-24ONYQMR.js +1 -0
  536. package/dist/dashboard-web/chunks/{chunk-Z7B3E3US.js → chunk-2W6SCN3M.js} +1 -1
  537. package/dist/dashboard-web/chunks/chunk-4XNJX6B3.js +1 -0
  538. package/dist/dashboard-web/chunks/{chunk-VMWNR3SV.js → chunk-F6KNPF4R.js} +11 -9
  539. package/dist/dashboard-web/chunks/chunk-FXW3V4JR.js +1 -0
  540. package/dist/dashboard-web/chunks/chunk-G5ZS2YUS.js +1 -0
  541. package/dist/dashboard-web/chunks/chunk-KTQ7B6ZR.js +1 -0
  542. package/dist/dashboard-web/chunks/{chunk-Z7DO42GJ.js → chunk-NACP7BMR.js} +1 -1
  543. package/dist/dashboard-web/chunks/{connectors-page-CPH6VVFY.js → connectors-page-VOISXXII.js} +1 -1
  544. package/dist/dashboard-web/chunks/{feedback-page-J2FKQ3LK.js → feedback-page-RN6HRZMS.js} +1 -1
  545. package/dist/dashboard-web/chunks/groups-page-UQT6DCB7.js +8 -0
  546. package/dist/dashboard-web/chunks/{insights-page-A2LWTKJD.js → insights-page-HJFDYR5N.js} +3 -3
  547. package/dist/dashboard-web/chunks/{monitor-room-2YR752E3.js → monitor-room-V7PCP47V.js} +1 -1
  548. package/dist/dashboard-web/chunks/{monitoring-page-BGYSKZGM.js → monitoring-page-NKEKVQAP.js} +1 -1
  549. package/dist/dashboard-web/chunks/{office-page-ZZHTEAE4.js → office-page-GVJF73XW.js} +1 -1
  550. package/dist/dashboard-web/chunks/overview-page-KHLV6VTI.js +1 -0
  551. package/dist/dashboard-web/chunks/{plugin-page-VEGTCEAS.js → plugin-page-J3OF5IY4.js} +1 -1
  552. package/dist/dashboard-web/chunks/{roles-page-YUC4YLJG.js → roles-page-WQIRSOLZ.js} +1 -1
  553. package/dist/dashboard-web/chunks/{schedules-page-2L2NKTDJ.js → schedules-page-J2DEY2X6.js} +1 -1
  554. package/dist/dashboard-web/chunks/sessions-page-7BQFEA5P.js +8 -0
  555. package/dist/dashboard-web/chunks/settings-page-BJEIOFJH.js +2 -0
  556. package/dist/dashboard-web/chunks/{skills-page-DQPBBI3T.js → skills-page-HGIFR3IU.js} +1 -1
  557. package/dist/dashboard-web/chunks/{team-federation-page-LQKLDV4K.js → team-federation-page-MR5ZPL4B.js} +1 -1
  558. package/dist/dashboard-web/chunks/{v3-page-RVKQIMAP.js → v3-page-GBR5JWPE.js} +2 -2
  559. package/dist/dashboard-web/chunks/{whiteboards-page-S5K55HRZ.js → whiteboards-page-QAZM4BN3.js} +1 -1
  560. package/dist/dashboard-web/index.html +8 -1
  561. package/dist/dashboard-web/style.css +2006 -10
  562. package/dist/dashboard.js +1006 -263
  563. package/dist/dashboard.js.map +1 -1
  564. package/dist/global-config.d.ts +30 -0
  565. package/dist/global-config.d.ts.map +1 -1
  566. package/dist/global-config.js +33 -0
  567. package/dist/global-config.js.map +1 -1
  568. package/dist/i18n/en.d.ts.map +1 -1
  569. package/dist/i18n/en.js +32 -1
  570. package/dist/i18n/en.js.map +1 -1
  571. package/dist/i18n/zh.d.ts.map +1 -1
  572. package/dist/i18n/zh.js +29 -1
  573. package/dist/i18n/zh.js.map +1 -1
  574. package/dist/im/lark/card-builder.d.ts +1 -1
  575. package/dist/im/lark/card-builder.d.ts.map +1 -1
  576. package/dist/im/lark/card-builder.js +22 -6
  577. package/dist/im/lark/card-builder.js.map +1 -1
  578. package/dist/im/lark/card-handler.d.ts.map +1 -1
  579. package/dist/im/lark/card-handler.js +182 -27
  580. package/dist/im/lark/card-handler.js.map +1 -1
  581. package/dist/im/lark/client.d.ts +15 -0
  582. package/dist/im/lark/client.d.ts.map +1 -1
  583. package/dist/im/lark/client.js +30 -0
  584. package/dist/im/lark/client.js.map +1 -1
  585. package/dist/im/lark/event-dispatcher.d.ts +48 -0
  586. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  587. package/dist/im/lark/event-dispatcher.js +133 -22
  588. package/dist/im/lark/event-dispatcher.js.map +1 -1
  589. package/dist/im/lark/identity-cache.d.ts +14 -6
  590. package/dist/im/lark/identity-cache.d.ts.map +1 -1
  591. package/dist/im/lark/identity-cache.js +69 -26
  592. package/dist/im/lark/identity-cache.js.map +1 -1
  593. package/dist/im/lark/lark-hosts.d.ts +13 -0
  594. package/dist/im/lark/lark-hosts.d.ts.map +1 -1
  595. package/dist/im/lark/lark-hosts.js +16 -0
  596. package/dist/im/lark/lark-hosts.js.map +1 -1
  597. package/dist/im/lark/overview-card.d.ts +22 -0
  598. package/dist/im/lark/overview-card.d.ts.map +1 -1
  599. package/dist/im/lark/overview-card.js +53 -3
  600. package/dist/im/lark/overview-card.js.map +1 -1
  601. package/dist/im/lark/sessions-card.d.ts.map +1 -1
  602. package/dist/im/lark/sessions-card.js +26 -3
  603. package/dist/im/lark/sessions-card.js.map +1 -1
  604. package/dist/im/lark/workflow-slash-command.d.ts +6 -0
  605. package/dist/im/lark/workflow-slash-command.d.ts.map +1 -1
  606. package/dist/im/lark/workflow-slash-command.js +7 -0
  607. package/dist/im/lark/workflow-slash-command.js.map +1 -1
  608. package/dist/index-daemon.js +27 -4
  609. package/dist/index-daemon.js.map +1 -1
  610. package/dist/index-dashboard.d.ts +3 -0
  611. package/dist/index-dashboard.d.ts.map +1 -0
  612. package/dist/index-dashboard.js +94 -0
  613. package/dist/index-dashboard.js.map +1 -0
  614. package/dist/platform/binding.d.ts +27 -0
  615. package/dist/platform/binding.d.ts.map +1 -1
  616. package/dist/platform/binding.js +40 -0
  617. package/dist/platform/binding.js.map +1 -1
  618. package/dist/platform/team-agents-client.d.ts +199 -0
  619. package/dist/platform/team-agents-client.d.ts.map +1 -0
  620. package/dist/platform/team-agents-client.js +263 -0
  621. package/dist/platform/team-agents-client.js.map +1 -0
  622. package/dist/platform/tunnel-client.d.ts +6 -0
  623. package/dist/platform/tunnel-client.d.ts.map +1 -1
  624. package/dist/platform/tunnel-client.js.map +1 -1
  625. package/dist/services/async-trigger-state.d.ts +7 -3
  626. package/dist/services/async-trigger-state.d.ts.map +1 -1
  627. package/dist/services/async-trigger-state.js +28 -0
  628. package/dist/services/async-trigger-state.js.map +1 -1
  629. package/dist/services/async-trigger-store.d.ts +13 -4
  630. package/dist/services/async-trigger-store.d.ts.map +1 -1
  631. package/dist/services/async-trigger-store.js +55 -8
  632. package/dist/services/async-trigger-store.js.map +1 -1
  633. package/dist/services/bot-config-store.d.ts +1 -11
  634. package/dist/services/bot-config-store.d.ts.map +1 -1
  635. package/dist/services/bot-config-store.js +27 -3
  636. package/dist/services/bot-config-store.js.map +1 -1
  637. package/dist/services/bot-profile-store.d.ts +17 -2
  638. package/dist/services/bot-profile-store.d.ts.map +1 -1
  639. package/dist/services/bot-profile-store.js +93 -12
  640. package/dist/services/bot-profile-store.js.map +1 -1
  641. package/dist/services/bridge-turn-journal.d.ts +63 -0
  642. package/dist/services/bridge-turn-journal.d.ts.map +1 -0
  643. package/dist/services/bridge-turn-journal.js +149 -0
  644. package/dist/services/bridge-turn-journal.js.map +1 -0
  645. package/dist/services/bridge-turn-queue.d.ts +18 -2
  646. package/dist/services/bridge-turn-queue.d.ts.map +1 -1
  647. package/dist/services/bridge-turn-queue.js +31 -10
  648. package/dist/services/bridge-turn-queue.js.map +1 -1
  649. package/dist/services/claude-transcript.d.ts +19 -0
  650. package/dist/services/claude-transcript.d.ts.map +1 -1
  651. package/dist/services/claude-transcript.js +57 -5
  652. package/dist/services/claude-transcript.js.map +1 -1
  653. package/dist/services/codex-app-threads.d.ts +2 -0
  654. package/dist/services/codex-app-threads.d.ts.map +1 -1
  655. package/dist/services/codex-app-threads.js +1 -1
  656. package/dist/services/codex-app-threads.js.map +1 -1
  657. package/dist/services/codex-reasoning-effort.d.ts +8 -0
  658. package/dist/services/codex-reasoning-effort.d.ts.map +1 -1
  659. package/dist/services/codex-reasoning-effort.js +24 -0
  660. package/dist/services/codex-reasoning-effort.js.map +1 -1
  661. package/dist/services/cursor-resume-policy.d.ts.map +1 -1
  662. package/dist/services/cursor-resume-policy.js +15 -3
  663. package/dist/services/cursor-resume-policy.js.map +1 -1
  664. package/dist/services/open-platform-rename.d.ts.map +1 -1
  665. package/dist/services/open-platform-rename.js +3 -2
  666. package/dist/services/open-platform-rename.js.map +1 -1
  667. package/dist/services/ordinary-turn-recovery.d.ts +76 -0
  668. package/dist/services/ordinary-turn-recovery.d.ts.map +1 -0
  669. package/dist/services/ordinary-turn-recovery.js +349 -0
  670. package/dist/services/ordinary-turn-recovery.js.map +1 -0
  671. package/dist/services/resume-fresh-policy.d.ts +17 -0
  672. package/dist/services/resume-fresh-policy.d.ts.map +1 -0
  673. package/dist/services/resume-fresh-policy.js +24 -0
  674. package/dist/services/resume-fresh-policy.js.map +1 -0
  675. package/dist/services/session-group-title.d.ts +1 -0
  676. package/dist/services/session-group-title.d.ts.map +1 -1
  677. package/dist/services/session-group-title.js +16 -1
  678. package/dist/services/session-group-title.js.map +1 -1
  679. package/dist/services/session-groups-store.d.ts +30 -0
  680. package/dist/services/session-groups-store.d.ts.map +1 -1
  681. package/dist/services/session-groups-store.js +26 -4
  682. package/dist/services/session-groups-store.js.map +1 -1
  683. package/dist/services/session-owner-notification.d.ts +9 -0
  684. package/dist/services/session-owner-notification.d.ts.map +1 -0
  685. package/dist/services/session-owner-notification.js +10 -0
  686. package/dist/services/session-owner-notification.js.map +1 -0
  687. package/dist/services/session-owner-reminder-config-store.d.ts +9 -0
  688. package/dist/services/session-owner-reminder-config-store.d.ts.map +1 -0
  689. package/dist/services/session-owner-reminder-config-store.js +24 -0
  690. package/dist/services/session-owner-reminder-config-store.js.map +1 -0
  691. package/dist/services/session-owner-reminder-store.d.ts +5 -0
  692. package/dist/services/session-owner-reminder-store.d.ts.map +1 -0
  693. package/dist/services/session-owner-reminder-store.js +54 -0
  694. package/dist/services/session-owner-reminder-store.js.map +1 -0
  695. package/dist/services/session-store.d.ts +98 -21
  696. package/dist/services/session-store.d.ts.map +1 -1
  697. package/dist/services/session-store.js +406 -48
  698. package/dist/services/session-store.js.map +1 -1
  699. package/dist/services/structured-bridge-clis.d.ts +9 -5
  700. package/dist/services/structured-bridge-clis.d.ts.map +1 -1
  701. package/dist/services/structured-bridge-clis.js +9 -4
  702. package/dist/services/structured-bridge-clis.js.map +1 -1
  703. package/dist/services/transcript-resolver.d.ts +1 -1
  704. package/dist/services/transcript-resolver.d.ts.map +1 -1
  705. package/dist/services/transcript-resolver.js +6 -1
  706. package/dist/services/transcript-resolver.js.map +1 -1
  707. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  708. package/dist/setup/bot-config-editor.js +7 -2
  709. package/dist/setup/bot-config-editor.js.map +1 -1
  710. package/dist/setup/ensure-herdr-integrations.d.ts +13 -0
  711. package/dist/setup/ensure-herdr-integrations.d.ts.map +1 -1
  712. package/dist/setup/ensure-herdr-integrations.js +21 -3
  713. package/dist/setup/ensure-herdr-integrations.js.map +1 -1
  714. package/dist/setup/open-platform-automation.d.ts +1 -0
  715. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  716. package/dist/setup/open-platform-automation.js +107 -7
  717. package/dist/setup/open-platform-automation.js.map +1 -1
  718. package/dist/skills/definitions.d.ts +17 -0
  719. package/dist/skills/definitions.d.ts.map +1 -1
  720. package/dist/skills/definitions.js +78 -8
  721. package/dist/skills/definitions.js.map +1 -1
  722. package/dist/skills/injection-mode.d.ts +24 -3
  723. package/dist/skills/injection-mode.d.ts.map +1 -1
  724. package/dist/skills/injection-mode.js +64 -15
  725. package/dist/skills/injection-mode.js.map +1 -1
  726. package/dist/skills/installer.d.ts +18 -0
  727. package/dist/skills/installer.d.ts.map +1 -1
  728. package/dist/skills/installer.js +45 -1
  729. package/dist/skills/installer.js.map +1 -1
  730. package/dist/types.d.ts +221 -10
  731. package/dist/types.d.ts.map +1 -1
  732. package/dist/utils/child-env.d.ts +92 -2
  733. package/dist/utils/child-env.d.ts.map +1 -1
  734. package/dist/utils/child-env.js +195 -1
  735. package/dist/utils/child-env.js.map +1 -1
  736. package/dist/utils/cli-usage-limit.d.ts +25 -14
  737. package/dist/utils/cli-usage-limit.d.ts.map +1 -1
  738. package/dist/utils/cli-usage-limit.js +25 -15
  739. package/dist/utils/cli-usage-limit.js.map +1 -1
  740. package/dist/utils/daemon-rejection-guard.d.ts +35 -0
  741. package/dist/utils/daemon-rejection-guard.d.ts.map +1 -0
  742. package/dist/utils/daemon-rejection-guard.js +101 -0
  743. package/dist/utils/daemon-rejection-guard.js.map +1 -0
  744. package/dist/utils/dashboard-env.d.ts +53 -0
  745. package/dist/utils/dashboard-env.d.ts.map +1 -0
  746. package/dist/utils/dashboard-env.js +116 -0
  747. package/dist/utils/dashboard-env.js.map +1 -0
  748. package/dist/utils/global-install.d.ts.map +1 -1
  749. package/dist/utils/global-install.js +61 -5
  750. package/dist/utils/global-install.js.map +1 -1
  751. package/dist/utils/install-diagnostics.d.ts +14 -7
  752. package/dist/utils/install-diagnostics.d.ts.map +1 -1
  753. package/dist/utils/install-diagnostics.js +20 -11
  754. package/dist/utils/install-diagnostics.js.map +1 -1
  755. package/dist/utils/local-dev-update.d.ts +132 -0
  756. package/dist/utils/local-dev-update.d.ts.map +1 -0
  757. package/dist/utils/local-dev-update.js +176 -0
  758. package/dist/utils/local-dev-update.js.map +1 -0
  759. package/dist/utils/pending-input-queue.d.ts +12 -1
  760. package/dist/utils/pending-input-queue.d.ts.map +1 -1
  761. package/dist/utils/pending-input-queue.js.map +1 -1
  762. package/dist/worker.js +1551 -241
  763. package/dist/worker.js.map +1 -1
  764. package/dist/workflows/definition.d.ts +68 -68
  765. package/dist/workflows/events/payloads.d.ts +14 -14
  766. package/dist/workflows/events/schema.d.ts +312 -312
  767. package/dist/workflows/migration/v2-run-archive-schema.d.ts +40 -40
  768. package/dist/workflows/v3/cli-run.d.ts.map +1 -1
  769. package/dist/workflows/v3/cli-run.js +7 -0
  770. package/dist/workflows/v3/cli-run.js.map +1 -1
  771. package/dist/workflows/v3/goal-cli.d.ts +3 -0
  772. package/dist/workflows/v3/goal-cli.d.ts.map +1 -1
  773. package/dist/workflows/v3/goal-cli.js +11 -0
  774. package/dist/workflows/v3/goal-cli.js.map +1 -1
  775. package/dist/workflows/v3/run-envelope.d.ts +144 -144
  776. package/package.json +3 -2
  777. package/dist/cli/pm2-god-admission.d.ts +0 -8
  778. package/dist/cli/pm2-god-admission.d.ts.map +0 -1
  779. package/dist/cli/pm2-god-admission.js +0 -25
  780. package/dist/cli/pm2-god-admission.js.map +0 -1
  781. package/dist/core/riff-shutdown-detach.d.ts.map +0 -1
  782. package/dist/core/riff-shutdown-detach.js.map +0 -1
  783. package/dist/core/riff-worker-shutdown-readiness.d.ts.map +0 -1
  784. package/dist/core/riff-worker-shutdown-readiness.js.map +0 -1
  785. package/dist/dashboard-web/chunks/bot-defaults-page-65SMZ4QY.js +0 -10
  786. package/dist/dashboard-web/chunks/chunk-G5XGBCM6.js +0 -1
  787. package/dist/dashboard-web/chunks/chunk-IKN6WURK.js +0 -1
  788. package/dist/dashboard-web/chunks/chunk-WLIVBPJC.js +0 -1
  789. package/dist/dashboard-web/chunks/groups-page-VDOOLS4M.js +0 -8
  790. package/dist/dashboard-web/chunks/overview-page-7NYPKQSB.js +0 -1
  791. package/dist/dashboard-web/chunks/sessions-page-DYZZMKFL.js +0 -8
  792. package/dist/dashboard-web/chunks/settings-page-LIULUSMH.js +0 -2
@@ -0,0 +1,116 @@
1
+ // Dashboard-side `.env` loading, narrowed to an ALLOWLIST.
2
+ //
3
+ // ~/.botmux/.env is a general-purpose operator file: besides botmux settings it
4
+ // routinely holds unrelated credentials (LARK_APP_SECRET for the legacy
5
+ // single-bot mode, GITHUB_TOKEN, model API keys, whatever the host's tooling
6
+ // wants). index-dashboard.ts used to dotenv-load that file WHOLESALE into
7
+ // process.env, and the dashboard process is the worst place in the fleet for
8
+ // that: it forks debug-terminal shells, `botmux start-bot/stop-bot` children,
9
+ // a global npm/pnpm/bun install (whose lifecycle scripts run with the inherited
10
+ // env), herdr plugin installs, and it starts plugin PM2 services — every one of
11
+ // those inherited the whole file. A secret that has no consumer in the
12
+ // dashboard must therefore never enter its process.env at all.
13
+ //
14
+ // So the entry loads the file into a side object and copies over ONLY the keys
15
+ // the dashboard actually consumes (this module's allowlist). Everything else —
16
+ // especially credentials — stays in the file. The per-boundary redaction
17
+ // (redactChildEnv / stripDashboardH5Env) remains the second layer for the keys
18
+ // the dashboard legitimately holds, most importantly the H5 login family.
19
+ //
20
+ // Adding a key here is a deliberate act: it means "the dashboard process reads
21
+ // this, and every child it forks may see it unless a boundary strips it".
22
+ import { config as dotenvConfig } from 'dotenv';
23
+ import { DAEMON_ENV_KEYS } from '../cli/daemon-lifecycle-env.js';
24
+ import { DASHBOARD_H5_ENV_PREFIX } from './child-env.js';
25
+ /**
26
+ * Keys the dashboard process reads from ~/.botmux/.env, beyond
27
+ * {@link DAEMON_ENV_KEYS} (which is folded in below: every key baked into the
28
+ * shared PM2 env block is by definition a setting the dashboard may resolve,
29
+ * and a foreground/manual `dist/index-dashboard.js` has only the file).
30
+ *
31
+ * Each entry names its consumer inside the dashboard process, so a future
32
+ * reader can verify — or delete — it:
33
+ * - SESSION_DATA_DIR → config.session.dataDir. The dashboard shares
34
+ * pairings/federations/memberships with the daemons under {dataDir}/*.json;
35
+ * a wrong value silently splits the store (cli.ts also bakes it).
36
+ * - CLI_ID / BACKEND_TYPE → config.daemon.cliId / config.daemon.backendType,
37
+ * the fleet-wide fallback the dashboard applies to a bot that pins neither
38
+ * (VC-meeting consumer isolation verdict, adapter capability probes).
39
+ * - BOTMUX_SCHEDULE_TIMEZONE → utils/timezone scheduleTimeZone(). The settings
40
+ * payload advertises `effectiveScheduleTimeZone`; dropping the env override
41
+ * here would make the UI report a zone the daemons do not fire in.
42
+ * - FEISHU_USER_ACCESS_TOKEN → utils/user-token resolveUserToken(), used by
43
+ * dashboard/feed-groups.ts. A credential, kept for the same reason as the H5
44
+ * APP_SECRET below: the dashboard is a real consumer. Not a licence to add
45
+ * other credentials — a key belongs here only with a named consumer.
46
+ * - BOTMUX_DASHBOARD_DEV_RELOAD → dashboard.ts dev-reload switch.
47
+ * - proxy family → outbound HTTPS from the dashboard itself (npm registry
48
+ * version/rollback lookups, hd2d asset download) on hosts without direct
49
+ * internet. These are forwarded to CLI children by design elsewhere
50
+ * (PROXY_ENV_KEYS), so allowing them adds no new exposure.
51
+ */
52
+ export const DASHBOARD_ENV_ALLOWLIST = [
53
+ ...DAEMON_ENV_KEYS,
54
+ 'SESSION_DATA_DIR',
55
+ 'CLI_ID',
56
+ 'BACKEND_TYPE',
57
+ 'BOTMUX_SCHEDULE_TIMEZONE',
58
+ 'FEISHU_USER_ACCESS_TOKEN',
59
+ 'BOTMUX_DASHBOARD_DEV_RELOAD',
60
+ 'http_proxy', 'https_proxy', 'HTTP_PROXY', 'HTTPS_PROXY',
61
+ 'no_proxy', 'NO_PROXY', 'all_proxy', 'ALL_PROXY',
62
+ ];
63
+ const ALLOWED = new Set(DASHBOARD_ENV_ALLOWLIST);
64
+ /**
65
+ * True for a key the dashboard may take from ~/.botmux/.env.
66
+ *
67
+ * The Feishu H5 login family is matched by PREFIX, not by name: the dashboard
68
+ * is that family's single consumer (resolveDashboardH5AuthConfig), and a knob
69
+ * added tomorrow must work the day it ships — the same prefix rule
70
+ * stripDashboardH5Env() uses to remove it everywhere else, so the two cannot
71
+ * drift into "loaded here, not stripped there".
72
+ */
73
+ export function isDashboardEnvKey(key) {
74
+ return key.startsWith(DASHBOARD_H5_ENV_PREFIX) || ALLOWED.has(key);
75
+ }
76
+ /**
77
+ * Load `envPath` and merge ONLY {@link isDashboardEnvKey} keys into `target`
78
+ * (default process.env).
79
+ *
80
+ * Semantics kept identical to the previous wholesale `dotenvConfig({ path })`
81
+ * for allowlisted keys — a value already present in `target` wins, so the
82
+ * deterministic PM2 snapshot (resolveDaemonEnv → DAEMON_ENV_KEYS) still
83
+ * outranks the file. The difference is everything else in the file: it is
84
+ * parsed into a private object and dropped.
85
+ *
86
+ * A missing/unreadable file is a no-op (dotenv reports it in `result.error`;
87
+ * the dashboard has always treated an absent .env as "no settings").
88
+ */
89
+ export function loadDashboardEnvFile(envPath, target = process.env) {
90
+ // `processEnv` (dotenv ≥16.4) makes dotenv populate THIS object instead of
91
+ // process.env, so non-allowlisted secrets are never in the process at all —
92
+ // not even for the microtask between load and delete.
93
+ const fileEnv = {};
94
+ const before = new Set(Object.keys(target));
95
+ dotenvConfig({ path: envPath, processEnv: fileEnv });
96
+ // Belt for the day dotenv drops/renames `processEnv`: anything that appeared
97
+ // in `target` across the call can only have come from the file, so a
98
+ // non-allowlisted newcomer is removed. Keys that already existed are never
99
+ // touched — deleting an inherited PATH/HOME because the file happens to
100
+ // mention it would be far worse than the leak this guards.
101
+ for (const key of Object.keys(target)) {
102
+ if (before.has(key) || isDashboardEnvKey(key))
103
+ continue;
104
+ delete target[key];
105
+ }
106
+ for (const [key, value] of Object.entries(fileEnv)) {
107
+ if (value === undefined)
108
+ continue;
109
+ if (!isDashboardEnvKey(key))
110
+ continue;
111
+ if (target[key] !== undefined)
112
+ continue; // dotenv never overrides an existing var
113
+ target[key] = value;
114
+ }
115
+ }
116
+ //# sourceMappingURL=dashboard-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-env.js","sourceRoot":"","sources":["../../src/utils/dashboard-env.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,gFAAgF;AAChF,wEAAwE;AACxE,6EAA6E;AAC7E,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,uEAAuE;AACvE,+DAA+D;AAC/D,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,yEAAyE;AACzE,+EAA+E;AAC/E,0EAA0E;AAC1E,EAAE;AACF,+EAA+E;AAC/E,0EAA0E;AAC1E,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,GAAG,eAAe;IAClB,kBAAkB;IAClB,QAAQ;IACR,cAAc;IACd,0BAA0B;IAC1B,0BAA0B;IAC1B,6BAA6B;IAC7B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa;IACxD,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW;CACxC,CAAC;AAEX,MAAM,OAAO,GAAwB,IAAI,GAAG,CAAS,uBAAuB,CAAC,CAAC;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,GAAG,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,SAA4B,OAAO,CAAC,GAAG;IAEvC,2EAA2E;IAC3E,4EAA4E;IAC5E,sDAAsD;IACtD,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,6EAA6E;IAC7E,qEAAqE;IACrE,2EAA2E;IAC3E,wEAAwE;IACxE,2DAA2D;IAC3D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC;YAAE,SAAS;QACxD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;YAAE,SAAS;QACtC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAS,CAAC,yCAAyC;QAClF,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"global-install.d.ts","sourceRoot":"","sources":["../../src/utils/global-install.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAC1D,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;iEAC6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;4EACwE;IACxE,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,6BAA8B,SAAQ,KAAK;aAEpC,OAAO,EAAE,sBAAsB;aAC/B,WAAW,EAAE,MAAM;gBADnB,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,MAAM;CAKtC;AA0CD,qFAAqF;AACrF,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,sBAAsB,CA0BxB;AAED,wBAAgB,wBAAwB,CACtC,WAAW,GAAE,MAA4B,EACzC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,IAAI,SAAkB,GACrB,iBAAiB,CAmEnB;AAED,wBAAgB,2BAA2B,CACzC,WAAW,GAAE,MAA4B,EACzC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,IAAI,SAAkB,GACrB,iBAAiB,GAAG,IAAI,CAO1B;AAED,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD;AAED,sFAAsF;AACtF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,iBAAiB,EACvB,QAAQ,SAAgC,GACvC,iBAAiB,CAYnB;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAG1E"}
1
+ {"version":3,"file":"global-install.d.ts","sourceRoot":"","sources":["../../src/utils/global-install.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAC1D,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;iEAC6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;4EACwE;IACxE,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,6BAA8B,SAAQ,KAAK;aAEpC,OAAO,EAAE,sBAAsB;aAC/B,WAAW,EAAE,MAAM;gBADnB,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,MAAM;CAKtC;AAuFD,qFAAqF;AACrF,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,sBAAsB,CA2BxB;AAED,wBAAgB,wBAAwB,CACtC,WAAW,GAAE,MAA4B,EACzC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,IAAI,SAAkB,GACrB,iBAAiB,CA+EnB;AAED,wBAAgB,2BAA2B,CACzC,WAAW,GAAE,MAA4B,EACzC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,IAAI,SAAkB,GACrB,iBAAiB,GAAG,IAAI,CAO1B;AAED,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD;AAED,sFAAsF;AACtF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,iBAAiB,EACvB,QAAQ,SAAgC,GACvC,iBAAiB,CAYnB;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAG1E"}
@@ -7,7 +7,9 @@
7
7
  * supported; known Yarn layouts are identified for diagnostics but rejected
8
8
  * until their global-dir/bin-dir semantics are handled explicitly.
9
9
  */
10
+ import { spawnSync } from 'node:child_process';
10
11
  import { readdirSync, realpathSync } from 'node:fs';
12
+ import { homedir } from 'node:os';
11
13
  import { posix, win32 } from 'node:path';
12
14
  import { botmuxInstallRoot } from './install-info.js';
13
15
  export class UnsupportedGlobalInstallError extends Error {
@@ -23,6 +25,46 @@ export class UnsupportedGlobalInstallError extends Error {
23
25
  function normalized(path) {
24
26
  return path.replace(/\\/g, '/').replace(/\/+$/, '');
25
27
  }
28
+ /** Node resolves pnpm 11's global botmux symlink to this store realpath. */
29
+ function pnpmV11StoreMatch(root) {
30
+ return root.match(/^(.*\/pnpm)\/store\/(v\d+)\/links\/@\/botmux\/[^/]+\/[^/]+\/node_modules\/botmux$/i);
31
+ }
32
+ function pnpmGlobalDir(pathImpl, layout, platform = process.platform) {
33
+ const command = platform === 'win32' ? 'pnpm.cmd' : 'pnpm';
34
+ const result = spawnSync(command, ['list', '-g', '--depth', '0', '--json'], {
35
+ cwd: homedir(),
36
+ encoding: 'utf8',
37
+ stdio: ['ignore', 'pipe', 'ignore'],
38
+ // .cmd shims are not directly executable: without cmd.exe the Windows
39
+ // install path fails with ENOENT/EINVAL. Mirror the update execution
40
+ // strategy (installLatestBotmuxSync / runGlobalInstall). Args are fixed
41
+ // literals, so the shell cannot reinterpret anything.
42
+ shell: platform === 'win32',
43
+ // This probe runs on request-serving paths (dashboard settings, update
44
+ // status, scheduled maintenance) with no plan cache before the first
45
+ // successful update, so a hung pnpm or wedged disk must never freeze the
46
+ // event loop. Any timeout/error keeps callers on the fail-closed path
47
+ // (status !== 0 -> undefined). SIGKILL cannot be trapped by the child.
48
+ timeout: 5_000,
49
+ killSignal: 'SIGKILL',
50
+ maxBuffer: 256 * 1024,
51
+ });
52
+ if (result.status !== 0 || typeof result.stdout !== 'string')
53
+ return undefined;
54
+ let globalRoot;
55
+ try {
56
+ const listing = JSON.parse(result.stdout);
57
+ globalRoot = Array.isArray(listing) && typeof listing[0]?.path === 'string'
58
+ ? normalized(listing[0].path)
59
+ : undefined;
60
+ }
61
+ catch {
62
+ return undefined;
63
+ }
64
+ if (!globalRoot)
65
+ return undefined;
66
+ return globalRoot.endsWith(`/${layout}`) ? pathImpl.dirname(globalRoot) : undefined;
67
+ }
26
68
  /**
27
69
  * pnpm 11 installs a global project in a versioned directory and points a
28
70
  * stable content-addressed symlink at that directory:
@@ -66,6 +108,8 @@ export function detectGlobalInstallManager(packageRoot, platform = process.platf
66
108
  // path. Match it before the generic node_modules layouts below.
67
109
  if (root.includes('/.pnpm/'))
68
110
  return 'pnpm';
111
+ if (pnpmV11StoreMatch(root))
112
+ return 'pnpm';
69
113
  // Known non-npm managers must never fall through to npm, especially on
70
114
  // Windows where all three can end in <prefix>/node_modules/botmux.
71
115
  if (root.includes('/.bun/install/global/node_modules/botmux')
@@ -107,22 +151,34 @@ export function resolveGlobalInstallPlan(packageRoot = botmuxInstallRoot(), plat
107
151
  const marker = '/.pnpm/';
108
152
  const markerIndex = root.toLowerCase().indexOf(marker);
109
153
  const pnpmV11Match = root.match(/^(.*\/pnpm\/global)\/(v\d+)\/[^/]+\/node_modules\/botmux$/i);
154
+ const pnpmV11Store = pnpmV11StoreMatch(root);
110
155
  // Use the capture from the normalized path. Besides avoiding a fragile
111
156
  // separator search, this preserves Windows drive letters while converting
112
157
  // backslashes to the separator expected by pnpm's command arguments.
113
- const globalDir = pnpmV11Match?.[1];
158
+ const globalDir = pnpmV11Match?.[1]
159
+ ?? (pnpmV11Store ? pnpmGlobalDir(path, pnpmV11Store[2], platform) : undefined);
160
+ if (pnpmV11Store && !globalDir) {
161
+ throw new UnsupportedGlobalInstallError('pnpm', packageRoot);
162
+ }
114
163
  const globalInstallDir = pnpmV11Match
115
164
  ? path.join(globalDir, pnpmV11Match[2])
116
- : markerIndex >= 0
117
- ? root.slice(0, markerIndex)
118
- : path.dirname(path.dirname(packageRoot));
165
+ : pnpmV11Store
166
+ ? path.join(globalDir, pnpmV11Store[2])
167
+ : markerIndex >= 0
168
+ ? root.slice(0, markerIndex)
169
+ : path.dirname(path.dirname(packageRoot));
119
170
  // pnpm appends its global layout version (currently "5", or "v11") to
120
171
  // --global-dir. The pnpm 11 runtime adds another temporary directory below
121
172
  // the layout version, so pass the parent of that layout to pnpm.
122
173
  const resolvedGlobalDir = globalDir ?? path.dirname(globalInstallDir);
123
174
  const activePackageRoot = pnpmV11Match
124
175
  ? pnpmV11StablePackageRoot(packageRoot, resolvedGlobalDir, pnpmV11Match[2], path)
125
- : path.join(globalInstallDir, 'node_modules', 'botmux');
176
+ : pnpmV11Store
177
+ ? pnpmV11StablePackageRoot(packageRoot, resolvedGlobalDir, pnpmV11Store[2], path)
178
+ : path.join(globalInstallDir, 'node_modules', 'botmux');
179
+ if (pnpmV11Store && activePackageRoot === packageRoot) {
180
+ throw new UnsupportedGlobalInstallError('pnpm', packageRoot);
181
+ }
126
182
  return {
127
183
  manager,
128
184
  command: 'pnpm',
@@ -1 +1 @@
1
- {"version":3,"file":"global-install.js","sourceRoot":"","sources":["../../src/utils/global-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-install.js","sourceRoot":"","sources":["../../src/utils/global-install.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAiBtD,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IAEpC;IACA;IAFlB,YACkB,OAA+B,EAC/B,WAAmB;QAEnC,KAAK,CAAC,sCAAsC,OAAO,MAAM,WAAW,EAAE,CAAC,CAAC;QAHxD,YAAO,GAAP,OAAO,CAAwB;QAC/B,gBAAW,GAAX,WAAW,CAAQ;QAGnC,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,KAAK,CACf,oFAAoF,CACrF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,QAAsB,EACtB,MAAc,EACd,WAA4B,OAAO,CAAC,QAAQ;IAE5C,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE;QAC1E,GAAG,EAAE,OAAO,EAAE;QACd,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;QACnC,sEAAsE;QACtE,qEAAqE;QACrE,wEAAwE;QACxE,sDAAsD;QACtD,KAAK,EAAE,QAAQ,KAAK,OAAO;QAC3B,uEAAuE;QACvE,qEAAqE;QACrE,yEAAyE;QACzE,sEAAsE;QACtE,uEAAuE;QACvE,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,GAAG,GAAG,IAAI;KACtB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC/E,IAAI,UAA8B,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ;YACzE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,wBAAwB,CAC/B,WAAmB,EACnB,SAAiB,EACjB,MAAc,EACd,QAAsB;IAEtB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;gBAAE,SAAS;YACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;YAClF,IAAI,CAAC;gBACH,IAAI,YAAY,CAAC,SAAS,CAAC,KAAK,WAAW;oBAAE,OAAO,SAAS,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,yDAAyD;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,0BAA0B,CACxC,WAAmB,EACnB,WAA4B,OAAO,CAAC,QAAQ;IAE5C,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAAE,OAAO,SAAS,CAAC;IAE7D,+EAA+E;IAC/E,gEAAgE;IAChE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5C,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAE3C,uEAAuE;IACvE,mEAAmE;IACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,0CAA0C,CAAC;WACxD,IAAI,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,IAAI,CAAC,QAAQ,CAAC,0CAA0C,CAAC;WACxD,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAAE,OAAO,MAAM,CAAC;IAEtE,uEAAuE;IACvE,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAAE,OAAO,KAAK,CAAC;IAE5D,2EAA2E;IAC3E,wEAAwE;IACxE,oCAAoC;IACpC,IAAI,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC;WACxD,oDAAoD,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAEpF,2EAA2E;IAC3E,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,cAAsB,iBAAiB,EAAE,EACzC,WAA4B,OAAO,CAAC,QAAQ,EAC5C,IAAI,GAAG,eAAe;IAEtB,MAAM,OAAO,GAAG,0BAA0B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAElD,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK;YACrE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACjC,CAAC,CAAC,iBAAiB,CAAC;QACtB,OAAO;YACL,OAAO;YACP,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC;YACjD,iBAAiB,EAAE,WAAW;SAC/B,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,SAAS,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC9F,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7C,uEAAuE;QACvE,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC;eAC9B,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjF,IAAI,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,6BAA6B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,gBAAgB,GAAG,YAAY;YACnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,YAAY;gBACZ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC,CAAC,WAAW,IAAI,CAAC;oBAClB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;oBAC5B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5C,sEAAsE;QACtE,2EAA2E;QAC3E,iEAAiE;QACjE,MAAM,iBAAiB,GAAG,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtE,MAAM,iBAAiB,GAAG,YAAY;YACpC,CAAC,CAAC,wBAAwB,CAAC,WAAW,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YACjF,CAAC,CAAC,YAAY;gBACZ,CAAC,CAAC,wBAAwB,CAAC,WAAW,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;gBACnF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,YAAY,IAAI,iBAAiB,KAAK,WAAW,EAAE,CAAC;YACtD,MAAM,IAAI,6BAA6B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO;YACL,OAAO;YACP,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,iBAAiB,EAAE,IAAI,CAAC;YAC5D,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,yEAAyE;QACzE,uEAAuE;QACvE,uEAAuE;QACvE,mCAAmC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,OAAO;YACL,OAAO;YACP,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;YACzB,GAAG,EAAE;gBACH,sBAAsB,EAAE,SAAS;gBACjC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;aAC3C;YACD,iBAAiB,EAAE,WAAW;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,6BAA6B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,cAAsB,iBAAiB,EAAE,EACzC,WAA4B,OAAO,CAAC,QAAQ,EAC5C,IAAI,GAAG,eAAe;IAEtB,IAAI,CAAC;QACH,OAAO,wBAAwB,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,6BAA6B;YAAE,OAAO,IAAI,CAAC;QAChE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,2BAA2B,EAAE,KAAK,IAAI,CAAC;AAChD,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,yBAAyB,CACvC,IAAuB,EACvB,QAAQ,GAAG,6BAA6B;IAExC,OAAO;QACL,GAAG,IAAI;QACP,GAAG,EAAE;YACH,GAAG,IAAI,CAAC,GAAG;YACX,qEAAqE;YACrE,yEAAyE;YACzE,mBAAmB,EAAE,QAAQ;YAC7B,mBAAmB,EAAE,QAAQ;YAC7B,mBAAmB,EAAE,QAAQ;SAC9B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAuB;IAChE,MAAM,KAAK,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAClF,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC"}
@@ -10,14 +10,21 @@ export interface NodeCheck {
10
10
  /** Classify the running Node against the minimum major. Pure. */
11
11
  export declare function checkNode(version?: string, required?: number): NodeCheck;
12
12
  /**
13
- * The version to show in the update card. For an npm install this is the real
14
- * published version from package.json. A source checkout ships the unbuilt
15
- * `0.0.0` (CI injects the real version only at publish), so we derive a real
16
- * baseline from the latest git tag (`git describe --tags --abbrev=0` → the clean
17
- * tag, e.g. "v2.86.0", stripped of the leading v). That makes the version
18
- * display, "behind" comparison, and changelog range correct in dev mode too.
19
- * Falls back to the raw package.json version if git is unavailable.
13
+ * The version to show in the update card, for the install rooted at `rootDir`.
14
+ * For an npm install this is the real published version from package.json. A
15
+ * source checkout ships the unbuilt `0.0.0` (CI injects the real version only
16
+ * at publish), so we derive a real baseline from the latest git tag
17
+ * (`git describe --tags --abbrev=0` → the clean tag, e.g. "v2.86.0", stripped
18
+ * of the leading v). That makes the version display, "behind" comparison, and
19
+ * changelog range correct in dev mode too. Falls back to the raw package.json
20
+ * version if git is unavailable.
21
+ *
22
+ * Takes an explicit dir so the local-dev update path can report the version of
23
+ * the checkout it actually updated (the wrapper's checkout), which may differ
24
+ * from the running process's install root.
20
25
  */
26
+ export declare function resolveCurrentVersionAt(rootDir: string): string;
27
+ /** The version to show for the running install (its own package root). */
21
28
  export declare function resolveCurrentVersion(): string;
22
29
  export type InstallKind = 'npm-global' | 'pnpm-global' | 'yarn-global' | 'bun-global' | 'source-checkout' | 'unknown';
23
30
  export interface InstallEntry {
@@ -1 +1 @@
1
- {"version":3,"file":"install-diagnostics.d.ts","sourceRoot":"","sources":["../../src/utils/install-diagnostics.ts"],"names":[],"mappings":"AAqBA,gEAAgE;AAChE,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,MAAM,WAAW,SAAS;IACxB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,iEAAiE;AACjE,wBAAgB,SAAS,CAAC,OAAO,GAAE,MAAwB,EAAE,QAAQ,SAAiB,GAAG,SAAS,CAIjG;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAe9C;AAED,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,aAAa,GACb,aAAa,GACb,YAAY,GACZ,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1C,2DAA2D;IAC3D,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1C,iEAAiE;IACjE,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAwCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,CAe9F;AAgCD,yDAAyD;AACzD,wBAAgB,oBAAoB,IAAI,kBAAkB,CAEzD"}
1
+ {"version":3,"file":"install-diagnostics.d.ts","sourceRoot":"","sources":["../../src/utils/install-diagnostics.ts"],"names":[],"mappings":"AAqBA,gEAAgE;AAChE,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,MAAM,WAAW,SAAS;IACxB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,iEAAiE;AACjE,wBAAgB,SAAS,CAAC,OAAO,GAAE,MAAwB,EAAE,QAAQ,SAAiB,GAAG,SAAS,CAIjG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAe/D;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,aAAa,GACb,aAAa,GACb,YAAY,GACZ,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1C,2DAA2D;IAC3D,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1C,iEAAiE;IACjE,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAwCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,CAe9F;AAgCD,yDAAyD;AACzD,wBAAgB,oBAAoB,IAAI,kBAAkB,CAEzD"}
@@ -15,7 +15,7 @@
15
15
  import { execFileSync } from 'node:child_process';
16
16
  import { readFileSync, realpathSync, statSync } from 'node:fs';
17
17
  import { dirname } from 'node:path';
18
- import { isLocalDevInstallAt, botmuxVersion, botmuxInstallRoot } from './install-info.js';
18
+ import { isLocalDevInstallAt, botmuxVersionAt, botmuxInstallRoot } from './install-info.js';
19
19
  import { detectGlobalInstallManager } from './global-install.js';
20
20
  import { parseVersion } from '../core/update-check.js';
21
21
  /** Minimum Node major (mirrors package.json `engines.node`). */
@@ -27,21 +27,26 @@ export function checkNode(version = process.version, required = MIN_NODE_MAJOR)
27
27
  return { version, major, required, ok: major >= required };
28
28
  }
29
29
  /**
30
- * The version to show in the update card. For an npm install this is the real
31
- * published version from package.json. A source checkout ships the unbuilt
32
- * `0.0.0` (CI injects the real version only at publish), so we derive a real
33
- * baseline from the latest git tag (`git describe --tags --abbrev=0` → the clean
34
- * tag, e.g. "v2.86.0", stripped of the leading v). That makes the version
35
- * display, "behind" comparison, and changelog range correct in dev mode too.
36
- * Falls back to the raw package.json version if git is unavailable.
30
+ * The version to show in the update card, for the install rooted at `rootDir`.
31
+ * For an npm install this is the real published version from package.json. A
32
+ * source checkout ships the unbuilt `0.0.0` (CI injects the real version only
33
+ * at publish), so we derive a real baseline from the latest git tag
34
+ * (`git describe --tags --abbrev=0` → the clean tag, e.g. "v2.86.0", stripped
35
+ * of the leading v). That makes the version display, "behind" comparison, and
36
+ * changelog range correct in dev mode too. Falls back to the raw package.json
37
+ * version if git is unavailable.
38
+ *
39
+ * Takes an explicit dir so the local-dev update path can report the version of
40
+ * the checkout it actually updated (the wrapper's checkout), which may differ
41
+ * from the running process's install root.
37
42
  */
38
- export function resolveCurrentVersion() {
39
- const raw = botmuxVersion();
43
+ export function resolveCurrentVersionAt(rootDir) {
44
+ const raw = botmuxVersionAt(rootDir);
40
45
  if (raw !== '0.0.0')
41
46
  return raw;
42
47
  try {
43
48
  const tag = execFileSync('git', ['describe', '--tags', '--abbrev=0'], {
44
- cwd: botmuxInstallRoot(),
49
+ cwd: rootDir,
45
50
  encoding: 'utf-8',
46
51
  timeout: 3_000,
47
52
  stdio: ['ignore', 'pipe', 'ignore'],
@@ -53,6 +58,10 @@ export function resolveCurrentVersion() {
53
58
  return raw; // no git / no tags / not a checkout
54
59
  }
55
60
  }
61
+ /** The version to show for the running install (its own package root). */
62
+ export function resolveCurrentVersion() {
63
+ return resolveCurrentVersionAt(botmuxInstallRoot());
64
+ }
56
65
  /** A shim under 4 KiB is a tiny `exec node "<cli.js>"` wrapper; the real cli.js
57
66
  * is hundreds of KiB, so a small file is the only one worth string-scanning. */
58
67
  const MAX_SHIM_BYTES = 4096;
@@ -1 +1 @@
1
- {"version":3,"file":"install-diagnostics.js","sourceRoot":"","sources":["../../src/utils/install-diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-diagnostics.js","sourceRoot":"","sources":["../../src/utils/install-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * `botmux update` on a local-dev checkout: locate the checkout directory, then
3
+ * git pull --ff-only → rebuild → restart from that same dir. Shared by the CLI
4
+ * (`cmdUpgrade`, synchronous) and the dashboard (`/api/update/run`, async) so
5
+ * the two never drift.
6
+ *
7
+ * The global `botmux` command runs through a thin wrapper at
8
+ * `~/.botmux/bin/botmux`:
9
+ *
10
+ * #!/bin/sh
11
+ * exec node "/path/to/checkout/dist/cli.js" "$@"
12
+ *
13
+ * Parsing the wrapper's `dist/cli.js` path (and walking up two levels) is the
14
+ * most reliable way to find the checkout the user actually runs — more reliable
15
+ * than the running process's own root, which under `pnpm daemon:restart` /
16
+ * `switch:here` can be a different worktree than the one the wrapper points at.
17
+ *
18
+ * The pure helpers (string in, string out) resolve the checkout without
19
+ * touching the filesystem, so they stay unit-testable; the thin I/O helpers
20
+ * (read the wrapper, check the tree is clean) are shared side-effecting steps.
21
+ */
22
+ import { type SpawnSyncReturns } from 'node:child_process';
23
+ /**
24
+ * Extract the botmux `dist/cli.js` path from a `~/.botmux/bin/botmux` wrapper's
25
+ * text. The wrapper this repo generates has a fixed shape (see
26
+ * scripts/claim-botmux-bin.mjs and the daemon):
27
+ *
28
+ * #!/bin/sh
29
+ * exec node "<abs>/dist/cli.js" "$@"
30
+ *
31
+ * Match exactly that: a line that STARTS with `exec` (optional leading
32
+ * whitespace only), a `node`/absolute-node-path command, then the quoted
33
+ * absolute path ending in `dist/cli.js` (either separator, so Windows wrappers
34
+ * work), then the trailing `"$@"`. Anchoring to line start + requiring `"$@"`
35
+ * rejects a commented-out old command (`# old: exec node "…"`) or an `echo exec
36
+ * node "…"` line that merely mentions the words. The captured path must also be
37
+ * absolute (POSIX or Windows) — a relative target would resolve against the
38
+ * shell's cwd at exec time but against the reader's cwd here, so the two could
39
+ * name different checkouts; skip it. Returns null when no such line exists
40
+ * (e.g. a hand-edited wrapper), letting callers fall back safely.
41
+ */
42
+ export declare function parseWrapperCliEntry(wrapperText: string): string | null;
43
+ /**
44
+ * Given the wrapper's `dist/cli.js` path, return the checkout root: two levels
45
+ * up (`<root>/dist/cli.js` → `<root>`).
46
+ */
47
+ export declare function checkoutDirFromCliEntry(cliEntry: string): string;
48
+ /**
49
+ * Resolve the checkout root directly from wrapper text, or null when the text
50
+ * doesn't parse. Convenience composition of the two functions above.
51
+ */
52
+ export declare function checkoutDirFromWrapperText(wrapperText: string): string | null;
53
+ /** Absolute path to the global thin wrapper written by `use:here` / daemon start. */
54
+ export declare function globalWrapperPath(): string;
55
+ /** Is `dir` a botmux source checkout we may update: a git worktree whose
56
+ * package.json says it's botmux? Repo-identity guards against pulling/building
57
+ * an unrelated repo a hijacked wrapper path might point at. Deliberately does
58
+ * NOT require `dist/cli.js` — `pnpm use:here` allows a fresh checkout without a
59
+ * build, and local-dev update is exactly what produces that dist. */
60
+ export declare function isBotmuxCheckout(dir: string): boolean;
61
+ /**
62
+ * Locate the local-dev checkout to update: prefer the checkout the global
63
+ * `botmux` wrapper points at (that's what the user actually runs), validated as
64
+ * a botmux git worktree; otherwise fall back to this process's own install
65
+ * root. Does NOT require the target to be built — the update builds it. The
66
+ * caller still validates the result before running git.
67
+ */
68
+ export declare function resolveLocalDevCheckoutDir(): string;
69
+ /** A checkout+HEAD pinned by a successful local-dev `/api/update/run`. */
70
+ export interface PendingLocalDevRestart {
71
+ dir: string;
72
+ /** Post-build HEAD sha of `dir`. */
73
+ head: string;
74
+ }
75
+ export type LocalDevRestartDecision =
76
+ /** Restart from `dir` (its cli.js exists and, if pinned, HEAD is unchanged). */
77
+ {
78
+ action: 'restart';
79
+ dir: string;
80
+ }
81
+ /** No pinned build and the live wrapper target has no cli.js — restart from
82
+ * the running process root instead (plain manual restart still works). */
83
+ | {
84
+ action: 'fallback-running-root';
85
+ }
86
+ /** A pinned build's target is gone / moved — fail closed, do not restart. */
87
+ | {
88
+ action: 'fail';
89
+ reason: 'update_target_unavailable' | 'update_target_drifted';
90
+ dir: string;
91
+ };
92
+ /**
93
+ * Decide where a local-dev `/api/update/restart` should restart from. Pure over
94
+ * injected probes so the run→restart handoff (including a wrapper flipped B→C by
95
+ * a concurrent `use:here`) is unit-testable.
96
+ *
97
+ * - With a `pinned` plan (a preceding run built `pinned.dir`): require its
98
+ * cli.js to still exist AND HEAD to still equal the built HEAD; otherwise fail
99
+ * closed rather than restart a drifted/absent tree.
100
+ * - Without a pinned plan (plain manual restart): use the live wrapper `target`
101
+ * if its cli.js exists, else fall back to the running root.
102
+ */
103
+ export declare function resolveLocalDevRestartTarget(pinned: PendingLocalDevRestart | undefined, target: string, probes: {
104
+ cliEntryExists: (dir: string) => boolean;
105
+ headOf: (dir: string) => string;
106
+ }): LocalDevRestartDecision;
107
+ /** Is `dir` a git worktree (has a `.git` dir or file)? */
108
+ export declare function isGitWorktree(dir: string): boolean;
109
+ /**
110
+ * Read the porcelain working-tree status. Returns the trimmed output (empty =
111
+ * clean). Throws if git is unavailable or the command fails — callers treat
112
+ * that as "can't verify, abort" rather than "clean".
113
+ */
114
+ export declare function gitPorcelainStatus(dir: string): string;
115
+ /** Current HEAD commit sha of `dir` ('' if it can't be read). Used to decide
116
+ * whether a `git pull` actually advanced the checkout. */
117
+ export declare function gitHeadSha(dir: string): string;
118
+ /**
119
+ * The ordered commands that make up a local-dev update, each in `dir`:
120
+ * 1. git pull --ff-only (fail closed on divergence/conflict — never merges)
121
+ * 2. pnpm build (dist/ is gitignored: a pull alone leaves stale code)
122
+ * The restart is intentionally NOT here — the CLI and dashboard each apply it
123
+ * through their own restart path (the dashboard reuses its lease + intent).
124
+ */
125
+ export declare function localDevUpdateSteps(): Array<{
126
+ command: string;
127
+ args: string[];
128
+ }>;
129
+ /** Format a spawnSync failure into a readable message. Shared by callers that
130
+ * run the steps synchronously with stdio inherited. */
131
+ export declare function describeSpawnFailure(command: string, args: string[], result: SpawnSyncReturns<Buffer>): string;
132
+ //# sourceMappingURL=local-dev-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-dev-update.d.ts","sourceRoot":"","sources":["../../src/utils/local-dev-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQvE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG7E;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;sEAIsE;AACtE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAQnD;AAED,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,uBAAuB;AACjC,gFAAgF;AAC9E;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AACpC;2EAC2E;GACzE;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE;AACrC,6EAA6E;GAC3E;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,2BAA2B,GAAG,uBAAuB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnG;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,sBAAsB,GAAG,SAAS,EAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IAAE,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,GACpF,uBAAuB,CAYzB;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;2DAC2D;AAC3D,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAKhF;AAED;wDACwD;AACxD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAC/B,MAAM,CAGR"}