@vibgrate/cli 2026.818.1 → 2026.819.1
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/{agent-CUK24AWF.js → agent-3CKNTCRX.js} +13 -13
- package/dist/{agent-CUK24AWF.js.map → agent-3CKNTCRX.js.map} +1 -1
- package/dist/{approvals-YFOU6GVB.js → approvals-DHTG3HI4.js} +5 -5
- package/dist/{approvals-YFOU6GVB.js.map → approvals-DHTG3HI4.js.map} +1 -1
- package/dist/attach-OCQ3I76L.js +10 -0
- package/dist/{attach-6S3XS7VO.js.map → attach-OCQ3I76L.js.map} +1 -1
- package/dist/baseline-QDC6OQ2X.js +9 -0
- package/dist/{baseline-OBZJRCCP.js.map → baseline-QDC6OQ2X.js.map} +1 -1
- package/dist/{chunk-G7ZFSH5J.js → chunk-4VAA2XSM.js} +6 -38
- package/dist/chunk-4VAA2XSM.js.map +1 -0
- package/dist/chunk-5IQBIXHS.js +23 -0
- package/dist/chunk-5IQBIXHS.js.map +1 -0
- package/dist/{chunk-6LY3JH6S.js → chunk-5O6O7DJH.js} +3 -3
- package/dist/{chunk-6LY3JH6S.js.map → chunk-5O6O7DJH.js.map} +1 -1
- package/dist/{chunk-6ABMV74F.js → chunk-5XY4EFR7.js} +4 -4
- package/dist/{chunk-6ABMV74F.js.map → chunk-5XY4EFR7.js.map} +1 -1
- package/dist/{chunk-DUCEKH7Q.js → chunk-6F52QR6F.js} +4 -4
- package/dist/{chunk-DUCEKH7Q.js.map → chunk-6F52QR6F.js.map} +1 -1
- package/dist/{chunk-DH6EDSQP.js → chunk-D33M2ARL.js} +3 -3
- package/dist/{chunk-DH6EDSQP.js.map → chunk-D33M2ARL.js.map} +1 -1
- package/dist/{chunk-GKZU6MII.js → chunk-D44PGMH7.js} +109 -23
- package/dist/chunk-D44PGMH7.js.map +1 -0
- package/dist/chunk-DHU3OOEI.js +6 -0
- package/dist/{chunk-SUD54UGN.js.map → chunk-DHU3OOEI.js.map} +1 -1
- package/dist/{chunk-NO4BMW7M.js → chunk-E53WBVUQ.js} +6 -3
- package/dist/chunk-E53WBVUQ.js.map +1 -0
- package/dist/{chunk-E7RVA2ZI.js → chunk-EI5AKDSC.js} +3 -3
- package/dist/{chunk-E7RVA2ZI.js.map → chunk-EI5AKDSC.js.map} +1 -1
- package/dist/{chunk-LHQYYBCH.js → chunk-EIESBKLW.js} +5 -5
- package/dist/{chunk-LHQYYBCH.js.map → chunk-EIESBKLW.js.map} +1 -1
- package/dist/{chunk-J7CVFTLG.js → chunk-EMEMHNE3.js} +9 -7
- package/dist/chunk-EMEMHNE3.js.map +1 -0
- package/dist/{chunk-MHJBIGWV.js → chunk-F46Q3AEI.js} +118 -24
- package/dist/chunk-F46Q3AEI.js.map +1 -0
- package/dist/{chunk-Q7TWHJJ6.js → chunk-FFY6NW7P.js} +3 -3
- package/dist/{chunk-Q7TWHJJ6.js.map → chunk-FFY6NW7P.js.map} +1 -1
- package/dist/{chunk-J3A3O4IA.js → chunk-FQVAQVJV.js} +3 -3
- package/dist/{chunk-J3A3O4IA.js.map → chunk-FQVAQVJV.js.map} +1 -1
- package/dist/{chunk-ZWFMJUXC.js → chunk-JGBOYZAF.js} +8 -8
- package/dist/{chunk-ZWFMJUXC.js.map → chunk-JGBOYZAF.js.map} +1 -1
- package/dist/{chunk-DM6MJ7IF.js → chunk-KFEM6FWP.js} +4 -4
- package/dist/{chunk-DM6MJ7IF.js.map → chunk-KFEM6FWP.js.map} +1 -1
- package/dist/{chunk-OVUZWR67.js → chunk-KKQX3F5F.js} +3 -3
- package/dist/{chunk-OVUZWR67.js.map → chunk-KKQX3F5F.js.map} +1 -1
- package/dist/chunk-LJSJX6U4.js +38 -0
- package/dist/chunk-LJSJX6U4.js.map +1 -0
- package/dist/{chunk-I3PKYYRP.js → chunk-NWWLUFN5.js} +4 -4
- package/dist/{chunk-I3PKYYRP.js.map → chunk-NWWLUFN5.js.map} +1 -1
- package/dist/{chunk-SBHK4ECM.js → chunk-O5ASXWKF.js} +3 -3
- package/dist/{chunk-SBHK4ECM.js.map → chunk-O5ASXWKF.js.map} +1 -1
- package/dist/{chunk-V2UGRUTL.js → chunk-OQT3JBWW.js} +11 -11
- package/dist/{chunk-V2UGRUTL.js.map → chunk-OQT3JBWW.js.map} +1 -1
- package/dist/{chunk-NG4KIJW6.js → chunk-PVNALGTG.js} +10 -6
- package/dist/chunk-PVNALGTG.js.map +1 -0
- package/dist/{chunk-WVTGF2MP.js → chunk-QMRSCJUN.js} +3 -3
- package/dist/{chunk-WVTGF2MP.js.map → chunk-QMRSCJUN.js.map} +1 -1
- package/dist/{chunk-OS4YFOFJ.js → chunk-QSLVOVNZ.js} +8 -8
- package/dist/{chunk-OS4YFOFJ.js.map → chunk-QSLVOVNZ.js.map} +1 -1
- package/dist/{chunk-43ESHUM5.js → chunk-TS25WFAT.js} +16 -14
- package/dist/chunk-TS25WFAT.js.map +1 -0
- package/dist/{chunk-5I4VSBWQ.js → chunk-TS7STRMI.js} +370 -111
- package/dist/chunk-TS7STRMI.js.map +1 -0
- package/dist/{chunk-FFYO7G3T.js → chunk-U7A7D2HP.js} +3 -3
- package/dist/{chunk-FFYO7G3T.js.map → chunk-U7A7D2HP.js.map} +1 -1
- package/dist/{chunk-X4DECFUG.js → chunk-VYSDR2QE.js} +4 -4
- package/dist/{chunk-X4DECFUG.js.map → chunk-VYSDR2QE.js.map} +1 -1
- package/dist/{chunk-4QAMUBAC.js → chunk-WJYJCDNY.js} +11 -11
- package/dist/{chunk-4QAMUBAC.js.map → chunk-WJYJCDNY.js.map} +1 -1
- package/dist/{chunk-H6RV2OAX.js → chunk-YIEP5GK5.js} +92 -14
- package/dist/chunk-YIEP5GK5.js.map +1 -0
- package/dist/cli.js +245 -125
- package/dist/cli.js.map +1 -1
- package/dist/client-UQIELEEZ.js +8 -0
- package/dist/client-UQIELEEZ.js.map +1 -0
- package/dist/{daemon-4Q5QBBAF.js → daemon-UNL65PTP.js} +11 -12
- package/dist/{daemon-4Q5QBBAF.js.map → daemon-UNL65PTP.js.map} +1 -1
- package/dist/embed-worker-main.js +3 -3
- package/dist/{ensure-map-B2PS5ALS.js → ensure-map-4D2HJ6MA.js} +21 -21
- package/dist/{ensure-map-B2PS5ALS.js.map → ensure-map-4D2HJ6MA.js.map} +1 -1
- package/dist/federation-SZYVHYB2.js +8 -0
- package/dist/{federation-MDQPO3PW.js.map → federation-SZYVHYB2.js.map} +1 -1
- package/dist/fs-FO3NQHPT.js +4 -0
- package/dist/fs-FO3NQHPT.js.map +1 -0
- package/dist/{graph-backend-EEXMD6XY.js → graph-backend-36EIAAPQ.js} +8 -8
- package/dist/{graph-backend-EEXMD6XY.js.map → graph-backend-36EIAAPQ.js.map} +1 -1
- package/dist/index.d.ts +29 -2
- package/dist/index.js +21 -20
- package/dist/index.js.map +1 -1
- package/dist/{interactive-KEPGE5HD.js → interactive-ZZMHSZ3W.js} +33 -33
- package/dist/{interactive-KEPGE5HD.js.map → interactive-ZZMHSZ3W.js.map} +1 -1
- package/dist/load-6CYLMUT5.js +11 -0
- package/dist/{load-H5HAME25.js.map → load-6CYLMUT5.js.map} +1 -1
- package/dist/parse-worker.js +2 -2
- package/dist/publish-7YHRTBRA.js +9 -0
- package/dist/publish-7YHRTBRA.js.map +1 -0
- package/dist/{run-outcome-V3L4GAN4.js → run-outcome-ADEAKXHH.js} +5 -5
- package/dist/{run-outcome-V3L4GAN4.js.map → run-outcome-ADEAKXHH.js.map} +1 -1
- package/dist/{runtime-session-M2FRGTDS.js → runtime-session-VNSXQAEO.js} +11 -12
- package/dist/{runtime-session-M2FRGTDS.js.map → runtime-session-VNSXQAEO.js.map} +1 -1
- package/dist/semantic-status-2JFLIQQJ.js +4 -0
- package/dist/semantic-status-2JFLIQQJ.js.map +1 -0
- package/dist/{session-77YXFUC7.js → session-3A6LKJHD.js} +8 -8
- package/dist/{session-77YXFUC7.js.map → session-3A6LKJHD.js.map} +1 -1
- package/dist/{stream-json-S6E3W2US.js → stream-json-S2TP2VPU.js} +13 -13
- package/dist/{stream-json-S6E3W2US.js.map → stream-json-S2TP2VPU.js.map} +1 -1
- package/dist/version-SZI6I3A2.js +4 -0
- package/dist/{version-VRZT5G4T.js.map → version-SZI6I3A2.js.map} +1 -1
- package/dist/{vg-mcp-bridge-HCPJWJKJ.js → vg-mcp-bridge-IIBEAOEB.js} +12 -11
- package/dist/vg-mcp-bridge-IIBEAOEB.js.map +1 -0
- package/dist/{vgd-R2PNIDEP.js → vgd-KGXIKGOS.js} +10 -11
- package/dist/vgd-KGXIKGOS.js.map +1 -0
- package/package.json +1 -1
- package/dist/attach-6S3XS7VO.js +0 -9
- package/dist/baseline-OBZJRCCP.js +0 -9
- package/dist/chunk-43ESHUM5.js.map +0 -1
- package/dist/chunk-5I4VSBWQ.js.map +0 -1
- package/dist/chunk-G7ZFSH5J.js.map +0 -1
- package/dist/chunk-GKZU6MII.js.map +0 -1
- package/dist/chunk-H6RV2OAX.js.map +0 -1
- package/dist/chunk-J7CVFTLG.js.map +0 -1
- package/dist/chunk-MHJBIGWV.js.map +0 -1
- package/dist/chunk-NG4KIJW6.js.map +0 -1
- package/dist/chunk-NO4BMW7M.js.map +0 -1
- package/dist/chunk-POOL355F.js +0 -237
- package/dist/chunk-POOL355F.js.map +0 -1
- package/dist/chunk-SUD54UGN.js +0 -6
- package/dist/federation-MDQPO3PW.js +0 -7
- package/dist/fs-TLPOWC2D.js +0 -4
- package/dist/fs-TLPOWC2D.js.map +0 -1
- package/dist/load-H5HAME25.js +0 -11
- package/dist/version-VRZT5G4T.js +0 -4
- package/dist/vg-mcp-bridge-HCPJWJKJ.js.map +0 -1
- package/dist/vgd-R2PNIDEP.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -1,64 +1,65 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { fetchCatalog, resolveProviders } from './chunk-U7A7D2HP.js';
|
|
3
|
+
import { telemetryOptOut, StatsSharer, statsEndpoint, isCI } from './chunk-EI5AKDSC.js';
|
|
4
|
+
import { loadAdvancedScanHook, baselineCommand } from './chunk-5XY4EFR7.js';
|
|
5
|
+
import { sha256Hex, generateKeypair, dssePae, DSSE_PAYLOAD_TYPE, keyId, registerBuild, LiveStatus, ProgressBar, printLogo, runBuild } from './chunk-YIEP5GK5.js';
|
|
6
|
+
export { runBuild } from './chunk-YIEP5GK5.js';
|
|
7
|
+
import { readOrchestratorState, writeOrchestratorState, parseMode, setDefaultMode, recommendMode, activePin, resolveMode, providerForBackend, QUALIFIED_PACKS, pinPack, unpinPack, buildOrchestratorStatus } from './chunk-NZELMYT4.js';
|
|
7
8
|
import { defaultProcessEndpoint, startProcessHostServer, resolveInferenceIsolation } from './chunk-JFE7XCAE.js';
|
|
8
|
-
import { runCodeSession } from './chunk-
|
|
9
|
-
import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-
|
|
9
|
+
import { runCodeSession } from './chunk-EIESBKLW.js';
|
|
10
|
+
import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-WJYJCDNY.js';
|
|
10
11
|
import './chunk-543E6WDJ.js';
|
|
12
|
+
import './chunk-D33M2ARL.js';
|
|
13
|
+
import './chunk-VYSDR2QE.js';
|
|
11
14
|
import { parseReasoningEffort, summarizeDiffs, ScriptedProvider } from './chunk-74UBGF4P.js';
|
|
12
15
|
import './chunk-7AVYKZEM.js';
|
|
13
16
|
import { buildModelInstallPlan } from './chunk-I5LP55B6.js';
|
|
14
17
|
import { ensurePackage, ensureUnavailableMessage } from './chunk-3HNPVXUK.js';
|
|
18
|
+
import { vgdVersionSkew, restartVgdIfRunning, stopVgd, registerDaemon, rootOf, requireGraph } from './chunk-JGBOYZAF.js';
|
|
19
|
+
import { readGlobal, applyGlobalOptions } from './chunk-YENM3HT7.js';
|
|
15
20
|
import { ActivityLog } from './chunk-H5Q4JUY4.js';
|
|
21
|
+
import { disableColor, info, c, json, out } from './chunk-CT5BS56U.js';
|
|
16
22
|
import { init_resolve_ollama, gatherSystemMemory, resolveOllamaBinary, hasOllamaBinary, resolve_ollama_exports } from './chunk-FJG5AXKZ.js';
|
|
17
|
-
import { readOrchestratorState, writeOrchestratorState, parseMode, setDefaultMode, recommendMode, activePin, resolveMode, providerForBackend, QUALIFIED_PACKS, pinPack, unpinPack, buildOrchestratorStatus } from './chunk-NZELMYT4.js';
|
|
18
23
|
import { fmt, estimateModelBytes } from './chunk-7N4Y3E47.js';
|
|
19
|
-
import './chunk-
|
|
20
|
-
import './chunk-X4DECFUG.js';
|
|
21
|
-
import { vgdVersionSkew, restartVgdIfRunning, stopVgd, registerDaemon, rootOf, requireGraph } from './chunk-ZWFMJUXC.js';
|
|
22
|
-
import { readGlobal, applyGlobalOptions } from './chunk-YENM3HT7.js';
|
|
23
|
-
import { disableColor, info, c, json, out } from './chunk-CT5BS56U.js';
|
|
24
|
-
import { isManifest, isDependencyFile, manifestHash, loadScanCache, writeScanCache, manifestKind, findPackageLine, endOfLine, findRuntimeLine } from './chunk-MHJBIGWV.js';
|
|
24
|
+
import { isManifest, isDependencyFile, manifestHash, loadScanCache, writeScanCache, manifestKind, findPackageLine, endOfLine, findRuntimeLine } from './chunk-F46Q3AEI.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 { DaemonSemanticSession, serveStdio, exportGraph, GraphSource, createServer, formatForExt, RefreshScheduler } from './chunk-
|
|
30
|
-
import { refreshIfStale } from './chunk-
|
|
31
|
-
import { driftCount, ASSISTANTS, detectAssistants, isAssistantInstalled, detectServeLaunch, installAssistant, writeNavigationConfig, uninstallAssistant, buildGraph, writeSnapshot, probeFreshness, assistantById, SMALL_REPO_FILES } from './chunk-
|
|
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-
|
|
33
|
-
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-V2UGRUTL.js';
|
|
29
|
+
import { DaemonSemanticSession, serveStdio, exportGraph, GraphSource, createServer, formatForExt, RefreshScheduler } from './chunk-D44PGMH7.js';
|
|
30
|
+
import { refreshIfStale } from './chunk-EMEMHNE3.js';
|
|
31
|
+
import { driftCount, ASSISTANTS, detectAssistants, isAssistantInstalled, detectServeLaunch, installAssistant, writeNavigationConfig, uninstallAssistant, buildGraph, writeSnapshot, probeFreshness, assistantById, SMALL_REPO_FILES } from './chunk-TS25WFAT.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-QSLVOVNZ.js';
|
|
34
33
|
import { resolveIngestHost, dashHostForIngestHost, availableRegionIds, ingestHostForRegionId } from './chunk-HTLDXEHW.js';
|
|
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-OQT3JBWW.js';
|
|
35
35
|
import './chunk-VIWZ4QT7.js';
|
|
36
|
-
import { catalogPath, libDir, loadCatalog, driftFor, addLibrary, resolveLib, libId, resolveVersion, readDoc, localPackageDocs, localApiSurface } from './chunk-
|
|
37
|
-
import { recordCliCall, CLI_TOOL_ALIASES, savingsLedgerPath, clearSavings, readSavings, readUsage, readModelSavings, CAPSULE_RANKING_VERSION, SAVINGS_TOOLS, sanitizeClient } from './chunk-
|
|
36
|
+
import { catalogPath, libDir, loadCatalog, driftFor, addLibrary, resolveLib, libId, resolveVersion, readDoc, localPackageDocs, localApiSurface } from './chunk-KKQX3F5F.js';
|
|
37
|
+
import { recordCliCall, CLI_TOOL_ALIASES, savingsLedgerPath, clearSavings, readSavings, readUsage, readModelSavings, CAPSULE_RANKING_VERSION, SAVINGS_TOOLS, sanitizeClient } from './chunk-5O6O7DJH.js';
|
|
38
38
|
import { discoverModels } from './chunk-CQDUBAQY.js';
|
|
39
39
|
import { freeBytesOnVolume, weightStoreDir, listCachedWeights, ensureWeightCached, catalogIntegrityReport } from './chunk-OV4KGXPD.js';
|
|
40
|
-
import { pathExists as pathExists$1, parseExcludePatterns } from './chunk-NG4KIJW6.js';
|
|
41
|
-
import { ensureDir, pathExists, readJsonFile, writeTextFile, writeJsonFile } from './chunk-CRAMOEBE.js';
|
|
42
40
|
import { CliError, ExitCode, usageError, engineUnavailable } from './chunk-MS6V5XKB.js';
|
|
41
|
+
import { attachVgd } from './chunk-4VAA2XSM.js';
|
|
42
|
+
import { pathExists as pathExists$1, parseExcludePatterns } from './chunk-PVNALGTG.js';
|
|
43
|
+
import { ensureDir, pathExists, readJsonFile, writeTextFile, writeJsonFile } from './chunk-CRAMOEBE.js';
|
|
44
|
+
import './chunk-5IQBIXHS.js';
|
|
43
45
|
import { init_cli_invocation, resolveCliInvocation, NPX_INVOCATION } from './chunk-EZ7UC5Y5.js';
|
|
46
|
+
import { publishGraphToVgd } from './chunk-LJSJX6U4.js';
|
|
44
47
|
import { isRelevantChange } from './chunk-DBX3DL27.js';
|
|
45
|
-
import { discover, SKIP_DIRS } from './chunk-POOL355F.js';
|
|
46
48
|
import { inventory, enrichOnline, ECOSYSTEMS } from './chunk-6BEBJCK4.js';
|
|
47
49
|
import { resolveOne } from './chunk-J7LKEB2R.js';
|
|
48
|
-
import { queryGraphSemantic, queryGraph, indexFor, impactOf } from './chunk-
|
|
49
|
-
import { loadGraph, loadGraphPreferIndex, SCHEMA_VERSION } from './chunk-
|
|
50
|
-
import './chunk-
|
|
51
|
-
import { attachVgd, publishGraphToVgd } from './chunk-G7ZFSH5J.js';
|
|
52
|
-
import './chunk-NO4BMW7M.js';
|
|
50
|
+
import { queryGraphSemantic, queryGraph, indexFor, impactOf } from './chunk-6F52QR6F.js';
|
|
51
|
+
import { loadGraph, loadGraphPreferIndex, SCHEMA_VERSION } from './chunk-O5ASXWKF.js';
|
|
52
|
+
import './chunk-E53WBVUQ.js';
|
|
53
53
|
import './chunk-NDNNOAS6.js';
|
|
54
|
-
import {
|
|
54
|
+
import { discover, isSkippedDirName } from './chunk-TS7STRMI.js';
|
|
55
|
+
import { resolvedGrammarFiles, TOOLCHAIN_GRAMMARS, resolveToolchainGrammar, grammarSetVersion, fileRolesFromParseCache } from './chunk-FQVAQVJV.js';
|
|
55
56
|
import './chunk-T7RSQ5WD.js';
|
|
56
57
|
import './chunk-6WRG7VDO.js';
|
|
57
|
-
import { embeddingsCached, resolveEmbedModel, loadEmbedder, getNodeEmbeddings, unavailableMessage, countPending, modelCacheInfo, embeddingsPath, clearModelCache, withTimeout } from './chunk-
|
|
58
|
-
import { resetRelevanceProviderCache, loadRelevanceProvider, relevanceModuleDir, resolveGraphPath, analyzeQuestion, loadTopicTags, renderReport, loadGraphFileWithSnapshot, writeArtifacts, vibgrateDir, mapFileExists, ensureVibgrateGitignore } from './chunk-
|
|
58
|
+
import { embeddingsCached, resolveEmbedModel, loadEmbedder, getNodeEmbeddings, unavailableMessage, countPending, modelCacheInfo, embeddingsPath, clearModelCache, withTimeout } from './chunk-QMRSCJUN.js';
|
|
59
|
+
import { resetRelevanceProviderCache, loadRelevanceProvider, relevanceModuleDir, resolveGraphPath, analyzeQuestion, loadTopicTags, renderReport, loadGraphFileWithSnapshot, writeArtifacts, vibgrateDir, mapFileExists, ensureVibgrateGitignore } from './chunk-FFY6NW7P.js';
|
|
59
60
|
import { cacheDir } from './chunk-MVPRPSXU.js';
|
|
60
61
|
import { serializeGraph, stableStringify, parseGraph } from './chunk-O3LABX6I.js';
|
|
61
|
-
import { VERSION } from './chunk-
|
|
62
|
+
import { VERSION } from './chunk-DHU3OOEI.js';
|
|
62
63
|
import './chunk-BWPBB45M.js';
|
|
63
64
|
import { canonicalize, hashString } from './chunk-JFGYT6BI.js';
|
|
64
65
|
import './chunk-BPF3YX2U.js';
|
|
@@ -166,6 +167,8 @@ function registerAsk(program) {
|
|
|
166
167
|
}
|
|
167
168
|
const { graph } = requireGraph(global);
|
|
168
169
|
const activity = new ActivityLog();
|
|
170
|
+
const live = !global.json ? new LiveStatus() : null;
|
|
171
|
+
live?.start("attaching to vgd\u2026");
|
|
169
172
|
const attached = await activity.time(
|
|
170
173
|
"attach",
|
|
171
174
|
() => attachVgd(root3, {
|
|
@@ -186,55 +189,64 @@ function registerAsk(program) {
|
|
|
186
189
|
let note = "";
|
|
187
190
|
const relevance = await analyzeQuestion(q);
|
|
188
191
|
const topicTags = relevance ? await loadTopicTags(graph, root3, resolveGraphPath(root3, global.graph)) : null;
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
"
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
let reason;
|
|
212
|
-
let detail;
|
|
213
|
-
const embedder = await loadEmbedder({
|
|
214
|
-
local: global.local,
|
|
215
|
-
onUnavailable: (r, d) => {
|
|
216
|
-
reason = r;
|
|
217
|
-
detail = d;
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
if (embedder) {
|
|
221
|
-
const bar = !global.json && firstRun ? new ProgressBar(c.dim("embedding")) : void 0;
|
|
222
|
-
const vectors = await getNodeEmbeddings(graph, embedder, root3, bar ? (d, t) => bar.update(d, t) : void 0);
|
|
223
|
-
bar?.done();
|
|
224
|
-
result = await queryGraphSemantic(graph, q, { budget, embedder, nodeVectors: vectors, relevance, topicTags });
|
|
225
|
-
mode = `semantic (${embedder.id})`;
|
|
226
|
-
activity.add("answer", "ok", `answered in this process \xB7 ${embedder.id} \xB7 ${vectors.size} vector(s)`);
|
|
192
|
+
try {
|
|
193
|
+
if (wantSemantic) {
|
|
194
|
+
live?.set("asking the daemon\u2026");
|
|
195
|
+
const ranked = attached.status === "attached" && attached.repositoryId ? await activity.time(
|
|
196
|
+
"semantic",
|
|
197
|
+
// The attach above already resolved (and, if needed, published)
|
|
198
|
+
// the slot — this session only sends the question.
|
|
199
|
+
() => new DaemonSemanticSession(root3, { socketPath: attached.socketPath, publish: false }).rank(q, void 0, {
|
|
200
|
+
onProgress: (p) => live?.set(p.detail)
|
|
201
|
+
}),
|
|
202
|
+
(r) => r ? { outcome: "ok", detail: `ranked in the daemon \xB7 ${r.ranked.length} of ${r.vectors} vector(s)${r.model ? ` \xB7 ${r.model}` : ""}` } : { outcome: "skip", detail: "daemon index unavailable \u2014 embedding in this process" }
|
|
203
|
+
) : null;
|
|
204
|
+
if (ranked) {
|
|
205
|
+
live?.set("answering from the daemon index\u2026");
|
|
206
|
+
result = await queryGraphSemantic(graph, q, {
|
|
207
|
+
budget,
|
|
208
|
+
semanticRanked: ranked.ranked,
|
|
209
|
+
relevance,
|
|
210
|
+
topicTags
|
|
211
|
+
});
|
|
212
|
+
mode = `semantic (vgd${ranked.model ? `, ${ranked.model}` : ""})`;
|
|
213
|
+
activity.add("answer", "ok", "answered from the daemon index \u2014 no local model load");
|
|
227
214
|
} else {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
215
|
+
const firstRun = !embeddingsCached(root3, resolveEmbedModel());
|
|
216
|
+
live?.set(
|
|
217
|
+
firstRun ? "loading the embedding model (first use; then cached and offline)\u2026" : "embedding the map in this process\u2026"
|
|
218
|
+
);
|
|
219
|
+
let reason;
|
|
220
|
+
let detail;
|
|
221
|
+
const embedder = await loadEmbedder({
|
|
222
|
+
local: global.local,
|
|
223
|
+
onUnavailable: (r, d) => {
|
|
224
|
+
reason = r;
|
|
225
|
+
detail = d;
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
if (embedder) {
|
|
229
|
+
live?.stop();
|
|
230
|
+
const bar = !global.json ? new ProgressBar(c.dim("embedding")) : void 0;
|
|
231
|
+
const vectors = await getNodeEmbeddings(graph, embedder, root3, bar ? (d, t) => bar.update(d, t) : void 0);
|
|
232
|
+
bar?.done();
|
|
233
|
+
result = await queryGraphSemantic(graph, q, { budget, embedder, nodeVectors: vectors, relevance, topicTags });
|
|
234
|
+
mode = `semantic (${embedder.id})`;
|
|
235
|
+
activity.add("answer", "ok", `answered in this process \xB7 ${embedder.id} \xB7 ${vectors.size} vector(s)`);
|
|
236
|
+
} else {
|
|
237
|
+
result = queryGraph(graph, q, { budget, relevance, topicTags });
|
|
238
|
+
note = reason ? unavailableMessage(reason) : "semantic unavailable; used lexical";
|
|
239
|
+
if (detail) note += ` (${detail})`;
|
|
240
|
+
activity.add("answer", "warn", `lexical only \u2014 ${note}`);
|
|
241
|
+
}
|
|
232
242
|
}
|
|
243
|
+
} else {
|
|
244
|
+
result = queryGraph(graph, q, { budget, relevance, topicTags });
|
|
245
|
+
if (global.local) note = "semantic skipped under --local; used lexical";
|
|
246
|
+
activity.add("answer", "skip", global.local ? "lexical only (--local)" : "lexical only (--no-semantic)");
|
|
233
247
|
}
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
if (global.local) note = "semantic skipped under --local; used lexical";
|
|
237
|
-
activity.add("answer", "skip", global.local ? "lexical only (--local)" : "lexical only (--no-semantic)");
|
|
248
|
+
} finally {
|
|
249
|
+
live?.stop();
|
|
238
250
|
}
|
|
239
251
|
if (global.client) {
|
|
240
252
|
const files = new Set(result.matches.map((m) => m.node.file).filter(Boolean));
|
|
@@ -2563,6 +2575,21 @@ var VibgrateLanguageServer = class {
|
|
|
2563
2575
|
* single Ask block for over a minute. See engine/refresh-scheduler.ts.
|
|
2564
2576
|
*/
|
|
2565
2577
|
refresher;
|
|
2578
|
+
/**
|
|
2579
|
+
* Open while the daemon is pushing map changes for this workspace. Closing
|
|
2580
|
+
* it (or losing it) puts this server back in charge of its own freshness.
|
|
2581
|
+
*/
|
|
2582
|
+
slotSubscription = null;
|
|
2583
|
+
/**
|
|
2584
|
+
* True only while the daemon is confirmed to hold *this* map and to be
|
|
2585
|
+
* pushing changes for it. While set, `graphForQuery` stops probing: the
|
|
2586
|
+
* daemon already watches the tree and rebuilds, and two processes doing it
|
|
2587
|
+
* means two stat-walks over one corpus and two rebuilds racing for one lock.
|
|
2588
|
+
*
|
|
2589
|
+
* Never assumed — see `deferFreshnessToDaemon`. A daemon that dies degrades
|
|
2590
|
+
* this server to watching for itself, never to nothing watching.
|
|
2591
|
+
*/
|
|
2592
|
+
daemonOwnsFreshness = false;
|
|
2566
2593
|
/**
|
|
2567
2594
|
* The local runtime's semantic index, held for the life of the server.
|
|
2568
2595
|
* Ranking there means the native embedding backend is never loaded into this
|
|
@@ -2650,6 +2677,9 @@ var VibgrateLanguageServer = class {
|
|
|
2650
2677
|
this.conn.onRequest("shutdown", () => {
|
|
2651
2678
|
this.shuttingDown = true;
|
|
2652
2679
|
if (this.debounce) clearTimeout(this.debounce);
|
|
2680
|
+
this.slotSubscription?.close();
|
|
2681
|
+
this.slotSubscription = null;
|
|
2682
|
+
this.daemonOwnsFreshness = false;
|
|
2653
2683
|
return null;
|
|
2654
2684
|
});
|
|
2655
2685
|
this.conn.onNotification("exit", () => {
|
|
@@ -2988,6 +3018,7 @@ var VibgrateLanguageServer = class {
|
|
|
2988
3018
|
this.fileRoles = fileRolesFromParseCache(this.opts.root);
|
|
2989
3019
|
this.refineAndPublishArchitecture();
|
|
2990
3020
|
this.conn.notify("vibgrate/graph/status", { state: "ready" });
|
|
3021
|
+
void this.deferFreshnessToDaemon();
|
|
2991
3022
|
return;
|
|
2992
3023
|
}
|
|
2993
3024
|
this.conn.notify("vibgrate/graph/status", { state: "building" });
|
|
@@ -2998,6 +3029,7 @@ var VibgrateLanguageServer = class {
|
|
|
2998
3029
|
this.fileRoles = result.fileRoles;
|
|
2999
3030
|
this.refineAndPublishArchitecture();
|
|
3000
3031
|
this.conn.notify("vibgrate/graph/status", { state: "ready" });
|
|
3032
|
+
void this.deferFreshnessToDaemon();
|
|
3001
3033
|
} catch (err) {
|
|
3002
3034
|
const message = err instanceof Error ? err.message : String(err);
|
|
3003
3035
|
this.conn.notify("window/logMessage", { type: 3, message: `Vibgrate graph build failed: ${message}` });
|
|
@@ -3006,6 +3038,55 @@ var VibgrateLanguageServer = class {
|
|
|
3006
3038
|
this.graphBuilding = false;
|
|
3007
3039
|
}
|
|
3008
3040
|
}
|
|
3041
|
+
/**
|
|
3042
|
+
* Hand freshness to the daemon, but only once it is actually holding this
|
|
3043
|
+
* map and pushing changes for it.
|
|
3044
|
+
*
|
|
3045
|
+
* The daemon watches a repository the moment it holds its slot — and not
|
|
3046
|
+
* before. Registration is not enough; this server has historically been one
|
|
3047
|
+
* of the roots vgd knew about but never had a map for. So the order matters:
|
|
3048
|
+
* publish the map we just loaded or built, take the repository id the daemon
|
|
3049
|
+
* answers with, and subscribe to *that* repository. Only a confirmed
|
|
3050
|
+
* subscription retires the local probe.
|
|
3051
|
+
*
|
|
3052
|
+
* Every failure mode lands on "keep watching for ourselves": no daemon, a
|
|
3053
|
+
* daemon that will not take the map, a subscription it does not confirm, or
|
|
3054
|
+
* a connection that later drops. None of them are errors — a machine with no
|
|
3055
|
+
* vgd is a supported configuration.
|
|
3056
|
+
*/
|
|
3057
|
+
async deferFreshnessToDaemon() {
|
|
3058
|
+
if (this.opts.daemon === false || !this.opts.graph) return;
|
|
3059
|
+
if (this.daemonOwnsFreshness || this.slotSubscription || this.shuttingDown) return;
|
|
3060
|
+
try {
|
|
3061
|
+
const [{ publishGraphToVgd: publishGraphToVgd2 }, { subscribeToSlots }] = await Promise.all([
|
|
3062
|
+
import('./publish-7YHRTBRA.js'),
|
|
3063
|
+
import('./slot-subscription-25GOARW5.js')
|
|
3064
|
+
]);
|
|
3065
|
+
const published = await publishGraphToVgd2(this.opts.root);
|
|
3066
|
+
if (published.status !== "published" && published.status !== "current") return;
|
|
3067
|
+
const { repositoryId } = published;
|
|
3068
|
+
const subscription = await subscribeToSlots({
|
|
3069
|
+
repositoryId,
|
|
3070
|
+
onChange: () => this.reloadGraphFromDisk(),
|
|
3071
|
+
onDetach: () => {
|
|
3072
|
+
this.daemonOwnsFreshness = false;
|
|
3073
|
+
this.slotSubscription = null;
|
|
3074
|
+
}
|
|
3075
|
+
});
|
|
3076
|
+
if (!subscription.active) return;
|
|
3077
|
+
if (this.shuttingDown) {
|
|
3078
|
+
subscription.close();
|
|
3079
|
+
return;
|
|
3080
|
+
}
|
|
3081
|
+
this.slotSubscription = subscription;
|
|
3082
|
+
this.daemonOwnsFreshness = true;
|
|
3083
|
+
this.conn.notify("window/logMessage", {
|
|
3084
|
+
type: 3,
|
|
3085
|
+
message: `Vibgrate graph: freshness deferred to the local runtime (${repositoryId}).`
|
|
3086
|
+
});
|
|
3087
|
+
} catch {
|
|
3088
|
+
}
|
|
3089
|
+
}
|
|
3009
3090
|
/**
|
|
3010
3091
|
* The graph for a query. The first call still builds the map (there is
|
|
3011
3092
|
* nothing to answer from otherwise), but a *refresh* is only ever kicked off
|
|
@@ -3016,7 +3097,7 @@ var VibgrateLanguageServer = class {
|
|
|
3016
3097
|
async graphForQuery() {
|
|
3017
3098
|
await this.ensureGraph();
|
|
3018
3099
|
if (!this.graph) return null;
|
|
3019
|
-
await this.refresher.maybeRefresh();
|
|
3100
|
+
if (!this.daemonOwnsFreshness) await this.refresher.maybeRefresh();
|
|
3020
3101
|
return this.graph;
|
|
3021
3102
|
}
|
|
3022
3103
|
/**
|
|
@@ -3026,13 +3107,20 @@ var VibgrateLanguageServer = class {
|
|
|
3026
3107
|
*/
|
|
3027
3108
|
onRefreshSettled(outcome) {
|
|
3028
3109
|
if (outcome?.status !== "refreshed" || !outcome.wrote) return;
|
|
3110
|
+
this.reloadGraphFromDisk();
|
|
3111
|
+
}
|
|
3112
|
+
/**
|
|
3113
|
+
* Re-read the map we already have on disk. Shared by the local refresher and
|
|
3114
|
+
* by the daemon's `slot-changed` push, which are the only two things that
|
|
3115
|
+
* ever rewrite it — and never both at once.
|
|
3116
|
+
*/
|
|
3117
|
+
reloadGraphFromDisk() {
|
|
3029
3118
|
const graphPath = resolveGraphPath(this.opts.root);
|
|
3030
3119
|
const reloaded = loadGraphPreferIndex(this.opts.root, graphPath)?.graph ?? loadGraph(this.opts.root);
|
|
3031
|
-
if (reloaded)
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
}
|
|
3120
|
+
if (!reloaded) return;
|
|
3121
|
+
this.graph = reloaded;
|
|
3122
|
+
this.fileRoles = fileRolesFromParseCache(this.opts.root);
|
|
3123
|
+
this.refineAndPublishArchitecture();
|
|
3036
3124
|
}
|
|
3037
3125
|
/**
|
|
3038
3126
|
* Graph / AST-role refine can land after the first `publishScore()`. The
|
|
@@ -3304,12 +3392,7 @@ function looksLikeScanArtifactJson(text) {
|
|
|
3304
3392
|
function isPrunedWorkspacePath(relPath) {
|
|
3305
3393
|
if (!relPath || relPath === "." || relPath === "") return false;
|
|
3306
3394
|
const parts = relPath.split(/[/\\]/).filter(Boolean);
|
|
3307
|
-
|
|
3308
|
-
return parts.some((p) => {
|
|
3309
|
-
if (SKIP_DIRS.has(p)) return true;
|
|
3310
|
-
if (p.startsWith(".venv") || p.startsWith("venv-") || p === "site-packages") return true;
|
|
3311
|
-
return false;
|
|
3312
|
-
});
|
|
3395
|
+
return parts.some((p) => isSkippedDirName(p));
|
|
3313
3396
|
}
|
|
3314
3397
|
function pruneArtifactProjects(a) {
|
|
3315
3398
|
const projects = (a.projects ?? []).filter(
|
|
@@ -7525,7 +7608,7 @@ function registerCode(program) {
|
|
|
7525
7608
|
try {
|
|
7526
7609
|
const { parseMode: parseMode2, resolveMode: resolveMode2, readOrchestratorState: readOrchestratorState2, activePin: activePin2 } = await import('./model-orchestrator-LHYPJBFH.js');
|
|
7527
7610
|
const { gatherSystemMemory: gatherSystemMemory2 } = await import('./local-runtime-6SNWKSA7.js');
|
|
7528
|
-
const { loadGraph: loadGraph2 } = await import('./load-
|
|
7611
|
+
const { loadGraph: loadGraph2 } = await import('./load-6CYLMUT5.js');
|
|
7529
7612
|
const state = readOrchestratorState2();
|
|
7530
7613
|
const mode = parseMode2(modeFlag) ?? state.defaultMode ?? void 0;
|
|
7531
7614
|
const pin = mode ? activePin2(mode, state) : null;
|
|
@@ -7610,7 +7693,7 @@ function registerCode(program) {
|
|
|
7610
7693
|
if (!(process.stdin.isTTY && process.stdout.isTTY)) {
|
|
7611
7694
|
throw usageError('say what to change, e.g. `vg code "add a --timeout flag to the scan command"` (guided mode needs an interactive terminal)');
|
|
7612
7695
|
}
|
|
7613
|
-
const { runInteractive } = await import('./interactive-
|
|
7696
|
+
const { runInteractive } = await import('./interactive-ZZMHSZ3W.js');
|
|
7614
7697
|
await runInteractive(
|
|
7615
7698
|
rootOf(global),
|
|
7616
7699
|
global,
|
|
@@ -7640,7 +7723,7 @@ function registerCode(program) {
|
|
|
7640
7723
|
}
|
|
7641
7724
|
if (!instruction && !stdinFirstTurn) throw usageError('say what to change, e.g. `vg code "add a --timeout flag to the scan command"`');
|
|
7642
7725
|
{
|
|
7643
|
-
const { ensureCodeMap } = await import('./ensure-map-
|
|
7726
|
+
const { ensureCodeMap } = await import('./ensure-map-4D2HJ6MA.js');
|
|
7644
7727
|
const mapRoot = rootOf(global);
|
|
7645
7728
|
try {
|
|
7646
7729
|
await ensureCodeMap(mapRoot, global, {
|
|
@@ -7725,20 +7808,20 @@ function registerCode(program) {
|
|
|
7725
7808
|
process.stdout.write(JSON.stringify(line) + "\n");
|
|
7726
7809
|
};
|
|
7727
7810
|
try {
|
|
7728
|
-
const { RunOutcomeRecorder, newOneShotRunId, turnRunId } = await import('./run-outcome-
|
|
7811
|
+
const { RunOutcomeRecorder, newOneShotRunId, turnRunId } = await import('./run-outcome-ADEAKXHH.js');
|
|
7729
7812
|
const primarySlug = route.providers[0]?.model.includes("/") ? route.providers[0].model.split("/")[0] : route.providers[0]?.id;
|
|
7730
|
-
const { runCodeStreamJson, parseHostMessage } = await import('./stream-json-
|
|
7731
|
-
const { nodeCodeFs } = await import('./session-
|
|
7813
|
+
const { runCodeStreamJson, parseHostMessage } = await import('./stream-json-S2TP2VPU.js');
|
|
7814
|
+
const { nodeCodeFs } = await import('./session-3A6LKJHD.js');
|
|
7732
7815
|
const readline6 = await import('readline');
|
|
7733
7816
|
const child = await import('child_process');
|
|
7734
|
-
const { loadOrDiscoverFederation } = await import('./federation-
|
|
7817
|
+
const { loadOrDiscoverFederation } = await import('./federation-SZYVHYB2.js');
|
|
7735
7818
|
const { resolveExecutionEnv } = await import('./execution-env-4MS5AYAN.js');
|
|
7736
7819
|
const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-ELWF3Z6H.js');
|
|
7737
|
-
const { startCodeRuntimeSession } = await import('./runtime-session-
|
|
7738
|
-
const { resolveGraphBackend } = await import('./graph-backend-
|
|
7820
|
+
const { startCodeRuntimeSession } = await import('./runtime-session-VNSXQAEO.js');
|
|
7821
|
+
const { resolveGraphBackend } = await import('./graph-backend-36EIAAPQ.js');
|
|
7739
7822
|
const { detectGitRef } = await import('./git-ref-RSRAN4OH.js');
|
|
7740
7823
|
const { repositoryIdFromRoot } = await import('./paths-62AKTFSR.js');
|
|
7741
|
-
const { vgdRequest } = await import('./vgd-
|
|
7824
|
+
const { vgdRequest } = await import('./vgd-KGXIKGOS.js');
|
|
7742
7825
|
const federation = loadOrDiscoverFederation(root3);
|
|
7743
7826
|
const modelProfile = mergeModelExecutionProfile(
|
|
7744
7827
|
resolveModelExecutionProfile({
|
|
@@ -7796,7 +7879,7 @@ ${res.stderr}` : ""),
|
|
|
7796
7879
|
exitCode: res.status ?? 1
|
|
7797
7880
|
};
|
|
7798
7881
|
};
|
|
7799
|
-
const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-
|
|
7882
|
+
const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-IIBEAOEB.js');
|
|
7800
7883
|
const vgBuiltin = createVgBuiltinMcpTools({
|
|
7801
7884
|
getGraph: () => graph,
|
|
7802
7885
|
root: root3,
|
|
@@ -7841,7 +7924,7 @@ ${res.stderr}` : ""),
|
|
|
7841
7924
|
files,
|
|
7842
7925
|
indexFile: checkpointIndex
|
|
7843
7926
|
});
|
|
7844
|
-
const { loadApprovalRules, addApprovalRule, ruleForAction, ruleLabel } = await import('./approvals-
|
|
7927
|
+
const { loadApprovalRules, addApprovalRule, ruleForAction, ruleLabel } = await import('./approvals-DHTG3HI4.js');
|
|
7845
7928
|
const { loadProjectRules, nodeRulesReader } = await import('./rules-ASYEUNB5.js');
|
|
7846
7929
|
const projectRules = loadProjectRules(nodeRulesReader(root3));
|
|
7847
7930
|
if (projectRules.sources.length && !global.quiet) {
|
|
@@ -7899,8 +7982,8 @@ ${res.stderr}` : ""),
|
|
|
7899
7982
|
};
|
|
7900
7983
|
try {
|
|
7901
7984
|
if (opts.session) {
|
|
7902
|
-
const { runCodeStreamJsonSession, STREAM_JSON_PROTOCOL_VERSION } = await import('./stream-json-
|
|
7903
|
-
const { runAgent: runAgent2 } = await import('./agent-
|
|
7985
|
+
const { runCodeStreamJsonSession, STREAM_JSON_PROTOCOL_VERSION } = await import('./stream-json-S2TP2VPU.js');
|
|
7986
|
+
const { runAgent: runAgent2 } = await import('./agent-3CKNTCRX.js');
|
|
7904
7987
|
const {
|
|
7905
7988
|
condenseSession,
|
|
7906
7989
|
loadLatestSession,
|
|
@@ -7911,7 +7994,7 @@ ${res.stderr}` : ""),
|
|
|
7911
7994
|
sessionsDir,
|
|
7912
7995
|
summarizeSession
|
|
7913
7996
|
} = await import('./session-store-AQUORKWB.js');
|
|
7914
|
-
const { VERSION: VERSION2 } = await import('./version-
|
|
7997
|
+
const { VERSION: VERSION2 } = await import('./version-SZI6I3A2.js');
|
|
7915
7998
|
const resumedRecord = typeof opts.continue === "string" ? loadSession(mainRoot, opts.continue) : opts.continue ? loadLatestSession(mainRoot) : void 0;
|
|
7916
7999
|
if (typeof opts.continue === "string" && !resumedRecord) {
|
|
7917
8000
|
emitStream({
|
|
@@ -8123,8 +8206,8 @@ ${res.stderr}` : ""),
|
|
|
8123
8206
|
if (!autonomous && !tty) {
|
|
8124
8207
|
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).");
|
|
8125
8208
|
}
|
|
8126
|
-
const { agentTask } = await import('./interactive-
|
|
8127
|
-
const { nodeCodeFs } = await import('./session-
|
|
8209
|
+
const { agentTask } = await import('./interactive-ZZMHSZ3W.js');
|
|
8210
|
+
const { nodeCodeFs } = await import('./session-3A6LKJHD.js');
|
|
8128
8211
|
const { TtyPrompter } = await import('./ui-K7D3BCHD.js');
|
|
8129
8212
|
let priorSummary;
|
|
8130
8213
|
let priorInstruction;
|
|
@@ -8139,7 +8222,7 @@ ${res.stderr}` : ""),
|
|
|
8139
8222
|
}
|
|
8140
8223
|
}
|
|
8141
8224
|
const prompter = tty ? new TtyPrompter() : void 0;
|
|
8142
|
-
const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-
|
|
8225
|
+
const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-IIBEAOEB.js');
|
|
8143
8226
|
const vgBuiltin = createVgBuiltinMcpTools({
|
|
8144
8227
|
getGraph: () => graph,
|
|
8145
8228
|
root: root3,
|
|
@@ -8160,14 +8243,14 @@ ${res.stderr}` : ""),
|
|
|
8160
8243
|
}
|
|
8161
8244
|
const mcpTools = mergeExternalToolsets(vgBuiltin, projectMcp);
|
|
8162
8245
|
try {
|
|
8163
|
-
const { loadFederation } = await import('./federation-
|
|
8246
|
+
const { loadFederation } = await import('./federation-SZYVHYB2.js');
|
|
8164
8247
|
const { resolveExecutionEnv } = await import('./execution-env-4MS5AYAN.js');
|
|
8165
8248
|
const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-ELWF3Z6H.js');
|
|
8166
|
-
const { startCodeRuntimeSession } = await import('./runtime-session-
|
|
8167
|
-
const { resolveGraphBackend } = await import('./graph-backend-
|
|
8249
|
+
const { startCodeRuntimeSession } = await import('./runtime-session-VNSXQAEO.js');
|
|
8250
|
+
const { resolveGraphBackend } = await import('./graph-backend-36EIAAPQ.js');
|
|
8168
8251
|
const { detectGitRef } = await import('./git-ref-RSRAN4OH.js');
|
|
8169
8252
|
const { repositoryIdFromRoot } = await import('./paths-62AKTFSR.js');
|
|
8170
|
-
const { vgdRequest } = await import('./vgd-
|
|
8253
|
+
const { vgdRequest } = await import('./vgd-KGXIKGOS.js');
|
|
8171
8254
|
const federation = loadFederation(root3);
|
|
8172
8255
|
const modelProfile = mergeModelExecutionProfile(
|
|
8173
8256
|
resolveModelExecutionProfile({
|
|
@@ -9067,7 +9150,7 @@ var LANGUAGE_EXTENSIONS = {
|
|
|
9067
9150
|
cobol: [".cbl", ".cob", ".cpy", ".cob85", ".cobol"],
|
|
9068
9151
|
vb6: [".vbp", ".bas", ".cls", ".frm", ".ctl", ".dsr"]
|
|
9069
9152
|
};
|
|
9070
|
-
var
|
|
9153
|
+
var SKIP_DIRS = /* @__PURE__ */ new Set([
|
|
9071
9154
|
"node_modules",
|
|
9072
9155
|
".git",
|
|
9073
9156
|
".vibgrate",
|
|
@@ -9195,7 +9278,7 @@ function registerHcs(program) {
|
|
|
9195
9278
|
const absChild = path46.join(abs, entry.name);
|
|
9196
9279
|
const relChild = rel ? `${rel}/${entry.name}` : entry.name;
|
|
9197
9280
|
if (entry.isDirectory()) {
|
|
9198
|
-
if (!
|
|
9281
|
+
if (!SKIP_DIRS.has(entry.name)) walk2(absChild, relChild);
|
|
9199
9282
|
continue;
|
|
9200
9283
|
}
|
|
9201
9284
|
if (!entry.isFile()) continue;
|
|
@@ -9351,7 +9434,7 @@ var initCommand = new Command("init").description("Initialize vibgrate in a proj
|
|
|
9351
9434
|
console.log(chalk7.green("\u2714") + ` Created ${chalk7.bold("vibgrate.config.ts")}`);
|
|
9352
9435
|
}
|
|
9353
9436
|
if (opts.baseline) {
|
|
9354
|
-
const { runBaseline } = await import('./baseline-
|
|
9437
|
+
const { runBaseline } = await import('./baseline-QDC6OQ2X.js');
|
|
9355
9438
|
await runBaseline(rootDir);
|
|
9356
9439
|
}
|
|
9357
9440
|
console.log("");
|
|
@@ -9882,6 +9965,36 @@ function reportStandards(rootDir) {
|
|
|
9882
9965
|
console.log(` ${chalk7.red("banned")} ${v.ecosystem}:${v.name}${v.installed ? chalk7.dim(` ${v.installed}`) : ""}${fix}${why}`);
|
|
9883
9966
|
}
|
|
9884
9967
|
}
|
|
9968
|
+
async function printRuntimeSnapshot(rootDir, opts, already) {
|
|
9969
|
+
try {
|
|
9970
|
+
const { attachVgd: attachVgd2 } = await import('./attach-OCQ3I76L.js');
|
|
9971
|
+
const { vgdRequest } = await import('./client-UQIELEEZ.js');
|
|
9972
|
+
const { formatSemanticProgress } = await import('./semantic-status-2JFLIQQJ.js');
|
|
9973
|
+
let repositoryId = already?.repositoryId;
|
|
9974
|
+
let socketPath = already?.socketPath;
|
|
9975
|
+
if (!repositoryId || !socketPath) {
|
|
9976
|
+
const attached = await attachVgd2(rootDir, {
|
|
9977
|
+
disabled: opts.daemon === false,
|
|
9978
|
+
autoStart: false,
|
|
9979
|
+
publish: false
|
|
9980
|
+
});
|
|
9981
|
+
if (attached.status !== "attached" || !attached.repositoryId || !attached.socketPath) return;
|
|
9982
|
+
repositoryId = attached.repositoryId;
|
|
9983
|
+
socketPath = attached.socketPath;
|
|
9984
|
+
}
|
|
9985
|
+
const semantic = await vgdRequest({ op: "embed-status", repositoryId }, { socketPath });
|
|
9986
|
+
if (!semantic.ok || !("semantic" in semantic)) return;
|
|
9987
|
+
const slot = semantic.semantic.slots.find((s) => s.repositoryId === repositoryId) ?? semantic.semantic.slots[0];
|
|
9988
|
+
if (!slot) {
|
|
9989
|
+
if (semantic.semantic.worker === "unavailable" && semantic.semantic.reason) {
|
|
9990
|
+
console.error(chalk7.dim(` \xB7 semantic \xB7 ${semantic.semantic.reason}`));
|
|
9991
|
+
}
|
|
9992
|
+
return;
|
|
9993
|
+
}
|
|
9994
|
+
console.error(chalk7.dim(` \xB7 ${formatSemanticProgress(slot)}`));
|
|
9995
|
+
} catch {
|
|
9996
|
+
}
|
|
9997
|
+
}
|
|
9885
9998
|
function parseNonNegativeNumber(value, label) {
|
|
9886
9999
|
if (value === void 0) return void 0;
|
|
9887
10000
|
const parsed = Number(value);
|
|
@@ -9980,6 +10093,7 @@ var scanCommand = new Command("scan").description("Scan a project for upgrade dr
|
|
|
9980
10093
|
console.error(chalk7.red("Repository unchanged but no previous ingest id available."));
|
|
9981
10094
|
process.exit(1);
|
|
9982
10095
|
}
|
|
10096
|
+
await printRuntimeSnapshot(rootDir, opts);
|
|
9983
10097
|
return;
|
|
9984
10098
|
}
|
|
9985
10099
|
}
|
|
@@ -10062,10 +10176,10 @@ var scanCommand = new Command("scan").description("Scan a project for upgrade dr
|
|
|
10062
10176
|
const advanced = await loadAdvancedScanHook();
|
|
10063
10177
|
const artifact = await runCoreScan(rootDir, scanOpts, advanced);
|
|
10064
10178
|
if (wantGraph && builtGraph) {
|
|
10065
|
-
const { attachVgd: attachVgd2 } = await import('./attach-
|
|
10179
|
+
const { attachVgd: attachVgd2 } = await import('./attach-OCQ3I76L.js');
|
|
10066
10180
|
const { ActivityLog: ActivityLog2 } = await import('./activity-MF2GNYAI.js');
|
|
10067
10181
|
const activity = new ActivityLog2();
|
|
10068
|
-
await activity.time(
|
|
10182
|
+
const attached = await activity.time(
|
|
10069
10183
|
"attach",
|
|
10070
10184
|
() => attachVgd2(rootDir, { disabled: opts.daemon === false }),
|
|
10071
10185
|
(a) => {
|
|
@@ -10074,7 +10188,7 @@ var scanCommand = new Command("scan").description("Scan a project for upgrade dr
|
|
|
10074
10188
|
if (a.published?.status === "published") {
|
|
10075
10189
|
return {
|
|
10076
10190
|
outcome: "ok",
|
|
10077
|
-
detail: `${started} \xB7 map published ${a.published.gitRef} \xB7 ${a.published.nodeCount} nodes
|
|
10191
|
+
detail: `${started} \xB7 map published ${a.published.gitRef} \xB7 ${a.published.nodeCount} nodes`
|
|
10078
10192
|
};
|
|
10079
10193
|
}
|
|
10080
10194
|
return { outcome: "ok", detail: started };
|
|
@@ -10082,6 +10196,12 @@ var scanCommand = new Command("scan").description("Scan a project for upgrade dr
|
|
|
10082
10196
|
);
|
|
10083
10197
|
if (!opts.quiet && opts.format !== "json") {
|
|
10084
10198
|
for (const line of activity.render()) console.error(line);
|
|
10199
|
+
if (attached.status === "attached") {
|
|
10200
|
+
await printRuntimeSnapshot(rootDir, opts, {
|
|
10201
|
+
repositoryId: attached.repositoryId,
|
|
10202
|
+
socketPath: attached.socketPath
|
|
10203
|
+
});
|
|
10204
|
+
}
|
|
10085
10205
|
}
|
|
10086
10206
|
}
|
|
10087
10207
|
emitDriftScoreLine(artifact.drift.score);
|
|
@@ -10183,7 +10303,7 @@ var WATCHED_FILES = /* @__PURE__ */ new Set([
|
|
|
10183
10303
|
"packages.lock.json"
|
|
10184
10304
|
]);
|
|
10185
10305
|
var WATCHED_EXT = /\.(cs|fs)proj$/i;
|
|
10186
|
-
var
|
|
10306
|
+
var SKIP_DIRS2 = /* @__PURE__ */ new Set([
|
|
10187
10307
|
"node_modules",
|
|
10188
10308
|
".git",
|
|
10189
10309
|
"dist",
|
|
@@ -10224,7 +10344,7 @@ function scanStaleness(rootDir, artifactPath) {
|
|
|
10224
10344
|
scanned++;
|
|
10225
10345
|
if (scanned > MAX_ENTRIES2) break;
|
|
10226
10346
|
if (e.isDirectory()) {
|
|
10227
|
-
if (!
|
|
10347
|
+
if (!SKIP_DIRS2.has(e.name) && !e.name.startsWith(".")) walk2(path46.join(dir, e.name), depth + 1);
|
|
10228
10348
|
continue;
|
|
10229
10349
|
}
|
|
10230
10350
|
if (!WATCHED_FILES.has(e.name) && !WATCHED_EXT.test(e.name)) continue;
|
|
@@ -10301,7 +10421,7 @@ function extractContracts(content, pkg, ecosystem) {
|
|
|
10301
10421
|
}
|
|
10302
10422
|
|
|
10303
10423
|
// src/reporting/planning/usage.ts
|
|
10304
|
-
var
|
|
10424
|
+
var SKIP_DIRS3 = /* @__PURE__ */ new Set([
|
|
10305
10425
|
"node_modules",
|
|
10306
10426
|
".git",
|
|
10307
10427
|
"dist",
|
|
@@ -10376,7 +10496,7 @@ function analyzeTree(root3, packages) {
|
|
|
10376
10496
|
for (const entry of entries) {
|
|
10377
10497
|
if (filesSeen >= MAX_FILES) return;
|
|
10378
10498
|
if (entry.isDirectory()) {
|
|
10379
|
-
if (
|
|
10499
|
+
if (SKIP_DIRS3.has(entry.name) || entry.name.startsWith(".")) continue;
|
|
10380
10500
|
walk2(path46.join(dir, entry.name), depth + 1);
|
|
10381
10501
|
continue;
|
|
10382
10502
|
}
|
|
@@ -10962,7 +11082,7 @@ ${String(err)}` }));
|
|
|
10962
11082
|
async function releaseWindowsFileLocks(cwd, keepVersion) {
|
|
10963
11083
|
reapAndReport(cwd, keepVersion);
|
|
10964
11084
|
try {
|
|
10965
|
-
const { vgdSocketPath } = await import('./vgd-
|
|
11085
|
+
const { vgdSocketPath } = await import('./vgd-KGXIKGOS.js');
|
|
10966
11086
|
const result = await stopVgd(vgdSocketPath());
|
|
10967
11087
|
if (result === "stopped") {
|
|
10968
11088
|
console.log(chalk7.dim("Stopped the vgd daemon so its files can be replaced \u2014 it restarts on the next command."));
|
|
@@ -11088,7 +11208,7 @@ var updateCommand = new Command("update").description("Update vibgrate to the la
|
|
|
11088
11208
|
);
|
|
11089
11209
|
async function rewarmVgdAndReport(cwd) {
|
|
11090
11210
|
try {
|
|
11091
|
-
const { vgdIsRunning, vgdRequest } = await import('./vgd-
|
|
11211
|
+
const { vgdIsRunning, vgdRequest } = await import('./vgd-KGXIKGOS.js');
|
|
11092
11212
|
if (!await vgdIsRunning()) return;
|
|
11093
11213
|
const loaded = await vgdRequest({ op: "load-graph", root: cwd });
|
|
11094
11214
|
if (!loaded.ok || !("stored" in loaded)) return;
|