jinzd-ai-cli 0.4.148 → 0.4.150
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-7NBAFZLJ.js → batch-KGBSTQU3.js} +2 -2
- package/dist/{chunk-NPK7RMWZ.js → chunk-D5KUERWQ.js} +2 -2
- package/dist/{chunk-KIX6VPQ4.js → chunk-G6LBSAVY.js} +1 -1
- package/dist/{chunk-FPUYLLJ4.js → chunk-ONOVJIL2.js} +27 -3
- package/dist/{chunk-7ZCBHBO2.js → chunk-PCDBAZJK.js} +8 -3
- package/dist/{chunk-QDEJJT2V.js → chunk-QXRDETAI.js} +1 -1
- package/dist/{chunk-TWQJOSWT.js → chunk-RCDS54ZC.js} +1 -1
- package/dist/{chunk-YU2HAZCB.js → chunk-TUGKYLIV.js} +1 -1
- package/dist/{chunk-7ED4OKOB.js → chunk-V6L44Y3F.js} +1 -1
- package/dist/{chunk-FUJYXYGW.js → chunk-XYM3PCVR.js} +1 -1
- package/dist/{ci-ZGTKQ2A6.js → ci-XHNSTENI.js} +3 -3
- package/dist/{constants-KJNSQ43O.js → constants-U2QQSUYK.js} +1 -1
- package/dist/{doctor-cli-7FIWJKQW.js → doctor-cli-5LFGU2TS.js} +5 -5
- package/dist/electron-server.js +34 -5
- package/dist/{hub-G2OEF5J6.js → hub-OGEDS4X7.js} +1 -1
- package/dist/index.js +16 -16
- package/dist/{run-tests-ZMXYHMZF.js → run-tests-Q7COBDVK.js} +2 -2
- package/dist/{run-tests-DX6M7KUI.js → run-tests-YSHH37SS.js} +1 -1
- package/dist/{server-ZSUGLHRH.js → server-5HDA5MNI.js} +8 -8
- package/dist/{server-2JICP7A3.js → server-J2GQRZP3.js} +4 -4
- package/dist/{task-orchestrator-GAQC755J.js → task-orchestrator-XBPAOLYD.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-RCDS54ZC.js";
|
|
5
5
|
import "./chunk-2ZD3YTVM.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-QXRDETAI.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-PCDBAZJK.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-QXRDETAI.js";
|
|
15
15
|
import {
|
|
16
16
|
redactJson
|
|
17
17
|
} from "./chunk-7ZJN4KLV.js";
|
|
@@ -1920,10 +1920,34 @@ Rules you MUST follow:
|
|
|
1920
1920
|
- When generating multiple files: call write_file for file 1 \u2192 call write_file for file 2 \u2192 ... \u2192 THEN summarize.
|
|
1921
1921
|
- If you catch yourself writing markdown/code that should be a file, STOP and use write_file instead.
|
|
1922
1922
|
- The system will detect and reject phantom claims. Each failed detection wastes a round. Be honest.`;
|
|
1923
|
-
var KimiProvider = class extends OpenAICompatibleProvider {
|
|
1923
|
+
var KimiProvider = class _KimiProvider extends OpenAICompatibleProvider {
|
|
1924
1924
|
defaultBaseUrl = "https://api.moonshot.ai/v1";
|
|
1925
1925
|
// 禁用流式工具调用:Kimi 的 XML 伪调用检测(方案 A)需要完整响应
|
|
1926
1926
|
enableStreamingToolCalls = false;
|
|
1927
|
+
/**
|
|
1928
|
+
* Kimi K2.x 系列(非 moonshot-v1)只允许 temperature=1。
|
|
1929
|
+
* 其他值会收到 400 "invalid temperature: only 1 is allowed for this model"。
|
|
1930
|
+
*/
|
|
1931
|
+
static TEMP_1_MODELS = /* @__PURE__ */ new Set([
|
|
1932
|
+
"kimi-k2.6",
|
|
1933
|
+
"kimi-k2.5",
|
|
1934
|
+
"kimi-k2-thinking",
|
|
1935
|
+
"kimi-k2-thinking-turbo",
|
|
1936
|
+
"kimi-k2-0905-preview"
|
|
1937
|
+
]);
|
|
1938
|
+
/** 对需要固定 temperature=1 的模型自动修正请求。 */
|
|
1939
|
+
fixTemp(req) {
|
|
1940
|
+
if (_KimiProvider.TEMP_1_MODELS.has(req.model) && req.temperature !== 1) {
|
|
1941
|
+
return { ...req, temperature: 1 };
|
|
1942
|
+
}
|
|
1943
|
+
return req;
|
|
1944
|
+
}
|
|
1945
|
+
async chat(request) {
|
|
1946
|
+
return super.chat(this.fixTemp(request));
|
|
1947
|
+
}
|
|
1948
|
+
async *chatStream(request) {
|
|
1949
|
+
yield* super.chatStream(this.fixTemp(request));
|
|
1950
|
+
}
|
|
1927
1951
|
info = {
|
|
1928
1952
|
id: "kimi",
|
|
1929
1953
|
displayName: "Kimi (Moonshot AI)",
|
|
@@ -2014,10 +2038,10 @@ var KimiProvider = class extends OpenAICompatibleProvider {
|
|
|
2014
2038
|
* 自动检测并解析,转换为真实 ToolCall 对象送入执行器。
|
|
2015
2039
|
*/
|
|
2016
2040
|
async chatWithTools(request, tools) {
|
|
2017
|
-
const enhancedRequest = {
|
|
2041
|
+
const enhancedRequest = this.fixTemp({
|
|
2018
2042
|
...request,
|
|
2019
2043
|
systemPrompt: (request.systemPrompt ?? "") + KIMI_XML_REMINDER
|
|
2020
|
-
};
|
|
2044
|
+
});
|
|
2021
2045
|
const result = await super.chatWithTools(enhancedRequest, tools);
|
|
2022
2046
|
if ("content" in result && result.content) {
|
|
2023
2047
|
if (detectsHallucinatedFileOp(result.content)) {
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
} from "./chunk-UQQJWHRV.js";
|
|
6
6
|
import {
|
|
7
7
|
runTestsTool
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-XYM3PCVR.js";
|
|
9
9
|
import {
|
|
10
10
|
runTool
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-V6L44Y3F.js";
|
|
12
12
|
import {
|
|
13
13
|
getDangerLevel,
|
|
14
14
|
isFileWriteTool
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
SUBAGENT_ALLOWED_TOOLS,
|
|
26
26
|
SUBAGENT_DEFAULT_MAX_ROUNDS,
|
|
27
27
|
SUBAGENT_MAX_ROUNDS_LIMIT
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-QXRDETAI.js";
|
|
29
29
|
import {
|
|
30
30
|
fileCheckpoints
|
|
31
31
|
} from "./chunk-4BKXL7SM.js";
|
|
@@ -425,6 +425,11 @@ function buildErrorHint(command, stderr) {
|
|
|
425
425
|
`Hint: On Windows, "-ErrorAction SilentlyContinue" silences the error MESSAGE but does NOT change the exit code \u2014 the process still exits 1 when the path doesn't exist (because powershell.exe -NonInteractive flips the exit code on any non-terminating error, silenced or not). If you're just probing for existence, use Test-Path instead \u2014 it returns $true/$false without raising: \`if (Test-Path ./mydir) { Get-ChildItem ./mydir }\` or unconditionally use \`New-Item -ItemType Directory -Force -Path ./mydir\` which is idempotent. Don't retry the same -ErrorAction SilentlyContinue probe expecting a different result.`
|
|
426
426
|
);
|
|
427
427
|
}
|
|
428
|
+
if (IS_WINDOWS && /\bWrite-(?:Content|File)\b/i.test(command) && /(not recognized|无法将.*识别|不是.*cmdlet|CommandNotFoundException)/i.test(stderr)) {
|
|
429
|
+
hints.push(
|
|
430
|
+
`Hint: 'Write-Content' / 'Write-File' are NOT PowerShell cmdlets (common LLM hallucination). To write a file, prefer the built-in 'write_file' tool \u2014 it handles encoding/escaping cleanly and supports diff preview. If you must stay in bash: use 'Set-Content -Path <file> -Value <string> -Encoding utf8' (overwrites) or 'Add-Content' (appends) or 'Out-File -FilePath <file> -Encoding utf8'.`
|
|
431
|
+
);
|
|
432
|
+
}
|
|
428
433
|
const colMissing = stderr.match(/column "([^"]+)" does not exist/i);
|
|
429
434
|
if (colMissing) {
|
|
430
435
|
hints.push(
|
|
@@ -6,15 +6,15 @@ import {
|
|
|
6
6
|
} from "./chunk-HLWUDRBO.js";
|
|
7
7
|
import {
|
|
8
8
|
ProviderRegistry
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ONOVJIL2.js";
|
|
10
10
|
import {
|
|
11
11
|
ConfigManager
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-RCDS54ZC.js";
|
|
13
13
|
import "./chunk-OWPFDHKC.js";
|
|
14
14
|
import "./chunk-2ZD3YTVM.js";
|
|
15
15
|
import {
|
|
16
16
|
VERSION
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-QXRDETAI.js";
|
|
18
18
|
import "./chunk-PDX44BCA.js";
|
|
19
19
|
|
|
20
20
|
// src/cli/ci.ts
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
import {
|
|
3
3
|
getConfigDirUsage,
|
|
4
4
|
listRecentCrashes
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-G6LBSAVY.js";
|
|
6
6
|
import {
|
|
7
7
|
ProviderRegistry
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ONOVJIL2.js";
|
|
9
9
|
import {
|
|
10
10
|
ConfigManager
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-RCDS54ZC.js";
|
|
12
12
|
import {
|
|
13
13
|
getStatsSnapshot,
|
|
14
14
|
getTopFailingTools,
|
|
15
15
|
getTopUsedTools,
|
|
16
16
|
resetStats
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-V6L44Y3F.js";
|
|
18
18
|
import "./chunk-OWPFDHKC.js";
|
|
19
19
|
import "./chunk-2ZD3YTVM.js";
|
|
20
20
|
import {
|
|
21
21
|
DEV_STATE_FILE_NAME,
|
|
22
22
|
MEMORY_FILE_NAME,
|
|
23
23
|
VERSION
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-QXRDETAI.js";
|
|
25
25
|
import "./chunk-PDX44BCA.js";
|
|
26
26
|
|
|
27
27
|
// 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-TUGKYLIV.js";
|
|
40
40
|
import {
|
|
41
41
|
hasSemanticIndex,
|
|
42
42
|
semanticSearch
|
|
@@ -2448,10 +2448,34 @@ Rules you MUST follow:
|
|
|
2448
2448
|
- When generating multiple files: call write_file for file 1 \u2192 call write_file for file 2 \u2192 ... \u2192 THEN summarize.
|
|
2449
2449
|
- If you catch yourself writing markdown/code that should be a file, STOP and use write_file instead.
|
|
2450
2450
|
- The system will detect and reject phantom claims. Each failed detection wastes a round. Be honest.`;
|
|
2451
|
-
var KimiProvider = class extends OpenAICompatibleProvider {
|
|
2451
|
+
var KimiProvider = class _KimiProvider extends OpenAICompatibleProvider {
|
|
2452
2452
|
defaultBaseUrl = "https://api.moonshot.ai/v1";
|
|
2453
2453
|
// 禁用流式工具调用:Kimi 的 XML 伪调用检测(方案 A)需要完整响应
|
|
2454
2454
|
enableStreamingToolCalls = false;
|
|
2455
|
+
/**
|
|
2456
|
+
* Kimi K2.x 系列(非 moonshot-v1)只允许 temperature=1。
|
|
2457
|
+
* 其他值会收到 400 "invalid temperature: only 1 is allowed for this model"。
|
|
2458
|
+
*/
|
|
2459
|
+
static TEMP_1_MODELS = /* @__PURE__ */ new Set([
|
|
2460
|
+
"kimi-k2.6",
|
|
2461
|
+
"kimi-k2.5",
|
|
2462
|
+
"kimi-k2-thinking",
|
|
2463
|
+
"kimi-k2-thinking-turbo",
|
|
2464
|
+
"kimi-k2-0905-preview"
|
|
2465
|
+
]);
|
|
2466
|
+
/** 对需要固定 temperature=1 的模型自动修正请求。 */
|
|
2467
|
+
fixTemp(req) {
|
|
2468
|
+
if (_KimiProvider.TEMP_1_MODELS.has(req.model) && req.temperature !== 1) {
|
|
2469
|
+
return { ...req, temperature: 1 };
|
|
2470
|
+
}
|
|
2471
|
+
return req;
|
|
2472
|
+
}
|
|
2473
|
+
async chat(request) {
|
|
2474
|
+
return super.chat(this.fixTemp(request));
|
|
2475
|
+
}
|
|
2476
|
+
async *chatStream(request) {
|
|
2477
|
+
yield* super.chatStream(this.fixTemp(request));
|
|
2478
|
+
}
|
|
2455
2479
|
info = {
|
|
2456
2480
|
id: "kimi",
|
|
2457
2481
|
displayName: "Kimi (Moonshot AI)",
|
|
@@ -2542,10 +2566,10 @@ var KimiProvider = class extends OpenAICompatibleProvider {
|
|
|
2542
2566
|
* 自动检测并解析,转换为真实 ToolCall 对象送入执行器。
|
|
2543
2567
|
*/
|
|
2544
2568
|
async chatWithTools(request, tools) {
|
|
2545
|
-
const enhancedRequest = {
|
|
2569
|
+
const enhancedRequest = this.fixTemp({
|
|
2546
2570
|
...request,
|
|
2547
2571
|
systemPrompt: (request.systemPrompt ?? "") + KIMI_XML_REMINDER
|
|
2548
|
-
};
|
|
2572
|
+
});
|
|
2549
2573
|
const result = await super.chatWithTools(enhancedRequest, tools);
|
|
2550
2574
|
if ("content" in result && result.content) {
|
|
2551
2575
|
if (detectsHallucinatedFileOp(result.content)) {
|
|
@@ -4163,6 +4187,11 @@ function buildErrorHint(command, stderr) {
|
|
|
4163
4187
|
`Hint: On Windows, "-ErrorAction SilentlyContinue" silences the error MESSAGE but does NOT change the exit code \u2014 the process still exits 1 when the path doesn't exist (because powershell.exe -NonInteractive flips the exit code on any non-terminating error, silenced or not). If you're just probing for existence, use Test-Path instead \u2014 it returns $true/$false without raising: \`if (Test-Path ./mydir) { Get-ChildItem ./mydir }\` or unconditionally use \`New-Item -ItemType Directory -Force -Path ./mydir\` which is idempotent. Don't retry the same -ErrorAction SilentlyContinue probe expecting a different result.`
|
|
4164
4188
|
);
|
|
4165
4189
|
}
|
|
4190
|
+
if (IS_WINDOWS && /\bWrite-(?:Content|File)\b/i.test(command) && /(not recognized|无法将.*识别|不是.*cmdlet|CommandNotFoundException)/i.test(stderr)) {
|
|
4191
|
+
hints.push(
|
|
4192
|
+
`Hint: 'Write-Content' / 'Write-File' are NOT PowerShell cmdlets (common LLM hallucination). To write a file, prefer the built-in 'write_file' tool \u2014 it handles encoding/escaping cleanly and supports diff preview. If you must stay in bash: use 'Set-Content -Path <file> -Value <string> -Encoding utf8' (overwrites) or 'Add-Content' (appends) or 'Out-File -FilePath <file> -Encoding utf8'.`
|
|
4193
|
+
);
|
|
4194
|
+
}
|
|
4166
4195
|
const colMissing = stderr.match(/column "([^"]+)" does not exist/i);
|
|
4167
4196
|
if (colMissing) {
|
|
4168
4197
|
hints.push(
|
|
@@ -12610,7 +12639,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
12610
12639
|
case "test": {
|
|
12611
12640
|
this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
12612
12641
|
try {
|
|
12613
|
-
const { executeTests } = await import("./run-tests-
|
|
12642
|
+
const { executeTests } = await import("./run-tests-YSHH37SS.js");
|
|
12614
12643
|
const argStr = args.join(" ").trim();
|
|
12615
12644
|
let testArgs = {};
|
|
12616
12645
|
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-XBPAOLYD.js");
|
|
390
390
|
const orchestrator = new TaskOrchestrator(config, providers, configManager);
|
|
391
391
|
let interrupted = false;
|
|
392
392
|
const onSigint = () => {
|
package/dist/index.js
CHANGED
|
@@ -20,12 +20,12 @@ import {
|
|
|
20
20
|
saveDevState,
|
|
21
21
|
sessionHasMeaningfulContent,
|
|
22
22
|
setupProxy
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-D5KUERWQ.js";
|
|
24
24
|
import {
|
|
25
25
|
getConfigDirUsage,
|
|
26
26
|
listRecentCrashes,
|
|
27
27
|
writeCrashLog
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-G6LBSAVY.js";
|
|
29
29
|
import {
|
|
30
30
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
31
31
|
HALLUCINATION_CORRECTION_MESSAGE,
|
|
@@ -43,10 +43,10 @@ import {
|
|
|
43
43
|
looksLikeDocumentBody,
|
|
44
44
|
stripPseudoToolCalls,
|
|
45
45
|
stripToolCallReminder
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-ONOVJIL2.js";
|
|
47
47
|
import {
|
|
48
48
|
ConfigManager
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-RCDS54ZC.js";
|
|
50
50
|
import {
|
|
51
51
|
ToolExecutor,
|
|
52
52
|
ToolRegistry,
|
|
@@ -65,16 +65,16 @@ import {
|
|
|
65
65
|
spawnAgentContext,
|
|
66
66
|
theme,
|
|
67
67
|
undoStack
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-PCDBAZJK.js";
|
|
69
69
|
import "./chunk-UQQJWHRV.js";
|
|
70
70
|
import "./chunk-2DXY7UGF.js";
|
|
71
|
-
import "./chunk-
|
|
71
|
+
import "./chunk-XYM3PCVR.js";
|
|
72
72
|
import {
|
|
73
73
|
getStatsSnapshot,
|
|
74
74
|
getTopFailingTools,
|
|
75
75
|
getTopUsedTools,
|
|
76
76
|
installFlushOnExit
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-V6L44Y3F.js";
|
|
78
78
|
import "./chunk-OWPFDHKC.js";
|
|
79
79
|
import {
|
|
80
80
|
AuthError,
|
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
SKILLS_DIR_NAME,
|
|
103
103
|
VERSION,
|
|
104
104
|
buildUserIdentityPrompt
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-QXRDETAI.js";
|
|
106
106
|
import {
|
|
107
107
|
formatGitContextForPrompt,
|
|
108
108
|
getGitContext,
|
|
@@ -1769,7 +1769,7 @@ No tools match "${filter}".
|
|
|
1769
1769
|
const { join: join6 } = await import("path");
|
|
1770
1770
|
const { existsSync: existsSync6 } = await import("fs");
|
|
1771
1771
|
const { getGitRoot: getGitRoot2 } = await import("./git-context-7KIP4X2V.js");
|
|
1772
|
-
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-
|
|
1772
|
+
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-U2QQSUYK.js");
|
|
1773
1773
|
const { approveProject, hashMcpFile } = await import("./project-trust-IFM7FXEV.js");
|
|
1774
1774
|
const cwd = process.cwd();
|
|
1775
1775
|
const projectRoot = getGitRoot2(cwd) ?? cwd;
|
|
@@ -2830,7 +2830,7 @@ ${hint}` : "")
|
|
|
2830
2830
|
usage: "/test [command|filter]",
|
|
2831
2831
|
async execute(args, ctx) {
|
|
2832
2832
|
try {
|
|
2833
|
-
const { executeTests } = await import("./run-tests-
|
|
2833
|
+
const { executeTests } = await import("./run-tests-Q7COBDVK.js");
|
|
2834
2834
|
const argStr = args.join(" ").trim();
|
|
2835
2835
|
let testArgs = {};
|
|
2836
2836
|
if (argStr) {
|
|
@@ -7530,7 +7530,7 @@ program.command("web").description("Start Web UI server with browser-based chat
|
|
|
7530
7530
|
console.error("Error: Invalid port number. Must be between 1 and 65535.");
|
|
7531
7531
|
process.exit(1);
|
|
7532
7532
|
}
|
|
7533
|
-
const { startWebServer } = await import("./server-
|
|
7533
|
+
const { startWebServer } = await import("./server-5HDA5MNI.js");
|
|
7534
7534
|
await startWebServer({ port, host: options.host });
|
|
7535
7535
|
});
|
|
7536
7536
|
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) => {
|
|
@@ -7697,12 +7697,12 @@ program.command("sessions").description("List recent conversation sessions").opt
|
|
|
7697
7697
|
console.log(footer + "\n");
|
|
7698
7698
|
});
|
|
7699
7699
|
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) => {
|
|
7700
|
-
const { runDoctorCli } = await import("./doctor-cli-
|
|
7700
|
+
const { runDoctorCli } = await import("./doctor-cli-5LFGU2TS.js");
|
|
7701
7701
|
await runDoctorCli({ json: !!options.json, resetStats: !!options.resetStats });
|
|
7702
7702
|
});
|
|
7703
7703
|
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) => {
|
|
7704
7704
|
try {
|
|
7705
|
-
const batch = await import("./batch-
|
|
7705
|
+
const batch = await import("./batch-KGBSTQU3.js");
|
|
7706
7706
|
switch (action) {
|
|
7707
7707
|
case "submit":
|
|
7708
7708
|
if (!arg) {
|
|
@@ -7745,7 +7745,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
|
|
|
7745
7745
|
}
|
|
7746
7746
|
});
|
|
7747
7747
|
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) => {
|
|
7748
|
-
const { startMcpServer } = await import("./server-
|
|
7748
|
+
const { startMcpServer } = await import("./server-J2GQRZP3.js");
|
|
7749
7749
|
await startMcpServer({
|
|
7750
7750
|
allowDestructive: !!options.allowDestructive,
|
|
7751
7751
|
allowOutsideCwd: !!options.allowOutsideCwd,
|
|
@@ -7754,7 +7754,7 @@ program.command("mcp-serve").description("Start an MCP server over STDIO, exposi
|
|
|
7754
7754
|
});
|
|
7755
7755
|
});
|
|
7756
7756
|
program.command("ci").description("Headless PR review (code + security) \u2014 reads git/gh diff, optionally posts to PR. Designed for GitHub Actions.").option("--pr <num>", "PR number; diff fetched via `gh pr diff <num>`", (v) => parseInt(v, 10)).option("--base <ref>", "Base ref for `git diff <ref>...HEAD` (ignored when --pr set)").option("--post", "Post review as a PR comment (requires gh CLI + GH_TOKEN, needs --pr)").option("--no-update", "Always create a new comment instead of updating the previous aicli review").option("--skip-code", "Skip the code review section").option("--skip-security", "Skip the security review section").option("--detailed", "Use the detailed code-review prompt").option("--max-diff <n>", "Max diff chars sent to the model (default 30000)", (v) => parseInt(v, 10)).option("--provider <id>", "Override provider (default: config.defaultProvider)").option("--model <id>", "Override model").option("--dry-run", "Print result to stdout instead of posting (overrides --post)").action(async (options) => {
|
|
7757
|
-
const { runCi } = await import("./ci-
|
|
7757
|
+
const { runCi } = await import("./ci-XHNSTENI.js");
|
|
7758
7758
|
const result = await runCi({
|
|
7759
7759
|
pr: options.pr,
|
|
7760
7760
|
base: options.base,
|
|
@@ -7895,7 +7895,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
|
|
|
7895
7895
|
}),
|
|
7896
7896
|
config.get("customProviders")
|
|
7897
7897
|
);
|
|
7898
|
-
const { startHub } = await import("./hub-
|
|
7898
|
+
const { startHub } = await import("./hub-OGEDS4X7.js");
|
|
7899
7899
|
await startHub(
|
|
7900
7900
|
{
|
|
7901
7901
|
topic: topic ?? "",
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
loadDevState,
|
|
15
15
|
persistToolRound,
|
|
16
16
|
setupProxy
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-D5KUERWQ.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-ONOVJIL2.js";
|
|
32
32
|
import {
|
|
33
33
|
ConfigManager
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-RCDS54ZC.js";
|
|
35
35
|
import {
|
|
36
36
|
ToolExecutor,
|
|
37
37
|
ToolRegistry,
|
|
@@ -49,13 +49,13 @@ import {
|
|
|
49
49
|
spawnAgentContext,
|
|
50
50
|
truncateOutput,
|
|
51
51
|
undoStack
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-PCDBAZJK.js";
|
|
53
53
|
import "./chunk-UQQJWHRV.js";
|
|
54
54
|
import "./chunk-2DXY7UGF.js";
|
|
55
|
-
import "./chunk-
|
|
55
|
+
import "./chunk-XYM3PCVR.js";
|
|
56
56
|
import {
|
|
57
57
|
runTool
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-V6L44Y3F.js";
|
|
59
59
|
import {
|
|
60
60
|
getDangerLevel
|
|
61
61
|
} from "./chunk-OWPFDHKC.js";
|
|
@@ -78,7 +78,7 @@ import {
|
|
|
78
78
|
SKILLS_DIR_NAME,
|
|
79
79
|
VERSION,
|
|
80
80
|
buildUserIdentityPrompt
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-QXRDETAI.js";
|
|
82
82
|
import {
|
|
83
83
|
formatGitContextForPrompt,
|
|
84
84
|
getGitContext,
|
|
@@ -2462,7 +2462,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
2462
2462
|
case "test": {
|
|
2463
2463
|
this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
2464
2464
|
try {
|
|
2465
|
-
const { executeTests } = await import("./run-tests-
|
|
2465
|
+
const { executeTests } = await import("./run-tests-Q7COBDVK.js");
|
|
2466
2466
|
const argStr = args.join(" ").trim();
|
|
2467
2467
|
let testArgs = {};
|
|
2468
2468
|
if (argStr) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ToolRegistry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PCDBAZJK.js";
|
|
5
5
|
import "./chunk-UQQJWHRV.js";
|
|
6
6
|
import "./chunk-2DXY7UGF.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-XYM3PCVR.js";
|
|
8
8
|
import {
|
|
9
9
|
runTool
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-V6L44Y3F.js";
|
|
11
11
|
import {
|
|
12
12
|
getDangerLevel,
|
|
13
13
|
schemaToJsonSchema
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import "./chunk-2ZD3YTVM.js";
|
|
16
16
|
import {
|
|
17
17
|
VERSION
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-QXRDETAI.js";
|
|
19
19
|
import "./chunk-4BKXL7SM.js";
|
|
20
20
|
import "./chunk-7ZJN4KLV.js";
|
|
21
21
|
import "./chunk-KHYD3WXE.js";
|
|
@@ -3,20 +3,20 @@ import {
|
|
|
3
3
|
ToolRegistry,
|
|
4
4
|
googleSearchContext,
|
|
5
5
|
truncateOutput
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PCDBAZJK.js";
|
|
7
7
|
import "./chunk-UQQJWHRV.js";
|
|
8
8
|
import "./chunk-2DXY7UGF.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-XYM3PCVR.js";
|
|
10
10
|
import {
|
|
11
11
|
runTool
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-V6L44Y3F.js";
|
|
13
13
|
import {
|
|
14
14
|
getDangerLevel
|
|
15
15
|
} from "./chunk-OWPFDHKC.js";
|
|
16
16
|
import "./chunk-2ZD3YTVM.js";
|
|
17
17
|
import {
|
|
18
18
|
SUBAGENT_ALLOWED_TOOLS
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-QXRDETAI.js";
|
|
20
20
|
import "./chunk-4BKXL7SM.js";
|
|
21
21
|
import "./chunk-7ZJN4KLV.js";
|
|
22
22
|
import "./chunk-KHYD3WXE.js";
|