@vibgrate/cli 2026.825.1 → 2026.825.2

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 (92) hide show
  1. package/dist/{agent-IHNUBFBM.js → agent-DHQYEHVW.js} +13 -13
  2. package/dist/{agent-IHNUBFBM.js.map → agent-DHQYEHVW.js.map} +1 -1
  3. package/dist/{approvals-HRIMDIX3.js → approvals-KBM72NU2.js} +5 -5
  4. package/dist/{approvals-HRIMDIX3.js.map → approvals-KBM72NU2.js.map} +1 -1
  5. package/dist/{attach-L43JUJ7A.js → attach-O74NL4M5.js} +3 -3
  6. package/dist/{attach-L43JUJ7A.js.map → attach-O74NL4M5.js.map} +1 -1
  7. package/dist/{baseline-EZQ7SCRT.js → baseline-4X6MQBDA.js} +3 -3
  8. package/dist/{baseline-EZQ7SCRT.js.map → baseline-4X6MQBDA.js.map} +1 -1
  9. package/dist/{chunk-X34HVFZ6.js → chunk-27TS2AUJ.js} +8 -8
  10. package/dist/{chunk-X34HVFZ6.js.map → chunk-27TS2AUJ.js.map} +1 -1
  11. package/dist/{chunk-RHYRMMN3.js → chunk-2NUS5BOR.js} +3 -3
  12. package/dist/{chunk-RHYRMMN3.js.map → chunk-2NUS5BOR.js.map} +1 -1
  13. package/dist/{chunk-TLYNLQL2.js → chunk-3E7QT4NE.js} +9 -9
  14. package/dist/{chunk-TLYNLQL2.js.map → chunk-3E7QT4NE.js.map} +1 -1
  15. package/dist/{chunk-L3YEEJ6U.js → chunk-6MIJLO5B.js} +3 -3
  16. package/dist/{chunk-L3YEEJ6U.js.map → chunk-6MIJLO5B.js.map} +1 -1
  17. package/dist/{chunk-5BFA532E.js → chunk-7M4E7UGX.js} +3 -3
  18. package/dist/{chunk-5BFA532E.js.map → chunk-7M4E7UGX.js.map} +1 -1
  19. package/dist/{chunk-M7O6IVKN.js → chunk-BICZR6UJ.js} +3 -3
  20. package/dist/{chunk-M7O6IVKN.js.map → chunk-BICZR6UJ.js.map} +1 -1
  21. package/dist/{chunk-BCK2NIBM.js → chunk-DIZ5KI5Q.js} +6 -6
  22. package/dist/{chunk-BCK2NIBM.js.map → chunk-DIZ5KI5Q.js.map} +1 -1
  23. package/dist/{chunk-QTQRM7HQ.js → chunk-E3XVIFSH.js} +3 -3
  24. package/dist/{chunk-QTQRM7HQ.js.map → chunk-E3XVIFSH.js.map} +1 -1
  25. package/dist/{chunk-B5X246UH.js → chunk-FQHWPOTS.js} +3 -3
  26. package/dist/{chunk-B5X246UH.js.map → chunk-FQHWPOTS.js.map} +1 -1
  27. package/dist/chunk-G3ACLBMG.js +6 -0
  28. package/dist/{chunk-KFLNWYZG.js.map → chunk-G3ACLBMG.js.map} +1 -1
  29. package/dist/{chunk-CIC3NY2D.js → chunk-GR7SFCQJ.js} +12 -12
  30. package/dist/{chunk-CIC3NY2D.js.map → chunk-GR7SFCQJ.js.map} +1 -1
  31. package/dist/{chunk-Y3X3ORQ3.js → chunk-GWSJYDK7.js} +5 -5
  32. package/dist/{chunk-Y3X3ORQ3.js.map → chunk-GWSJYDK7.js.map} +1 -1
  33. package/dist/{chunk-ECQFRZJI.js → chunk-HFQIYM6E.js} +4 -4
  34. package/dist/{chunk-ECQFRZJI.js.map → chunk-HFQIYM6E.js.map} +1 -1
  35. package/dist/{chunk-GRMZU24V.js → chunk-IJVWKZRS.js} +3 -3
  36. package/dist/{chunk-GRMZU24V.js.map → chunk-IJVWKZRS.js.map} +1 -1
  37. package/dist/{chunk-YIRDV4YJ.js → chunk-JAEHLTVX.js} +3 -3
  38. package/dist/{chunk-YIRDV4YJ.js.map → chunk-JAEHLTVX.js.map} +1 -1
  39. package/dist/{chunk-LUJ4H4RJ.js → chunk-K3SXWOTT.js} +3 -3
  40. package/dist/{chunk-LUJ4H4RJ.js.map → chunk-K3SXWOTT.js.map} +1 -1
  41. package/dist/{chunk-JSZ46IDG.js → chunk-KYM55VZX.js} +6 -6
  42. package/dist/{chunk-JSZ46IDG.js.map → chunk-KYM55VZX.js.map} +1 -1
  43. package/dist/{chunk-YP243ZKD.js → chunk-L7GCJNDT.js} +3 -3
  44. package/dist/{chunk-YP243ZKD.js.map → chunk-L7GCJNDT.js.map} +1 -1
  45. package/dist/{chunk-UUVOA6WD.js → chunk-NS4DL3QR.js} +8 -8
  46. package/dist/{chunk-UUVOA6WD.js.map → chunk-NS4DL3QR.js.map} +1 -1
  47. package/dist/{chunk-S3HMG6BC.js → chunk-NZES47ST.js} +3 -3
  48. package/dist/{chunk-S3HMG6BC.js.map → chunk-NZES47ST.js.map} +1 -1
  49. package/dist/{chunk-FVBN4E5C.js → chunk-OIUVWCKM.js} +3 -3
  50. package/dist/{chunk-FVBN4E5C.js.map → chunk-OIUVWCKM.js.map} +1 -1
  51. package/dist/{chunk-DLNNNESQ.js → chunk-SIXWWQ6S.js} +3 -3
  52. package/dist/{chunk-DLNNNESQ.js.map → chunk-SIXWWQ6S.js.map} +1 -1
  53. package/dist/{chunk-6VLOI2ZP.js → chunk-SYMJSRYF.js} +3 -3
  54. package/dist/{chunk-6VLOI2ZP.js.map → chunk-SYMJSRYF.js.map} +1 -1
  55. package/dist/{chunk-LKJIYGO5.js → chunk-TT2J2TB6.js} +6 -6
  56. package/dist/{chunk-LKJIYGO5.js.map → chunk-TT2J2TB6.js.map} +1 -1
  57. package/dist/{chunk-4PCFSRYH.js → chunk-VMPKOMHG.js} +5 -5
  58. package/dist/{chunk-4PCFSRYH.js.map → chunk-VMPKOMHG.js.map} +1 -1
  59. package/dist/cli.js +49 -49
  60. package/dist/{daemon-WPX2SBVV.js → daemon-RZS5FPIW.js} +9 -9
  61. package/dist/{daemon-WPX2SBVV.js.map → daemon-RZS5FPIW.js.map} +1 -1
  62. package/dist/embed-worker-main.js +3 -3
  63. package/dist/{ensure-map-MLI4XCRV.js → ensure-map-DL2S774J.js} +14 -14
  64. package/dist/{ensure-map-MLI4XCRV.js.map → ensure-map-DL2S774J.js.map} +1 -1
  65. package/dist/{graph-backend-LK5EFQXN.js → graph-backend-JXARVT3R.js} +7 -7
  66. package/dist/{graph-backend-LK5EFQXN.js.map → graph-backend-JXARVT3R.js.map} +1 -1
  67. package/dist/index.d.ts +1 -1
  68. package/dist/index.js +15 -15
  69. package/dist/{interactive-K446F42I.js → interactive-2XRBRFRB.js} +25 -25
  70. package/dist/{interactive-K446F42I.js.map → interactive-2XRBRFRB.js.map} +1 -1
  71. package/dist/load-7C5VETRD.js +11 -0
  72. package/dist/{load-2FRH37JY.js.map → load-7C5VETRD.js.map} +1 -1
  73. package/dist/parse-worker.js +2 -2
  74. package/dist/{run-outcome-4ETNDPX6.js → run-outcome-TMB5TJNA.js} +5 -5
  75. package/dist/{run-outcome-4ETNDPX6.js.map → run-outcome-TMB5TJNA.js.map} +1 -1
  76. package/dist/{runtime-session-RMSKXFIJ.js → runtime-session-Y23NVY7R.js} +9 -9
  77. package/dist/{runtime-session-RMSKXFIJ.js.map → runtime-session-Y23NVY7R.js.map} +1 -1
  78. package/dist/{session-22BGDYWF.js → session-KXT2ZTPE.js} +8 -8
  79. package/dist/{session-22BGDYWF.js.map → session-KXT2ZTPE.js.map} +1 -1
  80. package/dist/{stream-json-MD7MSSCH.js → stream-json-NW6AOE47.js} +13 -13
  81. package/dist/{stream-json-MD7MSSCH.js.map → stream-json-NW6AOE47.js.map} +1 -1
  82. package/dist/version-7ABYXWOZ.js +4 -0
  83. package/dist/{version-FRUT6RI2.js.map → version-7ABYXWOZ.js.map} +1 -1
  84. package/dist/{vg-mcp-bridge-H6I3ALUW.js → vg-mcp-bridge-LXBHKEFR.js} +8 -8
  85. package/dist/{vg-mcp-bridge-H6I3ALUW.js.map → vg-mcp-bridge-LXBHKEFR.js.map} +1 -1
  86. package/dist/{vgd-TW7HU2PH.js → vgd-RW7HCEIP.js} +8 -8
  87. package/dist/vgd-RW7HCEIP.js.map +1 -0
  88. package/package.json +1 -1
  89. package/dist/chunk-KFLNWYZG.js +0 -6
  90. package/dist/load-2FRH37JY.js +0 -11
  91. package/dist/version-FRUT6RI2.js +0 -4
  92. package/dist/vgd-TW7HU2PH.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { probeFreshness, hasDrift, buildGraph, writeSnapshot } from './chunk-UUVOA6WD.js';
1
+ import { probeFreshness, hasDrift, buildGraph, writeSnapshot } from './chunk-NS4DL3QR.js';
2
2
  import { mergeExcludes } from './chunk-RTURQXQL.js';
3
- import { acquireLock, releaseLock } from './chunk-B5X246UH.js';
4
- import { vibgrateDir, writeArtifacts } from './chunk-FVBN4E5C.js';
3
+ import { acquireLock, releaseLock } from './chunk-FQHWPOTS.js';
4
+ import { vibgrateDir, writeArtifacts } from './chunk-OIUVWCKM.js';
5
5
  import { cacheDir } from './chunk-MVPRPSXU.js';
6
6
  import * as fs from 'fs';
7
7
  import * as path from 'path';
@@ -63,5 +63,5 @@ async function refreshIfStale(root, opts = {}) {
63
63
  }
64
64
 
65
65
  export { refreshIfStale };
66
- //# sourceMappingURL=chunk-4PCFSRYH.js.map
67
- //# sourceMappingURL=chunk-4PCFSRYH.js.map
66
+ //# sourceMappingURL=chunk-VMPKOMHG.js.map
67
+ //# sourceMappingURL=chunk-VMPKOMHG.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/engine/refresh.ts"],"names":[],"mappings":"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","file":"chunk-4PCFSRYH.js","sourcesContent":["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport { buildGraph } from './build.js';\nimport { mergeExcludes } from './discover.js';\nimport { probeFreshness, writeSnapshot, hasDrift, type Drift } from './freshness.js';\nimport { writeArtifacts, vibgrateDir } from './artifacts.js';\nimport { acquireLock, releaseLock } from './lock.js';\nimport { cacheDir } from './cache.js';\nimport type { ClusterMode } from './analyze.js';\n\n/**\n * Auto-refresh: bring the code map back in sync with the working tree when the\n * freshness probe says it drifted. The rebuild is the ordinary incremental\n * `buildGraph` (warm parse cache → only changed files re-parse), replaying the\n * scope recorded at the last explicit build, guarded by a cross-process lock\n * so a serving MCP process and a foreground command never write at once.\n *\n * Two properties keep this safe to run implicitly:\n * - **No git churn**: if the rebuilt corpusHash equals the snapshot's (e.g. a\n * drift that reverted itself), `graph.json` is left untouched — the artifact\n * stays byte-identical.\n * - **No surprise artifacts**: `GRAPH_REPORT.md`/`graph.html` are rewritten\n * only if they already exist; a refresh never adds files a user's explicit\n * build chose not to produce.\n */\n\nexport interface RefreshOptions {\n /** Force single-threaded parsing (tests / constrained hosts). */\n inline?: boolean;\n /** Worker count for the parse pool. */\n jobs?: number;\n /**\n * The map path already resolved by the caller (e.g. `vg serve`'s startup\n * resolution). Passed straight through to `writeArtifacts` so a refresh\n * never re-resolves it: `defaultGraphPath` shells out to `git rev-parse`\n * (Fusion §4.1.1 branch keying), and re-running that on every drift-driven\n * refresh put a synchronous git spawn back on the hot tool-call path this\n * function exists to keep off of. Omit only when no caller-known path\n * exists (falls back to a fresh `defaultGraphPath` resolution).\n */\n graphPath?: string;\n}\n\nexport type RefreshOutcome =\n /** Map already matches the working tree. */\n | { status: 'fresh' }\n /** No freshness snapshot — no build ever ran here, so scope is unknown. */\n | { status: 'no-snapshot' }\n /** Another vg process is rebuilding right now; its write will land shortly. */\n | { status: 'locked' }\n /** Rebuilt. `wrote` is false when the corpus turned out unchanged. */\n | { status: 'refreshed'; drift: Drift; ms: number; reparsed: number; totalFiles: number; wrote: boolean }\n | { status: 'error'; message: string };\n\n/** A refresh stuck longer than this is presumed crashed and its lock reclaimed. */\nconst REFRESH_LOCK_STALE_MS = 10 * 60 * 1000;\n\nfunction refreshLockPath(root: string): string {\n return path.join(cacheDir(root), 'refresh.lock');\n}\n\n/**\n * Probe, and rebuild incrementally if the tree drifted from the map.\n * Silent (no output) — callers own the messaging for their surface.\n */\nexport async function refreshIfStale(root: string, opts: RefreshOptions = {}): Promise<RefreshOutcome> {\n const probe = probeFreshness(root);\n if (!probe) return { status: 'no-snapshot' };\n if (!hasDrift(probe.drift)) return { status: 'fresh' };\n\n const lock = refreshLockPath(root);\n if (!acquireLock(lock, REFRESH_LOCK_STALE_MS)) return { status: 'locked' };\n\n const start = process.hrtime.bigint();\n try {\n const { scope } = probe;\n const exclude = mergeExcludes(root, scope.exclude);\n const result = await buildGraph({\n root,\n only: scope.only,\n exclude,\n paths: scope.paths,\n deep: scope.deep,\n noGround: scope.noGround,\n scip: scope.scip,\n noScip: scope.noScip,\n noTsc: scope.noTsc,\n cluster: scope.cluster as ClusterMode | undefined,\n grammarsDir: scope.grammarsDir,\n inline: opts.inline,\n jobs: opts.jobs,\n });\n\n const wrote = result.graph.provenance.corpusHash !== probe.corpusHash;\n if (wrote) {\n const dir = vibgrateDir(root);\n writeArtifacts(result.graph, {\n root,\n graphPath: opts.graphPath,\n report: fs.existsSync(path.join(dir, 'GRAPH_REPORT.md')),\n html: fs.existsSync(path.join(dir, 'graph.html')),\n });\n }\n writeSnapshot(root, result.graph.provenance.corpusHash, result.fileStats, { ...scope, exclude });\n\n const ms = Number((process.hrtime.bigint() - start) / 1000000n);\n return {\n status: 'refreshed',\n drift: probe.drift,\n ms,\n reparsed: result.reparsed,\n totalFiles: result.totalFiles,\n wrote,\n };\n } catch (err) {\n return { status: 'error', message: (err as Error).message };\n } finally {\n releaseLock(lock);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/engine/refresh.ts"],"names":[],"mappings":"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","file":"chunk-VMPKOMHG.js","sourcesContent":["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport { buildGraph } from './build.js';\nimport { mergeExcludes } from './discover.js';\nimport { probeFreshness, writeSnapshot, hasDrift, type Drift } from './freshness.js';\nimport { writeArtifacts, vibgrateDir } from './artifacts.js';\nimport { acquireLock, releaseLock } from './lock.js';\nimport { cacheDir } from './cache.js';\nimport type { ClusterMode } from './analyze.js';\n\n/**\n * Auto-refresh: bring the code map back in sync with the working tree when the\n * freshness probe says it drifted. The rebuild is the ordinary incremental\n * `buildGraph` (warm parse cache → only changed files re-parse), replaying the\n * scope recorded at the last explicit build, guarded by a cross-process lock\n * so a serving MCP process and a foreground command never write at once.\n *\n * Two properties keep this safe to run implicitly:\n * - **No git churn**: if the rebuilt corpusHash equals the snapshot's (e.g. a\n * drift that reverted itself), `graph.json` is left untouched — the artifact\n * stays byte-identical.\n * - **No surprise artifacts**: `GRAPH_REPORT.md`/`graph.html` are rewritten\n * only if they already exist; a refresh never adds files a user's explicit\n * build chose not to produce.\n */\n\nexport interface RefreshOptions {\n /** Force single-threaded parsing (tests / constrained hosts). */\n inline?: boolean;\n /** Worker count for the parse pool. */\n jobs?: number;\n /**\n * The map path already resolved by the caller (e.g. `vg serve`'s startup\n * resolution). Passed straight through to `writeArtifacts` so a refresh\n * never re-resolves it: `defaultGraphPath` shells out to `git rev-parse`\n * (Fusion §4.1.1 branch keying), and re-running that on every drift-driven\n * refresh put a synchronous git spawn back on the hot tool-call path this\n * function exists to keep off of. Omit only when no caller-known path\n * exists (falls back to a fresh `defaultGraphPath` resolution).\n */\n graphPath?: string;\n}\n\nexport type RefreshOutcome =\n /** Map already matches the working tree. */\n | { status: 'fresh' }\n /** No freshness snapshot — no build ever ran here, so scope is unknown. */\n | { status: 'no-snapshot' }\n /** Another vg process is rebuilding right now; its write will land shortly. */\n | { status: 'locked' }\n /** Rebuilt. `wrote` is false when the corpus turned out unchanged. */\n | { status: 'refreshed'; drift: Drift; ms: number; reparsed: number; totalFiles: number; wrote: boolean }\n | { status: 'error'; message: string };\n\n/** A refresh stuck longer than this is presumed crashed and its lock reclaimed. */\nconst REFRESH_LOCK_STALE_MS = 10 * 60 * 1000;\n\nfunction refreshLockPath(root: string): string {\n return path.join(cacheDir(root), 'refresh.lock');\n}\n\n/**\n * Probe, and rebuild incrementally if the tree drifted from the map.\n * Silent (no output) — callers own the messaging for their surface.\n */\nexport async function refreshIfStale(root: string, opts: RefreshOptions = {}): Promise<RefreshOutcome> {\n const probe = probeFreshness(root);\n if (!probe) return { status: 'no-snapshot' };\n if (!hasDrift(probe.drift)) return { status: 'fresh' };\n\n const lock = refreshLockPath(root);\n if (!acquireLock(lock, REFRESH_LOCK_STALE_MS)) return { status: 'locked' };\n\n const start = process.hrtime.bigint();\n try {\n const { scope } = probe;\n const exclude = mergeExcludes(root, scope.exclude);\n const result = await buildGraph({\n root,\n only: scope.only,\n exclude,\n paths: scope.paths,\n deep: scope.deep,\n noGround: scope.noGround,\n scip: scope.scip,\n noScip: scope.noScip,\n noTsc: scope.noTsc,\n cluster: scope.cluster as ClusterMode | undefined,\n grammarsDir: scope.grammarsDir,\n inline: opts.inline,\n jobs: opts.jobs,\n });\n\n const wrote = result.graph.provenance.corpusHash !== probe.corpusHash;\n if (wrote) {\n const dir = vibgrateDir(root);\n writeArtifacts(result.graph, {\n root,\n graphPath: opts.graphPath,\n report: fs.existsSync(path.join(dir, 'GRAPH_REPORT.md')),\n html: fs.existsSync(path.join(dir, 'graph.html')),\n });\n }\n writeSnapshot(root, result.graph.provenance.corpusHash, result.fileStats, { ...scope, exclude });\n\n const ms = Number((process.hrtime.bigint() - start) / 1000000n);\n return {\n status: 'refreshed',\n drift: probe.drift,\n ms,\n reparsed: result.reparsed,\n totalFiles: result.totalFiles,\n wrote,\n };\n } catch (err) {\n return { status: 'error', message: (err as Error).message };\n } finally {\n releaseLock(lock);\n }\n}\n"]}
package/dist/cli.js CHANGED
@@ -1,45 +1,45 @@
1
1
  #!/usr/bin/env node
2
- import { fetchCatalog, resolveProviders } from './chunk-DLNNNESQ.js';
3
- import { telemetryOptOut, StatsSharer, statsEndpoint, isCI } from './chunk-M7O6IVKN.js';
2
+ import { fetchCatalog, resolveProviders } from './chunk-SIXWWQ6S.js';
3
+ import { telemetryOptOut, StatsSharer, statsEndpoint, isCI } from './chunk-BICZR6UJ.js';
4
4
  import { loadAdvancedScanHook, baselineCommand } from './chunk-QLNJ3VWO.js';
5
- import { sha256Hex, generateKeypair, dssePae, DSSE_PAYLOAD_TYPE, keyId, registerBuild, LiveStatus, ProgressBar, printLogo, runBuild } from './chunk-X34HVFZ6.js';
6
- export { runBuild } from './chunk-X34HVFZ6.js';
5
+ import { sha256Hex, generateKeypair, dssePae, DSSE_PAYLOAD_TYPE, keyId, registerBuild, LiveStatus, ProgressBar, printLogo, runBuild } from './chunk-27TS2AUJ.js';
6
+ export { runBuild } from './chunk-27TS2AUJ.js';
7
7
  import { readOrchestratorState, writeOrchestratorState, parseMode, setDefaultMode, recommendMode, activePin, resolveMode, providerForBackend, QUALIFIED_PACKS, pinPack, unpinPack, buildOrchestratorStatus } from './chunk-OLIMW4PQ.js';
8
8
  import { defaultProcessEndpoint, startProcessHostServer, resolveInferenceIsolation } from './chunk-IASO2HCI.js';
9
- import { runCodeSession } from './chunk-Y3X3ORQ3.js';
10
- import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-CIC3NY2D.js';
9
+ import { runCodeSession } from './chunk-GWSJYDK7.js';
10
+ import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-GR7SFCQJ.js';
11
11
  import './chunk-543E6WDJ.js';
12
- import './chunk-QTQRM7HQ.js';
13
- import './chunk-YIRDV4YJ.js';
12
+ import './chunk-E3XVIFSH.js';
13
+ import './chunk-JAEHLTVX.js';
14
14
  import { parseReasoningEffort, summarizeDiffs, ScriptedProvider } from './chunk-SHD5TCZ5.js';
15
15
  import './chunk-NV7XNBX4.js';
16
16
  import { buildModelInstallPlan } from './chunk-W44THEXF.js';
17
17
  import { ensurePackage, ensureUnavailableMessage } from './chunk-3HNPVXUK.js';
18
- import { vgdVersionSkew, restartVgdIfRunning, stopVgd, registerDaemon, rootOf, requireGraph } from './chunk-BCK2NIBM.js';
18
+ import { vgdVersionSkew, restartVgdIfRunning, stopVgd, registerDaemon, rootOf, requireGraph } from './chunk-DIZ5KI5Q.js';
19
19
  import { readGlobal, applyGlobalOptions } from './chunk-YENM3HT7.js';
20
20
  import { ActivityLog } from './chunk-H5Q4JUY4.js';
21
21
  import { disableColor, info, c, json, out } from './chunk-CT5BS56U.js';
22
22
  import { init_resolve_ollama, gatherSystemMemory, resolveOllamaBinary, hasOllamaBinary, resolve_ollama_exports } from './chunk-WUFIXAEJ.js';
23
23
  import { fmt, estimateModelBytes } from './chunk-YJYEPYB2.js';
24
- import { isManifest, isDependencyFile, manifestHash, loadScanCache, writeScanCache, manifestKind, findPackageLine, endOfLine, findRuntimeLine } from './chunk-JSZ46IDG.js';
24
+ import { isManifest, isDependencyFile, manifestHash, loadScanCache, writeScanCache, manifestKind, findPackageLine, endOfLine, findRuntimeLine } from './chunk-KYM55VZX.js';
25
25
  import { clearHostSessionPool, acquireHostSession, generateOnSession, listHostSessions, hostSessionPoolSize } from './chunk-3LOWJSAF.js';
26
26
  import { buildIdentifierTrieFromGraph } from './chunk-5HYCB55P.js';
27
27
  import './chunk-IS7VTH2Q.js';
28
28
  import './chunk-IZDH67DX.js';
29
- import { moduleInstalled, removeRelevanceModule, installRelevanceModule, DISCLOSURE, RELEVANCE_MODULE_NAME, moduleInstalledAt, removeModule, installModule, kickRelevanceReadiness, modulesBaseDir, ensureRelevanceModule, DaemonSemanticSession, serveStdio, kernelDisabled, writeConsent, readConsent, exportGraph, GraphSource, createServer, formatForExt, RefreshScheduler } from './chunk-TLYNLQL2.js';
30
- import { refreshIfStale } from './chunk-4PCFSRYH.js';
31
- import { driftCount, ASSISTANTS, detectAssistants, isAssistantInstalled, detectServeLaunch, installAssistant, writeNavigationConfig, uninstallAssistant, buildGraph, writeSnapshot, probeFreshness, assistantById, SMALL_REPO_FILES } from './chunk-UUVOA6WD.js';
32
- import { resolveDsn, createWorkspaceDsn, writeStoredCredentials, credentialsPath, findGitRoot, ensureGitignored, gitignoreEntryForCredentials, clearStoredCredentials, parseDsn as parseDsn$1, uploadScanArtifact, dsnCommand, pushCommand, countTokens, shortestPath, pathDisconnect, testsToRun, detectRunner, coveringTests, FREE_PACK, readScanArtifact, publishPrivateLibrary, assessDocQuality, symbolsFromApi, fetchHostedDocsCached, selectForBudget, hostedBase, readStoredCredentials, projectCredentialsPath, homeCredentialsPath } from './chunk-LKJIYGO5.js';
29
+ import { moduleInstalled, removeRelevanceModule, installRelevanceModule, DISCLOSURE, RELEVANCE_MODULE_NAME, moduleInstalledAt, removeModule, installModule, kickRelevanceReadiness, modulesBaseDir, ensureRelevanceModule, DaemonSemanticSession, serveStdio, kernelDisabled, writeConsent, readConsent, exportGraph, GraphSource, createServer, formatForExt, RefreshScheduler } from './chunk-3E7QT4NE.js';
30
+ import { refreshIfStale } from './chunk-VMPKOMHG.js';
31
+ import { driftCount, ASSISTANTS, detectAssistants, isAssistantInstalled, detectServeLaunch, installAssistant, writeNavigationConfig, uninstallAssistant, buildGraph, writeSnapshot, probeFreshness, assistantById, SMALL_REPO_FILES } from './chunk-NS4DL3QR.js';
32
+ import { resolveDsn, createWorkspaceDsn, writeStoredCredentials, credentialsPath, findGitRoot, ensureGitignored, gitignoreEntryForCredentials, clearStoredCredentials, parseDsn as parseDsn$1, uploadScanArtifact, dsnCommand, pushCommand, countTokens, shortestPath, pathDisconnect, testsToRun, detectRunner, coveringTests, FREE_PACK, readScanArtifact, publishPrivateLibrary, assessDocQuality, symbolsFromApi, fetchHostedDocsCached, selectForBudget, hostedBase, readStoredCredentials, projectCredentialsPath, homeCredentialsPath } from './chunk-TT2J2TB6.js';
33
33
  import { resolveIngestHost, dashHostForIngestHost, availableRegionIds, ingestHostForRegionId } from './chunk-HTLDXEHW.js';
34
34
  import { writeDefaultConfig, parseDsn, detectVcs, computeRepoFingerprint, resolveRepositoryName, fetchScanPreflight, runCoreScan, loadConfig, prepareCompressedUpload, computeDriftScore, titleBox, projectTypeToVulnEcosystem, driftBar, gitHistoryAvailable, buildVersionTimelines, findPackageAnyEcosystem, normalizeConstraint, findVersionCrossings, versionSatisfies, refineArchitectureWithAstRoles, refineArchitectureWithGraph, PROJECT_TYPE_TO_OSV_ECOSYSTEM, fetchRiskySymbols, perDependencyDrift, boundaryProfileRules } from './chunk-5UG4UHKU.js';
35
- import './chunk-YP243ZKD.js';
35
+ import './chunk-L7GCJNDT.js';
36
36
  import './chunk-VIWZ4QT7.js';
37
- import { catalogPath, libDir, loadCatalog, driftFor, addLibrary, resolveLib, libId, resolveVersion, readDoc, localPackageDocs, localApiSurface } from './chunk-S3HMG6BC.js';
38
- import { recordCliCall, CLI_TOOL_ALIASES, savingsLedgerPath, clearSavings, readSavings, readUsage, readModelSavings, CAPSULE_RANKING_VERSION, SAVINGS_TOOLS, sanitizeClient } from './chunk-6VLOI2ZP.js';
37
+ import { catalogPath, libDir, loadCatalog, driftFor, addLibrary, resolveLib, libId, resolveVersion, readDoc, localPackageDocs, localApiSurface } from './chunk-NZES47ST.js';
38
+ import { recordCliCall, CLI_TOOL_ALIASES, savingsLedgerPath, clearSavings, readSavings, readUsage, readModelSavings, CAPSULE_RANKING_VERSION, SAVINGS_TOOLS, sanitizeClient } from './chunk-SYMJSRYF.js';
39
39
  import { discoverModels } from './chunk-WNKGRXUA.js';
40
40
  import { freeBytesOnVolume, weightStoreDir, listCachedWeights, ensureWeightCached, catalogIntegrityReport } from './chunk-57ZRSCHY.js';
41
41
  import { CliError, ExitCode, usageError, engineUnavailable } from './chunk-MS6V5XKB.js';
42
- import { attachVgd } from './chunk-GRMZU24V.js';
42
+ import { attachVgd } from './chunk-IJVWKZRS.js';
43
43
  import { pathExists as pathExists$1, parseExcludePatterns } from './chunk-PVNALGTG.js';
44
44
  import { ensureDir, pathExists, readJsonFile, writeTextFile, writeJsonFile } from './chunk-CRAMOEBE.js';
45
45
  import './chunk-5IQBIXHS.js';
@@ -48,19 +48,19 @@ import { publishGraphToVgd } from './chunk-A3WWRW7U.js';
48
48
  import { isRelevantChange } from './chunk-DBX3DL27.js';
49
49
  import { inventory, enrichOnline, ECOSYSTEMS } from './chunk-6BEBJCK4.js';
50
50
  import { resolveOne } from './chunk-J7LKEB2R.js';
51
- import { queryGraphSemantic, queryGraph, indexFor, impactOf } from './chunk-LUJ4H4RJ.js';
52
- import { loadGraph, loadGraphPreferIndex, SCHEMA_VERSION } from './chunk-5BFA532E.js';
51
+ import { queryGraphSemantic, queryGraph, indexFor, impactOf } from './chunk-K3SXWOTT.js';
52
+ import { loadGraph, loadGraphPreferIndex, SCHEMA_VERSION } from './chunk-7M4E7UGX.js';
53
53
  import './chunk-VHRSG6CF.js';
54
54
  import './chunk-6H2QV5DR.js';
55
55
  import { discover, isSkippedDirName } from './chunk-RTURQXQL.js';
56
- import { resolvedGrammarFiles, TOOLCHAIN_GRAMMARS, resolveToolchainGrammar, grammarSetVersion, fileRolesFromParseCache } from './chunk-L3YEEJ6U.js';
56
+ import { resolvedGrammarFiles, TOOLCHAIN_GRAMMARS, resolveToolchainGrammar, grammarSetVersion, fileRolesFromParseCache } from './chunk-6MIJLO5B.js';
57
57
  import './chunk-T7RSQ5WD.js';
58
58
  import './chunk-6WRG7VDO.js';
59
- import { embeddingsCached, resolveEmbedModel, loadEmbedder, getNodeEmbeddings, unavailableMessage, countPending, modelCacheInfo, embeddingsPath, clearModelCache, withTimeout } from './chunk-B5X246UH.js';
60
- import { resetRelevanceProviderCache, loadRelevanceProvider, resolveGraphPath, loadTopicTags, rankQuestion, renderReport, loadGraphFileWithSnapshot, writeArtifacts, vibgrateDir, mapFileExists, ensureVibgrateGitignore } from './chunk-FVBN4E5C.js';
59
+ import { embeddingsCached, resolveEmbedModel, loadEmbedder, getNodeEmbeddings, unavailableMessage, countPending, modelCacheInfo, embeddingsPath, clearModelCache, withTimeout } from './chunk-FQHWPOTS.js';
60
+ import { resetRelevanceProviderCache, loadRelevanceProvider, resolveGraphPath, loadTopicTags, rankQuestion, renderReport, loadGraphFileWithSnapshot, writeArtifacts, vibgrateDir, mapFileExists, ensureVibgrateGitignore } from './chunk-OIUVWCKM.js';
61
61
  import { cacheDir } from './chunk-MVPRPSXU.js';
62
62
  import { serializeGraph, stableStringify, parseGraph } from './chunk-O3LABX6I.js';
63
- import { VERSION } from './chunk-KFLNWYZG.js';
63
+ import { VERSION } from './chunk-G3ACLBMG.js';
64
64
  import './chunk-XP6UUCZZ.js';
65
65
  import { canonicalize, hashString } from './chunk-JFGYT6BI.js';
66
66
  import './chunk-XQNKCA2J.js';
@@ -7449,7 +7449,7 @@ function registerCode(program) {
7449
7449
  try {
7450
7450
  const { parseMode: parseMode2, resolveMode: resolveMode2, readOrchestratorState: readOrchestratorState2, activePin: activePin2 } = await import('./model-orchestrator-X3NE3Y2G.js');
7451
7451
  const { gatherSystemMemory: gatherSystemMemory2 } = await import('./local-runtime-GA43KYS5.js');
7452
- const { loadGraph: loadGraph2 } = await import('./load-2FRH37JY.js');
7452
+ const { loadGraph: loadGraph2 } = await import('./load-7C5VETRD.js');
7453
7453
  const state = readOrchestratorState2();
7454
7454
  const mode = parseMode2(modeFlag) ?? state.defaultMode ?? void 0;
7455
7455
  const pin = mode ? activePin2(mode, state) : null;
@@ -7534,7 +7534,7 @@ function registerCode(program) {
7534
7534
  if (!(process.stdin.isTTY && process.stdout.isTTY)) {
7535
7535
  throw usageError('say what to change, e.g. `vg code "add a --timeout flag to the scan command"` (guided mode needs an interactive terminal)');
7536
7536
  }
7537
- const { runInteractive } = await import('./interactive-K446F42I.js');
7537
+ const { runInteractive } = await import('./interactive-2XRBRFRB.js');
7538
7538
  await runInteractive(
7539
7539
  rootOf(global),
7540
7540
  global,
@@ -7564,7 +7564,7 @@ function registerCode(program) {
7564
7564
  }
7565
7565
  if (!instruction && !stdinFirstTurn) throw usageError('say what to change, e.g. `vg code "add a --timeout flag to the scan command"`');
7566
7566
  {
7567
- const { ensureCodeMap } = await import('./ensure-map-MLI4XCRV.js');
7567
+ const { ensureCodeMap } = await import('./ensure-map-DL2S774J.js');
7568
7568
  const mapRoot = rootOf(global);
7569
7569
  try {
7570
7570
  await ensureCodeMap(mapRoot, global, {
@@ -7649,20 +7649,20 @@ function registerCode(program) {
7649
7649
  process.stdout.write(JSON.stringify(line) + "\n");
7650
7650
  };
7651
7651
  try {
7652
- const { RunOutcomeRecorder, newOneShotRunId, turnRunId } = await import('./run-outcome-4ETNDPX6.js');
7652
+ const { RunOutcomeRecorder, newOneShotRunId, turnRunId } = await import('./run-outcome-TMB5TJNA.js');
7653
7653
  const primarySlug = route.providers[0]?.model.includes("/") ? route.providers[0].model.split("/")[0] : route.providers[0]?.id;
7654
- const { runCodeStreamJson, parseHostMessage } = await import('./stream-json-MD7MSSCH.js');
7655
- const { nodeCodeFs } = await import('./session-22BGDYWF.js');
7654
+ const { runCodeStreamJson, parseHostMessage } = await import('./stream-json-NW6AOE47.js');
7655
+ const { nodeCodeFs } = await import('./session-KXT2ZTPE.js');
7656
7656
  const readline6 = await import('readline');
7657
7657
  const child = await import('child_process');
7658
7658
  const { loadOrDiscoverFederation } = await import('./federation-M4ZNXOPX.js');
7659
7659
  const { resolveExecutionEnv } = await import('./execution-env-4MS5AYAN.js');
7660
7660
  const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-ELWF3Z6H.js');
7661
- const { startCodeRuntimeSession } = await import('./runtime-session-RMSKXFIJ.js');
7662
- const { resolveGraphBackend } = await import('./graph-backend-LK5EFQXN.js');
7661
+ const { startCodeRuntimeSession } = await import('./runtime-session-Y23NVY7R.js');
7662
+ const { resolveGraphBackend } = await import('./graph-backend-JXARVT3R.js');
7663
7663
  const { detectGitRef } = await import('./git-ref-LMT3EXYY.js');
7664
7664
  const { repositoryIdFromRoot } = await import('./paths-RVK6FKRN.js');
7665
- const { vgdRequest } = await import('./vgd-TW7HU2PH.js');
7665
+ const { vgdRequest } = await import('./vgd-RW7HCEIP.js');
7666
7666
  const federation = loadOrDiscoverFederation(root3);
7667
7667
  const modelProfile = mergeModelExecutionProfile(
7668
7668
  resolveModelExecutionProfile({
@@ -7720,7 +7720,7 @@ ${res.stderr}` : ""),
7720
7720
  exitCode: res.status ?? 1
7721
7721
  };
7722
7722
  };
7723
- const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-H6I3ALUW.js');
7723
+ const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-LXBHKEFR.js');
7724
7724
  const vgBuiltin = createVgBuiltinMcpTools({
7725
7725
  getGraph: () => graph,
7726
7726
  root: root3,
@@ -7765,7 +7765,7 @@ ${res.stderr}` : ""),
7765
7765
  files,
7766
7766
  indexFile: checkpointIndex
7767
7767
  });
7768
- const { loadApprovalRules, addApprovalRule, ruleForAction, ruleLabel } = await import('./approvals-HRIMDIX3.js');
7768
+ const { loadApprovalRules, addApprovalRule, ruleForAction, ruleLabel } = await import('./approvals-KBM72NU2.js');
7769
7769
  const { loadProjectRules, nodeRulesReader } = await import('./rules-ASYEUNB5.js');
7770
7770
  const projectRules = loadProjectRules(nodeRulesReader(root3));
7771
7771
  if (projectRules.sources.length && !global.quiet) {
@@ -7823,8 +7823,8 @@ ${res.stderr}` : ""),
7823
7823
  };
7824
7824
  try {
7825
7825
  if (opts.session) {
7826
- const { runCodeStreamJsonSession, STREAM_JSON_PROTOCOL_VERSION } = await import('./stream-json-MD7MSSCH.js');
7827
- const { runAgent: runAgent2 } = await import('./agent-IHNUBFBM.js');
7826
+ const { runCodeStreamJsonSession, STREAM_JSON_PROTOCOL_VERSION } = await import('./stream-json-NW6AOE47.js');
7827
+ const { runAgent: runAgent2 } = await import('./agent-DHQYEHVW.js');
7828
7828
  const {
7829
7829
  condenseSession,
7830
7830
  loadLatestSession,
@@ -7835,7 +7835,7 @@ ${res.stderr}` : ""),
7835
7835
  sessionsDir,
7836
7836
  summarizeSession
7837
7837
  } = await import('./session-store-AQUORKWB.js');
7838
- const { VERSION: VERSION2 } = await import('./version-FRUT6RI2.js');
7838
+ const { VERSION: VERSION2 } = await import('./version-7ABYXWOZ.js');
7839
7839
  const resumedRecord = typeof opts.continue === "string" ? loadSession(mainRoot, opts.continue) : opts.continue ? loadLatestSession(mainRoot) : void 0;
7840
7840
  if (typeof opts.continue === "string" && !resumedRecord) {
7841
7841
  emitStream({
@@ -8047,8 +8047,8 @@ ${res.stderr}` : ""),
8047
8047
  if (!autonomous && !tty) {
8048
8048
  throw usageError("the agent approves each edit/command \u2014 run in a terminal to approve interactively, or pass --auto to run autonomously (or --single for a one-shot diff).");
8049
8049
  }
8050
- const { agentTask } = await import('./interactive-K446F42I.js');
8051
- const { nodeCodeFs } = await import('./session-22BGDYWF.js');
8050
+ const { agentTask } = await import('./interactive-2XRBRFRB.js');
8051
+ const { nodeCodeFs } = await import('./session-KXT2ZTPE.js');
8052
8052
  const { TtyPrompter } = await import('./ui-K7D3BCHD.js');
8053
8053
  let priorSummary;
8054
8054
  let priorInstruction;
@@ -8063,7 +8063,7 @@ ${res.stderr}` : ""),
8063
8063
  }
8064
8064
  }
8065
8065
  const prompter = tty ? new TtyPrompter() : void 0;
8066
- const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-H6I3ALUW.js');
8066
+ const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-LXBHKEFR.js');
8067
8067
  const vgBuiltin = createVgBuiltinMcpTools({
8068
8068
  getGraph: () => graph,
8069
8069
  root: root3,
@@ -8087,11 +8087,11 @@ ${res.stderr}` : ""),
8087
8087
  const { loadFederation } = await import('./federation-M4ZNXOPX.js');
8088
8088
  const { resolveExecutionEnv } = await import('./execution-env-4MS5AYAN.js');
8089
8089
  const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-ELWF3Z6H.js');
8090
- const { startCodeRuntimeSession } = await import('./runtime-session-RMSKXFIJ.js');
8091
- const { resolveGraphBackend } = await import('./graph-backend-LK5EFQXN.js');
8090
+ const { startCodeRuntimeSession } = await import('./runtime-session-Y23NVY7R.js');
8091
+ const { resolveGraphBackend } = await import('./graph-backend-JXARVT3R.js');
8092
8092
  const { detectGitRef } = await import('./git-ref-LMT3EXYY.js');
8093
8093
  const { repositoryIdFromRoot } = await import('./paths-RVK6FKRN.js');
8094
- const { vgdRequest } = await import('./vgd-TW7HU2PH.js');
8094
+ const { vgdRequest } = await import('./vgd-RW7HCEIP.js');
8095
8095
  const federation = loadFederation(root3);
8096
8096
  const modelProfile = mergeModelExecutionProfile(
8097
8097
  resolveModelExecutionProfile({
@@ -9275,7 +9275,7 @@ var initCommand = new Command("init").description("Initialize vibgrate in a proj
9275
9275
  console.log(chalk7.green("\u2714") + ` Created ${chalk7.bold("vibgrate.config.ts")}`);
9276
9276
  }
9277
9277
  if (opts.baseline) {
9278
- const { runBaseline } = await import('./baseline-EZQ7SCRT.js');
9278
+ const { runBaseline } = await import('./baseline-4X6MQBDA.js');
9279
9279
  await runBaseline(rootDir);
9280
9280
  }
9281
9281
  console.log("");
@@ -9808,7 +9808,7 @@ function reportStandards(rootDir) {
9808
9808
  }
9809
9809
  async function printRuntimeSnapshot(rootDir, opts, already) {
9810
9810
  try {
9811
- const { attachVgd: attachVgd2 } = await import('./attach-L43JUJ7A.js');
9811
+ const { attachVgd: attachVgd2 } = await import('./attach-O74NL4M5.js');
9812
9812
  const { vgdRequest } = await import('./client-P5XSRFV4.js');
9813
9813
  const { formatSemanticProgress } = await import('./semantic-status-2JFLIQQJ.js');
9814
9814
  let repositoryId = already?.repositoryId;
@@ -10017,7 +10017,7 @@ var scanCommand = new Command("scan").description("Scan a project for upgrade dr
10017
10017
  const advanced = await loadAdvancedScanHook();
10018
10018
  const artifact = await runCoreScan(rootDir, scanOpts, advanced);
10019
10019
  if (wantGraph && builtGraph) {
10020
- const { attachVgd: attachVgd2 } = await import('./attach-L43JUJ7A.js');
10020
+ const { attachVgd: attachVgd2 } = await import('./attach-O74NL4M5.js');
10021
10021
  const { ActivityLog: ActivityLog2 } = await import('./activity-MF2GNYAI.js');
10022
10022
  const activity = new ActivityLog2();
10023
10023
  const attached = await activity.time(
@@ -10923,7 +10923,7 @@ ${String(err)}` }));
10923
10923
  async function releaseWindowsFileLocks(cwd, keepVersion) {
10924
10924
  reapAndReport(cwd, keepVersion);
10925
10925
  try {
10926
- const { vgdSocketPath } = await import('./vgd-TW7HU2PH.js');
10926
+ const { vgdSocketPath } = await import('./vgd-RW7HCEIP.js');
10927
10927
  const result = await stopVgd(vgdSocketPath());
10928
10928
  if (result === "stopped") {
10929
10929
  console.log(chalk7.dim("Stopped the vgd daemon so its files can be replaced \u2014 it restarts on the new build after the install."));
@@ -11054,7 +11054,7 @@ var updateCommand = new Command("update").description("Update vibgrate to the la
11054
11054
  );
11055
11055
  async function rewarmVgdAndReport(cwd) {
11056
11056
  try {
11057
- const { vgdIsRunning, vgdRequest } = await import('./vgd-TW7HU2PH.js');
11057
+ const { vgdIsRunning, vgdRequest } = await import('./vgd-RW7HCEIP.js');
11058
11058
  if (!await vgdIsRunning()) return;
11059
11059
  const loaded = await vgdRequest({ op: "load-graph", root: cwd });
11060
11060
  if (!loaded.ok || !("stored" in loaded)) return;
@@ -1,7 +1,7 @@
1
- export { compareDaemonVersion, ensureVgd, ensureVgdSoft, registerDaemon, restartVgdIfRunning, retireWedgedVgd, startDetachedVgd, stopVgd, vgdCliVersion, vgdVersionSkew } from './chunk-BCK2NIBM.js';
1
+ export { compareDaemonVersion, ensureVgd, ensureVgdSoft, registerDaemon, restartVgdIfRunning, retireWedgedVgd, startDetachedVgd, stopVgd, vgdCliVersion, vgdVersionSkew } from './chunk-DIZ5KI5Q.js';
2
2
  import './chunk-YENM3HT7.js';
3
3
  import './chunk-CT5BS56U.js';
4
- import './chunk-JSZ46IDG.js';
4
+ import './chunk-KYM55VZX.js';
5
5
  import './chunk-3LOWJSAF.js';
6
6
  import './chunk-5HYCB55P.js';
7
7
  import './chunk-IS7VTH2Q.js';
@@ -11,20 +11,20 @@ import './chunk-EZ7UC5Y5.js';
11
11
  import './chunk-DBX3DL27.js';
12
12
  import './chunk-6BEBJCK4.js';
13
13
  import './chunk-J7LKEB2R.js';
14
- import './chunk-LUJ4H4RJ.js';
15
- import './chunk-5BFA532E.js';
14
+ import './chunk-K3SXWOTT.js';
15
+ import './chunk-7M4E7UGX.js';
16
16
  import './chunk-VHRSG6CF.js';
17
17
  import './chunk-6H2QV5DR.js';
18
18
  import './chunk-RTURQXQL.js';
19
19
  import './chunk-6WRG7VDO.js';
20
- import './chunk-B5X246UH.js';
21
- import './chunk-FVBN4E5C.js';
20
+ import './chunk-FQHWPOTS.js';
21
+ import './chunk-OIUVWCKM.js';
22
22
  import './chunk-MVPRPSXU.js';
23
23
  import './chunk-O3LABX6I.js';
24
- import './chunk-KFLNWYZG.js';
24
+ import './chunk-G3ACLBMG.js';
25
25
  import './chunk-XP6UUCZZ.js';
26
26
  import './chunk-JFGYT6BI.js';
27
27
  import './chunk-XQNKCA2J.js';
28
28
  import './chunk-Z6ZWNWWR.js';
29
- //# sourceMappingURL=daemon-WPX2SBVV.js.map
30
- //# sourceMappingURL=daemon-WPX2SBVV.js.map
29
+ //# sourceMappingURL=daemon-RZS5FPIW.js.map
30
+ //# sourceMappingURL=daemon-RZS5FPIW.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"daemon-WPX2SBVV.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"daemon-RZS5FPIW.js"}
@@ -1,8 +1,8 @@
1
- import { resolveEmbedModel, loadEmbedder } from './chunk-B5X246UH.js';
2
- import './chunk-FVBN4E5C.js';
1
+ import { resolveEmbedModel, loadEmbedder } from './chunk-FQHWPOTS.js';
2
+ import './chunk-OIUVWCKM.js';
3
3
  import './chunk-MVPRPSXU.js';
4
4
  import './chunk-O3LABX6I.js';
5
- import './chunk-KFLNWYZG.js';
5
+ import './chunk-G3ACLBMG.js';
6
6
  import './chunk-XP6UUCZZ.js';
7
7
  import './chunk-JFGYT6BI.js';
8
8
  import './chunk-XQNKCA2J.js';
@@ -1,40 +1,40 @@
1
- export { ensureCodeMap } from './chunk-ECQFRZJI.js';
2
- import './chunk-X34HVFZ6.js';
1
+ export { ensureCodeMap } from './chunk-HFQIYM6E.js';
2
+ import './chunk-27TS2AUJ.js';
3
3
  import './chunk-YENM3HT7.js';
4
4
  import './chunk-H5Q4JUY4.js';
5
5
  import './chunk-CT5BS56U.js';
6
- import './chunk-UUVOA6WD.js';
7
- import './chunk-LKJIYGO5.js';
6
+ import './chunk-NS4DL3QR.js';
7
+ import './chunk-TT2J2TB6.js';
8
8
  import './chunk-HTLDXEHW.js';
9
9
  import './chunk-5UG4UHKU.js';
10
10
  import './chunk-VIWZ4QT7.js';
11
- import './chunk-S3HMG6BC.js';
11
+ import './chunk-NZES47ST.js';
12
12
  import './chunk-WNKGRXUA.js';
13
13
  import './chunk-57ZRSCHY.js';
14
14
  import './chunk-MS6V5XKB.js';
15
- import './chunk-GRMZU24V.js';
15
+ import './chunk-IJVWKZRS.js';
16
16
  import './chunk-PVNALGTG.js';
17
17
  import './chunk-CRAMOEBE.js';
18
18
  import './chunk-EZ7UC5Y5.js';
19
19
  import './chunk-A3WWRW7U.js';
20
20
  import './chunk-6BEBJCK4.js';
21
21
  import './chunk-J7LKEB2R.js';
22
- import './chunk-LUJ4H4RJ.js';
23
- import './chunk-5BFA532E.js';
22
+ import './chunk-K3SXWOTT.js';
23
+ import './chunk-7M4E7UGX.js';
24
24
  import './chunk-VHRSG6CF.js';
25
25
  import './chunk-6H2QV5DR.js';
26
26
  import './chunk-RTURQXQL.js';
27
- import './chunk-L3YEEJ6U.js';
27
+ import './chunk-6MIJLO5B.js';
28
28
  import './chunk-T7RSQ5WD.js';
29
29
  import './chunk-6WRG7VDO.js';
30
- import './chunk-B5X246UH.js';
31
- import './chunk-FVBN4E5C.js';
30
+ import './chunk-FQHWPOTS.js';
31
+ import './chunk-OIUVWCKM.js';
32
32
  import './chunk-MVPRPSXU.js';
33
33
  import './chunk-O3LABX6I.js';
34
- import './chunk-KFLNWYZG.js';
34
+ import './chunk-G3ACLBMG.js';
35
35
  import './chunk-XP6UUCZZ.js';
36
36
  import './chunk-JFGYT6BI.js';
37
37
  import './chunk-XQNKCA2J.js';
38
38
  import './chunk-Z6ZWNWWR.js';
39
- //# sourceMappingURL=ensure-map-MLI4XCRV.js.map
40
- //# sourceMappingURL=ensure-map-MLI4XCRV.js.map
39
+ //# sourceMappingURL=ensure-map-DL2S774J.js.map
40
+ //# sourceMappingURL=ensure-map-DL2S774J.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"ensure-map-MLI4XCRV.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"ensure-map-DL2S774J.js"}
@@ -1,16 +1,16 @@
1
- export { localGraphBackend, resolveGraphBackend, vgdGraphBackend } from './chunk-YIRDV4YJ.js';
1
+ export { localGraphBackend, resolveGraphBackend, vgdGraphBackend } from './chunk-JAEHLTVX.js';
2
2
  import './chunk-J7LKEB2R.js';
3
- import './chunk-LUJ4H4RJ.js';
3
+ import './chunk-K3SXWOTT.js';
4
4
  import './chunk-VHRSG6CF.js';
5
5
  import './chunk-6H2QV5DR.js';
6
- import './chunk-B5X246UH.js';
7
- import './chunk-FVBN4E5C.js';
6
+ import './chunk-FQHWPOTS.js';
7
+ import './chunk-OIUVWCKM.js';
8
8
  import './chunk-MVPRPSXU.js';
9
9
  import './chunk-O3LABX6I.js';
10
- import './chunk-KFLNWYZG.js';
10
+ import './chunk-G3ACLBMG.js';
11
11
  import './chunk-XP6UUCZZ.js';
12
12
  import './chunk-JFGYT6BI.js';
13
13
  import './chunk-XQNKCA2J.js';
14
14
  import './chunk-Z6ZWNWWR.js';
15
- //# sourceMappingURL=graph-backend-LK5EFQXN.js.map
16
- //# sourceMappingURL=graph-backend-LK5EFQXN.js.map
15
+ //# sourceMappingURL=graph-backend-JXARVT3R.js.map
16
+ //# sourceMappingURL=graph-backend-JXARVT3R.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"graph-backend-LK5EFQXN.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"graph-backend-JXARVT3R.js"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { G as GraphNode, a as GraphEdge, A as Area, R as ResolverKind, V as VgGr
2
2
  export { e as AnalysisTier, C as Centrality, D as DerivedBy, f as EpistemicTier, g as FactConfidence, h as FactKind, i as GraphMeta, j as GraphSummaries, H as HubBlastSummary, N as NodeKind, P as Provenance, k as SUPPORTED_SCHEMA_VERSIONS, l as Span, m as SupportedSchemaVersion, T as Toolchain, U as Unknown } from './types-DHqH0XIE.js';
3
3
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
4
4
 
5
- declare const VERSION = "2026.825.1";
5
+ declare const VERSION = "2026.825.2";
6
6
 
7
7
  /**
8
8
  * Analysis stage: importance, centrality, hubs, communities, and surprise.
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
- export { GraphSource, createServer, exportGraph, formatForExt, moduleInstalled as relevanceModuleInstalled, serveStdio } from './chunk-TLYNLQL2.js';
2
- export { refreshIfStale } from './chunk-4PCFSRYH.js';
3
- export { ASSISTANTS, ResourceLimitError, analyze, applyCoverage, assistantById, buildFacts, buildGraph, decodeScipIndex, driftCount, groundGraph, hasDrift, installAssistant, loadCoverage, loadSnapshot, probeFreshness, resolveLimits, scipEdges, uninstallAssistant, verifyDeterminism, writeSnapshot } from './chunk-UUVOA6WD.js';
4
- export { FREE_PACK, TOOLS, coveringTests, detectRunner, shortestPath, testsToRun } from './chunk-LKJIYGO5.js';
1
+ export { GraphSource, createServer, exportGraph, formatForExt, moduleInstalled as relevanceModuleInstalled, serveStdio } from './chunk-3E7QT4NE.js';
2
+ export { refreshIfStale } from './chunk-VMPKOMHG.js';
3
+ export { ASSISTANTS, ResourceLimitError, analyze, applyCoverage, assistantById, buildFacts, buildGraph, decodeScipIndex, driftCount, groundGraph, hasDrift, installAssistant, loadCoverage, loadSnapshot, probeFreshness, resolveLimits, scipEdges, uninstallAssistant, verifyDeterminism, writeSnapshot } from './chunk-NS4DL3QR.js';
4
+ export { FREE_PACK, TOOLS, coveringTests, detectRunner, shortestPath, testsToRun } from './chunk-TT2J2TB6.js';
5
5
  import './chunk-HTLDXEHW.js';
6
6
  import './chunk-5UG4UHKU.js';
7
- export { COMPILE_MIN_SOURCE_TOKENS, WHOLE_REPO_MAX_SOURCE_TOKENS, askNamesSymbol, buildWholeRepoPacket, capsuleMode, mappedFilePaths, sourceTokenMass } from './chunk-YP243ZKD.js';
7
+ export { COMPILE_MIN_SOURCE_TOKENS, WHOLE_REPO_MAX_SOURCE_TOKENS, askNamesSymbol, buildWholeRepoPacket, capsuleMode, mappedFilePaths, sourceTokenMass } from './chunk-L7GCJNDT.js';
8
8
  export { applyStaticTestLinkage, buildModuleResolver, isTestFile, parseJsonc, relativeResolver } from './chunk-VIWZ4QT7.js';
9
- export { addLibrary, driftFor, libId, loadCatalog, readDoc, resolveLib, saveCatalog, searchSymbols } from './chunk-S3HMG6BC.js';
10
- export { CAPSULE_COMPILER_ID, CAPSULE_RANKING_VERSION, TASK_CAPSULE_SCHEMA_VERSION, buildCodeContext, buildTaskCapsule, capsuleToCodeContext, readSavings, recordSaving, savingsRecorded, summarizeCapsule } from './chunk-6VLOI2ZP.js';
9
+ export { addLibrary, driftFor, libId, loadCatalog, readDoc, resolveLib, saveCatalog, searchSymbols } from './chunk-NZES47ST.js';
10
+ export { CAPSULE_COMPILER_ID, CAPSULE_RANKING_VERSION, TASK_CAPSULE_SCHEMA_VERSION, buildCodeContext, buildTaskCapsule, capsuleToCodeContext, readSavings, recordSaving, savingsRecorded, summarizeCapsule } from './chunk-SYMJSRYF.js';
11
11
  export { discoverModels } from './chunk-WNKGRXUA.js';
12
12
  import './chunk-57ZRSCHY.js';
13
13
  import './chunk-MS6V5XKB.js';
14
- import './chunk-GRMZU24V.js';
14
+ import './chunk-IJVWKZRS.js';
15
15
  import './chunk-PVNALGTG.js';
16
16
  import './chunk-CRAMOEBE.js';
17
17
  import './chunk-5IQBIXHS.js';
@@ -20,20 +20,20 @@ import './chunk-A3WWRW7U.js';
20
20
  import './chunk-DBX3DL27.js';
21
21
  export { inventory as dependencyInventory, enrichOnline } from './chunk-6BEBJCK4.js';
22
22
  export { findNodes, nodeById, resolveOne } from './chunk-J7LKEB2R.js';
23
- export { GraphIndex, identifierParts, impactOf, queryGraph, queryGraphSemantic } from './chunk-LUJ4H4RJ.js';
24
- import { SCHEMA_VERSION } from './chunk-5BFA532E.js';
25
- export { SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS, loadGraph } from './chunk-5BFA532E.js';
23
+ export { GraphIndex, identifierParts, impactOf, queryGraph, queryGraphSemantic } from './chunk-K3SXWOTT.js';
24
+ import { SCHEMA_VERSION } from './chunk-7M4E7UGX.js';
25
+ export { SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS, loadGraph } from './chunk-7M4E7UGX.js';
26
26
  import './chunk-VHRSG6CF.js';
27
27
  import './chunk-6H2QV5DR.js';
28
28
  export { SKIP_DIRS, SKIP_FILES, UsageError, discover } from './chunk-RTURQXQL.js';
29
- export { grammarsSourceDir, parseSource } from './chunk-L3YEEJ6U.js';
29
+ export { grammarsSourceDir, parseSource } from './chunk-6MIJLO5B.js';
30
30
  import { redactUrlCredentials, redactSecrets } from './chunk-T7RSQ5WD.js';
31
31
  export { LANGUAGES, allLanguageIds, langById, langForExtension } from './chunk-6WRG7VDO.js';
32
- export { cosine, embeddingsCached, embeddingsPath, embeddingsPathFor, getNodeEmbeddings, loadEmbedder, nodeEmbedText } from './chunk-B5X246UH.js';
33
- export { defaultGraphPath, legacyGraphPath, preferInRepoGraph, renderHtml, renderReport, resolveGraphPath, vibgrateDir, writeArtifacts } from './chunk-FVBN4E5C.js';
32
+ export { cosine, embeddingsCached, embeddingsPath, embeddingsPathFor, getNodeEmbeddings, loadEmbedder, nodeEmbedText } from './chunk-FQHWPOTS.js';
33
+ export { defaultGraphPath, legacyGraphPath, preferInRepoGraph, renderHtml, renderReport, resolveGraphPath, vibgrateDir, writeArtifacts } from './chunk-OIUVWCKM.js';
34
34
  import './chunk-MVPRPSXU.js';
35
35
  export { parseGraph, serializeGraph, stableStringify } from './chunk-O3LABX6I.js';
36
- export { VERSION } from './chunk-KFLNWYZG.js';
36
+ export { VERSION } from './chunk-G3ACLBMG.js';
37
37
  import './chunk-XP6UUCZZ.js';
38
38
  import './chunk-JFGYT6BI.js';
39
39
  import './chunk-XQNKCA2J.js';