jinzd-ai-cli 0.4.188 → 0.4.189

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.
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ConfigManager
4
- } from "./chunk-Q7SB3R25.js";
4
+ } from "./chunk-NBZ443LN.js";
5
5
  import "./chunk-TZQHYZKT.js";
6
- import "./chunk-UK6E2563.js";
6
+ import "./chunk-RFXZQBU4.js";
7
7
  import "./chunk-PDX44BCA.js";
8
8
 
9
9
  // src/cli/batch.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CONFIG_DIR_NAME
4
- } from "./chunk-UK6E2563.js";
4
+ } from "./chunk-RFXZQBU4.js";
5
5
 
6
6
  // src/diagnostics/tool-stats.ts
7
7
  import { existsSync, readFileSync, writeFileSync, mkdirSync, renameSync } from "fs";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  TEST_TIMEOUT
4
- } from "./chunk-UK6E2563.js";
4
+ } from "./chunk-RFXZQBU4.js";
5
5
 
6
6
  // src/tools/builtin/run-tests.ts
7
7
  import { execSync, spawnSync } from "child_process";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  CONFIG_DIR_NAME,
4
4
  VERSION
5
- } from "./chunk-UK6E2563.js";
5
+ } from "./chunk-RFXZQBU4.js";
6
6
 
7
7
  // src/diagnostics/crash-log.ts
8
8
  import {
@@ -8,7 +8,7 @@ import {
8
8
  CONFIG_FILE_NAME,
9
9
  HISTORY_DIR_NAME,
10
10
  PLUGINS_DIR_NAME
11
- } from "./chunk-UK6E2563.js";
11
+ } from "./chunk-RFXZQBU4.js";
12
12
 
13
13
  // src/config/config-manager.ts
14
14
  import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // src/core/constants.ts
4
- var VERSION = "0.4.188";
4
+ var VERSION = "0.4.189";
5
5
  var APP_NAME = "ai-cli";
6
6
  var CONFIG_DIR_NAME = ".aicli";
7
7
  var CONFIG_FILE_NAME = "config.json";
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-HDSKW7Q3.js";
6
6
  import {
7
7
  runTestsTool
8
- } from "./chunk-NRSAAMIF.js";
8
+ } from "./chunk-5FV2V3TB.js";
9
9
  import {
10
10
  runTool
11
- } from "./chunk-DFQSQQEU.js";
11
+ } from "./chunk-3SZ7SREY.js";
12
12
  import {
13
13
  getDangerLevel,
14
14
  isFileWriteTool
@@ -25,7 +25,7 @@ import {
25
25
  SUBAGENT_ALLOWED_TOOLS,
26
26
  SUBAGENT_DEFAULT_MAX_ROUNDS,
27
27
  SUBAGENT_MAX_ROUNDS_LIMIT
28
- } from "./chunk-UK6E2563.js";
28
+ } from "./chunk-RFXZQBU4.js";
29
29
  import {
30
30
  fileCheckpoints
31
31
  } from "./chunk-4BKXL7SM.js";
@@ -3455,6 +3455,8 @@ var webFetchTool = {
3455
3455
  redirect: "manual",
3456
3456
  // 手动控制重定向
3457
3457
  dispatcher
3458
+ // dual undici-types:`dispatcher` 字段在 undici 与 @types/node 内置的
3459
+ // undici-types 两份 RequestInit 间判不兼容,localized 转换。
3458
3460
  });
3459
3461
  if (r.status >= 300 && r.status < 400) {
3460
3462
  if (hop >= MAX_REDIRECTS) {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  truncateForPersist
4
- } from "./chunk-J3XSJCO5.js";
4
+ } from "./chunk-SH73ZVHY.js";
5
5
  import {
6
6
  APP_NAME,
7
7
  CONFIG_DIR_NAME,
@@ -11,7 +11,7 @@ import {
11
11
  MCP_PROTOCOL_VERSION,
12
12
  MCP_TOOL_PREFIX,
13
13
  VERSION
14
- } from "./chunk-UK6E2563.js";
14
+ } from "./chunk-RFXZQBU4.js";
15
15
 
16
16
  // src/mcp/client.ts
17
17
  import { spawn } from "child_process";
@@ -6,7 +6,7 @@ import { platform } from "os";
6
6
  import chalk from "chalk";
7
7
 
8
8
  // src/core/constants.ts
9
- var VERSION = "0.4.188";
9
+ var VERSION = "0.4.189";
10
10
  var APP_NAME = "ai-cli";
11
11
  var CONFIG_DIR_NAME = ".aicli";
12
12
  var CONFIG_FILE_NAME = "config.json";
@@ -10,11 +10,11 @@ import {
10
10
  import "./chunk-HIU2SH4V.js";
11
11
  import {
12
12
  ConfigManager
13
- } from "./chunk-Q7SB3R25.js";
13
+ } from "./chunk-NBZ443LN.js";
14
14
  import "./chunk-TZQHYZKT.js";
15
15
  import {
16
16
  VERSION
17
- } from "./chunk-UK6E2563.js";
17
+ } from "./chunk-RFXZQBU4.js";
18
18
  import "./chunk-PDX44BCA.js";
19
19
 
20
20
  // src/cli/ci.ts
@@ -76,7 +76,7 @@ function countSeverity(md) {
76
76
  async function runOnePrompt(registry, providerId, modelId, prompt) {
77
77
  const provider = registry.get(providerId);
78
78
  const resp = await provider.chat({
79
- messages: [{ role: "user", content: prompt }],
79
+ messages: [{ role: "user", content: prompt, timestamp: /* @__PURE__ */ new Date() }],
80
80
  model: modelId,
81
81
  stream: false,
82
82
  temperature: 0.3,
@@ -150,9 +150,16 @@ async function runCi(opts) {
150
150
  const { diff: trimmedDiff, truncated } = truncateDiff(diff, maxDiff);
151
151
  const gitCtx = buildGitContextStr(opts);
152
152
  const config = new ConfigManager();
153
- await config.load();
154
- const registry = new ProviderRegistry(config);
155
- await registry.initialize();
153
+ const registry = new ProviderRegistry();
154
+ await registry.initialize(
155
+ (id) => config.getApiKey(id),
156
+ (id) => ({
157
+ baseUrl: config.get("customBaseUrls")[id],
158
+ timeout: config.get("timeouts")[id],
159
+ proxy: config.get("proxy")
160
+ }),
161
+ config.get("customProviders")
162
+ );
156
163
  const providerId = opts.provider ?? config.getDefaultProvider();
157
164
  if (!registry.has(providerId)) {
158
165
  return {
@@ -36,7 +36,7 @@ import {
36
36
  TEST_TIMEOUT,
37
37
  VERSION,
38
38
  buildUserIdentityPrompt
39
- } from "./chunk-UK6E2563.js";
39
+ } from "./chunk-RFXZQBU4.js";
40
40
  import "./chunk-PDX44BCA.js";
41
41
  export {
42
42
  AGENTIC_BEHAVIOR_GUIDELINE,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getConfigDirUsage,
4
4
  listRecentCrashes
5
- } from "./chunk-MUQZOUV5.js";
5
+ } from "./chunk-MH3AFJGV.js";
6
6
  import {
7
7
  ProviderRegistry
8
8
  } from "./chunk-IQ7JE43O.js";
@@ -11,17 +11,17 @@ import {
11
11
  getTopFailingTools,
12
12
  getTopUsedTools,
13
13
  resetStats
14
- } from "./chunk-DFQSQQEU.js";
14
+ } from "./chunk-3SZ7SREY.js";
15
15
  import "./chunk-HIU2SH4V.js";
16
16
  import {
17
17
  ConfigManager
18
- } from "./chunk-Q7SB3R25.js";
18
+ } from "./chunk-NBZ443LN.js";
19
19
  import "./chunk-TZQHYZKT.js";
20
20
  import {
21
21
  DEV_STATE_FILE_NAME,
22
22
  MEMORY_FILE_NAME,
23
23
  VERSION
24
- } from "./chunk-UK6E2563.js";
24
+ } from "./chunk-RFXZQBU4.js";
25
25
  import "./chunk-PDX44BCA.js";
26
26
 
27
27
  // src/diagnostics/doctor-cli.ts
@@ -36,7 +36,7 @@ import {
36
36
  VERSION,
37
37
  buildUserIdentityPrompt,
38
38
  runTestsTool
39
- } from "./chunk-ODAAPNSL.js";
39
+ } from "./chunk-UTO2YO3K.js";
40
40
  import {
41
41
  hasSemanticIndex,
42
42
  semanticSearch
@@ -7985,6 +7985,8 @@ var webFetchTool = {
7985
7985
  redirect: "manual",
7986
7986
  // 手动控制重定向
7987
7987
  dispatcher
7988
+ // dual undici-types:`dispatcher` 字段在 undici 与 @types/node 内置的
7989
+ // undici-types 两份 RequestInit 间判不兼容,localized 转换。
7988
7990
  });
7989
7991
  if (r.status >= 300 && r.status < 400) {
7990
7992
  if (hop >= MAX_REDIRECTS) {
@@ -12984,9 +12986,9 @@ This fresh stream has NO tools. Produce ONLY the document body: start with a mar
12984
12986
  this.send({
12985
12987
  type: "tool_call_result",
12986
12988
  callId: call.id,
12987
- result: summary,
12988
- isError: true,
12989
- endTime: Date.now()
12989
+ toolName: call.name,
12990
+ content: summary,
12991
+ isError: true
12990
12992
  });
12991
12993
  return { content: "", summary, isError: true };
12992
12994
  }
@@ -14076,7 +14078,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
14076
14078
  case "test": {
14077
14079
  this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
14078
14080
  try {
14079
- const { executeTests } = await import("./run-tests-IJYP6BMT.js");
14081
+ const { executeTests } = await import("./run-tests-XANJLGXT.js");
14080
14082
  const argStr = args.join(" ").trim();
14081
14083
  let testArgs = {};
14082
14084
  if (argStr) {
@@ -15618,7 +15620,7 @@ async function startWebServer(options = {}) {
15618
15620
  }
15619
15621
  });
15620
15622
  app.get("/api/sessions/:id/replay", requireAuth, (req, res) => {
15621
- const id = req.params.id;
15623
+ const id = String(req.params.id);
15622
15624
  if (!/^[a-f0-9-]{36}$/i.test(id)) {
15623
15625
  res.status(400).json({ error: "Invalid session id" });
15624
15626
  return;
@@ -155,7 +155,7 @@ ${content}`);
155
155
  }
156
156
  }
157
157
  async function runTaskMode(config, providers, configManager, topic) {
158
- const { TaskOrchestrator } = await import("./task-orchestrator-GMJ5PLVV.js");
158
+ const { TaskOrchestrator } = await import("./task-orchestrator-UKU2O6IE.js");
159
159
  const orchestrator = new TaskOrchestrator(config, providers, configManager);
160
160
  let interrupted = false;
161
161
  const onSigint = () => {
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ import {
15
15
  saveDevState,
16
16
  sessionHasMeaningfulContent,
17
17
  setupProxy
18
- } from "./chunk-VPTRE7IW.js";
18
+ } from "./chunk-TEJ4HYLM.js";
19
19
  import {
20
20
  ToolExecutor,
21
21
  ToolRegistry,
@@ -34,10 +34,10 @@ import {
34
34
  spawnAgentContext,
35
35
  theme,
36
36
  undoStack
37
- } from "./chunk-J3XSJCO5.js";
37
+ } from "./chunk-SH73ZVHY.js";
38
38
  import "./chunk-HDSKW7Q3.js";
39
39
  import "./chunk-ZWVIDFGY.js";
40
- import "./chunk-NRSAAMIF.js";
40
+ import "./chunk-5FV2V3TB.js";
41
41
  import {
42
42
  SessionManager,
43
43
  getContentText
@@ -54,7 +54,7 @@ import {
54
54
  getConfigDirUsage,
55
55
  listRecentCrashes,
56
56
  writeCrashLog
57
- } from "./chunk-MUQZOUV5.js";
57
+ } from "./chunk-MH3AFJGV.js";
58
58
  import {
59
59
  CONTENT_ONLY_STREAM_REMINDER,
60
60
  ProviderRegistry,
@@ -78,11 +78,11 @@ import {
78
78
  getTopFailingTools,
79
79
  getTopUsedTools,
80
80
  installFlushOnExit
81
- } from "./chunk-DFQSQQEU.js";
81
+ } from "./chunk-3SZ7SREY.js";
82
82
  import "./chunk-HIU2SH4V.js";
83
83
  import {
84
84
  ConfigManager
85
- } from "./chunk-Q7SB3R25.js";
85
+ } from "./chunk-NBZ443LN.js";
86
86
  import {
87
87
  AuthError,
88
88
  ProviderError,
@@ -109,7 +109,7 @@ import {
109
109
  SKILLS_DIR_NAME,
110
110
  VERSION,
111
111
  buildUserIdentityPrompt
112
- } from "./chunk-UK6E2563.js";
112
+ } from "./chunk-RFXZQBU4.js";
113
113
  import {
114
114
  formatGitContextForPrompt,
115
115
  getGitContext,
@@ -1824,7 +1824,7 @@ No tools match "${filter}".
1824
1824
  const { join: join5 } = await import("path");
1825
1825
  const { existsSync: existsSync5 } = await import("fs");
1826
1826
  const { getGitRoot: getGitRoot2 } = await import("./git-context-7KIP4X2V.js");
1827
- const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-NCWVAAI7.js");
1827
+ const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-EJF3DOM5.js");
1828
1828
  const { approveProject, hashMcpFile } = await import("./project-trust-IFM7FXEV.js");
1829
1829
  const cwd = process.cwd();
1830
1830
  const projectRoot = getGitRoot2(cwd) ?? cwd;
@@ -2885,7 +2885,7 @@ ${hint}` : "")
2885
2885
  usage: "/test [command|filter]",
2886
2886
  async execute(args, ctx) {
2887
2887
  try {
2888
- const { executeTests } = await import("./run-tests-NS3SPH6S.js");
2888
+ const { executeTests } = await import("./run-tests-R7QATG6O.js");
2889
2889
  const argStr = args.join(" ").trim();
2890
2890
  let testArgs = {};
2891
2891
  if (argStr) {
@@ -7256,7 +7256,7 @@ program.command("web").description("Start Web UI server with browser-based chat
7256
7256
  console.error("Error: Invalid port number. Must be between 1 and 65535.");
7257
7257
  process.exit(1);
7258
7258
  }
7259
- const { startWebServer } = await import("./server-TZRMRT3O.js");
7259
+ const { startWebServer } = await import("./server-ULMPX3CS.js");
7260
7260
  await startWebServer({ port, host: options.host });
7261
7261
  });
7262
7262
  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) => {
@@ -7423,16 +7423,16 @@ program.command("sessions").description("List recent conversation sessions").opt
7423
7423
  console.log(footer + "\n");
7424
7424
  });
7425
7425
  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) => {
7426
- const { runUsageCli } = await import("./usage-IYMFSHDX.js");
7426
+ const { runUsageCli } = await import("./usage-4R36JZFP.js");
7427
7427
  await runUsageCli(options);
7428
7428
  });
7429
7429
  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) => {
7430
- const { runDoctorCli } = await import("./doctor-cli-R3SWTL5Z.js");
7430
+ const { runDoctorCli } = await import("./doctor-cli-WFH6DYVL.js");
7431
7431
  await runDoctorCli({ json: !!options.json, resetStats: !!options.resetStats });
7432
7432
  });
7433
7433
  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) => {
7434
7434
  try {
7435
- const batch = await import("./batch-D6K2KHJK.js");
7435
+ const batch = await import("./batch-FPPAYC6L.js");
7436
7436
  switch (action) {
7437
7437
  case "submit":
7438
7438
  if (!arg) {
@@ -7475,7 +7475,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
7475
7475
  }
7476
7476
  });
7477
7477
  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) => {
7478
- const { startMcpServer } = await import("./server-SVTSJ3PK.js");
7478
+ const { startMcpServer } = await import("./server-HYLAZODW.js");
7479
7479
  await startMcpServer({
7480
7480
  allowDestructive: !!options.allowDestructive,
7481
7481
  allowOutsideCwd: !!options.allowOutsideCwd,
@@ -7484,7 +7484,7 @@ program.command("mcp-serve").description("Start an MCP server over STDIO, exposi
7484
7484
  });
7485
7485
  });
7486
7486
  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; diff fetched via `gh pr diff <num>`", (v) => parseInt(v, 10)).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)").action(async (options) => {
7487
- const { runCi } = await import("./ci-42ZBP2SY.js");
7487
+ const { runCi } = await import("./ci-CGNVIV6U.js");
7488
7488
  const result = await runCi({
7489
7489
  pr: options.pr,
7490
7490
  base: options.base,
@@ -7630,7 +7630,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
7630
7630
  }),
7631
7631
  config.get("customProviders")
7632
7632
  );
7633
- const { startHub } = await import("./hub-3ZGIM2FN.js");
7633
+ const { startHub } = await import("./hub-LCB3RGVQ.js");
7634
7634
  await startHub(
7635
7635
  {
7636
7636
  topic: topic ?? "",
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  executeTests,
4
4
  runTestsTool
5
- } from "./chunk-NRSAAMIF.js";
6
- import "./chunk-UK6E2563.js";
5
+ } from "./chunk-5FV2V3TB.js";
6
+ import "./chunk-RFXZQBU4.js";
7
7
  import "./chunk-PDX44BCA.js";
8
8
  export {
9
9
  executeTests,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeTests,
3
3
  runTestsTool
4
- } from "./chunk-ODAAPNSL.js";
4
+ } from "./chunk-UTO2YO3K.js";
5
5
  import "./chunk-3RG5ZIWI.js";
6
6
  export {
7
7
  executeTests,
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ToolRegistry
4
- } from "./chunk-J3XSJCO5.js";
4
+ } from "./chunk-SH73ZVHY.js";
5
5
  import "./chunk-HDSKW7Q3.js";
6
6
  import "./chunk-ZWVIDFGY.js";
7
- import "./chunk-NRSAAMIF.js";
7
+ import "./chunk-5FV2V3TB.js";
8
8
  import {
9
9
  runTool
10
- } from "./chunk-DFQSQQEU.js";
10
+ } from "./chunk-3SZ7SREY.js";
11
11
  import {
12
12
  getDangerLevel,
13
13
  schemaToJsonSchema
@@ -15,7 +15,7 @@ import {
15
15
  import "./chunk-TZQHYZKT.js";
16
16
  import {
17
17
  VERSION
18
- } from "./chunk-UK6E2563.js";
18
+ } from "./chunk-RFXZQBU4.js";
19
19
  import "./chunk-4BKXL7SM.js";
20
20
  import "./chunk-4UZE4ADL.js";
21
21
  import "./chunk-KHYD3WXE.js";
@@ -19,7 +19,7 @@ import {
19
19
  loadDevState,
20
20
  persistToolRound,
21
21
  setupProxy
22
- } from "./chunk-VPTRE7IW.js";
22
+ } from "./chunk-TEJ4HYLM.js";
23
23
  import {
24
24
  ToolExecutor,
25
25
  ToolRegistry,
@@ -37,10 +37,10 @@ import {
37
37
  spawnAgentContext,
38
38
  truncateOutput,
39
39
  undoStack
40
- } from "./chunk-J3XSJCO5.js";
40
+ } from "./chunk-SH73ZVHY.js";
41
41
  import "./chunk-HDSKW7Q3.js";
42
42
  import "./chunk-ZWVIDFGY.js";
43
- import "./chunk-NRSAAMIF.js";
43
+ import "./chunk-5FV2V3TB.js";
44
44
  import {
45
45
  SessionManager,
46
46
  getContentText
@@ -65,13 +65,13 @@ import {
65
65
  } from "./chunk-IQ7JE43O.js";
66
66
  import {
67
67
  runTool
68
- } from "./chunk-DFQSQQEU.js";
68
+ } from "./chunk-3SZ7SREY.js";
69
69
  import {
70
70
  getDangerLevel
71
71
  } from "./chunk-HIU2SH4V.js";
72
72
  import {
73
73
  ConfigManager
74
- } from "./chunk-Q7SB3R25.js";
74
+ } from "./chunk-NBZ443LN.js";
75
75
  import "./chunk-TZQHYZKT.js";
76
76
  import {
77
77
  AGENTIC_BEHAVIOR_GUIDELINE,
@@ -91,7 +91,7 @@ import {
91
91
  SKILLS_DIR_NAME,
92
92
  VERSION,
93
93
  buildUserIdentityPrompt
94
- } from "./chunk-UK6E2563.js";
94
+ } from "./chunk-RFXZQBU4.js";
95
95
  import {
96
96
  formatGitContextForPrompt,
97
97
  getGitContext,
@@ -1345,9 +1345,9 @@ This fresh stream has NO tools. Produce ONLY the document body: start with a mar
1345
1345
  this.send({
1346
1346
  type: "tool_call_result",
1347
1347
  callId: call.id,
1348
- result: summary,
1349
- isError: true,
1350
- endTime: Date.now()
1348
+ toolName: call.name,
1349
+ content: summary,
1350
+ isError: true
1351
1351
  });
1352
1352
  return { content: "", summary, isError: true };
1353
1353
  }
@@ -2437,7 +2437,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
2437
2437
  case "test": {
2438
2438
  this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
2439
2439
  try {
2440
- const { executeTests } = await import("./run-tests-NS3SPH6S.js");
2440
+ const { executeTests } = await import("./run-tests-R7QATG6O.js");
2441
2441
  const argStr = args.join(" ").trim();
2442
2442
  let testArgs = {};
2443
2443
  if (argStr) {
@@ -3681,7 +3681,7 @@ async function startWebServer(options = {}) {
3681
3681
  }
3682
3682
  });
3683
3683
  app.get("/api/sessions/:id/replay", requireAuth, (req, res) => {
3684
- const id = req.params.id;
3684
+ const id = String(req.params.id);
3685
3685
  if (!/^[a-f0-9-]{36}$/i.test(id)) {
3686
3686
  res.status(400).json({ error: "Invalid session id" });
3687
3687
  return;
@@ -3,20 +3,20 @@ import {
3
3
  ToolRegistry,
4
4
  googleSearchContext,
5
5
  truncateOutput
6
- } from "./chunk-J3XSJCO5.js";
6
+ } from "./chunk-SH73ZVHY.js";
7
7
  import "./chunk-HDSKW7Q3.js";
8
8
  import "./chunk-ZWVIDFGY.js";
9
- import "./chunk-NRSAAMIF.js";
9
+ import "./chunk-5FV2V3TB.js";
10
10
  import {
11
11
  runTool
12
- } from "./chunk-DFQSQQEU.js";
12
+ } from "./chunk-3SZ7SREY.js";
13
13
  import {
14
14
  getDangerLevel
15
15
  } from "./chunk-HIU2SH4V.js";
16
16
  import "./chunk-TZQHYZKT.js";
17
17
  import {
18
18
  SUBAGENT_ALLOWED_TOOLS
19
- } from "./chunk-UK6E2563.js";
19
+ } from "./chunk-RFXZQBU4.js";
20
20
  import "./chunk-4BKXL7SM.js";
21
21
  import "./chunk-4UZE4ADL.js";
22
22
  import "./chunk-KHYD3WXE.js";
@@ -8,9 +8,9 @@ import {
8
8
  } from "./chunk-V37XOYOE.js";
9
9
  import {
10
10
  ConfigManager
11
- } from "./chunk-Q7SB3R25.js";
11
+ } from "./chunk-NBZ443LN.js";
12
12
  import "./chunk-TZQHYZKT.js";
13
- import "./chunk-UK6E2563.js";
13
+ import "./chunk-RFXZQBU4.js";
14
14
  import "./chunk-PDX44BCA.js";
15
15
 
16
16
  // src/cli/usage.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jinzd-ai-cli",
3
- "version": "0.4.188",
3
+ "version": "0.4.189",
4
4
  "description": "Cross-platform REPL-style AI CLI with multi-provider support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",