jinzd-ai-cli 0.4.142 → 0.4.143

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 (39) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +1 -1
  3. package/dist/{batch-MJUH762U.js → batch-FTCB7YHA.js} +2 -2
  4. package/dist/{chunk-G3CH252E.js → chunk-2JLVHUMU.js} +1 -1
  5. package/dist/{chunk-UXGHSFGB.js → chunk-2YEBAHAB.js} +1 -1
  6. package/dist/{chunk-3UZBSMNI.js → chunk-CSWA553M.js} +1 -1
  7. package/dist/{chunk-BJAT4GNC.js → chunk-DQ2OHJNF.js} +15 -0
  8. package/dist/{chunk-WLZJANJO.js → chunk-DX5JYNVN.js} +1 -1
  9. package/dist/{chunk-DES5NNPU.js → chunk-GDCLDXEC.js} +2 -2
  10. package/dist/{chunk-KSLJCZCE.js → chunk-IMYOBDJG.js} +1 -1
  11. package/dist/{chunk-MO7MWNWC.js → chunk-NKR53CPL.js} +1 -1
  12. package/dist/{chunk-6VRJGH25.js → chunk-OVWE4E46.js} +15 -0
  13. package/dist/{chunk-RFQVUMDB.js → chunk-SEFOKYYP.js} +276 -5
  14. package/dist/{chunk-3BICTI5M.js → chunk-UQQJWHRV.js} +1 -1
  15. package/dist/{chunk-NHNWUBXB.js → chunk-VNNYHW6N.js} +276 -5
  16. package/dist/{chunk-NSTXHD33.js → chunk-VXFBUMWG.js} +1 -1
  17. package/dist/{chunk-INPG2HXR.js → chunk-YCIJZ2XS.js} +1 -1
  18. package/dist/{chunk-Q3ZEZHSU.js → chunk-YPFCJ5KC.js} +7 -7
  19. package/dist/{constants-QDFO3IJP.js → constants-YVTEGGKB.js} +1 -1
  20. package/dist/{doctor-cli-CLKZYOOI.js → doctor-cli-EGD6OLJO.js} +5 -5
  21. package/dist/electron-server.js +9 -9
  22. package/dist/{hub-X4ISNM7B.js → hub-YNT2PVCA.js} +1 -1
  23. package/dist/index.js +30 -28
  24. package/dist/{indexer-Z6AQTGBK.js → indexer-ISSNIFQY.js} +2 -2
  25. package/dist/{indexer-XGY7XGJM.js → indexer-S6UMGQKA.js} +2 -2
  26. package/dist/{run-tests-QER6ETNZ.js → run-tests-3KUDRXXZ.js} +2 -2
  27. package/dist/{run-tests-3AYPKO5U.js → run-tests-VK2S7V3X.js} +1 -1
  28. package/dist/{semantic-FR2ZSQLY.js → semantic-IJKF5ZZC.js} +2 -2
  29. package/dist/{semantic-UFKVYKFE.js → semantic-V37U4MCW.js} +2 -2
  30. package/dist/{server-PBOIZFFD.js → server-7UH5SJSC.js} +7 -7
  31. package/dist/{server-FFPJP2GQ.js → server-KZOHU7OE.js} +14 -14
  32. package/dist/{store-Q7NMUCPP.js → store-A3TZM6PS.js} +1 -1
  33. package/dist/{store-JDEW743P.js → store-VMK543OQ.js} +1 -1
  34. package/dist/{task-orchestrator-O4FTLSHK.js → task-orchestrator-E46H7NUK.js} +7 -7
  35. package/dist/wasm/tree-sitter-cpp.wasm +0 -0
  36. package/dist/wasm/tree-sitter-go.wasm +0 -0
  37. package/dist/wasm/tree-sitter-java.wasm +0 -0
  38. package/dist/wasm/tree-sitter-rust.wasm +0 -0
  39. package/package.json +6 -2
package/dist/index.js CHANGED
@@ -16,12 +16,12 @@ import {
16
16
  saveDevState,
17
17
  sessionHasMeaningfulContent,
18
18
  setupProxy
19
- } from "./chunk-DES5NNPU.js";
19
+ } from "./chunk-GDCLDXEC.js";
20
20
  import {
21
21
  getConfigDirUsage,
22
22
  listRecentCrashes,
23
23
  writeCrashLog
24
- } from "./chunk-3UZBSMNI.js";
24
+ } from "./chunk-CSWA553M.js";
25
25
  import {
26
26
  CONTENT_ONLY_STREAM_REMINDER,
27
27
  HALLUCINATION_CORRECTION_MESSAGE,
@@ -39,10 +39,10 @@ import {
39
39
  looksLikeDocumentBody,
40
40
  stripPseudoToolCalls,
41
41
  stripToolCallReminder
42
- } from "./chunk-INPG2HXR.js";
42
+ } from "./chunk-YCIJZ2XS.js";
43
43
  import {
44
44
  ConfigManager
45
- } from "./chunk-WLZJANJO.js";
45
+ } from "./chunk-DX5JYNVN.js";
46
46
  import {
47
47
  ToolExecutor,
48
48
  ToolRegistry,
@@ -61,16 +61,16 @@ import {
61
61
  spawnAgentContext,
62
62
  theme,
63
63
  undoStack
64
- } from "./chunk-Q3ZEZHSU.js";
65
- import "./chunk-3BICTI5M.js";
64
+ } from "./chunk-YPFCJ5KC.js";
65
+ import "./chunk-UQQJWHRV.js";
66
66
  import "./chunk-2DXY7UGF.js";
67
- import "./chunk-KSLJCZCE.js";
67
+ import "./chunk-IMYOBDJG.js";
68
68
  import {
69
69
  getStatsSnapshot,
70
70
  getTopFailingTools,
71
71
  getTopUsedTools,
72
72
  installFlushOnExit
73
- } from "./chunk-G3CH252E.js";
73
+ } from "./chunk-2JLVHUMU.js";
74
74
  import "./chunk-2ZD3YTVM.js";
75
75
  import {
76
76
  AGENTIC_BEHAVIOR_GUIDELINE,
@@ -93,7 +93,7 @@ import {
93
93
  SKILLS_DIR_NAME,
94
94
  VERSION,
95
95
  buildUserIdentityPrompt
96
- } from "./chunk-NSTXHD33.js";
96
+ } from "./chunk-VXFBUMWG.js";
97
97
  import {
98
98
  formatGitContextForPrompt,
99
99
  getGitContext,
@@ -111,8 +111,8 @@ import {
111
111
  searchChatMemory
112
112
  } from "./chunk-7ZJN4KLV.js";
113
113
  import "./chunk-KHYD3WXE.js";
114
- import "./chunk-NHNWUBXB.js";
115
- import "./chunk-6VRJGH25.js";
114
+ import "./chunk-VNNYHW6N.js";
115
+ import "./chunk-OVWE4E46.js";
116
116
  import "./chunk-PDX44BCA.js";
117
117
 
118
118
  // src/index.ts
@@ -317,7 +317,7 @@ var Renderer = class {
317
317
  console.log(theme.dim(" Gemini (Google) \xB7 Zhipu (GLM) \xB7 OpenRouter \xB7 Ollama (Local, no API key)"));
318
318
  console.log(HR);
319
319
  const mcpToolCount = mcpInfo?.tools ?? 0;
320
- const toolTotal = 29 + pluginCount + mcpToolCount;
320
+ const toolTotal = 30 + pluginCount + mcpToolCount;
321
321
  const extras = [];
322
322
  if (pluginCount > 0) extras.push(`${pluginCount} plugin(s)`);
323
323
  if (mcpToolCount > 0) extras.push(`${mcpToolCount} MCP`);
@@ -332,6 +332,7 @@ var Renderer = class {
332
332
  console.log(tool("glob_files", "Match file paths by glob pattern"));
333
333
  console.log(tool("run_interactive", "Run programs requiring stdin interaction (direct spawn)"));
334
334
  console.log(tool("web_fetch", "Fetch web content (converted to Markdown)"));
335
+ console.log(tool("web_search", "Search web via Bing/Google scraping \u2014 no API key, structured {title,url,snippet} results (v0.4.135+)"));
335
336
  console.log(tool("google_search", "Google search (requires API Key + CX config)"));
336
337
  console.log(tool("save_last_response", "Save AI response to file (tee streaming to disk)"));
337
338
  console.log(tool("save_memory", "Persist important info to ~/.aicli/memory.md, auto-injected across sessions"));
@@ -347,19 +348,19 @@ var Renderer = class {
347
348
  console.log(tool("git_log", "Show commit history (oneline/full, filter by file/author)"));
348
349
  console.log(tool("git_commit", "Create a git commit (stage files, message, stage_all)"));
349
350
  console.log(tool("notebook_edit", "Edit Jupyter notebook cells (add/edit/delete/move)"));
350
- console.log(tool("find_symbol", "Locate symbol definitions via persistent tree-sitter index (TS/JS/TSX/Python)"));
351
+ console.log(tool("find_symbol", "Locate symbol definitions via persistent tree-sitter index (TS/JS/TSX/Python/Go/Rust/Java/C++)"));
351
352
  console.log(tool("get_outline", "Enumerate all top-level declarations in one source file"));
352
353
  console.log(tool("find_references", "Search indexed files for references to a symbol name"));
353
354
  console.log(tool("search_code", 'Semantic (meaning-based) code search via local embeddings \u2014 "grep by meaning", bilingual'));
354
355
  console.log(tool("recall_memory", 'Semantic recall over past chat sessions \u2014 "remember when we discussed X" across history (v0.4.89+)'));
355
356
  console.log(HR);
356
- console.log(theme.dim(" REPL Commands (44):"));
357
+ console.log(theme.dim(" REPL Commands (45):"));
357
358
  console.log(theme.dim(" /help /about /provider /model /route /clear /compact /plan"));
358
359
  console.log(theme.dim(" /session /system /context /status /search /undo /export /copy"));
359
360
  console.log(theme.dim(" /paste /cost /init /skill /tools /plugins /mcp /config"));
360
361
  console.log(theme.dim(" /checkpoint /review /security-review /security /rewind /commands"));
361
362
  console.log(theme.dim(" /test /scaffold /add-dir /memory /profile /doctor /bug /think"));
362
- console.log(theme.dim(" /diff /fork /branch /index /yolo /exit"));
363
+ console.log(theme.dim(" /diff /fork /branch /index /yolo /snapshot /exit"));
363
364
  console.log(HR);
364
365
  console.log(theme.dim(" Key Features:"));
365
366
  console.log(feat("Agentic loop (up to 200 tool-call rounds, configurable via config/CLI, final answer streamed)"));
@@ -431,7 +432,7 @@ var Renderer = class {
431
432
  console.log(feat("Conversation Branching (B2, v0.4.74+): /branch list/new/switch/delete/rename \u2014 fork the conversation at any message; Web UI replay \u{1F33F} fork-here button"));
432
433
  console.log(feat("Branch tree sidebar (B2 polish, v0.4.75+): Web UI \u{1F33F} Branches tab with tree-indented picker, click to switch, hover to rename/delete, + Fork button"));
433
434
  console.log(feat("Cross-branch ops (B3, v0.4.80+): /branch diff and /branch cherry-pick \u2014 compare branches and pick messages across forks; v0.4.81 accepts id/title/prefix"));
434
- console.log(feat("MCP Server mode (E1, v0.4.84+): aicli mcp-serve \u2014 reverse aicli into an MCP server so Claude Desktop/Cursor/any MCP client can use its 26 built-in tools (including find_symbol/search_code)"));
435
+ console.log(feat("MCP Server mode (E1, v0.4.84+): aicli mcp-serve \u2014 reverse aicli into an MCP server so Claude Desktop/Cursor/any MCP client can use its 28 built-in tools (excluding ask_user/spawn_agent which need interactive stdin)"));
435
436
  console.log(feat("Session sensitive-data redaction (v0.4.88+): unified redactor scrubs passwords/tokens/keys from every message before it hits disk; /security status and scan to audit"));
436
437
  console.log(feat('Chat memory recall (B4, v0.4.89+): "human-like long-term memory" \u2014 semantic index over all past sessions + recall_memory AI tool + /memory rebuild|refresh|status|recall, AI auto-recalls on "last time"/"\u4E0A\u6B21"'));
437
438
  console.log(feat("Web UI Memory panel (B4, v0.4.90+): \u{1F9E0} Memory sidebar tab \u2014 cross-session semantic search with \u2795 Inject-to-input (quotes hit into chat box for user-reviewed recall) and \u2197 jump-to-session"));
@@ -1122,6 +1123,7 @@ function createDefaultCommands() {
1122
1123
  ["/branch [list|new|switch|delete|rename|diff|cherry-pick]", "Conversation branches"],
1123
1124
  ["/rewind [list|<n>]", "Rewind to message N (restores files too)"],
1124
1125
  ["/export [md|json] [file]", "Export session to file"],
1126
+ ["/snapshot", "Save dev-state handoff snapshot now (auto-runs on /exit)"],
1125
1127
  ["/cost [reset|history]", "Session token usage / cost dashboard"],
1126
1128
  ["/status", "Show current status"]
1127
1129
  ]
@@ -1812,7 +1814,7 @@ No tools match "${filter}".
1812
1814
  const { join: join6 } = await import("path");
1813
1815
  const { existsSync: existsSync6 } = await import("fs");
1814
1816
  const { getGitRoot: getGitRoot2 } = await import("./git-context-7KIP4X2V.js");
1815
- const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-QDFO3IJP.js");
1817
+ const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-YVTEGGKB.js");
1816
1818
  const { approveProject, hashMcpFile } = await import("./project-trust-IFM7FXEV.js");
1817
1819
  const cwd = process.cwd();
1818
1820
  const projectRoot = getGitRoot2(cwd) ?? cwd;
@@ -2746,8 +2748,8 @@ ${hint}` : "")
2746
2748
  async execute(args, ctx) {
2747
2749
  const sub = (args[0] ?? "status").toLowerCase();
2748
2750
  const root = process.cwd();
2749
- const { loadIndex, clearIndex } = await import("./store-JDEW743P.js");
2750
- const { indexProject } = await import("./indexer-XGY7XGJM.js");
2751
+ const { loadIndex, clearIndex } = await import("./store-VMK543OQ.js");
2752
+ const { indexProject } = await import("./indexer-S6UMGQKA.js");
2751
2753
  const { loadVectorStore, clearVectorStore } = await import("./vector-store-MCQ77OOJ.js");
2752
2754
  if (sub === "status") {
2753
2755
  const idx = loadIndex(root);
@@ -2807,7 +2809,7 @@ ${hint}` : "")
2807
2809
  }
2808
2810
  console.log(theme.dim(` Building semantic index for ${idx.symbolCount} symbols\u2026`));
2809
2811
  console.log(theme.dim(" (First run downloads ~117 MB embedding model to ~/.aicli/models/)"));
2810
- const { rebuildSemanticIndex } = await import("./semantic-UFKVYKFE.js");
2812
+ const { rebuildSemanticIndex } = await import("./semantic-V37U4MCW.js");
2811
2813
  try {
2812
2814
  const stats = await rebuildSemanticIndex(root, {
2813
2815
  onProgress: (done, total) => {
@@ -2873,7 +2875,7 @@ ${hint}` : "")
2873
2875
  usage: "/test [command|filter]",
2874
2876
  async execute(args, ctx) {
2875
2877
  try {
2876
- const { executeTests } = await import("./run-tests-QER6ETNZ.js");
2878
+ const { executeTests } = await import("./run-tests-3KUDRXXZ.js");
2877
2879
  const argStr = args.join(" ").trim();
2878
2880
  let testArgs = {};
2879
2881
  if (argStr) {
@@ -5434,8 +5436,8 @@ Session '${this.resumeSessionId}' not found.
5434
5436
  }
5435
5437
  void (async () => {
5436
5438
  try {
5437
- const { indexProject } = await import("./indexer-XGY7XGJM.js");
5438
- const { loadIndex } = await import("./store-JDEW743P.js");
5439
+ const { indexProject } = await import("./indexer-S6UMGQKA.js");
5440
+ const { loadIndex } = await import("./store-VMK543OQ.js");
5439
5441
  const root = process.cwd();
5440
5442
  const existed = loadIndex(root);
5441
5443
  const { stats } = await indexProject(root);
@@ -7379,7 +7381,7 @@ program.command("web").description("Start Web UI server with browser-based chat
7379
7381
  console.error("Error: Invalid port number. Must be between 1 and 65535.");
7380
7382
  process.exit(1);
7381
7383
  }
7382
- const { startWebServer } = await import("./server-FFPJP2GQ.js");
7384
+ const { startWebServer } = await import("./server-KZOHU7OE.js");
7383
7385
  await startWebServer({ port, host: options.host });
7384
7386
  });
7385
7387
  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) => {
@@ -7546,12 +7548,12 @@ program.command("sessions").description("List recent conversation sessions").opt
7546
7548
  console.log(footer + "\n");
7547
7549
  });
7548
7550
  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) => {
7549
- const { runDoctorCli } = await import("./doctor-cli-CLKZYOOI.js");
7551
+ const { runDoctorCli } = await import("./doctor-cli-EGD6OLJO.js");
7550
7552
  await runDoctorCli({ json: !!options.json, resetStats: !!options.resetStats });
7551
7553
  });
7552
7554
  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) => {
7553
7555
  try {
7554
- const batch = await import("./batch-MJUH762U.js");
7556
+ const batch = await import("./batch-FTCB7YHA.js");
7555
7557
  switch (action) {
7556
7558
  case "submit":
7557
7559
  if (!arg) {
@@ -7594,7 +7596,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
7594
7596
  }
7595
7597
  });
7596
7598
  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) => {
7597
- const { startMcpServer } = await import("./server-PBOIZFFD.js");
7599
+ const { startMcpServer } = await import("./server-7UH5SJSC.js");
7598
7600
  await startMcpServer({
7599
7601
  allowDestructive: !!options.allowDestructive,
7600
7602
  allowOutsideCwd: !!options.allowOutsideCwd,
@@ -7721,7 +7723,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
7721
7723
  }),
7722
7724
  config.get("customProviders")
7723
7725
  );
7724
- const { startHub } = await import("./hub-X4ISNM7B.js");
7726
+ const { startHub } = await import("./hub-YNT2PVCA.js");
7725
7727
  await startHub(
7726
7728
  {
7727
7729
  topic: topic ?? "",
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  indexProject,
3
3
  updateFile
4
- } from "./chunk-RFQVUMDB.js";
5
- import "./chunk-BJAT4GNC.js";
4
+ } from "./chunk-SEFOKYYP.js";
5
+ import "./chunk-DQ2OHJNF.js";
6
6
  import "./chunk-3RG5ZIWI.js";
7
7
  export {
8
8
  indexProject,
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  indexProject,
4
4
  updateFile
5
- } from "./chunk-NHNWUBXB.js";
6
- import "./chunk-6VRJGH25.js";
5
+ } from "./chunk-VNNYHW6N.js";
6
+ import "./chunk-OVWE4E46.js";
7
7
  import "./chunk-PDX44BCA.js";
8
8
  export {
9
9
  indexProject,
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  executeTests,
4
4
  runTestsTool
5
- } from "./chunk-KSLJCZCE.js";
6
- import "./chunk-NSTXHD33.js";
5
+ } from "./chunk-IMYOBDJG.js";
6
+ import "./chunk-VXFBUMWG.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-UXGHSFGB.js";
4
+ } from "./chunk-2YEBAHAB.js";
5
5
  import "./chunk-3RG5ZIWI.js";
6
6
  export {
7
7
  executeTests,
@@ -4,8 +4,8 @@ import {
4
4
  pathTokens,
5
5
  rebuildSemanticIndex,
6
6
  semanticSearch
7
- } from "./chunk-MO7MWNWC.js";
8
- import "./chunk-BJAT4GNC.js";
7
+ } from "./chunk-NKR53CPL.js";
8
+ import "./chunk-DQ2OHJNF.js";
9
9
  import "./chunk-PASCDYMH.js";
10
10
  import "./chunk-JV5N65KN.js";
11
11
  import "./chunk-3RG5ZIWI.js";
@@ -5,10 +5,10 @@ import {
5
5
  pathTokens,
6
6
  rebuildSemanticIndex,
7
7
  semanticSearch
8
- } from "./chunk-3BICTI5M.js";
8
+ } from "./chunk-UQQJWHRV.js";
9
9
  import "./chunk-2DXY7UGF.js";
10
10
  import "./chunk-KHYD3WXE.js";
11
- import "./chunk-6VRJGH25.js";
11
+ import "./chunk-OVWE4E46.js";
12
12
  import "./chunk-PDX44BCA.js";
13
13
  export {
14
14
  buildEmbeddingText,
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ToolRegistry
4
- } from "./chunk-Q3ZEZHSU.js";
5
- import "./chunk-3BICTI5M.js";
4
+ } from "./chunk-YPFCJ5KC.js";
5
+ import "./chunk-UQQJWHRV.js";
6
6
  import "./chunk-2DXY7UGF.js";
7
- import "./chunk-KSLJCZCE.js";
7
+ import "./chunk-IMYOBDJG.js";
8
8
  import {
9
9
  getDangerLevel,
10
10
  runTool,
11
11
  schemaToJsonSchema
12
- } from "./chunk-G3CH252E.js";
12
+ } from "./chunk-2JLVHUMU.js";
13
13
  import "./chunk-2ZD3YTVM.js";
14
14
  import {
15
15
  VERSION
16
- } from "./chunk-NSTXHD33.js";
16
+ } from "./chunk-VXFBUMWG.js";
17
17
  import "./chunk-4BKXL7SM.js";
18
18
  import "./chunk-7ZJN4KLV.js";
19
19
  import "./chunk-KHYD3WXE.js";
20
- import "./chunk-NHNWUBXB.js";
21
- import "./chunk-6VRJGH25.js";
20
+ import "./chunk-VNNYHW6N.js";
21
+ import "./chunk-OVWE4E46.js";
22
22
  import "./chunk-PDX44BCA.js";
23
23
 
24
24
  // src/mcp/server.ts
@@ -14,7 +14,7 @@ import {
14
14
  loadDevState,
15
15
  persistToolRound,
16
16
  setupProxy
17
- } from "./chunk-DES5NNPU.js";
17
+ } from "./chunk-GDCLDXEC.js";
18
18
  import {
19
19
  CONTENT_ONLY_STREAM_REMINDER,
20
20
  HALLUCINATION_CORRECTION_MESSAGE,
@@ -28,10 +28,10 @@ import {
28
28
  looksLikeDocumentBody,
29
29
  stripPseudoToolCalls,
30
30
  stripToolCallReminder
31
- } from "./chunk-INPG2HXR.js";
31
+ } from "./chunk-YCIJZ2XS.js";
32
32
  import {
33
33
  ConfigManager
34
- } from "./chunk-WLZJANJO.js";
34
+ } from "./chunk-DX5JYNVN.js";
35
35
  import {
36
36
  ToolExecutor,
37
37
  ToolRegistry,
@@ -49,14 +49,14 @@ import {
49
49
  spawnAgentContext,
50
50
  truncateOutput,
51
51
  undoStack
52
- } from "./chunk-Q3ZEZHSU.js";
53
- import "./chunk-3BICTI5M.js";
52
+ } from "./chunk-YPFCJ5KC.js";
53
+ import "./chunk-UQQJWHRV.js";
54
54
  import "./chunk-2DXY7UGF.js";
55
- import "./chunk-KSLJCZCE.js";
55
+ import "./chunk-IMYOBDJG.js";
56
56
  import {
57
57
  getDangerLevel,
58
58
  runTool
59
- } from "./chunk-G3CH252E.js";
59
+ } from "./chunk-2JLVHUMU.js";
60
60
  import "./chunk-2ZD3YTVM.js";
61
61
  import {
62
62
  AGENTIC_BEHAVIOR_GUIDELINE,
@@ -76,7 +76,7 @@ import {
76
76
  SKILLS_DIR_NAME,
77
77
  VERSION,
78
78
  buildUserIdentityPrompt
79
- } from "./chunk-NSTXHD33.js";
79
+ } from "./chunk-VXFBUMWG.js";
80
80
  import {
81
81
  formatGitContextForPrompt,
82
82
  getGitContext,
@@ -85,8 +85,8 @@ import {
85
85
  import "./chunk-4BKXL7SM.js";
86
86
  import "./chunk-7ZJN4KLV.js";
87
87
  import "./chunk-KHYD3WXE.js";
88
- import "./chunk-NHNWUBXB.js";
89
- import "./chunk-6VRJGH25.js";
88
+ import "./chunk-VNNYHW6N.js";
89
+ import "./chunk-OVWE4E46.js";
90
90
  import "./chunk-PDX44BCA.js";
91
91
 
92
92
  // src/web/server.ts
@@ -2222,8 +2222,8 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
2222
2222
  case "index": {
2223
2223
  const sub = (args[0] ?? "status").toLowerCase();
2224
2224
  const root = process.cwd();
2225
- const { loadIndex, clearIndex } = await import("./store-JDEW743P.js");
2226
- const { indexProject } = await import("./indexer-XGY7XGJM.js");
2225
+ const { loadIndex, clearIndex } = await import("./store-VMK543OQ.js");
2226
+ const { indexProject } = await import("./indexer-S6UMGQKA.js");
2227
2227
  const { loadVectorStore, clearVectorStore } = await import("./vector-store-MCQ77OOJ.js");
2228
2228
  if (sub === "status") {
2229
2229
  const idx = loadIndex(root);
@@ -2273,7 +2273,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
2273
2273
  message: `Building semantic index for ${idx.symbolCount} symbols\u2026 (first run downloads ~117 MB model)`
2274
2274
  });
2275
2275
  try {
2276
- const { rebuildSemanticIndex } = await import("./semantic-UFKVYKFE.js");
2276
+ const { rebuildSemanticIndex } = await import("./semantic-V37U4MCW.js");
2277
2277
  const stats = await rebuildSemanticIndex(root);
2278
2278
  const first = stats.modelFirstLoadMs ? ` (model load+first batch ${stats.modelFirstLoadMs}ms)` : "";
2279
2279
  this.send({
@@ -2460,7 +2460,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
2460
2460
  case "test": {
2461
2461
  this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
2462
2462
  try {
2463
- const { executeTests } = await import("./run-tests-QER6ETNZ.js");
2463
+ const { executeTests } = await import("./run-tests-3KUDRXXZ.js");
2464
2464
  const argStr = args.join(" ").trim();
2465
2465
  let testArgs = {};
2466
2466
  if (argStr) {
@@ -5,7 +5,7 @@ import {
5
5
  removeFile,
6
6
  saveIndex,
7
7
  upsertFileSymbols
8
- } from "./chunk-BJAT4GNC.js";
8
+ } from "./chunk-DQ2OHJNF.js";
9
9
  import "./chunk-3RG5ZIWI.js";
10
10
  export {
11
11
  clearIndex,
@@ -6,7 +6,7 @@ import {
6
6
  removeFile,
7
7
  saveIndex,
8
8
  upsertFileSymbols
9
- } from "./chunk-6VRJGH25.js";
9
+ } from "./chunk-OVWE4E46.js";
10
10
  import "./chunk-PDX44BCA.js";
11
11
  export {
12
12
  clearIndex,
@@ -3,23 +3,23 @@ import {
3
3
  ToolRegistry,
4
4
  googleSearchContext,
5
5
  truncateOutput
6
- } from "./chunk-Q3ZEZHSU.js";
7
- import "./chunk-3BICTI5M.js";
6
+ } from "./chunk-YPFCJ5KC.js";
7
+ import "./chunk-UQQJWHRV.js";
8
8
  import "./chunk-2DXY7UGF.js";
9
- import "./chunk-KSLJCZCE.js";
9
+ import "./chunk-IMYOBDJG.js";
10
10
  import {
11
11
  getDangerLevel,
12
12
  runTool
13
- } from "./chunk-G3CH252E.js";
13
+ } from "./chunk-2JLVHUMU.js";
14
14
  import "./chunk-2ZD3YTVM.js";
15
15
  import {
16
16
  SUBAGENT_ALLOWED_TOOLS
17
- } from "./chunk-NSTXHD33.js";
17
+ } from "./chunk-VXFBUMWG.js";
18
18
  import "./chunk-4BKXL7SM.js";
19
19
  import "./chunk-7ZJN4KLV.js";
20
20
  import "./chunk-KHYD3WXE.js";
21
- import "./chunk-NHNWUBXB.js";
22
- import "./chunk-6VRJGH25.js";
21
+ import "./chunk-VNNYHW6N.js";
22
+ import "./chunk-OVWE4E46.js";
23
23
  import "./chunk-PDX44BCA.js";
24
24
 
25
25
  // src/hub/task-orchestrator.ts
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jinzd-ai-cli",
3
- "version": "0.4.142",
3
+ "version": "0.4.143",
4
4
  "description": "Cross-platform REPL-style AI CLI with multi-provider support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -87,8 +87,12 @@
87
87
  "commander": "^13.0.0",
88
88
  "express": "^5.2.1",
89
89
  "openai": "^4.77.0",
90
+ "tree-sitter-cpp": "^0.23.4",
91
+ "tree-sitter-go": "^0.25.0",
92
+ "tree-sitter-java": "^0.23.5",
90
93
  "tree-sitter-javascript": "^0.25.0",
91
94
  "tree-sitter-python": "^0.25.0",
95
+ "tree-sitter-rust": "^0.24.0",
92
96
  "tree-sitter-typescript": "^0.23.2",
93
97
  "undici": "^7.24.0",
94
98
  "uuid": "^14.0.0",
@@ -101,9 +105,9 @@
101
105
  "@types/node": "^22.10.0",
102
106
  "@types/uuid": "^10.0.0",
103
107
  "@types/ws": "^8.18.1",
104
- "@yao-pkg/pkg": "^6.14.0",
105
108
  "@typescript-eslint/eslint-plugin": "^8.13.0",
106
109
  "@typescript-eslint/parser": "^8.13.0",
110
+ "@yao-pkg/pkg": "^6.14.0",
107
111
  "electron": "^41.4.0",
108
112
  "electron-builder": "^26.0.0",
109
113
  "eslint": "^9.13.0",