botmux 3.16.0 → 3.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/.runtime-build-id +1 -1
  2. package/dist/core/dashboard-url.d.ts +10 -1
  3. package/dist/core/dashboard-url.d.ts.map +1 -1
  4. package/dist/core/dashboard-url.js +12 -2
  5. package/dist/core/dashboard-url.js.map +1 -1
  6. package/dist/core/plugins/mcp/gateway.d.ts +27 -3
  7. package/dist/core/plugins/mcp/gateway.d.ts.map +1 -1
  8. package/dist/core/plugins/mcp/gateway.js +272 -26
  9. package/dist/core/plugins/mcp/gateway.js.map +1 -1
  10. package/dist/core/plugins/mcp/host.d.ts +18 -0
  11. package/dist/core/plugins/mcp/host.d.ts.map +1 -1
  12. package/dist/core/plugins/mcp/host.js +80 -16
  13. package/dist/core/plugins/mcp/host.js.map +1 -1
  14. package/dist/core/plugins/mcp/launch-record.d.ts +14 -0
  15. package/dist/core/plugins/mcp/launch-record.d.ts.map +1 -0
  16. package/dist/core/plugins/mcp/launch-record.js +63 -0
  17. package/dist/core/plugins/mcp/launch-record.js.map +1 -0
  18. package/dist/core/worker-pool.d.ts +10 -2
  19. package/dist/core/worker-pool.d.ts.map +1 -1
  20. package/dist/core/worker-pool.js +30 -3
  21. package/dist/core/worker-pool.js.map +1 -1
  22. package/dist/dashboard/control-csrf.d.ts.map +1 -1
  23. package/dist/dashboard/control-csrf.js +6 -1
  24. package/dist/dashboard/control-csrf.js.map +1 -1
  25. package/dist/dashboard/terminal-front-proxy.d.ts.map +1 -1
  26. package/dist/dashboard/terminal-front-proxy.js +19 -1
  27. package/dist/dashboard/terminal-front-proxy.js.map +1 -1
  28. package/dist/i18n/en.d.ts.map +1 -1
  29. package/dist/i18n/en.js +1 -0
  30. package/dist/i18n/en.js.map +1 -1
  31. package/dist/i18n/zh.d.ts.map +1 -1
  32. package/dist/i18n/zh.js +1 -0
  33. package/dist/i18n/zh.js.map +1 -1
  34. package/dist/im/lark/card-handler.d.ts.map +1 -1
  35. package/dist/im/lark/card-handler.js +65 -4
  36. package/dist/im/lark/card-handler.js.map +1 -1
  37. package/dist/platform/binding.d.ts +27 -0
  38. package/dist/platform/binding.d.ts.map +1 -1
  39. package/dist/platform/binding.js +40 -0
  40. package/dist/platform/binding.js.map +1 -1
  41. package/dist/services/bridge-turn-journal.d.ts +63 -0
  42. package/dist/services/bridge-turn-journal.d.ts.map +1 -0
  43. package/dist/services/bridge-turn-journal.js +149 -0
  44. package/dist/services/bridge-turn-journal.js.map +1 -0
  45. package/dist/services/bridge-turn-queue.d.ts +8 -1
  46. package/dist/services/bridge-turn-queue.d.ts.map +1 -1
  47. package/dist/services/bridge-turn-queue.js +2 -1
  48. package/dist/services/bridge-turn-queue.js.map +1 -1
  49. package/dist/worker.js +270 -19
  50. package/dist/worker.js.map +1 -1
  51. package/package.json +1 -1
@@ -6,6 +6,24 @@ export interface SessionMcpGatewayHost {
6
6
  }
7
7
  /** Seatbelt deny for every Gateway socket directory owned by this OS user. */
8
8
  export declare function sessionMcpGatewayPathRegex(socketRoot: string, uid?: number): string;
9
+ /** Deterministic per-session Gateway socket directory.
10
+ *
11
+ * The name is a pure function of (dataDir, sessionId) — NO random component —
12
+ * so a replacement worker (daemon restart / upgrade) re-serves the socket at
13
+ * the exact path a surviving persistent pane's relay already holds in its
14
+ * environment, and the relay can simply reconnect instead of the worker having
15
+ * to kill the pane and cold-resume the CLI.
16
+ *
17
+ * Stays under tmpdir (not dataDir) to keep the Unix socket below macOS's short
18
+ * sun_path limit, and keeps the `bmcp-<uid>-` prefix so the existing Seatbelt
19
+ * deny regex (sessionMcpGatewayPathRegex) covers it unchanged. The predictable
20
+ * name is safe because ensurePrivateGatewayDir fails closed unless the
21
+ * directory is a real 0700 directory owned by this uid — a squatter can only
22
+ * DoS session startup, never observe traffic (connections still require the
23
+ * rotating auth token). */
24
+ export declare function sessionMcpGatewaySocketDir(sessionId: string, dataDir: string): string;
25
+ /** Deterministic per-session Gateway socket path (see sessionMcpGatewaySocketDir). */
26
+ export declare function sessionMcpGatewaySocketPath(sessionId: string, dataDir: string): string;
9
27
  /**
10
28
  * Serve a session's credential-bearing Gateway in the trusted worker process.
11
29
  * The CLI receives only a Unix socket capability and never reads the runtime
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../../src/core/plugins/mcp/host.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,KAAK,kCAAkC,EAAE,MAAM,cAAc,CAAC;AAGzF,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAMD,8EAA8E;AAC9E,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAgC,GACpC,MAAM,CAGR;AAeD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,kCAAkC,CAAC;IACzD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA6FjC"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../../src/core/plugins/mcp/host.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,KAAK,kCAAkC,EAAE,MAAM,cAAc,CAAC;AAGzF,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAMD,8EAA8E;AAC9E,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAgC,GACpC,MAAM,CAGR;AAED;;;;;;;;;;;;;;2BAc2B;AAC3B,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CASrF;AAED,sFAAsF;AACtF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtF;AAoCD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,kCAAkC,CAAC;IACzD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAyGjC"}
@@ -1,5 +1,5 @@
1
1
  import { createHash, randomBytes } from 'node:crypto';
2
- import { chmodSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
2
+ import { chmodSync, lstatSync, mkdirSync, renameSync, rmSync, writeFileSync } from 'node:fs';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { join } from 'node:path';
5
5
  import { createServer } from 'node:net';
@@ -14,17 +14,69 @@ export function sessionMcpGatewayPathRegex(socketRoot, uid = process.getuid?.()
14
14
  const root = socketRoot.replace(/\/+$/, '');
15
15
  return `^${escapeForRegex(root)}/bmcp-${uid}-[^/]+(?:/|$)`;
16
16
  }
17
- function gatewaySocketDir(sessionId, dataDir) {
17
+ /** Deterministic per-session Gateway socket directory.
18
+ *
19
+ * The name is a pure function of (dataDir, sessionId) — NO random component —
20
+ * so a replacement worker (daemon restart / upgrade) re-serves the socket at
21
+ * the exact path a surviving persistent pane's relay already holds in its
22
+ * environment, and the relay can simply reconnect instead of the worker having
23
+ * to kill the pane and cold-resume the CLI.
24
+ *
25
+ * Stays under tmpdir (not dataDir) to keep the Unix socket below macOS's short
26
+ * sun_path limit, and keeps the `bmcp-<uid>-` prefix so the existing Seatbelt
27
+ * deny regex (sessionMcpGatewayPathRegex) covers it unchanged. The predictable
28
+ * name is safe because ensurePrivateGatewayDir fails closed unless the
29
+ * directory is a real 0700 directory owned by this uid — a squatter can only
30
+ * DoS session startup, never observe traffic (connections still require the
31
+ * rotating auth token). */
32
+ export function sessionMcpGatewaySocketDir(sessionId, dataDir) {
18
33
  const uid = process.getuid?.() ?? 0;
19
34
  const sessionKey = createHash('sha256')
20
35
  .update(dataDir)
21
36
  .update('\0')
22
37
  .update(sessionId)
23
38
  .digest('hex')
24
- .slice(0, 8);
25
- // mkdtemp is atomic, avoids a predictable shared parent under /tmp, and
26
- // keeps the resulting Unix socket below macOS's short sun_path limit.
27
- return mkdtempSync(join(tmpdir(), `bmcp-${uid}-${sessionKey}-`));
39
+ .slice(0, 16);
40
+ return join(tmpdir(), `bmcp-${uid}-${sessionKey}`);
41
+ }
42
+ /** Deterministic per-session Gateway socket path (see sessionMcpGatewaySocketDir). */
43
+ export function sessionMcpGatewaySocketPath(sessionId, dataDir) {
44
+ return join(sessionMcpGatewaySocketDir(sessionId, dataDir), 'g.sock');
45
+ }
46
+ /** Create-or-verify the deterministic socket directory. Fail closed on
47
+ * anything that is not a 0700 directory owned by this uid: a symlink or a
48
+ * foreign-owned squat must abort session startup rather than let the Gateway
49
+ * serve (or the token be written) through an attacker-controlled path. */
50
+ function ensurePrivateGatewayDir(dir) {
51
+ try {
52
+ mkdirSync(dir, { mode: 0o700 });
53
+ return;
54
+ }
55
+ catch (err) {
56
+ if (err?.code !== 'EEXIST')
57
+ throw err;
58
+ }
59
+ const stat = lstatSync(dir);
60
+ if (!stat.isDirectory()) {
61
+ throw new Error(`Gateway socket dir ${dir} exists and is not a directory (planted symlink/file?)`);
62
+ }
63
+ const uid = process.getuid?.();
64
+ if (uid !== undefined && stat.uid !== uid) {
65
+ throw new Error(`Gateway socket dir ${dir} is owned by uid ${stat.uid} (expected ${uid})`);
66
+ }
67
+ if ((stat.mode & 0o077) !== 0)
68
+ chmodSync(dir, 0o700);
69
+ }
70
+ /** Rotate the Gateway auth token atomically (tmp + rename) so a relay that
71
+ * re-reads the file mid-rotation always sees either the old or the new token,
72
+ * never a partial write or a missing file. */
73
+ function rotateGatewayAuthToken(socketPath) {
74
+ const token = randomBytes(32).toString('base64url');
75
+ const finalPath = mcpGatewayAuthTokenPath(socketPath);
76
+ const tmpPath = `${finalPath}.${process.pid}.${randomBytes(4).toString('hex')}.tmp`;
77
+ writeFileSync(tmpPath, `${token}\n`, { mode: 0o600, flag: 'wx' });
78
+ renameSync(tmpPath, finalPath);
79
+ return token;
28
80
  }
29
81
  /**
30
82
  * Serve a session's credential-bearing Gateway in the trusted worker process.
@@ -32,11 +84,14 @@ function gatewaySocketDir(sessionId, dataDir) {
32
84
  * descriptor snapshot or plugin credentials itself.
33
85
  */
34
86
  export async function startSessionMcpGatewayHost(opts) {
35
- const socketDir = gatewaySocketDir(opts.sessionId, opts.dataDir);
87
+ const socketDir = sessionMcpGatewaySocketDir(opts.sessionId, opts.dataDir);
36
88
  const socketPath = join(socketDir, 'g.sock');
37
- const authToken = randomBytes(32).toString('base64url');
38
- chmodSync(socketDir, 0o700);
39
- writeFileSync(mcpGatewayAuthTokenPath(socketPath), `${authToken}\n`, { mode: 0o600, flag: 'wx' });
89
+ ensurePrivateGatewayDir(socketDir);
90
+ // A stale socket file from a dead worker generation blocks bind(); a live
91
+ // predecessor is impossible (the daemon runs one worker per session), so
92
+ // removing it unconditionally is safe and makes the fresh host authoritative.
93
+ rmSync(socketPath, { force: true });
94
+ const authToken = rotateGatewayAuthToken(socketPath);
40
95
  const sockets = new Set();
41
96
  const connectionClosers = new Set();
42
97
  let closing;
@@ -88,7 +143,7 @@ export async function startSessionMcpGatewayHost(opts) {
88
143
  server.once('listening', onListening);
89
144
  server.listen(socketPath);
90
145
  }).catch((error) => {
91
- rmSync(socketDir, { recursive: true, force: true });
146
+ rmSync(socketPath, { force: true });
92
147
  throw error;
93
148
  });
94
149
  server.on('error', reportError);
@@ -97,7 +152,7 @@ export async function startSessionMcpGatewayHost(opts) {
97
152
  }
98
153
  catch (error) {
99
154
  server.close();
100
- rmSync(socketDir, { recursive: true, force: true });
155
+ rmSync(socketPath, { force: true });
101
156
  throw error;
102
157
  }
103
158
  return {
@@ -107,10 +162,19 @@ export async function startSessionMcpGatewayHost(opts) {
107
162
  closing ??= (async () => {
108
163
  for (const socket of sockets)
109
164
  socket.destroy();
110
- // Revoke the filesystem capability before the first await. Worker
111
- // signal handlers call process.exit(), so async-only cleanup would
112
- // otherwise leave a stale socket directory behind.
113
- rmSync(socketDir, { recursive: true, force: true });
165
+ // Revoke the listener capability before the first await. Worker signal
166
+ // handlers call process.exit(), so async-only cleanup would otherwise
167
+ // leave a stale connectable socket behind.
168
+ //
169
+ // Deliberately unlink ONLY the socket file — the directory (and the
170
+ // auth token inside it) must survive worker generations: a sandboxed
171
+ // persistent pane bind-mounts this directory BY INODE (bwrap --ro-bind),
172
+ // so deleting and recreating the directory would permanently detach the
173
+ // pane's view. The replacement host reuses the directory in place,
174
+ // rotates the token, and re-binds the socket at the same path so the
175
+ // pane's relay can reconnect. A token file without a listener grants
176
+ // nothing.
177
+ rmSync(socketPath, { force: true });
114
178
  const serverClosed = new Promise((resolve) => {
115
179
  if (!server.listening) {
116
180
  resolve();
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../src/core/plugins/mcp/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../src/core/plugins/mcp/host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAyC,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAA2C,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAQtF,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,0BAA0B,CACxC,UAAkB,EAClB,MAAc,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC;IAErC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;;;2BAc2B;AAC3B,MAAM,UAAU,0BAA0B,CAAC,SAAiB,EAAE,OAAe;IAC3E,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;SACpC,MAAM,CAAC,OAAO,CAAC;SACf,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,SAAS,CAAC;SACjB,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,2BAA2B,CAAC,SAAiB,EAAE,OAAe;IAC5E,OAAO,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxE,CAAC;AAED;;;2EAG2E;AAC3E,SAAS,uBAAuB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,SAAS,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IACxC,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,wDAAwD,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAC/B,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,oBAAoB,IAAI,CAAC,GAAG,cAAc,GAAG,GAAG,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAED;;+CAE+C;AAC/C,SAAS,sBAAsB,CAAC,UAAkB;IAChD,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;IACpF,aAAa,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAKhD;IACC,MAAM,SAAS,GAAG,0BAA0B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7C,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,0EAA0E;IAC1E,yEAAyE;IACzE,8EAA8E;IAC9E,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzD,IAAI,OAAkC,CAAC;IACvC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAQ,EAAE;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;IAEF,MAAM,MAAM,GAAc,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;QAChD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC,MAAM,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC;gBAAE,OAAO;YAChE,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,SAAS,EAAE;gBAC9C,GAAG,OAAO,CAAC,GAAG;gBACd,gBAAgB,EAAE,IAAI,CAAC,OAAO;gBAC9B,iBAAiB,EAAE,IAAI,CAAC,SAAS;aAClC,EAAE;gBACD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,CAAC,CAAC;YACH,IAAI,YAAuC,CAAC;YAC5C,MAAM,YAAY,GAAG,GAAkB,EAAE;gBACvC,YAAY,KAAK,OAAO,CAAC,KAAK,EAAE;qBAC7B,KAAK,CAAC,WAAW,CAAC;qBAClB,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;gBACzD,OAAO,YAAY,CAAC;YACtB,CAAC,CAAC;YACF,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,cAAc,GAAG,CAAC,KAAY,EAAE,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO;QACL,UAAU;QACV,SAAS;QACT,KAAK;YACH,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE;gBACtB,KAAK,MAAM,MAAM,IAAI,OAAO;oBAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/C,uEAAuE;gBACvE,sEAAsE;gBACtE,2CAA2C;gBAC3C,EAAE;gBACF,oEAAoE;gBACpE,qEAAqE;gBACrE,yEAAyE;gBACzE,wEAAwE;gBACxE,mEAAmE;gBACnE,qEAAqE;gBACrE,qEAAqE;gBACrE,WAAW;gBACX,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBACjD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;wBACtB,OAAO,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvE,MAAM,YAAY,CAAC;YACrB,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ /** Bumped when the relay's reconnect contract changes incompatibly. */
2
+ export declare const MCP_GATEWAY_RELAY_PROTOCOL_VERSION = 2;
3
+ export interface McpGatewayLaunchRecord {
4
+ version: number;
5
+ socketPath: string;
6
+ }
7
+ export declare function mcpGatewayLaunchRecordPath(dataDir: string, sessionId: string): string;
8
+ export declare function writeMcpGatewayLaunchRecord(dataDir: string, sessionId: string, socketPath: string): void;
9
+ export declare function clearMcpGatewayLaunchRecord(dataDir: string, sessionId: string): void;
10
+ export declare function readMcpGatewayLaunchRecord(dataDir: string, sessionId: string): McpGatewayLaunchRecord | null;
11
+ /** Pure decision: may the worker reattach a surviving persistent pane that
12
+ * carries plugin MCP state, instead of killing it for a cold-resume? */
13
+ export declare function mcpGatewayPaneReattachSafe(record: McpGatewayLaunchRecord | null, expectedSocketPath: string): boolean;
14
+ //# sourceMappingURL=launch-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch-record.d.ts","sourceRoot":"","sources":["../../../../src/core/plugins/mcp/launch-record.ts"],"names":[],"mappings":"AAsBA,uEAAuE;AACvE,eAAO,MAAM,kCAAkC,IAAI,CAAC;AAEpD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,IAAI,CAQN;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAEpF;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,sBAAsB,GAAG,IAAI,CAc/B;AAED;yEACyE;AACzE,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,sBAAsB,GAAG,IAAI,EACrC,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAIT"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Persisted record of the Gateway socket path a session's CLI was LAUNCHED
3
+ * with. Written by the worker when it starts a CLI generation whose
4
+ * environment carries `BOTMUX_MCP_GATEWAY_SOCKET`; consulted by the NEXT
5
+ * worker generation (after a daemon restart) to decide whether a surviving
6
+ * persistent pane can be reattached.
7
+ *
8
+ * Reattach is only safe when the pane's relay can reach the replacement host:
9
+ * - the recorded socket path must equal the deterministic path the new host
10
+ * will bind (sessionMcpGatewaySocketPath) — a pane launched by an older
11
+ * build with an mkdtemp-random path can never reconnect and must still be
12
+ * cold-resumed;
13
+ * - the record's relay protocol version must be ≥ 2 — version 2 is the
14
+ * first relay that reconnects after a socket loss (older relays exit on
15
+ * the first disconnect, so reattaching would strand a dead MCP client).
16
+ *
17
+ * The record lives outside the pane's reach (worker data dir, not session
18
+ * tmpfs) and is cleared whenever a CLI generation launches without a Gateway.
19
+ */
20
+ import { mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
21
+ import { dirname, join } from 'node:path';
22
+ /** Bumped when the relay's reconnect contract changes incompatibly. */
23
+ export const MCP_GATEWAY_RELAY_PROTOCOL_VERSION = 2;
24
+ export function mcpGatewayLaunchRecordPath(dataDir, sessionId) {
25
+ return join(dataDir, 'mcp-gateway-launch', `${sessionId}.json`);
26
+ }
27
+ export function writeMcpGatewayLaunchRecord(dataDir, sessionId, socketPath) {
28
+ const path = mcpGatewayLaunchRecordPath(dataDir, sessionId);
29
+ mkdirSync(dirname(path), { recursive: true });
30
+ const record = {
31
+ version: MCP_GATEWAY_RELAY_PROTOCOL_VERSION,
32
+ socketPath,
33
+ };
34
+ writeFileSync(path, `${JSON.stringify(record)}\n`, { mode: 0o600 });
35
+ }
36
+ export function clearMcpGatewayLaunchRecord(dataDir, sessionId) {
37
+ rmSync(mcpGatewayLaunchRecordPath(dataDir, sessionId), { force: true });
38
+ }
39
+ export function readMcpGatewayLaunchRecord(dataDir, sessionId) {
40
+ let raw;
41
+ try {
42
+ raw = readFileSync(mcpGatewayLaunchRecordPath(dataDir, sessionId), 'utf8');
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ try {
48
+ const parsed = JSON.parse(raw);
49
+ if (typeof parsed?.version === 'number' && typeof parsed?.socketPath === 'string') {
50
+ return { version: parsed.version, socketPath: parsed.socketPath };
51
+ }
52
+ }
53
+ catch { /* malformed record — treated as absent below */ }
54
+ return null;
55
+ }
56
+ /** Pure decision: may the worker reattach a surviving persistent pane that
57
+ * carries plugin MCP state, instead of killing it for a cold-resume? */
58
+ export function mcpGatewayPaneReattachSafe(record, expectedSocketPath) {
59
+ return record !== null
60
+ && record.version >= MCP_GATEWAY_RELAY_PROTOCOL_VERSION
61
+ && record.socketPath === expectedSocketPath;
62
+ }
63
+ //# sourceMappingURL=launch-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch-record.js","sourceRoot":"","sources":["../../../../src/core/plugins/mcp/launch-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,uEAAuE;AACvE,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AAOpD,MAAM,UAAU,0BAA0B,CAAC,OAAe,EAAE,SAAiB;IAC3E,OAAO,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAe,EACf,SAAiB,EACjB,UAAkB;IAElB,MAAM,IAAI,GAAG,0BAA0B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5D,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,MAAM,GAA2B;QACrC,OAAO,EAAE,kCAAkC;QAC3C,UAAU;KACX,CAAC;IACF,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAe,EAAE,SAAiB;IAC5E,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,SAAiB;IAEjB,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,0BAA0B,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,EAAE,UAAU,KAAK,QAAQ,EAAE,CAAC;YAClF,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QACpE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,gDAAgD,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;yEACyE;AACzE,MAAM,UAAU,0BAA0B,CACxC,MAAqC,EACrC,kBAA0B;IAE1B,OAAO,MAAM,KAAK,IAAI;WACjB,MAAM,CAAC,OAAO,IAAI,kCAAkC;WACpD,MAAM,CAAC,UAAU,KAAK,kBAAkB,CAAC;AAChD,CAAC"}
@@ -75,7 +75,7 @@ export declare function getDaemonStreamingCardUsageSnapshot(ds: DaemonSession, e
75
75
  fresh?: boolean;
76
76
  }): CardUsageSnapshot;
77
77
  import type { CliId } from '../adapters/cli/types.js';
78
- import type { CliTurnPayload, FrozenSessionReplyTarget, DaemonToWorker, TrustedCaller, WorkerToDaemon, Session, QueuedActivationTailEntry } from '../types.js';
78
+ import type { CliTurnPayload, FrozenSessionReplyTarget, DaemonToWorker, TrustedCaller, WorkerToDaemon, Session, StreamStatus, QueuedActivationTailEntry } from '../types.js';
79
79
  import { type DaemonSession } from './types.js';
80
80
  import { type CliUsageLimitState } from '../utils/cli-usage-limit.js';
81
81
  import { type VcMeetingListenerTopicKey } from '../services/vc-meeting-listener-topic-store.js';
@@ -730,6 +730,12 @@ export declare function suspendWorker(ds: DaemonSession, reason?: string): boole
730
730
  declare function runPendingSuspendIfSettled(ds: DaemonSession, ownsGeneration?: () => boolean): void;
731
731
  export declare const __testOnly_runPendingSuspendIfSettled: typeof runPendingSuspendIfSettled;
732
732
  export declare function teardownAuthoritativePersistentBackingBeforeClose(target: DaemonSession | Session): void;
733
+ /** Render the live streaming-card JSON for `ds` (🖥️ header + usage line +
734
+ * 显示输出/终端/关闭会话 buttons). Factored so callers outside the normal
735
+ * screen-update flow — notably the Lark 恢复会话 button — can restore the SAME
736
+ * card the session had while running, instead of a stripped-down variant.
737
+ * `status` defaults to the session's last known screen status. */
738
+ export declare function buildStreamingCardJson(ds: DaemonSession, status?: StreamStatus): string;
733
739
  /**
734
740
  * Idempotent close: kill worker if alive, mark Session status='closed' + closedAt,
735
741
  * publish session.exited (if a live worker was killed) and session.update
@@ -805,7 +811,9 @@ export type CloseSessionResult = {
805
811
  * Returns the untouched result so a caller that DOES care can still branch.
806
812
  */
807
813
  export declare function closeSessionForBackgroundCleanup(sessionId: string, context: string): Promise<CloseSessionResult>;
808
- export declare function closeSession(sessionId: string): Promise<CloseSessionResult>;
814
+ export declare function closeSession(sessionId: string, opts?: {
815
+ awaitWorkerExit?: boolean;
816
+ }): Promise<CloseSessionResult>;
809
817
  /**
810
818
  * Close can arrive through daemon IPC before startup restore has registered the
811
819
  * persisted row. In that window there is no DaemonSession for killWorker(), but
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/core/worker-pool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAkB,KAAK,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AAoCzF,OAAO,EASL,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,mCAAmC,CAAC;AAiB3C,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAc/B,OAAO,EAAoK,2BAA2B,EAAkJ,MAAM,yBAAyB,CAAC;AAKxX,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAoDpF;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAE3E;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC1C,IAAI,CAQN;AAED;gFACgF;AAChF,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAIrE;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAiBD;;qBAEqB;AACrB,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,aAAa,EACjB,cAAc,CAAC,EAAE,KAAK,EACtB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,iBAAiB,CAqCnB;AAED;;;;;cAKc;AACd,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,aAAa,EACjB,cAAc,CAAC,EAAE,KAAK,GACrB,iBAAiB,CAUnB;AAED;;;;;sDAKsD;AACtD,wBAAgB,mCAAmC,CACjD,EAAE,EAAE,aAAa,EACjB,cAAc,CAAC,EAAE,KAAK,EACtB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,iBAAiB,CAqCnB;AAuBD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAKtD,OAAO,KAAK,EACV,cAAc,EAKd,wBAAwB,EACxB,cAAc,EACd,aAAa,EACb,cAAc,EACd,OAAO,EAEP,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAWrB,OAAO,EAQL,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAY1F,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,gDAAgD,CAAC;AA2BxD,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB;;;;6DAIyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAyBF,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAoCrD,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD;6EACyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;yDAEqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC;4DACwD;IACxD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACtC,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,yBAAyB,KAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,oBAAoB,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,KAAK,MAAM,CAAC;IACrD,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B;;;mFAG+E;IAC/E,YAAY,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC9E;6EACyE;IACzE,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC;gFAC4E;IAC5E,cAAc,CAAC,EAAE,CACf,EAAE,EAAE,aAAa,EACjB,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,CAAC,EAC5D,OAAO,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,KAClC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;oFAEgF;IAChF,6BAA6B,CAAC,EAAE,CAC9B,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAA;KAAE,KACrD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;0EACsE;IACtE,YAAY,CAAC,EAAE,CACb,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;KAAE,KACzG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;oDAEgD;IAChD,SAAS,CAAC,EAAE,CACV,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KACjG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;0DACsD;IACtD,oBAAoB,CAAC,EAAE,CACrB,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,KACpE,IAAI,CAAC;IACV;4DACwD;IACxD,oBAAoB,CAAC,EAAE,CACrB,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,gBAAgB,GAAG,YAAY,CAAC;KAC9C,KACE,IAAI,CAAC;IACV;;qDAEiD;IACjD,uBAAuB,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE;oFACgF;IAChF;;gDAE4C;IAC5C,2BAA2B,CAAC,EAAE,CAC5B,EAAE,EAAE,aAAa,EACjB,eAAe,EAAE,MAAM,KACpB,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC/C;AAID;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI,CAE5D;AAiCD,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,GAAG,IAAI,CAEzF;AAED,wBAAgB,kBAAkB,IAAI,aAAa,EAAE,CAEpD;AAED;;+BAE+B;AAC/B,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAIlF;AAED;;wEAEwE;AACxE,wBAAgB,yBAAyB,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAElF;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAKjE;AAED;kFACkF;AAClF,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CASrE;AA+BD;;6CAE6C;AAC7C,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAK/D;AAED,4EAA4E;AAC5E,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAIrE;AAED,0EAA0E;AAC1E,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,CAIhE;AAMD,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAS7E;AAiJD;;;;2CAI2C;AAC3C,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD;;;;;;;0BAO0B;AAC1B,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAgBhE;AAED;;;;mEAImE;AACnE,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAsCjE;AAQD;;;0EAG0E;AAC1E,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAG7D;AAsBD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAoClE;AA4DD;kFACkF;AAClF,wBAAgB,kCAAkC,CAChD,EAAE,EAAE,aAAa,EACjB,MAAM,yCAA8B,GACnC,OAAO,CAmET;AAsJD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,IAAI,CAqB7F;AAkCD;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,UAAU,CAAA;CAAE,EAC7B,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACxB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAA;CAAE,CA+FpE;AAmDD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAO5D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,aAAa,GAAG,kBAAkB,GAAG,SAAS,CAEhF;AAgED,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAIrE;AAkCD,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAoBnD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAqBtD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAwBzD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAInH;AA2CD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,aAAa,EACjB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACzH,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAoHlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,aAAa,EACjB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GACxH,OAAO,CAAC,OAAO,CAAC,CAqFlB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,EAAE,CAKtE;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,aAAa,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CA8B7D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,aAAa,EACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAC,CAwBxC;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,GAAG,UAAU,GAAG,iBAAiB,CAAC;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAmC1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAyBrG;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,aAAa,EACjB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,GAAG,IAAI,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC,CAKtE;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AA+BD;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAmC5G;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,aAAa,EACjB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,aAAa,EAC/B,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC7B,WAAW,CAAC,EAAE,wBAAwB,GACrC,OAAO,CAAC,IAAI,CAAC,CAwBf;AASD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAiB5F;AAyFD,eAAO,MAAM,aAAa;WAA4B,MAAM;YAAU,MAAM;EAAK,CAAC;AAOlF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAyE5E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAKzE;AAOD;;;;0DAI0D;AAC1D,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AA0BD;;;6EAG6E;AAC7E,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,GAAE,MAAwC,GAAG,IAAI,CA0BzH;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,aAAa,EACjB,IAAI,GAAE;IACJ,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC;oFACgF;IAChF,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACL,IAAI,CAmFN;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAmB/E;AAsBD;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,aAAa,EACjB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,OAAO,CAAC,CAkGlB;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,aAAa,CAAC,GACpD,OAAO,CAET;AAiFD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CA4BtG;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,aAAa,EACjB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GACtC,IAAI,CAmCN;AAqBD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAWlF;AAED,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,aAAa,EACjB,QAAQ,EAAE,eAAe,GACxB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAqBpD;AAED,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD;AAuKD,KAAK,sBAAsB,GACvB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;wEACoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EACD,oBAAoB,GACpB,qBAAqB,GACrB,mBAAmB,GACnB,0BAA0B,GAC1B,uBAAuB,GACvB,2BAA2B,GAC3B,oCAAoC,GACpC,mCAAmC,GAInC,oBAAoB,GACpB,2BAA2B,GAC3B,oCAAoC;IACtC,gEAAgE;OAC9D,qBAAqB;IACvB,8DAA8D;OAC5D,6BAA6B;IAC/B;;;OAGG;OACD,4BAA4B,CAAC;IACjC;;;;;;;;OAQG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAsoCN;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAQ/F;AA0ED,wBAAgB,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,SAAmB,GAAG,OAAO,CAoFnF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,iBAAS,0BAA0B,CAAC,EAAE,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,MAAM,OAAO,GAAG,IAAI,CA0C3F;AAED,eAAO,MAAM,qCAAqC,mCAA6B,CAAC;AA8NhF,wBAAgB,iDAAiD,CAC/D,MAAM,EAAE,aAAa,GAAG,OAAO,GAC9B,IAAI,CAEN;AAED;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EACF,0BAA0B,GAC1B,sCAAsC,GACtC,iCAAiC,CAAC;IACtC,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACvE;IACE,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAChB,GACD,CAAC;IACC,EAAE,EAAE,KAAK,CAAC;IACV,aAAa,EAAE,KAAK,CAAC;CACtB,GAAG,OAAO,CAAC,sBAAsB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,wBAAsB,gCAAgC,CACpD,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,CAAC,CAqB7B;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAqS7B;AAED;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,OAAO,2BAAyD,GACrE,OAAO,CAuBT;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C;IACE,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACjC,GACD;IACE,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;CACpC,GACD;IACE,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;CACpC,GACD;IACE,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;CACpC,GACD;IACE,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAON;;2DAE2D;AAC3D,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC3B,OAAO,CAAC,CAAC,CAAC,CAkBZ;AAkGD;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,GAAG,SAAS,CAcrB;AAmBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,aAAa,GAChB,OAAO,CAqBT;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,aAAa,GAChB,OAAO,CAAC,sBAAsB,CAAC,CAuHjC;AAED;;;;;;;;GAQG;AACH,wBAAsB,mCAAmC,CACvD,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,aAAa,EACvB,QAAQ,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAgB,GAC/D,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAKpC;AAID,KAAK,qBAAqB,GAAG,OAAO,CAClC,cAAc,EACd;IACE,IAAI,EACA,SAAS,GACT,WAAW,GACX,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,gBAAgB,GAChB,aAAa,CAAC;CACnB,CACF,CAAC;AA+OF,wBAAgB,oCAAoC,IAAI,IAAI,CAK3D;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAEhE;AAED;;qDAEqD;AACrD,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,aAAa,EACjB,QAAQ,EAAE,MAAM,IAAI,GACnB,OAAO,CAKT;AAmDD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAKT;AA0JD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM;AAC3B;;;;;;;;;;;;;GAaG;AACH,cAAc,EAAE,OAAO,GAAG,KAAK;AAC/B;;;;;;;;GAQG;AACH,WAAW,EAAE,QAAQ,GAAG,MAAM,EAC9B,IAAI,CAAC,EAAE;IACL;;2EAEuE;IACvE,cAAc,CAAC,EAAE,OAAO,UAAU,CAAC;IACnC,8EAA8E;IAC9E,cAAc,CAAC,EAAE,OAAO,UAAU,CAAC;IACnC,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;2CACuC;IACvC,gBAAgB,CAAC,EAAE,CACjB,EAAE,EAAE,aAAa,KACd,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC9C;;;;;;qDAMiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA6XtD;AAaD;;;+BAG+B;AAC/B,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAoB/D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,OAAO,GAAG,KAAK,EAC/B,WAAW,EAAE,QAAQ,GAAG,MAAM,EAC9B,IAAI,CAAC,EAAE;IACL,cAAc,CAAC,EAAE,OAAO,UAAU,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,cAAc,CAAC;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GACA,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAqN9E;AAaD,wBAAgB,oCAAoC,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAY/E;AAqKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,iBAAS,kDAAkD,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CA0FnF;AA8FD;;;uEAGuE;AACvE,iBAAS,kCAAkC,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAyDtF;AAED,eAAO,MAAM,6CAA6C,2CAAqC,CAAC;AAyFhG;;+EAE+E;AAC/E,wBAAgB,eAAe,CAC7B,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE,MAAM,GAAG,cAAc,EAChC,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,GAAE;IACJ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;+DAE2D;IAC3D,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACzB;;;4EAGwE;IACxE,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC1B,GACL,OAAO,CAuLT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,aAAa,GAAG;IAAE,aAAa,EAAE,aAAa,CAAA;CAAE,GAAG,SAAS,CAgBvG;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,aAAa,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAoBT;AAoID;;;;8CAI8C;AAC9C,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,aAAa,EACjB,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5B,OAAO,CAoIT;AAED,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAC,yBAAyB,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG;IAC9F;gFAC4E;IAC5E,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF;;qCAEqC;AACrC,wBAAgB,oCAAoC,CAClD,EAAE,EAAE,aAAa,GAChB,+BAA+B,CAQjC;AAED;;;;YAIY;AACZ,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,IAAI,CAAC,yBAAyB,EAAE,IAAI,GAAG,OAAO,CAAC,EACtD,WAAW,GAAE,+BAA0E,EACvF,IAAI,GAAE;IAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,yBAAyB,CAgC3B;AAED;;+BAE+B;AAC/B,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAO3E;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;wDACoD;IACpD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;yEACqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;uBAImB;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,aAAa,EACjB,WAAW,EAAE,MAAM,GAAG,cAAc,EACpC,cAAc,EAAE,kBAAkB,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAAC;IAAC,cAAc,EAAE,kBAAkB,CAAA;CAAE,CAkC7F;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,aAAa,EACjB,WAAW,EAAE,MAAM,GAAG,cAAc,EACpC,cAAc,GAAE,kBAA0B,GACzC,OAAO,CAm8BT;AAID;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAOlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAY9E;AAqDD,iBAAS,mBAAmB,CAC1B,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE,YAAY,EACpB,YAAY,GAAE,kBAA6D,EAC3E,wBAAwB,CAAC,EAAE,MAAM,GAChC,IAAI,CAyhFN;AAOD;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAErE;AAED;;+CAE+C;AAC/C,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,iBAAS,oBAAoB,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,GAAG,MAAM,CAE/G;AAgED;;;;;;;;;;;;;GAaG;AACH,iBAAe,mBAAmB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBnE;AAsDD,iBAAS,kBAAkB,CACzB,EAAE,EAAE,aAAa,EACjB,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,EACtD,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,EACrC,YAAY,GAAE,MAAM,OAAoB,EACxC,iBAAiB,CAAC,EAAE,wBAAwB,EAC5C,WAAW,CAAC,EAAE,iBAAiB,GAC9B,IAAI,CAmcN;AAGD;sEACsE;AACtE,eAAO,MAAM,6BAA6B,2BAAqB,CAAC;AAChE,eAAO,MAAM,8BAA8B,4BAAsB,CAAC;AAClE,eAAO,MAAM,kCAAkC,gCAA0B,CAAC;AAC1E,eAAO,MAAM,8BAA8B,4BAAsB,CAAC;AAClE,eAAO,MAAM,+BAA+B,6BAAuB,CAAC;AACpE,eAAO,MAAM,6DAA6D,2DAAqD,CAAC;AAIhI,iBAAS,uBAAuB,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,CA+B1D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EACzE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAaT;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE;IAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0SpI;AAID,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,YAAY,EAAE,CA+B9C;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE;IACtC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAuBd;AAID,wBAAgB,aAAa,CAC3B,eAAe,EAAE,OAAO,EAAE,EAC1B,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,GACnD,IAAI,CA6BN;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,MAA+B,EACxC,UAAU,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAA4B,GACxD,MAAM,CAeR;AAoPD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAGzE;AAED,wBAAgB,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE"}
1
+ {"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/core/worker-pool.ts"],"names":[],"mappings":"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"}
@@ -4396,6 +4396,16 @@ function teardownAuthoritativePersistentBackingBeforeCloseImpl(target, closeWins
4396
4396
  export function teardownAuthoritativePersistentBackingBeforeClose(target) {
4397
4397
  teardownAuthoritativePersistentBackingBeforeCloseImpl(target, false);
4398
4398
  }
4399
+ /** Render the live streaming-card JSON for `ds` (🖥️ header + usage line +
4400
+ * 显示输出/终端/关闭会话 buttons). Factored so callers outside the normal
4401
+ * screen-update flow — notably the Lark 恢复会话 button — can restore the SAME
4402
+ * card the session had while running, instead of a stripped-down variant.
4403
+ * `status` defaults to the session's last known screen status. */
4404
+ export function buildStreamingCardJson(ds, status) {
4405
+ const botCfg = getBot(ds.larkAppId).config;
4406
+ const effectiveCliId = sessionCliId(ds, botCfg);
4407
+ return buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readableTerminalUrlFor(ds), ds.currentTurnTitle || ds.session.title || sessionCliDisplayName(ds, botCfg), ds.lastScreenContent ?? '', status ?? ds.lastScreenStatus ?? 'starting', effectiveCliId, ds.displayMode ?? 'hidden', ds.streamCardNonce, ds.currentImageKey, !!ds.adoptedFrom, false, localeForBot(ds.larkAppId), cardUsageLimit(ds), writableTerminalLinkFor(ds), isLocalCliOpenReady(ds, { cliId: effectiveCliId }), getDaemonStreamingCardUsageSnapshot(ds, effectiveCliId), sessionRuntimeDisplayName(ds, botCfg), codexServiceTierBadge(effectiveCliId, ds.codexServiceTier));
4408
+ }
4399
4409
  /**
4400
4410
  * Close from a BACKGROUND path — one with no user surface to report to
4401
4411
  * (trigger-session cleanup, deferred-schedule settlement, sweeps).
@@ -4425,7 +4435,16 @@ export async function closeSessionForBackgroundCleanup(sessionId, context) {
4425
4435
  }
4426
4436
  return result;
4427
4437
  }
4428
- export async function closeSession(sessionId) {
4438
+ export async function closeSession(sessionId, opts) {
4439
+ // `awaitWorkerExit` (default true): whether to block on the worker process
4440
+ // actually exiting before returning. A busy CLI wedges in node-pty teardown
4441
+ // and only dies at the ~7s SIGKILL backstop, so callers behind a tight ACK
4442
+ // window (the Lark card "关闭会话" button, whose callback must ACK inside ~3s
4443
+ // or the client surfaces the "code: 300000" toast) pass false: the logical
4444
+ // close below is fully synchronous, and killWorker already armed the kill
4445
+ // backstop, so the worker WILL die in the background — the caller need not
4446
+ // wait for it. Bridge-marker cleanup still runs, deferred behind the fence.
4447
+ const awaitWorkerExit = opts?.awaitWorkerExit ?? true;
4429
4448
  const ds = findActiveBySessionId(sessionId);
4430
4449
  const stored = sessionStore.getOwnedSession(sessionId);
4431
4450
  const closeFrozenBackendType = ds?.initConfig?.backendType
@@ -4625,8 +4644,16 @@ export async function closeSession(sessionId) {
4625
4644
  publishClosedSessionPatch(sessionId, after?.closedAt ? Date.parse(after.closedAt) : undefined, { tokenUsage: after ? composeRowFromClosed(after).tokenUsage : null });
4626
4645
  }
4627
4646
  if (wasOpen && hadLiveWorker) {
4628
- await closeFenceFor(sessionId, closeWorkerGeneration);
4629
- sessionStore.cleanupSessionBridgeSendMarkersNow(sessionId);
4647
+ if (awaitWorkerExit) {
4648
+ await closeFenceFor(sessionId, closeWorkerGeneration);
4649
+ sessionStore.cleanupSessionBridgeSendMarkersNow(sessionId);
4650
+ }
4651
+ else {
4652
+ // Don't block the caller on the worker exiting (killWorker already armed
4653
+ // the SIGKILL backstop). Defer bridge-marker cleanup behind the same
4654
+ // fence so a mid-flight send is still credited until the worker ACKs/exits.
4655
+ sessionStore.cleanupSessionBridgeSendMarkers(sessionId);
4656
+ }
4630
4657
  }
4631
4658
  // All authoritative map/status/store/event state above transitions
4632
4659
  // synchronously, before the first await. Lark reaction/unsubscribe cleanup is