jinzd-ai-cli 0.4.111 → 0.4.112
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-XIDQVPRL.js → batch-QQGRQ45S.js} +2 -2
- package/dist/{chunk-5LKW2GOF.js → chunk-5XHNTLRS.js} +1 -1
- package/dist/{chunk-5EVKTBUU.js → chunk-7XXZWPTN.js} +2 -2
- package/dist/{chunk-CPIQXP7Q.js → chunk-AWZ63EVH.js} +1 -1
- package/dist/{chunk-GRIEVPII.js → chunk-BWZJGCO6.js} +48 -3
- package/dist/{chunk-AVMGKU4E.js → chunk-DEXCXFLP.js} +1 -1
- package/dist/{chunk-VYDXL2PC.js → chunk-FM5VYCXA.js} +1 -1
- package/dist/{constants-NPGSV4QY.js → constants-OCYK6U3N.js} +1 -1
- package/dist/electron-server.js +48 -3
- package/dist/{hub-T34FCE5J.js → hub-7KYFVLHM.js} +1 -1
- package/dist/index.js +11 -11
- package/dist/{run-tests-QBNLSYCO.js → run-tests-JMKGA7XU.js} +2 -2
- package/dist/{run-tests-TTU6DNLI.js → run-tests-V73IZCNW.js} +1 -1
- package/dist/{server-5TGJOWML.js → server-WWFOPWWJ.js} +3 -3
- package/dist/{server-42ZKNS56.js → server-YY6CUP3K.js} +6 -6
- package/dist/{task-orchestrator-IJFF7XLQ.js → task-orchestrator-RPYZT2WL.js} +3 -3
- 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-FM5VYCXA.js";
|
|
5
5
|
import "./chunk-2ZD3YTVM.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-AWZ63EVH.js";
|
|
7
7
|
import "./chunk-PDX44BCA.js";
|
|
8
8
|
|
|
9
9
|
// src/cli/batch.ts
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-3BICTI5M.js";
|
|
6
6
|
import {
|
|
7
7
|
runTestsTool
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-5XHNTLRS.js";
|
|
9
9
|
import {
|
|
10
10
|
EnvLoader,
|
|
11
11
|
NetworkError,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
SUBAGENT_ALLOWED_TOOLS,
|
|
19
19
|
SUBAGENT_DEFAULT_MAX_ROUNDS,
|
|
20
20
|
SUBAGENT_MAX_ROUNDS_LIMIT
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-AWZ63EVH.js";
|
|
22
22
|
import {
|
|
23
23
|
fileCheckpoints
|
|
24
24
|
} from "./chunk-4BKXL7SM.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
schemaToJsonSchema,
|
|
4
4
|
truncateForPersist
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-7XXZWPTN.js";
|
|
6
6
|
import {
|
|
7
7
|
AuthError,
|
|
8
8
|
ProviderError,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
MCP_PROTOCOL_VERSION,
|
|
19
19
|
MCP_TOOL_PREFIX,
|
|
20
20
|
VERSION
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-AWZ63EVH.js";
|
|
22
22
|
import {
|
|
23
23
|
redactJson
|
|
24
24
|
} from "./chunk-7ZJN4KLV.js";
|
|
@@ -1785,7 +1785,16 @@ var PSEUDO_TOOL_CALL_PATTERNS = [
|
|
|
1785
1785
|
// ```tool_call\n...\n``` markdown fences (Kimi/Zhipu fallback)
|
|
1786
1786
|
/```\s*tool_call\b/i,
|
|
1787
1787
|
// Bare JSON tool-call block: lines starting with `{"name":"...","arguments":`
|
|
1788
|
-
/^\s*\{\s*"name"\s*:\s*"[\w._-]+"\s*,\s*"arguments"\s*:/m
|
|
1788
|
+
/^\s*\{\s*"name"\s*:\s*"[\w._-]+"\s*,\s*"arguments"\s*:/m,
|
|
1789
|
+
// v0.4.112: <think> ... </think> reasoning blocks. The REPL renderer
|
|
1790
|
+
// suppresses these from terminal output, but tee mode writes the raw
|
|
1791
|
+
// delta to disk → reasoning leaks into the saved file. We saw a 600-line
|
|
1792
|
+
// 审计报告.md whose first 57 lines were the model's planning monologue.
|
|
1793
|
+
/<think\b[^>]*>/i,
|
|
1794
|
+
// v0.4.112: leading ```markdown / ```md fence wrapping the entire document.
|
|
1795
|
+
// DeepSeek V4 Pro Thinking sometimes "politely" wraps its document output
|
|
1796
|
+
// in a markdown fence. The fence ends up literally in the saved file.
|
|
1797
|
+
/^\s*```\s*(?:markdown|md|gfm)\b/im
|
|
1789
1798
|
];
|
|
1790
1799
|
function detectPseudoToolCalls(content) {
|
|
1791
1800
|
if (!content || content.length === 0) return null;
|
|
@@ -1805,10 +1814,46 @@ function stripPseudoToolCalls(content) {
|
|
|
1805
1814
|
out = out.replace(/<tool_use(?:_id)?\b[^>]*>[\s\S]*?<\/tool_use(?:_id)?>/gi, "");
|
|
1806
1815
|
out = out.replace(/```\s*tool_call\b[\s\S]*?```/gi, "");
|
|
1807
1816
|
out = out.replace(/<think\b[^>]*>[\s\S]*?<\/think>/gi, "");
|
|
1817
|
+
out = out.replace(/<think\b[^>]*>[\s\S]*?(?=^#{1,3}\s+\S|\n\s*\n)/im, "");
|
|
1808
1818
|
out = out.replace(/^\s*\{\s*"name"\s*:\s*"[\w._-]+"\s*,\s*"arguments"\s*:[\s\S]*?\}\s*$/gm, "");
|
|
1819
|
+
out = unwrapDocumentFence(out);
|
|
1820
|
+
out = peelMetaNarration(out);
|
|
1809
1821
|
out = out.replace(/\n{3,}/g, "\n\n").trim();
|
|
1810
1822
|
return out;
|
|
1811
1823
|
}
|
|
1824
|
+
function unwrapDocumentFence(content) {
|
|
1825
|
+
const trimmed = content.trim();
|
|
1826
|
+
const open = trimmed.match(/^```\s*(markdown|md|gfm)?\s*\n/i);
|
|
1827
|
+
if (!open) return content;
|
|
1828
|
+
const afterOpen = trimmed.slice(open[0].length);
|
|
1829
|
+
const closeMatch = afterOpen.match(/\n```\s*$/);
|
|
1830
|
+
if (!closeMatch) return content;
|
|
1831
|
+
const inner = afterOpen.slice(0, afterOpen.length - closeMatch[0].length);
|
|
1832
|
+
if (inner.length < 200) return content;
|
|
1833
|
+
return inner;
|
|
1834
|
+
}
|
|
1835
|
+
function peelMetaNarration(content) {
|
|
1836
|
+
let out = content;
|
|
1837
|
+
const firstHeadingMatch = out.match(/^#{1,3}\s+\S.*$/m);
|
|
1838
|
+
if (firstHeadingMatch && firstHeadingMatch.index !== void 0) {
|
|
1839
|
+
const before = out.slice(0, firstHeadingMatch.index);
|
|
1840
|
+
const hasIntroMarker = /(?:以下(?:即为|是|就是)|这是|Here\s+is|Below\s+is|完整的?(?:审计报告|内容|文档)|审计报告(?:如下|的完整内容))/i.test(before);
|
|
1841
|
+
if (before.length > 0 && before.length < 800 && hasIntroMarker) {
|
|
1842
|
+
out = out.slice(firstHeadingMatch.index);
|
|
1843
|
+
}
|
|
1844
|
+
if (out.startsWith("---\n")) {
|
|
1845
|
+
const headingAfterRule = out.slice(4).match(/^#{1,3}\s+\S/m);
|
|
1846
|
+
if (headingAfterRule && headingAfterRule.index !== void 0 && headingAfterRule.index < 100) {
|
|
1847
|
+
out = out.slice(4 + headingAfterRule.index);
|
|
1848
|
+
}
|
|
1849
|
+
}
|
|
1850
|
+
}
|
|
1851
|
+
const codaMatch = out.match(/\n[^\n]*?(?:以上(?:即为|就是|内容|为完整的?)|Above\s+is\s+the|本报告已经|该报告(?:已经|包含)|报告(?:已|至此)结束)[^\n]*$/i);
|
|
1852
|
+
if (codaMatch && codaMatch.index !== void 0 && codaMatch.index > out.length / 2) {
|
|
1853
|
+
out = out.slice(0, codaMatch.index);
|
|
1854
|
+
}
|
|
1855
|
+
return out.trim();
|
|
1856
|
+
}
|
|
1812
1857
|
function looksLikeDocumentBody(content) {
|
|
1813
1858
|
if (!content || content.length < 200) return false;
|
|
1814
1859
|
if (/^#{1,6}\s+\S/m.test(content)) return true;
|
package/dist/electron-server.js
CHANGED
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
VERSION,
|
|
37
37
|
buildUserIdentityPrompt,
|
|
38
38
|
runTestsTool
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-DEXCXFLP.js";
|
|
40
40
|
import {
|
|
41
41
|
hasSemanticIndex,
|
|
42
42
|
semanticSearch
|
|
@@ -2199,7 +2199,16 @@ var PSEUDO_TOOL_CALL_PATTERNS = [
|
|
|
2199
2199
|
// ```tool_call\n...\n``` markdown fences (Kimi/Zhipu fallback)
|
|
2200
2200
|
/```\s*tool_call\b/i,
|
|
2201
2201
|
// Bare JSON tool-call block: lines starting with `{"name":"...","arguments":`
|
|
2202
|
-
/^\s*\{\s*"name"\s*:\s*"[\w._-]+"\s*,\s*"arguments"\s*:/m
|
|
2202
|
+
/^\s*\{\s*"name"\s*:\s*"[\w._-]+"\s*,\s*"arguments"\s*:/m,
|
|
2203
|
+
// v0.4.112: <think> ... </think> reasoning blocks. The REPL renderer
|
|
2204
|
+
// suppresses these from terminal output, but tee mode writes the raw
|
|
2205
|
+
// delta to disk → reasoning leaks into the saved file. We saw a 600-line
|
|
2206
|
+
// 审计报告.md whose first 57 lines were the model's planning monologue.
|
|
2207
|
+
/<think\b[^>]*>/i,
|
|
2208
|
+
// v0.4.112: leading ```markdown / ```md fence wrapping the entire document.
|
|
2209
|
+
// DeepSeek V4 Pro Thinking sometimes "politely" wraps its document output
|
|
2210
|
+
// in a markdown fence. The fence ends up literally in the saved file.
|
|
2211
|
+
/^\s*```\s*(?:markdown|md|gfm)\b/im
|
|
2203
2212
|
];
|
|
2204
2213
|
function detectPseudoToolCalls(content) {
|
|
2205
2214
|
if (!content || content.length === 0) return null;
|
|
@@ -2219,10 +2228,46 @@ function stripPseudoToolCalls(content) {
|
|
|
2219
2228
|
out = out.replace(/<tool_use(?:_id)?\b[^>]*>[\s\S]*?<\/tool_use(?:_id)?>/gi, "");
|
|
2220
2229
|
out = out.replace(/```\s*tool_call\b[\s\S]*?```/gi, "");
|
|
2221
2230
|
out = out.replace(/<think\b[^>]*>[\s\S]*?<\/think>/gi, "");
|
|
2231
|
+
out = out.replace(/<think\b[^>]*>[\s\S]*?(?=^#{1,3}\s+\S|\n\s*\n)/im, "");
|
|
2222
2232
|
out = out.replace(/^\s*\{\s*"name"\s*:\s*"[\w._-]+"\s*,\s*"arguments"\s*:[\s\S]*?\}\s*$/gm, "");
|
|
2233
|
+
out = unwrapDocumentFence(out);
|
|
2234
|
+
out = peelMetaNarration(out);
|
|
2223
2235
|
out = out.replace(/\n{3,}/g, "\n\n").trim();
|
|
2224
2236
|
return out;
|
|
2225
2237
|
}
|
|
2238
|
+
function unwrapDocumentFence(content) {
|
|
2239
|
+
const trimmed = content.trim();
|
|
2240
|
+
const open = trimmed.match(/^```\s*(markdown|md|gfm)?\s*\n/i);
|
|
2241
|
+
if (!open) return content;
|
|
2242
|
+
const afterOpen = trimmed.slice(open[0].length);
|
|
2243
|
+
const closeMatch = afterOpen.match(/\n```\s*$/);
|
|
2244
|
+
if (!closeMatch) return content;
|
|
2245
|
+
const inner = afterOpen.slice(0, afterOpen.length - closeMatch[0].length);
|
|
2246
|
+
if (inner.length < 200) return content;
|
|
2247
|
+
return inner;
|
|
2248
|
+
}
|
|
2249
|
+
function peelMetaNarration(content) {
|
|
2250
|
+
let out = content;
|
|
2251
|
+
const firstHeadingMatch = out.match(/^#{1,3}\s+\S.*$/m);
|
|
2252
|
+
if (firstHeadingMatch && firstHeadingMatch.index !== void 0) {
|
|
2253
|
+
const before = out.slice(0, firstHeadingMatch.index);
|
|
2254
|
+
const hasIntroMarker = /(?:以下(?:即为|是|就是)|这是|Here\s+is|Below\s+is|完整的?(?:审计报告|内容|文档)|审计报告(?:如下|的完整内容))/i.test(before);
|
|
2255
|
+
if (before.length > 0 && before.length < 800 && hasIntroMarker) {
|
|
2256
|
+
out = out.slice(firstHeadingMatch.index);
|
|
2257
|
+
}
|
|
2258
|
+
if (out.startsWith("---\n")) {
|
|
2259
|
+
const headingAfterRule = out.slice(4).match(/^#{1,3}\s+\S/m);
|
|
2260
|
+
if (headingAfterRule && headingAfterRule.index !== void 0 && headingAfterRule.index < 100) {
|
|
2261
|
+
out = out.slice(4 + headingAfterRule.index);
|
|
2262
|
+
}
|
|
2263
|
+
}
|
|
2264
|
+
}
|
|
2265
|
+
const codaMatch = out.match(/\n[^\n]*?(?:以上(?:即为|就是|内容|为完整的?)|Above\s+is\s+the|本报告已经|该报告(?:已经|包含)|报告(?:已|至此)结束)[^\n]*$/i);
|
|
2266
|
+
if (codaMatch && codaMatch.index !== void 0 && codaMatch.index > out.length / 2) {
|
|
2267
|
+
out = out.slice(0, codaMatch.index);
|
|
2268
|
+
}
|
|
2269
|
+
return out.trim();
|
|
2270
|
+
}
|
|
2226
2271
|
function looksLikeDocumentBody(content) {
|
|
2227
2272
|
if (!content || content.length < 200) return false;
|
|
2228
2273
|
if (/^#{1,6}\s+\S/m.test(content)) return true;
|
|
@@ -11873,7 +11918,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
11873
11918
|
case "test": {
|
|
11874
11919
|
this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
11875
11920
|
try {
|
|
11876
|
-
const { executeTests } = await import("./run-tests-
|
|
11921
|
+
const { executeTests } = await import("./run-tests-V73IZCNW.js");
|
|
11877
11922
|
const argStr = args.join(" ").trim();
|
|
11878
11923
|
let testArgs = {};
|
|
11879
11924
|
if (argStr) {
|
|
@@ -386,7 +386,7 @@ ${content}`);
|
|
|
386
386
|
}
|
|
387
387
|
}
|
|
388
388
|
async function runTaskMode(config, providers, configManager, topic) {
|
|
389
|
-
const { TaskOrchestrator } = await import("./task-orchestrator-
|
|
389
|
+
const { TaskOrchestrator } = await import("./task-orchestrator-RPYZT2WL.js");
|
|
390
390
|
const orchestrator = new TaskOrchestrator(config, providers, configManager);
|
|
391
391
|
let interrupted = false;
|
|
392
392
|
const onSigint = () => {
|
package/dist/index.js
CHANGED
|
@@ -31,10 +31,10 @@ import {
|
|
|
31
31
|
setupProxy,
|
|
32
32
|
stripPseudoToolCalls,
|
|
33
33
|
stripToolCallReminder
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-BWZJGCO6.js";
|
|
35
35
|
import {
|
|
36
36
|
ConfigManager
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-FM5VYCXA.js";
|
|
38
38
|
import {
|
|
39
39
|
ToolExecutor,
|
|
40
40
|
ToolRegistry,
|
|
@@ -53,10 +53,10 @@ import {
|
|
|
53
53
|
spawnAgentContext,
|
|
54
54
|
theme,
|
|
55
55
|
undoStack
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-7XXZWPTN.js";
|
|
57
57
|
import "./chunk-3BICTI5M.js";
|
|
58
58
|
import "./chunk-2DXY7UGF.js";
|
|
59
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-5XHNTLRS.js";
|
|
60
60
|
import "./chunk-2ZD3YTVM.js";
|
|
61
61
|
import {
|
|
62
62
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
@@ -79,7 +79,7 @@ import {
|
|
|
79
79
|
SKILLS_DIR_NAME,
|
|
80
80
|
VERSION,
|
|
81
81
|
buildUserIdentityPrompt
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-AWZ63EVH.js";
|
|
83
83
|
import {
|
|
84
84
|
formatGitContextForPrompt,
|
|
85
85
|
getGitContext,
|
|
@@ -1600,7 +1600,7 @@ ${text}
|
|
|
1600
1600
|
const { join: join6 } = await import("path");
|
|
1601
1601
|
const { existsSync: existsSync6 } = await import("fs");
|
|
1602
1602
|
const { getGitRoot: getGitRoot2 } = await import("./git-context-7KIP4X2V.js");
|
|
1603
|
-
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-
|
|
1603
|
+
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-OCYK6U3N.js");
|
|
1604
1604
|
const { approveProject, hashMcpFile } = await import("./project-trust-IFM7FXEV.js");
|
|
1605
1605
|
const cwd = process.cwd();
|
|
1606
1606
|
const projectRoot = getGitRoot2(cwd) ?? cwd;
|
|
@@ -2650,7 +2650,7 @@ ${hint}` : "")
|
|
|
2650
2650
|
usage: "/test [command|filter]",
|
|
2651
2651
|
async execute(args, ctx) {
|
|
2652
2652
|
try {
|
|
2653
|
-
const { executeTests } = await import("./run-tests-
|
|
2653
|
+
const { executeTests } = await import("./run-tests-JMKGA7XU.js");
|
|
2654
2654
|
const argStr = args.join(" ").trim();
|
|
2655
2655
|
let testArgs = {};
|
|
2656
2656
|
if (argStr) {
|
|
@@ -6882,7 +6882,7 @@ program.command("web").description("Start Web UI server with browser-based chat
|
|
|
6882
6882
|
console.error("Error: Invalid port number. Must be between 1 and 65535.");
|
|
6883
6883
|
process.exit(1);
|
|
6884
6884
|
}
|
|
6885
|
-
const { startWebServer } = await import("./server-
|
|
6885
|
+
const { startWebServer } = await import("./server-YY6CUP3K.js");
|
|
6886
6886
|
await startWebServer({ port, host: options.host });
|
|
6887
6887
|
});
|
|
6888
6888
|
program.command("user [action] [username]").description("Manage Web UI users (list | create <name> | delete <name> | reset-password <name> | migrate <name>)").action(async (action, username) => {
|
|
@@ -7005,7 +7005,7 @@ program.command("sessions").description("List recent conversation sessions").act
|
|
|
7005
7005
|
});
|
|
7006
7006
|
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) => {
|
|
7007
7007
|
try {
|
|
7008
|
-
const batch = await import("./batch-
|
|
7008
|
+
const batch = await import("./batch-QQGRQ45S.js");
|
|
7009
7009
|
switch (action) {
|
|
7010
7010
|
case "submit":
|
|
7011
7011
|
if (!arg) {
|
|
@@ -7048,7 +7048,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
|
|
|
7048
7048
|
}
|
|
7049
7049
|
});
|
|
7050
7050
|
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) => {
|
|
7051
|
-
const { startMcpServer } = await import("./server-
|
|
7051
|
+
const { startMcpServer } = await import("./server-WWFOPWWJ.js");
|
|
7052
7052
|
await startMcpServer({
|
|
7053
7053
|
allowDestructive: !!options.allowDestructive,
|
|
7054
7054
|
allowOutsideCwd: !!options.allowOutsideCwd,
|
|
@@ -7175,7 +7175,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
|
|
|
7175
7175
|
}),
|
|
7176
7176
|
config.get("customProviders")
|
|
7177
7177
|
);
|
|
7178
|
-
const { startHub } = await import("./hub-
|
|
7178
|
+
const { startHub } = await import("./hub-7KYFVLHM.js");
|
|
7179
7179
|
await startHub(
|
|
7180
7180
|
{
|
|
7181
7181
|
topic: topic ?? "",
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
ToolRegistry,
|
|
4
4
|
getDangerLevel,
|
|
5
5
|
schemaToJsonSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7XXZWPTN.js";
|
|
7
7
|
import "./chunk-3BICTI5M.js";
|
|
8
8
|
import "./chunk-2DXY7UGF.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-5XHNTLRS.js";
|
|
10
10
|
import "./chunk-2ZD3YTVM.js";
|
|
11
11
|
import {
|
|
12
12
|
VERSION
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-AWZ63EVH.js";
|
|
14
14
|
import "./chunk-4BKXL7SM.js";
|
|
15
15
|
import "./chunk-7ZJN4KLV.js";
|
|
16
16
|
import "./chunk-KHYD3WXE.js";
|
|
@@ -24,10 +24,10 @@ import {
|
|
|
24
24
|
setupProxy,
|
|
25
25
|
stripPseudoToolCalls,
|
|
26
26
|
stripToolCallReminder
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-BWZJGCO6.js";
|
|
28
28
|
import {
|
|
29
29
|
ConfigManager
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-FM5VYCXA.js";
|
|
31
31
|
import {
|
|
32
32
|
ToolExecutor,
|
|
33
33
|
ToolRegistry,
|
|
@@ -45,10 +45,10 @@ import {
|
|
|
45
45
|
spawnAgentContext,
|
|
46
46
|
truncateOutput,
|
|
47
47
|
undoStack
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-7XXZWPTN.js";
|
|
49
49
|
import "./chunk-3BICTI5M.js";
|
|
50
50
|
import "./chunk-2DXY7UGF.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-5XHNTLRS.js";
|
|
52
52
|
import "./chunk-2ZD3YTVM.js";
|
|
53
53
|
import {
|
|
54
54
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
@@ -68,7 +68,7 @@ import {
|
|
|
68
68
|
SKILLS_DIR_NAME,
|
|
69
69
|
VERSION,
|
|
70
70
|
buildUserIdentityPrompt
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-AWZ63EVH.js";
|
|
72
72
|
import {
|
|
73
73
|
formatGitContextForPrompt,
|
|
74
74
|
getGitContext,
|
|
@@ -2411,7 +2411,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
2411
2411
|
case "test": {
|
|
2412
2412
|
this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
2413
2413
|
try {
|
|
2414
|
-
const { executeTests } = await import("./run-tests-
|
|
2414
|
+
const { executeTests } = await import("./run-tests-JMKGA7XU.js");
|
|
2415
2415
|
const argStr = args.join(" ").trim();
|
|
2416
2416
|
let testArgs = {};
|
|
2417
2417
|
if (argStr) {
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
getDangerLevel,
|
|
5
5
|
googleSearchContext,
|
|
6
6
|
truncateOutput
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-7XXZWPTN.js";
|
|
8
8
|
import "./chunk-3BICTI5M.js";
|
|
9
9
|
import "./chunk-2DXY7UGF.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-5XHNTLRS.js";
|
|
11
11
|
import "./chunk-2ZD3YTVM.js";
|
|
12
12
|
import {
|
|
13
13
|
SUBAGENT_ALLOWED_TOOLS
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-AWZ63EVH.js";
|
|
15
15
|
import "./chunk-4BKXL7SM.js";
|
|
16
16
|
import "./chunk-7ZJN4KLV.js";
|
|
17
17
|
import "./chunk-KHYD3WXE.js";
|