@vibgrate/cli 2026.727.4 → 2026.728.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 (64) hide show
  1. package/dist/baseline-MRUM2P6H.js +8 -0
  2. package/dist/{baseline-ENCOSJYQ.js.map → baseline-MRUM2P6H.js.map} +1 -1
  3. package/dist/{chunk-K7REHDQS.js → chunk-6HX47EBL.js} +25 -19
  4. package/dist/chunk-6HX47EBL.js.map +1 -0
  5. package/dist/{chunk-MAUJTPQW.js → chunk-A2IYFNCQ.js} +24 -62
  6. package/dist/chunk-A2IYFNCQ.js.map +1 -0
  7. package/dist/{chunk-YKVH2PGF.js → chunk-GQTWDKMJ.js} +93 -141
  8. package/dist/chunk-GQTWDKMJ.js.map +1 -0
  9. package/dist/{chunk-FPEOIS7K.js → chunk-IWP7MYIA.js} +10 -7
  10. package/dist/chunk-IWP7MYIA.js.map +1 -0
  11. package/dist/{chunk-77LYGXBI.js → chunk-JRAGO6OB.js} +3 -3
  12. package/dist/{chunk-77LYGXBI.js.map → chunk-JRAGO6OB.js.map} +1 -1
  13. package/dist/{chunk-HYRAILGM.js → chunk-NTW5UEKT.js} +3 -3
  14. package/dist/{chunk-HYRAILGM.js.map → chunk-NTW5UEKT.js.map} +1 -1
  15. package/dist/chunk-OSD546W7.js +167 -0
  16. package/dist/chunk-OSD546W7.js.map +1 -0
  17. package/dist/{chunk-XPJZTSY7.js → chunk-R2QNFXE5.js} +3 -3
  18. package/dist/{chunk-XPJZTSY7.js.map → chunk-R2QNFXE5.js.map} +1 -1
  19. package/dist/{chunk-PXHNTC6D.js → chunk-SIPGDJT4.js} +3 -3
  20. package/dist/{chunk-PXHNTC6D.js.map → chunk-SIPGDJT4.js.map} +1 -1
  21. package/dist/{chunk-YCJIIGLP.js → chunk-UIOBFLE6.js} +3 -3
  22. package/dist/{chunk-YCJIIGLP.js.map → chunk-UIOBFLE6.js.map} +1 -1
  23. package/dist/chunk-UZJS7GMK.js +57 -0
  24. package/dist/chunk-UZJS7GMK.js.map +1 -0
  25. package/dist/{chunk-R6ZRVVZT.js → chunk-WH2N22S3.js} +3 -3
  26. package/dist/{chunk-R6ZRVVZT.js.map → chunk-WH2N22S3.js.map} +1 -1
  27. package/dist/{chunk-LJP2EPKM.js → chunk-WY6DGTBP.js} +4 -4
  28. package/dist/{chunk-LJP2EPKM.js.map → chunk-WY6DGTBP.js.map} +1 -1
  29. package/dist/{chunk-KXSKFQMI.js → chunk-YF43FOPP.js} +5 -5
  30. package/dist/chunk-YF43FOPP.js.map +1 -0
  31. package/dist/{chunk-T3AYRS7J.js → chunk-ZFTFCM7B.js} +3 -3
  32. package/dist/{chunk-T3AYRS7J.js.map → chunk-ZFTFCM7B.js.map} +1 -1
  33. package/dist/cli.js +129 -32
  34. package/dist/cli.js.map +1 -1
  35. package/dist/index.d.ts +1 -1
  36. package/dist/index.js +4 -3
  37. package/dist/index.js.map +1 -1
  38. package/dist/{interactive-SMHVURYK.js → interactive-36ZZ64WL.js} +15 -14
  39. package/dist/interactive-36ZZ64WL.js.map +1 -0
  40. package/dist/{llm-host-7GWDO6IX.js → llm-host-XYBT4267.js} +4 -4
  41. package/dist/{llm-host-7GWDO6IX.js.map → llm-host-XYBT4267.js.map} +1 -1
  42. package/dist/model-manager-OEPY4I7W.js +10 -0
  43. package/dist/{model-manager-PN7HEDXD.js.map → model-manager-OEPY4I7W.js.map} +1 -1
  44. package/dist/{runtime-session-4AMZIAAG.js → runtime-session-EJQZXANB.js} +5 -5
  45. package/dist/{runtime-session-4AMZIAAG.js.map → runtime-session-EJQZXANB.js.map} +1 -1
  46. package/dist/{session-W3646AOV.js → session-ZJGENHKX.js} +6 -5
  47. package/dist/{session-W3646AOV.js.map → session-ZJGENHKX.js.map} +1 -1
  48. package/dist/{stream-json-X7UQFB4T.js → stream-json-Z5KC2DM3.js} +6 -5
  49. package/dist/stream-json-Z5KC2DM3.js.map +1 -0
  50. package/dist/{vgd-CVLKBS7K.js → vgd-3MHSB4KA.js} +4 -4
  51. package/dist/vgd-3MHSB4KA.js.map +1 -0
  52. package/package.json +1 -1
  53. package/dist/baseline-ENCOSJYQ.js +0 -8
  54. package/dist/chunk-FPEOIS7K.js.map +0 -1
  55. package/dist/chunk-K7REHDQS.js.map +0 -1
  56. package/dist/chunk-KUIBP3LU.js +0 -101
  57. package/dist/chunk-KUIBP3LU.js.map +0 -1
  58. package/dist/chunk-KXSKFQMI.js.map +0 -1
  59. package/dist/chunk-MAUJTPQW.js.map +0 -1
  60. package/dist/chunk-YKVH2PGF.js.map +0 -1
  61. package/dist/interactive-SMHVURYK.js.map +0 -1
  62. package/dist/model-manager-PN7HEDXD.js +0 -9
  63. package/dist/stream-json-X7UQFB4T.js.map +0 -1
  64. package/dist/vgd-CVLKBS7K.js.map +0 -1
package/dist/cli.js CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
- import { sha256Hex, generateKeypair, dssePae, DSSE_PAYLOAD_TYPE, keyId, registerBuild, readGlobal, applyGlobalOptions, ProgressBar, printLogo, fetchCatalog, resolveProviders, runBuild } from './chunk-FPEOIS7K.js';
3
- export { runBuild } from './chunk-FPEOIS7K.js';
4
- import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-MAUJTPQW.js';
5
- import { loadAdvancedScanHook, baselineCommand } from './chunk-HYRAILGM.js';
6
- import { runCodeSession } from './chunk-R6ZRVVZT.js';
7
- import { summarizeDiffs, ScriptedProvider } from './chunk-KXSKFQMI.js';
2
+ import { sha256Hex, generateKeypair, dssePae, DSSE_PAYLOAD_TYPE, keyId, registerBuild, readGlobal, applyGlobalOptions, ProgressBar, printLogo, fetchCatalog, resolveProviders, runBuild } from './chunk-IWP7MYIA.js';
3
+ export { runBuild } from './chunk-IWP7MYIA.js';
4
+ import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-A2IYFNCQ.js';
5
+ import { loadAdvancedScanHook, baselineCommand } from './chunk-NTW5UEKT.js';
6
+ import { runCodeSession } from './chunk-WH2N22S3.js';
7
+ import { summarizeDiffs, ScriptedProvider } from './chunk-YF43FOPP.js';
8
8
  import { disableColor, info, c, json, out } from './chunk-CT5BS56U.js';
9
- import { VGD_PROTOCOL_VERSION, startVgdServer } from './chunk-77LYGXBI.js';
9
+ import { VGD_PROTOCOL_VERSION, startVgdServer } from './chunk-JRAGO6OB.js';
10
10
  import './chunk-5I4VSBWQ.js';
11
11
  import './chunk-IS7VTH2Q.js';
12
12
  import { gatherSystemMemory } from './chunk-6UQMXIAG.js';
@@ -15,21 +15,22 @@ import { fmt, estimateModelBytes } from './chunk-7N4Y3E47.js';
15
15
  import './chunk-IZDH67DX.js';
16
16
  import './chunk-HK3AWUXH.js';
17
17
  import { vgdIsRunning, vgdRequest, vgdSocketPath } from './chunk-PMYWZRRS.js';
18
- import { defaultProcessEndpoint, startProcessHostServer, resolveInferenceIsolation } from './chunk-PXHNTC6D.js';
19
- import { clearHostSessionPool, acquireHostSession, generateOnSession, listHostSessions, hostSessionPoolSize } from './chunk-K7REHDQS.js';
18
+ import { defaultProcessEndpoint, startProcessHostServer, resolveInferenceIsolation } from './chunk-SIPGDJT4.js';
19
+ import { clearHostSessionPool, acquireHostSession, generateOnSession, listHostSessions, hostSessionPoolSize } from './chunk-6HX47EBL.js';
20
20
  import { buildIdentifierTrieFromGraph } from './chunk-JIBOJTGS.js';
21
21
  import './chunk-KKRSQQ3A.js';
22
- import { buildModelInstallPlan } from './chunk-YCJIIGLP.js';
23
- import { ensurePackage, ensureUnavailableMessage } from './chunk-KUIBP3LU.js';
24
- import { serveStdio, exportGraph, GraphSource, createServer, formatForExt } from './chunk-LJP2EPKM.js';
25
- import { resolveDsn, resolveIngestHost, dashHostForIngestHost, resolveCliInvocation, availableRegionIds, createWorkspaceDsn, writeStoredCredentials, credentialsPath, findGitRoot, ensureGitignored, gitignoreEntryForCredentials, clearStoredCredentials, CliError, ExitCode, parseDsn as parseDsn$1, uploadScanArtifact, ingestHostForRegionId, dsnCommand, pushCommand, NPX_INVOCATION, refreshIfStale, driftCount, countTokens, shortestPath, pathDisconnect, testsToRun, detectRunner, ASSISTANTS, detectAssistants, usageError, detectServeLaunch, installAssistant, writeNavigationConfig, uninstallAssistant, coveringTests, FREE_PACK, readScanArtifact, buildGraph, writeSnapshot, probeFreshness, discover, assistantById, SMALL_REPO_FILES, publishPrivateLibrary, assessDocQuality, symbolsFromApi, fetchHostedDocsCached, selectForBudget, hostedBase, readStoredCredentials, projectCredentialsPath, homeCredentialsPath, SKIP_DIRS, SKIP_FILES } from './chunk-YKVH2PGF.js';
22
+ import { buildModelInstallPlan } from './chunk-UIOBFLE6.js';
23
+ import { ensurePackage, ensureUnavailableMessage } from './chunk-OSD546W7.js';
24
+ import { serveStdio, exportGraph, GraphSource, createServer, formatForExt } from './chunk-WY6DGTBP.js';
25
+ import { resolveDsn, resolveIngestHost, dashHostForIngestHost, availableRegionIds, createWorkspaceDsn, writeStoredCredentials, credentialsPath, findGitRoot, ensureGitignored, gitignoreEntryForCredentials, clearStoredCredentials, CliError, ExitCode, parseDsn as parseDsn$1, uploadScanArtifact, ingestHostForRegionId, dsnCommand, pushCommand, refreshIfStale, driftCount, countTokens, shortestPath, pathDisconnect, testsToRun, detectRunner, ASSISTANTS, detectAssistants, usageError, detectServeLaunch, installAssistant, writeNavigationConfig, uninstallAssistant, coveringTests, FREE_PACK, readScanArtifact, buildGraph, writeSnapshot, probeFreshness, discover, assistantById, SMALL_REPO_FILES, publishPrivateLibrary, assessDocQuality, symbolsFromApi, fetchHostedDocsCached, selectForBudget, hostedBase, readStoredCredentials, projectCredentialsPath, homeCredentialsPath, SKIP_DIRS, SKIP_FILES } from './chunk-GQTWDKMJ.js';
26
26
  import { inventory, enrichOnline, ECOSYSTEMS, catalogPath, libDir, loadCatalog, driftFor, addLibrary, resolveLib, libId, resolveVersion, readDoc, localPackageDocs, localApiSurface } from './chunk-6AXHLQBV.js';
27
- import { writeDefaultConfig, parseDsn, detectVcs, computeRepoFingerprint, resolveRepositoryName, fetchScanPreflight, runCoreScan, VERSION, loadConfig, prepareCompressedUpload, computeDriftScore, titleBox, projectTypeToVulnEcosystem, driftBar, gitHistoryAvailable, buildVersionTimelines, findPackageAnyEcosystem, normalizeConstraint, findVersionCrossings, versionSatisfies, PROJECT_TYPE_TO_OSV_ECOSYSTEM, fetchRiskySymbols } from './chunk-T3AYRS7J.js';
27
+ import { writeDefaultConfig, parseDsn, detectVcs, computeRepoFingerprint, resolveRepositoryName, fetchScanPreflight, runCoreScan, VERSION, loadConfig, prepareCompressedUpload, computeDriftScore, titleBox, projectTypeToVulnEcosystem, driftBar, gitHistoryAvailable, buildVersionTimelines, findPackageAnyEcosystem, normalizeConstraint, findVersionCrossings, versionSatisfies, PROJECT_TYPE_TO_OSV_ECOSYSTEM, fetchRiskySymbols } from './chunk-ZFTFCM7B.js';
28
28
  import { recordCliCall, CLI_TOOL_ALIASES, savingsLedgerPath, clearSavings, readSavings, readUsage, readModelSavings, CAPSULE_RANKING_VERSION, SAVINGS_TOOLS, sanitizeClient } from './chunk-ZBTY6VV4.js';
29
29
  import { ensureDir, pathExists, readJsonFile, writeTextFile, writeJsonFile } from './chunk-CRAMOEBE.js';
30
30
  import { resolveOne } from './chunk-J7LKEB2R.js';
31
31
  import { embeddingsCached, resolveEmbedModel, loadEmbedder, getNodeEmbeddings, queryGraphSemantic, queryGraph, unavailableMessage, countPending, indexFor, impactOf, modelCacheInfo, clearModelCache } from './chunk-6UK6QPTR.js';
32
32
  import { discoverModels } from './chunk-3SDV6ADQ.js';
33
+ import { resolveCliInvocation, NPX_INVOCATION } from './chunk-UZJS7GMK.js';
33
34
  import { listCachedWeights, ensureWeightCached, catalogIntegrityReport, weightStoreDir } from './chunk-GYSOQH5C.js';
34
35
  import { resolvedGrammarFiles, grammarSetVersion } from './chunk-ON25BX6T.js';
35
36
  import './chunk-RXP66R2E.js';
@@ -2136,9 +2137,19 @@ function runTree(graph, params) {
2136
2137
  // src/lsp/enrich.ts
2137
2138
  var OSV_QUERY_URL = "https://api.osv.dev/v1/query";
2138
2139
  var cache = /* @__PURE__ */ new Map();
2140
+ var SEVERITY_RANK = {
2141
+ critical: 4,
2142
+ high: 3,
2143
+ moderate: 2,
2144
+ low: 1,
2145
+ unknown: 0
2146
+ };
2139
2147
  function key(ecosystem, name, version) {
2140
2148
  return `${ecosystem}:${name}@${version}`;
2141
2149
  }
2150
+ function emptyCounts() {
2151
+ return { critical: 0, high: 0, moderate: 0, low: 0, unknown: 0 };
2152
+ }
2142
2153
  function severityOf(v) {
2143
2154
  const dbSpecific = v.database_specific;
2144
2155
  const label = typeof dbSpecific?.severity === "string" ? dbSpecific.severity.toLowerCase() : "";
@@ -2197,6 +2208,62 @@ async function enrichVulns(ecosystem, name, version, opts = { offline: false })
2197
2208
  return { vulns: [], cveCount: 0, source: "error" };
2198
2209
  }
2199
2210
  }
2211
+ async function scanWorkspaceVulns(targets, opts = { offline: false }) {
2212
+ if (opts.offline) {
2213
+ return { findings: [], counts: emptyCounts(), packagesChecked: 0, source: "offline" };
2214
+ }
2215
+ if (targets.length === 0) {
2216
+ return { findings: [], counts: emptyCounts(), packagesChecked: 0, source: "osv" };
2217
+ }
2218
+ const seen = /* @__PURE__ */ new Set();
2219
+ const unique = [];
2220
+ for (const t of targets) {
2221
+ if (!t.ecosystem || !t.package || !t.version) continue;
2222
+ const k = key(t.ecosystem, t.package, t.version);
2223
+ if (seen.has(k)) continue;
2224
+ seen.add(k);
2225
+ unique.push(t);
2226
+ }
2227
+ const concurrency = Math.max(1, Math.min(opts.concurrency ?? 8, 16));
2228
+ const findings = [];
2229
+ let anyOk = false;
2230
+ let anyError = false;
2231
+ let i = 0;
2232
+ async function worker() {
2233
+ for (; ; ) {
2234
+ const idx = i++;
2235
+ if (idx >= unique.length) return;
2236
+ const t = unique[idx];
2237
+ const r = await enrichVulns(t.ecosystem, t.package, t.version, { offline: false });
2238
+ if (r.source === "osv" || r.source === "cache") anyOk = true;
2239
+ else if (r.source === "error") anyError = true;
2240
+ for (const v of r.vulns) {
2241
+ findings.push({
2242
+ package: t.package,
2243
+ version: t.version,
2244
+ ecosystem: t.ecosystem,
2245
+ id: v.id,
2246
+ cves: v.cves,
2247
+ summary: v.summary,
2248
+ severity: v.severity
2249
+ });
2250
+ }
2251
+ }
2252
+ }
2253
+ await Promise.all(Array.from({ length: Math.min(concurrency, unique.length) }, () => worker()));
2254
+ findings.sort(
2255
+ (a, b) => SEVERITY_RANK[b.severity] - SEVERITY_RANK[a.severity] || a.package.localeCompare(b.package) || a.id.localeCompare(b.id)
2256
+ );
2257
+ const counts = emptyCounts();
2258
+ for (const f of findings) counts[f.severity]++;
2259
+ const source = anyOk ? "osv" : anyError ? "error" : "osv";
2260
+ return {
2261
+ findings,
2262
+ counts,
2263
+ packagesChecked: unique.length,
2264
+ source
2265
+ };
2266
+ }
2200
2267
 
2201
2268
  // src/lsp/server.ts
2202
2269
  function bandForDependency(dep) {
@@ -2284,6 +2351,7 @@ var VibgrateLanguageServer = class {
2284
2351
  this.conn.onRequest("vibgrate/graph/query", (_m, params) => this.onGraphQuery(params));
2285
2352
  this.conn.onRequest("vibgrate/score/forFile", (_m, params) => this.onScoreForFile(params));
2286
2353
  this.conn.onRequest("vibgrate/enrich", (_m, params) => this.onEnrich(params));
2354
+ this.conn.onRequest("vibgrate/vulns", (_m, _params) => this.onVulns());
2287
2355
  this.conn.onRequest("workspace/executeCommand", (_m, params) => {
2288
2356
  const p = params;
2289
2357
  if (p.command === "vibgrate.rescan") {
@@ -2539,6 +2607,31 @@ var VibgrateLanguageServer = class {
2539
2607
  const p = params ?? {};
2540
2608
  return enrichVulns(p.ecosystem ?? null, p.package ?? "", p.version ?? null, { offline: this.opts.offline });
2541
2609
  }
2610
+ /**
2611
+ * `vibgrate/vulns` — live OSV.dev pass over every resolved dependency in the
2612
+ * current workspace artifact. Powers the Vulnerabilities panel. Empty
2613
+ * findings with `source: 'osv'` means checked clean; `offline`/`error` mean
2614
+ * we could not check (absent ≠ zero).
2615
+ */
2616
+ async onVulns() {
2617
+ if (this.opts.offline) {
2618
+ return { findings: [], counts: { critical: 0, high: 0, moderate: 0, low: 0, unknown: 0 }, packagesChecked: 0, source: "offline" };
2619
+ }
2620
+ const a = this.artifact;
2621
+ if (!a) {
2622
+ return { findings: [], counts: { critical: 0, high: 0, moderate: 0, low: 0, unknown: 0 }, packagesChecked: 0, source: "pending" };
2623
+ }
2624
+ const targets = [];
2625
+ for (const proj of a.projects ?? []) {
2626
+ const ecosystem = osvEcosystem(proj.type);
2627
+ if (!ecosystem) continue;
2628
+ for (const dep of proj.dependencies ?? []) {
2629
+ if (!dep.resolvedVersion) continue;
2630
+ targets.push({ ecosystem, package: dep.package, version: dep.resolvedVersion });
2631
+ }
2632
+ }
2633
+ return scanWorkspaceVulns(targets, { offline: this.opts.offline });
2634
+ }
2542
2635
  onScoreForFile(params) {
2543
2636
  const p = params;
2544
2637
  const a = this.artifact;
@@ -3585,7 +3678,7 @@ async function executeModelInstallPlan(plan, options = {}) {
3585
3678
  plan,
3586
3679
  installedDeps,
3587
3680
  pulledWeights,
3588
- error: ensureUnavailableMessage(res.reason ?? "install-failed", spec)
3681
+ error: ensureUnavailableMessage(res.reason ?? "install-failed", spec, res.detail)
3589
3682
  };
3590
3683
  }
3591
3684
  installedDeps.push(spec);
@@ -5786,7 +5879,7 @@ function registerCode(program) {
5786
5879
  if (!(process.stdin.isTTY && process.stdout.isTTY)) {
5787
5880
  throw usageError('say what to change, e.g. `vg code "add a --timeout flag to the scan command"` (guided mode needs an interactive terminal)');
5788
5881
  }
5789
- const { runInteractive } = await import('./interactive-SMHVURYK.js');
5882
+ const { runInteractive } = await import('./interactive-36ZZ64WL.js');
5790
5883
  await runInteractive(
5791
5884
  rootOf(global),
5792
5885
  global,
@@ -5838,7 +5931,7 @@ function registerCode(program) {
5838
5931
  {}
5839
5932
  );
5840
5933
  if (!opts.mock && route.providers[0]) {
5841
- const { ensureManagerRuntime } = await import('./model-manager-PN7HEDXD.js');
5934
+ const { ensureManagerRuntime } = await import('./model-manager-OEPY4I7W.js');
5842
5935
  const ensure = await ensureManagerRuntime({
5843
5936
  providerId: route.providers[0].id,
5844
5937
  model: route.providers[0].model,
@@ -5864,18 +5957,18 @@ function registerCode(program) {
5864
5957
  }
5865
5958
  if (opts.streamJson && !opts.mock) {
5866
5959
  const primarySlug = route.providers[0]?.model.includes("/") ? route.providers[0].model.split("/")[0] : route.providers[0]?.id;
5867
- const { runCodeStreamJson } = await import('./stream-json-X7UQFB4T.js');
5868
- const { nodeCodeFs } = await import('./session-W3646AOV.js');
5960
+ const { runCodeStreamJson } = await import('./stream-json-Z5KC2DM3.js');
5961
+ const { nodeCodeFs } = await import('./session-ZJGENHKX.js');
5869
5962
  const readline5 = await import('readline');
5870
5963
  const child = await import('child_process');
5871
5964
  const { loadOrDiscoverFederation } = await import('./federation-SZWZIFZ7.js');
5872
5965
  const { resolveExecutionEnv } = await import('./execution-env-ZU45JZ4G.js');
5873
5966
  const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-TFBKCNJG.js');
5874
- const { startCodeRuntimeSession } = await import('./runtime-session-4AMZIAAG.js');
5967
+ const { startCodeRuntimeSession } = await import('./runtime-session-EJQZXANB.js');
5875
5968
  const { resolveGraphBackend } = await import('./graph-backend-UTOL3SHE.js');
5876
5969
  const { detectGitRef } = await import('./git-ref-XDXB6JP5.js');
5877
5970
  const { repositoryIdFromRoot } = await import('./paths-2RAH3GME.js');
5878
- const { vgdRequest: vgdRequest2 } = await import('./vgd-CVLKBS7K.js');
5971
+ const { vgdRequest: vgdRequest2 } = await import('./vgd-3MHSB4KA.js');
5879
5972
  const federation = loadOrDiscoverFederation(root2);
5880
5973
  const modelProfile = mergeModelExecutionProfile(
5881
5974
  resolveModelExecutionProfile({
@@ -5964,8 +6057,8 @@ ${res.stderr}` : ""), exitCode: res.status ?? 1 };
5964
6057
  if (!autonomous && !tty) {
5965
6058
  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).");
5966
6059
  }
5967
- const { agentTask } = await import('./interactive-SMHVURYK.js');
5968
- const { nodeCodeFs } = await import('./session-W3646AOV.js');
6060
+ const { agentTask } = await import('./interactive-36ZZ64WL.js');
6061
+ const { nodeCodeFs } = await import('./session-ZJGENHKX.js');
5969
6062
  const { TtyPrompter } = await import('./ui-Q6DJ3GCU.js');
5970
6063
  let priorSummary;
5971
6064
  if (opts.continue) {
@@ -5987,11 +6080,11 @@ ${res.stderr}` : ""), exitCode: res.status ?? 1 };
5987
6080
  const { loadFederation } = await import('./federation-SZWZIFZ7.js');
5988
6081
  const { resolveExecutionEnv } = await import('./execution-env-ZU45JZ4G.js');
5989
6082
  const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-TFBKCNJG.js');
5990
- const { startCodeRuntimeSession } = await import('./runtime-session-4AMZIAAG.js');
6083
+ const { startCodeRuntimeSession } = await import('./runtime-session-EJQZXANB.js');
5991
6084
  const { resolveGraphBackend } = await import('./graph-backend-UTOL3SHE.js');
5992
6085
  const { detectGitRef } = await import('./git-ref-XDXB6JP5.js');
5993
6086
  const { repositoryIdFromRoot } = await import('./paths-2RAH3GME.js');
5994
- const { vgdRequest: vgdRequest2 } = await import('./vgd-CVLKBS7K.js');
6087
+ const { vgdRequest: vgdRequest2 } = await import('./vgd-3MHSB4KA.js');
5995
6088
  const federation = loadFederation(root2);
5996
6089
  const modelProfile = mergeModelExecutionProfile(
5997
6090
  resolveModelExecutionProfile({
@@ -7099,7 +7192,11 @@ function registerLlmHost(program) {
7099
7192
  binding = ensured.module;
7100
7193
  } else if (opts.yes || !global.local) {
7101
7194
  if (!global.json) {
7102
- info(c.dim(` binding unavailable: ${ensureUnavailableMessage(ensured.reason ?? "install-failed", "node-llama-cpp@^3")}`));
7195
+ info(
7196
+ c.dim(
7197
+ ` binding unavailable: ${ensureUnavailableMessage(ensured.reason ?? "install-failed", "node-llama-cpp@^3", ensured.detail)}`
7198
+ )
7199
+ );
7103
7200
  }
7104
7201
  }
7105
7202
  if (global.json) {
@@ -7170,7 +7267,7 @@ var initCommand = new Command("init").description("Initialize vibgrate in a proj
7170
7267
  console.log(chalk7.green("\u2714") + ` Created ${chalk7.bold("vibgrate.config.ts")}`);
7171
7268
  }
7172
7269
  if (opts.baseline) {
7173
- const { runBaseline } = await import('./baseline-ENCOSJYQ.js');
7270
+ const { runBaseline } = await import('./baseline-MRUM2P6H.js');
7174
7271
  await runBaseline(rootDir);
7175
7272
  }
7176
7273
  console.log("");
@@ -8689,7 +8786,7 @@ function reapAndReport(cwd, keepVersion) {
8689
8786
  }
8690
8787
 
8691
8788
  // src/reporting/commands/fix.ts
8692
- var SEVERITY_RANK = { unknown: 0, low: 1, moderate: 2, high: 3, critical: 4 };
8789
+ var SEVERITY_RANK2 = { unknown: 0, low: 1, moderate: 2, high: 3, critical: 4 };
8693
8790
  function ecosystemId(type) {
8694
8791
  return projectTypeToVulnEcosystem(type) ?? type;
8695
8792
  }
@@ -8763,7 +8860,7 @@ var fixCommand = new Command("fix").description("Get ranked, risk-tiered upgrade
8763
8860
  process.exit(1);
8764
8861
  }
8765
8862
  const failOn = opts.failOnVulns;
8766
- if (failOn && !(failOn in SEVERITY_RANK)) {
8863
+ if (failOn && !(failOn in SEVERITY_RANK2)) {
8767
8864
  console.error(chalk7.red(`Invalid --fail-on-vulns value '${opts.failOnVulns}'. Use one of: low, moderate, high, critical.`));
8768
8865
  process.exit(1);
8769
8866
  }
@@ -8865,10 +8962,10 @@ var fixCommand = new Command("fix").description("Get ranked, risk-tiered upgrade
8865
8962
  }
8866
8963
  if (failOn) {
8867
8964
  const recommended = response.plans.find((p) => p.tier === response.recommended);
8868
- const threshold = SEVERITY_RANK[failOn];
8965
+ const threshold = SEVERITY_RANK2[failOn];
8869
8966
  let stillOpen = 0;
8870
- for (const sev of Object.keys(SEVERITY_RANK)) {
8871
- if (SEVERITY_RANK[sev] < threshold) continue;
8967
+ for (const sev of Object.keys(SEVERITY_RANK2)) {
8968
+ if (SEVERITY_RANK2[sev] < threshold) continue;
8872
8969
  const open = response.unresolved.bySeverity[sev] ?? 0;
8873
8970
  const maxFixable = Math.max(0, ...response.plans.map((p) => p.fixes.bySeverity[sev] ?? 0));
8874
8971
  const notFixedByRecommended = maxFixable - (recommended?.fixes.bySeverity[sev] ?? 0);