jinzd-ai-cli 0.4.226 → 0.4.227
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-IJ6X3SWP.js → batch-W2DJGST7.js} +2 -2
- package/dist/{chunk-NQYNIK4C.js → chunk-6LQ6PUNZ.js} +1 -1
- package/dist/{chunk-D5A2K4AO.js → chunk-7X5TVGVY.js} +1 -1
- package/dist/{chunk-GOMPGWWO.js → chunk-APBHCIPD.js} +8 -8
- package/dist/{chunk-QNIFXUKV.js → chunk-CYVVWFFO.js} +1 -1
- package/dist/{chunk-PEUYYZQU.js → chunk-DKJ5EFKA.js} +1 -1
- package/dist/{chunk-55NPPWBW.js → chunk-NBG2STGM.js} +1 -1
- package/dist/{chunk-KDJEFBOS.js → chunk-OMFVR2O7.js} +3 -3
- package/dist/{chunk-XN24Y4OZ.js → chunk-S4AKNVFK.js} +2 -2
- package/dist/{chunk-HZC6JFPM.js → chunk-WJJIP34H.js} +3 -3
- package/dist/{chunk-SHJL3ZEA.js → chunk-YK5DDJNH.js} +1 -1
- package/dist/{ci-7SRQSN7E.js → ci-PEOV2I3Z.js} +4 -4
- package/dist/{ci-format-FM52GDQG.js → ci-format-4O7SHP4F.js} +2 -2
- package/dist/{constants-LX5P32PH.js → constants-HLNS4O5H.js} +1 -1
- package/dist/{doctor-cli-6KSSI65N.js → doctor-cli-LA4AF6DK.js} +4 -4
- package/dist/electron-server.js +7 -7
- package/dist/{hub-AWY3NZUF.js → hub-MAJE7GB7.js} +1 -1
- package/dist/index.js +24 -23
- package/dist/{pr-IO56XB47.js → pr-CDJFUPZX.js} +4 -4
- package/dist/{run-tests-NQWCJSZX.js → run-tests-DGV6D4L3.js} +1 -1
- package/dist/{run-tests-FKBEUFKX.js → run-tests-QFYTNPSV.js} +2 -2
- package/dist/{server-I2RRWW7W.js → server-GTIVGJ6S.js} +4 -4
- package/dist/{server-Y7YXAYF3.js → server-ZQYQDQMT.js} +8 -8
- package/dist/{task-orchestrator-CODR7HC6.js → task-orchestrator-YSHHXWNT.js} +4 -4
- package/dist/{usage-6H5AIUZM.js → usage-QDSXUKN7.js} +2 -2
- 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-6LQ6PUNZ.js";
|
|
5
5
|
import "./chunk-5ULLIOVC.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-CYVVWFFO.js";
|
|
7
7
|
import {
|
|
8
8
|
atomicWriteFileSync
|
|
9
9
|
} from "./chunk-IW3Q7AE5.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
runHook,
|
|
15
15
|
runLifecycleHooks,
|
|
16
16
|
runTool
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-7X5TVGVY.js";
|
|
18
18
|
import {
|
|
19
19
|
getDangerLevel,
|
|
20
20
|
isFileWriteTool,
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
} from "./chunk-4BKXL7SM.js";
|
|
34
34
|
import {
|
|
35
35
|
runTestsTool
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-DKJ5EFKA.js";
|
|
37
37
|
import {
|
|
38
38
|
CONFIG_DIR_NAME,
|
|
39
39
|
DEFAULT_MAX_TOOL_OUTPUT_CHARS_CAP,
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
SUBAGENT_ALLOWED_TOOLS,
|
|
44
44
|
SUBAGENT_DEFAULT_MAX_ROUNDS,
|
|
45
45
|
SUBAGENT_MAX_ROUNDS_LIMIT
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-CYVVWFFO.js";
|
|
47
47
|
import {
|
|
48
48
|
loadChatIndex,
|
|
49
49
|
searchChatMemory
|
|
@@ -1185,7 +1185,7 @@ var readFileTool = {
|
|
|
1185
1185
|
dangerous: false
|
|
1186
1186
|
},
|
|
1187
1187
|
async execute(args) {
|
|
1188
|
-
const filePath = String(args["path"] ?? "");
|
|
1188
|
+
const filePath = String(args["path"] ?? args["file"] ?? "");
|
|
1189
1189
|
const encoding = args["encoding"] ?? "utf-8";
|
|
1190
1190
|
const rawOffset = args["offset"];
|
|
1191
1191
|
const rawLimit = args["limit"];
|
|
@@ -2835,7 +2835,7 @@ Do NOT split a long document into many write_file(append=true) calls. That patte
|
|
|
2835
2835
|
// executor 会将 write_file 标记为 'write' 级别
|
|
2836
2836
|
},
|
|
2837
2837
|
async execute(args) {
|
|
2838
|
-
const filePath = String(args["path"] ?? "");
|
|
2838
|
+
const filePath = String(args["path"] ?? args["file"] ?? "");
|
|
2839
2839
|
const content = String(args["content"] ?? "");
|
|
2840
2840
|
const encoding = args["encoding"] ?? "utf-8";
|
|
2841
2841
|
const appendMode = String(args["append"] ?? "false").toLowerCase() === "true";
|
|
@@ -3227,7 +3227,7 @@ Note: Path can be absolute or relative to cwd.`,
|
|
|
3227
3227
|
// executor 中 edit_file 按 write 级别处理
|
|
3228
3228
|
},
|
|
3229
3229
|
async execute(args) {
|
|
3230
|
-
const filePath = String(args["path"] ?? "");
|
|
3230
|
+
const filePath = String(args["path"] ?? args["file"] ?? "");
|
|
3231
3231
|
const encoding = args["encoding"] ?? "utf-8";
|
|
3232
3232
|
if (!filePath) throw new ToolError("edit_file", "path is required");
|
|
3233
3233
|
if (!existsSync6(filePath)) throw new ToolError("edit_file", `File not found: ${filePath}`);
|
|
@@ -4628,7 +4628,7 @@ Any of these triggers means use save_last_response, NOT write_file:
|
|
|
4628
4628
|
// getDangerLevel 中标记为 write
|
|
4629
4629
|
},
|
|
4630
4630
|
async execute(args) {
|
|
4631
|
-
const filePath = String(args["path"] ?? "");
|
|
4631
|
+
const filePath = String(args["path"] ?? args["file"] ?? "");
|
|
4632
4632
|
if (!filePath) throw new ToolError("save_last_response", "path is required");
|
|
4633
4633
|
const content = lastResponseStore.content;
|
|
4634
4634
|
if (!content) {
|
|
@@ -6314,7 +6314,7 @@ var notebookEditTool = {
|
|
|
6314
6314
|
dangerous: false
|
|
6315
6315
|
},
|
|
6316
6316
|
async execute(args) {
|
|
6317
|
-
const filePath = String(args["path"] ?? "");
|
|
6317
|
+
const filePath = String(args["path"] ?? args["file"] ?? "");
|
|
6318
6318
|
const action = String(args["action"] ?? "");
|
|
6319
6319
|
const cellIndexRaw = Number(args["cell_index"]);
|
|
6320
6320
|
const content = args["content"] != null ? String(args["content"]) : "";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
evaluateCiGate,
|
|
4
4
|
normalizeCiThresholds
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NBG2STGM.js";
|
|
6
6
|
import {
|
|
7
7
|
buildReviewPrompt,
|
|
8
8
|
buildSecurityReviewPrompt,
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
} from "./chunk-PUBCJF7E.js";
|
|
14
14
|
import {
|
|
15
15
|
ConfigManager
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-6LQ6PUNZ.js";
|
|
17
17
|
import {
|
|
18
18
|
VERSION
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-CYVVWFFO.js";
|
|
20
20
|
|
|
21
21
|
// src/cli/ci.ts
|
|
22
22
|
import { execFileSync } from "child_process";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
truncateForPersist
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-APBHCIPD.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-CYVVWFFO.js";
|
|
15
15
|
import {
|
|
16
16
|
atomicWriteFileSync
|
|
17
17
|
} from "./chunk-IW3Q7AE5.js";
|
|
@@ -11,10 +11,10 @@ import {
|
|
|
11
11
|
listHooks,
|
|
12
12
|
listInstalledPlugins,
|
|
13
13
|
resetStats
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-7X5TVGVY.js";
|
|
15
15
|
import {
|
|
16
16
|
ConfigManager
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-6LQ6PUNZ.js";
|
|
18
18
|
import {
|
|
19
19
|
getGitRoot
|
|
20
20
|
} from "./chunk-HOSJZMQS.js";
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
MCP_PROJECT_CONFIG_NAME,
|
|
27
27
|
MEMORY_FILE_NAME,
|
|
28
28
|
VERSION
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-CYVVWFFO.js";
|
|
30
30
|
|
|
31
31
|
// src/diagnostics/doctor-report.ts
|
|
32
32
|
import { existsSync as existsSync3, statSync as statSync2 } from "fs";
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
CI_COMMENT_MARKER,
|
|
4
4
|
countSeverity,
|
|
5
5
|
runCi
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-OMFVR2O7.js";
|
|
7
|
+
import "./chunk-NBG2STGM.js";
|
|
8
8
|
import "./chunk-HLWUDRBO.js";
|
|
9
9
|
import "./chunk-PUBCJF7E.js";
|
|
10
10
|
import "./chunk-XPBEJB27.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-6LQ6PUNZ.js";
|
|
12
12
|
import "./chunk-5ULLIOVC.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-CYVVWFFO.js";
|
|
14
14
|
import "./chunk-IW3Q7AE5.js";
|
|
15
15
|
export {
|
|
16
16
|
CI_COMMENT_MARKER,
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import {
|
|
3
3
|
formatDoctorReport,
|
|
4
4
|
runDoctorCli
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-WJJIP34H.js";
|
|
6
6
|
import "./chunk-PUBCJF7E.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-7X5TVGVY.js";
|
|
8
8
|
import "./chunk-XPBEJB27.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-6LQ6PUNZ.js";
|
|
10
10
|
import "./chunk-5ULLIOVC.js";
|
|
11
11
|
import "./chunk-HOSJZMQS.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-CYVVWFFO.js";
|
|
13
13
|
import "./chunk-IW3Q7AE5.js";
|
|
14
14
|
export {
|
|
15
15
|
formatDoctorReport,
|
package/dist/electron-server.js
CHANGED
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
VERSION,
|
|
39
39
|
buildUserIdentityPrompt,
|
|
40
40
|
runTestsTool
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-YK5DDJNH.js";
|
|
42
42
|
import {
|
|
43
43
|
hasSemanticIndex,
|
|
44
44
|
semanticSearch
|
|
@@ -5958,7 +5958,7 @@ var readFileTool = {
|
|
|
5958
5958
|
dangerous: false
|
|
5959
5959
|
},
|
|
5960
5960
|
async execute(args) {
|
|
5961
|
-
const filePath = String(args["path"] ?? "");
|
|
5961
|
+
const filePath = String(args["path"] ?? args["file"] ?? "");
|
|
5962
5962
|
const encoding = args["encoding"] ?? "utf-8";
|
|
5963
5963
|
const rawOffset = args["offset"];
|
|
5964
5964
|
const rawLimit = args["limit"];
|
|
@@ -7833,7 +7833,7 @@ Do NOT split a long document into many write_file(append=true) calls. That patte
|
|
|
7833
7833
|
// executor 会将 write_file 标记为 'write' 级别
|
|
7834
7834
|
},
|
|
7835
7835
|
async execute(args) {
|
|
7836
|
-
const filePath = String(args["path"] ?? "");
|
|
7836
|
+
const filePath = String(args["path"] ?? args["file"] ?? "");
|
|
7837
7837
|
const content = String(args["content"] ?? "");
|
|
7838
7838
|
const encoding = args["encoding"] ?? "utf-8";
|
|
7839
7839
|
const appendMode = String(args["append"] ?? "false").toLowerCase() === "true";
|
|
@@ -8225,7 +8225,7 @@ Note: Path can be absolute or relative to cwd.`,
|
|
|
8225
8225
|
// executor 中 edit_file 按 write 级别处理
|
|
8226
8226
|
},
|
|
8227
8227
|
async execute(args) {
|
|
8228
|
-
const filePath = String(args["path"] ?? "");
|
|
8228
|
+
const filePath = String(args["path"] ?? args["file"] ?? "");
|
|
8229
8229
|
const encoding = args["encoding"] ?? "utf-8";
|
|
8230
8230
|
if (!filePath) throw new ToolError("edit_file", "path is required");
|
|
8231
8231
|
if (!existsSync11(filePath)) throw new ToolError("edit_file", `File not found: ${filePath}`);
|
|
@@ -9626,7 +9626,7 @@ Any of these triggers means use save_last_response, NOT write_file:
|
|
|
9626
9626
|
// getDangerLevel 中标记为 write
|
|
9627
9627
|
},
|
|
9628
9628
|
async execute(args) {
|
|
9629
|
-
const filePath = String(args["path"] ?? "");
|
|
9629
|
+
const filePath = String(args["path"] ?? args["file"] ?? "");
|
|
9630
9630
|
if (!filePath) throw new ToolError("save_last_response", "path is required");
|
|
9631
9631
|
const content = lastResponseStore.content;
|
|
9632
9632
|
if (!content) {
|
|
@@ -11687,7 +11687,7 @@ var notebookEditTool = {
|
|
|
11687
11687
|
dangerous: false
|
|
11688
11688
|
},
|
|
11689
11689
|
async execute(args) {
|
|
11690
|
-
const filePath = String(args["path"] ?? "");
|
|
11690
|
+
const filePath = String(args["path"] ?? args["file"] ?? "");
|
|
11691
11691
|
const action = String(args["action"] ?? "");
|
|
11692
11692
|
const cellIndexRaw = Number(args["cell_index"]);
|
|
11693
11693
|
const content = args["content"] != null ? String(args["content"]) : "";
|
|
@@ -16017,7 +16017,7 @@ async function handleSecurityReview(args, ctx) {
|
|
|
16017
16017
|
async function handleTest(args, ctx) {
|
|
16018
16018
|
ctx.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
16019
16019
|
try {
|
|
16020
|
-
const { executeTests } = await import("./run-tests-
|
|
16020
|
+
const { executeTests } = await import("./run-tests-DGV6D4L3.js");
|
|
16021
16021
|
const argStr = args.join(" ").trim();
|
|
16022
16022
|
let testArgs = {};
|
|
16023
16023
|
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-YSHHXWNT.js");
|
|
158
158
|
const orchestrator = new TaskOrchestrator(config, providers, configManager);
|
|
159
159
|
let interrupted = false;
|
|
160
160
|
const onSigint = () => {
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
scanProject,
|
|
15
15
|
sessionHasMeaningfulContent,
|
|
16
16
|
setupProxy
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-S4AKNVFK.js";
|
|
18
18
|
import {
|
|
19
19
|
buildReviewPrompt,
|
|
20
20
|
buildSecurityReviewPrompt
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
theme,
|
|
53
53
|
undoStack,
|
|
54
54
|
updateMemoryApproval
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-APBHCIPD.js";
|
|
56
56
|
import "./chunk-K3CF65QH.js";
|
|
57
57
|
import "./chunk-UUSRWSSX.js";
|
|
58
58
|
import "./chunk-CKH4KQ4E.js";
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
formatDoctorReport,
|
|
75
75
|
loadContextFiles,
|
|
76
76
|
writeCrashLog
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-WJJIP34H.js";
|
|
78
78
|
import {
|
|
79
79
|
ProviderRegistry
|
|
80
80
|
} from "./chunk-PUBCJF7E.js";
|
|
@@ -94,7 +94,7 @@ import {
|
|
|
94
94
|
trustHook,
|
|
95
95
|
trustPlugin,
|
|
96
96
|
untrustHook
|
|
97
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-7X5TVGVY.js";
|
|
98
98
|
import {
|
|
99
99
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
100
100
|
TEE_FINAL_USER_NUDGE,
|
|
@@ -116,7 +116,7 @@ import {
|
|
|
116
116
|
} from "./chunk-XPBEJB27.js";
|
|
117
117
|
import {
|
|
118
118
|
ConfigManager
|
|
119
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-6LQ6PUNZ.js";
|
|
120
120
|
import {
|
|
121
121
|
AuthError,
|
|
122
122
|
ProviderError,
|
|
@@ -130,7 +130,7 @@ import {
|
|
|
130
130
|
import {
|
|
131
131
|
fileCheckpoints
|
|
132
132
|
} from "./chunk-4BKXL7SM.js";
|
|
133
|
-
import "./chunk-
|
|
133
|
+
import "./chunk-DKJ5EFKA.js";
|
|
134
134
|
import {
|
|
135
135
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
136
136
|
AUTHOR,
|
|
@@ -149,7 +149,7 @@ import {
|
|
|
149
149
|
SKILLS_DIR_NAME,
|
|
150
150
|
VERSION,
|
|
151
151
|
buildUserIdentityPrompt
|
|
152
|
-
} from "./chunk-
|
|
152
|
+
} from "./chunk-CYVVWFFO.js";
|
|
153
153
|
import {
|
|
154
154
|
buildChatIndex,
|
|
155
155
|
clearChatIndex,
|
|
@@ -279,7 +279,8 @@ var ABOUT_TOOL_DESCRIPTIONS = {
|
|
|
279
279
|
get_outline: "Enumerate all top-level declarations in one source file",
|
|
280
280
|
find_references: "Search indexed files for references to a symbol name",
|
|
281
281
|
search_code: "Semantic (meaning-based) code search via local embeddings",
|
|
282
|
-
recall_memory: 'Semantic recall over past chat sessions ("remember when\u2026")'
|
|
282
|
+
recall_memory: 'Semantic recall over past chat sessions ("remember when\u2026")',
|
|
283
|
+
stream_to_file: "Stream large content (>5KB) directly to disk (avoids output truncation)"
|
|
283
284
|
};
|
|
284
285
|
var ABOUT_FEATURES = [
|
|
285
286
|
"Agentic loop: up to 200 tool-call rounds (configurable), final answer streamed",
|
|
@@ -427,15 +428,15 @@ var Renderer = class {
|
|
|
427
428
|
const feat = (s) => theme.dim(" \u2726 ") + chalk.white(s);
|
|
428
429
|
console.log();
|
|
429
430
|
console.log(
|
|
430
|
-
theme.heading(" \u{1F916} ai-cli") + theme.dim(` v${VERSION}`) + theme.dim(" \u2014 Cross-platform agentic AI assistant (REPL \xB7 Web \xB7 Desktop,
|
|
431
|
+
theme.heading(" \u{1F916} ai-cli") + theme.dim(` v${VERSION}`) + theme.dim(" \u2014 Cross-platform agentic AI assistant (REPL \xB7 Web \xB7 Desktop, 10 providers)")
|
|
431
432
|
);
|
|
432
433
|
console.log(HR);
|
|
433
434
|
console.log(label("Desc") + chalk.white(DESCRIPTION));
|
|
434
435
|
console.log(label("Author") + theme.warning(AUTHOR) + theme.dim(" <" + AUTHOR_EMAIL + ">"));
|
|
435
436
|
console.log(HR);
|
|
436
|
-
console.log(theme.dim(" Supported Providers (
|
|
437
|
+
console.log(theme.dim(" Supported Providers (10):"));
|
|
437
438
|
console.log(theme.dim(" OpenAI \xB7 DeepSeek \xB7 Kimi (Moonshot) \xB7 Claude (Anthropic) \xB7 MiniMax (\u6D77\u87BA)"));
|
|
438
|
-
console.log(theme.dim(" Gemini (Google) \xB7 Zhipu (GLM) \xB7 OpenRouter \xB7 Ollama (Local, no API key)"));
|
|
439
|
+
console.log(theme.dim(" Gemini (Google) \xB7 Zhipu (GLM) \xB7 Qwen (\u901A\u4E49\u5343\u95EE) \xB7 OpenRouter \xB7 Ollama (Local, no API key)"));
|
|
439
440
|
console.log(HR);
|
|
440
441
|
const mcpToolCount = mcpInfo?.tools ?? 0;
|
|
441
442
|
const toolTotal = builtinTools.length + pluginCount + mcpToolCount;
|
|
@@ -1049,7 +1050,7 @@ function createMiscCommands() {
|
|
|
1049
1050
|
["/tools", "List all AI tools available"],
|
|
1050
1051
|
["/plugins", "Show plugin directory and loaded plugins"],
|
|
1051
1052
|
["/plugin [list|install|enable|disable|inspect|trust]", "Manage package plugins"],
|
|
1052
|
-
["/mcp [reconnect [
|
|
1053
|
+
["/mcp [reconnect [serverId]|trust-project]", "Show MCP server connections and tools"],
|
|
1053
1054
|
["/skill [name|off|list]", "Manage agent skills (reusable prompt packs)"],
|
|
1054
1055
|
["/context", "Show or reload hierarchical context layers"],
|
|
1055
1056
|
["/add-dir [path|remove]", "Add/remove a directory from AI context"],
|
|
@@ -1833,7 +1834,7 @@ No tools match "${filter}".
|
|
|
1833
1834
|
const { join: join7 } = await import("path");
|
|
1834
1835
|
const { existsSync: existsSync6 } = await import("fs");
|
|
1835
1836
|
const { getGitRoot: getGitRoot2 } = await import("./git-context-EXOEHQSF.js");
|
|
1836
|
-
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-
|
|
1837
|
+
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-HLNS4O5H.js");
|
|
1837
1838
|
const { approveProject, hashMcpFile } = await import("./project-trust-NKYHL3VZ.js");
|
|
1838
1839
|
const cwd = process.cwd();
|
|
1839
1840
|
const projectRoot = getGitRoot2(cwd) ?? cwd;
|
|
@@ -2812,7 +2813,7 @@ function createReviewCommands() {
|
|
|
2812
2813
|
usage: "/test [command|filter]",
|
|
2813
2814
|
async execute(args, ctx) {
|
|
2814
2815
|
try {
|
|
2815
|
-
const { executeTests } = await import("./run-tests-
|
|
2816
|
+
const { executeTests } = await import("./run-tests-QFYTNPSV.js");
|
|
2816
2817
|
const argStr = args.join(" ").trim();
|
|
2817
2818
|
let testArgs = {};
|
|
2818
2819
|
if (argStr) {
|
|
@@ -7757,7 +7758,7 @@ program.command("web").description("Start Web UI server with browser-based chat
|
|
|
7757
7758
|
console.error("Error: Invalid port number. Must be between 1 and 65535.");
|
|
7758
7759
|
process.exit(1);
|
|
7759
7760
|
}
|
|
7760
|
-
const { startWebServer } = await import("./server-
|
|
7761
|
+
const { startWebServer } = await import("./server-ZQYQDQMT.js");
|
|
7761
7762
|
await startWebServer({ port, host: options.host });
|
|
7762
7763
|
});
|
|
7763
7764
|
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) => {
|
|
@@ -7924,11 +7925,11 @@ program.command("sessions").description("List recent conversation sessions").opt
|
|
|
7924
7925
|
console.log(footer + "\n");
|
|
7925
7926
|
});
|
|
7926
7927
|
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) => {
|
|
7927
|
-
const { runUsageCli } = await import("./usage-
|
|
7928
|
+
const { runUsageCli } = await import("./usage-QDSXUKN7.js");
|
|
7928
7929
|
await runUsageCli(options);
|
|
7929
7930
|
});
|
|
7930
7931
|
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) => {
|
|
7931
|
-
const { runDoctorCli } = await import("./doctor-cli-
|
|
7932
|
+
const { runDoctorCli } = await import("./doctor-cli-LA4AF6DK.js");
|
|
7932
7933
|
const argv = process.argv.slice(2);
|
|
7933
7934
|
await runDoctorCli({
|
|
7934
7935
|
json: !!options.json || argv.includes("--json"),
|
|
@@ -7937,7 +7938,7 @@ program.command("doctor").description("Health check: API keys, config, MCP, rece
|
|
|
7937
7938
|
});
|
|
7938
7939
|
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) => {
|
|
7939
7940
|
try {
|
|
7940
|
-
const batch = await import("./batch-
|
|
7941
|
+
const batch = await import("./batch-W2DJGST7.js");
|
|
7941
7942
|
switch (action) {
|
|
7942
7943
|
case "submit":
|
|
7943
7944
|
if (!arg) {
|
|
@@ -7980,7 +7981,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
|
|
|
7980
7981
|
}
|
|
7981
7982
|
});
|
|
7982
7983
|
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) => {
|
|
7983
|
-
const { startMcpServer } = await import("./server-
|
|
7984
|
+
const { startMcpServer } = await import("./server-GTIVGJ6S.js");
|
|
7984
7985
|
await startMcpServer({
|
|
7985
7986
|
allowDestructive: !!options.allowDestructive,
|
|
7986
7987
|
allowOutsideCwd: !!options.allowOutsideCwd,
|
|
@@ -7993,7 +7994,7 @@ program.command("pr <action> [target]").description("PR review helpers: review |
|
|
|
7993
7994
|
console.error(`Unknown pr action: ${action}. Use review | security-review | summarize.`);
|
|
7994
7995
|
process.exit(1);
|
|
7995
7996
|
}
|
|
7996
|
-
const { runPrCli } = await import("./pr-
|
|
7997
|
+
const { runPrCli } = await import("./pr-CDJFUPZX.js");
|
|
7997
7998
|
const result = await runPrCli({
|
|
7998
7999
|
action,
|
|
7999
8000
|
target,
|
|
@@ -8013,8 +8014,8 @@ program.command("pr <action> [target]").description("PR review helpers: review |
|
|
|
8013
8014
|
process.exit(result.exitCode);
|
|
8014
8015
|
});
|
|
8015
8016
|
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 or URL; diff fetched via gh pr diff <value>", (v) => /^#?\d+$/.test(v) ? parseInt(v.replace(/^#/, ""), 10) : v).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)").option("--json", "Output a structured JSON report").option("--markdown", "Output Markdown report (default)").option("--sarif", "Output SARIF 2.1.0 for code scanning artifacts").option("--fail-on-security-high", "Fail when the security review contains HIGH/CRITICAL findings (default)").option("--no-fail-on-security-high", "Do not fail on security HIGH/CRITICAL findings").option("--fail-on-test-failure", "Fail when the report mentions test failures (default)").option("--no-fail-on-test-failure", "Do not fail on test failure findings").option("--fail-on-lint-failure", "Fail when the report mentions lint/typecheck failures (default)").option("--no-fail-on-lint-failure", "Do not fail on lint/typecheck failure findings").action(async (options) => {
|
|
8016
|
-
const { runCi } = await import("./ci-
|
|
8017
|
-
const { formatCiResult } = await import("./ci-format-
|
|
8017
|
+
const { runCi } = await import("./ci-PEOV2I3Z.js");
|
|
8018
|
+
const { formatCiResult } = await import("./ci-format-4O7SHP4F.js");
|
|
8018
8019
|
const formats = [options.json, options.markdown, options.sarif].filter(Boolean).length;
|
|
8019
8020
|
if (formats > 1) {
|
|
8020
8021
|
console.error("Choose only one output format: --json, --markdown, or --sarif.");
|
|
@@ -8172,7 +8173,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
|
|
|
8172
8173
|
config.get("customProviders"),
|
|
8173
8174
|
config.getConfigDir()
|
|
8174
8175
|
);
|
|
8175
|
-
const { startHub } = await import("./hub-
|
|
8176
|
+
const { startHub } = await import("./hub-MAJE7GB7.js");
|
|
8176
8177
|
await startHub(
|
|
8177
8178
|
{
|
|
8178
8179
|
topic: topic ?? "",
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import {
|
|
3
3
|
countSeverity,
|
|
4
4
|
runCi
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-OMFVR2O7.js";
|
|
6
|
+
import "./chunk-NBG2STGM.js";
|
|
7
7
|
import {
|
|
8
8
|
buildReviewPrompt,
|
|
9
9
|
buildSecurityReviewPrompt,
|
|
@@ -15,11 +15,11 @@ import {
|
|
|
15
15
|
import "./chunk-XPBEJB27.js";
|
|
16
16
|
import {
|
|
17
17
|
ConfigManager
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-6LQ6PUNZ.js";
|
|
19
19
|
import "./chunk-5ULLIOVC.js";
|
|
20
20
|
import {
|
|
21
21
|
VERSION
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-CYVVWFFO.js";
|
|
23
23
|
import "./chunk-IW3Q7AE5.js";
|
|
24
24
|
|
|
25
25
|
// src/cli/pr.ts
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ToolRegistry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-APBHCIPD.js";
|
|
5
5
|
import "./chunk-K3CF65QH.js";
|
|
6
6
|
import "./chunk-UUSRWSSX.js";
|
|
7
7
|
import "./chunk-CKH4KQ4E.js";
|
|
8
8
|
import "./chunk-BXP6YZ2P.js";
|
|
9
9
|
import {
|
|
10
10
|
runTool
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7X5TVGVY.js";
|
|
12
12
|
import {
|
|
13
13
|
getDangerLevel,
|
|
14
14
|
schemaToJsonSchema
|
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
import "./chunk-5ULLIOVC.js";
|
|
17
17
|
import "./chunk-HOSJZMQS.js";
|
|
18
18
|
import "./chunk-4BKXL7SM.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-DKJ5EFKA.js";
|
|
20
20
|
import {
|
|
21
21
|
VERSION
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-CYVVWFFO.js";
|
|
23
23
|
import "./chunk-NVUCDUXE.js";
|
|
24
24
|
import "./chunk-KHYD3WXE.js";
|
|
25
25
|
import "./chunk-B5TYJO7V.js";
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
scanDirTree,
|
|
24
24
|
scanProject,
|
|
25
25
|
setupProxy
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-S4AKNVFK.js";
|
|
27
27
|
import {
|
|
28
28
|
buildReviewPrompt,
|
|
29
29
|
buildSecurityReviewPrompt
|
|
@@ -67,7 +67,7 @@ import {
|
|
|
67
67
|
truncateOutput,
|
|
68
68
|
undoStack,
|
|
69
69
|
updateMemoryApproval
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-APBHCIPD.js";
|
|
71
71
|
import "./chunk-K3CF65QH.js";
|
|
72
72
|
import "./chunk-UUSRWSSX.js";
|
|
73
73
|
import "./chunk-CKH4KQ4E.js";
|
|
@@ -84,7 +84,7 @@ import {
|
|
|
84
84
|
buildDoctorReport,
|
|
85
85
|
formatDoctorReport,
|
|
86
86
|
loadContextFiles
|
|
87
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-WJJIP34H.js";
|
|
88
88
|
import {
|
|
89
89
|
ProviderRegistry
|
|
90
90
|
} from "./chunk-PUBCJF7E.js";
|
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
runTool,
|
|
103
103
|
setPluginEnabled,
|
|
104
104
|
trustPlugin
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-7X5TVGVY.js";
|
|
106
106
|
import {
|
|
107
107
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
108
108
|
TEE_FINAL_USER_NUDGE,
|
|
@@ -121,7 +121,7 @@ import {
|
|
|
121
121
|
} from "./chunk-XPBEJB27.js";
|
|
122
122
|
import {
|
|
123
123
|
ConfigManager
|
|
124
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-6LQ6PUNZ.js";
|
|
125
125
|
import "./chunk-5ULLIOVC.js";
|
|
126
126
|
import {
|
|
127
127
|
formatGitContextForPrompt,
|
|
@@ -129,7 +129,7 @@ import {
|
|
|
129
129
|
getGitRoot
|
|
130
130
|
} from "./chunk-HOSJZMQS.js";
|
|
131
131
|
import "./chunk-4BKXL7SM.js";
|
|
132
|
-
import "./chunk-
|
|
132
|
+
import "./chunk-DKJ5EFKA.js";
|
|
133
133
|
import {
|
|
134
134
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
135
135
|
AUTHOR,
|
|
@@ -146,7 +146,7 @@ import {
|
|
|
146
146
|
SKILLS_DIR_NAME,
|
|
147
147
|
VERSION,
|
|
148
148
|
buildUserIdentityPrompt
|
|
149
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-CYVVWFFO.js";
|
|
150
150
|
import "./chunk-NVUCDUXE.js";
|
|
151
151
|
import "./chunk-KHYD3WXE.js";
|
|
152
152
|
import {
|
|
@@ -1598,7 +1598,7 @@ async function handleSecurityReview(args, ctx) {
|
|
|
1598
1598
|
async function handleTest(args, ctx) {
|
|
1599
1599
|
ctx.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
1600
1600
|
try {
|
|
1601
|
-
const { executeTests } = await import("./run-tests-
|
|
1601
|
+
const { executeTests } = await import("./run-tests-QFYTNPSV.js");
|
|
1602
1602
|
const argStr = args.join(" ").trim();
|
|
1603
1603
|
let testArgs = {};
|
|
1604
1604
|
if (argStr) {
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
ToolRegistry,
|
|
4
4
|
googleSearchContext,
|
|
5
5
|
truncateOutput
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-APBHCIPD.js";
|
|
7
7
|
import "./chunk-K3CF65QH.js";
|
|
8
8
|
import "./chunk-UUSRWSSX.js";
|
|
9
9
|
import "./chunk-CKH4KQ4E.js";
|
|
10
10
|
import "./chunk-BXP6YZ2P.js";
|
|
11
11
|
import {
|
|
12
12
|
runTool
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-7X5TVGVY.js";
|
|
14
14
|
import {
|
|
15
15
|
getDangerLevel,
|
|
16
16
|
runLeanAgentLoop
|
|
@@ -18,10 +18,10 @@ import {
|
|
|
18
18
|
import "./chunk-5ULLIOVC.js";
|
|
19
19
|
import "./chunk-HOSJZMQS.js";
|
|
20
20
|
import "./chunk-4BKXL7SM.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-DKJ5EFKA.js";
|
|
22
22
|
import {
|
|
23
23
|
SUBAGENT_ALLOWED_TOOLS
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-CYVVWFFO.js";
|
|
25
25
|
import "./chunk-NVUCDUXE.js";
|
|
26
26
|
import "./chunk-KHYD3WXE.js";
|
|
27
27
|
import "./chunk-B5TYJO7V.js";
|
|
@@ -8,9 +8,9 @@ import {
|
|
|
8
8
|
} from "./chunk-E44DTERW.js";
|
|
9
9
|
import {
|
|
10
10
|
ConfigManager
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-6LQ6PUNZ.js";
|
|
12
12
|
import "./chunk-5ULLIOVC.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-CYVVWFFO.js";
|
|
14
14
|
import "./chunk-IW3Q7AE5.js";
|
|
15
15
|
|
|
16
16
|
// src/cli/usage.ts
|