@vibgrate/cli 2026.728.3 → 2026.728.4
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-QD4HVNVJ.js +8 -0
- package/dist/{baseline-PPZJBYAJ.js.map → baseline-QD4HVNVJ.js.map} +1 -1
- package/dist/{chunk-A2IYFNCQ.js → chunk-2ZHWF7C6.js} +227 -19
- package/dist/chunk-2ZHWF7C6.js.map +1 -0
- package/dist/{chunk-UZJS7GMK.js → chunk-3LSG7Z4I.js} +10 -6
- package/dist/chunk-3LSG7Z4I.js.map +1 -0
- package/dist/{chunk-R2QNFXE5.js → chunk-DBOT2ELH.js} +3 -3
- package/dist/{chunk-R2QNFXE5.js.map → chunk-DBOT2ELH.js.map} +1 -1
- package/dist/{chunk-6UK6QPTR.js → chunk-EETK7S43.js} +137 -34
- package/dist/chunk-EETK7S43.js.map +1 -0
- package/dist/{chunk-JRAGO6OB.js → chunk-EVWW3BPM.js} +4 -4
- package/dist/{chunk-JRAGO6OB.js.map → chunk-EVWW3BPM.js.map} +1 -1
- package/dist/chunk-G4HTI4ZM.js +1537 -0
- package/dist/chunk-G4HTI4ZM.js.map +1 -0
- package/dist/{chunk-VYGEOOLY.js → chunk-HY2RVURA.js} +3 -3
- package/dist/{chunk-VYGEOOLY.js.map → chunk-HY2RVURA.js.map} +1 -1
- package/dist/chunk-IPICO2RV.js +789 -0
- package/dist/chunk-IPICO2RV.js.map +1 -0
- package/dist/{chunk-6GRLZ4Z2.js → chunk-LYDH2PHN.js} +8 -8
- package/dist/{chunk-6GRLZ4Z2.js.map → chunk-LYDH2PHN.js.map} +1 -1
- package/dist/{chunk-6UQMXIAG.js → chunk-OWSFZQOP.js} +62 -12
- package/dist/chunk-OWSFZQOP.js.map +1 -0
- package/dist/{chunk-WH2N22S3.js → chunk-PRGCCW7D.js} +4 -4
- package/dist/{chunk-WH2N22S3.js.map → chunk-PRGCCW7D.js.map} +1 -1
- package/dist/{chunk-3BIRGSRS.js → chunk-RCBMY7CR.js} +11 -11
- package/dist/{chunk-3BIRGSRS.js.map → chunk-RCBMY7CR.js.map} +1 -1
- package/dist/{chunk-OSD546W7.js → chunk-REIGWTTH.js} +5 -3
- package/dist/chunk-REIGWTTH.js.map +1 -0
- package/dist/{chunk-B3YUO3NW.js → chunk-RYNAK4LK.js} +3 -3
- package/dist/{chunk-B3YUO3NW.js.map → chunk-RYNAK4LK.js.map} +1 -1
- package/dist/{chunk-YF43FOPP.js → chunk-RZEXHDCF.js} +33 -14
- package/dist/chunk-RZEXHDCF.js.map +1 -0
- package/dist/chunk-SA4BMEU6.js +2184 -0
- package/dist/chunk-SA4BMEU6.js.map +1 -0
- package/dist/{chunk-HK3AWUXH.js → chunk-TCJTQGAO.js} +3 -3
- package/dist/{chunk-HK3AWUXH.js.map → chunk-TCJTQGAO.js.map} +1 -1
- package/dist/{chunk-ZBTY6VV4.js → chunk-US2DAKCM.js} +15 -5
- package/dist/chunk-US2DAKCM.js.map +1 -0
- package/dist/{chunk-ON25BX6T.js → chunk-UTNNGKKX.js} +3 -3
- package/dist/{chunk-ON25BX6T.js.map → chunk-UTNNGKKX.js.map} +1 -1
- package/dist/chunk-WDJNUC6V.js +3059 -0
- package/dist/chunk-WDJNUC6V.js.map +1 -0
- package/dist/{chunk-SZSNPXSW.js → chunk-WHJMS7XC.js} +3 -3
- package/dist/{chunk-SZSNPXSW.js.map → chunk-WHJMS7XC.js.map} +1 -1
- package/dist/chunk-Z6ZWNWWR.js +30 -0
- package/dist/{chunk-DGUM43GV.js.map → chunk-Z6ZWNWWR.js.map} +1 -1
- package/dist/{chunk-VI4ITXHQ.js → chunk-ZU7VD4QL.js} +7 -6
- package/dist/chunk-ZU7VD4QL.js.map +1 -0
- package/dist/cli.js +158 -71
- package/dist/cli.js.map +1 -1
- package/dist/{execution-env-ZU45JZ4G.js → execution-env-4MS5AYAN.js} +3 -3
- package/dist/{execution-env-ZU45JZ4G.js.map → execution-env-4MS5AYAN.js.map} +1 -1
- package/dist/{federation-SZWZIFZ7.js → federation-MDQPO3PW.js} +3 -3
- package/dist/{federation-SZWZIFZ7.js.map → federation-MDQPO3PW.js.map} +1 -1
- package/dist/{fs-O5IQYXHO.js → fs-4G5A65KS.js} +3 -3
- package/dist/fs-4G5A65KS.js.map +1 -0
- package/dist/{fs-B5HZ2MIU.js → fs-6JKZNQ3U.js} +3 -3
- package/dist/fs-6JKZNQ3U.js.map +1 -0
- package/dist/{git-ref-XDXB6JP5.js → git-ref-RSRAN4OH.js} +3 -3
- package/dist/{git-ref-XDXB6JP5.js.map → git-ref-RSRAN4OH.js.map} +1 -1
- package/dist/{graph-backend-UTOL3SHE.js → graph-backend-GBL33GMW.js} +5 -5
- package/dist/{graph-backend-UTOL3SHE.js.map → graph-backend-GBL33GMW.js.map} +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +12 -10
- package/dist/index.js.map +1 -1
- package/dist/{interactive-OCWQ326U.js → interactive-32LSIBRG.js} +45 -24
- package/dist/interactive-32LSIBRG.js.map +1 -0
- package/dist/{llm-host-XYBT4267.js → llm-host-5RE34322.js} +3 -3
- package/dist/{llm-host-XYBT4267.js.map → llm-host-5RE34322.js.map} +1 -1
- package/dist/load-SEFJA3M5.js +8 -0
- package/dist/{load-QPOWQD7C.js.map → load-SEFJA3M5.js.map} +1 -1
- package/dist/local-runtime-2ED33KK6.js +6 -0
- package/dist/{local-runtime-5O2NN3GA.js.map → local-runtime-2ED33KK6.js.map} +1 -1
- package/dist/mcp-tools-KAJS34TN.js +4 -0
- package/dist/{mcp-tools-I7JK3S2M.js.map → mcp-tools-KAJS34TN.js.map} +1 -1
- package/dist/{model-execution-profile-TFBKCNJG.js → model-execution-profile-ELWF3Z6H.js} +3 -3
- package/dist/{model-execution-profile-TFBKCNJG.js.map → model-execution-profile-ELWF3Z6H.js.map} +1 -1
- package/dist/model-manager-GJ2YSTSK.js +10 -0
- package/dist/{model-manager-LB54VSV7.js.map → model-manager-GJ2YSTSK.js.map} +1 -1
- package/dist/{model-orchestrator-4M5FG6MN.js → model-orchestrator-LHYPJBFH.js} +3 -3
- package/dist/{model-orchestrator-4M5FG6MN.js.map → model-orchestrator-LHYPJBFH.js.map} +1 -1
- package/dist/parse-worker.js +2 -2
- package/dist/{paths-2RAH3GME.js → paths-62AKTFSR.js} +3 -3
- package/dist/{paths-2RAH3GME.js.map → paths-62AKTFSR.js.map} +1 -1
- package/dist/{resolve-gguf-4AFRN4CP.js → resolve-gguf-SDIYGGI6.js} +3 -3
- package/dist/{resolve-gguf-4AFRN4CP.js.map → resolve-gguf-SDIYGGI6.js.map} +1 -1
- package/dist/{runtime-session-EJQZXANB.js → runtime-session-4IACVDSY.js} +7 -7
- package/dist/{runtime-session-EJQZXANB.js.map → runtime-session-4IACVDSY.js.map} +1 -1
- package/dist/session-2JT4AUZT.js +13 -0
- package/dist/{session-ZJGENHKX.js.map → session-2JT4AUZT.js.map} +1 -1
- package/dist/session-store-O4XPXKOV.js +4 -0
- package/dist/{session-store-WFBX7HXL.js.map → session-store-O4XPXKOV.js.map} +1 -1
- package/dist/{sql-extract-JELDZA6W.js → sql-extract-6UJOLJDL.js} +3 -3
- package/dist/{sql-extract-JELDZA6W.js.map → sql-extract-6UJOLJDL.js.map} +1 -1
- package/dist/stream-json-Y45JBNYP.js +112 -0
- package/dist/stream-json-Y45JBNYP.js.map +1 -0
- package/dist/ui-K7D3BCHD.js +5 -0
- package/dist/ui-K7D3BCHD.js.map +1 -0
- package/dist/vg-mcp-bridge-E4SJFL7Q.js +75 -0
- package/dist/vg-mcp-bridge-E4SJFL7Q.js.map +1 -0
- package/dist/{vgd-3MHSB4KA.js → vgd-KDQFS33M.js} +6 -6
- package/dist/vgd-KDQFS33M.js.map +1 -0
- package/package.json +1 -1
- package/dist/baseline-PPZJBYAJ.js +0 -8
- package/dist/chunk-57QU36P6.js +0 -5645
- package/dist/chunk-57QU36P6.js.map +0 -1
- package/dist/chunk-6AXHLQBV.js +0 -1892
- package/dist/chunk-6AXHLQBV.js.map +0 -1
- package/dist/chunk-6UK6QPTR.js.map +0 -1
- package/dist/chunk-6UQMXIAG.js.map +0 -1
- package/dist/chunk-A2IYFNCQ.js.map +0 -1
- package/dist/chunk-DGUM43GV.js +0 -10
- package/dist/chunk-OSD546W7.js.map +0 -1
- package/dist/chunk-UZJS7GMK.js.map +0 -1
- package/dist/chunk-VI4ITXHQ.js.map +0 -1
- package/dist/chunk-YF43FOPP.js.map +0 -1
- package/dist/chunk-ZBTY6VV4.js.map +0 -1
- package/dist/fs-B5HZ2MIU.js.map +0 -1
- package/dist/fs-O5IQYXHO.js.map +0 -1
- package/dist/interactive-OCWQ326U.js.map +0 -1
- package/dist/load-QPOWQD7C.js +0 -8
- package/dist/local-runtime-5O2NN3GA.js +0 -5
- package/dist/mcp-tools-I7JK3S2M.js +0 -4
- package/dist/model-manager-LB54VSV7.js +0 -10
- package/dist/session-ZJGENHKX.js +0 -13
- package/dist/session-store-WFBX7HXL.js +0 -4
- package/dist/stream-json-Z5KC2DM3.js +0 -78
- package/dist/stream-json-Z5KC2DM3.js.map +0 -1
- package/dist/ui-Q6DJ3GCU.js +0 -5
- package/dist/ui-Q6DJ3GCU.js.map +0 -1
- package/dist/vgd-3MHSB4KA.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -1,46 +1,48 @@
|
|
|
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-LYDH2PHN.js';
|
|
3
|
+
export { runBuild } from './chunk-LYDH2PHN.js';
|
|
4
|
+
import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-2ZHWF7C6.js';
|
|
5
|
+
import { loadAdvancedScanHook, baselineCommand } from './chunk-HY2RVURA.js';
|
|
6
|
+
import { runCodeSession } from './chunk-PRGCCW7D.js';
|
|
7
|
+
import { summarizeDiffs, ScriptedProvider } from './chunk-RZEXHDCF.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-EVWW3BPM.js';
|
|
10
10
|
import './chunk-5I4VSBWQ.js';
|
|
11
11
|
import './chunk-IS7VTH2Q.js';
|
|
12
|
-
import { gatherSystemMemory } from './chunk-
|
|
12
|
+
import { init_resolve_ollama, gatherSystemMemory, resolveOllamaBinary, hasOllamaBinary, resolve_ollama_exports } from './chunk-OWSFZQOP.js';
|
|
13
13
|
import { readOrchestratorState, writeOrchestratorState, parseMode, setDefaultMode, recommendMode, activePin, resolveMode, providerForBackend, QUALIFIED_PACKS, pinPack, unpinPack, buildOrchestratorStatus } from './chunk-NZELMYT4.js';
|
|
14
14
|
import { fmt, estimateModelBytes } from './chunk-7N4Y3E47.js';
|
|
15
15
|
import './chunk-IZDH67DX.js';
|
|
16
|
-
import './chunk-
|
|
16
|
+
import './chunk-TCJTQGAO.js';
|
|
17
17
|
import { vgdIsRunning, vgdRequest, vgdSocketPath } from './chunk-PMYWZRRS.js';
|
|
18
18
|
import { defaultProcessEndpoint, startProcessHostServer, resolveInferenceIsolation } from './chunk-SIPGDJT4.js';
|
|
19
19
|
import { clearHostSessionPool, acquireHostSession, generateOnSession, listHostSessions, hostSessionPoolSize } from './chunk-6HX47EBL.js';
|
|
20
20
|
import { buildIdentifierTrieFromGraph } from './chunk-JIBOJTGS.js';
|
|
21
21
|
import './chunk-7AVYKZEM.js';
|
|
22
|
-
import { buildModelInstallPlan } from './chunk-
|
|
23
|
-
import { ensurePackage, ensureUnavailableMessage } from './chunk-
|
|
24
|
-
import { serveStdio, exportGraph, GraphSource, createServer, formatForExt } from './chunk-
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import
|
|
28
|
-
import {
|
|
22
|
+
import { buildModelInstallPlan } from './chunk-WHJMS7XC.js';
|
|
23
|
+
import { ensurePackage, ensureUnavailableMessage } from './chunk-REIGWTTH.js';
|
|
24
|
+
import { serveStdio, exportGraph, GraphSource, createServer, formatForExt } from './chunk-ZU7VD4QL.js';
|
|
25
|
+
import { CliError, ExitCode, refreshIfStale, driftCount, ASSISTANTS, detectAssistants, usageError, detectServeLaunch, installAssistant, writeNavigationConfig, uninstallAssistant, buildGraph, writeSnapshot, probeFreshness, discover, assistantById, SMALL_REPO_FILES, SKIP_DIRS, SKIP_FILES } from './chunk-WDJNUC6V.js';
|
|
26
|
+
import { resolveDsn, resolveIngestHost, dashHostForIngestHost, availableRegionIds, createWorkspaceDsn, writeStoredCredentials, credentialsPath, findGitRoot, ensureGitignored, gitignoreEntryForCredentials, clearStoredCredentials, parseDsn as parseDsn$1, uploadScanArtifact, ingestHostForRegionId, dsnCommand, pushCommand, countTokens, shortestPath, pathDisconnect, testsToRun, detectRunner, coveringTests, FREE_PACK, readScanArtifact, publishPrivateLibrary, assessDocQuality, symbolsFromApi, fetchHostedDocsCached, selectForBudget, hostedBase, readStoredCredentials, projectCredentialsPath, homeCredentialsPath } from './chunk-SA4BMEU6.js';
|
|
27
|
+
import './chunk-IPICO2RV.js';
|
|
28
|
+
import { inventory, enrichOnline, ECOSYSTEMS, catalogPath, libDir, loadCatalog, driftFor, addLibrary, resolveLib, libId, resolveVersion, readDoc, localPackageDocs, localApiSurface } from './chunk-G4HTI4ZM.js';
|
|
29
|
+
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-RCBMY7CR.js';
|
|
30
|
+
import { recordCliCall, CLI_TOOL_ALIASES, savingsLedgerPath, clearSavings, readSavings, readUsage, readModelSavings, CAPSULE_RANKING_VERSION, SAVINGS_TOOLS, sanitizeClient } from './chunk-US2DAKCM.js';
|
|
29
31
|
import { ensureDir, pathExists, readJsonFile, writeTextFile, writeJsonFile } from './chunk-CRAMOEBE.js';
|
|
30
32
|
import { resolveOne } from './chunk-J7LKEB2R.js';
|
|
31
|
-
import { embeddingsCached, resolveEmbedModel, loadEmbedder, getNodeEmbeddings, queryGraphSemantic, queryGraph, unavailableMessage, countPending, indexFor, impactOf, modelCacheInfo, clearModelCache } from './chunk-
|
|
33
|
+
import { embeddingsCached, resolveEmbedModel, loadEmbedder, getNodeEmbeddings, queryGraphSemantic, queryGraph, unavailableMessage, countPending, indexFor, impactOf, modelCacheInfo, clearModelCache } from './chunk-EETK7S43.js';
|
|
32
34
|
import { discoverModels } from './chunk-CQDUBAQY.js';
|
|
33
|
-
import { resolveCliInvocation, NPX_INVOCATION } from './chunk-
|
|
35
|
+
import { init_cli_invocation, resolveCliInvocation, NPX_INVOCATION } from './chunk-3LSG7Z4I.js';
|
|
34
36
|
import { freeBytesOnVolume, weightStoreDir, listCachedWeights, ensureWeightCached, catalogIntegrityReport } from './chunk-OV4KGXPD.js';
|
|
35
|
-
import { resolvedGrammarFiles, grammarSetVersion } from './chunk-
|
|
37
|
+
import { resolvedGrammarFiles, grammarSetVersion } from './chunk-UTNNGKKX.js';
|
|
36
38
|
import './chunk-RXP66R2E.js';
|
|
37
|
-
import { resolveGraphPath, renderReport, loadGraph, writeArtifacts, vibgrateDir, SCHEMA_VERSION } from './chunk-
|
|
39
|
+
import { resolveGraphPath, renderReport, loadGraph, writeArtifacts, vibgrateDir, SCHEMA_VERSION } from './chunk-RYNAK4LK.js';
|
|
38
40
|
import { cacheDir, stableStringify } from './chunk-ZKNB4YH4.js';
|
|
39
41
|
import './chunk-BWPBB45M.js';
|
|
40
42
|
import { canonicalize, hashString, hashBytes } from './chunk-JFGYT6BI.js';
|
|
41
43
|
import './chunk-BPF3YX2U.js';
|
|
42
44
|
import { pathExists as pathExists$1, parseExcludePatterns } from './chunk-GI6W53LM.js';
|
|
43
|
-
import './chunk-
|
|
45
|
+
import { __toCommonJS } from './chunk-Z6ZWNWWR.js';
|
|
44
46
|
import * as fs8 from 'fs';
|
|
45
47
|
import fs8__default, { realpathSync } from 'fs';
|
|
46
48
|
import * as path37 from 'path';
|
|
@@ -56,6 +58,7 @@ import chalk7 from 'chalk';
|
|
|
56
58
|
import * as fs21 from 'fs/promises';
|
|
57
59
|
import semver2 from 'semver';
|
|
58
60
|
|
|
61
|
+
init_cli_invocation();
|
|
59
62
|
function registerStatus(program) {
|
|
60
63
|
const cmd = program.command("status").description("cache/freshness, counts, staleness, resolver rungs used").action(async function() {
|
|
61
64
|
await runStatus(readGlobal(this));
|
|
@@ -2270,15 +2273,41 @@ async function scanWorkspaceVulns(targets, opts = { offline: false }) {
|
|
|
2270
2273
|
kevSource: "skipped"
|
|
2271
2274
|
};
|
|
2272
2275
|
}
|
|
2273
|
-
const
|
|
2274
|
-
const unique = [];
|
|
2276
|
+
const byKey = /* @__PURE__ */ new Map();
|
|
2275
2277
|
for (const t of targets) {
|
|
2276
2278
|
if (!t.ecosystem || !t.package || !t.version) continue;
|
|
2277
2279
|
const k = key(t.ecosystem, t.package, t.version);
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2280
|
+
const locs = [];
|
|
2281
|
+
if (t.locations?.length) {
|
|
2282
|
+
for (const loc of t.locations) {
|
|
2283
|
+
if (loc?.file) locs.push({ file: loc.file, line: loc.line ?? null });
|
|
2284
|
+
}
|
|
2285
|
+
} else if (t.file) {
|
|
2286
|
+
locs.push({ file: t.file, line: t.line ?? null });
|
|
2287
|
+
}
|
|
2288
|
+
const existing = byKey.get(k);
|
|
2289
|
+
if (!existing) {
|
|
2290
|
+
byKey.set(k, {
|
|
2291
|
+
...t,
|
|
2292
|
+
file: t.file ?? locs[0]?.file ?? null,
|
|
2293
|
+
line: t.line ?? locs[0]?.line ?? null,
|
|
2294
|
+
locations: locs
|
|
2295
|
+
});
|
|
2296
|
+
continue;
|
|
2297
|
+
}
|
|
2298
|
+
for (const loc of locs) {
|
|
2299
|
+
if (!existing.locations.some((x) => x.file === loc.file && x.line === loc.line)) {
|
|
2300
|
+
existing.locations.push(loc);
|
|
2301
|
+
}
|
|
2302
|
+
}
|
|
2303
|
+
if (t.reachability === "reached") existing.reachability = "reached";
|
|
2304
|
+
else if (t.reachability === "not-observed" && existing.reachability === "unknown") {
|
|
2305
|
+
existing.reachability = "not-observed";
|
|
2306
|
+
}
|
|
2307
|
+
if (!existing.latestStable && t.latestStable) existing.latestStable = t.latestStable;
|
|
2308
|
+
if (!existing.section && t.section) existing.section = t.section;
|
|
2281
2309
|
}
|
|
2310
|
+
const unique = [...byKey.values()];
|
|
2282
2311
|
const [kev] = await Promise.all([loadKevCves({ offline: false })]);
|
|
2283
2312
|
const concurrency = Math.max(1, Math.min(opts.concurrency ?? 8, 16));
|
|
2284
2313
|
const findings = [];
|
|
@@ -2293,7 +2322,11 @@ async function scanWorkspaceVulns(targets, opts = { offline: false }) {
|
|
|
2293
2322
|
const r = await enrichVulns(t.ecosystem, t.package, t.version, { offline: false });
|
|
2294
2323
|
if (r.source === "osv" || r.source === "cache") anyOk = true;
|
|
2295
2324
|
else if (r.source === "error") anyError = true;
|
|
2325
|
+
const locations = t.locations.length ? t.locations : t.file ? [{ file: t.file, line: t.line ?? null }] : [];
|
|
2326
|
+
const seenIds = /* @__PURE__ */ new Set();
|
|
2296
2327
|
for (const v of r.vulns) {
|
|
2328
|
+
if (seenIds.has(v.id)) continue;
|
|
2329
|
+
seenIds.add(v.id);
|
|
2297
2330
|
const kevHit = v.cves.some((c2) => kev.cves.has(c2.toUpperCase()));
|
|
2298
2331
|
findings.push({
|
|
2299
2332
|
package: t.package,
|
|
@@ -2307,8 +2340,9 @@ async function scanWorkspaceVulns(targets, opts = { offline: false }) {
|
|
|
2307
2340
|
published: v.published,
|
|
2308
2341
|
kev: kevHit,
|
|
2309
2342
|
reachability: t.reachability ?? "unknown",
|
|
2310
|
-
file: t.file ?? null,
|
|
2311
|
-
line: t.line ?? null,
|
|
2343
|
+
file: locations[0]?.file ?? t.file ?? null,
|
|
2344
|
+
line: locations[0]?.line ?? t.line ?? null,
|
|
2345
|
+
locations,
|
|
2312
2346
|
section: t.section ?? null,
|
|
2313
2347
|
latestStable: t.latestStable ?? null
|
|
2314
2348
|
});
|
|
@@ -3909,10 +3943,15 @@ async function executeModelInstallPlan(plan, options = {}) {
|
|
|
3909
3943
|
return { ok: true, plan, installedDeps, pulledWeights };
|
|
3910
3944
|
}
|
|
3911
3945
|
function defaultOllamaPull(name, quiet) {
|
|
3912
|
-
const
|
|
3946
|
+
const { resolveOllamaBinary: resolveOllamaBinary2 } = (init_resolve_ollama(), __toCommonJS(resolve_ollama_exports));
|
|
3947
|
+
const ollama = resolveOllamaBinary2();
|
|
3948
|
+
if (!ollama) return 127;
|
|
3949
|
+
const res = spawnSync(ollama, ["pull", name], { stdio: quiet ? "ignore" : "inherit" });
|
|
3913
3950
|
return res.status ?? 1;
|
|
3914
3951
|
}
|
|
3952
|
+
init_resolve_ollama();
|
|
3915
3953
|
function defaultHasBinary(name) {
|
|
3954
|
+
if (name === "ollama" || name === "ollama.exe") return hasOllamaBinary();
|
|
3916
3955
|
const res = spawnSync(process.platform === "win32" ? "where" : "which", [name], { stdio: "ignore" });
|
|
3917
3956
|
return res.status === 0;
|
|
3918
3957
|
}
|
|
@@ -5237,6 +5276,7 @@ function applyRecommendedDefaultMode(opts) {
|
|
|
5237
5276
|
reason: `pinned default to ${recommended} from RAM/VRAM + repo fit`
|
|
5238
5277
|
};
|
|
5239
5278
|
}
|
|
5279
|
+
init_resolve_ollama();
|
|
5240
5280
|
function registerModels(program) {
|
|
5241
5281
|
const cmd = program.command("models").description("Code Modes (Spark/Flow/Forge) + local model fleet").option("--raw", "list discovered local models only (skip Code Modes status)").action(function(opts) {
|
|
5242
5282
|
const global = readGlobal(this);
|
|
@@ -5585,17 +5625,22 @@ function registerModels(program) {
|
|
|
5585
5625
|
}
|
|
5586
5626
|
}
|
|
5587
5627
|
if (target.runtime === "ollama") {
|
|
5588
|
-
|
|
5628
|
+
const ollama = resolveOllamaBinary();
|
|
5629
|
+
if (!ollama) {
|
|
5589
5630
|
throw new CliError(
|
|
5590
|
-
"ollama is not installed or not on PATH \u2014 install it from https://ollama.com, then re-run.",
|
|
5631
|
+
"ollama is not installed or not on PATH \u2014 install it from https://ollama.com, then re-run. (Dock-launched editors often miss Homebrew; open a terminal and try `which ollama`, or add /opt/homebrew/bin to PATH.)",
|
|
5591
5632
|
ExitCode.NOT_FOUND
|
|
5592
5633
|
);
|
|
5593
5634
|
}
|
|
5594
5635
|
if (!global.json) info(c.dim(` $ ${plan.command}`));
|
|
5595
|
-
const res = spawnSync(
|
|
5636
|
+
const res = spawnSync(ollama, ["rm", target.name], {
|
|
5637
|
+
encoding: "utf8",
|
|
5638
|
+
stdio: global.json ? ["ignore", "pipe", "pipe"] : "inherit"
|
|
5639
|
+
});
|
|
5596
5640
|
if (res.status !== 0) {
|
|
5641
|
+
const tail = [res.stderr, res.stdout].filter(Boolean).join("\n").split(/\r?\n/).map((l) => l.trim()).filter(Boolean).slice(-3).join(" \xB7 ");
|
|
5597
5642
|
throw new CliError(
|
|
5598
|
-
`\`ollama rm ${target.name}\` failed (exit ${res.status ?? "signal"}) \u2014 check the model name with \`vg models --raw\`.`,
|
|
5643
|
+
`\`ollama rm ${target.name}\` failed (exit ${res.status ?? "signal"})${tail ? `: ${tail}` : ""} \u2014 check the model name with \`vg models --raw\`.`,
|
|
5599
5644
|
ExitCode.ERROR
|
|
5600
5645
|
);
|
|
5601
5646
|
}
|
|
@@ -5794,6 +5839,7 @@ function registerModels(program) {
|
|
|
5794
5839
|
applyGlobalOptions(catalog);
|
|
5795
5840
|
}
|
|
5796
5841
|
function hasBinary(bin) {
|
|
5842
|
+
if (bin === "ollama" || bin === "ollama.exe") return hasOllamaBinary();
|
|
5797
5843
|
const probe = spawnSync(process.platform === "win32" ? "where" : "which", [bin], { stdio: "ignore" });
|
|
5798
5844
|
return probe.status === 0;
|
|
5799
5845
|
}
|
|
@@ -6056,9 +6102,9 @@ function registerCode(program) {
|
|
|
6056
6102
|
const customSelection = !!(opts.provider || opts.model || opts.modelPath || config.provider || config.model);
|
|
6057
6103
|
if (!customSelection && (modeFlag || !provider && !model)) {
|
|
6058
6104
|
try {
|
|
6059
|
-
const { parseMode: parseMode2, resolveMode: resolveMode2, readOrchestratorState: readOrchestratorState2, activePin: activePin2 } = await import('./model-orchestrator-
|
|
6060
|
-
const { gatherSystemMemory: gatherSystemMemory2 } = await import('./local-runtime-
|
|
6061
|
-
const { loadGraph: loadGraph2 } = await import('./load-
|
|
6105
|
+
const { parseMode: parseMode2, resolveMode: resolveMode2, readOrchestratorState: readOrchestratorState2, activePin: activePin2 } = await import('./model-orchestrator-LHYPJBFH.js');
|
|
6106
|
+
const { gatherSystemMemory: gatherSystemMemory2 } = await import('./local-runtime-2ED33KK6.js');
|
|
6107
|
+
const { loadGraph: loadGraph2 } = await import('./load-SEFJA3M5.js');
|
|
6062
6108
|
const state = readOrchestratorState2();
|
|
6063
6109
|
const mode = parseMode2(modeFlag) ?? state.defaultMode ?? void 0;
|
|
6064
6110
|
const pin = mode ? activePin2(mode, state) : null;
|
|
@@ -6087,7 +6133,7 @@ function registerCode(program) {
|
|
|
6087
6133
|
ExitCode.ERROR
|
|
6088
6134
|
);
|
|
6089
6135
|
}
|
|
6090
|
-
const { resolveGgufPath } = await import('./resolve-gguf-
|
|
6136
|
+
const { resolveGgufPath } = await import('./resolve-gguf-SDIYGGI6.js');
|
|
6091
6137
|
const primaryRef = resolved.pack.primary.backend === "llama.cpp" ? resolved.pack.primary.weightsRef : resolved.underlying.weightsRef;
|
|
6092
6138
|
const gguf = resolveGgufPath({
|
|
6093
6139
|
modelRef: primaryRef,
|
|
@@ -6142,7 +6188,7 @@ function registerCode(program) {
|
|
|
6142
6188
|
if (!(process.stdin.isTTY && process.stdout.isTTY)) {
|
|
6143
6189
|
throw usageError('say what to change, e.g. `vg code "add a --timeout flag to the scan command"` (guided mode needs an interactive terminal)');
|
|
6144
6190
|
}
|
|
6145
|
-
const { runInteractive } = await import('./interactive-
|
|
6191
|
+
const { runInteractive } = await import('./interactive-32LSIBRG.js');
|
|
6146
6192
|
await runInteractive(
|
|
6147
6193
|
rootOf(global),
|
|
6148
6194
|
global,
|
|
@@ -6194,7 +6240,7 @@ function registerCode(program) {
|
|
|
6194
6240
|
{}
|
|
6195
6241
|
);
|
|
6196
6242
|
if (!opts.mock && route.providers[0]) {
|
|
6197
|
-
const { ensureManagerRuntime } = await import('./model-manager-
|
|
6243
|
+
const { ensureManagerRuntime } = await import('./model-manager-GJ2YSTSK.js');
|
|
6198
6244
|
const ensure = await ensureManagerRuntime({
|
|
6199
6245
|
providerId: route.providers[0].id,
|
|
6200
6246
|
model: route.providers[0].model,
|
|
@@ -6224,18 +6270,18 @@ function registerCode(program) {
|
|
|
6224
6270
|
};
|
|
6225
6271
|
try {
|
|
6226
6272
|
const primarySlug = route.providers[0]?.model.includes("/") ? route.providers[0].model.split("/")[0] : route.providers[0]?.id;
|
|
6227
|
-
const { runCodeStreamJson } = await import('./stream-json-
|
|
6228
|
-
const { nodeCodeFs } = await import('./session-
|
|
6273
|
+
const { runCodeStreamJson } = await import('./stream-json-Y45JBNYP.js');
|
|
6274
|
+
const { nodeCodeFs } = await import('./session-2JT4AUZT.js');
|
|
6229
6275
|
const readline5 = await import('readline');
|
|
6230
6276
|
const child = await import('child_process');
|
|
6231
|
-
const { loadOrDiscoverFederation } = await import('./federation-
|
|
6232
|
-
const { resolveExecutionEnv } = await import('./execution-env-
|
|
6233
|
-
const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-
|
|
6234
|
-
const { startCodeRuntimeSession } = await import('./runtime-session-
|
|
6235
|
-
const { resolveGraphBackend } = await import('./graph-backend-
|
|
6236
|
-
const { detectGitRef } = await import('./git-ref-
|
|
6237
|
-
const { repositoryIdFromRoot } = await import('./paths-
|
|
6238
|
-
const { vgdRequest: vgdRequest2 } = await import('./vgd-
|
|
6277
|
+
const { loadOrDiscoverFederation } = await import('./federation-MDQPO3PW.js');
|
|
6278
|
+
const { resolveExecutionEnv } = await import('./execution-env-4MS5AYAN.js');
|
|
6279
|
+
const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-ELWF3Z6H.js');
|
|
6280
|
+
const { startCodeRuntimeSession } = await import('./runtime-session-4IACVDSY.js');
|
|
6281
|
+
const { resolveGraphBackend } = await import('./graph-backend-GBL33GMW.js');
|
|
6282
|
+
const { detectGitRef } = await import('./git-ref-RSRAN4OH.js');
|
|
6283
|
+
const { repositoryIdFromRoot } = await import('./paths-62AKTFSR.js');
|
|
6284
|
+
const { vgdRequest: vgdRequest2 } = await import('./vgd-KDQFS33M.js');
|
|
6239
6285
|
const federation = loadOrDiscoverFederation(root2);
|
|
6240
6286
|
const modelProfile = mergeModelExecutionProfile(
|
|
6241
6287
|
resolveModelExecutionProfile({
|
|
@@ -6281,6 +6327,26 @@ ${res.stderr}` : ""),
|
|
|
6281
6327
|
exitCode: res.status ?? 1
|
|
6282
6328
|
};
|
|
6283
6329
|
};
|
|
6330
|
+
const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-E4SJFL7Q.js');
|
|
6331
|
+
const vgBuiltin = createVgBuiltinMcpTools({
|
|
6332
|
+
getGraph: () => graph,
|
|
6333
|
+
root: root2,
|
|
6334
|
+
local: global.local === true
|
|
6335
|
+
});
|
|
6336
|
+
let disposeMcpStream;
|
|
6337
|
+
let projectMcp;
|
|
6338
|
+
let streamApprove = async () => !!auto;
|
|
6339
|
+
if (Object.keys(mcp.servers).length) {
|
|
6340
|
+
const { McpToolset, defaultMcpConnect } = await import('./mcp-tools-KAJS34TN.js');
|
|
6341
|
+
const { toolset } = await McpToolset.connect(mcp.servers, defaultMcpConnect);
|
|
6342
|
+
disposeMcpStream = () => toolset.dispose();
|
|
6343
|
+
projectMcp = {
|
|
6344
|
+
specs: toolset.specs(),
|
|
6345
|
+
owns: (n) => toolset.owns(n),
|
|
6346
|
+
execute: (call) => toolset.execute(call, (action) => streamApprove(action))
|
|
6347
|
+
};
|
|
6348
|
+
}
|
|
6349
|
+
const externalTools = mergeExternalToolsets(vgBuiltin, projectMcp);
|
|
6284
6350
|
try {
|
|
6285
6351
|
await runCodeStreamJson({
|
|
6286
6352
|
graph,
|
|
@@ -6304,6 +6370,7 @@ ${res.stderr}` : ""),
|
|
|
6304
6370
|
files: opts.file.length ? opts.file : void 0,
|
|
6305
6371
|
worktreeOverlay: true,
|
|
6306
6372
|
advancedMode: !capsule,
|
|
6373
|
+
externalTools,
|
|
6307
6374
|
attribution: {
|
|
6308
6375
|
client: "vg-code",
|
|
6309
6376
|
provider: primarySlug,
|
|
@@ -6312,17 +6379,20 @@ ${res.stderr}` : ""),
|
|
|
6312
6379
|
now: () => Date.now(),
|
|
6313
6380
|
emit: emitStream,
|
|
6314
6381
|
bindDecisions: (session) => {
|
|
6382
|
+
streamApprove = (action) => session.approve(action);
|
|
6315
6383
|
const rl = readline5.createInterface({ input: process.stdin });
|
|
6316
6384
|
rl.on("line", (raw) => {
|
|
6317
6385
|
try {
|
|
6318
6386
|
const msg = JSON.parse(raw);
|
|
6319
6387
|
if (typeof msg.approveId === "number") session.submitDecision(msg.approveId, !!msg.approve);
|
|
6388
|
+
if (typeof msg.answerId === "number") session.submitAnswer(msg.answerId, String(msg.answer ?? ""));
|
|
6320
6389
|
} catch {
|
|
6321
6390
|
}
|
|
6322
6391
|
});
|
|
6323
6392
|
}
|
|
6324
6393
|
});
|
|
6325
6394
|
} finally {
|
|
6395
|
+
await disposeMcpStream?.();
|
|
6326
6396
|
await runtime.dispose();
|
|
6327
6397
|
}
|
|
6328
6398
|
} catch (e) {
|
|
@@ -6339,34 +6409,45 @@ ${res.stderr}` : ""),
|
|
|
6339
6409
|
if (!autonomous && !tty) {
|
|
6340
6410
|
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).");
|
|
6341
6411
|
}
|
|
6342
|
-
const { agentTask } = await import('./interactive-
|
|
6343
|
-
const { nodeCodeFs } = await import('./session-
|
|
6344
|
-
const { TtyPrompter } = await import('./ui-
|
|
6412
|
+
const { agentTask } = await import('./interactive-32LSIBRG.js');
|
|
6413
|
+
const { nodeCodeFs } = await import('./session-2JT4AUZT.js');
|
|
6414
|
+
const { TtyPrompter } = await import('./ui-K7D3BCHD.js');
|
|
6345
6415
|
let priorSummary;
|
|
6346
6416
|
if (opts.continue) {
|
|
6347
|
-
const { loadLatestSession, summarizeSession } = await import('./session-store-
|
|
6417
|
+
const { loadLatestSession, summarizeSession } = await import('./session-store-O4XPXKOV.js');
|
|
6348
6418
|
const prev = loadLatestSession(root2);
|
|
6349
6419
|
if (prev) priorSummary = summarizeSession(prev);
|
|
6350
6420
|
}
|
|
6351
6421
|
const prompter = tty ? new TtyPrompter() : void 0;
|
|
6352
|
-
|
|
6422
|
+
const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-E4SJFL7Q.js');
|
|
6423
|
+
const vgBuiltin = createVgBuiltinMcpTools({
|
|
6424
|
+
getGraph: () => graph,
|
|
6425
|
+
root: root2,
|
|
6426
|
+
local: global.local === true
|
|
6427
|
+
});
|
|
6428
|
+
let projectMcp;
|
|
6353
6429
|
let disposeMcp;
|
|
6354
6430
|
if (Object.keys(mcp.servers).length) {
|
|
6355
|
-
const { McpToolset, defaultMcpConnect } = await import('./mcp-tools-
|
|
6431
|
+
const { McpToolset, defaultMcpConnect } = await import('./mcp-tools-KAJS34TN.js');
|
|
6356
6432
|
const { toolset } = await McpToolset.connect(mcp.servers, defaultMcpConnect);
|
|
6357
6433
|
disposeMcp = () => toolset.dispose();
|
|
6358
6434
|
const approve = async (a) => autonomous || !!(prompter && a.kind === "tool" && await prompter.confirm("Call an external tool?", false));
|
|
6359
|
-
|
|
6435
|
+
projectMcp = {
|
|
6436
|
+
specs: toolset.specs(),
|
|
6437
|
+
owns: (n) => toolset.owns(n),
|
|
6438
|
+
execute: (call) => toolset.execute(call, approve)
|
|
6439
|
+
};
|
|
6360
6440
|
}
|
|
6441
|
+
const mcpTools = mergeExternalToolsets(vgBuiltin, projectMcp);
|
|
6361
6442
|
try {
|
|
6362
|
-
const { loadFederation } = await import('./federation-
|
|
6363
|
-
const { resolveExecutionEnv } = await import('./execution-env-
|
|
6364
|
-
const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-
|
|
6365
|
-
const { startCodeRuntimeSession } = await import('./runtime-session-
|
|
6366
|
-
const { resolveGraphBackend } = await import('./graph-backend-
|
|
6367
|
-
const { detectGitRef } = await import('./git-ref-
|
|
6368
|
-
const { repositoryIdFromRoot } = await import('./paths-
|
|
6369
|
-
const { vgdRequest: vgdRequest2 } = await import('./vgd-
|
|
6443
|
+
const { loadFederation } = await import('./federation-MDQPO3PW.js');
|
|
6444
|
+
const { resolveExecutionEnv } = await import('./execution-env-4MS5AYAN.js');
|
|
6445
|
+
const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-ELWF3Z6H.js');
|
|
6446
|
+
const { startCodeRuntimeSession } = await import('./runtime-session-4IACVDSY.js');
|
|
6447
|
+
const { resolveGraphBackend } = await import('./graph-backend-GBL33GMW.js');
|
|
6448
|
+
const { detectGitRef } = await import('./git-ref-RSRAN4OH.js');
|
|
6449
|
+
const { repositoryIdFromRoot } = await import('./paths-62AKTFSR.js');
|
|
6450
|
+
const { vgdRequest: vgdRequest2 } = await import('./vgd-KDQFS33M.js');
|
|
6370
6451
|
const federation = loadFederation(root2);
|
|
6371
6452
|
const modelProfile = mergeModelExecutionProfile(
|
|
6372
6453
|
resolveModelExecutionProfile({
|
|
@@ -7172,7 +7253,7 @@ function registerDaemon(program) {
|
|
|
7172
7253
|
if (!await vgdIsRunning({ socketPath })) {
|
|
7173
7254
|
throw new CliError(`vgd is not running \u2014 start it with \`vg daemon start\` (${socketPath})`, ExitCode.NOT_FOUND);
|
|
7174
7255
|
}
|
|
7175
|
-
const { loadFederation } = await import('./federation-
|
|
7256
|
+
const { loadFederation } = await import('./federation-MDQPO3PW.js');
|
|
7176
7257
|
const fed = loadFederation(primary);
|
|
7177
7258
|
if (!fed) throw new CliError(`could not load federation for ${primary}`, ExitCode.ERROR);
|
|
7178
7259
|
const res = await vgdRequest(
|
|
@@ -7200,9 +7281,9 @@ function registerDaemon(program) {
|
|
|
7200
7281
|
if (!await vgdIsRunning({ socketPath })) {
|
|
7201
7282
|
throw new CliError(`vgd is not running \u2014 start it with \`vg daemon ensure\` (${socketPath})`, ExitCode.NOT_FOUND);
|
|
7202
7283
|
}
|
|
7203
|
-
const { loadGraph: loadGraph2 } = await import('./load-
|
|
7204
|
-
const { detectGitRef } = await import('./git-ref-
|
|
7205
|
-
const { repositoryIdFromRoot } = await import('./paths-
|
|
7284
|
+
const { loadGraph: loadGraph2 } = await import('./load-SEFJA3M5.js');
|
|
7285
|
+
const { detectGitRef } = await import('./git-ref-RSRAN4OH.js');
|
|
7286
|
+
const { repositoryIdFromRoot } = await import('./paths-62AKTFSR.js');
|
|
7206
7287
|
const opts = this.opts();
|
|
7207
7288
|
const graph = loadGraph2(root2, global.graph);
|
|
7208
7289
|
if (!graph) {
|
|
@@ -7340,7 +7421,7 @@ function sleep(ms) {
|
|
|
7340
7421
|
return new Promise((r) => setTimeout(r, ms));
|
|
7341
7422
|
}
|
|
7342
7423
|
async function repositoryIdForCwd(socketPath, root2) {
|
|
7343
|
-
const { repositoryIdFromRoot } = await import('./paths-
|
|
7424
|
+
const { repositoryIdFromRoot } = await import('./paths-62AKTFSR.js');
|
|
7344
7425
|
const reg = await vgdRequest({ op: "register", root: root2 }, { socketPath });
|
|
7345
7426
|
if (reg.ok && "workspace" in reg) return reg.workspace.id;
|
|
7346
7427
|
return repositoryIdFromRoot(root2);
|
|
@@ -7549,7 +7630,7 @@ var initCommand = new Command("init").description("Initialize vibgrate in a proj
|
|
|
7549
7630
|
console.log(chalk7.green("\u2714") + ` Created ${chalk7.bold("vibgrate.config.ts")}`);
|
|
7550
7631
|
}
|
|
7551
7632
|
if (opts.baseline) {
|
|
7552
|
-
const { runBaseline } = await import('./baseline-
|
|
7633
|
+
const { runBaseline } = await import('./baseline-QD4HVNVJ.js');
|
|
7553
7634
|
await runBaseline(rootDir);
|
|
7554
7635
|
}
|
|
7555
7636
|
console.log("");
|
|
@@ -7834,6 +7915,7 @@ function emitDriftScoreLine(score) {
|
|
|
7834
7915
|
if (process.env.VIBGRATE_EMIT_MARKERS !== "1") return;
|
|
7835
7916
|
console.log(`VIBGRATE_DRIFT_SCORE=${score}`);
|
|
7836
7917
|
}
|
|
7918
|
+
init_cli_invocation();
|
|
7837
7919
|
var AI_ASSISTANT_DETECTORS = [
|
|
7838
7920
|
{ files: ["CLAUDE.md", ".claude"], name: "claude" },
|
|
7839
7921
|
{ files: [".cursor", ".cursorrules"], name: "cursor" },
|
|
@@ -7874,6 +7956,7 @@ function printAiContextPrompt(detectedAssistant) {
|
|
|
7874
7956
|
}
|
|
7875
7957
|
|
|
7876
7958
|
// src/reporting/commands/scan.ts
|
|
7959
|
+
init_cli_invocation();
|
|
7877
7960
|
function shouldBuildCodeMap(opts) {
|
|
7878
7961
|
return opts.graph !== false && !opts.maxPrivacy && !opts.noLocalArtifacts;
|
|
7879
7962
|
}
|
|
@@ -8346,6 +8429,9 @@ function scanStaleness(rootDir, artifactPath) {
|
|
|
8346
8429
|
walk2(rootDir, 0);
|
|
8347
8430
|
return newest > ref ? { stale: true, newestChanged } : { stale: false };
|
|
8348
8431
|
}
|
|
8432
|
+
|
|
8433
|
+
// src/reporting/commands/fix.ts
|
|
8434
|
+
init_cli_invocation();
|
|
8349
8435
|
var MAX_CONTRACTS = 40;
|
|
8350
8436
|
function escapeRegExp(s) {
|
|
8351
8437
|
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
@@ -10152,6 +10238,7 @@ var reportCommand = new Command("report").description("Generate a drift report f
|
|
|
10152
10238
|
break;
|
|
10153
10239
|
}
|
|
10154
10240
|
});
|
|
10241
|
+
init_cli_invocation();
|
|
10155
10242
|
function openUrl(url) {
|
|
10156
10243
|
const platform = process.platform;
|
|
10157
10244
|
let command;
|
|
@@ -11675,7 +11762,7 @@ async function hasRecentDrill(root2, asOf) {
|
|
|
11675
11762
|
const dir = path37.join(evidenceDir(root2), "drills");
|
|
11676
11763
|
if (!await pathExists(dir)) return void 0;
|
|
11677
11764
|
const { readdir } = await import('fs/promises');
|
|
11678
|
-
const { readJsonFile: readJsonFile2 } = await import('./fs-
|
|
11765
|
+
const { readJsonFile: readJsonFile2 } = await import('./fs-4G5A65KS.js');
|
|
11679
11766
|
const files = (await readdir(dir)).filter((f) => f.endsWith(".json"));
|
|
11680
11767
|
if (files.length === 0) return void 0;
|
|
11681
11768
|
const cutoff = new Date(new Date(asOf).getTime() - 90 * 24 * 3600 * 1e3).toISOString();
|