jinzd-ai-cli 0.4.255 → 0.4.256

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 (41) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +2 -2
  3. package/dist/{batch-OWBKG6XZ.js → batch-A6WZTY56.js} +3 -3
  4. package/dist/{chunk-ZRBGH245.js → chunk-2CGCEN7Q.js} +2 -2
  5. package/dist/{chunk-IRSNREEO.js → chunk-3C6TKCRL.js} +3 -3
  6. package/dist/{chunk-X2V76VPG.js → chunk-3F5FAUCI.js} +1 -1
  7. package/dist/{chunk-YJ7VL7VL.js → chunk-AL3H7VI2.js} +1 -1
  8. package/dist/{chunk-B42HK6GL.js → chunk-DQW3TJ4M.js} +1 -1
  9. package/dist/{chunk-SMIQ6CBX.js → chunk-FIXDD5WC.js} +1 -1
  10. package/dist/{chunk-SVWIUNOA.js → chunk-IXGGIS3K.js} +1 -1
  11. package/dist/{chunk-CU5ZNAIX.js → chunk-KTN7YDXC.js} +1 -1
  12. package/dist/{chunk-PSXIVQ3N.js → chunk-LEZB4KKZ.js} +1 -0
  13. package/dist/{chunk-FOC2YWOF.js → chunk-P5HO5RXI.js} +1 -1
  14. package/dist/{chunk-U6OV523Y.js → chunk-TN62NEIY.js} +1 -1
  15. package/dist/{chunk-5ULLIOVC.js → chunk-TU3L3PW7.js} +5 -2
  16. package/dist/{chunk-2UZ23L5P.js → chunk-UPOFNYWD.js} +2 -2
  17. package/dist/{chunk-PSP4W2MG.js → chunk-VEBTQK3D.js} +38 -20
  18. package/dist/{chunk-3WKUKMBG.js → chunk-VUGDRRX3.js} +4 -4
  19. package/dist/{chunk-7QWFFLKV.js → chunk-X45KVQHD.js} +4 -4
  20. package/dist/ci-2YHS67DD.js +19 -0
  21. package/dist/{ci-format-CTGDLJTS.js → ci-format-AS3NBCVH.js} +2 -2
  22. package/dist/{constants-LJRYL7IN.js → constants-RMUULNCF.js} +1 -1
  23. package/dist/doctor-cli-UOSY3GL6.js +17 -0
  24. package/dist/electron-server.js +47 -23
  25. package/dist/{hub-4EEDUJED.js → hub-SIPD6DKN.js} +2 -2
  26. package/dist/{hub-server-XA7HTVLD.js → hub-server-QGUSMN22.js} +3 -0
  27. package/dist/index.js +34 -28
  28. package/dist/{persistent-memory-DMN76UB5.js → persistent-memory-ELW2QNRA.js} +2 -2
  29. package/dist/{persistent-memory-EEAGHDFR.js → persistent-memory-JIXASKVH.js} +2 -2
  30. package/dist/{pr-Q74YHWN2.js → pr-NI5ZF7LE.js} +7 -7
  31. package/dist/{run-tests-N3ES4YMU.js → run-tests-NSOI3UB5.js} +2 -2
  32. package/dist/{run-tests-ADZQ2JWI.js → run-tests-XZ4DN4NV.js} +2 -2
  33. package/dist/{server-HUWVPJKQ.js → server-52KYUXTT.js} +7 -7
  34. package/dist/{server-PMEZ3HDO.js → server-WIBGSOFE.js} +16 -14
  35. package/dist/{task-orchestrator-KLCN25OY.js → task-orchestrator-BPXLRZTU.js} +13 -7
  36. package/dist/{usage-MNMRX5OE.js → usage-K7GM44EG.js} +3 -3
  37. package/dist/web/client/app.js +3329 -3312
  38. package/dist/web/client/index.html +70 -70
  39. package/package.json +19 -9
  40. package/dist/ci-V5GVGYZO.js +0 -19
  41. package/dist/doctor-cli-GOM2GQUK.js +0 -17
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  [![npm version](https://img.shields.io/npm/v/jinzd-ai-cli)](https://www.npmjs.com/package/jinzd-ai-cli)
13
13
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
14
- [![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](https://nodejs.org)
14
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20.18.1-brightgreen)](https://nodejs.org)
15
15
  [![Tests](https://img.shields.io/badge/tests-1639%20passing-brightgreen)]()
16
16
  [![GitHub Release](https://img.shields.io/github/v/release/jinzhengdong/ai-cli)](https://github.com/jinzhengdong/ai-cli/releases)
17
17
  [![CI](https://github.com/jinzhengdong/ai-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/jinzhengdong/ai-cli/actions/workflows/ci.yml)
@@ -66,7 +66,7 @@
66
66
  npm install -g jinzd-ai-cli
67
67
  ```
68
68
 
69
- Requires Node.js >= 20. After installation, use `aicli` to start.
69
+ Requires Node.js >= 20.18.1. After installation, use `aicli` to start.
70
70
 
71
71
  ### Electron Desktop App (Windows)
72
72
 
package/README.zh-CN.md CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  [![npm version](https://img.shields.io/npm/v/jinzd-ai-cli)](https://www.npmjs.com/package/jinzd-ai-cli)
13
13
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
14
- [![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](https://nodejs.org)
14
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20.18.1-brightgreen)](https://nodejs.org)
15
15
  [![Tests](https://img.shields.io/badge/tests-1097%20passing-brightgreen)]()
16
16
  [![GitHub Release](https://img.shields.io/github/v/release/jinzhengdong/ai-cli)](https://github.com/jinzhengdong/ai-cli/releases)
17
17
  [![CI](https://github.com/jinzhengdong/ai-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/jinzhengdong/ai-cli/actions/workflows/ci.yml)
@@ -54,7 +54,7 @@
54
54
  npm install -g jinzd-ai-cli
55
55
  ```
56
56
 
57
- 需要 Node.js >= 20。安装后使用 `aicli` 启动。
57
+ 需要 Node.js >= 20.18.1。安装后使用 `aicli` 启动。
58
58
 
59
59
  ### Electron 桌面应用(Windows)
60
60
 
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ConfigManager
4
- } from "./chunk-IRSNREEO.js";
5
- import "./chunk-5ULLIOVC.js";
6
- import "./chunk-SVWIUNOA.js";
4
+ } from "./chunk-3C6TKCRL.js";
5
+ import "./chunk-TU3L3PW7.js";
6
+ import "./chunk-IXGGIS3K.js";
7
7
  import {
8
8
  atomicWriteFileSync
9
9
  } from "./chunk-IW3Q7AE5.js";
@@ -3,13 +3,13 @@ import {
3
3
  detectsHallucinatedFileOp,
4
4
  parseToolCallArguments,
5
5
  schemaToJsonSchema
6
- } from "./chunk-PSXIVQ3N.js";
6
+ } from "./chunk-LEZB4KKZ.js";
7
7
  import {
8
8
  AuthError,
9
9
  ProviderError,
10
10
  ProviderNotFoundError,
11
11
  RateLimitError
12
- } from "./chunk-5ULLIOVC.js";
12
+ } from "./chunk-TU3L3PW7.js";
13
13
  import {
14
14
  atomicWriteFileSync
15
15
  } from "./chunk-IW3Q7AE5.js";
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  ConfigError,
4
4
  EnvLoader
5
- } from "./chunk-5ULLIOVC.js";
5
+ } from "./chunk-TU3L3PW7.js";
6
6
  import {
7
7
  CONFIG_DIR_NAME,
8
8
  CONFIG_FILE_NAME,
9
9
  HISTORY_DIR_NAME,
10
10
  PLUGINS_DIR_NAME
11
- } from "./chunk-SVWIUNOA.js";
11
+ } from "./chunk-IXGGIS3K.js";
12
12
  import {
13
13
  atomicWriteFileSync
14
14
  } from "./chunk-IW3Q7AE5.js";
@@ -351,7 +351,7 @@ var ConfigManager = class {
351
351
  return ConfigSchema.parse(raw);
352
352
  } catch (err) {
353
353
  throw new ConfigError(
354
- `Config file at ${this.configPath} is invalid. Delete it and run 'ai-cli config' to recreate.
354
+ `Config file at ${this.configPath} is invalid. Delete it and run 'aicli config' to recreate.
355
355
  ${err}`
356
356
  );
357
357
  }
@@ -6,7 +6,7 @@ import {
6
6
  MEMORY_FILE_NAME,
7
7
  MEMORY_MAX_CHARS,
8
8
  MEMORY_STORE_FILE_NAME
9
- } from "./chunk-SVWIUNOA.js";
9
+ } from "./chunk-IXGGIS3K.js";
10
10
  import {
11
11
  DEFAULT_PATTERNS,
12
12
  redactString
@@ -6,7 +6,7 @@ import {
6
6
  MEMORY_FILE_NAME,
7
7
  MEMORY_MAX_CHARS,
8
8
  MEMORY_STORE_FILE_NAME
9
- } from "./chunk-CU5ZNAIX.js";
9
+ } from "./chunk-KTN7YDXC.js";
10
10
  import {
11
11
  atomicWriteFileSync
12
12
  } from "./chunk-6BUTA5VW.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TEST_TIMEOUT
3
- } from "./chunk-CU5ZNAIX.js";
3
+ } from "./chunk-KTN7YDXC.js";
4
4
 
5
5
  // src/tools/builtin/run-tests.ts
6
6
  import { execSync, spawnSync } from "child_process";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  VERSION
4
- } from "./chunk-SVWIUNOA.js";
4
+ } from "./chunk-IXGGIS3K.js";
5
5
 
6
6
  // src/cli/ci-format.ts
7
7
  var DEFAULT_CI_THRESHOLDS = {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // src/core/constants.ts
4
- var VERSION = "0.4.255";
4
+ var VERSION = "0.4.256";
5
5
  var APP_NAME = "ai-cli";
6
6
  var CONFIG_DIR_NAME = ".aicli";
7
7
  var CONFIG_FILE_NAME = "config.json";
@@ -1,5 +1,5 @@
1
1
  // src/core/constants.ts
2
- var VERSION = "0.4.255";
2
+ var VERSION = "0.4.256";
3
3
  var APP_NAME = "ai-cli";
4
4
  var CONFIG_DIR_NAME = ".aicli";
5
5
  var CONFIG_FILE_NAME = "config.json";
@@ -824,6 +824,7 @@ var BudgetWarner = class {
824
824
  this.lowAt = Math.min(lowRaw, this.noteAt - 1);
825
825
  this.criticalAt = Math.min(criticalRaw, this.lowAt - 1);
826
826
  }
827
+ maxToolRounds;
827
828
  noteAt;
828
829
  lowAt;
829
830
  criticalAt;
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  CONFIG_DIR_NAME,
4
4
  PLUGINS_DIR_NAME
5
- } from "./chunk-SVWIUNOA.js";
5
+ } from "./chunk-IXGGIS3K.js";
6
6
  import {
7
7
  atomicWriteFileSync
8
8
  } from "./chunk-IW3Q7AE5.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  TEST_TIMEOUT
4
- } from "./chunk-SVWIUNOA.js";
4
+ } from "./chunk-IXGGIS3K.js";
5
5
 
6
6
  // src/tools/builtin/run-tests.ts
7
7
  import { execSync, spawnSync } from "child_process";
@@ -62,10 +62,11 @@ var ProviderError = class extends AiCliError {
62
62
  this.providerId = providerId;
63
63
  this.name = "ProviderError";
64
64
  }
65
+ providerId;
65
66
  };
66
67
  var AuthError = class extends ProviderError {
67
68
  constructor(providerId) {
68
- super(providerId, "Invalid or missing API key. Run: ai-cli config");
69
+ super(providerId, "Invalid or missing API key. Run: aicli config");
69
70
  this.name = "AuthError";
70
71
  }
71
72
  };
@@ -84,7 +85,7 @@ var ConfigError = class extends AiCliError {
84
85
  var ProviderNotFoundError = class extends AiCliError {
85
86
  constructor(providerId) {
86
87
  super(
87
- `Provider '${providerId}' is not configured. Run: ai-cli config`
88
+ `Provider '${providerId}' is not configured. Run: aicli config`
88
89
  );
89
90
  this.name = "ProviderNotFoundError";
90
91
  }
@@ -95,6 +96,7 @@ var ToolError = class extends AiCliError {
95
96
  this.toolName = toolName;
96
97
  this.name = "ToolError";
97
98
  }
99
+ toolName;
98
100
  };
99
101
  var NetworkError = class extends AiCliError {
100
102
  constructor(message, statusCode, cause) {
@@ -102,6 +104,7 @@ var NetworkError = class extends AiCliError {
102
104
  this.statusCode = statusCode;
103
105
  this.name = "NetworkError";
104
106
  }
107
+ statusCode;
105
108
  };
106
109
 
107
110
  export {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  truncateForPersist
4
- } from "./chunk-PSP4W2MG.js";
4
+ } from "./chunk-VEBTQK3D.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-SVWIUNOA.js";
14
+ } from "./chunk-IXGGIS3K.js";
15
15
  import {
16
16
  atomicWriteFileSync
17
17
  } from "./chunk-IW3Q7AE5.js";
@@ -7,7 +7,7 @@ import {
7
7
  searchPersistentMemories,
8
8
  touchMemoryReferences,
9
9
  updateMemoryEntry
10
- } from "./chunk-X2V76VPG.js";
10
+ } from "./chunk-3F5FAUCI.js";
11
11
  import {
12
12
  indexProject
13
13
  } from "./chunk-GLSR2NR3.js";
@@ -23,31 +23,31 @@ import {
23
23
  runHook,
24
24
  runLifecycleHooks,
25
25
  runTool
26
- } from "./chunk-FOC2YWOF.js";
26
+ } from "./chunk-P5HO5RXI.js";
27
27
  import {
28
28
  buildTruncatedArgumentsError,
29
29
  getDangerLevel,
30
30
  isFileWriteTool,
31
31
  runLeanAgentLoop
32
- } from "./chunk-PSXIVQ3N.js";
32
+ } from "./chunk-LEZB4KKZ.js";
33
33
  import {
34
34
  EnvLoader,
35
35
  NetworkError,
36
36
  ToolError
37
- } from "./chunk-5ULLIOVC.js";
37
+ } from "./chunk-TU3L3PW7.js";
38
38
  import {
39
39
  fileCheckpoints
40
40
  } from "./chunk-4BKXL7SM.js";
41
41
  import {
42
42
  runTestsTool
43
- } from "./chunk-U6OV523Y.js";
43
+ } from "./chunk-TN62NEIY.js";
44
44
  import {
45
45
  CONFIG_DIR_NAME,
46
46
  DEFAULT_MAX_TOOL_OUTPUT_CHARS_CAP,
47
47
  SUBAGENT_ALLOWED_TOOLS,
48
48
  SUBAGENT_DEFAULT_MAX_ROUNDS,
49
49
  SUBAGENT_MAX_ROUNDS_LIMIT
50
- } from "./chunk-SVWIUNOA.js";
50
+ } from "./chunk-IXGGIS3K.js";
51
51
  import {
52
52
  loadChatIndex,
53
53
  searchChatMemory
@@ -198,6 +198,7 @@ async function execInPool(sessionKey, command, timeout, cwd, abortSignal) {
198
198
  let resolved = false;
199
199
  const markerStartPattern = `AICLI_MARKER_START:${id}`;
200
200
  const markerEndPattern = `AICLI_MARKER_END:${id}`;
201
+ const proc = entry.proc;
201
202
  const onData = (chunk) => {
202
203
  stdout += IS_WINDOWS2 ? decodeWindowsBuffer(chunk) : chunk.toString("utf-8");
203
204
  if (!resolved && stdout.includes(markerEndPattern)) {
@@ -212,9 +213,26 @@ async function execInPool(sessionKey, command, timeout, cwd, abortSignal) {
212
213
  const onErr = (chunk) => {
213
214
  stderr += IS_WINDOWS2 ? decodeWindowsBuffer(chunk) : chunk.toString("utf-8");
214
215
  };
215
- const proc = entry.proc;
216
+ const finishPoolFailure = (message, exitCode = null) => {
217
+ if (resolved) return;
218
+ resolved = true;
219
+ stdout = stripMarkerOutput(stdout, markerStartPattern, markerEndPattern);
220
+ stderr += `${stderr ? "\n" : ""}[pool terminated] ${message}`;
221
+ cleanup();
222
+ pool.delete(sessionKey);
223
+ resolve7({ stdout, stderr, exitCode: exitCode === 0 ? null : exitCode, timedOut, aborted });
224
+ };
225
+ const onClose = (code, signal) => {
226
+ const detail = signal ? `signal ${signal}` : `exit code ${code ?? "unknown"}`;
227
+ finishPoolFailure(`Shell exited before the completion marker (${detail}).`, code);
228
+ };
229
+ const onStdinError = (err) => {
230
+ finishPoolFailure(`Shell stdin failed: ${err.message}`);
231
+ };
216
232
  proc.stdout?.on("data", onData);
217
233
  proc.stderr?.on("data", onErr);
234
+ proc.once("close", onClose);
235
+ proc.stdin?.once("error", onStdinError);
218
236
  const timeoutTimer = setTimeout(() => {
219
237
  if (resolved) return;
220
238
  timedOut = true;
@@ -241,29 +259,26 @@ async function execInPool(sessionKey, command, timeout, cwd, abortSignal) {
241
259
  abortSignal?.addEventListener("abort", onAbort, { once: true });
242
260
  }
243
261
  const onError = (err) => {
244
- if (resolved) return;
245
- resolved = true;
246
- stderr += `
247
- [pool error] ${err.message}`;
248
- cleanup();
249
- resolve7({ stdout, stderr, exitCode: null, timedOut, aborted });
250
- pool.delete(sessionKey);
262
+ finishPoolFailure(`Shell process error: ${err.message}`);
251
263
  };
252
- proc.on("error", onError);
264
+ proc.once("error", onError);
253
265
  function cleanup() {
254
266
  clearTimeout(timeoutTimer);
255
267
  abortSignal?.removeEventListener("abort", onAbort);
256
268
  proc.stdout?.removeListener("data", onData);
257
269
  proc.stderr?.removeListener("data", onErr);
270
+ proc.removeListener("close", onClose);
258
271
  proc.removeListener("error", onError);
272
+ proc.stdin?.removeListener("error", onStdinError);
259
273
  }
260
274
  try {
261
- proc.stdin?.write(wrappedCmd + "\n");
262
- } catch {
263
- if (!resolved) {
264
- cleanup();
265
- pool.delete(sessionKey);
275
+ if (!proc.stdin) {
276
+ finishPoolFailure("Shell stdin is unavailable.");
277
+ } else {
278
+ proc.stdin.write(wrappedCmd + "\n");
266
279
  }
280
+ } catch (err) {
281
+ finishPoolFailure(`Shell stdin write failed: ${err instanceof Error ? err.message : String(err)}`);
267
282
  }
268
283
  });
269
284
  }
@@ -2189,6 +2204,7 @@ var ToolExecutor = class {
2189
2204
  constructor(registry) {
2190
2205
  this.registry = registry;
2191
2206
  }
2207
+ registry;
2192
2208
  /** 当前 session 消息索引,由 repl.ts / session-handler.ts 在每轮工具执行前设置 */
2193
2209
  static currentMessageIndex = 0;
2194
2210
  round = 0;
@@ -5421,6 +5437,8 @@ var SubAgentExecutor = class {
5421
5437
  this.runId = runId;
5422
5438
  this.prefix = agentPrefix(agentIndex);
5423
5439
  }
5440
+ registry;
5441
+ runId;
5424
5442
  round = 0;
5425
5443
  totalRounds = 0;
5426
5444
  prefix = PREFIX;
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ProviderRegistry
4
- } from "./chunk-ZRBGH245.js";
4
+ } from "./chunk-2CGCEN7Q.js";
5
5
  import {
6
6
  ConfigManager
7
- } from "./chunk-IRSNREEO.js";
7
+ } from "./chunk-3C6TKCRL.js";
8
8
  import {
9
9
  getActivePluginAssets,
10
10
  getPendingHookTrust,
@@ -14,7 +14,7 @@ import {
14
14
  listHooks,
15
15
  listInstalledPlugins,
16
16
  resetStats
17
- } from "./chunk-FOC2YWOF.js";
17
+ } from "./chunk-P5HO5RXI.js";
18
18
  import {
19
19
  getGitRoot
20
20
  } from "./chunk-HOSJZMQS.js";
@@ -26,7 +26,7 @@ import {
26
26
  MCP_PROJECT_CONFIG_NAME,
27
27
  MEMORY_FILE_NAME,
28
28
  VERSION
29
- } from "./chunk-SVWIUNOA.js";
29
+ } from "./chunk-IXGGIS3K.js";
30
30
 
31
31
  // src/diagnostics/doctor-report.ts
32
32
  import { existsSync as existsSync3, statSync as statSync2 } from "fs";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  evaluateCiGate,
4
4
  normalizeCiThresholds
5
- } from "./chunk-SMIQ6CBX.js";
5
+ } from "./chunk-FIXDD5WC.js";
6
6
  import {
7
7
  buildReviewPrompt,
8
8
  buildSecurityReviewPrompt,
@@ -10,13 +10,13 @@ import {
10
10
  } from "./chunk-HLWUDRBO.js";
11
11
  import {
12
12
  ProviderRegistry
13
- } from "./chunk-ZRBGH245.js";
13
+ } from "./chunk-2CGCEN7Q.js";
14
14
  import {
15
15
  ConfigManager
16
- } from "./chunk-IRSNREEO.js";
16
+ } from "./chunk-3C6TKCRL.js";
17
17
  import {
18
18
  VERSION
19
- } from "./chunk-SVWIUNOA.js";
19
+ } from "./chunk-IXGGIS3K.js";
20
20
 
21
21
  // src/cli/ci.ts
22
22
  import { execFileSync } from "child_process";
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ CI_COMMENT_MARKER,
4
+ countSeverity,
5
+ runCi
6
+ } from "./chunk-X45KVQHD.js";
7
+ import "./chunk-FIXDD5WC.js";
8
+ import "./chunk-HLWUDRBO.js";
9
+ import "./chunk-2CGCEN7Q.js";
10
+ import "./chunk-3C6TKCRL.js";
11
+ import "./chunk-LEZB4KKZ.js";
12
+ import "./chunk-TU3L3PW7.js";
13
+ import "./chunk-IXGGIS3K.js";
14
+ import "./chunk-IW3Q7AE5.js";
15
+ export {
16
+ CI_COMMENT_MARKER,
17
+ countSeverity,
18
+ runCi
19
+ };
@@ -6,8 +6,8 @@ import {
6
6
  formatCiResult,
7
7
  formatCiSarif,
8
8
  normalizeCiThresholds
9
- } from "./chunk-SMIQ6CBX.js";
10
- import "./chunk-SVWIUNOA.js";
9
+ } from "./chunk-FIXDD5WC.js";
10
+ import "./chunk-IXGGIS3K.js";
11
11
  export {
12
12
  DEFAULT_CI_THRESHOLDS,
13
13
  detectCiGateSignals,
@@ -38,7 +38,7 @@ import {
38
38
  TEST_TIMEOUT,
39
39
  VERSION,
40
40
  buildUserIdentityPrompt
41
- } from "./chunk-SVWIUNOA.js";
41
+ } from "./chunk-IXGGIS3K.js";
42
42
  export {
43
43
  AGENTIC_BEHAVIOR_GUIDELINE,
44
44
  APP_NAME,
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ formatDoctorReport,
4
+ runDoctorCli
5
+ } from "./chunk-VUGDRRX3.js";
6
+ import "./chunk-2CGCEN7Q.js";
7
+ import "./chunk-3C6TKCRL.js";
8
+ import "./chunk-P5HO5RXI.js";
9
+ import "./chunk-LEZB4KKZ.js";
10
+ import "./chunk-TU3L3PW7.js";
11
+ import "./chunk-HOSJZMQS.js";
12
+ import "./chunk-IXGGIS3K.js";
13
+ import "./chunk-IW3Q7AE5.js";
14
+ export {
15
+ formatDoctorReport,
16
+ runDoctorCli
17
+ };