forkoff 1.0.11 → 1.0.12

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.
Files changed (55) hide show
  1. package/dist/__tests__/cli-commands.test.d.ts +6 -0
  2. package/dist/__tests__/cli-commands.test.d.ts.map +1 -0
  3. package/dist/__tests__/cli-commands.test.js +213 -0
  4. package/dist/__tests__/cli-commands.test.js.map +1 -0
  5. package/dist/__tests__/startup.test.d.ts +11 -0
  6. package/dist/__tests__/startup.test.d.ts.map +1 -0
  7. package/dist/__tests__/startup.test.js +233 -0
  8. package/dist/__tests__/startup.test.js.map +1 -0
  9. package/dist/__tests__/tools/claude-process.test.js +221 -15
  10. package/dist/__tests__/tools/claude-process.test.js.map +1 -1
  11. package/dist/__tests__/tools/permission-hook.test.d.ts +17 -0
  12. package/dist/__tests__/tools/permission-hook.test.d.ts.map +1 -0
  13. package/dist/__tests__/tools/permission-hook.test.js +616 -0
  14. package/dist/__tests__/tools/permission-hook.test.js.map +1 -0
  15. package/dist/__tests__/tools/permission-ipc.test.d.ts +11 -0
  16. package/dist/__tests__/tools/permission-ipc.test.d.ts.map +1 -0
  17. package/dist/__tests__/tools/permission-ipc.test.js +612 -0
  18. package/dist/__tests__/tools/permission-ipc.test.js.map +1 -0
  19. package/dist/index.d.ts +2 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1010 -898
  22. package/dist/index.js.map +1 -1
  23. package/dist/startup.d.ts.map +1 -1
  24. package/dist/startup.js +40 -5
  25. package/dist/startup.js.map +1 -1
  26. package/dist/tools/__tests__/claude-sessions.test.d.ts +2 -0
  27. package/dist/tools/__tests__/claude-sessions.test.d.ts.map +1 -0
  28. package/dist/tools/__tests__/claude-sessions.test.js +306 -0
  29. package/dist/tools/__tests__/claude-sessions.test.js.map +1 -0
  30. package/dist/tools/claude-process.d.ts +81 -4
  31. package/dist/tools/claude-process.d.ts.map +1 -1
  32. package/dist/tools/claude-process.js +332 -20
  33. package/dist/tools/claude-process.js.map +1 -1
  34. package/dist/tools/claude-sessions.d.ts +5 -0
  35. package/dist/tools/claude-sessions.d.ts.map +1 -1
  36. package/dist/tools/claude-sessions.js +16 -2
  37. package/dist/tools/claude-sessions.js.map +1 -1
  38. package/dist/tools/index.d.ts +1 -0
  39. package/dist/tools/index.d.ts.map +1 -1
  40. package/dist/tools/index.js +3 -1
  41. package/dist/tools/index.js.map +1 -1
  42. package/dist/tools/permission-hook.d.ts +41 -0
  43. package/dist/tools/permission-hook.d.ts.map +1 -0
  44. package/dist/tools/permission-hook.js +312 -0
  45. package/dist/tools/permission-hook.js.map +1 -0
  46. package/dist/tools/permission-ipc.d.ts +109 -0
  47. package/dist/tools/permission-ipc.d.ts.map +1 -0
  48. package/dist/tools/permission-ipc.js +295 -0
  49. package/dist/tools/permission-ipc.js.map +1 -0
  50. package/dist/websocket.d.ts +14 -0
  51. package/dist/websocket.d.ts.map +1 -1
  52. package/dist/websocket.js +34 -4
  53. package/dist/websocket.js.map +1 -1
  54. package/jest.config.js +3 -0
  55. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAaA,wBAAgB,aAAa,IAAI,MAAM,CA0BtC;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAa7C;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAYnD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAUpD"}
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAoBA,wBAAgB,aAAa,IAAI,MAAM,CA0BtC;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAa7C;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAYnD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAUpD"}
package/dist/startup.js CHANGED
@@ -47,6 +47,12 @@ const LAUNCHD_LABEL = 'app.forkoff.cli';
47
47
  function getPlistPath() {
48
48
  return path.join(os.homedir(), 'Library', 'LaunchAgents', `${LAUNCHD_LABEL}.plist`);
49
49
  }
50
+ function getBatPath() {
51
+ const configDir = process.platform === 'win32'
52
+ ? path.join(process.env.APPDATA || os.homedir(), 'forkoff-cli')
53
+ : path.join(os.homedir(), '.config', 'forkoff-cli');
54
+ return path.join(configDir, 'startup.bat');
55
+ }
50
56
  function getBinaryPath() {
51
57
  // Check cached path
52
58
  if (config_1.config.startupBinaryPath && fs.existsSync(config_1.config.startupBinaryPath)) {
@@ -120,11 +126,19 @@ async function enableStartupWindows(binaryPath) {
120
126
  catch {
121
127
  // Task didn't exist
122
128
  }
123
- // Find node executable
129
+ // Write a .bat wrapper to avoid nested quoting issues with schtasks /TR.
130
+ // When nodePath or binaryPath contain spaces (e.g. "C:\Program Files\..."),
131
+ // schtasks misparses the /TR value. A single .bat path avoids this entirely.
124
132
  const nodePath = process.execPath;
125
- // Create scheduled task that runs on logon
126
- const taskCommand = `"${nodePath}" "${binaryPath}" connect --quiet`;
127
- (0, child_process_1.execSync)(`schtasks /Create /TN "${TASK_NAME}" /TR ${taskCommand} /SC ONLOGON /RL LIMITED /F`, { stdio: 'pipe' });
133
+ const batPath = getBatPath();
134
+ const batDir = path.dirname(batPath);
135
+ if (!fs.existsSync(batDir)) {
136
+ fs.mkdirSync(batDir, { recursive: true });
137
+ }
138
+ const batContent = `@echo off\r\n"${nodePath}" "${binaryPath}" connect --quiet\r\n`;
139
+ fs.writeFileSync(batPath, batContent);
140
+ // Schedule the .bat file — single path, no nested quotes
141
+ (0, child_process_1.execSync)(`schtasks /Create /TN "${TASK_NAME}" /TR "\\"${batPath}\\"" /SC ONLOGON /RL LIMITED /F`, { stdio: 'pipe' });
128
142
  }
129
143
  async function disableStartupWindows() {
130
144
  try {
@@ -133,6 +147,16 @@ async function disableStartupWindows() {
133
147
  catch {
134
148
  // Task didn't exist
135
149
  }
150
+ // Clean up the .bat wrapper
151
+ const batPath = getBatPath();
152
+ try {
153
+ if (fs.existsSync(batPath)) {
154
+ fs.unlinkSync(batPath);
155
+ }
156
+ }
157
+ catch {
158
+ // Non-critical
159
+ }
136
160
  }
137
161
  async function enableStartupMacOS(binaryPath) {
138
162
  // Remove existing first (idempotent)
@@ -141,6 +165,16 @@ async function enableStartupMacOS(binaryPath) {
141
165
  if (!fs.existsSync(configDir)) {
142
166
  fs.mkdirSync(configDir, { recursive: true });
143
167
  }
168
+ // Use the current node binary explicitly as the first ProgramArgument.
169
+ // Users with nvm/fnm have node outside the default PATH, so launchd
170
+ // can't find node via the shebang. Including process.execPath directly
171
+ // ensures the plist always uses the correct node binary.
172
+ const nodePath = process.execPath;
173
+ const nodeDir = path.dirname(nodePath);
174
+ // Build PATH that includes the current node binary's directory,
175
+ // so any child processes also find the right node.
176
+ const defaultPath = '/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin';
177
+ const envPath = defaultPath.includes(nodeDir) ? defaultPath : `${nodeDir}:${defaultPath}`;
144
178
  const plist = `<?xml version="1.0" encoding="UTF-8"?>
145
179
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
146
180
  <plist version="1.0">
@@ -149,6 +183,7 @@ async function enableStartupMacOS(binaryPath) {
149
183
  <string>${LAUNCHD_LABEL}</string>
150
184
  <key>ProgramArguments</key>
151
185
  <array>
186
+ <string>${nodePath}</string>
152
187
  <string>${binaryPath}</string>
153
188
  <string>connect</string>
154
189
  <string>--quiet</string>
@@ -169,7 +204,7 @@ async function enableStartupMacOS(binaryPath) {
169
204
  <key>EnvironmentVariables</key>
170
205
  <dict>
171
206
  <key>PATH</key>
172
- <string>/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin</string>
207
+ <string>${envPath}</string>
173
208
  </dict>
174
209
  </dict>
175
210
  </plist>`;
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=claude-sessions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-sessions.test.d.ts","sourceRoot":"","sources":["../../../src/tools/__tests__/claude-sessions.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const fs = __importStar(require("fs"));
37
+ const path = __importStar(require("path"));
38
+ const os = __importStar(require("os"));
39
+ // We need to mock fs before importing the module
40
+ jest.mock('fs');
41
+ jest.mock('child_process');
42
+ const mockFs = fs;
43
+ // Import after mocking
44
+ const claude_sessions_1 = require("../claude-sessions");
45
+ describe('ClaudeSessionDetector', () => {
46
+ const homeDir = os.homedir();
47
+ const projectsDir = path.join(homeDir, '.claude', 'projects');
48
+ beforeEach(() => {
49
+ jest.clearAllMocks();
50
+ // Reset internal state
51
+ claude_sessions_1.claudeSessionDetector.lastKnownSessions = new Map();
52
+ claude_sessions_1.claudeSessionDetector.lastClaudeRunning = false;
53
+ });
54
+ describe('scanSessions', () => {
55
+ it('should return empty array when projects dir does not exist', () => {
56
+ mockFs.existsSync.mockReturnValue(false);
57
+ const sessions = claude_sessions_1.claudeSessionDetector.scanSessions();
58
+ expect(sessions).toEqual([]);
59
+ });
60
+ it('should return sessions with state inactive by default', () => {
61
+ const oldMtime = new Date(Date.now() - 120000); // 2 minutes ago
62
+ mockFs.existsSync.mockImplementation((p) => {
63
+ const pathStr = p.toString();
64
+ return pathStr === projectsDir || pathStr.includes('test-project');
65
+ });
66
+ mockFs.readdirSync.mockImplementation((p) => {
67
+ const pathStr = p.toString();
68
+ if (pathStr === projectsDir)
69
+ return ['test-project'];
70
+ if (pathStr.includes('test-project'))
71
+ return ['session-abc.jsonl'];
72
+ return [];
73
+ });
74
+ mockFs.statSync.mockImplementation((p) => {
75
+ const pathStr = p.toString();
76
+ if (pathStr.includes('.jsonl')) {
77
+ return { mtime: oldMtime, isDirectory: () => false };
78
+ }
79
+ return { isDirectory: () => true };
80
+ });
81
+ mockFs.readFileSync.mockReturnValue('{"sessionId":"session-abc"}\n');
82
+ const sessions = claude_sessions_1.claudeSessionDetector.scanSessions();
83
+ expect(sessions.length).toBe(1);
84
+ expect(sessions[0].state).toBe('inactive');
85
+ expect(sessions[0].sessionKey).toBe('session-abc');
86
+ });
87
+ });
88
+ describe('checkAndEmitChanges', () => {
89
+ function setupMockSessions(mtimeAgeMs) {
90
+ const mtime = new Date(Date.now() - mtimeAgeMs);
91
+ mockFs.existsSync.mockImplementation((p) => {
92
+ const pathStr = p.toString();
93
+ return pathStr === projectsDir || pathStr.includes('test-project');
94
+ });
95
+ mockFs.readdirSync.mockImplementation((p) => {
96
+ const pathStr = p.toString();
97
+ if (pathStr === projectsDir)
98
+ return ['test-project'];
99
+ if (pathStr.includes('test-project'))
100
+ return ['session-1.jsonl'];
101
+ return [];
102
+ });
103
+ mockFs.statSync.mockImplementation((p) => {
104
+ const pathStr = p.toString();
105
+ if (pathStr.includes('.jsonl')) {
106
+ return { mtime, isDirectory: () => false };
107
+ }
108
+ return { isDirectory: () => true };
109
+ });
110
+ mockFs.readFileSync.mockReturnValue('{"sessionId":"session-1"}\n');
111
+ }
112
+ it('should classify session as active when mtime < 60s ago', () => {
113
+ setupMockSessions(30000); // 30 seconds ago
114
+ const sessionChanges = [];
115
+ claude_sessions_1.claudeSessionDetector.on('session_detected', (s) => sessionChanges.push(s));
116
+ claude_sessions_1.claudeSessionDetector.checkAndEmitChanges();
117
+ expect(sessionChanges.length).toBe(1);
118
+ expect(sessionChanges[0].state).toBe('active');
119
+ });
120
+ it('should classify session as inactive when mtime > 60s ago', () => {
121
+ setupMockSessions(120000); // 2 minutes ago
122
+ const sessionChanges = [];
123
+ claude_sessions_1.claudeSessionDetector.on('session_detected', (s) => sessionChanges.push(s));
124
+ claude_sessions_1.claudeSessionDetector.checkAndEmitChanges();
125
+ expect(sessionChanges.length).toBe(1);
126
+ expect(sessionChanges[0].state).toBe('inactive');
127
+ });
128
+ it('should emit session_changed when session transitions from active to inactive', () => {
129
+ // First scan: active (30s ago)
130
+ setupMockSessions(30000);
131
+ claude_sessions_1.claudeSessionDetector.checkAndEmitChanges();
132
+ // Second scan: inactive (2 min ago)
133
+ setupMockSessions(120000);
134
+ const changedSessions = [];
135
+ claude_sessions_1.claudeSessionDetector.on('session_changed', (s) => changedSessions.push(s));
136
+ claude_sessions_1.claudeSessionDetector.checkAndEmitChanges();
137
+ expect(changedSessions.length).toBe(1);
138
+ expect(changedSessions[0].state).toBe('inactive');
139
+ expect(changedSessions[0].sessionKey).toBe('session-1');
140
+ });
141
+ it('should emit claude_running_changed when active state changes', () => {
142
+ setupMockSessions(30000); // active
143
+ const runningChanges = [];
144
+ claude_sessions_1.claudeSessionDetector.on('claude_running_changed', (running) => runningChanges.push(running));
145
+ claude_sessions_1.claudeSessionDetector.checkAndEmitChanges();
146
+ expect(runningChanges).toEqual([true]);
147
+ // Now go inactive
148
+ setupMockSessions(120000);
149
+ claude_sessions_1.claudeSessionDetector.checkAndEmitChanges();
150
+ expect(runningChanges).toEqual([true, false]);
151
+ });
152
+ it('should emit session_removed when a session disappears', () => {
153
+ // First scan: one session
154
+ setupMockSessions(30000);
155
+ claude_sessions_1.claudeSessionDetector.checkAndEmitChanges();
156
+ // Second scan: no sessions
157
+ mockFs.existsSync.mockReturnValue(false);
158
+ const removedSessions = [];
159
+ claude_sessions_1.claudeSessionDetector.on('session_removed', (s) => removedSessions.push(s));
160
+ claude_sessions_1.claudeSessionDetector.checkAndEmitChanges();
161
+ expect(removedSessions.length).toBe(1);
162
+ expect(removedSessions[0].sessionKey).toBe('session-1');
163
+ });
164
+ });
165
+ describe('seedKnownSessions', () => {
166
+ function setupMockSessions(sessionIds, mtimeAgeMs) {
167
+ const mtime = new Date(Date.now() - mtimeAgeMs);
168
+ mockFs.existsSync.mockImplementation((p) => {
169
+ const pathStr = p.toString();
170
+ return pathStr === projectsDir || pathStr.includes('test-project');
171
+ });
172
+ mockFs.readdirSync.mockImplementation((p) => {
173
+ const pathStr = p.toString();
174
+ if (pathStr === projectsDir)
175
+ return ['test-project'];
176
+ if (pathStr.includes('test-project'))
177
+ return sessionIds.map((id) => `${id}.jsonl`);
178
+ return [];
179
+ });
180
+ mockFs.statSync.mockImplementation((p) => {
181
+ const pathStr = p.toString();
182
+ if (pathStr.includes('.jsonl')) {
183
+ return { mtime, isDirectory: () => false };
184
+ }
185
+ return { isDirectory: () => true };
186
+ });
187
+ mockFs.readFileSync.mockImplementation((p) => {
188
+ const pathStr = p.toString();
189
+ const match = pathStr.match(/([^/\\]+)\.jsonl$/);
190
+ const id = match ? match[1] : 'unknown';
191
+ return `{"sessionId":"${id}"}\n`;
192
+ });
193
+ }
194
+ it('should populate lastKnownSessions cache', () => {
195
+ const sessions = [
196
+ { sessionKey: 'session-a', directory: '/test', state: 'active', lastUsedAt: new Date().toISOString() },
197
+ { sessionKey: 'session-b', directory: '/test', state: 'inactive', lastUsedAt: new Date().toISOString() },
198
+ ];
199
+ claude_sessions_1.claudeSessionDetector.seedKnownSessions(sessions);
200
+ const known = claude_sessions_1.claudeSessionDetector.lastKnownSessions;
201
+ expect(known.size).toBe(2);
202
+ expect(known.has('session-a')).toBe(true);
203
+ expect(known.has('session-b')).toBe(true);
204
+ });
205
+ it('should prevent re-emission of seeded sessions on checkAndEmitChanges', () => {
206
+ setupMockSessions(['session-1'], 30000);
207
+ // Seed the cache with the same session that scanSessions will find
208
+ claude_sessions_1.claudeSessionDetector.seedKnownSessions([
209
+ { sessionKey: 'session-1', directory: '/test', state: 'active', lastUsedAt: new Date().toISOString() },
210
+ ]);
211
+ const detected = [];
212
+ claude_sessions_1.claudeSessionDetector.on('session_detected', (s) => detected.push(s));
213
+ // checkAndEmitChanges should NOT emit session_detected since session-1 is already known
214
+ claude_sessions_1.claudeSessionDetector.checkAndEmitChanges();
215
+ expect(detected.length).toBe(0);
216
+ });
217
+ it('should still detect genuinely new sessions after seeding', () => {
218
+ // Seed with session-1
219
+ claude_sessions_1.claudeSessionDetector.seedKnownSessions([
220
+ { sessionKey: 'session-1', directory: '/test', state: 'active', lastUsedAt: new Date().toISOString() },
221
+ ]);
222
+ // Now scan finds session-1 AND session-2
223
+ setupMockSessions(['session-1', 'session-2'], 30000);
224
+ const detected = [];
225
+ claude_sessions_1.claudeSessionDetector.on('session_detected', (s) => detected.push(s));
226
+ claude_sessions_1.claudeSessionDetector.checkAndEmitChanges();
227
+ // Only session-2 should be emitted as new
228
+ expect(detected.length).toBe(1);
229
+ expect(detected[0].sessionKey).toBe('session-2');
230
+ });
231
+ it('should clear previous cache when re-seeded', () => {
232
+ claude_sessions_1.claudeSessionDetector.seedKnownSessions([
233
+ { sessionKey: 'old-session', directory: '/test', state: 'inactive', lastUsedAt: new Date().toISOString() },
234
+ ]);
235
+ claude_sessions_1.claudeSessionDetector.seedKnownSessions([
236
+ { sessionKey: 'new-session', directory: '/test', state: 'active', lastUsedAt: new Date().toISOString() },
237
+ ]);
238
+ const known = claude_sessions_1.claudeSessionDetector.lastKnownSessions;
239
+ expect(known.size).toBe(1);
240
+ expect(known.has('new-session')).toBe(true);
241
+ expect(known.has('old-session')).toBe(false);
242
+ });
243
+ });
244
+ describe('startWatching with seeded sessions', () => {
245
+ it('should skip initial checkAndEmitChanges when sessions are seeded', () => {
246
+ // Seed sessions first
247
+ claude_sessions_1.claudeSessionDetector.seedKnownSessions([
248
+ { sessionKey: 'session-1', directory: '/test', state: 'active', lastUsedAt: new Date().toISOString() },
249
+ ]);
250
+ const detected = [];
251
+ claude_sessions_1.claudeSessionDetector.on('session_detected', (s) => detected.push(s));
252
+ // Mock scanSessions to return the same session
253
+ mockFs.existsSync.mockReturnValue(true);
254
+ mockFs.readdirSync.mockImplementation((p) => {
255
+ const pathStr = p.toString();
256
+ if (pathStr === projectsDir)
257
+ return ['test-project'];
258
+ if (pathStr.includes('test-project'))
259
+ return ['session-1.jsonl'];
260
+ return [];
261
+ });
262
+ mockFs.statSync.mockImplementation((p) => {
263
+ const pathStr = p.toString();
264
+ if (pathStr.includes('.jsonl')) {
265
+ return { mtime: new Date(), isDirectory: () => false };
266
+ }
267
+ return { isDirectory: () => true };
268
+ });
269
+ mockFs.readFileSync.mockReturnValue('{"sessionId":"session-1"}\n');
270
+ // startWatching should NOT re-emit seeded sessions
271
+ claude_sessions_1.claudeSessionDetector.startWatching(60000); // long interval to avoid timer issues
272
+ expect(detected.length).toBe(0);
273
+ // Cleanup
274
+ claude_sessions_1.claudeSessionDetector.stopWatching();
275
+ });
276
+ it('should do initial scan when not seeded', () => {
277
+ // Don't seed - lastKnownSessions is empty
278
+ mockFs.existsSync.mockReturnValue(true);
279
+ mockFs.readdirSync.mockImplementation((p) => {
280
+ const pathStr = p.toString();
281
+ if (pathStr === projectsDir)
282
+ return ['test-project'];
283
+ if (pathStr.includes('test-project'))
284
+ return ['session-1.jsonl'];
285
+ return [];
286
+ });
287
+ mockFs.statSync.mockImplementation((p) => {
288
+ const pathStr = p.toString();
289
+ if (pathStr.includes('.jsonl')) {
290
+ return { mtime: new Date(), isDirectory: () => false };
291
+ }
292
+ return { isDirectory: () => true };
293
+ });
294
+ mockFs.readFileSync.mockReturnValue('{"sessionId":"session-1"}\n');
295
+ const detected = [];
296
+ claude_sessions_1.claudeSessionDetector.on('session_detected', (s) => detected.push(s));
297
+ claude_sessions_1.claudeSessionDetector.startWatching(60000);
298
+ // Should detect session-1 since cache was empty
299
+ expect(detected.length).toBe(1);
300
+ expect(detected[0].sessionKey).toBe('session-1');
301
+ // Cleanup
302
+ claude_sessions_1.claudeSessionDetector.stopWatching();
303
+ });
304
+ });
305
+ });
306
+ //# sourceMappingURL=claude-sessions.test.js.map