jinzd-ai-cli 0.4.281 → 0.4.283

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 (34) hide show
  1. package/dist/{batch-237ZXBQD.js → batch-6WWR4P5U.js} +2 -2
  2. package/dist/{chunk-5GYOQ7EF.js → chunk-2YVZTDP4.js} +1 -1
  3. package/dist/{chunk-J3RWNQOF.js → chunk-4J7FIGQD.js} +1 -1
  4. package/dist/{chunk-UTJQXG4P.js → chunk-CUS4FJVP.js} +3 -3
  5. package/dist/{chunk-FHRIDE2T.js → chunk-D7BIF6JO.js} +4 -4
  6. package/dist/{chunk-WUIOUJA2.js → chunk-F3YN754E.js} +1 -1
  7. package/dist/{chunk-6NO5FZW6.js → chunk-IUVDZVZ4.js} +18 -0
  8. package/dist/{chunk-IXEKDAIX.js → chunk-JR2J3V6J.js} +1 -1
  9. package/dist/{chunk-2FCKZ3OS.js → chunk-JSQGDPDK.js} +1 -1
  10. package/dist/{chunk-J5TXHFDO.js → chunk-LXJF46SO.js} +191 -4
  11. package/dist/{chunk-H2VE4TTN.js → chunk-M3UJ2JCW.js} +1 -1
  12. package/dist/{chunk-VB54ILH7.js → chunk-NUJTNH76.js} +1 -1
  13. package/dist/{chunk-4XJVSMZ6.js → chunk-QDOFRKY2.js} +1 -1
  14. package/dist/{chunk-BVGSR3BA.js → chunk-RALUII7R.js} +3 -3
  15. package/dist/{chunk-L7C34TFI.js → chunk-V4IY5CRJ.js} +1 -1
  16. package/dist/{chunk-JT2A2M4F.js → chunk-Z3QNLNSU.js} +1 -1
  17. package/dist/{ci-LXRTYJ6F.js → ci-FTS7XNWA.js} +4 -4
  18. package/dist/{ci-format-II3OT2VU.js → ci-format-N5PXGS7Y.js} +2 -2
  19. package/dist/{constants-X53QCUTP.js → constants-3B5KIPLK.js} +1 -1
  20. package/dist/{doctor-cli-6JCJEQR4.js → doctor-cli-VRMIEREY.js} +4 -4
  21. package/dist/electron-server.js +355 -77
  22. package/dist/{hub-RXAFF7QI.js → hub-TZET5544.js} +2 -2
  23. package/dist/index.js +153 -152
  24. package/dist/{persist-TBQILDSE.js → persist-S77WRVLD.js} +2 -2
  25. package/dist/{persistent-memory-7CKJLS25.js → persistent-memory-3OYRXF2L.js} +2 -2
  26. package/dist/{persistent-memory-WAKFKH2I.js → persistent-memory-IPCUJVWF.js} +2 -2
  27. package/dist/{pr-DZTRHAMG.js → pr-XUXWP52Z.js} +4 -4
  28. package/dist/{run-tests-4ESYEROQ.js → run-tests-3T5WRG62.js} +2 -2
  29. package/dist/{run-tests-XGCNUT5S.js → run-tests-PUOXATHQ.js} +2 -2
  30. package/dist/{server-6RYXFG3H.js → server-4XSDRPZM.js} +176 -82
  31. package/dist/{server-EFA7UP4I.js → server-WGEGVVY5.js} +5 -5
  32. package/dist/{task-orchestrator-H3AEIHR3.js → task-orchestrator-LEW2VSZD.js} +5 -5
  33. package/dist/{usage-W7TZWHY7.js → usage-7VEAXMMP.js} +2 -2
  34. package/package.json +1 -1
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ConfigManager
4
- } from "./chunk-4XJVSMZ6.js";
4
+ } from "./chunk-QDOFRKY2.js";
5
5
  import "./chunk-TU3L3PW7.js";
6
6
  import {
7
7
  atomicWriteFileSync
8
8
  } from "./chunk-IW3Q7AE5.js";
9
- import "./chunk-2FCKZ3OS.js";
9
+ import "./chunk-JSQGDPDK.js";
10
10
 
11
11
  // src/cli/batch.ts
12
12
  import Anthropic from "@anthropic-ai/sdk";
@@ -1,5 +1,5 @@
1
1
  // src/core/constants.ts
2
- var VERSION = "0.4.281";
2
+ var VERSION = "0.4.283";
3
3
  var APP_NAME = "ai-cli";
4
4
  var CONFIG_DIR_NAME = ".aicli";
5
5
  var CONFIG_FILE_NAME = "config.json";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  TEST_TIMEOUT
4
- } from "./chunk-2FCKZ3OS.js";
4
+ } from "./chunk-JSQGDPDK.js";
5
5
 
6
6
  // src/tools/builtin/run-tests.ts
7
7
  import { execSync, spawnSync } from "child_process";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  evaluateCiGate,
4
4
  normalizeCiThresholds
5
- } from "./chunk-JT2A2M4F.js";
5
+ } from "./chunk-Z3QNLNSU.js";
6
6
  import {
7
7
  buildReviewPrompt,
8
8
  buildSecurityReviewPrompt,
@@ -16,10 +16,10 @@ import {
16
16
  } from "./chunk-UGY5SVNX.js";
17
17
  import {
18
18
  ConfigManager
19
- } from "./chunk-4XJVSMZ6.js";
19
+ } from "./chunk-QDOFRKY2.js";
20
20
  import {
21
21
  VERSION
22
- } from "./chunk-2FCKZ3OS.js";
22
+ } from "./chunk-JSQGDPDK.js";
23
23
 
24
24
  // src/cli/ci.ts
25
25
  import { execFileSync } from "child_process";
@@ -11,7 +11,7 @@ import {
11
11
  searchPersistentMemories,
12
12
  touchMemoryReferences,
13
13
  updateMemoryEntry
14
- } from "./chunk-H2VE4TTN.js";
14
+ } from "./chunk-M3UJ2JCW.js";
15
15
  import {
16
16
  indexProject
17
17
  } from "./chunk-4DEMGCK4.js";
@@ -30,7 +30,7 @@ import {
30
30
  runHook,
31
31
  runLifecycleHooks,
32
32
  runTool
33
- } from "./chunk-L7C34TFI.js";
33
+ } from "./chunk-V4IY5CRJ.js";
34
34
  import {
35
35
  buildTruncatedArgumentsError,
36
36
  getDangerLevel,
@@ -50,14 +50,14 @@ import {
50
50
  } from "./chunk-4BKXL7SM.js";
51
51
  import {
52
52
  runTestsTool
53
- } from "./chunk-J3RWNQOF.js";
53
+ } from "./chunk-4J7FIGQD.js";
54
54
  import {
55
55
  CONFIG_DIR_NAME,
56
56
  DEFAULT_MAX_TOOL_OUTPUT_CHARS_CAP,
57
57
  SUBAGENT_ALLOWED_TOOLS,
58
58
  SUBAGENT_DEFAULT_MAX_ROUNDS,
59
59
  SUBAGENT_MAX_ROUNDS_LIMIT
60
- } from "./chunk-2FCKZ3OS.js";
60
+ } from "./chunk-JSQGDPDK.js";
61
61
 
62
62
  // src/tools/shell-pool.ts
63
63
  import { spawn as spawn2 } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TEST_TIMEOUT
3
- } from "./chunk-5GYOQ7EF.js";
3
+ } from "./chunk-2YVZTDP4.js";
4
4
 
5
5
  // src/tools/builtin/run-tests.ts
6
6
  import { execSync, spawnSync } from "child_process";
@@ -97,6 +97,24 @@ var Session = class _Session {
97
97
  this.updated = /* @__PURE__ */ new Date();
98
98
  this.dirty = true;
99
99
  }
100
+ /**
101
+ * 把对话截断到前 `count` 条(`/rewind` 用)。
102
+ *
103
+ * 存在的理由是 `dirty`:`messages` 是个普通公开字段,两端此前都直接
104
+ * `session.messages = session.messages.slice(0, n)`,**不会置脏**——于是 REPL 压根不存,
105
+ * Web 存了也被 `save()` 的 `if (!force && !dirty) return` 跳过。结果 `/rewind` 只改内存,
106
+ * 而它同时真的回退了磁盘上的文件:重启后文件是回退后的、对话是回退前的,
107
+ * 恰恰制造出 rewind 本身要消除的那种不一致(P2-02 第 6 批)。
108
+ *
109
+ * 落在截断点之后的检查点一并丢弃(它们指向已经不存在的消息)。
110
+ */
111
+ truncateTo(count) {
112
+ const target = Math.max(0, Math.min(count, this.messages.length));
113
+ this.messages = this.messages.slice(0, target);
114
+ this.checkpoints = this.checkpoints.filter((c) => c.messageIndex <= target);
115
+ this.updated = /* @__PURE__ */ new Date();
116
+ this.dirty = true;
117
+ }
100
118
  addMessage(message) {
101
119
  this.messages.push(message);
102
120
  this.updated = /* @__PURE__ */ new Date();
@@ -6,7 +6,7 @@ import {
6
6
  MEMORY_FILE_NAME,
7
7
  MEMORY_MAX_CHARS,
8
8
  MEMORY_STORE_FILE_NAME
9
- } from "./chunk-5GYOQ7EF.js";
9
+ } from "./chunk-2YVZTDP4.js";
10
10
  import {
11
11
  atomicWriteFileSync
12
12
  } from "./chunk-6BUTA5VW.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // src/core/constants.ts
4
- var VERSION = "0.4.281";
4
+ var VERSION = "0.4.283";
5
5
  var APP_NAME = "ai-cli";
6
6
  var CONFIG_DIR_NAME = ".aicli";
7
7
  var CONFIG_FILE_NAME = "config.json";
@@ -5,14 +5,14 @@ import {
5
5
  import {
6
6
  estimateTokens,
7
7
  truncateForPersist
8
- } from "./chunk-FHRIDE2T.js";
8
+ } from "./chunk-D7BIF6JO.js";
9
9
  import {
10
10
  isMemoryExpired,
11
11
  isMemoryStale
12
- } from "./chunk-H2VE4TTN.js";
12
+ } from "./chunk-M3UJ2JCW.js";
13
13
  import {
14
14
  getContentText
15
- } from "./chunk-6NO5FZW6.js";
15
+ } from "./chunk-IUVDZVZ4.js";
16
16
  import {
17
17
  isCleanDocumentBody,
18
18
  stripOuterCodeFence
@@ -30,7 +30,7 @@ import {
30
30
  MCP_PROTOCOL_VERSION,
31
31
  MCP_TOOL_PREFIX,
32
32
  VERSION
33
- } from "./chunk-2FCKZ3OS.js";
33
+ } from "./chunk-JSQGDPDK.js";
34
34
 
35
35
  // src/mcp/client.ts
36
36
  import { spawn } from "child_process";
@@ -2014,6 +2014,182 @@ function readGitDiff(options = {}) {
2014
2014
  }).trim();
2015
2015
  }
2016
2016
 
2017
+ // src/core/session-history.ts
2018
+ function parseRewindArgs(args, messageCount) {
2019
+ const sub = args[0];
2020
+ if (!sub || sub.toLowerCase() === "list") return { kind: "list" };
2021
+ const n = Number.parseInt(sub, 10);
2022
+ if (Number.isNaN(n) || n < 1 || n > messageCount) {
2023
+ return { kind: "invalid", message: `Invalid message number: ${sub}. Range: 1-${messageCount}` };
2024
+ }
2025
+ return { kind: "rewind", target: n };
2026
+ }
2027
+ function buildRewindList(messages, checkpointIndices, previewWidth = 70) {
2028
+ return messages.map((m, i) => ({
2029
+ index: i + 1,
2030
+ role: m.role,
2031
+ preview: getContentText(m.content).replace(/\s+/g, " ").trim().slice(0, previewWidth),
2032
+ hasCheckpoint: checkpointIndices.includes(i)
2033
+ }));
2034
+ }
2035
+ function formatRewindReport(report) {
2036
+ const lines = [
2037
+ `\u2713 Rewound to message ${report.target}`,
2038
+ ` Messages removed: ${report.messagesRemoved}`
2039
+ ];
2040
+ if (report.filesRestored > 0 || report.filesDeleted > 0) {
2041
+ lines.push(` Files restored: ${report.filesRestored}, files deleted: ${report.filesDeleted}`);
2042
+ for (const f of report.files) lines.push(` ${f}`);
2043
+ } else {
2044
+ lines.push(" No file changes to revert.");
2045
+ }
2046
+ return lines;
2047
+ }
2048
+ function resolveForkPoint(session, checkpointName) {
2049
+ const name = checkpointName?.trim();
2050
+ if (!name) {
2051
+ return { ok: true, messageCount: session.messages.length, fromLabel: "current position" };
2052
+ }
2053
+ const cp = session.checkpoints.find((c) => c.name === name);
2054
+ if (!cp) {
2055
+ const available = session.checkpoints.map((c) => c.name);
2056
+ return {
2057
+ ok: false,
2058
+ message: available.length > 0 ? `Checkpoint "${name}" not found. Available: ${available.join(", ")}` : `Checkpoint "${name}" not found. No checkpoints saved. Use /checkpoint save <name> first.`
2059
+ };
2060
+ }
2061
+ return {
2062
+ ok: true,
2063
+ messageCount: cp.messageIndex,
2064
+ fromLabel: `checkpoint "${cp.name}" (${cp.messageIndex} messages)`
2065
+ };
2066
+ }
2067
+ function formatForkReport(report) {
2068
+ return [
2069
+ "Session Forked",
2070
+ ` Original: ${report.originalId.slice(0, 8)} "${report.originalTitle}"`,
2071
+ ` Forked: ${report.forkedId.slice(0, 8)} "${report.forkedTitle}"`,
2072
+ ` From: ${report.fromLabel}`,
2073
+ ` Messages: ${report.messageCount} copied, ${report.checkpointCount} checkpoint(s) preserved`,
2074
+ ` Use /session load ${report.originalId.slice(0, 8)} to switch back to the original.`
2075
+ ];
2076
+ }
2077
+
2078
+ // src/core/memory-command.ts
2079
+ var MEMORY_USAGE = "Governed persistent memory: show [--pending|--orphaned|--stale <days>|--scope <s>|--search <text>] | add | edit <id> <text> | approve/reject/delete/expire <id> | rebind <id> <path> | clear | backup [--out <file>] | restore <file> | export [--format json|md] [--out <file>] | path\nChat memory index (cross-session recall): rebuild | refresh | status | recall <query> | index-clear";
2080
+ function parseMemoryCommand(args) {
2081
+ const sub = (args[0] ?? "show").toLowerCase();
2082
+ const rest = args.slice(1);
2083
+ switch (sub) {
2084
+ case "rebuild":
2085
+ return { kind: "rebuild", full: true };
2086
+ case "refresh":
2087
+ return { kind: "rebuild", full: false };
2088
+ case "status":
2089
+ return { kind: "status" };
2090
+ case "recall": {
2091
+ const query = rest.join(" ").trim();
2092
+ return query ? { kind: "recall", query } : { kind: "usage", message: "Usage: /memory recall <query>" };
2093
+ }
2094
+ case "index-clear":
2095
+ return { kind: "index-clear" };
2096
+ case "show":
2097
+ case "view":
2098
+ case "list":
2099
+ return { kind: "show", rest };
2100
+ case "add":
2101
+ return { kind: "add", rest };
2102
+ case "edit":
2103
+ return { kind: "edit", rest };
2104
+ case "approve":
2105
+ case "reject":
2106
+ case "delete":
2107
+ case "expire":
2108
+ return { kind: "manage", action: sub, rest };
2109
+ case "rebind":
2110
+ return { kind: "rebind", rest };
2111
+ case "export":
2112
+ return { kind: "export", rest };
2113
+ case "clear":
2114
+ return { kind: "clear", rest };
2115
+ case "backup":
2116
+ return { kind: "backup", rest };
2117
+ case "restore":
2118
+ return { kind: "restore", rest };
2119
+ case "path":
2120
+ return { kind: "path" };
2121
+ default:
2122
+ return { kind: "usage", message: `Unknown /memory subcommand "${args[0]}".
2123
+ ${MEMORY_USAGE}` };
2124
+ }
2125
+ }
2126
+ var mb = (n) => `${(n / 1024 / 1024).toFixed(2)} MB`;
2127
+ function buildMemoryStatusView(input) {
2128
+ const governed = [
2129
+ { label: "active", value: String(input.active) }
2130
+ ];
2131
+ governed.push(
2132
+ input.pending > 0 ? {
2133
+ label: "pending",
2134
+ // 照着敲就能用(v0.4.250 定的口径):跳到待批准列表 + 点明 id 是 8 位
2135
+ value: `${input.pending} \u2014 run /memory show --pending, then /memory approve <8-char-id>`,
2136
+ warn: true
2137
+ } : { label: "pending", value: "0" }
2138
+ );
2139
+ if (input.injected) {
2140
+ const note = input.injected.truncated ? ` \u26A0 truncated \u2014 only newest ${input.injected.entryCount} of ${input.injected.totalCount} injected` : "";
2141
+ governed.push({
2142
+ label: "injected",
2143
+ value: `${input.injected.entryCount} of ${input.injected.totalCount} (${input.injected.chars} chars)${note}`,
2144
+ warn: input.injected.truncated
2145
+ });
2146
+ } else {
2147
+ governed.push({ label: "injected", value: "0" });
2148
+ }
2149
+ governed.push({ label: "store", value: input.storePath });
2150
+ if (!input.chatIndex.exists) {
2151
+ return { governed, chatIndex: [], chatIndexHint: "not built yet \u2014 run /memory rebuild" };
2152
+ }
2153
+ return {
2154
+ governed,
2155
+ chatIndex: [
2156
+ { label: "chunks", value: String(input.chatIndex.chunks) },
2157
+ { label: "sessions", value: String(input.chatIndex.sessions) },
2158
+ { label: "built", value: input.chatIndex.built?.replace("T", " ").slice(0, 19) ?? "-" },
2159
+ { label: "model", value: input.chatIndex.model ?? "-" },
2160
+ { label: "vec file", value: mb(input.chatIndex.vecFileSizeBytes) },
2161
+ { label: "chunks file", value: mb(input.chatIndex.chunksFileSizeBytes) }
2162
+ ],
2163
+ chatIndexHint: null
2164
+ };
2165
+ }
2166
+ function rebuildStartMessage(full) {
2167
+ return full ? "\u{1F9E0} Rebuilding chat memory index from scratch (this may take a while on first run \u2014 embedding model ~117 MB)\u2026" : "\u{1F9E0} Refreshing chat memory index (incremental)\u2026";
2168
+ }
2169
+ function rebuildDoneMessage(stats) {
2170
+ return `\u2713 Chat index: ${stats.chunksTotal} chunks (${stats.chunksAdded} new, ${stats.chunksRemoved} removed) across ${stats.sessionsIndexed + stats.sessionsSkipped} sessions (${stats.sessionsIndexed} re-indexed, ${stats.sessionsSkipped} cached) in ${stats.durationMs}ms`;
2171
+ }
2172
+ var clip = (text, max) => text.length > max ? `${text.slice(0, max)}\u2026` : text;
2173
+ function buildRecallView(query, persistent, chat) {
2174
+ const view = {
2175
+ persistentHeading: persistent.length > 0 ? `\u{1F4DD} Persistent memory \u2014 ${persistent.length} hit(s):` : null,
2176
+ persistent: persistent.map((h, i) => ({
2177
+ label: `[${i + 1}] id ${h.id.slice(0, 8)} \xB7 ${h.scope} \xB7 coverage ${h.score.toFixed(2)}`,
2178
+ body: h.content
2179
+ })),
2180
+ chatHeading: chat.length > 0 ? `\u{1F9E0} Chat history recall for "${query}" \u2014 ${chat.length} hit(s):` : null,
2181
+ chat: chat.map((h, i) => ({
2182
+ label: `[${i + 1}] ${h.timestamp.slice(0, 16).replace("T", " ")} \xB7 ${h.title} \xB7 score ${h.score.toFixed(3)}`,
2183
+ body: clip(h.text, 400)
2184
+ })),
2185
+ note: null
2186
+ };
2187
+ if (chat.length === 0) {
2188
+ view.note = persistent.length === 0 ? `No memories matched "${query}" (persistent + chat index).` : "(no chat-history hits above score 0.20)";
2189
+ }
2190
+ return view;
2191
+ }
2192
+
2017
2193
  // src/core/session-cost.ts
2018
2194
  function buildSessionCostReport(input) {
2019
2195
  const { usage } = input;
@@ -2072,9 +2248,20 @@ export {
2072
2248
  clearedSessionMessage,
2073
2249
  applyProfileCommand,
2074
2250
  readGitDiff,
2251
+ parseRewindArgs,
2252
+ buildRewindList,
2253
+ formatRewindReport,
2254
+ resolveForkPoint,
2255
+ formatForkReport,
2075
2256
  scanDirTree,
2076
2257
  scanProject,
2077
2258
  buildInitPrompt,
2259
+ MEMORY_USAGE,
2260
+ parseMemoryCommand,
2261
+ buildMemoryStatusView,
2262
+ rebuildStartMessage,
2263
+ rebuildDoneMessage,
2264
+ buildRecallView,
2078
2265
  parseMemoryShowFilters,
2079
2266
  filterMemoryEntries,
2080
2267
  parseExportArgs,
@@ -13,7 +13,7 @@ import {
13
13
  MEMORY_FILE_NAME,
14
14
  MEMORY_MAX_CHARS,
15
15
  MEMORY_STORE_FILE_NAME
16
- } from "./chunk-2FCKZ3OS.js";
16
+ } from "./chunk-JSQGDPDK.js";
17
17
 
18
18
  // src/memory/persistent-memory.ts
19
19
  import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from "fs";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SessionManager
4
- } from "./chunk-6NO5FZW6.js";
4
+ } from "./chunk-IUVDZVZ4.js";
5
5
 
6
6
  // src/hub/persist.ts
7
7
  import { join } from "path";
@@ -11,7 +11,7 @@ import {
11
11
  CONFIG_FILE_NAME,
12
12
  HISTORY_DIR_NAME,
13
13
  PLUGINS_DIR_NAME
14
- } from "./chunk-2FCKZ3OS.js";
14
+ } from "./chunk-JSQGDPDK.js";
15
15
 
16
16
  // src/config/config-manager.ts
17
17
  import { readFileSync, existsSync, mkdirSync } from "fs";
@@ -8,13 +8,13 @@ import {
8
8
  listHooks,
9
9
  listInstalledPlugins,
10
10
  resetStats
11
- } from "./chunk-L7C34TFI.js";
11
+ } from "./chunk-V4IY5CRJ.js";
12
12
  import {
13
13
  ProviderRegistry
14
14
  } from "./chunk-UGY5SVNX.js";
15
15
  import {
16
16
  ConfigManager
17
- } from "./chunk-4XJVSMZ6.js";
17
+ } from "./chunk-QDOFRKY2.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-2FCKZ3OS.js";
29
+ } from "./chunk-JSQGDPDK.js";
30
30
 
31
31
  // src/diagnostics/doctor-report.ts
32
32
  import { existsSync as existsSync3, statSync as statSync2 } from "fs";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  CONFIG_DIR_NAME,
7
7
  PLUGINS_DIR_NAME
8
- } from "./chunk-2FCKZ3OS.js";
8
+ } from "./chunk-JSQGDPDK.js";
9
9
 
10
10
  // src/diagnostics/tool-stats.ts
11
11
  import { existsSync, readFileSync, mkdirSync } from "fs";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  VERSION
4
- } from "./chunk-2FCKZ3OS.js";
4
+ } from "./chunk-JSQGDPDK.js";
5
5
 
6
6
  // src/cli/ci-format.ts
7
7
  var DEFAULT_CI_THRESHOLDS = {
@@ -3,16 +3,16 @@ import {
3
3
  CI_COMMENT_MARKER,
4
4
  countSeverity,
5
5
  runCi
6
- } from "./chunk-UTJQXG4P.js";
7
- import "./chunk-JT2A2M4F.js";
6
+ } from "./chunk-CUS4FJVP.js";
7
+ import "./chunk-Z3QNLNSU.js";
8
8
  import "./chunk-HLWUDRBO.js";
9
9
  import "./chunk-6YZEZFX5.js";
10
10
  import "./chunk-UGY5SVNX.js";
11
- import "./chunk-4XJVSMZ6.js";
11
+ import "./chunk-QDOFRKY2.js";
12
12
  import "./chunk-TEXT4DAT.js";
13
13
  import "./chunk-TU3L3PW7.js";
14
14
  import "./chunk-IW3Q7AE5.js";
15
- import "./chunk-2FCKZ3OS.js";
15
+ import "./chunk-JSQGDPDK.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-JT2A2M4F.js";
10
- import "./chunk-2FCKZ3OS.js";
9
+ } from "./chunk-Z3QNLNSU.js";
10
+ import "./chunk-JSQGDPDK.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-2FCKZ3OS.js";
41
+ } from "./chunk-JSQGDPDK.js";
42
42
  export {
43
43
  AGENTIC_BEHAVIOR_GUIDELINE,
44
44
  APP_NAME,
@@ -2,15 +2,15 @@
2
2
  import {
3
3
  formatDoctorReport,
4
4
  runDoctorCli
5
- } from "./chunk-BVGSR3BA.js";
6
- import "./chunk-L7C34TFI.js";
5
+ } from "./chunk-RALUII7R.js";
6
+ import "./chunk-V4IY5CRJ.js";
7
7
  import "./chunk-UGY5SVNX.js";
8
- import "./chunk-4XJVSMZ6.js";
8
+ import "./chunk-QDOFRKY2.js";
9
9
  import "./chunk-TEXT4DAT.js";
10
10
  import "./chunk-TU3L3PW7.js";
11
11
  import "./chunk-HOSJZMQS.js";
12
12
  import "./chunk-IW3Q7AE5.js";
13
- import "./chunk-2FCKZ3OS.js";
13
+ import "./chunk-JSQGDPDK.js";
14
14
  export {
15
15
  formatDoctorReport,
16
16
  runDoctorCli