minivibe 0.2.21 → 0.2.36

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.
@@ -10,7 +10,8 @@ export declare function checkClaudeInstalled(): boolean;
10
10
  */
11
11
  export declare function findClaudePath(): string;
12
12
  /**
13
- * Get the expected session file path
13
+ * Get the session file path
14
+ * Tries multiple naming strategies and scans directories to find the file
14
15
  */
15
16
  export declare function getSessionFilePath(sessionId: string): string;
16
17
  //# sourceMappingURL=process.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/claude/process.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAavC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG5D"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/claude/process.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAavC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAuC5D"}
@@ -75,10 +75,43 @@ function findClaudePath() {
75
75
  }
76
76
  }
77
77
  /**
78
- * Get the expected session file path
78
+ * Get the session file path
79
+ * Tries multiple naming strategies and scans directories to find the file
79
80
  */
80
81
  function getSessionFilePath(sessionId) {
81
- const projectPath = process.cwd().replace(/\//g, '-').replace(/^-/, '');
82
- return path.join(os.homedir(), '.claude', 'projects', projectPath, `${sessionId}.jsonl`);
82
+ const cwd = process.cwd();
83
+ const projectsDir = path.join(os.homedir(), '.claude', 'projects');
84
+ // Normalize path separators (handle both Windows \ and Unix /)
85
+ // Strategy 1: Direct replacement (e.g., /home/ubuntu -> -home-ubuntu, C:\Users -> C--Users)
86
+ const directHash = cwd.replace(/[\\/]/g, '-');
87
+ // Strategy 2: Without leading dash (e.g., home-ubuntu)
88
+ const noLeadingDash = directHash.replace(/^-/, '');
89
+ // Strategy 3: Windows drive letter normalization (e.g., C:-Users -> C-Users)
90
+ const normalizedWindows = noLeadingDash.replace(/^([A-Za-z]):-/, '$1-');
91
+ const candidates = [noLeadingDash, directHash, normalizedWindows];
92
+ // Try to find existing directory that matches
93
+ if (fs.existsSync(projectsDir)) {
94
+ for (const candidate of candidates) {
95
+ const candidateDir = path.join(projectsDir, candidate);
96
+ if (fs.existsSync(candidateDir)) {
97
+ return path.join(candidateDir, `${sessionId}.jsonl`);
98
+ }
99
+ }
100
+ // Scan for session file in any project directory
101
+ try {
102
+ const dirs = fs.readdirSync(projectsDir);
103
+ for (const dir of dirs) {
104
+ const sessionFile = path.join(projectsDir, dir, `${sessionId}.jsonl`);
105
+ if (fs.existsSync(sessionFile)) {
106
+ return sessionFile;
107
+ }
108
+ }
109
+ }
110
+ catch {
111
+ // Ignore scan errors
112
+ }
113
+ }
114
+ // Fall back to noLeadingDash (will be created by Claude)
115
+ return path.join(projectsDir, noLeadingDash, `${sessionId}.jsonl`);
83
116
  }
84
117
  //# sourceMappingURL=process.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/claude/process.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUH,oDAOC;AAKD,wCAaC;AAKD,gDAGC;AAzCD,iDAAyC;AACzC,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB;;GAEG;AACH,SAAgB,oBAAoB;IAClC,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QACxE,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YACjG,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAC;YAC7C,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,0BAA0B,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,SAAiB;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/claude/process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * File-related slash commands: /upload, /download, /files
3
+ */
4
+ import WebSocket from 'ws';
5
+ /**
6
+ * Get MIME type from filename
7
+ */
8
+ export declare function getMimeType(filename: string): string;
9
+ /**
10
+ * Format file size for display
11
+ */
12
+ export declare function formatSize(bytes: number): string;
13
+ /**
14
+ * /upload <path> - Upload file to cloud storage
15
+ */
16
+ export declare function slashCmdUpload(filePath: string | undefined, ws: WebSocket | null, log: (msg: string) => void): Promise<void>;
17
+ /**
18
+ * /download <file-id> [-o path] - Download file
19
+ */
20
+ export declare function slashCmdDownload(fileId: string | undefined, args: string[], ws: WebSocket | null, log: (msg: string) => void): Promise<void>;
21
+ /**
22
+ * /files - List uploaded files
23
+ */
24
+ export declare function slashCmdFiles(ws: WebSocket | null, log: (msg: string) => void): Promise<void>;
25
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/commands/files.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,SAAS,MAAM,IAAI,CAAC;AAO3B;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BpD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUhD;AAsCD;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,EAAE,EAAE,SAAS,GAAG,IAAI,EACpB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CAmGf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,EAAE,SAAS,GAAG,IAAI,EACpB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CAmEf;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,SAAS,GAAG,IAAI,EACpB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CA0Cf"}
@@ -0,0 +1,322 @@
1
+ "use strict";
2
+ /**
3
+ * File-related slash commands: /upload, /download, /files
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.getMimeType = getMimeType;
43
+ exports.formatSize = formatSize;
44
+ exports.slashCmdUpload = slashCmdUpload;
45
+ exports.slashCmdDownload = slashCmdDownload;
46
+ exports.slashCmdFiles = slashCmdFiles;
47
+ const fs = __importStar(require("fs"));
48
+ const path = __importStar(require("path"));
49
+ const http = __importStar(require("http"));
50
+ const https = __importStar(require("https"));
51
+ const url_1 = require("url");
52
+ const ws_1 = __importDefault(require("ws"));
53
+ const colors_1 = require("../utils/colors");
54
+ // Maximum file size for upload (50MB)
55
+ const MAX_UPLOAD_SIZE = 50 * 1024 * 1024;
56
+ /**
57
+ * Get MIME type from filename
58
+ */
59
+ function getMimeType(filename) {
60
+ const ext = path.extname(filename).toLowerCase();
61
+ const mimeTypes = {
62
+ '.txt': 'text/plain',
63
+ '.html': 'text/html',
64
+ '.css': 'text/css',
65
+ '.js': 'application/javascript',
66
+ '.ts': 'application/typescript',
67
+ '.json': 'application/json',
68
+ '.xml': 'application/xml',
69
+ '.pdf': 'application/pdf',
70
+ '.zip': 'application/zip',
71
+ '.tar': 'application/x-tar',
72
+ '.gz': 'application/gzip',
73
+ '.png': 'image/png',
74
+ '.jpg': 'image/jpeg',
75
+ '.jpeg': 'image/jpeg',
76
+ '.gif': 'image/gif',
77
+ '.svg': 'image/svg+xml',
78
+ '.webp': 'image/webp',
79
+ '.mp3': 'audio/mpeg',
80
+ '.wav': 'audio/wav',
81
+ '.mp4': 'video/mp4',
82
+ '.webm': 'video/webm',
83
+ '.md': 'text/markdown',
84
+ '.csv': 'text/csv',
85
+ };
86
+ return mimeTypes[ext] || 'application/octet-stream';
87
+ }
88
+ /**
89
+ * Format file size for display
90
+ */
91
+ function formatSize(bytes) {
92
+ if (!bytes)
93
+ return '0 B';
94
+ const units = ['B', 'KB', 'MB', 'GB'];
95
+ let i = 0;
96
+ let size = bytes;
97
+ while (size >= 1024 && i < units.length - 1) {
98
+ size /= 1024;
99
+ i++;
100
+ }
101
+ return `${size.toFixed(i > 0 ? 1 : 0)} ${units[i]}`;
102
+ }
103
+ /**
104
+ * Wait for a specific message type from WebSocket
105
+ */
106
+ function waitForMessage(ws, successType, errorContext, timeoutMs = 30000) {
107
+ return new Promise((resolve, reject) => {
108
+ const timeout = setTimeout(() => {
109
+ ws.off('message', handler);
110
+ reject(new Error('Timeout'));
111
+ }, timeoutMs);
112
+ const handler = (data) => {
113
+ try {
114
+ const msg = JSON.parse(data.toString());
115
+ if (msg.type === successType) {
116
+ clearTimeout(timeout);
117
+ ws.off('message', handler);
118
+ resolve(msg);
119
+ }
120
+ else if (msg.type === 'error' && msg.context === errorContext) {
121
+ clearTimeout(timeout);
122
+ ws.off('message', handler);
123
+ reject(new Error(msg.message || `${errorContext} failed`));
124
+ }
125
+ }
126
+ catch {
127
+ // Ignore parse errors
128
+ }
129
+ };
130
+ ws.on('message', handler);
131
+ });
132
+ }
133
+ /**
134
+ * /upload <path> - Upload file to cloud storage
135
+ */
136
+ async function slashCmdUpload(filePath, ws, log) {
137
+ if (!filePath) {
138
+ log(`\n${colors_1.colors.yellow}Usage: /upload <path>${colors_1.colors.reset}\n`);
139
+ return;
140
+ }
141
+ // Resolve path relative to cwd
142
+ const fullPath = path.isAbsolute(filePath) ? filePath : path.join(process.cwd(), filePath);
143
+ if (!fs.existsSync(fullPath)) {
144
+ log(`\n${colors_1.colors.red}File not found: ${filePath}${colors_1.colors.reset}\n`);
145
+ return;
146
+ }
147
+ const stats = fs.statSync(fullPath);
148
+ if (stats.isDirectory()) {
149
+ log(`\n${colors_1.colors.red}Cannot upload directories${colors_1.colors.reset}\n`);
150
+ return;
151
+ }
152
+ if (stats.size > MAX_UPLOAD_SIZE) {
153
+ log(`\n${colors_1.colors.red}File too large (max ${formatSize(MAX_UPLOAD_SIZE)})${colors_1.colors.reset}\n`);
154
+ return;
155
+ }
156
+ if (stats.size === 0) {
157
+ log(`\n${colors_1.colors.red}Cannot upload empty file${colors_1.colors.reset}\n`);
158
+ return;
159
+ }
160
+ if (!ws || ws.readyState !== ws_1.default.OPEN) {
161
+ log(`\n${colors_1.colors.yellow}Not connected to bridge${colors_1.colors.reset}\n`);
162
+ return;
163
+ }
164
+ const fileName = path.basename(fullPath);
165
+ if (!fileName) {
166
+ log(`\n${colors_1.colors.red}Invalid file path${colors_1.colors.reset}\n`);
167
+ return;
168
+ }
169
+ const fileSize = stats.size;
170
+ const mimeType = getMimeType(fileName);
171
+ log(`\n${colors_1.colors.dim}Uploading ${fileName} (${formatSize(fileSize)})...${colors_1.colors.reset}`);
172
+ try {
173
+ // Request upload URL from bridge
174
+ ws.send(JSON.stringify({
175
+ type: 'get_upload_url',
176
+ name: fileName,
177
+ mimeType: mimeType,
178
+ size: fileSize,
179
+ }));
180
+ const response = await waitForMessage(ws, 'upload_url', 'upload');
181
+ const uploadUrl = response.url;
182
+ const fileId = response.fileId;
183
+ // Upload to S3
184
+ const fileData = fs.readFileSync(fullPath);
185
+ const parsedUrl = new url_1.URL(uploadUrl);
186
+ const httpModule = parsedUrl.protocol === 'https:' ? https : http;
187
+ await new Promise((resolve, reject) => {
188
+ const req = httpModule.request({
189
+ hostname: parsedUrl.hostname,
190
+ port: parsedUrl.port || (parsedUrl.protocol === 'https:' ? 443 : 80),
191
+ path: parsedUrl.pathname + parsedUrl.search,
192
+ method: 'PUT',
193
+ headers: {
194
+ 'Content-Type': mimeType,
195
+ 'Content-Length': fileSize,
196
+ },
197
+ }, (res) => {
198
+ if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
199
+ resolve();
200
+ }
201
+ else {
202
+ reject(new Error(`Upload failed: HTTP ${res.statusCode}`));
203
+ }
204
+ });
205
+ req.on('error', reject);
206
+ req.write(fileData);
207
+ req.end();
208
+ });
209
+ // Confirm upload
210
+ ws.send(JSON.stringify({
211
+ type: 'confirm_upload',
212
+ fileId: fileId,
213
+ }));
214
+ log(`${colors_1.colors.green}Uploaded ${fileName}${colors_1.colors.reset}`);
215
+ log(`${colors_1.colors.dim}File ID: ${fileId}${colors_1.colors.reset}\n`);
216
+ }
217
+ catch (err) {
218
+ const message = err instanceof Error ? err.message : 'Unknown error';
219
+ log(`${colors_1.colors.red}Upload failed: ${message}${colors_1.colors.reset}\n`);
220
+ }
221
+ }
222
+ /**
223
+ * /download <file-id> [-o path] - Download file
224
+ */
225
+ async function slashCmdDownload(fileId, args, ws, log) {
226
+ if (!fileId) {
227
+ log(`\n${colors_1.colors.yellow}Usage: /download <file-id> [-o path]${colors_1.colors.reset}\n`);
228
+ return;
229
+ }
230
+ if (!ws || ws.readyState !== ws_1.default.OPEN) {
231
+ log(`\n${colors_1.colors.yellow}Not connected to bridge${colors_1.colors.reset}\n`);
232
+ return;
233
+ }
234
+ // Parse output path from args
235
+ let outputPath = null;
236
+ for (let i = 0; i < args.length; i++) {
237
+ if (args[i] === '-o' && args[i + 1]) {
238
+ outputPath = args[i + 1];
239
+ break;
240
+ }
241
+ }
242
+ log(`\n${colors_1.colors.dim}Downloading...${colors_1.colors.reset}`);
243
+ try {
244
+ // Request download URL from bridge
245
+ ws.send(JSON.stringify({
246
+ type: 'get_download_url',
247
+ fileId: fileId,
248
+ }));
249
+ const response = await waitForMessage(ws, 'download_url', 'download');
250
+ const downloadUrl = response.url;
251
+ const fileName = response.name || `download_${fileId}`;
252
+ if (!downloadUrl) {
253
+ log(`${colors_1.colors.red}No download URL received${colors_1.colors.reset}\n`);
254
+ return;
255
+ }
256
+ // Download from URL
257
+ const parsedUrl = new url_1.URL(downloadUrl);
258
+ const httpModule = parsedUrl.protocol === 'https:' ? https : http;
259
+ const fileData = await new Promise((resolve, reject) => {
260
+ httpModule.get({
261
+ hostname: parsedUrl.hostname,
262
+ port: parsedUrl.port || (parsedUrl.protocol === 'https:' ? 443 : 80),
263
+ path: parsedUrl.pathname + parsedUrl.search,
264
+ }, (res) => {
265
+ if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
266
+ const chunks = [];
267
+ res.on('data', (chunk) => chunks.push(chunk));
268
+ res.on('end', () => resolve(Buffer.concat(chunks)));
269
+ }
270
+ else {
271
+ reject(new Error(`Download failed: HTTP ${res.statusCode}`));
272
+ }
273
+ }).on('error', reject);
274
+ });
275
+ // Write to file
276
+ const outPath = outputPath || path.join(process.cwd(), fileName);
277
+ fs.writeFileSync(outPath, fileData);
278
+ log(`${colors_1.colors.green}Downloaded ${fileName}${colors_1.colors.reset}`);
279
+ log(`${colors_1.colors.dim}Saved to: ${outPath}${colors_1.colors.reset}\n`);
280
+ }
281
+ catch (err) {
282
+ const message = err instanceof Error ? err.message : 'Unknown error';
283
+ log(`${colors_1.colors.red}Download failed: ${message}${colors_1.colors.reset}\n`);
284
+ }
285
+ }
286
+ /**
287
+ * /files - List uploaded files
288
+ */
289
+ async function slashCmdFiles(ws, log) {
290
+ if (!ws || ws.readyState !== ws_1.default.OPEN) {
291
+ log(`\n${colors_1.colors.yellow}Not connected to bridge${colors_1.colors.reset}\n`);
292
+ return;
293
+ }
294
+ log(`\n${colors_1.colors.dim}Fetching files...${colors_1.colors.reset}`);
295
+ try {
296
+ ws.send(JSON.stringify({
297
+ type: 'list_folder_contents',
298
+ }));
299
+ const response = await waitForMessage(ws, 'folder_contents', 'list', 10000);
300
+ const files = (response.contents || response.files || []);
301
+ if (files.length === 0) {
302
+ log(`${colors_1.colors.dim}No files uploaded${colors_1.colors.reset}\n`);
303
+ return;
304
+ }
305
+ log('');
306
+ log(`${'ID'.padEnd(14)} ${'NAME'.padEnd(30)} ${'SIZE'.padEnd(10)} UPLOADED`);
307
+ log(`${'-'.repeat(14)} ${'-'.repeat(30)} ${'-'.repeat(10)} ${'-'.repeat(15)}`);
308
+ for (const file of files) {
309
+ const id = (file.id || '').slice(0, 12);
310
+ const name = (file.name || '').slice(0, 28);
311
+ const size = formatSize(file.size || 0);
312
+ const date = file.createdAt ? new Date(file.createdAt).toLocaleDateString() : '';
313
+ log(`${id.padEnd(14)} ${name.padEnd(30)} ${size.padEnd(10)} ${date}`);
314
+ }
315
+ log('');
316
+ }
317
+ catch (err) {
318
+ const message = err instanceof Error ? err.message : 'Unknown error';
319
+ log(`${colors_1.colors.red}Failed to list files: ${message}${colors_1.colors.reset}\n`);
320
+ }
321
+ }
322
+ //# sourceMappingURL=files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/commands/files.ts"],"names":[],"mappings":"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"}
@@ -71,12 +71,12 @@ Options:
71
71
  --help, -h Show this help
72
72
 
73
73
  In-session Commands:
74
+ /whoami Show logged-in user
74
75
  /name <name> Rename current session
75
- /upload <path> Upload file to cloud
76
- /download <id> Download file by ID
77
- /files List uploaded files
78
- /status Show connection status
79
76
  /info Show session details
77
+ /upload <path> Upload file to cloud storage
78
+ /download <id> [-o path] Download file by ID
79
+ /files List uploaded files
80
80
  /help Show available commands
81
81
 
82
82
  Examples:
package/dist/core.d.ts CHANGED
@@ -21,6 +21,7 @@ export declare function sendToClaude(ctx: AppContext, content: string): boolean;
21
21
  export declare function startClaude(ctx: AppContext): void;
22
22
  /**
23
23
  * Setup terminal input forwarding
24
+ * Note: No visual autocomplete dropdown to avoid conflicts with Claude Code's native UI
24
25
  */
25
26
  export declare function setupTerminalInput(ctx: AppContext): void;
26
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmBH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5C;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAyDrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAoBpF;AA2FD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAWtE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAmEjD;AAyGD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAQxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAKnD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAO7C"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAyB5C;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CA4DrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAoBpF;AA+JD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAetE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAqFjD;AAyOD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAsDxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAKnD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAQ7C"}
package/dist/core.js CHANGED
@@ -56,6 +56,27 @@ const config_1 = require("./utils/config");
56
56
  const colors_1 = require("./utils/colors");
57
57
  const auth_1 = require("./auth");
58
58
  const process_1 = require("./claude/process");
59
+ const files_1 = require("./commands/files");
60
+ // Track if terminal was put in raw mode
61
+ let terminalRawMode = false;
62
+ /**
63
+ * Restore terminal state (can be called multiple times safely)
64
+ */
65
+ function restoreTerminal() {
66
+ if (terminalRawMode && process.stdin.isTTY) {
67
+ try {
68
+ process.stdin.setRawMode(false);
69
+ }
70
+ catch {
71
+ // Ignore - stdin may already be closed
72
+ }
73
+ terminalRawMode = false;
74
+ }
75
+ // Show cursor (safe to call multiple times)
76
+ process.stdout.write('\x1b[?25h');
77
+ }
78
+ // Ensure terminal is always restored on exit (handles uncaught exceptions, etc.)
79
+ process.on('exit', restoreTerminal);
59
80
  /**
60
81
  * Connect to bridge server and set up handlers
61
82
  */
@@ -87,7 +108,10 @@ function connectToBridge(ctx) {
87
108
  });
88
109
  ctx.bridgeSocket.on('message', (raw) => {
89
110
  try {
90
- handleBridgeMessage(ctx, JSON.parse(raw.toString()));
111
+ const rawStr = raw.toString();
112
+ // Log raw messages in verbose mode only
113
+ logStatus(`[RAW] ${rawStr.slice(0, 200)}${rawStr.length > 200 ? '...' : ''}`);
114
+ handleBridgeMessage(ctx, JSON.parse(rawStr));
91
115
  }
92
116
  catch (err) {
93
117
  logStatus(`Invalid bridge message: ${err instanceof Error ? err.message : err}`);
@@ -143,10 +167,15 @@ function sendToBridge(ctx, data) {
143
167
  */
144
168
  function handleBridgeMessage(ctx, msg) {
145
169
  const { log, logStatus } = ctx.callbacks;
170
+ // Debug: log all incoming messages (except pings)
171
+ if (msg.type !== 'ping' && msg.type !== 'pong') {
172
+ logStatus(`Bridge message: type=${msg.type}, hasContent=${msg.content !== undefined}`);
173
+ }
146
174
  switch (msg.type) {
147
175
  case 'authenticated':
148
176
  ctx.isAuthenticated = true;
149
177
  log('Authenticated with bridge', colors_1.colors.green);
178
+ // Register session first - E2E key exchange happens after session_registered
150
179
  ctx.bridgeSocket?.send(JSON.stringify({
151
180
  type: 'register_session',
152
181
  sessionId: ctx.effectiveSessionId,
@@ -154,10 +183,18 @@ function handleBridgeMessage(ctx, msg) {
154
183
  name: ctx.options.sessionName || path.basename(process.cwd()),
155
184
  e2e: ctx.options.e2eEnabled,
156
185
  }));
186
+ break;
187
+ case 'session_registered':
188
+ log(`Session registered: ${msg.sessionId?.slice(0, 8)}...`, colors_1.colors.green);
189
+ logStatus(`Full sessionId: ${msg.sessionId}`);
190
+ // Now send E2E key exchange (must be AFTER register_session)
157
191
  if (ctx.options.e2eEnabled && ctx.e2e) {
158
192
  ctx.e2e.init();
159
193
  if (!ctx.e2e.isReady()) {
160
- ctx.bridgeSocket?.send(JSON.stringify(ctx.e2e.createKeyExchangeMessage(true)));
194
+ const keyMsg = ctx.e2e.createKeyExchangeMessage(true);
195
+ keyMsg.sessionId = ctx.effectiveSessionId;
196
+ ctx.bridgeSocket?.send(JSON.stringify(keyMsg));
197
+ log('[E2E] Sent public key to bridge', colors_1.colors.cyan);
161
198
  }
162
199
  }
163
200
  break;
@@ -175,7 +212,8 @@ function handleBridgeMessage(ctx, msg) {
175
212
  }
176
213
  });
177
214
  break;
178
- case 'user_message':
215
+ case 'send_message':
216
+ log(`Received message from mobile`, colors_1.colors.dim);
179
217
  handleUserMessage(ctx, msg);
180
218
  break;
181
219
  case 'key_exchange':
@@ -189,9 +227,44 @@ function handleBridgeMessage(ctx, msg) {
189
227
  ctx.e2ePendingMessages.length = 0;
190
228
  }
191
229
  break;
192
- case 'permission_response':
193
- ctx.callbacks.sendToClaude(msg.approved ? 'y' : 'n', 'permission');
194
- ctx.pendingPermission = null;
230
+ case 'approve_permission':
231
+ case 'approve_permission_always':
232
+ // Send '1' for Yes, '2' for Yes don't ask again
233
+ if (ctx.pendingPermission) {
234
+ const option = msg.type === 'approve_permission_always' ? '2' : '1';
235
+ ctx.callbacks.sendToClaude(option, 'permission');
236
+ ctx.pendingPermission = null;
237
+ }
238
+ break;
239
+ case 'deny_permission':
240
+ // Send Escape to cancel permission prompt
241
+ if (ctx.pendingPermission) {
242
+ ctx.claudeProcess?.stdin?.write('\x1b');
243
+ ctx.pendingPermission = null;
244
+ }
245
+ break;
246
+ case 'terminal_input':
247
+ // Raw terminal input from attached client
248
+ if (msg.data && ctx.claudeProcess?.stdin?.writable) {
249
+ ctx.claudeProcess.stdin.write(msg.data);
250
+ }
251
+ break;
252
+ case 'session_stop':
253
+ // Agent is stopping this session
254
+ log('Session stopped by agent', colors_1.colors.yellow);
255
+ ctx.isShuttingDown = true;
256
+ if (ctx.claudeProcess && !ctx.claudeProcess.killed) {
257
+ ctx.claudeProcess.kill('SIGTERM');
258
+ }
259
+ break;
260
+ case 'session_renamed':
261
+ if (msg.name) {
262
+ ctx.options.sessionName = msg.name;
263
+ logStatus(`Session renamed: ${msg.name}`);
264
+ }
265
+ break;
266
+ case 'error':
267
+ log(`Bridge error: ${msg.message}`, colors_1.colors.red);
195
268
  break;
196
269
  }
197
270
  }
@@ -199,6 +272,7 @@ function handleBridgeMessage(ctx, msg) {
199
272
  * Handle user message from mobile
200
273
  */
201
274
  function handleUserMessage(ctx, msg) {
275
+ const { log } = ctx.callbacks;
202
276
  let content = msg.content;
203
277
  // Decrypt if E2E
204
278
  if (ctx.e2e?.isReady()) {
@@ -212,29 +286,37 @@ function handleUserMessage(ctx, msg) {
212
286
  }
213
287
  }
214
288
  }
289
+ // Validate content
290
+ if (!content || typeof content !== 'string') {
291
+ return;
292
+ }
215
293
  // Dedupe
216
294
  const hash = Buffer.from(content).toString('base64').slice(0, 32);
217
- if (ctx.mobileMessageHashes.has(hash))
295
+ if (ctx.mobileMessageHashes.has(hash)) {
218
296
  return;
297
+ }
219
298
  ctx.mobileMessageHashes.add(hash);
220
299
  if (ctx.mobileMessageHashes.size > config_1.MAX_MOBILE_MESSAGES) {
221
300
  const first = ctx.mobileMessageHashes.values().next().value;
222
301
  if (first)
223
302
  ctx.mobileMessageHashes.delete(first);
224
303
  }
225
- ctx.callbacks.log(`[mobile]: ${content}`, colors_1.colors.cyan);
304
+ log(`[mobile]: ${content}`, colors_1.colors.cyan);
226
305
  ctx.callbacks.sendToClaude(content, 'mobile');
227
306
  }
228
307
  /**
229
308
  * Send to Claude stdin
230
309
  */
231
310
  function sendToClaude(ctx, content) {
232
- if (!ctx.claudeProcess?.stdin?.writable || !ctx.isRunning)
311
+ if (!ctx.claudeProcess?.stdin?.writable || !ctx.isRunning) {
233
312
  return false;
313
+ }
234
314
  try {
235
315
  ctx.claudeProcess.stdin.write(Buffer.from(content, 'utf8'));
236
316
  setTimeout(() => {
237
- ctx.claudeProcess?.stdin?.writable && ctx.claudeProcess.stdin.write('\r');
317
+ if (ctx.claudeProcess?.stdin?.writable) {
318
+ ctx.claudeProcess.stdin.write('\r');
319
+ }
238
320
  }, 100);
239
321
  return true;
240
322
  }
@@ -271,7 +353,10 @@ function startClaude(ctx) {
271
353
  ctx.isRunning = true;
272
354
  const stdio = ctx.claudeProcess.stdio;
273
355
  stdio[4]?.on('data', (data) => {
274
- sendToBridge(ctx, { type: 'terminal_output', sessionId: ctx.effectiveSessionId, data: data.toString('base64') });
356
+ // Only send terminal_output in agent mode
357
+ if (ctx.options.agentUrl) {
358
+ sendToBridge(ctx, { type: 'terminal_output', sessionId: ctx.effectiveSessionId, data: data.toString('base64') });
359
+ }
275
360
  });
276
361
  let promptBuf = '';
277
362
  stdio[3]?.on('data', (data) => {
@@ -281,21 +366,36 @@ function startClaude(ctx) {
281
366
  for (const line of lines) {
282
367
  try {
283
368
  const p = JSON.parse(line);
284
- if (p.type === 'permission_prompt') {
369
+ if (p.type === 'permission_prompt' && p.tool_name) {
370
+ // Store pending permission for approval/denial
371
+ ctx.pendingPermission = {
372
+ command: p.tool_name,
373
+ timestamp: Date.now(),
374
+ };
375
+ // Send permission request in format expected by bridge/clients
285
376
  sendToBridge(ctx, {
286
377
  type: 'permission_request',
287
378
  sessionId: ctx.effectiveSessionId,
288
- tool_name: p.tool_name,
289
- tool_input: p.tool_input,
290
- prompt_id: p.prompt_id,
379
+ requestId: p.prompt_id || (0, uuid_1.v4)(),
380
+ command: p.tool_name,
381
+ question: p.question || `Allow ${p.tool_name}?`,
382
+ displayText: p.tool_name,
383
+ fullText: JSON.stringify(p.tool_input || {}, null, 2),
291
384
  });
292
385
  }
293
386
  }
294
387
  catch { /* not json */ }
295
388
  }
296
389
  });
297
- ctx.claudeProcess.on('exit', (code) => {
390
+ ctx.claudeProcess.on('exit', (code, signal) => {
298
391
  ctx.isRunning = false;
392
+ // Notify bridge that session ended
393
+ sendToBridge(ctx, {
394
+ type: 'session_ended',
395
+ sessionId: ctx.effectiveSessionId,
396
+ exitCode: code,
397
+ signal: signal || undefined,
398
+ });
299
399
  cleanup(ctx);
300
400
  process.exit(code || 0);
301
401
  });
@@ -309,10 +409,13 @@ function startClaude(ctx) {
309
409
  * Watch session file for Claude messages
310
410
  */
311
411
  function startSessionWatcher(ctx) {
412
+ const { logStatus } = ctx.callbacks;
312
413
  const sessionFile = (0, process_1.getSessionFilePath)(ctx.sessionId);
414
+ logStatus(`Watching for session file: ${sessionFile}`);
313
415
  const check = setInterval(() => {
314
416
  if (fs.existsSync(sessionFile)) {
315
417
  clearInterval(check);
418
+ logStatus(`Session file found, starting watcher`);
316
419
  try {
317
420
  const watcher = fs.watch(sessionFile, () => processSessionFile(ctx, sessionFile));
318
421
  ctx.sessionFileWatcher = () => watcher.close();
@@ -365,16 +468,25 @@ function extractTextContent(content) {
365
468
  * Process session file for new messages
366
469
  */
367
470
  function processSessionFile(ctx, file) {
471
+ const { logStatus } = ctx.callbacks;
368
472
  try {
369
473
  const stats = fs.statSync(file);
474
+ // Handle file being recreated (size shrunk)
475
+ if (stats.size < ctx.lastFileSize) {
476
+ ctx.lastFileSize = 0;
477
+ }
370
478
  if (stats.size <= ctx.lastFileSize)
371
479
  return;
372
- const content = fs.readFileSync(file, 'utf8');
373
- const lines = content.split('\n').slice(ctx.lastFileSize > 0 ? -10 : 0);
480
+ // Read only new bytes from the file
481
+ const fd = fs.openSync(file, 'r');
482
+ const buffer = Buffer.alloc(stats.size - ctx.lastFileSize);
483
+ fs.readSync(fd, buffer, 0, buffer.length, ctx.lastFileSize);
484
+ fs.closeSync(fd);
374
485
  ctx.lastFileSize = stats.size;
486
+ const newContent = buffer.toString('utf8');
487
+ const lines = newContent.split('\n').filter(l => l.trim());
488
+ logStatus(`Processing ${lines.length} lines from session file`);
375
489
  for (const line of lines) {
376
- if (!line.trim())
377
- continue;
378
490
  try {
379
491
  const msg = JSON.parse(line);
380
492
  const role = msg.type; // 'user' or 'assistant'
@@ -382,8 +494,9 @@ function processSessionFile(ctx, file) {
382
494
  // Extract text content
383
495
  const textContent = extractTextContent(msgContent);
384
496
  if (textContent.trim()) {
497
+ logStatus(`Sending ${role} message to bridge (${textContent.length} chars)`);
385
498
  // Send formatted message to bridge (matching old format expected by web client)
386
- sendToBridge(ctx, {
499
+ const sent = sendToBridge(ctx, {
387
500
  type: 'claude_message',
388
501
  sessionId: ctx.effectiveSessionId,
389
502
  message: {
@@ -393,6 +506,9 @@ function processSessionFile(ctx, file) {
393
506
  timestamp: new Date().toISOString(),
394
507
  },
395
508
  });
509
+ if (!sent) {
510
+ logStatus(`Failed to send message (not authenticated or disconnected)`);
511
+ }
396
512
  }
397
513
  // Track completed tools
398
514
  if (Array.isArray(msgContent)) {
@@ -413,19 +529,167 @@ function processSessionFile(ctx, file) {
413
529
  }
414
530
  catch { /* file not ready */ }
415
531
  }
532
+ // Slash command definitions for autocomplete
533
+ const SLASH_COMMANDS = [
534
+ { cmd: '/whoami', desc: 'Show logged-in user' },
535
+ { cmd: '/name', desc: 'Rename current session' },
536
+ { cmd: '/info', desc: 'Show session details' },
537
+ { cmd: '/upload', desc: 'Upload file to cloud' },
538
+ { cmd: '/download', desc: 'Download file by ID' },
539
+ { cmd: '/files', desc: 'List uploaded files' },
540
+ { cmd: '/help', desc: 'Show available commands' },
541
+ ];
542
+ /**
543
+ * Get matching slash commands for Tab completion
544
+ * Note: No visual dropdown to avoid conflicts with Claude Code's native autocomplete
545
+ */
546
+ function getSlashMatches(input) {
547
+ if (!input.startsWith('/'))
548
+ return [];
549
+ const prefix = input.toLowerCase();
550
+ return SLASH_COMMANDS.filter(c => c.cmd.startsWith(prefix));
551
+ }
552
+ /**
553
+ * Handle slash commands typed during session
554
+ * Returns true if command was handled, false to pass through to Claude
555
+ */
556
+ function handleSlashCommand(ctx, input) {
557
+ const { log } = ctx.callbacks;
558
+ const trimmed = input.trim();
559
+ if (!trimmed.startsWith('/'))
560
+ return false;
561
+ const parts = trimmed.split(/\s+/);
562
+ const cmd = parts[0].toLowerCase();
563
+ const args = parts.slice(1);
564
+ switch (cmd) {
565
+ case '/whoami': {
566
+ const user = (0, auth_1.getUserInfo)();
567
+ if (user) {
568
+ log(`\n${colors_1.colors.green}Logged in as:${colors_1.colors.reset}`);
569
+ if (user.name)
570
+ log(` Name: ${user.name}`);
571
+ if (user.email)
572
+ log(` Email: ${user.email}`);
573
+ }
574
+ else {
575
+ log(`\n${colors_1.colors.yellow}Not logged in${colors_1.colors.reset}`);
576
+ }
577
+ log('');
578
+ return true;
579
+ }
580
+ case '/name': {
581
+ const newName = args.join(' ');
582
+ if (!newName) {
583
+ log(`\n${colors_1.colors.yellow}Usage: /name <new-name>${colors_1.colors.reset}\n`);
584
+ return true;
585
+ }
586
+ sendToBridge(ctx, {
587
+ type: 'rename_session',
588
+ sessionId: ctx.effectiveSessionId,
589
+ name: newName,
590
+ });
591
+ log(`\n${colors_1.colors.green}Session renamed to: ${newName}${colors_1.colors.reset}\n`);
592
+ return true;
593
+ }
594
+ case '/info': {
595
+ log(`\n${colors_1.colors.bright}Session Info${colors_1.colors.reset}`);
596
+ log(` Session ID: ${ctx.effectiveSessionId}`);
597
+ log(` Directory: ${process.cwd()}`);
598
+ log(` Connected: ${ctx.isAuthenticated ? 'Yes' : 'No'}`);
599
+ log(` E2E: ${ctx.options.e2eEnabled ? (ctx.e2e?.isReady() ? 'Ready' : 'Pending') : 'Disabled'}`);
600
+ log('');
601
+ return true;
602
+ }
603
+ case '/upload': {
604
+ const filePath = args[0];
605
+ (0, files_1.slashCmdUpload)(filePath, ctx.bridgeSocket, log).catch((err) => {
606
+ log(`${colors_1.colors.red}Upload error: ${err.message}${colors_1.colors.reset}\n`);
607
+ });
608
+ return true;
609
+ }
610
+ case '/download': {
611
+ const fileId = args[0];
612
+ (0, files_1.slashCmdDownload)(fileId, args.slice(1), ctx.bridgeSocket, log).catch((err) => {
613
+ log(`${colors_1.colors.red}Download error: ${err.message}${colors_1.colors.reset}\n`);
614
+ });
615
+ return true;
616
+ }
617
+ case '/files': {
618
+ (0, files_1.slashCmdFiles)(ctx.bridgeSocket, log).catch((err) => {
619
+ log(`${colors_1.colors.red}List files error: ${err.message}${colors_1.colors.reset}\n`);
620
+ });
621
+ return true;
622
+ }
623
+ case '/help': {
624
+ log(`\n${colors_1.colors.bright}Slash Commands${colors_1.colors.reset}`);
625
+ log(` /whoami Show logged-in user`);
626
+ log(` /name <n> Rename session`);
627
+ log(` /info Show session details`);
628
+ log(` /upload <p> Upload file to cloud`);
629
+ log(` /download <id> Download file by ID`);
630
+ log(` /files List uploaded files`);
631
+ log(` /help Show this help`);
632
+ log('');
633
+ return true;
634
+ }
635
+ default:
636
+ return false; // Unknown command, pass to Claude
637
+ }
638
+ }
416
639
  /**
417
640
  * Setup terminal input forwarding
641
+ * Note: No visual autocomplete dropdown to avoid conflicts with Claude Code's native UI
418
642
  */
419
643
  function setupTerminalInput(ctx) {
420
644
  if (!process.stdin.isTTY)
421
645
  return;
422
646
  process.stdin.setRawMode(true);
647
+ terminalRawMode = true;
423
648
  process.stdin.resume();
424
649
  process.stdin.on('data', (data) => {
425
- if (data.toString() === '\x03') {
650
+ const str = data.toString();
651
+ // Ctrl+C - cleanup and exit
652
+ if (str === '\x03') {
426
653
  cleanup(ctx);
427
654
  process.exit(0);
428
655
  }
656
+ // Tab: silent completion for vibe slash commands
657
+ if (str === '\t' && ctx.inputBuffer.startsWith('/')) {
658
+ const matches = getSlashMatches(ctx.inputBuffer);
659
+ if (matches.length === 1) {
660
+ // Single match - complete it
661
+ const toAdd = matches[0].cmd.slice(ctx.inputBuffer.length);
662
+ if (toAdd) {
663
+ ctx.inputBuffer += toAdd;
664
+ process.stdout.write(toAdd);
665
+ ctx.claudeProcess?.stdin?.writable && ctx.claudeProcess.stdin.write(toAdd);
666
+ }
667
+ return; // Don't pass Tab to Claude
668
+ }
669
+ // Multiple or no matches - let Claude handle Tab
670
+ }
671
+ // Buffer input to detect slash commands (Enter = \r or \n)
672
+ if (str === '\r' || str === '\n') {
673
+ if (ctx.inputBuffer.startsWith('/')) {
674
+ // Check if it's a slash command we handle
675
+ if (handleSlashCommand(ctx, ctx.inputBuffer)) {
676
+ ctx.inputBuffer = '';
677
+ // Echo newline but don't send to Claude
678
+ process.stdout.write('\n');
679
+ return;
680
+ }
681
+ }
682
+ ctx.inputBuffer = '';
683
+ }
684
+ else if (str === '\x7f' || str === '\b') {
685
+ // Backspace - remove last char from buffer
686
+ ctx.inputBuffer = ctx.inputBuffer.slice(0, -1);
687
+ }
688
+ else if (str.length === 1 && str >= ' ') {
689
+ // Printable character
690
+ ctx.inputBuffer += str;
691
+ }
692
+ // Pass through to Claude
429
693
  ctx.claudeProcess?.stdin?.writable && ctx.claudeProcess.stdin.write(data);
430
694
  });
431
695
  }
@@ -456,5 +720,6 @@ function cleanup(ctx) {
456
720
  ctx.bridgeSocket.close();
457
721
  if (ctx.claudeProcess && !ctx.claudeProcess.killed)
458
722
  ctx.claudeProcess.kill('SIGTERM');
723
+ restoreTerminal();
459
724
  }
460
725
  //# sourceMappingURL=core.js.map
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minivibe",
3
- "version": "0.2.21",
3
+ "version": "0.2.36",
4
4
  "description": "CLI wrapper for Claude Code with mobile remote control via MiniVibe iOS app",
5
5
  "author": "MiniVibe <hello@minivibeapp.com>",
6
6
  "homepage": "https://github.com/minivibeapp/minivibe",
@@ -36,7 +36,8 @@
36
36
  "prepublishOnly": "npm run build",
37
37
  "test": "vitest run",
38
38
  "test:watch": "vitest",
39
- "typecheck": "tsc --noEmit"
39
+ "typecheck": "tsc --noEmit",
40
+ "dev": "npx tsx src/cli.ts"
40
41
  },
41
42
  "dependencies": {
42
43
  "uuid": "^9.0.0",