forkoff 1.0.10 → 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 -893
  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
@@ -0,0 +1,295 @@
1
+ "use strict";
2
+ /**
3
+ * Permission IPC Manager
4
+ * Watches for permission request temp files created by the hook script,
5
+ * emits events so the main process can forward them to mobile via WebSocket,
6
+ * and writes response files when the mobile user responds.
7
+ *
8
+ * Communication flow:
9
+ * Hook Script (subprocess) Main CLI Process
10
+ * | |
11
+ * |-- Writes request.json ---------->| (IPC Manager watches temp dir)
12
+ * | |-- Emits 'permission_prompt' event
13
+ * | | |
14
+ * | | (forwarded to mobile via WS)
15
+ * | | |
16
+ * | | (mobile user responds)
17
+ * | | |
18
+ * | <-- Reads response.json -------| Writes response.json
19
+ * | |
20
+ */
21
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ var desc = Object.getOwnPropertyDescriptor(m, k);
24
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
25
+ desc = { enumerable: true, get: function() { return m[k]; } };
26
+ }
27
+ Object.defineProperty(o, k2, desc);
28
+ }) : (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ o[k2] = m[k];
31
+ }));
32
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
33
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
34
+ }) : function(o, v) {
35
+ o["default"] = v;
36
+ });
37
+ var __importStar = (this && this.__importStar) || (function () {
38
+ var ownKeys = function(o) {
39
+ ownKeys = Object.getOwnPropertyNames || function (o) {
40
+ var ar = [];
41
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
42
+ return ar;
43
+ };
44
+ return ownKeys(o);
45
+ };
46
+ return function (mod) {
47
+ if (mod && mod.__esModule) return mod;
48
+ var result = {};
49
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
50
+ __setModuleDefault(result, mod);
51
+ return result;
52
+ };
53
+ })();
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ exports.PermissionIpcManager = void 0;
56
+ const events_1 = require("events");
57
+ const fs = __importStar(require("fs"));
58
+ const path = __importStar(require("path"));
59
+ const os = __importStar(require("os"));
60
+ class PermissionIpcManager extends events_1.EventEmitter {
61
+ constructor() {
62
+ super(...arguments);
63
+ this.watchInterval = null;
64
+ this.pendingPrompts = new Map();
65
+ this.TIMEOUT_MS = 5 * 60 * 1000; // 5 minute timeout
66
+ this.POLL_INTERVAL_MS = 200; // poll every 200ms
67
+ this.TEMP_DIR = path.join(os.tmpdir(), 'forkoff-permissions');
68
+ this.processedFiles = new Set();
69
+ /** Currently tracked terminal session ID */
70
+ this.terminalSessionId = '';
71
+ }
72
+ /** Type-safe emit for known events */
73
+ emit(event, ...args) {
74
+ return super.emit(event, ...args);
75
+ }
76
+ /** Type-safe on for known events */
77
+ on(event, listener) {
78
+ return super.on(event, listener);
79
+ }
80
+ /**
81
+ * Start watching the temp directory for permission request files.
82
+ * Ensures the temp dir exists and begins polling at POLL_INTERVAL_MS.
83
+ *
84
+ * @param terminalSessionId - The terminal session ID to attach to emitted events
85
+ * @param sessionKey - Optional Claude session key for event payloads
86
+ */
87
+ start(terminalSessionId, sessionKey) {
88
+ this.terminalSessionId = terminalSessionId;
89
+ this.sessionKey = sessionKey;
90
+ // Ensure temp directory exists
91
+ try {
92
+ fs.mkdirSync(this.TEMP_DIR, { recursive: true });
93
+ }
94
+ catch (err) {
95
+ console.log(`[Permission IPC] Failed to create temp dir ${this.TEMP_DIR}: ${err.message}`);
96
+ }
97
+ // Clear any existing interval before starting a new one
98
+ if (this.watchInterval) {
99
+ clearInterval(this.watchInterval);
100
+ }
101
+ console.log(`[Permission IPC] Started watching ${this.TEMP_DIR} for permission requests`);
102
+ this.watchInterval = setInterval(() => this.checkForRequests(), this.POLL_INTERVAL_MS);
103
+ }
104
+ /**
105
+ * Stop watching for permission requests.
106
+ * Clears the polling interval, all pending prompt timeouts, and resets internal state.
107
+ */
108
+ stop() {
109
+ // Clear polling interval
110
+ if (this.watchInterval) {
111
+ clearInterval(this.watchInterval);
112
+ this.watchInterval = null;
113
+ }
114
+ // Clear all pending prompt timeouts
115
+ for (const [, info] of this.pendingPrompts) {
116
+ clearTimeout(info.timeoutId);
117
+ }
118
+ this.pendingPrompts.clear();
119
+ // Clean up processed files tracking
120
+ this.processedFiles.clear();
121
+ console.log('[Permission IPC] Stopped watching for permission requests');
122
+ }
123
+ /**
124
+ * Handle a response from the mobile user for a pending permission prompt.
125
+ * Writes a response JSON file that the hook script polls for.
126
+ *
127
+ * @param promptId - The unique prompt identifier to respond to
128
+ * @param decision - Whether to allow or deny the permission request
129
+ * @param reason - Optional reason for the decision
130
+ */
131
+ handleResponse(promptId, decision, reason) {
132
+ const pending = this.pendingPrompts.get(promptId);
133
+ if (!pending) {
134
+ console.log(`[Permission IPC] No pending prompt found for ${promptId}`);
135
+ return;
136
+ }
137
+ // Clear the timeout for this prompt
138
+ clearTimeout(pending.timeoutId);
139
+ this.pendingPrompts.delete(promptId);
140
+ // Write response file for the hook script to read
141
+ const responseFile = path.join(this.TEMP_DIR, `${promptId}.response.json`);
142
+ const responseData = { decision };
143
+ if (reason) {
144
+ responseData.reason = reason;
145
+ }
146
+ try {
147
+ fs.writeFileSync(responseFile, JSON.stringify(responseData), 'utf-8');
148
+ console.log(`[Permission IPC] Wrote response for ${promptId}: ${decision}${reason ? ` (${reason})` : ''}`);
149
+ }
150
+ catch (err) {
151
+ console.log(`[Permission IPC] Failed to write response file ${responseFile}: ${err.message}`);
152
+ }
153
+ }
154
+ /**
155
+ * Poll the temp directory for new permission request files.
156
+ * Filters for .request.json files that haven't been processed yet.
157
+ * For each new request, parses it, sets up a timeout, and emits a permission_prompt event.
158
+ */
159
+ checkForRequests() {
160
+ let files;
161
+ try {
162
+ files = fs.readdirSync(this.TEMP_DIR);
163
+ }
164
+ catch (err) {
165
+ // Temp dir might not exist yet or was cleaned up — that's fine
166
+ return;
167
+ }
168
+ // Filter for request files we haven't processed yet
169
+ const requestFiles = files.filter((f) => f.endsWith('.request.json') && !this.processedFiles.has(f));
170
+ for (const file of requestFiles) {
171
+ const filePath = path.join(this.TEMP_DIR, file);
172
+ try {
173
+ const content = fs.readFileSync(filePath, 'utf-8');
174
+ const request = JSON.parse(content);
175
+ // Mark as processed to avoid duplicate handling
176
+ this.processedFiles.add(file);
177
+ const promptId = request.promptId || file.replace('.request.json', '');
178
+ const toolName = request.toolName || 'unknown';
179
+ const toolInput = request.toolInput || {};
180
+ const toolUseId = request.toolUseId || '';
181
+ // Set up timeout for auto-deny
182
+ const timeoutId = setTimeout(() => this.handleTimeout(promptId), this.TIMEOUT_MS);
183
+ // Track the pending prompt
184
+ this.pendingPrompts.set(promptId, {
185
+ promptId,
186
+ terminalSessionId: this.terminalSessionId,
187
+ sessionKey: this.sessionKey,
188
+ timeoutId,
189
+ toolName,
190
+ toolInput,
191
+ toolUseId,
192
+ });
193
+ // Build and emit the permission prompt event
194
+ const event = {
195
+ promptId,
196
+ terminalSessionId: this.terminalSessionId,
197
+ sessionKey: this.sessionKey,
198
+ toolName,
199
+ toolInput,
200
+ toolUseId,
201
+ };
202
+ console.log(`[Permission IPC] New permission request: ${promptId} - ${toolName}`);
203
+ this.emit('permission_prompt', event);
204
+ }
205
+ catch (err) {
206
+ // File might be partially written or malformed — skip it for now
207
+ // but add to processed so we don't retry every poll cycle
208
+ this.processedFiles.add(file);
209
+ console.log(`[Permission IPC] Failed to read request file ${file}: ${err.message}`);
210
+ }
211
+ }
212
+ }
213
+ /**
214
+ * Handle a prompt that has timed out waiting for a mobile response.
215
+ * Auto-denies the request with a timeout reason.
216
+ *
217
+ * @param promptId - The prompt ID that timed out
218
+ */
219
+ handleTimeout(promptId) {
220
+ console.log(`[Permission IPC] Prompt ${promptId} timed out after ${this.TIMEOUT_MS / 1000}s`);
221
+ this.handleResponse(promptId, 'deny', 'Timed out waiting for mobile response');
222
+ }
223
+ /**
224
+ * Get data for all currently pending prompts (excluding already-responded ones).
225
+ * Used to sync pending permissions to mobile on take-over.
226
+ */
227
+ getPendingPromptData() {
228
+ return Array.from(this.pendingPrompts.values()).map(p => ({
229
+ promptId: p.promptId,
230
+ terminalSessionId: p.terminalSessionId,
231
+ sessionKey: p.sessionKey,
232
+ toolName: p.toolName,
233
+ toolInput: p.toolInput,
234
+ toolUseId: p.toolUseId,
235
+ }));
236
+ }
237
+ /**
238
+ * Full cleanup: stop watching and remove any remaining temp files.
239
+ * Call this when the CLI process is shutting down.
240
+ */
241
+ cleanup() {
242
+ this.stop();
243
+ // Try to clean up remaining temp files in the directory
244
+ try {
245
+ const files = fs.readdirSync(this.TEMP_DIR);
246
+ for (const file of files) {
247
+ try {
248
+ fs.unlinkSync(path.join(this.TEMP_DIR, file));
249
+ }
250
+ catch (err) {
251
+ // File may already be deleted by the hook script — ignore
252
+ }
253
+ }
254
+ console.log(`[Permission IPC] Cleaned up ${files.length} temp file(s)`);
255
+ }
256
+ catch (err) {
257
+ // Directory might not exist — that's fine
258
+ console.log(`[Permission IPC] Temp dir cleanup skipped: ${err.message}`);
259
+ }
260
+ }
261
+ /**
262
+ * Remove all regular files from the forkoff-permissions temp directory.
263
+ * Call on startup to clean up files left behind by a crashed CLI process.
264
+ */
265
+ static cleanupStaleTempFiles() {
266
+ const tempDir = path.join(os.tmpdir(), 'forkoff-permissions');
267
+ let files;
268
+ try {
269
+ files = fs.readdirSync(tempDir);
270
+ }
271
+ catch {
272
+ // Directory doesn't exist — nothing to clean
273
+ return;
274
+ }
275
+ let cleaned = 0;
276
+ for (const file of files) {
277
+ const filePath = path.join(tempDir, file);
278
+ try {
279
+ const stat = fs.statSync(filePath);
280
+ if (stat.isFile()) {
281
+ fs.unlinkSync(filePath);
282
+ cleaned++;
283
+ }
284
+ }
285
+ catch {
286
+ // File may have been removed concurrently — ignore
287
+ }
288
+ }
289
+ if (cleaned > 0) {
290
+ console.log(`[Permission IPC] Cleaned up ${cleaned} stale temp file(s) on startup`);
291
+ }
292
+ }
293
+ }
294
+ exports.PermissionIpcManager = PermissionIpcManager;
295
+ //# sourceMappingURL=permission-ipc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-ipc.js","sourceRoot":"","sources":["../../src/tools/permission-ipc.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,7 @@ export declare class WebSocketClient extends EventEmitter {
90
90
  totalEntries: number;
91
91
  offset: number;
92
92
  hasMore: boolean;
93
+ requestedBy?: string;
93
94
  }): void;
94
95
  sendTranscriptUpdate(data: {
95
96
  sessionKey: string;
@@ -111,6 +112,14 @@ export declare class WebSocketClient extends EventEmitter {
111
112
  toolId: string;
112
113
  inputSummary: string;
113
114
  }): void;
115
+ sendPermissionPrompt(data: {
116
+ promptId: string;
117
+ terminalSessionId: string;
118
+ sessionKey?: string;
119
+ toolName: string;
120
+ toolInput: any;
121
+ toolUseId: string;
122
+ }): void;
114
123
  sendThinkingContent(data: {
115
124
  sessionKey?: string;
116
125
  thinkingId: string;
@@ -124,6 +133,11 @@ export declare class WebSocketClient extends EventEmitter {
124
133
  outputTokens: number;
125
134
  };
126
135
  }): void;
136
+ sendPendingPermissionsSync(data: {
137
+ sessionKey: string;
138
+ terminalSessionId: string;
139
+ prompts: any[];
140
+ }): void;
127
141
  sendTaskProgress(data: {
128
142
  sessionKey?: string;
129
143
  type: 'created' | 'updated' | 'completed' | 'list';
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
package/dist/websocket.js CHANGED
@@ -41,6 +41,7 @@ class WebSocketClient extends events_1.EventEmitter {
41
41
  userId, // Include userId so API can track by user even if device not in DB
42
42
  clientType: 'session-scoped',
43
43
  sessionId,
44
+ cliVersion: require('../package.json').version,
44
45
  },
45
46
  transports: ['websocket'],
46
47
  reconnection: true,
@@ -48,6 +49,14 @@ class WebSocketClient extends events_1.EventEmitter {
48
49
  reconnectionDelay: 1000,
49
50
  reconnectionDelayMax: 5000,
50
51
  });
52
+ // Debug logging — gated behind DEBUG env var to prevent flooding stdout
53
+ if (process.env.DEBUG) {
54
+ this.socket.onAny((eventName, ...args) => {
55
+ if (eventName === 'device_heartbeat_ack' || eventName === 'pong' || eventName === 'ping')
56
+ return;
57
+ console.log(`[WS-DEBUG] ${eventName}`, JSON.stringify(args).substring(0, 200));
58
+ });
59
+ }
51
60
  this.socket.on('connect', () => {
52
61
  this.reconnectAttempts = 0;
53
62
  console.log(`[WS] Connected with deviceId: ${deviceId}, sessionId: ${sessionId}`);
@@ -80,10 +89,6 @@ class WebSocketClient extends events_1.EventEmitter {
80
89
  this.socket.on('approval_response', (data) => {
81
90
  this.emit('approval_response', data);
82
91
  });
83
- // Listen for git clone requests
84
- this.socket.on('git_clone', (data) => {
85
- this.emit('git_clone', data);
86
- });
87
92
  // Listen for user messages from mobile app
88
93
  this.socket.on('user_message', (data) => {
89
94
  console.log(`[WS] Received user_message: ${data.message.substring(0, 50)}...`);
@@ -143,6 +148,21 @@ class WebSocketClient extends events_1.EventEmitter {
143
148
  console.log(`[WS] Received claude_approval_response: ${data.approvalId}, response: ${data.response}`);
144
149
  this.emit('claude_approval_response', data);
145
150
  });
151
+ // Listen for permission responses from mobile (hook-based approval system)
152
+ this.socket.on('permission_response', (data) => {
153
+ console.log(`[WS] Received permission_response: ${data.promptId} -> ${data.decision}`);
154
+ this.emit('permission_response', data);
155
+ });
156
+ // Listen for permission rules sync from mobile
157
+ this.socket.on('permission_rules_sync', (data) => {
158
+ console.log(`[WS] Received permission_rules_sync: ${data.rules?.length || 0} rules`);
159
+ this.emit('permission_rules_sync', data);
160
+ });
161
+ // Listen for mobile disconnect notification from backend
162
+ this.socket.on('mobile_disconnected', (data) => {
163
+ console.log(`[WS] Received mobile_disconnected for user ${data.userId}`);
164
+ this.emit('mobile_disconnected', data);
165
+ });
146
166
  });
147
167
  }
148
168
  disconnect() {
@@ -240,6 +260,11 @@ class WebSocketClient extends events_1.EventEmitter {
240
260
  console.log(`[WS] Sending tool_activity: ${data.toolName} (${data.toolId})`);
241
261
  this.socket?.emit('tool_activity', data);
242
262
  }
263
+ // Send permission prompt to mobile (interactive approval from hook system)
264
+ sendPermissionPrompt(data) {
265
+ console.log(`[WS] Sending permission_prompt: ${data.toolName} (${data.promptId})`);
266
+ this.socket?.emit('permission_prompt', data);
267
+ }
243
268
  // Send thinking content to mobile
244
269
  sendThinkingContent(data) {
245
270
  this.socket?.emit('thinking_content', data);
@@ -248,6 +273,11 @@ class WebSocketClient extends events_1.EventEmitter {
248
273
  sendTokenUsage(data) {
249
274
  this.socket?.emit('token_usage', data);
250
275
  }
276
+ // Send pending permissions sync to mobile (on take-over)
277
+ sendPendingPermissionsSync(data) {
278
+ console.log(`[WS] Sending pending_permissions_sync: ${data.prompts.length} prompt(s)`);
279
+ this.socket?.emit('pending_permissions_sync', data);
280
+ }
251
281
  // Send task progress to mobile
252
282
  sendTaskProgress(data) {
253
283
  this.socket?.emit('task_progress', data);
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
package/jest.config.js CHANGED
@@ -12,4 +12,7 @@ module.exports = {
12
12
  transform: {
13
13
  '^.+\\.ts$': 'ts-jest',
14
14
  },
15
+ // Permission tests share a global temp directory (os.tmpdir()/forkoff-permissions)
16
+ // and must run serially to avoid cross-test contamination.
17
+ maxWorkers: 1,
15
18
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forkoff",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "⚠️ WAITLIST ONLY - Join at forkoff.app | CLI tool to connect your AI coding tools to mobile",
5
5
  "main": "dist/integration.js",
6
6
  "types": "dist/integration.d.ts",