forkoff 1.0.11 → 1.0.13
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/README.md +7 -4
- package/dist/__tests__/cli-commands.test.d.ts +6 -0
- package/dist/__tests__/cli-commands.test.d.ts.map +1 -0
- package/dist/__tests__/cli-commands.test.js +213 -0
- package/dist/__tests__/cli-commands.test.js.map +1 -0
- package/dist/__tests__/startup.test.d.ts +11 -0
- package/dist/__tests__/startup.test.d.ts.map +1 -0
- package/dist/__tests__/startup.test.js +234 -0
- package/dist/__tests__/startup.test.js.map +1 -0
- package/dist/__tests__/tools/claude-process.test.js +221 -15
- package/dist/__tests__/tools/claude-process.test.js.map +1 -1
- package/dist/__tests__/tools/permission-hook.test.d.ts +17 -0
- package/dist/__tests__/tools/permission-hook.test.d.ts.map +1 -0
- package/dist/__tests__/tools/permission-hook.test.js +616 -0
- package/dist/__tests__/tools/permission-hook.test.js.map +1 -0
- package/dist/__tests__/tools/permission-ipc.test.d.ts +11 -0
- package/dist/__tests__/tools/permission-ipc.test.d.ts.map +1 -0
- package/dist/__tests__/tools/permission-ipc.test.js +612 -0
- package/dist/__tests__/tools/permission-ipc.test.js.map +1 -0
- package/dist/config.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1010 -898
- package/dist/index.js.map +1 -1
- package/dist/startup.d.ts.map +1 -1
- package/dist/startup.js +45 -15
- package/dist/startup.js.map +1 -1
- package/dist/tools/__tests__/claude-sessions.test.d.ts +2 -0
- package/dist/tools/__tests__/claude-sessions.test.d.ts.map +1 -0
- package/dist/tools/__tests__/claude-sessions.test.js +306 -0
- package/dist/tools/__tests__/claude-sessions.test.js.map +1 -0
- package/dist/tools/claude-process.d.ts +81 -4
- package/dist/tools/claude-process.d.ts.map +1 -1
- package/dist/tools/claude-process.js +332 -20
- package/dist/tools/claude-process.js.map +1 -1
- package/dist/tools/claude-sessions.d.ts +5 -0
- package/dist/tools/claude-sessions.d.ts.map +1 -1
- package/dist/tools/claude-sessions.js +16 -2
- package/dist/tools/claude-sessions.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/permission-hook.d.ts +41 -0
- package/dist/tools/permission-hook.d.ts.map +1 -0
- package/dist/tools/permission-hook.js +312 -0
- package/dist/tools/permission-hook.js.map +1 -0
- package/dist/tools/permission-ipc.d.ts +109 -0
- package/dist/tools/permission-ipc.d.ts.map +1 -0
- package/dist/tools/permission-ipc.js +295 -0
- package/dist/tools/permission-ipc.js.map +1 -0
- package/dist/websocket.d.ts +14 -0
- package/dist/websocket.d.ts.map +1 -1
- package/dist/websocket.js +34 -4
- package/dist/websocket.js.map +1 -1
- package/jest.config.js +3 -0
- package/package.json +1 -1
|
@@ -45,6 +45,8 @@ const cross_spawn_1 = __importDefault(require("cross-spawn"));
|
|
|
45
45
|
const events_1 = require("events");
|
|
46
46
|
const os = __importStar(require("os"));
|
|
47
47
|
const path = __importStar(require("path"));
|
|
48
|
+
const fs = __importStar(require("fs"));
|
|
49
|
+
const permission_ipc_1 = require("./permission-ipc");
|
|
48
50
|
/**
|
|
49
51
|
* Regular expression patterns used to detect approval prompts in Claude CLI output.
|
|
50
52
|
* When any of these patterns match the output, an approval request is triggered
|
|
@@ -115,6 +117,14 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
115
117
|
this.closedSessions = new Map();
|
|
116
118
|
/** Maximum number of auto-restarts per session to prevent chaos */
|
|
117
119
|
this.MAX_AUTO_RESTARTS = 3;
|
|
120
|
+
/** Permission IPC managers per session */
|
|
121
|
+
this.permissionIpcManagers = new Map();
|
|
122
|
+
/** Track which process started each IPC manager (to avoid race conditions on close) */
|
|
123
|
+
this.ipcOwnerProcess = new Map();
|
|
124
|
+
/** Track directories where we've configured hooks */
|
|
125
|
+
this.hookConfiguredDirs = new Set();
|
|
126
|
+
/** Track sessions that mobile has explicitly taken over (via claude_resume_session) */
|
|
127
|
+
this.takenOverSessions = new Set();
|
|
118
128
|
}
|
|
119
129
|
/** Type-safe emit for known events */
|
|
120
130
|
emit(event, ...args) {
|
|
@@ -127,7 +137,7 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
127
137
|
/**
|
|
128
138
|
* Start a new Claude session in the specified directory
|
|
129
139
|
*/
|
|
130
|
-
async startSession(directory, terminalSessionId, dangerouslySkipPermissions) {
|
|
140
|
+
async startSession(directory, terminalSessionId, dangerouslySkipPermissions, interactivePermissions) {
|
|
131
141
|
const resolvedDir = this.resolvePath(directory);
|
|
132
142
|
// SDK flags for structured JSON communication
|
|
133
143
|
const args = [
|
|
@@ -135,9 +145,18 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
135
145
|
'--input-format', 'stream-json', // JSONL input to Claude
|
|
136
146
|
'--verbose', // Complete messages
|
|
137
147
|
];
|
|
138
|
-
//
|
|
148
|
+
// Permission modes (in priority order):
|
|
149
|
+
// 1. dangerouslySkipPermissions → --dangerously-skip-permissions (full unrestricted access)
|
|
150
|
+
// 2. interactivePermissions → configure hooks for mobile approval (opt-in)
|
|
151
|
+
// 3. default → no hooks, Claude uses its own local permission mode
|
|
139
152
|
if (dangerouslySkipPermissions) {
|
|
140
|
-
args.push('--
|
|
153
|
+
args.push('--dangerously-skip-permissions');
|
|
154
|
+
}
|
|
155
|
+
else if (interactivePermissions) {
|
|
156
|
+
// Configure PreToolUse hook for interactive approvals
|
|
157
|
+
this.configureHook(resolvedDir);
|
|
158
|
+
// Start IPC manager to bridge hook ↔ WebSocket
|
|
159
|
+
this.startPermissionIpc(terminalSessionId);
|
|
141
160
|
}
|
|
142
161
|
// SECURITY: Using cross-spawn instead of shell: true to prevent command injection
|
|
143
162
|
const proc = (0, cross_spawn_1.default)('claude', args, {
|
|
@@ -146,13 +165,13 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
146
165
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
147
166
|
});
|
|
148
167
|
this.setupProcessHandlers(terminalSessionId, proc, resolvedDir);
|
|
149
|
-
this.processes.set(terminalSessionId, { terminalSessionId, process: proc, directory: resolvedDir, outputBuffer: [], wasAutoRestarted: false, dangerouslySkipPermissions: !!dangerouslySkipPermissions });
|
|
168
|
+
this.processes.set(terminalSessionId, { terminalSessionId, process: proc, directory: resolvedDir, outputBuffer: [], wasAutoRestarted: false, dangerouslySkipPermissions: !!dangerouslySkipPermissions, interactivePermissions: !!interactivePermissions });
|
|
150
169
|
return { cwd: resolvedDir };
|
|
151
170
|
}
|
|
152
171
|
/**
|
|
153
172
|
* Resume an existing Claude session
|
|
154
173
|
*/
|
|
155
|
-
async resumeSession(sessionKey, directory, terminalSessionId, dangerouslySkipPermissions) {
|
|
174
|
+
async resumeSession(sessionKey, directory, terminalSessionId, dangerouslySkipPermissions, interactivePermissions) {
|
|
156
175
|
const resolvedDir = this.resolvePath(directory);
|
|
157
176
|
// SDK flags for structured JSON communication
|
|
158
177
|
const args = [
|
|
@@ -161,13 +180,18 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
161
180
|
'--input-format', 'stream-json', // JSONL input to Claude
|
|
162
181
|
'--verbose', // Complete messages
|
|
163
182
|
];
|
|
164
|
-
//
|
|
165
|
-
//
|
|
183
|
+
// Permission modes (in priority order):
|
|
184
|
+
// 1. dangerouslySkipPermissions → --dangerously-skip-permissions (full unrestricted access)
|
|
185
|
+
// 2. interactivePermissions → configure hooks for mobile approval (opt-in)
|
|
186
|
+
// 3. default → no hooks, Claude uses its own local permission mode
|
|
166
187
|
if (dangerouslySkipPermissions) {
|
|
167
|
-
args.push('--
|
|
188
|
+
args.push('--dangerously-skip-permissions');
|
|
168
189
|
}
|
|
169
|
-
else {
|
|
170
|
-
|
|
190
|
+
else if (interactivePermissions) {
|
|
191
|
+
// Configure PreToolUse hook for interactive approvals
|
|
192
|
+
this.configureHook(resolvedDir);
|
|
193
|
+
// Start IPC manager to bridge hook ↔ WebSocket
|
|
194
|
+
this.startPermissionIpc(terminalSessionId, sessionKey);
|
|
171
195
|
}
|
|
172
196
|
console.log(`[Claude Process] Spawning: claude ${args.join(' ')}`);
|
|
173
197
|
// SECURITY: Using cross-spawn instead of shell: true to prevent command injection
|
|
@@ -177,7 +201,7 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
177
201
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
178
202
|
});
|
|
179
203
|
this.setupProcessHandlers(terminalSessionId, proc, resolvedDir, sessionKey);
|
|
180
|
-
this.processes.set(terminalSessionId, { terminalSessionId, process: proc, directory: resolvedDir, sessionKey, outputBuffer: [], wasAutoRestarted: false, dangerouslySkipPermissions: !!dangerouslySkipPermissions });
|
|
204
|
+
this.processes.set(terminalSessionId, { terminalSessionId, process: proc, directory: resolvedDir, sessionKey, outputBuffer: [], wasAutoRestarted: false, dangerouslySkipPermissions: !!dangerouslySkipPermissions, interactivePermissions: !!interactivePermissions });
|
|
181
205
|
// Store session info for future message sends (needed since we spawn fresh process per message)
|
|
182
206
|
this.closedSessions.set(terminalSessionId, {
|
|
183
207
|
sessionKey,
|
|
@@ -186,6 +210,7 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
186
210
|
lastExitTime: Date.now(),
|
|
187
211
|
restartCount: 0,
|
|
188
212
|
dangerouslySkipPermissions: !!dangerouslySkipPermissions,
|
|
213
|
+
interactivePermissions: !!interactivePermissions,
|
|
189
214
|
});
|
|
190
215
|
return { cwd: resolvedDir };
|
|
191
216
|
}
|
|
@@ -216,6 +241,13 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
216
241
|
console.log(`[Claude Process] No session info found for ${terminalSessionId}`);
|
|
217
242
|
return false;
|
|
218
243
|
}
|
|
244
|
+
// If the session key is mobile-generated (not a real Claude session), start fresh
|
|
245
|
+
// instead of trying --resume with a non-existent key. The session_id capture in
|
|
246
|
+
// setupProcessHandlers will store the real key for subsequent messages.
|
|
247
|
+
if (restartInfo?.isRealSession === false) {
|
|
248
|
+
console.log(`[Claude Process] Session key is mobile-generated — starting fresh session instead of --resume`);
|
|
249
|
+
return this.startAndSendMessage(directory, terminalSessionId, input, restartInfo.dangerouslySkipPermissions, restartInfo.interactivePermissions);
|
|
250
|
+
}
|
|
219
251
|
// Spawn a fresh Claude process for this message
|
|
220
252
|
// IMPORTANT: We must write to stdin immediately after spawn - Claude CLI with
|
|
221
253
|
// stream-json input format exits if it doesn't receive input quickly
|
|
@@ -230,7 +262,7 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
230
262
|
};
|
|
231
263
|
const jsonLine = JSON.stringify(message) + '\n';
|
|
232
264
|
try {
|
|
233
|
-
await this.resumeSession(sessionKey, directory, terminalSessionId, restartInfo?.dangerouslySkipPermissions);
|
|
265
|
+
await this.resumeSession(sessionKey, directory, terminalSessionId, restartInfo?.dangerouslySkipPermissions, restartInfo?.interactivePermissions);
|
|
234
266
|
info = this.processes.get(terminalSessionId);
|
|
235
267
|
}
|
|
236
268
|
catch (err) {
|
|
@@ -271,13 +303,21 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
271
303
|
* Used by auto-prompt quick actions where no prior session exists.
|
|
272
304
|
* Spawns claude with stream-json flags, writes the JSONL user message to stdin right away.
|
|
273
305
|
*/
|
|
274
|
-
async startAndSendMessage(directory, terminalSessionId, message) {
|
|
306
|
+
async startAndSendMessage(directory, terminalSessionId, message, dangerouslySkipPermissions, interactivePermissions) {
|
|
275
307
|
const resolvedDir = this.resolvePath(directory);
|
|
276
308
|
const args = [
|
|
277
309
|
'--output-format', 'stream-json',
|
|
278
310
|
'--input-format', 'stream-json',
|
|
279
311
|
'--verbose',
|
|
280
312
|
];
|
|
313
|
+
// Permission modes (same priority as startSession/resumeSession)
|
|
314
|
+
if (dangerouslySkipPermissions) {
|
|
315
|
+
args.push('--dangerously-skip-permissions');
|
|
316
|
+
}
|
|
317
|
+
else if (interactivePermissions) {
|
|
318
|
+
this.configureHook(resolvedDir);
|
|
319
|
+
this.startPermissionIpc(terminalSessionId);
|
|
320
|
+
}
|
|
281
321
|
const proc = (0, cross_spawn_1.default)('claude', args, {
|
|
282
322
|
cwd: resolvedDir,
|
|
283
323
|
env: { ...process.env, TERM: 'xterm-256color' },
|
|
@@ -290,6 +330,22 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
290
330
|
directory: resolvedDir,
|
|
291
331
|
outputBuffer: [],
|
|
292
332
|
wasAutoRestarted: false,
|
|
333
|
+
dangerouslySkipPermissions: !!dangerouslySkipPermissions,
|
|
334
|
+
interactivePermissions: !!interactivePermissions,
|
|
335
|
+
});
|
|
336
|
+
// Mark session as taken over so subsequent user_message events go through
|
|
337
|
+
// sendInput() instead of creating another fresh session each time
|
|
338
|
+
this.markTakenOver(terminalSessionId);
|
|
339
|
+
// Store restart info so sendInput can find session details if the process
|
|
340
|
+
// is killed before the SDK result captures the real session_id
|
|
341
|
+
this.closedSessions.set(terminalSessionId, {
|
|
342
|
+
directory: resolvedDir,
|
|
343
|
+
lastExitCode: 0,
|
|
344
|
+
lastExitTime: Date.now(),
|
|
345
|
+
restartCount: 0,
|
|
346
|
+
dangerouslySkipPermissions: !!dangerouslySkipPermissions,
|
|
347
|
+
interactivePermissions: !!interactivePermissions,
|
|
348
|
+
isRealSession: false, // Will become true when session_id is captured from SDK output
|
|
293
349
|
});
|
|
294
350
|
// Format as JSONL user message and write immediately
|
|
295
351
|
const jsonLine = JSON.stringify({
|
|
@@ -325,19 +381,34 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
325
381
|
isClaudeSession(terminalSessionId) {
|
|
326
382
|
return this.processes.has(terminalSessionId) || this.closedSessions.has(terminalSessionId);
|
|
327
383
|
}
|
|
384
|
+
/**
|
|
385
|
+
* Check if CLI has a running process for this session (not just registered)
|
|
386
|
+
*/
|
|
387
|
+
hasRunningProcess(terminalSessionId) {
|
|
388
|
+
const info = this.processes.get(terminalSessionId);
|
|
389
|
+
return !!(info?.process && info.process.exitCode === null);
|
|
390
|
+
}
|
|
328
391
|
/**
|
|
329
392
|
* Register session info without spawning a process.
|
|
330
393
|
* Used when mobile opens a session view - we store the info so we can spawn later on first message.
|
|
331
394
|
*/
|
|
332
|
-
registerSession(sessionKey, directory, terminalSessionId, dangerouslySkipPermissions) {
|
|
333
|
-
|
|
395
|
+
registerSession(sessionKey, directory, terminalSessionId, dangerouslySkipPermissions, interactivePermissions, isRealSession) {
|
|
396
|
+
// If we already captured a real Claude session key (from SDK output) for this
|
|
397
|
+
// terminalSessionId, preserve it. This prevents reconnects from overwriting
|
|
398
|
+
// the real key with the mobile-generated one (e.g. brainstorm-*).
|
|
399
|
+
const existing = this.closedSessions.get(terminalSessionId);
|
|
400
|
+
const effectiveSessionKey = (existing?.isRealSession && existing.sessionKey) ? existing.sessionKey : sessionKey;
|
|
401
|
+
const effectiveIsReal = (existing?.isRealSession) ? true : isRealSession;
|
|
402
|
+
console.log(`[Claude Process] Registering session: ${effectiveSessionKey} in ${directory}${dangerouslySkipPermissions ? ' (unrestricted)' : ''}${interactivePermissions ? ' (interactive)' : ''}${effectiveIsReal === false ? ' (fresh — no real Claude session)' : ''}`);
|
|
334
403
|
this.closedSessions.set(terminalSessionId, {
|
|
335
|
-
sessionKey,
|
|
404
|
+
sessionKey: effectiveSessionKey,
|
|
336
405
|
directory,
|
|
337
|
-
lastExitCode: 0,
|
|
406
|
+
lastExitCode: existing?.lastExitCode ?? 0,
|
|
338
407
|
lastExitTime: Date.now(),
|
|
339
408
|
restartCount: 0,
|
|
340
409
|
dangerouslySkipPermissions,
|
|
410
|
+
interactivePermissions,
|
|
411
|
+
isRealSession: effectiveIsReal,
|
|
341
412
|
});
|
|
342
413
|
}
|
|
343
414
|
/**
|
|
@@ -389,7 +460,12 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
389
460
|
lastExitCode: 0,
|
|
390
461
|
lastExitTime: Date.now(),
|
|
391
462
|
restartCount: 0,
|
|
463
|
+
dangerouslySkipPermissions: processInfo.dangerouslySkipPermissions,
|
|
464
|
+
interactivePermissions: processInfo.interactivePermissions,
|
|
465
|
+
isRealSession: true, // Now we have a real Claude session key
|
|
392
466
|
});
|
|
467
|
+
// Notify listeners so transcript watcher can switch to new session's JSONL file
|
|
468
|
+
this.emit('session_id_captured', { terminalSessionId, sessionId: message.session_id, directory });
|
|
393
469
|
}
|
|
394
470
|
}
|
|
395
471
|
}
|
|
@@ -438,13 +514,20 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
438
514
|
const restartCount = processInfo?.wasAutoRestarted
|
|
439
515
|
? (existingInfo?.restartCount ?? 0)
|
|
440
516
|
: 0;
|
|
517
|
+
// Use processInfo.sessionKey if it was captured from SDK output (e.g. session_id
|
|
518
|
+
// in result message after startAndSendMessage), otherwise fall back to the closure's
|
|
519
|
+
// sessionKey from setupProcessHandlers. This ensures fresh sessions get the real key.
|
|
520
|
+
const resolvedSessionKey = processInfo?.sessionKey || sessionKey;
|
|
441
521
|
this.closedSessions.set(terminalSessionId, {
|
|
442
|
-
sessionKey,
|
|
522
|
+
sessionKey: resolvedSessionKey,
|
|
443
523
|
directory,
|
|
444
524
|
lastExitCode: exitCode,
|
|
445
525
|
lastExitTime: Date.now(),
|
|
446
526
|
restartCount,
|
|
447
527
|
dangerouslySkipPermissions: processInfo?.dangerouslySkipPermissions,
|
|
528
|
+
interactivePermissions: processInfo?.interactivePermissions,
|
|
529
|
+
// Once we have a real session key (captured from SDK), mark as real
|
|
530
|
+
isRealSession: resolvedSessionKey ? true : existingInfo?.isRealSession,
|
|
448
531
|
});
|
|
449
532
|
// Emit exit event
|
|
450
533
|
const exitOutput = {
|
|
@@ -462,8 +545,29 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
462
545
|
exitCode,
|
|
463
546
|
};
|
|
464
547
|
this.emit('session_ended', endedEvent);
|
|
465
|
-
//
|
|
466
|
-
|
|
548
|
+
// Only clean up IPC/hooks if no newer process has replaced this one.
|
|
549
|
+
// Race condition: when sendInput kills the old process and spawns a new one,
|
|
550
|
+
// the old close handler fires AFTER the new process starts, which would
|
|
551
|
+
// incorrectly tear down the new process's IPC and hooks.
|
|
552
|
+
const currentProcess = this.processes.get(terminalSessionId);
|
|
553
|
+
const isCurrentProcess = currentProcess?.process === proc;
|
|
554
|
+
if (isCurrentProcess || !currentProcess) {
|
|
555
|
+
// Clean up permission IPC for this session
|
|
556
|
+
this.stopPermissionIpc(terminalSessionId);
|
|
557
|
+
// Remove hook config if no other sessions are using this directory
|
|
558
|
+
const otherSessionsInDir = Array.from(this.processes.values())
|
|
559
|
+
.filter(p => p.directory === directory && p.terminalSessionId !== terminalSessionId);
|
|
560
|
+
if (otherSessionsInDir.length === 0) {
|
|
561
|
+
this.removeHook(directory);
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
else {
|
|
565
|
+
console.log(`[Claude Process] Skipping IPC/hook cleanup — newer process owns this session`);
|
|
566
|
+
}
|
|
567
|
+
// Clean up process map entry only if it's still this process
|
|
568
|
+
if (isCurrentProcess) {
|
|
569
|
+
this.processes.delete(terminalSessionId);
|
|
570
|
+
}
|
|
467
571
|
});
|
|
468
572
|
proc.on('error', (error) => {
|
|
469
573
|
console.error(`[Claude Process] Error for ${terminalSessionId}:`, error.message);
|
|
@@ -543,6 +647,214 @@ class ClaudeProcessManager extends events_1.EventEmitter {
|
|
|
543
647
|
console.log(`[Claude Process] Restart counter cleared for ${terminalSessionId}`);
|
|
544
648
|
}
|
|
545
649
|
}
|
|
650
|
+
/**
|
|
651
|
+
* Mark a session as taken over by the mobile user.
|
|
652
|
+
*/
|
|
653
|
+
markTakenOver(terminalSessionId) {
|
|
654
|
+
this.takenOverSessions.add(terminalSessionId);
|
|
655
|
+
console.log(`[Claude Process] Session marked as taken over: ${terminalSessionId}`);
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* Check if a session has been taken over by the mobile user.
|
|
659
|
+
*/
|
|
660
|
+
isTakenOver(terminalSessionId) {
|
|
661
|
+
return this.takenOverSessions.has(terminalSessionId);
|
|
662
|
+
}
|
|
663
|
+
/**
|
|
664
|
+
* Clear taken-over state for a single session.
|
|
665
|
+
*/
|
|
666
|
+
clearTakenOver(terminalSessionId) {
|
|
667
|
+
this.takenOverSessions.delete(terminalSessionId);
|
|
668
|
+
}
|
|
669
|
+
/**
|
|
670
|
+
* Clear all taken-over sessions (e.g., when mobile disconnects).
|
|
671
|
+
*/
|
|
672
|
+
clearAllTakenOver() {
|
|
673
|
+
this.takenOverSessions.clear();
|
|
674
|
+
console.log(`[Claude Process] All taken-over sessions cleared`);
|
|
675
|
+
}
|
|
676
|
+
/**
|
|
677
|
+
* Get all pending permission prompts across all IPC managers.
|
|
678
|
+
* Used to sync pending permissions to mobile on take-over.
|
|
679
|
+
*/
|
|
680
|
+
getAllPendingPrompts() {
|
|
681
|
+
const allPrompts = [];
|
|
682
|
+
for (const [, ipcManager] of this.permissionIpcManagers) {
|
|
683
|
+
allPrompts.push(...ipcManager.getPendingPromptData());
|
|
684
|
+
}
|
|
685
|
+
return allPrompts;
|
|
686
|
+
}
|
|
687
|
+
/**
|
|
688
|
+
* Auto-allow all pending permission prompts across all IPC managers.
|
|
689
|
+
* Called when mobile disconnects so Claude doesn't hang waiting for approval.
|
|
690
|
+
*/
|
|
691
|
+
autoAllowAllPendingPrompts() {
|
|
692
|
+
const pending = this.getAllPendingPrompts();
|
|
693
|
+
for (const prompt of pending) {
|
|
694
|
+
// Find the IPC manager that owns this prompt and respond
|
|
695
|
+
for (const [, ipcManager] of this.permissionIpcManagers) {
|
|
696
|
+
ipcManager.handleResponse(prompt.promptId, 'allow', 'Auto-allowed: mobile disconnected');
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
if (pending.length > 0) {
|
|
700
|
+
console.log(`[Claude Process] Auto-allowed ${pending.length} pending permission prompt(s) on mobile disconnect`);
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
/**
|
|
704
|
+
* Tear down all permission hooks and IPC managers.
|
|
705
|
+
* Called when mobile disconnects — hooks get re-configured on next Take Over + message.
|
|
706
|
+
*/
|
|
707
|
+
cleanupAllPermissionState() {
|
|
708
|
+
// Stop all IPC managers
|
|
709
|
+
for (const [sessionId, ipcManager] of this.permissionIpcManagers) {
|
|
710
|
+
ipcManager.cleanup();
|
|
711
|
+
console.log(`[Claude Process] Stopped permission IPC for ${sessionId}`);
|
|
712
|
+
}
|
|
713
|
+
this.permissionIpcManagers.clear();
|
|
714
|
+
// Remove hooks from all configured directories
|
|
715
|
+
for (const dir of Array.from(this.hookConfiguredDirs)) {
|
|
716
|
+
this.removeHook(dir);
|
|
717
|
+
}
|
|
718
|
+
console.log(`[Claude Process] All permission hooks and IPC managers cleaned up`);
|
|
719
|
+
}
|
|
720
|
+
/**
|
|
721
|
+
* Write permission rules to disk so the hook script can read them.
|
|
722
|
+
* Rules are written to a well-known temp file that the hook reads on each invocation.
|
|
723
|
+
*/
|
|
724
|
+
updatePermissionRules(rules) {
|
|
725
|
+
const rulesDir = path.join(os.tmpdir(), 'forkoff-permissions');
|
|
726
|
+
const rulesFile = path.join(rulesDir, 'rules.json');
|
|
727
|
+
try {
|
|
728
|
+
if (!fs.existsSync(rulesDir)) {
|
|
729
|
+
fs.mkdirSync(rulesDir, { recursive: true });
|
|
730
|
+
}
|
|
731
|
+
fs.writeFileSync(rulesFile, JSON.stringify(rules, null, 2), 'utf-8');
|
|
732
|
+
console.log(`[Claude Process] Permission rules written to ${rulesFile}`);
|
|
733
|
+
}
|
|
734
|
+
catch (err) {
|
|
735
|
+
console.error(`[Claude Process] Failed to write permission rules:`, err.message);
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
/**
|
|
739
|
+
* Configure the PreToolUse hook in the project's .claude/settings.local.json.
|
|
740
|
+
* This tells Claude Code to run our hook script before each tool use.
|
|
741
|
+
*/
|
|
742
|
+
configureHook(cwd) {
|
|
743
|
+
const hookScriptPath = path.resolve(__dirname, 'permission-hook.js');
|
|
744
|
+
// Verify hook script exists (it should be compiled alongside this file)
|
|
745
|
+
if (!fs.existsSync(hookScriptPath)) {
|
|
746
|
+
console.log(`[Claude Process] Hook script not found at ${hookScriptPath}, skipping hook configuration`);
|
|
747
|
+
return;
|
|
748
|
+
}
|
|
749
|
+
const claudeDir = path.join(cwd, '.claude');
|
|
750
|
+
const settingsFile = path.join(claudeDir, 'settings.local.json');
|
|
751
|
+
try {
|
|
752
|
+
// Create .claude dir if needed
|
|
753
|
+
fs.mkdirSync(claudeDir, { recursive: true });
|
|
754
|
+
// Read existing settings or start fresh
|
|
755
|
+
let settings = {};
|
|
756
|
+
if (fs.existsSync(settingsFile)) {
|
|
757
|
+
try {
|
|
758
|
+
settings = JSON.parse(fs.readFileSync(settingsFile, 'utf-8'));
|
|
759
|
+
}
|
|
760
|
+
catch {
|
|
761
|
+
settings = {};
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
// Add our hook
|
|
765
|
+
if (!settings.hooks)
|
|
766
|
+
settings.hooks = {};
|
|
767
|
+
if (!settings.hooks.PreToolUse)
|
|
768
|
+
settings.hooks.PreToolUse = [];
|
|
769
|
+
// Check if our hook is already configured
|
|
770
|
+
const hookCommand = `node "${hookScriptPath}"`;
|
|
771
|
+
const alreadyConfigured = settings.hooks.PreToolUse.some((h) => h.hooks?.some((hook) => hook.command?.includes('permission-hook')));
|
|
772
|
+
if (!alreadyConfigured) {
|
|
773
|
+
settings.hooks.PreToolUse.push({
|
|
774
|
+
matcher: '',
|
|
775
|
+
hooks: [{
|
|
776
|
+
type: 'command',
|
|
777
|
+
command: hookCommand,
|
|
778
|
+
}],
|
|
779
|
+
});
|
|
780
|
+
}
|
|
781
|
+
fs.writeFileSync(settingsFile, JSON.stringify(settings, null, 2), 'utf-8');
|
|
782
|
+
this.hookConfiguredDirs.add(cwd);
|
|
783
|
+
console.log(`[Claude Process] Hook configured in ${settingsFile}`);
|
|
784
|
+
}
|
|
785
|
+
catch (err) {
|
|
786
|
+
console.log(`[Claude Process] Failed to configure hook: ${err.message}`);
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* Remove our hook from the project's .claude/settings.local.json.
|
|
791
|
+
*/
|
|
792
|
+
removeHook(cwd) {
|
|
793
|
+
if (!this.hookConfiguredDirs.has(cwd))
|
|
794
|
+
return;
|
|
795
|
+
const settingsFile = path.join(cwd, '.claude', 'settings.local.json');
|
|
796
|
+
if (!fs.existsSync(settingsFile))
|
|
797
|
+
return;
|
|
798
|
+
try {
|
|
799
|
+
const settings = JSON.parse(fs.readFileSync(settingsFile, 'utf-8'));
|
|
800
|
+
if (!settings.hooks?.PreToolUse)
|
|
801
|
+
return;
|
|
802
|
+
// Remove our hook entries
|
|
803
|
+
settings.hooks.PreToolUse = settings.hooks.PreToolUse.filter((h) => !h.hooks?.some((hook) => hook.command?.includes('permission-hook')));
|
|
804
|
+
// Clean up empty arrays
|
|
805
|
+
if (settings.hooks.PreToolUse.length === 0)
|
|
806
|
+
delete settings.hooks.PreToolUse;
|
|
807
|
+
if (settings.hooks && Object.keys(settings.hooks).length === 0)
|
|
808
|
+
delete settings.hooks;
|
|
809
|
+
// Write back or delete if empty
|
|
810
|
+
if (Object.keys(settings).length === 0) {
|
|
811
|
+
fs.unlinkSync(settingsFile);
|
|
812
|
+
}
|
|
813
|
+
else {
|
|
814
|
+
fs.writeFileSync(settingsFile, JSON.stringify(settings, null, 2), 'utf-8');
|
|
815
|
+
}
|
|
816
|
+
this.hookConfiguredDirs.delete(cwd);
|
|
817
|
+
console.log(`[Claude Process] Hook removed from ${settingsFile}`);
|
|
818
|
+
}
|
|
819
|
+
catch (err) {
|
|
820
|
+
console.log(`[Claude Process] Failed to remove hook: ${err.message}`);
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
/**
|
|
824
|
+
* Start the permission IPC manager for a session.
|
|
825
|
+
* Listens for hook permission requests and forwards them as events.
|
|
826
|
+
*/
|
|
827
|
+
startPermissionIpc(terminalSessionId, sessionKey) {
|
|
828
|
+
// Stop any existing IPC manager for this session
|
|
829
|
+
this.stopPermissionIpc(terminalSessionId);
|
|
830
|
+
const ipcManager = new permission_ipc_1.PermissionIpcManager();
|
|
831
|
+
// Forward permission_prompt events from IPC manager
|
|
832
|
+
ipcManager.on('permission_prompt', (event) => {
|
|
833
|
+
this.emit('permission_prompt', event);
|
|
834
|
+
});
|
|
835
|
+
ipcManager.start(terminalSessionId, sessionKey);
|
|
836
|
+
this.permissionIpcManagers.set(terminalSessionId, ipcManager);
|
|
837
|
+
console.log(`[Claude Process] Permission IPC started for ${terminalSessionId}`);
|
|
838
|
+
}
|
|
839
|
+
/**
|
|
840
|
+
* Stop the permission IPC manager for a session.
|
|
841
|
+
*/
|
|
842
|
+
stopPermissionIpc(terminalSessionId) {
|
|
843
|
+
const existing = this.permissionIpcManagers.get(terminalSessionId);
|
|
844
|
+
if (existing) {
|
|
845
|
+
existing.cleanup();
|
|
846
|
+
this.permissionIpcManagers.delete(terminalSessionId);
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
/**
|
|
850
|
+
* Handle a permission response from mobile for a specific prompt.
|
|
851
|
+
*/
|
|
852
|
+
handlePermissionResponse(promptId, decision, reason) {
|
|
853
|
+
// Find the IPC manager that has this prompt
|
|
854
|
+
for (const [, ipcManager] of this.permissionIpcManagers) {
|
|
855
|
+
ipcManager.handleResponse(promptId, decision, reason);
|
|
856
|
+
}
|
|
857
|
+
}
|
|
546
858
|
/**
|
|
547
859
|
* Checks Claude CLI output for approval patterns and emits approval request events.
|
|
548
860
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-process.js","sourceRoot":"","sources":["../../src/tools/claude-process.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-process.js","sourceRoot":"","sources":["../../src/tools/claude-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,11 @@ declare class ClaudeSessionDetector extends EventEmitter {
|
|
|
50
50
|
* handle names containing hyphens (e.g. "Dev-SharbelAS").
|
|
51
51
|
*/
|
|
52
52
|
private resolveEncodedPath;
|
|
53
|
+
/**
|
|
54
|
+
* Pre-populate the known sessions cache so that startWatching()
|
|
55
|
+
* doesn't re-emit sessions that were already sent via batch.
|
|
56
|
+
*/
|
|
57
|
+
seedKnownSessions(sessions: ClaudeSessionInfo[]): void;
|
|
53
58
|
/**
|
|
54
59
|
* Start watching for session changes
|
|
55
60
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-sessions.d.ts","sourceRoot":"","sources":["../../src/tools/claude-sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,cAAM,qBAAsB,SAAQ,YAAY;IAC9C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,iBAAiB,CAA6C;IACtE,OAAO,CAAC,iBAAiB,CAAkB;;IAQ3C;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;OAGG;IACH,eAAe,IAAI,OAAO;IA+C1B;;OAEG;IACH,YAAY,IAAI,iBAAiB,EAAE;IAyCnC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqCxB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA6BxB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA6C1B;;OAEG;IACH,aAAa,CAAC,UAAU,GAAE,MAAa,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"claude-sessions.d.ts","sourceRoot":"","sources":["../../src/tools/claude-sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,cAAM,qBAAsB,SAAQ,YAAY;IAC9C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,iBAAiB,CAA6C;IACtE,OAAO,CAAC,iBAAiB,CAAkB;;IAQ3C;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;OAGG;IACH,eAAe,IAAI,OAAO;IA+C1B;;OAEG;IACH,YAAY,IAAI,iBAAiB,EAAE;IAyCnC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqCxB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA6BxB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA6C1B;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAOtD;;OAEG;IACH,aAAa,CAAC,UAAU,GAAE,MAAa,GAAG,IAAI;IAkB9C;;OAEG;IACH,YAAY,IAAI,IAAI;IAOpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;IACH,WAAW,IAAI,iBAAiB,EAAE;CAGnC;AAED,eAAO,MAAM,qBAAqB,uBAA8B,CAAC;AACjE,eAAe,qBAAqB,CAAC"}
|