codebuff 1.0.283 → 1.0.285
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/cli-definitions.d.ts +9 -0
- package/dist/cli-definitions.js +54 -0
- package/dist/cli-definitions.js.map +1 -0
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +48 -51
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +16 -12
- package/dist/client.js +14 -0
- package/dist/client.js.map +1 -1
- package/dist/code-map/tsconfig.tsbuildinfo +1 -1
- package/dist/common/actions.d.ts +64 -64
- package/dist/common/analytics.js +7 -1
- package/dist/common/analytics.js.map +1 -1
- package/dist/common/constants/analytics-events.d.ts +2 -1
- package/dist/common/constants/analytics-events.js +2 -0
- package/dist/common/constants/analytics-events.js.map +1 -1
- package/dist/common/db/schema.js +1 -0
- package/dist/common/db/schema.js.map +1 -1
- package/dist/common/types/agent-state.d.ts +8 -8
- package/dist/common/types/message.d.ts +6 -6
- package/dist/common/types/usage.d.ts +2 -2
- package/dist/common/util/credentials.d.ts +2 -2
- package/dist/common/util/random.d.ts +1 -0
- package/dist/common/util/random.js +17 -0
- package/dist/common/util/random.js.map +1 -0
- package/dist/common/util/saxy.js +2 -6
- package/dist/common/util/saxy.js.map +1 -1
- package/dist/common/util/string.js +4 -4
- package/dist/common/util/string.js.map +1 -1
- package/dist/common/websockets/websocket-schema.d.ts +120 -120
- package/dist/index.js +28 -30
- package/dist/index.js.map +1 -1
- package/dist/menu.js +94 -52
- package/dist/menu.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli-handlers/initialization-flow.d.ts +0 -1
- package/dist/cli-handlers/initialization-flow.js +0 -24
- package/dist/cli-handlers/initialization-flow.js.map +0 -1
- package/dist/cli-modules/command-processor.d.ts +0 -2
- package/dist/cli-modules/command-processor.js +0 -112
- package/dist/cli-modules/command-processor.js.map +0 -1
- package/dist/cli-modules/input-handler.d.ts +0 -4
- package/dist/cli-modules/input-handler.js +0 -75
- package/dist/cli-modules/input-handler.js.map +0 -1
- package/dist/cli-modules/readline-handler.d.ts +0 -11
- package/dist/cli-modules/readline-handler.js +0 -158
- package/dist/cli-modules/readline-handler.js.map +0 -1
- package/dist/cli-modules/signal-handler.d.ts +0 -7
- package/dist/cli-modules/signal-handler.js +0 -128
- package/dist/cli-modules/signal-handler.js.map +0 -1
- package/dist/cli-modules/types.d.ts +0 -51
- package/dist/cli-modules/types.js +0 -3
- package/dist/cli-modules/types.js.map +0 -1
- package/dist/cli-modules/websocket-handler.d.ts +0 -16
- package/dist/cli-modules/websocket-handler.js +0 -53
- package/dist/cli-modules/websocket-handler.js.map +0 -1
- package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts +0 -12
- package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts.map +0 -1
- package/dist/code-map/__mocks__/tree-sitter-typescript.js +0 -14
- package/dist/code-map/__mocks__/tree-sitter-typescript.js.map +0 -1
- package/dist/code-map/__mocks__/wasm-mock.d.ts +0 -2
- package/dist/code-map/__mocks__/wasm-mock.d.ts.map +0 -1
- package/dist/code-map/__mocks__/wasm-mock.js +0 -3
- package/dist/code-map/__mocks__/wasm-mock.js.map +0 -1
- package/dist/code-map/__tests__/parse.test.d.ts +0 -2
- package/dist/code-map/__tests__/parse.test.d.ts.map +0 -1
- package/dist/code-map/__tests__/parse.test.js +0 -231
- package/dist/code-map/__tests__/parse.test.js.map +0 -1
- package/dist/code-map/__tests__/test-langs/consumer.d.ts +0 -2
- package/dist/code-map/__tests__/test-langs/consumer.d.ts.map +0 -1
- package/dist/code-map/__tests__/test-langs/consumer.js +0 -6
- package/dist/code-map/__tests__/test-langs/consumer.js.map +0 -1
- package/dist/code-map/__tests__/test-langs/empty.d.ts +0 -1
- package/dist/code-map/__tests__/test-langs/empty.d.ts.map +0 -1
- package/dist/code-map/__tests__/test-langs/empty.js +0 -2
- package/dist/code-map/__tests__/test-langs/empty.js.map +0 -1
- package/dist/code-map/__tests__/test-langs/test.d.ts +0 -12
- package/dist/code-map/__tests__/test-langs/test.d.ts.map +0 -1
- package/dist/code-map/__tests__/test-langs/test.js +0 -23
- package/dist/code-map/__tests__/test-langs/test.js.map +0 -1
- package/dist/code-map/__tests__/test-langs/unused.d.ts +0 -2
- package/dist/code-map/__tests__/test-langs/unused.d.ts.map +0 -1
- package/dist/code-map/__tests__/test-langs/unused.js +0 -7
- package/dist/code-map/__tests__/test-langs/unused.js.map +0 -1
- package/dist/code-map/__tests__/test-langs/utils1.d.ts +0 -2
- package/dist/code-map/__tests__/test-langs/utils1.d.ts.map +0 -1
- package/dist/code-map/__tests__/test-langs/utils1.js +0 -7
- package/dist/code-map/__tests__/test-langs/utils1.js.map +0 -1
- package/dist/code-map/__tests__/test-langs/utils2.d.ts +0 -2
- package/dist/code-map/__tests__/test-langs/utils2.d.ts.map +0 -1
- package/dist/code-map/__tests__/test-langs/utils2.js +0 -8
- package/dist/code-map/__tests__/test-langs/utils2.js.map +0 -1
- package/dist/code-map/__tests__/tree-sitter-minimal.test.d.ts +0 -2
- package/dist/code-map/__tests__/tree-sitter-minimal.test.d.ts.map +0 -1
- package/dist/code-map/__tests__/tree-sitter-minimal.test.js +0 -79
- package/dist/code-map/__tests__/tree-sitter-minimal.test.js.map +0 -1
- package/dist/code-map/jest.config.d.ts +0 -4
- package/dist/code-map/jest.config.d.ts.map +0 -1
- package/dist/code-map/jest.config.js +0 -18
- package/dist/code-map/jest.config.js.map +0 -1
- package/dist/code-map/parse.test.d.ts +0 -2
- package/dist/code-map/parse.test.d.ts.map +0 -1
- package/dist/code-map/parse.test.js +0 -218
- package/dist/code-map/parse.test.js.map +0 -1
- package/dist/code-map/scripts/tree-sitter-test.cjs +0 -27
- package/dist/code-map/scripts/tree-sitter-test.cjs.map +0 -1
- package/dist/code-map/scripts/tree-sitter-test.d.cts +0 -2
- package/dist/code-map/scripts/tree-sitter-test.d.cts.map +0 -1
- package/dist/code-map/scripts/tree-sitter-test.d.ts +0 -2
- package/dist/code-map/scripts/tree-sitter-test.d.ts.map +0 -1
- package/dist/code-map/scripts/tree-sitter-test.js +0 -54
- package/dist/code-map/scripts/tree-sitter-test.js.map +0 -1
- package/dist/code-map/test-parser.d.ts +0 -2
- package/dist/code-map/test-parser.d.ts.map +0 -1
- package/dist/code-map/test-parser.js +0 -42
- package/dist/code-map/test-parser.js.map +0 -1
- package/dist/common/bigquery/client.d.ts +0 -15
- package/dist/common/bigquery/client.js +0 -265
- package/dist/common/bigquery/client.js.map +0 -1
- package/dist/common/bigquery/schema.d.ts +0 -55
- package/dist/common/bigquery/schema.js +0 -24
- package/dist/common/bigquery/schema.js.map +0 -1
- package/dist/common/util/file-metadata.d.ts +0 -9
- package/dist/common/util/file-metadata.js +0 -24
- package/dist/common/util/file-metadata.js.map +0 -1
|
@@ -1,158 +0,0 @@
|
|
|
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 (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.loadHistory = loadHistory;
|
|
30
|
-
exports.appendToHistory = appendToHistory;
|
|
31
|
-
exports.filePathCompleter = filePathCompleter;
|
|
32
|
-
exports.setPrompt = setPrompt;
|
|
33
|
-
exports.freshPrompt = freshPrompt;
|
|
34
|
-
exports.initReadline = initReadline;
|
|
35
|
-
const fs_1 = __importDefault(require("fs"));
|
|
36
|
-
const path_1 = __importStar(require("path"));
|
|
37
|
-
const readline = __importStar(require("readline"));
|
|
38
|
-
const os = __importStar(require("os"));
|
|
39
|
-
const os_1 = require("os");
|
|
40
|
-
const fs_2 = require("fs");
|
|
41
|
-
const picocolors_1 = require("picocolors");
|
|
42
|
-
const lodash_1 = require("lodash");
|
|
43
|
-
const credentials_1 = require("../credentials");
|
|
44
|
-
const project_files_1 = require("../project-files");
|
|
45
|
-
const spinner_1 = require("../utils/spinner");
|
|
46
|
-
const display_1 = require("../display");
|
|
47
|
-
const PROMPT_HISTORY_PATH = path_1.default.join(credentials_1.CONFIG_DIR, 'prompt_history.json');
|
|
48
|
-
function loadHistory() {
|
|
49
|
-
try {
|
|
50
|
-
if (fs_1.default.existsSync(PROMPT_HISTORY_PATH)) {
|
|
51
|
-
const content = fs_1.default.readFileSync(PROMPT_HISTORY_PATH, 'utf8');
|
|
52
|
-
const history = JSON.parse(content);
|
|
53
|
-
return (0, lodash_1.uniq)(history.filter((line) => line.trim())).reverse();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
console.error('Error loading prompt history:', error);
|
|
58
|
-
fs_1.default.writeFileSync(PROMPT_HISTORY_PATH, '[]');
|
|
59
|
-
}
|
|
60
|
-
return [];
|
|
61
|
-
}
|
|
62
|
-
function appendToHistory(line) {
|
|
63
|
-
try {
|
|
64
|
-
let history = [];
|
|
65
|
-
if (fs_1.default.existsSync(PROMPT_HISTORY_PATH)) {
|
|
66
|
-
const content = fs_1.default.readFileSync(PROMPT_HISTORY_PATH, 'utf8');
|
|
67
|
-
history = JSON.parse(content);
|
|
68
|
-
}
|
|
69
|
-
if (line.trim() && !history.includes(line)) {
|
|
70
|
-
history.push(line);
|
|
71
|
-
fs_1.default.writeFileSync(PROMPT_HISTORY_PATH, JSON.stringify(history, null, 2));
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
console.error('Error appending to prompt history:', error);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
function filePathCompleter(line) {
|
|
79
|
-
const lastWord = line.split(' ').pop() || '';
|
|
80
|
-
const input = lastWord.startsWith('~')
|
|
81
|
-
? (0, os_1.homedir)() + lastWord.slice(1)
|
|
82
|
-
: lastWord;
|
|
83
|
-
const directorySuffix = process.platform === 'win32' ? '\\' : '/';
|
|
84
|
-
const dir = input.endsWith(directorySuffix)
|
|
85
|
-
? input.slice(0, input.length - 1)
|
|
86
|
-
: (0, path_1.dirname)(input);
|
|
87
|
-
const partial = input.endsWith(directorySuffix) ? '' : (0, path_1.basename)(input);
|
|
88
|
-
let baseDir = (0, path_1.isAbsolute)(dir) ? dir : path_1.default.join((0, project_files_1.getWorkingDirectory)(), dir);
|
|
89
|
-
try {
|
|
90
|
-
const files = (0, fs_2.readdirSync)(baseDir);
|
|
91
|
-
const matches = files
|
|
92
|
-
.filter((file) => file.startsWith(partial))
|
|
93
|
-
.map((file) => file + ((0, project_files_1.isDir)(path_1.default.join(baseDir, file)) ? directorySuffix : ''));
|
|
94
|
-
return [matches, partial];
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
return [[], line];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
function setPrompt(rl) {
|
|
101
|
-
const projectRoot = (0, project_files_1.getProjectRoot)();
|
|
102
|
-
const cwd = (0, project_files_1.getWorkingDirectory)();
|
|
103
|
-
const projectDirName = path_1.default.parse(projectRoot).base;
|
|
104
|
-
const ps1Dir = projectDirName +
|
|
105
|
-
(cwd === projectRoot
|
|
106
|
-
? ''
|
|
107
|
-
: (os.platform() === 'win32' ? '\\' : '/') +
|
|
108
|
-
path_1.default.relative(projectRoot, cwd));
|
|
109
|
-
rl.setPrompt((0, picocolors_1.green)(`${ps1Dir} > `));
|
|
110
|
-
}
|
|
111
|
-
function freshPrompt(rl, client, // Pass client instance
|
|
112
|
-
shouldReconnectWhenIdle, // Pass this state
|
|
113
|
-
onReconnect, // Callback for reconnection
|
|
114
|
-
userInput = '') {
|
|
115
|
-
spinner_1.Spinner.get().stop();
|
|
116
|
-
// this.isReceivingResponse = false; // This state will be managed in CLI class
|
|
117
|
-
if (shouldReconnectWhenIdle) {
|
|
118
|
-
client.reconnect(); // Call client's reconnect method
|
|
119
|
-
onReconnect(); // Call the passed onReconnect callback
|
|
120
|
-
}
|
|
121
|
-
readline.cursorTo(process.stdout, 0);
|
|
122
|
-
const rlAny = rl;
|
|
123
|
-
if (client.pendingTopUpMessageAmount > 0) {
|
|
124
|
-
console.log('\n\n' +
|
|
125
|
-
(0, picocolors_1.green)(`Auto top-up successful! ${client.pendingTopUpMessageAmount.toLocaleString()} credits added.`) +
|
|
126
|
-
'\n');
|
|
127
|
-
client.pendingTopUpMessageAmount = 0;
|
|
128
|
-
}
|
|
129
|
-
rlAny.line = '';
|
|
130
|
-
setPrompt(rl);
|
|
131
|
-
rl.prompt();
|
|
132
|
-
(0, display_1.disableSquashNewlines)();
|
|
133
|
-
if (!userInput) {
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
rl.write(' '.repeat(userInput.length));
|
|
137
|
-
rlAny.line = userInput;
|
|
138
|
-
rlAny._refreshLine();
|
|
139
|
-
}
|
|
140
|
-
function initReadline(cliInstance // Using 'any' for now, will refine later
|
|
141
|
-
) {
|
|
142
|
-
const rl = readline.createInterface({
|
|
143
|
-
input: process.stdin,
|
|
144
|
-
output: process.stdout,
|
|
145
|
-
historySize: 1000,
|
|
146
|
-
terminal: true,
|
|
147
|
-
completer: filePathCompleter,
|
|
148
|
-
});
|
|
149
|
-
const history = loadHistory();
|
|
150
|
-
rl.history.push(...history);
|
|
151
|
-
// Event handlers will be attached in the CLI class or a dedicated input handler module
|
|
152
|
-
// rl.on('line', (line) => cliInstance.handleLine(line));
|
|
153
|
-
// rl.on('SIGINT', async () => await cliInstance.handleSigint());
|
|
154
|
-
// rl.on('close', async () => await cliInstance.handleExit());
|
|
155
|
-
// process.stdin.on('keypress', (str, key) => cliInstance.handleKeyPress(str, key));
|
|
156
|
-
return rl;
|
|
157
|
-
}
|
|
158
|
-
//# sourceMappingURL=readline-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"readline-handler.js","sourceRoot":"","sources":["../../src/cli-modules/readline-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { CLI } from '../cli';
|
|
2
|
-
export declare function handleStopResponse(cli: CLI): void;
|
|
3
|
-
export declare function handleExit(cli: CLI): Promise<void>;
|
|
4
|
-
export declare function handleSigint(cli: CLI): Promise<void>;
|
|
5
|
-
export declare function handleEscKey(cli: CLI): void;
|
|
6
|
-
export declare function setupSignalHandlers(cli: CLI): void;
|
|
7
|
-
export declare function attachCliBehaviorEventHandlers(cli: CLI): void;
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleStopResponse = handleStopResponse;
|
|
4
|
-
exports.handleExit = handleExit;
|
|
5
|
-
exports.handleSigint = handleSigint;
|
|
6
|
-
exports.handleEscKey = handleEscKey;
|
|
7
|
-
exports.setupSignalHandlers = setupSignalHandlers;
|
|
8
|
-
exports.attachCliBehaviorEventHandlers = attachCliBehaviorEventHandlers;
|
|
9
|
-
const picocolors_1 = require("picocolors");
|
|
10
|
-
const string_1 = require("../common/util/string");
|
|
11
|
-
const background_process_manager_1 = require("../background-process-manager");
|
|
12
|
-
const analytics_1 = require("../utils/analytics");
|
|
13
|
-
const spinner_1 = require("../utils/spinner");
|
|
14
|
-
const terminal_1 = require("../utils/terminal");
|
|
15
|
-
const project_files_1 = require("../project-files");
|
|
16
|
-
// Helper function to access CLI properties safely
|
|
17
|
-
function getCliProperties(cli) {
|
|
18
|
-
return {
|
|
19
|
-
rl: cli.rl,
|
|
20
|
-
isReceivingResponse: cli.isReceivingResponse,
|
|
21
|
-
stopResponse: cli.stopResponse,
|
|
22
|
-
client: cli.client,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
let lastSigintTime = 0;
|
|
26
|
-
function handleStopResponse(cli) {
|
|
27
|
-
console.log((0, picocolors_1.yellow)('\n[Response stopped by user]'));
|
|
28
|
-
cli.isReceivingResponse = false;
|
|
29
|
-
if (cli.stopResponse) {
|
|
30
|
-
cli.stopResponse();
|
|
31
|
-
cli.stopResponse = null;
|
|
32
|
-
}
|
|
33
|
-
spinner_1.Spinner.get().stop();
|
|
34
|
-
}
|
|
35
|
-
async function handleExit(cli) {
|
|
36
|
-
spinner_1.Spinner.get().restoreCursor();
|
|
37
|
-
process.removeAllListeners('unhandledRejection');
|
|
38
|
-
process.removeAllListeners('uncaughtException');
|
|
39
|
-
console.log('\n');
|
|
40
|
-
(0, terminal_1.killAndResetPersistentProcess)();
|
|
41
|
-
await (0, background_process_manager_1.killAllBackgroundProcesses)();
|
|
42
|
-
const logMessages = [];
|
|
43
|
-
const { client } = getCliProperties(cli);
|
|
44
|
-
if (client && client.creditsByPromptId && client.usageData) {
|
|
45
|
-
const totalCreditsUsedThisSession = Object.values(client.creditsByPromptId)
|
|
46
|
-
.flat()
|
|
47
|
-
.reduce((sum, credits) => sum + credits, 0);
|
|
48
|
-
logMessages.push(`${(0, string_1.pluralize)(totalCreditsUsedThisSession, 'credit')} used this session${client.usageData.remainingBalance !== null
|
|
49
|
-
? `, ${client.usageData.remainingBalance.toLocaleString()} credits left.`
|
|
50
|
-
: '.'}`);
|
|
51
|
-
if (client.usageData.next_quota_reset) {
|
|
52
|
-
const daysUntilReset = Math.ceil((new Date(client.usageData.next_quota_reset).getTime() - Date.now()) /
|
|
53
|
-
(1000 * 60 * 60 * 24));
|
|
54
|
-
logMessages.push(`Your free credits will reset in ${(0, string_1.pluralize)(daysUntilReset, 'day')}.`);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
logMessages.push("Exiting Codebuff.");
|
|
59
|
-
}
|
|
60
|
-
console.log(logMessages.join(' '));
|
|
61
|
-
await (0, analytics_1.flushAnalytics)();
|
|
62
|
-
process.exit(0);
|
|
63
|
-
}
|
|
64
|
-
async function handleSigint(cli) {
|
|
65
|
-
const { rl, isReceivingResponse } = getCliProperties(cli);
|
|
66
|
-
if ((0, terminal_1.isCommandRunning)()) {
|
|
67
|
-
(0, terminal_1.resetShell)((0, project_files_1.getProjectRoot)());
|
|
68
|
-
}
|
|
69
|
-
if ('line' in rl) {
|
|
70
|
-
rl.line = '';
|
|
71
|
-
}
|
|
72
|
-
if (isReceivingResponse) {
|
|
73
|
-
handleStopResponse(cli);
|
|
74
|
-
cli.freshPrompt();
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
const now = Date.now();
|
|
78
|
-
if (now - lastSigintTime < 5000) {
|
|
79
|
-
await handleExit(cli);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
lastSigintTime = now;
|
|
83
|
-
console.log('\nPress Ctrl-C again to exit');
|
|
84
|
-
cli.freshPrompt();
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
function handleEscKey(cli) {
|
|
89
|
-
const { isReceivingResponse } = getCliProperties(cli);
|
|
90
|
-
if (isReceivingResponse) {
|
|
91
|
-
handleStopResponse(cli);
|
|
92
|
-
cli.freshPrompt();
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
function setupSignalHandlers(cli) {
|
|
96
|
-
process.on('exit', () => {
|
|
97
|
-
spinner_1.Spinner.get().restoreCursor();
|
|
98
|
-
if (terminal_1.persistentProcess?.type === 'pty') {
|
|
99
|
-
terminal_1.persistentProcess.pty.kill();
|
|
100
|
-
}
|
|
101
|
-
(0, background_process_manager_1.sendKillSignalToAllBackgroundProcesses)();
|
|
102
|
-
});
|
|
103
|
-
for (const signal of ['SIGTERM', 'SIGHUP']) {
|
|
104
|
-
process.on(signal, async () => {
|
|
105
|
-
spinner_1.Spinner.get().restoreCursor();
|
|
106
|
-
await (0, background_process_manager_1.killAllBackgroundProcesses)();
|
|
107
|
-
await (0, analytics_1.flushAnalytics)();
|
|
108
|
-
process.exit(0);
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
process.on('SIGTSTP', async () => await handleExit(cli));
|
|
112
|
-
}
|
|
113
|
-
function attachCliBehaviorEventHandlers(cli) {
|
|
114
|
-
cli.rl.on('SIGINT', async () => await handleSigint(cli));
|
|
115
|
-
cli.rl.on('close', async () => await handleExit(cli));
|
|
116
|
-
process.stdin.on('keypress', (str, key) => {
|
|
117
|
-
if (key.name === 'escape') {
|
|
118
|
-
handleEscKey(cli);
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
// Dispatch other key presses to the CLI's central key press handler
|
|
122
|
-
if (cli.dispatchKeyPress) { // Check if method exists
|
|
123
|
-
cli.dispatchKeyPress(str, key);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=signal-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signal-handler.js","sourceRoot":"","sources":["../../src/cli-modules/signal-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Interface as ReadlineInterface } from 'readline';
|
|
2
|
-
import { Client } from '../client';
|
|
3
|
-
import { CostMode } from '../common/constants';
|
|
4
|
-
import { GitCommand } from '../types';
|
|
5
|
-
/**
|
|
6
|
-
* Base options interface that contains properties shared across multiple handlers
|
|
7
|
-
*/
|
|
8
|
-
export interface BaseHandlerOptions {
|
|
9
|
-
client: Client;
|
|
10
|
-
rl: ReadlineInterface;
|
|
11
|
-
freshPrompt: (userInput?: string) => void;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Options for ReadlineHandler initialization
|
|
15
|
-
*/
|
|
16
|
-
export interface ReadlineHandlerOptions extends BaseHandlerOptions {
|
|
17
|
-
historyPath: string;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Options for InputHandler initialization
|
|
21
|
-
*/
|
|
22
|
-
export interface InputHandlerOptions extends BaseHandlerOptions {
|
|
23
|
-
isReceivingResponse: boolean;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Options for CommandProcessor initialization
|
|
27
|
-
*/
|
|
28
|
-
export interface CommandProcessorOptions extends BaseHandlerOptions {
|
|
29
|
-
readyPromise: Promise<any>;
|
|
30
|
-
costMode: CostMode;
|
|
31
|
-
git: GitCommand;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Options for SignalHandler initialization
|
|
35
|
-
*/
|
|
36
|
-
export interface SignalHandlerOptions extends BaseHandlerOptions {
|
|
37
|
-
onExit: () => Promise<void>;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Options for WebSocketHandler initialization
|
|
41
|
-
*/
|
|
42
|
-
export interface WebSocketHandlerOptions extends BaseHandlerOptions {
|
|
43
|
-
isReceivingResponse: boolean;
|
|
44
|
-
shouldReconnectWhenIdle: boolean;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Common interface for all handlers
|
|
48
|
-
*/
|
|
49
|
-
export interface Handler {
|
|
50
|
-
cleanup?: () => Promise<void>;
|
|
51
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli-modules/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { WebSocketHandlerOptions, Handler } from './types';
|
|
2
|
-
export declare class WebSocketHandler implements Handler {
|
|
3
|
-
private client;
|
|
4
|
-
private freshPrompt;
|
|
5
|
-
private isReceivingResponse;
|
|
6
|
-
private shouldReconnectWhenIdle;
|
|
7
|
-
private stopResponse;
|
|
8
|
-
constructor(options: WebSocketHandlerOptions);
|
|
9
|
-
onError(): void;
|
|
10
|
-
onReconnect(): void;
|
|
11
|
-
reconnectWhenNextIdle(): void;
|
|
12
|
-
setStopResponse(stopResponse: (() => void) | null): void;
|
|
13
|
-
setIsReceivingResponse(value: boolean): void;
|
|
14
|
-
setShouldReconnectWhenIdle(value: boolean): void;
|
|
15
|
-
cleanup(): Promise<void>;
|
|
16
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WebSocketHandler = void 0;
|
|
4
|
-
const picocolors_1 = require("picocolors");
|
|
5
|
-
const spinner_1 = require("../utils/spinner");
|
|
6
|
-
class WebSocketHandler {
|
|
7
|
-
client;
|
|
8
|
-
freshPrompt;
|
|
9
|
-
isReceivingResponse;
|
|
10
|
-
shouldReconnectWhenIdle;
|
|
11
|
-
stopResponse = null;
|
|
12
|
-
constructor(options) {
|
|
13
|
-
this.client = options.client;
|
|
14
|
-
this.freshPrompt = options.freshPrompt;
|
|
15
|
-
this.isReceivingResponse = options.isReceivingResponse;
|
|
16
|
-
this.shouldReconnectWhenIdle = options.shouldReconnectWhenIdle;
|
|
17
|
-
}
|
|
18
|
-
onError() {
|
|
19
|
-
spinner_1.Spinner.get().stop();
|
|
20
|
-
this.isReceivingResponse = false;
|
|
21
|
-
if (this.stopResponse) {
|
|
22
|
-
this.stopResponse();
|
|
23
|
-
this.stopResponse = null;
|
|
24
|
-
}
|
|
25
|
-
console.error('\n' + (0, picocolors_1.yellow)('Could not connect. Retrying...'));
|
|
26
|
-
}
|
|
27
|
-
onReconnect() {
|
|
28
|
-
console.log('\n' + (0, picocolors_1.green)('Reconnected!'));
|
|
29
|
-
this.freshPrompt();
|
|
30
|
-
}
|
|
31
|
-
reconnectWhenNextIdle() {
|
|
32
|
-
if (!this.isReceivingResponse) {
|
|
33
|
-
this.client.reconnect();
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
this.shouldReconnectWhenIdle = true;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
setStopResponse(stopResponse) {
|
|
40
|
-
this.stopResponse = stopResponse;
|
|
41
|
-
}
|
|
42
|
-
setIsReceivingResponse(value) {
|
|
43
|
-
this.isReceivingResponse = value;
|
|
44
|
-
}
|
|
45
|
-
setShouldReconnectWhenIdle(value) {
|
|
46
|
-
this.shouldReconnectWhenIdle = value;
|
|
47
|
-
}
|
|
48
|
-
async cleanup() {
|
|
49
|
-
// Nothing to clean up for now
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.WebSocketHandler = WebSocketHandler;
|
|
53
|
-
//# sourceMappingURL=websocket-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-handler.js","sourceRoot":"","sources":["../../src/cli-modules/websocket-handler.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAC1C,8CAA0C;AAG1C,MAAa,gBAAgB;IACnB,MAAM,CAAmC;IACzC,WAAW,CAAwC;IACnD,mBAAmB,CAAS;IAC5B,uBAAuB,CAAS;IAChC,YAAY,GAAwB,IAAI,CAAA;IAEhD,YAAY,OAAgC;QAC1C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QACtC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;QACtD,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAA;IAChE,CAAC;IAEM,OAAO;QACZ,iBAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;QACpB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;QAChC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QAC1B,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,IAAA,mBAAM,EAAC,gCAAgC,CAAC,CAAC,CAAA;IAChE,CAAC;IAEM,WAAW;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,kBAAK,EAAC,cAAc,CAAC,CAAC,CAAA;QACzC,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAEM,qBAAqB;QAC1B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAA;QACrC,CAAC;IACH,CAAC;IAEM,eAAe,CAAC,YAAiC;QACtD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAEM,sBAAsB,CAAC,KAAc;QAC1C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;IAClC,CAAC;IAEM,0BAA0B,CAAC,KAAc;QAC9C,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAA;IACtC,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,8BAA8B;IAChC,CAAC;CACF;AApDD,4CAoDC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree-sitter-typescript.d.ts","sourceRoot":"","sources":["../../__mocks__/tree-sitter-typescript.js"],"names":[],"mappings":";;;QAGW;;;;;UAKL"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const typescript = {
|
|
3
|
-
name: 'typescript',
|
|
4
|
-
language: {
|
|
5
|
-
parse: () => ({
|
|
6
|
-
rootNode: {
|
|
7
|
-
toString: () => '(program (interface_declaration name: (type_identifier) body: (interface_body)))',
|
|
8
|
-
text: 'Greeter'
|
|
9
|
-
}
|
|
10
|
-
})
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
module.exports = { typescript };
|
|
14
|
-
//# sourceMappingURL=tree-sitter-typescript.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree-sitter-typescript.js","sourceRoot":"","sources":["../../__mocks__/tree-sitter-typescript.js"],"names":[],"mappings":";AAAA,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE;QACR,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACZ,QAAQ,EAAE;gBACR,QAAQ,EAAE,GAAG,EAAE,CAAC,kFAAkF;gBAClG,IAAI,EAAE,SAAS;aAChB;SACF,CAAC;KACH;CACF,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-mock.d.ts","sourceRoot":"","sources":["../../__mocks__/wasm-mock.js"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-mock.js","sourceRoot":"","sources":["../../__mocks__/wasm-mock.js"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse.test.d.ts","sourceRoot":"","sources":["../../__tests__/parse.test.ts"],"names":[],"mappings":""}
|