botmux 2.66.1 → 2.66.2

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 (57) hide show
  1. package/dist/adapters/cli/traex.js +3 -3
  2. package/dist/adapters/cli/traex.js.map +1 -1
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +121 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/core/command-handler.d.ts +10 -0
  7. package/dist/core/command-handler.d.ts.map +1 -1
  8. package/dist/core/command-handler.js +50 -2
  9. package/dist/core/command-handler.js.map +1 -1
  10. package/dist/core/dashboard-ipc-server.d.ts +2 -0
  11. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  12. package/dist/core/dashboard-ipc-server.js +91 -1
  13. package/dist/core/dashboard-ipc-server.js.map +1 -1
  14. package/dist/core/idle-worker-sweeper.d.ts.map +1 -1
  15. package/dist/core/idle-worker-sweeper.js +2 -1
  16. package/dist/core/idle-worker-sweeper.js.map +1 -1
  17. package/dist/core/inherit-peer.d.ts.map +1 -1
  18. package/dist/core/inherit-peer.js +23 -3
  19. package/dist/core/inherit-peer.js.map +1 -1
  20. package/dist/core/persistent-backend.d.ts +18 -0
  21. package/dist/core/persistent-backend.d.ts.map +1 -0
  22. package/dist/core/persistent-backend.js +64 -0
  23. package/dist/core/persistent-backend.js.map +1 -0
  24. package/dist/core/session-manager.d.ts.map +1 -1
  25. package/dist/core/session-manager.js +1 -33
  26. package/dist/core/session-manager.js.map +1 -1
  27. package/dist/core/worker-pool.d.ts +27 -2
  28. package/dist/core/worker-pool.d.ts.map +1 -1
  29. package/dist/core/worker-pool.js +97 -3
  30. package/dist/core/worker-pool.js.map +1 -1
  31. package/dist/daemon.d.ts +24 -0
  32. package/dist/daemon.d.ts.map +1 -1
  33. package/dist/daemon.js +28 -26
  34. package/dist/daemon.js.map +1 -1
  35. package/dist/dashboard/web/app.js +3 -0
  36. package/dist/dashboard/web/app.js.map +1 -1
  37. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  38. package/dist/dashboard/web/i18n.js +6 -0
  39. package/dist/dashboard/web/i18n.js.map +1 -1
  40. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  41. package/dist/dashboard/web/sessions.js +80 -7
  42. package/dist/dashboard/web/sessions.js.map +1 -1
  43. package/dist/dashboard/web/ui.d.ts +1 -0
  44. package/dist/dashboard/web/ui.d.ts.map +1 -1
  45. package/dist/dashboard/web/ui.js +6 -0
  46. package/dist/dashboard/web/ui.js.map +1 -1
  47. package/dist/dashboard-web/app.js +299 -299
  48. package/dist/dashboard-web/style.css +82 -0
  49. package/dist/dashboard.js +25 -1
  50. package/dist/dashboard.js.map +1 -1
  51. package/dist/i18n/en.d.ts.map +1 -1
  52. package/dist/i18n/en.js +6 -0
  53. package/dist/i18n/en.js.map +1 -1
  54. package/dist/i18n/zh.d.ts.map +1 -1
  55. package/dist/i18n/zh.js +6 -0
  56. package/dist/i18n/zh.js.map +1 -1
  57. package/package.json +1 -1
@@ -1,6 +1,10 @@
1
1
  // src/core/dashboard-ipc-server.ts
2
2
  import { createServer } from 'node:http';
3
+ import { readFileSync } from 'node:fs';
4
+ import { homedir } from 'node:os';
5
+ import { join } from 'node:path';
3
6
  import { logger } from '../utils/logger.js';
7
+ import { verifyHmac } from '../dashboard/auth.js';
4
8
  import { listenWithProbe } from '../utils/listen-with-probe.js';
5
9
  import * as sessionStore from '../services/session-store.js';
6
10
  import * as scheduleStore from '../services/schedule-store.js';
@@ -21,12 +25,13 @@ import { readGlobalConfig } from '../global-config.js';
21
25
  import { normalizeChatReplyMode } from '../services/chat-reply-mode-store.js';
22
26
  import * as chatFirstSeenStore from '../services/chat-first-seen-store.js';
23
27
  import * as scheduler from './scheduler.js';
24
- import { listActiveSessions, findActiveBySessionId, closeSession, getActiveSessionsRegistry, transferSession } from './worker-pool.js';
28
+ import { listActiveSessions, findActiveBySessionId, closeSession, getActiveSessionsRegistry, transferSession, deliverWriteLinkCardToOwners } from './worker-pool.js';
25
29
  import { listOnlineDaemons } from '../utils/daemon-discovery.js';
26
30
  import { getChatMode, replyMessage, sendMessage, resolveUnionIdFromOpenId } from '../im/lark/client.js';
27
31
  import { resumeSession } from './session-manager.js';
28
32
  import { getCliDisplayName } from '../im/lark/card-builder.js';
29
33
  import { locateLimiter } from './dashboard-locate.js';
34
+ import { buildTerminalUrl } from './terminal-url.js';
30
35
  import { dashboardEventBus } from './dashboard-events.js';
31
36
  import { validateWorkingDir } from './working-dir.js';
32
37
  import { resolveRoleFile, writeRoleFile, deleteRoleFile } from './role-resolver.js';
@@ -60,6 +65,44 @@ export async function readJsonBody(req) {
60
65
  return {};
61
66
  return JSON.parse(Buffer.concat(chunks).toString('utf8'));
62
67
  }
68
+ // ─── Token-route auth (loopback HMAC) ───────────────────────────────────────
69
+ //
70
+ // Most IPC routes are loopback-trusted: the codebase's threat model treats a
71
+ // local botmux process as already root-equivalent on the box (see the
72
+ // migrate-to-chat route below), so close/resume/sandbox-diff carry no per-route
73
+ // auth. The two write-link routes are different — they HAND OUT a reusable
74
+ // terminal-control credential (the worker write token: GET /write-link returns
75
+ // the URL, POST /write-link-card delivers it as a private Lark card), so they
76
+ // additionally require the caller to prove it can read ~/.botmux/.dashboard-secret.
77
+ // That keeps a sandboxed worker, or a random local process that merely discovered
78
+ // the ipcPort, from minting write tokens for sessions it doesn't own. The legit
79
+ // callers — the dashboard proxy and `botmux term-link` — sign with the same secret
80
+ // + scheme as `botmux dashboard` → /__cli/rotate. (A same-user process that can
81
+ // read the secret is out of scope: it's already trusted.)
82
+ let injectedIpcSecret = null;
83
+ /** Test seam: override the secret used to verify token-route HMAC. */
84
+ export function setIpcAuthSecret(secret) { injectedIpcSecret = secret; }
85
+ function ipcAuthSecret() {
86
+ if (injectedIpcSecret)
87
+ return injectedIpcSecret;
88
+ try {
89
+ return readFileSync(join(homedir(), '.botmux', '.dashboard-secret'), 'utf8').trim() || null;
90
+ }
91
+ catch {
92
+ return null;
93
+ }
94
+ }
95
+ function tokenRouteAuthorized(req) {
96
+ const secret = ipcAuthSecret();
97
+ if (!secret)
98
+ return false; // fail-closed: no secret on disk → nobody can sign
99
+ const ts = req.headers['x-botmux-cli-ts'];
100
+ const nonce = req.headers['x-botmux-cli-nonce'];
101
+ const sig = req.headers['x-botmux-cli-auth'];
102
+ if (typeof ts !== 'string' || typeof nonce !== 'string' || typeof sig !== 'string')
103
+ return false;
104
+ return verifyHmac(secret, { ts, nonce, sig }, req.socket.remoteAddress ?? '').ok;
105
+ }
63
106
  ipcRoute('GET', '/__health', (_req, res) => {
64
107
  jsonRes(res, 200, { ok: true });
65
108
  });
@@ -95,6 +138,53 @@ ipcRoute('POST', '/api/sessions/:sessionId/close', async (_req, res, params) =>
95
138
  const r = await closeSession(params.sessionId);
96
139
  jsonRes(res, 200, r);
97
140
  });
141
+ /**
142
+ * Mint the WRITABLE web-terminal link for a live session — the dashboard
143
+ * counterpart to the Lark card's "🔑 获取操作链接" button. Returns the URL with
144
+ * the worker's write `?token=` appended, built daemon-side via buildTerminalUrl
145
+ * so it picks up this process's live terminal-proxy state (the dashboard
146
+ * aggregator can't see it). The token is returned ONLY here, on demand —
147
+ * deliberately never embedded in /api/sessions rows or the SSE stream.
148
+ *
149
+ * Two gates protect it: at the dashboard's HTTP boundary this path is absent
150
+ * from the public allow-list, so an anonymous browser 401s; and here on the
151
+ * daemon IPC, tokenRouteAuthorized requires a loopback-HMAC signed with
152
+ * .dashboard-secret, so a local process that merely knows the ipcPort still
153
+ * can't pull a write token.
154
+ */
155
+ ipcRoute('GET', '/api/sessions/:sessionId/write-link', (req, res, params) => {
156
+ if (!tokenRouteAuthorized(req))
157
+ return jsonRes(res, 401, { ok: false, error: 'unauthorized' });
158
+ const ds = findActiveBySessionId(params.sessionId);
159
+ if (!ds)
160
+ return jsonRes(res, 404, { ok: false, error: 'session_not_active' });
161
+ const port = ds.workerPort ?? ds.session.webPort;
162
+ if (!port || !ds.workerToken)
163
+ return jsonRes(res, 409, { ok: false, error: 'terminal_unavailable' });
164
+ jsonRes(res, 200, { ok: true, url: buildTerminalUrl(ds, { write: true }) });
165
+ });
166
+ /**
167
+ * Deliver the writable-terminal card privately to the bot's owner(s) — the
168
+ * `botmux term-link <id>` CLI command's backend. Unlike the GET route above
169
+ * (which returns the URL to its single authenticated caller), this POSTs the
170
+ * card into the owners' private Lark channels (ephemeral → DM fallback) and
171
+ * returns ONLY delivery counts: the write token never crosses back to the CLI /
172
+ * stdout. Same loopback-HMAC gate as write-link — it still hands out a control
173
+ * credential, just into Lark rather than into the HTTP response.
174
+ */
175
+ ipcRoute('POST', '/api/sessions/:sessionId/write-link-card', async (req, res, params) => {
176
+ if (!tokenRouteAuthorized(req))
177
+ return jsonRes(res, 401, { ok: false, error: 'unauthorized' });
178
+ const ds = findActiveBySessionId(params.sessionId);
179
+ if (!ds)
180
+ return jsonRes(res, 404, { ok: false, error: 'session_not_active' });
181
+ const r = await deliverWriteLinkCardToOwners(ds);
182
+ const status = r.ok ? 200
183
+ : r.error === 'terminal_unavailable' ? 409
184
+ : r.error === 'no_owner' ? 422
185
+ : 502;
186
+ jsonRes(res, status, r);
187
+ });
98
188
  // ─── Sandbox landing (owner reviews the clone's diff then applies it back) ───
99
189
  function workingDirForSession(sessionId) {
100
190
  const ds = findActiveBySessionId(sessionId);
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-ipc-server.js","sourceRoot":"","sources":["../../src/core/dashboard-ipc-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-ipc-server.js","sourceRoot":"","sources":["../../src/core/dashboard-ipc-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"idle-worker-sweeper.d.ts","sourceRoot":"","sources":["../../src/core/idle-worker-sweeper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAgD,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG7G,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,eAAe,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,sBAAsB,QAA0B,CAAC;AAM9D,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,IAAI,GAAE,sBAA2B,GAChC,qBAAqB,EAAE,CAgCzB"}
1
+ {"version":3,"file":"idle-worker-sweeper.d.ts","sourceRoot":"","sources":["../../src/core/idle-worker-sweeper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAgD,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI7G,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,eAAe,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,sBAAsB,QAA0B,CAAC;AAM9D,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,IAAI,GAAE,sBAA2B,GAChC,qBAAqB,EAAE,CAgCzB"}
@@ -1,6 +1,7 @@
1
1
  import { readGlobalConfig } from '../global-config.js';
2
2
  import { DEFAULT_IDLE_SUSPEND_MS, resolveWorkerBudget } from './worker-budget.js';
3
- import { isSuspendableBackendType, suspendWorker } from './worker-pool.js';
3
+ import { suspendWorker } from './worker-pool.js';
4
+ import { isSuspendableBackendType } from './persistent-backend.js';
4
5
  export const DEFAULT_IDLE_WORKER_MS = DEFAULT_IDLE_SUSPEND_MS;
5
6
  function liveWorkers(activeSessions) {
6
7
  return [...activeSessions.values()].filter(ds => !!ds.worker && !ds.worker.killed);
@@ -1 +1 @@
1
- {"version":3,"file":"idle-worker-sweeper.js","sourceRoot":"","sources":["../../src/core/idle-worker-sweeper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAA6B,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAY3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE9D,SAAS,WAAW,CAAC,cAA0C;IAC7D,OAAO,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,cAA0C,EAC1C,OAA+B,EAAE;IAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IACpC,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,MAAM,IAAI,cAAc;QAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,UAAU,GAAG,OAAO;QACxB,+DAA+D;QAC/D,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,uEAAuE;QACvE,wEAAwE;QACxE,4EAA4E;QAC5E,sDAAsD;SACrD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;SACxD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;SAClE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,KAAK,MAAM,CAAC;SAC5C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC;SACrD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,SAAS,IAAI,cAAc;YAAE,MAAM;QACvC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,oBAAoB,CAAC;YAAE,SAAS;QACvD,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAClF,SAAS,EAAE,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"idle-worker-sweeper.js","sourceRoot":"","sources":["../../src/core/idle-worker-sweeper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAA6B,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAYnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE9D,SAAS,WAAW,CAAC,cAA0C;IAC7D,OAAO,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,cAA0C,EAC1C,OAA+B,EAAE;IAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;IACpC,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,MAAM,IAAI,cAAc;QAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,UAAU,GAAG,OAAO;QACxB,+DAA+D;QAC/D,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,uEAAuE;QACvE,wEAAwE;QACxE,4EAA4E;QAC5E,sDAAsD;SACrD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;SACxD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;SAClE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,KAAK,MAAM,CAAC;SAC5C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC;SACrD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,SAAS,IAAI,cAAc;YAAE,MAAM;QACvC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,oBAAoB,CAAC;YAAE,SAAS;QACvD,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAClF,SAAS,EAAE,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"inherit-peer.d.ts","sourceRoot":"","sources":["../../src/core/inherit-peer.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,aAAa,GAAG,IAAI,CAU9E"}
1
+ {"version":3,"file":"inherit-peer.d.ts","sourceRoot":"","sources":["../../src/core/inherit-peer.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAcD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,aAAa,GAAG,IAAI,CAgB9E"}
@@ -17,15 +17,35 @@
17
17
  * topic is "isolate the context", and silently inheriting overrides it.
18
18
  * See docs/superpowers/specs/2026-05-10-force-topic-mode-design.md.
19
19
  */
20
+ import { statSync } from 'node:fs';
21
+ import { resolve } from 'node:path';
20
22
  import * as sessionStore from '../services/session-store.js';
23
+ import { logger } from '../utils/logger.js';
24
+ import { expandHomePath } from '../utils/working-dir.js';
25
+ function resolvePeerWorkingDir(workingDir) {
26
+ return resolve(expandHomePath(workingDir));
27
+ }
28
+ function isValidPeerWorkingDir(workingDir) {
29
+ try {
30
+ return statSync(resolvePeerWorkingDir(workingDir)).isDirectory();
31
+ }
32
+ catch {
33
+ return false;
34
+ }
35
+ }
21
36
  export function findInheritablePeer(opts) {
22
37
  const { scope, anchor, chatId, selfAppId } = opts;
23
38
  const sameAnchorPeers = scope === 'thread'
24
39
  ? sessionStore.findActiveSessionsByRoot(anchor)
25
40
  : sessionStore.findActiveChatScopeSessionsByChat(chatId);
26
- const peer = sameAnchorPeers.find(p => p.larkAppId !== selfAppId && !!p.workingDir);
27
- if (peer && peer.workingDir) {
28
- return { sessionId: peer.sessionId, larkAppId: peer.larkAppId, workingDir: peer.workingDir };
41
+ for (const peer of sameAnchorPeers) {
42
+ if (peer.larkAppId === selfAppId || !peer.workingDir)
43
+ continue;
44
+ if (isValidPeerWorkingDir(peer.workingDir)) {
45
+ return { sessionId: peer.sessionId, larkAppId: peer.larkAppId, workingDir: peer.workingDir };
46
+ }
47
+ logger.warn(`[inherit-peer] ignored inherited peer workingDir from session ${peer.sessionId.substring(0, 8)} ` +
48
+ `(app=${peer.larkAppId ?? 'unknown'}): ${resolvePeerWorkingDir(peer.workingDir)} is missing or not a directory`);
29
49
  }
30
50
  return null;
31
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inherit-peer.js","sourceRoot":"","sources":["../../src/core/inherit-peer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAgB7D,MAAM,UAAU,mBAAmB,CAAC,IAAoB;IACtD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAClD,MAAM,eAAe,GAAG,KAAK,KAAK,QAAQ;QACxC,CAAC,CAAC,YAAY,CAAC,wBAAwB,CAAC,MAAM,CAAC;QAC/C,CAAC,CAAC,YAAY,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACpF,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IAC/F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"inherit-peer.js","sourceRoot":"","sources":["../../src/core/inherit-peer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAgBzD,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,OAAO,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAoB;IACtD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAClD,MAAM,eAAe,GAAG,KAAK,KAAK,QAAQ;QACxC,CAAC,CAAC,YAAY,CAAC,wBAAwB,CAAC,MAAM,CAAC;QAC/C,CAAC,CAAC,YAAY,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,SAAS;QAC/D,IAAI,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/F,CAAC;QACD,MAAM,CAAC,IAAI,CACT,iEAAiE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;YAClG,QAAQ,IAAI,CAAC,SAAS,IAAI,SAAS,MAAM,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,gCAAgC,CAChH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { BackendType, SessionProbe } from '../adapters/backend/types.js';
2
+ import type { DaemonSession } from './types.js';
3
+ export type PersistentBackendType = Exclude<BackendType, 'pty'>;
4
+ export declare function isSuspendableBackendType(backendType: BackendType | undefined): backendType is PersistentBackendType;
5
+ /**
6
+ * Resolve which persistent backend (if any) backs a session: prefer the
7
+ * worker's stored init config — the per-session truth captured at spawn time,
8
+ * which survives idle-suspend and tracks bot-config drift — then the bot
9
+ * config, then the daemon default (covers lazy-restored sessions that never
10
+ * forked a worker, where initConfig is unset).
11
+ */
12
+ export declare function getSessionPersistentBackendType(ds: DaemonSession): PersistentBackendType | undefined;
13
+ /** Deterministic backing-session name (`bmx-<sid8>`, same rule across backends). */
14
+ export declare function persistentSessionName(backendType: PersistentBackendType, sessionId: string): string;
15
+ export declare function probePersistentSession(backendType: PersistentBackendType, name: string): SessionProbe;
16
+ /** Kill a backing session (each backend's killSession is a no-op when absent). */
17
+ export declare function killPersistentSession(backendType: PersistentBackendType, name: string): void;
18
+ //# sourceMappingURL=persistent-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistent-backend.d.ts","sourceRoot":"","sources":["../../src/core/persistent-backend.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAEhE,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,WAAW,GAAG,SAAS,GACnC,WAAW,IAAI,qBAAqB,CAEtC;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,aAAa,GAAG,qBAAqB,GAAG,SAAS,CASpG;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAInG;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAIrG;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAI5F"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Shared helpers for sessions backed by a persistent multiplexer
3
+ * (tmux / herdr / zellij). These backends keep the CLI alive across worker
4
+ * exits BY DESIGN (idle-suspend, lazy restore), so several daemon paths must
5
+ * resolve / name / probe / kill the backing session WITHOUT a live worker:
6
+ * the restore-time zombie sweep and terminal wake (session-manager.ts), and
7
+ * the /close teardown of orphaned sessions (worker-pool.ts killWorker).
8
+ *
9
+ * This module owns the backend dispatch so those paths can't drift apart.
10
+ * It must stay dependency-light (backends + registry + config only) — both
11
+ * worker-pool and session-manager import it, and those two already form an
12
+ * import cycle with each other.
13
+ */
14
+ import { config } from '../config.js';
15
+ import { getBot } from '../bot-registry.js';
16
+ import { TmuxBackend } from '../adapters/backend/tmux-backend.js';
17
+ import { HerdrBackend } from '../adapters/backend/herdr-backend.js';
18
+ import { ZellijBackend } from '../adapters/backend/zellij-backend.js';
19
+ export function isSuspendableBackendType(backendType) {
20
+ return backendType === 'tmux' || backendType === 'herdr' || backendType === 'zellij';
21
+ }
22
+ /**
23
+ * Resolve which persistent backend (if any) backs a session: prefer the
24
+ * worker's stored init config — the per-session truth captured at spawn time,
25
+ * which survives idle-suspend and tracks bot-config drift — then the bot
26
+ * config, then the daemon default (covers lazy-restored sessions that never
27
+ * forked a worker, where initConfig is unset).
28
+ */
29
+ export function getSessionPersistentBackendType(ds) {
30
+ let backendType = ds.initConfig?.backendType;
31
+ if (!backendType) {
32
+ backendType = config.daemon.backendType;
33
+ try {
34
+ backendType = getBot(ds.larkAppId).config.backendType ?? backendType;
35
+ }
36
+ catch { /* bot deregistered — keep daemon default */ }
37
+ }
38
+ return isSuspendableBackendType(backendType) ? backendType : undefined;
39
+ }
40
+ /** Deterministic backing-session name (`bmx-<sid8>`, same rule across backends). */
41
+ export function persistentSessionName(backendType, sessionId) {
42
+ if (backendType === 'tmux')
43
+ return TmuxBackend.sessionName(sessionId);
44
+ if (backendType === 'zellij')
45
+ return ZellijBackend.sessionName(sessionId);
46
+ return HerdrBackend.sessionName(sessionId);
47
+ }
48
+ export function probePersistentSession(backendType, name) {
49
+ if (backendType === 'tmux')
50
+ return TmuxBackend.probeSession(name);
51
+ if (backendType === 'zellij')
52
+ return ZellijBackend.probeSession(name);
53
+ return HerdrBackend.probeSession(name);
54
+ }
55
+ /** Kill a backing session (each backend's killSession is a no-op when absent). */
56
+ export function killPersistentSession(backendType, name) {
57
+ if (backendType === 'tmux')
58
+ TmuxBackend.killSession(name);
59
+ else if (backendType === 'zellij')
60
+ ZellijBackend.killSession(name);
61
+ else
62
+ HerdrBackend.killSession(name);
63
+ }
64
+ //# sourceMappingURL=persistent-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistent-backend.js","sourceRoot":"","sources":["../../src/core/persistent-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAMtE,MAAM,UAAU,wBAAwB,CACtC,WAAoC;IAEpC,OAAO,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,QAAQ,CAAC;AACvF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAAC,EAAiB;IAC/D,IAAI,WAAW,GAA4B,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;IACtE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,WAAkC,EAAE,SAAiB;IACzF,IAAI,WAAW,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACtE,IAAI,WAAW,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1E,OAAO,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAkC,EAAE,IAAY;IACrF,IAAI,WAAW,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,WAAW,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,qBAAqB,CAAC,WAAkC,EAAE,IAAY;IACpF,IAAI,WAAW,KAAK,MAAM;QAAE,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACrD,IAAI,WAAW,KAAK,QAAQ;QAAE,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;QAC9D,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,8 @@ import { logger } from '../utils/logger.js';
8
8
  import { forkWorker, forkAdoptWorker, killStalePids, getCurrentCliVersion, restoreUsageLimitRuntimeState, setActiveSessionSafe, isRelayableRealSession, closeSession } from './worker-pool.js';
9
9
  import { createCliAdapterSync } from '../adapters/cli/registry.js';
10
10
  import { buildBotmuxShellHints } from '../adapters/cli/shared-hints.js';
11
- import { TmuxBackend } from '../adapters/backend/tmux-backend.js';
12
- import { HerdrBackend } from '../adapters/backend/herdr-backend.js';
11
+ import { getSessionPersistentBackendType, persistentSessionName, probePersistentSession, killPersistentSession } from './persistent-backend.js';
13
12
  import { adoptTargetLabel, validateAdoptTargetState } from './session-discovery.js';
14
- import { ZellijBackend } from '../adapters/backend/zellij-backend.js';
15
13
  import { getBot, getAllBots } from '../bot-registry.js';
16
14
  import { validateZellijAdoptTarget } from './zellij-adopt-discovery.js';
17
15
  import { sessionKey, sessionAnchorId } from './types.js';
@@ -737,36 +735,6 @@ export async function restoreActiveSessions(activeSessions) {
737
735
  const hasPersistentBackend = [...activeSessions.values()].some(ds => !!getSessionPersistentBackendType(ds));
738
736
  logger.info(`Restored ${active.length} session(s)${hasPersistentBackend ? '' : ', waiting for messages to resume'}`);
739
737
  }
740
- function getSessionPersistentBackendType(ds) {
741
- let backendType = config.daemon.backendType;
742
- try {
743
- backendType = getBot(ds.larkAppId).config.backendType ?? backendType;
744
- }
745
- catch { /* bot deregistered */ }
746
- return backendType === 'tmux' || backendType === 'herdr' || backendType === 'zellij' ? backendType : undefined;
747
- }
748
- function persistentSessionName(backendType, sessionId) {
749
- if (backendType === 'tmux')
750
- return TmuxBackend.sessionName(sessionId);
751
- if (backendType === 'zellij')
752
- return ZellijBackend.sessionName(sessionId);
753
- return HerdrBackend.sessionName(sessionId);
754
- }
755
- function probePersistentSession(backendType, name) {
756
- if (backendType === 'tmux')
757
- return TmuxBackend.probeSession(name);
758
- if (backendType === 'zellij')
759
- return ZellijBackend.probeSession(name);
760
- return HerdrBackend.probeSession(name);
761
- }
762
- function killPersistentSession(backendType, name) {
763
- if (backendType === 'tmux')
764
- TmuxBackend.killSession(name);
765
- else if (backendType === 'zellij')
766
- ZellijBackend.killSession(name);
767
- else
768
- HerdrBackend.killSession(name);
769
- }
770
738
  /**
771
739
  * Resolve a session's live web-terminal worker port, WAKING the worker on demand
772
740
  * if needed.