jinzd-ai-cli 0.4.189 → 0.4.191

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 (61) hide show
  1. package/dist/{agent-client-25TIQ6AP.js → agent-client-6GX6QQDU.js} +0 -1
  2. package/dist/{auth-OI4YRVRG.js → auth-FSTAKSYF.js} +2 -2
  3. package/dist/{batch-FPPAYC6L.js → batch-4XSN4VF7.js} +7 -15
  4. package/dist/{chat-index-JXTYDRCY.js → chat-index-FDSGKWQV.js} +2 -2
  5. package/dist/{chat-index-WDMVP7BN.js → chat-index-UBCWHBLR.js} +2 -2
  6. package/dist/chunk-6BUTA5VW.js +38 -0
  7. package/dist/{chunk-UTO2YO3K.js → chunk-6Z42O3DN.js} +1 -1
  8. package/dist/{chunk-VRCBXH2W.js → chunk-A4GUGWEY.js} +1 -1
  9. package/dist/{chunk-YKVFZLSI.js → chunk-AEAYUKSY.js} +2 -2
  10. package/dist/{chunk-RFXZQBU4.js → chunk-ASVBZIUE.js} +1 -1
  11. package/dist/{chunk-ZWVIDFGY.js → chunk-BXP6YZ2P.js} +4 -3
  12. package/dist/{chunk-OVWE4E46.js → chunk-CKH4KQ4E.js} +4 -3
  13. package/dist/{chunk-5FV2V3TB.js → chunk-HSQAKOYX.js} +1 -1
  14. package/dist/{chunk-D6U75FHP.js → chunk-IEQAE3QG.js} +4 -3
  15. package/dist/{chunk-TEJ4HYLM.js → chunk-IMSENBJ6.js} +2 -2
  16. package/dist/chunk-IW3Q7AE5.js +40 -0
  17. package/dist/{chunk-IQ7JE43O.js → chunk-JTLPYPT3.js} +48 -4
  18. package/dist/{chunk-GXB7YKF2.js → chunk-JVKAL5Q3.js} +5 -12
  19. package/dist/{chunk-RIVZNS3K.js → chunk-MC34ISJU.js} +5 -4
  20. package/dist/{chunk-VNNYHW6N.js → chunk-O6UFCEUZ.js} +1 -1
  21. package/dist/{chunk-SH73ZVHY.js → chunk-RQ7JVLFM.js} +8 -8
  22. package/dist/{chunk-DQ2OHJNF.js → chunk-RWM2GFRC.js} +5 -3
  23. package/dist/{chunk-SEFOKYYP.js → chunk-SQB66GP6.js} +1 -1
  24. package/dist/{chunk-HDSKW7Q3.js → chunk-T2NL5ZIA.js} +2 -2
  25. package/dist/{chunk-4UZE4ADL.js → chunk-TB4W4Y4T.js} +18 -52
  26. package/dist/{chunk-MH3AFJGV.js → chunk-TRV47UK4.js} +1 -1
  27. package/dist/{chunk-KIGVJVX4.js → chunk-W7UKO3PS.js} +18 -50
  28. package/dist/{chunk-NBZ443LN.js → chunk-XDH5EFWC.js} +1 -1
  29. package/dist/{chunk-3SZ7SREY.js → chunk-Y3PNCW7A.js} +6 -5
  30. package/dist/{chunk-A3I5WP5L.js → chunk-YUBD7T2R.js} +5 -4
  31. package/dist/{ci-CGNVIV6U.js → ci-USJCTRP7.js} +3 -4
  32. package/dist/{constants-EJF3DOM5.js → constants-3T5G34S5.js} +1 -2
  33. package/dist/{doctor-cli-WFH6DYVL.js → doctor-cli-3QE7FZKB.js} +6 -6
  34. package/dist/electron-server.js +101 -99
  35. package/dist/{file-checkpoint-UHSMHCRU.js → file-checkpoint-CGH6OJVI.js} +0 -1
  36. package/dist/{file-checkpoint-ZN7KE3TN.js → file-checkpoint-NKBHGC7L.js} +0 -1
  37. package/dist/{git-context-7KIP4X2V.js → git-context-EXOEHQSF.js} +0 -1
  38. package/dist/{hub-LCB3RGVQ.js → hub-LABDYMAE.js} +3 -4
  39. package/dist/{hub-server-GSTG5MNE.js → hub-server-LJ2JSKZ2.js} +0 -1
  40. package/dist/index.js +78 -121
  41. package/dist/{indexer-S6UMGQKA.js → indexer-AKWMYNJI.js} +3 -3
  42. package/dist/indexer-BMYUUDLH.js +10 -0
  43. package/dist/{persist-A3R2IAYU.js → persist-L54DPLI7.js} +3 -3
  44. package/dist/{project-trust-EBGHD7LE.js → project-trust-MUG325AW.js} +4 -11
  45. package/dist/{project-trust-IFM7FXEV.js → project-trust-NKYHL3VZ.js} +4 -11
  46. package/dist/{run-tests-XANJLGXT.js → run-tests-H3VCHOJB.js} +1 -2
  47. package/dist/{run-tests-R7QATG6O.js → run-tests-X2MCBIKN.js} +2 -3
  48. package/dist/{semantic-GJJWTI3A.js → semantic-FF6DDJI6.js} +4 -4
  49. package/dist/{semantic-FKOEXY75.js → semantic-PK7AUOJT.js} +4 -4
  50. package/dist/{server-HYLAZODW.js → server-FE7XTYVC.js} +10 -10
  51. package/dist/{server-ULMPX3CS.js → server-TJDKEECG.js} +40 -74
  52. package/dist/{store-VMK543OQ.js → store-MWNHVGJT.js} +2 -2
  53. package/dist/{store-A3TZM6PS.js → store-VO37H6LS.js} +2 -2
  54. package/dist/{task-orchestrator-UKU2O6IE.js → task-orchestrator-VFCQGTYA.js} +14 -14
  55. package/dist/{usage-4R36JZFP.js → usage-FYKIOPJI.js} +4 -4
  56. package/dist/{vector-store-Z5OF4WWJ.js → vector-store-BBDXB5IQ.js} +2 -2
  57. package/dist/{vector-store-PLDSXF3V.js → vector-store-JBAE6PS4.js} +2 -2
  58. package/package.json +1 -1
  59. package/dist/chunk-3RG5ZIWI.js +0 -10
  60. package/dist/chunk-PDX44BCA.js +0 -11
  61. package/dist/indexer-ISSNIFQY.js +0 -10
@@ -7,49 +7,15 @@ import {
7
7
  import {
8
8
  redactString
9
9
  } from "./chunk-SLSWPBK3.js";
10
+ import {
11
+ atomicWriteFileSync
12
+ } from "./chunk-IW3Q7AE5.js";
10
13
 
11
14
  // src/memory/chat-index.ts
12
- import fs2 from "fs";
15
+ import fs from "fs";
13
16
  import path from "path";
14
17
  import os from "os";
15
18
  import crypto from "crypto";
16
-
17
- // src/core/atomic-write.ts
18
- import fs from "fs";
19
- var RETRYABLE_CODES = /* @__PURE__ */ new Set(["EPERM", "EACCES", "EBUSY"]);
20
- var MAX_RENAME_RETRIES = 10;
21
- function sleepSync(ms) {
22
- const sab = new Int32Array(new SharedArrayBuffer(4));
23
- Atomics.wait(sab, 0, 0, ms);
24
- }
25
- function atomicWriteFileSync(target, data) {
26
- const tmp = `${target}.tmp`;
27
- fs.writeFileSync(tmp, data);
28
- for (let attempt = 0; ; attempt++) {
29
- try {
30
- fs.renameSync(tmp, target);
31
- return;
32
- } catch (err) {
33
- const code = err.code;
34
- if (attempt < MAX_RENAME_RETRIES && code && RETRYABLE_CODES.has(code)) {
35
- sleepSync(5 * (attempt + 1));
36
- continue;
37
- }
38
- try {
39
- fs.writeFileSync(target, data);
40
- try {
41
- fs.unlinkSync(tmp);
42
- } catch {
43
- }
44
- return;
45
- } catch {
46
- throw err;
47
- }
48
- }
49
- }
50
- }
51
-
52
- // src/memory/chat-index.ts
53
19
  var MEMORY_DIR_NAME = "memory-index";
54
20
  var CHUNKS_FILE = "chunks.json";
55
21
  var VECTORS_FILE = "vectors.vec";
@@ -136,7 +102,7 @@ function writeVectorsFile(chunks, vectors) {
136
102
  );
137
103
  }
138
104
  const dir = memoryIndexDir();
139
- fs2.mkdirSync(dir, { recursive: true });
105
+ fs.mkdirSync(dir, { recursive: true });
140
106
  const totalBytes = VEC_HEADER_BYTES + vectors.byteLength;
141
107
  const buf = Buffer.alloc(totalBytes);
142
108
  buf.writeUInt32LE(VEC_MAGIC, 0);
@@ -148,10 +114,10 @@ function writeVectorsFile(chunks, vectors) {
148
114
  }
149
115
  function readVectorsFile(expectedCount) {
150
116
  const p = vectorsPath();
151
- if (!fs2.existsSync(p)) return null;
117
+ if (!fs.existsSync(p)) return null;
152
118
  let buf;
153
119
  try {
154
- buf = fs2.readFileSync(p);
120
+ buf = fs.readFileSync(p);
155
121
  } catch {
156
122
  return null;
157
123
  }
@@ -170,14 +136,14 @@ function readVectorsFile(expectedCount) {
170
136
  }
171
137
  function writeIndexFile(idx) {
172
138
  const dir = memoryIndexDir();
173
- fs2.mkdirSync(dir, { recursive: true });
139
+ fs.mkdirSync(dir, { recursive: true });
174
140
  atomicWriteFileSync(chunksPath(), JSON.stringify(idx, null, 2));
175
141
  }
176
142
  function readIndexFile() {
177
143
  const p = chunksPath();
178
- if (!fs2.existsSync(p)) return null;
144
+ if (!fs.existsSync(p)) return null;
179
145
  try {
180
- const raw = fs2.readFileSync(p, "utf-8");
146
+ const raw = fs.readFileSync(p, "utf-8");
181
147
  const data = JSON.parse(raw);
182
148
  if (data.version !== 1) return null;
183
149
  return data;
@@ -194,24 +160,24 @@ function loadChatIndex() {
194
160
  }
195
161
  function clearChatIndex() {
196
162
  try {
197
- if (fs2.existsSync(chunksPath())) fs2.unlinkSync(chunksPath());
163
+ if (fs.existsSync(chunksPath())) fs.unlinkSync(chunksPath());
198
164
  } catch {
199
165
  }
200
166
  try {
201
- if (fs2.existsSync(vectorsPath())) fs2.unlinkSync(vectorsPath());
167
+ if (fs.existsSync(vectorsPath())) fs.unlinkSync(vectorsPath());
202
168
  } catch {
203
169
  }
204
170
  }
205
171
  function listSessionFiles() {
206
172
  const dir = historyDir();
207
- if (!fs2.existsSync(dir)) return [];
173
+ if (!fs.existsSync(dir)) return [];
208
174
  const out = [];
209
- for (const name of fs2.readdirSync(dir)) {
175
+ for (const name of fs.readdirSync(dir)) {
210
176
  if (!name.endsWith(".json")) continue;
211
177
  const id = name.replace(/\.json$/, "");
212
178
  const p = path.join(dir, name);
213
179
  try {
214
- const st = fs2.statSync(p);
180
+ const st = fs.statSync(p);
215
181
  out.push({ id, path: p, mtime: st.mtimeMs });
216
182
  } catch {
217
183
  }
@@ -220,7 +186,7 @@ function listSessionFiles() {
220
186
  }
221
187
  function readSession(p) {
222
188
  try {
223
- const data = JSON.parse(fs2.readFileSync(p, "utf-8"));
189
+ const data = JSON.parse(fs.readFileSync(p, "utf-8"));
224
190
  if (!data.id || !Array.isArray(data.messages)) return null;
225
191
  return data;
226
192
  } catch {
@@ -363,8 +329,8 @@ function getChatIndexStatus() {
363
329
  chunksFileSizeBytes: 0
364
330
  };
365
331
  try {
366
- if (fs2.existsSync(vectorsPath())) status.vecFileSizeBytes = fs2.statSync(vectorsPath()).size;
367
- if (fs2.existsSync(chunksPath())) status.chunksFileSizeBytes = fs2.statSync(chunksPath()).size;
332
+ if (fs.existsSync(vectorsPath())) status.vecFileSizeBytes = fs.statSync(vectorsPath()).size;
333
+ if (fs.existsSync(chunksPath())) status.chunksFileSizeBytes = fs.statSync(chunksPath()).size;
368
334
  } catch {
369
335
  }
370
336
  const idx = readIndexFile();
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  CONFIG_DIR_NAME,
4
4
  VERSION
5
- } from "./chunk-RFXZQBU4.js";
5
+ } from "./chunk-ASVBZIUE.js";
6
6
 
7
7
  // src/diagnostics/crash-log.ts
8
8
  import {
@@ -3,9 +3,12 @@ import {
3
3
  embed,
4
4
  embedOne
5
5
  } from "./chunk-JV5N65KN.js";
6
+ import {
7
+ atomicWriteFileSync
8
+ } from "./chunk-6BUTA5VW.js";
6
9
 
7
10
  // src/memory/chat-index.ts
8
- import fs2 from "fs";
11
+ import fs from "fs";
9
12
  import path from "path";
10
13
  import os from "os";
11
14
  import crypto from "crypto";
@@ -118,41 +121,6 @@ function redactJson(value, options) {
118
121
  return { value: redacted, hits: allHits };
119
122
  }
120
123
 
121
- // src/core/atomic-write.ts
122
- import fs from "fs";
123
- var RETRYABLE_CODES = /* @__PURE__ */ new Set(["EPERM", "EACCES", "EBUSY"]);
124
- var MAX_RENAME_RETRIES = 10;
125
- function sleepSync(ms) {
126
- const sab = new Int32Array(new SharedArrayBuffer(4));
127
- Atomics.wait(sab, 0, 0, ms);
128
- }
129
- function atomicWriteFileSync(target, data) {
130
- const tmp = `${target}.tmp`;
131
- fs.writeFileSync(tmp, data);
132
- for (let attempt = 0; ; attempt++) {
133
- try {
134
- fs.renameSync(tmp, target);
135
- return;
136
- } catch (err) {
137
- const code = err.code;
138
- if (attempt < MAX_RENAME_RETRIES && code && RETRYABLE_CODES.has(code)) {
139
- sleepSync(5 * (attempt + 1));
140
- continue;
141
- }
142
- try {
143
- fs.writeFileSync(target, data);
144
- try {
145
- fs.unlinkSync(tmp);
146
- } catch {
147
- }
148
- return;
149
- } catch {
150
- throw err;
151
- }
152
- }
153
- }
154
- }
155
-
156
124
  // src/memory/chat-index.ts
157
125
  var MEMORY_DIR_NAME = "memory-index";
158
126
  var CHUNKS_FILE = "chunks.json";
@@ -240,7 +208,7 @@ function writeVectorsFile(chunks, vectors) {
240
208
  );
241
209
  }
242
210
  const dir = memoryIndexDir();
243
- fs2.mkdirSync(dir, { recursive: true });
211
+ fs.mkdirSync(dir, { recursive: true });
244
212
  const totalBytes = VEC_HEADER_BYTES + vectors.byteLength;
245
213
  const buf = Buffer.alloc(totalBytes);
246
214
  buf.writeUInt32LE(VEC_MAGIC, 0);
@@ -252,10 +220,10 @@ function writeVectorsFile(chunks, vectors) {
252
220
  }
253
221
  function readVectorsFile(expectedCount) {
254
222
  const p = vectorsPath();
255
- if (!fs2.existsSync(p)) return null;
223
+ if (!fs.existsSync(p)) return null;
256
224
  let buf;
257
225
  try {
258
- buf = fs2.readFileSync(p);
226
+ buf = fs.readFileSync(p);
259
227
  } catch {
260
228
  return null;
261
229
  }
@@ -274,14 +242,14 @@ function readVectorsFile(expectedCount) {
274
242
  }
275
243
  function writeIndexFile(idx) {
276
244
  const dir = memoryIndexDir();
277
- fs2.mkdirSync(dir, { recursive: true });
245
+ fs.mkdirSync(dir, { recursive: true });
278
246
  atomicWriteFileSync(chunksPath(), JSON.stringify(idx, null, 2));
279
247
  }
280
248
  function readIndexFile() {
281
249
  const p = chunksPath();
282
- if (!fs2.existsSync(p)) return null;
250
+ if (!fs.existsSync(p)) return null;
283
251
  try {
284
- const raw = fs2.readFileSync(p, "utf-8");
252
+ const raw = fs.readFileSync(p, "utf-8");
285
253
  const data = JSON.parse(raw);
286
254
  if (data.version !== 1) return null;
287
255
  return data;
@@ -298,24 +266,24 @@ function loadChatIndex() {
298
266
  }
299
267
  function clearChatIndex() {
300
268
  try {
301
- if (fs2.existsSync(chunksPath())) fs2.unlinkSync(chunksPath());
269
+ if (fs.existsSync(chunksPath())) fs.unlinkSync(chunksPath());
302
270
  } catch {
303
271
  }
304
272
  try {
305
- if (fs2.existsSync(vectorsPath())) fs2.unlinkSync(vectorsPath());
273
+ if (fs.existsSync(vectorsPath())) fs.unlinkSync(vectorsPath());
306
274
  } catch {
307
275
  }
308
276
  }
309
277
  function listSessionFiles() {
310
278
  const dir = historyDir();
311
- if (!fs2.existsSync(dir)) return [];
279
+ if (!fs.existsSync(dir)) return [];
312
280
  const out = [];
313
- for (const name of fs2.readdirSync(dir)) {
281
+ for (const name of fs.readdirSync(dir)) {
314
282
  if (!name.endsWith(".json")) continue;
315
283
  const id = name.replace(/\.json$/, "");
316
284
  const p = path.join(dir, name);
317
285
  try {
318
- const st = fs2.statSync(p);
286
+ const st = fs.statSync(p);
319
287
  out.push({ id, path: p, mtime: st.mtimeMs });
320
288
  } catch {
321
289
  }
@@ -324,7 +292,7 @@ function listSessionFiles() {
324
292
  }
325
293
  function readSession(p) {
326
294
  try {
327
- const data = JSON.parse(fs2.readFileSync(p, "utf-8"));
295
+ const data = JSON.parse(fs.readFileSync(p, "utf-8"));
328
296
  if (!data.id || !Array.isArray(data.messages)) return null;
329
297
  return data;
330
298
  } catch {
@@ -467,8 +435,8 @@ function getChatIndexStatus() {
467
435
  chunksFileSizeBytes: 0
468
436
  };
469
437
  try {
470
- if (fs2.existsSync(vectorsPath())) status.vecFileSizeBytes = fs2.statSync(vectorsPath()).size;
471
- if (fs2.existsSync(chunksPath())) status.chunksFileSizeBytes = fs2.statSync(chunksPath()).size;
438
+ if (fs.existsSync(vectorsPath())) status.vecFileSizeBytes = fs.statSync(vectorsPath()).size;
439
+ if (fs.existsSync(chunksPath())) status.chunksFileSizeBytes = fs.statSync(chunksPath()).size;
472
440
  } catch {
473
441
  }
474
442
  const idx = readIndexFile();
@@ -8,7 +8,7 @@ import {
8
8
  CONFIG_FILE_NAME,
9
9
  HISTORY_DIR_NAME,
10
10
  PLUGINS_DIR_NAME
11
- } from "./chunk-RFXZQBU4.js";
11
+ } from "./chunk-ASVBZIUE.js";
12
12
 
13
13
  // src/config/config-manager.ts
14
14
  import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
@@ -1,10 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CONFIG_DIR_NAME
4
- } from "./chunk-RFXZQBU4.js";
4
+ } from "./chunk-ASVBZIUE.js";
5
+ import {
6
+ atomicWriteFileSync
7
+ } from "./chunk-IW3Q7AE5.js";
5
8
 
6
9
  // src/diagnostics/tool-stats.ts
7
- import { existsSync, readFileSync, writeFileSync, mkdirSync, renameSync } from "fs";
10
+ import { existsSync, readFileSync, mkdirSync } from "fs";
8
11
  import { join, dirname } from "path";
9
12
  import { homedir } from "os";
10
13
  var STATS_FILE_NAME = "tool-stats.json";
@@ -83,9 +86,7 @@ function flush() {
83
86
  const path = statsFilePath();
84
87
  try {
85
88
  mkdirSync(dirname(path), { recursive: true });
86
- const tmp = path + ".tmp";
87
- writeFileSync(tmp, JSON.stringify(state, null, 2), "utf-8");
88
- renameSync(tmp, path);
89
+ atomicWriteFileSync(path, JSON.stringify(state, null, 2));
89
90
  dirty = false;
90
91
  pendingWrites = 0;
91
92
  } catch {
@@ -3,9 +3,12 @@ import {
3
3
  computeCost,
4
4
  formatCost
5
5
  } from "./chunk-V37XOYOE.js";
6
+ import {
7
+ atomicWriteFileSync
8
+ } from "./chunk-IW3Q7AE5.js";
6
9
 
7
10
  // src/core/cost-tracker.ts
8
- import { existsSync, readFileSync, writeFileSync, renameSync } from "fs";
11
+ import { existsSync, readFileSync } from "fs";
9
12
  import { join } from "path";
10
13
  var CostTracker = class {
11
14
  filePath;
@@ -45,9 +48,7 @@ var CostTracker = class {
45
48
  // shallow copy — records are plain data
46
49
  };
47
50
  try {
48
- const tmp = this.filePath + ".tmp";
49
- writeFileSync(tmp, JSON.stringify(snapshot, null, 2), "utf-8");
50
- renameSync(tmp, this.filePath);
51
+ atomicWriteFileSync(this.filePath, JSON.stringify(snapshot, null, 2));
51
52
  this.dirty = false;
52
53
  } catch (err) {
53
54
  console.error("[cost-tracker] Failed to persist cost history:", err);
@@ -6,16 +6,15 @@ import {
6
6
  } from "./chunk-HLWUDRBO.js";
7
7
  import {
8
8
  ProviderRegistry
9
- } from "./chunk-IQ7JE43O.js";
9
+ } from "./chunk-JTLPYPT3.js";
10
10
  import "./chunk-HIU2SH4V.js";
11
11
  import {
12
12
  ConfigManager
13
- } from "./chunk-NBZ443LN.js";
13
+ } from "./chunk-XDH5EFWC.js";
14
14
  import "./chunk-TZQHYZKT.js";
15
15
  import {
16
16
  VERSION
17
- } from "./chunk-RFXZQBU4.js";
18
- import "./chunk-PDX44BCA.js";
17
+ } from "./chunk-ASVBZIUE.js";
19
18
 
20
19
  // src/cli/ci.ts
21
20
  import { execFileSync, execSync } from "child_process";
@@ -36,8 +36,7 @@ import {
36
36
  TEST_TIMEOUT,
37
37
  VERSION,
38
38
  buildUserIdentityPrompt
39
- } from "./chunk-RFXZQBU4.js";
40
- import "./chunk-PDX44BCA.js";
39
+ } from "./chunk-ASVBZIUE.js";
41
40
  export {
42
41
  AGENTIC_BEHAVIOR_GUIDELINE,
43
42
  APP_NAME,
@@ -2,27 +2,27 @@
2
2
  import {
3
3
  getConfigDirUsage,
4
4
  listRecentCrashes
5
- } from "./chunk-MH3AFJGV.js";
5
+ } from "./chunk-TRV47UK4.js";
6
6
  import {
7
7
  ProviderRegistry
8
- } from "./chunk-IQ7JE43O.js";
8
+ } from "./chunk-JTLPYPT3.js";
9
9
  import {
10
10
  getStatsSnapshot,
11
11
  getTopFailingTools,
12
12
  getTopUsedTools,
13
13
  resetStats
14
- } from "./chunk-3SZ7SREY.js";
14
+ } from "./chunk-Y3PNCW7A.js";
15
15
  import "./chunk-HIU2SH4V.js";
16
16
  import {
17
17
  ConfigManager
18
- } from "./chunk-NBZ443LN.js";
18
+ } from "./chunk-XDH5EFWC.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-RFXZQBU4.js";
25
- import "./chunk-PDX44BCA.js";
24
+ } from "./chunk-ASVBZIUE.js";
25
+ import "./chunk-IW3Q7AE5.js";
26
26
 
27
27
  // src/diagnostics/doctor-cli.ts
28
28
  import { existsSync, statSync } from "fs";