jinzd-ai-cli 0.4.272 → 0.4.275
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-3KHEEICT.js → batch-RMPSBH2V.js} +2 -2
- package/dist/{chunk-XUNQSAUM.js → chunk-54ADH5W5.js} +1 -1
- package/dist/{chunk-XBOP6NLW.js → chunk-56BCUOHE.js} +1 -1
- package/dist/{chunk-AUEX6RNY.js → chunk-BGHQ5CJL.js} +1 -1
- package/dist/{chunk-Z75H56SJ.js → chunk-E2AEMCJG.js} +4 -4
- package/dist/{chunk-PXWOJEFG.js → chunk-FVUMB7AJ.js} +1 -1
- package/dist/{chunk-JMU5DELU.js → chunk-HYI2RHJ3.js} +5 -5
- package/dist/{chunk-EZ6VXKJV.js → chunk-IFOZBVR5.js} +1 -1
- package/dist/{chunk-257ZLWOP.js → chunk-ILHOW3FP.js} +1 -1
- package/dist/{chunk-FBYFNBUD.js → chunk-KZCYSJQS.js} +4 -4
- package/dist/{chunk-5NZVRFLP.js → chunk-OSPJLLS7.js} +1 -1
- package/dist/{chunk-MFUAK7OM.js → chunk-QALTO63E.js} +68 -3
- package/dist/{chunk-WMVG5E56.js → chunk-SNLVKXEC.js} +1 -1
- package/dist/{chunk-3OBY7WSS.js → chunk-TEXT4DAT.js} +7 -1
- package/dist/{chunk-A5ICBOQ6.js → chunk-UZU3T3EF.js} +1 -1
- package/dist/{chunk-AHNTBH7G.js → chunk-XEF5J4TL.js} +1 -1
- package/dist/{ci-6CTWCDH3.js → ci-V6ZDXBVD.js} +6 -6
- package/dist/{ci-format-MC5HZBCE.js → ci-format-XMUXWM4P.js} +2 -2
- package/dist/{constants-SGKY75QU.js → constants-VSYIKOC6.js} +1 -1
- package/dist/{doctor-cli-7CW4BIGM.js → doctor-cli-OEDSOIY5.js} +6 -6
- package/dist/electron-server.js +262 -106
- package/dist/{hub-ORAAJOPT.js → hub-5BPUSNIC.js} +1 -1
- package/dist/index.js +56 -42
- package/dist/{persistent-memory-6NQQ2H2B.js → persistent-memory-AQQ7NYBD.js} +2 -2
- package/dist/{persistent-memory-6SB5ZUOI.js → persistent-memory-PN423VJJ.js} +2 -2
- package/dist/{pr-FNKV6IWI.js → pr-UVSKLQVO.js} +6 -6
- package/dist/{run-tests-34HXDZXM.js → run-tests-BNLTE2NI.js} +2 -2
- package/dist/{run-tests-PS37BVOI.js → run-tests-PZS7VH3M.js} +2 -2
- package/dist/{server-IEOQIQPC.js → server-MJTKS73A.js} +170 -77
- package/dist/{server-OZTSIFXL.js → server-QZHNPHL2.js} +6 -6
- package/dist/{task-orchestrator-77MEVKT6.js → task-orchestrator-R7UVEVEP.js} +6 -6
- package/dist/{usage-RI6YOAOP.js → usage-3RPTBBBT.js} +2 -2
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ConfigManager
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OSPJLLS7.js";
|
|
5
5
|
import "./chunk-TU3L3PW7.js";
|
|
6
6
|
import {
|
|
7
7
|
atomicWriteFileSync
|
|
8
8
|
} from "./chunk-IW3Q7AE5.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-SNLVKXEC.js";
|
|
10
10
|
|
|
11
11
|
// src/cli/batch.ts
|
|
12
12
|
import Anthropic from "@anthropic-ai/sdk";
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
listHooks,
|
|
9
9
|
listInstalledPlugins,
|
|
10
10
|
resetStats
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-56BCUOHE.js";
|
|
12
12
|
import {
|
|
13
13
|
ProviderRegistry
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-BGHQ5CJL.js";
|
|
15
15
|
import {
|
|
16
16
|
ConfigManager
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-OSPJLLS7.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-SNLVKXEC.js";
|
|
30
30
|
|
|
31
31
|
// src/diagnostics/doctor-report.ts
|
|
32
32
|
import { existsSync as existsSync3, statSync as statSync2 } from "fs";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
MEMORY_FILE_NAME,
|
|
14
14
|
MEMORY_MAX_CHARS,
|
|
15
15
|
MEMORY_STORE_FILE_NAME
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-SNLVKXEC.js";
|
|
17
17
|
|
|
18
18
|
// src/memory/persistent-memory.ts
|
|
19
19
|
import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from "fs";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
searchPersistentMemories,
|
|
12
12
|
touchMemoryReferences,
|
|
13
13
|
updateMemoryEntry
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-FVUMB7AJ.js";
|
|
15
15
|
import {
|
|
16
16
|
indexProject
|
|
17
17
|
} from "./chunk-GLSR2NR3.js";
|
|
@@ -30,13 +30,13 @@ import {
|
|
|
30
30
|
runHook,
|
|
31
31
|
runLifecycleHooks,
|
|
32
32
|
runTool
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-56BCUOHE.js";
|
|
34
34
|
import {
|
|
35
35
|
buildTruncatedArgumentsError,
|
|
36
36
|
getDangerLevel,
|
|
37
37
|
isFileWriteTool,
|
|
38
38
|
runLeanAgentLoop
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-TEXT4DAT.js";
|
|
40
40
|
import {
|
|
41
41
|
EnvLoader,
|
|
42
42
|
NetworkError,
|
|
@@ -50,14 +50,14 @@ import {
|
|
|
50
50
|
} from "./chunk-4BKXL7SM.js";
|
|
51
51
|
import {
|
|
52
52
|
runTestsTool
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-IFOZBVR5.js";
|
|
54
54
|
import {
|
|
55
55
|
CONFIG_DIR_NAME,
|
|
56
56
|
DEFAULT_MAX_TOOL_OUTPUT_CHARS_CAP,
|
|
57
57
|
SUBAGENT_ALLOWED_TOOLS,
|
|
58
58
|
SUBAGENT_DEFAULT_MAX_ROUNDS,
|
|
59
59
|
SUBAGENT_MAX_ROUNDS_LIMIT
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-SNLVKXEC.js";
|
|
61
61
|
|
|
62
62
|
// src/tools/shell-pool.ts
|
|
63
63
|
import { spawn as spawn2 } from "child_process";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
evaluateCiGate,
|
|
4
4
|
normalizeCiThresholds
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-54ADH5W5.js";
|
|
6
6
|
import {
|
|
7
7
|
buildReviewPrompt,
|
|
8
8
|
buildSecurityReviewPrompt,
|
|
@@ -13,13 +13,13 @@ import {
|
|
|
13
13
|
} from "./chunk-6YZEZFX5.js";
|
|
14
14
|
import {
|
|
15
15
|
ProviderRegistry
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-BGHQ5CJL.js";
|
|
17
17
|
import {
|
|
18
18
|
ConfigManager
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-OSPJLLS7.js";
|
|
20
20
|
import {
|
|
21
21
|
VERSION
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-SNLVKXEC.js";
|
|
23
23
|
|
|
24
24
|
// src/cli/ci.ts
|
|
25
25
|
import { execFileSync } from "child_process";
|
|
@@ -5,11 +5,15 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
estimateTokens,
|
|
7
7
|
truncateForPersist
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HYI2RHJ3.js";
|
|
9
9
|
import {
|
|
10
10
|
isMemoryExpired,
|
|
11
11
|
isMemoryStale
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-FVUMB7AJ.js";
|
|
13
|
+
import {
|
|
14
|
+
isCleanDocumentBody,
|
|
15
|
+
stripOuterCodeFence
|
|
16
|
+
} from "./chunk-TEXT4DAT.js";
|
|
13
17
|
import {
|
|
14
18
|
atomicWriteFileSync
|
|
15
19
|
} from "./chunk-IW3Q7AE5.js";
|
|
@@ -23,7 +27,7 @@ import {
|
|
|
23
27
|
MCP_PROTOCOL_VERSION,
|
|
24
28
|
MCP_TOOL_PREFIX,
|
|
25
29
|
VERSION
|
|
26
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-SNLVKXEC.js";
|
|
27
31
|
|
|
28
32
|
// src/mcp/client.ts
|
|
29
33
|
import { spawn } from "child_process";
|
|
@@ -1258,6 +1262,64 @@ function clearDevState() {
|
|
|
1258
1262
|
}
|
|
1259
1263
|
}
|
|
1260
1264
|
|
|
1265
|
+
// src/tools/deferred-save.ts
|
|
1266
|
+
import { statSync as statSync3 } from "fs";
|
|
1267
|
+
import { basename as basename2 } from "path";
|
|
1268
|
+
function snapshotFile(path) {
|
|
1269
|
+
try {
|
|
1270
|
+
const st = statSync3(path);
|
|
1271
|
+
return { exists: true, size: st.size, mtimeMs: st.mtimeMs };
|
|
1272
|
+
} catch {
|
|
1273
|
+
return { exists: false, size: 0, mtimeMs: 0 };
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
function armDeferredSave(path) {
|
|
1277
|
+
return { path, armedSnapshot: snapshotFile(path) };
|
|
1278
|
+
}
|
|
1279
|
+
function snapshotChanged(a, b) {
|
|
1280
|
+
return a.exists !== b.exists || a.size !== b.size || a.mtimeMs !== b.mtimeMs;
|
|
1281
|
+
}
|
|
1282
|
+
var SAVE_CLAIM_PATTERNS = [
|
|
1283
|
+
/(?:已|均已|都已)[^\n]{0,12}(?:保存|写入|生成|创建|落盘)/u,
|
|
1284
|
+
/(?:保存|写入|生成|创建)(?:到|至|于)\s*[`'"]/u,
|
|
1285
|
+
/\b(?:saved|written|created|generated)\s+(?:to|at|as|into)\b/i
|
|
1286
|
+
];
|
|
1287
|
+
function narratesSavedTarget(content, path) {
|
|
1288
|
+
const base = basename2(path);
|
|
1289
|
+
if (!base || !content.includes(base)) return null;
|
|
1290
|
+
for (const re of SAVE_CLAIM_PATTERNS) {
|
|
1291
|
+
if (re.test(content)) return re.source;
|
|
1292
|
+
}
|
|
1293
|
+
return null;
|
|
1294
|
+
}
|
|
1295
|
+
function decideDeferredSave(params) {
|
|
1296
|
+
const { content, path, armedSnapshot, currentSnapshot } = params;
|
|
1297
|
+
const body = stripOuterCodeFence(content);
|
|
1298
|
+
if (snapshotChanged(armedSnapshot, currentSnapshot)) {
|
|
1299
|
+
return {
|
|
1300
|
+
kind: "skip",
|
|
1301
|
+
reason: "target-already-written",
|
|
1302
|
+
message: `\u21AA \u8DF3\u8FC7 deferred \u843D\u76D8\uFF1A${path} \u5DF2\u5728\u672C\u8F6E\u88AB\u5DE5\u5177\u5199\u5165\uFF08${currentSnapshot.size} bytes\uFF09\uFF0C\u4E0D\u7528\u6700\u7EC8\u56DE\u590D\u8986\u76D6\u5B83\u3002`
|
|
1303
|
+
};
|
|
1304
|
+
}
|
|
1305
|
+
const narrated = narratesSavedTarget(body, path);
|
|
1306
|
+
if (narrated) {
|
|
1307
|
+
return {
|
|
1308
|
+
kind: "skip",
|
|
1309
|
+
reason: "narrates-target",
|
|
1310
|
+
message: `\u21AA \u8DF3\u8FC7 deferred \u843D\u76D8\uFF1A\u6700\u7EC8\u56DE\u590D\u662F\u5173\u4E8E ${basename2(path)} \u7684\u6C47\u62A5\u800C\u975E\u6587\u6863\u6B63\u6587\uFF08matched: ${narrated}\uFF09\u3002`
|
|
1311
|
+
};
|
|
1312
|
+
}
|
|
1313
|
+
if (!isCleanDocumentBody(body)) {
|
|
1314
|
+
return {
|
|
1315
|
+
kind: "skip",
|
|
1316
|
+
reason: "not-document-body",
|
|
1317
|
+
message: `\u21AA \u8DF3\u8FC7 deferred \u843D\u76D8\uFF1A\u6700\u7EC8\u56DE\u590D\u4E0D\u50CF\u53EF\u76F4\u63A5\u843D\u76D8\u7684\u6587\u6863\u6B63\u6587\uFF08${path} \u672A\u6539\u52A8\uFF09\u3002`
|
|
1318
|
+
};
|
|
1319
|
+
}
|
|
1320
|
+
return { kind: "save", body };
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1261
1323
|
// src/core/think-command.ts
|
|
1262
1324
|
var EFFORTS = /* @__PURE__ */ new Set(["low", "high", "max"]);
|
|
1263
1325
|
function resolveEffective(state) {
|
|
@@ -1505,5 +1567,8 @@ export {
|
|
|
1505
1567
|
clearDevState,
|
|
1506
1568
|
McpManager,
|
|
1507
1569
|
SkillManager,
|
|
1570
|
+
snapshotFile,
|
|
1571
|
+
armDeferredSave,
|
|
1572
|
+
decideDeferredSave,
|
|
1508
1573
|
setupProxy
|
|
1509
1574
|
};
|
|
@@ -515,6 +515,11 @@ var META_NARRATION_HEURISTICS = [
|
|
|
515
515
|
/(?:需要你|请你|麻烦你|还要你|你看)\s*(?:确认|决定|选择|帮忙|看[一看下]|过目)/u,
|
|
516
516
|
/(?:总结|概括|归纳|整理)[一下]?(?:核心|主要|关键)?(?:思路|要点|内容|设计)/u,
|
|
517
517
|
/(?:随时|有问题|有需要|需要调整|需要修改|需要补充)\s*(?:联系|找我|告诉|沟通|调整|修改|补充|说)/u,
|
|
518
|
+
// 「已(全部)生成并保存到 `path`」——对**文件**的汇报,不是文件的正文。
|
|
519
|
+
// v0.4.274 实战:deferred 赛道的最终回复是一段「4 份教案已全部生成并保存到
|
|
520
|
+
// `./精简版/` 目录下」的汇报表格,旧启发式只命中 1 条不足阈值,于是它被当文档
|
|
521
|
+
// 正文落盘、覆盖掉模型刚用 write_file 写好的教案。仍受 2 hits 阈值与标题逃逸约束。
|
|
522
|
+
/(?:已|均已|都已)[^\n]{0,10}(?:生成|写入|保存|创建)[^\n]{0,6}(?:到|至|于)\s*[`'"]/u,
|
|
518
523
|
/^(?:.{0,40})(?:好的[,,,!\s]|嗯[,,,!\s]|收到[了]?[,,,!\s]|了解[了]?[,,,!\s]|明白[了]?[,,,!\s])/mu,
|
|
519
524
|
/(?:我来|让我|容我)\s*(?:整理|梳理|归纳|想想|看看|重新|检查|核实)/u,
|
|
520
525
|
// 过渡语(需要 2+ hits):"以下是:" / "如下:" 作为独立行。文档中可作小节标题,
|
|
@@ -660,7 +665,8 @@ function buildDeferredSaveInstruction(saveToFile) {
|
|
|
660
665
|
return `[save_last_response \u65E0\u6CD5\u81EA\u52A8\u751F\u6210\u6587\u6863]
|
|
661
666
|
content-only \u6D41\u4EA7\u51FA\u7684\u662F\u5DE5\u5177\u8C03\u7528\u6807\u8BB0 / \u5185\u5FC3\u72EC\u767D\u800C\u975E\u6587\u6863\u6B63\u6587\uFF0C${saveToFile} \u672A\u4FDD\u5B58\u3002
|
|
662
667
|
|
|
663
|
-
\u4E0D\u8981\u518D\u8C03\u7528 save_last_response\u3002\u8BF7\u76F4\u63A5\u7528**\u666E\u901A\u6587\u672C\u56DE\u590D**\u628A\u5B8C\u6574\u6587\u6863\u5199\u51FA\u6765\uFF1A\u7EAF markdown\uFF0C\u7B2C\u4E00\u4E2A\u5B57\u7B26\u5C31\u662F\u9876\u7EA7\u6807\u9898\uFF08\u5982 "# \u5BA1\u8BA1\u62A5\u544A"\uFF09\uFF0C\u4E0D\u8981\u4EFB\u4F55\u5DE5\u5177\u8C03\u7528\u3001\u4E0D\u8981\u524D\u8A00\u94FA\u57AB\u3002\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u628A\u4F60\u8FD9\u6761\u56DE\u590D\u4FDD\u5B58\u5230 ${saveToFile}\u3002
|
|
668
|
+
\u4E0D\u8981\u518D\u8C03\u7528 save_last_response\u3002\u8BF7\u76F4\u63A5\u7528**\u666E\u901A\u6587\u672C\u56DE\u590D**\u628A\u5B8C\u6574\u6587\u6863\u5199\u51FA\u6765\uFF1A\u7EAF markdown\uFF0C\u7B2C\u4E00\u4E2A\u5B57\u7B26\u5C31\u662F\u9876\u7EA7\u6807\u9898\uFF08\u5982 "# \u5BA1\u8BA1\u62A5\u544A"\uFF09\uFF0C\u4E0D\u8981\u4EFB\u4F55\u5DE5\u5177\u8C03\u7528\u3001\u4E0D\u8981\u524D\u8A00\u94FA\u57AB\u3002\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u628A\u4F60\u8FD9\u6761\u56DE\u590D\u4FDD\u5B58\u5230 ${saveToFile}\u3002
|
|
669
|
+
\u82E5\u4F60\u6539\u7528 write_file \u7B49\u5DE5\u5177\u76F4\u63A5\u628A\u6587\u4EF6\u5199\u5B8C\uFF08\u591A\u6587\u4EF6\u4EFB\u52A1\u4E0B\u66F4\u5408\u9002\uFF09\uFF0C\u4E5F\u53EF\u4EE5\u2014\u2014\u7CFB\u7EDF\u68C0\u6D4B\u5230 ${saveToFile} \u5DF2\u7531\u5DE5\u5177\u5199\u51FA\u65F6\uFF0C\u4E0D\u4F1A\u518D\u7528\u4F60\u7684\u56DE\u590D\u8986\u76D6\u5B83\u3002`;
|
|
664
670
|
}
|
|
665
671
|
function teeStreamErrorSummary(saveToFile, errMsg) {
|
|
666
672
|
return `[save_last_response failed] streaming was interrupted: ${errMsg}. ${saveToFile} (partial) was deleted. Retry \u2014 and consider producing a more compact output (split very large reports across multiple save_last_response calls if the previous attempt timed out).`;
|
|
@@ -3,16 +3,16 @@ import {
|
|
|
3
3
|
CI_COMMENT_MARKER,
|
|
4
4
|
countSeverity,
|
|
5
5
|
runCi
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-KZCYSJQS.js";
|
|
7
|
+
import "./chunk-54ADH5W5.js";
|
|
8
8
|
import "./chunk-HLWUDRBO.js";
|
|
9
9
|
import "./chunk-6YZEZFX5.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-BGHQ5CJL.js";
|
|
11
|
+
import "./chunk-OSPJLLS7.js";
|
|
12
|
+
import "./chunk-TEXT4DAT.js";
|
|
13
13
|
import "./chunk-TU3L3PW7.js";
|
|
14
14
|
import "./chunk-IW3Q7AE5.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-SNLVKXEC.js";
|
|
16
16
|
export {
|
|
17
17
|
CI_COMMENT_MARKER,
|
|
18
18
|
countSeverity,
|
|
@@ -2,15 +2,15 @@
|
|
|
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-E2AEMCJG.js";
|
|
6
|
+
import "./chunk-56BCUOHE.js";
|
|
7
|
+
import "./chunk-BGHQ5CJL.js";
|
|
8
|
+
import "./chunk-OSPJLLS7.js";
|
|
9
|
+
import "./chunk-TEXT4DAT.js";
|
|
10
10
|
import "./chunk-TU3L3PW7.js";
|
|
11
11
|
import "./chunk-HOSJZMQS.js";
|
|
12
12
|
import "./chunk-IW3Q7AE5.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-SNLVKXEC.js";
|
|
14
14
|
export {
|
|
15
15
|
formatDoctorReport,
|
|
16
16
|
runDoctorCli
|