jinzd-ai-cli 0.4.300 → 0.4.303
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-ESHQ5NMB.js → batch-PEH5MTMC.js} +2 -2
- package/dist/{chunk-KQLKS3ZQ.js → chunk-3GOHR45I.js} +1 -1
- package/dist/{chunk-ZMIAVBFY.js → chunk-55AANMEM.js} +1 -1
- package/dist/{chunk-YFCGMH2R.js → chunk-6ZRLM3NG.js} +4 -4
- package/dist/{chunk-2MOYOMY5.js → chunk-7WD2TBWY.js} +1 -1
- package/dist/{chunk-NJ2E3ZYE.js → chunk-DHQCJC2B.js} +1 -1
- package/dist/{chunk-RXK3SNCO.js → chunk-EMLRCVY2.js} +1 -1
- package/dist/{chunk-Y56UGZPX.js → chunk-MI4SFZGX.js} +3 -1
- package/dist/{chunk-MZCMJC3K.js → chunk-ORDEOJXX.js} +1 -1
- package/dist/{chunk-QL5HASTV.js → chunk-PEDN3AWT.js} +1 -1
- package/dist/{chunk-LNGH6PEC.js → chunk-Q24BN6WF.js} +1 -1
- package/dist/{chunk-FBOVBL7P.js → chunk-VXEF2SWG.js} +1 -1
- package/dist/{chunk-4CEF4ROO.js → chunk-WCJR5HCF.js} +130 -10
- package/dist/{chunk-RPI74YNP.js → chunk-XEKMGE2G.js} +1 -1
- package/dist/{chunk-34TV5BBH.js → chunk-YK42KYKN.js} +4 -4
- package/dist/{chunk-ZBFNKCH4.js → chunk-ZMCZMR4R.js} +8 -8
- package/dist/{ci-5NGCQYUX.js → ci-UXULLQMN.js} +6 -6
- package/dist/{ci-format-EKOB2WRP.js → ci-format-23FWBZN6.js} +2 -2
- package/dist/{constants-3VGUBD6L.js → constants-A6VKRPMA.js} +1 -1
- package/dist/{constants-LZ5UUYEY.js → constants-HL7DYRDJ.js} +1 -1
- package/dist/{doctor-cli-5KEROB3Z.js → doctor-cli-FXBLI3EA.js} +6 -6
- package/dist/electron-server.js +137 -16
- package/dist/{hub-ARZNS7IH.js → hub-NLULKDKU.js} +1 -1
- package/dist/index.js +112 -56
- package/dist/{persistent-memory-2AWOTKKK.js → persistent-memory-NLXNNWOW.js} +2 -2
- package/dist/{persistent-memory-KKEM3K5D.js → persistent-memory-R4KLRI5Q.js} +2 -2
- package/dist/{pr-IFMDC3I4.js → pr-K6Z73QYN.js} +6 -6
- package/dist/{run-tests-LEY4IOUG.js → run-tests-PQ3SUDDN.js} +2 -2
- package/dist/{run-tests-3JIOK2H4.js → run-tests-RYUB6PVF.js} +2 -2
- package/dist/{server-4V3F2WSC.js → server-QCCH3277.js} +15 -15
- package/dist/{server-L53NTLYW.js → server-UJDYIBVR.js} +6 -6
- package/dist/{task-orchestrator-ZNLQD2SM.js → task-orchestrator-QAQFB7DG.js} +6 -6
- package/dist/{usage-ZS3LZOUI.js → usage-PMHXXU2P.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-XEKMGE2G.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-7WD2TBWY.js";
|
|
13
13
|
|
|
14
14
|
// src/cli/batch.ts
|
|
15
15
|
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-Q24BN6WF.js";
|
|
12
12
|
import {
|
|
13
13
|
ProviderRegistry
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-VXEF2SWG.js";
|
|
15
15
|
import {
|
|
16
16
|
ConfigManager
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-XEKMGE2G.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-7WD2TBWY.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-7WD2TBWY.js";
|
|
17
17
|
|
|
18
18
|
// src/memory/persistent-memory.ts
|
|
19
19
|
import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from "fs";
|
|
@@ -174,7 +174,9 @@ function extractClaimedFilePaths(content) {
|
|
|
174
174
|
const paths = /* @__PURE__ */ new Set();
|
|
175
175
|
const add = (p) => {
|
|
176
176
|
const trimmed = p.trim().replace(/[,,。、;;::]+$/, "");
|
|
177
|
-
if (trimmed
|
|
177
|
+
if (!trimmed || !/\.\w{1,6}$/.test(trimmed)) return;
|
|
178
|
+
if (trimmed.startsWith("@")) return;
|
|
179
|
+
paths.add(trimmed);
|
|
178
180
|
};
|
|
179
181
|
let m;
|
|
180
182
|
const backtickRe = /`([^`\n]+?\.\w{1,6})`/g;
|
|
@@ -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-3GOHR45I.js";
|
|
16
16
|
|
|
17
17
|
// src/memory/persistent-memory.ts
|
|
18
18
|
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-DHQCJC2B.js";
|
|
15
15
|
import {
|
|
16
16
|
indexProject
|
|
17
17
|
} from "./chunk-4DEMGCK4.js";
|
|
@@ -30,13 +30,13 @@ import {
|
|
|
30
30
|
runHook,
|
|
31
31
|
runLifecycleHooks,
|
|
32
32
|
runTool
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-Q24BN6WF.js";
|
|
34
34
|
import {
|
|
35
35
|
buildTruncatedArgumentsError,
|
|
36
36
|
getDangerLevel,
|
|
37
37
|
isFileWriteTool,
|
|
38
38
|
runLeanAgentLoop
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-MI4SFZGX.js";
|
|
40
40
|
import {
|
|
41
41
|
EnvLoader,
|
|
42
42
|
NetworkError,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
} from "./chunk-4BKXL7SM.js";
|
|
51
51
|
import {
|
|
52
52
|
runTestsTool
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-ORDEOJXX.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-7WD2TBWY.js";
|
|
62
62
|
|
|
63
63
|
// src/tools/shell-pool.ts
|
|
64
64
|
import { spawn as spawn2 } from "child_process";
|
|
@@ -87,6 +87,90 @@ function decodeWindowsBuffer(buf) {
|
|
|
87
87
|
return utf8;
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
+
var GBK_MOJIBAKE_FINGERPRINTS = [
|
|
91
|
+
"\uFFFD",
|
|
92
|
+
"\u9215",
|
|
93
|
+
"\u951B",
|
|
94
|
+
"\u9983",
|
|
95
|
+
"\u9241",
|
|
96
|
+
"\u6D93",
|
|
97
|
+
"\u935B",
|
|
98
|
+
"\u9428",
|
|
99
|
+
"\u7EFE",
|
|
100
|
+
"\u95AB",
|
|
101
|
+
"\u9593",
|
|
102
|
+
"\u95BF",
|
|
103
|
+
"\u68E3",
|
|
104
|
+
"\u95B4",
|
|
105
|
+
"\u5A11",
|
|
106
|
+
"\u95B8",
|
|
107
|
+
"\u95BB",
|
|
108
|
+
"\u7F01",
|
|
109
|
+
"\u95C1"
|
|
110
|
+
];
|
|
111
|
+
var gbkReverse = null;
|
|
112
|
+
function gbkReverseMap() {
|
|
113
|
+
if (gbkReverse) return gbkReverse;
|
|
114
|
+
const map = /* @__PURE__ */ new Map();
|
|
115
|
+
try {
|
|
116
|
+
const dec = new TextDecoder("gbk");
|
|
117
|
+
for (let hi = 129; hi <= 254; hi++) {
|
|
118
|
+
for (let lo = 64; lo <= 254; lo++) {
|
|
119
|
+
if (lo === 127) continue;
|
|
120
|
+
const ch = dec.decode(new Uint8Array([hi, lo]));
|
|
121
|
+
if (ch.length === 1 && ch !== "\uFFFD" && !map.has(ch)) map.set(ch, [hi, lo]);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
} catch {
|
|
125
|
+
}
|
|
126
|
+
gbkReverse = map;
|
|
127
|
+
return map;
|
|
128
|
+
}
|
|
129
|
+
function decodeRunAsChinese(bytes) {
|
|
130
|
+
for (let start = 0; start <= 2 && start < bytes.length; start++) {
|
|
131
|
+
for (let end = 0; end <= 2 && bytes.length - end > start; end++) {
|
|
132
|
+
const slice = bytes.slice(start, bytes.length - end);
|
|
133
|
+
if (slice.length < 6) continue;
|
|
134
|
+
try {
|
|
135
|
+
const out = new TextDecoder("utf-8", { fatal: true }).decode(new Uint8Array(slice));
|
|
136
|
+
if (/[一-鿿]/.test(out)) return out;
|
|
137
|
+
} catch {
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
function recoverGbkMojibake(text) {
|
|
144
|
+
if (!text) return null;
|
|
145
|
+
const map = gbkReverseMap();
|
|
146
|
+
if (map.size === 0) return null;
|
|
147
|
+
let run = [];
|
|
148
|
+
let best = null;
|
|
149
|
+
const flush = () => {
|
|
150
|
+
if (run.length >= 4) {
|
|
151
|
+
const bytes = [];
|
|
152
|
+
for (const p of run) bytes.push(p[0], p[1]);
|
|
153
|
+
const out = decodeRunAsChinese(bytes);
|
|
154
|
+
if (out && (!best || out.length > best.length)) best = out;
|
|
155
|
+
}
|
|
156
|
+
run = [];
|
|
157
|
+
};
|
|
158
|
+
for (const ch of text) {
|
|
159
|
+
const pair = ch.codePointAt(0) < 128 ? void 0 : map.get(ch);
|
|
160
|
+
if (pair) run.push(pair);
|
|
161
|
+
else flush();
|
|
162
|
+
}
|
|
163
|
+
flush();
|
|
164
|
+
return best;
|
|
165
|
+
}
|
|
166
|
+
function looksLikeGbkMojibake(text) {
|
|
167
|
+
if (recoverGbkMojibake(text) !== null) return true;
|
|
168
|
+
let hits = 0;
|
|
169
|
+
for (const ch of GBK_MOJIBAKE_FINGERPRINTS) {
|
|
170
|
+
if (text.includes(ch) && ++hits >= 2) return true;
|
|
171
|
+
}
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
90
174
|
function killProcessTree(proc) {
|
|
91
175
|
if (proc.killed || proc.exitCode !== null) return;
|
|
92
176
|
if (IS_WINDOWS && proc.pid) {
|
|
@@ -651,7 +735,7 @@ ${combined || formatFailureFallback(status)}
|
|
|
651
735
|
}
|
|
652
736
|
pushBashUndoEntries(beforeSnapshot, parsedTargetsBefore, effectiveCwd);
|
|
653
737
|
updateCwdFromCommand(command, effectiveCwd);
|
|
654
|
-
return stdout || emptyOutputResult(command);
|
|
738
|
+
return annotateSuccessOutput(command, stdout) || emptyOutputResult(command, stderr ?? "");
|
|
655
739
|
}
|
|
656
740
|
try {
|
|
657
741
|
const { stdout, stderr, status, signal, timedOut, aborted } = await runShell(
|
|
@@ -688,7 +772,10 @@ ${combined || formatFailureFallback(status)}
|
|
|
688
772
|
updateCwdFromCommand(command, effectiveCwd);
|
|
689
773
|
pushBashUndoEntries(beforeSnapshot, parsedTargetsBefore, effectiveCwd);
|
|
690
774
|
const result = Buffer.isBuffer(stdout) ? IS_WINDOWS3 ? decodeWindowsBuffer(stdout) : stdout.toString("utf-8") : String(stdout ?? "");
|
|
691
|
-
return result || emptyOutputResult(
|
|
775
|
+
return annotateSuccessOutput(command, result) || emptyOutputResult(
|
|
776
|
+
command,
|
|
777
|
+
Buffer.isBuffer(stderr) ? IS_WINDOWS3 ? decodeWindowsBuffer(stderr) : stderr.toString("utf-8") : String(stderr ?? "")
|
|
778
|
+
);
|
|
692
779
|
} catch (err) {
|
|
693
780
|
pushBashUndoEntries(beforeSnapshot, parsedTargetsBefore, effectiveCwd);
|
|
694
781
|
if (err && typeof err === "object") {
|
|
@@ -789,10 +876,26 @@ var BACKSLASH_QUOTE_SILENT_WARNING = `
|
|
|
789
876
|
|
|
790
877
|
\u26A0 WARNING: this command contains \\" inside a double-quoted string, but PowerShell does NOT treat \\ as an escape \u2014 that quote CLOSED the string and the command was split into fragments. It exited 0 with no output because the outer program (e.g. ssh) still ran, but it very likely did NOT run what you intended. Do NOT assume this succeeded.
|
|
791
878
|
Fix: write the payload to a local file with the 'write_file' tool, then 'scp' it over and run 'ssh host "psql -d <db> -f /tmp/x.sql"' (single level of quoting). Inside PowerShell strings, escape a quote with \`" or "" \u2014 never \\".`;
|
|
792
|
-
function emptyOutputResult(command) {
|
|
879
|
+
function emptyOutputResult(command, stderr = "") {
|
|
793
880
|
const base = "(command completed with no output)";
|
|
881
|
+
const err = stderr.trim();
|
|
882
|
+
if (err) {
|
|
883
|
+
return `${base}, but stderr was not empty:
|
|
884
|
+
${err}`;
|
|
885
|
+
}
|
|
794
886
|
return detectPowerShellBackslashQuote(command) ? base + BACKSLASH_QUOTE_SILENT_WARNING : base;
|
|
795
887
|
}
|
|
888
|
+
var PS_TEXT_READ_CMDLET = /\b(?:Get-Content|gc|cat|type|Select-String|sls|Import-Csv)\b/i;
|
|
889
|
+
function annotateSuccessOutput(command, stdout) {
|
|
890
|
+
if (!IS_WINDOWS3 || !PS_TEXT_READ_CMDLET.test(command)) return stdout;
|
|
891
|
+
if (!looksLikeGbkMojibake(stdout)) return stdout;
|
|
892
|
+
const recovered = recoverGbkMojibake(stdout);
|
|
893
|
+
return stdout + `
|
|
894
|
+
|
|
895
|
+
\u26A0 WARNING: this output is mojibake (UTF-8 text decoded as GBK). PowerShell's Get-Content / Select-String read BOM-less UTF-8 files using the system code page, so the content was corrupted BEFORE it reached you \u2014 what you see above is NOT what the file says. Do NOT rely on it, and do not quote it back to the user.
|
|
896
|
+
` + (recovered ? `Recovered fragment (proof, not the whole file): ${recovered}
|
|
897
|
+
` : "") + `Fix: use the 'read_file' tool instead (it decodes UTF-8 correctly). If you must stay in PowerShell, pass -Encoding utf8.`;
|
|
898
|
+
}
|
|
796
899
|
function buildErrorHint(command, stderr) {
|
|
797
900
|
const hints = [];
|
|
798
901
|
if (IS_WINDOWS3 && /\|\|/.test(command) && /(\|\||is not a valid argument|不是此版本中的有效|ParserError|Unexpected token)/i.test(stderr)) {
|
|
@@ -1205,6 +1308,16 @@ var BINARY_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
|
1205
1308
|
".class",
|
|
1206
1309
|
".pyc"
|
|
1207
1310
|
]);
|
|
1311
|
+
var IMAGE_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
1312
|
+
".png",
|
|
1313
|
+
".jpg",
|
|
1314
|
+
".jpeg",
|
|
1315
|
+
".gif",
|
|
1316
|
+
".bmp",
|
|
1317
|
+
".ico",
|
|
1318
|
+
".webp",
|
|
1319
|
+
".tiff"
|
|
1320
|
+
]);
|
|
1208
1321
|
function isBinaryBuffer(buf) {
|
|
1209
1322
|
const sample = buf.subarray(0, 512);
|
|
1210
1323
|
let nullCount = 0;
|
|
@@ -1375,6 +1488,12 @@ ${err.message}`;
|
|
|
1375
1488
|
}
|
|
1376
1489
|
}
|
|
1377
1490
|
if (BINARY_EXTENSIONS.has(ext)) {
|
|
1491
|
+
if (IMAGE_EXTENSIONS.has(ext)) {
|
|
1492
|
+
return `[Image file: ${filePath} (${ext})]
|
|
1493
|
+
read_file cannot return image content \u2014 tool results are text-only, so no tool can put an image into your context.
|
|
1494
|
+
To have an image looked at, ask the USER to reference it from their input line with @${filePath} (they can use a glob for a batch, e.g. @dir/*.png, up to 20 at a time). A vision-capable model must be active, or the reference is rejected.
|
|
1495
|
+
Do NOT claim you inspected this image \u2014 you have not seen it.`;
|
|
1496
|
+
}
|
|
1378
1497
|
return `[Binary file: ${filePath} (${ext})]
|
|
1379
1498
|
This is a binary file and cannot be read as text. If there is a text version (.md / .txt) in the project, please read that instead.`;
|
|
1380
1499
|
}
|
|
@@ -2253,7 +2372,7 @@ var RuleBasedActionClassifier = class {
|
|
|
2253
2372
|
var defaultActionClassifier = new RuleBasedActionClassifier();
|
|
2254
2373
|
|
|
2255
2374
|
// src/tools/executor.ts
|
|
2256
|
-
var PS_ERROR_RECORD_HEAD = /^(?:At line:\d+ char:\d+|所在位置\s+行:\d+\s+字符:\d+)\s*$/;
|
|
2375
|
+
var PS_ERROR_RECORD_HEAD = /^(?:[\w.\-]+\s:\s)?(?:At line:\d+ char:\s*\d+|所在位置\s+行:\d+\s+字符:\s*\d+)\s*$/;
|
|
2257
2376
|
var ERROR_SIGNATURE = new RegExp(
|
|
2258
2377
|
[
|
|
2259
2378
|
// Python / .NET / Java: "OSError: …", "pkg.SomeException: …"
|
|
@@ -2270,7 +2389,7 @@ var ERROR_SIGNATURE = new RegExp(
|
|
|
2270
2389
|
);
|
|
2271
2390
|
var PY_TRACEBACK_FRAME = /^\s*File ".*", line \d+/;
|
|
2272
2391
|
function buildErrorPreview(content) {
|
|
2273
|
-
const raw = content.split("\n");
|
|
2392
|
+
const raw = content.split("\n").map((l) => l.replace(/\r+$/, ""));
|
|
2274
2393
|
const undecorated = [];
|
|
2275
2394
|
for (let i = 0; i < raw.length; i++) {
|
|
2276
2395
|
if (PS_ERROR_RECORD_HEAD.test(raw[i])) {
|
|
@@ -7065,6 +7184,7 @@ export {
|
|
|
7065
7184
|
truncateForPersist,
|
|
7066
7185
|
truncateOutput,
|
|
7067
7186
|
ToolExecutor,
|
|
7187
|
+
globToRegex,
|
|
7068
7188
|
lastResponseStore,
|
|
7069
7189
|
cleanupRejectedTeeFile,
|
|
7070
7190
|
askUserContext,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
evaluateCiGate,
|
|
4
4
|
normalizeCiThresholds
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-55AANMEM.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-VXEF2SWG.js";
|
|
17
17
|
import {
|
|
18
18
|
ConfigManager
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-XEKMGE2G.js";
|
|
20
20
|
import {
|
|
21
21
|
VERSION
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-7WD2TBWY.js";
|
|
23
23
|
|
|
24
24
|
// src/cli/ci.ts
|
|
25
25
|
import { execFileSync } from "child_process";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
setPreferredAgentName,
|
|
17
17
|
truncateForPersist,
|
|
18
18
|
undoStack
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-WCJR5HCF.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-DHQCJC2B.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-6ZRLM3NG.js";
|
|
69
69
|
import {
|
|
70
70
|
describePlugin,
|
|
71
71
|
getActivePluginAssets,
|
|
@@ -80,11 +80,11 @@ import {
|
|
|
80
80
|
trustHook,
|
|
81
81
|
trustPlugin,
|
|
82
82
|
untrustHook
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-Q24BN6WF.js";
|
|
84
84
|
import {
|
|
85
85
|
isCleanDocumentBody,
|
|
86
86
|
stripOuterCodeFence
|
|
87
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-MI4SFZGX.js";
|
|
88
88
|
import {
|
|
89
89
|
formatGitContextForPrompt,
|
|
90
90
|
getGitContext
|
|
@@ -109,7 +109,7 @@ import {
|
|
|
109
109
|
MCP_TOOL_PREFIX,
|
|
110
110
|
REPO_URL,
|
|
111
111
|
VERSION
|
|
112
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-7WD2TBWY.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-HL7DYRDJ.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-PQ3SUDDN.js");
|
|
3538
3538
|
const argStr = args.join(" ").trim();
|
|
3539
3539
|
let testArgs = {};
|
|
3540
3540
|
if (argStr) {
|
|
@@ -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-YK42KYKN.js";
|
|
7
|
+
import "./chunk-55AANMEM.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-VXEF2SWG.js";
|
|
11
|
+
import "./chunk-XEKMGE2G.js";
|
|
12
|
+
import "./chunk-MI4SFZGX.js";
|
|
13
13
|
import "./chunk-TU3L3PW7.js";
|
|
14
14
|
import "./chunk-IW3Q7AE5.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-7WD2TBWY.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-6ZRLM3NG.js";
|
|
6
|
+
import "./chunk-Q24BN6WF.js";
|
|
7
7
|
import "./chunk-RS7SKYTS.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-VXEF2SWG.js";
|
|
9
|
+
import "./chunk-XEKMGE2G.js";
|
|
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-7WD2TBWY.js";
|
|
15
15
|
export {
|
|
16
16
|
formatDoctorReport,
|
|
17
17
|
runDoctorCli
|