jinzd-ai-cli 0.4.150 → 0.4.153

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 (48) hide show
  1. package/dist/{auth-7KK5BOCA.js → auth-OI4YRVRG.js} +1 -1
  2. package/dist/{batch-KGBSTQU3.js → batch-DBRN4MCC.js} +2 -2
  3. package/dist/{chat-index-MY3DJTV3.js → chat-index-BE4TPLFH.js} +1 -1
  4. package/dist/{chat-index-JBF4ZIQI.js → chat-index-LUQWWLKO.js} +1 -1
  5. package/dist/{chunk-ONOVJIL2.js → chunk-AIZOARZY.js} +1 -1
  6. package/dist/{chunk-QXRDETAI.js → chunk-D62BVFP7.js} +1 -1
  7. package/dist/{chunk-PASCDYMH.js → chunk-D6U75FHP.js} +14 -10
  8. package/dist/{chunk-D5KUERWQ.js → chunk-EIIMBVXN.js} +3 -3
  9. package/dist/{chunk-V6L44Y3F.js → chunk-EYJQJZJ6.js} +1 -1
  10. package/dist/{chunk-O7NM4WTS.js → chunk-GXB7YKF2.js} +3 -1
  11. package/dist/{chunk-UQQJWHRV.js → chunk-HDSKW7Q3.js} +1 -1
  12. package/dist/{chunk-TUGKYLIV.js → chunk-LJPB4ZER.js} +1 -1
  13. package/dist/{chunk-YJ2CUK5O.js → chunk-M4GJOBWN.js} +2 -1
  14. package/dist/{chunk-OWPFDHKC.js → chunk-NXXNLLSG.js} +1 -0
  15. package/dist/{chunk-PCDBAZJK.js → chunk-OP3I24WL.js} +99 -24
  16. package/dist/{chunk-XYM3PCVR.js → chunk-OT2HLGSO.js} +1 -1
  17. package/dist/{chunk-7ZJN4KLV.js → chunk-RXM76HB7.js} +1 -2
  18. package/dist/{chunk-WJ32NAW3.js → chunk-T5VKNPLD.js} +1 -2
  19. package/dist/{chunk-G6LBSAVY.js → chunk-TURORFH2.js} +1 -1
  20. package/dist/{chunk-RCDS54ZC.js → chunk-UWW3EWER.js} +1 -1
  21. package/dist/{chunk-NKR53CPL.js → chunk-YKVFZLSI.js} +1 -1
  22. package/dist/{chunk-2DXY7UGF.js → chunk-ZWVIDFGY.js} +14 -10
  23. package/dist/{ci-XHNSTENI.js → ci-UEEUSELV.js} +4 -4
  24. package/dist/{constants-U2QQSUYK.js → constants-43EVHE2E.js} +1 -1
  25. package/dist/{doctor-cli-5LFGU2TS.js → doctor-cli-ZT674MCQ.js} +6 -6
  26. package/dist/electron-server.js +121 -39
  27. package/dist/{hub-OGEDS4X7.js → hub-MDQNJOMV.js} +61 -3
  28. package/dist/{hub-server-AUMVPNU6.js → hub-server-VPXCBWLA.js} +1 -1
  29. package/dist/index.js +28 -26
  30. package/dist/{run-tests-YSHH37SS.js → run-tests-DCT5LWBB.js} +1 -1
  31. package/dist/{run-tests-Q7COBDVK.js → run-tests-EYZ2JZ4X.js} +2 -2
  32. package/dist/{semantic-V37U4MCW.js → semantic-FKOEXY75.js} +2 -2
  33. package/dist/{semantic-IJKF5ZZC.js → semantic-GJJWTI3A.js} +2 -2
  34. package/dist/{server-J2GQRZP3.js → server-MQWFO2GJ.js} +8 -8
  35. package/dist/{server-5HDA5MNI.js → server-OIYBFKS2.js} +25 -21
  36. package/dist/{task-orchestrator-XBPAOLYD.js → task-orchestrator-BGQBNKAI.js} +8 -8
  37. package/dist/{vector-store-AK6J3RIA.js → vector-store-PLDSXF3V.js} +1 -1
  38. package/dist/{vector-store-MCQ77OOJ.js → vector-store-Z5OF4WWJ.js} +1 -1
  39. package/dist/web/client/app.js +2 -1
  40. package/dist/web/client/index.html +10 -6
  41. package/dist/web/client/sw.js +15 -26
  42. package/dist/web/client/vendor/daisyui-full.min.css +20 -0
  43. package/dist/web/client/vendor/github-dark.min.css +10 -0
  44. package/dist/web/client/vendor/github.min.css +10 -0
  45. package/dist/web/client/vendor/highlight.min.js +1213 -0
  46. package/dist/web/client/vendor/marked.min.js +69 -0
  47. package/dist/web/client/vendor/tailwind.js +83 -0
  48. package/package.json +172 -172
@@ -5,8 +5,8 @@ import {
5
5
  pathTokens,
6
6
  rebuildSemanticIndex,
7
7
  semanticSearch
8
- } from "./chunk-UQQJWHRV.js";
9
- import "./chunk-2DXY7UGF.js";
8
+ } from "./chunk-HDSKW7Q3.js";
9
+ import "./chunk-ZWVIDFGY.js";
10
10
  import "./chunk-KHYD3WXE.js";
11
11
  import "./chunk-OVWE4E46.js";
12
12
  import "./chunk-PDX44BCA.js";
@@ -4,9 +4,9 @@ import {
4
4
  pathTokens,
5
5
  rebuildSemanticIndex,
6
6
  semanticSearch
7
- } from "./chunk-NKR53CPL.js";
7
+ } from "./chunk-YKVFZLSI.js";
8
8
  import "./chunk-DQ2OHJNF.js";
9
- import "./chunk-PASCDYMH.js";
9
+ import "./chunk-D6U75FHP.js";
10
10
  import "./chunk-JV5N65KN.js";
11
11
  import "./chunk-3RG5ZIWI.js";
12
12
  export {
@@ -1,23 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ToolRegistry
4
- } from "./chunk-PCDBAZJK.js";
5
- import "./chunk-UQQJWHRV.js";
6
- import "./chunk-2DXY7UGF.js";
7
- import "./chunk-XYM3PCVR.js";
4
+ } from "./chunk-OP3I24WL.js";
5
+ import "./chunk-HDSKW7Q3.js";
6
+ import "./chunk-ZWVIDFGY.js";
7
+ import "./chunk-OT2HLGSO.js";
8
8
  import {
9
9
  runTool
10
- } from "./chunk-V6L44Y3F.js";
10
+ } from "./chunk-EYJQJZJ6.js";
11
11
  import {
12
12
  getDangerLevel,
13
13
  schemaToJsonSchema
14
- } from "./chunk-OWPFDHKC.js";
14
+ } from "./chunk-NXXNLLSG.js";
15
15
  import "./chunk-2ZD3YTVM.js";
16
16
  import {
17
17
  VERSION
18
- } from "./chunk-QXRDETAI.js";
18
+ } from "./chunk-D62BVFP7.js";
19
19
  import "./chunk-4BKXL7SM.js";
20
- import "./chunk-7ZJN4KLV.js";
20
+ import "./chunk-RXM76HB7.js";
21
21
  import "./chunk-KHYD3WXE.js";
22
22
  import "./chunk-VNNYHW6N.js";
23
23
  import "./chunk-OVWE4E46.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  AuthManager,
4
4
  TOKEN_EXPIRY_MS
5
- } from "./chunk-O7NM4WTS.js";
5
+ } from "./chunk-GXB7YKF2.js";
6
6
  import {
7
7
  McpManager,
8
8
  SessionManager,
@@ -14,7 +14,7 @@ import {
14
14
  loadDevState,
15
15
  persistToolRound,
16
16
  setupProxy
17
- } from "./chunk-D5KUERWQ.js";
17
+ } from "./chunk-EIIMBVXN.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-ONOVJIL2.js";
31
+ } from "./chunk-AIZOARZY.js";
32
32
  import {
33
33
  ConfigManager
34
- } from "./chunk-RCDS54ZC.js";
34
+ } from "./chunk-UWW3EWER.js";
35
35
  import {
36
36
  ToolExecutor,
37
37
  ToolRegistry,
@@ -49,16 +49,16 @@ import {
49
49
  spawnAgentContext,
50
50
  truncateOutput,
51
51
  undoStack
52
- } from "./chunk-PCDBAZJK.js";
53
- import "./chunk-UQQJWHRV.js";
54
- import "./chunk-2DXY7UGF.js";
55
- import "./chunk-XYM3PCVR.js";
52
+ } from "./chunk-OP3I24WL.js";
53
+ import "./chunk-HDSKW7Q3.js";
54
+ import "./chunk-ZWVIDFGY.js";
55
+ import "./chunk-OT2HLGSO.js";
56
56
  import {
57
57
  runTool
58
- } from "./chunk-V6L44Y3F.js";
58
+ } from "./chunk-EYJQJZJ6.js";
59
59
  import {
60
60
  getDangerLevel
61
- } from "./chunk-OWPFDHKC.js";
61
+ } from "./chunk-NXXNLLSG.js";
62
62
  import "./chunk-2ZD3YTVM.js";
63
63
  import {
64
64
  AGENTIC_BEHAVIOR_GUIDELINE,
@@ -78,14 +78,14 @@ import {
78
78
  SKILLS_DIR_NAME,
79
79
  VERSION,
80
80
  buildUserIdentityPrompt
81
- } from "./chunk-QXRDETAI.js";
81
+ } from "./chunk-D62BVFP7.js";
82
82
  import {
83
83
  formatGitContextForPrompt,
84
84
  getGitContext,
85
85
  getGitRoot
86
86
  } from "./chunk-HOSJZMQS.js";
87
87
  import "./chunk-4BKXL7SM.js";
88
- import "./chunk-7ZJN4KLV.js";
88
+ import "./chunk-RXM76HB7.js";
89
89
  import "./chunk-KHYD3WXE.js";
90
90
  import "./chunk-VNNYHW6N.js";
91
91
  import "./chunk-OVWE4E46.js";
@@ -2226,7 +2226,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
2226
2226
  const root = process.cwd();
2227
2227
  const { loadIndex, clearIndex } = await import("./store-VMK543OQ.js");
2228
2228
  const { indexProject } = await import("./indexer-S6UMGQKA.js");
2229
- const { loadVectorStore, clearVectorStore } = await import("./vector-store-MCQ77OOJ.js");
2229
+ const { loadVectorStore, clearVectorStore } = await import("./vector-store-Z5OF4WWJ.js");
2230
2230
  if (sub === "status") {
2231
2231
  const idx = loadIndex(root);
2232
2232
  const vec = loadVectorStore(root);
@@ -2275,7 +2275,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
2275
2275
  message: `Building semantic index for ${idx.symbolCount} symbols\u2026 (first run downloads ~117 MB model)`
2276
2276
  });
2277
2277
  try {
2278
- const { rebuildSemanticIndex } = await import("./semantic-V37U4MCW.js");
2278
+ const { rebuildSemanticIndex } = await import("./semantic-FKOEXY75.js");
2279
2279
  const stats = await rebuildSemanticIndex(root);
2280
2280
  const first = stats.modelFirstLoadMs ? ` (model load+first batch ${stats.modelFirstLoadMs}ms)` : "";
2281
2281
  this.send({
@@ -2462,7 +2462,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
2462
2462
  case "test": {
2463
2463
  this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
2464
2464
  try {
2465
- const { executeTests } = await import("./run-tests-Q7COBDVK.js");
2465
+ const { executeTests } = await import("./run-tests-EYZ2JZ4X.js");
2466
2466
  const argStr = args.join(" ").trim();
2467
2467
  let testArgs = {};
2468
2468
  if (argStr) {
@@ -2986,7 +2986,7 @@ Add .md files to create commands.` });
2986
2986
  return;
2987
2987
  }
2988
2988
  try {
2989
- const { searchChatMemory, loadChatIndex } = await import("./chat-index-JBF4ZIQI.js");
2989
+ const { searchChatMemory, loadChatIndex } = await import("./chat-index-LUQWWLKO.js");
2990
2990
  const loaded = loadChatIndex();
2991
2991
  if (!loaded || loaded.idx.chunks.length === 0) {
2992
2992
  this.send({ type: "memory_hits", query: q, hits: [], indexMissing: true });
@@ -3022,7 +3022,7 @@ Add .md files to create commands.` });
3022
3022
  }
3023
3023
  async handleMemoryStatus() {
3024
3024
  try {
3025
- const { getChatIndexStatus } = await import("./chat-index-JBF4ZIQI.js");
3025
+ const { getChatIndexStatus } = await import("./chat-index-LUQWWLKO.js");
3026
3026
  const s = getChatIndexStatus();
3027
3027
  this.send({
3028
3028
  type: "memory_status",
@@ -3047,7 +3047,7 @@ Add .md files to create commands.` });
3047
3047
  type: "info",
3048
3048
  message: full ? "\u{1F9E0} Rebuilding chat memory index (this may take a while on first run \u2014 ~117 MB embedder)." : "\u{1F9E0} Refreshing chat memory index (incremental)\u2026"
3049
3049
  });
3050
- const { buildChatIndex } = await import("./chat-index-JBF4ZIQI.js");
3050
+ const { buildChatIndex } = await import("./chat-index-LUQWWLKO.js");
3051
3051
  const stats = await buildChatIndex({
3052
3052
  full,
3053
3053
  onProgress: (p) => {
@@ -3477,8 +3477,9 @@ async function startWebServer(options = {}) {
3477
3477
  }
3478
3478
  console.log(` Providers: ${availableProviders.map((p) => p.info.id).join(", ")}`);
3479
3479
  let mcpManager = null;
3480
- const globalMcpServers = config.get("mcpServers") ?? {};
3481
- const projectMcpResolved = resolveProjectMcpPath();
3480
+ const mcpEnabled = config.get("mcpEnabled") !== false;
3481
+ const globalMcpServers = mcpEnabled ? config.get("mcpServers") ?? {} : {};
3482
+ const projectMcpResolved = mcpEnabled ? resolveProjectMcpPath() : null;
3482
3483
  let projectMcpServers = {};
3483
3484
  if (projectMcpResolved) {
3484
3485
  const { checkTrust } = await import("./project-trust-IFM7FXEV.js");
@@ -3491,7 +3492,10 @@ async function startWebServer(options = {}) {
3491
3492
  }
3492
3493
  }
3493
3494
  const mergedMcpServers = { ...globalMcpServers, ...projectMcpServers };
3494
- if (Object.keys(mergedMcpServers).length > 0) {
3495
+ if (!mcpEnabled) {
3496
+ console.log(" \u{1F50C} MCP: disabled (config.mcpEnabled=false)");
3497
+ }
3498
+ if (mcpEnabled && Object.keys(mergedMcpServers).length > 0) {
3495
3499
  mcpManager = new McpManager();
3496
3500
  await mcpManager.connectAll(mergedMcpServers);
3497
3501
  const mcpTools = mcpManager.getAllTools();
@@ -3,22 +3,22 @@ import {
3
3
  ToolRegistry,
4
4
  googleSearchContext,
5
5
  truncateOutput
6
- } from "./chunk-PCDBAZJK.js";
7
- import "./chunk-UQQJWHRV.js";
8
- import "./chunk-2DXY7UGF.js";
9
- import "./chunk-XYM3PCVR.js";
6
+ } from "./chunk-OP3I24WL.js";
7
+ import "./chunk-HDSKW7Q3.js";
8
+ import "./chunk-ZWVIDFGY.js";
9
+ import "./chunk-OT2HLGSO.js";
10
10
  import {
11
11
  runTool
12
- } from "./chunk-V6L44Y3F.js";
12
+ } from "./chunk-EYJQJZJ6.js";
13
13
  import {
14
14
  getDangerLevel
15
- } from "./chunk-OWPFDHKC.js";
15
+ } from "./chunk-NXXNLLSG.js";
16
16
  import "./chunk-2ZD3YTVM.js";
17
17
  import {
18
18
  SUBAGENT_ALLOWED_TOOLS
19
- } from "./chunk-QXRDETAI.js";
19
+ } from "./chunk-D62BVFP7.js";
20
20
  import "./chunk-4BKXL7SM.js";
21
- import "./chunk-7ZJN4KLV.js";
21
+ import "./chunk-RXM76HB7.js";
22
22
  import "./chunk-KHYD3WXE.js";
23
23
  import "./chunk-VNNYHW6N.js";
24
24
  import "./chunk-OVWE4E46.js";
@@ -4,7 +4,7 @@ import {
4
4
  loadVectorStore,
5
5
  saveVectorStore,
6
6
  searchVectorStore
7
- } from "./chunk-PASCDYMH.js";
7
+ } from "./chunk-D6U75FHP.js";
8
8
  import "./chunk-JV5N65KN.js";
9
9
  import "./chunk-3RG5ZIWI.js";
10
10
  export {
@@ -5,7 +5,7 @@ import {
5
5
  loadVectorStore,
6
6
  saveVectorStore,
7
7
  searchVectorStore
8
- } from "./chunk-2DXY7UGF.js";
8
+ } from "./chunk-ZWVIDFGY.js";
9
9
  import "./chunk-KHYD3WXE.js";
10
10
  import "./chunk-PDX44BCA.js";
11
11
  export {
@@ -644,7 +644,8 @@ window.respondAutoPause = function(requestId, action) {
644
644
 
645
645
  // DaisyUI light themes → highlight.js light stylesheet; others → dark
646
646
  const LIGHT_DAISYUI_THEMES = new Set(['light', 'cupcake', 'bumblebee', 'emerald', 'corporate', 'garden', 'lofi', 'pastel', 'fantasy', 'wireframe', 'cmyk', 'autumn', 'acid', 'lemonade', 'winter', 'nord']);
647
- const HLJS_CDN = 'https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/styles';
647
+ // v0.4.153: vendored locally (was cdn.jsdelivr.net) — see index.html.
648
+ const HLJS_CDN = 'vendor';
648
649
 
649
650
  function updateCodeTheme(daisyTheme) {
650
651
  const isLight = LIGHT_DAISYUI_THEMES.has(daisyTheme);
@@ -12,13 +12,17 @@
12
12
  <link rel="apple-touch-icon" href="icon-192.png">
13
13
  <link rel="icon" type="image/svg+xml" href="icon.svg">
14
14
  <link rel="icon" type="image/png" sizes="192x192" href="icon-192.png">
15
- <!-- Tailwind CSS + DaisyUI (CDN) -->
16
- <link href="https://cdn.jsdelivr.net/npm/daisyui@4.12.23/dist/full.min.css" rel="stylesheet">
17
- <script src="https://cdn.tailwindcss.com"></script>
15
+ <!-- Tailwind CSS + DaisyUI (vendored locally — v0.4.153). These were on
16
+ cdn.tailwindcss.com / cdn.jsdelivr.net, which GFW blocks in CN; when the
17
+ CDN failed the whole UI rendered unstyled AND the `.hidden` login overlay
18
+ became visible (no users → "can't log in"). Serving locally makes the UI
19
+ work offline / behind GFW with zero behavior change. -->
20
+ <link href="vendor/daisyui-full.min.css" rel="stylesheet">
21
+ <script src="vendor/tailwind.js"></script>
18
22
  <!-- Markdown + Code highlighting -->
19
- <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
20
- <link id="hljs-theme" rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/styles/github-dark.min.css">
21
- <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/highlight.min.js"></script>
23
+ <script src="vendor/marked.min.js"></script>
24
+ <link id="hljs-theme" rel="stylesheet" href="vendor/github-dark.min.css">
25
+ <script src="vendor/highlight.min.js"></script>
22
26
  <link rel="stylesheet" href="style.css">
23
27
  </head>
24
28
  <body class="bg-base-300 h-screen overflow-hidden">
@@ -4,9 +4,14 @@
4
4
  * API calls and WebSocket are always network-first.
5
5
  */
6
6
 
7
- const CACHE_NAME = 'aicli-v1';
7
+ // v0.4.153: bumped v1 → v2 so the `activate` handler evicts the old cache.
8
+ // Without this, clients that cached the pre-fix index.html (which referenced
9
+ // GFW-blocked CDNs) would keep serving the broken page forever.
10
+ const CACHE_NAME = 'aicli-v2';
8
11
 
9
- // App shell — files needed for offline-capable startup
12
+ // App shell — files needed for offline-capable startup. Now includes the
13
+ // vendored Tailwind/DaisyUI/marked/highlight.js assets (previously CDN-hosted),
14
+ // so the UI is fully self-contained and works behind a firewall / offline.
10
15
  const APP_SHELL = [
11
16
  '/',
12
17
  '/index.html',
@@ -16,12 +21,12 @@ const APP_SHELL = [
16
21
  '/icon.svg',
17
22
  '/icon-192.png',
18
23
  '/icon-512.png',
19
- ];
20
-
21
- // CDN resources to cache on first use
22
- const CDN_CACHE = [
23
- 'cdn.jsdelivr.net',
24
- 'cdn.tailwindcss.com',
24
+ '/vendor/daisyui-full.min.css',
25
+ '/vendor/tailwind.js',
26
+ '/vendor/marked.min.js',
27
+ '/vendor/highlight.min.js',
28
+ '/vendor/github-dark.min.css',
29
+ '/vendor/github.min.css',
25
30
  ];
26
31
 
27
32
  self.addEventListener('install', (event) => {
@@ -51,24 +56,8 @@ self.addEventListener('fetch', (event) => {
51
56
  return;
52
57
  }
53
58
 
54
- // CDN resources: cache-first (they're versioned by URL)
55
- if (CDN_CACHE.some(host => url.hostname.includes(host))) {
56
- event.respondWith(
57
- caches.match(event.request).then(cached => {
58
- if (cached) return cached;
59
- return fetch(event.request).then(response => {
60
- if (response.ok) {
61
- const clone = response.clone();
62
- caches.open(CACHE_NAME).then(cache => cache.put(event.request, clone));
63
- }
64
- return response;
65
- });
66
- })
67
- );
68
- return;
69
- }
70
-
71
- // App shell: network-first with cache fallback (always get latest from server)
59
+ // App shell (now incl. same-origin /vendor/*): network-first with cache
60
+ // fallback (always get latest from server)
72
61
  event.respondWith(
73
62
  fetch(event.request)
74
63
  .then(response => {