@sumicom/quicksave 0.5.2 → 0.6.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/ai/asyncQueue.d.ts +17 -0
- package/dist/ai/asyncQueue.d.ts.map +1 -0
- package/dist/ai/asyncQueue.js +49 -0
- package/dist/ai/asyncQueue.js.map +1 -0
- package/dist/ai/asyncQueue.test.d.ts +2 -0
- package/dist/ai/asyncQueue.test.d.ts.map +1 -0
- package/dist/ai/asyncQueue.test.js +56 -0
- package/dist/ai/asyncQueue.test.js.map +1 -0
- package/dist/ai/cardBuilder.d.ts +73 -0
- package/dist/ai/cardBuilder.d.ts.map +1 -0
- package/dist/ai/cardBuilder.js +595 -0
- package/dist/ai/cardBuilder.js.map +1 -0
- package/dist/ai/claudeCliProvider.d.ts +19 -0
- package/dist/ai/claudeCliProvider.d.ts.map +1 -0
- package/dist/ai/claudeCliProvider.js +466 -0
- package/dist/ai/claudeCliProvider.js.map +1 -0
- package/dist/ai/claudeSdkProvider.d.ts +18 -0
- package/dist/ai/claudeSdkProvider.d.ts.map +1 -0
- package/dist/ai/claudeSdkProvider.js +418 -0
- package/dist/ai/claudeSdkProvider.js.map +1 -0
- package/dist/ai/commitSummary.d.ts +4 -0
- package/dist/ai/commitSummary.d.ts.map +1 -1
- package/dist/ai/commitSummary.js +80 -40
- package/dist/ai/commitSummary.js.map +1 -1
- package/dist/ai/provider.d.ts +54 -0
- package/dist/ai/provider.d.ts.map +1 -0
- package/dist/ai/provider.js +2 -0
- package/dist/ai/provider.js.map +1 -0
- package/dist/ai/sandboxMcp.d.ts +12 -0
- package/dist/ai/sandboxMcp.d.ts.map +1 -0
- package/dist/ai/sandboxMcp.js +12 -0
- package/dist/ai/sandboxMcp.js.map +1 -0
- package/dist/ai/sandboxMcpStdio.d.ts +16 -0
- package/dist/ai/sandboxMcpStdio.d.ts.map +1 -0
- package/dist/ai/sandboxMcpStdio.js +127 -0
- package/dist/ai/sandboxMcpStdio.js.map +1 -0
- package/dist/ai/sessionManager.d.ts +100 -0
- package/dist/ai/sessionManager.d.ts.map +1 -0
- package/dist/ai/sessionManager.js +595 -0
- package/dist/ai/sessionManager.js.map +1 -0
- package/dist/ai/sessionRegistry.d.ts +28 -0
- package/dist/ai/sessionRegistry.d.ts.map +1 -0
- package/dist/ai/sessionRegistry.js +148 -0
- package/dist/ai/sessionRegistry.js.map +1 -0
- package/dist/connection/connection.d.ts +24 -6
- package/dist/connection/connection.d.ts.map +1 -1
- package/dist/connection/connection.js +85 -13
- package/dist/connection/connection.js.map +1 -1
- package/dist/connection/pubsub.d.ts +41 -0
- package/dist/connection/pubsub.d.ts.map +1 -0
- package/dist/connection/pubsub.js +101 -0
- package/dist/connection/pubsub.js.map +1 -0
- package/dist/connection/pubsub.test.d.ts +2 -0
- package/dist/connection/pubsub.test.d.ts.map +1 -0
- package/dist/connection/pubsub.test.js +96 -0
- package/dist/connection/pubsub.test.js.map +1 -0
- package/dist/git/operations.d.ts +6 -1
- package/dist/git/operations.d.ts.map +1 -1
- package/dist/git/operations.js +31 -2
- package/dist/git/operations.js.map +1 -1
- package/dist/handlers/messageHandler.d.ts +25 -5
- package/dist/handlers/messageHandler.d.ts.map +1 -1
- package/dist/handlers/messageHandler.js +266 -29
- package/dist/handlers/messageHandler.js.map +1 -1
- package/dist/handlers/messageHandler.test.js +1 -1
- package/dist/index.js +192 -41
- package/dist/index.js.map +1 -1
- package/dist/service/ensureDaemon.d.ts.map +1 -1
- package/dist/service/ensureDaemon.js +15 -2
- package/dist/service/ensureDaemon.js.map +1 -1
- package/dist/service/ipc.test.js +6 -6
- package/dist/service/ipcClient.js +1 -1
- package/dist/service/run.d.ts.map +1 -1
- package/dist/service/run.js +120 -11
- package/dist/service/run.js.map +1 -1
- package/dist/service/singleton.d.ts +4 -0
- package/dist/service/singleton.d.ts.map +1 -1
- package/dist/service/singleton.js +28 -2
- package/dist/service/singleton.js.map +1 -1
- package/dist/service/singleton.test.js +1 -1
- package/dist/service/types.d.ts +29 -0
- package/dist/service/types.d.ts.map +1 -1
- package/dist/service/types.js +11 -0
- package/dist/service/types.js.map +1 -1
- package/package.json +5 -3
- package/dist/ai/claudeCodeService.d.ts +0 -111
- package/dist/ai/claudeCodeService.d.ts.map +0 -1
- package/dist/ai/claudeCodeService.js +0 -764
- package/dist/ai/claudeCodeService.js.map +0 -1
|
@@ -2,28 +2,38 @@ import { createMessage, generateMessageId, } from '@sumicom/quicksave-shared';
|
|
|
2
2
|
import { GitOperations } from '../git/operations.js';
|
|
3
3
|
import { getAnthropicApiKey, setAnthropicApiKey, hasAnthropicApiKey, addManagedRepo, addManagedCodingPath } from '../config.js';
|
|
4
4
|
import { CommitSummaryService } from '../ai/commitSummary.js';
|
|
5
|
-
import {
|
|
5
|
+
import { SessionManager } from '../ai/sessionManager.js';
|
|
6
|
+
import { ClaudeCliProvider } from '../ai/claudeCliProvider.js';
|
|
7
|
+
import { ClaudeSdkProvider } from '../ai/claudeSdkProvider.js';
|
|
8
|
+
import { getSessionRegistry } from '../ai/sessionRegistry.js';
|
|
6
9
|
import { readdir, stat } from 'fs/promises';
|
|
7
10
|
import { join, dirname, basename } from 'path';
|
|
8
11
|
import { homedir } from 'os';
|
|
12
|
+
const VERSION_CHECK_INTERVAL_MS = 12 * 60 * 60 * 1000; // 12 hours
|
|
9
13
|
export class MessageHandler {
|
|
10
14
|
repos;
|
|
11
|
-
agentVersion = '0.
|
|
15
|
+
agentVersion = '0.6.1';
|
|
12
16
|
defaultRepoPath;
|
|
13
17
|
clientRepos = new Map(); // peerAddress -> repoPath
|
|
14
18
|
repoLocks = new Map(); // repoPath -> peerAddress holding lock
|
|
15
19
|
availableRepos;
|
|
16
20
|
codingPaths = new Map(); // path -> CodingPath
|
|
17
21
|
aiService = null;
|
|
18
|
-
claudeService = new
|
|
22
|
+
claudeService = new SessionManager(new ClaudeCliProvider(), new ClaudeSdkProvider());
|
|
23
|
+
latestVersionCache = null;
|
|
24
|
+
versionCheckInFlight = null;
|
|
19
25
|
onPeerSubscribed;
|
|
20
|
-
|
|
26
|
+
onPeerUnsubscribed;
|
|
27
|
+
onHistoryUpdated;
|
|
28
|
+
productionBuild;
|
|
29
|
+
constructor(repos, _license, codingPaths, productionBuild = false) {
|
|
21
30
|
this.repos = new Map();
|
|
22
31
|
for (const repo of repos) {
|
|
23
32
|
this.repos.set(repo.path, new GitOperations(repo.path));
|
|
24
33
|
}
|
|
25
34
|
this.availableRepos = repos;
|
|
26
35
|
this.defaultRepoPath = repos.length > 0 ? repos[0].path : '';
|
|
36
|
+
this.productionBuild = productionBuild;
|
|
27
37
|
// Load explicit coding paths only (repos and coding paths are independent)
|
|
28
38
|
if (codingPaths) {
|
|
29
39
|
for (const p of codingPaths) {
|
|
@@ -31,6 +41,42 @@ export class MessageHandler {
|
|
|
31
41
|
}
|
|
32
42
|
}
|
|
33
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Check npm registry for latest version. Deduped: returns cached value
|
|
46
|
+
* if checked within the last 12 hours. Only runs in production builds.
|
|
47
|
+
*/
|
|
48
|
+
async checkLatestVersion(force = false) {
|
|
49
|
+
if (!force && !this.productionBuild)
|
|
50
|
+
return null;
|
|
51
|
+
// Return cached value if fresh
|
|
52
|
+
if (!force && this.latestVersionCache &&
|
|
53
|
+
Date.now() - this.latestVersionCache.checkedAt < VERSION_CHECK_INTERVAL_MS) {
|
|
54
|
+
return this.latestVersionCache.version;
|
|
55
|
+
}
|
|
56
|
+
// Dedup concurrent requests
|
|
57
|
+
if (this.versionCheckInFlight)
|
|
58
|
+
return this.versionCheckInFlight;
|
|
59
|
+
this.versionCheckInFlight = (async () => {
|
|
60
|
+
try {
|
|
61
|
+
const res = await fetch('https://registry.npmjs.org/@sumicom/quicksave/latest');
|
|
62
|
+
if (!res.ok)
|
|
63
|
+
return null;
|
|
64
|
+
const data = await res.json();
|
|
65
|
+
if (data.version) {
|
|
66
|
+
this.latestVersionCache = { version: data.version, checkedAt: Date.now() };
|
|
67
|
+
return data.version;
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
this.versionCheckInFlight = null;
|
|
76
|
+
}
|
|
77
|
+
})();
|
|
78
|
+
return this.versionCheckInFlight;
|
|
79
|
+
}
|
|
34
80
|
addRepo(repo) {
|
|
35
81
|
if (this.repos.has(repo.path))
|
|
36
82
|
return;
|
|
@@ -159,6 +205,10 @@ export class MessageHandler {
|
|
|
159
205
|
return this.handleListCodingPaths(message);
|
|
160
206
|
case 'agent:add-coding-path':
|
|
161
207
|
return this.handleAddCodingPath(message);
|
|
208
|
+
case 'agent:check-update':
|
|
209
|
+
return this.handleAgentCheckUpdate(message);
|
|
210
|
+
case 'agent:update':
|
|
211
|
+
return this.handleAgentUpdate(message);
|
|
162
212
|
// Claude Code SDK
|
|
163
213
|
case 'claude:list-sessions':
|
|
164
214
|
return this.handleClaudeListSessions(message, peerAddress);
|
|
@@ -170,8 +220,6 @@ export class MessageHandler {
|
|
|
170
220
|
return this.handleClaudeCancel(message);
|
|
171
221
|
case 'claude:close':
|
|
172
222
|
return this.handleClaudeClose(message);
|
|
173
|
-
case 'claude:get-messages':
|
|
174
|
-
return this.handleClaudeGetMessages(message, peerAddress);
|
|
175
223
|
case 'claude:user-input-response':
|
|
176
224
|
return this.handleClaudeUserInputResponse(message);
|
|
177
225
|
case 'claude:get-preferences':
|
|
@@ -182,6 +230,23 @@ export class MessageHandler {
|
|
|
182
230
|
return this.handleSetSessionPermission(message);
|
|
183
231
|
case 'claude:active-sessions':
|
|
184
232
|
return this.handleGetActiveSessions(message);
|
|
233
|
+
case 'claude:get-cards':
|
|
234
|
+
return this.handleClaudeGetCards(message, peerAddress);
|
|
235
|
+
case 'claude:unsubscribe': {
|
|
236
|
+
const unsub = message.payload;
|
|
237
|
+
this.onPeerUnsubscribed?.(peerAddress, unsub.sessionId);
|
|
238
|
+
return createMessage('claude:unsubscribe:response', { ok: true });
|
|
239
|
+
}
|
|
240
|
+
case 'session:get-config':
|
|
241
|
+
return this.handleGetSessionConfig(message);
|
|
242
|
+
case 'session:set-config':
|
|
243
|
+
return this.handleSetSessionConfig(message);
|
|
244
|
+
case 'session:list-history':
|
|
245
|
+
return this.handleListHistory(message, peerAddress);
|
|
246
|
+
case 'session:update-history':
|
|
247
|
+
return this.handleUpdateHistory(message);
|
|
248
|
+
case 'session:delete-history':
|
|
249
|
+
return this.handleDeleteHistory(message);
|
|
185
250
|
default:
|
|
186
251
|
return this.createErrorResponse(message.id, 'UNKNOWN_MESSAGE_TYPE', `Unknown message type: ${message.type}`);
|
|
187
252
|
}
|
|
@@ -192,6 +257,8 @@ export class MessageHandler {
|
|
|
192
257
|
}
|
|
193
258
|
}
|
|
194
259
|
handleHandshake(message, peerAddress) {
|
|
260
|
+
// Fire-and-forget: check npm registry for latest version (12h dedup, production only)
|
|
261
|
+
this.checkLatestVersion().catch(() => { });
|
|
195
262
|
const response = createMessage('handshake:ack', {
|
|
196
263
|
success: true,
|
|
197
264
|
agentVersion: this.agentVersion,
|
|
@@ -199,14 +266,10 @@ export class MessageHandler {
|
|
|
199
266
|
availableRepos: this.availableRepos,
|
|
200
267
|
availableCodingPaths: [...this.codingPaths.values()],
|
|
201
268
|
preferences: this.claudeService.getPreferences(),
|
|
269
|
+
latestVersion: this.latestVersionCache?.version,
|
|
270
|
+
devBuild: !this.productionBuild || undefined,
|
|
202
271
|
});
|
|
203
272
|
response.id = message.id;
|
|
204
|
-
// Re-emit pending user input requests so they get broadcast to the new peer
|
|
205
|
-
const pending = this.claudeService.getPendingInputRequests();
|
|
206
|
-
for (const request of pending) {
|
|
207
|
-
console.log(`[handshake] re-emitting pending user input: requestId=${request.requestId}`);
|
|
208
|
-
this.claudeService.emit('user-input-request', request);
|
|
209
|
-
}
|
|
210
273
|
return response;
|
|
211
274
|
}
|
|
212
275
|
async handleStatus(message, peerAddress) {
|
|
@@ -345,8 +408,8 @@ export class MessageHandler {
|
|
|
345
408
|
return response;
|
|
346
409
|
}
|
|
347
410
|
try {
|
|
348
|
-
const { message: commitMessage, description } = message.payload;
|
|
349
|
-
const hash = await this.getGit(peerAddress).commit(commitMessage, description);
|
|
411
|
+
const { message: commitMessage, description, attribution } = message.payload;
|
|
412
|
+
const hash = await this.getGit(peerAddress).commit(commitMessage, description, attribution ?? true);
|
|
350
413
|
const response = createMessage('git:commit:response', {
|
|
351
414
|
success: true,
|
|
352
415
|
hash,
|
|
@@ -550,13 +613,24 @@ export class MessageHandler {
|
|
|
550
613
|
response.id = message.id;
|
|
551
614
|
return response;
|
|
552
615
|
}
|
|
553
|
-
// Collect diffs
|
|
554
|
-
const diffs = await Promise.all(
|
|
616
|
+
// Collect diffs and context in parallel
|
|
617
|
+
const [diffs, recentLog, branchInfo, conventions] = await Promise.all([
|
|
618
|
+
Promise.all(status.staged.map((file) => git.getDiff(file.path, true))),
|
|
619
|
+
git.getLog(10).catch(() => []),
|
|
620
|
+
git.getBranches().catch(() => ({ current: '' })),
|
|
621
|
+
git.readCommitConventions().catch(() => undefined),
|
|
622
|
+
]);
|
|
623
|
+
const recentCommits = recentLog.map((c) => c.message);
|
|
624
|
+
const branchName = branchInfo.current;
|
|
555
625
|
// Generate summary (uses internal queue and cache)
|
|
556
626
|
const result = await aiService.generateSummary({
|
|
557
627
|
diffs,
|
|
558
628
|
context: message.payload.context,
|
|
559
629
|
model: message.payload.model,
|
|
630
|
+
recentCommits: recentCommits.length > 0 ? recentCommits : undefined,
|
|
631
|
+
branchName: branchName || undefined,
|
|
632
|
+
conventions,
|
|
633
|
+
attribution: message.payload.attribution,
|
|
560
634
|
});
|
|
561
635
|
const response = createMessage('ai:generate-commit-summary:response', {
|
|
562
636
|
success: true,
|
|
@@ -792,6 +866,85 @@ export class MessageHandler {
|
|
|
792
866
|
}
|
|
793
867
|
}
|
|
794
868
|
// ============================================================================
|
|
869
|
+
// Agent Self-Update
|
|
870
|
+
// ============================================================================
|
|
871
|
+
/** Callback set by run.ts to trigger daemon restart after update. */
|
|
872
|
+
onRestartRequested;
|
|
873
|
+
async handleAgentCheckUpdate(message) {
|
|
874
|
+
const currentVersion = this.agentVersion;
|
|
875
|
+
try {
|
|
876
|
+
const latestVersion = await this.checkLatestVersion(/* force */ true);
|
|
877
|
+
const response = createMessage('agent:check-update:response', {
|
|
878
|
+
currentVersion,
|
|
879
|
+
latestVersion: latestVersion || undefined,
|
|
880
|
+
updateAvailable: !!latestVersion && latestVersion !== currentVersion,
|
|
881
|
+
});
|
|
882
|
+
response.id = message.id;
|
|
883
|
+
return response;
|
|
884
|
+
}
|
|
885
|
+
catch (error) {
|
|
886
|
+
const response = createMessage('agent:check-update:response', {
|
|
887
|
+
currentVersion,
|
|
888
|
+
updateAvailable: false,
|
|
889
|
+
error: error instanceof Error ? error.message : 'Failed to check for updates',
|
|
890
|
+
});
|
|
891
|
+
response.id = message.id;
|
|
892
|
+
return response;
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
async handleAgentUpdate(message) {
|
|
896
|
+
const previousVersion = this.agentVersion;
|
|
897
|
+
try {
|
|
898
|
+
const { execFile } = await import('child_process');
|
|
899
|
+
const { promisify } = await import('util');
|
|
900
|
+
const execFileAsync = promisify(execFile);
|
|
901
|
+
// Use npm to install the latest global package
|
|
902
|
+
const { stdout, stderr } = await execFileAsync('npm', [
|
|
903
|
+
'install', '-g', '@sumicom/quicksave@latest',
|
|
904
|
+
], { timeout: 120_000 });
|
|
905
|
+
const output = (stdout + '\n' + stderr).trim();
|
|
906
|
+
// Parse the installed version from npm output
|
|
907
|
+
// npm output typically contains lines like: + @sumicom/quicksave@0.5.3
|
|
908
|
+
let newVersion = output.match(/@sumicom\/quicksave@(\d+\.\d+\.\d+)/)?.[1];
|
|
909
|
+
// Fallback: query npm for the actually installed version
|
|
910
|
+
if (!newVersion) {
|
|
911
|
+
try {
|
|
912
|
+
const { stdout: listOut } = await execFileAsync('npm', [
|
|
913
|
+
'list', '-g', '@sumicom/quicksave', '--json',
|
|
914
|
+
], { timeout: 10_000 });
|
|
915
|
+
const listData = JSON.parse(listOut);
|
|
916
|
+
newVersion = listData.dependencies?.['@sumicom/quicksave']?.version;
|
|
917
|
+
}
|
|
918
|
+
catch { /* best-effort */ }
|
|
919
|
+
}
|
|
920
|
+
const needsRestart = !!newVersion && newVersion !== previousVersion;
|
|
921
|
+
const response = createMessage('agent:update:response', {
|
|
922
|
+
success: true,
|
|
923
|
+
previousVersion,
|
|
924
|
+
newVersion: newVersion || undefined,
|
|
925
|
+
restarting: needsRestart,
|
|
926
|
+
});
|
|
927
|
+
response.id = message.id;
|
|
928
|
+
// Schedule daemon restart AFTER we send the response back to PWA
|
|
929
|
+
if (needsRestart && this.onRestartRequested) {
|
|
930
|
+
setTimeout(() => this.onRestartRequested?.(), 500);
|
|
931
|
+
}
|
|
932
|
+
return response;
|
|
933
|
+
}
|
|
934
|
+
catch (error) {
|
|
935
|
+
const response = createMessage('agent:update:response', {
|
|
936
|
+
success: false,
|
|
937
|
+
previousVersion,
|
|
938
|
+
restarting: false,
|
|
939
|
+
error: error instanceof Error
|
|
940
|
+
? (error.message.includes('EACCES') ? `Permission denied. Try: sudo npm install -g @sumicom/quicksave@latest` : error.message)
|
|
941
|
+
: 'Failed to update agent',
|
|
942
|
+
});
|
|
943
|
+
response.id = message.id;
|
|
944
|
+
return response;
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
// ============================================================================
|
|
795
948
|
// Claude Code SDK Handlers
|
|
796
949
|
// ============================================================================
|
|
797
950
|
async handleClaudeListSessions(message, peerAddress) {
|
|
@@ -809,16 +962,29 @@ export class MessageHandler {
|
|
|
809
962
|
}
|
|
810
963
|
}
|
|
811
964
|
async handleClaudeStart(message, peerAddress) {
|
|
812
|
-
const { prompt, cwd: payloadCwd, allowedTools, systemPrompt, model, permissionMode } = message.payload;
|
|
965
|
+
const { prompt, cwd: payloadCwd, allowedTools, systemPrompt, model, permissionMode, sandboxed } = message.payload;
|
|
813
966
|
const cwd = payloadCwd || this.getClientRepoPath(peerAddress);
|
|
814
967
|
const streamId = generateMessageId();
|
|
815
|
-
console.log(`[claude:start] cwd=${cwd} prompt=${prompt.slice(0, 80)}`);
|
|
968
|
+
console.log(`[claude:start] cwd=${cwd} prompt=${prompt.slice(0, 80)}${sandboxed ? ' [sandboxed]' : ''}`);
|
|
816
969
|
try {
|
|
817
970
|
const sessionId = await this.claudeService.startSession({
|
|
818
|
-
prompt, cwd, streamId, allowedTools, systemPrompt, model, permissionMode,
|
|
971
|
+
prompt, cwd, streamId, allowedTools, systemPrompt, model, permissionMode, sandboxed,
|
|
819
972
|
});
|
|
820
973
|
console.log(`[claude:start] session created: ${sessionId}`);
|
|
821
974
|
this.onPeerSubscribed?.(peerAddress, sessionId);
|
|
975
|
+
// Register in session history
|
|
976
|
+
const now = Date.now();
|
|
977
|
+
const registry = getSessionRegistry();
|
|
978
|
+
const gitBranch = await this.getGitBranchQuiet(cwd);
|
|
979
|
+
registry.upsertEntry({
|
|
980
|
+
sessionId, cwd,
|
|
981
|
+
repoName: basename(cwd),
|
|
982
|
+
gitBranch,
|
|
983
|
+
firstPrompt: prompt.slice(0, 100),
|
|
984
|
+
createdAt: now,
|
|
985
|
+
lastAccessedAt: now,
|
|
986
|
+
});
|
|
987
|
+
this.onHistoryUpdated?.(cwd, registry.getEntry(cwd, sessionId), 'upsert');
|
|
822
988
|
const response = createMessage('claude:start:response', { success: true, sessionId, streamId });
|
|
823
989
|
response.id = message.id;
|
|
824
990
|
return response;
|
|
@@ -835,12 +1001,30 @@ export class MessageHandler {
|
|
|
835
1001
|
const cwd = payloadCwd || this.getClientRepoPath(peerAddress);
|
|
836
1002
|
const streamId = generateMessageId();
|
|
837
1003
|
console.log(`[claude:resume] session=${requestedId} cwd=${cwd} prompt=${prompt.slice(0, 80)}`);
|
|
1004
|
+
// Subscribe before resumeSession starts streaming — hot resume emits events
|
|
1005
|
+
// immediately (user_message, then assistant turns), so we must be subscribed
|
|
1006
|
+
// before session.send() fires, not after resumeSession() returns.
|
|
1007
|
+
this.onPeerSubscribed?.(peerAddress, requestedId);
|
|
838
1008
|
try {
|
|
839
1009
|
const actualSessionId = await this.claudeService.resumeSession({
|
|
840
1010
|
sessionId: requestedId, prompt, cwd, streamId,
|
|
841
1011
|
});
|
|
842
1012
|
console.log(`[claude:resume] session resumed: ${actualSessionId}`);
|
|
843
|
-
|
|
1013
|
+
// Re-subscribe with actual session ID (cold resume may return a different ID)
|
|
1014
|
+
if (actualSessionId !== requestedId) {
|
|
1015
|
+
this.onPeerSubscribed?.(peerAddress, actualSessionId);
|
|
1016
|
+
}
|
|
1017
|
+
// Update session history
|
|
1018
|
+
const registry = getSessionRegistry();
|
|
1019
|
+
const existing = registry.getEntry(cwd, requestedId) ?? registry.getEntry(cwd, actualSessionId);
|
|
1020
|
+
const gitBranch = await this.getGitBranchQuiet(cwd);
|
|
1021
|
+
registry.upsertEntry({
|
|
1022
|
+
...(existing ?? { sessionId: actualSessionId, cwd, repoName: basename(cwd), createdAt: Date.now() }),
|
|
1023
|
+
sessionId: actualSessionId,
|
|
1024
|
+
lastAccessedAt: Date.now(),
|
|
1025
|
+
gitBranch,
|
|
1026
|
+
});
|
|
1027
|
+
this.onHistoryUpdated?.(cwd, registry.getEntry(cwd, actualSessionId), 'upsert');
|
|
844
1028
|
const response = createMessage('claude:resume:response', { success: true, sessionId: actualSessionId, streamId });
|
|
845
1029
|
response.id = message.id;
|
|
846
1030
|
return response;
|
|
@@ -852,9 +1036,9 @@ export class MessageHandler {
|
|
|
852
1036
|
return response;
|
|
853
1037
|
}
|
|
854
1038
|
}
|
|
855
|
-
handleClaudeCancel(message) {
|
|
1039
|
+
async handleClaudeCancel(message) {
|
|
856
1040
|
const { sessionId } = message.payload;
|
|
857
|
-
const success = this.claudeService.cancelSession(sessionId);
|
|
1041
|
+
const success = await this.claudeService.cancelSession(sessionId);
|
|
858
1042
|
const response = createMessage('claude:cancel:response', { success, error: success ? undefined : 'Session not found or already ended' });
|
|
859
1043
|
response.id = message.id;
|
|
860
1044
|
return response;
|
|
@@ -875,22 +1059,22 @@ export class MessageHandler {
|
|
|
875
1059
|
response.id = message.id;
|
|
876
1060
|
return response;
|
|
877
1061
|
}
|
|
878
|
-
async
|
|
1062
|
+
async handleClaudeGetCards(message, peerAddress) {
|
|
879
1063
|
const { sessionId, cwd: payloadCwd, offset = 0, limit = 50 } = message.payload;
|
|
880
1064
|
const cwd = payloadCwd || this.getClientRepoPath(peerAddress);
|
|
881
|
-
this.onPeerSubscribed?.(peerAddress, sessionId);
|
|
882
1065
|
try {
|
|
883
|
-
const result = await this.claudeService.
|
|
884
|
-
|
|
1066
|
+
const result = await this.claudeService.getCards(sessionId, cwd, offset, limit);
|
|
1067
|
+
this.onPeerSubscribed?.(peerAddress, sessionId);
|
|
1068
|
+
const response = createMessage('claude:get-cards:response', result);
|
|
885
1069
|
response.id = message.id;
|
|
886
1070
|
return response;
|
|
887
1071
|
}
|
|
888
1072
|
catch (error) {
|
|
889
|
-
const response = createMessage('claude:get-
|
|
890
|
-
|
|
1073
|
+
const response = createMessage('claude:get-cards:response', {
|
|
1074
|
+
cards: [],
|
|
891
1075
|
total: 0,
|
|
892
1076
|
hasMore: false,
|
|
893
|
-
error: error instanceof Error ? error.message : 'Failed to get
|
|
1077
|
+
error: error instanceof Error ? error.message : 'Failed to get cards',
|
|
894
1078
|
});
|
|
895
1079
|
response.id = message.id;
|
|
896
1080
|
return response;
|
|
@@ -915,12 +1099,65 @@ export class MessageHandler {
|
|
|
915
1099
|
response.id = message.id;
|
|
916
1100
|
return response;
|
|
917
1101
|
}
|
|
1102
|
+
handleGetSessionConfig(message) {
|
|
1103
|
+
const { sessionId } = message.payload;
|
|
1104
|
+
const config = this.claudeService.getSessionConfig(sessionId);
|
|
1105
|
+
const response = createMessage('session:get-config:response', { sessionId, config });
|
|
1106
|
+
response.id = message.id;
|
|
1107
|
+
return response;
|
|
1108
|
+
}
|
|
1109
|
+
handleSetSessionConfig(message) {
|
|
1110
|
+
const { sessionId, key, value } = message.payload;
|
|
1111
|
+
const config = this.claudeService.setSessionConfig(sessionId, key, value);
|
|
1112
|
+
const response = createMessage('session:set-config:response', { success: true, sessionId, config });
|
|
1113
|
+
response.id = message.id;
|
|
1114
|
+
return response;
|
|
1115
|
+
}
|
|
918
1116
|
handleGetActiveSessions(message) {
|
|
919
1117
|
const sessions = this.claudeService.getActiveSessions();
|
|
920
1118
|
const response = createMessage('claude:active-sessions:response', { sessions });
|
|
921
1119
|
response.id = message.id;
|
|
922
1120
|
return response;
|
|
923
1121
|
}
|
|
1122
|
+
// ── Session Registry (History) ──────────────────────────────────────
|
|
1123
|
+
handleListHistory(message, peerAddress) {
|
|
1124
|
+
const cwd = message.payload.cwd || this.getClientRepoPath(peerAddress);
|
|
1125
|
+
const entries = getSessionRegistry().getEntriesForProject(cwd);
|
|
1126
|
+
const response = createMessage('session:list-history:response', { entries });
|
|
1127
|
+
response.id = message.id;
|
|
1128
|
+
return response;
|
|
1129
|
+
}
|
|
1130
|
+
handleUpdateHistory(message) {
|
|
1131
|
+
const { sessionId, cwd, updates } = message.payload;
|
|
1132
|
+
const entry = getSessionRegistry().updateEntry(cwd, sessionId, updates);
|
|
1133
|
+
const response = createMessage('session:update-history:response', entry ? { success: true, entry } : { success: false, error: 'Entry not found' });
|
|
1134
|
+
response.id = message.id;
|
|
1135
|
+
if (entry) {
|
|
1136
|
+
this.onHistoryUpdated?.(cwd, entry, 'upsert');
|
|
1137
|
+
}
|
|
1138
|
+
return response;
|
|
1139
|
+
}
|
|
1140
|
+
handleDeleteHistory(message) {
|
|
1141
|
+
const { sessionId, cwd } = message.payload;
|
|
1142
|
+
const entry = getSessionRegistry().getEntry(cwd, sessionId);
|
|
1143
|
+
const success = getSessionRegistry().deleteEntry(cwd, sessionId);
|
|
1144
|
+
const response = createMessage('session:delete-history:response', { success, error: success ? undefined : 'Entry not found' });
|
|
1145
|
+
response.id = message.id;
|
|
1146
|
+
if (success && entry) {
|
|
1147
|
+
this.onHistoryUpdated?.(cwd, entry, 'delete');
|
|
1148
|
+
}
|
|
1149
|
+
return response;
|
|
1150
|
+
}
|
|
1151
|
+
async getGitBranchQuiet(cwd) {
|
|
1152
|
+
try {
|
|
1153
|
+
const git = new GitOperations(cwd);
|
|
1154
|
+
const { current } = await git.getBranches();
|
|
1155
|
+
return current || undefined;
|
|
1156
|
+
}
|
|
1157
|
+
catch {
|
|
1158
|
+
return undefined;
|
|
1159
|
+
}
|
|
1160
|
+
}
|
|
924
1161
|
createErrorResponse(id, code, message) {
|
|
925
1162
|
const response = createMessage('error', { code, message });
|
|
926
1163
|
response.id = id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageHandler.js","sourceRoot":"","sources":["../../src/handlers/messageHandler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messageHandler.js","sourceRoot":"","sources":["../../src/handlers/messageHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ describe('MessageHandler', () => {
|
|
|
50
50
|
expect(response.type).toBe('handshake:ack');
|
|
51
51
|
expect(response.id).toBe(message.id);
|
|
52
52
|
expect(response.payload.success).toBe(true);
|
|
53
|
-
expect(response.payload.agentVersion).toBe('0.
|
|
53
|
+
expect(response.payload.agentVersion).toBe('0.6.1');
|
|
54
54
|
expect(response.payload.repoPath).toBe(testRepoPath);
|
|
55
55
|
});
|
|
56
56
|
});
|