botmux 2.114.0 → 3.1.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 (308) hide show
  1. package/dist/adapters/backend/herdr-backend.d.ts +9 -7
  2. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
  3. package/dist/adapters/backend/herdr-backend.js +63 -53
  4. package/dist/adapters/backend/herdr-backend.js.map +1 -1
  5. package/dist/adapters/backend/riff-backend.d.ts +21 -1
  6. package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
  7. package/dist/adapters/backend/riff-backend.js +16 -5
  8. package/dist/adapters/backend/riff-backend.js.map +1 -1
  9. package/dist/adapters/backend/sandbox.d.ts +20 -16
  10. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  11. package/dist/adapters/backend/sandbox.js +192 -65
  12. package/dist/adapters/backend/sandbox.js.map +1 -1
  13. package/dist/adapters/backend/tmux-backend.d.ts +39 -2
  14. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  15. package/dist/adapters/backend/tmux-backend.js +55 -5
  16. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  17. package/dist/adapters/backend/tmux-pipe-backend.js +2 -2
  18. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  19. package/dist/adapters/backend/zellij-backend.d.ts.map +1 -1
  20. package/dist/adapters/backend/zellij-backend.js +9 -3
  21. package/dist/adapters/backend/zellij-backend.js.map +1 -1
  22. package/dist/adapters/cli/claude-code.d.ts +25 -0
  23. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  24. package/dist/adapters/cli/claude-code.js +79 -9
  25. package/dist/adapters/cli/claude-code.js.map +1 -1
  26. package/dist/adapters/cli/read-isolation.d.ts +2 -1
  27. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  28. package/dist/adapters/cli/read-isolation.js.map +1 -1
  29. package/dist/adapters/cli/types.d.ts +2 -2
  30. package/dist/adapters/hook-installer.d.ts +11 -0
  31. package/dist/adapters/hook-installer.d.ts.map +1 -1
  32. package/dist/adapters/hook-installer.js +72 -11
  33. package/dist/adapters/hook-installer.js.map +1 -1
  34. package/dist/cli.d.ts.map +1 -1
  35. package/dist/cli.js +15 -4
  36. package/dist/cli.js.map +1 -1
  37. package/dist/config.d.ts +6 -0
  38. package/dist/config.d.ts.map +1 -1
  39. package/dist/config.js +18 -0
  40. package/dist/config.js.map +1 -1
  41. package/dist/core/command-handler.d.ts.map +1 -1
  42. package/dist/core/command-handler.js +211 -57
  43. package/dist/core/command-handler.js.map +1 -1
  44. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  45. package/dist/core/dashboard-ipc-server.js +13 -6
  46. package/dist/core/dashboard-ipc-server.js.map +1 -1
  47. package/dist/core/dashboard-rows.d.ts +5 -0
  48. package/dist/core/dashboard-rows.d.ts.map +1 -1
  49. package/dist/core/dashboard-rows.js +2 -0
  50. package/dist/core/dashboard-rows.js.map +1 -1
  51. package/dist/core/doc-comment-prompt.d.ts +2 -0
  52. package/dist/core/doc-comment-prompt.d.ts.map +1 -1
  53. package/dist/core/doc-comment-prompt.js +30 -0
  54. package/dist/core/doc-comment-prompt.js.map +1 -1
  55. package/dist/core/github-auth.d.ts +8 -0
  56. package/dist/core/github-auth.d.ts.map +1 -0
  57. package/dist/core/github-auth.js +44 -0
  58. package/dist/core/github-auth.js.map +1 -0
  59. package/dist/core/managed-origin-capability.d.ts +7 -0
  60. package/dist/core/managed-origin-capability.d.ts.map +1 -1
  61. package/dist/core/managed-origin-capability.js +12 -0
  62. package/dist/core/managed-origin-capability.js.map +1 -1
  63. package/dist/core/passthrough-commands.d.ts.map +1 -1
  64. package/dist/core/passthrough-commands.js +1 -1
  65. package/dist/core/passthrough-commands.js.map +1 -1
  66. package/dist/core/restart-report.d.ts +7 -1
  67. package/dist/core/restart-report.d.ts.map +1 -1
  68. package/dist/core/restart-report.js +19 -5
  69. package/dist/core/restart-report.js.map +1 -1
  70. package/dist/core/session-activity.d.ts +8 -0
  71. package/dist/core/session-activity.d.ts.map +1 -1
  72. package/dist/core/session-activity.js +16 -0
  73. package/dist/core/session-activity.js.map +1 -1
  74. package/dist/core/session-discovery.d.ts.map +1 -1
  75. package/dist/core/session-discovery.js +4 -2
  76. package/dist/core/session-discovery.js.map +1 -1
  77. package/dist/core/update-check.d.ts +11 -0
  78. package/dist/core/update-check.d.ts.map +1 -1
  79. package/dist/core/update-check.js +6 -1
  80. package/dist/core/update-check.js.map +1 -1
  81. package/dist/core/vc-meeting-prepare-command.d.ts +22 -0
  82. package/dist/core/vc-meeting-prepare-command.d.ts.map +1 -0
  83. package/dist/core/vc-meeting-prepare-command.js +50 -0
  84. package/dist/core/vc-meeting-prepare-command.js.map +1 -0
  85. package/dist/core/worker-pool.d.ts.map +1 -1
  86. package/dist/core/worker-pool.js +11 -2
  87. package/dist/core/worker-pool.js.map +1 -1
  88. package/dist/daemon.d.ts +15 -5
  89. package/dist/daemon.d.ts.map +1 -1
  90. package/dist/daemon.js +555 -41
  91. package/dist/daemon.js.map +1 -1
  92. package/dist/dashboard/compat.d.ts +19 -0
  93. package/dist/dashboard/compat.d.ts.map +1 -0
  94. package/dist/dashboard/compat.js +38 -0
  95. package/dist/dashboard/compat.js.map +1 -0
  96. package/dist/dashboard/stale-chunk-module.d.ts +3 -0
  97. package/dist/dashboard/stale-chunk-module.d.ts.map +1 -0
  98. package/dist/dashboard/stale-chunk-module.js +55 -0
  99. package/dist/dashboard/stale-chunk-module.js.map +1 -0
  100. package/dist/dashboard/web/app.d.ts.map +1 -1
  101. package/dist/dashboard/web/app.js +64 -2
  102. package/dist/dashboard/web/app.js.map +1 -1
  103. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  104. package/dist/dashboard/web/bot-defaults-page.js +14 -7
  105. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  106. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  107. package/dist/dashboard/web/i18n.js +44 -10
  108. package/dist/dashboard/web/i18n.js.map +1 -1
  109. package/dist/dashboard/web/preferences.d.ts +1 -1
  110. package/dist/dashboard/web/preferences.d.ts.map +1 -1
  111. package/dist/dashboard/web/preferences.js +1 -1
  112. package/dist/dashboard/web/preferences.js.map +1 -1
  113. package/dist/dashboard/web/sessions-page.d.ts +19 -0
  114. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  115. package/dist/dashboard/web/sessions-page.js +68 -9
  116. package/dist/dashboard/web/sessions-page.js.map +1 -1
  117. package/dist/dashboard/web/sessions.d.ts +31 -0
  118. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  119. package/dist/dashboard/web/sessions.js +82 -0
  120. package/dist/dashboard/web/sessions.js.map +1 -1
  121. package/dist/dashboard/web/stale-chunk-reload.d.ts +16 -0
  122. package/dist/dashboard/web/stale-chunk-reload.d.ts.map +1 -0
  123. package/dist/dashboard/web/stale-chunk-reload.js +51 -0
  124. package/dist/dashboard/web/stale-chunk-reload.js.map +1 -0
  125. package/dist/dashboard-web/app.js +1 -1
  126. package/dist/dashboard-web/chunks/{bot-defaults-page-SRCBF7Z3.js → bot-defaults-page-KLDCZNLP.js} +5 -5
  127. package/dist/dashboard-web/chunks/{chunk-NGRUZCXP.js → chunk-EZAW2EPM.js} +1 -1
  128. package/dist/dashboard-web/chunks/{chunk-D2I5F4MY.js → chunk-FMJNOATE.js} +1 -1
  129. package/dist/dashboard-web/chunks/{chunk-3H6MVXXU.js → chunk-KEAOTUL3.js} +7 -7
  130. package/dist/dashboard-web/chunks/{chunk-77KD4TK2.js → chunk-MLNI5BKE.js} +1 -1
  131. package/dist/dashboard-web/chunks/{connectors-page-RM3BJVMV.js → connectors-page-O32LFAL5.js} +1 -1
  132. package/dist/dashboard-web/chunks/{groups-page-3D4YSYLA.js → groups-page-PSAFIZ6M.js} +1 -1
  133. package/dist/dashboard-web/chunks/{insights-page-CRFJKA54.js → insights-page-V23LLATX.js} +1 -1
  134. package/dist/dashboard-web/chunks/{monitor-room-HLK3XDT2.js → monitor-room-7X5AKYOF.js} +1 -1
  135. package/dist/dashboard-web/chunks/{monitoring-page-E3SNZFFN.js → monitoring-page-CBA3CQYL.js} +1 -1
  136. package/dist/dashboard-web/chunks/{office-page-MKQ2TENK.js → office-page-RL6QSEM7.js} +1 -1
  137. package/dist/dashboard-web/chunks/{overview-page-ICFKKRLV.js → overview-page-XQIPO6KH.js} +1 -1
  138. package/dist/dashboard-web/chunks/{roles-page-2DFJ7YRU.js → roles-page-ACIWV7QS.js} +1 -1
  139. package/dist/dashboard-web/chunks/{schedules-page-S4WDIXH5.js → schedules-page-KJDUKOJV.js} +1 -1
  140. package/dist/dashboard-web/chunks/sessions-page-2WDWHSP4.js +3 -0
  141. package/dist/dashboard-web/chunks/{settings-page-OBTE4LYP.js → settings-page-6VX4OUGG.js} +1 -1
  142. package/dist/dashboard-web/chunks/{skills-page-CTRQJR47.js → skills-page-WXE3UYLT.js} +1 -1
  143. package/dist/dashboard-web/chunks/{team-federation-page-GICLDKJP.js → team-federation-page-PYTF4FLM.js} +1 -1
  144. package/dist/dashboard-web/chunks/{v3-page-DI55IRL5.js → v3-page-G6CD6O3I.js} +1 -1
  145. package/dist/dashboard-web/chunks/{whiteboards-page-7KFWMILV.js → whiteboards-page-6SG33GP4.js} +1 -1
  146. package/dist/dashboard-web/style.css +167 -2
  147. package/dist/dashboard.js +26 -0
  148. package/dist/dashboard.js.map +1 -1
  149. package/dist/desktop/main/auto-start.d.ts +17 -0
  150. package/dist/desktop/main/auto-start.d.ts.map +1 -0
  151. package/dist/desktop/main/auto-start.js +37 -0
  152. package/dist/desktop/main/auto-start.js.map +1 -0
  153. package/dist/desktop/main/dashboard-compat.d.ts +25 -0
  154. package/dist/desktop/main/dashboard-compat.d.ts.map +1 -0
  155. package/dist/desktop/main/dashboard-compat.js +117 -0
  156. package/dist/desktop/main/dashboard-compat.js.map +1 -0
  157. package/dist/desktop/main/external-runtime.d.ts +29 -0
  158. package/dist/desktop/main/external-runtime.d.ts.map +1 -0
  159. package/dist/desktop/main/external-runtime.js +202 -0
  160. package/dist/desktop/main/external-runtime.js.map +1 -0
  161. package/dist/desktop/main/ipc.d.ts +20 -0
  162. package/dist/desktop/main/ipc.d.ts.map +1 -0
  163. package/dist/desktop/main/ipc.js +241 -0
  164. package/dist/desktop/main/ipc.js.map +1 -0
  165. package/dist/desktop/main/log-service.d.ts +4 -0
  166. package/dist/desktop/main/log-service.d.ts.map +1 -0
  167. package/dist/desktop/main/log-service.js +53 -0
  168. package/dist/desktop/main/log-service.js.map +1 -0
  169. package/dist/desktop/main/login-item.d.ts +10 -0
  170. package/dist/desktop/main/login-item.d.ts.map +1 -0
  171. package/dist/desktop/main/login-item.js +11 -0
  172. package/dist/desktop/main/login-item.js.map +1 -0
  173. package/dist/desktop/main/node-command.d.ts +22 -0
  174. package/dist/desktop/main/node-command.d.ts.map +1 -0
  175. package/dist/desktop/main/node-command.js +56 -0
  176. package/dist/desktop/main/node-command.js.map +1 -0
  177. package/dist/desktop/main/paths.d.ts +11 -0
  178. package/dist/desktop/main/paths.d.ts.map +1 -0
  179. package/dist/desktop/main/paths.js +13 -0
  180. package/dist/desktop/main/paths.js.map +1 -0
  181. package/dist/desktop/main/pm2-apps.d.ts +15 -0
  182. package/dist/desktop/main/pm2-apps.d.ts.map +1 -0
  183. package/dist/desktop/main/pm2-apps.js +97 -0
  184. package/dist/desktop/main/pm2-apps.js.map +1 -0
  185. package/dist/desktop/main/runtime-service.d.ts +49 -0
  186. package/dist/desktop/main/runtime-service.d.ts.map +1 -0
  187. package/dist/desktop/main/runtime-service.js +297 -0
  188. package/dist/desktop/main/runtime-service.js.map +1 -0
  189. package/dist/desktop/main/runtime-source.d.ts +17 -0
  190. package/dist/desktop/main/runtime-source.d.ts.map +1 -0
  191. package/dist/desktop/main/runtime-source.js +61 -0
  192. package/dist/desktop/main/runtime-source.js.map +1 -0
  193. package/dist/desktop/main/tray.d.ts +10 -0
  194. package/dist/desktop/main/tray.d.ts.map +1 -0
  195. package/dist/desktop/main/tray.js +27 -0
  196. package/dist/desktop/main/tray.js.map +1 -0
  197. package/dist/desktop/main/window.d.ts +16 -0
  198. package/dist/desktop/main/window.d.ts.map +1 -0
  199. package/dist/desktop/main/window.js +113 -0
  200. package/dist/desktop/main/window.js.map +1 -0
  201. package/dist/desktop/main.d.ts +2 -0
  202. package/dist/desktop/main.d.ts.map +1 -0
  203. package/dist/desktop/main.js +175 -0
  204. package/dist/desktop/main.js.map +1 -0
  205. package/dist/desktop/preload.d.ts +2 -0
  206. package/dist/desktop/preload.d.ts.map +1 -0
  207. package/dist/desktop/preload.js +24 -0
  208. package/dist/desktop/preload.js.map +1 -0
  209. package/dist/desktop/renderer/app.d.ts +35 -0
  210. package/dist/desktop/renderer/app.d.ts.map +1 -0
  211. package/dist/desktop/renderer/app.js +945 -0
  212. package/dist/desktop/renderer/app.js.map +1 -0
  213. package/dist/desktop/renderer/dashboard-url.d.ts +13 -0
  214. package/dist/desktop/renderer/dashboard-url.d.ts.map +1 -0
  215. package/dist/desktop/renderer/dashboard-url.js +98 -0
  216. package/dist/desktop/renderer/dashboard-url.js.map +1 -0
  217. package/dist/desktop/renderer/runtime-state.d.ts +8 -0
  218. package/dist/desktop/renderer/runtime-state.d.ts.map +1 -0
  219. package/dist/desktop/renderer/runtime-state.js +67 -0
  220. package/dist/desktop/renderer/runtime-state.js.map +1 -0
  221. package/dist/desktop/shared/types.d.ts +48 -0
  222. package/dist/desktop/shared/types.d.ts.map +1 -0
  223. package/dist/desktop/shared/types.js +2 -0
  224. package/dist/desktop/shared/types.js.map +1 -0
  225. package/dist/desktop/smoke.d.ts +28 -0
  226. package/dist/desktop/smoke.d.ts.map +1 -0
  227. package/dist/desktop/smoke.js +258 -0
  228. package/dist/desktop/smoke.js.map +1 -0
  229. package/dist/i18n/en.d.ts.map +1 -1
  230. package/dist/i18n/en.js +18 -3
  231. package/dist/i18n/en.js.map +1 -1
  232. package/dist/i18n/zh.d.ts.map +1 -1
  233. package/dist/i18n/zh.js +18 -3
  234. package/dist/i18n/zh.js.map +1 -1
  235. package/dist/im/lark/card-builder.d.ts.map +1 -1
  236. package/dist/im/lark/card-builder.js +11 -2
  237. package/dist/im/lark/card-builder.js.map +1 -1
  238. package/dist/im/lark/event-dispatcher.d.ts +4 -0
  239. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  240. package/dist/im/lark/event-dispatcher.js +249 -5
  241. package/dist/im/lark/event-dispatcher.js.map +1 -1
  242. package/dist/im/lark/forward-followup-buffer.d.ts +26 -0
  243. package/dist/im/lark/forward-followup-buffer.d.ts.map +1 -0
  244. package/dist/im/lark/forward-followup-buffer.js +48 -0
  245. package/dist/im/lark/forward-followup-buffer.js.map +1 -0
  246. package/dist/im/lark/forward-followup-content.d.ts +6 -0
  247. package/dist/im/lark/forward-followup-content.d.ts.map +1 -0
  248. package/dist/im/lark/forward-followup-content.js +46 -0
  249. package/dist/im/lark/forward-followup-content.js.map +1 -0
  250. package/dist/im/lark/forward-followup-store.d.ts +9 -0
  251. package/dist/im/lark/forward-followup-store.d.ts.map +1 -0
  252. package/dist/im/lark/forward-followup-store.js +48 -0
  253. package/dist/im/lark/forward-followup-store.js.map +1 -0
  254. package/dist/im/lark/message-parser.d.ts +1 -1
  255. package/dist/im/lark/message-parser.d.ts.map +1 -1
  256. package/dist/im/lark/message-parser.js +1 -2
  257. package/dist/im/lark/message-parser.js.map +1 -1
  258. package/dist/platform/tunnel-client.js +3 -3
  259. package/dist/platform/tunnel-client.js.map +1 -1
  260. package/dist/services/local-cli-opener.d.ts +7 -0
  261. package/dist/services/local-cli-opener.d.ts.map +1 -1
  262. package/dist/services/local-cli-opener.js +111 -3
  263. package/dist/services/local-cli-opener.js.map +1 -1
  264. package/dist/services/skill-registry-store.d.ts.map +1 -1
  265. package/dist/services/skill-registry-store.js +15 -2
  266. package/dist/services/skill-registry-store.js.map +1 -1
  267. package/dist/services/vc-meeting-consumer-isolation.d.ts +7 -5
  268. package/dist/services/vc-meeting-consumer-isolation.d.ts.map +1 -1
  269. package/dist/services/vc-meeting-consumer-isolation.js +7 -5
  270. package/dist/services/vc-meeting-consumer-isolation.js.map +1 -1
  271. package/dist/services/vc-meeting-preparations-store.d.ts +22 -0
  272. package/dist/services/vc-meeting-preparations-store.d.ts.map +1 -0
  273. package/dist/services/vc-meeting-preparations-store.js +131 -0
  274. package/dist/services/vc-meeting-preparations-store.js.map +1 -0
  275. package/dist/services/vc-meeting-runtime-store.d.ts +9 -0
  276. package/dist/services/vc-meeting-runtime-store.d.ts.map +1 -1
  277. package/dist/services/vc-meeting-runtime-store.js +16 -0
  278. package/dist/services/vc-meeting-runtime-store.js.map +1 -1
  279. package/dist/setup/ensure-tmux.d.ts.map +1 -1
  280. package/dist/setup/ensure-tmux.js +9 -11
  281. package/dist/setup/ensure-tmux.js.map +1 -1
  282. package/dist/utils/child-env.d.ts +16 -8
  283. package/dist/utils/child-env.d.ts.map +1 -1
  284. package/dist/utils/child-env.js +30 -8
  285. package/dist/utils/child-env.js.map +1 -1
  286. package/dist/utils/daemon-discovery.d.ts +8 -0
  287. package/dist/utils/daemon-discovery.d.ts.map +1 -1
  288. package/dist/utils/daemon-discovery.js +19 -0
  289. package/dist/utils/daemon-discovery.js.map +1 -1
  290. package/dist/utils/ready-gate.d.ts +9 -3
  291. package/dist/utils/ready-gate.d.ts.map +1 -1
  292. package/dist/utils/ready-gate.js +12 -4
  293. package/dist/utils/ready-gate.js.map +1 -1
  294. package/dist/utils/version-info.d.ts +25 -0
  295. package/dist/utils/version-info.d.ts.map +1 -0
  296. package/dist/utils/version-info.js +48 -0
  297. package/dist/utils/version-info.js.map +1 -0
  298. package/dist/worker.js +131 -28
  299. package/dist/worker.js.map +1 -1
  300. package/dist/workflows/ops-projection.d.ts.map +1 -1
  301. package/dist/workflows/ops-projection.js +27 -5
  302. package/dist/workflows/ops-projection.js.map +1 -1
  303. package/dist/workflows/v3/distillation-runner.d.ts +4 -0
  304. package/dist/workflows/v3/distillation-runner.d.ts.map +1 -1
  305. package/dist/workflows/v3/distillation-runner.js +4 -2
  306. package/dist/workflows/v3/distillation-runner.js.map +1 -1
  307. package/package.json +9 -1
  308. package/dist/dashboard-web/chunks/sessions-page-4XWGUGB5.js +0 -3
@@ -148,27 +148,30 @@ export interface SandboxSpawn {
148
148
  outbox: string;
149
149
  /** Project overlay UPPER dir — THE LANDABLE CHANGESET (used by sandbox-land). */
150
150
  workDir: string;
151
- /** HOME overlay UPPER dir (/var/tmp/botmux-sbx/<sid>/home-upper). The sandboxed
152
- * CLI's $HOME writes INCLUDING its session jsonl under CLAUDE_CONFIG_DIR
153
- * land here (invisible at the real path). The worker redirects its bridge/idle
154
- * watch into this via sandboxedClaudeDataDir() so it sees the CLI's turns. */
151
+ /** HOME overlay UPPER dir (/var/tmp/botmux-sbx/<sid>/home-upper). When the
152
+ * project mount equals HOME, the project overlay is the single winning
153
+ * layer and this directory is intentionally unused. */
155
154
  homeUpper: string;
156
155
  /** Unmount the overlays + remove the per-session sandbox tree. */
157
156
  cleanup: () => void;
158
157
  }
159
- /** The path where a sandboxed session's CLI actually writes a $HOME-relative
160
- * data dir (e.g. CLAUDE_CONFIG_DIR / `.claude-runtime`): the HOME overlay's
161
- * ephemeral UPPER copy. The worker redirects its jsonl/bridge watch here so it
162
- * sees the sandboxed CLI's writes (which are invisible at the real host path).
163
- * Mirrors prepareSandbox's homeUpper layout — keep in sync.
158
+ /** The host path where a sandboxed session actually writes a Claude-family
159
+ * data dir. Usually this is the HOME overlay upper. If the project mount is
160
+ * HOME (or otherwise contains the data dir), the later project overlay is the
161
+ * winning mount and the data lands in proj-upper instead.
164
162
  *
165
163
  * The home overlay is bound (and $HOME set) at the CANONICAL home, so copy-ups
166
164
  * land relative to that root. Compute the in-home relative path robustly whether
167
165
  * realDataDir arrives in symlink or canonical form: adapters build it from the
168
166
  * raw homedir() (so the raw base cancels cleanly in the common case), but a
169
- * canonicalized dataDir under a symlink home would escape home-upper via `..` —
170
- * fall back to the canonical base so it can't. */
171
- export declare function sandboxedClaudeDataDir(sessionId: string, realDataDir: string): string;
167
+ * canonicalized dataDir under a symlink home would otherwise escape via `..`.
168
+ * Data roots outside both HOME and the project are returned unchanged because
169
+ * neither overlay owns them (Claude read isolation normally relocates those
170
+ * roots into BOT_HOME before spawn). */
171
+ export declare function sandboxedClaudeDataDir(sessionId: string, realDataDir: string, context?: {
172
+ sourceWorkingDir?: string;
173
+ dataDir?: string;
174
+ }): string;
172
175
  /** Credential roots that must never be readable inside the file sandbox.
173
176
  * Relay mode is the only credentialed send path; otherwise an agent could
174
177
  * unset BOTMUX_SEND_RELAY and execute an absolute botmux binary against the
@@ -188,10 +191,11 @@ export declare function localSandboxApplies(platform: NodeJS.Platform, backendTy
188
191
  * is off / unsupported / a required overlay mount fails (fail-safe = the worker
189
192
  * treats null as a hard error and does NOT silently run unsandboxed).
190
193
  *
191
- * Layout under <dataDir>/sandboxes/<sessionId>/: outbox, shimbin, proj-upper
192
- * (the landable changeset), and proj-work. Host-only merged mountpoints plus the
193
- * HOME overlay upper/work live under /var/tmp/botmux-sbx/<sessionId>/ so none of
194
- * the FUSE mountpoints is nested below the HOME lower layer.
194
+ * Layout under <dataDir>/sandboxes/<sessionId>/: outbox, shimbin, and the
195
+ * landable proj-upper. When the project contains dataDir (notably cwd=HOME),
196
+ * proj-upper is a symlink to scratch under /var/tmp/botmux-sbx/<sessionId>/ so
197
+ * overlay upper/work never sit inside their own lower. Host-only merged
198
+ * mountpoints and the HOME overlay upper/work also live under that runtime root.
195
199
  */
196
200
  export declare function prepareSandbox(opts: {
197
201
  /** Whether the sandbox is on for THIS session (per-bot BotConfig.sandbox OR
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/sandbox.ts"],"names":[],"mappings":"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"}
@@ -23,9 +23,9 @@
23
23
  * sandbox-exec approach and is handled elsewhere.
24
24
  */
25
25
  import { homedir } from 'node:os';
26
- import { mkdirSync, existsSync, writeFileSync, chmodSync, readdirSync, readFileSync, rmSync, statSync, realpathSync, openSync, fstatSync, readSync, writeSync, closeSync, constants as fsConstants } from 'node:fs';
26
+ import { mkdirSync, existsSync, writeFileSync, chmodSync, readdirSync, readFileSync, rmSync, statSync, lstatSync, realpathSync, symlinkSync, unlinkSync, openSync, fstatSync, readSync, writeSync, closeSync, constants as fsConstants } from 'node:fs';
27
27
  import { atomicWriteFileSync } from '../../utils/atomic-write.js';
28
- import { join, dirname, relative, resolve } from 'node:path';
28
+ import { basename, isAbsolute, join, dirname, relative, resolve } from 'node:path';
29
29
  import { fileURLToPath } from 'node:url';
30
30
  import { spawn, spawnSync } from 'node:child_process';
31
31
  /** Host root for the HOME overlay's upper/work — MUST be OUTSIDE the home lower
@@ -153,7 +153,12 @@ export function buildSandboxArgs(plan) {
153
153
  // Fresh kernel/runtime dirs (the ro-bind of / would otherwise carry host /tmp etc.).
154
154
  a.push('--proc', '/proc', '--dev', '/dev', '--tmpfs', '/tmp', '--tmpfs', '/run', '--tmpfs', '/dev/shm');
155
155
  // Write-isolated home + project (overlay merged: reads=real lower, writes=upper).
156
- a.push('--bind', plan.homeMerged, plan.home);
156
+ // If cwd IS HOME, two binds to the same destination would make the later
157
+ // project bind silently shadow the home overlay. Use the project overlay as
158
+ // the single winning layer in that case.
159
+ if (plan.projectMount !== plan.home) {
160
+ a.push('--bind', plan.homeMerged, plan.home);
161
+ }
157
162
  a.push('--bind', plan.projectMerged, plan.projectMount);
158
163
  // CLI auth/login dirs kept REAL + writable (bind over the isolated home) so token
159
164
  // refresh / login persists. Narrow (auth only) keeps session history isolated;
@@ -275,6 +280,25 @@ function canonicalize(p) {
275
280
  return resolve(p);
276
281
  }
277
282
  }
283
+ /** Canonicalize through the deepest existing ancestor while preserving a
284
+ * possibly-missing tail. `realpathSync('/home-link/x/missing')` cannot resolve
285
+ * `/home-link`, so a lexical fallback would leave a bwrap destination under a
286
+ * symlink even though related mounts use the canonical home. */
287
+ function canonicalizeWithMissingTail(p) {
288
+ let cursor = resolve(p);
289
+ const tail = [];
290
+ while (true) {
291
+ try {
292
+ return join(realpathSync(cursor), ...tail);
293
+ }
294
+ catch { /* walk upward */ }
295
+ const parent = dirname(cursor);
296
+ if (parent === cursor)
297
+ return resolve(p);
298
+ tail.unshift(basename(cursor));
299
+ cursor = parent;
300
+ }
301
+ }
278
302
  /** bwrap cannot bind-mount over a symlink mount destination. Some hosts expose
279
303
  * $HOME through a symlink, so bind overlays — and set the child HOME env — at
280
304
  * canonical targets so the mount point always exists and $HOME resolves even
@@ -351,22 +375,44 @@ function distCliJs() {
351
375
  export function sandboxEnabled() {
352
376
  return process.env.BOTMUX_SANDBOX === '1';
353
377
  }
354
- /** The path where a sandboxed session's CLI actually writes a $HOME-relative
355
- * data dir (e.g. CLAUDE_CONFIG_DIR / `.claude-runtime`): the HOME overlay's
356
- * ephemeral UPPER copy. The worker redirects its jsonl/bridge watch here so it
357
- * sees the sandboxed CLI's writes (which are invisible at the real host path).
358
- * Mirrors prepareSandbox's homeUpper layout — keep in sync.
378
+ /** The host path where a sandboxed session actually writes a Claude-family
379
+ * data dir. Usually this is the HOME overlay upper. If the project mount is
380
+ * HOME (or otherwise contains the data dir), the later project overlay is the
381
+ * winning mount and the data lands in proj-upper instead.
359
382
  *
360
383
  * The home overlay is bound (and $HOME set) at the CANONICAL home, so copy-ups
361
384
  * land relative to that root. Compute the in-home relative path robustly whether
362
385
  * realDataDir arrives in symlink or canonical form: adapters build it from the
363
386
  * raw homedir() (so the raw base cancels cleanly in the common case), but a
364
- * canonicalized dataDir under a symlink home would escape home-upper via `..` —
365
- * fall back to the canonical base so it can't. */
366
- export function sandboxedClaudeDataDir(sessionId, realDataDir) {
367
- const raw = relative(homedir(), realDataDir);
368
- const rel = raw.startsWith('..') ? relative(resolveSandboxMountPath(homedir()), realDataDir) : raw;
369
- return join(VARTMP_ROOT, sessionId, 'home-upper', rel);
387
+ * canonicalized dataDir under a symlink home would otherwise escape via `..`.
388
+ * Data roots outside both HOME and the project are returned unchanged because
389
+ * neither overlay owns them (Claude read isolation normally relocates those
390
+ * roots into BOT_HOME before spawn). */
391
+ export function sandboxedClaudeDataDir(sessionId, realDataDir, context = {}) {
392
+ const relativeWithin = (root, target) => {
393
+ const rel = relative(root, target);
394
+ return rel === '' || (rel !== '..' && !rel.startsWith(`..${process.platform === 'win32' ? '\\' : '/'}`) && !isAbsolute(rel))
395
+ ? rel
396
+ : null;
397
+ };
398
+ const rawHome = homedir();
399
+ const home = resolveSandboxMountPath(rawHome);
400
+ const rawHomeRel = relativeWithin(rawHome, realDataDir);
401
+ const canonicalDataDir = rawHomeRel !== null
402
+ ? join(home, rawHomeRel)
403
+ : canonicalize(realDataDir);
404
+ if (context.sourceWorkingDir && context.dataDir) {
405
+ const projectMount = resolveSandboxMountPath(context.sourceWorkingDir);
406
+ const projectRel = relativeWithin(projectMount, canonicalDataDir);
407
+ if (projectRel !== null) {
408
+ return join(resolveSandboxMountPath(context.dataDir), 'sandboxes', sessionId, 'proj-upper', projectRel);
409
+ }
410
+ }
411
+ const homeRel = rawHomeRel ?? relativeWithin(home, canonicalDataDir);
412
+ if (homeRel !== null) {
413
+ return join(VARTMP_ROOT, sessionId, 'home-upper', homeRel);
414
+ }
415
+ return canonicalDataDir;
370
416
  }
371
417
  /** Credential roots that must never be readable inside the file sandbox.
372
418
  * Relay mode is the only credentialed send path; otherwise an agent could
@@ -403,10 +449,11 @@ export function localSandboxApplies(platform, backendType) {
403
449
  * is off / unsupported / a required overlay mount fails (fail-safe = the worker
404
450
  * treats null as a hard error and does NOT silently run unsandboxed).
405
451
  *
406
- * Layout under <dataDir>/sandboxes/<sessionId>/: outbox, shimbin, proj-upper
407
- * (the landable changeset), and proj-work. Host-only merged mountpoints plus the
408
- * HOME overlay upper/work live under /var/tmp/botmux-sbx/<sessionId>/ so none of
409
- * the FUSE mountpoints is nested below the HOME lower layer.
452
+ * Layout under <dataDir>/sandboxes/<sessionId>/: outbox, shimbin, and the
453
+ * landable proj-upper. When the project contains dataDir (notably cwd=HOME),
454
+ * proj-upper is a symlink to scratch under /var/tmp/botmux-sbx/<sessionId>/ so
455
+ * overlay upper/work never sit inside their own lower. Host-only merged
456
+ * mountpoints and the HOME overlay upper/work also live under that runtime root.
410
457
  */
411
458
  export function prepareSandbox(opts) {
412
459
  if (!opts.enabled)
@@ -425,8 +472,8 @@ export function prepareSandbox(opts) {
425
472
  const outbox = join(sessionRoot, 'outbox');
426
473
  const shimBin = join(sessionRoot, 'shimbin');
427
474
  const empties = join(sessionRoot, 'empties');
428
- const projUpper = join(sessionRoot, 'proj-upper'); // THE LANDABLE CHANGESET
429
- const projWork = join(sessionRoot, 'proj-work');
475
+ const landingProjUpper = join(sessionRoot, 'proj-upper'); // stable /land path
476
+ const landingProjWork = join(sessionRoot, 'proj-work');
430
477
  const projMerged = overlayPaths.projectMerged;
431
478
  const homeMerged = overlayPaths.homeMerged;
432
479
  // HOME overlay upper/work and both merged mountpoints MUST be outside HOME.
@@ -447,18 +494,101 @@ export function prepareSandbox(opts) {
447
494
  // BOTMUX_SANDBOX_SRC overrides the LOWER project source for spike testing only.
448
495
  const projectSource = resolveSandboxMountPath(process.env.BOTMUX_SANDBOX_SRC || opts.sourceWorkingDir);
449
496
  const projectMount = resolveSandboxMountPath(opts.sourceWorkingDir);
497
+ const projectSharesHome = projectMount === home;
450
498
  // A same-session re-spawn (e.g. in-pane /clear) re-enters here; unmount any
451
499
  // stale merged overlays first so we don't stack a second mount on the same dir.
452
500
  unmountSandboxOverlays(overlayPaths);
453
- // Mount the HOME overlay (lower=real home reads pass through, writes isolate).
454
- const homeOk = mountOverlay({ lower: home, upper: homeUpper, work: homeWork, merged: homeMerged });
455
- if (!homeOk) {
456
- return null; // fail-safe: no silent unsandboxed run
501
+ // overlayfs/fuse-overlayfs upper+work must not live inside lower. The normal
502
+ // project layout keeps them under dataDir, but cwd=HOME makes dataDir a child
503
+ // of the project lower. Put the actual scratch outside HOME and leave a
504
+ // host-only symlink at the stable /land path. Preserve an old real directory
505
+ // on same-session upgrade so an existing changeset is never discarded.
506
+ let projUpper = landingProjUpper;
507
+ let projWork = landingProjWork;
508
+ if (coversRoot(projectSource, dataDir)) {
509
+ const externalUpper = join(vartmp, 'proj-upper');
510
+ const externalWork = join(vartmp, 'proj-work');
511
+ if (coversRoot(projectSource, vartmp)) {
512
+ console.error(`[sandbox] cannot place project overlay scratch outside lower ${projectSource}`);
513
+ return null;
514
+ }
515
+ let existing = null;
516
+ try {
517
+ existing = lstatSync(landingProjUpper);
518
+ }
519
+ catch { /* first spawn */ }
520
+ if (existing?.isSymbolicLink()) {
521
+ mkdirSync(externalUpper, { recursive: true });
522
+ let linked = '';
523
+ try {
524
+ linked = realpathSync(landingProjUpper);
525
+ }
526
+ catch { /* broken link */ }
527
+ if (linked && linked !== realpathSync(externalUpper)) {
528
+ console.error(`[sandbox] refusing unexpected proj-upper symlink target: ${linked}`);
529
+ return null;
530
+ }
531
+ if (!linked) {
532
+ try {
533
+ unlinkSync(landingProjUpper);
534
+ }
535
+ catch {
536
+ return null;
537
+ }
538
+ symlinkSync(externalUpper, landingProjUpper, 'dir');
539
+ }
540
+ projUpper = externalUpper;
541
+ projWork = externalWork;
542
+ }
543
+ else if (!existing) {
544
+ mkdirSync(externalUpper, { recursive: true });
545
+ symlinkSync(externalUpper, landingProjUpper, 'dir');
546
+ projUpper = externalUpper;
547
+ projWork = externalWork;
548
+ }
549
+ else {
550
+ // Upgrade compatibility: an EMPTY pre-fix upper has no changes to save,
551
+ // so convert it in place. A non-empty one may contain whiteouts/xattrs
552
+ // that cannot be copied losslessly across filesystems; fail safe and keep
553
+ // it untouched rather than reintroducing a recursive in-lower overlay.
554
+ let entries = null;
555
+ try {
556
+ entries = readdirSync(landingProjUpper);
557
+ }
558
+ catch { /* not a readable dir */ }
559
+ if (entries?.length === 0) {
560
+ try {
561
+ rmSync(landingProjUpper, { recursive: true, force: true });
562
+ rmSync(landingProjWork, { recursive: true, force: true });
563
+ mkdirSync(externalUpper, { recursive: true });
564
+ symlinkSync(externalUpper, landingProjUpper, 'dir');
565
+ projUpper = externalUpper;
566
+ projWork = externalWork;
567
+ }
568
+ catch {
569
+ return null;
570
+ }
571
+ }
572
+ else {
573
+ console.error(`[sandbox] refusing legacy in-lower proj-upper with pending changes for session ${opts.sessionId}; land or back up the changeset before restarting`);
574
+ return null;
575
+ }
576
+ }
577
+ }
578
+ // Mount the HOME overlay unless the project itself is HOME. In that overlap
579
+ // case the project overlay is the single layer bound at HOME; mounting a
580
+ // second home overlay would only waste a FUSE mount before being shadowed.
581
+ if (!projectSharesHome) {
582
+ const homeOk = mountOverlay({ lower: home, upper: homeUpper, work: homeWork, merged: homeMerged });
583
+ if (!homeOk) {
584
+ return null; // fail-safe: no silent unsandboxed run
585
+ }
457
586
  }
458
587
  // Mount the PROJECT overlay. proj-upper = the landable changeset.
459
588
  const projOk = mountOverlay({ lower: projectSource, upper: projUpper, work: projWork, merged: projMerged });
460
589
  if (!projOk) {
461
- unmountOverlay(homeMerged);
590
+ if (!projectSharesHome)
591
+ unmountOverlay(homeMerged);
462
592
  return null; // fail-safe
463
593
  }
464
594
  // Record the project LOWER source so landing can tell a wholesale-REPLACED dir
@@ -475,7 +605,10 @@ export function prepareSandbox(opts) {
475
605
  writeFileSync(shim, `#!/bin/sh\nexec node ${JSON.stringify(distCliJs())} "$@"\n`);
476
606
  chmodSync(shim, 0o755);
477
607
  // Credential masks are mandatory; per-bot privacy masks extend them.
478
- // Existing dirs → tmpfs blank; everything else → empty read-only placeholder.
608
+ // Existing dirs → tmpfs blank; files → empty read-only placeholder. A missing
609
+ // path that contains another requested mask must also be a directory: mounting
610
+ // it as an empty file makes a later child mount fail with ENOTDIR (for example
611
+ // a missing ~/.lark-cli-bots plus ~/.lark-cli-bots/<sibling>).
479
612
  // `~` resolves like the docs' examples (`~/.ssh`) — an unexpanded tilde would
480
613
  // fail existsSync and mask a literal `~/...` path, leaving the real one readable.
481
614
  const hideDirs = [];
@@ -492,48 +625,42 @@ export function prepareSandbox(opts) {
492
625
  ...sandboxCredentialHidePaths(home, botmuxHome),
493
626
  ...(customBotsConfig ? [resolve(customBotsConfig)] : []),
494
627
  ];
495
- for (const raw of [...credentialPaths, ...(opts.hidePaths ?? [])]) {
496
- if (!raw || typeof raw !== 'string')
497
- continue;
498
- const p = expandTilde(raw, home);
499
- let isDir = false;
500
- try {
501
- isDir = existsSync(p) && statSync(p).isDirectory();
502
- }
503
- catch { /* */ }
504
- if (isDir) {
505
- hideDirs.push(p);
506
- }
507
- else {
508
- const empty = join(empties, `mask-${emptyIdx++}`);
628
+ const classifyMasks = (rawPaths, dirs, files) => {
629
+ const paths = [...new Set(rawPaths
630
+ .filter((raw) => typeof raw === 'string' && raw.length > 0)
631
+ .map(raw => canonicalizeWithMissingTail(expandTilde(raw, home))))];
632
+ const hasMaskedDescendant = (parent) => paths.some(candidate => {
633
+ if (candidate === parent)
634
+ return false;
635
+ const rel = relative(resolve(parent), resolve(candidate));
636
+ return rel !== ''
637
+ && rel !== '..'
638
+ && !rel.startsWith(`..${process.platform === 'win32' ? '\\' : '/'}`)
639
+ && !isAbsolute(rel);
640
+ });
641
+ for (const p of paths) {
642
+ let isDir = false;
509
643
  try {
510
- writeFileSync(empty, '');
644
+ isDir = existsSync(p) ? statSync(p).isDirectory() : hasMaskedDescendant(p);
511
645
  }
512
- catch { /* */ }
513
- hideFiles.push({ path: p, empty });
514
- }
515
- }
516
- for (const raw of opts.finalHidePaths ?? []) {
517
- if (!raw || typeof raw !== 'string')
518
- continue;
519
- const p = expandTilde(raw, home);
520
- let isDir = false;
521
- try {
522
- isDir = existsSync(p) && statSync(p).isDirectory();
523
- }
524
- catch { /* */ }
525
- if (isDir) {
526
- finalHideDirs.push(p);
527
- }
528
- else {
529
- const empty = join(empties, `mask-${emptyIdx++}`);
530
- try {
531
- writeFileSync(empty, '');
646
+ catch {
647
+ isDir = hasMaskedDescendant(p);
648
+ }
649
+ if (isDir) {
650
+ dirs.push(p);
651
+ }
652
+ else {
653
+ const empty = join(empties, `mask-${emptyIdx++}`);
654
+ try {
655
+ writeFileSync(empty, '');
656
+ }
657
+ catch { /* */ }
658
+ files.push({ path: p, empty });
532
659
  }
533
- catch { /* */ }
534
- finalHideFiles.push({ path: p, empty });
535
660
  }
536
- }
661
+ };
662
+ classifyMasks([...credentialPaths, ...(opts.hidePaths ?? [])], hideDirs, hideFiles);
663
+ classifyMasks(opts.finalHidePaths ?? [], finalHideDirs, finalHideFiles);
537
664
  // CLI auth/login paths kept real+writable (token refresh / login must persist,
538
665
  // unlike isolated project edits). Resolve `~` and bind only existing paths — a
539
666
  // missing auth file isn't a valid mountpoint (the CLI must be logged in on the
@@ -610,7 +737,7 @@ export function prepareSandbox(opts) {
610
737
  args,
611
738
  env,
612
739
  outbox,
613
- workDir: projUpper,
740
+ workDir: landingProjUpper,
614
741
  homeUpper,
615
742
  cleanup: () => {
616
743
  unmountSandboxOverlays(overlayPaths);
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/adapters/backend/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/adapters/backend/sandbox.ts"],"names":[],"mappings":"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"}