jinzd-ai-cli 0.4.273 → 0.4.276
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/LICENSE +21 -21
- package/README.md +610 -610
- package/README.zh-CN.md +559 -559
- package/dist/agent-client-6GX6QQDU.js +0 -0
- package/dist/auth-PE3Z5OHS.js +0 -0
- package/dist/{batch-LOW3GM26.js → batch-F7SKIBI3.js} +2 -2
- package/dist/chat-index-2D5GK2DB.js +0 -0
- package/dist/chunk-23SJVOQD.js +0 -0
- package/dist/chunk-3FEZSLGI.js +0 -0
- package/dist/chunk-4BKXL7SM.js +0 -0
- package/dist/{chunk-AUEX6RNY.js → chunk-4KTK2OYU.js} +54 -21
- package/dist/{chunk-M3NXF4GD.js → chunk-4NH4Q7QK.js} +1 -1
- package/dist/chunk-5C76XDDF.js +0 -0
- package/dist/chunk-6YZEZFX5.js +0 -0
- package/dist/{chunk-FHXLAJJG.js → chunk-AOISQVXS.js} +1 -1
- package/dist/{chunk-FNLWPYP5.js → chunk-ATD2Y3PB.js} +1 -1
- package/dist/chunk-BXP6YZ2P.js +0 -0
- package/dist/chunk-CGDYO52A.js +0 -0
- package/dist/chunk-CKH4KQ4E.js +0 -0
- package/dist/{chunk-JT6UN5C6.js → chunk-DPTEC6AQ.js} +3 -0
- package/dist/{chunk-EDAUDILT.js → chunk-FLDYAXJR.js} +1 -1
- package/dist/chunk-GHWZVPUV.js +0 -0
- package/dist/chunk-GLSR2NR3.js +0 -0
- package/dist/chunk-HLWUDRBO.js +0 -0
- package/dist/chunk-HOSJZMQS.js +0 -0
- package/dist/chunk-IW3Q7AE5.js +0 -0
- package/dist/chunk-KHYD3WXE.js +0 -0
- package/dist/{chunk-Z3UXZ5EI.js → chunk-KWSGSSWN.js} +1 -1
- package/dist/{chunk-4FIDMC2K.js → chunk-MCKUGWOY.js} +69 -4
- package/dist/chunk-MX75TNE5.js +0 -0
- package/dist/{chunk-FN7DE4HA.js → chunk-MXPUOF5K.js} +4 -4
- package/dist/chunk-NR5U6LVG.js +0 -0
- package/dist/{chunk-ZWCQQZT5.js → chunk-NXAHXWPF.js} +1 -1
- package/dist/{chunk-R4YGDJPL.js → chunk-NXNXWM6H.js} +5 -5
- package/dist/chunk-NYNSYLFY.js +0 -0
- package/dist/{chunk-WSCZRQDR.js → chunk-OMBKLWLJ.js} +1 -1
- package/dist/chunk-RYQBBEMM.js +0 -0
- package/dist/{chunk-3OBY7WSS.js → chunk-TEXT4DAT.js} +7 -1
- package/dist/chunk-TU3L3PW7.js +0 -0
- package/dist/{chunk-LEK5WGKV.js → chunk-UNL7NR55.js} +1 -1
- package/dist/chunk-UUSRWSSX.js +0 -0
- package/dist/{chunk-T65VFCID.js → chunk-VF7DMSKF.js} +1 -1
- package/dist/chunk-VOIOUJXI.js +0 -0
- package/dist/{chunk-MTQBSOZW.js → chunk-WYDP2WEQ.js} +4 -4
- package/dist/chunk-XNFIYS7G.js +0 -0
- package/dist/{ci-C5YMQXCS.js → ci-VURFRMWQ.js} +6 -6
- package/dist/{ci-format-R6EMNOGZ.js → ci-format-AFJJIURF.js} +2 -2
- package/dist/config-command-E5DHADEV.js +0 -0
- package/dist/{constants-QJCNMBPJ.js → constants-WO7ERENL.js} +1 -1
- package/dist/{doctor-cli-5CM2I6OF.js → doctor-cli-BGGILTHE.js} +6 -6
- package/dist/electron-server.js +167 -57
- package/dist/file-checkpoint-NKBHGC7L.js +0 -0
- package/dist/git-context-EXOEHQSF.js +0 -0
- package/dist/{hub-7JBSZOSD.js → hub-Z73RLNJI.js} +1 -1
- package/dist/hub-server-RF6LURXY.js +0 -0
- package/dist/index.js +57 -43
- package/dist/indexer-VZETNE4H.js +0 -0
- package/dist/persist-PQM4BRI4.js +0 -0
- package/dist/{persistent-memory-4E53HW3U.js → persistent-memory-5QMARQJF.js} +2 -2
- package/dist/{persistent-memory-KYRY56PG.js → persistent-memory-CI544RLT.js} +2 -2
- package/dist/{pr-NPUGZSXB.js → pr-24REDMGV.js} +6 -6
- package/dist/project-trust-NKYHL3VZ.js +0 -0
- package/dist/{run-tests-5FHQ5IBX.js → run-tests-72VNZXNT.js} +2 -2
- package/dist/{run-tests-SU5CDQKF.js → run-tests-JJ3KOY5E.js} +2 -2
- package/dist/semantic-HLAE2O4F.js +0 -0
- package/dist/{server-ER36M7TR.js → server-JMXC2N3F.js} +40 -29
- package/dist/{server-77YS5NNN.js → server-QJHCJDA7.js} +6 -6
- package/dist/setup-wizard-S55ICNHH.js +0 -0
- package/dist/store-MWNHVGJT.js +0 -0
- package/dist/{task-orchestrator-56PQ7LGV.js → task-orchestrator-DJN36HP5.js} +6 -6
- package/dist/{usage-3YATXRFZ.js → usage-HXJVDETY.js} +3 -3
- package/dist/vector-store-BBDXB5IQ.js +0 -0
- package/dist/wasm/web-tree-sitter.wasm +0 -0
- package/dist/web/client/actions.js +104 -104
- package/dist/web/client/actions.js.br +0 -0
- package/dist/web/client/actions.js.gz +0 -0
- package/dist/web/client/api.js.gz +0 -0
- package/dist/web/client/app.js.gz +0 -0
- package/dist/web/client/dom.js.gz +0 -0
- package/dist/web/client/icon.svg +22 -22
- package/dist/web/client/icon.svg.br +0 -0
- package/dist/web/client/icon.svg.gz +0 -0
- package/dist/web/client/index.html +388 -388
- package/dist/web/client/index.html.br +0 -0
- package/dist/web/client/index.html.gz +0 -0
- package/dist/web/client/manifest.json +15 -15
- package/dist/web/client/sidebar-tabs.js.gz +0 -0
- package/dist/web/client/state.js.gz +0 -0
- package/dist/web/client/style.css +991 -991
- package/dist/web/client/style.css.br +0 -0
- package/dist/web/client/style.css.gz +0 -0
- package/dist/web/client/sw.js +85 -85
- package/dist/web/client/sw.js.br +0 -0
- package/dist/web/client/sw.js.gz +0 -0
- package/dist/web/client/templates.js.gz +0 -0
- package/dist/web/client/util.js.gz +0 -0
- package/dist/web/client/vendor/daisyui-full.min.css.gz +0 -0
- package/dist/web/client/vendor/github-dark.min.css.gz +0 -0
- package/dist/web/client/vendor/github.min.css.gz +0 -0
- package/dist/web/client/vendor/highlight.min.js.gz +0 -0
- package/dist/web/client/vendor/marked.min.js.gz +0 -0
- package/dist/web/client/vendor/tailwind.js.gz +0 -0
- package/package.json +178 -178
|
File without changes
|
package/dist/auth-PE3Z5OHS.js
CHANGED
|
File without changes
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ConfigManager
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-VF7DMSKF.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-FLDYAXJR.js";
|
|
10
10
|
|
|
11
11
|
// src/cli/batch.ts
|
|
12
12
|
import Anthropic from "@anthropic-ai/sdk";
|
|
File without changes
|
package/dist/chunk-23SJVOQD.js
CHANGED
|
File without changes
|
package/dist/chunk-3FEZSLGI.js
CHANGED
|
File without changes
|
package/dist/chunk-4BKXL7SM.js
CHANGED
|
File without changes
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
detectsHallucinatedFileOp,
|
|
4
4
|
parseToolCallArguments,
|
|
5
5
|
schemaToJsonSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-TEXT4DAT.js";
|
|
7
7
|
import {
|
|
8
8
|
AuthError,
|
|
9
9
|
ProviderError,
|
|
@@ -1610,25 +1610,6 @@ var DeepSeekProvider = class extends OpenAICompatibleProvider {
|
|
|
1610
1610
|
}
|
|
1611
1611
|
};
|
|
1612
1612
|
|
|
1613
|
-
// src/providers/static-config.ts
|
|
1614
|
-
function createStaticProviderClass(config) {
|
|
1615
|
-
return class extends OpenAICompatibleProvider {
|
|
1616
|
-
defaultBaseUrl = config.baseUrl;
|
|
1617
|
-
defaultTimeout = config.defaultTimeout ?? 12e4;
|
|
1618
|
-
enableStreamingToolCalls = config.enableStreamingToolCalls ?? true;
|
|
1619
|
-
reliableContentOnlyTee = config.reliableContentOnlyTee ?? true;
|
|
1620
|
-
info = {
|
|
1621
|
-
id: config.id,
|
|
1622
|
-
displayName: config.displayName,
|
|
1623
|
-
defaultModel: config.defaultModel,
|
|
1624
|
-
apiKeyEnvVar: config.apiKeyEnvVar,
|
|
1625
|
-
requiresApiKey: config.requiresApiKey ?? true,
|
|
1626
|
-
baseUrl: config.baseUrl,
|
|
1627
|
-
models: config.models
|
|
1628
|
-
};
|
|
1629
|
-
};
|
|
1630
|
-
}
|
|
1631
|
-
|
|
1632
1613
|
// src/providers/zhipu.ts
|
|
1633
1614
|
var ZHIPU_CONFIG = {
|
|
1634
1615
|
id: "zhipu",
|
|
@@ -1638,6 +1619,7 @@ var ZHIPU_CONFIG = {
|
|
|
1638
1619
|
baseUrl: "https://open.bigmodel.cn/api/paas/v4",
|
|
1639
1620
|
defaultTimeout: 3e5,
|
|
1640
1621
|
models: [
|
|
1622
|
+
{ id: "glm-5.3", displayName: "GLM-5.3 (2026-08 Flagship, 1M, Coding/Security, \u59CB\u7EC8\u601D\u8003)", contextWindow: 1048576, supportsStreaming: true, supportsThinking: true },
|
|
1641
1623
|
{ id: "glm-5.2", displayName: "GLM-5.2 (2026-06 Flagship, 1M, Coding)", contextWindow: 1048576, supportsStreaming: true, supportsThinking: true },
|
|
1642
1624
|
{ id: "glm-5v-turbo", displayName: "GLM-5V-Turbo (Multimodal Vision + Coding)", contextWindow: 202752, supportsStreaming: true },
|
|
1643
1625
|
{ id: "glm-5.1", displayName: "GLM-5.1 (2026 Flagship, 200K, Agent+Code)", contextWindow: 204800, supportsStreaming: true, supportsThinking: true },
|
|
@@ -1647,7 +1629,39 @@ var ZHIPU_CONFIG = {
|
|
|
1647
1629
|
{ id: "glm-4.6", displayName: "GLM-4.6 (200K, \u4E2D\u6587\u5199\u4F5C\u63A8\u8350)", contextWindow: 204800, supportsStreaming: true }
|
|
1648
1630
|
]
|
|
1649
1631
|
};
|
|
1650
|
-
var
|
|
1632
|
+
var REASONING_EFFORT_MODELS = /^glm-5/i;
|
|
1633
|
+
var ZhipuProvider = class extends OpenAICompatibleProvider {
|
|
1634
|
+
defaultBaseUrl = ZHIPU_CONFIG.baseUrl;
|
|
1635
|
+
/** GLM-5 系列深度思考生成很长,沿用 300s 超时。 */
|
|
1636
|
+
defaultTimeout = ZHIPU_CONFIG.defaultTimeout ?? 12e4;
|
|
1637
|
+
info = {
|
|
1638
|
+
id: ZHIPU_CONFIG.id,
|
|
1639
|
+
displayName: ZHIPU_CONFIG.displayName,
|
|
1640
|
+
defaultModel: ZHIPU_CONFIG.defaultModel,
|
|
1641
|
+
apiKeyEnvVar: ZHIPU_CONFIG.apiKeyEnvVar,
|
|
1642
|
+
requiresApiKey: true,
|
|
1643
|
+
baseUrl: ZHIPU_CONFIG.baseUrl,
|
|
1644
|
+
models: ZHIPU_CONFIG.models
|
|
1645
|
+
};
|
|
1646
|
+
/**
|
|
1647
|
+
* GLM-5 系列透传 `reasoning_effort`。
|
|
1648
|
+
*
|
|
1649
|
+
* 刻意**不**与 `request.thinking` 绑定:GLM-5.3 无论发不发 thinking 字段都会思考,
|
|
1650
|
+
* 档位是这个模型上唯一能压成本的旋钮(思考 token 按输出价 $4.40/MTok 计费),
|
|
1651
|
+
* 若跟着 `thinking` 走,用户 `/think off` 反而会落回服务端默认的 max —— 最贵的一档。
|
|
1652
|
+
*/
|
|
1653
|
+
buildChatRequestParams(request) {
|
|
1654
|
+
const params = super.buildChatRequestParams(request);
|
|
1655
|
+
if (request.thinkingEffort && REASONING_EFFORT_MODELS.test(request.model)) {
|
|
1656
|
+
params["reasoning_effort"] = request.thinkingEffort;
|
|
1657
|
+
}
|
|
1658
|
+
return params;
|
|
1659
|
+
}
|
|
1660
|
+
/** GLM-5 系列支持 low/high/max 三档(官方文档 + 2026-08-20 实测)。 */
|
|
1661
|
+
get supportsReasoningEffort() {
|
|
1662
|
+
return true;
|
|
1663
|
+
}
|
|
1664
|
+
};
|
|
1651
1665
|
|
|
1652
1666
|
// src/providers/kimi.ts
|
|
1653
1667
|
var KIMI_XML_REMINDER = `
|
|
@@ -1826,6 +1840,25 @@ var KimiProvider = class _KimiProvider extends OpenAICompatibleProvider {
|
|
|
1826
1840
|
}
|
|
1827
1841
|
};
|
|
1828
1842
|
|
|
1843
|
+
// src/providers/static-config.ts
|
|
1844
|
+
function createStaticProviderClass(config) {
|
|
1845
|
+
return class extends OpenAICompatibleProvider {
|
|
1846
|
+
defaultBaseUrl = config.baseUrl;
|
|
1847
|
+
defaultTimeout = config.defaultTimeout ?? 12e4;
|
|
1848
|
+
enableStreamingToolCalls = config.enableStreamingToolCalls ?? true;
|
|
1849
|
+
reliableContentOnlyTee = config.reliableContentOnlyTee ?? true;
|
|
1850
|
+
info = {
|
|
1851
|
+
id: config.id,
|
|
1852
|
+
displayName: config.displayName,
|
|
1853
|
+
defaultModel: config.defaultModel,
|
|
1854
|
+
apiKeyEnvVar: config.apiKeyEnvVar,
|
|
1855
|
+
requiresApiKey: config.requiresApiKey ?? true,
|
|
1856
|
+
baseUrl: config.baseUrl,
|
|
1857
|
+
models: config.models
|
|
1858
|
+
};
|
|
1859
|
+
};
|
|
1860
|
+
}
|
|
1861
|
+
|
|
1829
1862
|
// src/providers/minimax.ts
|
|
1830
1863
|
var MINIMAX_CONFIG = {
|
|
1831
1864
|
id: "minimax",
|
package/dist/chunk-5C76XDDF.js
CHANGED
|
File without changes
|
package/dist/chunk-6YZEZFX5.js
CHANGED
|
File without changes
|
package/dist/chunk-BXP6YZ2P.js
CHANGED
|
File without changes
|
package/dist/chunk-CGDYO52A.js
CHANGED
|
File without changes
|
package/dist/chunk-CKH4KQ4E.js
CHANGED
|
File without changes
|
|
@@ -92,6 +92,9 @@ var PRICING_TABLE = {
|
|
|
92
92
|
"glm-4.6": { input: 0.6, output: 2.2 },
|
|
93
93
|
"glm-4.6v": { input: 0.6, output: 2.2 },
|
|
94
94
|
"glm-5": { input: 0.85, output: 2.85 },
|
|
95
|
+
// GLM-5.3(2026-08-14 发布)官方公告口径「与 GLM-5.2 同价」,直连 API $1.40 / $4.40。
|
|
96
|
+
// 注意它**始终思考**,思考 token 按输出价计费 —— 实际成本高度取决于 reasoning_effort。
|
|
97
|
+
"glm-5.3": { input: 1.4, output: 4.4 },
|
|
95
98
|
// GLM-5.2(2026-06)官方直连 API 定价 $1.40 / $4.40。
|
|
96
99
|
"glm-5.2": { input: 1.4, output: 4.4 },
|
|
97
100
|
// GLM-5V-Turbo(2026-04 视觉编程旗舰)官方直连 API 定价 $1.20 / $4.00。
|
package/dist/chunk-GHWZVPUV.js
CHANGED
|
File without changes
|
package/dist/chunk-GLSR2NR3.js
CHANGED
|
File without changes
|
package/dist/chunk-HLWUDRBO.js
CHANGED
|
File without changes
|
package/dist/chunk-HOSJZMQS.js
CHANGED
|
File without changes
|
package/dist/chunk-IW3Q7AE5.js
CHANGED
|
File without changes
|
package/dist/chunk-KHYD3WXE.js
CHANGED
|
File without changes
|
|
@@ -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-FLDYAXJR.js";
|
|
17
17
|
|
|
18
18
|
// src/memory/persistent-memory.ts
|
|
19
19
|
import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from "fs";
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
computeCost
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DPTEC6AQ.js";
|
|
5
5
|
import {
|
|
6
6
|
estimateTokens,
|
|
7
7
|
truncateForPersist
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-NXNXWM6H.js";
|
|
9
9
|
import {
|
|
10
10
|
isMemoryExpired,
|
|
11
11
|
isMemoryStale
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-KWSGSSWN.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-FLDYAXJR.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
|
};
|
package/dist/chunk-MX75TNE5.js
CHANGED
|
File without changes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
evaluateCiGate,
|
|
4
4
|
normalizeCiThresholds
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NXAHXWPF.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-4KTK2OYU.js";
|
|
17
17
|
import {
|
|
18
18
|
ConfigManager
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-VF7DMSKF.js";
|
|
20
20
|
import {
|
|
21
21
|
VERSION
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-FLDYAXJR.js";
|
|
23
23
|
|
|
24
24
|
// src/cli/ci.ts
|
|
25
25
|
import { execFileSync } from "child_process";
|
package/dist/chunk-NR5U6LVG.js
CHANGED
|
File without changes
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
searchPersistentMemories,
|
|
12
12
|
touchMemoryReferences,
|
|
13
13
|
updateMemoryEntry
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-KWSGSSWN.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-AOISQVXS.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-OMBKLWLJ.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-FLDYAXJR.js";
|
|
61
61
|
|
|
62
62
|
// src/tools/shell-pool.ts
|
|
63
63
|
import { spawn as spawn2 } from "child_process";
|
package/dist/chunk-NYNSYLFY.js
CHANGED
|
File without changes
|
package/dist/chunk-RYQBBEMM.js
CHANGED
|
File without changes
|
|
@@ -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).`;
|
package/dist/chunk-TU3L3PW7.js
CHANGED
|
File without changes
|
package/dist/chunk-UUSRWSSX.js
CHANGED
|
File without changes
|
package/dist/chunk-VOIOUJXI.js
CHANGED
|
File without changes
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
listHooks,
|
|
9
9
|
listInstalledPlugins,
|
|
10
10
|
resetStats
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-AOISQVXS.js";
|
|
12
12
|
import {
|
|
13
13
|
ProviderRegistry
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-4KTK2OYU.js";
|
|
15
15
|
import {
|
|
16
16
|
ConfigManager
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-VF7DMSKF.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-FLDYAXJR.js";
|
|
30
30
|
|
|
31
31
|
// src/diagnostics/doctor-report.ts
|
|
32
32
|
import { existsSync as existsSync3, statSync as statSync2 } from "fs";
|
package/dist/chunk-XNFIYS7G.js
CHANGED
|
File without changes
|
|
@@ -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-MXPUOF5K.js";
|
|
7
|
+
import "./chunk-NXAHXWPF.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-4KTK2OYU.js";
|
|
11
|
+
import "./chunk-VF7DMSKF.js";
|
|
12
|
+
import "./chunk-TEXT4DAT.js";
|
|
13
13
|
import "./chunk-TU3L3PW7.js";
|
|
14
14
|
import "./chunk-IW3Q7AE5.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-FLDYAXJR.js";
|
|
16
16
|
export {
|
|
17
17
|
CI_COMMENT_MARKER,
|
|
18
18
|
countSeverity,
|
|
File without changes
|
|
@@ -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-WYDP2WEQ.js";
|
|
6
|
+
import "./chunk-AOISQVXS.js";
|
|
7
|
+
import "./chunk-4KTK2OYU.js";
|
|
8
|
+
import "./chunk-VF7DMSKF.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-FLDYAXJR.js";
|
|
14
14
|
export {
|
|
15
15
|
formatDoctorReport,
|
|
16
16
|
runDoctorCli
|