botmux 3.18.0-canary.3 → 3.18.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 (286) hide show
  1. package/README.en.md +33 -1
  2. package/README.md +36 -2
  3. package/dist/.runtime-build-id +1 -1
  4. package/dist/adapters/backend/session-backend-selector.d.ts +11 -0
  5. package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
  6. package/dist/adapters/backend/session-backend-selector.js +27 -2
  7. package/dist/adapters/backend/session-backend-selector.js.map +1 -1
  8. package/dist/adapters/backend/zellij-backend.d.ts +33 -1
  9. package/dist/adapters/backend/zellij-backend.d.ts.map +1 -1
  10. package/dist/adapters/backend/zellij-backend.js +97 -15
  11. package/dist/adapters/backend/zellij-backend.js.map +1 -1
  12. package/dist/adapters/cli/codex-app.d.ts.map +1 -1
  13. package/dist/adapters/cli/codex-app.js +16 -4
  14. package/dist/adapters/cli/codex-app.js.map +1 -1
  15. package/dist/adapters/cli/dsh.d.ts.map +1 -1
  16. package/dist/adapters/cli/dsh.js +8 -6
  17. package/dist/adapters/cli/dsh.js.map +1 -1
  18. package/dist/adapters/cli/ebsd-input.d.ts +16 -0
  19. package/dist/adapters/cli/ebsd-input.d.ts.map +1 -0
  20. package/dist/adapters/cli/ebsd-input.js +119 -0
  21. package/dist/adapters/cli/ebsd-input.js.map +1 -0
  22. package/dist/adapters/cli/ebsd.d.ts +8 -0
  23. package/dist/adapters/cli/ebsd.d.ts.map +1 -0
  24. package/dist/adapters/cli/ebsd.js +94 -0
  25. package/dist/adapters/cli/ebsd.js.map +1 -0
  26. package/dist/adapters/cli/fs-policy.d.ts +6 -0
  27. package/dist/adapters/cli/fs-policy.d.ts.map +1 -1
  28. package/dist/adapters/cli/fs-policy.js +20 -3
  29. package/dist/adapters/cli/fs-policy.js.map +1 -1
  30. package/dist/adapters/cli/mir.d.ts.map +1 -1
  31. package/dist/adapters/cli/mir.js +17 -2
  32. package/dist/adapters/cli/mir.js.map +1 -1
  33. package/dist/adapters/cli/read-isolation.d.ts +11 -0
  34. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  35. package/dist/adapters/cli/read-isolation.js +10 -0
  36. package/dist/adapters/cli/read-isolation.js.map +1 -1
  37. package/dist/adapters/cli/registry.d.ts +25 -1
  38. package/dist/adapters/cli/registry.d.ts.map +1 -1
  39. package/dist/adapters/cli/registry.js +36 -2
  40. package/dist/adapters/cli/registry.js.map +1 -1
  41. package/dist/adapters/cli/service-secret-files.d.ts +4 -0
  42. package/dist/adapters/cli/service-secret-files.d.ts.map +1 -0
  43. package/dist/adapters/cli/service-secret-files.js +28 -0
  44. package/dist/adapters/cli/service-secret-files.js.map +1 -0
  45. package/dist/adapters/cli/traex.d.ts.map +1 -1
  46. package/dist/adapters/cli/traex.js +3 -1
  47. package/dist/adapters/cli/traex.js.map +1 -1
  48. package/dist/adapters/cli/types.d.ts +21 -4
  49. package/dist/adapters/cli/types.d.ts.map +1 -1
  50. package/dist/bot-registry.d.ts +35 -1
  51. package/dist/bot-registry.d.ts.map +1 -1
  52. package/dist/bot-registry.js +5 -0
  53. package/dist/bot-registry.js.map +1 -1
  54. package/dist/cli/capabilities.d.ts +1 -0
  55. package/dist/cli/capabilities.d.ts.map +1 -1
  56. package/dist/cli/capabilities.js +1 -0
  57. package/dist/cli/capabilities.js.map +1 -1
  58. package/dist/cli/card-dispatch.d.ts +93 -0
  59. package/dist/cli/card-dispatch.d.ts.map +1 -0
  60. package/dist/cli/card-dispatch.js +219 -0
  61. package/dist/cli/card-dispatch.js.map +1 -0
  62. package/dist/cli/current-actor.d.ts +40 -0
  63. package/dist/cli/current-actor.d.ts.map +1 -0
  64. package/dist/cli/current-actor.js +163 -0
  65. package/dist/cli/current-actor.js.map +1 -0
  66. package/dist/cli/session-list-wake.d.ts.map +1 -1
  67. package/dist/cli/session-list-wake.js +11 -1
  68. package/dist/cli/session-list-wake.js.map +1 -1
  69. package/dist/cli.d.ts.map +1 -1
  70. package/dist/cli.js +149 -19
  71. package/dist/cli.js.map +1 -1
  72. package/dist/core/command-handler.d.ts.map +1 -1
  73. package/dist/core/command-handler.js +161 -21
  74. package/dist/core/command-handler.js.map +1 -1
  75. package/dist/core/current-actor-attestation.d.ts +38 -0
  76. package/dist/core/current-actor-attestation.d.ts.map +1 -0
  77. package/dist/core/current-actor-attestation.js +239 -0
  78. package/dist/core/current-actor-attestation.js.map +1 -0
  79. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  80. package/dist/core/dashboard-ipc-server.js +82 -0
  81. package/dist/core/dashboard-ipc-server.js.map +1 -1
  82. package/dist/core/legacy-pm2-reaper.d.ts.map +1 -1
  83. package/dist/core/legacy-pm2-reaper.js +43 -19
  84. package/dist/core/legacy-pm2-reaper.js.map +1 -1
  85. package/dist/core/passthrough-commands.d.ts.map +1 -1
  86. package/dist/core/passthrough-commands.js +1 -1
  87. package/dist/core/passthrough-commands.js.map +1 -1
  88. package/dist/core/per-bot-env.d.ts +5 -4
  89. package/dist/core/per-bot-env.d.ts.map +1 -1
  90. package/dist/core/per-bot-env.js +5 -4
  91. package/dist/core/per-bot-env.js.map +1 -1
  92. package/dist/core/session-manager.d.ts +13 -3
  93. package/dist/core/session-manager.d.ts.map +1 -1
  94. package/dist/core/session-manager.js +62 -18
  95. package/dist/core/session-manager.js.map +1 -1
  96. package/dist/core/trigger-session.js +3 -3
  97. package/dist/core/trigger-session.js.map +1 -1
  98. package/dist/core/types.d.ts +38 -0
  99. package/dist/core/types.d.ts.map +1 -1
  100. package/dist/core/types.js.map +1 -1
  101. package/dist/core/worker-pool.d.ts +46 -0
  102. package/dist/core/worker-pool.d.ts.map +1 -1
  103. package/dist/core/worker-pool.js +205 -23
  104. package/dist/core/worker-pool.js.map +1 -1
  105. package/dist/daemon.d.ts.map +1 -1
  106. package/dist/daemon.js +80 -29
  107. package/dist/daemon.js.map +1 -1
  108. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  109. package/dist/dashboard/bot-onboarding.js +4 -0
  110. package/dist/dashboard/bot-onboarding.js.map +1 -1
  111. package/dist/dashboard/bot-payload.d.ts +2 -0
  112. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  113. package/dist/dashboard/bot-payload.js +2 -0
  114. package/dist/dashboard/bot-payload.js.map +1 -1
  115. package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts +12 -0
  116. package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts.map +1 -1
  117. package/dist/dashboard/web/agent-workbench-appearance-menu.js.map +1 -1
  118. package/dist/dashboard/web/agent-workbench-dock-page.d.ts.map +1 -1
  119. package/dist/dashboard/web/agent-workbench-dock-page.js.map +1 -1
  120. package/dist/dashboard/web/agent-workbench-dock-view.d.ts +2 -1
  121. package/dist/dashboard/web/agent-workbench-dock-view.d.ts.map +1 -1
  122. package/dist/dashboard/web/agent-workbench-dock-view.js.map +1 -1
  123. package/dist/dashboard/web/agent-workbench-page.d.ts.map +1 -1
  124. package/dist/dashboard/web/agent-workbench-page.js.map +1 -1
  125. package/dist/dashboard/web/agent-workbench-panes.d.ts +6 -5
  126. package/dist/dashboard/web/agent-workbench-panes.d.ts.map +1 -1
  127. package/dist/dashboard/web/agent-workbench-panes.js.map +1 -1
  128. package/dist/dashboard/web/agent-workbench-session-list.d.ts +2 -1
  129. package/dist/dashboard/web/agent-workbench-session-list.d.ts.map +1 -1
  130. package/dist/dashboard/web/agent-workbench-session-list.js.map +1 -1
  131. package/dist/dashboard/web/agent-workbench-view.d.ts +2 -1
  132. package/dist/dashboard/web/agent-workbench-view.d.ts.map +1 -1
  133. package/dist/dashboard/web/agent-workbench-view.js.map +1 -1
  134. package/dist/dashboard/web/app.js +1 -1
  135. package/dist/dashboard/web/app.js.map +1 -1
  136. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  137. package/dist/dashboard/web/bot-defaults-page.js +75 -7
  138. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  139. package/dist/dashboard/web/bot-defaults.d.ts +4 -0
  140. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  141. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  142. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  143. package/dist/dashboard/web/i18n.js +24 -2
  144. package/dist/dashboard/web/i18n.js.map +1 -1
  145. package/dist/dashboard/web/settings-page.js +1 -1
  146. package/dist/dashboard/web/settings-page.js.map +1 -1
  147. package/dist/dashboard-web/app.js +1 -1
  148. package/dist/dashboard-web/chunks/{agent-workbench-dock-page-AU635LGA.js → agent-workbench-dock-page-XHJUYFGN.js} +1 -1
  149. package/dist/dashboard-web/chunks/{agent-workbench-page-TLMWB7FH.js → agent-workbench-page-FLKTLIRM.js} +1 -1
  150. package/dist/dashboard-web/chunks/{bot-defaults-page-IFXF4G5N.js → bot-defaults-page-XMGLZZ2E.js} +1 -1
  151. package/dist/dashboard-web/chunks/chunk-3YZFAHNK.js +25 -0
  152. package/dist/dashboard-web/chunks/{chunk-YUJF34ME.js → chunk-6RLYYCVH.js} +1 -1
  153. package/dist/dashboard-web/chunks/chunk-75LEPNN3.js +16 -0
  154. package/dist/dashboard-web/chunks/{chunk-XVIXNQGC.js → chunk-ARROO6TE.js} +2 -2
  155. package/dist/dashboard-web/chunks/{chunk-T3NIPFCO.js → chunk-BU3Q6XC6.js} +4 -4
  156. package/dist/dashboard-web/chunks/{chunk-OT6L6G7R.js → chunk-CEUCNZFJ.js} +1 -1
  157. package/dist/dashboard-web/chunks/{chunk-SRZUE3QJ.js → chunk-ECFC7UG2.js} +1 -1
  158. package/dist/dashboard-web/chunks/chunk-NJCJR3U2.js +10 -0
  159. package/dist/dashboard-web/chunks/{chunk-5QX4OYOR.js → chunk-NYY66DNC.js} +1 -1
  160. package/dist/dashboard-web/chunks/{chunk-SOBMN2VY.js → chunk-OXSVWLER.js} +1 -1
  161. package/dist/dashboard-web/chunks/{chunk-6ICNN2D4.js → chunk-TLG45URB.js} +1 -1
  162. package/dist/dashboard-web/chunks/{chunk-2A52CWLR.js → chunk-Z67OSM5P.js} +1 -1
  163. package/dist/dashboard-web/chunks/{connectors-page-RQ3M4PV3.js → connectors-page-WDM4CEAU.js} +1 -1
  164. package/dist/dashboard-web/chunks/{customization-page-4GXBYLG6.js → customization-page-VQJAEDZY.js} +1 -1
  165. package/dist/dashboard-web/chunks/{feedback-page-EKEHILFU.js → feedback-page-GMJ4FLJ4.js} +1 -1
  166. package/dist/dashboard-web/chunks/{groups-page-FYY7MZLV.js → groups-page-L4ZJNWVR.js} +1 -1
  167. package/dist/dashboard-web/chunks/{insights-page-CJL66736.js → insights-page-7LUJU2CX.js} +1 -1
  168. package/dist/dashboard-web/chunks/{monitor-room-33PC5CMP.js → monitor-room-7LZUJQPF.js} +1 -1
  169. package/dist/dashboard-web/chunks/{monitoring-page-ETGKRCLH.js → monitoring-page-AUSXMPYO.js} +1 -1
  170. package/dist/dashboard-web/chunks/{office-page-BGHKFQZ3.js → office-page-6ZU6MAZN.js} +1 -1
  171. package/dist/dashboard-web/chunks/{overview-page-7DH6AGPG.js → overview-page-QBC5CIYH.js} +1 -1
  172. package/dist/dashboard-web/chunks/{plugin-page-JX4GSWZS.js → plugin-page-AKQZFAC4.js} +1 -1
  173. package/dist/dashboard-web/chunks/{roles-page-76MAPWGN.js → roles-page-QO3YCA7D.js} +1 -1
  174. package/dist/dashboard-web/chunks/{schedules-page-MR5YSGUL.js → schedules-page-YNGSKDQW.js} +1 -1
  175. package/dist/dashboard-web/chunks/{sessions-page-I77CYUBD.js → sessions-page-BWR4UB6X.js} +1 -1
  176. package/dist/dashboard-web/chunks/{settings-page-6KWFM7NI.js → settings-page-2IRIS3FP.js} +1 -1
  177. package/dist/dashboard-web/chunks/{skills-page-BIRXIN5A.js → skills-page-5RZPM6HJ.js} +1 -1
  178. package/dist/dashboard-web/chunks/{team-federation-page-42A3TJXS.js → team-federation-page-KERG6LKC.js} +1 -1
  179. package/dist/dashboard-web/chunks/{v3-page-BRXQDUMO.js → v3-page-766CBD7H.js} +1 -1
  180. package/dist/dashboard-web/chunks/{whiteboards-page-WOYRB6QM.js → whiteboards-page-2M6XZD5C.js} +1 -1
  181. package/dist/dashboard.js +18 -1
  182. package/dist/dashboard.js.map +1 -1
  183. package/dist/dsh-runner.js +10 -5
  184. package/dist/dsh-runner.js.map +1 -1
  185. package/dist/global-config.d.ts +15 -15
  186. package/dist/global-config.js +8 -8
  187. package/dist/global-config.js.map +1 -1
  188. package/dist/i18n/en.d.ts.map +1 -1
  189. package/dist/i18n/en.js +3 -0
  190. package/dist/i18n/en.js.map +1 -1
  191. package/dist/i18n/zh.d.ts.map +1 -1
  192. package/dist/i18n/zh.js +3 -0
  193. package/dist/i18n/zh.js.map +1 -1
  194. package/dist/im/lark/card-builder.d.ts +1 -1
  195. package/dist/im/lark/card-builder.d.ts.map +1 -1
  196. package/dist/im/lark/card-builder.js +8 -4
  197. package/dist/im/lark/card-builder.js.map +1 -1
  198. package/dist/im/lark/card-handler.d.ts.map +1 -1
  199. package/dist/im/lark/card-handler.js +8 -8
  200. package/dist/im/lark/card-handler.js.map +1 -1
  201. package/dist/im/lark/cot-message.d.ts.map +1 -1
  202. package/dist/im/lark/cot-message.js +56 -7
  203. package/dist/im/lark/cot-message.js.map +1 -1
  204. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  205. package/dist/im/lark/event-dispatcher.js +52 -9
  206. package/dist/im/lark/event-dispatcher.js.map +1 -1
  207. package/dist/im/lark/identity-cache.d.ts +12 -0
  208. package/dist/im/lark/identity-cache.d.ts.map +1 -1
  209. package/dist/im/lark/identity-cache.js +36 -0
  210. package/dist/im/lark/identity-cache.js.map +1 -1
  211. package/dist/platform/tunnel-client.d.ts.map +1 -1
  212. package/dist/platform/tunnel-client.js +4 -0
  213. package/dist/platform/tunnel-client.js.map +1 -1
  214. package/dist/services/bot-config-store.d.ts.map +1 -1
  215. package/dist/services/bot-config-store.js +44 -0
  216. package/dist/services/bot-config-store.js.map +1 -1
  217. package/dist/services/card-prefs-store.d.ts +5 -0
  218. package/dist/services/card-prefs-store.d.ts.map +1 -1
  219. package/dist/services/card-prefs-store.js +12 -0
  220. package/dist/services/card-prefs-store.js.map +1 -1
  221. package/dist/services/codex-auth-sync.d.ts +10 -0
  222. package/dist/services/codex-auth-sync.d.ts.map +1 -0
  223. package/dist/services/codex-auth-sync.js +101 -0
  224. package/dist/services/codex-auth-sync.js.map +1 -0
  225. package/dist/services/codex-reasoning-effort.d.ts +2 -0
  226. package/dist/services/codex-reasoning-effort.d.ts.map +1 -1
  227. package/dist/services/codex-reasoning-effort.js +34 -1
  228. package/dist/services/codex-reasoning-effort.js.map +1 -1
  229. package/dist/services/ebsd-transcript.d.ts +13 -0
  230. package/dist/services/ebsd-transcript.d.ts.map +1 -0
  231. package/dist/services/ebsd-transcript.js +158 -0
  232. package/dist/services/ebsd-transcript.js.map +1 -0
  233. package/dist/services/file-bridge-path.d.ts.map +1 -1
  234. package/dist/services/file-bridge-path.js +3 -0
  235. package/dist/services/file-bridge-path.js.map +1 -1
  236. package/dist/services/resumable-session-discovery.d.ts.map +1 -1
  237. package/dist/services/resumable-session-discovery.js +117 -0
  238. package/dist/services/resumable-session-discovery.js.map +1 -1
  239. package/dist/services/session-store.d.ts +76 -45
  240. package/dist/services/session-store.d.ts.map +1 -1
  241. package/dist/services/session-store.js +990 -248
  242. package/dist/services/session-store.js.map +1 -1
  243. package/dist/services/sqlite-compat.d.ts +29 -4
  244. package/dist/services/sqlite-compat.d.ts.map +1 -1
  245. package/dist/services/sqlite-compat.js +56 -13
  246. package/dist/services/sqlite-compat.js.map +1 -1
  247. package/dist/services/structured-bridge-clis.d.ts +5 -3
  248. package/dist/services/structured-bridge-clis.d.ts.map +1 -1
  249. package/dist/services/structured-bridge-clis.js +5 -1
  250. package/dist/services/structured-bridge-clis.js.map +1 -1
  251. package/dist/services/trigger-types.d.ts +1 -1
  252. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  253. package/dist/setup/bot-config-editor.js +2 -0
  254. package/dist/setup/bot-config-editor.js.map +1 -1
  255. package/dist/setup/open-platform-automation.d.ts +144 -0
  256. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  257. package/dist/setup/open-platform-automation.js +300 -1
  258. package/dist/setup/open-platform-automation.js.map +1 -1
  259. package/dist/skills/definitions.d.ts.map +1 -1
  260. package/dist/skills/definitions.js +27 -1
  261. package/dist/skills/definitions.js.map +1 -1
  262. package/dist/types.d.ts +20 -2
  263. package/dist/types.d.ts.map +1 -1
  264. package/dist/utils/child-env.d.ts +1 -1
  265. package/dist/utils/child-env.d.ts.map +1 -1
  266. package/dist/utils/child-env.js +9 -0
  267. package/dist/utils/child-env.js.map +1 -1
  268. package/dist/utils/executable.d.ts.map +1 -1
  269. package/dist/utils/executable.js +7 -1
  270. package/dist/utils/executable.js.map +1 -1
  271. package/dist/utils/local-dev-update.d.ts +1 -1
  272. package/dist/utils/local-dev-update.js +1 -1
  273. package/dist/utils/screenshot-renderer.d.ts +7 -2
  274. package/dist/utils/screenshot-renderer.d.ts.map +1 -1
  275. package/dist/utils/screenshot-renderer.js +8 -3
  276. package/dist/utils/screenshot-renderer.js.map +1 -1
  277. package/dist/utils/transient-snapshot.js +1 -1
  278. package/dist/utils/transient-snapshot.js.map +1 -1
  279. package/dist/worker.js +201 -46
  280. package/dist/worker.js.map +1 -1
  281. package/dist/workflows/events/schema.d.ts +140 -140
  282. package/package.json +22 -25
  283. package/scripts/postinstall-bin.mjs +87 -17
  284. package/dist/dashboard-web/chunks/chunk-6ROOZWYV.js +0 -16
  285. package/dist/dashboard-web/chunks/chunk-CVNIMUPY.js +0 -25
  286. package/dist/dashboard-web/chunks/chunk-HJJQDUCE.js +0 -10
package/README.en.md CHANGED
@@ -62,10 +62,42 @@ More: [Roles & teams](https://deepcoldy.github.io/botmux/en/roles) · [File sand
62
62
 
63
63
  Switch with `cliId` in `bots.json`. **20+ adapters**, spanning local CLIs (process-isolated, reachable via `tmux attach`) and API / cloud agents (e.g. Mira, riff — reached over API / remote, not a local process; mojo is API-driven but executes tools on the bot host by default, set cloud: true for the remote sandbox). Representative ones:
64
64
 
65
- `claude-code` · `codex` · `gemini` · `cursor` · `opencode` · `opencode2` · `antigravity` · `copilot` · `grok` · `kimi` · `kiro-cli` · `reasonix` · `dsh` · `aiden` · `coco` (TRAE) · `hermes` · `mira` · `riff` (cloud agent) … · `mojo` (API-driven, host execution by default) …
65
+ `claude-code` · `codex` · `gemini` · `cursor` · `opencode` · `opencode2` · `antigravity` · `copilot` · `grok` · `kimi` · `kiro-cli` · `reasonix` · `dsh` · `aiden` · `coco` (TRAE) · `hermes` · `ebsd` · `mira` · `riff` (cloud agent) … · `mojo` (API-driven, host execution by default) …
66
+
67
+ The `ebsd` adapter uses a dedicated external service identity and native OMP session storage. Operators must provide the Diag Gateway token and ByteCloud service account through permission-restricted files, never through `bots.json`.
68
+
69
+ Store only non-secret metadata and credential file paths in `bots.json`:
70
+
71
+ ```json
72
+ {
73
+ "cliId": "ebsd",
74
+ "workingDir": "/var/lib/botmux/ebsd-work",
75
+ "sandbox": true,
76
+ "env": {
77
+ "EBSD_BOTMUX_DIAG_ENDPOINT": "https://ebsbot.example",
78
+ "EBSD_BOTMUX_DIAG_TOKEN_FILE": "/run/secrets/ebsd-botmux/diag-token",
79
+ "EBSD_BOTMUX_BYTECLOUD_ACCESS_KEY_FILE": "/run/secrets/ebsd-botmux/bytecloud-ak",
80
+ "EBSD_BOTMUX_BYTECLOUD_SECRET_KEY_FILE": "/run/secrets/ebsd-botmux/bytecloud-sk",
81
+ "EBSD_BOTMUX_SUBJECT": "botmux-ebsd@prod",
82
+ "EBSD_BOTMUX_REPOSITORY_ROOT": "/srv/repos"
83
+ }
84
+ }
85
+ ```
86
+
87
+ The three credential files must be owner-held `0600` regular files, not symlinks. Never put their contents, the AK/SK, or the Gateway token in `bots.json`. Use a dedicated empty `workingDir`; repositories are exposed separately through the read-only `EBSD_BOTMUX_REPOSITORY_ROOT`. Linux hosts need bubblewrap before enabling `sandbox`, and startup fails closed if isolation cannot be established. The Gateway may accept current and previous keys during rotation while the subject remains stable.
66
88
 
67
89
  The current full set of `cliId`s is authoritative in [`src/adapters/cli/registry.ts`](https://github.com/deepcoldy/botmux/blob/master/src/adapters/cli/registry.ts); per-CLI config and wrapper / gateway setups are in [CLI Adapters](https://deepcoldy.github.io/botmux/en/adapters).
68
90
 
91
+ ### Session-level CLI selection
92
+
93
+ Before a session starts, select a registered CLI for that session with `/cli <cliId>`, for example:
94
+
95
+ ```text
96
+ /cli codex
97
+ ```
98
+
99
+ This switches only the bare CLI adapter. It does not inherit the bot's `wrapperCli`, `model`, or `startupCommands`. CLIs that require a `ttadk`, `aiden`, or other wrapper / gateway setup should therefore remain configured as the bot's default wrapper combination. Once the session starts, the CLI selection is frozen and is reused for later messages and restores.
100
+
69
101
  ## Design Philosophy: Bridge the CLI Directly, No SDK Wrapper
70
102
 
71
103
  botmux doesn't reimplement memory, context management, tool calls, or permission systems — **most native CLI capabilities don't need reimplementing, and CLI upgrades usually benefit botmux directly** (when interfaces / params / output formats / resume semantics change, an adapter may still need to catch up). You keep talking in plain language; the daemon wraps context into structured prompts behind the scenes before feeding the CLI. An Agent-SDK-based approach is the inverse: capabilities depend on what the SDK exposes and on your own integration.
package/README.md CHANGED
@@ -45,6 +45,8 @@ botmux start # 启动 daemon(botmux autostart enable 设开机
45
45
  ```
46
46
 
47
47
  > npm 包内已经带了对应平台的**自包含二进制**(按 os/arch 只装匹配的那一个),安装时会把 `~/.botmux/bin/botmux` 指向它。所以装完只有**一个** botmux 版本,不再出现「装了两个 Node 版本、各自带一份全局 botmux 互相打架 / 不知道更新了哪个」。把 `~/.botmux/bin` 放进 PATH 即可(安装日志会提示命令)。
48
+ >
49
+ > 安装过程**不编译任何原生模块**(不需要 Python / node-gyp / 编译器):要跑的 PTY 已经嵌在那个二进制里,npm 只是把它放到位。支持 linux / macOS × x64 / arm64;**Windows 请在 WSL2 里安装**(WSL 报告为 linux,是完整支持的一等环境)。不在支持列表里的平台会在安装时**明确报错**,而不是装上一个跑不起来的命令。
48
50
 
49
51
  <details>
50
52
  <summary>不想装 Node?直接下单文件可执行(连装包都不需要 Node)</summary>
@@ -57,7 +59,7 @@ botmux setup
57
59
  botmux start
58
60
  ```
59
61
 
60
- 装到 `~/.botmux/bin/botmux`(`BOTMUX_INSTALL_DIR` 可改),自动按 OS/arch 拉对应二进制并校验 SHA-256。命令用法与 npm 版完全一致。Windows 仍走 `npm i -g botmux`(daemon Unix-only)。
62
+ 装到 `~/.botmux/bin/botmux`(`BOTMUX_INSTALL_DIR` 可改),自动按 OS/arch 拉对应二进制并校验 SHA-256。命令用法与 npm 版完全一致。**Windows 请在 WSL2 里安装**(daemon 依赖 PTY / tmux / Unix 信号,原生 Windows 跑不了;WSL2 报告为 linux,完整支持)。
61
63
 
62
64
  </details>
63
65
 
@@ -79,10 +81,42 @@ botmux start
79
81
 
80
82
  `bots.json` 里用 `cliId` 一键切换。**20+ 适配器**,覆盖本地 CLI(进程隔离,`tmux attach` 可直连)和 API / 云 Agent(如 Mira、riff——通过 API / 远端接入,非本地进程;mojo 为 API 驱动、默认在宿主机执行工具,可配 cloud: true 走云沙箱)。代表项:
81
83
 
82
- `claude-code` · `codex` · `gemini` · `cursor` · `opencode` · `opencode2` · `antigravity` · `copilot` · `grok` · `kimi` · `kiro-cli` · `reasonix` · `dsh` · `aiden` · `coco`(TRAE) · `hermes` · `mira` · `riff`(云 Agent) … · `mojo`(API 驱动,默认宿主机执行) …
84
+ `claude-code` · `codex` · `gemini` · `cursor` · `opencode` · `opencode2` · `antigravity` · `copilot` · `grok` · `kimi` · `kiro-cli` · `reasonix` · `dsh` · `aiden` · `coco`(TRAE) · `hermes` · `ebsd` · `mira` · `riff`(云 Agent) … · `mojo`(API 驱动,默认宿主机执行) …
85
+
86
+ `ebsd` 使用独立的外部服务身份和原生 OMP 会话目录;部署方必须通过受限权限文件配置 Diag Gateway token 与 ByteCloud service account,不能把密钥写入 `bots.json`。
87
+
88
+ `bots.json` 里只放非敏感元数据和密钥文件路径,例如:
89
+
90
+ ```json
91
+ {
92
+ "cliId": "ebsd",
93
+ "workingDir": "/var/lib/botmux/ebsd-work",
94
+ "sandbox": true,
95
+ "env": {
96
+ "EBSD_BOTMUX_DIAG_ENDPOINT": "https://ebsbot.example",
97
+ "EBSD_BOTMUX_DIAG_TOKEN_FILE": "/run/secrets/ebsd-botmux/diag-token",
98
+ "EBSD_BOTMUX_BYTECLOUD_ACCESS_KEY_FILE": "/run/secrets/ebsd-botmux/bytecloud-ak",
99
+ "EBSD_BOTMUX_BYTECLOUD_SECRET_KEY_FILE": "/run/secrets/ebsd-botmux/bytecloud-sk",
100
+ "EBSD_BOTMUX_SUBJECT": "botmux-ebsd@prod",
101
+ "EBSD_BOTMUX_REPOSITORY_ROOT": "/srv/repos"
102
+ }
103
+ }
104
+ ```
105
+
106
+ 三个密钥文件必须是运行 BotMux 的账号持有的 `0600` 普通文件,不能是符号链接;文件内容、AK/SK 和 Gateway token 都不得写进 `bots.json`。`workingDir` 应是专用空目录,仓库通过只读的 `EBSD_BOTMUX_REPOSITORY_ROOT` 暴露。Linux 开启 `sandbox` 前需安装 bubblewrap,隔离建立失败时会拒绝启动。当前/上一把 Gateway key 可以在服务端并存完成轮换,subject 保持不变。
83
107
 
84
108
  当前完整 `cliId` 以 [`src/adapters/cli/registry.ts`](https://github.com/deepcoldy/botmux/blob/master/src/adapters/cli/registry.ts) 为准;各 CLI 的配置与套 wrapper / 网关方法见 [多 CLI 适配器](https://deepcoldy.github.io/botmux/adapters)。
85
109
 
110
+ ### 会话级 CLI 选择
111
+
112
+ 在会话尚未启动前,可以用 `/cli <cliId>` 为当前会话选择已注册的 CLI,例如:
113
+
114
+ ```text
115
+ /cli codex
116
+ ```
117
+
118
+ 这个选择只切换裸 CLI 适配器,不继承当前 bot 配置中的 `wrapperCli`、`model` 或 `startupCommands`。因此依赖 `ttadk`、`aiden` 等 wrapper / 网关才能启动的 CLI,不适合用会话级选择切换;应直接把 bot 默认配置设为对应的 wrapper 组合。会话启动后 CLI 选择冻结,后续消息和恢复都会继续使用该 CLI。
119
+
86
120
  ### 最终回答反馈(按 bot、默认关闭)
87
121
 
88
122
  在单个 `bots.json` 条目中设置 `feedback.enabled: true`,可在最终回答卡片中收集固定三态语义 `positive / progress / negative` 的反馈;默认按钮为“结论可用 / 有效推进 / 结论有误”。按钮文案、样式、顺序、可见语义、负向原因、说明框与是否允许改选均可配置。默认关闭,`apiOnly` bot、进度卡、自定义卡、通知和语音不显示反馈控件。当前仅本次提问者可反馈,提交后原卡片原地更新,自由文本不会回显到群卡。
@@ -1 +1 @@
1
- 2ad154c17b424f5d9f444f75d7797c41d8dcfa6ec2c664b45834ce545213e4dd
1
+ dee42b7568bfaa29896b1b763f12f3e1020cae4f4a0be0fb78af7a8f1b8605e8
@@ -57,11 +57,22 @@ export type BackendGateDecision = {
57
57
  * abandoning it would spawn a duplicate CLI and orphan the real conversation.
58
58
  * tmux/zellij capability probes use disposable sessions; ZMX checks its
59
59
  * version and full-list control plane; Herdr uses `herdr --version`.
60
+ *
61
+ * `existingSessionUnknown` is the third state of that existence check: the
62
+ * probe itself got no answer (a timeout under host load), which a
63
+ * `hasSession()`-style boolean reports as "no session". Gating on that turns a
64
+ * false negative on the CHEAP check into a hard refusal for a session whose
65
+ * pane is alive. So an indeterminate existence answer spawns rather than gates
66
+ * — the reverse asymmetry from a kill-verification, where an unanswered probe
67
+ * must NOT be read as success. Callers that deliberately gate on an
68
+ * indeterminate result (ZMX ownership / protocol version, where adopting
69
+ * someone else's session is the worse outcome) simply leave this unset.
60
70
  */
61
71
  export declare function decideBackendGate(opts: {
62
72
  requested: BackendType;
63
73
  available: boolean;
64
74
  hasExistingSession: boolean;
75
+ existingSessionUnknown?: boolean;
65
76
  }): BackendGateDecision;
66
77
  /** User-facing card shown when {@link decideBackendGate} gates a session. */
67
78
  export declare function backendGateUserMessage(backend: BackendType, reason: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"session-backend-selector.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/session-backend-selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-backend-selector.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/session-backend-selector.ts"],"names":[],"mappings":"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"}
@@ -124,12 +124,24 @@ export function retireSupersededRecordedHerdrTarget(opts) {
124
124
  * abandoning it would spawn a duplicate CLI and orphan the real conversation.
125
125
  * tmux/zellij capability probes use disposable sessions; ZMX checks its
126
126
  * version and full-list control plane; Herdr uses `herdr --version`.
127
+ *
128
+ * `existingSessionUnknown` is the third state of that existence check: the
129
+ * probe itself got no answer (a timeout under host load), which a
130
+ * `hasSession()`-style boolean reports as "no session". Gating on that turns a
131
+ * false negative on the CHEAP check into a hard refusal for a session whose
132
+ * pane is alive. So an indeterminate existence answer spawns rather than gates
133
+ * — the reverse asymmetry from a kill-verification, where an unanswered probe
134
+ * must NOT be read as success. Callers that deliberately gate on an
135
+ * indeterminate result (ZMX ownership / protocol version, where adopting
136
+ * someone else's session is the worse outcome) simply leave this unset.
127
137
  */
128
138
  export function decideBackendGate(opts) {
129
139
  if (opts.requested === 'pty')
130
140
  return { action: 'spawn' };
131
141
  if (opts.hasExistingSession)
132
142
  return { action: 'spawn' };
143
+ if (opts.existingSessionUnknown)
144
+ return { action: 'spawn' };
133
145
  if (opts.available)
134
146
  return { action: 'spawn' };
135
147
  return { action: 'gate', reason: `${opts.requested} 后端在本机不可用` };
@@ -240,9 +252,22 @@ export function selectSessionBackend(opts) {
240
252
  }
241
253
  if (opts.backendType === 'zellij') {
242
254
  const sessionName = ZellijBackend.sessionName(opts.sessionId);
243
- const reattach = ZellijBackend.hasSession(sessionName);
255
+ // Prefer the caller's frozen existence decision when supplied: the worker
256
+ // resolves a tri-state probe once (biasing an indeterminate answer toward
257
+ // "reattach", since a live pane is more authoritative than a load-timed-out
258
+ // probe — the same asymmetry decideBackendGate uses) and refreshes it to
259
+ // "gone" after any teardown, so a post-kill re-selection cold-spawns rather
260
+ // than reattaching to what it just removed. A bare live `hasSession()`
261
+ // cannot tell those two call sites apart, so only fall back to it when no
262
+ // decision was threaded in (default callers / unit tests).
263
+ const reattach = opts.hasExistingSession ?? ZellijBackend.hasSession(sessionName);
264
+ // A threaded-in decision is authoritative — tell the backend to honour it
265
+ // verbatim and skip spawn()'s `|| hasSession()` self-heal, which would
266
+ // otherwise re-probe and could reattach to a pane a teardown gate just
267
+ // removed. Default callers (no decision) keep the self-heal via 'auto'.
268
+ const reattachDecision = opts.hasExistingSession === undefined ? 'auto' : 'frozen';
244
269
  return {
245
- backend: new ZellijBackend(sessionName, { ownsSession: true, isReattach: reattach }),
270
+ backend: new ZellijBackend(sessionName, { ownsSession: true, isReattach: reattach, reattachDecision }),
246
271
  isTmuxMode: false,
247
272
  isPipeMode: false,
248
273
  isZellijMode: true,
@@ -1 +1 @@
1
- {"version":3,"file":"session-backend-selector.js","sourceRoot":"","sources":["../../../src/adapters/backend/session-backend-selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-backend-selector.js","sourceRoot":"","sources":["../../../src/adapters/backend/session-backend-selector.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,15 @@ export declare class ZellijBackend implements SessionBackend {
28
28
  private readonly sessionName;
29
29
  private readonly ownsSession;
30
30
  private reattaching;
31
+ /** When true, the caller has ALREADY resolved reattach-vs-fresh (the worker's
32
+ * frozen tri-state probe, refreshed to 'missing' after any teardown). spawn()
33
+ * must then honour `reattaching` verbatim and skip its `|| hasSession()`
34
+ * self-heal — that live re-probe would re-run the same load-fragile
35
+ * `list-sessions` and, on a post-kill session that has not fully died yet,
36
+ * flip a frozen `false` back to attach, reattaching to the very pane the
37
+ * teardown gate just removed. 'auto' (default) keeps the self-heal for
38
+ * callers that did not freeze a decision. */
39
+ private readonly frozenReattach;
31
40
  private configPath;
32
41
  private tmpConfigDir;
33
42
  /** Set by kill()/destroySession() so the pty-client exit they cause (an
@@ -49,6 +58,7 @@ export declare class ZellijBackend implements SessionBackend {
49
58
  ownsSession?: boolean;
50
59
  isReattach?: boolean;
51
60
  paneId?: string;
61
+ reattachDecision?: 'frozen' | 'auto';
52
62
  });
53
63
  static isAvailable(): boolean;
54
64
  static sessionName(sessionId: string): string;
@@ -59,13 +69,35 @@ export declare class ZellijBackend implements SessionBackend {
59
69
  /** Like liveSessions(), but distinguishes "command failed/timed out" ({ok:false})
60
70
  * from "command succeeded, zero live sessions" ({ok:true, sessions:[]}). The
61
71
  * tri-state probe builds on this so a transient `list-sessions` failure isn't
62
- * read as "session gone". */
72
+ * read as "session gone".
73
+ *
74
+ * NOTE zellij exits **1** with stderr `No active zellij sessions found.` when
75
+ * there are simply no sessions — an authoritative "zero", not a failure. A
76
+ * bare catch would report that clean host as {ok:false} → `unknown`, and any
77
+ * caller that biases `unknown` toward reattach would then `zellij attach` a
78
+ * name that does not exist (exit 1) on every first start. So classify like
79
+ * TmuxBackend.probeSession does: a numeric exit status with no signal is an
80
+ * ANSWER from zellij; only a signal/timeout or a spawn failure (ENOENT/EACCES
81
+ * — neither carries a numeric status) means we never got one.
82
+ *
83
+ * The "answered" case is split by EXIT CODE, not by stderr wording alone:
84
+ * zellij uses 1 for "listed fine, nothing live" and clap's 2 for usage errors
85
+ * (verified against 0.44.1: a bogus flag/subcommand exits 2). But a numeric
86
+ * status is only trusted AFTER ruling out a deadline — Node's timeout can
87
+ * race the child's own exit and produce `ETIMEDOUT` alongside a clean status
88
+ * (see isExecTimeoutError and the tmux-probe regression that pins it), which
89
+ * is still "no answer". And a silent non-zero exit is not proof of emptiness:
90
+ * we require zellij's explicit "no active sessions" line (or live rows) to
91
+ * call it, so anything ambiguous degrades to `unknown` — the safe direction.
92
+ */
63
93
  static probeLiveSessions(): {
64
94
  ok: true;
65
95
  sessions: string[];
66
96
  } | {
67
97
  ok: false;
68
98
  };
99
+ /** Live (non-EXITED) session names from `list-sessions --no-formatting` output. */
100
+ private static parseLiveSessionRows;
69
101
  static hasSession(name: string): boolean;
70
102
  static probeSession(name: string): SessionProbe;
71
103
  /** Kill + purge a session (so no resurrectable corpse accumulates). */
@@ -1 +1 @@
1
- {"version":3,"file":"zellij-backend.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/zellij-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zellij-backend.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/zellij-backend.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { tmpdir } from 'node:os';
5
5
  import { join, dirname } from 'node:path';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import { zellijEnv, probeZellijFunctional } from '../../setup/ensure-zellij.js';
8
- import { resolveUserShell, buildBotmuxEnvAssignments, shellWrapperScript, shellCommandArgv, shellKindForPath } from './tmux-backend.js';
8
+ import { resolveUserShell, buildBotmuxEnvAssignments, shellWrapperScript, shellCommandArgv, shellKindForPath, isExecTimeoutError } from './tmux-backend.js';
9
9
  import { resolveBotmuxWrapperBinDir } from '../../core/botmux-wrapper.js';
10
10
  import { logger } from '../../utils/logger.js';
11
11
  /**
@@ -37,6 +37,15 @@ export class ZellijBackend {
37
37
  sessionName;
38
38
  ownsSession;
39
39
  reattaching = false;
40
+ /** When true, the caller has ALREADY resolved reattach-vs-fresh (the worker's
41
+ * frozen tri-state probe, refreshed to 'missing' after any teardown). spawn()
42
+ * must then honour `reattaching` verbatim and skip its `|| hasSession()`
43
+ * self-heal — that live re-probe would re-run the same load-fragile
44
+ * `list-sessions` and, on a post-kill session that has not fully died yet,
45
+ * flip a frozen `false` back to attach, reattaching to the very pane the
46
+ * teardown gate just removed. 'auto' (default) keeps the self-heal for
47
+ * callers that did not freeze a decision. */
48
+ frozenReattach;
40
49
  configPath = null;
41
50
  tmpConfigDir = null;
42
51
  /** Set by kill()/destroySession() so the pty-client exit they cause (an
@@ -60,6 +69,7 @@ export class ZellijBackend {
60
69
  this.sessionName = sessionName;
61
70
  this.ownsSession = opts?.ownsSession ?? true;
62
71
  this.reattaching = opts?.isReattach ?? false;
72
+ this.frozenReattach = opts?.reattachDecision === 'frozen';
63
73
  this.paneId = opts?.paneId ?? null;
64
74
  }
65
75
  // ─── Static helpers (mirror TmuxBackend) ──────────────────────────────────
@@ -79,28 +89,79 @@ export class ZellijBackend {
79
89
  /** Like liveSessions(), but distinguishes "command failed/timed out" ({ok:false})
80
90
  * from "command succeeded, zero live sessions" ({ok:true, sessions:[]}). The
81
91
  * tri-state probe builds on this so a transient `list-sessions` failure isn't
82
- * read as "session gone". */
92
+ * read as "session gone".
93
+ *
94
+ * NOTE zellij exits **1** with stderr `No active zellij sessions found.` when
95
+ * there are simply no sessions — an authoritative "zero", not a failure. A
96
+ * bare catch would report that clean host as {ok:false} → `unknown`, and any
97
+ * caller that biases `unknown` toward reattach would then `zellij attach` a
98
+ * name that does not exist (exit 1) on every first start. So classify like
99
+ * TmuxBackend.probeSession does: a numeric exit status with no signal is an
100
+ * ANSWER from zellij; only a signal/timeout or a spawn failure (ENOENT/EACCES
101
+ * — neither carries a numeric status) means we never got one.
102
+ *
103
+ * The "answered" case is split by EXIT CODE, not by stderr wording alone:
104
+ * zellij uses 1 for "listed fine, nothing live" and clap's 2 for usage errors
105
+ * (verified against 0.44.1: a bogus flag/subcommand exits 2). But a numeric
106
+ * status is only trusted AFTER ruling out a deadline — Node's timeout can
107
+ * race the child's own exit and produce `ETIMEDOUT` alongside a clean status
108
+ * (see isExecTimeoutError and the tmux-probe regression that pins it), which
109
+ * is still "no answer". And a silent non-zero exit is not proof of emptiness:
110
+ * we require zellij's explicit "no active sessions" line (or live rows) to
111
+ * call it, so anything ambiguous degrades to `unknown` — the safe direction.
112
+ */
83
113
  static probeLiveSessions() {
114
+ let out;
84
115
  try {
85
- const out = execFileSync('zellij', ['list-sessions', '--no-formatting'], {
116
+ out = execFileSync('zellij', ['list-sessions', '--no-formatting'], {
86
117
  encoding: 'utf-8',
87
- stdio: ['ignore', 'pipe', 'ignore'],
118
+ stdio: ['ignore', 'pipe', 'pipe'],
88
119
  timeout: 3000,
89
120
  env: zellijEnv(),
90
121
  });
91
- return {
92
- ok: true,
93
- sessions: out
94
- .split('\n')
95
- .map(l => l.trim())
96
- .filter(l => l.length > 0 && !/EXITED/i.test(l))
97
- .map(l => l.split(/\s+/)[0])
98
- .filter(Boolean),
99
- };
100
122
  }
101
- catch {
123
+ catch (e) {
124
+ // Deadline FIRST, before any numeric-status reasoning: when Node's timeout
125
+ // races the child's own exit, the error carries `code='ETIMEDOUT'` AND a
126
+ // clean `status` with no signal (see isExecTimeoutError + the
127
+ // tmux-probe.test.ts regression pinning that exact shape). Reading that as
128
+ // an answer would turn the very high-load timeout this PR exists to
129
+ // tolerate back into an authoritative "gone" — and in the strict post-kill
130
+ // path it would report an unconfirmed termination as proven.
131
+ if (isExecTimeoutError(e))
132
+ return { ok: false };
133
+ // Not answered at all (killed by a signal, or a spawn failure like
134
+ // ENOENT/EACCES which carries no numeric status): stay indeterminate.
135
+ if (!e || typeof e.status !== 'number' || e.signal)
136
+ return { ok: false };
137
+ // Answered non-zero. Only exit 1 can mean "listed fine, nothing live";
138
+ // clap usage/startup errors are 2+ and prove nothing about liveness.
139
+ if (e.status !== 1)
140
+ return { ok: false };
141
+ // If it printed live rows anyway, those win (never report a live pane gone).
142
+ const rows = ZellijBackend.parseLiveSessionRows(e.stdout?.toString?.() ?? '');
143
+ if (rows.length > 0)
144
+ return { ok: true, sessions: rows };
145
+ // Require zellij's explicit "no active sessions" answer to call it empty.
146
+ // A SILENT non-zero exit proves nothing — treating it as zero is how an
147
+ // unconfirmed kill or a half-broken host would read as "session gone".
148
+ // (The message is hardcoded in zellij since our 0.44.0 floor; a future
149
+ // rewording degrades to `unknown`, which is the safe direction here.)
150
+ if (/no active zellij sessions/i.test((e.stderr?.toString?.() ?? '').trim())) {
151
+ return { ok: true, sessions: [] };
152
+ }
102
153
  return { ok: false };
103
154
  }
155
+ return { ok: true, sessions: ZellijBackend.parseLiveSessionRows(out) };
156
+ }
157
+ /** Live (non-EXITED) session names from `list-sessions --no-formatting` output. */
158
+ static parseLiveSessionRows(raw) {
159
+ return raw
160
+ .split('\n')
161
+ .map(l => l.trim())
162
+ .filter(l => l.length > 0 && !/EXITED/i.test(l))
163
+ .map(l => l.split(/\s+/)[0])
164
+ .filter(Boolean);
104
165
  }
105
166
  static hasSession(name) {
106
167
  return ZellijBackend.probeSession(name) === 'exists';
@@ -124,7 +185,28 @@ export class ZellijBackend {
124
185
  // ─── SessionBackend implementation ────────────────────────────────────────
125
186
  spawn(bin, args, opts) {
126
187
  // Reattach if the session is already live (daemon restarted, CLI survived).
127
- this.reattaching = this.reattaching || ZellijBackend.hasSession(this.sessionName);
188
+ // Skip this self-heal when the caller froze the decision: a teardown gate
189
+ // may have just killed the pane and set reattaching=false, and a live
190
+ // re-probe here (same load-fragile `list-sessions`) could still see the
191
+ // not-yet-reaped session and wrongly flip us back to attach.
192
+ if (!this.frozenReattach) {
193
+ this.reattaching = this.reattaching || ZellijBackend.hasSession(this.sessionName);
194
+ }
195
+ if (this.frozenReattach && this.reattaching) {
196
+ // A frozen `attach` can still be objectively WRONG: the worker biases an
197
+ // indeterminate existence probe toward reattach (a live pane is likelier
198
+ // than a gone one under load), and not every path re-probes before we get
199
+ // here. `attach` on a session that does not exist exits 1 ("No session
200
+ // with the name … found!"), which reads as a CLI crash and burns a
201
+ // restart. So downgrade to a fresh spawn ONLY on an authoritative
202
+ // 'missing' — an indeterminate answer keeps the reattach bias, and a
203
+ // frozen `false` is never flipped the other way (that direction is the
204
+ // teardown guarantee this whole flag exists to protect).
205
+ if (ZellijBackend.probeSession(this.sessionName) === 'missing') {
206
+ logger.debug(`[zellij:${this.sessionName}] frozen reattach downgraded to fresh spawn: session is provably absent`);
207
+ this.reattaching = false;
208
+ }
209
+ }
128
210
  logger.debug(`[zellij:${this.sessionName}] spawn ${this.reattaching ? 'reattach' : 'new'} ` +
129
211
  `bin=${bin} args=${JSON.stringify(args)} cwd=${opts.cwd} ${opts.cols}x${opts.rows}`);
130
212
  const { configPath, layoutPath } = this.writeRuntimeFiles(bin, args, opts);
@@ -1 +1 @@
1
- {"version":3,"file":"zellij-backend.js","sourceRoot":"","sources":["../../../src/adapters/backend/zellij-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zellij-backend.js","sourceRoot":"","sources":["../../../src/adapters/backend/zellij-backend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-app.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/codex-app.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAyBxD,wBAAgB,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAiHvE;AAED,eAAO,MAAM,MAAM,8BAAwB,CAAC"}
1
+ {"version":3,"file":"codex-app.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/codex-app.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAyBxD,wBAAgB,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CA6HvE;AAED,eAAO,MAAM,MAAM,8BAAwB,CAAC"}
@@ -3,7 +3,7 @@ import { fileURLToPath } from 'node:url';
3
3
  import { existsSync } from 'node:fs';
4
4
  import { dirname, resolve } from 'node:path';
5
5
  import { promisify } from 'node:util';
6
- import { resolveCommand } from './registry.js';
6
+ import { resolveCommandReal } from './registry.js';
7
7
  import { parseDebugModelsJson } from './model-catalog-json.js';
8
8
  import { writeRunnerInput } from './runner-input.js';
9
9
  function runnerPath() {
@@ -49,14 +49,23 @@ export function createCodexAppAdapter(pathOverride) {
49
49
  // re-expose its bin dir when it lives under /run (fnm/nvm) — else --tmpfs /run
50
50
  // masks it and the in-sandbox app-server spawn ENOENTs into a crash-loop. Same
51
51
  // lazy resolve+cache as buildArgs; only an executable path, never the cwd.
52
+ //
53
+ // CANONICAL (resolveCommandReal), and it must stay identical to the path handed
54
+ // to `--codex-bin` below: the sandbox authorizes `dirname(canonical(p))`, while
55
+ // codex-app-runner.ts spawns `--codex-bin` verbatim. `codex` on PATH is commonly
56
+ // a symlink chain (`~/.local/bin/codex` → `…/standalone/current/bin/codex` → a
57
+ // versioned release dir), so a raw path would be authorized-as-canonical yet
58
+ // spawned-as-symlink and ENOENT inside the sandbox.
52
59
  sandboxExtraExecPaths() {
53
- return [(cachedCodexBin ??= resolveCommand(rawCodexBin))];
60
+ return [(cachedCodexBin ??= resolveCommandReal(rawCodexBin))];
54
61
  },
55
62
  buildArgs({ sessionId, resume, resumeSessionId, workingDir, botName, botOpenId, locale, model, reasoningEffort, codexBrowser }) {
56
63
  const args = [
57
64
  runnerPath(),
58
65
  '--session-id', sessionId,
59
- '--codex-bin', (cachedCodexBin ??= resolveCommand(rawCodexBin)),
66
+ // Canonical for the same reason as sandboxExtraExecPaths above — the runner
67
+ // hands this straight to spawn().
68
+ '--codex-bin', (cachedCodexBin ??= resolveCommandReal(rawCodexBin)),
60
69
  ];
61
70
  if (resume && resumeSessionId)
62
71
  args.push('--thread-id', resumeSessionId);
@@ -84,7 +93,10 @@ export function createCodexAppAdapter(pathOverride) {
84
93
  // 的测试 import 阶段炸(mock 无 execFile 导出);推迟到调用时,fail-soft
85
94
  // 的 try/catch 兜住(契约:任何异常 → null)。
86
95
  const execFileAsync = promisify(execFile);
87
- const codexBin = (cachedCodexBin ??= resolveCommand(rawCodexBin));
96
+ // Shares `cachedCodexBin` with the two call sites above, so it must use the
97
+ // same resolver or whichever runs first would decide the cached value and
98
+ // silently change what the other two get. It also execs the binary itself.
99
+ const codexBin = (cachedCodexBin ??= resolveCommandReal(rawCodexBin));
88
100
  const { stdout } = await execFileAsync(codexBin, ['debug', 'models'], {
89
101
  timeout: 8000,
90
102
  maxBuffer: 16 * 1024 * 1024,