jinzd-ai-cli 0.4.283 → 0.4.284
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/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/dist/{batch-6WWR4P5U.js → batch-DA7VA35X.js} +2 -2
- package/dist/{chunk-2YVZTDP4.js → chunk-3DRSBZQ7.js} +1 -1
- package/dist/{chunk-V4IY5CRJ.js → chunk-BXG44VIQ.js} +1 -1
- package/dist/{chunk-RALUII7R.js → chunk-C4CIIIDT.js} +3 -3
- package/dist/{chunk-JR2J3V6J.js → chunk-FZ4THGUP.js} +1 -1
- package/dist/{chunk-D7BIF6JO.js → chunk-I4FJGILK.js} +4 -4
- package/dist/{chunk-CUS4FJVP.js → chunk-OZKTHQWA.js} +3 -3
- package/dist/{chunk-M3UJ2JCW.js → chunk-PPPSK4MA.js} +1 -1
- package/dist/{chunk-4J7FIGQD.js → chunk-PWLQU43X.js} +1 -1
- package/dist/{chunk-F3YN754E.js → chunk-QKGKWCXE.js} +1 -1
- package/dist/{chunk-JSQGDPDK.js → chunk-RV2YOTEQ.js} +1 -1
- package/dist/{chunk-Z3QNLNSU.js → chunk-VFVN5CWA.js} +1 -1
- package/dist/{chunk-QDOFRKY2.js → chunk-XSBGCZOP.js} +1 -1
- package/dist/{chunk-LXJF46SO.js → chunk-Z23JYUOL.js} +3 -3
- package/dist/{ci-FTS7XNWA.js → ci-HG2TPYVY.js} +4 -4
- package/dist/{ci-format-N5PXGS7Y.js → ci-format-UB7K63UZ.js} +2 -2
- package/dist/{constants-3B5KIPLK.js → constants-3DDHA3LT.js} +1 -1
- package/dist/{doctor-cli-VRMIEREY.js → doctor-cli-ISFDY7LZ.js} +4 -4
- package/dist/electron-server.js +8 -8
- package/dist/{hub-TZET5544.js → hub-MP2CNDMZ.js} +1 -1
- package/dist/index.js +19 -19
- package/dist/{persistent-memory-IPCUJVWF.js → persistent-memory-AMDRRB5E.js} +2 -2
- package/dist/{persistent-memory-3OYRXF2L.js → persistent-memory-J2OVPLWI.js} +2 -2
- package/dist/{pr-XUXWP52Z.js → pr-BREZ3DJX.js} +4 -4
- package/dist/{run-tests-PUOXATHQ.js → run-tests-DPO23PKA.js} +2 -2
- package/dist/{run-tests-3T5WRG62.js → run-tests-XHLV74GU.js} +2 -2
- package/dist/{server-WGEGVVY5.js → server-KK7DIV3J.js} +5 -5
- package/dist/{server-4XSDRPZM.js → server-W2VIUKTQ.js} +13 -13
- package/dist/{task-orchestrator-LEW2VSZD.js → task-orchestrator-YM5IMIKL.js} +5 -5
- package/dist/{usage-7VEAXMMP.js → usage-TXPZY7EB.js} +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
[](https://www.npmjs.com/package/jinzd-ai-cli)
|
|
14
14
|
[](LICENSE)
|
|
15
|
-
[](https://nodejs.org)
|
|
16
16
|
[](https://github.com/jinzhengdong/ai-cli/releases)
|
|
17
17
|
[](https://github.com/jinzhengdong/ai-cli/actions/workflows/ci.yml)
|
|
18
18
|
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
npm install -g jinzd-ai-cli
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
Requires Node.js >=
|
|
69
|
+
Requires Node.js >= 22.12.0. After installation, use `aicli` to start.
|
|
70
70
|
|
|
71
71
|
### Electron Desktop App (Windows)
|
|
72
72
|
|
package/README.zh-CN.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
[](https://www.npmjs.com/package/jinzd-ai-cli)
|
|
14
14
|
[](LICENSE)
|
|
15
|
-
[](https://nodejs.org)
|
|
16
16
|
[](https://github.com/jinzhengdong/ai-cli/releases)
|
|
17
17
|
[](https://github.com/jinzhengdong/ai-cli/actions/workflows/ci.yml)
|
|
18
18
|
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
npm install -g jinzd-ai-cli
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
需要 Node.js >=
|
|
57
|
+
需要 Node.js >= 22.12.0。安装后使用 `aicli` 启动。
|
|
58
58
|
|
|
59
59
|
### Electron 桌面应用(Windows)
|
|
60
60
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ConfigManager
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-XSBGCZOP.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-RV2YOTEQ.js";
|
|
10
10
|
|
|
11
11
|
// src/cli/batch.ts
|
|
12
12
|
import Anthropic from "@anthropic-ai/sdk";
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
listHooks,
|
|
9
9
|
listInstalledPlugins,
|
|
10
10
|
resetStats
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-BXG44VIQ.js";
|
|
12
12
|
import {
|
|
13
13
|
ProviderRegistry
|
|
14
14
|
} from "./chunk-UGY5SVNX.js";
|
|
15
15
|
import {
|
|
16
16
|
ConfigManager
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-XSBGCZOP.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-RV2YOTEQ.js";
|
|
30
30
|
|
|
31
31
|
// src/diagnostics/doctor-report.ts
|
|
32
32
|
import { existsSync as existsSync3, statSync as statSync2 } from "fs";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
searchPersistentMemories,
|
|
12
12
|
touchMemoryReferences,
|
|
13
13
|
updateMemoryEntry
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-PPPSK4MA.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-BXG44VIQ.js";
|
|
34
34
|
import {
|
|
35
35
|
buildTruncatedArgumentsError,
|
|
36
36
|
getDangerLevel,
|
|
@@ -50,14 +50,14 @@ import {
|
|
|
50
50
|
} from "./chunk-4BKXL7SM.js";
|
|
51
51
|
import {
|
|
52
52
|
runTestsTool
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-PWLQU43X.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-RV2YOTEQ.js";
|
|
61
61
|
|
|
62
62
|
// src/tools/shell-pool.ts
|
|
63
63
|
import { spawn as spawn2 } from "child_process";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
evaluateCiGate,
|
|
4
4
|
normalizeCiThresholds
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-VFVN5CWA.js";
|
|
6
6
|
import {
|
|
7
7
|
buildReviewPrompt,
|
|
8
8
|
buildSecurityReviewPrompt,
|
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
} from "./chunk-UGY5SVNX.js";
|
|
17
17
|
import {
|
|
18
18
|
ConfigManager
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-XSBGCZOP.js";
|
|
20
20
|
import {
|
|
21
21
|
VERSION
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-RV2YOTEQ.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-RV2YOTEQ.js";
|
|
17
17
|
|
|
18
18
|
// src/memory/persistent-memory.ts
|
|
19
19
|
import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from "fs";
|
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
estimateTokens,
|
|
7
7
|
truncateForPersist
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-I4FJGILK.js";
|
|
9
9
|
import {
|
|
10
10
|
isMemoryExpired,
|
|
11
11
|
isMemoryStale
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-PPPSK4MA.js";
|
|
13
13
|
import {
|
|
14
14
|
getContentText
|
|
15
15
|
} from "./chunk-IUVDZVZ4.js";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
MCP_PROTOCOL_VERSION,
|
|
31
31
|
MCP_TOOL_PREFIX,
|
|
32
32
|
VERSION
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-RV2YOTEQ.js";
|
|
34
34
|
|
|
35
35
|
// src/mcp/client.ts
|
|
36
36
|
import { spawn } from "child_process";
|
|
@@ -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-OZKTHQWA.js";
|
|
7
|
+
import "./chunk-VFVN5CWA.js";
|
|
8
8
|
import "./chunk-HLWUDRBO.js";
|
|
9
9
|
import "./chunk-6YZEZFX5.js";
|
|
10
10
|
import "./chunk-UGY5SVNX.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-XSBGCZOP.js";
|
|
12
12
|
import "./chunk-TEXT4DAT.js";
|
|
13
13
|
import "./chunk-TU3L3PW7.js";
|
|
14
14
|
import "./chunk-IW3Q7AE5.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-RV2YOTEQ.js";
|
|
16
16
|
export {
|
|
17
17
|
CI_COMMENT_MARKER,
|
|
18
18
|
countSeverity,
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
import {
|
|
3
3
|
formatDoctorReport,
|
|
4
4
|
runDoctorCli
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-C4CIIIDT.js";
|
|
6
|
+
import "./chunk-BXG44VIQ.js";
|
|
7
7
|
import "./chunk-UGY5SVNX.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-XSBGCZOP.js";
|
|
9
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-RV2YOTEQ.js";
|
|
14
14
|
export {
|
|
15
15
|
formatDoctorReport,
|
|
16
16
|
runDoctorCli
|
package/dist/electron-server.js
CHANGED
|
@@ -40,14 +40,14 @@ import {
|
|
|
40
40
|
touchMemoryReferences,
|
|
41
41
|
updateMemoryApproval,
|
|
42
42
|
updateMemoryEntry
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-FZ4THGUP.js";
|
|
44
44
|
import {
|
|
45
45
|
redactJson,
|
|
46
46
|
scanString
|
|
47
47
|
} from "./chunk-FSC6KEWU.js";
|
|
48
48
|
import {
|
|
49
49
|
runTestsTool
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-QKGKWCXE.js";
|
|
51
51
|
import {
|
|
52
52
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
53
53
|
APP_NAME,
|
|
@@ -80,7 +80,7 @@ import {
|
|
|
80
80
|
SUBAGENT_MAX_ROUNDS_LIMIT,
|
|
81
81
|
VERSION,
|
|
82
82
|
buildUserIdentityPrompt
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-3DRSBZQ7.js";
|
|
84
84
|
import {
|
|
85
85
|
hasSemanticIndex,
|
|
86
86
|
semanticSearch
|
|
@@ -16838,7 +16838,7 @@ Cache: write=${cacheCreate} read=${cacheRead}` : "";
|
|
|
16838
16838
|
Cost: ${formatCost(cost)}` : "";
|
|
16839
16839
|
let memoryLine = "";
|
|
16840
16840
|
try {
|
|
16841
|
-
const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-
|
|
16841
|
+
const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-AMDRRB5E.js");
|
|
16842
16842
|
const pending = countPendingMemories2(ctx.config.getConfigDir());
|
|
16843
16843
|
if (pending > 0) memoryLine = `
|
|
16844
16844
|
Memory: \u26A0 ${pending} pending approval \u2014 see the Memory panel or /memory`;
|
|
@@ -17746,7 +17746,7 @@ async function handleTest(args, ctx) {
|
|
|
17746
17746
|
const isCommand = argStr.includes(" ") || /^(mvn|gradle|npm|pytest|cargo|go)\b/.test(argStr);
|
|
17747
17747
|
testArgs = isCommand ? { command: argStr } : { filter: argStr };
|
|
17748
17748
|
}
|
|
17749
|
-
const runTests = ctx.runTests ?? (await import("./run-tests-
|
|
17749
|
+
const runTests = ctx.runTests ?? (await import("./run-tests-XHLV74GU.js")).executeTests;
|
|
17750
17750
|
const report = await runTests(testArgs);
|
|
17751
17751
|
ctx.send({ type: "info", message: report });
|
|
17752
17752
|
} catch (err) {
|
|
@@ -18136,7 +18136,7 @@ async function handleMemory(args, ctx) {
|
|
|
18136
18136
|
}
|
|
18137
18137
|
if (intent.kind === "status") {
|
|
18138
18138
|
const { getChatIndexStatus } = await import("./chat-index-TDU3S2MG.js");
|
|
18139
|
-
const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-
|
|
18139
|
+
const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-AMDRRB5E.js");
|
|
18140
18140
|
const memories = listMemoryEntries2(configDir, { includeExpired: true, includeRejected: true });
|
|
18141
18141
|
const injected = formatMemoryForPrompt2(configDir, process.cwd(), ctx.config.get("memory")?.maxChars);
|
|
18142
18142
|
const view = buildMemoryStatusView({
|
|
@@ -18159,7 +18159,7 @@ async function handleMemory(args, ctx) {
|
|
|
18159
18159
|
return;
|
|
18160
18160
|
}
|
|
18161
18161
|
if (intent.kind === "recall") {
|
|
18162
|
-
const { searchPersistentMemories: searchPersistentMemories2, touchMemoryReferences: touchMemoryReferences2 } = await import("./persistent-memory-
|
|
18162
|
+
const { searchPersistentMemories: searchPersistentMemories2, touchMemoryReferences: touchMemoryReferences2 } = await import("./persistent-memory-AMDRRB5E.js");
|
|
18163
18163
|
const { searchChatMemory: searchChatMemory2 } = await import("./chat-index-TDU3S2MG.js");
|
|
18164
18164
|
const persistentHits = searchPersistentMemories2(configDir, intent.query, process.cwd(), 3);
|
|
18165
18165
|
if (persistentHits.length > 0) {
|
|
@@ -18280,7 +18280,7 @@ async function handleMemory(args, ctx) {
|
|
|
18280
18280
|
ctx.handleMemoryManage(intent.action, args[1], intent.action === "expire" ? args[2] : void 0);
|
|
18281
18281
|
} else if (intent.kind === "export") {
|
|
18282
18282
|
if (args[1] === "md") {
|
|
18283
|
-
const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-
|
|
18283
|
+
const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-AMDRRB5E.js");
|
|
18284
18284
|
ctx.send({
|
|
18285
18285
|
type: "export_data",
|
|
18286
18286
|
format: "md",
|
|
@@ -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-YM5IMIKL.js");
|
|
162
162
|
const orchestrator = new TaskOrchestrator(config, providers, configManager);
|
|
163
163
|
let interrupted = false;
|
|
164
164
|
const onSigint = () => {
|
package/dist/index.js
CHANGED
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
setupProxy,
|
|
66
66
|
snapshotFile,
|
|
67
67
|
stripRoutingTags
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-Z23JYUOL.js";
|
|
69
69
|
import {
|
|
70
70
|
CostTracker,
|
|
71
71
|
computeCost,
|
|
@@ -95,7 +95,7 @@ import {
|
|
|
95
95
|
setMaxOutputCap,
|
|
96
96
|
spawnAgentContext,
|
|
97
97
|
undoStack
|
|
98
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-I4FJGILK.js";
|
|
99
99
|
import {
|
|
100
100
|
buildReviewPrompt,
|
|
101
101
|
buildSecurityReviewPrompt
|
|
@@ -136,7 +136,7 @@ import {
|
|
|
136
136
|
touchMemoryReferences,
|
|
137
137
|
updateMemoryApproval,
|
|
138
138
|
updateMemoryEntry
|
|
139
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-PPPSK4MA.js";
|
|
140
140
|
import "./chunk-4DEMGCK4.js";
|
|
141
141
|
import "./chunk-UUSRWSSX.js";
|
|
142
142
|
import "./chunk-CKH4KQ4E.js";
|
|
@@ -160,7 +160,7 @@ import {
|
|
|
160
160
|
formatDoctorReport,
|
|
161
161
|
loadContextFiles,
|
|
162
162
|
writeCrashLog
|
|
163
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-C4CIIIDT.js";
|
|
164
164
|
import {
|
|
165
165
|
describePlugin,
|
|
166
166
|
getActivePluginAssets,
|
|
@@ -177,14 +177,14 @@ import {
|
|
|
177
177
|
trustHook,
|
|
178
178
|
trustPlugin,
|
|
179
179
|
untrustHook
|
|
180
|
-
} from "./chunk-
|
|
180
|
+
} from "./chunk-BXG44VIQ.js";
|
|
181
181
|
import {
|
|
182
182
|
ProviderRegistry,
|
|
183
183
|
listBuiltInProviderMetadata
|
|
184
184
|
} from "./chunk-UGY5SVNX.js";
|
|
185
185
|
import {
|
|
186
186
|
ConfigManager
|
|
187
|
-
} from "./chunk-
|
|
187
|
+
} from "./chunk-XSBGCZOP.js";
|
|
188
188
|
import {
|
|
189
189
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
190
190
|
TEE_FINAL_USER_NUDGE,
|
|
@@ -222,7 +222,7 @@ import {
|
|
|
222
222
|
import {
|
|
223
223
|
fileCheckpoints
|
|
224
224
|
} from "./chunk-4BKXL7SM.js";
|
|
225
|
-
import "./chunk-
|
|
225
|
+
import "./chunk-PWLQU43X.js";
|
|
226
226
|
import {
|
|
227
227
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
228
228
|
AUTHOR,
|
|
@@ -240,7 +240,7 @@ import {
|
|
|
240
240
|
SKILLS_DIR_NAME,
|
|
241
241
|
VERSION,
|
|
242
242
|
buildUserIdentityPrompt
|
|
243
|
-
} from "./chunk-
|
|
243
|
+
} from "./chunk-RV2YOTEQ.js";
|
|
244
244
|
|
|
245
245
|
// src/index.ts
|
|
246
246
|
import { program } from "commander";
|
|
@@ -1358,7 +1358,7 @@ No tools match "${filter}".
|
|
|
1358
1358
|
const { join: join6 } = await import("path");
|
|
1359
1359
|
const { existsSync: existsSync6 } = await import("fs");
|
|
1360
1360
|
const { getGitRoot: getGitRoot2 } = await import("./git-context-EXOEHQSF.js");
|
|
1361
|
-
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-
|
|
1361
|
+
const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-3DDHA3LT.js");
|
|
1362
1362
|
const { approveProject, hashMcpFile } = await import("./project-trust-NKYHL3VZ.js");
|
|
1363
1363
|
const cwd = process.cwd();
|
|
1364
1364
|
const projectRoot = getGitRoot2(cwd) ?? cwd;
|
|
@@ -2273,7 +2273,7 @@ function createReviewCommands() {
|
|
|
2273
2273
|
usage: "/test [command|filter]",
|
|
2274
2274
|
async execute(args, ctx) {
|
|
2275
2275
|
try {
|
|
2276
|
-
const { executeTests } = await import("./run-tests-
|
|
2276
|
+
const { executeTests } = await import("./run-tests-DPO23PKA.js");
|
|
2277
2277
|
const argStr = args.join(" ").trim();
|
|
2278
2278
|
let testArgs = {};
|
|
2279
2279
|
if (argStr) {
|
|
@@ -7275,7 +7275,7 @@ program.command("web").description("Start Web UI server with browser-based chat
|
|
|
7275
7275
|
console.error("Error: Invalid port number. Must be between 1 and 65535.");
|
|
7276
7276
|
process.exit(1);
|
|
7277
7277
|
}
|
|
7278
|
-
const { startWebServer } = await import("./server-
|
|
7278
|
+
const { startWebServer } = await import("./server-W2VIUKTQ.js");
|
|
7279
7279
|
await startWebServer({ port, host: options.host });
|
|
7280
7280
|
});
|
|
7281
7281
|
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) => {
|
|
@@ -7442,11 +7442,11 @@ program.command("sessions").description("List recent conversation sessions").opt
|
|
|
7442
7442
|
console.log(footer + "\n");
|
|
7443
7443
|
});
|
|
7444
7444
|
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) => {
|
|
7445
|
-
const { runUsageCli } = await import("./usage-
|
|
7445
|
+
const { runUsageCli } = await import("./usage-TXPZY7EB.js");
|
|
7446
7446
|
await runUsageCli(options);
|
|
7447
7447
|
});
|
|
7448
7448
|
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) => {
|
|
7449
|
-
const { runDoctorCli } = await import("./doctor-cli-
|
|
7449
|
+
const { runDoctorCli } = await import("./doctor-cli-ISFDY7LZ.js");
|
|
7450
7450
|
const argv = process.argv.slice(2);
|
|
7451
7451
|
await runDoctorCli({
|
|
7452
7452
|
json: !!options.json || argv.includes("--json"),
|
|
@@ -7455,7 +7455,7 @@ program.command("doctor").description("Health check: API keys, config, MCP, rece
|
|
|
7455
7455
|
});
|
|
7456
7456
|
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) => {
|
|
7457
7457
|
try {
|
|
7458
|
-
const batch = await import("./batch-
|
|
7458
|
+
const batch = await import("./batch-DA7VA35X.js");
|
|
7459
7459
|
switch (action) {
|
|
7460
7460
|
case "submit":
|
|
7461
7461
|
if (!arg) {
|
|
@@ -7498,7 +7498,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
|
|
|
7498
7498
|
}
|
|
7499
7499
|
});
|
|
7500
7500
|
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) => {
|
|
7501
|
-
const { startMcpServer } = await import("./server-
|
|
7501
|
+
const { startMcpServer } = await import("./server-KK7DIV3J.js");
|
|
7502
7502
|
await startMcpServer({
|
|
7503
7503
|
allowDestructive: !!options.allowDestructive,
|
|
7504
7504
|
allowOutsideCwd: !!options.allowOutsideCwd,
|
|
@@ -7511,7 +7511,7 @@ program.command("pr <action> [target]").description("PR review helpers: review |
|
|
|
7511
7511
|
console.error(`Unknown pr action: ${action}. Use review | security-review | summarize.`);
|
|
7512
7512
|
process.exit(1);
|
|
7513
7513
|
}
|
|
7514
|
-
const { runPrCli } = await import("./pr-
|
|
7514
|
+
const { runPrCli } = await import("./pr-BREZ3DJX.js");
|
|
7515
7515
|
const result = await runPrCli({
|
|
7516
7516
|
action,
|
|
7517
7517
|
target,
|
|
@@ -7531,8 +7531,8 @@ program.command("pr <action> [target]").description("PR review helpers: review |
|
|
|
7531
7531
|
process.exit(result.exitCode);
|
|
7532
7532
|
});
|
|
7533
7533
|
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) => {
|
|
7534
|
-
const { runCi } = await import("./ci-
|
|
7535
|
-
const { formatCiResult } = await import("./ci-format-
|
|
7534
|
+
const { runCi } = await import("./ci-HG2TPYVY.js");
|
|
7535
|
+
const { formatCiResult } = await import("./ci-format-UB7K63UZ.js");
|
|
7536
7536
|
const formats = [options.json, options.markdown, options.sarif].filter(Boolean).length;
|
|
7537
7537
|
if (formats > 1) {
|
|
7538
7538
|
console.error("Choose only one output format: --json, --markdown, or --sarif.");
|
|
@@ -7690,7 +7690,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
|
|
|
7690
7690
|
config.get("customProviders"),
|
|
7691
7691
|
config.getConfigDir()
|
|
7692
7692
|
);
|
|
7693
|
-
const { startHub } = await import("./hub-
|
|
7693
|
+
const { startHub } = await import("./hub-MP2CNDMZ.js");
|
|
7694
7694
|
await startHub(
|
|
7695
7695
|
{
|
|
7696
7696
|
topic: topic ?? "",
|
|
@@ -27,9 +27,9 @@ import {
|
|
|
27
27
|
touchMemoryReferences,
|
|
28
28
|
updateMemoryApproval,
|
|
29
29
|
updateMemoryEntry
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-FZ4THGUP.js";
|
|
31
31
|
import "./chunk-FSC6KEWU.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-3DRSBZQ7.js";
|
|
33
33
|
import "./chunk-6BUTA5VW.js";
|
|
34
34
|
export {
|
|
35
35
|
addMemoryEntry,
|
|
@@ -28,11 +28,11 @@ import {
|
|
|
28
28
|
touchMemoryReferences,
|
|
29
29
|
updateMemoryApproval,
|
|
30
30
|
updateMemoryEntry
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-PPPSK4MA.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-RV2YOTEQ.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-OZKTHQWA.js";
|
|
6
|
+
import "./chunk-VFVN5CWA.js";
|
|
7
7
|
import {
|
|
8
8
|
buildReviewPrompt,
|
|
9
9
|
buildSecurityReviewPrompt,
|
|
@@ -17,13 +17,13 @@ import {
|
|
|
17
17
|
} from "./chunk-UGY5SVNX.js";
|
|
18
18
|
import {
|
|
19
19
|
ConfigManager
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-XSBGCZOP.js";
|
|
21
21
|
import "./chunk-TEXT4DAT.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-RV2YOTEQ.js";
|
|
27
27
|
|
|
28
28
|
// src/cli/pr.ts
|
|
29
29
|
import { execFileSync } from "child_process";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ToolRegistry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-I4FJGILK.js";
|
|
5
5
|
import "./chunk-GHWZVPUV.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-PPPSK4MA.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-BXG44VIQ.js";
|
|
18
18
|
import {
|
|
19
19
|
getDangerLevel,
|
|
20
20
|
schemaToJsonSchema
|
|
@@ -23,10 +23,10 @@ import "./chunk-TU3L3PW7.js";
|
|
|
23
23
|
import "./chunk-HOSJZMQS.js";
|
|
24
24
|
import "./chunk-IW3Q7AE5.js";
|
|
25
25
|
import "./chunk-4BKXL7SM.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-PWLQU43X.js";
|
|
27
27
|
import {
|
|
28
28
|
VERSION
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-RV2YOTEQ.js";
|
|
30
30
|
|
|
31
31
|
// src/mcp/server.ts
|
|
32
32
|
import { createInterface } from "readline";
|
|
@@ -73,7 +73,7 @@ import {
|
|
|
73
73
|
setupProxy,
|
|
74
74
|
snapshotFile,
|
|
75
75
|
stripRoutingTags
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-Z23JYUOL.js";
|
|
77
77
|
import {
|
|
78
78
|
CNY_PER_USD,
|
|
79
79
|
CostTracker,
|
|
@@ -115,7 +115,7 @@ import {
|
|
|
115
115
|
spawnAgentContext,
|
|
116
116
|
truncateOutput,
|
|
117
117
|
undoStack
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-I4FJGILK.js";
|
|
119
119
|
import {
|
|
120
120
|
buildReviewPrompt,
|
|
121
121
|
buildSecurityReviewPrompt
|
|
@@ -142,7 +142,7 @@ import {
|
|
|
142
142
|
restoreMemoryEntries,
|
|
143
143
|
updateMemoryApproval,
|
|
144
144
|
updateMemoryEntry
|
|
145
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-PPPSK4MA.js";
|
|
146
146
|
import "./chunk-4DEMGCK4.js";
|
|
147
147
|
import "./chunk-UUSRWSSX.js";
|
|
148
148
|
import "./chunk-CKH4KQ4E.js";
|
|
@@ -161,7 +161,7 @@ import {
|
|
|
161
161
|
buildDoctorReport,
|
|
162
162
|
formatDoctorReport,
|
|
163
163
|
loadContextFiles
|
|
164
|
-
} from "./chunk-
|
|
164
|
+
} from "./chunk-C4CIIIDT.js";
|
|
165
165
|
import {
|
|
166
166
|
describePlugin,
|
|
167
167
|
getActivePluginAssets,
|
|
@@ -176,13 +176,13 @@ import {
|
|
|
176
176
|
runTool,
|
|
177
177
|
setPluginEnabled,
|
|
178
178
|
trustPlugin
|
|
179
|
-
} from "./chunk-
|
|
179
|
+
} from "./chunk-BXG44VIQ.js";
|
|
180
180
|
import {
|
|
181
181
|
ProviderRegistry
|
|
182
182
|
} from "./chunk-UGY5SVNX.js";
|
|
183
183
|
import {
|
|
184
184
|
ConfigManager
|
|
185
|
-
} from "./chunk-
|
|
185
|
+
} from "./chunk-XSBGCZOP.js";
|
|
186
186
|
import {
|
|
187
187
|
CONTENT_ONLY_STREAM_REMINDER,
|
|
188
188
|
TEE_FINAL_USER_NUDGE,
|
|
@@ -212,7 +212,7 @@ import {
|
|
|
212
212
|
maskConfigSecrets
|
|
213
213
|
} from "./chunk-XNFIYS7G.js";
|
|
214
214
|
import "./chunk-4BKXL7SM.js";
|
|
215
|
-
import "./chunk-
|
|
215
|
+
import "./chunk-PWLQU43X.js";
|
|
216
216
|
import {
|
|
217
217
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
218
218
|
AUTHOR,
|
|
@@ -228,7 +228,7 @@ import {
|
|
|
228
228
|
SKILLS_DIR_NAME,
|
|
229
229
|
VERSION,
|
|
230
230
|
buildUserIdentityPrompt
|
|
231
|
-
} from "./chunk-
|
|
231
|
+
} from "./chunk-RV2YOTEQ.js";
|
|
232
232
|
|
|
233
233
|
// src/web/server.ts
|
|
234
234
|
import express from "express";
|
|
@@ -986,7 +986,7 @@ Cache: write=${cacheCreate} read=${cacheRead}` : "";
|
|
|
986
986
|
Cost: ${formatCost(cost)}` : "";
|
|
987
987
|
let memoryLine = "";
|
|
988
988
|
try {
|
|
989
|
-
const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-
|
|
989
|
+
const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-J2OVPLWI.js");
|
|
990
990
|
const pending = countPendingMemories2(ctx.config.getConfigDir());
|
|
991
991
|
if (pending > 0) memoryLine = `
|
|
992
992
|
Memory: \u26A0 ${pending} pending approval \u2014 see the Memory panel or /memory`;
|
|
@@ -1894,7 +1894,7 @@ async function handleTest(args, ctx) {
|
|
|
1894
1894
|
const isCommand = argStr.includes(" ") || /^(mvn|gradle|npm|pytest|cargo|go)\b/.test(argStr);
|
|
1895
1895
|
testArgs = isCommand ? { command: argStr } : { filter: argStr };
|
|
1896
1896
|
}
|
|
1897
|
-
const runTests = ctx.runTests ?? (await import("./run-tests-
|
|
1897
|
+
const runTests = ctx.runTests ?? (await import("./run-tests-DPO23PKA.js")).executeTests;
|
|
1898
1898
|
const report = await runTests(testArgs);
|
|
1899
1899
|
ctx.send({ type: "info", message: report });
|
|
1900
1900
|
} catch (err) {
|
|
@@ -2169,7 +2169,7 @@ async function handleMemory(args, ctx) {
|
|
|
2169
2169
|
}
|
|
2170
2170
|
if (intent.kind === "status") {
|
|
2171
2171
|
const { getChatIndexStatus } = await import("./chat-index-2D5GK2DB.js");
|
|
2172
|
-
const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-
|
|
2172
|
+
const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-J2OVPLWI.js");
|
|
2173
2173
|
const memories = listMemoryEntries2(configDir, { includeExpired: true, includeRejected: true });
|
|
2174
2174
|
const injected = formatMemoryForPrompt2(configDir, process.cwd(), ctx.config.get("memory")?.maxChars);
|
|
2175
2175
|
const view = buildMemoryStatusView({
|
|
@@ -2192,7 +2192,7 @@ async function handleMemory(args, ctx) {
|
|
|
2192
2192
|
return;
|
|
2193
2193
|
}
|
|
2194
2194
|
if (intent.kind === "recall") {
|
|
2195
|
-
const { searchPersistentMemories, touchMemoryReferences } = await import("./persistent-memory-
|
|
2195
|
+
const { searchPersistentMemories, touchMemoryReferences } = await import("./persistent-memory-J2OVPLWI.js");
|
|
2196
2196
|
const { searchChatMemory } = await import("./chat-index-2D5GK2DB.js");
|
|
2197
2197
|
const persistentHits = searchPersistentMemories(configDir, intent.query, process.cwd(), 3);
|
|
2198
2198
|
if (persistentHits.length > 0) {
|
|
@@ -2313,7 +2313,7 @@ async function handleMemory(args, ctx) {
|
|
|
2313
2313
|
ctx.handleMemoryManage(intent.action, args[1], intent.action === "expire" ? args[2] : void 0);
|
|
2314
2314
|
} else if (intent.kind === "export") {
|
|
2315
2315
|
if (args[1] === "md") {
|
|
2316
|
-
const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-
|
|
2316
|
+
const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-J2OVPLWI.js");
|
|
2317
2317
|
ctx.send({
|
|
2318
2318
|
type: "export_data",
|
|
2319
2319
|
format: "md",
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
googleSearchContext,
|
|
5
5
|
isToolCapableProvider,
|
|
6
6
|
truncateOutput
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-I4FJGILK.js";
|
|
8
8
|
import "./chunk-GHWZVPUV.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-PPPSK4MA.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-BXG44VIQ.js";
|
|
21
21
|
import {
|
|
22
22
|
getDangerLevel,
|
|
23
23
|
runLeanAgentLoop
|
|
@@ -28,10 +28,10 @@ import {
|
|
|
28
28
|
atomicWriteFileSync
|
|
29
29
|
} from "./chunk-IW3Q7AE5.js";
|
|
30
30
|
import "./chunk-4BKXL7SM.js";
|
|
31
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-PWLQU43X.js";
|
|
32
32
|
import {
|
|
33
33
|
SUBAGENT_ALLOWED_TOOLS
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-RV2YOTEQ.js";
|
|
35
35
|
|
|
36
36
|
// src/hub/task-orchestrator.ts
|
|
37
37
|
import { createInterface } from "readline";
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
} from "./chunk-DPTEC6AQ.js";
|
|
9
9
|
import {
|
|
10
10
|
ConfigManager
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-XSBGCZOP.js";
|
|
12
12
|
import "./chunk-TU3L3PW7.js";
|
|
13
13
|
import "./chunk-IW3Q7AE5.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-RV2YOTEQ.js";
|
|
15
15
|
|
|
16
16
|
// src/cli/usage.ts
|
|
17
17
|
function classifyRowCost(row) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jinzd-ai-cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.284",
|
|
4
4
|
"description": "Cross-platform REPL-style AI CLI with multi-provider support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"options": "no-deprecation"
|
|
58
58
|
},
|
|
59
59
|
"engines": {
|
|
60
|
-
"node": ">=
|
|
60
|
+
"node": ">=22.12.0"
|
|
61
61
|
},
|
|
62
62
|
"files": [
|
|
63
63
|
"dist/*.js",
|