botmux 2.12.3 → 2.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.en.md +29 -0
  2. package/README.md +29 -0
  3. package/dist/adapters/cli/claude-code.d.ts +16 -0
  4. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  5. package/dist/adapters/cli/claude-code.js +54 -1
  6. package/dist/adapters/cli/claude-code.js.map +1 -1
  7. package/dist/cli.js +104 -8
  8. package/dist/cli.js.map +1 -1
  9. package/dist/config.d.ts +6 -0
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +8 -0
  12. package/dist/config.js.map +1 -1
  13. package/dist/core/dashboard-events.d.ts +57 -0
  14. package/dist/core/dashboard-events.d.ts.map +1 -0
  15. package/dist/core/dashboard-events.js +23 -0
  16. package/dist/core/dashboard-events.js.map +1 -0
  17. package/dist/core/dashboard-ipc-server.d.ts +43 -0
  18. package/dist/core/dashboard-ipc-server.d.ts.map +1 -0
  19. package/dist/core/dashboard-ipc-server.js +263 -0
  20. package/dist/core/dashboard-ipc-server.js.map +1 -0
  21. package/dist/core/dashboard-locate.d.ts +20 -0
  22. package/dist/core/dashboard-locate.d.ts.map +1 -0
  23. package/dist/core/dashboard-locate.js +26 -0
  24. package/dist/core/dashboard-locate.js.map +1 -0
  25. package/dist/core/dashboard-rows.d.ts +30 -0
  26. package/dist/core/dashboard-rows.d.ts.map +1 -0
  27. package/dist/core/dashboard-rows.js +48 -0
  28. package/dist/core/dashboard-rows.js.map +1 -0
  29. package/dist/core/scheduler.d.ts +20 -0
  30. package/dist/core/scheduler.d.ts.map +1 -1
  31. package/dist/core/scheduler.js +89 -2
  32. package/dist/core/scheduler.js.map +1 -1
  33. package/dist/core/session-manager.js +1 -1
  34. package/dist/core/session-manager.js.map +1 -1
  35. package/dist/core/types.d.ts +5 -0
  36. package/dist/core/types.d.ts.map +1 -1
  37. package/dist/core/types.js.map +1 -1
  38. package/dist/core/worker-pool.d.ts +55 -2
  39. package/dist/core/worker-pool.d.ts.map +1 -1
  40. package/dist/core/worker-pool.js +249 -5
  41. package/dist/core/worker-pool.js.map +1 -1
  42. package/dist/daemon.d.ts.map +1 -1
  43. package/dist/daemon.js +97 -4
  44. package/dist/daemon.js.map +1 -1
  45. package/dist/dashboard/aggregator.d.ts +41 -0
  46. package/dist/dashboard/aggregator.d.ts.map +1 -0
  47. package/dist/dashboard/aggregator.js +125 -0
  48. package/dist/dashboard/aggregator.js.map +1 -0
  49. package/dist/dashboard/auth.d.ts +23 -0
  50. package/dist/dashboard/auth.d.ts.map +1 -0
  51. package/dist/dashboard/auth.js +66 -0
  52. package/dist/dashboard/auth.js.map +1 -0
  53. package/dist/dashboard/registry.d.ts +28 -0
  54. package/dist/dashboard/registry.d.ts.map +1 -0
  55. package/dist/dashboard/registry.js +74 -0
  56. package/dist/dashboard/registry.js.map +1 -0
  57. package/dist/dashboard/web/app.d.ts +2 -0
  58. package/dist/dashboard/web/app.d.ts.map +1 -0
  59. package/dist/dashboard/web/app.js +42 -0
  60. package/dist/dashboard/web/app.js.map +1 -0
  61. package/dist/dashboard/web/groups.d.ts +2 -0
  62. package/dist/dashboard/web/groups.d.ts.map +1 -0
  63. package/dist/dashboard/web/groups.js +227 -0
  64. package/dist/dashboard/web/groups.js.map +1 -0
  65. package/dist/dashboard/web/schedules.d.ts +2 -0
  66. package/dist/dashboard/web/schedules.d.ts.map +1 -0
  67. package/dist/dashboard/web/schedules.js +105 -0
  68. package/dist/dashboard/web/schedules.js.map +1 -0
  69. package/dist/dashboard/web/sessions.d.ts +2 -0
  70. package/dist/dashboard/web/sessions.d.ts.map +1 -0
  71. package/dist/dashboard/web/sessions.js +187 -0
  72. package/dist/dashboard/web/sessions.js.map +1 -0
  73. package/dist/dashboard/web/store.d.ts +23 -0
  74. package/dist/dashboard/web/store.d.ts.map +1 -0
  75. package/dist/dashboard/web/store.js +82 -0
  76. package/dist/dashboard/web/store.js.map +1 -0
  77. package/dist/dashboard-web/app.js +157 -0
  78. package/dist/dashboard-web/index.html +22 -0
  79. package/dist/dashboard-web/style.css +57 -0
  80. package/dist/dashboard.d.ts +2 -0
  81. package/dist/dashboard.d.ts.map +1 -0
  82. package/dist/dashboard.js +334 -0
  83. package/dist/dashboard.js.map +1 -0
  84. package/dist/im/lark/card-handler.d.ts.map +1 -1
  85. package/dist/im/lark/card-handler.js +16 -2
  86. package/dist/im/lark/card-handler.js.map +1 -1
  87. package/dist/services/bridge-turn-queue.d.ts.map +1 -1
  88. package/dist/services/bridge-turn-queue.js +41 -9
  89. package/dist/services/bridge-turn-queue.js.map +1 -1
  90. package/dist/services/groups-store.d.ts +53 -0
  91. package/dist/services/groups-store.d.ts.map +1 -0
  92. package/dist/services/groups-store.js +134 -0
  93. package/dist/services/groups-store.js.map +1 -0
  94. package/dist/services/schedule-store.d.ts +1 -0
  95. package/dist/services/schedule-store.d.ts.map +1 -1
  96. package/dist/services/schedule-store.js +70 -1
  97. package/dist/services/schedule-store.js.map +1 -1
  98. package/dist/services/session-store.d.ts.map +1 -1
  99. package/dist/services/session-store.js +1 -0
  100. package/dist/services/session-store.js.map +1 -1
  101. package/dist/skills/definitions.d.ts.map +1 -1
  102. package/dist/skills/definitions.js +34 -0
  103. package/dist/skills/definitions.js.map +1 -1
  104. package/dist/types.d.ts +3 -0
  105. package/dist/types.d.ts.map +1 -1
  106. package/dist/worker.js +76 -15
  107. package/dist/worker.js.map +1 -1
  108. package/package.json +4 -2
@@ -0,0 +1,334 @@
1
+ // src/dashboard.ts
2
+ import { createServer } from 'node:http';
3
+ import { readFileSync, writeFileSync, existsSync, chmodSync, mkdirSync, statSync, } from 'node:fs';
4
+ import { join, dirname, extname } from 'node:path';
5
+ import { homedir } from 'node:os';
6
+ import { randomBytes } from 'node:crypto';
7
+ import { logger } from './utils/logger.js';
8
+ import { config } from './config.js';
9
+ import { generateToken, parseCookie, buildSetCookie, verifyHmac, } from './dashboard/auth.js';
10
+ import { DaemonRegistry } from './dashboard/registry.js';
11
+ import { Aggregator, subscribeDaemon } from './dashboard/aggregator.js';
12
+ const SECRET_PATH = join(homedir(), '.botmux', '.dashboard-secret');
13
+ const REGISTRY_DIR = join(homedir(), '.botmux', 'data', 'dashboard-daemons');
14
+ let activeToken = null;
15
+ function loadOrCreateSecret() {
16
+ if (existsSync(SECRET_PATH))
17
+ return readFileSync(SECRET_PATH, 'utf8').trim();
18
+ const s = randomBytes(32).toString('base64url');
19
+ mkdirSync(dirname(SECRET_PATH), { recursive: true });
20
+ writeFileSync(SECRET_PATH, s, { mode: 0o600 });
21
+ chmodSync(SECRET_PATH, 0o600);
22
+ logger.info(`[dashboard] Generated dashboard secret at ${SECRET_PATH}`);
23
+ return s;
24
+ }
25
+ const SECRET = loadOrCreateSecret();
26
+ mkdirSync(REGISTRY_DIR, { recursive: true });
27
+ const registry = new DaemonRegistry(REGISTRY_DIR);
28
+ const aggregator = new Aggregator();
29
+ const subs = new Map();
30
+ function syncSubscriptions() {
31
+ const online = new Set(registry.list().map(d => d.larkAppId));
32
+ // Open new subscriptions
33
+ for (const d of registry.list()) {
34
+ if (!subs.has(d.larkAppId)) {
35
+ subs.set(d.larkAppId, subscribeDaemon(d, aggregator, e => logger.warn(`[aggregator] ${d.larkAppId}: ${e.message}`)));
36
+ }
37
+ }
38
+ // Close subscriptions for offline daemons
39
+ for (const [id, off] of subs) {
40
+ if (!online.has(id)) {
41
+ off();
42
+ subs.delete(id);
43
+ }
44
+ }
45
+ }
46
+ await registry.start();
47
+ registry.on(syncSubscriptions);
48
+ syncSubscriptions();
49
+ // Initial hydrate from each online daemon
50
+ async function hydrate() {
51
+ for (const d of registry.list()) {
52
+ try {
53
+ const [sRes, schRes] = await Promise.all([
54
+ fetch(`http://127.0.0.1:${d.ipcPort}/api/sessions`),
55
+ fetch(`http://127.0.0.1:${d.ipcPort}/api/schedules`),
56
+ ]);
57
+ const s = await sRes.json();
58
+ const sch = await schRes.json();
59
+ aggregator.hydrateSessions(d.larkAppId, s.sessions ?? []);
60
+ aggregator.hydrateSchedules(sch.schedules ?? []);
61
+ }
62
+ catch (e) {
63
+ logger.warn(`[dashboard] hydrate ${d.larkAppId}: ${e.message ?? e}`);
64
+ }
65
+ }
66
+ }
67
+ await hydrate();
68
+ // ─── Static frontend ─────────────────────────────────────────────────────────
69
+ // Path to the bundled frontend (sibling of dist/dashboard.js)
70
+ const __dirname = dirname(new URL(import.meta.url).pathname);
71
+ const WEB_DIR = join(__dirname, 'dashboard-web');
72
+ const MIME = {
73
+ '.html': 'text/html; charset=utf-8',
74
+ '.js': 'application/javascript',
75
+ '.css': 'text/css',
76
+ '.svg': 'image/svg+xml',
77
+ '.woff2': 'font/woff2',
78
+ };
79
+ function serveStatic(_req, res, pathname) {
80
+ const rel = pathname === '/' ? 'index.html' : pathname.replace(/^\/+/, '');
81
+ const fp = join(WEB_DIR, rel);
82
+ // Path-traversal guard: resolved path must stay inside WEB_DIR
83
+ if (!fp.startsWith(WEB_DIR + '/') && fp !== join(WEB_DIR, 'index.html'))
84
+ return false;
85
+ try {
86
+ const st = statSync(fp);
87
+ if (!st.isFile())
88
+ return false;
89
+ res.writeHead(200, { 'content-type': MIME[extname(fp)] ?? 'application/octet-stream' });
90
+ res.end(readFileSync(fp));
91
+ return true;
92
+ }
93
+ catch {
94
+ return false;
95
+ }
96
+ }
97
+ // ─── HTTP routing ────────────────────────────────────────────────────────────
98
+ function authedToken(req, url) {
99
+ const q = url.searchParams.get('t');
100
+ if (q && q === activeToken)
101
+ return q;
102
+ return parseCookie(req.headers.cookie);
103
+ }
104
+ function jsonRes(res, status, body) {
105
+ res.writeHead(status, { 'content-type': 'application/json' });
106
+ res.end(JSON.stringify(body));
107
+ }
108
+ async function proxyToDaemon(larkAppId, daemonPath, init) {
109
+ const d = registry.getByAppId(larkAppId);
110
+ if (!d) {
111
+ return new Response(JSON.stringify({ ok: false, error: 'daemon_offline' }), {
112
+ status: 503,
113
+ headers: { 'content-type': 'application/json' },
114
+ });
115
+ }
116
+ return fetch(`http://127.0.0.1:${d.ipcPort}${daemonPath}`, init);
117
+ }
118
+ const server = createServer(async (req, res) => {
119
+ try {
120
+ const url = new URL(req.url ?? '/', `http://${req.headers.host ?? 'localhost'}`);
121
+ // Health probe (no auth) — for pm2
122
+ if (url.pathname === '/__health') {
123
+ return jsonRes(res, 200, { ok: true });
124
+ }
125
+ // CLI rotate (HMAC + loopback only) — for `botmux dashboard`
126
+ if (req.method === 'POST' && url.pathname === '/__cli/rotate') {
127
+ const ts = req.headers['x-botmux-cli-ts'];
128
+ const nonce = req.headers['x-botmux-cli-nonce'];
129
+ const sig = req.headers['x-botmux-cli-auth'];
130
+ if (typeof ts !== 'string' || typeof nonce !== 'string' || typeof sig !== 'string') {
131
+ return jsonRes(res, 400, { error: 'missing_headers' });
132
+ }
133
+ const remote = (req.socket.remoteAddress ?? '').replace(/^::ffff:/, '');
134
+ const r = verifyHmac(SECRET, { ts, nonce, sig }, remote);
135
+ if (!r.ok)
136
+ return jsonRes(res, 401, { error: 'unauthorized', reason: r.reason });
137
+ activeToken = generateToken();
138
+ const fullUrl = `http://${config.dashboard.externalHost}:${config.dashboard.port}/?t=${activeToken}`;
139
+ return jsonRes(res, 200, { url: fullUrl });
140
+ }
141
+ // All other paths require an authenticated session.
142
+ const tok = authedToken(req, url);
143
+ if (!tok || tok !== activeToken) {
144
+ res.writeHead(401, { 'content-type': 'text/html; charset=utf-8' });
145
+ res.end('<h1>Token expired</h1><p>Run <code>botmux dashboard</code> to get a fresh URL.</p>');
146
+ return;
147
+ }
148
+ // First hit with `?t=<token>` sets the cookie + redirects to clean URL.
149
+ if (url.searchParams.has('t')) {
150
+ res.writeHead(302, {
151
+ 'set-cookie': buildSetCookie(tok),
152
+ 'location': url.pathname || '/',
153
+ });
154
+ res.end();
155
+ return;
156
+ }
157
+ // ─── Static frontend (index.html + /assets/*) ──────────────────────────
158
+ if (req.method === 'GET' && (url.pathname === '/' || url.pathname.startsWith('/assets/'))) {
159
+ // Map /assets/foo.js → WEB_DIR/foo.js
160
+ const lookupPath = url.pathname.startsWith('/assets/')
161
+ ? '/' + url.pathname.slice(8)
162
+ : url.pathname;
163
+ if (serveStatic(req, res, lookupPath))
164
+ return;
165
+ }
166
+ // ─── Public API (cookie/token already validated above) ──────────────────
167
+ if (req.method === 'GET' && url.pathname === '/api/sessions') {
168
+ return jsonRes(res, 200, { sessions: aggregator.getSessions() });
169
+ }
170
+ if (req.method === 'GET' && url.pathname === '/api/schedules') {
171
+ return jsonRes(res, 200, { schedules: aggregator.getSchedules() });
172
+ }
173
+ let m;
174
+ if (req.method === 'POST' && (m = url.pathname.match(/^\/api\/sessions\/([^/]+)\/(close|locate)$/))) {
175
+ const sid = decodeURIComponent(m[1]);
176
+ const op = m[2];
177
+ const owner = aggregator.ownerOf(sid);
178
+ if (!owner)
179
+ return jsonRes(res, 404, { ok: false, error: 'unknown_session' });
180
+ const upstream = await proxyToDaemon(owner, `/api/sessions/${sid}/${op}`, { method: 'POST' });
181
+ res.writeHead(upstream.status, { 'content-type': 'application/json' });
182
+ res.end(await upstream.text());
183
+ return;
184
+ }
185
+ if (req.method === 'POST' && (m = url.pathname.match(/^\/api\/schedules\/([^/]+)\/(run|pause|resume)$/))) {
186
+ const id = decodeURIComponent(m[1]);
187
+ const op = m[2];
188
+ const owner = aggregator.scheduleOwnerOf(id);
189
+ if (!owner)
190
+ return jsonRes(res, 404, { ok: false, error: 'unknown_schedule' });
191
+ const upstream = await proxyToDaemon(owner, `/api/schedules/${id}/${op}`, { method: 'POST' });
192
+ res.writeHead(upstream.status, { 'content-type': 'application/json' });
193
+ res.end(await upstream.text());
194
+ return;
195
+ }
196
+ // ─── Groups (Phase B) ────────────────────────────────────────────────────
197
+ if (req.method === 'GET' && url.pathname === '/api/groups') {
198
+ // Fan out: each online daemon returns the chats its bot is in.
199
+ // Merge by chatId; populate memberBots with inChat flags for every configured bot.
200
+ const out = new Map();
201
+ const onlineBots = registry.list();
202
+ await Promise.all(onlineBots.map(async (d) => {
203
+ try {
204
+ const r = await fetch(`http://127.0.0.1:${d.ipcPort}/api/groups`);
205
+ if (!r.ok)
206
+ return;
207
+ const j = await r.json();
208
+ for (const c of j.chats ?? []) {
209
+ const cur = out.get(c.chatId) ?? { ...c, memberBots: [] };
210
+ cur.memberBots.push({ larkAppId: d.larkAppId, botName: d.botName, inChat: true });
211
+ out.set(c.chatId, cur);
212
+ }
213
+ }
214
+ catch { /* skip offline daemons silently — best-effort */ }
215
+ }));
216
+ // Fill in inChat:false slots for bots NOT returned for a given chat (matrix view)
217
+ for (const c of out.values()) {
218
+ const present = new Set(c.memberBots.map((mb) => mb.larkAppId));
219
+ for (const b of onlineBots) {
220
+ if (!present.has(b.larkAppId)) {
221
+ c.memberBots.push({ larkAppId: b.larkAppId, botName: b.botName, inChat: false });
222
+ }
223
+ }
224
+ }
225
+ return jsonRes(res, 200, {
226
+ chats: [...out.values()].sort((a, b) => (a.name ?? a.chatId).localeCompare(b.name ?? b.chatId)),
227
+ bots: onlineBots.map(b => ({ larkAppId: b.larkAppId, botName: b.botName })),
228
+ });
229
+ }
230
+ let m2;
231
+ if (req.method === 'POST' && (m2 = url.pathname.match(/^\/api\/groups\/([^/]+)\/add-bots$/))) {
232
+ const chatId = decodeURIComponent(m2[1]);
233
+ // Read body once; we'll forward it to the proxy daemon
234
+ let raw;
235
+ try {
236
+ const chunks = [];
237
+ for await (const c of req)
238
+ chunks.push(c);
239
+ raw = Buffer.concat(chunks).toString('utf8') || '{}';
240
+ JSON.parse(raw); // validate is JSON
241
+ }
242
+ catch {
243
+ return jsonRes(res, 400, { ok: false, error: 'bad_json' });
244
+ }
245
+ // Find a daemon whose bot is already in this chat
246
+ let proxy;
247
+ for (const d of registry.list()) {
248
+ try {
249
+ const r = await fetch(`http://127.0.0.1:${d.ipcPort}/api/groups/${encodeURIComponent(chatId)}/membership`);
250
+ if (!r.ok)
251
+ continue;
252
+ const j = await r.json();
253
+ if (j.inChat) {
254
+ proxy = d;
255
+ break;
256
+ }
257
+ }
258
+ catch { /* skip */ }
259
+ }
260
+ if (!proxy)
261
+ return jsonRes(res, 200, { ok: false, error: 'no_proxy_bot' });
262
+ const upstream = await fetch(`http://127.0.0.1:${proxy.ipcPort}/api/groups/${encodeURIComponent(chatId)}/add-bots`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: raw });
263
+ res.writeHead(upstream.status, { 'content-type': 'application/json' });
264
+ res.end(await upstream.text());
265
+ return;
266
+ }
267
+ // Create a new chat — pick any online daemon as the creator/owner.
268
+ if (req.method === 'POST' && url.pathname === '/api/groups/create') {
269
+ let raw;
270
+ try {
271
+ const chunks = [];
272
+ for await (const c of req)
273
+ chunks.push(c);
274
+ raw = Buffer.concat(chunks).toString('utf8') || '{}';
275
+ JSON.parse(raw);
276
+ }
277
+ catch {
278
+ return jsonRes(res, 400, { ok: false, error: 'bad_json' });
279
+ }
280
+ const online = registry.list();
281
+ if (online.length === 0) {
282
+ return jsonRes(res, 503, { ok: false, error: 'no_online_daemon' });
283
+ }
284
+ // First online daemon = creator. The body's larkAppIds list may include
285
+ // the creator; the daemon-side createChat filters that out before the
286
+ // Feishu call.
287
+ const creator = online[0];
288
+ const upstream = await fetch(`http://127.0.0.1:${creator.ipcPort}/api/groups/create`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: raw });
289
+ res.writeHead(upstream.status, { 'content-type': 'application/json' });
290
+ res.end(await upstream.text());
291
+ return;
292
+ }
293
+ // Public SSE — relays aggregator's listener events
294
+ if (req.method === 'GET' && url.pathname === '/events') {
295
+ res.writeHead(200, {
296
+ 'content-type': 'text/event-stream',
297
+ 'cache-control': 'no-cache, no-transform',
298
+ 'connection': 'keep-alive',
299
+ });
300
+ res.write('retry: 5000\n\n');
301
+ const off = aggregator.on(ev => {
302
+ res.write(`event: ${ev.type}\ndata: ${JSON.stringify({ larkAppId: ev.larkAppId, body: ev.body })}\n\n`);
303
+ });
304
+ const hb = setInterval(() => {
305
+ res.write(`event: heartbeat\ndata: ${JSON.stringify({ ts: Date.now() })}\n\n`);
306
+ }, 15_000);
307
+ res.on('close', () => { off(); clearInterval(hb); });
308
+ return;
309
+ }
310
+ // Public API + static frontend land in Task 17 / 18. For now: 404.
311
+ jsonRes(res, 404, { error: 'not_found_yet', path: url.pathname });
312
+ }
313
+ catch (err) {
314
+ logger.error('[dashboard] handler error', err);
315
+ if (!res.headersSent)
316
+ jsonRes(res, 500, { error: String(err) });
317
+ }
318
+ });
319
+ server.listen(config.dashboard.port, config.dashboard.host, () => {
320
+ logger.info(`[dashboard] listening on ${config.dashboard.host}:${config.dashboard.port}`);
321
+ });
322
+ // Graceful shutdown
323
+ function shutdown() {
324
+ for (const off of subs.values())
325
+ off();
326
+ subs.clear();
327
+ registry.stop();
328
+ server.close(() => process.exit(0));
329
+ // Hard-exit fallback after 5s
330
+ setTimeout(() => process.exit(0), 5_000).unref();
331
+ }
332
+ process.on('SIGTERM', shutdown);
333
+ process.on('SIGINT', shutdown);
334
+ //# sourceMappingURL=dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../src/dashboard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"card-handler.d.ts","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIrE,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzG,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;CAC1C;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrC,CAAC;IACF,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAUD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAyhBpH"}
1
+ {"version":3,"file":"card-handler.d.ts","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIrE,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzG,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;CAC1C;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrC,CAAC;IACF,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAUD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAuiBpH"}
@@ -6,7 +6,7 @@ import { buildSessionCard, buildStreamingCard, buildTuiPromptCard, buildTuiPromp
6
6
  import { logger } from '../../utils/logger.js';
7
7
  import * as sessionStore from '../../services/session-store.js';
8
8
  import { loadFrozenCards, saveFrozenCards } from '../../services/frozen-card-store.js';
9
- import { forkWorker, killWorker, scheduleCardPatch } from '../../core/worker-pool.js';
9
+ import { forkWorker, killWorker, scheduleCardPatch, parkStreamCard } from '../../core/worker-pool.js';
10
10
  import { getSessionWorkingDir, buildNewTopicPrompt, getAvailableBots, persistStreamCardState } from '../../core/session-manager.js';
11
11
  import { sessionKey, frozenDisplayMode } from '../../core/types.js';
12
12
  // ─── Helpers ──────────────────────────────────────────────────────────────
@@ -443,12 +443,26 @@ export async function handleCardAction(data, deps, larkAppId) {
443
443
  logger.info(`[${tag(targetDs)}] Repo selected: ${selectedPath}, spawning CLI`);
444
444
  }
445
445
  else {
446
- // Mid-session repo switch — close old session, start fresh
446
+ // Mid-session repo switch — close old session, start fresh.
447
447
  killWorker(targetDs);
448
+ // Park the current card in `frozenCards` so the next POST under the new
449
+ // session sweeps it via recall. closeSession() wipes the on-disk
450
+ // frozen-cards file under the OLD sessionId, but the in-memory Map
451
+ // travels with `targetDs` into the new session and still carries the
452
+ // old messageId for deletion. If fork or POST fails, the parked card
453
+ // stays in the thread instead of vanishing prematurely.
454
+ parkStreamCard(targetDs);
448
455
  sessionStore.closeSession(targetDs.session.sessionId);
449
456
  const session = sessionStore.createSession(targetDs.chatId, rootId, displayName, targetDs.chatType);
450
457
  targetDs.session = session;
451
458
  targetDs.hasHistory = false;
459
+ // Re-persist the parked card under the NEW sessionId so a daemon crash
460
+ // before the next POST doesn't strand it. closeSession() above wiped
461
+ // the on-disk file under the OLD sessionId; without this re-save, the
462
+ // in-memory Map only survives in process memory.
463
+ if (targetDs.frozenCards && targetDs.frozenCards.size > 0) {
464
+ saveFrozenCards(targetDs.session.sessionId, targetDs.frozenCards);
465
+ }
452
466
  // Drop the old turn's streaming-card reference so worker_ready POSTs a
453
467
  // fresh card for the new session instead of PATCHing the previous one.
454
468
  targetDs.streamCardId = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"card-handler.js","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card-handler.js","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-turn-queue.d.ts","sourceRoot":"","sources":["../../src/services/bridge-turn-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAwB,uBAAuB,EAAyB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIpI,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;+EAI2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;gEAG4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;2DAIuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;oEAMgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;mBAKe;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;wEAGoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAQD;;;6CAG6C;AAC7C,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,MAAM,GAAG,SAAS,CAK7E;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,UAAU,CAAkC;IAEpD;uEACmE;IACnE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI;IAMvC;;;;;;;8EAO0E;IAC1E,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,UAAU,GAAE,MAAmB,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI;IAWpH;;2DAEuD;IACvD,YAAY,IAAI,iBAAiB,EAAE;IAMnC;;;;;;;;yEAQqE;IACrE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAoFjE;;gEAE4D;IAC5D,cAAc,IAAI,iBAAiB,EAAE;IAYrC,qDAAqD;IACrD,IAAI,IAAI,MAAM;IAId,qDAAqD;IACrD,IAAI,IAAI,SAAS,iBAAiB,EAAE;CAGrC"}
1
+ {"version":3,"file":"bridge-turn-queue.d.ts","sourceRoot":"","sources":["../../src/services/bridge-turn-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAwB,uBAAuB,EAAyB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIpI,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;+EAI2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;gEAG4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;2DAIuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;oEAMgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;mBAKe;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;wEAGoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAQD;;;6CAG6C;AAC7C,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,MAAM,GAAG,SAAS,CAK7E;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,UAAU,CAAkC;IAEpD;uEACmE;IACnE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI;IAMvC;;;;;;;8EAO0E;IAC1E,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,UAAU,GAAE,MAAmB,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI;IAWpH;;2DAEuD;IACvD,YAAY,IAAI,iBAAiB,EAAE;IAMnC;;;;;;;;yEAQqE;IACrE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAiHjE;;gEAE4D;IAC5D,cAAc,IAAI,iBAAiB,EAAE;IAYrC,qDAAqD;IACrD,IAAI,IAAI,MAAM;IAId,qDAAqD;IACrD,IAAI,IAAI,SAAS,iBAAiB,EAAE;CAGrC"}
@@ -119,13 +119,18 @@ export class BridgeTurnQueue {
119
119
  // wrong turn.
120
120
  if (!isMeaningfulUserEvent(ev))
121
121
  continue;
122
- // Defensive: if the previous local turn never accumulated any
123
- // assistant text (Claude crashed / was killed / user cancelled
124
- // mid-response), drop it now so its empty `assistantUuids` doesn't
125
- // head-of-line block every subsequent emit. Lark turns are NOT
126
- // dropped here they may still be in tool-use legitimately, and
127
- // Lark-side timeout is tracked separately by the daemon.
128
- if (this.collecting && this.collecting.isLocal && this.collecting.assistantUuids.length === 0) {
122
+ // Defensive: if the previous turn never accumulated any assistant
123
+ // text, drop it now so its empty `assistantUuids` doesn't
124
+ // head-of-line block every subsequent emit. Applies to BOTH local
125
+ // and Lark turns: Claude is single-threaded over the PTY, so a new
126
+ // meaningful user event in the transcript means the model has
127
+ // already moved on from the previous turn — if no visible text
128
+ // landed by now, none ever will (e.g. post-/clear "good" silence,
129
+ // or model emitted only tool_use without a follow-up text). Tool-use
130
+ // mid-stream is NOT affected: the tool_result events that come
131
+ // between tool_use and the final text are filtered out by
132
+ // `isMeaningfulUserEvent` above and never reach this branch.
133
+ if (this.collecting && this.collecting.assistantUuids.length === 0) {
129
134
  const idx = this.queue.indexOf(this.collecting);
130
135
  if (idx >= 0)
131
136
  this.queue.splice(idx, 1);
@@ -186,9 +191,36 @@ export class BridgeTurnQueue {
186
191
  else if (role === 'assistant') {
187
192
  if (ev.isSidechain === true)
188
193
  continue;
189
- if (this.collecting && assistantHasVisibleText(ev.message?.content)) {
190
- this.collecting.assistantUuids.push(uuid);
194
+ if (!assistantHasVisibleText(ev.message?.content))
195
+ continue;
196
+ if (!this.collecting) {
197
+ // Headless local turn: assistant text arrived without any
198
+ // collecting context. Typical trigger: daemon restart cut off
199
+ // an in-flight model stream — baseline absorbed the original
200
+ // user event (uuid added to `seen`) and the worker process lost
201
+ // its in-memory `collecting` pointer. Without this synthesis the
202
+ // continuation would be silently dropped (assistantHasVisibleText
203
+ // events with no `collecting` were just skipped before).
204
+ // Headless turns have no userUuid; emit-side formatting omits
205
+ // the user block. Inserted at the head of the unstarted region
206
+ // so a subsequent normal turn doesn't get reordered ahead of it.
207
+ const headless = {
208
+ turnId: `local-headless-${uuid}`,
209
+ started: true,
210
+ isLocal: true,
211
+ userUuid: undefined,
212
+ assistantUuids: [],
213
+ sourceJsonlPath,
214
+ markTimeMs: Date.now(),
215
+ };
216
+ const insertAt = this.queue.findIndex(t => !t.started);
217
+ if (insertAt === -1)
218
+ this.queue.push(headless);
219
+ else
220
+ this.queue.splice(insertAt, 0, headless);
221
+ this.collecting = headless;
191
222
  }
223
+ this.collecting.assistantUuids.push(uuid);
192
224
  }
193
225
  }
194
226
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-turn-queue.js","sourceRoot":"","sources":["../../src/services/bridge-turn-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-turn-queue.js","sourceRoot":"","sources":["../../src/services/bridge-turn-queue.ts"],"names":[],"mappings":"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"}