@agent-link/agent 0.1.70 → 0.1.71
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/claude.d.ts +38 -9
- package/dist/claude.js +201 -96
- package/dist/claude.js.map +1 -1
- package/dist/connection.js +25 -19
- package/dist/connection.js.map +1 -1
- package/package.json +1 -1
package/dist/claude.d.ts
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
* Spawns `claude` as a child process with --output-format stream-json
|
|
5
5
|
* and --input-format stream-json for persistent bidirectional communication.
|
|
6
6
|
*
|
|
7
|
+
* Supports multiple concurrent conversations, each with its own Claude process.
|
|
8
|
+
* Conversations are keyed by conversationId (a UUID generated by the web client).
|
|
9
|
+
* When no conversationId is provided (backward compat), uses 'default' as the key.
|
|
10
|
+
*
|
|
7
11
|
* Lifecycle:
|
|
8
12
|
* 1. Web user sends first message → startQuery() spawns Claude process
|
|
9
13
|
* 2. Each user message is enqueued into the inputStream
|
|
@@ -31,28 +35,53 @@ export interface ConversationState {
|
|
|
31
35
|
workDir: string;
|
|
32
36
|
turnActive: boolean;
|
|
33
37
|
turnResultReceived: boolean;
|
|
38
|
+
conversationId: string;
|
|
39
|
+
lastClaudeSessionId: string | null;
|
|
40
|
+
isCompacting: boolean;
|
|
41
|
+
createdAt: number;
|
|
34
42
|
}
|
|
35
43
|
type SendFn = (msg: Record<string, unknown>) => void;
|
|
44
|
+
export declare const MAX_CONVERSATIONS = 5;
|
|
36
45
|
export declare function setSendFn(fn: SendFn): void;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Get a conversation by its conversationId.
|
|
48
|
+
* If no conversationId is provided, returns the 'default' conversation (backward compat).
|
|
49
|
+
*/
|
|
50
|
+
export declare function getConversation(conversationId?: string): ConversationState | null;
|
|
51
|
+
/** Get all active conversations. */
|
|
52
|
+
export declare function getConversations(): Map<string, ConversationState>;
|
|
53
|
+
/**
|
|
54
|
+
* Evict any idle conversation that holds the given claudeSessionId.
|
|
55
|
+
* Returns true if a busy (turnActive) conversation blocked the eviction.
|
|
56
|
+
*/
|
|
57
|
+
export declare function evictByClaudeSessionId(claudeSessionId: string): boolean;
|
|
58
|
+
/** Whether context compaction is currently in progress for a conversation. */
|
|
59
|
+
export declare function getIsCompacting(conversationId?: string): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Clear the saved session ID for a conversation.
|
|
62
|
+
* If no conversationId is provided, clears all (backward compat).
|
|
63
|
+
*/
|
|
64
|
+
export declare function clearSessionId(conversationId?: string): void;
|
|
41
65
|
/**
|
|
42
66
|
* Handle a chat message from the web client.
|
|
43
67
|
* Lazily starts the Claude process on the first message.
|
|
44
68
|
* If resumeSessionId is provided, resumes that Claude session.
|
|
45
69
|
*/
|
|
46
|
-
export declare function handleChat(prompt: string, workDir: string, resumeSessionId?: string, files?: ChatFile[]): void;
|
|
70
|
+
export declare function handleChat(conversationId: string | undefined, prompt: string, workDir: string, resumeSessionId?: string, files?: ChatFile[]): void;
|
|
71
|
+
/**
|
|
72
|
+
* Abort a specific conversation's Claude process.
|
|
73
|
+
* If no conversationId, aborts the 'default' conversation (backward compat).
|
|
74
|
+
*/
|
|
75
|
+
export declare function abort(conversationId?: string): void;
|
|
47
76
|
/**
|
|
48
|
-
* Abort
|
|
77
|
+
* Abort all conversations (used on agent shutdown).
|
|
49
78
|
*/
|
|
50
|
-
export declare function
|
|
79
|
+
export declare function abortAll(): void;
|
|
51
80
|
/**
|
|
52
|
-
* Cancel the current execution (user pressed stop button).
|
|
81
|
+
* Cancel the current execution for a conversation (user pressed stop button).
|
|
53
82
|
* Kills the process and notifies the web client.
|
|
54
83
|
*/
|
|
55
|
-
export declare function cancelExecution(): void;
|
|
84
|
+
export declare function cancelExecution(conversationId?: string): void;
|
|
56
85
|
/**
|
|
57
86
|
* Handle the user's answer to an AskUserQuestion control request.
|
|
58
87
|
* Writes a control_response back to Claude's stdin.
|
package/dist/claude.js
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
* Spawns `claude` as a child process with --output-format stream-json
|
|
5
5
|
* and --input-format stream-json for persistent bidirectional communication.
|
|
6
6
|
*
|
|
7
|
+
* Supports multiple concurrent conversations, each with its own Claude process.
|
|
8
|
+
* Conversations are keyed by conversationId (a UUID generated by the web client).
|
|
9
|
+
* When no conversationId is provided (backward compat), uses 'default' as the key.
|
|
10
|
+
*
|
|
7
11
|
* Lifecycle:
|
|
8
12
|
* 1. Web user sends first message → startQuery() spawns Claude process
|
|
9
13
|
* 2. Each user message is enqueued into the inputStream
|
|
@@ -18,24 +22,62 @@ import { join } from 'path';
|
|
|
18
22
|
import { Stream } from './stream.js';
|
|
19
23
|
import { resolveClaudeCommand, getCleanEnv, streamToStdin, } from './sdk.js';
|
|
20
24
|
import { CONFIG_DIR } from './config.js';
|
|
25
|
+
// ── Constants ─────────────────────────────────────────────────────────────
|
|
26
|
+
const DEFAULT_CONVERSATION_ID = 'default';
|
|
27
|
+
export const MAX_CONVERSATIONS = 5;
|
|
21
28
|
// ── Module state ───────────────────────────────────────────────────────────
|
|
22
|
-
|
|
23
|
-
let lastClaudeSessionId = null;
|
|
24
|
-
let isCompacting = false;
|
|
29
|
+
const conversations = new Map();
|
|
25
30
|
let sendFn = () => { };
|
|
26
31
|
const pendingControlRequests = new Map();
|
|
27
32
|
export function setSendFn(fn) {
|
|
28
33
|
sendFn = fn;
|
|
29
34
|
}
|
|
30
|
-
|
|
31
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Get a conversation by its conversationId.
|
|
37
|
+
* If no conversationId is provided, returns the 'default' conversation (backward compat).
|
|
38
|
+
*/
|
|
39
|
+
export function getConversation(conversationId) {
|
|
40
|
+
return conversations.get(conversationId || DEFAULT_CONVERSATION_ID) || null;
|
|
32
41
|
}
|
|
33
|
-
/**
|
|
34
|
-
export function
|
|
35
|
-
return
|
|
42
|
+
/** Get all active conversations. */
|
|
43
|
+
export function getConversations() {
|
|
44
|
+
return conversations;
|
|
36
45
|
}
|
|
37
|
-
|
|
38
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Evict any idle conversation that holds the given claudeSessionId.
|
|
48
|
+
* Returns true if a busy (turnActive) conversation blocked the eviction.
|
|
49
|
+
*/
|
|
50
|
+
export function evictByClaudeSessionId(claudeSessionId) {
|
|
51
|
+
for (const [convId, conv] of conversations) {
|
|
52
|
+
if (conv.claudeSessionId === claudeSessionId || conv.lastClaudeSessionId === claudeSessionId) {
|
|
53
|
+
if (conv.turnActive)
|
|
54
|
+
return true; // busy — caller should block
|
|
55
|
+
cleanupConversation(convId);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
/** Whether context compaction is currently in progress for a conversation. */
|
|
61
|
+
export function getIsCompacting(conversationId) {
|
|
62
|
+
const conv = conversations.get(conversationId || DEFAULT_CONVERSATION_ID);
|
|
63
|
+
return conv?.isCompacting ?? false;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Clear the saved session ID for a conversation.
|
|
67
|
+
* If no conversationId is provided, clears all (backward compat).
|
|
68
|
+
*/
|
|
69
|
+
export function clearSessionId(conversationId) {
|
|
70
|
+
if (conversationId) {
|
|
71
|
+
const conv = conversations.get(conversationId);
|
|
72
|
+
if (conv) {
|
|
73
|
+
conv.lastClaudeSessionId = null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
for (const conv of conversations.values()) {
|
|
78
|
+
conv.lastClaudeSessionId = null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
39
81
|
}
|
|
40
82
|
// ── Public API ─────────────────────────────────────────────────────────────
|
|
41
83
|
/**
|
|
@@ -43,16 +85,18 @@ export function clearSessionId() {
|
|
|
43
85
|
* Lazily starts the Claude process on the first message.
|
|
44
86
|
* If resumeSessionId is provided, resumes that Claude session.
|
|
45
87
|
*/
|
|
46
|
-
export function handleChat(prompt, workDir, resumeSessionId, files) {
|
|
47
|
-
|
|
88
|
+
export function handleChat(conversationId, prompt, workDir, resumeSessionId, files) {
|
|
89
|
+
const convId = conversationId || DEFAULT_CONVERSATION_ID;
|
|
90
|
+
const existing = conversations.get(convId);
|
|
91
|
+
if (!existing || !existing.inputStream) {
|
|
48
92
|
// If the process exited but we still know the session ID, resume it
|
|
49
|
-
const sessionToResume = resumeSessionId ||
|
|
50
|
-
startQuery(workDir, sessionToResume);
|
|
93
|
+
const sessionToResume = resumeSessionId || existing?.claudeSessionId || existing?.lastClaudeSessionId || undefined;
|
|
94
|
+
startQuery(convId, workDir, sessionToResume);
|
|
51
95
|
}
|
|
52
|
-
const state =
|
|
96
|
+
const state = conversations.get(convId);
|
|
53
97
|
state.turnActive = true;
|
|
54
98
|
state.turnResultReceived = false;
|
|
55
|
-
console.log(`[Claude] Sending: ${prompt.substring(0, 100)}${prompt.length > 100 ? '...' : ''}`);
|
|
99
|
+
console.log(`[Claude:${convId.slice(0, 8)}] Sending: ${prompt.substring(0, 100)}${prompt.length > 100 ? '...' : ''}`);
|
|
56
100
|
if (files && files.length > 0) {
|
|
57
101
|
const content = processFilesForClaude(files, workDir, prompt);
|
|
58
102
|
state.inputStream.enqueue({
|
|
@@ -68,28 +112,43 @@ export function handleChat(prompt, workDir, resumeSessionId, files) {
|
|
|
68
112
|
}
|
|
69
113
|
}
|
|
70
114
|
/**
|
|
71
|
-
* Abort
|
|
115
|
+
* Abort a specific conversation's Claude process.
|
|
116
|
+
* If no conversationId, aborts the 'default' conversation (backward compat).
|
|
117
|
+
*/
|
|
118
|
+
export function abort(conversationId) {
|
|
119
|
+
const convId = conversationId || DEFAULT_CONVERSATION_ID;
|
|
120
|
+
const conv = conversations.get(convId);
|
|
121
|
+
if (!conv)
|
|
122
|
+
return;
|
|
123
|
+
if (conv.abortController) {
|
|
124
|
+
conv.abortController.abort();
|
|
125
|
+
}
|
|
126
|
+
cleanupConversation(convId);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Abort all conversations (used on agent shutdown).
|
|
72
130
|
*/
|
|
73
|
-
export function
|
|
74
|
-
|
|
75
|
-
|
|
131
|
+
export function abortAll() {
|
|
132
|
+
for (const convId of [...conversations.keys()]) {
|
|
133
|
+
abort(convId);
|
|
76
134
|
}
|
|
77
|
-
cleanup();
|
|
78
135
|
}
|
|
79
136
|
/**
|
|
80
|
-
* Cancel the current execution (user pressed stop button).
|
|
137
|
+
* Cancel the current execution for a conversation (user pressed stop button).
|
|
81
138
|
* Kills the process and notifies the web client.
|
|
82
139
|
*/
|
|
83
|
-
export function cancelExecution() {
|
|
84
|
-
|
|
140
|
+
export function cancelExecution(conversationId) {
|
|
141
|
+
const convId = conversationId || DEFAULT_CONVERSATION_ID;
|
|
142
|
+
const conv = conversations.get(convId);
|
|
143
|
+
if (!conv)
|
|
85
144
|
return;
|
|
86
|
-
console.log(
|
|
87
|
-
|
|
88
|
-
if (
|
|
89
|
-
|
|
145
|
+
console.log(`[Claude:${convId.slice(0, 8)}] Cancelling execution`);
|
|
146
|
+
conv.turnActive = false;
|
|
147
|
+
if (conv.abortController) {
|
|
148
|
+
conv.abortController.abort();
|
|
90
149
|
}
|
|
91
|
-
|
|
92
|
-
sendFn({ type: 'execution_cancelled' });
|
|
150
|
+
cleanupConversation(convId);
|
|
151
|
+
sendFn({ type: 'execution_cancelled', conversationId: convId });
|
|
93
152
|
}
|
|
94
153
|
/**
|
|
95
154
|
* Handle the user's answer to an AskUserQuestion control request.
|
|
@@ -161,10 +220,15 @@ function processFilesForClaude(files, workDir, prompt) {
|
|
|
161
220
|
content.push({ type: 'text', text: textContent });
|
|
162
221
|
return content;
|
|
163
222
|
}
|
|
164
|
-
function startQuery(workDir, resumeSessionId) {
|
|
165
|
-
// Tear down previous process
|
|
166
|
-
|
|
167
|
-
|
|
223
|
+
function startQuery(conversationId, workDir, resumeSessionId) {
|
|
224
|
+
// Tear down previous process for THIS conversation only (not others)
|
|
225
|
+
const existing = conversations.get(conversationId);
|
|
226
|
+
if (existing) {
|
|
227
|
+
abort(conversationId);
|
|
228
|
+
}
|
|
229
|
+
// Evict oldest idle conversation if at capacity
|
|
230
|
+
if (conversations.size >= MAX_CONVERSATIONS) {
|
|
231
|
+
evictOldestIdle(conversationId);
|
|
168
232
|
}
|
|
169
233
|
const inputStream = new Stream();
|
|
170
234
|
const abortController = new AbortController();
|
|
@@ -176,8 +240,12 @@ function startQuery(workDir, resumeSessionId) {
|
|
|
176
240
|
workDir,
|
|
177
241
|
turnActive: false,
|
|
178
242
|
turnResultReceived: false,
|
|
243
|
+
conversationId,
|
|
244
|
+
lastClaudeSessionId: existing?.lastClaudeSessionId || null,
|
|
245
|
+
isCompacting: false,
|
|
246
|
+
createdAt: Date.now(),
|
|
179
247
|
};
|
|
180
|
-
|
|
248
|
+
conversations.set(conversationId, state);
|
|
181
249
|
// Build args
|
|
182
250
|
// bypassPermissions auto-approves all regular tool calls.
|
|
183
251
|
// --permission-prompt-tool stdio tells Claude CLI to send control_request
|
|
@@ -193,12 +261,12 @@ function startQuery(workDir, resumeSessionId) {
|
|
|
193
261
|
];
|
|
194
262
|
if (resumeSessionId) {
|
|
195
263
|
args.push('--resume', resumeSessionId);
|
|
196
|
-
console.log(`[Claude] Resuming session: ${resumeSessionId}`);
|
|
264
|
+
console.log(`[Claude:${conversationId.slice(0, 8)}] Resuming session: ${resumeSessionId}`);
|
|
197
265
|
}
|
|
198
266
|
const { command, prefixArgs, spawnOpts } = resolveClaudeCommand();
|
|
199
267
|
const env = getCleanEnv();
|
|
200
|
-
console.log(`[Claude] Spawning: ${command} ${[...prefixArgs, ...args].join(' ')}`);
|
|
201
|
-
console.log(`[Claude] cwd: ${workDir}`);
|
|
268
|
+
console.log(`[Claude:${conversationId.slice(0, 8)}] Spawning: ${command} ${[...prefixArgs, ...args].join(' ')}`);
|
|
269
|
+
console.log(`[Claude:${conversationId.slice(0, 8)}] cwd: ${workDir}`);
|
|
202
270
|
const child = spawn(command, [...prefixArgs, ...args], {
|
|
203
271
|
cwd: workDir,
|
|
204
272
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
@@ -226,16 +294,41 @@ function startQuery(workDir, resumeSessionId) {
|
|
|
226
294
|
const msg = stderr.buf
|
|
227
295
|
? `Claude process exited with code ${code}: ${stderr.buf.trim()}`
|
|
228
296
|
: `Claude process exited with code ${code}`;
|
|
229
|
-
console.error(`[Claude] ${msg}`);
|
|
297
|
+
console.error(`[Claude:${conversationId.slice(0, 8)}] ${msg}`);
|
|
230
298
|
}
|
|
231
299
|
});
|
|
232
300
|
child.on('error', (err) => {
|
|
233
301
|
if (!abortController.signal.aborted) {
|
|
234
|
-
console.error(`[Claude] Process error: ${err.message}`);
|
|
302
|
+
console.error(`[Claude:${conversationId.slice(0, 8)}] Process error: ${err.message}`);
|
|
235
303
|
}
|
|
236
304
|
});
|
|
237
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* Evict the oldest idle conversation to make room for a new one.
|
|
308
|
+
* Only evicts conversations that are NOT actively processing (turnActive === false).
|
|
309
|
+
* If all conversations are active, evicts the oldest one regardless.
|
|
310
|
+
*/
|
|
311
|
+
function evictOldestIdle(excludeId) {
|
|
312
|
+
let oldest = null;
|
|
313
|
+
let oldestIdle = null;
|
|
314
|
+
for (const [id, conv] of conversations) {
|
|
315
|
+
if (id === excludeId)
|
|
316
|
+
continue;
|
|
317
|
+
if (!oldest || conv.createdAt < oldest.createdAt) {
|
|
318
|
+
oldest = { id, createdAt: conv.createdAt };
|
|
319
|
+
}
|
|
320
|
+
if (!conv.turnActive && (!oldestIdle || conv.createdAt < oldestIdle.createdAt)) {
|
|
321
|
+
oldestIdle = { id, createdAt: conv.createdAt };
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
const target = oldestIdle || oldest;
|
|
325
|
+
if (target) {
|
|
326
|
+
console.log(`[Claude] Evicting conversation ${target.id.slice(0, 8)} (capacity: ${conversations.size}/${MAX_CONVERSATIONS})`);
|
|
327
|
+
abort(target.id);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
238
330
|
async function processOutput(child, state, stderr) {
|
|
331
|
+
const convId = state.conversationId;
|
|
239
332
|
const rl = createInterface({ input: child.stdout });
|
|
240
333
|
const messageStream = new Stream();
|
|
241
334
|
// Reader: parse JSON lines from stdout → messageStream
|
|
@@ -249,19 +342,21 @@ async function processOutput(child, state, stderr) {
|
|
|
249
342
|
// Capture session ID from system init
|
|
250
343
|
if (msg.type === 'system' && msg.session_id) {
|
|
251
344
|
state.claudeSessionId = msg.session_id;
|
|
252
|
-
lastClaudeSessionId = state.claudeSessionId;
|
|
253
|
-
console.log(`[Claude] Session ID: ${state.claudeSessionId}`);
|
|
345
|
+
state.lastClaudeSessionId = state.claudeSessionId;
|
|
346
|
+
console.log(`[Claude:${convId.slice(0, 8)}] Session ID: ${state.claudeSessionId}`);
|
|
347
|
+
// Notify web client so sidebar can refresh session list
|
|
348
|
+
sendWithConvId({ type: 'session_started', claudeSessionId: state.claudeSessionId });
|
|
254
349
|
}
|
|
255
350
|
// Handle control_request (tool permission checks)
|
|
256
351
|
if (msg.type === 'control_request') {
|
|
257
|
-
handleControlRequest(msg, child);
|
|
352
|
+
handleControlRequest(msg, child, convId);
|
|
258
353
|
continue;
|
|
259
354
|
}
|
|
260
355
|
// Handle control_cancel_request (abort pending questions)
|
|
261
356
|
if (msg.type === 'control_cancel_request') {
|
|
262
357
|
const reqId = msg.request_id;
|
|
263
358
|
if (pendingControlRequests.has(reqId)) {
|
|
264
|
-
console.log(`[Claude] Control request cancelled: ${reqId}`);
|
|
359
|
+
console.log(`[Claude:${convId.slice(0, 8)}] Control request cancelled: ${reqId}`);
|
|
265
360
|
pendingControlRequests.delete(reqId);
|
|
266
361
|
}
|
|
267
362
|
continue;
|
|
@@ -285,6 +380,10 @@ async function processOutput(child, state, stderr) {
|
|
|
285
380
|
rl.close();
|
|
286
381
|
}
|
|
287
382
|
})();
|
|
383
|
+
// Helper: send message with conversationId
|
|
384
|
+
function sendWithConvId(msg) {
|
|
385
|
+
sendFn({ ...msg, conversationId: convId });
|
|
386
|
+
}
|
|
288
387
|
// Consumer: iterate messages and forward to web client
|
|
289
388
|
let resultHandled = false;
|
|
290
389
|
// Track accumulated text for streaming delta computation
|
|
@@ -308,12 +407,12 @@ async function processOutput(child, state, stderr) {
|
|
|
308
407
|
: typeof msg.error === 'string' ? msg.error
|
|
309
408
|
: '';
|
|
310
409
|
if (errorText) {
|
|
311
|
-
|
|
410
|
+
sendWithConvId({ type: 'error', message: errorText });
|
|
312
411
|
}
|
|
313
412
|
}
|
|
314
413
|
// Forward the result, then signal turn_completed
|
|
315
|
-
|
|
316
|
-
|
|
414
|
+
sendWithConvId({ type: 'claude_output', data: msg });
|
|
415
|
+
sendWithConvId({ type: 'turn_completed' });
|
|
317
416
|
continue;
|
|
318
417
|
}
|
|
319
418
|
// ── assistant message → extract delta and forward incrementally ──
|
|
@@ -330,7 +429,7 @@ async function processOutput(child, state, stderr) {
|
|
|
330
429
|
if (fullText.length > lastSentText.length) {
|
|
331
430
|
const delta = fullText.slice(lastSentText.length);
|
|
332
431
|
lastSentText = fullText;
|
|
333
|
-
|
|
432
|
+
sendWithConvId({
|
|
334
433
|
type: 'claude_output',
|
|
335
434
|
data: { type: 'content_block_delta', delta },
|
|
336
435
|
});
|
|
@@ -339,7 +438,7 @@ async function processOutput(child, state, stderr) {
|
|
|
339
438
|
// Filter out AskUserQuestion — handled via control_request path
|
|
340
439
|
const toolBlocks = content.filter((b) => b.type === 'tool_use' && b.name !== 'AskUserQuestion');
|
|
341
440
|
if (toolBlocks.length > 0) {
|
|
342
|
-
|
|
441
|
+
sendWithConvId({
|
|
343
442
|
type: 'claude_output',
|
|
344
443
|
data: { type: 'tool_use', tools: toolBlocks },
|
|
345
444
|
});
|
|
@@ -366,36 +465,36 @@ async function processOutput(child, state, stderr) {
|
|
|
366
465
|
const stderrMatch = raw.match(/<local-command-stderr>([\s\S]*?)<\/local-command-stderr>/);
|
|
367
466
|
const cmdOutput = (stdoutMatch && stdoutMatch[1].trim()) || (stderrMatch && stderrMatch[1].trim());
|
|
368
467
|
if (cmdOutput) {
|
|
369
|
-
|
|
468
|
+
sendWithConvId({ type: 'command_output', content: cmdOutput });
|
|
370
469
|
continue;
|
|
371
470
|
}
|
|
372
471
|
}
|
|
373
|
-
|
|
472
|
+
sendWithConvId({ type: 'claude_output', data: msg });
|
|
374
473
|
continue;
|
|
375
474
|
}
|
|
376
475
|
// ── system messages (init, compact, etc.) ──
|
|
377
476
|
if (msg.type === 'system') {
|
|
378
477
|
const sub = (msg.subtype || '');
|
|
379
|
-
console.log(`[Claude] system/${sub}`);
|
|
478
|
+
console.log(`[Claude:${convId.slice(0, 8)}] system/${sub}`);
|
|
380
479
|
// Forward context compaction events to web client
|
|
381
480
|
// New format: subtype='status', status='compacting'
|
|
382
481
|
if (sub === 'status' && msg.status === 'compacting') {
|
|
383
|
-
isCompacting = true;
|
|
384
|
-
|
|
482
|
+
state.isCompacting = true;
|
|
483
|
+
sendWithConvId({ type: 'context_compaction', status: 'started' });
|
|
385
484
|
}
|
|
386
485
|
// Compact boundary = compaction completed
|
|
387
486
|
else if (sub === 'compact_boundary') {
|
|
388
|
-
isCompacting = false;
|
|
389
|
-
|
|
487
|
+
state.isCompacting = false;
|
|
488
|
+
sendWithConvId({ type: 'context_compaction', status: 'completed' });
|
|
390
489
|
}
|
|
391
490
|
// Legacy subtypes
|
|
392
491
|
else if (sub === 'compact_start') {
|
|
393
|
-
isCompacting = true;
|
|
394
|
-
|
|
492
|
+
state.isCompacting = true;
|
|
493
|
+
sendWithConvId({ type: 'context_compaction', status: 'started' });
|
|
395
494
|
}
|
|
396
495
|
else if (sub === 'compact_complete' || sub === 'compact_end') {
|
|
397
|
-
isCompacting = false;
|
|
398
|
-
|
|
496
|
+
state.isCompacting = false;
|
|
497
|
+
sendWithConvId({ type: 'context_compaction', status: 'completed' });
|
|
399
498
|
}
|
|
400
499
|
continue;
|
|
401
500
|
}
|
|
@@ -404,15 +503,15 @@ async function processOutput(child, state, stderr) {
|
|
|
404
503
|
catch (err) {
|
|
405
504
|
const error = err;
|
|
406
505
|
if (error.name === 'AbortError') {
|
|
407
|
-
console.log(
|
|
506
|
+
console.log(`[Claude:${convId.slice(0, 8)}] Query aborted`);
|
|
408
507
|
}
|
|
409
508
|
else if (resultHandled) {
|
|
410
509
|
// Ignore post-turn errors
|
|
411
|
-
console.warn(`[Claude] Ignoring post-result error: ${error.message}`);
|
|
510
|
+
console.warn(`[Claude:${convId.slice(0, 8)}] Ignoring post-result error: ${error.message}`);
|
|
412
511
|
}
|
|
413
512
|
else {
|
|
414
|
-
console.error(`[Claude] Error: ${error.message}`);
|
|
415
|
-
|
|
513
|
+
console.error(`[Claude:${convId.slice(0, 8)}] Error: ${error.message}`);
|
|
514
|
+
sendWithConvId({
|
|
416
515
|
type: 'error',
|
|
417
516
|
message: `Claude error: ${error.message}`,
|
|
418
517
|
});
|
|
@@ -422,35 +521,33 @@ async function processOutput(child, state, stderr) {
|
|
|
422
521
|
// If the process exited mid-turn without a result, notify web client with error
|
|
423
522
|
if (!resultHandled && state.turnActive) {
|
|
424
523
|
if (stderr.buf.trim()) {
|
|
425
|
-
|
|
524
|
+
sendWithConvId({ type: 'error', message: stderr.buf.trim() });
|
|
426
525
|
}
|
|
427
|
-
|
|
526
|
+
sendWithConvId({ type: 'turn_completed' });
|
|
428
527
|
}
|
|
429
528
|
state.turnActive = false;
|
|
430
|
-
// Only clean up if this is still the
|
|
431
|
-
if (
|
|
529
|
+
// Only clean up if this conversation is still in the map with the same state
|
|
530
|
+
if (conversations.get(convId) === state) {
|
|
432
531
|
state.child = null;
|
|
433
532
|
state.inputStream = null;
|
|
434
533
|
}
|
|
435
534
|
}
|
|
436
535
|
}
|
|
437
|
-
function sendOutput(data) {
|
|
438
|
-
sendFn({ type: 'claude_output', data });
|
|
439
|
-
}
|
|
440
536
|
/**
|
|
441
537
|
* Handle an incoming control_request from Claude's stdout.
|
|
442
538
|
* For AskUserQuestion: forward to web UI and wait for user answer.
|
|
443
539
|
* For other tools: auto-approve immediately.
|
|
444
540
|
*/
|
|
445
|
-
function handleControlRequest(request, child) {
|
|
541
|
+
function handleControlRequest(request, child, conversationId) {
|
|
446
542
|
const requestId = request.request_id;
|
|
447
543
|
const subtype = request.request?.subtype;
|
|
448
544
|
if (subtype === 'can_use_tool' && request.request.tool_name === 'AskUserQuestion') {
|
|
449
|
-
console.log(`[Claude] AskUserQuestion control_request: ${requestId}`);
|
|
450
|
-
pendingControlRequests.set(requestId, { request, child });
|
|
545
|
+
console.log(`[Claude:${conversationId.slice(0, 8)}] AskUserQuestion control_request: ${requestId}`);
|
|
546
|
+
pendingControlRequests.set(requestId, { request, child, conversationId });
|
|
451
547
|
// Forward to web UI
|
|
452
548
|
sendFn({
|
|
453
549
|
type: 'ask_user_question',
|
|
550
|
+
conversationId,
|
|
454
551
|
requestId,
|
|
455
552
|
questions: request.request.input?.questions || [],
|
|
456
553
|
});
|
|
@@ -472,32 +569,40 @@ function handleControlRequest(request, child) {
|
|
|
472
569
|
child.stdin.write(JSON.stringify(autoApproveResponse) + '\n');
|
|
473
570
|
}
|
|
474
571
|
}
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
572
|
+
/**
|
|
573
|
+
* Clean up a specific conversation: kill process, clear pending requests, remove from map.
|
|
574
|
+
*/
|
|
575
|
+
function cleanupConversation(conversationId) {
|
|
576
|
+
const conv = conversations.get(conversationId);
|
|
577
|
+
if (!conv)
|
|
578
|
+
return;
|
|
579
|
+
// Clear pending control requests belonging to this conversation
|
|
580
|
+
for (const [reqId, pending] of pendingControlRequests) {
|
|
581
|
+
if (pending.conversationId === conversationId) {
|
|
582
|
+
pendingControlRequests.delete(reqId);
|
|
483
583
|
}
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
584
|
+
}
|
|
585
|
+
conv.isCompacting = false;
|
|
586
|
+
// Preserve session ID so the next message can resume
|
|
587
|
+
if (conv.claudeSessionId) {
|
|
588
|
+
conv.lastClaudeSessionId = conv.claudeSessionId;
|
|
589
|
+
}
|
|
590
|
+
if (conv.child && !conv.child.killed) {
|
|
591
|
+
const pid = conv.child.pid;
|
|
592
|
+
// On Windows, kill the entire process tree (child.kill() won't kill grandchildren)
|
|
593
|
+
if (pid && process.platform === 'win32') {
|
|
594
|
+
try {
|
|
595
|
+
execSync(`taskkill /pid ${pid} /t /f`, { stdio: 'ignore', windowsHide: true });
|
|
495
596
|
}
|
|
597
|
+
catch { /* process may have already exited */ }
|
|
496
598
|
}
|
|
497
|
-
|
|
498
|
-
|
|
599
|
+
else {
|
|
600
|
+
conv.child.kill();
|
|
499
601
|
}
|
|
500
|
-
conversation = null;
|
|
501
602
|
}
|
|
603
|
+
if (conv.inputStream) {
|
|
604
|
+
conv.inputStream.done();
|
|
605
|
+
}
|
|
606
|
+
conversations.delete(conversationId);
|
|
502
607
|
}
|
|
503
608
|
//# sourceMappingURL=claude.js.map
|
package/dist/claude.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6CzC,8EAA8E;AAE9E,IAAI,YAAY,GAA6B,IAAI,CAAC;AAClD,IAAI,mBAAmB,GAAkB,IAAI,CAAC;AAC9C,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,IAAI,MAAM,GAAW,GAAG,EAAE,GAAE,CAAC,CAAC;AAC9B,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAiC,CAAC;AAExE,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,MAAM,GAAG,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,mBAAmB,GAAG,IAAI,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,OAAe,EAAE,eAAwB,EAAE,KAAkB;IACtG,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC/C,oEAAoE;QACpE,MAAM,eAAe,GAAG,eAAe,IAAI,YAAY,EAAE,eAAe,IAAI,mBAAmB,IAAI,SAAS,CAAC;QAC7G,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,YAAa,CAAC;IAC5B,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAEjC,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhG,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9D,KAAK,CAAC,WAAY,CAAC,OAAO,CAAC;YACzB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,WAAY,CAAC,OAAO,CAAC;YACzB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK;IACnB,IAAI,YAAY,EAAE,eAAe,EAAE,CAAC;QAClC,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,YAAY;QAAE,OAAO;IAE1B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,YAAY,CAAC,UAAU,GAAG,KAAK,CAAC;IAEhC,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;QACjC,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,CAAC;IAEV,MAAM,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,OAAgC;IAClF,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,sDAAsD,SAAS,EAAE,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC;IAE/D,MAAM,eAAe,GAAG;QACtB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE;YACR,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;YACtC,QAAQ,EAAE;gBACR,QAAQ,EAAE,OAAO;gBACjB,YAAY,EAAE;oBACZ,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE;oBACzD,OAAO;iBACR;aACF;SACF;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,8EAA8E;AAE9E,SAAS,qBAAqB,CAAC,KAAiB,EAAE,OAAe,EAAE,MAAc;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE3C,qBAAqB;QACrB,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,+CAA+C;YAC/C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,IAAI,CAAC,QAAQ;oBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,WAAW,GAAG,MAAM,CAAC;IACzB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,WAAW,IAAI,uBAAuB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAElD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,eAAwB;IAC3D,oCAAoC;IACpC,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,EAAE,CAAC;IACV,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,MAAM,EAAiB,CAAC;IAChD,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,MAAM,KAAK,GAAsB;QAC/B,KAAK,EAAE,IAAI;QACX,WAAW;QACX,eAAe;QACf,eAAe,EAAE,eAAe,IAAI,IAAI;QACxC,OAAO;QACP,UAAU,EAAE,KAAK;QACjB,kBAAkB,EAAE,KAAK;KAC1B,CAAC;IAEF,YAAY,GAAG,KAAK,CAAC;IAErB,aAAa;IACb,0DAA0D;IAC1D,0EAA0E;IAC1E,qEAAqE;IACrE,qEAAqE;IACrE,kDAAkD;IAClD,MAAM,IAAI,GAAG;QACX,iBAAiB,EAAE,aAAa;QAChC,gBAAgB,EAAE,aAAa;QAC/B,WAAW;QACX,mBAAmB,EAAE,mBAAmB;QACxC,0BAA0B,EAAE,OAAO;KACpC,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,8BAA8B,eAAe,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAClE,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAE1B,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,IAAI,CAAC,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE;QACrD,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,GAAG;QACH,GAAG,SAAS;QACZ,WAAW,EAAE,IAAI,EAAE,6CAA6C;KACjE,CAAC,CAAC;IAEH,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAEpB,6BAA6B;IAC7B,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAEhE,0EAA0E;IAC1E,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAC3B,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC;QACnB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAEpC,sBAAsB;IACtB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG;gBACpB,CAAC,CAAC,mCAAmC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;gBACjE,CAAC,CAAC,mCAAmC,IAAI,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,KAAmB,EACnB,KAAwB,EACxB,MAAuB;IAEvB,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAO,EAAE,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,IAAI,MAAM,EAAiB,CAAC;IAElD,uDAAuD;IACvD,CAAC,KAAK,IAAI,EAAE;QACV,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAC3B,IAAI,CAAC;oBACH,MAAM,GAAG,GAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAE5C,sCAAsC;oBACtC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;wBAC5C,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,UAAoB,CAAC;wBACjD,mBAAmB,GAAG,KAAK,CAAC,eAAe,CAAC;wBAC5C,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;oBAC/D,CAAC;oBAED,kDAAkD;oBAClD,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;wBACnC,oBAAoB,CAAC,GAAgC,EAAE,KAAK,CAAC,CAAC;wBAC9D,SAAS;oBACX,CAAC;oBAED,0DAA0D;oBAC1D,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;wBAC1C,MAAM,KAAK,GAAI,GAAyC,CAAC,UAAU,CAAC;wBACpE,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;4BACtC,OAAO,CAAC,GAAG,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;4BAC5D,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACvC,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,kEAAkE;oBAClE,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;wBACpC,SAAS;oBACX,CAAC;oBAED,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,IAAI,EAAE,CAAC;YACrB,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,uDAAuD;IACvD,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,yDAAyD;IACzD,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YACtC,+BAA+B;YAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;oBAC7B,yDAAyD;oBACzD,SAAS;gBACX,CAAC;gBACD,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAChC,aAAa,GAAG,IAAI,CAAC;gBACrB,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;gBAEzB,+BAA+B;gBAC/B,YAAY,GAAG,EAAE,CAAC;gBAElB,4EAA4E;gBAC5E,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,gBAAgB,CAAC,EAAE,CAAC;oBACvD,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM;wBAC3D,CAAC,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;4BAC3C,CAAC,CAAC,EAAE,CAAC;oBACP,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;gBAED,iDAAiD;gBACjD,UAAU,CAAC,GAAG,CAAC,CAAC;gBAChB,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACnC,SAAS;YACX,CAAC;YAED,oEAAoE;YACpE,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAuD,CAAC;gBAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAChC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,yCAAyC;oBACzC,MAAM,QAAQ,GAAG,OAAO;yBACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;yBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,IAAe,IAAI,EAAE,CAAC;yBACpC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEZ,2CAA2C;oBAC3C,IAAI,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;wBAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;wBAClD,YAAY,GAAG,QAAQ,CAAC;wBACxB,MAAM,CAAC;4BACL,IAAI,EAAE,eAAe;4BACrB,IAAI,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE;yBAC7C,CAAC,CAAC;oBACL,CAAC;oBAED,mDAAmD;oBACnD,gEAAgE;oBAChE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAC7D,CAAC;oBACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,MAAM,CAAC;4BACL,IAAI,EAAE,eAAe;4BACrB,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;yBAC9C,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YAED,yDAAyD;YACzD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,oEAAoE;gBACpE,YAAY,GAAG,EAAE,CAAC;gBAElB,gFAAgF;gBAChF,MAAM,OAAO,GAAG,GAAG,CAAC,OAA4C,CAAC;gBACjE,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;wBAC7C,CAAC,CAAC,OAAO,CAAC,OAAO;wBACjB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;4BAC9B,CAAC,CAAE,OAAO,CAAC,OAAkD;iCACxD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iCAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;iCACtB,IAAI,CAAC,EAAE,CAAC;4BACb,CAAC,CAAC,EAAE,CAAC;oBACT,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;oBAC1F,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;oBAC1F,MAAM,SAAS,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACnG,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;wBACvD,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,UAAU,CAAC,GAAG,CAAC,CAAC;gBAChB,SAAS;YACX,CAAC;YAED,8CAA8C;YAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAW,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;gBAEtC,kDAAkD;gBAClD,oDAAoD;gBACpD,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBACpD,YAAY,GAAG,IAAI,CAAC;oBACpB,MAAM,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBACD,0CAA0C;qBACrC,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;oBACpC,YAAY,GAAG,KAAK,CAAC;oBACrB,MAAM,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBACD,kBAAkB;qBACb,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;oBACjC,YAAY,GAAG,IAAI,CAAC;oBACpB,MAAM,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5D,CAAC;qBAAM,IAAI,GAAG,KAAK,kBAAkB,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;oBAC/D,YAAY,GAAG,KAAK,CAAC;oBACrB,MAAM,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBACD,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAY,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,0BAA0B;YAC1B,OAAO,CAAC,IAAI,CAAC,wCAAwC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC;gBACL,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,iBAAiB,KAAK,CAAC,OAAO,EAAE;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;YAAS,CAAC;QACT,gFAAgF;QAChF,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtB,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;QAEzB,yDAAyD;QACzD,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YACnB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAmB;IACrC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,OAAuB,EAAE,KAAmB;IACxE,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IACrC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;IAEzC,IAAI,OAAO,KAAK,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAC;QACtE,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1D,oBAAoB;QACpB,MAAM,CAAC;YACL,IAAI,EAAE,mBAAmB;YACzB,SAAS;YACT,SAAS,EAAG,OAAO,CAAC,OAAO,CAAC,KAAiC,EAAE,SAAS,IAAI,EAAE;SAC/E,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,oCAAoC;IACpC,MAAM,mBAAmB,GAAG;QAC1B,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE;YACR,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE;gBACR,QAAQ,EAAE,OAAO;gBACjB,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;aAC1C;SACF;KACF,CAAC;IAEF,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAC1C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAS,OAAO;IACd,qCAAqC;IACrC,sBAAsB,CAAC,KAAK,EAAE,CAAC;IAC/B,YAAY,GAAG,KAAK,CAAC;IAErB,IAAI,YAAY,EAAE,CAAC;QACjB,qDAAqD;QACrD,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;YACjC,mBAAmB,GAAG,YAAY,CAAC,eAAe,CAAC;QACrD,CAAC;QACD,IAAI,YAAY,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;YACnC,mFAAmF;YACnF,IAAI,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjF,CAAC;gBAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7B,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QACD,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"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"}
|
package/dist/connection.js
CHANGED
|
@@ -7,7 +7,7 @@ import { createRequire } from 'module';
|
|
|
7
7
|
import { loadRuntimeState, saveRuntimeState } from './config.js';
|
|
8
8
|
const require = createRequire(import.meta.url);
|
|
9
9
|
const pkg = require('../package.json');
|
|
10
|
-
import { handleChat as claudeHandleChat, setSendFn, abort as abortClaude, cancelExecution as claudeCancelExecution, handleUserAnswer, getConversation, getIsCompacting, clearSessionId } from './claude.js';
|
|
10
|
+
import { handleChat as claudeHandleChat, setSendFn, abort as abortClaude, abortAll as abortAllClaude, cancelExecution as claudeCancelExecution, handleUserAnswer, getConversation, getIsCompacting, clearSessionId, evictByClaudeSessionId } from './claude.js';
|
|
11
11
|
import { listSessions, readSessionMessages, deleteSession, renameSession } from './history.js';
|
|
12
12
|
import { decodeKey, parseMessage, encryptAndSend } from './encryption.js';
|
|
13
13
|
const RECONNECT_BASE_DELAY = 1000;
|
|
@@ -122,7 +122,7 @@ function doConnect(config, onRegistered, onError) {
|
|
|
122
122
|
}
|
|
123
123
|
export function disconnect() {
|
|
124
124
|
state.shouldReconnect = false;
|
|
125
|
-
|
|
125
|
+
abortAllClaude();
|
|
126
126
|
if (state.ws) {
|
|
127
127
|
state.ws.close();
|
|
128
128
|
state.ws = null;
|
|
@@ -181,11 +181,14 @@ function scheduleReconnect(config) {
|
|
|
181
181
|
function handleServerMessage(msg) {
|
|
182
182
|
console.log(`[AgentLink] ← ${msg.type}`);
|
|
183
183
|
switch (msg.type) {
|
|
184
|
-
case 'chat':
|
|
185
|
-
|
|
184
|
+
case 'chat': {
|
|
185
|
+
const chatConvId = msg.conversationId;
|
|
186
|
+
const existingConv = chatConvId ? getConversation(chatConvId) : getConversation();
|
|
187
|
+
claudeHandleChat(chatConvId, msg.prompt, existingConv?.workDir || state.workDir, msg.resumeSessionId, msg.files);
|
|
186
188
|
break;
|
|
189
|
+
}
|
|
187
190
|
case 'cancel_execution':
|
|
188
|
-
claudeCancelExecution();
|
|
191
|
+
claudeCancelExecution(msg.conversationId);
|
|
189
192
|
break;
|
|
190
193
|
case 'list_sessions':
|
|
191
194
|
handleListSessions();
|
|
@@ -197,27 +200,33 @@ function handleServerMessage(msg) {
|
|
|
197
200
|
handleChangeWorkDir(msg);
|
|
198
201
|
break;
|
|
199
202
|
case 'new_conversation':
|
|
203
|
+
// Backward compat: old web client sends this to reset the single conversation
|
|
200
204
|
abortClaude();
|
|
201
|
-
clearSessionId();
|
|
205
|
+
clearSessionId('default');
|
|
202
206
|
console.log('[AgentLink] New conversation — session cleared');
|
|
203
207
|
break;
|
|
204
208
|
case 'resume_conversation': {
|
|
205
209
|
const m = msg;
|
|
206
|
-
const
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
+
const convId = m.conversationId;
|
|
211
|
+
if (!convId) {
|
|
212
|
+
// Backward compat: single-session mode
|
|
213
|
+
const conv = getConversation();
|
|
214
|
+
if (!conv || conv.claudeSessionId !== m.claudeSessionId) {
|
|
215
|
+
abortClaude();
|
|
216
|
+
}
|
|
210
217
|
}
|
|
211
218
|
const history = readSessionMessages(state.workDir, m.claudeSessionId);
|
|
212
219
|
console.log(`[AgentLink] → conversation_resumed (${history.length} messages, session ${m.claudeSessionId.slice(0, 8)})`);
|
|
213
220
|
// Include live status so the web client can restore compacting/processing state
|
|
214
|
-
|
|
221
|
+
// In multi-session mode, look up by conversationId; in single-session mode, use default
|
|
222
|
+
const currentConv = convId ? getConversation(convId) : getConversation();
|
|
215
223
|
const isSameSession = currentConv?.claudeSessionId === m.claudeSessionId;
|
|
216
224
|
send({
|
|
217
225
|
type: 'conversation_resumed',
|
|
226
|
+
conversationId: convId,
|
|
218
227
|
claudeSessionId: m.claudeSessionId,
|
|
219
228
|
history,
|
|
220
|
-
isCompacting: isSameSession && getIsCompacting(),
|
|
229
|
+
isCompacting: isSameSession && (convId ? getIsCompacting(convId) : getIsCompacting()),
|
|
221
230
|
isProcessing: isSameSession && currentConv?.turnActive === true,
|
|
222
231
|
});
|
|
223
232
|
break;
|
|
@@ -256,9 +265,9 @@ function handleListSessions() {
|
|
|
256
265
|
}
|
|
257
266
|
}
|
|
258
267
|
function handleDeleteSession(sessionId) {
|
|
259
|
-
|
|
260
|
-
if (
|
|
261
|
-
send({ type: 'error', message: 'Cannot delete
|
|
268
|
+
// Evict any idle conversation holding this session; block if busy
|
|
269
|
+
if (evictByClaudeSessionId(sessionId)) {
|
|
270
|
+
send({ type: 'error', message: 'Cannot delete a session while it is processing.' });
|
|
262
271
|
return;
|
|
263
272
|
}
|
|
264
273
|
const deleted = deleteSession(state.workDir, sessionId);
|
|
@@ -334,10 +343,7 @@ function handleChangeWorkDir(msg) {
|
|
|
334
343
|
send({ type: 'error', message: `Directory does not exist: ${newDir}` });
|
|
335
344
|
return;
|
|
336
345
|
}
|
|
337
|
-
//
|
|
338
|
-
abortClaude();
|
|
339
|
-
clearSessionId();
|
|
340
|
-
// Update agent-side workDir
|
|
346
|
+
// Only update agent-side workDir — existing conversations keep running in their own workDir
|
|
341
347
|
state.workDir = newDir;
|
|
342
348
|
console.log(`[AgentLink] Working directory changed to: ${newDir}`);
|
|
343
349
|
// Notify web client (server intercepts to update its state)
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|