jinzd-ai-cli 0.4.198 → 0.4.200
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-UPAJJM4S.js → batch-5N4CXARG.js} +2 -2
- package/dist/{chunk-JNTNFMUI.js → chunk-2G62CKDL.js} +1 -1
- package/dist/{chunk-FTEBOWES.js → chunk-5SA7IACI.js} +2 -2
- package/dist/{chunk-YZH2QQXJ.js → chunk-5UR6ZOF4.js} +8 -4
- package/dist/{chunk-BJFKN43R.js → chunk-CITDVXXM.js} +1 -1
- package/dist/{chunk-FEW6C44P.js → chunk-E44DTERW.js} +2 -0
- package/dist/{chunk-JXBI4A26.js → chunk-FQF6YJ6F.js} +4 -4
- package/dist/{chunk-VVDR6J33.js → chunk-HUTS2F6Y.js} +1 -1
- package/dist/{chunk-BNYDNBQ6.js → chunk-IDMCBIYZ.js} +1 -1
- package/dist/{chunk-TJDPET3O.js → chunk-JP6ESDV7.js} +16 -6
- package/dist/{chunk-WVOKCJ22.js → chunk-JZCXULOJ.js} +1 -1
- package/dist/{chunk-V774Y7YA.js → chunk-NULOZSFA.js} +1 -1
- package/dist/{chunk-X666WBI7.js → chunk-TBGVHRCL.js} +1 -1
- package/dist/{ci-ULLX35AU.js → ci-2ZSBYWJE.js} +4 -4
- package/dist/{constants-S3KQY5XK.js → constants-GMPGZM4D.js} +1 -1
- package/dist/{doctor-cli-S5G4BHHP.js → doctor-cli-PG52ECBH.js} +6 -6
- package/dist/electron-server.js +27 -11
- package/dist/{hub-OV5B5ISN.js → hub-AI4ICH5E.js} +1 -1
- package/dist/index.js +28 -29
- package/dist/{run-tests-JBP4FQYG.js → run-tests-G2MCAQJL.js} +1 -1
- package/dist/{run-tests-JGCDJRGT.js → run-tests-NUWLWMHZ.js} +2 -2
- package/dist/{server-JPDJTIPS.js → server-74PZ2PDM.js} +5 -5
- package/dist/{server-FLEM3PSQ.js → server-Y3XEAXTC.js} +10 -10
- package/dist/{task-orchestrator-BSJQDYPN.js → task-orchestrator-IF3XCVZ7.js} +5 -5
- package/dist/{usage-SUWIYMAI.js → usage-7BAT3772.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-NULOZSFA.js";
|
|
5
5
|
import "./chunk-TZQHYZKT.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-IDMCBIYZ.js";
|
|
7
7
|
import {
|
|
8
8
|
atomicWriteFileSync
|
|
9
9
|
} from "./chunk-IW3Q7AE5.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
truncateForPersist
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FQF6YJ6F.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-IDMCBIYZ.js";
|
|
15
15
|
|
|
16
16
|
// src/mcp/client.ts
|
|
17
17
|
import { spawn } from "child_process";
|
|
@@ -83,10 +83,14 @@ var HALLUCINATION_PATTERNS = [
|
|
|
83
83
|
// 已成功保存 / 已成功写入 / 已成功创建
|
|
84
84
|
/保存[到至]了?\s*[`'"]/,
|
|
85
85
|
// 保存到了 `path` / 保存至 'path'
|
|
86
|
-
|
|
87
|
-
//
|
|
88
|
-
|
|
89
|
-
//
|
|
86
|
+
// 「教案/文件…内容如下:」后跟正文 dump。要求紧邻一个**文档类名词**——否则
|
|
87
|
+
// “这张图片的内容如下:”这类纯描述会被误判成虚假写入声明,在加载了写文件工具的
|
|
88
|
+
// 普通对话/视觉问答里白触发一轮重试(v0.4.200 实战:GLM-5V-Turbo 描述图片时命中
|
|
89
|
+
// 裸 `内容如下:`)。文档名词覆盖本应用实际生成的产物(教案/试卷/讲义…)。
|
|
90
|
+
/(?:文件|教案|试卷|讲义|课件|课程|文档|脚本|配置|程序|报告|表格|清单|笔记)[^\n。.!!??]{0,8}内容如下[::]/,
|
|
91
|
+
// 以下是xx教案[内容]:(Kimi 常见 dump 模式)。同样要求文档类名词,排除
|
|
92
|
+
// “以下是图片的内容:”“以下是修改后的内容:”这类描述/对话。
|
|
93
|
+
/以下是[^\n。.!!??]*?(?:教案|试卷|讲义|课件|课程|文件|文档|脚本|配置|程序|报告|表格|清单)[^\n。.!!??]{0,8}(?:内容)?[::]/
|
|
90
94
|
];
|
|
91
95
|
function detectsHallucinatedFileOp(content) {
|
|
92
96
|
return HALLUCINATION_PATTERNS.some((pattern) => pattern.test(content));
|
|
@@ -61,6 +61,8 @@ var PRICING_TABLE = {
|
|
|
61
61
|
"glm-5": { input: 0.85, output: 2.85 },
|
|
62
62
|
// GLM-5.2(2026-06)官方直连 API 定价 $1.40 / $4.40。
|
|
63
63
|
"glm-5.2": { input: 1.4, output: 4.4 },
|
|
64
|
+
// GLM-5V-Turbo(2026-04 视觉编程旗舰)官方直连 API 定价 $1.20 / $4.00。
|
|
65
|
+
"glm-5v-turbo": { input: 1.2, output: 4 },
|
|
64
66
|
"glm-5.1": { input: 0.95, output: 3.15 },
|
|
65
67
|
"glm-5.1-reasoning": { input: 1.4, output: 4.4 },
|
|
66
68
|
"glm-5.1-air": { input: 0.4, output: 1.2 },
|
|
@@ -5,15 +5,15 @@ import {
|
|
|
5
5
|
} from "./chunk-T2NL5ZIA.js";
|
|
6
6
|
import {
|
|
7
7
|
runTestsTool
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HUTS2F6Y.js";
|
|
9
9
|
import {
|
|
10
10
|
runTool
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JZCXULOJ.js";
|
|
12
12
|
import {
|
|
13
13
|
getDangerLevel,
|
|
14
14
|
isFileWriteTool,
|
|
15
15
|
runLeanAgentLoop
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-5UR6ZOF4.js";
|
|
17
17
|
import {
|
|
18
18
|
EnvLoader,
|
|
19
19
|
NetworkError,
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
SUBAGENT_ALLOWED_TOOLS,
|
|
27
27
|
SUBAGENT_DEFAULT_MAX_ROUNDS,
|
|
28
28
|
SUBAGENT_MAX_ROUNDS_LIMIT
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-IDMCBIYZ.js";
|
|
30
30
|
import {
|
|
31
31
|
fileCheckpoints
|
|
32
32
|
} from "./chunk-4BKXL7SM.js";
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
detectsHallucinatedFileOp,
|
|
4
4
|
repairToolCallArguments,
|
|
5
5
|
schemaToJsonSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5UR6ZOF4.js";
|
|
7
7
|
import {
|
|
8
8
|
AuthError,
|
|
9
9
|
ProviderError,
|
|
@@ -1492,16 +1492,26 @@ var ZhipuProvider = class extends OpenAICompatibleProvider {
|
|
|
1492
1492
|
// ── GLM-5.2 系列(2026-06 最新旗舰,主打代码工程) ──
|
|
1493
1493
|
// 744B MoE / 40B active,与 5.1 同底座,后训练强化超长上下文代码任务。
|
|
1494
1494
|
// 思考模式 High/Max 由请求参数控制,不另列 model id。
|
|
1495
|
-
//
|
|
1496
|
-
//
|
|
1497
|
-
//
|
|
1495
|
+
// 上下文:标准 `glm-5.2` 在 paas/v4 上原生即 1M(open.bigmodel.cn/pricing 定价页
|
|
1496
|
+
// 实测口径 1M,¥8/¥28)。曾被移除的 `glm-5.2[1m]` 是 *带后缀的 model code*——那个
|
|
1497
|
+
// code 只在 GLM Coding Plan 的 Anthropic 兼容端点存在,paas/v4 不认会报「模型不存在」;
|
|
1498
|
+
// 1M 能力本身在标准 code 上就有,无需后缀。
|
|
1498
1499
|
{
|
|
1499
1500
|
id: "glm-5.2",
|
|
1500
|
-
displayName: "GLM-5.2 (2026-06 Flagship,
|
|
1501
|
-
contextWindow:
|
|
1501
|
+
displayName: "GLM-5.2 (2026-06 Flagship, 1M, Coding)",
|
|
1502
|
+
contextWindow: 1048576,
|
|
1502
1503
|
supportsStreaming: true,
|
|
1503
1504
|
supportsThinking: true
|
|
1504
1505
|
},
|
|
1506
|
+
// 视觉编程旗舰:原生多模态(图片 / 短视频 / 文本同上下文)。API model code = `glm-5v-turbo`
|
|
1507
|
+
// (Z.ai 官方文档代码示例确认)。REPL 用 `@./pic.png` 引用本地图即可走 vision 请求;
|
|
1508
|
+
// getVisionModelHint 已识别 `5v` 不拦截。
|
|
1509
|
+
{
|
|
1510
|
+
id: "glm-5v-turbo",
|
|
1511
|
+
displayName: "GLM-5V-Turbo (Multimodal Vision + Coding)",
|
|
1512
|
+
contextWindow: 202752,
|
|
1513
|
+
supportsStreaming: true
|
|
1514
|
+
},
|
|
1505
1515
|
// ── GLM-5.1 系列(2026-04 旗舰,主打长程 Agent + 代码工程) ──
|
|
1506
1516
|
{
|
|
1507
1517
|
id: "glm-5.1",
|
|
@@ -6,15 +6,15 @@ import {
|
|
|
6
6
|
} from "./chunk-HLWUDRBO.js";
|
|
7
7
|
import {
|
|
8
8
|
ProviderRegistry
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-JP6ESDV7.js";
|
|
10
|
+
import "./chunk-5UR6ZOF4.js";
|
|
11
11
|
import {
|
|
12
12
|
ConfigManager
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-NULOZSFA.js";
|
|
14
14
|
import "./chunk-TZQHYZKT.js";
|
|
15
15
|
import {
|
|
16
16
|
VERSION
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-IDMCBIYZ.js";
|
|
18
18
|
|
|
19
19
|
// src/cli/ci.ts
|
|
20
20
|
import { execFileSync, execSync } from "child_process";
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
import {
|
|
3
3
|
getConfigDirUsage,
|
|
4
4
|
listRecentCrashes
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2G62CKDL.js";
|
|
6
6
|
import {
|
|
7
7
|
ProviderRegistry
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-JP6ESDV7.js";
|
|
9
9
|
import {
|
|
10
10
|
getStatsSnapshot,
|
|
11
11
|
getTopFailingTools,
|
|
12
12
|
getTopUsedTools,
|
|
13
13
|
resetStats
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-JZCXULOJ.js";
|
|
15
|
+
import "./chunk-5UR6ZOF4.js";
|
|
16
16
|
import {
|
|
17
17
|
ConfigManager
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-NULOZSFA.js";
|
|
19
19
|
import "./chunk-TZQHYZKT.js";
|
|
20
20
|
import {
|
|
21
21
|
DEV_STATE_FILE_NAME,
|
|
22
22
|
MEMORY_FILE_NAME,
|
|
23
23
|
VERSION
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-IDMCBIYZ.js";
|
|
25
25
|
import "./chunk-IW3Q7AE5.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-TBGVHRCL.js";
|
|
40
40
|
import {
|
|
41
41
|
hasSemanticIndex,
|
|
42
42
|
semanticSearch
|
|
@@ -1591,10 +1591,14 @@ var HALLUCINATION_PATTERNS = [
|
|
|
1591
1591
|
// 已成功保存 / 已成功写入 / 已成功创建
|
|
1592
1592
|
/保存[到至]了?\s*[`'"]/,
|
|
1593
1593
|
// 保存到了 `path` / 保存至 'path'
|
|
1594
|
-
|
|
1595
|
-
//
|
|
1596
|
-
|
|
1597
|
-
//
|
|
1594
|
+
// 「教案/文件…内容如下:」后跟正文 dump。要求紧邻一个**文档类名词**——否则
|
|
1595
|
+
// “这张图片的内容如下:”这类纯描述会被误判成虚假写入声明,在加载了写文件工具的
|
|
1596
|
+
// 普通对话/视觉问答里白触发一轮重试(v0.4.200 实战:GLM-5V-Turbo 描述图片时命中
|
|
1597
|
+
// 裸 `内容如下:`)。文档名词覆盖本应用实际生成的产物(教案/试卷/讲义…)。
|
|
1598
|
+
/(?:文件|教案|试卷|讲义|课件|课程|文档|脚本|配置|程序|报告|表格|清单|笔记)[^\n。.!!??]{0,8}内容如下[::]/,
|
|
1599
|
+
// 以下是xx教案[内容]:(Kimi 常见 dump 模式)。同样要求文档类名词,排除
|
|
1600
|
+
// “以下是图片的内容:”“以下是修改后的内容:”这类描述/对话。
|
|
1601
|
+
/以下是[^\n。.!!??]*?(?:教案|试卷|讲义|课件|课程|文件|文档|脚本|配置|程序|报告|表格|清单)[^\n。.!!??]{0,8}(?:内容)?[::]/
|
|
1598
1602
|
];
|
|
1599
1603
|
function detectsHallucinatedFileOp(content) {
|
|
1600
1604
|
return HALLUCINATION_PATTERNS.some((pattern) => pattern.test(content));
|
|
@@ -3126,16 +3130,26 @@ var ZhipuProvider = class extends OpenAICompatibleProvider {
|
|
|
3126
3130
|
// ── GLM-5.2 系列(2026-06 最新旗舰,主打代码工程) ──
|
|
3127
3131
|
// 744B MoE / 40B active,与 5.1 同底座,后训练强化超长上下文代码任务。
|
|
3128
3132
|
// 思考模式 High/Max 由请求参数控制,不另列 model id。
|
|
3129
|
-
//
|
|
3130
|
-
//
|
|
3131
|
-
//
|
|
3133
|
+
// 上下文:标准 `glm-5.2` 在 paas/v4 上原生即 1M(open.bigmodel.cn/pricing 定价页
|
|
3134
|
+
// 实测口径 1M,¥8/¥28)。曾被移除的 `glm-5.2[1m]` 是 *带后缀的 model code*——那个
|
|
3135
|
+
// code 只在 GLM Coding Plan 的 Anthropic 兼容端点存在,paas/v4 不认会报「模型不存在」;
|
|
3136
|
+
// 1M 能力本身在标准 code 上就有,无需后缀。
|
|
3132
3137
|
{
|
|
3133
3138
|
id: "glm-5.2",
|
|
3134
|
-
displayName: "GLM-5.2 (2026-06 Flagship,
|
|
3135
|
-
contextWindow:
|
|
3139
|
+
displayName: "GLM-5.2 (2026-06 Flagship, 1M, Coding)",
|
|
3140
|
+
contextWindow: 1048576,
|
|
3136
3141
|
supportsStreaming: true,
|
|
3137
3142
|
supportsThinking: true
|
|
3138
3143
|
},
|
|
3144
|
+
// 视觉编程旗舰:原生多模态(图片 / 短视频 / 文本同上下文)。API model code = `glm-5v-turbo`
|
|
3145
|
+
// (Z.ai 官方文档代码示例确认)。REPL 用 `@./pic.png` 引用本地图即可走 vision 请求;
|
|
3146
|
+
// getVisionModelHint 已识别 `5v` 不拦截。
|
|
3147
|
+
{
|
|
3148
|
+
id: "glm-5v-turbo",
|
|
3149
|
+
displayName: "GLM-5V-Turbo (Multimodal Vision + Coding)",
|
|
3150
|
+
contextWindow: 202752,
|
|
3151
|
+
supportsStreaming: true
|
|
3152
|
+
},
|
|
3139
3153
|
// ── GLM-5.1 系列(2026-04 旗舰,主打长程 Agent + 代码工程) ──
|
|
3140
3154
|
{
|
|
3141
3155
|
id: "glm-5.1",
|
|
@@ -11459,6 +11473,8 @@ var PRICING_TABLE = {
|
|
|
11459
11473
|
"glm-5": { input: 0.85, output: 2.85 },
|
|
11460
11474
|
// GLM-5.2(2026-06)官方直连 API 定价 $1.40 / $4.40。
|
|
11461
11475
|
"glm-5.2": { input: 1.4, output: 4.4 },
|
|
11476
|
+
// GLM-5V-Turbo(2026-04 视觉编程旗舰)官方直连 API 定价 $1.20 / $4.00。
|
|
11477
|
+
"glm-5v-turbo": { input: 1.2, output: 4 },
|
|
11462
11478
|
"glm-5.1": { input: 0.95, output: 3.15 },
|
|
11463
11479
|
"glm-5.1-reasoning": { input: 1.4, output: 4.4 },
|
|
11464
11480
|
"glm-5.1-air": { input: 0.4, output: 1.2 },
|
|
@@ -14235,7 +14251,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
14235
14251
|
case "test": {
|
|
14236
14252
|
this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
14237
14253
|
try {
|
|
14238
|
-
const { executeTests } = await import("./run-tests-
|
|
14254
|
+
const { executeTests } = await import("./run-tests-G2MCAQJL.js");
|
|
14239
14255
|
const argStr = args.join(" ").trim();
|
|
14240
14256
|
let testArgs = {};
|
|
14241
14257
|
if (argStr) {
|
|
@@ -154,7 +154,7 @@ ${content}`);
|
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
async function runTaskMode(config, providers, configManager, topic) {
|
|
157
|
-
const { TaskOrchestrator } = await import("./task-orchestrator-
|
|
157
|
+
const { TaskOrchestrator } = await import("./task-orchestrator-IF3XCVZ7.js");
|
|
158
158
|
const orchestrator = new TaskOrchestrator(config, providers, configManager);
|
|
159
159
|
let interrupted = false;
|
|
160
160
|
const onSigint = () => {
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
saveDevState,
|
|
16
16
|
sessionHasMeaningfulContent,
|
|
17
17
|
setupProxy
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-5SA7IACI.js";
|
|
19
19
|
import {
|
|
20
20
|
ToolExecutor,
|
|
21
21
|
ToolRegistry,
|
|
@@ -35,36 +35,36 @@ import {
|
|
|
35
35
|
spawnAgentContext,
|
|
36
36
|
theme,
|
|
37
37
|
undoStack
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-FQF6YJ6F.js";
|
|
39
39
|
import "./chunk-T2NL5ZIA.js";
|
|
40
40
|
import "./chunk-BXP6YZ2P.js";
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-HUTS2F6Y.js";
|
|
42
42
|
import {
|
|
43
43
|
SessionManager,
|
|
44
44
|
getContentText
|
|
45
45
|
} from "./chunk-MC34ISJU.js";
|
|
46
46
|
import {
|
|
47
47
|
CostTracker
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-CITDVXXM.js";
|
|
49
49
|
import {
|
|
50
50
|
computeCost,
|
|
51
51
|
formatCost,
|
|
52
52
|
getPricing
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-E44DTERW.js";
|
|
54
54
|
import {
|
|
55
55
|
getConfigDirUsage,
|
|
56
56
|
listRecentCrashes,
|
|
57
57
|
writeCrashLog
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-2G62CKDL.js";
|
|
59
59
|
import {
|
|
60
60
|
ProviderRegistry
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-JP6ESDV7.js";
|
|
62
62
|
import {
|
|
63
63
|
getStatsSnapshot,
|
|
64
64
|
getTopFailingTools,
|
|
65
65
|
getTopUsedTools,
|
|
66
66
|
installFlushOnExit
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-JZCXULOJ.js";
|
|
68
68
|
import {
|
|
69
69
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
70
70
|
TEE_FINAL_USER_NUDGE,
|
|
@@ -82,10 +82,10 @@ import {
|
|
|
82
82
|
runAgentLoop,
|
|
83
83
|
stripToolCallReminder,
|
|
84
84
|
teeStreamErrorSummary
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-5UR6ZOF4.js";
|
|
86
86
|
import {
|
|
87
87
|
ConfigManager
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-NULOZSFA.js";
|
|
89
89
|
import {
|
|
90
90
|
AuthError,
|
|
91
91
|
ProviderError,
|
|
@@ -112,7 +112,7 @@ import {
|
|
|
112
112
|
SKILLS_DIR_NAME,
|
|
113
113
|
VERSION,
|
|
114
114
|
buildUserIdentityPrompt
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-IDMCBIYZ.js";
|
|
116
116
|
import {
|
|
117
117
|
formatGitContextForPrompt,
|
|
118
118
|
getGitContext,
|
|
@@ -1827,7 +1827,7 @@ No tools match "${filter}".
|
|
|
1827
1827
|
const { join: join5 } = await import("path");
|
|
1828
1828
|
const { existsSync: existsSync5 } = await import("fs");
|
|
1829
1829
|
const { getGitRoot: getGitRoot2 } = await import("./git-context-EXOEHQSF.js");
|
|
1830
|
-
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-
|
|
1830
|
+
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-GMPGZM4D.js");
|
|
1831
1831
|
const { approveProject, hashMcpFile } = await import("./project-trust-NKYHL3VZ.js");
|
|
1832
1832
|
const cwd = process.cwd();
|
|
1833
1833
|
const projectRoot = getGitRoot2(cwd) ?? cwd;
|
|
@@ -2888,7 +2888,7 @@ ${hint}` : "")
|
|
|
2888
2888
|
usage: "/test [command|filter]",
|
|
2889
2889
|
async execute(args, ctx) {
|
|
2890
2890
|
try {
|
|
2891
|
-
const { executeTests } = await import("./run-tests-
|
|
2891
|
+
const { executeTests } = await import("./run-tests-NUWLWMHZ.js");
|
|
2892
2892
|
const argStr = args.join(" ").trim();
|
|
2893
2893
|
let testArgs = {};
|
|
2894
2894
|
if (argStr) {
|
|
@@ -5812,7 +5812,8 @@ Session '${this.resumeSessionId}' not found.
|
|
|
5812
5812
|
const provider = this.currentProvider;
|
|
5813
5813
|
if (provider === "claude") return null;
|
|
5814
5814
|
if (provider === "gemini") return null;
|
|
5815
|
-
if (model.includes("vision") || model.includes("vl") || model.
|
|
5815
|
+
if (model.includes("vision") || model.includes("vl") || model.includes("5v") || // glm-5v-turbo(智谱视觉编程旗舰)
|
|
5816
|
+
model.endsWith(".6v") || // glm-4.6v
|
|
5816
5817
|
model.endsWith("-v")) return null;
|
|
5817
5818
|
if (provider === "kimi") {
|
|
5818
5819
|
if (model.startsWith("moonshot-v1-")) {
|
|
@@ -6321,14 +6322,12 @@ Session '${this.resumeSessionId}' not found.
|
|
|
6321
6322
|
stopSpinner();
|
|
6322
6323
|
process.stdout.write(visible);
|
|
6323
6324
|
},
|
|
6324
|
-
|
|
6325
|
-
|
|
6326
|
-
|
|
6327
|
-
|
|
6328
|
-
//
|
|
6329
|
-
|
|
6330
|
-
process.stdout.write(theme.dim("</think>"));
|
|
6331
|
-
},
|
|
6325
|
+
// think 块彻底静默折叠(东叔偏好,v0.4.169):thinking_start/end 不打印任何
|
|
6326
|
+
// 标记。此前这两个钩子写 dim('<think>')/dim('</think>'),当 provider 经 thinking_*
|
|
6327
|
+
// 事件传 reasoning(delta 已折叠)时,终端就漏出空壳 `<think></think>`——thinking
|
|
6328
|
+
// 模型(GLM-5.2 / GLM-5V-Turbo / DeepSeek thinking…)一律中招,且与 renderStream
|
|
6329
|
+
// 路径(ThinkTagFilter 静默吞)不一致(v0.4.200)。spinner 不在此停,思考期间继续
|
|
6330
|
+
// 转动作活动反馈,首个可见 content / 工具调用到达时由 onText / onToolCallStart 停。
|
|
6332
6331
|
onToolCallStart: (_index, _id, name) => {
|
|
6333
6332
|
stopSpinner();
|
|
6334
6333
|
process.stdout.write(
|
|
@@ -7266,7 +7265,7 @@ program.command("web").description("Start Web UI server with browser-based chat
|
|
|
7266
7265
|
console.error("Error: Invalid port number. Must be between 1 and 65535.");
|
|
7267
7266
|
process.exit(1);
|
|
7268
7267
|
}
|
|
7269
|
-
const { startWebServer } = await import("./server-
|
|
7268
|
+
const { startWebServer } = await import("./server-Y3XEAXTC.js");
|
|
7270
7269
|
await startWebServer({ port, host: options.host });
|
|
7271
7270
|
});
|
|
7272
7271
|
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) => {
|
|
@@ -7433,16 +7432,16 @@ program.command("sessions").description("List recent conversation sessions").opt
|
|
|
7433
7432
|
console.log(footer + "\n");
|
|
7434
7433
|
});
|
|
7435
7434
|
program.command("usage").description("Show token + cost usage grouped by provider/model (cross-session)").option("--days <n>", "Only the last N days (inclusive of today)").option("--month <ym>", "Only a specific month, format YYYY-MM (e.g. 2026-06)").option("--json", "Output as JSON (for scripting)").action(async (options) => {
|
|
7436
|
-
const { runUsageCli } = await import("./usage-
|
|
7435
|
+
const { runUsageCli } = await import("./usage-7BAT3772.js");
|
|
7437
7436
|
await runUsageCli(options);
|
|
7438
7437
|
});
|
|
7439
7438
|
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) => {
|
|
7440
|
-
const { runDoctorCli } = await import("./doctor-cli-
|
|
7439
|
+
const { runDoctorCli } = await import("./doctor-cli-PG52ECBH.js");
|
|
7441
7440
|
await runDoctorCli({ json: !!options.json, resetStats: !!options.resetStats });
|
|
7442
7441
|
});
|
|
7443
7442
|
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) => {
|
|
7444
7443
|
try {
|
|
7445
|
-
const batch = await import("./batch-
|
|
7444
|
+
const batch = await import("./batch-5N4CXARG.js");
|
|
7446
7445
|
switch (action) {
|
|
7447
7446
|
case "submit":
|
|
7448
7447
|
if (!arg) {
|
|
@@ -7485,7 +7484,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
|
|
|
7485
7484
|
}
|
|
7486
7485
|
});
|
|
7487
7486
|
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) => {
|
|
7488
|
-
const { startMcpServer } = await import("./server-
|
|
7487
|
+
const { startMcpServer } = await import("./server-74PZ2PDM.js");
|
|
7489
7488
|
await startMcpServer({
|
|
7490
7489
|
allowDestructive: !!options.allowDestructive,
|
|
7491
7490
|
allowOutsideCwd: !!options.allowOutsideCwd,
|
|
@@ -7494,7 +7493,7 @@ program.command("mcp-serve").description("Start an MCP server over STDIO, exposi
|
|
|
7494
7493
|
});
|
|
7495
7494
|
});
|
|
7496
7495
|
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) => {
|
|
7497
|
-
const { runCi } = await import("./ci-
|
|
7496
|
+
const { runCi } = await import("./ci-2ZSBYWJE.js");
|
|
7498
7497
|
const result = await runCi({
|
|
7499
7498
|
pr: options.pr,
|
|
7500
7499
|
base: options.base,
|
|
@@ -7640,7 +7639,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
|
|
|
7640
7639
|
}),
|
|
7641
7640
|
config.get("customProviders")
|
|
7642
7641
|
);
|
|
7643
|
-
const { startHub } = await import("./hub-
|
|
7642
|
+
const { startHub } = await import("./hub-AI4ICH5E.js");
|
|
7644
7643
|
await startHub(
|
|
7645
7644
|
{
|
|
7646
7645
|
topic: topic ?? "",
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ToolRegistry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FQF6YJ6F.js";
|
|
5
5
|
import "./chunk-T2NL5ZIA.js";
|
|
6
6
|
import "./chunk-BXP6YZ2P.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-HUTS2F6Y.js";
|
|
8
8
|
import {
|
|
9
9
|
runTool
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JZCXULOJ.js";
|
|
11
11
|
import {
|
|
12
12
|
getDangerLevel,
|
|
13
13
|
schemaToJsonSchema
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-5UR6ZOF4.js";
|
|
15
15
|
import "./chunk-TZQHYZKT.js";
|
|
16
16
|
import {
|
|
17
17
|
VERSION
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-IDMCBIYZ.js";
|
|
19
19
|
import "./chunk-4BKXL7SM.js";
|
|
20
20
|
import "./chunk-TB4W4Y4T.js";
|
|
21
21
|
import "./chunk-KHYD3WXE.js";
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
loadDevState,
|
|
20
20
|
persistToolRound,
|
|
21
21
|
setupProxy
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-5SA7IACI.js";
|
|
23
23
|
import {
|
|
24
24
|
ToolExecutor,
|
|
25
25
|
ToolRegistry,
|
|
@@ -38,10 +38,10 @@ import {
|
|
|
38
38
|
spawnAgentContext,
|
|
39
39
|
truncateOutput,
|
|
40
40
|
undoStack
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-FQF6YJ6F.js";
|
|
42
42
|
import "./chunk-T2NL5ZIA.js";
|
|
43
43
|
import "./chunk-BXP6YZ2P.js";
|
|
44
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-HUTS2F6Y.js";
|
|
45
45
|
import {
|
|
46
46
|
SessionManager,
|
|
47
47
|
getContentText
|
|
@@ -49,13 +49,13 @@ import {
|
|
|
49
49
|
import {
|
|
50
50
|
computeCost,
|
|
51
51
|
formatCost
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-E44DTERW.js";
|
|
53
53
|
import {
|
|
54
54
|
ProviderRegistry
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-JP6ESDV7.js";
|
|
56
56
|
import {
|
|
57
57
|
runTool
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-JZCXULOJ.js";
|
|
59
59
|
import {
|
|
60
60
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
61
61
|
TEE_FINAL_USER_NUDGE,
|
|
@@ -70,10 +70,10 @@ import {
|
|
|
70
70
|
runAgentLoop,
|
|
71
71
|
stripToolCallReminder,
|
|
72
72
|
teeStreamErrorSummary
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-5UR6ZOF4.js";
|
|
74
74
|
import {
|
|
75
75
|
ConfigManager
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-NULOZSFA.js";
|
|
77
77
|
import "./chunk-TZQHYZKT.js";
|
|
78
78
|
import {
|
|
79
79
|
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-IDMCBIYZ.js";
|
|
97
97
|
import {
|
|
98
98
|
formatGitContextForPrompt,
|
|
99
99
|
getGitContext,
|
|
@@ -2454,7 +2454,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
2454
2454
|
case "test": {
|
|
2455
2455
|
this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
2456
2456
|
try {
|
|
2457
|
-
const { executeTests } = await import("./run-tests-
|
|
2457
|
+
const { executeTests } = await import("./run-tests-NUWLWMHZ.js");
|
|
2458
2458
|
const argStr = args.join(" ").trim();
|
|
2459
2459
|
let testArgs = {};
|
|
2460
2460
|
if (argStr) {
|
|
@@ -3,21 +3,21 @@ import {
|
|
|
3
3
|
ToolRegistry,
|
|
4
4
|
googleSearchContext,
|
|
5
5
|
truncateOutput
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FQF6YJ6F.js";
|
|
7
7
|
import "./chunk-T2NL5ZIA.js";
|
|
8
8
|
import "./chunk-BXP6YZ2P.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-HUTS2F6Y.js";
|
|
10
10
|
import {
|
|
11
11
|
runTool
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-JZCXULOJ.js";
|
|
13
13
|
import {
|
|
14
14
|
getDangerLevel,
|
|
15
15
|
runLeanAgentLoop
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-5UR6ZOF4.js";
|
|
17
17
|
import "./chunk-TZQHYZKT.js";
|
|
18
18
|
import {
|
|
19
19
|
SUBAGENT_ALLOWED_TOOLS
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-IDMCBIYZ.js";
|
|
21
21
|
import "./chunk-4BKXL7SM.js";
|
|
22
22
|
import "./chunk-TB4W4Y4T.js";
|
|
23
23
|
import "./chunk-KHYD3WXE.js";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
CostTracker
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-CITDVXXM.js";
|
|
5
5
|
import {
|
|
6
6
|
formatCost,
|
|
7
7
|
getPricing
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-E44DTERW.js";
|
|
9
9
|
import {
|
|
10
10
|
ConfigManager
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-NULOZSFA.js";
|
|
12
12
|
import "./chunk-TZQHYZKT.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-IDMCBIYZ.js";
|
|
14
14
|
import "./chunk-IW3Q7AE5.js";
|
|
15
15
|
|
|
16
16
|
// src/cli/usage.ts
|