codebuff 1.0.155 → 1.0.159
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser-runner.d.ts +1 -0
- package/dist/browser-runner.js +92 -42
- package/dist/browser-runner.js.map +1 -1
- package/dist/cli.d.ts +0 -13
- package/dist/cli.js +11 -63
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +4 -4
- package/dist/client.js +3 -0
- package/dist/client.js.map +1 -1
- package/dist/common/actions.d.ts +136 -136
- package/dist/common/browser-actions.d.ts +54 -51
- package/dist/common/browser-actions.js +4 -1
- package/dist/common/browser-actions.js.map +1 -1
- package/dist/common/constants.d.ts +2 -2
- package/dist/common/constants.js +2 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/util/credentials.d.ts +4 -4
- package/dist/common/util/string.d.ts +11 -0
- package/dist/common/util/string.js +18 -1
- package/dist/common/util/string.js.map +1 -1
- package/dist/common/websockets/websocket-schema.d.ts +272 -272
- package/dist/tool-handlers.js +6 -1
- package/dist/tool-handlers.js.map +1 -1
- package/dist/utils/spinner.d.ts +10 -0
- package/dist/utils/spinner.js +76 -0
- package/dist/utils/spinner.js.map +1 -0
- package/package.json +2 -2
package/dist/browser-runner.d.ts
CHANGED
package/dist/browser-runner.js
CHANGED
|
@@ -27,8 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.activeBrowserRunner = exports.handleBrowserInstruction = exports.BrowserRunner = void 0;
|
|
30
|
-
const
|
|
31
|
-
const child_process_1 = require("child_process");
|
|
30
|
+
const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
|
|
32
31
|
const promise_1 = require("./common/util/promise");
|
|
33
32
|
const string_1 = require("./common/util/string");
|
|
34
33
|
const browser_actions_1 = require("./common/browser-actions");
|
|
@@ -127,6 +126,10 @@ class BrowserRunner {
|
|
|
127
126
|
try {
|
|
128
127
|
switch (action.type) {
|
|
129
128
|
case 'start':
|
|
129
|
+
await this.getBrowser(action);
|
|
130
|
+
if (!action.url) {
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
130
133
|
case 'navigate':
|
|
131
134
|
return await this.navigate({ ...action, type: 'navigate' });
|
|
132
135
|
case 'click':
|
|
@@ -210,7 +213,28 @@ class BrowserRunner {
|
|
|
210
213
|
source: 'tool',
|
|
211
214
|
});
|
|
212
215
|
}
|
|
213
|
-
async
|
|
216
|
+
async getBrowser(config) {
|
|
217
|
+
// Check if browser exists and is connected
|
|
218
|
+
if (!this.browser || !this.page) {
|
|
219
|
+
await this.startBrowser(config);
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
try {
|
|
223
|
+
// Test if browser is still responsive
|
|
224
|
+
await this.page.evaluate(() => true);
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
// Browser is dead or unresponsive, restart it
|
|
228
|
+
await this.shutdown();
|
|
229
|
+
await this.startBrowser(config);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
if (!this.browser || !this.page) {
|
|
233
|
+
throw new Error('Failed to initialize browser');
|
|
234
|
+
}
|
|
235
|
+
return { browser: this.browser, page: this.page };
|
|
236
|
+
}
|
|
237
|
+
async startBrowser(config) {
|
|
214
238
|
if (this.browser) {
|
|
215
239
|
await this.shutdown();
|
|
216
240
|
}
|
|
@@ -218,9 +242,9 @@ class BrowserRunner {
|
|
|
218
242
|
this.startTime = Date.now();
|
|
219
243
|
// Update session configuration
|
|
220
244
|
this.maxConsecutiveErrors =
|
|
221
|
-
|
|
245
|
+
config?.maxConsecutiveErrors ?? browser_actions_1.BROWSER_DEFAULTS.maxConsecutiveErrors;
|
|
222
246
|
this.totalErrorThreshold =
|
|
223
|
-
|
|
247
|
+
config?.totalErrorThreshold ?? browser_actions_1.BROWSER_DEFAULTS.totalErrorThreshold;
|
|
224
248
|
// Reset error counters
|
|
225
249
|
this.consecutiveErrors = 0;
|
|
226
250
|
this.totalErrors = 0;
|
|
@@ -232,25 +256,50 @@ class BrowserRunner {
|
|
|
232
256
|
}
|
|
233
257
|
catch (error) { }
|
|
234
258
|
try {
|
|
235
|
-
|
|
236
|
-
|
|
259
|
+
// Define helper to find Chrome in standard locations
|
|
260
|
+
const findChrome = () => {
|
|
261
|
+
switch (process.platform) {
|
|
262
|
+
case 'win32':
|
|
263
|
+
return 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe';
|
|
264
|
+
case 'darwin':
|
|
265
|
+
return '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
|
|
266
|
+
default:
|
|
267
|
+
return '/usr/bin/google-chrome';
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
this.browser = await puppeteer_core_1.default.launch({
|
|
271
|
+
defaultViewport: {
|
|
272
|
+
width: browser_actions_1.BROWSER_DEFAULTS.viewportWidth,
|
|
273
|
+
height: browser_actions_1.BROWSER_DEFAULTS.viewportHeight,
|
|
274
|
+
},
|
|
237
275
|
headless: browser_actions_1.BROWSER_DEFAULTS.headless,
|
|
238
276
|
userDataDir,
|
|
239
|
-
|
|
277
|
+
waitForInitialPage: true,
|
|
278
|
+
args: [
|
|
279
|
+
'--window-size=1200,800',
|
|
280
|
+
'--disable-backgrounding-occluded-windows',
|
|
281
|
+
'--disable-breakpad',
|
|
282
|
+
'--disable-sync',
|
|
283
|
+
'--no-sandbox',
|
|
284
|
+
'--no-first-run',
|
|
285
|
+
'--disable-session-crashed-bubble',
|
|
286
|
+
'--disable-restore-session-state',
|
|
287
|
+
'--hide-crash-restore-bubble',
|
|
288
|
+
'--noerrdialogs',
|
|
289
|
+
'--disable-infobars',
|
|
290
|
+
],
|
|
291
|
+
executablePath: findChrome(),
|
|
240
292
|
});
|
|
241
293
|
}
|
|
242
294
|
catch (error) {
|
|
243
|
-
// If launch fails,
|
|
244
|
-
console.log("Couldn't launch browser
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
userDataDir,
|
|
252
|
-
args: ['--no-sandbox', '--restore-last-session=false'],
|
|
253
|
-
});
|
|
295
|
+
// If launch fails, guide the user to install Google Chrome
|
|
296
|
+
console.log("Couldn't launch Chrome browser. Please ensure Google Chrome is installed on your system.");
|
|
297
|
+
return {
|
|
298
|
+
success: false,
|
|
299
|
+
error: 'Chrome browser not found. Please install Google Chrome to use browser features.',
|
|
300
|
+
logs: this.logs,
|
|
301
|
+
networkEvents: this.networkEvents,
|
|
302
|
+
};
|
|
254
303
|
}
|
|
255
304
|
this.logs.push({
|
|
256
305
|
type: 'info',
|
|
@@ -258,6 +307,7 @@ class BrowserRunner {
|
|
|
258
307
|
timestamp: Date.now(),
|
|
259
308
|
source: 'tool',
|
|
260
309
|
});
|
|
310
|
+
// Pick the first existing page or create a new one
|
|
261
311
|
const pages = await this.browser.pages();
|
|
262
312
|
this.page = pages.length > 0 ? pages[0] : await this.browser.newPage();
|
|
263
313
|
this.attachPageListeners();
|
|
@@ -269,17 +319,10 @@ class BrowserRunner {
|
|
|
269
319
|
};
|
|
270
320
|
}
|
|
271
321
|
async navigate(action) {
|
|
272
|
-
if (!this.browser) {
|
|
273
|
-
await this.startBrowser({
|
|
274
|
-
...action,
|
|
275
|
-
type: 'start',
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
if (!this.page)
|
|
279
|
-
throw new Error('No browser page found; call start first.');
|
|
280
322
|
try {
|
|
323
|
+
const { page } = await this.getBrowser(action);
|
|
281
324
|
const url = (0, string_1.ensureUrlProtocol)(action.url);
|
|
282
|
-
await
|
|
325
|
+
await page.goto(url, {
|
|
283
326
|
waitUntil: action.waitUntil ?? browser_actions_1.BROWSER_DEFAULTS.waitUntil,
|
|
284
327
|
timeout: action.timeout ?? browser_actions_1.BROWSER_DEFAULTS.timeout,
|
|
285
328
|
});
|
|
@@ -303,7 +346,6 @@ class BrowserRunner {
|
|
|
303
346
|
};
|
|
304
347
|
}
|
|
305
348
|
catch (error) {
|
|
306
|
-
// Explicitly type as any since we know we want to access .message
|
|
307
349
|
const errorMessage = error?.message || 'Unknown navigation error';
|
|
308
350
|
this.logs.push({
|
|
309
351
|
type: 'error',
|
|
@@ -320,23 +362,21 @@ class BrowserRunner {
|
|
|
320
362
|
}
|
|
321
363
|
}
|
|
322
364
|
async typeText(action) {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
await this.page.type(action.selector, action.text, {
|
|
365
|
+
const { page } = await this.getBrowser();
|
|
366
|
+
await page.type(action.selector, action.text, {
|
|
326
367
|
delay: action.delay ?? browser_actions_1.BROWSER_DEFAULTS.delay,
|
|
327
368
|
});
|
|
328
369
|
}
|
|
329
370
|
async scroll(action) {
|
|
330
|
-
|
|
331
|
-
throw new Error('No browser page found; call start first.');
|
|
371
|
+
const { page } = await this.getBrowser();
|
|
332
372
|
// Get viewport height
|
|
333
|
-
const viewport =
|
|
373
|
+
const viewport = page.viewport();
|
|
334
374
|
if (!viewport)
|
|
335
375
|
throw new Error('No viewport found');
|
|
336
376
|
// Default to scrolling down if no direction specified
|
|
337
377
|
const direction = action.direction ?? 'down';
|
|
338
378
|
const scrollAmount = direction === 'up' ? -viewport.height : viewport.height;
|
|
339
|
-
await
|
|
379
|
+
await page.evaluate((amount) => {
|
|
340
380
|
window.scrollBy(0, amount);
|
|
341
381
|
}, scrollAmount);
|
|
342
382
|
this.logs.push({
|
|
@@ -345,17 +385,23 @@ class BrowserRunner {
|
|
|
345
385
|
timestamp: Date.now(),
|
|
346
386
|
source: 'tool',
|
|
347
387
|
});
|
|
388
|
+
// Take a screenshot after navigation
|
|
389
|
+
const { screenshot, logs } = await this.takeScreenshot({
|
|
390
|
+
type: 'screenshot',
|
|
391
|
+
screenshotCompressionQuality: browser_actions_1.BROWSER_DEFAULTS.screenshotCompressionQuality,
|
|
392
|
+
});
|
|
393
|
+
this.logs.push(...logs);
|
|
348
394
|
return {
|
|
349
395
|
success: true,
|
|
350
|
-
logs:
|
|
396
|
+
logs: this.logs,
|
|
351
397
|
networkEvents: [],
|
|
398
|
+
screenshot,
|
|
352
399
|
};
|
|
353
400
|
}
|
|
354
401
|
async takeScreenshot(action) {
|
|
355
|
-
|
|
356
|
-
throw new Error('No browser page found; call start first.');
|
|
402
|
+
const { page } = await this.getBrowser();
|
|
357
403
|
// Take a screenshot with aggressive compression settings
|
|
358
|
-
const screenshot = await
|
|
404
|
+
const screenshot = await page.screenshot({
|
|
359
405
|
fullPage: browser_actions_1.BROWSER_DEFAULTS.fullPage, // action.fullPage ?? BROWSER_DEFAULTS.fullPage,
|
|
360
406
|
type: 'jpeg',
|
|
361
407
|
quality: action.screenshotCompressionQuality ??
|
|
@@ -575,15 +621,19 @@ class BrowserRunner {
|
|
|
575
621
|
return response;
|
|
576
622
|
}
|
|
577
623
|
catch (error) {
|
|
578
|
-
if (error.name === 'TargetClosedError'
|
|
624
|
+
if (error.name === 'TargetClosedError' ||
|
|
625
|
+
(error.message && error.message.includes('detached Frame'))) {
|
|
579
626
|
this.logs.push({
|
|
580
627
|
type: 'error',
|
|
581
|
-
message: 'Browser
|
|
628
|
+
message: 'Browser was closed or detached. Starting new session...',
|
|
582
629
|
timestamp: Date.now(),
|
|
583
630
|
category: 'browser',
|
|
584
631
|
source: 'tool',
|
|
585
632
|
});
|
|
586
633
|
await this.shutdown();
|
|
634
|
+
if (action.type !== 'stop') {
|
|
635
|
+
return this.executeWithRetry(action);
|
|
636
|
+
}
|
|
587
637
|
}
|
|
588
638
|
throw error;
|
|
589
639
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-runner.js","sourceRoot":"","sources":["../src/browser-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser-runner.js","sourceRoot":"","sources":["../src/browser-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ export declare class CLI {
|
|
|
9
9
|
private rl;
|
|
10
10
|
private isReceivingResponse;
|
|
11
11
|
private stopResponse;
|
|
12
|
-
private loadingInterval;
|
|
13
12
|
private lastChanges;
|
|
14
13
|
private lastSigintTime;
|
|
15
14
|
private lastInputTime;
|
|
@@ -25,15 +24,7 @@ export declare class CLI {
|
|
|
25
24
|
printDiff(): Promise<void>;
|
|
26
25
|
private handleLine;
|
|
27
26
|
private handleUserInput;
|
|
28
|
-
/**
|
|
29
|
-
* Checks if the input matches a built-in command.
|
|
30
|
-
* Returns true if the command has been handled.
|
|
31
|
-
*/
|
|
32
27
|
private processCommand;
|
|
33
|
-
/**
|
|
34
|
-
* Processes regular user input (non-command) by gathering file changes and scraped content,
|
|
35
|
-
* sending the consolidated user message, and then applying assistant response changes.
|
|
36
|
-
*/
|
|
37
28
|
private forwardUserInput;
|
|
38
29
|
private returnControlToUser;
|
|
39
30
|
private onWebSocketError;
|
|
@@ -43,10 +34,6 @@ export declare class CLI {
|
|
|
43
34
|
private handleRedo;
|
|
44
35
|
private navigateFileVersion;
|
|
45
36
|
private applyAndDisplayCurrentFileVersion;
|
|
46
|
-
private startLoadingAnimation;
|
|
47
|
-
private stopLoadingAnimation;
|
|
48
|
-
private rewriteLine;
|
|
49
|
-
private restoreCursor;
|
|
50
37
|
private handleKeyPress;
|
|
51
38
|
private handleSigint;
|
|
52
39
|
private handleEscKey;
|
package/dist/cli.js
CHANGED
|
@@ -42,6 +42,7 @@ const file_1 = require("./common/util/file");
|
|
|
42
42
|
const web_scraper_1 = require("./web-scraper");
|
|
43
43
|
const git_1 = require("./common/util/git");
|
|
44
44
|
const string_1 = require("./common/util/string");
|
|
45
|
+
const spinner_1 = require("./utils/spinner");
|
|
45
46
|
class CLI {
|
|
46
47
|
client;
|
|
47
48
|
chatStorage;
|
|
@@ -51,14 +52,12 @@ class CLI {
|
|
|
51
52
|
rl;
|
|
52
53
|
isReceivingResponse = false;
|
|
53
54
|
stopResponse = null;
|
|
54
|
-
loadingInterval = null;
|
|
55
55
|
lastChanges = [];
|
|
56
56
|
lastSigintTime = 0;
|
|
57
57
|
lastInputTime = 0;
|
|
58
58
|
consecutiveFastInputs = 0;
|
|
59
59
|
pastedContent = '';
|
|
60
60
|
isPasting = false;
|
|
61
|
-
// ==================== Initialization Methods ====================
|
|
62
61
|
constructor(readyPromise, { git, costMode }) {
|
|
63
62
|
this.git = git;
|
|
64
63
|
this.costMode = costMode;
|
|
@@ -77,9 +76,9 @@ class CLI {
|
|
|
77
76
|
this.setPrompt();
|
|
78
77
|
}
|
|
79
78
|
setupSignalHandlers() {
|
|
80
|
-
process.on('exit', () =>
|
|
79
|
+
process.on('exit', () => spinner_1.Spinner.get().restoreCursor());
|
|
81
80
|
process.on('SIGTERM', () => {
|
|
82
|
-
|
|
81
|
+
spinner_1.Spinner.get().restoreCursor();
|
|
83
82
|
process.exit(0);
|
|
84
83
|
});
|
|
85
84
|
process.on('SIGTSTP', () => this.handleExit());
|
|
@@ -131,7 +130,6 @@ class CLI {
|
|
|
131
130
|
setPrompt() {
|
|
132
131
|
this.rl.setPrompt((0, picocolors_1.green)(`${(0, path_1.parse)((0, project_files_1.getProjectRoot)()).base} > `));
|
|
133
132
|
}
|
|
134
|
-
// ==================== Public Methods ====================
|
|
135
133
|
async printInitialPrompt(initialInput) {
|
|
136
134
|
if (this.client.user) {
|
|
137
135
|
(0, menu_1.displayGreeting)(this.costMode, this.client.user.name);
|
|
@@ -151,7 +149,6 @@ class CLI {
|
|
|
151
149
|
this.handleDiff();
|
|
152
150
|
this.rl.prompt();
|
|
153
151
|
}
|
|
154
|
-
// ==================== Input Handling Methods ====================
|
|
155
152
|
async handleLine(line) {
|
|
156
153
|
this.detectPasting();
|
|
157
154
|
if (this.isPasting) {
|
|
@@ -176,10 +173,6 @@ class CLI {
|
|
|
176
173
|
}
|
|
177
174
|
await this.forwardUserInput(userInput);
|
|
178
175
|
}
|
|
179
|
-
/**
|
|
180
|
-
* Checks if the input matches a built-in command.
|
|
181
|
-
* Returns true if the command has been handled.
|
|
182
|
-
*/
|
|
183
176
|
async processCommand(userInput) {
|
|
184
177
|
if (userInput === 'help' || userInput === 'h') {
|
|
185
178
|
(0, menu_1.displayMenu)();
|
|
@@ -243,12 +236,8 @@ class CLI {
|
|
|
243
236
|
}
|
|
244
237
|
return false;
|
|
245
238
|
}
|
|
246
|
-
/**
|
|
247
|
-
* Processes regular user input (non-command) by gathering file changes and scraped content,
|
|
248
|
-
* sending the consolidated user message, and then applying assistant response changes.
|
|
249
|
-
*/
|
|
250
239
|
async forwardUserInput(userInput) {
|
|
251
|
-
|
|
240
|
+
spinner_1.Spinner.get().start();
|
|
252
241
|
await this.readyPromise;
|
|
253
242
|
const currentChat = this.chatStorage.getCurrentChat();
|
|
254
243
|
const { fileVersions } = currentChat;
|
|
@@ -276,11 +265,10 @@ class CLI {
|
|
|
276
265
|
this.isReceivingResponse = true;
|
|
277
266
|
const { response, changes, changesAlreadyApplied } = await this.sendUserInputAndAwaitResponse();
|
|
278
267
|
this.isReceivingResponse = false;
|
|
279
|
-
|
|
268
|
+
spinner_1.Spinner.get().stop();
|
|
280
269
|
const allChanges = [...changesAlreadyApplied, ...changes];
|
|
281
270
|
const filesChanged = (0, lodash_1.uniq)(allChanges.map((change) => change.filePath));
|
|
282
271
|
const allFilesChanged = this.chatStorage.saveFilesChanged(filesChanged);
|
|
283
|
-
// Stage files about to be changed if flag was set
|
|
284
272
|
if (this.git === 'stage' && changes.length > 0) {
|
|
285
273
|
const didStage = (0, git_1.stagePatches)((0, project_files_1.getProjectRoot)(), changes);
|
|
286
274
|
if (didStage) {
|
|
@@ -315,17 +303,16 @@ class CLI {
|
|
|
315
303
|
this.chatStorage.addNewFileState(updatedFiles);
|
|
316
304
|
this.rl.prompt();
|
|
317
305
|
}
|
|
318
|
-
// ==================== WebSocket and Response Handling ====================
|
|
319
306
|
returnControlToUser() {
|
|
320
307
|
this.rl.prompt();
|
|
321
308
|
this.isReceivingResponse = false;
|
|
322
309
|
if (this.stopResponse) {
|
|
323
310
|
this.stopResponse();
|
|
324
311
|
}
|
|
325
|
-
|
|
312
|
+
spinner_1.Spinner.get().stop();
|
|
326
313
|
}
|
|
327
314
|
onWebSocketError() {
|
|
328
|
-
|
|
315
|
+
spinner_1.Spinner.get().stop();
|
|
329
316
|
this.isReceivingResponse = false;
|
|
330
317
|
if (this.stopResponse) {
|
|
331
318
|
this.stopResponse();
|
|
@@ -340,9 +327,10 @@ class CLI {
|
|
|
340
327
|
async sendUserInputAndAwaitResponse() {
|
|
341
328
|
const userInputId = `mc-input-` + Math.random().toString(36).substring(2, 15);
|
|
342
329
|
const { responsePromise, stopResponse } = this.client.subscribeToResponse((chunk) => {
|
|
330
|
+
spinner_1.Spinner.get().stop();
|
|
343
331
|
process.stdout.write(chunk);
|
|
344
332
|
}, userInputId, () => {
|
|
345
|
-
|
|
333
|
+
spinner_1.Spinner.get().stop();
|
|
346
334
|
process.stdout.write((0, picocolors_1.green)((0, picocolors_1.underline)('\nCodebuff') + ':') + ' ');
|
|
347
335
|
});
|
|
348
336
|
this.stopResponse = stopResponse;
|
|
@@ -351,7 +339,6 @@ class CLI {
|
|
|
351
339
|
this.stopResponse = null;
|
|
352
340
|
return result;
|
|
353
341
|
}
|
|
354
|
-
// ==================== File Version Navigation ====================
|
|
355
342
|
handleUndo() {
|
|
356
343
|
this.navigateFileVersion('undo');
|
|
357
344
|
this.rl.prompt();
|
|
@@ -385,44 +372,10 @@ class CLI {
|
|
|
385
372
|
}
|
|
386
373
|
return {};
|
|
387
374
|
}
|
|
388
|
-
// ==================== Terminal Animation and Cursor Management ====================
|
|
389
|
-
startLoadingAnimation() {
|
|
390
|
-
const chars = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
391
|
-
let i = 0;
|
|
392
|
-
// Hide cursor while spinner is active
|
|
393
|
-
process.stdout.write('\u001B[?25l');
|
|
394
|
-
this.loadingInterval = setInterval(() => {
|
|
395
|
-
this.rewriteLine((0, picocolors_1.green)(`${chars[i]} Thinking...`));
|
|
396
|
-
i = (i + 1) % chars.length;
|
|
397
|
-
}, 100);
|
|
398
|
-
}
|
|
399
|
-
stopLoadingAnimation() {
|
|
400
|
-
if (this.loadingInterval) {
|
|
401
|
-
clearInterval(this.loadingInterval);
|
|
402
|
-
this.loadingInterval = null;
|
|
403
|
-
this.rewriteLine(''); // Clear the spinner line
|
|
404
|
-
this.restoreCursor(); // Show cursor after spinner stops
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
rewriteLine(line) {
|
|
408
|
-
if (process.stdout.isTTY) {
|
|
409
|
-
readline.clearLine(process.stdout, 0);
|
|
410
|
-
readline.cursorTo(process.stdout, 0);
|
|
411
|
-
process.stdout.write(line);
|
|
412
|
-
}
|
|
413
|
-
else {
|
|
414
|
-
process.stdout.write(line + '\n');
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
restoreCursor() {
|
|
418
|
-
process.stdout.write('\u001B[?25h');
|
|
419
|
-
}
|
|
420
|
-
// ==================== Keyboard and SIGINT Handling ====================
|
|
421
375
|
handleKeyPress(str, key) {
|
|
422
376
|
if (key.name === 'escape') {
|
|
423
377
|
this.handleEscKey();
|
|
424
378
|
}
|
|
425
|
-
// Convert double spaces into newlines
|
|
426
379
|
if (!this.isPasting &&
|
|
427
380
|
str === ' ' &&
|
|
428
381
|
'_refreshLine' in this.rl &&
|
|
@@ -472,12 +425,10 @@ class CLI {
|
|
|
472
425
|
if (this.stopResponse) {
|
|
473
426
|
this.stopResponse();
|
|
474
427
|
}
|
|
475
|
-
|
|
476
|
-
this.restoreCursor();
|
|
428
|
+
spinner_1.Spinner.get().stop();
|
|
477
429
|
}
|
|
478
|
-
// ==================== Exit Handling ====================
|
|
479
430
|
handleExit() {
|
|
480
|
-
|
|
431
|
+
spinner_1.Spinner.get().restoreCursor();
|
|
481
432
|
console.log('\n\n');
|
|
482
433
|
console.log(`${(0, string_1.pluralize)(this.client.sessionCreditsUsed, 'credit')} used this session.`);
|
|
483
434
|
if (this.client.limit && this.client.usage && this.client.nextQuotaReset) {
|
|
@@ -488,7 +439,6 @@ class CLI {
|
|
|
488
439
|
console.log((0, picocolors_1.green)('Codebuff out!'));
|
|
489
440
|
process.exit(0);
|
|
490
441
|
}
|
|
491
|
-
// ==================== Pasting Detection ====================
|
|
492
442
|
detectPasting() {
|
|
493
443
|
const currentTime = Date.now();
|
|
494
444
|
const timeDiff = currentTime - this.lastInputTime;
|
|
@@ -506,7 +456,6 @@ class CLI {
|
|
|
506
456
|
}
|
|
507
457
|
this.lastInputTime = currentTime;
|
|
508
458
|
}
|
|
509
|
-
// ==================== Auto Commit Handling ====================
|
|
510
459
|
async autoCommitChanges() {
|
|
511
460
|
if ((0, git_1.hasStagedChanges)()) {
|
|
512
461
|
const stagedChanges = (0, git_1.getStagedChanges)();
|
|
@@ -518,7 +467,6 @@ class CLI {
|
|
|
518
467
|
}
|
|
519
468
|
return undefined;
|
|
520
469
|
}
|
|
521
|
-
// ==================== Diff Handling ====================
|
|
522
470
|
handleDiff() {
|
|
523
471
|
if (this.lastChanges.length === 0) {
|
|
524
472
|
console.log((0, picocolors_1.yellow)('No changes found in the last assistant response.'));
|