jinzd-ai-cli 0.4.232 → 0.4.233
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-D6XYKHHA.js → batch-WWNPYQ6G.js} +2 -2
- package/dist/{chunk-XVR4YKRC.js → chunk-4OAV7QMB.js} +1 -1
- package/dist/{chunk-LKTYTDEJ.js → chunk-5PKNKJYP.js} +1 -1
- package/dist/{chunk-YDGKT6RI.js → chunk-7KS3RGZ7.js} +2 -2
- package/dist/{chunk-EPDW73H7.js → chunk-ACTO5C6K.js} +1 -1
- package/dist/{chunk-6VSAKQTN.js → chunk-EZGZOK6E.js} +1 -1
- package/dist/{chunk-RRMLRCPW.js → chunk-FQSAK75P.js} +4 -4
- package/dist/{chunk-TJVM535A.js → chunk-HX67JAK6.js} +4 -4
- package/dist/{chunk-2FZACYUE.js → chunk-M4FW2NPU.js} +1 -1
- package/dist/{chunk-KIQ2ICMV.js → chunk-NXYXFRPA.js} +4 -4
- package/dist/{chunk-ODYTXQ26.js → chunk-O3XSFPYH.js} +35 -3
- package/dist/{chunk-62R7CACG.js → chunk-QYQI7ZWK.js} +1 -1
- package/dist/{chunk-2HWL45PG.js → chunk-TJK7AU65.js} +1 -1
- package/dist/{ci-OR57Z7QF.js → ci-V5V3JSJC.js} +6 -6
- package/dist/{ci-format-DMMS2ZFK.js → ci-format-XS7LKBO5.js} +2 -2
- package/dist/{constants-7GZKINR5.js → constants-UROQJXLY.js} +1 -1
- package/dist/{doctor-cli-ZD37GAZD.js → doctor-cli-BY3FIV2B.js} +6 -6
- package/dist/electron-server.js +37 -5
- package/dist/{hub-VFYFUSM6.js → hub-L2QCRI5M.js} +1 -1
- package/dist/index.js +20 -20
- package/dist/{pr-YF6TXJYE.js → pr-IJRUPR5C.js} +6 -6
- package/dist/{run-tests-HEDDC6DJ.js → run-tests-FLCVJ6TK.js} +2 -2
- package/dist/{run-tests-BNZZDCTU.js → run-tests-NNXBS4EL.js} +1 -1
- package/dist/{server-C52P6IDO.js → server-E6LZB72O.js} +5 -5
- package/dist/{server-HCDI2EID.js → server-W2X3C6GJ.js} +10 -10
- package/dist/{task-orchestrator-QIEHYRGK.js → task-orchestrator-W55VKYTC.js} +5 -5
- package/dist/{usage-4AAMJBBM.js → usage-MZCDTJWB.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-5PKNKJYP.js";
|
|
5
5
|
import "./chunk-5ULLIOVC.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-ACTO5C6K.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-HX67JAK6.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-ACTO5C6K.js";
|
|
15
15
|
import {
|
|
16
16
|
atomicWriteFileSync
|
|
17
17
|
} from "./chunk-IW3Q7AE5.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
evaluateCiGate,
|
|
4
4
|
normalizeCiThresholds
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-TJK7AU65.js";
|
|
6
6
|
import {
|
|
7
7
|
buildReviewPrompt,
|
|
8
8
|
buildSecurityReviewPrompt,
|
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
} from "./chunk-HLWUDRBO.js";
|
|
11
11
|
import {
|
|
12
12
|
ProviderRegistry
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-QYQI7ZWK.js";
|
|
14
14
|
import {
|
|
15
15
|
ConfigManager
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-5PKNKJYP.js";
|
|
17
17
|
import {
|
|
18
18
|
VERSION
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ACTO5C6K.js";
|
|
20
20
|
|
|
21
21
|
// src/cli/ci.ts
|
|
22
22
|
import { execFileSync } from "child_process";
|
|
@@ -14,12 +14,12 @@ import {
|
|
|
14
14
|
runHook,
|
|
15
15
|
runLifecycleHooks,
|
|
16
16
|
runTool
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-EZGZOK6E.js";
|
|
18
18
|
import {
|
|
19
19
|
getDangerLevel,
|
|
20
20
|
isFileWriteTool,
|
|
21
21
|
runLeanAgentLoop
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-O3XSFPYH.js";
|
|
23
23
|
import {
|
|
24
24
|
EnvLoader,
|
|
25
25
|
NetworkError,
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
} from "./chunk-4BKXL7SM.js";
|
|
34
34
|
import {
|
|
35
35
|
runTestsTool
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-M4FW2NPU.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-ACTO5C6K.js";
|
|
47
47
|
import {
|
|
48
48
|
loadChatIndex,
|
|
49
49
|
searchChatMemory
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ProviderRegistry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QYQI7ZWK.js";
|
|
5
5
|
import {
|
|
6
6
|
getActivePluginAssets,
|
|
7
7
|
getPendingHookTrust,
|
|
@@ -11,10 +11,10 @@ import {
|
|
|
11
11
|
listHooks,
|
|
12
12
|
listInstalledPlugins,
|
|
13
13
|
resetStats
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-EZGZOK6E.js";
|
|
15
15
|
import {
|
|
16
16
|
ConfigManager
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-5PKNKJYP.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-ACTO5C6K.js";
|
|
30
30
|
|
|
31
31
|
// src/diagnostics/doctor-report.ts
|
|
32
32
|
import { existsSync as existsSync3, statSync as statSync2 } from "fs";
|
|
@@ -466,7 +466,10 @@ function peelMetaNarration(content) {
|
|
|
466
466
|
var META_NARRATION_HARD_MARKERS = [
|
|
467
467
|
/\[⚠️\s*CONTENT GENERATION MODE\]/,
|
|
468
468
|
/CONTENT_ONLY_STREAM_REMINDER\b/,
|
|
469
|
-
/<system-reminder>/i
|
|
469
|
+
/<system-reminder>/i,
|
|
470
|
+
// → `path` — AI wraps content with "已写好 → `file.md`" before the document body.
|
|
471
|
+
// Documents never use this conversational file-path-pointer syntax.
|
|
472
|
+
/→\s*`[^`]{2,}`/u
|
|
470
473
|
];
|
|
471
474
|
var META_NARRATION_HEURISTICS = [
|
|
472
475
|
/\bthe user (?:is asking me|wants me|is requesting|expects me)\b/i,
|
|
@@ -477,7 +480,24 @@ var META_NARRATION_HEURISTICS = [
|
|
|
477
480
|
/\bActually,?\s+I\b/i,
|
|
478
481
|
/\bI need to be honest with the user\b/i,
|
|
479
482
|
/\bI(?:'m| am) in a special mode\b/i,
|
|
480
|
-
/\bGiven that I cannot\b/i
|
|
483
|
+
/\bGiven that I cannot\b/i,
|
|
484
|
+
// ── 中文 ── (need 2+ total hits across all patterns to trigger)
|
|
485
|
+
/(?:已经?|已)\s*(?:写[好完]|生成[好完]|创建[好完]|准备[好完]|搞[好定]|弄[好完])[了啦]?/u,
|
|
486
|
+
/(?:需要你|请你|麻烦你|还要你|你看)\s*(?:确认|决定|选择|帮忙|看[一看下]|过目)/u,
|
|
487
|
+
/(?:总结|概括|归纳|整理)[一下]?(?:核心|主要|关键)?(?:思路|要点|内容|设计)/u,
|
|
488
|
+
/(?:随时|有问题|有需要|需要调整|需要修改|需要补充)\s*(?:联系|找我|告诉|沟通|调整|修改|补充|说)/u,
|
|
489
|
+
/^(?:.{0,40})(?:好的[,,,!\s]|嗯[,,,!\s]|收到[了]?[,,,!\s]|了解[了]?[,,,!\s]|明白[了]?[,,,!\s])/mu,
|
|
490
|
+
/(?:我来|让我|容我)\s*(?:整理|梳理|归纳|想想|看看|重新|检查|核实)/u,
|
|
491
|
+
// 过渡语(需要 2+ hits):"以下是:" / "如下:" 作为独立行。文档中可作小节标题,
|
|
492
|
+
// 但配合另一个对话模式(如"好的")时是典型的 AI 内容包装。
|
|
493
|
+
/^.{0,60}(?:以下是|下面是|如下)\s*[::,,]\s*$/mu
|
|
494
|
+
];
|
|
495
|
+
var CHINESE_TAIL_CLOSING_MARKERS = [
|
|
496
|
+
/(?:需要你|请你|麻烦你|你看)\s*(?:确认|决定|选择|帮忙|看[一看下]|过目|觉得|认为)/u,
|
|
497
|
+
/(?:随时|有问题|有需要|需要调整|需要修改)\s*(?:联系|找我|告诉|沟通|调整|修改)/u,
|
|
498
|
+
/(?:如果|假如|假设)\s*(?:有[没缺][有]?|需要|觉得|认为).{0,30}?(?:随时|可以|直接|尽管)\s*(?:联系|找我|告诉|说|调整|修改)/u,
|
|
499
|
+
/(?:以上|先这样|暂时|目前).{0,10}$/mu,
|
|
500
|
+
/(?:几个|一些|以下)\s*(?:关键)?(?:问题|疑问|想法|建议).{0,30}$/mu
|
|
481
501
|
];
|
|
482
502
|
function detectMetaNarration(content) {
|
|
483
503
|
if (!content) return null;
|
|
@@ -485,7 +505,19 @@ function detectMetaNarration(content) {
|
|
|
485
505
|
for (const re of META_NARRATION_HARD_MARKERS) {
|
|
486
506
|
if (re.test(head)) return re.source;
|
|
487
507
|
}
|
|
488
|
-
if (
|
|
508
|
+
if (content.length > 500) {
|
|
509
|
+
const tail = content.slice(-500);
|
|
510
|
+
let tailHits = 0;
|
|
511
|
+
let tailFirst = "";
|
|
512
|
+
for (const re of CHINESE_TAIL_CLOSING_MARKERS) {
|
|
513
|
+
if (re.test(tail)) {
|
|
514
|
+
tailHits++;
|
|
515
|
+
if (!tailFirst) tailFirst = re.source;
|
|
516
|
+
if (tailHits >= 2) return `meta-narration-tail:${tailFirst}`;
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
if (/^#{1,3}\s+\S/m.test(content.slice(0, 200))) return null;
|
|
489
521
|
let hits = 0;
|
|
490
522
|
let firstMatch = "";
|
|
491
523
|
for (const re of META_NARRATION_HEURISTICS) {
|
|
@@ -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-FQSAK75P.js";
|
|
7
|
+
import "./chunk-TJK7AU65.js";
|
|
8
8
|
import "./chunk-HLWUDRBO.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-QYQI7ZWK.js";
|
|
10
|
+
import "./chunk-O3XSFPYH.js";
|
|
11
|
+
import "./chunk-5PKNKJYP.js";
|
|
12
12
|
import "./chunk-5ULLIOVC.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-ACTO5C6K.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-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-NXYXFRPA.js";
|
|
6
|
+
import "./chunk-QYQI7ZWK.js";
|
|
7
|
+
import "./chunk-EZGZOK6E.js";
|
|
8
|
+
import "./chunk-O3XSFPYH.js";
|
|
9
|
+
import "./chunk-5PKNKJYP.js";
|
|
10
10
|
import "./chunk-5ULLIOVC.js";
|
|
11
11
|
import "./chunk-HOSJZMQS.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-ACTO5C6K.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-4OAV7QMB.js";
|
|
42
42
|
import {
|
|
43
43
|
hasSemanticIndex,
|
|
44
44
|
semanticSearch
|
|
@@ -2053,7 +2053,10 @@ function peelMetaNarration(content) {
|
|
|
2053
2053
|
var META_NARRATION_HARD_MARKERS = [
|
|
2054
2054
|
/\[⚠️\s*CONTENT GENERATION MODE\]/,
|
|
2055
2055
|
/CONTENT_ONLY_STREAM_REMINDER\b/,
|
|
2056
|
-
/<system-reminder>/i
|
|
2056
|
+
/<system-reminder>/i,
|
|
2057
|
+
// → `path` — AI wraps content with "已写好 → `file.md`" before the document body.
|
|
2058
|
+
// Documents never use this conversational file-path-pointer syntax.
|
|
2059
|
+
/→\s*`[^`]{2,}`/u
|
|
2057
2060
|
];
|
|
2058
2061
|
var META_NARRATION_HEURISTICS = [
|
|
2059
2062
|
/\bthe user (?:is asking me|wants me|is requesting|expects me)\b/i,
|
|
@@ -2064,7 +2067,24 @@ var META_NARRATION_HEURISTICS = [
|
|
|
2064
2067
|
/\bActually,?\s+I\b/i,
|
|
2065
2068
|
/\bI need to be honest with the user\b/i,
|
|
2066
2069
|
/\bI(?:'m| am) in a special mode\b/i,
|
|
2067
|
-
/\bGiven that I cannot\b/i
|
|
2070
|
+
/\bGiven that I cannot\b/i,
|
|
2071
|
+
// ── 中文 ── (need 2+ total hits across all patterns to trigger)
|
|
2072
|
+
/(?:已经?|已)\s*(?:写[好完]|生成[好完]|创建[好完]|准备[好完]|搞[好定]|弄[好完])[了啦]?/u,
|
|
2073
|
+
/(?:需要你|请你|麻烦你|还要你|你看)\s*(?:确认|决定|选择|帮忙|看[一看下]|过目)/u,
|
|
2074
|
+
/(?:总结|概括|归纳|整理)[一下]?(?:核心|主要|关键)?(?:思路|要点|内容|设计)/u,
|
|
2075
|
+
/(?:随时|有问题|有需要|需要调整|需要修改|需要补充)\s*(?:联系|找我|告诉|沟通|调整|修改|补充|说)/u,
|
|
2076
|
+
/^(?:.{0,40})(?:好的[,,,!\s]|嗯[,,,!\s]|收到[了]?[,,,!\s]|了解[了]?[,,,!\s]|明白[了]?[,,,!\s])/mu,
|
|
2077
|
+
/(?:我来|让我|容我)\s*(?:整理|梳理|归纳|想想|看看|重新|检查|核实)/u,
|
|
2078
|
+
// 过渡语(需要 2+ hits):"以下是:" / "如下:" 作为独立行。文档中可作小节标题,
|
|
2079
|
+
// 但配合另一个对话模式(如"好的")时是典型的 AI 内容包装。
|
|
2080
|
+
/^.{0,60}(?:以下是|下面是|如下)\s*[::,,]\s*$/mu
|
|
2081
|
+
];
|
|
2082
|
+
var CHINESE_TAIL_CLOSING_MARKERS = [
|
|
2083
|
+
/(?:需要你|请你|麻烦你|你看)\s*(?:确认|决定|选择|帮忙|看[一看下]|过目|觉得|认为)/u,
|
|
2084
|
+
/(?:随时|有问题|有需要|需要调整|需要修改)\s*(?:联系|找我|告诉|沟通|调整|修改)/u,
|
|
2085
|
+
/(?:如果|假如|假设)\s*(?:有[没缺][有]?|需要|觉得|认为).{0,30}?(?:随时|可以|直接|尽管)\s*(?:联系|找我|告诉|说|调整|修改)/u,
|
|
2086
|
+
/(?:以上|先这样|暂时|目前).{0,10}$/mu,
|
|
2087
|
+
/(?:几个|一些|以下)\s*(?:关键)?(?:问题|疑问|想法|建议).{0,30}$/mu
|
|
2068
2088
|
];
|
|
2069
2089
|
function detectMetaNarration(content) {
|
|
2070
2090
|
if (!content) return null;
|
|
@@ -2072,7 +2092,19 @@ function detectMetaNarration(content) {
|
|
|
2072
2092
|
for (const re of META_NARRATION_HARD_MARKERS) {
|
|
2073
2093
|
if (re.test(head)) return re.source;
|
|
2074
2094
|
}
|
|
2075
|
-
if (
|
|
2095
|
+
if (content.length > 500) {
|
|
2096
|
+
const tail = content.slice(-500);
|
|
2097
|
+
let tailHits = 0;
|
|
2098
|
+
let tailFirst = "";
|
|
2099
|
+
for (const re of CHINESE_TAIL_CLOSING_MARKERS) {
|
|
2100
|
+
if (re.test(tail)) {
|
|
2101
|
+
tailHits++;
|
|
2102
|
+
if (!tailFirst) tailFirst = re.source;
|
|
2103
|
+
if (tailHits >= 2) return `meta-narration-tail:${tailFirst}`;
|
|
2104
|
+
}
|
|
2105
|
+
}
|
|
2106
|
+
}
|
|
2107
|
+
if (/^#{1,3}\s+\S/m.test(content.slice(0, 200))) return null;
|
|
2076
2108
|
let hits = 0;
|
|
2077
2109
|
let firstMatch = "";
|
|
2078
2110
|
for (const re of META_NARRATION_HEURISTICS) {
|
|
@@ -15876,7 +15908,7 @@ async function handleSecurityReview(args, ctx) {
|
|
|
15876
15908
|
async function handleTest(args, ctx) {
|
|
15877
15909
|
ctx.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
15878
15910
|
try {
|
|
15879
|
-
const { executeTests } = await import("./run-tests-
|
|
15911
|
+
const { executeTests } = await import("./run-tests-NNXBS4EL.js");
|
|
15880
15912
|
const argStr = args.join(" ").trim();
|
|
15881
15913
|
let testArgs = {};
|
|
15882
15914
|
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-W55VKYTC.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-7KS3RGZ7.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-HX67JAK6.js";
|
|
56
56
|
import "./chunk-K3CF65QH.js";
|
|
57
57
|
import "./chunk-UUSRWSSX.js";
|
|
58
58
|
import "./chunk-CKH4KQ4E.js";
|
|
@@ -74,10 +74,10 @@ import {
|
|
|
74
74
|
formatDoctorReport,
|
|
75
75
|
loadContextFiles,
|
|
76
76
|
writeCrashLog
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-NXYXFRPA.js";
|
|
78
78
|
import {
|
|
79
79
|
ProviderRegistry
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-QYQI7ZWK.js";
|
|
81
81
|
import {
|
|
82
82
|
describePlugin,
|
|
83
83
|
getActivePluginAssets,
|
|
@@ -94,7 +94,7 @@ import {
|
|
|
94
94
|
trustHook,
|
|
95
95
|
trustPlugin,
|
|
96
96
|
untrustHook
|
|
97
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-EZGZOK6E.js";
|
|
98
98
|
import {
|
|
99
99
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
100
100
|
TEE_FINAL_USER_NUDGE,
|
|
@@ -113,10 +113,10 @@ import {
|
|
|
113
113
|
stripOuterCodeFence,
|
|
114
114
|
stripToolCallReminder,
|
|
115
115
|
teeStreamErrorSummary
|
|
116
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-O3XSFPYH.js";
|
|
117
117
|
import {
|
|
118
118
|
ConfigManager
|
|
119
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-5PKNKJYP.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-M4FW2NPU.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-ACTO5C6K.js";
|
|
153
153
|
import {
|
|
154
154
|
buildChatIndex,
|
|
155
155
|
clearChatIndex,
|
|
@@ -1821,7 +1821,7 @@ No tools match "${filter}".
|
|
|
1821
1821
|
const { join: join7 } = await import("path");
|
|
1822
1822
|
const { existsSync: existsSync6 } = await import("fs");
|
|
1823
1823
|
const { getGitRoot: getGitRoot2 } = await import("./git-context-EXOEHQSF.js");
|
|
1824
|
-
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-
|
|
1824
|
+
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-UROQJXLY.js");
|
|
1825
1825
|
const { approveProject, hashMcpFile } = await import("./project-trust-NKYHL3VZ.js");
|
|
1826
1826
|
const cwd = process.cwd();
|
|
1827
1827
|
const projectRoot = getGitRoot2(cwd) ?? cwd;
|
|
@@ -2800,7 +2800,7 @@ function createReviewCommands() {
|
|
|
2800
2800
|
usage: "/test [command|filter]",
|
|
2801
2801
|
async execute(args, ctx) {
|
|
2802
2802
|
try {
|
|
2803
|
-
const { executeTests } = await import("./run-tests-
|
|
2803
|
+
const { executeTests } = await import("./run-tests-FLCVJ6TK.js");
|
|
2804
2804
|
const argStr = args.join(" ").trim();
|
|
2805
2805
|
let testArgs = {};
|
|
2806
2806
|
if (argStr) {
|
|
@@ -7745,7 +7745,7 @@ program.command("web").description("Start Web UI server with browser-based chat
|
|
|
7745
7745
|
console.error("Error: Invalid port number. Must be between 1 and 65535.");
|
|
7746
7746
|
process.exit(1);
|
|
7747
7747
|
}
|
|
7748
|
-
const { startWebServer } = await import("./server-
|
|
7748
|
+
const { startWebServer } = await import("./server-W2X3C6GJ.js");
|
|
7749
7749
|
await startWebServer({ port, host: options.host });
|
|
7750
7750
|
});
|
|
7751
7751
|
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) => {
|
|
@@ -7912,11 +7912,11 @@ program.command("sessions").description("List recent conversation sessions").opt
|
|
|
7912
7912
|
console.log(footer + "\n");
|
|
7913
7913
|
});
|
|
7914
7914
|
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) => {
|
|
7915
|
-
const { runUsageCli } = await import("./usage-
|
|
7915
|
+
const { runUsageCli } = await import("./usage-MZCDTJWB.js");
|
|
7916
7916
|
await runUsageCli(options);
|
|
7917
7917
|
});
|
|
7918
7918
|
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) => {
|
|
7919
|
-
const { runDoctorCli } = await import("./doctor-cli-
|
|
7919
|
+
const { runDoctorCli } = await import("./doctor-cli-BY3FIV2B.js");
|
|
7920
7920
|
const argv = process.argv.slice(2);
|
|
7921
7921
|
await runDoctorCli({
|
|
7922
7922
|
json: !!options.json || argv.includes("--json"),
|
|
@@ -7925,7 +7925,7 @@ program.command("doctor").description("Health check: API keys, config, MCP, rece
|
|
|
7925
7925
|
});
|
|
7926
7926
|
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) => {
|
|
7927
7927
|
try {
|
|
7928
|
-
const batch = await import("./batch-
|
|
7928
|
+
const batch = await import("./batch-WWNPYQ6G.js");
|
|
7929
7929
|
switch (action) {
|
|
7930
7930
|
case "submit":
|
|
7931
7931
|
if (!arg) {
|
|
@@ -7968,7 +7968,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
|
|
|
7968
7968
|
}
|
|
7969
7969
|
});
|
|
7970
7970
|
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) => {
|
|
7971
|
-
const { startMcpServer } = await import("./server-
|
|
7971
|
+
const { startMcpServer } = await import("./server-E6LZB72O.js");
|
|
7972
7972
|
await startMcpServer({
|
|
7973
7973
|
allowDestructive: !!options.allowDestructive,
|
|
7974
7974
|
allowOutsideCwd: !!options.allowOutsideCwd,
|
|
@@ -7981,7 +7981,7 @@ program.command("pr <action> [target]").description("PR review helpers: review |
|
|
|
7981
7981
|
console.error(`Unknown pr action: ${action}. Use review | security-review | summarize.`);
|
|
7982
7982
|
process.exit(1);
|
|
7983
7983
|
}
|
|
7984
|
-
const { runPrCli } = await import("./pr-
|
|
7984
|
+
const { runPrCli } = await import("./pr-IJRUPR5C.js");
|
|
7985
7985
|
const result = await runPrCli({
|
|
7986
7986
|
action,
|
|
7987
7987
|
target,
|
|
@@ -8001,8 +8001,8 @@ program.command("pr <action> [target]").description("PR review helpers: review |
|
|
|
8001
8001
|
process.exit(result.exitCode);
|
|
8002
8002
|
});
|
|
8003
8003
|
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) => {
|
|
8004
|
-
const { runCi } = await import("./ci-
|
|
8005
|
-
const { formatCiResult } = await import("./ci-format-
|
|
8004
|
+
const { runCi } = await import("./ci-V5V3JSJC.js");
|
|
8005
|
+
const { formatCiResult } = await import("./ci-format-XS7LKBO5.js");
|
|
8006
8006
|
const formats = [options.json, options.markdown, options.sarif].filter(Boolean).length;
|
|
8007
8007
|
if (formats > 1) {
|
|
8008
8008
|
console.error("Choose only one output format: --json, --markdown, or --sarif.");
|
|
@@ -8160,7 +8160,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
|
|
|
8160
8160
|
config.get("customProviders"),
|
|
8161
8161
|
config.getConfigDir()
|
|
8162
8162
|
);
|
|
8163
|
-
const { startHub } = await import("./hub-
|
|
8163
|
+
const { startHub } = await import("./hub-L2QCRI5M.js");
|
|
8164
8164
|
await startHub(
|
|
8165
8165
|
{
|
|
8166
8166
|
topic: topic ?? "",
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import {
|
|
3
3
|
countSeverity,
|
|
4
4
|
runCi
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-FQSAK75P.js";
|
|
6
|
+
import "./chunk-TJK7AU65.js";
|
|
7
7
|
import {
|
|
8
8
|
buildReviewPrompt,
|
|
9
9
|
buildSecurityReviewPrompt,
|
|
@@ -11,15 +11,15 @@ import {
|
|
|
11
11
|
} from "./chunk-HLWUDRBO.js";
|
|
12
12
|
import {
|
|
13
13
|
ProviderRegistry
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-QYQI7ZWK.js";
|
|
15
|
+
import "./chunk-O3XSFPYH.js";
|
|
16
16
|
import {
|
|
17
17
|
ConfigManager
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-5PKNKJYP.js";
|
|
19
19
|
import "./chunk-5ULLIOVC.js";
|
|
20
20
|
import {
|
|
21
21
|
VERSION
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-ACTO5C6K.js";
|
|
23
23
|
import "./chunk-IW3Q7AE5.js";
|
|
24
24
|
|
|
25
25
|
// src/cli/pr.ts
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ToolRegistry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-HX67JAK6.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-EZGZOK6E.js";
|
|
12
12
|
import {
|
|
13
13
|
getDangerLevel,
|
|
14
14
|
schemaToJsonSchema
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-O3XSFPYH.js";
|
|
16
16
|
import "./chunk-5ULLIOVC.js";
|
|
17
17
|
import "./chunk-HOSJZMQS.js";
|
|
18
18
|
import "./chunk-4BKXL7SM.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-M4FW2NPU.js";
|
|
20
20
|
import {
|
|
21
21
|
VERSION
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-ACTO5C6K.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-7KS3RGZ7.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-HX67JAK6.js";
|
|
71
71
|
import "./chunk-K3CF65QH.js";
|
|
72
72
|
import "./chunk-UUSRWSSX.js";
|
|
73
73
|
import "./chunk-CKH4KQ4E.js";
|
|
@@ -84,10 +84,10 @@ import {
|
|
|
84
84
|
buildDoctorReport,
|
|
85
85
|
formatDoctorReport,
|
|
86
86
|
loadContextFiles
|
|
87
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-NXYXFRPA.js";
|
|
88
88
|
import {
|
|
89
89
|
ProviderRegistry
|
|
90
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-QYQI7ZWK.js";
|
|
91
91
|
import {
|
|
92
92
|
describePlugin,
|
|
93
93
|
getActivePluginAssets,
|
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
runTool,
|
|
103
103
|
setPluginEnabled,
|
|
104
104
|
trustPlugin
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-EZGZOK6E.js";
|
|
106
106
|
import {
|
|
107
107
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
108
108
|
TEE_FINAL_USER_NUDGE,
|
|
@@ -118,10 +118,10 @@ import {
|
|
|
118
118
|
stripOuterCodeFence,
|
|
119
119
|
stripToolCallReminder,
|
|
120
120
|
teeStreamErrorSummary
|
|
121
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-O3XSFPYH.js";
|
|
122
122
|
import {
|
|
123
123
|
ConfigManager
|
|
124
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-5PKNKJYP.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-M4FW2NPU.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-ACTO5C6K.js";
|
|
150
150
|
import "./chunk-NVUCDUXE.js";
|
|
151
151
|
import "./chunk-KHYD3WXE.js";
|
|
152
152
|
import {
|
|
@@ -1593,7 +1593,7 @@ async function handleSecurityReview(args, ctx) {
|
|
|
1593
1593
|
async function handleTest(args, ctx) {
|
|
1594
1594
|
ctx.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
1595
1595
|
try {
|
|
1596
|
-
const { executeTests } = await import("./run-tests-
|
|
1596
|
+
const { executeTests } = await import("./run-tests-FLCVJ6TK.js");
|
|
1597
1597
|
const argStr = args.join(" ").trim();
|
|
1598
1598
|
let testArgs = {};
|
|
1599
1599
|
if (argStr) {
|
|
@@ -3,25 +3,25 @@ import {
|
|
|
3
3
|
ToolRegistry,
|
|
4
4
|
googleSearchContext,
|
|
5
5
|
truncateOutput
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HX67JAK6.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-EZGZOK6E.js";
|
|
14
14
|
import {
|
|
15
15
|
getDangerLevel,
|
|
16
16
|
runLeanAgentLoop
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-O3XSFPYH.js";
|
|
18
18
|
import "./chunk-5ULLIOVC.js";
|
|
19
19
|
import "./chunk-HOSJZMQS.js";
|
|
20
20
|
import "./chunk-4BKXL7SM.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-M4FW2NPU.js";
|
|
22
22
|
import {
|
|
23
23
|
SUBAGENT_ALLOWED_TOOLS
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-ACTO5C6K.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-5PKNKJYP.js";
|
|
12
12
|
import "./chunk-5ULLIOVC.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-ACTO5C6K.js";
|
|
14
14
|
import "./chunk-IW3Q7AE5.js";
|
|
15
15
|
|
|
16
16
|
// src/cli/usage.ts
|