jinzd-ai-cli 0.4.140 → 0.4.142
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/{batch-VAJVUO72.js → batch-MJUH762U.js} +2 -2
- package/dist/{chunk-KRIMHQIQ.js → chunk-3UZBSMNI.js} +1 -1
- package/dist/{chunk-RYIR3ILH.js → chunk-DES5NNPU.js} +2 -2
- package/dist/{chunk-5AKKMT6L.js → chunk-G3CH252E.js} +1 -1
- package/dist/{chunk-MNFJQEOJ.js → chunk-INPG2HXR.js} +10 -8
- package/dist/{chunk-FOS7SXFC.js → chunk-KSLJCZCE.js} +1 -1
- package/dist/{chunk-AD2AFZU6.js → chunk-NSTXHD33.js} +1 -1
- package/dist/{chunk-4DAHA3N2.js → chunk-Q3ZEZHSU.js} +3 -3
- package/dist/{chunk-NPYZRKFH.js → chunk-UXGHSFGB.js} +1 -1
- package/dist/{chunk-2N4NTO6I.js → chunk-WLZJANJO.js} +47 -1
- package/dist/{constants-KJT23X6O.js → constants-QDFO3IJP.js} +1 -1
- package/dist/{doctor-cli-NNUQ5G7R.js → doctor-cli-CLKZYOOI.js} +5 -5
- package/dist/electron-server.js +57 -9
- package/dist/{hub-WHMSIB7P.js → hub-X4ISNM7B.js} +1 -1
- package/dist/index.js +15 -15
- package/dist/{run-tests-GT4O5DUI.js → run-tests-3AYPKO5U.js} +1 -1
- package/dist/{run-tests-O7S67WVO.js → run-tests-QER6ETNZ.js} +2 -2
- package/dist/{server-VNKVLTHN.js → server-FFPJP2GQ.js} +8 -8
- package/dist/{server-KJV3F3KF.js → server-PBOIZFFD.js} +4 -4
- package/dist/{task-orchestrator-44SGHO6C.js → task-orchestrator-O4FTLSHK.js} +4 -4
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ConfigManager
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WLZJANJO.js";
|
|
5
5
|
import "./chunk-2ZD3YTVM.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-NSTXHD33.js";
|
|
7
7
|
import "./chunk-PDX44BCA.js";
|
|
8
8
|
|
|
9
9
|
// src/cli/batch.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
truncateForPersist
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Q3ZEZHSU.js";
|
|
5
5
|
import {
|
|
6
6
|
APP_NAME,
|
|
7
7
|
CONFIG_DIR_NAME,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
MCP_PROTOCOL_VERSION,
|
|
12
12
|
MCP_TOOL_PREFIX,
|
|
13
13
|
VERSION
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-NSTXHD33.js";
|
|
15
15
|
import {
|
|
16
16
|
redactJson
|
|
17
17
|
} from "./chunk-7ZJN4KLV.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
schemaToJsonSchema
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-G3CH252E.js";
|
|
5
5
|
import {
|
|
6
6
|
AuthError,
|
|
7
7
|
ProviderError,
|
|
@@ -1275,19 +1275,21 @@ var OpenAICompatibleProvider = class extends BaseProvider {
|
|
|
1275
1275
|
if (delta?.tool_calls) {
|
|
1276
1276
|
for (const tc of delta.tool_calls) {
|
|
1277
1277
|
const idx = tc.index;
|
|
1278
|
-
|
|
1278
|
+
const existing = toolCallAccumulators.get(idx);
|
|
1279
|
+
if (!existing && tc.id && tc.function?.name) {
|
|
1280
|
+
const initialArgs = tc.function.arguments ?? "";
|
|
1279
1281
|
toolCallAccumulators.set(idx, {
|
|
1280
1282
|
id: tc.id,
|
|
1281
1283
|
name: tc.function.name,
|
|
1282
|
-
arguments:
|
|
1284
|
+
arguments: initialArgs
|
|
1283
1285
|
});
|
|
1284
1286
|
yield { type: "tool_call_start", index: idx, id: tc.id, name: tc.function.name };
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
if (acc) {
|
|
1288
|
-
acc.arguments += tc.function.arguments;
|
|
1289
|
-
yield { type: "tool_call_delta", index: idx, argumentsDelta: tc.function.arguments };
|
|
1287
|
+
if (initialArgs) {
|
|
1288
|
+
yield { type: "tool_call_delta", index: idx, argumentsDelta: initialArgs };
|
|
1290
1289
|
}
|
|
1290
|
+
} else if (existing && tc.function?.arguments) {
|
|
1291
|
+
existing.arguments += tc.function.arguments;
|
|
1292
|
+
yield { type: "tool_call_delta", index: idx, argumentsDelta: tc.function.arguments };
|
|
1291
1293
|
}
|
|
1292
1294
|
}
|
|
1293
1295
|
}
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
} from "./chunk-3BICTI5M.js";
|
|
6
6
|
import {
|
|
7
7
|
runTestsTool
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KSLJCZCE.js";
|
|
9
9
|
import {
|
|
10
10
|
getDangerLevel,
|
|
11
11
|
isFileWriteTool,
|
|
12
12
|
runTool
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-G3CH252E.js";
|
|
14
14
|
import {
|
|
15
15
|
EnvLoader,
|
|
16
16
|
NetworkError,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
SUBAGENT_ALLOWED_TOOLS,
|
|
24
24
|
SUBAGENT_DEFAULT_MAX_ROUNDS,
|
|
25
25
|
SUBAGENT_MAX_ROUNDS_LIMIT
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-NSTXHD33.js";
|
|
27
27
|
import {
|
|
28
28
|
fileCheckpoints
|
|
29
29
|
} from "./chunk-4BKXL7SM.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
CONFIG_FILE_NAME,
|
|
9
9
|
HISTORY_DIR_NAME,
|
|
10
10
|
PLUGINS_DIR_NAME
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-NSTXHD33.js";
|
|
12
12
|
|
|
13
13
|
// src/config/config-manager.ts
|
|
14
14
|
import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
|
|
@@ -247,6 +247,9 @@ var ConfigManager = class {
|
|
|
247
247
|
this.configDir = configDir ?? join(homedir(), CONFIG_DIR_NAME);
|
|
248
248
|
this.configPath = join(this.configDir, CONFIG_FILE_NAME);
|
|
249
249
|
this.config = this.load();
|
|
250
|
+
if (this.migrateLegacyModels()) {
|
|
251
|
+
this.save();
|
|
252
|
+
}
|
|
250
253
|
}
|
|
251
254
|
load() {
|
|
252
255
|
if (!existsSync(this.configPath)) {
|
|
@@ -262,6 +265,49 @@ ${err}`
|
|
|
262
265
|
);
|
|
263
266
|
}
|
|
264
267
|
}
|
|
268
|
+
/**
|
|
269
|
+
* One-time auto-heal for retired model IDs (v0.4.141+).
|
|
270
|
+
*
|
|
271
|
+
* v0.4.140 dropped `deepseek-chat` / `deepseek-reasoner` from the provider
|
|
272
|
+
* model list but didn't migrate `~/.aicli/config.json`. Users who had ever
|
|
273
|
+
* called `/model` to pin one of these legacy ids would land in a broken
|
|
274
|
+
* state on next startup (banner shows `Model: deepseek-chat`, but `/model`
|
|
275
|
+
* picker no longer lists it).
|
|
276
|
+
*
|
|
277
|
+
* This pass is idempotent — if nothing matches, returns false and no save
|
|
278
|
+
* happens. Safe to run on every load.
|
|
279
|
+
*
|
|
280
|
+
* @returns true if config was modified and should be persisted.
|
|
281
|
+
*/
|
|
282
|
+
migrateLegacyModels() {
|
|
283
|
+
const LEGACY_DEEPSEEK = /* @__PURE__ */ new Set(["deepseek-chat", "deepseek-reasoner"]);
|
|
284
|
+
const DEEPSEEK_TARGET = "deepseek-v4-flash";
|
|
285
|
+
let changed = false;
|
|
286
|
+
const dm = this.config.defaultModels;
|
|
287
|
+
if (dm && LEGACY_DEEPSEEK.has(dm.deepseek)) {
|
|
288
|
+
dm.deepseek = DEEPSEEK_TARGET;
|
|
289
|
+
changed = true;
|
|
290
|
+
}
|
|
291
|
+
const mp = this.config.modelParams;
|
|
292
|
+
if (mp) {
|
|
293
|
+
for (const legacy of LEGACY_DEEPSEEK) {
|
|
294
|
+
if (legacy in mp) {
|
|
295
|
+
if (!(DEEPSEEK_TARGET in mp)) {
|
|
296
|
+
mp[DEEPSEEK_TARGET] = mp[legacy];
|
|
297
|
+
}
|
|
298
|
+
delete mp[legacy];
|
|
299
|
+
changed = true;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
if (changed) {
|
|
304
|
+
process.stderr.write(
|
|
305
|
+
`[ai-cli] Migrated retired DeepSeek model ids in config.json \u2192 ${DEEPSEEK_TARGET}
|
|
306
|
+
`
|
|
307
|
+
);
|
|
308
|
+
}
|
|
309
|
+
return changed;
|
|
310
|
+
}
|
|
265
311
|
save() {
|
|
266
312
|
mkdirSync(this.configDir, { recursive: true });
|
|
267
313
|
writeFileSync(this.configPath, JSON.stringify(this.config, null, 2), "utf-8");
|
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
import {
|
|
3
3
|
getConfigDirUsage,
|
|
4
4
|
listRecentCrashes
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3UZBSMNI.js";
|
|
6
6
|
import {
|
|
7
7
|
ProviderRegistry
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-INPG2HXR.js";
|
|
9
9
|
import {
|
|
10
10
|
ConfigManager
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WLZJANJO.js";
|
|
12
12
|
import {
|
|
13
13
|
getStatsSnapshot,
|
|
14
14
|
getTopFailingTools,
|
|
15
15
|
getTopUsedTools,
|
|
16
16
|
resetStats
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-G3CH252E.js";
|
|
18
18
|
import "./chunk-2ZD3YTVM.js";
|
|
19
19
|
import {
|
|
20
20
|
DEV_STATE_FILE_NAME,
|
|
21
21
|
MEMORY_FILE_NAME,
|
|
22
22
|
VERSION
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-NSTXHD33.js";
|
|
24
24
|
import "./chunk-PDX44BCA.js";
|
|
25
25
|
|
|
26
26
|
// src/diagnostics/doctor-cli.ts
|
package/dist/electron-server.js
CHANGED
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
VERSION,
|
|
37
37
|
buildUserIdentityPrompt,
|
|
38
38
|
runTestsTool
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-UXGHSFGB.js";
|
|
40
40
|
import {
|
|
41
41
|
hasSemanticIndex,
|
|
42
42
|
semanticSearch
|
|
@@ -400,6 +400,9 @@ var ConfigManager = class {
|
|
|
400
400
|
this.configDir = configDir ?? join(homedir(), CONFIG_DIR_NAME);
|
|
401
401
|
this.configPath = join(this.configDir, CONFIG_FILE_NAME);
|
|
402
402
|
this.config = this.load();
|
|
403
|
+
if (this.migrateLegacyModels()) {
|
|
404
|
+
this.save();
|
|
405
|
+
}
|
|
403
406
|
}
|
|
404
407
|
load() {
|
|
405
408
|
if (!existsSync(this.configPath)) {
|
|
@@ -415,6 +418,49 @@ ${err}`
|
|
|
415
418
|
);
|
|
416
419
|
}
|
|
417
420
|
}
|
|
421
|
+
/**
|
|
422
|
+
* One-time auto-heal for retired model IDs (v0.4.141+).
|
|
423
|
+
*
|
|
424
|
+
* v0.4.140 dropped `deepseek-chat` / `deepseek-reasoner` from the provider
|
|
425
|
+
* model list but didn't migrate `~/.aicli/config.json`. Users who had ever
|
|
426
|
+
* called `/model` to pin one of these legacy ids would land in a broken
|
|
427
|
+
* state on next startup (banner shows `Model: deepseek-chat`, but `/model`
|
|
428
|
+
* picker no longer lists it).
|
|
429
|
+
*
|
|
430
|
+
* This pass is idempotent — if nothing matches, returns false and no save
|
|
431
|
+
* happens. Safe to run on every load.
|
|
432
|
+
*
|
|
433
|
+
* @returns true if config was modified and should be persisted.
|
|
434
|
+
*/
|
|
435
|
+
migrateLegacyModels() {
|
|
436
|
+
const LEGACY_DEEPSEEK = /* @__PURE__ */ new Set(["deepseek-chat", "deepseek-reasoner"]);
|
|
437
|
+
const DEEPSEEK_TARGET = "deepseek-v4-flash";
|
|
438
|
+
let changed = false;
|
|
439
|
+
const dm = this.config.defaultModels;
|
|
440
|
+
if (dm && LEGACY_DEEPSEEK.has(dm.deepseek)) {
|
|
441
|
+
dm.deepseek = DEEPSEEK_TARGET;
|
|
442
|
+
changed = true;
|
|
443
|
+
}
|
|
444
|
+
const mp = this.config.modelParams;
|
|
445
|
+
if (mp) {
|
|
446
|
+
for (const legacy of LEGACY_DEEPSEEK) {
|
|
447
|
+
if (legacy in mp) {
|
|
448
|
+
if (!(DEEPSEEK_TARGET in mp)) {
|
|
449
|
+
mp[DEEPSEEK_TARGET] = mp[legacy];
|
|
450
|
+
}
|
|
451
|
+
delete mp[legacy];
|
|
452
|
+
changed = true;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
if (changed) {
|
|
457
|
+
process.stderr.write(
|
|
458
|
+
`[ai-cli] Migrated retired DeepSeek model ids in config.json \u2192 ${DEEPSEEK_TARGET}
|
|
459
|
+
`
|
|
460
|
+
);
|
|
461
|
+
}
|
|
462
|
+
return changed;
|
|
463
|
+
}
|
|
418
464
|
save() {
|
|
419
465
|
mkdirSync(this.configDir, { recursive: true });
|
|
420
466
|
writeFileSync(this.configPath, JSON.stringify(this.config, null, 2), "utf-8");
|
|
@@ -1838,19 +1884,21 @@ var OpenAICompatibleProvider = class extends BaseProvider {
|
|
|
1838
1884
|
if (delta?.tool_calls) {
|
|
1839
1885
|
for (const tc of delta.tool_calls) {
|
|
1840
1886
|
const idx = tc.index;
|
|
1841
|
-
|
|
1887
|
+
const existing = toolCallAccumulators.get(idx);
|
|
1888
|
+
if (!existing && tc.id && tc.function?.name) {
|
|
1889
|
+
const initialArgs = tc.function.arguments ?? "";
|
|
1842
1890
|
toolCallAccumulators.set(idx, {
|
|
1843
1891
|
id: tc.id,
|
|
1844
1892
|
name: tc.function.name,
|
|
1845
|
-
arguments:
|
|
1893
|
+
arguments: initialArgs
|
|
1846
1894
|
});
|
|
1847
1895
|
yield { type: "tool_call_start", index: idx, id: tc.id, name: tc.function.name };
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
if (acc) {
|
|
1851
|
-
acc.arguments += tc.function.arguments;
|
|
1852
|
-
yield { type: "tool_call_delta", index: idx, argumentsDelta: tc.function.arguments };
|
|
1896
|
+
if (initialArgs) {
|
|
1897
|
+
yield { type: "tool_call_delta", index: idx, argumentsDelta: initialArgs };
|
|
1853
1898
|
}
|
|
1899
|
+
} else if (existing && tc.function?.arguments) {
|
|
1900
|
+
existing.arguments += tc.function.arguments;
|
|
1901
|
+
yield { type: "tool_call_delta", index: idx, argumentsDelta: tc.function.arguments };
|
|
1854
1902
|
}
|
|
1855
1903
|
}
|
|
1856
1904
|
}
|
|
@@ -12500,7 +12548,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
12500
12548
|
case "test": {
|
|
12501
12549
|
this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
12502
12550
|
try {
|
|
12503
|
-
const { executeTests } = await import("./run-tests-
|
|
12551
|
+
const { executeTests } = await import("./run-tests-3AYPKO5U.js");
|
|
12504
12552
|
const argStr = args.join(" ").trim();
|
|
12505
12553
|
let testArgs = {};
|
|
12506
12554
|
if (argStr) {
|
|
@@ -386,7 +386,7 @@ ${content}`);
|
|
|
386
386
|
}
|
|
387
387
|
}
|
|
388
388
|
async function runTaskMode(config, providers, configManager, topic) {
|
|
389
|
-
const { TaskOrchestrator } = await import("./task-orchestrator-
|
|
389
|
+
const { TaskOrchestrator } = await import("./task-orchestrator-O4FTLSHK.js");
|
|
390
390
|
const orchestrator = new TaskOrchestrator(config, providers, configManager);
|
|
391
391
|
let interrupted = false;
|
|
392
392
|
const onSigint = () => {
|
package/dist/index.js
CHANGED
|
@@ -16,12 +16,12 @@ import {
|
|
|
16
16
|
saveDevState,
|
|
17
17
|
sessionHasMeaningfulContent,
|
|
18
18
|
setupProxy
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-DES5NNPU.js";
|
|
20
20
|
import {
|
|
21
21
|
getConfigDirUsage,
|
|
22
22
|
listRecentCrashes,
|
|
23
23
|
writeCrashLog
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-3UZBSMNI.js";
|
|
25
25
|
import {
|
|
26
26
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
27
27
|
HALLUCINATION_CORRECTION_MESSAGE,
|
|
@@ -39,10 +39,10 @@ import {
|
|
|
39
39
|
looksLikeDocumentBody,
|
|
40
40
|
stripPseudoToolCalls,
|
|
41
41
|
stripToolCallReminder
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-INPG2HXR.js";
|
|
43
43
|
import {
|
|
44
44
|
ConfigManager
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-WLZJANJO.js";
|
|
46
46
|
import {
|
|
47
47
|
ToolExecutor,
|
|
48
48
|
ToolRegistry,
|
|
@@ -61,16 +61,16 @@ import {
|
|
|
61
61
|
spawnAgentContext,
|
|
62
62
|
theme,
|
|
63
63
|
undoStack
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-Q3ZEZHSU.js";
|
|
65
65
|
import "./chunk-3BICTI5M.js";
|
|
66
66
|
import "./chunk-2DXY7UGF.js";
|
|
67
|
-
import "./chunk-
|
|
67
|
+
import "./chunk-KSLJCZCE.js";
|
|
68
68
|
import {
|
|
69
69
|
getStatsSnapshot,
|
|
70
70
|
getTopFailingTools,
|
|
71
71
|
getTopUsedTools,
|
|
72
72
|
installFlushOnExit
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-G3CH252E.js";
|
|
74
74
|
import "./chunk-2ZD3YTVM.js";
|
|
75
75
|
import {
|
|
76
76
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
@@ -93,7 +93,7 @@ import {
|
|
|
93
93
|
SKILLS_DIR_NAME,
|
|
94
94
|
VERSION,
|
|
95
95
|
buildUserIdentityPrompt
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-NSTXHD33.js";
|
|
97
97
|
import {
|
|
98
98
|
formatGitContextForPrompt,
|
|
99
99
|
getGitContext,
|
|
@@ -1812,7 +1812,7 @@ No tools match "${filter}".
|
|
|
1812
1812
|
const { join: join6 } = await import("path");
|
|
1813
1813
|
const { existsSync: existsSync6 } = await import("fs");
|
|
1814
1814
|
const { getGitRoot: getGitRoot2 } = await import("./git-context-7KIP4X2V.js");
|
|
1815
|
-
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-
|
|
1815
|
+
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-QDFO3IJP.js");
|
|
1816
1816
|
const { approveProject, hashMcpFile } = await import("./project-trust-IFM7FXEV.js");
|
|
1817
1817
|
const cwd = process.cwd();
|
|
1818
1818
|
const projectRoot = getGitRoot2(cwd) ?? cwd;
|
|
@@ -2873,7 +2873,7 @@ ${hint}` : "")
|
|
|
2873
2873
|
usage: "/test [command|filter]",
|
|
2874
2874
|
async execute(args, ctx) {
|
|
2875
2875
|
try {
|
|
2876
|
-
const { executeTests } = await import("./run-tests-
|
|
2876
|
+
const { executeTests } = await import("./run-tests-QER6ETNZ.js");
|
|
2877
2877
|
const argStr = args.join(" ").trim();
|
|
2878
2878
|
let testArgs = {};
|
|
2879
2879
|
if (argStr) {
|
|
@@ -7379,7 +7379,7 @@ program.command("web").description("Start Web UI server with browser-based chat
|
|
|
7379
7379
|
console.error("Error: Invalid port number. Must be between 1 and 65535.");
|
|
7380
7380
|
process.exit(1);
|
|
7381
7381
|
}
|
|
7382
|
-
const { startWebServer } = await import("./server-
|
|
7382
|
+
const { startWebServer } = await import("./server-FFPJP2GQ.js");
|
|
7383
7383
|
await startWebServer({ port, host: options.host });
|
|
7384
7384
|
});
|
|
7385
7385
|
program.command("user [action] [username]").description("Manage Web UI users (list | create <name> | delete <name> | reset-password <name> | logout-all <name> | migrate <name>)").action(async (action, username) => {
|
|
@@ -7546,12 +7546,12 @@ program.command("sessions").description("List recent conversation sessions").opt
|
|
|
7546
7546
|
console.log(footer + "\n");
|
|
7547
7547
|
});
|
|
7548
7548
|
program.command("doctor").description("Health check: API keys, config, MCP, recent crashes, tool usage, disk usage").option("--json", "Output as JSON (for scripting)").option("--reset-stats", "Reset accumulated tool usage statistics").action(async (options) => {
|
|
7549
|
-
const { runDoctorCli } = await import("./doctor-cli-
|
|
7549
|
+
const { runDoctorCli } = await import("./doctor-cli-CLKZYOOI.js");
|
|
7550
7550
|
await runDoctorCli({ json: !!options.json, resetStats: !!options.resetStats });
|
|
7551
7551
|
});
|
|
7552
7552
|
program.command("batch <action> [arg] [arg2]").description("Anthropic Message Batches: submit | list | status <id> | results <id> [out] | cancel <id>").option("--dry-run", "Parse and validate input without submitting (submit only)").action(async (action, arg, arg2, options) => {
|
|
7553
7553
|
try {
|
|
7554
|
-
const batch = await import("./batch-
|
|
7554
|
+
const batch = await import("./batch-MJUH762U.js");
|
|
7555
7555
|
switch (action) {
|
|
7556
7556
|
case "submit":
|
|
7557
7557
|
if (!arg) {
|
|
@@ -7594,7 +7594,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
|
|
|
7594
7594
|
}
|
|
7595
7595
|
});
|
|
7596
7596
|
program.command("mcp-serve").description("Start an MCP server over STDIO, exposing aicli's built-in tools to Claude Desktop / Cursor / other MCP clients").option("--allow-destructive", "Allow bash / run_interactive / task_create (always destructive in MCP mode)").option("--allow-outside-cwd", "Allow tool path arguments to escape the sandbox root \u2014 disabled by default").option("--tools <list>", "Comma-separated whitelist of tools to expose (default: all eligible tools)").option("--cwd <path>", "Working directory AND sandbox root (default: current directory)").action(async (options) => {
|
|
7597
|
-
const { startMcpServer } = await import("./server-
|
|
7597
|
+
const { startMcpServer } = await import("./server-PBOIZFFD.js");
|
|
7598
7598
|
await startMcpServer({
|
|
7599
7599
|
allowDestructive: !!options.allowDestructive,
|
|
7600
7600
|
allowOutsideCwd: !!options.allowOutsideCwd,
|
|
@@ -7721,7 +7721,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
|
|
|
7721
7721
|
}),
|
|
7722
7722
|
config.get("customProviders")
|
|
7723
7723
|
);
|
|
7724
|
-
const { startHub } = await import("./hub-
|
|
7724
|
+
const { startHub } = await import("./hub-X4ISNM7B.js");
|
|
7725
7725
|
await startHub(
|
|
7726
7726
|
{
|
|
7727
7727
|
topic: topic ?? "",
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
loadDevState,
|
|
15
15
|
persistToolRound,
|
|
16
16
|
setupProxy
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-DES5NNPU.js";
|
|
18
18
|
import {
|
|
19
19
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
20
20
|
HALLUCINATION_CORRECTION_MESSAGE,
|
|
@@ -28,10 +28,10 @@ import {
|
|
|
28
28
|
looksLikeDocumentBody,
|
|
29
29
|
stripPseudoToolCalls,
|
|
30
30
|
stripToolCallReminder
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-INPG2HXR.js";
|
|
32
32
|
import {
|
|
33
33
|
ConfigManager
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-WLZJANJO.js";
|
|
35
35
|
import {
|
|
36
36
|
ToolExecutor,
|
|
37
37
|
ToolRegistry,
|
|
@@ -49,14 +49,14 @@ import {
|
|
|
49
49
|
spawnAgentContext,
|
|
50
50
|
truncateOutput,
|
|
51
51
|
undoStack
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-Q3ZEZHSU.js";
|
|
53
53
|
import "./chunk-3BICTI5M.js";
|
|
54
54
|
import "./chunk-2DXY7UGF.js";
|
|
55
|
-
import "./chunk-
|
|
55
|
+
import "./chunk-KSLJCZCE.js";
|
|
56
56
|
import {
|
|
57
57
|
getDangerLevel,
|
|
58
58
|
runTool
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-G3CH252E.js";
|
|
60
60
|
import "./chunk-2ZD3YTVM.js";
|
|
61
61
|
import {
|
|
62
62
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
@@ -76,7 +76,7 @@ import {
|
|
|
76
76
|
SKILLS_DIR_NAME,
|
|
77
77
|
VERSION,
|
|
78
78
|
buildUserIdentityPrompt
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-NSTXHD33.js";
|
|
80
80
|
import {
|
|
81
81
|
formatGitContextForPrompt,
|
|
82
82
|
getGitContext,
|
|
@@ -2460,7 +2460,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
2460
2460
|
case "test": {
|
|
2461
2461
|
this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
2462
2462
|
try {
|
|
2463
|
-
const { executeTests } = await import("./run-tests-
|
|
2463
|
+
const { executeTests } = await import("./run-tests-QER6ETNZ.js");
|
|
2464
2464
|
const argStr = args.join(" ").trim();
|
|
2465
2465
|
let testArgs = {};
|
|
2466
2466
|
if (argStr) {
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ToolRegistry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Q3ZEZHSU.js";
|
|
5
5
|
import "./chunk-3BICTI5M.js";
|
|
6
6
|
import "./chunk-2DXY7UGF.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-KSLJCZCE.js";
|
|
8
8
|
import {
|
|
9
9
|
getDangerLevel,
|
|
10
10
|
runTool,
|
|
11
11
|
schemaToJsonSchema
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-G3CH252E.js";
|
|
13
13
|
import "./chunk-2ZD3YTVM.js";
|
|
14
14
|
import {
|
|
15
15
|
VERSION
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-NSTXHD33.js";
|
|
17
17
|
import "./chunk-4BKXL7SM.js";
|
|
18
18
|
import "./chunk-7ZJN4KLV.js";
|
|
19
19
|
import "./chunk-KHYD3WXE.js";
|
|
@@ -3,18 +3,18 @@ import {
|
|
|
3
3
|
ToolRegistry,
|
|
4
4
|
googleSearchContext,
|
|
5
5
|
truncateOutput
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-Q3ZEZHSU.js";
|
|
7
7
|
import "./chunk-3BICTI5M.js";
|
|
8
8
|
import "./chunk-2DXY7UGF.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-KSLJCZCE.js";
|
|
10
10
|
import {
|
|
11
11
|
getDangerLevel,
|
|
12
12
|
runTool
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-G3CH252E.js";
|
|
14
14
|
import "./chunk-2ZD3YTVM.js";
|
|
15
15
|
import {
|
|
16
16
|
SUBAGENT_ALLOWED_TOOLS
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-NSTXHD33.js";
|
|
18
18
|
import "./chunk-4BKXL7SM.js";
|
|
19
19
|
import "./chunk-7ZJN4KLV.js";
|
|
20
20
|
import "./chunk-KHYD3WXE.js";
|