@serjm/deepseek-code 0.4.2 → 0.4.5
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/CHANGELOG.md +75 -0
- package/README.md +72 -108
- package/README.ru.md +73 -108
- package/dist/api/index.d.ts +9 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +65 -2
- package/dist/api/index.js.map +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +15 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/interactive.d.ts.map +1 -1
- package/dist/cli/interactive.js +65 -3
- package/dist/cli/interactive.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +63 -41
- package/dist/commands/index.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +8 -7
- package/dist/config/defaults.js.map +1 -1
- package/dist/core/agent-loop.d.ts +44 -2
- package/dist/core/agent-loop.d.ts.map +1 -1
- package/dist/core/agent-loop.js +318 -59
- package/dist/core/agent-loop.js.map +1 -1
- package/dist/core/i18n.d.ts +3 -0
- package/dist/core/i18n.d.ts.map +1 -1
- package/dist/core/i18n.js +9 -0
- package/dist/core/i18n.js.map +1 -1
- package/dist/core/metrics.d.ts +3 -1
- package/dist/core/metrics.d.ts.map +1 -1
- package/dist/core/metrics.js +34 -5
- package/dist/core/metrics.js.map +1 -1
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +299 -20
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/chrome.d.ts.map +1 -1
- package/dist/tools/chrome.js +1 -0
- package/dist/tools/chrome.js.map +1 -1
- package/dist/tools/glob.d.ts.map +1 -1
- package/dist/tools/glob.js +40 -3
- package/dist/tools/glob.js.map +1 -1
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +69 -13
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +91 -0
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/types.d.ts +21 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +34 -0
- package/dist/tools/types.js.map +1 -1
- package/dist/ui/app.d.ts.map +1 -1
- package/dist/ui/app.js +234 -162
- package/dist/ui/app.js.map +1 -1
- package/dist/ui/chat-view.d.ts +24 -3
- package/dist/ui/chat-view.d.ts.map +1 -1
- package/dist/ui/chat-view.js +116 -58
- package/dist/ui/chat-view.js.map +1 -1
- package/dist/ui/input-bar.d.ts.map +1 -1
- package/dist/ui/input-bar.js +38 -4
- package/dist/ui/input-bar.js.map +1 -1
- package/dist/ui/setup-wizard.js +1 -1
- package/dist/ui/setup-wizard.js.map +1 -1
- package/dist/ui/status-bar.d.ts +5 -1
- package/dist/ui/status-bar.d.ts.map +1 -1
- package/dist/ui/status-bar.js +10 -4
- package/dist/ui/status-bar.js.map +1 -1
- package/dist/utils/logger.d.ts +15 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +47 -0
- package/dist/utils/logger.js.map +1 -1
- package/package.json +3 -2
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGnD,YAAY,EAAE,UAAU,EAAE,CAAA;AAE1B,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;AAErD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,OAAO,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;CACpD;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
package/dist/api/index.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import OpenAI from 'openai';
|
|
2
|
-
//
|
|
2
|
+
// Retry helpers
|
|
3
3
|
const MAX_RETRY_ATTEMPTS = 3;
|
|
4
4
|
const STREAM_CHUNK_TIMEOUT_MS = 60_000;
|
|
5
|
+
export class StreamTimeoutError extends Error {
|
|
6
|
+
constructor(timeoutMs) {
|
|
7
|
+
super(`Stream timeout: no data received for ${timeoutMs / 1000}s`);
|
|
8
|
+
this.name = 'StreamTimeoutError';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
5
11
|
function sleep(ms) {
|
|
6
12
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
7
13
|
}
|
|
@@ -46,13 +52,20 @@ export class DeepSeekAPI {
|
|
|
46
52
|
...buildMessages(messages),
|
|
47
53
|
];
|
|
48
54
|
const timeoutController = new AbortController();
|
|
55
|
+
let timeoutError;
|
|
49
56
|
let chunkTimer;
|
|
50
57
|
const resetChunkTimer = () => {
|
|
51
58
|
clearTimeout(chunkTimer);
|
|
52
59
|
chunkTimer = setTimeout(() => {
|
|
53
|
-
|
|
60
|
+
timeoutError = new StreamTimeoutError(STREAM_CHUNK_TIMEOUT_MS);
|
|
61
|
+
timeoutController.abort(timeoutError);
|
|
54
62
|
}, STREAM_CHUNK_TIMEOUT_MS);
|
|
55
63
|
};
|
|
64
|
+
// NOTE: user cancellation is cooperative (the agent loop drains this stream
|
|
65
|
+
// to its natural end on Ctrl+C) — we intentionally do NOT abort the request
|
|
66
|
+
// socket here. Abruptly tearing down the streaming socket mid-flight hard-
|
|
67
|
+
// crashed the process on Windows (no JS exit handlers fired). Only the
|
|
68
|
+
// chunk-timeout aborts the socket.
|
|
56
69
|
const stream = await withRetry(() => this.client.chat.completions.create({
|
|
57
70
|
model: this.model,
|
|
58
71
|
messages: fullMessages,
|
|
@@ -151,6 +164,12 @@ export class DeepSeekAPI {
|
|
|
151
164
|
};
|
|
152
165
|
}
|
|
153
166
|
}
|
|
167
|
+
catch (err) {
|
|
168
|
+
if (timeoutError && isAbortLikeError(err)) {
|
|
169
|
+
throw timeoutError;
|
|
170
|
+
}
|
|
171
|
+
throw err;
|
|
172
|
+
}
|
|
154
173
|
finally {
|
|
155
174
|
clearTimeout(chunkTimer);
|
|
156
175
|
}
|
|
@@ -228,8 +247,40 @@ export class DeepSeekAPI {
|
|
|
228
247
|
}
|
|
229
248
|
}
|
|
230
249
|
// ─── Helper functions ────────────────────────────────────────────────────────
|
|
250
|
+
/**
|
|
251
|
+
* Convert a string that contains data: URLs into ContentBlock[] for vision models.
|
|
252
|
+
* If no data: URLs found, returns the original string.
|
|
253
|
+
* Used to upgrade read_file output (images/PDF as base64) into multimodal input.
|
|
254
|
+
*/
|
|
255
|
+
export function dataUrlsToContentBlocks(text) {
|
|
256
|
+
const DATA_URL_RE = /!?\[.*?\]\(data:([^;]+);base64,([^)]+)\)/g;
|
|
257
|
+
const blocks = [];
|
|
258
|
+
let lastIndex = 0;
|
|
259
|
+
let match;
|
|
260
|
+
while ((match = DATA_URL_RE.exec(text)) !== null) {
|
|
261
|
+
if (match.index > lastIndex) {
|
|
262
|
+
blocks.push({ type: 'text', text: text.slice(lastIndex, match.index).trim() || '\n' });
|
|
263
|
+
}
|
|
264
|
+
const mime = match[1];
|
|
265
|
+
const b64 = match[2];
|
|
266
|
+
blocks.push({ type: 'image_url', image_url: { url: `data:${mime};base64,${b64}` } });
|
|
267
|
+
lastIndex = match.index + match[0].length;
|
|
268
|
+
}
|
|
269
|
+
if (blocks.length === 0)
|
|
270
|
+
return text;
|
|
271
|
+
if (lastIndex < text.length) {
|
|
272
|
+
const remaining = text.slice(lastIndex).trim();
|
|
273
|
+
if (remaining)
|
|
274
|
+
blocks.push({ type: 'text', text: remaining });
|
|
275
|
+
}
|
|
276
|
+
if (!blocks.some(b => b.type === 'text')) {
|
|
277
|
+
blocks.unshift({ type: 'text', text: 'Analyze the following image(s):' });
|
|
278
|
+
}
|
|
279
|
+
return blocks;
|
|
280
|
+
}
|
|
231
281
|
/**
|
|
232
282
|
* Build OpenAI-compatible message array from our internal ChatMessage format.
|
|
283
|
+
* Handles both string content and ContentBlock[] (for vision/multimodal models).
|
|
233
284
|
*/
|
|
234
285
|
function buildMessages(messages) {
|
|
235
286
|
return messages.map(m => {
|
|
@@ -255,6 +306,12 @@ function buildMessages(messages) {
|
|
|
255
306
|
};
|
|
256
307
|
}
|
|
257
308
|
// Content can be string or ContentBlock[] (for vision/multimodal messages)
|
|
309
|
+
if (typeof m.content === 'string') {
|
|
310
|
+
return {
|
|
311
|
+
role: m.role,
|
|
312
|
+
content: m.content,
|
|
313
|
+
};
|
|
314
|
+
}
|
|
258
315
|
return {
|
|
259
316
|
role: m.role,
|
|
260
317
|
content: m.content,
|
|
@@ -272,4 +329,10 @@ function safeParseJSON(str) {
|
|
|
272
329
|
return {};
|
|
273
330
|
}
|
|
274
331
|
}
|
|
332
|
+
function isAbortLikeError(err) {
|
|
333
|
+
const error = err;
|
|
334
|
+
const name = String(error?.name ?? '');
|
|
335
|
+
const message = String(error?.message ?? err);
|
|
336
|
+
return name === 'AbortError' || /abort/i.test(message);
|
|
337
|
+
}
|
|
275
338
|
//# sourceMappingURL=index.js.map
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.d.ts
CHANGED
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAgFA,wBAAsB,GAAG,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxD"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAgFA,wBAAsB,GAAG,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxD;AAED,wBAAgB,uBAAuB,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAExE"}
|
package/dist/cli/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Command } from 'commander';
|
|
3
3
|
import { readFileSync } from 'node:fs';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
|
-
import { dirname, join } from 'node:path';
|
|
5
|
+
import { dirname, join, resolve } from 'node:path';
|
|
6
6
|
const __filename = fileURLToPath(import.meta.url);
|
|
7
7
|
const __dirname = dirname(__filename);
|
|
8
8
|
// Read version from package.json
|
|
@@ -16,7 +16,7 @@ program
|
|
|
16
16
|
.argument('[query...]', 'Optional query to run in non-interactive mode')
|
|
17
17
|
.option('-p, --prompt <text>', 'Run a single prompt and exit (non-interactive)')
|
|
18
18
|
.option('-i, --prompt-interactive <text>', 'Run a prompt then continue in interactive mode')
|
|
19
|
-
.option('-m, --model <model>', 'Model to use (e.g. deepseek-
|
|
19
|
+
.option('-m, --model <model>', 'Model to use (e.g. deepseek-v4-pro)')
|
|
20
20
|
.option('-t, --turbo', 'Enable Turbo mode (auto-approve all actions)')
|
|
21
21
|
.option('--approval-mode <mode>', 'Set approval mode: plan, default, auto-edit, turbo')
|
|
22
22
|
.option('--debug', 'Enable debug logging')
|
|
@@ -80,11 +80,18 @@ export async function run(args) {
|
|
|
80
80
|
}
|
|
81
81
|
// Handle --help passed via commander's parse
|
|
82
82
|
// Commander may intercept --help before action, but we also handle it here
|
|
83
|
-
await program.parseAsync(args, { from:
|
|
83
|
+
await program.parseAsync(args, { from: getCommanderParseSource(args) });
|
|
84
|
+
}
|
|
85
|
+
export function getCommanderParseSource(args) {
|
|
86
|
+
return args.length >= 2 ? 'node' : 'user';
|
|
87
|
+
}
|
|
88
|
+
const isEntrypoint = process.argv[1]
|
|
89
|
+
? resolve(process.argv[1]) === fileURLToPath(import.meta.url)
|
|
90
|
+
: false;
|
|
91
|
+
if (isEntrypoint) {
|
|
92
|
+
run(process.argv).catch((err) => {
|
|
93
|
+
console.error('Fatal error:', err);
|
|
94
|
+
process.exit(1);
|
|
95
|
+
});
|
|
84
96
|
}
|
|
85
|
-
// Always run when this module is loaded
|
|
86
|
-
run(process.argv).catch((err) => {
|
|
87
|
-
console.error('Fatal error:', err);
|
|
88
|
-
process.exit(1);
|
|
89
|
-
});
|
|
90
97
|
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAA;AAEvC,wBAAsB,uBAAuB,CAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA8IrF"}
|
package/dist/cli/interactive.js
CHANGED
|
@@ -5,6 +5,7 @@ import { ErrorBoundary } from '../ui/error-boundary.js';
|
|
|
5
5
|
import { loadConfig } from '../config/loader.js';
|
|
6
6
|
import { themeManager } from '../core/themes.js';
|
|
7
7
|
import { i18n } from '../core/i18n.js';
|
|
8
|
+
import { logCrash, logEvent, debug } from '../utils/logger.js';
|
|
8
9
|
export async function startInteractiveSession(options) {
|
|
9
10
|
const config = await loadConfig();
|
|
10
11
|
// Apply CLI theme/lang overrides
|
|
@@ -15,18 +16,72 @@ export async function startInteractiveSession(options) {
|
|
|
15
16
|
i18n.setLocale(options.lang);
|
|
16
17
|
}
|
|
17
18
|
let cleanup = null;
|
|
18
|
-
//
|
|
19
|
+
// Global crash guard: a stray rejection (e.g. fallout from aborting an
|
|
20
|
+
// in-flight API stream on Ctrl+C) must never drop the user back to the shell
|
|
21
|
+
// mid-session. Abort-like errors are expected during cancellation and ignored;
|
|
22
|
+
// anything else is recorded to ~/.deepseek-code/crash.log and the session
|
|
23
|
+
// keeps running so no work is lost.
|
|
24
|
+
const isAbortLike = (err) => {
|
|
25
|
+
const e = err;
|
|
26
|
+
return e?.name === 'AbortError' || e?.code === 'ABORT_ERR' ||
|
|
27
|
+
/abort|cancel|The operation was aborted/i.test(e?.message ?? '');
|
|
28
|
+
};
|
|
29
|
+
const onUnhandledRejection = (reason) => {
|
|
30
|
+
if (isAbortLike(reason)) {
|
|
31
|
+
debug('ignored abort-like unhandledRejection', reason);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
logCrash('unhandledRejection', reason);
|
|
35
|
+
};
|
|
36
|
+
const onUncaughtException = (err) => {
|
|
37
|
+
if (isAbortLike(err)) {
|
|
38
|
+
debug('ignored abort-like uncaughtException', err);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
logCrash('uncaughtException', err);
|
|
42
|
+
};
|
|
43
|
+
process.on('unhandledRejection', onUnhandledRejection);
|
|
44
|
+
process.on('uncaughtException', onUncaughtException);
|
|
45
|
+
// Diagnostic: log every process exit so we can see WHY the TUI dropped to the
|
|
46
|
+
// shell (clean exit vs signal). Synchronous append survives the exit.
|
|
47
|
+
const onProcessExit = (code) => logEvent('process.exit event', { code });
|
|
48
|
+
const onBeforeExit = (code) => logEvent('beforeExit (event loop drained)', { code });
|
|
49
|
+
process.on('exit', onProcessExit);
|
|
50
|
+
process.on('beforeExit', onBeforeExit);
|
|
51
|
+
logEvent('session start', { platform: process.platform, isTTY: !!process.stdout.isTTY });
|
|
52
|
+
// Keep-alive: hold one ref'd handle so the event loop never drains while the
|
|
53
|
+
// TUI is mounted. Without this, on some Windows terminals the only thing
|
|
54
|
+
// keeping Node alive during an agent turn is the in-flight network socket —
|
|
55
|
+
// so aborting it on Ctrl+C drained the loop and dropped the user to the shell
|
|
56
|
+
// instead of pausing. Cleared in cleanup so real exits still work.
|
|
57
|
+
const keepAlive = setInterval(() => { }, 1 << 30);
|
|
58
|
+
// Double Ctrl+C guard: first Ctrl+C in Ready shows hint, second within 3s exits.
|
|
19
59
|
// App registers process.__agentSoftCancel while isProcessing=true.
|
|
20
60
|
let pendingExitTimer = null;
|
|
21
61
|
const onSIGINT = () => {
|
|
22
62
|
const proc = process;
|
|
63
|
+
logEvent('SIGINT', {
|
|
64
|
+
hasSoftCancel: !!proc.__agentSoftCancel,
|
|
65
|
+
hasAbortController: !!proc.__agentAbortController,
|
|
66
|
+
pendingExit: !!proc.__pendingExit,
|
|
67
|
+
pendingExitTimer: !!pendingExitTimer,
|
|
68
|
+
});
|
|
23
69
|
// 1) Agent is running — soft cancel, never exit
|
|
24
70
|
if (proc.__agentSoftCancel) {
|
|
71
|
+
logEvent('SIGINT -> softCancel');
|
|
25
72
|
proc.__agentSoftCancel();
|
|
26
73
|
return;
|
|
27
74
|
}
|
|
75
|
+
// 1b) Fallback: __agentSoftCancel may not be set yet (useEffect race on Windows),
|
|
76
|
+
// but synchronous AbortController exists from handleSubmit
|
|
77
|
+
if (proc.__agentAbortController) {
|
|
78
|
+
logEvent('SIGINT -> abortController');
|
|
79
|
+
proc.__agentAbortController.abort();
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
28
82
|
// 2) Agent just finished (pending exit flag from app.tsx) — exit immediately
|
|
29
83
|
if (proc.__pendingExit) {
|
|
84
|
+
logEvent('SIGINT -> pendingExit -> process.exit(0)');
|
|
30
85
|
proc.__pendingExit = false;
|
|
31
86
|
if (cleanup)
|
|
32
87
|
cleanup();
|
|
@@ -35,7 +90,8 @@ export async function startInteractiveSession(options) {
|
|
|
35
90
|
}
|
|
36
91
|
// 3) Ready state — double Ctrl+C guard
|
|
37
92
|
if (pendingExitTimer) {
|
|
38
|
-
// Second Ctrl+C within
|
|
93
|
+
// Second Ctrl+C within 3s — exit
|
|
94
|
+
logEvent('SIGINT -> doublePress -> process.exit(0)');
|
|
39
95
|
clearTimeout(pendingExitTimer);
|
|
40
96
|
pendingExitTimer = null;
|
|
41
97
|
if (cleanup)
|
|
@@ -43,10 +99,11 @@ export async function startInteractiveSession(options) {
|
|
|
43
99
|
process.exit(0);
|
|
44
100
|
return;
|
|
45
101
|
}
|
|
102
|
+
logEvent('SIGINT -> firstPress hint');
|
|
46
103
|
// First Ctrl+C — show hint, start timer
|
|
47
104
|
pendingExitTimer = setTimeout(() => {
|
|
48
105
|
pendingExitTimer = null;
|
|
49
|
-
},
|
|
106
|
+
}, 3000);
|
|
50
107
|
// Write hint to stderr so it appears even if TUI is rendering
|
|
51
108
|
process.stderr.write(`\n\x1b[33m⚠ ${i18n.t('ctrlCHint')}\x1b[0m\n`);
|
|
52
109
|
};
|
|
@@ -61,6 +118,7 @@ export async function startInteractiveSession(options) {
|
|
|
61
118
|
const { waitUntilExit, clear } = render(React.createElement(ErrorBoundary, null, React.createElement(App, { config, options })), { exitOnCtrlC: false } // App owns Ctrl+C: useInput handles raw-mode, onSIGINT handles signal
|
|
62
119
|
);
|
|
63
120
|
cleanup = () => {
|
|
121
|
+
clearInterval(keepAlive);
|
|
64
122
|
clear();
|
|
65
123
|
if (pendingExitTimer) {
|
|
66
124
|
clearTimeout(pendingExitTimer);
|
|
@@ -68,6 +126,10 @@ export async function startInteractiveSession(options) {
|
|
|
68
126
|
}
|
|
69
127
|
process.removeListener('SIGINT', onSIGINT);
|
|
70
128
|
process.removeListener('SIGTERM', onSIGTERM);
|
|
129
|
+
process.removeListener('unhandledRejection', onUnhandledRejection);
|
|
130
|
+
process.removeListener('uncaughtException', onUncaughtException);
|
|
131
|
+
process.removeListener('exit', onProcessExit);
|
|
132
|
+
process.removeListener('beforeExit', onBeforeExit);
|
|
71
133
|
};
|
|
72
134
|
await waitUntilExit();
|
|
73
135
|
cleanup();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/cli/interactive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAgBlD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAItD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAMnD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,CAAA;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IAChE,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3D,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;IACvC,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,kGAAkG;IAClG,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAA;IAC/C,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,UAAU,GAAG,SAAS,CAAA;IACxC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAA;CACrD;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAgBlD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAItD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAMnD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,CAAA;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IAChE,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3D,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;IACvC,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,kGAAkG;IAClG,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAA;IAC/C,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,UAAU,GAAG,SAAS,CAAA;IACxC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAA;CACrD;AAqsCD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACvE;AAED,eAAO,MAAM,QAAQ,EAAE,YAAY,EAkClC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,EAA8B,CAAA;AAEhE,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAEnD,CAAA;AAgBD,wBAAsB,mBAAmB,CAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAapG"}
|
package/dist/commands/index.js
CHANGED
|
@@ -18,7 +18,7 @@ import { saveConfig } from '../config/loader.js';
|
|
|
18
18
|
import { getDefaultTools, getToolsForMode } from '../tools/registry.js';
|
|
19
19
|
import { browserTest, getLastBrowserTestResult, browserRealTest } from '../tools/chrome.js';
|
|
20
20
|
import { chromeManager } from '../tools/chrome-manager.js';
|
|
21
|
-
import { AUDIT_BUDGET_PRESET } from '../tools/types.js';
|
|
21
|
+
import { AUDIT_BUDGET_PRESET, LARGE_BUDGET_PRESET, NORMAL_BUDGET_PRESET } from '../tools/types.js';
|
|
22
22
|
import { checkLatestVersion } from './update-checker.js';
|
|
23
23
|
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
24
24
|
function generateFollowups(lastContent) {
|
|
@@ -76,7 +76,7 @@ const RU_DESCRIPTIONS = {
|
|
|
76
76
|
'/browser-real-test': 'Smoke-тест реальных сайтов',
|
|
77
77
|
'/last-browser-test': 'Показать последний отчёт browser-test',
|
|
78
78
|
'/chrome': 'Режим Chrome: --headed|--headless|-s',
|
|
79
|
-
'/budget': 'Бюджет: /budget status|off|audit|small',
|
|
79
|
+
'/budget': 'Бюджет: /budget status|off|audit|small|normal|large',
|
|
80
80
|
'/changelog': 'Показать изменения: /changelog [full|version]',
|
|
81
81
|
'/update-check': 'Проверить новую версию',
|
|
82
82
|
};
|
|
@@ -110,6 +110,7 @@ async function cmdHelp(ctx) {
|
|
|
110
110
|
lines.push('', helpLine('Tab', 'Цикл режимов: plan → default → auto-edit → turbo'));
|
|
111
111
|
lines.push('', helpLine('PageUp / PageDown', 'Прокрутка истории чата'));
|
|
112
112
|
lines.push('', helpLine('End', 'Перейти к последнему сообщению'));
|
|
113
|
+
lines.push('', helpLine('Mouse wheel', 'Не захватывается в TUI; используйте PageUp / PageDown / End'));
|
|
113
114
|
lines.push('', helpLine('Shift+Enter / Alt+Enter', 'Новая строка в поле ввода'));
|
|
114
115
|
}
|
|
115
116
|
else {
|
|
@@ -124,6 +125,7 @@ async function cmdHelp(ctx) {
|
|
|
124
125
|
lines.push('', helpLine('Tab', 'Cycle approval mode: plan → default → auto-edit → turbo'));
|
|
125
126
|
lines.push('', helpLine('PageUp / PageDown', 'Scroll chat history'));
|
|
126
127
|
lines.push('', helpLine('End', 'Jump to latest message'));
|
|
128
|
+
lines.push('', helpLine('Mouse wheel', 'Not captured in TUI; use PageUp / PageDown / End'));
|
|
127
129
|
lines.push('', helpLine('Shift+Enter / Alt+Enter', 'Insert newline in input'));
|
|
128
130
|
}
|
|
129
131
|
ctx.setMessages(prev => [...prev, { role: 'assistant', content: lines.join('\n') }]);
|
|
@@ -794,6 +796,7 @@ async function cmdTools(ctx) {
|
|
|
794
796
|
}
|
|
795
797
|
async function cmdBrowserTest(ctx, input) {
|
|
796
798
|
// Parse flags: /browser-test --headed or /browser-test --headless
|
|
799
|
+
// Default uses the configured chromeHeadless mode
|
|
797
800
|
const parts = input.trim().split(/\s+/);
|
|
798
801
|
const flag = parts.length > 1 ? parts[1].toLowerCase() : '';
|
|
799
802
|
let headless;
|
|
@@ -804,7 +807,7 @@ async function cmdBrowserTest(ctx, input) {
|
|
|
804
807
|
headless = true;
|
|
805
808
|
}
|
|
806
809
|
else {
|
|
807
|
-
headless = false; // default
|
|
810
|
+
headless = ctx.config.chromeHeadless ?? false; // default from config
|
|
808
811
|
}
|
|
809
812
|
ctx.setStatusText('Запуск browser test...');
|
|
810
813
|
// Сохраняем текущий режим Chrome, чтобы восстановить после теста
|
|
@@ -836,12 +839,14 @@ async function cmdBrowserRealTest(ctx, input) {
|
|
|
836
839
|
const parts = input.trim().split(/\s+/).slice(1);
|
|
837
840
|
const saveReport = parts.includes('--save-report');
|
|
838
841
|
const headless = parts.includes('--headless');
|
|
842
|
+
const headed = parts.includes('--headed');
|
|
843
|
+
const effectiveHeadless = headed ? false : headless ? true : (ctx.config.chromeHeadless ?? false);
|
|
839
844
|
const siteArgs = parts.filter(p => !p.startsWith('--'));
|
|
840
845
|
const sites = siteArgs.length > 0 ? siteArgs : undefined;
|
|
841
846
|
ctx.setStatusText('Real site smoke-test...');
|
|
842
847
|
const prevState = chromeManager.getState();
|
|
843
848
|
try {
|
|
844
|
-
const report = await browserRealTest({ sites, headless });
|
|
849
|
+
const report = await browserRealTest({ sites, headless: effectiveHeadless });
|
|
845
850
|
if (saveReport) {
|
|
846
851
|
const { writeFile } = await import('node:fs/promises');
|
|
847
852
|
await writeFile('BROWSER_REAL_TEST_REPORT.md', report, 'utf8');
|
|
@@ -866,13 +871,18 @@ async function cmdBrowserRealTest(ctx, input) {
|
|
|
866
871
|
async function cmdChrome(ctx, input) {
|
|
867
872
|
const parts = input.trim().split(/\s+/);
|
|
868
873
|
const flag = parts.length > 1 ? parts[1].toLowerCase() : '';
|
|
869
|
-
// No flag — show status
|
|
874
|
+
// No flag — show status only
|
|
870
875
|
if (!flag || flag === '--status' || flag === '-s') {
|
|
871
876
|
const state = chromeManager.getState();
|
|
872
|
-
const
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
877
|
+
const desiredMode = ctx.config.chromeHeadless ? 'headless' : 'headed';
|
|
878
|
+
const runningStr = state.connected
|
|
879
|
+
? (state.headless ? 'headless' : 'headed')
|
|
880
|
+
: 'not running';
|
|
881
|
+
let notice = `Browser desired mode: ${desiredMode}\nRunning Chrome: ${runningStr}`;
|
|
882
|
+
if (state.connected) {
|
|
883
|
+
notice += ` | PID: ${state.managedProcessPid ?? '—'} | Port: ${state.debugPort}`;
|
|
884
|
+
}
|
|
885
|
+
ctx.addServiceNotice?.(notice);
|
|
876
886
|
return true;
|
|
877
887
|
}
|
|
878
888
|
// Determine desired mode
|
|
@@ -884,21 +894,30 @@ async function cmdChrome(ctx, input) {
|
|
|
884
894
|
desiredHeadless = false;
|
|
885
895
|
}
|
|
886
896
|
else {
|
|
887
|
-
ctx.addServiceNotice?.('[err] /chrome:
|
|
897
|
+
ctx.addServiceNotice?.('[err] /chrome: use --headed, --headless or no flag for status');
|
|
888
898
|
return true;
|
|
889
899
|
}
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
}
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
900
|
+
// Capture runtime state BEFORE changing the desired mode
|
|
901
|
+
const stateBefore = chromeManager.getState();
|
|
902
|
+
const wasRunning = stateBefore.connected;
|
|
903
|
+
const actualRunningMode = wasRunning ? (stateBefore.headless ? 'headless' : 'headed') : null;
|
|
904
|
+
// Set the mode WITHOUT launching the browser
|
|
905
|
+
chromeManager.setHeadlessMode(desiredHeadless);
|
|
906
|
+
// Save to config
|
|
907
|
+
ctx.config.chromeHeadless = desiredHeadless;
|
|
908
|
+
saveConfig({ chromeHeadless: desiredHeadless }).catch(() => { });
|
|
909
|
+
// Build status message
|
|
910
|
+
const desiredModeStr = desiredHeadless ? 'headless' : 'headed';
|
|
911
|
+
const runningStr = wasRunning ? actualRunningMode : 'not running';
|
|
912
|
+
let notice = `Browser desired mode: ${desiredModeStr}\nRunning Chrome: ${runningStr}`;
|
|
913
|
+
if (wasRunning) {
|
|
914
|
+
notice += ` | PID: ${stateBefore.managedProcessPid ?? '—'} | Port: ${stateBefore.debugPort}`;
|
|
915
|
+
}
|
|
916
|
+
// Warn if Chrome is running in a different mode
|
|
917
|
+
if (wasRunning && stateBefore.headless !== desiredHeadless) {
|
|
918
|
+
notice += `\n\n⚠️ Chrome is currently running in ${actualRunningMode} mode.\nNew mode will be used on next browser start.`;
|
|
919
|
+
}
|
|
920
|
+
ctx.addServiceNotice?.(notice);
|
|
902
921
|
return true;
|
|
903
922
|
}
|
|
904
923
|
async function cmdLastBrowserTest(ctx) {
|
|
@@ -977,21 +996,21 @@ async function cmdBudget(ctx, input) {
|
|
|
977
996
|
const notice = ctx.addServiceNotice ?? ((text) => {
|
|
978
997
|
ctx.setMessages(prev => [...prev, { role: 'assistant', content: text }]);
|
|
979
998
|
});
|
|
999
|
+
const formatBudget = (label, budget) => [
|
|
1000
|
+
`Budget: ${label}`,
|
|
1001
|
+
`maxToolCalls: ${budget.maxToolCalls}`,
|
|
1002
|
+
`maxApiCalls: ${budget.maxApiCalls}`,
|
|
1003
|
+
`maxIterations: ${budget.maxIterations}`,
|
|
1004
|
+
`maxReadFiles: ${budget.maxReadFiles}`,
|
|
1005
|
+
`maxShellCommands: ${budget.maxShellCommands}`,
|
|
1006
|
+
].join('\n');
|
|
980
1007
|
if (sub === 'status') {
|
|
981
1008
|
const budget = ctx.getBudget?.();
|
|
982
1009
|
if (!budget) {
|
|
983
1010
|
notice('Budget: off');
|
|
984
1011
|
}
|
|
985
1012
|
else {
|
|
986
|
-
|
|
987
|
-
const lines = [
|
|
988
|
-
prefix,
|
|
989
|
-
`maxToolCalls: ${budget.maxToolCalls}`,
|
|
990
|
-
`maxApiCalls: ${budget.maxApiCalls}`,
|
|
991
|
-
`maxReadFiles: ${budget.maxReadFiles}`,
|
|
992
|
-
`maxShellCommands: ${budget.maxShellCommands}`,
|
|
993
|
-
];
|
|
994
|
-
notice(lines.join('\n'));
|
|
1013
|
+
notice(formatBudget('active', budget));
|
|
995
1014
|
}
|
|
996
1015
|
return true;
|
|
997
1016
|
}
|
|
@@ -1002,17 +1021,20 @@ async function cmdBudget(ctx, input) {
|
|
|
1002
1021
|
}
|
|
1003
1022
|
if (sub === 'audit' || sub === 'small') {
|
|
1004
1023
|
ctx.setBudget?.({ ...AUDIT_BUDGET_PRESET });
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1024
|
+
notice(formatBudget('audit enabled', AUDIT_BUDGET_PRESET));
|
|
1025
|
+
return true;
|
|
1026
|
+
}
|
|
1027
|
+
if (sub === 'normal') {
|
|
1028
|
+
ctx.setBudget?.({ ...NORMAL_BUDGET_PRESET });
|
|
1029
|
+
notice(formatBudget('normal enabled', NORMAL_BUDGET_PRESET));
|
|
1030
|
+
return true;
|
|
1031
|
+
}
|
|
1032
|
+
if (sub === 'large') {
|
|
1033
|
+
ctx.setBudget?.({ ...LARGE_BUDGET_PRESET });
|
|
1034
|
+
notice(formatBudget('large enabled', LARGE_BUDGET_PRESET));
|
|
1013
1035
|
return true;
|
|
1014
1036
|
}
|
|
1015
|
-
notice('Usage: /budget status|off|audit|small');
|
|
1037
|
+
notice('Usage: /budget status|off|audit|small|normal|large');
|
|
1016
1038
|
return true;
|
|
1017
1039
|
}
|
|
1018
1040
|
// ─── Changelog and Update Check ──────────────────────────────────────────────
|
|
@@ -1168,7 +1190,7 @@ export const COMMANDS = [
|
|
|
1168
1190
|
{ name: '/browser-real-test', description: 'Smoke test on real websites', handler: cmdBrowserRealTest },
|
|
1169
1191
|
{ name: '/last-browser-test', description: 'Show last browser test report', handler: cmdLastBrowserTest },
|
|
1170
1192
|
{ name: '/chrome', description: 'Chrome mode: --headed|--headless|-s', handler: cmdChrome },
|
|
1171
|
-
{ name: '/budget', description: 'Budget: /budget status|off|audit|small', handler: cmdBudget },
|
|
1193
|
+
{ name: '/budget', description: 'Budget: /budget status|off|audit|small|normal|large', handler: cmdBudget },
|
|
1172
1194
|
{ name: '/changelog', description: 'Show changelog: /changelog [full|version]', handler: cmdChangelog },
|
|
1173
1195
|
{ name: '/update-check', description: 'Check latest npm version', handler: cmdUpdateCheck },
|
|
1174
1196
|
];
|