@sumicom/quicksave 0.8.9 → 0.8.11
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/ai/cardBuilder.d.ts +67 -2
- package/dist/ai/cardBuilder.d.ts.map +1 -1
- package/dist/ai/cardBuilder.js +364 -26
- package/dist/ai/cardBuilder.js.map +1 -1
- package/dist/ai/claudeCliProvider.d.ts +14 -0
- package/dist/ai/claudeCliProvider.d.ts.map +1 -1
- package/dist/ai/claudeCliProvider.js +83 -2
- package/dist/ai/claudeCliProvider.js.map +1 -1
- package/dist/ai/claudeCodeProvider.d.ts.map +1 -1
- package/dist/ai/claudeCodeProvider.js +2 -0
- package/dist/ai/claudeCodeProvider.js.map +1 -1
- package/dist/ai/claudeSdkProvider.d.ts.map +1 -1
- package/dist/ai/claudeSdkProvider.js +13 -2
- package/dist/ai/claudeSdkProvider.js.map +1 -1
- package/dist/ai/claudeTerminal/cardSynth.d.ts +63 -0
- package/dist/ai/claudeTerminal/cardSynth.d.ts.map +1 -0
- package/dist/ai/claudeTerminal/cardSynth.js +92 -0
- package/dist/ai/claudeTerminal/cardSynth.js.map +1 -0
- package/dist/ai/claudeTerminal/hookBridge.d.ts +56 -0
- package/dist/ai/claudeTerminal/hookBridge.d.ts.map +1 -0
- package/dist/ai/claudeTerminal/hookBridge.js +131 -0
- package/dist/ai/claudeTerminal/hookBridge.js.map +1 -0
- package/dist/ai/claudeTerminal/hookHandler.d.ts +18 -0
- package/dist/ai/claudeTerminal/hookHandler.d.ts.map +1 -0
- package/dist/ai/claudeTerminal/hookHandler.js +124 -0
- package/dist/ai/claudeTerminal/hookHandler.js.map +1 -0
- package/dist/ai/claudeTerminal/index.d.ts +5 -0
- package/dist/ai/claudeTerminal/index.d.ts.map +1 -0
- package/dist/ai/claudeTerminal/index.js +7 -0
- package/dist/ai/claudeTerminal/index.js.map +1 -0
- package/dist/ai/claudeTerminal/jsonlTail.d.ts +40 -0
- package/dist/ai/claudeTerminal/jsonlTail.d.ts.map +1 -0
- package/dist/ai/claudeTerminal/jsonlTail.js +129 -0
- package/dist/ai/claudeTerminal/jsonlTail.js.map +1 -0
- package/dist/ai/claudeTerminal/provider.d.ts +106 -0
- package/dist/ai/claudeTerminal/provider.d.ts.map +1 -0
- package/dist/ai/claudeTerminal/provider.js +579 -0
- package/dist/ai/claudeTerminal/provider.js.map +1 -0
- package/dist/ai/claudeTerminal/settingsBuilder.d.ts +44 -0
- package/dist/ai/claudeTerminal/settingsBuilder.d.ts.map +1 -0
- package/dist/ai/claudeTerminal/settingsBuilder.js +40 -0
- package/dist/ai/claudeTerminal/settingsBuilder.js.map +1 -0
- package/dist/ai/codexAppServer/cardAdapter.d.ts.map +1 -1
- package/dist/ai/codexAppServer/cardAdapter.js +13 -5
- package/dist/ai/codexAppServer/cardAdapter.js.map +1 -1
- package/dist/ai/codexAppServer/provider.d.ts +13 -2
- package/dist/ai/codexAppServer/provider.d.ts.map +1 -1
- package/dist/ai/codexAppServer/provider.js +161 -26
- package/dist/ai/codexAppServer/provider.js.map +1 -1
- package/dist/ai/profiles/project-sandbox.sb +26 -0
- package/dist/ai/provider.d.ts +29 -1
- package/dist/ai/provider.d.ts.map +1 -1
- package/dist/ai/provider.js +1 -0
- package/dist/ai/provider.js.map +1 -1
- package/dist/ai/queuedUserPrompts.d.ts +8 -0
- package/dist/ai/queuedUserPrompts.d.ts.map +1 -0
- package/dist/ai/queuedUserPrompts.js +19 -0
- package/dist/ai/queuedUserPrompts.js.map +1 -0
- package/dist/ai/realtimeTranscription.d.ts +39 -0
- package/dist/ai/realtimeTranscription.d.ts.map +1 -0
- package/dist/ai/realtimeTranscription.js +154 -0
- package/dist/ai/realtimeTranscription.js.map +1 -0
- package/dist/ai/sandboxMcp.d.ts +7 -0
- package/dist/ai/sandboxMcp.d.ts.map +1 -1
- package/dist/ai/sandboxMcp.js +4 -0
- package/dist/ai/sandboxMcp.js.map +1 -1
- package/dist/ai/sandboxMcpStdio.d.ts +1 -1
- package/dist/ai/sandboxMcpStdio.js +120 -47
- package/dist/ai/sandboxMcpStdio.js.map +1 -1
- package/dist/ai/sessionManager.d.ts +14 -0
- package/dist/ai/sessionManager.d.ts.map +1 -1
- package/dist/ai/sessionManager.js +147 -3
- package/dist/ai/sessionManager.js.map +1 -1
- package/dist/ai/sessionRegistry.d.ts +6 -0
- package/dist/ai/sessionRegistry.d.ts.map +1 -1
- package/dist/ai/sessionRegistry.js +13 -0
- package/dist/ai/sessionRegistry.js.map +1 -1
- package/dist/ai/sessionRegistryLocator.d.ts +14 -0
- package/dist/ai/sessionRegistryLocator.d.ts.map +1 -0
- package/dist/ai/sessionRegistryLocator.js +44 -0
- package/dist/ai/sessionRegistryLocator.js.map +1 -0
- package/dist/ai/systemPrompt.d.ts.map +1 -1
- package/dist/ai/systemPrompt.js +1 -0
- package/dist/ai/systemPrompt.js.map +1 -1
- package/dist/ai/voiceStream.d.ts +74 -0
- package/dist/ai/voiceStream.d.ts.map +1 -0
- package/dist/ai/voiceStream.js +179 -0
- package/dist/ai/voiceStream.js.map +1 -0
- package/dist/ai/voiceTranscription.d.ts +33 -0
- package/dist/ai/voiceTranscription.d.ts.map +1 -0
- package/dist/ai/voiceTranscription.js +122 -0
- package/dist/ai/voiceTranscription.js.map +1 -0
- package/dist/files/fileBrowser.d.ts.map +1 -1
- package/dist/files/fileBrowser.js +3 -2
- package/dist/files/fileBrowser.js.map +1 -1
- package/dist/handlers/legacyBusAdapter.d.ts +1 -1
- package/dist/handlers/legacyBusAdapter.d.ts.map +1 -1
- package/dist/handlers/legacyBusAdapter.js +6 -1
- package/dist/handlers/legacyBusAdapter.js.map +1 -1
- package/dist/handlers/messageHandler.d.ts +5 -0
- package/dist/handlers/messageHandler.d.ts.map +1 -1
- package/dist/handlers/messageHandler.js +100 -5
- package/dist/handlers/messageHandler.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/service/ipcClient.js +1 -1
- package/dist/service/ipcClient.js.map +1 -1
- package/dist/service/run.d.ts.map +1 -1
- package/dist/service/run.js +74 -3
- package/dist/service/run.js.map +1 -1
- package/dist/service/types.js +1 -1
- package/package.json +6 -3
|
@@ -75,6 +75,29 @@ const SESSION_STAGES = [
|
|
|
75
75
|
function isSessionStage(value) {
|
|
76
76
|
return SESSION_STAGES.includes(value);
|
|
77
77
|
}
|
|
78
|
+
function parsePendingMissionUntil(value) {
|
|
79
|
+
if (typeof value === 'number' && Number.isFinite(value) && value > 0)
|
|
80
|
+
return value;
|
|
81
|
+
if (typeof value !== 'string' || value.trim().length === 0)
|
|
82
|
+
return null;
|
|
83
|
+
const parsed = Date.parse(value);
|
|
84
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : null;
|
|
85
|
+
}
|
|
86
|
+
function buildPendingMission(input, existing) {
|
|
87
|
+
const label = typeof input.pendingMissionLabel === 'string' && input.pendingMissionLabel.trim().length > 0
|
|
88
|
+
? input.pendingMissionLabel.trim()
|
|
89
|
+
: existing?.label;
|
|
90
|
+
const until = parsePendingMissionUntil(input.pendingMissionUntil) ?? existing?.until;
|
|
91
|
+
if (!label || typeof until !== 'number')
|
|
92
|
+
return null;
|
|
93
|
+
const isNewSchedule = existing?.label !== label || existing?.until !== until;
|
|
94
|
+
return {
|
|
95
|
+
label,
|
|
96
|
+
until,
|
|
97
|
+
startedAt: existing?.startedAt ?? Date.now(),
|
|
98
|
+
...(isNewSchedule || existing?.dismissedAt === undefined ? {} : { dismissedAt: existing.dismissedAt }),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
78
101
|
function autoApproveToolsFor(agentId, level) {
|
|
79
102
|
const normalized = normalizePermissionLevelForAgent(agentId, level);
|
|
80
103
|
if (agentId === 'codex') {
|
|
@@ -113,6 +136,14 @@ function normalizeAgentId(value) {
|
|
|
113
136
|
if (value === 'claude-code' || value === 'claude-cli' || value === 'claude-sdk') {
|
|
114
137
|
return 'claude-code';
|
|
115
138
|
}
|
|
139
|
+
// claude-terminal is a distinct provider (TUI + PTY), NOT an alias of
|
|
140
|
+
// claude-code. Omitting it here made resolveAgentId() return undefined for
|
|
141
|
+
// claude-terminal sessions on every config/registry/request path, so a cold
|
|
142
|
+
// resume (when the in-memory agentId is gone) silently fell back to the
|
|
143
|
+
// default agent — downgrading the session to claude-code and dropping its
|
|
144
|
+
// terminalId. See sessionManager resolveAgentId() fallback chain.
|
|
145
|
+
if (value === 'claude-terminal')
|
|
146
|
+
return 'claude-terminal';
|
|
116
147
|
if (value === 'codex' || value === 'codex-mcp') {
|
|
117
148
|
return 'codex';
|
|
118
149
|
}
|
|
@@ -403,6 +434,10 @@ export class SessionManager extends EventEmitter {
|
|
|
403
434
|
// the sentinel file without a respawn.
|
|
404
435
|
const bypassToken = randomUUID();
|
|
405
436
|
applyBypassFlag(bypassToken, isFullAccessPermission(provider.id, level));
|
|
437
|
+
// Mint a correlation id up front so the sandbox MCP server (spawned by the
|
|
438
|
+
// provider before the real sessionId exists) can find this session's
|
|
439
|
+
// registry entry by matching `mcpCorrId`. See `sandboxMcpStdio.ts`.
|
|
440
|
+
const mcpCorrId = randomUUID();
|
|
406
441
|
// Create cardBuilder with 'pending' sessionId — will be updated after provider returns real one
|
|
407
442
|
const cardBuilder = new StreamCardBuilder('pending', opts.cwd);
|
|
408
443
|
const callbacks = this.makeCallbacks(provider.id);
|
|
@@ -416,6 +451,7 @@ export class SessionManager extends EventEmitter {
|
|
|
416
451
|
reasoningEffort: opts.reasoningEffort,
|
|
417
452
|
contextWindow: opts.contextWindow,
|
|
418
453
|
bypassFlagPath: bypassFlagPath(bypassToken),
|
|
454
|
+
mcpCorrId,
|
|
419
455
|
attachments: opts.attachments,
|
|
420
456
|
}, cardBuilder, callbacks);
|
|
421
457
|
// Update cardBuilder with real sessionId — new session has no prior JSONL
|
|
@@ -443,6 +479,7 @@ export class SessionManager extends EventEmitter {
|
|
|
443
479
|
...(recordedModel !== undefined ? { model: recordedModel } : {}),
|
|
444
480
|
...(opts.reasoningEffort !== undefined ? { reasoningEffort: opts.reasoningEffort } : {}),
|
|
445
481
|
...(opts.contextWindow !== undefined ? { contextWindow: opts.contextWindow } : {}),
|
|
482
|
+
...(providerSession?.terminalId !== undefined ? { terminalId: providerSession.terminalId } : {}),
|
|
446
483
|
permissionMode: level,
|
|
447
484
|
sandboxed,
|
|
448
485
|
});
|
|
@@ -458,6 +495,7 @@ export class SessionManager extends EventEmitter {
|
|
|
458
495
|
spawnedModel: opts.model,
|
|
459
496
|
spawnedContextWindow: opts.contextWindow,
|
|
460
497
|
bypassToken,
|
|
498
|
+
mcpCorrId,
|
|
461
499
|
};
|
|
462
500
|
this.sessions.set(sessionId, managed);
|
|
463
501
|
this.emitSessionUpdate(sessionId);
|
|
@@ -504,7 +542,17 @@ export class SessionManager extends EventEmitter {
|
|
|
504
542
|
if (opts.attachments && opts.attachments.length > 0) {
|
|
505
543
|
await persistAttachments(opts.sessionId, opts.attachments);
|
|
506
544
|
}
|
|
507
|
-
|
|
545
|
+
if (opts.interruptCurrentTurn && existing.providerSession.interruptThenSendUserMessage) {
|
|
546
|
+
existing.providerSession.interruptThenSendUserMessage(opts.prompt, opts.attachments);
|
|
547
|
+
}
|
|
548
|
+
else if (opts.interruptCurrentTurn) {
|
|
549
|
+
existing.providerSession.interrupt();
|
|
550
|
+
existing.providerSession.sendUserMessage(opts.prompt, opts.attachments);
|
|
551
|
+
}
|
|
552
|
+
else {
|
|
553
|
+
existing.providerSession.sendUserMessage(opts.prompt, opts.attachments);
|
|
554
|
+
}
|
|
555
|
+
this.emitSessionUpdate(opts.sessionId);
|
|
508
556
|
return opts.sessionId;
|
|
509
557
|
}
|
|
510
558
|
// Hot resume (idle): CLI alive but between turns — reuse the same process
|
|
@@ -545,6 +593,9 @@ export class SessionManager extends EventEmitter {
|
|
|
545
593
|
const provider = this.getProvider(agentId);
|
|
546
594
|
const level = normalizePermissionLevelForAgent(provider.id, this.sessionPermissions.get(opts.sessionId) ?? registryEntry?.permissionMode);
|
|
547
595
|
const cardBuilder = existing?.cardBuilder ?? new StreamCardBuilder(opts.sessionId, opts.cwd);
|
|
596
|
+
if (provider.historyMode === 'memory') {
|
|
597
|
+
cardBuilder.seedSequenceFromCards(await loadPersistedCards(opts.sessionId));
|
|
598
|
+
}
|
|
548
599
|
await cardBuilder.snapshotCutoff();
|
|
549
600
|
const callbacks = this.makeCallbacks(provider.id);
|
|
550
601
|
const sessionConfig = this.sessionConfigs.get(opts.sessionId);
|
|
@@ -565,6 +616,10 @@ export class SessionManager extends EventEmitter {
|
|
|
565
616
|
// e.g. after a daemon restart).
|
|
566
617
|
const bypassToken = existing?.bypassToken ?? randomUUID();
|
|
567
618
|
applyBypassFlag(bypassToken, isFullAccessPermission(provider.id, level));
|
|
619
|
+
// Reuse the session's existing correlation id (in-memory or persisted on
|
|
620
|
+
// the registry entry) so a cold re-spawn's MCP server still matches the
|
|
621
|
+
// same entry; mint one only when resuming a session we've never tracked.
|
|
622
|
+
const mcpCorrId = existing?.mcpCorrId ?? registryEntry?.mcpCorrId ?? randomUUID();
|
|
568
623
|
const { sessionId, session: providerSession } = await provider.resumeSession({
|
|
569
624
|
sessionId: opts.sessionId,
|
|
570
625
|
prompt: opts.prompt,
|
|
@@ -576,6 +631,7 @@ export class SessionManager extends EventEmitter {
|
|
|
576
631
|
reasoningEffort: resumeReasoningEffort,
|
|
577
632
|
contextWindow: resumeContextWindow,
|
|
578
633
|
bypassFlagPath: bypassFlagPath(bypassToken),
|
|
634
|
+
mcpCorrId,
|
|
579
635
|
attachments: opts.attachments,
|
|
580
636
|
}, cardBuilder, callbacks);
|
|
581
637
|
// Seed sessionConfigs so /sessions/config snapshot reflects the
|
|
@@ -608,6 +664,7 @@ export class SessionManager extends EventEmitter {
|
|
|
608
664
|
existing.streaming = true;
|
|
609
665
|
existing.spawnedModel = resumeModel;
|
|
610
666
|
existing.spawnedContextWindow = resumeContextWindow;
|
|
667
|
+
existing.mcpCorrId = mcpCorrId;
|
|
611
668
|
// Cold resume can fork a new CLI session_id. Rekey the map + side
|
|
612
669
|
// maps to the new ID so emitSessionUpdate finds the entry and the
|
|
613
670
|
// PWA sees isActive=true (the ghost-inactive bug otherwise).
|
|
@@ -633,6 +690,7 @@ export class SessionManager extends EventEmitter {
|
|
|
633
690
|
spawnedModel: resumeModel,
|
|
634
691
|
spawnedContextWindow: resumeContextWindow,
|
|
635
692
|
bypassToken,
|
|
693
|
+
mcpCorrId,
|
|
636
694
|
};
|
|
637
695
|
this.sessions.set(sessionId, managed);
|
|
638
696
|
}
|
|
@@ -666,6 +724,27 @@ export class SessionManager extends EventEmitter {
|
|
|
666
724
|
this.cancelPendingInputsForSession(sessionId);
|
|
667
725
|
return true;
|
|
668
726
|
}
|
|
727
|
+
async interruptSession(sessionId) {
|
|
728
|
+
const ps = this.sessions.get(sessionId);
|
|
729
|
+
if (!ps?.providerSession)
|
|
730
|
+
return false;
|
|
731
|
+
console.log(`[session-manager] interrupt current turn session=${sessionId.slice(0, 8)}`);
|
|
732
|
+
ps.providerSession.interrupt();
|
|
733
|
+
this.emitSessionUpdate(sessionId);
|
|
734
|
+
return true;
|
|
735
|
+
}
|
|
736
|
+
async steerQueuedMessage(sessionId, opts) {
|
|
737
|
+
const ps = this.sessions.get(sessionId);
|
|
738
|
+
if (!ps?.providerSession?.alive)
|
|
739
|
+
return false;
|
|
740
|
+
const steerQueuedMessage = ps.providerSession.steerQueuedMessage;
|
|
741
|
+
if (!steerQueuedMessage)
|
|
742
|
+
return false;
|
|
743
|
+
console.log(`[session-manager] steer queued message session=${sessionId.slice(0, 8)} interrupt=${opts?.interruptCurrentTurn === true}`);
|
|
744
|
+
const ok = await steerQueuedMessage.call(ps.providerSession, opts);
|
|
745
|
+
this.emitSessionUpdate(sessionId);
|
|
746
|
+
return ok;
|
|
747
|
+
}
|
|
669
748
|
/** Send a raw control_request to the active provider session (CLI only). */
|
|
670
749
|
async sendControlRequest(sessionId, subtype, params) {
|
|
671
750
|
const ps = this.sessions.get(sessionId);
|
|
@@ -869,6 +948,12 @@ export class SessionManager extends EventEmitter {
|
|
|
869
948
|
getSessionAgent(sessionId, cwd) {
|
|
870
949
|
return this.resolveAgentId(sessionId, cwd);
|
|
871
950
|
}
|
|
951
|
+
/** Correlation id minted for this session's sandbox MCP server, persisted
|
|
952
|
+
* onto the registry entry so the stdio server can locate it on a fresh
|
|
953
|
+
* start. Undefined for sessions not tracked in memory. */
|
|
954
|
+
getSessionMcpCorrId(sessionId) {
|
|
955
|
+
return this.sessions.get(sessionId)?.mcpCorrId;
|
|
956
|
+
}
|
|
872
957
|
getActiveSessionCount() {
|
|
873
958
|
return this.sessions.size;
|
|
874
959
|
}
|
|
@@ -915,6 +1000,7 @@ export class SessionManager extends EventEmitter {
|
|
|
915
1000
|
lastTurnCacheReadTokens: lastTurn?.cacheReadTokens,
|
|
916
1001
|
lastTurnContextUsage: lastTurn?.contextUsage,
|
|
917
1002
|
lastReadAt: entry.lastReadAt,
|
|
1003
|
+
pendingMission: entry.pendingMission,
|
|
918
1004
|
};
|
|
919
1005
|
});
|
|
920
1006
|
}
|
|
@@ -931,7 +1017,12 @@ export class SessionManager extends EventEmitter {
|
|
|
931
1017
|
// Memory-mode: use in-memory cards from active turn, falling back to persisted history
|
|
932
1018
|
const streamCards = ps?.cardBuilder?.getCards() ?? [];
|
|
933
1019
|
const persisted = await loadPersistedCards(sessionId);
|
|
934
|
-
const
|
|
1020
|
+
const cardsById = new Map();
|
|
1021
|
+
for (const card of persisted)
|
|
1022
|
+
cardsById.set(card.id, card);
|
|
1023
|
+
for (const card of streamCards)
|
|
1024
|
+
cardsById.set(card.id, card);
|
|
1025
|
+
const cards = Array.from(cardsById.values());
|
|
935
1026
|
const total = cards.length;
|
|
936
1027
|
const start = Math.max(0, total - offset - limit);
|
|
937
1028
|
const end = Math.max(0, total - offset);
|
|
@@ -1069,6 +1160,13 @@ export class SessionManager extends EventEmitter {
|
|
|
1069
1160
|
}
|
|
1070
1161
|
this.emitSessionUpdate(sessionId);
|
|
1071
1162
|
},
|
|
1163
|
+
onQueueStateChange: (sessionId) => {
|
|
1164
|
+
const ps = this.sessions.get(sessionId);
|
|
1165
|
+
if (ps?.providerSession?.alive) {
|
|
1166
|
+
ps.streaming = true;
|
|
1167
|
+
}
|
|
1168
|
+
this.emitSessionUpdate(sessionId);
|
|
1169
|
+
},
|
|
1072
1170
|
onModelDetected: (model) => {
|
|
1073
1171
|
console.log(`[session-manager] model detected: ${model} (agent=${agentId})`);
|
|
1074
1172
|
if (agentId === 'claude-code') {
|
|
@@ -1180,6 +1278,16 @@ export class SessionManager extends EventEmitter {
|
|
|
1180
1278
|
const level = this.sessions.get(sessionId)?.permissionLevel
|
|
1181
1279
|
?? this.sessionPermissions.get(sessionId)
|
|
1182
1280
|
?? defaultPermissionLevelForAgent(agentId);
|
|
1281
|
+
// In full-access (bypass) mode the PermissionRequest hook handles built-in
|
|
1282
|
+
// tools via the sentinel file. MCP tools (full names like
|
|
1283
|
+
// "mcp__quicksave-sandbox__TaskCreate") bypass the hook entirely in default
|
|
1284
|
+
// CLI mode and ALWAYS send can_use_tool to the daemon. Rather than keeping
|
|
1285
|
+
// a fragile explicit list, approve everything here except the three tools
|
|
1286
|
+
// that must always reach the user (matching the hook's own exclusion list).
|
|
1287
|
+
if (isFullAccessPermission(agentId, level)) {
|
|
1288
|
+
const BYPASS_NEVER_SKIP = new Set(['AskUserQuestion', 'ExitPlanMode', 'ExitWorktree']);
|
|
1289
|
+
return !BYPASS_NEVER_SKIP.has(toolName);
|
|
1290
|
+
}
|
|
1183
1291
|
if (!autoApproveToolsFor(agentId, level).has(toolName))
|
|
1184
1292
|
return false;
|
|
1185
1293
|
// For file-writing tools, restrict to project cwd
|
|
@@ -1209,6 +1317,9 @@ export class SessionManager extends EventEmitter {
|
|
|
1209
1317
|
const entryUpdates = {};
|
|
1210
1318
|
let noteToAppend = null;
|
|
1211
1319
|
let changed = false;
|
|
1320
|
+
const registryEntry = this.sessions.get(sessionId)?.cwd
|
|
1321
|
+
? getSessionRegistry().getEntry(this.sessions.get(sessionId).cwd, sessionId)
|
|
1322
|
+
: undefined;
|
|
1212
1323
|
if (typeof input.subject === 'string' && input.subject.length > 0) {
|
|
1213
1324
|
configUpdates.title = input.subject;
|
|
1214
1325
|
entryUpdates.title = input.subject;
|
|
@@ -1218,6 +1329,12 @@ export class SessionManager extends EventEmitter {
|
|
|
1218
1329
|
configUpdates.stage = input.stage;
|
|
1219
1330
|
entryUpdates.stage = input.stage;
|
|
1220
1331
|
changed = true;
|
|
1332
|
+
if (input.stage === 'done') {
|
|
1333
|
+
configUpdates.pendingMissionLabel = null;
|
|
1334
|
+
configUpdates.pendingMissionUntil = null;
|
|
1335
|
+
configUpdates.pendingMissionDismissedAt = null;
|
|
1336
|
+
entryUpdates.pendingMission = undefined;
|
|
1337
|
+
}
|
|
1221
1338
|
}
|
|
1222
1339
|
if (typeof input.blocked === 'boolean') {
|
|
1223
1340
|
configUpdates.blocked = input.blocked;
|
|
@@ -1230,6 +1347,23 @@ export class SessionManager extends EventEmitter {
|
|
|
1230
1347
|
noteToAppend = input.note;
|
|
1231
1348
|
changed = true;
|
|
1232
1349
|
}
|
|
1350
|
+
if (input.clearPendingMission === true) {
|
|
1351
|
+
configUpdates.pendingMissionLabel = null;
|
|
1352
|
+
configUpdates.pendingMissionUntil = null;
|
|
1353
|
+
configUpdates.pendingMissionDismissedAt = null;
|
|
1354
|
+
entryUpdates.pendingMission = undefined;
|
|
1355
|
+
changed = true;
|
|
1356
|
+
}
|
|
1357
|
+
else if (input.pendingMissionLabel !== undefined || input.pendingMissionUntil !== undefined) {
|
|
1358
|
+
const pendingMission = buildPendingMission(input, registryEntry?.pendingMission);
|
|
1359
|
+
if (pendingMission) {
|
|
1360
|
+
configUpdates.pendingMissionLabel = pendingMission.label;
|
|
1361
|
+
configUpdates.pendingMissionUntil = pendingMission.until;
|
|
1362
|
+
configUpdates.pendingMissionDismissedAt = pendingMission.dismissedAt ?? null;
|
|
1363
|
+
entryUpdates.pendingMission = pendingMission;
|
|
1364
|
+
changed = true;
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1233
1367
|
if (!changed)
|
|
1234
1368
|
return;
|
|
1235
1369
|
const prev = this.sessionConfigs.get(sessionId) ?? {};
|
|
@@ -1239,7 +1373,7 @@ export class SessionManager extends EventEmitter {
|
|
|
1239
1373
|
const ps = this.sessions.get(sessionId);
|
|
1240
1374
|
if (ps?.cwd) {
|
|
1241
1375
|
const registry = getSessionRegistry();
|
|
1242
|
-
const entry = registry.getEntry(ps.cwd, sessionId);
|
|
1376
|
+
const entry = registryEntry ?? registry.getEntry(ps.cwd, sessionId);
|
|
1243
1377
|
if (entry) {
|
|
1244
1378
|
let nextHistory = entry.noteHistory;
|
|
1245
1379
|
if (noteToAppend !== null) {
|
|
@@ -1255,6 +1389,9 @@ export class SessionManager extends EventEmitter {
|
|
|
1255
1389
|
registry.upsertEntry({
|
|
1256
1390
|
...entry,
|
|
1257
1391
|
...entryUpdates,
|
|
1392
|
+
...(Object.prototype.hasOwnProperty.call(entryUpdates, 'pendingMission')
|
|
1393
|
+
? { pendingMission: entryUpdates.pendingMission }
|
|
1394
|
+
: {}),
|
|
1258
1395
|
...(nextHistory !== entry.noteHistory ? { noteHistory: nextHistory } : {}),
|
|
1259
1396
|
lastAccessedAt: Date.now(),
|
|
1260
1397
|
});
|
|
@@ -1336,6 +1473,7 @@ export class SessionManager extends EventEmitter {
|
|
|
1336
1473
|
agent: ps?.agentId ?? this.sessionAgents.get(sessionId),
|
|
1337
1474
|
isStreaming: ps?.streaming ?? false,
|
|
1338
1475
|
hasPendingInput,
|
|
1476
|
+
queueState: ps?.providerSession?.getQueueState?.() ?? null,
|
|
1339
1477
|
permissionMode: ps?.permissionLevel ?? this.sessionPermissions.get(sessionId),
|
|
1340
1478
|
sandboxed: ps?.sandboxed ?? this.sessionSandboxed.get(sessionId) ?? false,
|
|
1341
1479
|
lastPromptAt: stats.lastPromptAt ?? undefined,
|
|
@@ -1353,6 +1491,12 @@ export class SessionManager extends EventEmitter {
|
|
|
1353
1491
|
// update so each PWA client converges on the latest read state without
|
|
1354
1492
|
// having to wait for the slower /sessions/history snapshot to roll over.
|
|
1355
1493
|
lastReadAt: registryEntry?.lastReadAt,
|
|
1494
|
+
pendingMission: registryEntry?.pendingMission,
|
|
1495
|
+
// Surface the PTY terminal id when this provider owns one. Only the
|
|
1496
|
+
// claude-terminal provider populates it today. The PWA mirrors it onto
|
|
1497
|
+
// ClaudeSessionSummary so the session view can render a TerminalView
|
|
1498
|
+
// alongside the structured card stream.
|
|
1499
|
+
terminalId: ps?.providerSession?.terminalId ?? undefined,
|
|
1356
1500
|
};
|
|
1357
1501
|
}
|
|
1358
1502
|
/** Snapshot of every in-memory session's state (both streaming and idle —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../src/ai/sessionManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../src/ai/sessionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,12 @@ export declare class SessionRegistry {
|
|
|
26
26
|
*/
|
|
27
27
|
loadAll(): void;
|
|
28
28
|
getEntry(cwd: string, sessionId: string): SessionRegistryEntry | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Refresh one active entry in memory from an externally-written registry
|
|
31
|
+
* file without writing it back to disk. Used by the daemon watcher for MCP
|
|
32
|
+
* stdio status updates, which mutate the JSON file outside this process.
|
|
33
|
+
*/
|
|
34
|
+
applyExternalActiveEntry(entry: SessionRegistryEntry): void;
|
|
29
35
|
/** Scan active projects for a session by id. Archived entries are NOT searched. */
|
|
30
36
|
findBySessionId(sessionId: string): SessionRegistryEntry | undefined;
|
|
31
37
|
/** Active entries only — archived entries are never in memory. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionRegistry.d.ts","sourceRoot":"","sources":["../../src/ai/sessionRegistry.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAaH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQtE,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAwD;IAExE;;;;OAIG;IACH,OAAO,IAAI,IAAI;IA+Df,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAI1E,mFAAmF;IACnF,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAQpE,kEAAkE;IAClE,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAe1D,qEAAqE;IACrE,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAcnF;;;OAGG;IACH,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE;IA4BzD;;;;;;;;;;;;OAYG;IACH,uBAAuB,CACrB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ;QAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IA4CrD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAa9C;;;OAGG;IACH,WAAW,CACT,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACrC,oBAAoB,GAAG,IAAI;IAS9B,+CAA+C;IAC/C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IASpD,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,yBAAyB;
|
|
1
|
+
{"version":3,"file":"sessionRegistry.d.ts","sourceRoot":"","sources":["../../src/ai/sessionRegistry.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAaH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQtE,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAwD;IAExE;;;;OAIG;IACH,OAAO,IAAI,IAAI;IA+Df,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAI1E;;;;OAIG;IACH,wBAAwB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAK3D,mFAAmF;IACnF,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAQpE,kEAAkE;IAClE,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAe1D,qEAAqE;IACrE,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAcnF;;;OAGG;IACH,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE;IA4BzD;;;;;;;;;;;;OAYG;IACH,uBAAuB,CACrB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ;QAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IA4CrD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAa9C;;;OAGG;IACH,WAAW,CACT,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACrC,oBAAoB,GAAG,IAAI;IAS9B,+CAA+C;IAC/C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IASpD,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,uBAAuB;CAahC;AAID,wBAAgB,kBAAkB,IAAI,eAAe,CAMpD;AAED,4CAA4C;AAC5C,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
|
@@ -98,6 +98,16 @@ export class SessionRegistry {
|
|
|
98
98
|
getEntry(cwd, sessionId) {
|
|
99
99
|
return this.registry.get(cwd)?.get(sessionId);
|
|
100
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Refresh one active entry in memory from an externally-written registry
|
|
103
|
+
* file without writing it back to disk. Used by the daemon watcher for MCP
|
|
104
|
+
* stdio status updates, which mutate the JSON file outside this process.
|
|
105
|
+
*/
|
|
106
|
+
applyExternalActiveEntry(entry) {
|
|
107
|
+
if (!entry.sessionId || !entry.cwd || entry.archived)
|
|
108
|
+
return;
|
|
109
|
+
this.setInMemory(entry);
|
|
110
|
+
}
|
|
101
111
|
/** Scan active projects for a session by id. Archived entries are NOT searched. */
|
|
102
112
|
findBySessionId(sessionId) {
|
|
103
113
|
for (const projectMap of this.registry.values()) {
|
|
@@ -320,6 +330,9 @@ export class SessionRegistry {
|
|
|
320
330
|
if (entry.noteHistory === undefined && existing.noteHistory !== undefined) {
|
|
321
331
|
preserved.noteHistory = existing.noteHistory;
|
|
322
332
|
}
|
|
333
|
+
if (entry.pendingMission === undefined && existing.pendingMission !== undefined) {
|
|
334
|
+
preserved.pendingMission = existing.pendingMission;
|
|
335
|
+
}
|
|
323
336
|
return Object.keys(preserved).length > 0 ? { ...entry, ...preserved } : entry;
|
|
324
337
|
}
|
|
325
338
|
catch {
|