jinzd-ai-cli 0.4.276 → 0.4.277

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 (36) hide show
  1. package/dist/{batch-F7SKIBI3.js → batch-2I5TPZA2.js} +2 -2
  2. package/dist/{chunk-OMBKLWLJ.js → chunk-3VFOXEIL.js} +1 -1
  3. package/dist/{chunk-GLSR2NR3.js → chunk-4DEMGCK4.js} +4 -3
  4. package/dist/{chunk-KWSGSSWN.js → chunk-7BO5H2QI.js} +1 -1
  5. package/dist/{chunk-WYDP2WEQ.js → chunk-7IPMONKZ.js} +4 -4
  6. package/dist/{chunk-4NH4Q7QK.js → chunk-7YYUITED.js} +1 -1
  7. package/dist/{chunk-ATD2Y3PB.js → chunk-BYNNKJUC.js} +1 -1
  8. package/dist/{chunk-NXAHXWPF.js → chunk-HCF442WL.js} +1 -1
  9. package/dist/{chunk-MCKUGWOY.js → chunk-HJVKCOAG.js} +3 -3
  10. package/dist/{chunk-MXPUOF5K.js → chunk-I3PYD2YN.js} +4 -4
  11. package/dist/{chunk-NXNXWM6H.js → chunk-KIGKL3PZ.js} +16 -7
  12. package/dist/{chunk-VF7DMSKF.js → chunk-OCOGYIRY.js} +1 -1
  13. package/dist/{chunk-QCG6UU2S.js → chunk-PPIISCFN.js} +4 -3
  14. package/dist/{chunk-4KTK2OYU.js → chunk-UGY5SVNX.js} +46 -20
  15. package/dist/{chunk-AOISQVXS.js → chunk-UWQCTTP4.js} +1 -1
  16. package/dist/{chunk-UNL7NR55.js → chunk-Z752LDYF.js} +1 -1
  17. package/dist/{chunk-FLDYAXJR.js → chunk-ZP3RCZKM.js} +1 -1
  18. package/dist/{ci-VURFRMWQ.js → ci-JFC45LIS.js} +5 -5
  19. package/dist/{ci-format-AFJJIURF.js → ci-format-P3LIZHUR.js} +2 -2
  20. package/dist/{constants-WO7ERENL.js → constants-N3CHKZJY.js} +1 -1
  21. package/dist/{doctor-cli-BGGILTHE.js → doctor-cli-Z3TGHTSX.js} +5 -5
  22. package/dist/electron-server.js +77 -35
  23. package/dist/{hub-Z73RLNJI.js → hub-NEWIFMQ3.js} +1 -1
  24. package/dist/index.js +44 -45
  25. package/dist/{indexer-M2LJGTY2.js → indexer-RBEKMFT4.js} +1 -1
  26. package/dist/{indexer-VZETNE4H.js → indexer-TNDWGFRI.js} +1 -1
  27. package/dist/{persistent-memory-5QMARQJF.js → persistent-memory-6Q5FDFJ7.js} +2 -2
  28. package/dist/{persistent-memory-CI544RLT.js → persistent-memory-ZFR5GI7D.js} +2 -2
  29. package/dist/{pr-24REDMGV.js → pr-ZUGSWQ5R.js} +5 -5
  30. package/dist/{run-tests-JJ3KOY5E.js → run-tests-76M6AC3G.js} +2 -2
  31. package/dist/{run-tests-72VNZXNT.js → run-tests-USV7IJ7X.js} +2 -2
  32. package/dist/{server-JMXC2N3F.js → server-C523CIGN.js} +30 -19
  33. package/dist/{server-QJHCJDA7.js → server-R7D5RR36.js} +6 -6
  34. package/dist/{task-orchestrator-DJN36HP5.js → task-orchestrator-G2MQDNGQ.js} +8 -8
  35. package/dist/{usage-HXJVDETY.js → usage-EFHXXMYX.js} +2 -2
  36. package/package.json +1 -1
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  countSeverity,
4
4
  runCi
5
- } from "./chunk-MXPUOF5K.js";
6
- import "./chunk-NXAHXWPF.js";
5
+ } from "./chunk-I3PYD2YN.js";
6
+ import "./chunk-HCF442WL.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-4KTK2OYU.js";
17
+ } from "./chunk-UGY5SVNX.js";
18
18
  import {
19
19
  ConfigManager
20
- } from "./chunk-VF7DMSKF.js";
20
+ } from "./chunk-OCOGYIRY.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-FLDYAXJR.js";
26
+ } from "./chunk-ZP3RCZKM.js";
27
27
 
28
28
  // src/cli/pr.ts
29
29
  import { execFileSync } from "child_process";
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  executeTests,
4
4
  runTestsTool
5
- } from "./chunk-OMBKLWLJ.js";
6
- import "./chunk-FLDYAXJR.js";
5
+ } from "./chunk-3VFOXEIL.js";
6
+ import "./chunk-ZP3RCZKM.js";
7
7
  export {
8
8
  executeTests,
9
9
  runTestsTool
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  executeTests,
3
3
  runTestsTool
4
- } from "./chunk-ATD2Y3PB.js";
5
- import "./chunk-UNL7NR55.js";
4
+ } from "./chunk-BYNNKJUC.js";
5
+ import "./chunk-Z752LDYF.js";
6
6
  export {
7
7
  executeTests,
8
8
  runTestsTool
@@ -37,7 +37,7 @@ import {
37
37
  setupProxy,
38
38
  snapshotFile,
39
39
  stripRoutingTags
40
- } from "./chunk-MCKUGWOY.js";
40
+ } from "./chunk-HJVKCOAG.js";
41
41
  import {
42
42
  CNY_PER_USD,
43
43
  CostTracker,
@@ -63,6 +63,7 @@ import {
63
63
  getRecentlyDeniedAutoActions,
64
64
  googleSearchContext,
65
65
  groupCallsByPhase,
66
+ isToolCapableProvider,
66
67
  listAgentConfigs,
67
68
  listAgentRuns,
68
69
  recordRecentlyDeniedAutoAction,
@@ -78,7 +79,7 @@ import {
78
79
  spawnAgentContext,
79
80
  truncateOutput,
80
81
  undoStack
81
- } from "./chunk-NXNXWM6H.js";
82
+ } from "./chunk-KIGKL3PZ.js";
82
83
  import {
83
84
  buildReviewPrompt,
84
85
  buildSecurityReviewPrompt
@@ -105,8 +106,8 @@ import {
105
106
  restoreMemoryEntries,
106
107
  updateMemoryApproval,
107
108
  updateMemoryEntry
108
- } from "./chunk-KWSGSSWN.js";
109
- import "./chunk-GLSR2NR3.js";
109
+ } from "./chunk-7BO5H2QI.js";
110
+ import "./chunk-4DEMGCK4.js";
110
111
  import "./chunk-UUSRWSSX.js";
111
112
  import "./chunk-CKH4KQ4E.js";
112
113
  import "./chunk-BXP6YZ2P.js";
@@ -124,7 +125,7 @@ import {
124
125
  buildDoctorReport,
125
126
  formatDoctorReport,
126
127
  loadContextFiles
127
- } from "./chunk-WYDP2WEQ.js";
128
+ } from "./chunk-7IPMONKZ.js";
128
129
  import {
129
130
  describePlugin,
130
131
  getActivePluginAssets,
@@ -139,13 +140,13 @@ import {
139
140
  runTool,
140
141
  setPluginEnabled,
141
142
  trustPlugin
142
- } from "./chunk-AOISQVXS.js";
143
+ } from "./chunk-UWQCTTP4.js";
143
144
  import {
144
145
  ProviderRegistry
145
- } from "./chunk-4KTK2OYU.js";
146
+ } from "./chunk-UGY5SVNX.js";
146
147
  import {
147
148
  ConfigManager
148
- } from "./chunk-VF7DMSKF.js";
149
+ } from "./chunk-OCOGYIRY.js";
149
150
  import {
150
151
  CONTENT_ONLY_STREAM_REMINDER,
151
152
  TEE_FINAL_USER_NUDGE,
@@ -175,7 +176,7 @@ import {
175
176
  maskConfigSecrets
176
177
  } from "./chunk-XNFIYS7G.js";
177
178
  import "./chunk-4BKXL7SM.js";
178
- import "./chunk-OMBKLWLJ.js";
179
+ import "./chunk-3VFOXEIL.js";
179
180
  import {
180
181
  AGENTIC_BEHAVIOR_GUIDELINE,
181
182
  AUTHOR,
@@ -191,7 +192,7 @@ import {
191
192
  SKILLS_DIR_NAME,
192
193
  VERSION,
193
194
  buildUserIdentityPrompt
194
- } from "./chunk-FLDYAXJR.js";
195
+ } from "./chunk-ZP3RCZKM.js";
195
196
 
196
197
  // src/web/server.ts
197
198
  import express from "express";
@@ -862,7 +863,7 @@ Cache: write=${cacheCreate} read=${cacheRead}` : "";
862
863
  Cost: ${formatCost(cost)}` : "";
863
864
  let memoryLine = "";
864
865
  try {
865
- const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-5QMARQJF.js");
866
+ const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-6Q5FDFJ7.js");
866
867
  const pending = countPendingMemories2(ctx.config.getConfigDir());
867
868
  if (pending > 0) memoryLine = `
868
869
  Memory: \u26A0 ${pending} pending approval \u2014 see the Memory panel or /memory`;
@@ -1675,7 +1676,7 @@ async function handleTest(args, ctx) {
1675
1676
  const isCommand = argStr.includes(" ") || /^(mvn|gradle|npm|pytest|cargo|go)\b/.test(argStr);
1676
1677
  testArgs = isCommand ? { command: argStr } : { filter: argStr };
1677
1678
  }
1678
- const runTests = ctx.runTests ?? (await import("./run-tests-JJ3KOY5E.js")).executeTests;
1679
+ const runTests = ctx.runTests ?? (await import("./run-tests-76M6AC3G.js")).executeTests;
1679
1680
  const report = await runTests(testArgs);
1680
1681
  ctx.send({ type: "info", message: report });
1681
1682
  } catch (err) {
@@ -1853,7 +1854,7 @@ async function handleIndex(args, ctx) {
1853
1854
  const sub = (args[0] ?? "status").toLowerCase();
1854
1855
  const root = process.cwd();
1855
1856
  const { loadIndex, clearIndex } = await import("./store-MWNHVGJT.js");
1856
- const { indexProject } = await import("./indexer-VZETNE4H.js");
1857
+ const { indexProject } = await import("./indexer-TNDWGFRI.js");
1857
1858
  const { loadVectorStore, clearVectorStore } = await import("./vector-store-BBDXB5IQ.js");
1858
1859
  if (sub === "status") {
1859
1860
  const idx = loadIndex(root);
@@ -2011,7 +2012,7 @@ async function handleMemory(args, ctx) {
2011
2012
  ctx.handleMemoryManage(sub, args[1], sub === "expire" ? args[2] : void 0);
2012
2013
  } else if (sub === "export") {
2013
2014
  if (args[1] === "md") {
2014
- const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-5QMARQJF.js");
2015
+ const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-6Q5FDFJ7.js");
2015
2016
  ctx.send({
2016
2017
  type: "export_data",
2017
2018
  format: "md",
@@ -2583,9 +2584,19 @@ var SessionHandler = class {
2583
2584
  }
2584
2585
  runLifecycleHooks(hooks, "SessionStart", { source: "web" }, { configDir: this.config.getConfigDir() });
2585
2586
  this.sendStatus();
2586
- askUserContext.rl = null;
2587
+ askUserContext.rl = void 0;
2587
2588
  askUserContext.prompting = false;
2588
2589
  }
2590
+ /**
2591
+ * P3-03:本方法与 `WebCommandContext` 列出的其余 36 个成员一并由 private 放开为
2592
+ * public——它们本就经由 ctx 门面暴露给每一个 web 命令 handler,`private` 只是名义上的。
2593
+ *
2594
+ * `web-command-context.ts` 的文件注释明明白白写着「`ctx: WebCommandContext = this`
2595
+ * 这个赋值保证 handler 只能碰到这些成员」,而 `handleCommand` 实际写的是
2596
+ * `this as unknown as WebCommandContext`——那道保证被这一次 cast 整个绕过了,
2597
+ * 唯一拦着真赋值的就是这些名义上的 private。去掉 cast 之后,SessionHandler 与门面
2598
+ * 接口之间的任何漂移(少一个成员、签名改了)都会当场编译失败,而不是等到运行时。
2599
+ */
2589
2600
  send(msg) {
2590
2601
  if (this.ws.readyState === this.ws.OPEN) {
2591
2602
  this.ws.send(JSON.stringify(msg));
@@ -2954,10 +2965,10 @@ var SessionHandler = class {
2954
2965
  this.processing = false;
2955
2966
  return;
2956
2967
  }
2957
- const hasToolSupport = typeof provider.chatWithTools === "function";
2958
- const { toolDefs, mcpBudgetNote } = hasToolSupport ? this.getFilteredToolDefs() : { toolDefs: [], mcpBudgetNote: null };
2959
- if (hasToolSupport && toolDefs.length > 0) {
2960
- await this.handleChatWithTools(provider, session.messages, toolDefs, mcpBudgetNote, routingDecision.model);
2968
+ const toolCapable = isToolCapableProvider(provider) ? provider : null;
2969
+ const { toolDefs, mcpBudgetNote } = toolCapable ? this.getFilteredToolDefs() : { toolDefs: [], mcpBudgetNote: null };
2970
+ if (toolCapable && toolDefs.length > 0) {
2971
+ await this.handleChatWithTools(toolCapable, session.messages, toolDefs, mcpBudgetNote, routingDecision.model);
2961
2972
  } else {
2962
2973
  await this.handleChatSimple(provider, session.messages, routingDecision.model);
2963
2974
  }
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ToolRegistry
4
- } from "./chunk-NXNXWM6H.js";
4
+ } from "./chunk-KIGKL3PZ.js";
5
5
  import "./chunk-GHWZVPUV.js";
6
- import "./chunk-KWSGSSWN.js";
7
- import "./chunk-GLSR2NR3.js";
6
+ import "./chunk-7BO5H2QI.js";
7
+ import "./chunk-4DEMGCK4.js";
8
8
  import "./chunk-UUSRWSSX.js";
9
9
  import "./chunk-CKH4KQ4E.js";
10
10
  import "./chunk-BXP6YZ2P.js";
@@ -14,7 +14,7 @@ import "./chunk-NYNSYLFY.js";
14
14
  import "./chunk-3FEZSLGI.js";
15
15
  import {
16
16
  runTool
17
- } from "./chunk-AOISQVXS.js";
17
+ } from "./chunk-UWQCTTP4.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-OMBKLWLJ.js";
26
+ import "./chunk-3VFOXEIL.js";
27
27
  import {
28
28
  VERSION
29
- } from "./chunk-FLDYAXJR.js";
29
+ } from "./chunk-ZP3RCZKM.js";
30
30
 
31
31
  // src/mcp/server.ts
32
32
  import { createInterface } from "readline";
@@ -2,11 +2,12 @@
2
2
  import {
3
3
  ToolRegistry,
4
4
  googleSearchContext,
5
+ isToolCapableProvider,
5
6
  truncateOutput
6
- } from "./chunk-NXNXWM6H.js";
7
+ } from "./chunk-KIGKL3PZ.js";
7
8
  import "./chunk-GHWZVPUV.js";
8
- import "./chunk-KWSGSSWN.js";
9
- import "./chunk-GLSR2NR3.js";
9
+ import "./chunk-7BO5H2QI.js";
10
+ import "./chunk-4DEMGCK4.js";
10
11
  import "./chunk-UUSRWSSX.js";
11
12
  import "./chunk-CKH4KQ4E.js";
12
13
  import "./chunk-BXP6YZ2P.js";
@@ -16,7 +17,7 @@ import "./chunk-NYNSYLFY.js";
16
17
  import "./chunk-3FEZSLGI.js";
17
18
  import {
18
19
  runTool
19
- } from "./chunk-AOISQVXS.js";
20
+ } from "./chunk-UWQCTTP4.js";
20
21
  import {
21
22
  getDangerLevel,
22
23
  runLeanAgentLoop
@@ -27,10 +28,10 @@ import {
27
28
  atomicWriteFileSync
28
29
  } from "./chunk-IW3Q7AE5.js";
29
30
  import "./chunk-4BKXL7SM.js";
30
- import "./chunk-OMBKLWLJ.js";
31
+ import "./chunk-3VFOXEIL.js";
31
32
  import {
32
33
  SUBAGENT_ALLOWED_TOOLS
33
- } from "./chunk-FLDYAXJR.js";
34
+ } from "./chunk-ZP3RCZKM.js";
34
35
 
35
36
  // src/hub/task-orchestrator.ts
36
37
  import { createInterface } from "readline";
@@ -193,8 +194,7 @@ var TaskToolExecutor = class {
193
194
  // src/hub/task-orchestrator.ts
194
195
  var TASK_STATE_FILE = ".aicli-task.json";
195
196
  function asToolCapable(p) {
196
- const maybe = p;
197
- if (typeof maybe.chatWithTools !== "function") {
197
+ if (!isToolCapableProvider(p)) {
198
198
  throw new Error(
199
199
  `Provider '${p.info?.id ?? "unknown"}' does not support tool calls. Hub task orchestration requires a tool-capable provider (e.g. claude, openai, deepseek).`
200
200
  );
@@ -8,10 +8,10 @@ import {
8
8
  } from "./chunk-DPTEC6AQ.js";
9
9
  import {
10
10
  ConfigManager
11
- } from "./chunk-VF7DMSKF.js";
11
+ } from "./chunk-OCOGYIRY.js";
12
12
  import "./chunk-TU3L3PW7.js";
13
13
  import "./chunk-IW3Q7AE5.js";
14
- import "./chunk-FLDYAXJR.js";
14
+ import "./chunk-ZP3RCZKM.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.276",
3
+ "version": "0.4.277",
4
4
  "description": "Cross-platform REPL-style AI CLI with multi-provider support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",