@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.
- package/dist/baseline-MRUM2P6H.js +8 -0
- package/dist/{baseline-ENCOSJYQ.js.map → baseline-MRUM2P6H.js.map} +1 -1
- package/dist/{chunk-K7REHDQS.js → chunk-6HX47EBL.js} +25 -19
- package/dist/chunk-6HX47EBL.js.map +1 -0
- package/dist/{chunk-MAUJTPQW.js → chunk-A2IYFNCQ.js} +24 -62
- package/dist/chunk-A2IYFNCQ.js.map +1 -0
- package/dist/{chunk-YKVH2PGF.js → chunk-GQTWDKMJ.js} +93 -141
- package/dist/chunk-GQTWDKMJ.js.map +1 -0
- package/dist/{chunk-FPEOIS7K.js → chunk-IWP7MYIA.js} +10 -7
- package/dist/chunk-IWP7MYIA.js.map +1 -0
- package/dist/{chunk-77LYGXBI.js → chunk-JRAGO6OB.js} +3 -3
- package/dist/{chunk-77LYGXBI.js.map → chunk-JRAGO6OB.js.map} +1 -1
- package/dist/{chunk-HYRAILGM.js → chunk-NTW5UEKT.js} +3 -3
- package/dist/{chunk-HYRAILGM.js.map → chunk-NTW5UEKT.js.map} +1 -1
- package/dist/chunk-OSD546W7.js +167 -0
- package/dist/chunk-OSD546W7.js.map +1 -0
- package/dist/{chunk-XPJZTSY7.js → chunk-R2QNFXE5.js} +3 -3
- package/dist/{chunk-XPJZTSY7.js.map → chunk-R2QNFXE5.js.map} +1 -1
- package/dist/{chunk-PXHNTC6D.js → chunk-SIPGDJT4.js} +3 -3
- package/dist/{chunk-PXHNTC6D.js.map → chunk-SIPGDJT4.js.map} +1 -1
- package/dist/{chunk-YCJIIGLP.js → chunk-UIOBFLE6.js} +3 -3
- package/dist/{chunk-YCJIIGLP.js.map → chunk-UIOBFLE6.js.map} +1 -1
- package/dist/chunk-UZJS7GMK.js +57 -0
- package/dist/chunk-UZJS7GMK.js.map +1 -0
- package/dist/{chunk-R6ZRVVZT.js → chunk-WH2N22S3.js} +3 -3
- package/dist/{chunk-R6ZRVVZT.js.map → chunk-WH2N22S3.js.map} +1 -1
- package/dist/{chunk-LJP2EPKM.js → chunk-WY6DGTBP.js} +4 -4
- package/dist/{chunk-LJP2EPKM.js.map → chunk-WY6DGTBP.js.map} +1 -1
- package/dist/{chunk-KXSKFQMI.js → chunk-YF43FOPP.js} +5 -5
- package/dist/chunk-YF43FOPP.js.map +1 -0
- package/dist/{chunk-T3AYRS7J.js → chunk-ZFTFCM7B.js} +3 -3
- package/dist/{chunk-T3AYRS7J.js.map → chunk-ZFTFCM7B.js.map} +1 -1
- package/dist/cli.js +129 -32
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/{interactive-SMHVURYK.js → interactive-36ZZ64WL.js} +15 -14
- package/dist/interactive-36ZZ64WL.js.map +1 -0
- package/dist/{llm-host-7GWDO6IX.js → llm-host-XYBT4267.js} +4 -4
- package/dist/{llm-host-7GWDO6IX.js.map → llm-host-XYBT4267.js.map} +1 -1
- package/dist/model-manager-OEPY4I7W.js +10 -0
- package/dist/{model-manager-PN7HEDXD.js.map → model-manager-OEPY4I7W.js.map} +1 -1
- package/dist/{runtime-session-4AMZIAAG.js → runtime-session-EJQZXANB.js} +5 -5
- package/dist/{runtime-session-4AMZIAAG.js.map → runtime-session-EJQZXANB.js.map} +1 -1
- package/dist/{session-W3646AOV.js → session-ZJGENHKX.js} +6 -5
- package/dist/{session-W3646AOV.js.map → session-ZJGENHKX.js.map} +1 -1
- package/dist/{stream-json-X7UQFB4T.js → stream-json-Z5KC2DM3.js} +6 -5
- package/dist/stream-json-Z5KC2DM3.js.map +1 -0
- package/dist/{vgd-CVLKBS7K.js → vgd-3MHSB4KA.js} +4 -4
- package/dist/vgd-3MHSB4KA.js.map +1 -0
- package/package.json +1 -1
- package/dist/baseline-ENCOSJYQ.js +0 -8
- package/dist/chunk-FPEOIS7K.js.map +0 -1
- package/dist/chunk-K7REHDQS.js.map +0 -1
- package/dist/chunk-KUIBP3LU.js +0 -101
- package/dist/chunk-KUIBP3LU.js.map +0 -1
- package/dist/chunk-KXSKFQMI.js.map +0 -1
- package/dist/chunk-MAUJTPQW.js.map +0 -1
- package/dist/chunk-YKVH2PGF.js.map +0 -1
- package/dist/interactive-SMHVURYK.js.map +0 -1
- package/dist/model-manager-PN7HEDXD.js +0 -9
- package/dist/stream-json-X7UQFB4T.js.map +0 -1
- 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-
|
|
3
|
-
export { runBuild } from './chunk-
|
|
4
|
-
import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-
|
|
5
|
-
import { loadAdvancedScanHook, baselineCommand } from './chunk-
|
|
6
|
-
import { runCodeSession } from './chunk-
|
|
7
|
-
import { summarizeDiffs, ScriptedProvider } from './chunk-
|
|
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-
|
|
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-
|
|
19
|
-
import { clearHostSessionPool, acquireHostSession, generateOnSession, listHostSessions, hostSessionPoolSize } from './chunk-
|
|
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-
|
|
23
|
-
import { ensurePackage, ensureUnavailableMessage } from './chunk-
|
|
24
|
-
import { serveStdio, exportGraph, GraphSource, createServer, formatForExt } from './chunk-
|
|
25
|
-
import { resolveDsn, resolveIngestHost, dashHostForIngestHost,
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
5868
|
-
const { nodeCodeFs } = await import('./session-
|
|
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-
|
|
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-
|
|
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-
|
|
5968
|
-
const { nodeCodeFs } = await import('./session-
|
|
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-
|
|
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-
|
|
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(
|
|
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-
|
|
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
|
|
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
|
|
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 =
|
|
8965
|
+
const threshold = SEVERITY_RANK2[failOn];
|
|
8869
8966
|
let stillOpen = 0;
|
|
8870
|
-
for (const sev of Object.keys(
|
|
8871
|
-
if (
|
|
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);
|