@qwen-code/channel-base 0.23.1-preview.2 → 0.23.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.
- package/dist/AcpBridge.d.ts +1 -0
- package/dist/AcpBridge.d.ts.map +1 -1
- package/dist/AcpBridge.js +41 -4
- package/dist/AcpBridge.js.map +1 -1
- package/dist/ChannelAgentBridge.d.ts +13 -0
- package/dist/ChannelAgentBridge.d.ts.map +1 -1
- package/dist/ChannelAgentBridge.js.map +1 -1
- package/dist/ChannelBase.d.ts +34 -1
- package/dist/ChannelBase.d.ts.map +1 -1
- package/dist/ChannelBase.js +107 -9
- package/dist/ChannelBase.js.map +1 -1
- package/dist/DaemonChannelBridge.d.ts +18 -0
- package/dist/DaemonChannelBridge.d.ts.map +1 -1
- package/dist/DaemonChannelBridge.js +54 -2
- package/dist/DaemonChannelBridge.js.map +1 -1
- package/dist/SessionRouter.d.ts +39 -2
- package/dist/SessionRouter.d.ts.map +1 -1
- package/dist/SessionRouter.js +275 -11
- package/dist/SessionRouter.js.map +1 -1
- package/dist/named-session-manager.d.ts +38 -1
- package/dist/named-session-manager.d.ts.map +1 -1
- package/dist/named-session-manager.js +168 -24
- package/dist/named-session-manager.js.map +1 -1
- package/dist/types.d.ts +8 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/SessionRouter.js
CHANGED
|
@@ -3,13 +3,69 @@ import { dirname, isAbsolute, join } from 'node:path';
|
|
|
3
3
|
import process from 'node:process';
|
|
4
4
|
import { sanitizeLogText } from './sanitize.js';
|
|
5
5
|
import { canonicalizeWorkspacePath } from './paths.js';
|
|
6
|
+
/**
|
|
7
|
+
* Read the daemon's typed error code off a `DaemonHttpError` (matched by
|
|
8
|
+
* shape: channels/base keeps no SDK dependency), walking `cause` chains so
|
|
9
|
+
* callers that wrap errors (the named-session manager) stay transparent.
|
|
10
|
+
*/
|
|
11
|
+
export function readDaemonHttpErrorCode(error) {
|
|
12
|
+
let current = error;
|
|
13
|
+
for (let depth = 0; depth < 5; depth++) {
|
|
14
|
+
if ((typeof current !== 'object' && typeof current !== 'function') ||
|
|
15
|
+
current === null) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
const record = current;
|
|
19
|
+
if (record['name'] === 'DaemonHttpError' && record['status'] === 409) {
|
|
20
|
+
const body = record['body'];
|
|
21
|
+
if (typeof body === 'object' && body !== null && !Array.isArray(body)) {
|
|
22
|
+
const code = body['code'];
|
|
23
|
+
if (typeof code === 'string' && code.length > 0)
|
|
24
|
+
return code;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
current = record['cause'];
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The replacement session id from a `409 worktree_session_superseded`
|
|
33
|
+
* daemon response, when the error carries one.
|
|
34
|
+
*/
|
|
35
|
+
export function readSupersededReplacementId(error) {
|
|
36
|
+
let current = error;
|
|
37
|
+
for (let depth = 0; depth < 5; depth++) {
|
|
38
|
+
if ((typeof current !== 'object' && typeof current !== 'function') ||
|
|
39
|
+
current === null) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
const record = current;
|
|
43
|
+
if (record['name'] === 'DaemonHttpError' && record['status'] === 409) {
|
|
44
|
+
const body = record['body'];
|
|
45
|
+
if (typeof body === 'object' && body !== null && !Array.isArray(body)) {
|
|
46
|
+
const typedBody = body;
|
|
47
|
+
if (typedBody['code'] !== 'worktree_session_superseded') {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
const replacement = typedBody['replacementSessionId'];
|
|
51
|
+
return typeof replacement === 'string' && replacement.length > 0
|
|
52
|
+
? replacement
|
|
53
|
+
: undefined;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
current = record['cause'];
|
|
57
|
+
}
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
6
60
|
export class SessionRouter {
|
|
7
61
|
toSession = new Map(); // routing key → session ID
|
|
8
62
|
toTarget = new Map(); // session ID → target
|
|
9
63
|
toCwd = new Map(); // session ID → cwd
|
|
64
|
+
toManagedMeta = new Map();
|
|
10
65
|
creatingSessions = new Map();
|
|
11
66
|
sessionLoadWindows = new Set();
|
|
12
67
|
liveSessionIds = new Set();
|
|
68
|
+
staleBridgeBindings = new Set();
|
|
13
69
|
routeTokens = new Map();
|
|
14
70
|
lifecycleGeneration = 0;
|
|
15
71
|
bridge;
|
|
@@ -31,6 +87,7 @@ export class SessionRouter {
|
|
|
31
87
|
setBridge(bridge) {
|
|
32
88
|
this.bridge = bridge;
|
|
33
89
|
this.liveSessionIds.clear();
|
|
90
|
+
this.staleBridgeBindings.clear();
|
|
34
91
|
}
|
|
35
92
|
/** Set scope override for a specific channel. */
|
|
36
93
|
setChannelScope(channelName, scope) {
|
|
@@ -332,12 +389,12 @@ export class SessionRouter {
|
|
|
332
389
|
this.endSessionLoad(loadWindow);
|
|
333
390
|
}
|
|
334
391
|
}
|
|
335
|
-
async loadManagedSession(sessionId, target, workspaceCwd, expectedCwd = workspaceCwd, isolation = 'shared') {
|
|
392
|
+
async loadManagedSession(sessionId, target, workspaceCwd, expectedCwd = workspaceCwd, isolation = 'shared', allowSupersededRedirect = true) {
|
|
336
393
|
if (this.liveSessionIds.has(sessionId)) {
|
|
337
394
|
const actualCwd = this.validateManagedSessionIdentity(this.bridge, sessionId, workspaceCwd, expectedCwd, isolation);
|
|
338
395
|
this.toTarget.set(sessionId, target);
|
|
339
396
|
this.toCwd.set(sessionId, actualCwd);
|
|
340
|
-
return { loaded: false };
|
|
397
|
+
return { loaded: false, sessionId };
|
|
341
398
|
}
|
|
342
399
|
const loadWindow = this.beginSessionLoad();
|
|
343
400
|
const lifecycleGeneration = this.lifecycleGeneration;
|
|
@@ -345,6 +402,13 @@ export class SessionRouter {
|
|
|
345
402
|
const bindingToken = {};
|
|
346
403
|
let loadedSessionId;
|
|
347
404
|
try {
|
|
405
|
+
if (this.staleBridgeBindings.delete(sessionId)) {
|
|
406
|
+
// A failed worktree reset left the bridge holding a client for this id.
|
|
407
|
+
// Attaching over that binding reports the session as replaced, which
|
|
408
|
+
// aborts this very load, so release it first. Tokenless: the surviving
|
|
409
|
+
// binding carries the previous load's token.
|
|
410
|
+
await bridge.discardSession?.(sessionId).catch(() => undefined);
|
|
411
|
+
}
|
|
348
412
|
loadedSessionId = await bridge.loadSession(sessionId, workspaceCwd, this.sessionOptions(target.channelName), bindingToken);
|
|
349
413
|
if (lifecycleGeneration !== this.lifecycleGeneration ||
|
|
350
414
|
bridge !== this.bridge) {
|
|
@@ -365,14 +429,124 @@ export class SessionRouter {
|
|
|
365
429
|
this.toTarget.set(sessionId, target);
|
|
366
430
|
this.toCwd.set(sessionId, actualCwd);
|
|
367
431
|
this.liveSessionIds.add(sessionId);
|
|
368
|
-
return { loaded: true };
|
|
432
|
+
return { loaded: true, sessionId };
|
|
369
433
|
}
|
|
370
434
|
catch (error) {
|
|
371
435
|
if (loadedSessionId) {
|
|
372
436
|
await bridge
|
|
373
437
|
.discardSession?.(loadedSessionId, bindingToken)
|
|
374
438
|
.catch(() => undefined);
|
|
439
|
+
throw error;
|
|
440
|
+
}
|
|
441
|
+
// Superseded redirect: a worktree reset moved this session's checkout
|
|
442
|
+
// ownership to a replacement. Redirect the load once, then heal the
|
|
443
|
+
// route mappings so the stale id is never consulted again. A redirect
|
|
444
|
+
// chain (or a self-redirect) fails closed.
|
|
445
|
+
const replacementId = readSupersededReplacementId(error);
|
|
446
|
+
if (allowSupersededRedirect &&
|
|
447
|
+
replacementId !== undefined &&
|
|
448
|
+
replacementId !== sessionId) {
|
|
449
|
+
const redirected = await this.loadManagedSession(replacementId, target, workspaceCwd, expectedCwd, isolation, false);
|
|
450
|
+
this.healSupersededRoute(sessionId, redirected.sessionId);
|
|
451
|
+
return {
|
|
452
|
+
loaded: redirected.loaded,
|
|
453
|
+
sessionId: redirected.sessionId,
|
|
454
|
+
redirectedFrom: sessionId,
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
throw error;
|
|
458
|
+
}
|
|
459
|
+
finally {
|
|
460
|
+
this.endSessionLoad(loadWindow);
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Remap every route that still points at a superseded session to its
|
|
465
|
+
* replacement, and drop the superseded id's bookkeeping. The manager's
|
|
466
|
+
* own task registry heals separately (it owns the task-name mapping).
|
|
467
|
+
*/
|
|
468
|
+
healSupersededRoute(oldSessionId, newSessionId) {
|
|
469
|
+
let changed = false;
|
|
470
|
+
for (const [key, mappedSessionId] of this.toSession) {
|
|
471
|
+
if (mappedSessionId !== oldSessionId)
|
|
472
|
+
continue;
|
|
473
|
+
this.invalidateRouteOperation(key);
|
|
474
|
+
this.toSession.set(key, newSessionId);
|
|
475
|
+
changed = true;
|
|
476
|
+
}
|
|
477
|
+
changed = this.toTarget.delete(oldSessionId) || changed;
|
|
478
|
+
changed = this.toCwd.delete(oldSessionId) || changed;
|
|
479
|
+
const managedMeta = this.toManagedMeta.get(oldSessionId);
|
|
480
|
+
if (managedMeta !== undefined) {
|
|
481
|
+
// The replacement owns the same worktree, so the route's restore
|
|
482
|
+
// metadata follows it.
|
|
483
|
+
this.toManagedMeta.set(newSessionId, managedMeta);
|
|
484
|
+
this.toManagedMeta.delete(oldSessionId);
|
|
485
|
+
changed = true;
|
|
486
|
+
}
|
|
487
|
+
this.liveSessionIds.delete(oldSessionId);
|
|
488
|
+
this.staleBridgeBindings.delete(oldSessionId);
|
|
489
|
+
if (changed)
|
|
490
|
+
this.persist();
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Worktree reset: transfer the task session's checkout ownership to a
|
|
494
|
+
* fresh replacement session on the daemon, validate the replacement's
|
|
495
|
+
* attestation, and route it. The task registry itself is swapped by the
|
|
496
|
+
* named-session manager (it owns the task-name mapping); this call only
|
|
497
|
+
* wires the router's session bookkeeping.
|
|
498
|
+
*
|
|
499
|
+
* A failure past the daemon's marker flip rolls nothing back: the
|
|
500
|
+
* registry keeps pointing at the old id, and the next selection's load
|
|
501
|
+
* heals it through the superseded redirect — the failed reset drops the
|
|
502
|
+
* old id from the live set so that load consults the daemon again.
|
|
503
|
+
*/
|
|
504
|
+
async replaceManagedWorktreeSession(sessionId, target, workspaceCwd, expectedCwd) {
|
|
505
|
+
const bridge = this.bridge;
|
|
506
|
+
if (!bridge.resetWorktreeSession) {
|
|
507
|
+
throw new Error('Worktree reset is not supported by this bridge');
|
|
508
|
+
}
|
|
509
|
+
const loadWindow = this.beginSessionLoad();
|
|
510
|
+
const lifecycleGeneration = this.lifecycleGeneration;
|
|
511
|
+
const bindingToken = {};
|
|
512
|
+
let replacementId;
|
|
513
|
+
try {
|
|
514
|
+
replacementId = await bridge.resetWorktreeSession(sessionId, workspaceCwd, this.sessionOptions(target.channelName), bindingToken);
|
|
515
|
+
if (lifecycleGeneration !== this.lifecycleGeneration ||
|
|
516
|
+
bridge !== this.bridge) {
|
|
517
|
+
this.scheduleManagedDiscard(bridge, replacementId, bindingToken);
|
|
518
|
+
throw new Error('Managed session reset was invalidated');
|
|
519
|
+
}
|
|
520
|
+
if (typeof replacementId !== 'string' || replacementId.length === 0) {
|
|
521
|
+
throw new Error('Invalid session ID from bridge');
|
|
522
|
+
}
|
|
523
|
+
if (loadWindow.delete(replacementId)) {
|
|
524
|
+
await bridge.discardSession?.(replacementId, bindingToken);
|
|
525
|
+
throw new Error(`Managed session ${replacementId} died before reset completed`);
|
|
526
|
+
}
|
|
527
|
+
const actualCwd = this.validateManagedSessionIdentity(bridge, replacementId, workspaceCwd, expectedCwd, 'worktree');
|
|
528
|
+
this.toTarget.set(replacementId, target);
|
|
529
|
+
this.toCwd.set(replacementId, actualCwd);
|
|
530
|
+
this.liveSessionIds.add(replacementId);
|
|
531
|
+
this.forgetManagedSession(sessionId);
|
|
532
|
+
return replacementId;
|
|
533
|
+
}
|
|
534
|
+
catch (error) {
|
|
535
|
+
if (replacementId !== undefined) {
|
|
536
|
+
await bridge
|
|
537
|
+
.discardSession?.(replacementId, bindingToken)
|
|
538
|
+
.catch(() => undefined);
|
|
375
539
|
}
|
|
540
|
+
// A failure past the daemon's marker flip leaves this session superseded
|
|
541
|
+
// server-side with no eviction event to tell us. While the id stays live
|
|
542
|
+
// the next load short-circuits and never consults the daemon, so the
|
|
543
|
+
// superseded redirect can never heal it. Drop only the live flag: the
|
|
544
|
+
// route mappings stay, so a pre-flip failure re-loads this id. The bridge
|
|
545
|
+
// keeps holding its client either way, so record the id — the re-load has
|
|
546
|
+
// to release that binding before attaching, and attaching over it would
|
|
547
|
+
// report the session as replaced and abort the load that recovers it.
|
|
548
|
+
this.staleBridgeBindings.add(sessionId);
|
|
549
|
+
this.liveSessionIds.delete(sessionId);
|
|
376
550
|
throw error;
|
|
377
551
|
}
|
|
378
552
|
finally {
|
|
@@ -403,10 +577,29 @@ export class SessionRouter {
|
|
|
403
577
|
}
|
|
404
578
|
return canonicalWorktree;
|
|
405
579
|
}
|
|
406
|
-
activateManagedSession(sessionId, target, cwd) {
|
|
580
|
+
activateManagedSession(sessionId, target, cwd, managed) {
|
|
581
|
+
if (managed?.isolation === 'worktree' && !managed.workspaceCwd) {
|
|
582
|
+
throw new Error('A worktree managed session requires its workspace cwd.');
|
|
583
|
+
}
|
|
584
|
+
const previousMeta = this.toManagedMeta.get(sessionId);
|
|
585
|
+
if (managed?.isolation === 'worktree') {
|
|
586
|
+
this.toManagedMeta.set(sessionId, {
|
|
587
|
+
isolation: 'worktree',
|
|
588
|
+
workspaceCwd: managed.workspaceCwd,
|
|
589
|
+
});
|
|
590
|
+
}
|
|
591
|
+
else {
|
|
592
|
+
this.toManagedMeta.delete(sessionId);
|
|
593
|
+
}
|
|
594
|
+
const metaChanged = managed?.isolation === 'worktree'
|
|
595
|
+
? previousMeta?.workspaceCwd !== managed.workspaceCwd
|
|
596
|
+
: previousMeta !== undefined;
|
|
407
597
|
const key = this.routingKey(target.channelName, target.senderId, target.chatId, target.threadId);
|
|
408
|
-
if (this.toSession.get(key) === sessionId)
|
|
598
|
+
if (this.toSession.get(key) === sessionId) {
|
|
599
|
+
if (metaChanged)
|
|
600
|
+
this.persist();
|
|
409
601
|
return;
|
|
602
|
+
}
|
|
410
603
|
this.invalidateRouteOperation(key);
|
|
411
604
|
this.toSession.set(key, sessionId);
|
|
412
605
|
this.toTarget.set(sessionId, target);
|
|
@@ -424,18 +617,24 @@ export class SessionRouter {
|
|
|
424
617
|
}
|
|
425
618
|
changed = this.toTarget.delete(sessionId) || changed;
|
|
426
619
|
changed = this.toCwd.delete(sessionId) || changed;
|
|
620
|
+
changed = this.toManagedMeta.delete(sessionId) || changed;
|
|
427
621
|
changed = this.liveSessionIds.delete(sessionId) || changed;
|
|
622
|
+
this.staleBridgeBindings.delete(sessionId);
|
|
428
623
|
if (changed)
|
|
429
624
|
this.persist();
|
|
430
625
|
}
|
|
431
626
|
async detachManagedSession(sessionId) {
|
|
432
627
|
try {
|
|
433
|
-
if (this.
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
628
|
+
if (this.bridge.discardSession) {
|
|
629
|
+
// Release regardless of the live flag: a failed worktree reset drops it
|
|
630
|
+
// so the superseded redirect can heal the id, while the bridge keeps
|
|
631
|
+
// holding the client and its event pump. Discarding an id the bridge
|
|
632
|
+
// has no binding for is a no-op.
|
|
437
633
|
await this.bridge.discardSession(sessionId);
|
|
438
634
|
}
|
|
635
|
+
else if (this.liveSessionIds.has(sessionId)) {
|
|
636
|
+
throw new Error('Managed session detach is not supported');
|
|
637
|
+
}
|
|
439
638
|
}
|
|
440
639
|
finally {
|
|
441
640
|
this.forgetManagedSession(sessionId);
|
|
@@ -496,6 +695,9 @@ export class SessionRouter {
|
|
|
496
695
|
if (this.toCwd.delete(sessionId)) {
|
|
497
696
|
removed = true;
|
|
498
697
|
}
|
|
698
|
+
if (this.toManagedMeta.delete(sessionId)) {
|
|
699
|
+
removed = true;
|
|
700
|
+
}
|
|
499
701
|
this.liveSessionIds.delete(sessionId);
|
|
500
702
|
if (!removed && this.sessionLoadWindows.size > 0) {
|
|
501
703
|
for (const loadWindow of this.sessionLoadWindows) {
|
|
@@ -525,6 +727,7 @@ export class SessionRouter {
|
|
|
525
727
|
this.toSession.delete(key);
|
|
526
728
|
this.toTarget.delete(sessionId);
|
|
527
729
|
this.toCwd.delete(sessionId);
|
|
730
|
+
this.toManagedMeta.delete(sessionId);
|
|
528
731
|
this.liveSessionIds.delete(sessionId);
|
|
529
732
|
return sessionId;
|
|
530
733
|
}
|
|
@@ -561,6 +764,12 @@ export class SessionRouter {
|
|
|
561
764
|
this.toSession.set(key, entry.sessionId);
|
|
562
765
|
this.toTarget.set(entry.sessionId, entry.target);
|
|
563
766
|
this.toCwd.set(entry.sessionId, entry.cwd);
|
|
767
|
+
if (entry.isolation === 'worktree' && entry.workspaceCwd !== undefined) {
|
|
768
|
+
this.toManagedMeta.set(entry.sessionId, {
|
|
769
|
+
isolation: 'worktree',
|
|
770
|
+
workspaceCwd: entry.workspaceCwd,
|
|
771
|
+
});
|
|
772
|
+
}
|
|
564
773
|
restored++;
|
|
565
774
|
}
|
|
566
775
|
if (persisted.dropped > 0)
|
|
@@ -606,6 +815,51 @@ export class SessionRouter {
|
|
|
606
815
|
try {
|
|
607
816
|
this.assertOperationCurrent(operation);
|
|
608
817
|
const options = this.sessionOptions(entry.target.channelName);
|
|
818
|
+
if (entry.isolation === 'worktree' &&
|
|
819
|
+
entry.workspaceCwd !== undefined) {
|
|
820
|
+
// The generic restore cannot resolve a persisted worktree cwd
|
|
821
|
+
// (the daemon exact-matches registered workspace roots), so
|
|
822
|
+
// re-attach through the managed path: load by workspace root and
|
|
823
|
+
// re-validate the daemon's worktree attestation. A superseded
|
|
824
|
+
// id redirects to its replacement inside the managed load.
|
|
825
|
+
// Death-during-restore is deliberately not re-checked here the
|
|
826
|
+
// way the generic branch does: the managed load's internal
|
|
827
|
+
// window already covers the load itself, and nothing below
|
|
828
|
+
// yields between its return and the route set, so a death
|
|
829
|
+
// notification cannot interleave (run-to-completion). The next
|
|
830
|
+
// death event lands after routing and is handled normally.
|
|
831
|
+
const managed = await this.loadManagedSession(entry.sessionId, entry.target, entry.workspaceCwd, entry.cwd, 'worktree');
|
|
832
|
+
try {
|
|
833
|
+
this.assertOperationCurrent(operation);
|
|
834
|
+
}
|
|
835
|
+
catch (error) {
|
|
836
|
+
// loadManagedSession binds with its own token, so an
|
|
837
|
+
// operation-keyed discard can never match here; release
|
|
838
|
+
// tokenless and roll back the maps the load committed.
|
|
839
|
+
// No persist — the loop's guarded final write owns the file.
|
|
840
|
+
if (![...this.toSession.values()].includes(managed.sessionId)) {
|
|
841
|
+
void this.bridge
|
|
842
|
+
.discardSession?.(managed.sessionId)
|
|
843
|
+
.catch(() => undefined);
|
|
844
|
+
this.toTarget.delete(managed.sessionId);
|
|
845
|
+
this.toCwd.delete(managed.sessionId);
|
|
846
|
+
this.toManagedMeta.delete(managed.sessionId);
|
|
847
|
+
this.liveSessionIds.delete(managed.sessionId);
|
|
848
|
+
}
|
|
849
|
+
throw error;
|
|
850
|
+
}
|
|
851
|
+
this.toSession.set(key, managed.sessionId);
|
|
852
|
+
this.toManagedMeta.set(managed.sessionId, {
|
|
853
|
+
isolation: 'worktree',
|
|
854
|
+
workspaceCwd: entry.workspaceCwd,
|
|
855
|
+
});
|
|
856
|
+
reservation.resolve(managed.sessionId);
|
|
857
|
+
if (managed.sessionId !== entry.sessionId) {
|
|
858
|
+
changed = true;
|
|
859
|
+
}
|
|
860
|
+
restored++;
|
|
861
|
+
continue;
|
|
862
|
+
}
|
|
609
863
|
const sessionId = await this.bridge.loadSession(entry.sessionId, entry.cwd, options, operation);
|
|
610
864
|
try {
|
|
611
865
|
this.assertOperationCurrent(operation);
|
|
@@ -663,9 +917,11 @@ export class SessionRouter {
|
|
|
663
917
|
this.toSession.clear();
|
|
664
918
|
this.toTarget.clear();
|
|
665
919
|
this.toCwd.clear();
|
|
920
|
+
this.toManagedMeta.clear();
|
|
666
921
|
this.creatingSessions.clear();
|
|
667
922
|
this.sessionLoadWindows.clear();
|
|
668
923
|
this.liveSessionIds.clear();
|
|
924
|
+
this.staleBridgeBindings.clear();
|
|
669
925
|
this.routeTokens.clear();
|
|
670
926
|
}
|
|
671
927
|
/** Clear in-memory state and delete persist file. Used on clean shutdown. */
|
|
@@ -730,7 +986,7 @@ export class SessionRouter {
|
|
|
730
986
|
if (typeof target !== 'object' || target === null)
|
|
731
987
|
return false;
|
|
732
988
|
const typedTarget = target;
|
|
733
|
-
|
|
989
|
+
const wellFormed = typeof entry['sessionId'] === 'string' &&
|
|
734
990
|
entry['sessionId'].length > 0 &&
|
|
735
991
|
typeof entry['cwd'] === 'string' &&
|
|
736
992
|
entry['cwd'].length > 0 &&
|
|
@@ -740,7 +996,14 @@ export class SessionRouter {
|
|
|
740
996
|
(typedTarget['threadId'] === undefined ||
|
|
741
997
|
typeof typedTarget['threadId'] === 'string') &&
|
|
742
998
|
(typedTarget['isGroup'] === undefined ||
|
|
743
|
-
typeof typedTarget['isGroup'] === 'boolean')
|
|
999
|
+
typeof typedTarget['isGroup'] === 'boolean');
|
|
1000
|
+
if (!wellFormed)
|
|
1001
|
+
return false;
|
|
1002
|
+
if (entry['isolation'] === undefined)
|
|
1003
|
+
return true;
|
|
1004
|
+
return (entry['isolation'] === 'worktree' &&
|
|
1005
|
+
typeof entry['workspaceCwd'] === 'string' &&
|
|
1006
|
+
entry['workspaceCwd'].length > 0);
|
|
744
1007
|
}
|
|
745
1008
|
persist() {
|
|
746
1009
|
if (!this.persistPath)
|
|
@@ -754,6 +1017,7 @@ export class SessionRouter {
|
|
|
754
1017
|
sessionId,
|
|
755
1018
|
target,
|
|
756
1019
|
cwd: this.toCwd.get(sessionId) ?? this.defaultCwd,
|
|
1020
|
+
...(this.toManagedMeta.get(sessionId) ?? {}),
|
|
757
1021
|
};
|
|
758
1022
|
}
|
|
759
1023
|
const dir = dirname(this.persistPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionRouter.js","sourceRoot":"","sources":["../src/SessionRouter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SessionRouter.js","sourceRoot":"","sources":["../src/SessionRouter.ts"],"names":[],"mappings":"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"}
|