botmux 2.55.0 → 2.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/adapters/backend/herdr-backend.d.ts +80 -0
  2. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -0
  3. package/dist/adapters/backend/herdr-backend.js +519 -0
  4. package/dist/adapters/backend/herdr-backend.js.map +1 -0
  5. package/dist/adapters/backend/session-backend-selector.d.ts +2 -2
  6. package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
  7. package/dist/adapters/backend/session-backend-selector.js +19 -1
  8. package/dist/adapters/backend/session-backend-selector.js.map +1 -1
  9. package/dist/adapters/backend/tmux-pipe-backend.d.ts +29 -0
  10. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  11. package/dist/adapters/backend/tmux-pipe-backend.js +51 -4
  12. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  13. package/dist/adapters/backend/types.d.ts +7 -0
  14. package/dist/adapters/backend/types.d.ts.map +1 -1
  15. package/dist/adapters/backend/types.js.map +1 -1
  16. package/dist/adapters/cli/codex.d.ts.map +1 -1
  17. package/dist/adapters/cli/codex.js +11 -0
  18. package/dist/adapters/cli/codex.js.map +1 -1
  19. package/dist/bot-registry.d.ts +2 -1
  20. package/dist/bot-registry.d.ts.map +1 -1
  21. package/dist/bot-registry.js.map +1 -1
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +262 -15
  24. package/dist/cli.js.map +1 -1
  25. package/dist/config.d.ts +2 -1
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +13 -3
  28. package/dist/config.js.map +1 -1
  29. package/dist/core/command-handler.d.ts.map +1 -1
  30. package/dist/core/command-handler.js +12 -7
  31. package/dist/core/command-handler.js.map +1 -1
  32. package/dist/core/pending-response.d.ts +16 -1
  33. package/dist/core/pending-response.d.ts.map +1 -1
  34. package/dist/core/pending-response.js +19 -1
  35. package/dist/core/pending-response.js.map +1 -1
  36. package/dist/core/session-discovery.d.ts +20 -4
  37. package/dist/core/session-discovery.d.ts.map +1 -1
  38. package/dist/core/session-discovery.js +228 -72
  39. package/dist/core/session-discovery.js.map +1 -1
  40. package/dist/core/session-manager.d.ts +2 -1
  41. package/dist/core/session-manager.d.ts.map +1 -1
  42. package/dist/core/session-manager.js +77 -45
  43. package/dist/core/session-manager.js.map +1 -1
  44. package/dist/core/types.d.ts +8 -1
  45. package/dist/core/types.d.ts.map +1 -1
  46. package/dist/core/types.js.map +1 -1
  47. package/dist/core/worker-pool.d.ts.map +1 -1
  48. package/dist/core/worker-pool.js +74 -62
  49. package/dist/core/worker-pool.js.map +1 -1
  50. package/dist/daemon.js +4 -4
  51. package/dist/daemon.js.map +1 -1
  52. package/dist/i18n/en.d.ts.map +1 -1
  53. package/dist/i18n/en.js +1 -0
  54. package/dist/i18n/en.js.map +1 -1
  55. package/dist/i18n/zh.d.ts.map +1 -1
  56. package/dist/i18n/zh.js +1 -0
  57. package/dist/i18n/zh.js.map +1 -1
  58. package/dist/im/lark/card-builder.d.ts +2 -1
  59. package/dist/im/lark/card-builder.d.ts.map +1 -1
  60. package/dist/im/lark/card-builder.js +19 -2
  61. package/dist/im/lark/card-builder.js.map +1 -1
  62. package/dist/im/lark/card-handler.d.ts.map +1 -1
  63. package/dist/im/lark/card-handler.js +5 -3
  64. package/dist/im/lark/card-handler.js.map +1 -1
  65. package/dist/im/lark/event-dispatcher.js +3 -3
  66. package/dist/im/lark/event-dispatcher.js.map +1 -1
  67. package/dist/setup/agent-preset.d.ts +78 -0
  68. package/dist/setup/agent-preset.d.ts.map +1 -0
  69. package/dist/setup/agent-preset.js +127 -0
  70. package/dist/setup/agent-preset.js.map +1 -0
  71. package/dist/setup/bot-config-editor.js +2 -2
  72. package/dist/setup/bot-config-editor.js.map +1 -1
  73. package/dist/setup/ensure-herdr-integrations.d.ts +26 -0
  74. package/dist/setup/ensure-herdr-integrations.d.ts.map +1 -0
  75. package/dist/setup/ensure-herdr-integrations.js +127 -0
  76. package/dist/setup/ensure-herdr-integrations.js.map +1 -0
  77. package/dist/setup/ensure-herdr.d.ts +12 -0
  78. package/dist/setup/ensure-herdr.d.ts.map +1 -0
  79. package/dist/setup/ensure-herdr.js +70 -0
  80. package/dist/setup/ensure-herdr.js.map +1 -0
  81. package/dist/setup/ensure-opus.d.ts +13 -0
  82. package/dist/setup/ensure-opus.d.ts.map +1 -0
  83. package/dist/setup/ensure-opus.js +64 -0
  84. package/dist/setup/ensure-opus.js.map +1 -0
  85. package/dist/setup/ensure-tmux.d.ts +13 -0
  86. package/dist/setup/ensure-tmux.d.ts.map +1 -1
  87. package/dist/setup/ensure-tmux.js +4 -4
  88. package/dist/setup/ensure-tmux.js.map +1 -1
  89. package/dist/setup/index.d.ts +4 -0
  90. package/dist/setup/index.d.ts.map +1 -1
  91. package/dist/setup/index.js +78 -1
  92. package/dist/setup/index.js.map +1 -1
  93. package/dist/types.d.ts +14 -2
  94. package/dist/types.d.ts.map +1 -1
  95. package/dist/utils/transient-snapshot.d.ts +3 -3
  96. package/dist/utils/transient-snapshot.js +3 -3
  97. package/dist/worker.js +251 -179
  98. package/dist/worker.js.map +1 -1
  99. package/dist/workflows/attempt-resume.d.ts +2 -1
  100. package/dist/workflows/attempt-resume.d.ts.map +1 -1
  101. package/dist/workflows/attempt-resume.js.map +1 -1
  102. package/dist/workflows/definition.d.ts +22 -22
  103. package/package.json +1 -1
@@ -1,8 +1,14 @@
1
1
  import type { CliId } from '../adapters/cli/types.js';
2
2
  export interface AdoptableSession {
3
- tmuxTarget: string;
4
- panePid: number;
5
- cliPid: number;
3
+ source: 'tmux' | 'herdr';
4
+ tmuxTarget?: string;
5
+ panePid?: number;
6
+ cliPid?: number;
7
+ herdrSessionName?: string;
8
+ herdrTarget?: string;
9
+ herdrPaneId?: string;
10
+ herdrAgentName?: string;
11
+ herdrTerminalId?: string;
6
12
  cliId: CliId;
7
13
  sessionId?: string;
8
14
  cwd: string;
@@ -55,6 +61,12 @@ export declare function readClaudeSessionMeta(pid: number): {
55
61
  cwd?: string;
56
62
  startedAt?: number;
57
63
  } | undefined;
64
+ export declare function findUniqueClaudeSessionByCwd(cwd: string): {
65
+ sessionId?: string;
66
+ startedAt?: number;
67
+ } | undefined;
68
+ export declare function adoptTargetLabel(target: AdoptableSession | NonNullable<import('./types.js').DaemonSession['adoptedFrom']>): string;
69
+ export declare function adoptTargetKey(target: AdoptableSession): string;
58
70
  /**
59
71
  * Scan all tmux panes for running CLI processes that can be adopted by Botmux.
60
72
  *
@@ -69,7 +81,11 @@ export declare function discoverAdoptableSessions(filterCliId?: CliId): Adoptabl
69
81
  * Re-check that a specific pane still has the expected CLI process running.
70
82
  * Used to validate an adopt target right before the actual adoption.
71
83
  */
72
- export declare function validateAdoptTarget(tmuxTarget: string, expectedPid: number): boolean;
84
+ export declare function validateTmuxAdoptTarget(tmuxTarget: string, expectedPid: number): boolean;
85
+ export type AdoptValidationResult = 'alive' | 'missing' | 'unknown';
86
+ export declare function validateHerdrAdoptTarget(sessionName: string | undefined, paneId: string | undefined): AdoptValidationResult;
87
+ export declare function validateAdoptTarget(target: AdoptableSession | NonNullable<import('./types.js').DaemonSession['adoptedFrom']>): boolean;
88
+ export declare function validateAdoptTargetState(target: AdoptableSession | NonNullable<import('./types.js').DaemonSession['adoptedFrom']>): AdoptValidationResult;
73
89
  export declare const __testOnly_readComm: typeof readComm;
74
90
  export declare const __testOnly_readCwd: typeof readCwd;
75
91
  export declare const __testOnly_getChildPids: typeof getChildPids;
@@ -1 +1 @@
1
- {"version":3,"file":"session-discovery.d.ts","sourceRoot":"","sources":["../../src/core/session-discovery.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAUtD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAoBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAQjF;AASD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBlD;AAgCD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAavH;AAwBD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,CAAC,EAAE,KAAK,GAAG,gBAAgB,EAAE,CAoFjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAiBpF;AAID,eAAO,MAAM,mBAAmB,iBAAW,CAAC;AAC5C,eAAO,MAAM,kBAAkB,gBAAU,CAAC;AAC1C,eAAO,MAAM,uBAAuB,qBAAe,CAAC"}
1
+ {"version":3,"file":"session-discovery.d.ts","sourceRoot":"","sources":["../../src/core/session-discovery.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAUtD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAoBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAQjF;AASD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBlD;AAgCD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAavH;AAOD,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA6BhH;AAiGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAAC,OAAO,YAAY,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,GAAG,MAAM,CAUlI;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAG/D;AAKD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,CAAC,EAAE,KAAK,GAAG,gBAAgB,EAAE,CAwFjF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAiBxF;AAGD,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpE,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,qBAAqB,CAK3H;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAAC,OAAO,YAAY,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,GAAG,OAAO,CAEtI;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAAC,OAAO,YAAY,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,GAAG,qBAAqB,CAOzJ;AAID,eAAO,MAAM,mBAAmB,iBAAW,CAAC;AAC5C,eAAO,MAAM,kBAAkB,gBAAU,CAAC;AAC1C,eAAO,MAAM,uBAAuB,qBAAe,CAAC"}
@@ -4,8 +4,8 @@
4
4
  * Discovers non-botmux tmux sessions running known CLI binaries (Claude Code,
5
5
  * Codex, Aiden, CoCo, Gemini, OpenCode, MTR, Hermes) and collects metadata needed to adopt them.
6
6
  */
7
- import { execSync } from 'node:child_process';
8
- import { readFileSync, readlinkSync } from 'node:fs';
7
+ import { execFileSync, execSync } from 'node:child_process';
8
+ import { readdirSync, readFileSync, readlinkSync, realpathSync } from 'node:fs';
9
9
  import { homedir, platform } from 'node:os';
10
10
  import { basename, join } from 'node:path';
11
11
  import { findCodexRolloutByPid } from '../services/codex-transcript.js';
@@ -189,6 +189,51 @@ export function readClaudeSessionMeta(pid) {
189
189
  return undefined;
190
190
  }
191
191
  }
192
+ function realpathMaybe(path) {
193
+ try {
194
+ return realpathSync(path);
195
+ }
196
+ catch {
197
+ return path;
198
+ }
199
+ }
200
+ export function findUniqueClaudeSessionByCwd(cwd) {
201
+ let names;
202
+ try {
203
+ names = readdirSync(join(homedir(), '.claude', 'sessions'));
204
+ }
205
+ catch {
206
+ return undefined;
207
+ }
208
+ const wanted = realpathMaybe(cwd);
209
+ const matches = [];
210
+ for (const name of names) {
211
+ if (!name.endsWith('.json'))
212
+ continue;
213
+ try {
214
+ const raw = readFileSync(join(homedir(), '.claude', 'sessions', name), 'utf-8');
215
+ const data = JSON.parse(raw);
216
+ if (typeof data.cwd !== 'string')
217
+ continue;
218
+ if (realpathMaybe(data.cwd) !== wanted)
219
+ continue;
220
+ const sessionId = typeof data.sessionId === 'string' ? data.sessionId : undefined;
221
+ if (!sessionId)
222
+ continue;
223
+ matches.push({
224
+ sessionId,
225
+ startedAt: typeof data.startedAt === 'number' ? data.startedAt : undefined,
226
+ updatedAt: typeof data.updatedAt === 'number' ? data.updatedAt : undefined,
227
+ });
228
+ }
229
+ catch {
230
+ // Ignore malformed or concurrently rewritten metadata files.
231
+ }
232
+ }
233
+ if (matches.length !== 1)
234
+ return undefined;
235
+ return matches[0];
236
+ }
192
237
  /**
193
238
  * Get pane dimensions via tmux display command.
194
239
  * Returns { cols, rows } or undefined on failure.
@@ -207,6 +252,93 @@ function getPaneDimensions(tmuxTarget) {
207
252
  return undefined;
208
253
  }
209
254
  }
255
+ function tryHerdrJson(args, opts) {
256
+ try {
257
+ const out = execFileSync('herdr', args, {
258
+ encoding: 'utf-8',
259
+ stdio: ['ignore', 'pipe', 'pipe'],
260
+ timeout: opts?.timeout ?? 5000,
261
+ maxBuffer: 16 * 1024 * 1024,
262
+ }).trim();
263
+ return { ok: true, value: out ? JSON.parse(out) : undefined };
264
+ }
265
+ catch {
266
+ return { ok: false };
267
+ }
268
+ }
269
+ function herdrJson(args, opts) {
270
+ const result = tryHerdrJson(args, opts);
271
+ return result.ok ? result.value : undefined;
272
+ }
273
+ function extractHerdrSessions(raw) {
274
+ const sessions = raw?.sessions ?? raw?.result?.sessions;
275
+ return Array.isArray(sessions) ? sessions : [];
276
+ }
277
+ function extractHerdrAgents(raw) {
278
+ const agents = raw?.result?.agents;
279
+ return Array.isArray(agents) ? agents : [];
280
+ }
281
+ function herdrAgentCliId(agent) {
282
+ const name = typeof agent?.agent === 'string' ? basename(agent.agent) : '';
283
+ return name in CLI_COMM_MAP ? CLI_COMM_MAP[name] : undefined;
284
+ }
285
+ function discoverHerdrAdoptableSessions(filterCliId) {
286
+ const rawSessions = herdrJson(['session', 'list', '--json']);
287
+ const sessions = extractHerdrSessions(rawSessions).filter((s) => {
288
+ const name = typeof s?.name === 'string' ? s.name : '';
289
+ return name && s?.running === true && !name.startsWith('bmx-');
290
+ });
291
+ const results = [];
292
+ for (const session of sessions) {
293
+ const sessionName = session.name;
294
+ const rawAgents = herdrJson(['--session', sessionName, 'agent', 'list']);
295
+ for (const agent of extractHerdrAgents(rawAgents)) {
296
+ const cliId = herdrAgentCliId(agent);
297
+ if (!cliId)
298
+ continue;
299
+ if (filterCliId && cliId !== filterCliId)
300
+ continue;
301
+ const cwd = typeof agent?.cwd === 'string' ? agent.cwd : undefined;
302
+ const paneId = typeof agent?.pane_id === 'string' ? agent.pane_id : undefined;
303
+ const terminalId = typeof agent?.terminal_id === 'string' ? agent.terminal_id : undefined;
304
+ const agentName = typeof agent?.agent === 'string' ? agent.agent : undefined;
305
+ if (!cwd || !paneId)
306
+ continue;
307
+ const claudeMeta = cliId === 'claude-code' ? findUniqueClaudeSessionByCwd(cwd) : undefined;
308
+ results.push({
309
+ source: 'herdr',
310
+ herdrSessionName: sessionName,
311
+ herdrTarget: paneId,
312
+ herdrPaneId: paneId,
313
+ herdrAgentName: agentName,
314
+ herdrTerminalId: terminalId,
315
+ cliId,
316
+ sessionId: claudeMeta?.sessionId,
317
+ cwd,
318
+ startedAt: claudeMeta?.startedAt,
319
+ paneCols: 200,
320
+ paneRows: 50,
321
+ });
322
+ }
323
+ }
324
+ return results;
325
+ }
326
+ export function adoptTargetLabel(target) {
327
+ if (target.source === 'herdr') {
328
+ const sessionName = target.herdrSessionName ?? 'herdr';
329
+ const pane = target.herdrPaneId ?? target.herdrTarget ?? target.herdrAgentName ?? 'agent';
330
+ return `${sessionName}:${pane}`;
331
+ }
332
+ if ('zellijPaneId' in target && target.zellijPaneId) {
333
+ return `${target.zellijSession ?? 'zellij'}/${target.zellijPaneId}`;
334
+ }
335
+ return target.tmuxTarget ?? 'tmux';
336
+ }
337
+ export function adoptTargetKey(target) {
338
+ if (target.source === 'herdr')
339
+ return `herdr:${target.herdrSessionName}:${target.herdrPaneId ?? target.herdrTarget}`;
340
+ return `tmux:${target.tmuxTarget}:${target.cliPid}`;
341
+ }
210
342
  // ─── Public API ──────────────────────────────────────────────────────────────
211
343
  /**
212
344
  * Scan all tmux panes for running CLI processes that can be adopted by Botmux.
@@ -218,92 +350,95 @@ function getPaneDimensions(tmuxTarget) {
218
350
  * @param filterCliId - If provided, only return sessions matching this CLI type.
219
351
  */
220
352
  export function discoverAdoptableSessions(filterCliId) {
353
+ const results = [];
221
354
  // 1. List all tmux panes
222
355
  let panesRaw;
223
356
  try {
224
357
  panesRaw = execSync("tmux list-panes -a -F '#{session_name}:#{window_index}.#{pane_index} #{pane_pid}'", { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], env: tmuxEnv() });
225
358
  }
226
359
  catch {
227
- // tmux not available or no server running
228
- return [];
360
+ panesRaw = undefined;
229
361
  }
230
- const results = [];
231
- const lines = panesRaw.split('\n').filter(Boolean);
232
- for (const line of lines) {
233
- // Parse: "session_name:window_index.pane_index pane_pid"
234
- const spaceIdx = line.indexOf(' ');
235
- if (spaceIdx === -1)
236
- continue;
237
- const tmuxTarget = line.slice(0, spaceIdx);
238
- const panePid = Number(line.slice(spaceIdx + 1));
239
- if (isNaN(panePid))
240
- continue;
241
- // 2. Filter out bmx-* sessions
242
- const sessionName = tmuxTarget.split(':')[0];
243
- if (sessionName?.startsWith('bmx-'))
244
- continue;
245
- // 3. Recursively search process tree for known CLI binaries (up to 3 levels)
246
- const match = findCliProcess(panePid, 3, filterCliId);
247
- if (!match)
248
- continue;
249
- // 3b. Filter by CLI type if requested
250
- if (filterCliId && match.cliId !== filterCliId)
251
- continue;
252
- // 4. Read CLI working directory (Linux: /proc; macOS: lsof)
253
- const cwd = readCwd(match.pid);
254
- if (!cwd)
255
- continue;
256
- // 5. Try to read CLI session metadata
257
- let sessionId;
258
- let startedAt;
259
- if (match.cliId === 'claude-code') {
260
- const meta = readClaudeSessionMeta(match.pid);
261
- if (meta) {
262
- sessionId = meta.sessionId;
263
- startedAt = meta.startedAt;
362
+ if (panesRaw) {
363
+ const lines = panesRaw.split('\n').filter(Boolean);
364
+ for (const line of lines) {
365
+ // Parse: "session_name:window_index.pane_index pane_pid"
366
+ const spaceIdx = line.indexOf(' ');
367
+ if (spaceIdx === -1)
368
+ continue;
369
+ const tmuxTarget = line.slice(0, spaceIdx);
370
+ const panePid = Number(line.slice(spaceIdx + 1));
371
+ if (isNaN(panePid))
372
+ continue;
373
+ // 2. Filter out bmx-* sessions
374
+ const sessionName = tmuxTarget.split(':')[0];
375
+ if (sessionName?.startsWith('bmx-'))
376
+ continue;
377
+ // 3. Recursively search process tree for known CLI binaries (up to 3 levels)
378
+ const match = findCliProcess(panePid, 3, filterCliId);
379
+ if (!match)
380
+ continue;
381
+ // 3b. Filter by CLI type if requested
382
+ if (filterCliId && match.cliId !== filterCliId)
383
+ continue;
384
+ // 4. Read CLI working directory (Linux: /proc; macOS: lsof)
385
+ const cwd = readCwd(match.pid);
386
+ if (!cwd)
387
+ continue;
388
+ // 5. Try to read CLI session metadata
389
+ let sessionId;
390
+ let startedAt;
391
+ if (match.cliId === 'claude-code') {
392
+ const meta = readClaudeSessionMeta(match.pid);
393
+ if (meta) {
394
+ sessionId = meta.sessionId;
395
+ startedAt = meta.startedAt;
396
+ }
264
397
  }
398
+ else if (match.cliId === 'codex') {
399
+ // Codex has no per-pid state file — bind via the open rollout fd in
400
+ // /proc. Worker-side has the same probe as a fallback so this is
401
+ // best-effort: we resolve here so the daemon-side adopt UI shows
402
+ // an accurate "currently in session X" hint.
403
+ const rollout = findCodexRolloutByPid(match.pid);
404
+ if (rollout)
405
+ sessionId = rollout.cliSessionId;
406
+ }
407
+ else if (match.cliId === 'coco') {
408
+ // CoCo: probe /proc/<pid>/fd for an open file under the session dir
409
+ // (session.log / traces.jsonl). events.jsonl itself is opened-written-
410
+ // closed per event so it's not reliable on its own. Worker-side
411
+ // re-probes too, so undefined here is acceptable.
412
+ const cocoSession = findCocoSessionByPid(match.pid);
413
+ if (cocoSession)
414
+ sessionId = cocoSession.sessionId;
415
+ }
416
+ // 6. Get pane dimensions
417
+ const dims = getPaneDimensions(tmuxTarget);
418
+ if (!dims)
419
+ continue;
420
+ results.push({
421
+ source: 'tmux',
422
+ tmuxTarget,
423
+ panePid,
424
+ cliPid: match.pid,
425
+ cliId: match.cliId,
426
+ sessionId,
427
+ cwd,
428
+ startedAt,
429
+ paneCols: dims.cols,
430
+ paneRows: dims.rows,
431
+ });
265
432
  }
266
- else if (match.cliId === 'codex') {
267
- // Codex has no per-pid state file — bind via the open rollout fd in
268
- // /proc. Worker-side has the same probe as a fallback so this is
269
- // best-effort: we resolve here so the daemon-side adopt UI shows
270
- // an accurate "currently in session X" hint.
271
- const rollout = findCodexRolloutByPid(match.pid);
272
- if (rollout)
273
- sessionId = rollout.cliSessionId;
274
- }
275
- else if (match.cliId === 'coco') {
276
- // CoCo: probe /proc/<pid>/fd for an open file under the session dir
277
- // (session.log / traces.jsonl). events.jsonl itself is opened-written-
278
- // closed per event so it's not reliable on its own. Worker-side
279
- // re-probes too, so undefined here is acceptable.
280
- const cocoSession = findCocoSessionByPid(match.pid);
281
- if (cocoSession)
282
- sessionId = cocoSession.sessionId;
283
- }
284
- // 6. Get pane dimensions
285
- const dims = getPaneDimensions(tmuxTarget);
286
- if (!dims)
287
- continue;
288
- results.push({
289
- tmuxTarget,
290
- panePid,
291
- cliPid: match.pid,
292
- cliId: match.cliId,
293
- sessionId,
294
- cwd,
295
- startedAt,
296
- paneCols: dims.cols,
297
- paneRows: dims.rows,
298
- });
299
433
  }
434
+ results.push(...discoverHerdrAdoptableSessions(filterCliId));
300
435
  return results;
301
436
  }
302
437
  /**
303
438
  * Re-check that a specific pane still has the expected CLI process running.
304
439
  * Used to validate an adopt target right before the actual adoption.
305
440
  */
306
- export function validateAdoptTarget(tmuxTarget, expectedPid) {
441
+ export function validateTmuxAdoptTarget(tmuxTarget, expectedPid) {
307
442
  // Verify the tmux pane still exists and get its shell PID
308
443
  let panePid;
309
444
  try {
@@ -319,6 +454,27 @@ export function validateAdoptTarget(tmuxTarget, expectedPid) {
319
454
  const match = findCliProcess(panePid, 3);
320
455
  return match !== undefined && match.pid === expectedPid;
321
456
  }
457
+ export function validateHerdrAdoptTarget(sessionName, paneId) {
458
+ if (!sessionName || !paneId)
459
+ return 'missing';
460
+ const rawAgents = tryHerdrJson(['--session', sessionName, 'agent', 'list']);
461
+ if (!rawAgents.ok)
462
+ return 'unknown';
463
+ return extractHerdrAgents(rawAgents.value).some((agent) => agent?.pane_id === paneId) ? 'alive' : 'missing';
464
+ }
465
+ export function validateAdoptTarget(target) {
466
+ return validateAdoptTargetState(target) === 'alive';
467
+ }
468
+ export function validateAdoptTargetState(target) {
469
+ if (target.source === 'herdr')
470
+ return validateHerdrAdoptTarget(target.herdrSessionName, target.herdrPaneId ?? target.herdrTarget);
471
+ const pid = 'originalCliPid' in target
472
+ ? target.originalCliPid
473
+ : ('cliPid' in target ? target.cliPid : undefined);
474
+ if (!target.tmuxTarget || !pid)
475
+ return 'missing';
476
+ return validateTmuxAdoptTarget(target.tmuxTarget, pid) ? 'alive' : 'missing';
477
+ }
322
478
  // 仅供单测使用 —— 暴露内部 helper,方便覆盖跨平台 (Linux /proc vs macOS ps/lsof/pgrep)
323
479
  // 的回归路径。生产代码不要直接消费这些导出。
324
480
  export const __testOnly_readComm = readComm;
@@ -1 +1 @@
1
- {"version":3,"file":"session-discovery.js","sourceRoot":"","sources":["../../src/core/session-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,4DAA4D;AAC5D,MAAM,QAAQ,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC;AAgBxC,gFAAgF;AAEhF,MAAM,YAAY,GAA0B;IAC1C,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,0CAA0C;IAC1C,0DAA0D;IAC1D,kDAAkD;IAClD,2CAA2C;IAC3C,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,WAAmB;IAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;IAClE,wEAAwE;IACxE,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,WAAW,KAAK,KAAK,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAEhF,6CAA6C;AAC7C,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,SAAS,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,kBAAkB,GAAG,EAAE,EAAE;YAC5C,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,qBAAqB,GAAG,MAAM,EAAE;YACnD,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,wBAAwB,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC/D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACrB,OAAe,EACf,QAAgB,EAChB,WAAmB;IAEnB,+BAA+B;IAC/B,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;IAExB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC9C,IAAI,KAAK;oBAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QACxD,OAAO;YACL,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC1E,GAAG,EAAE,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YACxD,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SAC3E,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAClB,mBAAmB,WAAW,CAAC,UAAU,CAAC,oCAAoC,EAC9E,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CACvE,CAAC,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,yBAAyB;IACzB,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,QAAQ,CACjB,mFAAmF,EACnF,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CACvE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,yDAAyD;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,SAAS;QAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC;YAAE,SAAS;QAE7B,+BAA+B;QAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QAE9C,6EAA6E;QAC7E,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,sCAAsC;QACtC,IAAI,WAAW,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW;YAAE,SAAS;QAEzD,4DAA4D;QAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,sCAAsC;QACtC,IAAI,SAA6B,CAAC;QAClC,IAAI,SAA6B,CAAC;QAClC,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACT,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3B,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACnC,oEAAoE;YACpE,iEAAiE;YACjE,iEAAiE;YACjE,6CAA6C;YAC7C,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjD,IAAI,OAAO;gBAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;QAChD,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAClC,oEAAoE;YACpE,uEAAuE;YACvE,gEAAgE;YAChE,kDAAkD;YAClD,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,WAAW;gBAAE,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACrD,CAAC;QAED,yBAAyB;QACzB,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,OAAO,CAAC,IAAI,CAAC;YACX,UAAU;YACV,OAAO;YACP,MAAM,EAAE,KAAK,CAAC,GAAG;YACjB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS;YACT,GAAG;YACH,SAAS;YACT,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,WAAmB;IACzE,0DAA0D;IAC1D,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAClB,mBAAmB,WAAW,CAAC,UAAU,CAAC,mBAAmB,EAC7D,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CACvE,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mDAAmD;IACnD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACzC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC;AAC1D,CAAC;AAED,qEAAqE;AACrE,wBAAwB;AACxB,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"session-discovery.js","sourceRoot":"","sources":["../../src/core/session-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,4DAA4D;AAC5D,MAAM,QAAQ,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC;AAsBxC,gFAAgF;AAEhF,MAAM,YAAY,GAA0B;IAC1C,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,0CAA0C;IAC1C,0DAA0D;IAC1D,kDAAkD;IAClD,2CAA2C;IAC3C,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,WAAmB;IAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;IAClE,wEAAwE;IACxE,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,WAAW,KAAK,KAAK,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAEhF,6CAA6C;AAC7C,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,SAAS,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,kBAAkB,GAAG,EAAE,EAAE;YAC5C,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,qBAAqB,GAAG,MAAM,EAAE;YACnD,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,wBAAwB,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC/D,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACrB,OAAe,EACf,QAAgB,EAChB,WAAmB;IAEnB,+BAA+B;IAC/B,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;IAExB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC9C,IAAI,KAAK;oBAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QACxD,OAAO;YACL,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC1E,GAAG,EAAE,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YACxD,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SAC3E,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAGD,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QAAC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAW;IACtD,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,OAAO,GAA0E,EAAE,CAAC;IAC1F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAChF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;YACxD,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;gBAAE,SAAS;YAC3C,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM;gBAAE,SAAS;YACjD,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,IAAI,CAAC,SAAS;gBAAE,SAAS;YACzB,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS;gBACT,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC1E,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aAC3E,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAClB,mBAAmB,WAAW,CAAC,UAAU,CAAC,oCAAoC,EAC9E,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CACvE,CAAC,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAID,SAAS,YAAY,CAAC,IAAc,EAAE,IAA2B;IAC/D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE;YACtC,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;YAC9B,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAc,EAAE,IAA2B;IAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAQ;IACpC,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC;IACxD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAQ;IAClC,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,KAAU;IACjC,MAAM,IAAI,GAAG,OAAO,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,OAAO,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,SAAS,8BAA8B,CAAC,WAAmB;IACzD,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;QACnE,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAc,CAAC;QAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,WAAW,IAAI,KAAK,KAAK,WAAW;gBAAE,SAAS;YACnD,MAAM,GAAG,GAAG,OAAO,KAAK,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,MAAM,MAAM,GAAG,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,MAAM,UAAU,GAAG,OAAO,KAAK,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,MAAM,SAAS,GAAG,OAAO,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;gBAAE,SAAS;YAC9B,MAAM,UAAU,GAAG,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,OAAO;gBACf,gBAAgB,EAAE,WAAW;gBAC7B,WAAW,EAAE,MAAM;gBACnB,WAAW,EAAE,MAAM;gBACnB,cAAc,EAAE,SAAS;gBACzB,eAAe,EAAE,UAAU;gBAC3B,KAAK;gBACL,SAAS,EAAE,UAAU,EAAE,SAAS;gBAChC,GAAG;gBACH,SAAS,EAAE,UAAU,EAAE,SAAS;gBAChC,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAyF;IACxH,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,cAAc,IAAI,OAAO,CAAC;QAC1F,OAAO,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;IAClC,CAAC;IACD,IAAI,cAAc,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACpD,OAAO,GAAG,MAAM,CAAC,aAAa,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAwB;IACrD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,SAAS,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;IACrH,OAAO,QAAQ,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;AACtD,CAAC;AAGD,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,yBAAyB;IACzB,IAAI,QAA4B,CAAC;IACjC,IAAI,CAAC;QACH,QAAQ,GAAG,QAAQ,CACjB,mFAAmF,EACnF,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CACvE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QAEb,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,yDAAyD;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,QAAQ,KAAK,CAAC,CAAC;gBAAE,SAAS;YAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,OAAO,CAAC;gBAAE,SAAS;YAE7B,+BAA+B;YAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAS;YAE9C,6EAA6E;YAC7E,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,sCAAsC;YACtC,IAAI,WAAW,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW;gBAAE,SAAS;YAEzD,4DAA4D;YAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,sCAAsC;YACtC,IAAI,SAA6B,CAAC;YAClC,IAAI,SAA6B,CAAC;YAClC,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,IAAI,EAAE,CAAC;oBACT,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC3B,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC7B,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBACnC,oEAAoE;gBACpE,iEAAiE;gBACjE,iEAAiE;gBACjE,6CAA6C;gBAC7C,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,OAAO;oBAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;YAChD,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAClC,oEAAoE;gBACpE,uEAAuE;gBACvE,gEAAgE;gBAChE,kDAAkD;gBAClD,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpD,IAAI,WAAW;oBAAE,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YACrD,CAAC;YAED,yBAAyB;YACzB,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,MAAM;gBACd,UAAU;gBACV,OAAO;gBACP,MAAM,EAAE,KAAK,CAAC,GAAG;gBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS;gBACT,GAAG;gBACH,SAAS;gBACT,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB,EAAE,WAAmB;IAC7E,0DAA0D;IAC1D,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAClB,mBAAmB,WAAW,CAAC,UAAU,CAAC,mBAAmB,EAC7D,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CACvE,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mDAAmD;IACnD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACzC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC;AAC1D,CAAC;AAKD,MAAM,UAAU,wBAAwB,CAAC,WAA+B,EAAE,MAA0B;IAClG,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IACpC,OAAO,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACnH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAyF;IAC3H,OAAO,wBAAwB,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAyF;IAChI,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,wBAAwB,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IAClI,MAAM,GAAG,GAAG,gBAAgB,IAAI,MAAM;QACpC,CAAC,CAAC,MAAM,CAAC,cAAc;QACvB,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IACjD,OAAO,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED,qEAAqE;AACrE,wBAAwB;AACxB,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { expandHome } from './working-dir.js';
2
2
  import type { CliId } from '../adapters/cli/types.js';
3
+ import type { BackendType } from '../adapters/backend/types.js';
3
4
  import type { LarkAttachment, LarkMention, ScheduledTask } from '../types.js';
4
5
  import type { MessageResource } from '../im/lark/message-parser.js';
5
6
  import type { ResolvedSender } from '../im/lark/identity-cache.js';
@@ -128,7 +129,7 @@ export declare function rememberLastCliInput(ds: DaemonSession, userPrompt: stri
128
129
  * and resume lazily — re-attaching the surviving tmux on the next real message
129
130
  * via `selectSessionBackend` — exactly like the pty backend already does.
130
131
  */
131
- export declare function shouldAutoForkOnRestore(backendType: 'pty' | 'tmux' | 'zellij', quietRestart: boolean): boolean;
132
+ export declare function shouldAutoForkOnRestore(backendType: BackendType, quietRestart: boolean): boolean;
132
133
  export declare function restoreActiveSessions(activeSessions: Map<string, DaemonSession>): Promise<void>;
133
134
  /**
134
135
  * Reactivate a single closed session — used by the "▶️ 恢复会话" card button
@@ -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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"}