jinzd-ai-cli 0.4.324 → 0.4.325

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 (32) hide show
  1. package/dist/{batch-TXSH37GQ.js → batch-BGKTM75D.js} +2 -2
  2. package/dist/{chunk-MX3SLCEP.js → chunk-3ALMUKHF.js} +3 -3
  3. package/dist/{chunk-TEJHNHNO.js → chunk-5BS2NVSB.js} +3 -3
  4. package/dist/{chunk-IOPPS6ST.js → chunk-C52FQ3ZE.js} +7 -7
  5. package/dist/{chunk-IAI2FAX4.js → chunk-CVWR3VYH.js} +1 -1
  6. package/dist/{chunk-RFJV47EQ.js → chunk-GCYH5WOZ.js} +1 -1
  7. package/dist/{chunk-4YKQD5RW.js → chunk-GVVYQJYF.js} +7 -5
  8. package/dist/{chunk-AYDP3HFZ.js → chunk-KS6RNA4E.js} +1 -1
  9. package/dist/{chunk-2C7NMQBY.js → chunk-N6QFHXSF.js} +1 -1
  10. package/dist/{chunk-CSXGOHLG.js → chunk-NBNRQ44O.js} +1 -1
  11. package/dist/{chunk-YCGWWBHF.js → chunk-NI7YIDLF.js} +1 -1
  12. package/dist/{chunk-IBKFJFLM.js → chunk-PXJ3XVR5.js} +1 -1
  13. package/dist/{chunk-JYDLKJEQ.js → chunk-TJFHBYQ3.js} +1 -1
  14. package/dist/{chunk-IVVPYBGG.js → chunk-WDD76ALZ.js} +1 -1
  15. package/dist/{ci-7TNQQRFB.js → ci-OE7Q3UOI.js} +4 -4
  16. package/dist/{ci-format-K56H66E3.js → ci-format-OWSFR34D.js} +2 -2
  17. package/dist/{constants-7WO66DLZ.js → constants-74TAAY4L.js} +1 -1
  18. package/dist/{constants-ZC7ZATE4.js → constants-W2CH36YR.js} +1 -1
  19. package/dist/{doctor-cli-JSXZ45K3.js → doctor-cli-6C3WJTL5.js} +4 -4
  20. package/dist/electron-server.js +13 -11
  21. package/dist/{hub-IJSXOA4J.js → hub-RHMDL74E.js} +1 -1
  22. package/dist/index.js +17 -17
  23. package/dist/{persistent-memory-7UQU5XVH.js → persistent-memory-OAFPFGKB.js} +2 -2
  24. package/dist/{persistent-memory-MTYZ3CSO.js → persistent-memory-S2QLVL43.js} +2 -2
  25. package/dist/{pr-2MGEREWJ.js → pr-5PMXXHH6.js} +4 -4
  26. package/dist/{run-tests-66SUUBDO.js → run-tests-7AOMBU2D.js} +2 -2
  27. package/dist/{run-tests-WOPRQ64C.js → run-tests-W773M3KK.js} +2 -2
  28. package/dist/{server-6J4542BD.js → server-O75UHHR7.js} +5 -5
  29. package/dist/{server-Y63DU44H.js → server-SK4JQWT5.js} +13 -13
  30. package/dist/{task-orchestrator-G7TSF5Q3.js → task-orchestrator-7H7UYCU7.js} +5 -5
  31. package/dist/{usage-SODWISIA.js → usage-F6BD7DHL.js} +2 -2
  32. package/package.json +1 -1
@@ -4,12 +4,12 @@ import {
4
4
  } from "./chunk-RS7SKYTS.js";
5
5
  import {
6
6
  ConfigManager
7
- } from "./chunk-2C7NMQBY.js";
7
+ } from "./chunk-N6QFHXSF.js";
8
8
  import "./chunk-TU3L3PW7.js";
9
9
  import {
10
10
  atomicWriteFileSync
11
11
  } from "./chunk-BMLQPSHP.js";
12
- import "./chunk-IAI2FAX4.js";
12
+ import "./chunk-CVWR3VYH.js";
13
13
 
14
14
  // src/cli/batch.ts
15
15
  import Anthropic from "@anthropic-ai/sdk";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  evaluateCiGate,
4
4
  normalizeCiThresholds
5
- } from "./chunk-CSXGOHLG.js";
5
+ } from "./chunk-NBNRQ44O.js";
6
6
  import {
7
7
  buildReviewPrompt,
8
8
  buildSecurityReviewPrompt,
@@ -16,10 +16,10 @@ import {
16
16
  } from "./chunk-PIX4ZPFB.js";
17
17
  import {
18
18
  ConfigManager
19
- } from "./chunk-2C7NMQBY.js";
19
+ } from "./chunk-N6QFHXSF.js";
20
20
  import {
21
21
  VERSION
22
- } from "./chunk-IAI2FAX4.js";
22
+ } from "./chunk-CVWR3VYH.js";
23
23
 
24
24
  // src/cli/ci.ts
25
25
  import { execFileSync } from "child_process";
@@ -8,13 +8,13 @@ import {
8
8
  listHooks,
9
9
  listInstalledPlugins,
10
10
  resetStats
11
- } from "./chunk-IVVPYBGG.js";
11
+ } from "./chunk-WDD76ALZ.js";
12
12
  import {
13
13
  ProviderRegistry
14
14
  } from "./chunk-PIX4ZPFB.js";
15
15
  import {
16
16
  ConfigManager
17
- } from "./chunk-2C7NMQBY.js";
17
+ } from "./chunk-N6QFHXSF.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-IAI2FAX4.js";
29
+ } from "./chunk-CVWR3VYH.js";
30
30
 
31
31
  // src/diagnostics/doctor-report.ts
32
32
  import { existsSync as existsSync3, statSync as statSync2 } from "fs";
@@ -16,7 +16,7 @@ import {
16
16
  setPreferredAgentName,
17
17
  truncateForPersist,
18
18
  undoStack
19
- } from "./chunk-4YKQD5RW.js";
19
+ } from "./chunk-GVVYQJYF.js";
20
20
  import {
21
21
  buildReviewPrompt,
22
22
  buildSecurityReviewPrompt
@@ -51,7 +51,7 @@ import {
51
51
  touchMemoryReferences,
52
52
  updateMemoryApproval,
53
53
  updateMemoryEntry
54
- } from "./chunk-YCGWWBHF.js";
54
+ } from "./chunk-NI7YIDLF.js";
55
55
  import {
56
56
  theme
57
57
  } from "./chunk-5C76XDDF.js";
@@ -65,7 +65,7 @@ import {
65
65
  import {
66
66
  buildDoctorReport,
67
67
  formatDoctorReport
68
- } from "./chunk-TEJHNHNO.js";
68
+ } from "./chunk-5BS2NVSB.js";
69
69
  import {
70
70
  describePlugin,
71
71
  getActivePluginAssets,
@@ -80,7 +80,7 @@ import {
80
80
  trustHook,
81
81
  trustPlugin,
82
82
  untrustHook
83
- } from "./chunk-IVVPYBGG.js";
83
+ } from "./chunk-WDD76ALZ.js";
84
84
  import {
85
85
  isCleanDocumentBody,
86
86
  stripOuterCodeFence
@@ -109,7 +109,7 @@ import {
109
109
  MCP_TOOL_PREFIX,
110
110
  REPO_URL,
111
111
  VERSION
112
- } from "./chunk-IAI2FAX4.js";
112
+ } from "./chunk-CVWR3VYH.js";
113
113
 
114
114
  // src/skills/manager.ts
115
115
  import { existsSync, readdirSync, mkdirSync, statSync } from "fs";
@@ -2442,7 +2442,7 @@ No tools match "${filter}".
2442
2442
  const { join: join6 } = await import("path");
2443
2443
  const { existsSync: existsSync6 } = await import("fs");
2444
2444
  const { getGitRoot } = await import("./git-context-EXOEHQSF.js");
2445
- const { MCP_PROJECT_CONFIG_NAME } = await import("./constants-7WO66DLZ.js");
2445
+ const { MCP_PROJECT_CONFIG_NAME } = await import("./constants-74TAAY4L.js");
2446
2446
  const { approveProject, hashMcpFile } = await import("./project-trust-KGG2BWKC.js");
2447
2447
  const cwd = process.cwd();
2448
2448
  const projectRoot = getGitRoot(cwd) ?? cwd;
@@ -3550,7 +3550,7 @@ function createReviewCommands() {
3550
3550
  usage: "/test [command|filter]",
3551
3551
  async execute(args, ctx) {
3552
3552
  try {
3553
- const { executeTests } = await import("./run-tests-WOPRQ64C.js");
3553
+ const { executeTests } = await import("./run-tests-W773M3KK.js");
3554
3554
  const argStr = args.join(" ").trim();
3555
3555
  let testArgs = {};
3556
3556
  if (argStr) {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // src/core/constants.ts
4
- var VERSION = "0.4.324";
4
+ var VERSION = "0.4.325";
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.324";
2
+ var VERSION = "0.4.325";
3
3
  var APP_NAME = "ai-cli";
4
4
  var CONFIG_DIR_NAME = ".aicli";
5
5
  var CONFIG_FILE_NAME = "config.json";
@@ -11,7 +11,7 @@ import {
11
11
  searchPersistentMemories,
12
12
  touchMemoryReferences,
13
13
  updateMemoryEntry
14
- } from "./chunk-YCGWWBHF.js";
14
+ } from "./chunk-NI7YIDLF.js";
15
15
  import {
16
16
  indexProject
17
17
  } from "./chunk-RWRZVQCB.js";
@@ -30,7 +30,7 @@ import {
30
30
  runHook,
31
31
  runLifecycleHooks,
32
32
  runTool
33
- } from "./chunk-IVVPYBGG.js";
33
+ } from "./chunk-WDD76ALZ.js";
34
34
  import {
35
35
  buildTruncatedArgumentsError,
36
36
  getDangerLevel,
@@ -64,7 +64,7 @@ import {
64
64
  recoverGbkMojibake,
65
65
  runTestsTool,
66
66
  shellInvocation
67
- } from "./chunk-AYDP3HFZ.js";
67
+ } from "./chunk-KS6RNA4E.js";
68
68
  import {
69
69
  CONFIG_DIR_NAME,
70
70
  DEFAULT_MAX_TOOL_OUTPUT_CHARS_CAP,
@@ -73,7 +73,7 @@ import {
73
73
  SUBAGENT_ALLOWED_TOOLS,
74
74
  SUBAGENT_DEFAULT_MAX_ROUNDS,
75
75
  SUBAGENT_MAX_ROUNDS_LIMIT
76
- } from "./chunk-IAI2FAX4.js";
76
+ } from "./chunk-CVWR3VYH.js";
77
77
  import {
78
78
  getCurrentSessionKey,
79
79
  getExecutionConfigDir,
@@ -89,6 +89,7 @@ var SHELL = IS_WINDOWS2 ? "powershell.exe" : posixShell();
89
89
  var pool = /* @__PURE__ */ new Map();
90
90
  var IDLE_EVICT_MS = 5 * 6e4;
91
91
  var evictionTimer = null;
92
+ var WIN_STDIN_TO_NUL = `try { if (-not ('AicliNative.StdIn' -as [type])) { Add-Type -Namespace AicliNative -Name StdIn -MemberDefinition '[DllImport("kernel32.dll")] public static extern bool SetStdHandle(int n, System.IntPtr h); [DllImport("kernel32.dll", CharSet=CharSet.Unicode)] public static extern System.IntPtr CreateFileW(string f, uint a, uint s, System.IntPtr sa, uint c, uint fl, System.IntPtr t);' }; $__aicli_nul = [AicliNative.StdIn]::CreateFileW('NUL', [uint32]2147483648, 3, [IntPtr]::Zero, 3, 0, [IntPtr]::Zero); if ($__aicli_nul -ne [IntPtr]-1) { [void][AicliNative.StdIn]::SetStdHandle(-10, $__aicli_nul) } } catch { }; $Error.Clear()`;
92
93
  function spawnShell(cwd) {
93
94
  const shellArgs = IS_WINDOWS2 ? ["-NoProfile", "-NonInteractive", "-Command", "-"] : ["-s"];
94
95
  const proc = spawn(SHELL, shellArgs, {
@@ -100,6 +101,7 @@ function spawnShell(cwd) {
100
101
  // died and grandchildren were orphaned (2026-10-07 audit A-01).
101
102
  detached: !IS_WINDOWS2
102
103
  });
104
+ if (IS_WINDOWS2) proc.stdin?.write(WIN_STDIN_TO_NUL + "\n");
103
105
  proc.on("exit", () => {
104
106
  for (const [key, entry] of pool) {
105
107
  if (entry.proc === proc) {
@@ -139,7 +141,7 @@ __aicli_rc=$?; echo "${stderrMarker(id)}" >&2; echo "${markerEnd}:$__aicli_rc"`;
139
141
  }
140
142
  const b64 = Buffer.from(command, "utf-8").toString("base64");
141
143
  const decoded = `[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('${b64}'))`;
142
- return `${WIN_UTF8_PREAMBLE} Write-Output "${markerStart}"; $global:LASTEXITCODE = 0; Invoke-Expression (${decoded}); $__ok = $?; $__ec = $LASTEXITCODE; $__code = if ($null -ne $__ec -and $__ec -ne 0) { $__ec } elseif ($__ok) { 0 } else { 1 }; Write-Output "${markerEnd}:$__code"`;
144
+ return `${WIN_UTF8_PREAMBLE} Write-Output "${markerStart}"; $global:LASTEXITCODE = 0; $global:__aicli_ok = $null; try { $__aicli_src = ${decoded}; $null = [scriptblock]::Create($__aicli_src); . ([scriptblock]::Create($__aicli_src + "\`n" + '$global:__aicli_ok = $?')) } catch { [Console]::Error.WriteLine(($_ | Out-String).TrimEnd()); $global:__aicli_ok = $false }; $__ec = $LASTEXITCODE; if ($global:__aicli_ok -eq $false -and $__ec -eq 0 -and $Error.Count -gt 0 -and "$($Error[0].FullyQualifiedErrorId)" -like 'NativeCommandError*') { $global:__aicli_ok = $true }; $__code = if ($null -ne $__ec -and $__ec -ne 0) { $__ec } elseif ($global:__aicli_ok -eq $false) { 1 } else { 0 }; Write-Output "${markerEnd}:$__code"`;
143
145
  }
144
146
  async function execInPool(sessionKey, command, timeout, cwd, abortSignal) {
145
147
  let entry = pool.get(sessionKey);
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  TEST_TIMEOUT
4
- } from "./chunk-IAI2FAX4.js";
4
+ } from "./chunk-CVWR3VYH.js";
5
5
  import {
6
6
  getExecutionConfigDir,
7
7
  getExecutionSignal
@@ -11,7 +11,7 @@ import {
11
11
  CONFIG_FILE_NAME,
12
12
  HISTORY_DIR_NAME,
13
13
  PLUGINS_DIR_NAME
14
- } from "./chunk-IAI2FAX4.js";
14
+ } from "./chunk-CVWR3VYH.js";
15
15
 
16
16
  // src/config/config-manager.ts
17
17
  import { readFileSync, existsSync, mkdirSync } from "fs";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  VERSION
4
- } from "./chunk-IAI2FAX4.js";
4
+ } from "./chunk-CVWR3VYH.js";
5
5
 
6
6
  // src/cli/ci-format.ts
7
7
  var DEFAULT_CI_THRESHOLDS = {
@@ -13,7 +13,7 @@ import {
13
13
  MEMORY_FILE_NAME,
14
14
  MEMORY_MAX_CHARS,
15
15
  MEMORY_STORE_FILE_NAME
16
- } from "./chunk-IAI2FAX4.js";
16
+ } from "./chunk-CVWR3VYH.js";
17
17
 
18
18
  // src/memory/persistent-memory.ts
19
19
  import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from "fs";
@@ -12,7 +12,7 @@ import {
12
12
  MEMORY_FILE_NAME,
13
13
  MEMORY_MAX_CHARS,
14
14
  MEMORY_STORE_FILE_NAME
15
- } from "./chunk-RFJV47EQ.js";
15
+ } from "./chunk-GCYH5WOZ.js";
16
16
 
17
17
  // src/memory/persistent-memory.ts
18
18
  import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from "fs";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-QMFMST2T.js";
5
5
  import {
6
6
  TEST_TIMEOUT
7
- } from "./chunk-RFJV47EQ.js";
7
+ } from "./chunk-GCYH5WOZ.js";
8
8
 
9
9
  // src/tools/builtin/run-tests.ts
10
10
  import { spawn as spawn2 } from "child_process";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  CONFIG_DIR_NAME,
10
10
  PLUGINS_DIR_NAME
11
- } from "./chunk-IAI2FAX4.js";
11
+ } from "./chunk-CVWR3VYH.js";
12
12
 
13
13
  // src/diagnostics/tool-stats.ts
14
14
  import { mkdirSync } from "fs";
@@ -3,16 +3,16 @@ import {
3
3
  CI_COMMENT_MARKER,
4
4
  countSeverity,
5
5
  runCi
6
- } from "./chunk-MX3SLCEP.js";
7
- import "./chunk-CSXGOHLG.js";
6
+ } from "./chunk-3ALMUKHF.js";
7
+ import "./chunk-NBNRQ44O.js";
8
8
  import "./chunk-HLWUDRBO.js";
9
9
  import "./chunk-6YZEZFX5.js";
10
10
  import "./chunk-PIX4ZPFB.js";
11
- import "./chunk-2C7NMQBY.js";
11
+ import "./chunk-N6QFHXSF.js";
12
12
  import "./chunk-E2W2MI6H.js";
13
13
  import "./chunk-TU3L3PW7.js";
14
14
  import "./chunk-BMLQPSHP.js";
15
- import "./chunk-IAI2FAX4.js";
15
+ import "./chunk-CVWR3VYH.js";
16
16
  export {
17
17
  CI_COMMENT_MARKER,
18
18
  countSeverity,
@@ -6,8 +6,8 @@ import {
6
6
  formatCiResult,
7
7
  formatCiSarif,
8
8
  normalizeCiThresholds
9
- } from "./chunk-CSXGOHLG.js";
10
- import "./chunk-IAI2FAX4.js";
9
+ } from "./chunk-NBNRQ44O.js";
10
+ import "./chunk-CVWR3VYH.js";
11
11
  export {
12
12
  DEFAULT_CI_THRESHOLDS,
13
13
  detectCiGateSignals,
@@ -39,7 +39,7 @@ import {
39
39
  TEST_TIMEOUT,
40
40
  VERSION,
41
41
  buildUserIdentityPrompt
42
- } from "./chunk-IAI2FAX4.js";
42
+ } from "./chunk-CVWR3VYH.js";
43
43
  export {
44
44
  AGENTIC_BEHAVIOR_GUIDELINE,
45
45
  APP_NAME,
@@ -38,7 +38,7 @@ import {
38
38
  TEST_TIMEOUT,
39
39
  VERSION,
40
40
  buildUserIdentityPrompt
41
- } from "./chunk-RFJV47EQ.js";
41
+ } from "./chunk-GCYH5WOZ.js";
42
42
  export {
43
43
  AGENTIC_BEHAVIOR_GUIDELINE,
44
44
  APP_NAME,
@@ -2,16 +2,16 @@
2
2
  import {
3
3
  formatDoctorReport,
4
4
  runDoctorCli
5
- } from "./chunk-TEJHNHNO.js";
6
- import "./chunk-IVVPYBGG.js";
5
+ } from "./chunk-5BS2NVSB.js";
6
+ import "./chunk-WDD76ALZ.js";
7
7
  import "./chunk-RS7SKYTS.js";
8
8
  import "./chunk-PIX4ZPFB.js";
9
- import "./chunk-2C7NMQBY.js";
9
+ import "./chunk-N6QFHXSF.js";
10
10
  import "./chunk-E2W2MI6H.js";
11
11
  import "./chunk-TU3L3PW7.js";
12
12
  import "./chunk-HOSJZMQS.js";
13
13
  import "./chunk-BMLQPSHP.js";
14
- import "./chunk-IAI2FAX4.js";
14
+ import "./chunk-CVWR3VYH.js";
15
15
  export {
16
16
  formatDoctorReport,
17
17
  runDoctorCli
@@ -55,7 +55,7 @@ import {
55
55
  touchMemoryReferences,
56
56
  updateMemoryApproval,
57
57
  updateMemoryEntry
58
- } from "./chunk-IBKFJFLM.js";
58
+ } from "./chunk-PXJ3XVR5.js";
59
59
  import {
60
60
  DEFAULT_PATTERNS,
61
61
  redactJson,
@@ -81,7 +81,7 @@ import {
81
81
  recoverGbkMojibake,
82
82
  runTestsTool,
83
83
  shellInvocation
84
- } from "./chunk-JYDLKJEQ.js";
84
+ } from "./chunk-TJFHBYQ3.js";
85
85
  import {
86
86
  getCurrentSessionKey,
87
87
  getExecutionConfigDir,
@@ -123,7 +123,7 @@ import {
123
123
  SUBAGENT_MAX_ROUNDS_LIMIT,
124
124
  VERSION,
125
125
  buildUserIdentityPrompt
126
- } from "./chunk-RFJV47EQ.js";
126
+ } from "./chunk-GCYH5WOZ.js";
127
127
 
128
128
  // src/web/access.ts
129
129
  import { randomBytes, timingSafeEqual } from "crypto";
@@ -6234,6 +6234,7 @@ var SHELL = IS_WINDOWS2 ? "powershell.exe" : posixShell();
6234
6234
  var pool = /* @__PURE__ */ new Map();
6235
6235
  var IDLE_EVICT_MS = 5 * 6e4;
6236
6236
  var evictionTimer = null;
6237
+ var WIN_STDIN_TO_NUL = `try { if (-not ('AicliNative.StdIn' -as [type])) { Add-Type -Namespace AicliNative -Name StdIn -MemberDefinition '[DllImport("kernel32.dll")] public static extern bool SetStdHandle(int n, System.IntPtr h); [DllImport("kernel32.dll", CharSet=CharSet.Unicode)] public static extern System.IntPtr CreateFileW(string f, uint a, uint s, System.IntPtr sa, uint c, uint fl, System.IntPtr t);' }; $__aicli_nul = [AicliNative.StdIn]::CreateFileW('NUL', [uint32]2147483648, 3, [IntPtr]::Zero, 3, 0, [IntPtr]::Zero); if ($__aicli_nul -ne [IntPtr]-1) { [void][AicliNative.StdIn]::SetStdHandle(-10, $__aicli_nul) } } catch { }; $Error.Clear()`;
6237
6238
  function spawnShell(cwd) {
6238
6239
  const shellArgs = IS_WINDOWS2 ? ["-NoProfile", "-NonInteractive", "-Command", "-"] : ["-s"];
6239
6240
  const proc = spawn(SHELL, shellArgs, {
@@ -6245,6 +6246,7 @@ function spawnShell(cwd) {
6245
6246
  // died and grandchildren were orphaned (2026-10-07 audit A-01).
6246
6247
  detached: !IS_WINDOWS2
6247
6248
  });
6249
+ if (IS_WINDOWS2) proc.stdin?.write(WIN_STDIN_TO_NUL + "\n");
6248
6250
  proc.on("exit", () => {
6249
6251
  for (const [key, entry] of pool) {
6250
6252
  if (entry.proc === proc) {
@@ -6284,7 +6286,7 @@ __aicli_rc=$?; echo "${stderrMarker(id)}" >&2; echo "${markerEnd}:$__aicli_rc"`;
6284
6286
  }
6285
6287
  const b64 = Buffer.from(command, "utf-8").toString("base64");
6286
6288
  const decoded = `[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('${b64}'))`;
6287
- return `${WIN_UTF8_PREAMBLE} Write-Output "${markerStart}"; $global:LASTEXITCODE = 0; Invoke-Expression (${decoded}); $__ok = $?; $__ec = $LASTEXITCODE; $__code = if ($null -ne $__ec -and $__ec -ne 0) { $__ec } elseif ($__ok) { 0 } else { 1 }; Write-Output "${markerEnd}:$__code"`;
6289
+ return `${WIN_UTF8_PREAMBLE} Write-Output "${markerStart}"; $global:LASTEXITCODE = 0; $global:__aicli_ok = $null; try { $__aicli_src = ${decoded}; $null = [scriptblock]::Create($__aicli_src); . ([scriptblock]::Create($__aicli_src + "\`n" + '$global:__aicli_ok = $?')) } catch { [Console]::Error.WriteLine(($_ | Out-String).TrimEnd()); $global:__aicli_ok = $false }; $__ec = $LASTEXITCODE; if ($global:__aicli_ok -eq $false -and $__ec -eq 0 -and $Error.Count -gt 0 -and "$($Error[0].FullyQualifiedErrorId)" -like 'NativeCommandError*') { $global:__aicli_ok = $true }; $__code = if ($null -ne $__ec -and $__ec -ne 0) { $__ec } elseif ($global:__aicli_ok -eq $false) { 1 } else { 0 }; Write-Output "${markerEnd}:$__code"`;
6288
6290
  }
6289
6291
  async function execInPool(sessionKey, command, timeout, cwd, abortSignal) {
6290
6292
  let entry = pool.get(sessionKey);
@@ -17725,7 +17727,7 @@ Cache: write=${cacheCreate} read=${cacheRead}` : "";
17725
17727
  Cost: ${formatCost(cost)}` : "";
17726
17728
  let memoryLine = "";
17727
17729
  try {
17728
- const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-7UQU5XVH.js");
17730
+ const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-OAFPFGKB.js");
17729
17731
  const pending = countPendingMemories2(ctx.config.getConfigDir());
17730
17732
  if (pending > 0) memoryLine = `
17731
17733
  Memory: \u26A0 ${pending} pending approval \u2014 see the Memory panel or /memory`;
@@ -18713,7 +18715,7 @@ async function handleTest(args, ctx) {
18713
18715
  const isCommand = argStr.includes(" ") || /^(mvn|gradle|npm|pytest|cargo|go)\b/.test(argStr);
18714
18716
  testArgs = isCommand ? { command: argStr } : { filter: argStr };
18715
18717
  }
18716
- const runTests = ctx.runTests ?? (await import("./run-tests-66SUUBDO.js")).executeTests;
18718
+ const runTests = ctx.runTests ?? (await import("./run-tests-7AOMBU2D.js")).executeTests;
18717
18719
  const report = await runTests(testArgs);
18718
18720
  ctx.send({ type: "info", message: report });
18719
18721
  } catch (err) {
@@ -19104,7 +19106,7 @@ async function handleMemory(args, ctx) {
19104
19106
  }
19105
19107
  if (intent.kind === "status") {
19106
19108
  const { getChatIndexStatus: getChatIndexStatus2 } = await import("./chat-index-RLVLQRRC.js");
19107
- const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-7UQU5XVH.js");
19109
+ const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-OAFPFGKB.js");
19108
19110
  const memories = listMemoryEntries2(configDir, { includeExpired: true, includeRejected: true });
19109
19111
  const injected = formatMemoryForPrompt2(configDir, process.cwd(), ctx.config.get("memory")?.maxChars);
19110
19112
  const view = buildMemoryStatusView({
@@ -19127,7 +19129,7 @@ async function handleMemory(args, ctx) {
19127
19129
  return;
19128
19130
  }
19129
19131
  if (intent.kind === "recall") {
19130
- const { searchPersistentMemories: searchPersistentMemories2, touchMemoryReferences: touchMemoryReferences2 } = await import("./persistent-memory-7UQU5XVH.js");
19132
+ const { searchPersistentMemories: searchPersistentMemories2, touchMemoryReferences: touchMemoryReferences2 } = await import("./persistent-memory-OAFPFGKB.js");
19131
19133
  const { searchChatMemory: searchChatMemory2 } = await import("./chat-index-RLVLQRRC.js");
19132
19134
  const persistentHits = searchPersistentMemories2(configDir, intent.query, process.cwd(), 3);
19133
19135
  if (persistentHits.length > 0) {
@@ -19248,7 +19250,7 @@ async function handleMemory(args, ctx) {
19248
19250
  ctx.handleMemoryManage(intent.action, args[1], intent.action === "expire" ? args[2] : void 0);
19249
19251
  } else if (intent.kind === "export") {
19250
19252
  if (args[1] === "md") {
19251
- const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-7UQU5XVH.js");
19253
+ const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-OAFPFGKB.js");
19252
19254
  ctx.send({
19253
19255
  type: "export_data",
19254
19256
  format: "md",
@@ -20253,7 +20255,7 @@ No tools match "${filter}".
20253
20255
  const { join: join26 } = await import("path");
20254
20256
  const { existsSync: existsSync32 } = await import("fs");
20255
20257
  const { getGitRoot: getGitRoot2 } = await import("./git-context-VNCA2GU7.js");
20256
- const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-ZC7ZATE4.js");
20258
+ const { MCP_PROJECT_CONFIG_NAME: MCP_PROJECT_CONFIG_NAME2 } = await import("./constants-W2CH36YR.js");
20257
20259
  const { approveProject, hashMcpFile } = await import("./project-trust-6CJB5ZMX.js");
20258
20260
  const cwd = process.cwd();
20259
20261
  const projectRoot = getGitRoot2(cwd) ?? cwd;
@@ -21172,7 +21174,7 @@ function createReviewCommands() {
21172
21174
  usage: "/test [command|filter]",
21173
21175
  async execute(args, ctx) {
21174
21176
  try {
21175
- const { executeTests } = await import("./run-tests-66SUUBDO.js");
21177
+ const { executeTests } = await import("./run-tests-7AOMBU2D.js");
21176
21178
  const argStr = args.join(" ").trim();
21177
21179
  let testArgs = {};
21178
21180
  if (argStr) {
@@ -158,7 +158,7 @@ ${content}`);
158
158
  }
159
159
  }
160
160
  async function runTaskMode(config, providers, configManager, topic) {
161
- const { TaskOrchestrator } = await import("./task-orchestrator-G7TSF5Q3.js");
161
+ const { TaskOrchestrator } = await import("./task-orchestrator-7H7UYCU7.js");
162
162
  const orchestrator = new TaskOrchestrator(config, providers, configManager);
163
163
  let interrupted = false;
164
164
  const onSigint = () => {
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ import {
24
24
  setupProxy,
25
25
  snapshotFile,
26
26
  stripRoutingTags
27
- } from "./chunk-IOPPS6ST.js";
27
+ } from "./chunk-C52FQ3ZE.js";
28
28
  import {
29
29
  CostTracker,
30
30
  getPricing,
@@ -47,7 +47,7 @@ import {
47
47
  setMaxOutputCap,
48
48
  spawnAgentContext,
49
49
  undoStack
50
- } from "./chunk-4YKQD5RW.js";
50
+ } from "./chunk-GVVYQJYF.js";
51
51
  import "./chunk-HLWUDRBO.js";
52
52
  import {
53
53
  NO_THINKING,
@@ -60,7 +60,7 @@ import {
60
60
  countPendingMemories,
61
61
  detectStaleLegacyMarkdownEdit,
62
62
  formatMemoryForPrompt
63
- } from "./chunk-YCGWWBHF.js";
63
+ } from "./chunk-NI7YIDLF.js";
64
64
  import "./chunk-RWRZVQCB.js";
65
65
  import "./chunk-B3MPYI4E.js";
66
66
  import "./chunk-M6HLYG33.js";
@@ -81,14 +81,14 @@ import {
81
81
  import {
82
82
  loadContextFiles,
83
83
  writeCrashLog
84
- } from "./chunk-TEJHNHNO.js";
84
+ } from "./chunk-5BS2NVSB.js";
85
85
  import {
86
86
  getActivePluginAssets,
87
87
  getPendingHookTrust,
88
88
  installFlushOnExit,
89
89
  mergePluginHooks,
90
90
  runLifecycleHooks
91
- } from "./chunk-IVVPYBGG.js";
91
+ } from "./chunk-WDD76ALZ.js";
92
92
  import "./chunk-RS7SKYTS.js";
93
93
  import {
94
94
  ProviderRegistry,
@@ -96,7 +96,7 @@ import {
96
96
  } from "./chunk-PIX4ZPFB.js";
97
97
  import {
98
98
  ConfigManager
99
- } from "./chunk-2C7NMQBY.js";
99
+ } from "./chunk-N6QFHXSF.js";
100
100
  import {
101
101
  CONTENT_ONLY_STREAM_REMINDER,
102
102
  TEE_FINAL_USER_NUDGE,
@@ -134,7 +134,7 @@ import {
134
134
  isInterrupted,
135
135
  requestInterrupt,
136
136
  resetInterrupt
137
- } from "./chunk-AYDP3HFZ.js";
137
+ } from "./chunk-KS6RNA4E.js";
138
138
  import {
139
139
  AGENTIC_BEHAVIOR_GUIDELINE,
140
140
  AUTHOR,
@@ -152,7 +152,7 @@ import {
152
152
  SKILLS_DIR_NAME,
153
153
  VERSION,
154
154
  buildUserIdentityPrompt
155
- } from "./chunk-IAI2FAX4.js";
155
+ } from "./chunk-CVWR3VYH.js";
156
156
  import "./chunk-SXIJLSVF.js";
157
157
 
158
158
  // src/index.ts
@@ -4116,7 +4116,7 @@ program.command("web").description("Start Web UI server with browser-based chat
4116
4116
  console.error("Error: Invalid port number. Must be between 1 and 65535.");
4117
4117
  process.exit(1);
4118
4118
  }
4119
- const { startWebServer } = await import("./server-Y63DU44H.js");
4119
+ const { startWebServer } = await import("./server-SK4JQWT5.js");
4120
4120
  await startWebServer({ port, host: options.host, externalOrigin: options.externalOrigin });
4121
4121
  });
4122
4122
  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) => {
@@ -4283,11 +4283,11 @@ program.command("sessions").description("List recent conversation sessions").opt
4283
4283
  console.log(footer + "\n");
4284
4284
  });
4285
4285
  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) => {
4286
- const { runUsageCli } = await import("./usage-SODWISIA.js");
4286
+ const { runUsageCli } = await import("./usage-F6BD7DHL.js");
4287
4287
  await runUsageCli(options);
4288
4288
  });
4289
4289
  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) => {
4290
- const { runDoctorCli } = await import("./doctor-cli-JSXZ45K3.js");
4290
+ const { runDoctorCli } = await import("./doctor-cli-6C3WJTL5.js");
4291
4291
  const argv = process.argv.slice(2);
4292
4292
  await runDoctorCli({
4293
4293
  json: !!options.json || argv.includes("--json"),
@@ -4296,7 +4296,7 @@ program.command("doctor").description("Health check: API keys, config, MCP, rece
4296
4296
  });
4297
4297
  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) => {
4298
4298
  try {
4299
- const batch = await import("./batch-TXSH37GQ.js");
4299
+ const batch = await import("./batch-BGKTM75D.js");
4300
4300
  switch (action) {
4301
4301
  case "submit":
4302
4302
  if (!arg) {
@@ -4339,7 +4339,7 @@ program.command("batch <action> [arg] [arg2]").description("Anthropic Message Ba
4339
4339
  }
4340
4340
  });
4341
4341
  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) => {
4342
- const { startMcpServer } = await import("./server-6J4542BD.js");
4342
+ const { startMcpServer } = await import("./server-O75UHHR7.js");
4343
4343
  await startMcpServer({
4344
4344
  allowDestructive: !!options.allowDestructive,
4345
4345
  allowOutsideCwd: !!options.allowOutsideCwd,
@@ -4352,7 +4352,7 @@ program.command("pr <action> [target]").description("PR review helpers: review |
4352
4352
  console.error(`Unknown pr action: ${action}. Use review | security-review | summarize.`);
4353
4353
  process.exit(1);
4354
4354
  }
4355
- const { runPrCli } = await import("./pr-2MGEREWJ.js");
4355
+ const { runPrCli } = await import("./pr-5PMXXHH6.js");
4356
4356
  const result = await runPrCli({
4357
4357
  action,
4358
4358
  target,
@@ -4372,8 +4372,8 @@ program.command("pr <action> [target]").description("PR review helpers: review |
4372
4372
  process.exit(result.exitCode);
4373
4373
  });
4374
4374
  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 or URL; diff fetched via gh pr diff <value>", (v) => /^#?\d+$/.test(v) ? parseInt(v.replace(/^#/, ""), 10) : v).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)").option("--json", "Output a structured JSON report").option("--markdown", "Output Markdown report (default)").option("--sarif", "Output SARIF 2.1.0 for code scanning artifacts").option("--fail-on-security-high", "Fail when the security review contains HIGH/CRITICAL findings (default)").option("--no-fail-on-security-high", "Do not fail on security HIGH/CRITICAL findings").option("--fail-on-test-failure", "Fail when the report mentions test failures (default)").option("--no-fail-on-test-failure", "Do not fail on test failure findings").option("--fail-on-lint-failure", "Fail when the report mentions lint/typecheck failures (default)").option("--no-fail-on-lint-failure", "Do not fail on lint/typecheck failure findings").action(async (options) => {
4375
- const { runCi } = await import("./ci-7TNQQRFB.js");
4376
- const { formatCiResult } = await import("./ci-format-K56H66E3.js");
4375
+ const { runCi } = await import("./ci-OE7Q3UOI.js");
4376
+ const { formatCiResult } = await import("./ci-format-OWSFR34D.js");
4377
4377
  const formats = [options.json, options.markdown, options.sarif].filter(Boolean).length;
4378
4378
  if (formats > 1) {
4379
4379
  console.error("Choose only one output format: --json, --markdown, or --sarif.");
@@ -4532,7 +4532,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
4532
4532
  config.get("customProviders"),
4533
4533
  config.getConfigDir()
4534
4534
  );
4535
- const { startHub } = await import("./hub-IJSXOA4J.js");
4535
+ const { startHub } = await import("./hub-RHMDL74E.js");
4536
4536
  await startHub(
4537
4537
  {
4538
4538
  topic: topic ?? "",
@@ -27,11 +27,11 @@ import {
27
27
  touchMemoryReferences,
28
28
  updateMemoryApproval,
29
29
  updateMemoryEntry
30
- } from "./chunk-IBKFJFLM.js";
30
+ } from "./chunk-PXJ3XVR5.js";
31
31
  import "./chunk-FSC6KEWU.js";
32
32
  import "./chunk-2XMUCC42.js";
33
33
  import "./chunk-CGLYJRFA.js";
34
- import "./chunk-RFJV47EQ.js";
34
+ import "./chunk-GCYH5WOZ.js";
35
35
  export {
36
36
  addMemoryEntry,
37
37
  backupMemoryStore,
@@ -28,11 +28,11 @@ import {
28
28
  touchMemoryReferences,
29
29
  updateMemoryApproval,
30
30
  updateMemoryEntry
31
- } from "./chunk-YCGWWBHF.js";
31
+ } from "./chunk-NI7YIDLF.js";
32
32
  import "./chunk-3FEZSLGI.js";
33
33
  import "./chunk-HOSJZMQS.js";
34
34
  import "./chunk-BMLQPSHP.js";
35
- import "./chunk-IAI2FAX4.js";
35
+ import "./chunk-CVWR3VYH.js";
36
36
  export {
37
37
  addMemoryEntry,
38
38
  backupMemoryStore,
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  countSeverity,
4
4
  runCi
5
- } from "./chunk-MX3SLCEP.js";
6
- import "./chunk-CSXGOHLG.js";
5
+ } from "./chunk-3ALMUKHF.js";
6
+ import "./chunk-NBNRQ44O.js";
7
7
  import {
8
8
  buildReviewPrompt,
9
9
  buildSecurityReviewPrompt,
@@ -17,13 +17,13 @@ import {
17
17
  } from "./chunk-PIX4ZPFB.js";
18
18
  import {
19
19
  ConfigManager
20
- } from "./chunk-2C7NMQBY.js";
20
+ } from "./chunk-N6QFHXSF.js";
21
21
  import "./chunk-E2W2MI6H.js";
22
22
  import "./chunk-TU3L3PW7.js";
23
23
  import "./chunk-BMLQPSHP.js";
24
24
  import {
25
25
  VERSION
26
- } from "./chunk-IAI2FAX4.js";
26
+ } from "./chunk-CVWR3VYH.js";
27
27
 
28
28
  // src/cli/pr.ts
29
29
  import { execFileSync } from "child_process";
@@ -2,9 +2,9 @@ import {
2
2
  executeTests,
3
3
  runTestProcess,
4
4
  runTestsTool
5
- } from "./chunk-JYDLKJEQ.js";
5
+ } from "./chunk-TJFHBYQ3.js";
6
6
  import "./chunk-QMFMST2T.js";
7
- import "./chunk-RFJV47EQ.js";
7
+ import "./chunk-GCYH5WOZ.js";
8
8
  export {
9
9
  executeTests,
10
10
  runTestProcess,
@@ -3,8 +3,8 @@ import {
3
3
  executeTests,
4
4
  runTestProcess,
5
5
  runTestsTool
6
- } from "./chunk-AYDP3HFZ.js";
7
- import "./chunk-IAI2FAX4.js";
6
+ } from "./chunk-KS6RNA4E.js";
7
+ import "./chunk-CVWR3VYH.js";
8
8
  import "./chunk-SXIJLSVF.js";
9
9
  export {
10
10
  executeTests,
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ToolRegistry
4
- } from "./chunk-4YKQD5RW.js";
4
+ } from "./chunk-GVVYQJYF.js";
5
5
  import "./chunk-6JHACXB3.js";
6
- import "./chunk-YCGWWBHF.js";
6
+ import "./chunk-NI7YIDLF.js";
7
7
  import "./chunk-RWRZVQCB.js";
8
8
  import "./chunk-B3MPYI4E.js";
9
9
  import "./chunk-M6HLYG33.js";
@@ -14,7 +14,7 @@ import "./chunk-JL44HGZC.js";
14
14
  import "./chunk-3FEZSLGI.js";
15
15
  import {
16
16
  runTool
17
- } from "./chunk-IVVPYBGG.js";
17
+ } from "./chunk-WDD76ALZ.js";
18
18
  import "./chunk-RS7SKYTS.js";
19
19
  import {
20
20
  getDangerLevel,
@@ -24,10 +24,10 @@ import "./chunk-TU3L3PW7.js";
24
24
  import "./chunk-HOSJZMQS.js";
25
25
  import "./chunk-BMLQPSHP.js";
26
26
  import "./chunk-JJFJWD35.js";
27
- import "./chunk-AYDP3HFZ.js";
27
+ import "./chunk-KS6RNA4E.js";
28
28
  import {
29
29
  VERSION
30
- } from "./chunk-IAI2FAX4.js";
30
+ } from "./chunk-CVWR3VYH.js";
31
31
  import "./chunk-SXIJLSVF.js";
32
32
 
33
33
  // src/mcp/server.ts
@@ -86,7 +86,7 @@ import {
86
86
  skillHistoryNote,
87
87
  snapshotFile,
88
88
  stripRoutingTags
89
- } from "./chunk-IOPPS6ST.js";
89
+ } from "./chunk-C52FQ3ZE.js";
90
90
  import {
91
91
  CNY_PER_USD,
92
92
  CostTracker,
@@ -130,7 +130,7 @@ import {
130
130
  spawnAgentContext,
131
131
  truncateOutput,
132
132
  undoStack
133
- } from "./chunk-4YKQD5RW.js";
133
+ } from "./chunk-GVVYQJYF.js";
134
134
  import {
135
135
  buildReviewPrompt,
136
136
  buildSecurityReviewPrompt
@@ -157,7 +157,7 @@ import {
157
157
  restoreMemoryEntries,
158
158
  updateMemoryApproval,
159
159
  updateMemoryEntry
160
- } from "./chunk-YCGWWBHF.js";
160
+ } from "./chunk-NI7YIDLF.js";
161
161
  import "./chunk-RWRZVQCB.js";
162
162
  import "./chunk-B3MPYI4E.js";
163
163
  import "./chunk-M6HLYG33.js";
@@ -176,7 +176,7 @@ import {
176
176
  buildDoctorReport,
177
177
  formatDoctorReport,
178
178
  loadContextFiles
179
- } from "./chunk-TEJHNHNO.js";
179
+ } from "./chunk-5BS2NVSB.js";
180
180
  import {
181
181
  describePlugin,
182
182
  getActivePluginAssets,
@@ -191,14 +191,14 @@ import {
191
191
  runTool,
192
192
  setPluginEnabled,
193
193
  trustPlugin
194
- } from "./chunk-IVVPYBGG.js";
194
+ } from "./chunk-WDD76ALZ.js";
195
195
  import "./chunk-RS7SKYTS.js";
196
196
  import {
197
197
  ProviderRegistry
198
198
  } from "./chunk-PIX4ZPFB.js";
199
199
  import {
200
200
  ConfigManager
201
- } from "./chunk-2C7NMQBY.js";
201
+ } from "./chunk-N6QFHXSF.js";
202
202
  import {
203
203
  CONTENT_ONLY_STREAM_REMINDER,
204
204
  TEE_FINAL_USER_NUDGE,
@@ -231,7 +231,7 @@ import {
231
231
  import {
232
232
  assertReadablePath
233
233
  } from "./chunk-JJFJWD35.js";
234
- import "./chunk-AYDP3HFZ.js";
234
+ import "./chunk-KS6RNA4E.js";
235
235
  import {
236
236
  AGENTIC_BEHAVIOR_GUIDELINE,
237
237
  AUTHOR,
@@ -247,7 +247,7 @@ import {
247
247
  SKILLS_DIR_NAME,
248
248
  VERSION,
249
249
  buildUserIdentityPrompt
250
- } from "./chunk-IAI2FAX4.js";
250
+ } from "./chunk-CVWR3VYH.js";
251
251
  import {
252
252
  runWithExecutionContext,
253
253
  runWithSessionKey
@@ -978,7 +978,7 @@ Cache: write=${cacheCreate} read=${cacheRead}` : "";
978
978
  Cost: ${formatCost(cost)}` : "";
979
979
  let memoryLine = "";
980
980
  try {
981
- const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-MTYZ3CSO.js");
981
+ const { countPendingMemories: countPendingMemories2 } = await import("./persistent-memory-S2QLVL43.js");
982
982
  const pending = countPendingMemories2(ctx.config.getConfigDir());
983
983
  if (pending > 0) memoryLine = `
984
984
  Memory: \u26A0 ${pending} pending approval \u2014 see the Memory panel or /memory`;
@@ -1907,7 +1907,7 @@ async function handleTest(args, ctx) {
1907
1907
  const isCommand = argStr.includes(" ") || /^(mvn|gradle|npm|pytest|cargo|go)\b/.test(argStr);
1908
1908
  testArgs = isCommand ? { command: argStr } : { filter: argStr };
1909
1909
  }
1910
- const runTests = ctx.runTests ?? (await import("./run-tests-WOPRQ64C.js")).executeTests;
1910
+ const runTests = ctx.runTests ?? (await import("./run-tests-W773M3KK.js")).executeTests;
1911
1911
  const report = await runTests(testArgs);
1912
1912
  ctx.send({ type: "info", message: report });
1913
1913
  } catch (err) {
@@ -2183,7 +2183,7 @@ async function handleMemory(args, ctx) {
2183
2183
  }
2184
2184
  if (intent.kind === "status") {
2185
2185
  const { getChatIndexStatus } = await import("./chat-index-7CLR4CBG.js");
2186
- const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-MTYZ3CSO.js");
2186
+ const { listMemoryEntries: listMemoryEntries2, isMemoryExpired: isMemoryExpired2, formatMemoryForPrompt: formatMemoryForPrompt2 } = await import("./persistent-memory-S2QLVL43.js");
2187
2187
  const memories = listMemoryEntries2(configDir, { includeExpired: true, includeRejected: true });
2188
2188
  const injected = formatMemoryForPrompt2(configDir, process.cwd(), ctx.config.get("memory")?.maxChars);
2189
2189
  const view = buildMemoryStatusView({
@@ -2206,7 +2206,7 @@ async function handleMemory(args, ctx) {
2206
2206
  return;
2207
2207
  }
2208
2208
  if (intent.kind === "recall") {
2209
- const { searchPersistentMemories, touchMemoryReferences } = await import("./persistent-memory-MTYZ3CSO.js");
2209
+ const { searchPersistentMemories, touchMemoryReferences } = await import("./persistent-memory-S2QLVL43.js");
2210
2210
  const { searchChatMemory } = await import("./chat-index-7CLR4CBG.js");
2211
2211
  const persistentHits = searchPersistentMemories(configDir, intent.query, process.cwd(), 3);
2212
2212
  if (persistentHits.length > 0) {
@@ -2327,7 +2327,7 @@ async function handleMemory(args, ctx) {
2327
2327
  ctx.handleMemoryManage(intent.action, args[1], intent.action === "expire" ? args[2] : void 0);
2328
2328
  } else if (intent.kind === "export") {
2329
2329
  if (args[1] === "md") {
2330
- const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-MTYZ3CSO.js");
2330
+ const { exportMemoryEntries: exportMemoryEntries2 } = await import("./persistent-memory-S2QLVL43.js");
2331
2331
  ctx.send({
2332
2332
  type: "export_data",
2333
2333
  format: "md",
@@ -4,9 +4,9 @@ import {
4
4
  googleSearchContext,
5
5
  isToolCapableProvider,
6
6
  truncateOutput
7
- } from "./chunk-4YKQD5RW.js";
7
+ } from "./chunk-GVVYQJYF.js";
8
8
  import "./chunk-6JHACXB3.js";
9
- import "./chunk-YCGWWBHF.js";
9
+ import "./chunk-NI7YIDLF.js";
10
10
  import "./chunk-RWRZVQCB.js";
11
11
  import "./chunk-B3MPYI4E.js";
12
12
  import "./chunk-M6HLYG33.js";
@@ -17,7 +17,7 @@ import "./chunk-JL44HGZC.js";
17
17
  import "./chunk-3FEZSLGI.js";
18
18
  import {
19
19
  runTool
20
- } from "./chunk-IVVPYBGG.js";
20
+ } from "./chunk-WDD76ALZ.js";
21
21
  import "./chunk-RS7SKYTS.js";
22
22
  import {
23
23
  getDangerLevel,
@@ -29,10 +29,10 @@ import {
29
29
  atomicWriteFileSync
30
30
  } from "./chunk-BMLQPSHP.js";
31
31
  import "./chunk-JJFJWD35.js";
32
- import "./chunk-AYDP3HFZ.js";
32
+ import "./chunk-KS6RNA4E.js";
33
33
  import {
34
34
  SUBAGENT_ALLOWED_TOOLS
35
- } from "./chunk-IAI2FAX4.js";
35
+ } from "./chunk-CVWR3VYH.js";
36
36
  import "./chunk-SXIJLSVF.js";
37
37
 
38
38
  // src/hub/task-orchestrator.ts
@@ -9,10 +9,10 @@ import {
9
9
  import "./chunk-RS7SKYTS.js";
10
10
  import {
11
11
  ConfigManager
12
- } from "./chunk-2C7NMQBY.js";
12
+ } from "./chunk-N6QFHXSF.js";
13
13
  import "./chunk-TU3L3PW7.js";
14
14
  import "./chunk-BMLQPSHP.js";
15
- import "./chunk-IAI2FAX4.js";
15
+ import "./chunk-CVWR3VYH.js";
16
16
 
17
17
  // src/cli/usage.ts
18
18
  function classifyRowCost(row) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jinzd-ai-cli",
3
- "version": "0.4.324",
3
+ "version": "0.4.325",
4
4
  "description": "Cross-platform REPL-style AI CLI with multi-provider support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",