jinzd-ai-cli 0.4.325 → 0.4.327

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.
Files changed (37) hide show
  1. package/README.md +1 -1
  2. package/README.zh-CN.md +1 -1
  3. package/dist/{batch-BGKTM75D.js → batch-NBI46MI4.js} +6 -4
  4. package/dist/{chunk-PIX4ZPFB.js → chunk-AVVT7ZZT.js} +129 -72
  5. package/dist/{chunk-NFPJ6KUU.js → chunk-BRZZ3QAI.js} +23 -5
  6. package/dist/{chunk-TJFHBYQ3.js → chunk-C2625RDR.js} +1 -1
  7. package/dist/{chunk-N6QFHXSF.js → chunk-C3EFGIJY.js} +34 -2
  8. package/dist/{chunk-PXJ3XVR5.js → chunk-CLGEU35T.js} +1 -1
  9. package/dist/{chunk-NBNRQ44O.js → chunk-HN5A5ZXX.js} +1 -1
  10. package/dist/{chunk-GCYH5WOZ.js → chunk-I7J7E7OB.js} +1 -1
  11. package/dist/{chunk-3ALMUKHF.js → chunk-KIE2KL2R.js} +4 -4
  12. package/dist/{chunk-5BS2NVSB.js → chunk-L3KXGINR.js} +4 -4
  13. package/dist/{chunk-CVWR3VYH.js → chunk-NFA6OCYA.js} +1 -1
  14. package/dist/{chunk-KS6RNA4E.js → chunk-NW3X6KQR.js} +1 -1
  15. package/dist/{chunk-C52FQ3ZE.js → chunk-RE72FGOG.js} +14 -11
  16. package/dist/{chunk-NI7YIDLF.js → chunk-URTVV3CB.js} +1 -1
  17. package/dist/{chunk-GVVYQJYF.js → chunk-YHTEI5KL.js} +4 -4
  18. package/dist/{chunk-WDD76ALZ.js → chunk-ZAZUWQBG.js} +1 -1
  19. package/dist/{ci-OE7Q3UOI.js → ci-XDUIRFJL.js} +5 -5
  20. package/dist/{ci-format-OWSFR34D.js → ci-format-DRD4BRGP.js} +2 -2
  21. package/dist/{constants-74TAAY4L.js → constants-NZVTDFL4.js} +1 -1
  22. package/dist/{constants-W2CH36YR.js → constants-QFXJCLTM.js} +1 -1
  23. package/dist/{doctor-cli-6C3WJTL5.js → doctor-cli-Z2Y4MWLK.js} +5 -5
  24. package/dist/electron-server.js +200 -92
  25. package/dist/{hub-RHMDL74E.js → hub-OE7M7DRD.js} +1 -1
  26. package/dist/index.js +21 -20
  27. package/dist/{persistent-memory-S2QLVL43.js → persistent-memory-EWDVXYTZ.js} +2 -2
  28. package/dist/{persistent-memory-OAFPFGKB.js → persistent-memory-Q34UVU4P.js} +2 -2
  29. package/dist/{pr-5PMXXHH6.js → pr-XWYKWZ2C.js} +5 -5
  30. package/dist/{run-tests-7AOMBU2D.js → run-tests-6EB6ABYH.js} +2 -2
  31. package/dist/{run-tests-W773M3KK.js → run-tests-WUN5OEU5.js} +2 -2
  32. package/dist/{server-SK4JQWT5.js → server-KQBLT4EX.js} +17 -16
  33. package/dist/{server-O75UHHR7.js → server-N7GH5D3I.js} +5 -5
  34. package/dist/{task-orchestrator-7H7UYCU7.js → task-orchestrator-MWWHWMBT.js} +5 -5
  35. package/dist/{usage-F6BD7DHL.js → usage-VFQINJ7I.js} +3 -3
  36. package/dist/wasm/web-tree-sitter.wasm +0 -0
  37. package/package.json +15 -15
package/dist/index.js CHANGED
@@ -24,12 +24,12 @@ import {
24
24
  setupProxy,
25
25
  snapshotFile,
26
26
  stripRoutingTags
27
- } from "./chunk-C52FQ3ZE.js";
27
+ } from "./chunk-RE72FGOG.js";
28
28
  import {
29
29
  CostTracker,
30
30
  getPricing,
31
31
  setCostCurrency
32
- } from "./chunk-NFPJ6KUU.js";
32
+ } from "./chunk-BRZZ3QAI.js";
33
33
  import {
34
34
  ToolExecutor,
35
35
  ToolRegistry,
@@ -47,7 +47,7 @@ import {
47
47
  setMaxOutputCap,
48
48
  spawnAgentContext,
49
49
  undoStack
50
- } from "./chunk-GVVYQJYF.js";
50
+ } from "./chunk-YHTEI5KL.js";
51
51
  import "./chunk-HLWUDRBO.js";
52
52
  import {
53
53
  NO_THINKING,
@@ -60,7 +60,7 @@ import {
60
60
  countPendingMemories,
61
61
  detectStaleLegacyMarkdownEdit,
62
62
  formatMemoryForPrompt
63
- } from "./chunk-NI7YIDLF.js";
63
+ } from "./chunk-URTVV3CB.js";
64
64
  import "./chunk-RWRZVQCB.js";
65
65
  import "./chunk-B3MPYI4E.js";
66
66
  import "./chunk-M6HLYG33.js";
@@ -81,22 +81,22 @@ import {
81
81
  import {
82
82
  loadContextFiles,
83
83
  writeCrashLog
84
- } from "./chunk-5BS2NVSB.js";
84
+ } from "./chunk-L3KXGINR.js";
85
85
  import {
86
86
  getActivePluginAssets,
87
87
  getPendingHookTrust,
88
88
  installFlushOnExit,
89
89
  mergePluginHooks,
90
90
  runLifecycleHooks
91
- } from "./chunk-WDD76ALZ.js";
91
+ } from "./chunk-ZAZUWQBG.js";
92
92
  import "./chunk-RS7SKYTS.js";
93
93
  import {
94
94
  ProviderRegistry,
95
95
  listBuiltInProviderMetadata
96
- } from "./chunk-PIX4ZPFB.js";
96
+ } from "./chunk-AVVT7ZZT.js";
97
97
  import {
98
98
  ConfigManager
99
- } from "./chunk-N6QFHXSF.js";
99
+ } from "./chunk-C3EFGIJY.js";
100
100
  import {
101
101
  CONTENT_ONLY_STREAM_REMINDER,
102
102
  TEE_FINAL_USER_NUDGE,
@@ -134,7 +134,7 @@ import {
134
134
  isInterrupted,
135
135
  requestInterrupt,
136
136
  resetInterrupt
137
- } from "./chunk-KS6RNA4E.js";
137
+ } from "./chunk-NW3X6KQR.js";
138
138
  import {
139
139
  AGENTIC_BEHAVIOR_GUIDELINE,
140
140
  AUTHOR,
@@ -152,7 +152,7 @@ import {
152
152
  SKILLS_DIR_NAME,
153
153
  VERSION,
154
154
  buildUserIdentityPrompt
155
- } from "./chunk-CVWR3VYH.js";
155
+ } from "./chunk-NFA6OCYA.js";
156
156
  import "./chunk-SXIJLSVF.js";
157
157
 
158
158
  // src/index.ts
@@ -3915,6 +3915,7 @@ Tip: You can continue the conversation by asking the AI to proceed.`
3915
3915
  this.refreshPrompt();
3916
3916
  },
3917
3917
  getProviderSupportsReasoningEffort: () => this.providers.get(this.currentProvider)?.supportsReasoningEffort ?? false,
3918
+ getModelCanDisableThinking: () => this.providers.get(this.currentProvider)?.canDisableThinking?.(this.currentModel) ?? true,
3918
3919
  getConfiguredThinking: () => this.config.get("modelParams")[this.currentModel]?.thinking,
3919
3920
  getConfiguredThinkingEffort: () => this.config.get("modelParams")[this.currentModel]?.thinkingEffort,
3920
3921
  getThinkingEffort: () => this.runtimeThinkingEffort,
@@ -4116,7 +4117,7 @@ program.command("web").description("Start Web UI server with browser-based chat
4116
4117
  console.error("Error: Invalid port number. Must be between 1 and 65535.");
4117
4118
  process.exit(1);
4118
4119
  }
4119
- const { startWebServer } = await import("./server-SK4JQWT5.js");
4120
+ const { startWebServer } = await import("./server-KQBLT4EX.js");
4120
4121
  await startWebServer({ port, host: options.host, externalOrigin: options.externalOrigin });
4121
4122
  });
4122
4123
  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) => {
@@ -4283,11 +4284,11 @@ program.command("sessions").description("List recent conversation sessions").opt
4283
4284
  console.log(footer + "\n");
4284
4285
  });
4285
4286
  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) => {
4286
- const { runUsageCli } = await import("./usage-F6BD7DHL.js");
4287
+ const { runUsageCli } = await import("./usage-VFQINJ7I.js");
4287
4288
  await runUsageCli(options);
4288
4289
  });
4289
4290
  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) => {
4290
- const { runDoctorCli } = await import("./doctor-cli-6C3WJTL5.js");
4291
+ const { runDoctorCli } = await import("./doctor-cli-Z2Y4MWLK.js");
4291
4292
  const argv = process.argv.slice(2);
4292
4293
  await runDoctorCli({
4293
4294
  json: !!options.json || argv.includes("--json"),
@@ -4296,7 +4297,7 @@ program.command("doctor").description("Health check: API keys, config, MCP, rece
4296
4297
  });
4297
4298
  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) => {
4298
4299
  try {
4299
- const batch = await import("./batch-BGKTM75D.js");
4300
+ const batch = await import("./batch-NBI46MI4.js");
4300
4301
  switch (action) {
4301
4302
  case "submit":
4302
4303
  if (!arg) {
@@ -4339,7 +4340,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
4339
4340
  }
4340
4341
  });
4341
4342
  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) => {
4342
- const { startMcpServer } = await import("./server-O75UHHR7.js");
4343
+ const { startMcpServer } = await import("./server-N7GH5D3I.js");
4343
4344
  await startMcpServer({
4344
4345
  allowDestructive: !!options.allowDestructive,
4345
4346
  allowOutsideCwd: !!options.allowOutsideCwd,
@@ -4352,7 +4353,7 @@ program.command("pr <action> [target]").description("PR review helpers: review |
4352
4353
  console.error(`Unknown pr action: ${action}. Use review | security-review | summarize.`);
4353
4354
  process.exit(1);
4354
4355
  }
4355
- const { runPrCli } = await import("./pr-5PMXXHH6.js");
4356
+ const { runPrCli } = await import("./pr-XWYKWZ2C.js");
4356
4357
  const result = await runPrCli({
4357
4358
  action,
4358
4359
  target,
@@ -4372,8 +4373,8 @@ program.command("pr <action> [target]").description("PR review helpers: review |
4372
4373
  process.exit(result.exitCode);
4373
4374
  });
4374
4375
  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) => {
4375
- const { runCi } = await import("./ci-OE7Q3UOI.js");
4376
- const { formatCiResult } = await import("./ci-format-OWSFR34D.js");
4376
+ const { runCi } = await import("./ci-XDUIRFJL.js");
4377
+ const { formatCiResult } = await import("./ci-format-DRD4BRGP.js");
4377
4378
  const formats = [options.json, options.markdown, options.sarif].filter(Boolean).length;
4378
4379
  if (formats > 1) {
4379
4380
  console.error("Choose only one output format: --json, --markdown, or --sarif.");
@@ -4505,7 +4506,7 @@ program.command("help").description("Show a comprehensive guide to all aicli fea
4505
4506
  "",
4506
4507
  `${B}${C} \u25A0 QUICK EXAMPLES${R}`,
4507
4508
  ` ${G}aicli${R} ${D}# start REPL${R}`,
4508
- ` ${G}aicli --provider claude -m claude-sonnet-4-20250514${R} ${D}# specific model${R}`,
4509
+ ` ${G}aicli --provider claude -m claude-sonnet-5-5${R} ${D}# specific model${R}`,
4509
4510
  ` ${G}aicli -p "explain this" < main.py${R} ${D}# headless + file${R}`,
4510
4511
  ` ${G}aicli web --host 0.0.0.0${R} ${D}# Web UI on LAN${R}`,
4511
4512
  ` ${G}aicli hub --preset brainstorm --mix "idea"${R} ${D}# brainstorm across Claude/GPT/DeepSeek${R}`,
@@ -4532,7 +4533,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
4532
4533
  config.get("customProviders"),
4533
4534
  config.getConfigDir()
4534
4535
  );
4535
- const { startHub } = await import("./hub-RHMDL74E.js");
4536
+ const { startHub } = await import("./hub-OE7M7DRD.js");
4536
4537
  await startHub(
4537
4538
  {
4538
4539
  topic: topic ?? "",
@@ -28,11 +28,11 @@ import {
28
28
  touchMemoryReferences,
29
29
  updateMemoryApproval,
30
30
  updateMemoryEntry
31
- } from "./chunk-NI7YIDLF.js";
31
+ } from "./chunk-URTVV3CB.js";
32
32
  import "./chunk-3FEZSLGI.js";
33
33
  import "./chunk-HOSJZMQS.js";
34
34
  import "./chunk-BMLQPSHP.js";
35
- import "./chunk-CVWR3VYH.js";
35
+ import "./chunk-NFA6OCYA.js";
36
36
  export {
37
37
  addMemoryEntry,
38
38
  backupMemoryStore,
@@ -27,11 +27,11 @@ import {
27
27
  touchMemoryReferences,
28
28
  updateMemoryApproval,
29
29
  updateMemoryEntry
30
- } from "./chunk-PXJ3XVR5.js";
30
+ } from "./chunk-CLGEU35T.js";
31
31
  import "./chunk-FSC6KEWU.js";
32
32
  import "./chunk-2XMUCC42.js";
33
33
  import "./chunk-CGLYJRFA.js";
34
- import "./chunk-GCYH5WOZ.js";
34
+ import "./chunk-I7J7E7OB.js";
35
35
  export {
36
36
  addMemoryEntry,
37
37
  backupMemoryStore,
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  countSeverity,
4
4
  runCi
5
- } from "./chunk-3ALMUKHF.js";
6
- import "./chunk-NBNRQ44O.js";
5
+ } from "./chunk-KIE2KL2R.js";
6
+ import "./chunk-HN5A5ZXX.js";
7
7
  import {
8
8
  buildReviewPrompt,
9
9
  buildSecurityReviewPrompt,
@@ -14,16 +14,16 @@ import {
14
14
  } from "./chunk-6YZEZFX5.js";
15
15
  import {
16
16
  ProviderRegistry
17
- } from "./chunk-PIX4ZPFB.js";
17
+ } from "./chunk-AVVT7ZZT.js";
18
18
  import {
19
19
  ConfigManager
20
- } from "./chunk-N6QFHXSF.js";
20
+ } from "./chunk-C3EFGIJY.js";
21
21
  import "./chunk-E2W2MI6H.js";
22
22
  import "./chunk-TU3L3PW7.js";
23
23
  import "./chunk-BMLQPSHP.js";
24
24
  import {
25
25
  VERSION
26
- } from "./chunk-CVWR3VYH.js";
26
+ } from "./chunk-NFA6OCYA.js";
27
27
 
28
28
  // src/cli/pr.ts
29
29
  import { execFileSync } from "child_process";
@@ -2,9 +2,9 @@ import {
2
2
  executeTests,
3
3
  runTestProcess,
4
4
  runTestsTool
5
- } from "./chunk-TJFHBYQ3.js";
5
+ } from "./chunk-C2625RDR.js";
6
6
  import "./chunk-QMFMST2T.js";
7
- import "./chunk-GCYH5WOZ.js";
7
+ import "./chunk-I7J7E7OB.js";
8
8
  export {
9
9
  executeTests,
10
10
  runTestProcess,
@@ -3,8 +3,8 @@ import {
3
3
  executeTests,
4
4
  runTestProcess,
5
5
  runTestsTool
6
- } from "./chunk-KS6RNA4E.js";
7
- import "./chunk-CVWR3VYH.js";
6
+ } from "./chunk-NW3X6KQR.js";
7
+ import "./chunk-NFA6OCYA.js";
8
8
  import "./chunk-SXIJLSVF.js";
9
9
  export {
10
10
  executeTests,
@@ -86,7 +86,7 @@ import {
86
86
  skillHistoryNote,
87
87
  snapshotFile,
88
88
  stripRoutingTags
89
- } from "./chunk-C52FQ3ZE.js";
89
+ } from "./chunk-RE72FGOG.js";
90
90
  import {
91
91
  CNY_PER_USD,
92
92
  CostTracker,
@@ -95,7 +95,7 @@ import {
95
95
  getCostCurrency,
96
96
  getPricing,
97
97
  setCostCurrency
98
- } from "./chunk-NFPJ6KUU.js";
98
+ } from "./chunk-BRZZ3QAI.js";
99
99
  import {
100
100
  DEFAULT_MAX_TOOL_OUTPUT_CHARS,
101
101
  ToolExecutor,
@@ -130,7 +130,7 @@ import {
130
130
  spawnAgentContext,
131
131
  truncateOutput,
132
132
  undoStack
133
- } from "./chunk-GVVYQJYF.js";
133
+ } from "./chunk-YHTEI5KL.js";
134
134
  import {
135
135
  buildReviewPrompt,
136
136
  buildSecurityReviewPrompt
@@ -157,7 +157,7 @@ import {
157
157
  restoreMemoryEntries,
158
158
  updateMemoryApproval,
159
159
  updateMemoryEntry
160
- } from "./chunk-NI7YIDLF.js";
160
+ } from "./chunk-URTVV3CB.js";
161
161
  import "./chunk-RWRZVQCB.js";
162
162
  import "./chunk-B3MPYI4E.js";
163
163
  import "./chunk-M6HLYG33.js";
@@ -176,7 +176,7 @@ import {
176
176
  buildDoctorReport,
177
177
  formatDoctorReport,
178
178
  loadContextFiles
179
- } from "./chunk-5BS2NVSB.js";
179
+ } from "./chunk-L3KXGINR.js";
180
180
  import {
181
181
  describePlugin,
182
182
  getActivePluginAssets,
@@ -191,14 +191,14 @@ import {
191
191
  runTool,
192
192
  setPluginEnabled,
193
193
  trustPlugin
194
- } from "./chunk-WDD76ALZ.js";
194
+ } from "./chunk-ZAZUWQBG.js";
195
195
  import "./chunk-RS7SKYTS.js";
196
196
  import {
197
197
  ProviderRegistry
198
- } from "./chunk-PIX4ZPFB.js";
198
+ } from "./chunk-AVVT7ZZT.js";
199
199
  import {
200
200
  ConfigManager
201
- } from "./chunk-N6QFHXSF.js";
201
+ } from "./chunk-C3EFGIJY.js";
202
202
  import {
203
203
  CONTENT_ONLY_STREAM_REMINDER,
204
204
  TEE_FINAL_USER_NUDGE,
@@ -231,7 +231,7 @@ import {
231
231
  import {
232
232
  assertReadablePath
233
233
  } from "./chunk-JJFJWD35.js";
234
- import "./chunk-KS6RNA4E.js";
234
+ import "./chunk-NW3X6KQR.js";
235
235
  import {
236
236
  AGENTIC_BEHAVIOR_GUIDELINE,
237
237
  AUTHOR,
@@ -247,7 +247,7 @@ import {
247
247
  SKILLS_DIR_NAME,
248
248
  VERSION,
249
249
  buildUserIdentityPrompt
250
- } from "./chunk-CVWR3VYH.js";
250
+ } from "./chunk-NFA6OCYA.js";
251
251
  import {
252
252
  runWithExecutionContext,
253
253
  runWithSessionKey
@@ -865,7 +865,8 @@ async function handleThink(args, ctx) {
865
865
  configuredThinking: modelParams?.thinking,
866
866
  configuredEffort: modelParams?.thinkingEffort,
867
867
  supportsEffort: ctx.providers.has(ctx.currentProvider) ? ctx.providers.get(ctx.currentProvider).supportsReasoningEffort : false,
868
- provider: ctx.currentProvider
868
+ provider: ctx.currentProvider,
869
+ alwaysThinks: ctx.providers.has(ctx.currentProvider) && ctx.providers.get(ctx.currentProvider).canDisableThinking?.(ctx.currentModel) === false
869
870
  });
870
871
  if (outcome.changed) {
871
872
  ctx.runtimeThinking = outcome.runtimeThinking;
@@ -978,7 +979,7 @@ Cache: write=${cacheCreate} read=${cacheRead}` : "";
978
979
  Cost: ${formatCost(cost)}` : "";
979
980
  let memoryLine = "";
980
981
  try {
981
- const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-S2QLVL43.js");
982
+ const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-EWDVXYTZ.js");
982
983
  const pending = countPendingMemories2(ctx.config.getConfigDir());
983
984
  if (pending > 0) memoryLine = `
984
985
  Memory: \u26A0 ${pending} pending approval \u2014 see the Memory panel or /memory`;
@@ -1907,7 +1908,7 @@ async function handleTest(args, ctx) {
1907
1908
  const isCommand = argStr.includes(" ") || /^(mvn|gradle|npm|pytest|cargo|go)\b/.test(argStr);
1908
1909
  testArgs = isCommand ? { command: argStr } : { filter: argStr };
1909
1910
  }
1910
- const runTests = ctx.runTests ?? (await import("./run-tests-W773M3KK.js")).executeTests;
1911
+ const runTests = ctx.runTests ?? (await import("./run-tests-WUN5OEU5.js")).executeTests;
1911
1912
  const report = await runTests(testArgs);
1912
1913
  ctx.send({ type: "info", message: report });
1913
1914
  } catch (err) {
@@ -2183,7 +2184,7 @@ async function handleMemory(args, ctx) {
2183
2184
  }
2184
2185
  if (intent.kind === "status") {
2185
2186
  const { getChatIndexStatus } = await import("./chat-index-7CLR4CBG.js");
2186
- const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-S2QLVL43.js");
2187
+ const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-EWDVXYTZ.js");
2187
2188
  const memories = listMemoryEntries2(configDir, { includeExpired: true, includeRejected: true });
2188
2189
  const injected = formatMemoryForPrompt2(configDir, process.cwd(), ctx.config.get("memory")?.maxChars);
2189
2190
  const view = buildMemoryStatusView({
@@ -2206,7 +2207,7 @@ async function handleMemory(args, ctx) {
2206
2207
  return;
2207
2208
  }
2208
2209
  if (intent.kind === "recall") {
2209
- const { searchPersistentMemories, touchMemoryReferences } = await import("./persistent-memory-S2QLVL43.js");
2210
+ const { searchPersistentMemories, touchMemoryReferences } = await import("./persistent-memory-EWDVXYTZ.js");
2210
2211
  const { searchChatMemory } = await import("./chat-index-7CLR4CBG.js");
2211
2212
  const persistentHits = searchPersistentMemories(configDir, intent.query, process.cwd(), 3);
2212
2213
  if (persistentHits.length > 0) {
@@ -2327,7 +2328,7 @@ async function handleMemory(args, ctx) {
2327
2328
  ctx.handleMemoryManage(intent.action, args[1], intent.action === "expire" ? args[2] : void 0);
2328
2329
  } else if (intent.kind === "export") {
2329
2330
  if (args[1] === "md") {
2330
- const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-S2QLVL43.js");
2331
+ const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-EWDVXYTZ.js");
2331
2332
  ctx.send({
2332
2333
  type: "export_data",
2333
2334
  format: "md",
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ToolRegistry
4
- } from "./chunk-GVVYQJYF.js";
4
+ } from "./chunk-YHTEI5KL.js";
5
5
  import "./chunk-6JHACXB3.js";
6
- import "./chunk-NI7YIDLF.js";
6
+ import "./chunk-URTVV3CB.js";
7
7
  import "./chunk-RWRZVQCB.js";
8
8
  import "./chunk-B3MPYI4E.js";
9
9
  import "./chunk-M6HLYG33.js";
@@ -14,7 +14,7 @@ import "./chunk-JL44HGZC.js";
14
14
  import "./chunk-3FEZSLGI.js";
15
15
  import {
16
16
  runTool
17
- } from "./chunk-WDD76ALZ.js";
17
+ } from "./chunk-ZAZUWQBG.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-BMLQPSHP.js";
26
26
  import "./chunk-JJFJWD35.js";
27
- import "./chunk-KS6RNA4E.js";
27
+ import "./chunk-NW3X6KQR.js";
28
28
  import {
29
29
  VERSION
30
- } from "./chunk-CVWR3VYH.js";
30
+ } from "./chunk-NFA6OCYA.js";
31
31
  import "./chunk-SXIJLSVF.js";
32
32
 
33
33
  // src/mcp/server.ts
@@ -4,9 +4,9 @@ import {
4
4
  googleSearchContext,
5
5
  isToolCapableProvider,
6
6
  truncateOutput
7
- } from "./chunk-GVVYQJYF.js";
7
+ } from "./chunk-YHTEI5KL.js";
8
8
  import "./chunk-6JHACXB3.js";
9
- import "./chunk-NI7YIDLF.js";
9
+ import "./chunk-URTVV3CB.js";
10
10
  import "./chunk-RWRZVQCB.js";
11
11
  import "./chunk-B3MPYI4E.js";
12
12
  import "./chunk-M6HLYG33.js";
@@ -17,7 +17,7 @@ import "./chunk-JL44HGZC.js";
17
17
  import "./chunk-3FEZSLGI.js";
18
18
  import {
19
19
  runTool
20
- } from "./chunk-WDD76ALZ.js";
20
+ } from "./chunk-ZAZUWQBG.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-BMLQPSHP.js";
31
31
  import "./chunk-JJFJWD35.js";
32
- import "./chunk-KS6RNA4E.js";
32
+ import "./chunk-NW3X6KQR.js";
33
33
  import {
34
34
  SUBAGENT_ALLOWED_TOOLS
35
- } from "./chunk-CVWR3VYH.js";
35
+ } from "./chunk-NFA6OCYA.js";
36
36
  import "./chunk-SXIJLSVF.js";
37
37
 
38
38
  // src/hub/task-orchestrator.ts
@@ -5,14 +5,14 @@ import {
5
5
  formatCost,
6
6
  getPricing,
7
7
  setCostCurrency
8
- } from "./chunk-NFPJ6KUU.js";
8
+ } from "./chunk-BRZZ3QAI.js";
9
9
  import "./chunk-RS7SKYTS.js";
10
10
  import {
11
11
  ConfigManager
12
- } from "./chunk-N6QFHXSF.js";
12
+ } from "./chunk-C3EFGIJY.js";
13
13
  import "./chunk-TU3L3PW7.js";
14
14
  import "./chunk-BMLQPSHP.js";
15
- import "./chunk-CVWR3VYH.js";
15
+ import "./chunk-NFA6OCYA.js";
16
16
 
17
17
  // src/cli/usage.ts
18
18
  function classifyRowCost(row) {
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jinzd-ai-cli",
3
- "version": "0.4.325",
3
+ "version": "0.4.327",
4
4
  "description": "Cross-platform REPL-style AI CLI with multi-provider support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -89,12 +89,12 @@
89
89
  "homepage": "https://github.com/jinzhengdong/ai-cli#readme",
90
90
  "license": "MIT",
91
91
  "dependencies": {
92
- "@anthropic-ai/sdk": "^0.39.0",
92
+ "@anthropic-ai/sdk": "^0.131.0",
93
93
  "@google/generative-ai": "^0.24.0",
94
94
  "@huggingface/transformers": "^4.2.0",
95
95
  "@inquirer/prompts": "^7.0.0",
96
- "chalk": "^5.4.1",
97
- "commander": "^13.0.0",
96
+ "chalk": "^6.0.1",
97
+ "commander": "^15.0.0",
98
98
  "dompurify": "^3.4.15",
99
99
  "express": "^5.2.1",
100
100
  "openai": "^4.77.0",
@@ -106,29 +106,29 @@
106
106
  "tree-sitter-rust": "^0.24.0",
107
107
  "tree-sitter-typescript": "^0.23.2",
108
108
  "undici": "^7.29.0",
109
- "uuid": "^14.0.0",
110
- "web-tree-sitter": "^0.26.8",
111
- "ws": "^8.21.1",
109
+ "uuid": "^14.0.2",
110
+ "web-tree-sitter": "^0.27.0",
111
+ "ws": "^8.22.0",
112
112
  "zod": "^3.24.1"
113
113
  },
114
114
  "devDependencies": {
115
- "@cyclonedx/cyclonedx-npm": "6.0.0",
116
- "@playwright/test": "^1.60.0",
115
+ "@cyclonedx/cyclonedx-npm": "6.0.1",
116
+ "@playwright/test": "^1.63.0",
117
117
  "@types/express": "^5.0.6",
118
118
  "@types/node": "^22.10.0",
119
119
  "@types/uuid": "^10.0.0",
120
120
  "@types/ws": "^8.18.1",
121
- "@typescript-eslint/eslint-plugin": "^8.13.0",
122
- "@typescript-eslint/parser": "^8.13.0",
123
- "@vitest/coverage-v8": "^4.1.11",
124
- "@yao-pkg/pkg": "^6.22.0",
121
+ "@typescript-eslint/eslint-plugin": "^8.71.0",
122
+ "@typescript-eslint/parser": "^8.71.0",
123
+ "@vitest/coverage-v8": "^5.0.3",
124
+ "@yao-pkg/pkg": "^6.23.0",
125
125
  "electron": "^41.10.4",
126
126
  "electron-builder": "^26.15.3",
127
- "eslint": "^9.13.0",
127
+ "eslint": "^10.12.0",
128
128
  "tsup": "^8.3.5",
129
129
  "tsx": "^4.23.15",
130
130
  "typescript": "^5.7.3",
131
- "vitest": "^4.1.11"
131
+ "vitest": "^5.0.3"
132
132
  },
133
133
  "overrides": {
134
134
  "adm-zip": "0.6.1",