jinzd-ai-cli 0.4.303 → 0.4.304
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-PEH5MTMC.js → batch-RY2F7BX5.js} +2 -2
- package/dist/{chunk-3GOHR45I.js → chunk-2GRGLTAK.js} +1 -1
- package/dist/{chunk-WCJR5HCF.js → chunk-2PLYXL4P.js} +22 -6
- package/dist/{chunk-YK42KYKN.js → chunk-3FI4TE5S.js} +3 -3
- package/dist/{chunk-55AANMEM.js → chunk-6AGTDWO3.js} +1 -1
- package/dist/{chunk-DHQCJC2B.js → chunk-7L7T46PI.js} +1 -1
- package/dist/{chunk-ORDEOJXX.js → chunk-BSBGPDCX.js} +1 -1
- package/dist/{chunk-PEDN3AWT.js → chunk-DNGUSTL6.js} +1 -1
- package/dist/{chunk-ZMCZMR4R.js → chunk-F3EJ4MIP.js} +7 -7
- package/dist/{chunk-Q24BN6WF.js → chunk-I2WJ44D3.js} +1 -1
- package/dist/{chunk-6ZRLM3NG.js → chunk-OECPGCHP.js} +3 -3
- package/dist/{chunk-7WD2TBWY.js → chunk-RHCRE6XE.js} +1 -1
- package/dist/{chunk-EMLRCVY2.js → chunk-TBTVV3KK.js} +1 -1
- package/dist/{chunk-XEKMGE2G.js → chunk-XIMM47EG.js} +1 -1
- package/dist/{ci-UXULLQMN.js → ci-QYTLBM6Z.js} +4 -4
- package/dist/{ci-format-23FWBZN6.js → ci-format-E5X27NC2.js} +2 -2
- package/dist/{constants-HL7DYRDJ.js → constants-F5WA5VPO.js} +1 -1
- package/dist/{constants-A6VKRPMA.js → constants-JDPKWZJP.js} +1 -1
- package/dist/{doctor-cli-FXBLI3EA.js → doctor-cli-7NSEVW63.js} +4 -4
- package/dist/electron-server.js +28 -12
- package/dist/{hub-NLULKDKU.js → hub-43PWTGGO.js} +1 -1
- package/dist/index.js +17 -17
- package/dist/{persistent-memory-NLXNNWOW.js → persistent-memory-A7RPDLR7.js} +2 -2
- package/dist/{persistent-memory-R4KLRI5Q.js → persistent-memory-SHG3CJCP.js} +2 -2
- package/dist/{pr-K6Z73QYN.js → pr-LW755EL7.js} +4 -4
- package/dist/{run-tests-PQ3SUDDN.js → run-tests-HV37CM5U.js} +2 -2
- package/dist/{run-tests-RYUB6PVF.js → run-tests-MJ3SCW27.js} +2 -2
- package/dist/{server-QCCH3277.js → server-EZ5ULLDP.js} +13 -13
- package/dist/{server-UJDYIBVR.js → server-WI3Q4EDH.js} +5 -5
- package/dist/{task-orchestrator-QAQFB7DG.js → task-orchestrator-PWW5I2KE.js} +5 -5
- package/dist/{usage-PMHXXU2P.js → usage-MAIV6XUZ.js} +2 -2
- package/package.json +1 -1
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
} from "./chunk-RS7SKYTS.js";
|
|
5
5
|
import {
|
|
6
6
|
ConfigManager
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-XIMM47EG.js";
|
|
8
8
|
import "./chunk-TU3L3PW7.js";
|
|
9
9
|
import {
|
|
10
10
|
atomicWriteFileSync
|
|
11
11
|
} from "./chunk-IW3Q7AE5.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-RHCRE6XE.js";
|
|
13
13
|
|
|
14
14
|
// src/cli/batch.ts
|
|
15
15
|
import Anthropic from "@anthropic-ai/sdk";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
searchPersistentMemories,
|
|
12
12
|
touchMemoryReferences,
|
|
13
13
|
updateMemoryEntry
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-7L7T46PI.js";
|
|
15
15
|
import {
|
|
16
16
|
indexProject
|
|
17
17
|
} from "./chunk-4DEMGCK4.js";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
runHook,
|
|
31
31
|
runLifecycleHooks,
|
|
32
32
|
runTool
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-I2WJ44D3.js";
|
|
34
34
|
import {
|
|
35
35
|
buildTruncatedArgumentsError,
|
|
36
36
|
getDangerLevel,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
} from "./chunk-4BKXL7SM.js";
|
|
51
51
|
import {
|
|
52
52
|
runTestsTool
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-BSBGPDCX.js";
|
|
54
54
|
import {
|
|
55
55
|
CONFIG_DIR_NAME,
|
|
56
56
|
DEFAULT_MAX_TOOL_OUTPUT_CHARS_CAP,
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
SUBAGENT_ALLOWED_TOOLS,
|
|
59
59
|
SUBAGENT_DEFAULT_MAX_ROUNDS,
|
|
60
60
|
SUBAGENT_MAX_ROUNDS_LIMIT
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-RHCRE6XE.js";
|
|
62
62
|
|
|
63
63
|
// src/tools/shell-pool.ts
|
|
64
64
|
import { spawn as spawn2 } from "child_process";
|
|
@@ -931,6 +931,11 @@ function buildErrorHint(command, stderr) {
|
|
|
931
931
|
`Hint: On Windows, "-ErrorAction SilentlyContinue" silences the error MESSAGE but does NOT change the exit code \u2014 the process still exits 1 when the path doesn't exist (because powershell.exe -NonInteractive flips the exit code on any non-terminating error, silenced or not). If you're just probing for existence, use Test-Path instead \u2014 it returns $true/$false without raising: \`if (Test-Path ./mydir) { Get-ChildItem ./mydir }\` or unconditionally use \`New-Item -ItemType Directory -Force -Path ./mydir\` which is idempotent. Don't retry the same -ErrorAction SilentlyContinue probe expecting a different result.`
|
|
932
932
|
);
|
|
933
933
|
}
|
|
934
|
+
if (IS_WINDOWS3 && /Select-Object\s+(?:[^|]*\s)?-(?:First|Last)\s+\d+/i.test(command) && /\|/.test(command)) {
|
|
935
|
+
hints.push(
|
|
936
|
+
`Hint: "Select-Object -First N" stops the upstream pipeline as soon as it has N items (PipelineStoppedException), and PowerShell reports that as a FAILURE even when the upstream command did its job \u2014 check the output above: if it shows the work completed (e.g. "EXPORTED 25 slide(s)"), this is a false failure and you should NOT retry. To avoid it, capture first and slice after: \`$out = <command>; $out | Select-Object -First N\`, or drop the -First and let the full output through.`
|
|
937
|
+
);
|
|
938
|
+
}
|
|
934
939
|
if (IS_WINDOWS3 && /\bWrite-(?:Content|File)\b/i.test(command) && /(not recognized|无法将.*识别|不是.*cmdlet|CommandNotFoundException)/i.test(stderr)) {
|
|
935
940
|
hints.push(
|
|
936
941
|
`Hint: 'Write-Content' / 'Write-File' are NOT PowerShell cmdlets (common LLM hallucination). To write a file, prefer the built-in 'write_file' tool \u2014 it handles encoding/escaping cleanly and supports diff preview. If you must stay in bash: use 'Set-Content -Path <file> -Value <string> -Encoding utf8' (overwrites) or 'Add-Content' (appends) or 'Out-File -FilePath <file> -Encoding utf8'.`
|
|
@@ -2401,7 +2406,12 @@ function buildErrorPreview(content) {
|
|
|
2401
2406
|
undecorated.push(raw[i]);
|
|
2402
2407
|
}
|
|
2403
2408
|
const meaningful = undecorated.filter(
|
|
2404
|
-
(l) => !/^(?:\[[^\]]+\]\s*)?Exit code \d+:$/.test(l.trim()) &&
|
|
2409
|
+
(l) => !/^(?:\[[^\]]+\]\s*)?Exit code \d+:$/.test(l.trim()) && // `formatFailureHeader()` 在拿不到退出码时打的那句 —— 与 "Exit code N:" 同类噪声。
|
|
2410
|
+
// 不过滤的话它会占掉第一个展示位:2026-09-05 实战里 `export_slides.ps1 | Select-Object
|
|
2411
|
+
// -First 3` 提前掐断管道被 PowerShell 报成失败,预览成了
|
|
2412
|
+
// 「Command failed before exit code could be determined: · …\slide-02.png」——
|
|
2413
|
+
// 两段都没用,而真正有信息的 `EXPORTED 25 slide(s)` 就在第二行、从没上屏。
|
|
2414
|
+
!/^(?:\[[^\]]+\]\s*)?Command failed before exit code could be determined:$/.test(l.trim()) && !/^Traceback \(most recent call last\):$/.test(l.trim()) && !l.startsWith("[Command failed") && !l.startsWith("\u{1F4A1} ") && l.trim() !== ""
|
|
2405
2415
|
);
|
|
2406
2416
|
let primary = -1;
|
|
2407
2417
|
for (let i = meaningful.length - 1; i >= 0; i--) {
|
|
@@ -2902,7 +2912,7 @@ var ToolExecutor = class {
|
|
|
2902
2912
|
... (${lines.length - maxLines} more lines)`) : "";
|
|
2903
2913
|
const truncatedNote = wasTruncated ? theme.warning(`
|
|
2904
2914
|
\u26A1 Output truncated to ${getActiveMaxChars()} chars before sending to AI`) : "";
|
|
2905
|
-
console.log(theme.toolResult(
|
|
2915
|
+
console.log(theme.toolResult(`\u2713 ${name} result: `) + theme.dim(preview) + moreLines + truncatedNote);
|
|
2906
2916
|
}
|
|
2907
2917
|
console.log();
|
|
2908
2918
|
}
|
|
@@ -3555,6 +3565,9 @@ Note: Path can be absolute or relative to cwd.`,
|
|
|
3555
3565
|
fileCheckpoints.snapshot(filePath, ToolExecutor.currentMessageIndex);
|
|
3556
3566
|
atomicWriteFileSync(filePath, res.content);
|
|
3557
3567
|
}
|
|
3568
|
+
if (!res.ok) {
|
|
3569
|
+
throw new ToolError("edit_file", lines.join("\n"));
|
|
3570
|
+
}
|
|
3558
3571
|
return lines.join("\n");
|
|
3559
3572
|
}
|
|
3560
3573
|
if (args["edits"] !== void 0) {
|
|
@@ -3607,6 +3620,9 @@ Note: Path can be absolute or relative to cwd.`,
|
|
|
3607
3620
|
lines.push(` \u2717 #${r.index + 1}: ${r.error}`);
|
|
3608
3621
|
}
|
|
3609
3622
|
}
|
|
3623
|
+
if (anyFailed && stopOnError) {
|
|
3624
|
+
throw new ToolError("edit_file", lines.join("\n"));
|
|
3625
|
+
}
|
|
3610
3626
|
return lines.join("\n");
|
|
3611
3627
|
}
|
|
3612
3628
|
const replaceArgs = normalizeReplaceArgs(args);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
evaluateCiGate,
|
|
4
4
|
normalizeCiThresholds
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6AGTDWO3.js";
|
|
6
6
|
import {
|
|
7
7
|
buildReviewPrompt,
|
|
8
8
|
buildSecurityReviewPrompt,
|
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
} from "./chunk-VXEF2SWG.js";
|
|
17
17
|
import {
|
|
18
18
|
ConfigManager
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-XIMM47EG.js";
|
|
20
20
|
import {
|
|
21
21
|
VERSION
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-RHCRE6XE.js";
|
|
23
23
|
|
|
24
24
|
// src/cli/ci.ts
|
|
25
25
|
import { execFileSync } from "child_process";
|
|
@@ -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-RHCRE6XE.js";
|
|
17
17
|
|
|
18
18
|
// src/memory/persistent-memory.ts
|
|
19
19
|
import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from "fs";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
MEMORY_FILE_NAME,
|
|
13
13
|
MEMORY_MAX_CHARS,
|
|
14
14
|
MEMORY_STORE_FILE_NAME
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-2GRGLTAK.js";
|
|
16
16
|
|
|
17
17
|
// src/memory/persistent-memory.ts
|
|
18
18
|
import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from "fs";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
setPreferredAgentName,
|
|
17
17
|
truncateForPersist,
|
|
18
18
|
undoStack
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-2PLYXL4P.js";
|
|
20
20
|
import {
|
|
21
21
|
buildReviewPrompt,
|
|
22
22
|
buildSecurityReviewPrompt
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
touchMemoryReferences,
|
|
52
52
|
updateMemoryApproval,
|
|
53
53
|
updateMemoryEntry
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-7L7T46PI.js";
|
|
55
55
|
import {
|
|
56
56
|
theme
|
|
57
57
|
} from "./chunk-5C76XDDF.js";
|
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
import {
|
|
66
66
|
buildDoctorReport,
|
|
67
67
|
formatDoctorReport
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-OECPGCHP.js";
|
|
69
69
|
import {
|
|
70
70
|
describePlugin,
|
|
71
71
|
getActivePluginAssets,
|
|
@@ -80,7 +80,7 @@ import {
|
|
|
80
80
|
trustHook,
|
|
81
81
|
trustPlugin,
|
|
82
82
|
untrustHook
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-I2WJ44D3.js";
|
|
84
84
|
import {
|
|
85
85
|
isCleanDocumentBody,
|
|
86
86
|
stripOuterCodeFence
|
|
@@ -109,7 +109,7 @@ import {
|
|
|
109
109
|
MCP_TOOL_PREFIX,
|
|
110
110
|
REPO_URL,
|
|
111
111
|
VERSION
|
|
112
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-RHCRE6XE.js";
|
|
113
113
|
|
|
114
114
|
// src/skills/manager.ts
|
|
115
115
|
import { existsSync, readdirSync, mkdirSync, statSync } from "fs";
|
|
@@ -2426,7 +2426,7 @@ No tools match "${filter}".
|
|
|
2426
2426
|
const { join: join6 } = await import("path");
|
|
2427
2427
|
const { existsSync: existsSync6 } = await import("fs");
|
|
2428
2428
|
const { getGitRoot } = await import("./git-context-EXOEHQSF.js");
|
|
2429
|
-
const { MCP_PROJECT_CONFIG_NAME } = await import("./constants-
|
|
2429
|
+
const { MCP_PROJECT_CONFIG_NAME } = await import("./constants-F5WA5VPO.js");
|
|
2430
2430
|
const { approveProject, hashMcpFile } = await import("./project-trust-NKYHL3VZ.js");
|
|
2431
2431
|
const cwd = process.cwd();
|
|
2432
2432
|
const projectRoot = getGitRoot(cwd) ?? cwd;
|
|
@@ -3534,7 +3534,7 @@ function createReviewCommands() {
|
|
|
3534
3534
|
usage: "/test [command|filter]",
|
|
3535
3535
|
async execute(args, ctx) {
|
|
3536
3536
|
try {
|
|
3537
|
-
const { executeTests } = await import("./run-tests-
|
|
3537
|
+
const { executeTests } = await import("./run-tests-HV37CM5U.js");
|
|
3538
3538
|
const argStr = args.join(" ").trim();
|
|
3539
3539
|
let testArgs = {};
|
|
3540
3540
|
if (argStr) {
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
listHooks,
|
|
9
9
|
listInstalledPlugins,
|
|
10
10
|
resetStats
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-I2WJ44D3.js";
|
|
12
12
|
import {
|
|
13
13
|
ProviderRegistry
|
|
14
14
|
} from "./chunk-VXEF2SWG.js";
|
|
15
15
|
import {
|
|
16
16
|
ConfigManager
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-XIMM47EG.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-RHCRE6XE.js";
|
|
30
30
|
|
|
31
31
|
// src/diagnostics/doctor-report.ts
|
|
32
32
|
import { existsSync as existsSync3, statSync as statSync2 } from "fs";
|
|
@@ -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-3FI4TE5S.js";
|
|
7
|
+
import "./chunk-6AGTDWO3.js";
|
|
8
8
|
import "./chunk-HLWUDRBO.js";
|
|
9
9
|
import "./chunk-6YZEZFX5.js";
|
|
10
10
|
import "./chunk-VXEF2SWG.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-XIMM47EG.js";
|
|
12
12
|
import "./chunk-MI4SFZGX.js";
|
|
13
13
|
import "./chunk-TU3L3PW7.js";
|
|
14
14
|
import "./chunk-IW3Q7AE5.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-RHCRE6XE.js";
|
|
16
16
|
export {
|
|
17
17
|
CI_COMMENT_MARKER,
|
|
18
18
|
countSeverity,
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
import {
|
|
3
3
|
formatDoctorReport,
|
|
4
4
|
runDoctorCli
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-OECPGCHP.js";
|
|
6
|
+
import "./chunk-I2WJ44D3.js";
|
|
7
7
|
import "./chunk-RS7SKYTS.js";
|
|
8
8
|
import "./chunk-VXEF2SWG.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-XIMM47EG.js";
|
|
10
10
|
import "./chunk-MI4SFZGX.js";
|
|
11
11
|
import "./chunk-TU3L3PW7.js";
|
|
12
12
|
import "./chunk-HOSJZMQS.js";
|
|
13
13
|
import "./chunk-IW3Q7AE5.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-RHCRE6XE.js";
|
|
15
15
|
export {
|
|
16
16
|
formatDoctorReport,
|
|
17
17
|
runDoctorCli
|
package/dist/electron-server.js
CHANGED
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
touchMemoryReferences,
|
|
51
51
|
updateMemoryApproval,
|
|
52
52
|
updateMemoryEntry
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-DNGUSTL6.js";
|
|
54
54
|
import {
|
|
55
55
|
DEFAULT_PATTERNS,
|
|
56
56
|
redactJson,
|
|
@@ -66,7 +66,7 @@ import {
|
|
|
66
66
|
} from "./chunk-CGLYJRFA.js";
|
|
67
67
|
import {
|
|
68
68
|
runTestsTool
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-TBTVV3KK.js";
|
|
70
70
|
import {
|
|
71
71
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
72
72
|
APP_NAME,
|
|
@@ -100,7 +100,7 @@ import {
|
|
|
100
100
|
SUBAGENT_MAX_ROUNDS_LIMIT,
|
|
101
101
|
VERSION,
|
|
102
102
|
buildUserIdentityPrompt
|
|
103
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-2GRGLTAK.js";
|
|
104
104
|
|
|
105
105
|
// src/web/server.ts
|
|
106
106
|
import express from "express";
|
|
@@ -6448,6 +6448,11 @@ function buildErrorHint(command, stderr) {
|
|
|
6448
6448
|
`Hint: On Windows, "-ErrorAction SilentlyContinue" silences the error MESSAGE but does NOT change the exit code \u2014 the process still exits 1 when the path doesn't exist (because powershell.exe -NonInteractive flips the exit code on any non-terminating error, silenced or not). If you're just probing for existence, use Test-Path instead \u2014 it returns $true/$false without raising: \`if (Test-Path ./mydir) { Get-ChildItem ./mydir }\` or unconditionally use \`New-Item -ItemType Directory -Force -Path ./mydir\` which is idempotent. Don't retry the same -ErrorAction SilentlyContinue probe expecting a different result.`
|
|
6449
6449
|
);
|
|
6450
6450
|
}
|
|
6451
|
+
if (IS_WINDOWS3 && /Select-Object\s+(?:[^|]*\s)?-(?:First|Last)\s+\d+/i.test(command) && /\|/.test(command)) {
|
|
6452
|
+
hints.push(
|
|
6453
|
+
`Hint: "Select-Object -First N" stops the upstream pipeline as soon as it has N items (PipelineStoppedException), and PowerShell reports that as a FAILURE even when the upstream command did its job \u2014 check the output above: if it shows the work completed (e.g. "EXPORTED 25 slide(s)"), this is a false failure and you should NOT retry. To avoid it, capture first and slice after: \`$out = <command>; $out | Select-Object -First N\`, or drop the -First and let the full output through.`
|
|
6454
|
+
);
|
|
6455
|
+
}
|
|
6451
6456
|
if (IS_WINDOWS3 && /\bWrite-(?:Content|File)\b/i.test(command) && /(not recognized|无法将.*识别|不是.*cmdlet|CommandNotFoundException)/i.test(stderr)) {
|
|
6452
6457
|
hints.push(
|
|
6453
6458
|
`Hint: 'Write-Content' / 'Write-File' are NOT PowerShell cmdlets (common LLM hallucination). To write a file, prefer the built-in 'write_file' tool \u2014 it handles encoding/escaping cleanly and supports diff preview. If you must stay in bash: use 'Set-Content -Path <file> -Value <string> -Encoding utf8' (overwrites) or 'Add-Content' (appends) or 'Out-File -FilePath <file> -Encoding utf8'.`
|
|
@@ -8228,7 +8233,12 @@ function buildErrorPreview(content) {
|
|
|
8228
8233
|
undecorated.push(raw[i]);
|
|
8229
8234
|
}
|
|
8230
8235
|
const meaningful = undecorated.filter(
|
|
8231
|
-
(l) => !/^(?:\[[^\]]+\]\s*)?Exit code \d+:$/.test(l.trim()) &&
|
|
8236
|
+
(l) => !/^(?:\[[^\]]+\]\s*)?Exit code \d+:$/.test(l.trim()) && // `formatFailureHeader()` 在拿不到退出码时打的那句 —— 与 "Exit code N:" 同类噪声。
|
|
8237
|
+
// 不过滤的话它会占掉第一个展示位:2026-09-05 实战里 `export_slides.ps1 | Select-Object
|
|
8238
|
+
// -First 3` 提前掐断管道被 PowerShell 报成失败,预览成了
|
|
8239
|
+
// 「Command failed before exit code could be determined: · …\slide-02.png」——
|
|
8240
|
+
// 两段都没用,而真正有信息的 `EXPORTED 25 slide(s)` 就在第二行、从没上屏。
|
|
8241
|
+
!/^(?:\[[^\]]+\]\s*)?Command failed before exit code could be determined:$/.test(l.trim()) && !/^Traceback \(most recent call last\):$/.test(l.trim()) && !l.startsWith("[Command failed") && !l.startsWith("\u{1F4A1} ") && l.trim() !== ""
|
|
8232
8242
|
);
|
|
8233
8243
|
let primary = -1;
|
|
8234
8244
|
for (let i = meaningful.length - 1; i >= 0; i--) {
|
|
@@ -8729,7 +8739,7 @@ var ToolExecutor = class {
|
|
|
8729
8739
|
... (${lines.length - maxLines} more lines)`) : "";
|
|
8730
8740
|
const truncatedNote = wasTruncated ? theme.warning(`
|
|
8731
8741
|
\u26A1 Output truncated to ${getActiveMaxChars()} chars before sending to AI`) : "";
|
|
8732
|
-
console.log(theme.toolResult(
|
|
8742
|
+
console.log(theme.toolResult(`\u2713 ${name} result: `) + theme.dim(preview) + moreLines + truncatedNote);
|
|
8733
8743
|
}
|
|
8734
8744
|
console.log();
|
|
8735
8745
|
}
|
|
@@ -9382,6 +9392,9 @@ Note: Path can be absolute or relative to cwd.`,
|
|
|
9382
9392
|
fileCheckpoints.snapshot(filePath, ToolExecutor.currentMessageIndex);
|
|
9383
9393
|
atomicWriteFileSync(filePath, res.content);
|
|
9384
9394
|
}
|
|
9395
|
+
if (!res.ok) {
|
|
9396
|
+
throw new ToolError("edit_file", lines.join("\n"));
|
|
9397
|
+
}
|
|
9385
9398
|
return lines.join("\n");
|
|
9386
9399
|
}
|
|
9387
9400
|
if (args["edits"] !== void 0) {
|
|
@@ -9434,6 +9447,9 @@ Note: Path can be absolute or relative to cwd.`,
|
|
|
9434
9447
|
lines.push(` \u2717 #${r.index + 1}: ${r.error}`);
|
|
9435
9448
|
}
|
|
9436
9449
|
}
|
|
9450
|
+
if (anyFailed && stopOnError) {
|
|
9451
|
+
throw new ToolError("edit_file", lines.join("\n"));
|
|
9452
|
+
}
|
|
9437
9453
|
return lines.join("\n");
|
|
9438
9454
|
}
|
|
9439
9455
|
const replaceArgs = normalizeReplaceArgs(args);
|
|
@@ -17198,7 +17214,7 @@ Cache: write=${cacheCreate} read=${cacheRead}` : "";
|
|
|
17198
17214
|
Cost: ${formatCost(cost)}` : "";
|
|
17199
17215
|
let memoryLine = "";
|
|
17200
17216
|
try {
|
|
17201
|
-
const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-
|
|
17217
|
+
const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-A7RPDLR7.js");
|
|
17202
17218
|
const pending = countPendingMemories2(ctx.config.getConfigDir());
|
|
17203
17219
|
if (pending > 0) memoryLine = `
|
|
17204
17220
|
Memory: \u26A0 ${pending} pending approval \u2014 see the Memory panel or /memory`;
|
|
@@ -18181,7 +18197,7 @@ async function handleTest(args, ctx) {
|
|
|
18181
18197
|
const isCommand = argStr.includes(" ") || /^(mvn|gradle|npm|pytest|cargo|go)\b/.test(argStr);
|
|
18182
18198
|
testArgs = isCommand ? { command: argStr } : { filter: argStr };
|
|
18183
18199
|
}
|
|
18184
|
-
const runTests = ctx.runTests ?? (await import("./run-tests-
|
|
18200
|
+
const runTests = ctx.runTests ?? (await import("./run-tests-MJ3SCW27.js")).executeTests;
|
|
18185
18201
|
const report = await runTests(testArgs);
|
|
18186
18202
|
ctx.send({ type: "info", message: report });
|
|
18187
18203
|
} catch (err) {
|
|
@@ -18571,7 +18587,7 @@ async function handleMemory(args, ctx) {
|
|
|
18571
18587
|
}
|
|
18572
18588
|
if (intent.kind === "status") {
|
|
18573
18589
|
const { getChatIndexStatus: getChatIndexStatus2 } = await import("./chat-index-DGUOUUQW.js");
|
|
18574
|
-
const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-
|
|
18590
|
+
const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-A7RPDLR7.js");
|
|
18575
18591
|
const memories = listMemoryEntries2(configDir, { includeExpired: true, includeRejected: true });
|
|
18576
18592
|
const injected = formatMemoryForPrompt2(configDir, process.cwd(), ctx.config.get("memory")?.maxChars);
|
|
18577
18593
|
const view = buildMemoryStatusView({
|
|
@@ -18594,7 +18610,7 @@ async function handleMemory(args, ctx) {
|
|
|
18594
18610
|
return;
|
|
18595
18611
|
}
|
|
18596
18612
|
if (intent.kind === "recall") {
|
|
18597
|
-
const { searchPersistentMemories: searchPersistentMemories2, touchMemoryReferences: touchMemoryReferences2 } = await import("./persistent-memory-
|
|
18613
|
+
const { searchPersistentMemories: searchPersistentMemories2, touchMemoryReferences: touchMemoryReferences2 } = await import("./persistent-memory-A7RPDLR7.js");
|
|
18598
18614
|
const { searchChatMemory: searchChatMemory2 } = await import("./chat-index-DGUOUUQW.js");
|
|
18599
18615
|
const persistentHits = searchPersistentMemories2(configDir, intent.query, process.cwd(), 3);
|
|
18600
18616
|
if (persistentHits.length > 0) {
|
|
@@ -18715,7 +18731,7 @@ async function handleMemory(args, ctx) {
|
|
|
18715
18731
|
ctx.handleMemoryManage(intent.action, args[1], intent.action === "expire" ? args[2] : void 0);
|
|
18716
18732
|
} else if (intent.kind === "export") {
|
|
18717
18733
|
if (args[1] === "md") {
|
|
18718
|
-
const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-
|
|
18734
|
+
const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-A7RPDLR7.js");
|
|
18719
18735
|
ctx.send({
|
|
18720
18736
|
type: "export_data",
|
|
18721
18737
|
format: "md",
|
|
@@ -19720,7 +19736,7 @@ No tools match "${filter}".
|
|
|
19720
19736
|
const { join: join29 } = await import("path");
|
|
19721
19737
|
const { existsSync: existsSync33 } = await import("fs");
|
|
19722
19738
|
const { getGitRoot: getGitRoot2 } = await import("./git-context-VNCA2GU7.js");
|
|
19723
|
-
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-
|
|
19739
|
+
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-JDPKWZJP.js");
|
|
19724
19740
|
const { approveProject, hashMcpFile } = await import("./project-trust-MUG325AW.js");
|
|
19725
19741
|
const cwd = process.cwd();
|
|
19726
19742
|
const projectRoot = getGitRoot2(cwd) ?? cwd;
|
|
@@ -20639,7 +20655,7 @@ function createReviewCommands() {
|
|
|
20639
20655
|
usage: "/test [command|filter]",
|
|
20640
20656
|
async execute(args, ctx) {
|
|
20641
20657
|
try {
|
|
20642
|
-
const { executeTests } = await import("./run-tests-
|
|
20658
|
+
const { executeTests } = await import("./run-tests-MJ3SCW27.js");
|
|
20643
20659
|
const argStr = args.join(" ").trim();
|
|
20644
20660
|
let testArgs = {};
|
|
20645
20661
|
if (argStr) {
|
|
@@ -158,7 +158,7 @@ ${content}`);
|
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
async function runTaskMode(config, providers, configManager, topic) {
|
|
161
|
-
const { TaskOrchestrator } = await import("./task-orchestrator-
|
|
161
|
+
const { TaskOrchestrator } = await import("./task-orchestrator-PWW5I2KE.js");
|
|
162
162
|
const orchestrator = new TaskOrchestrator(config, providers, configManager);
|
|
163
163
|
let interrupted = false;
|
|
164
164
|
const onSigint = () => {
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
setupProxy,
|
|
25
25
|
snapshotFile,
|
|
26
26
|
stripRoutingTags
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-F3EJ4MIP.js";
|
|
28
28
|
import {
|
|
29
29
|
CostTracker,
|
|
30
30
|
getPricing,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
setMaxOutputCap,
|
|
51
51
|
spawnAgentContext,
|
|
52
52
|
undoStack
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-2PLYXL4P.js";
|
|
54
54
|
import "./chunk-HLWUDRBO.js";
|
|
55
55
|
import {
|
|
56
56
|
NO_THINKING,
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
countPendingMemories,
|
|
64
64
|
detectStaleLegacyMarkdownEdit,
|
|
65
65
|
formatMemoryForPrompt
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-7L7T46PI.js";
|
|
67
67
|
import "./chunk-4DEMGCK4.js";
|
|
68
68
|
import "./chunk-UUSRWSSX.js";
|
|
69
69
|
import "./chunk-CKH4KQ4E.js";
|
|
@@ -84,14 +84,14 @@ import {
|
|
|
84
84
|
import {
|
|
85
85
|
loadContextFiles,
|
|
86
86
|
writeCrashLog
|
|
87
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-OECPGCHP.js";
|
|
88
88
|
import {
|
|
89
89
|
getActivePluginAssets,
|
|
90
90
|
getPendingHookTrust,
|
|
91
91
|
installFlushOnExit,
|
|
92
92
|
mergePluginHooks,
|
|
93
93
|
runLifecycleHooks
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-I2WJ44D3.js";
|
|
95
95
|
import "./chunk-RS7SKYTS.js";
|
|
96
96
|
import {
|
|
97
97
|
ProviderRegistry,
|
|
@@ -99,7 +99,7 @@ import {
|
|
|
99
99
|
} from "./chunk-VXEF2SWG.js";
|
|
100
100
|
import {
|
|
101
101
|
ConfigManager
|
|
102
|
-
} from "./chunk-
|
|
102
|
+
} from "./chunk-XIMM47EG.js";
|
|
103
103
|
import {
|
|
104
104
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
105
105
|
TEE_FINAL_USER_NUDGE,
|
|
@@ -133,7 +133,7 @@ import {
|
|
|
133
133
|
} from "./chunk-IW3Q7AE5.js";
|
|
134
134
|
import "./chunk-XNFIYS7G.js";
|
|
135
135
|
import "./chunk-4BKXL7SM.js";
|
|
136
|
-
import "./chunk-
|
|
136
|
+
import "./chunk-BSBGPDCX.js";
|
|
137
137
|
import {
|
|
138
138
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
139
139
|
AUTHOR,
|
|
@@ -150,7 +150,7 @@ import {
|
|
|
150
150
|
SKILLS_DIR_NAME,
|
|
151
151
|
VERSION,
|
|
152
152
|
buildUserIdentityPrompt
|
|
153
|
-
} from "./chunk-
|
|
153
|
+
} from "./chunk-RHCRE6XE.js";
|
|
154
154
|
|
|
155
155
|
// src/index.ts
|
|
156
156
|
import { program } from "commander";
|
|
@@ -4061,7 +4061,7 @@ program.command("web").description("Start Web UI server with browser-based chat
|
|
|
4061
4061
|
console.error("Error: Invalid port number. Must be between 1 and 65535.");
|
|
4062
4062
|
process.exit(1);
|
|
4063
4063
|
}
|
|
4064
|
-
const { startWebServer } = await import("./server-
|
|
4064
|
+
const { startWebServer } = await import("./server-EZ5ULLDP.js");
|
|
4065
4065
|
await startWebServer({ port, host: options.host });
|
|
4066
4066
|
});
|
|
4067
4067
|
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) => {
|
|
@@ -4228,11 +4228,11 @@ program.command("sessions").description("List recent conversation sessions").opt
|
|
|
4228
4228
|
console.log(footer + "\n");
|
|
4229
4229
|
});
|
|
4230
4230
|
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) => {
|
|
4231
|
-
const { runUsageCli } = await import("./usage-
|
|
4231
|
+
const { runUsageCli } = await import("./usage-MAIV6XUZ.js");
|
|
4232
4232
|
await runUsageCli(options);
|
|
4233
4233
|
});
|
|
4234
4234
|
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) => {
|
|
4235
|
-
const { runDoctorCli } = await import("./doctor-cli-
|
|
4235
|
+
const { runDoctorCli } = await import("./doctor-cli-7NSEVW63.js");
|
|
4236
4236
|
const argv = process.argv.slice(2);
|
|
4237
4237
|
await runDoctorCli({
|
|
4238
4238
|
json: !!options.json || argv.includes("--json"),
|
|
@@ -4241,7 +4241,7 @@ program.command("doctor").description("Health check: API keys, config, MCP, rece
|
|
|
4241
4241
|
});
|
|
4242
4242
|
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) => {
|
|
4243
4243
|
try {
|
|
4244
|
-
const batch = await import("./batch-
|
|
4244
|
+
const batch = await import("./batch-RY2F7BX5.js");
|
|
4245
4245
|
switch (action) {
|
|
4246
4246
|
case "submit":
|
|
4247
4247
|
if (!arg) {
|
|
@@ -4284,7 +4284,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
|
|
|
4284
4284
|
}
|
|
4285
4285
|
});
|
|
4286
4286
|
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) => {
|
|
4287
|
-
const { startMcpServer } = await import("./server-
|
|
4287
|
+
const { startMcpServer } = await import("./server-WI3Q4EDH.js");
|
|
4288
4288
|
await startMcpServer({
|
|
4289
4289
|
allowDestructive: !!options.allowDestructive,
|
|
4290
4290
|
allowOutsideCwd: !!options.allowOutsideCwd,
|
|
@@ -4297,7 +4297,7 @@ program.command("pr <action> [target]").description("PR review helpers: review |
|
|
|
4297
4297
|
console.error(`Unknown pr action: ${action}. Use review | security-review | summarize.`);
|
|
4298
4298
|
process.exit(1);
|
|
4299
4299
|
}
|
|
4300
|
-
const { runPrCli } = await import("./pr-
|
|
4300
|
+
const { runPrCli } = await import("./pr-LW755EL7.js");
|
|
4301
4301
|
const result = await runPrCli({
|
|
4302
4302
|
action,
|
|
4303
4303
|
target,
|
|
@@ -4317,8 +4317,8 @@ program.command("pr <action> [target]").description("PR review helpers: review |
|
|
|
4317
4317
|
process.exit(result.exitCode);
|
|
4318
4318
|
});
|
|
4319
4319
|
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) => {
|
|
4320
|
-
const { runCi } = await import("./ci-
|
|
4321
|
-
const { formatCiResult } = await import("./ci-format-
|
|
4320
|
+
const { runCi } = await import("./ci-QYTLBM6Z.js");
|
|
4321
|
+
const { formatCiResult } = await import("./ci-format-E5X27NC2.js");
|
|
4322
4322
|
const formats = [options.json, options.markdown, options.sarif].filter(Boolean).length;
|
|
4323
4323
|
if (formats > 1) {
|
|
4324
4324
|
console.error("Choose only one output format: --json, --markdown, or --sarif.");
|
|
@@ -4477,7 +4477,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
|
|
|
4477
4477
|
config.get("customProviders"),
|
|
4478
4478
|
config.getConfigDir()
|
|
4479
4479
|
);
|
|
4480
|
-
const { startHub } = await import("./hub-
|
|
4480
|
+
const { startHub } = await import("./hub-43PWTGGO.js");
|
|
4481
4481
|
await startHub(
|
|
4482
4482
|
{
|
|
4483
4483
|
topic: topic ?? "",
|
|
@@ -27,11 +27,11 @@ import {
|
|
|
27
27
|
touchMemoryReferences,
|
|
28
28
|
updateMemoryApproval,
|
|
29
29
|
updateMemoryEntry
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-DNGUSTL6.js";
|
|
31
31
|
import "./chunk-FSC6KEWU.js";
|
|
32
32
|
import "./chunk-6BUTA5VW.js";
|
|
33
33
|
import "./chunk-CGLYJRFA.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-2GRGLTAK.js";
|
|
35
35
|
export {
|
|
36
36
|
addMemoryEntry,
|
|
37
37
|
backupMemoryStore,
|
|
@@ -28,11 +28,11 @@ import {
|
|
|
28
28
|
touchMemoryReferences,
|
|
29
29
|
updateMemoryApproval,
|
|
30
30
|
updateMemoryEntry
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-7L7T46PI.js";
|
|
32
32
|
import "./chunk-3FEZSLGI.js";
|
|
33
33
|
import "./chunk-HOSJZMQS.js";
|
|
34
34
|
import "./chunk-IW3Q7AE5.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-RHCRE6XE.js";
|
|
36
36
|
export {
|
|
37
37
|
addMemoryEntry,
|
|
38
38
|
backupMemoryStore,
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import {
|
|
3
3
|
countSeverity,
|
|
4
4
|
runCi
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-3FI4TE5S.js";
|
|
6
|
+
import "./chunk-6AGTDWO3.js";
|
|
7
7
|
import {
|
|
8
8
|
buildReviewPrompt,
|
|
9
9
|
buildSecurityReviewPrompt,
|
|
@@ -17,13 +17,13 @@ import {
|
|
|
17
17
|
} from "./chunk-VXEF2SWG.js";
|
|
18
18
|
import {
|
|
19
19
|
ConfigManager
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-XIMM47EG.js";
|
|
21
21
|
import "./chunk-MI4SFZGX.js";
|
|
22
22
|
import "./chunk-TU3L3PW7.js";
|
|
23
23
|
import "./chunk-IW3Q7AE5.js";
|
|
24
24
|
import {
|
|
25
25
|
VERSION
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-RHCRE6XE.js";
|
|
27
27
|
|
|
28
28
|
// src/cli/pr.ts
|
|
29
29
|
import { execFileSync } from "child_process";
|
|
@@ -81,7 +81,7 @@ import {
|
|
|
81
81
|
skillHistoryNote,
|
|
82
82
|
snapshotFile,
|
|
83
83
|
stripRoutingTags
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-F3EJ4MIP.js";
|
|
85
85
|
import {
|
|
86
86
|
CNY_PER_USD,
|
|
87
87
|
CostTracker,
|
|
@@ -126,7 +126,7 @@ import {
|
|
|
126
126
|
spawnAgentContext,
|
|
127
127
|
truncateOutput,
|
|
128
128
|
undoStack
|
|
129
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-2PLYXL4P.js";
|
|
130
130
|
import {
|
|
131
131
|
buildReviewPrompt,
|
|
132
132
|
buildSecurityReviewPrompt
|
|
@@ -153,7 +153,7 @@ import {
|
|
|
153
153
|
restoreMemoryEntries,
|
|
154
154
|
updateMemoryApproval,
|
|
155
155
|
updateMemoryEntry
|
|
156
|
-
} from "./chunk-
|
|
156
|
+
} from "./chunk-7L7T46PI.js";
|
|
157
157
|
import "./chunk-4DEMGCK4.js";
|
|
158
158
|
import "./chunk-UUSRWSSX.js";
|
|
159
159
|
import "./chunk-CKH4KQ4E.js";
|
|
@@ -172,7 +172,7 @@ import {
|
|
|
172
172
|
buildDoctorReport,
|
|
173
173
|
formatDoctorReport,
|
|
174
174
|
loadContextFiles
|
|
175
|
-
} from "./chunk-
|
|
175
|
+
} from "./chunk-OECPGCHP.js";
|
|
176
176
|
import {
|
|
177
177
|
describePlugin,
|
|
178
178
|
getActivePluginAssets,
|
|
@@ -187,14 +187,14 @@ import {
|
|
|
187
187
|
runTool,
|
|
188
188
|
setPluginEnabled,
|
|
189
189
|
trustPlugin
|
|
190
|
-
} from "./chunk-
|
|
190
|
+
} from "./chunk-I2WJ44D3.js";
|
|
191
191
|
import "./chunk-RS7SKYTS.js";
|
|
192
192
|
import {
|
|
193
193
|
ProviderRegistry
|
|
194
194
|
} from "./chunk-VXEF2SWG.js";
|
|
195
195
|
import {
|
|
196
196
|
ConfigManager
|
|
197
|
-
} from "./chunk-
|
|
197
|
+
} from "./chunk-XIMM47EG.js";
|
|
198
198
|
import {
|
|
199
199
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
200
200
|
TEE_FINAL_USER_NUDGE,
|
|
@@ -225,7 +225,7 @@ import {
|
|
|
225
225
|
maskConfigSecrets
|
|
226
226
|
} from "./chunk-XNFIYS7G.js";
|
|
227
227
|
import "./chunk-4BKXL7SM.js";
|
|
228
|
-
import "./chunk-
|
|
228
|
+
import "./chunk-BSBGPDCX.js";
|
|
229
229
|
import {
|
|
230
230
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
231
231
|
AUTHOR,
|
|
@@ -241,7 +241,7 @@ import {
|
|
|
241
241
|
SKILLS_DIR_NAME,
|
|
242
242
|
VERSION,
|
|
243
243
|
buildUserIdentityPrompt
|
|
244
|
-
} from "./chunk-
|
|
244
|
+
} from "./chunk-RHCRE6XE.js";
|
|
245
245
|
|
|
246
246
|
// src/web/server.ts
|
|
247
247
|
import express from "express";
|
|
@@ -930,7 +930,7 @@ Cache: write=${cacheCreate} read=${cacheRead}` : "";
|
|
|
930
930
|
Cost: ${formatCost(cost)}` : "";
|
|
931
931
|
let memoryLine = "";
|
|
932
932
|
try {
|
|
933
|
-
const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-
|
|
933
|
+
const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-SHG3CJCP.js");
|
|
934
934
|
const pending = countPendingMemories2(ctx.config.getConfigDir());
|
|
935
935
|
if (pending > 0) memoryLine = `
|
|
936
936
|
Memory: \u26A0 ${pending} pending approval \u2014 see the Memory panel or /memory`;
|
|
@@ -1854,7 +1854,7 @@ async function handleTest(args, ctx) {
|
|
|
1854
1854
|
const isCommand = argStr.includes(" ") || /^(mvn|gradle|npm|pytest|cargo|go)\b/.test(argStr);
|
|
1855
1855
|
testArgs = isCommand ? { command: argStr } : { filter: argStr };
|
|
1856
1856
|
}
|
|
1857
|
-
const runTests = ctx.runTests ?? (await import("./run-tests-
|
|
1857
|
+
const runTests = ctx.runTests ?? (await import("./run-tests-HV37CM5U.js")).executeTests;
|
|
1858
1858
|
const report = await runTests(testArgs);
|
|
1859
1859
|
ctx.send({ type: "info", message: report });
|
|
1860
1860
|
} catch (err) {
|
|
@@ -2129,7 +2129,7 @@ async function handleMemory(args, ctx) {
|
|
|
2129
2129
|
}
|
|
2130
2130
|
if (intent.kind === "status") {
|
|
2131
2131
|
const { getChatIndexStatus } = await import("./chat-index-2D5GK2DB.js");
|
|
2132
|
-
const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-
|
|
2132
|
+
const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-SHG3CJCP.js");
|
|
2133
2133
|
const memories = listMemoryEntries2(configDir, { includeExpired: true, includeRejected: true });
|
|
2134
2134
|
const injected = formatMemoryForPrompt2(configDir, process.cwd(), ctx.config.get("memory")?.maxChars);
|
|
2135
2135
|
const view = buildMemoryStatusView({
|
|
@@ -2152,7 +2152,7 @@ async function handleMemory(args, ctx) {
|
|
|
2152
2152
|
return;
|
|
2153
2153
|
}
|
|
2154
2154
|
if (intent.kind === "recall") {
|
|
2155
|
-
const { searchPersistentMemories, touchMemoryReferences } = await import("./persistent-memory-
|
|
2155
|
+
const { searchPersistentMemories, touchMemoryReferences } = await import("./persistent-memory-SHG3CJCP.js");
|
|
2156
2156
|
const { searchChatMemory } = await import("./chat-index-2D5GK2DB.js");
|
|
2157
2157
|
const persistentHits = searchPersistentMemories(configDir, intent.query, process.cwd(), 3);
|
|
2158
2158
|
if (persistentHits.length > 0) {
|
|
@@ -2273,7 +2273,7 @@ async function handleMemory(args, ctx) {
|
|
|
2273
2273
|
ctx.handleMemoryManage(intent.action, args[1], intent.action === "expire" ? args[2] : void 0);
|
|
2274
2274
|
} else if (intent.kind === "export") {
|
|
2275
2275
|
if (args[1] === "md") {
|
|
2276
|
-
const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-
|
|
2276
|
+
const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-SHG3CJCP.js");
|
|
2277
2277
|
ctx.send({
|
|
2278
2278
|
type: "export_data",
|
|
2279
2279
|
format: "md",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ToolRegistry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-2PLYXL4P.js";
|
|
5
5
|
import "./chunk-GHWZVPUV.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-7L7T46PI.js";
|
|
7
7
|
import "./chunk-4DEMGCK4.js";
|
|
8
8
|
import "./chunk-UUSRWSSX.js";
|
|
9
9
|
import "./chunk-CKH4KQ4E.js";
|
|
@@ -14,7 +14,7 @@ import "./chunk-NYNSYLFY.js";
|
|
|
14
14
|
import "./chunk-3FEZSLGI.js";
|
|
15
15
|
import {
|
|
16
16
|
runTool
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-I2WJ44D3.js";
|
|
18
18
|
import "./chunk-RS7SKYTS.js";
|
|
19
19
|
import {
|
|
20
20
|
getDangerLevel,
|
|
@@ -24,10 +24,10 @@ import "./chunk-TU3L3PW7.js";
|
|
|
24
24
|
import "./chunk-HOSJZMQS.js";
|
|
25
25
|
import "./chunk-IW3Q7AE5.js";
|
|
26
26
|
import "./chunk-4BKXL7SM.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-BSBGPDCX.js";
|
|
28
28
|
import {
|
|
29
29
|
VERSION
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-RHCRE6XE.js";
|
|
31
31
|
|
|
32
32
|
// src/mcp/server.ts
|
|
33
33
|
import { createInterface } from "readline";
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
googleSearchContext,
|
|
5
5
|
isToolCapableProvider,
|
|
6
6
|
truncateOutput
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2PLYXL4P.js";
|
|
8
8
|
import "./chunk-GHWZVPUV.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-7L7T46PI.js";
|
|
10
10
|
import "./chunk-4DEMGCK4.js";
|
|
11
11
|
import "./chunk-UUSRWSSX.js";
|
|
12
12
|
import "./chunk-CKH4KQ4E.js";
|
|
@@ -17,7 +17,7 @@ import "./chunk-NYNSYLFY.js";
|
|
|
17
17
|
import "./chunk-3FEZSLGI.js";
|
|
18
18
|
import {
|
|
19
19
|
runTool
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-I2WJ44D3.js";
|
|
21
21
|
import "./chunk-RS7SKYTS.js";
|
|
22
22
|
import {
|
|
23
23
|
getDangerLevel,
|
|
@@ -29,10 +29,10 @@ import {
|
|
|
29
29
|
atomicWriteFileSync
|
|
30
30
|
} from "./chunk-IW3Q7AE5.js";
|
|
31
31
|
import "./chunk-4BKXL7SM.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-BSBGPDCX.js";
|
|
33
33
|
import {
|
|
34
34
|
SUBAGENT_ALLOWED_TOOLS
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-RHCRE6XE.js";
|
|
36
36
|
|
|
37
37
|
// src/hub/task-orchestrator.ts
|
|
38
38
|
import { createInterface } from "readline";
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
import "./chunk-RS7SKYTS.js";
|
|
10
10
|
import {
|
|
11
11
|
ConfigManager
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XIMM47EG.js";
|
|
13
13
|
import "./chunk-TU3L3PW7.js";
|
|
14
14
|
import "./chunk-IW3Q7AE5.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-RHCRE6XE.js";
|
|
16
16
|
|
|
17
17
|
// src/cli/usage.ts
|
|
18
18
|
function classifyRowCost(row) {
|