@vibgrate/cli 2026.814.1 → 2026.814.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/DOCS.md +258 -22
  2. package/README.md +273 -11
  3. package/dist/{agent-2ZISYEQF.js → agent-5ANHRYEI.js} +12 -12
  4. package/dist/{agent-2ZISYEQF.js.map → agent-5ANHRYEI.js.map} +1 -1
  5. package/dist/{approvals-DOZ5RWJP.js → approvals-T2KXPJLV.js} +5 -5
  6. package/dist/{approvals-DOZ5RWJP.js.map → approvals-T2KXPJLV.js.map} +1 -1
  7. package/dist/{baseline-AGX42TZM.js → baseline-WVD6P5IO.js} +3 -3
  8. package/dist/{baseline-AGX42TZM.js.map → baseline-WVD6P5IO.js.map} +1 -1
  9. package/dist/chunk-2H2U3DC7.js +6 -0
  10. package/dist/{chunk-QIUQH2ND.js.map → chunk-2H2U3DC7.js.map} +1 -1
  11. package/dist/{chunk-JYY6G46J.js → chunk-2U37PFB2.js} +3 -3
  12. package/dist/{chunk-JYY6G46J.js.map → chunk-2U37PFB2.js.map} +1 -1
  13. package/dist/{chunk-HYC3A2AT.js → chunk-54RGT2T5.js} +3 -3
  14. package/dist/{chunk-HYC3A2AT.js.map → chunk-54RGT2T5.js.map} +1 -1
  15. package/dist/{chunk-2HNPL4OB.js → chunk-5GLQNMTI.js} +4 -4
  16. package/dist/{chunk-2HNPL4OB.js.map → chunk-5GLQNMTI.js.map} +1 -1
  17. package/dist/{chunk-K7MONYIM.js → chunk-75LJM5XD.js} +3 -3
  18. package/dist/{chunk-K7MONYIM.js.map → chunk-75LJM5XD.js.map} +1 -1
  19. package/dist/{chunk-5KY5UCDJ.js → chunk-7NMXE6KG.js} +4 -4
  20. package/dist/{chunk-5KY5UCDJ.js.map → chunk-7NMXE6KG.js.map} +1 -1
  21. package/dist/{chunk-NXDYWBZB.js → chunk-7QDHQLUS.js} +4 -4
  22. package/dist/{chunk-NXDYWBZB.js.map → chunk-7QDHQLUS.js.map} +1 -1
  23. package/dist/{chunk-7CDW25VY.js → chunk-BH54SLGZ.js} +4 -4
  24. package/dist/{chunk-7CDW25VY.js.map → chunk-BH54SLGZ.js.map} +1 -1
  25. package/dist/{chunk-RBBP4SP7.js → chunk-DSUGC7F5.js} +4 -4
  26. package/dist/{chunk-RBBP4SP7.js.map → chunk-DSUGC7F5.js.map} +1 -1
  27. package/dist/{chunk-XEI7UU6G.js → chunk-FOW5IF73.js} +3 -3
  28. package/dist/{chunk-XEI7UU6G.js.map → chunk-FOW5IF73.js.map} +1 -1
  29. package/dist/{chunk-QFCJY6FQ.js → chunk-IHLLWBZU.js} +6 -6
  30. package/dist/{chunk-QFCJY6FQ.js.map → chunk-IHLLWBZU.js.map} +1 -1
  31. package/dist/{chunk-WN2AAB5O.js → chunk-IHXNOY3R.js} +10 -10
  32. package/dist/{chunk-WN2AAB5O.js.map → chunk-IHXNOY3R.js.map} +1 -1
  33. package/dist/{chunk-6OP5U55G.js → chunk-JCN6MSXQ.js} +7 -7
  34. package/dist/{chunk-6OP5U55G.js.map → chunk-JCN6MSXQ.js.map} +1 -1
  35. package/dist/{chunk-EBUTRJHX.js → chunk-KGPX4EUN.js} +4 -4
  36. package/dist/{chunk-EBUTRJHX.js.map → chunk-KGPX4EUN.js.map} +1 -1
  37. package/dist/{chunk-2W3GBKSV.js → chunk-NKFXXP6W.js} +4 -4
  38. package/dist/{chunk-2W3GBKSV.js.map → chunk-NKFXXP6W.js.map} +1 -1
  39. package/dist/{chunk-J3IDTLF4.js → chunk-TNROG5CO.js} +8 -8
  40. package/dist/{chunk-J3IDTLF4.js.map → chunk-TNROG5CO.js.map} +1 -1
  41. package/dist/{chunk-A4F7ESUR.js → chunk-TVDYEHIM.js} +3 -3
  42. package/dist/{chunk-A4F7ESUR.js.map → chunk-TVDYEHIM.js.map} +1 -1
  43. package/dist/{chunk-BXPWVTGS.js → chunk-WQLZSVNF.js} +4 -4
  44. package/dist/{chunk-BXPWVTGS.js.map → chunk-WQLZSVNF.js.map} +1 -1
  45. package/dist/{chunk-BTYFZ3NM.js → chunk-WWGLVF7D.js} +7 -7
  46. package/dist/{chunk-BTYFZ3NM.js.map → chunk-WWGLVF7D.js.map} +1 -1
  47. package/dist/{chunk-UJAOCFQQ.js → chunk-X76VPOYH.js} +4 -4
  48. package/dist/{chunk-UJAOCFQQ.js.map → chunk-X76VPOYH.js.map} +1 -1
  49. package/dist/{chunk-RNZP2XAL.js → chunk-YNV5M3JW.js} +8 -8
  50. package/dist/{chunk-RNZP2XAL.js.map → chunk-YNV5M3JW.js.map} +1 -1
  51. package/dist/{chunk-VD6TVFGA.js → chunk-YQNTIBKS.js} +5 -5
  52. package/dist/{chunk-VD6TVFGA.js.map → chunk-YQNTIBKS.js.map} +1 -1
  53. package/dist/cli.js +46 -46
  54. package/dist/cli.js.map +1 -1
  55. package/dist/embed-worker-main.js +4 -4
  56. package/dist/{ensure-map-EURJPSAK.js → ensure-map-HQ7A5NDL.js} +13 -13
  57. package/dist/{ensure-map-EURJPSAK.js.map → ensure-map-HQ7A5NDL.js.map} +1 -1
  58. package/dist/graph-backend-W2TNTMY7.js +14 -0
  59. package/dist/{graph-backend-VUW2QWPI.js.map → graph-backend-W2TNTMY7.js.map} +1 -1
  60. package/dist/index.d.ts +1 -1
  61. package/dist/index.js +12 -12
  62. package/dist/{interactive-WRA477OW.js → interactive-EW2VJ3BZ.js} +23 -23
  63. package/dist/{interactive-WRA477OW.js.map → interactive-EW2VJ3BZ.js.map} +1 -1
  64. package/dist/load-64RK5O6C.js +10 -0
  65. package/dist/{load-XZV5LEGA.js.map → load-64RK5O6C.js.map} +1 -1
  66. package/dist/{run-outcome-X5KS6AUE.js → run-outcome-6QNQIHPV.js} +6 -6
  67. package/dist/{run-outcome-X5KS6AUE.js.map → run-outcome-6QNQIHPV.js.map} +1 -1
  68. package/dist/runtime-session-RJHH3KMF.js +21 -0
  69. package/dist/{runtime-session-J7GDVRFU.js.map → runtime-session-RJHH3KMF.js.map} +1 -1
  70. package/dist/session-4BGYASOH.js +16 -0
  71. package/dist/{session-3R34WA5S.js.map → session-4BGYASOH.js.map} +1 -1
  72. package/dist/{stream-json-LKVPDKXP.js → stream-json-GY5N7WZT.js} +12 -12
  73. package/dist/{stream-json-LKVPDKXP.js.map → stream-json-GY5N7WZT.js.map} +1 -1
  74. package/dist/version-DPAMQW6M.js +4 -0
  75. package/dist/{version-55TOTJTF.js.map → version-DPAMQW6M.js.map} +1 -1
  76. package/dist/{vg-mcp-bridge-ZPJAHP7T.js → vg-mcp-bridge-IGHJKKSL.js} +9 -9
  77. package/dist/{vg-mcp-bridge-ZPJAHP7T.js.map → vg-mcp-bridge-IGHJKKSL.js.map} +1 -1
  78. package/dist/{vgd-UIFH5TTW.js → vgd-ORPA5C2K.js} +9 -9
  79. package/dist/vgd-ORPA5C2K.js.map +1 -0
  80. package/package.json +1 -1
  81. package/dist/chunk-QIUQH2ND.js +0 -6
  82. package/dist/graph-backend-VUW2QWPI.js +0 -14
  83. package/dist/load-XZV5LEGA.js +0 -10
  84. package/dist/runtime-session-J7GDVRFU.js +0 -21
  85. package/dist/session-3R34WA5S.js +0 -16
  86. package/dist/version-55TOTJTF.js +0 -4
  87. package/dist/vgd-UIFH5TTW.js.map +0 -1
package/dist/cli.js CHANGED
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
- import { fetchCatalog, resolveProviders } from './chunk-2HNPL4OB.js';
3
- import { telemetryOptOut, StatsSharer, statsEndpoint, isCI } from './chunk-5KY5UCDJ.js';
2
+ import { fetchCatalog, resolveProviders } from './chunk-5GLQNMTI.js';
3
+ import { telemetryOptOut, StatsSharer, statsEndpoint, isCI } from './chunk-7NMXE6KG.js';
4
4
  import { loadAdvancedScanHook, baselineCommand } from './chunk-TFAXW7VM.js';
5
- import { sha256Hex, generateKeypair, dssePae, DSSE_PAYLOAD_TYPE, keyId, registerBuild, readGlobal, applyGlobalOptions, ProgressBar, printLogo, runBuild } from './chunk-6OP5U55G.js';
6
- export { runBuild } from './chunk-6OP5U55G.js';
5
+ import { sha256Hex, generateKeypair, dssePae, DSSE_PAYLOAD_TYPE, keyId, registerBuild, readGlobal, applyGlobalOptions, ProgressBar, printLogo, runBuild } from './chunk-JCN6MSXQ.js';
6
+ export { runBuild } from './chunk-JCN6MSXQ.js';
7
7
  import { disableColor, info, c, json, out } from './chunk-CT5BS56U.js';
8
- import { VGD_PROTOCOL_VERSION, startVgdServer } from './chunk-2W3GBKSV.js';
8
+ import { VGD_PROTOCOL_VERSION, startVgdServer } from './chunk-NKFXXP6W.js';
9
9
  import './chunk-IS7VTH2Q.js';
10
10
  import { defaultProcessEndpoint, startProcessHostServer, resolveInferenceIsolation } from './chunk-JFE7XCAE.js';
11
11
  import { clearHostSessionPool, acquireHostSession, generateOnSession, listHostSessions, hostSessionPoolSize } from './chunk-3LOWJSAF.js';
12
- import { runCodeSession } from './chunk-VD6TVFGA.js';
13
- import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-WN2AAB5O.js';
12
+ import { runCodeSession } from './chunk-YQNTIBKS.js';
13
+ import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-IHXNOY3R.js';
14
14
  import './chunk-543E6WDJ.js';
15
- import './chunk-A4F7ESUR.js';
16
- import './chunk-HYC3A2AT.js';
15
+ import './chunk-TVDYEHIM.js';
16
+ import './chunk-54RGT2T5.js';
17
17
  import { vgdSocketPath, vgdIsRunning, vgdRequest, vgdPidPath } from './chunk-RBIRXQR6.js';
18
18
  import { buildIdentifierTrieFromGraph } from './chunk-5HYCB55P.js';
19
19
  import { parseReasoningEffort, summarizeDiffs, ScriptedProvider } from './chunk-N3XFY3PX.js';
@@ -24,30 +24,30 @@ import { init_resolve_ollama, gatherSystemMemory, resolveOllamaBinary, hasOllama
24
24
  import { readOrchestratorState, writeOrchestratorState, parseMode, setDefaultMode, recommendMode, activePin, resolveMode, providerForBackend, QUALIFIED_PACKS, pinPack, unpinPack, buildOrchestratorStatus } from './chunk-NZELMYT4.js';
25
25
  import { fmt, estimateModelBytes } from './chunk-7N4Y3E47.js';
26
26
  import './chunk-IZDH67DX.js';
27
- import { serveStdio, isRelevantChange, exportGraph, GraphSource, createServer, formatForExt, RefreshScheduler } from './chunk-RNZP2XAL.js';
28
- import { refreshIfStale } from './chunk-QFCJY6FQ.js';
29
- import { CliError, ExitCode, driftCount, ASSISTANTS, detectAssistants, isAssistantInstalled, usageError, detectServeLaunch, installAssistant, writeNavigationConfig, uninstallAssistant, engineUnavailable, buildGraph, writeSnapshot, probeFreshness, discover, assistantById, SMALL_REPO_FILES, isSkippedDirName, SKIP_FILES, SKIP_DIRS } from './chunk-J3IDTLF4.js';
30
- 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-BTYFZ3NM.js';
27
+ import { serveStdio, isRelevantChange, exportGraph, GraphSource, createServer, formatForExt, RefreshScheduler } from './chunk-YNV5M3JW.js';
28
+ import { refreshIfStale } from './chunk-IHLLWBZU.js';
29
+ import { CliError, ExitCode, driftCount, ASSISTANTS, detectAssistants, isAssistantInstalled, usageError, detectServeLaunch, installAssistant, writeNavigationConfig, uninstallAssistant, engineUnavailable, buildGraph, writeSnapshot, probeFreshness, discover, assistantById, SMALL_REPO_FILES, isSkippedDirName, SKIP_FILES, SKIP_DIRS } from './chunk-TNROG5CO.js';
30
+ 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-WWGLVF7D.js';
31
31
  import { resolveIngestHost, dashHostForIngestHost, availableRegionIds, ingestHostForRegionId } from './chunk-HTLDXEHW.js';
32
32
  import { writeDefaultConfig, parseDsn, detectVcs, computeRepoFingerprint, resolveRepositoryName, fetchScanPreflight, runCoreScan, loadConfig, prepareCompressedUpload, computeDriftScore, titleBox, projectTypeToVulnEcosystem, driftBar, gitHistoryAvailable, buildVersionTimelines, findPackageAnyEcosystem, normalizeConstraint, findVersionCrossings, versionSatisfies, PROJECT_TYPE_TO_OSV_ECOSYSTEM, fetchRiskySymbols, perDependencyDrift } from './chunk-N6ZMZ5AI.js';
33
33
  import './chunk-VIWZ4QT7.js';
34
- import { inventory, enrichOnline, ECOSYSTEMS, catalogPath, libDir, loadCatalog, driftFor, addLibrary, resolveLib, libId, resolveVersion, readDoc, localPackageDocs, localApiSurface } from './chunk-NXDYWBZB.js';
34
+ import { inventory, enrichOnline, ECOSYSTEMS, catalogPath, libDir, loadCatalog, driftFor, addLibrary, resolveLib, libId, resolveVersion, readDoc, localPackageDocs, localApiSurface } from './chunk-7QDHQLUS.js';
35
35
  import { resolveOne } from './chunk-J7LKEB2R.js';
36
- import { recordCliCall, CLI_TOOL_ALIASES, savingsLedgerPath, clearSavings, readSavings, readUsage, readModelSavings, CAPSULE_RANKING_VERSION, SAVINGS_TOOLS, sanitizeClient } from './chunk-RBBP4SP7.js';
37
- import { queryGraphSemantic, queryGraph, indexFor, impactOf } from './chunk-EBUTRJHX.js';
36
+ import { recordCliCall, CLI_TOOL_ALIASES, savingsLedgerPath, clearSavings, readSavings, readUsage, readModelSavings, CAPSULE_RANKING_VERSION, SAVINGS_TOOLS, sanitizeClient } from './chunk-DSUGC7F5.js';
37
+ import { queryGraphSemantic, queryGraph, indexFor, impactOf } from './chunk-KGPX4EUN.js';
38
38
  import { discoverModels } from './chunk-CQDUBAQY.js';
39
39
  import { freeBytesOnVolume, weightStoreDir, listCachedWeights, ensureWeightCached, catalogIntegrityReport } from './chunk-OV4KGXPD.js';
40
- import { loadGraph, loadGraphPreferIndex, SCHEMA_VERSION } from './chunk-BXPWVTGS.js';
40
+ import { loadGraph, loadGraphPreferIndex, SCHEMA_VERSION } from './chunk-WQLZSVNF.js';
41
41
  import './chunk-5I4VSBWQ.js';
42
42
  import { pathExists as pathExists$1, parseExcludePatterns } from './chunk-DT4KIVRI.js';
43
43
  import { ensureDir, pathExists, readJsonFile, writeTextFile, writeJsonFile } from './chunk-CRAMOEBE.js';
44
44
  import { init_cli_invocation, resolveCliInvocation, NPX_INVOCATION } from './chunk-3LSG7Z4I.js';
45
45
  import { resolvedGrammarFiles, grammarSetVersion } from './chunk-UTNNGKKX.js';
46
46
  import './chunk-RXP66R2E.js';
47
- import { embeddingsCached, resolveEmbedModel, loadEmbedder, getNodeEmbeddings, unavailableMessage, countPending, modelCacheInfo, embeddingsPath, clearModelCache, withTimeout } from './chunk-UJAOCFQQ.js';
48
- import { cacheDir } from './chunk-JYY6G46J.js';
49
- import { resetRelevanceProviderCache, loadRelevanceProvider, relevanceModuleDir, resolveGraphPath, analyzeQuestion, loadTopicTags, renderReport, loadGraphFileWithSnapshot, serializeGraph, stableStringify, writeArtifacts, vibgrateDir, mapFileExists, parseGraph, ensureVibgrateGitignore } from './chunk-K7MONYIM.js';
50
- import { VERSION } from './chunk-QIUQH2ND.js';
47
+ import { embeddingsCached, resolveEmbedModel, loadEmbedder, getNodeEmbeddings, unavailableMessage, countPending, modelCacheInfo, embeddingsPath, clearModelCache, withTimeout } from './chunk-X76VPOYH.js';
48
+ import { cacheDir } from './chunk-2U37PFB2.js';
49
+ import { resetRelevanceProviderCache, loadRelevanceProvider, relevanceModuleDir, resolveGraphPath, analyzeQuestion, loadTopicTags, renderReport, loadGraphFileWithSnapshot, serializeGraph, stableStringify, writeArtifacts, vibgrateDir, mapFileExists, parseGraph, ensureVibgrateGitignore } from './chunk-75LJM5XD.js';
50
+ import { VERSION } from './chunk-2H2U3DC7.js';
51
51
  import './chunk-BWPBB45M.js';
52
52
  import { canonicalize, hashString, hashBytes } from './chunk-JFGYT6BI.js';
53
53
  import './chunk-BPF3YX2U.js';
@@ -7094,7 +7094,7 @@ function discoverMcpServers(root2, ownServers) {
7094
7094
 
7095
7095
  // src/commands/code.ts
7096
7096
  function registerCode(program) {
7097
- const cmd = program.command("code").description("propose a graph-grounded code edit (guided mode with no instruction; dry-run by default)").argument("[instruction...]", "what to change, in plain language (omit for guided interactive mode)").option("--provider <id>", "backend: vibgrate-relay (Vibgrate Relay), ollama, lmstudio, foundry-local, openrouter, litellm, openai, together, llama-cpp").option("--model <id>", "model id (or set VG_CODE_MODEL). No model is hard-coded \u2014 pick the current best.").option("--mode <mode>", "Code Mode: spark | flow | forge (preferred over raw model names; auto-fits when omitted and no --model)").option("--model-path <gguf>", "gguf path for --provider llama-cpp (weights are never auto-downloaded)").option("-f, --file <path>", "restrict the edit surface to this file (repeatable)", collect, []).option("-b, --budget <n>", "approx context token budget", "3000").option("--apply", "write the change (still requires --yes or an interactive confirm)").option("--yes", "consent to write / to a first-use package install, non-interactively").option("--auto", "autonomous agent: auto-approve every edit and command (use with care)").option("--max-steps <n>", "cap the number of agent steps", "24").option("--single", "one-shot planner (single edit) instead of the multi-step agent").option("--stream", "stream the model output live").option("--stream-json", "machine protocol: NDJSON agent events on stdout, approval decisions on stdin (for host UIs like the VS Code panel)").option("--session", "with --stream-json: stay open for further turns (warm graph and tools) instead of exiting after one").option("--verify [command]", "after the agent finishes, run tests and make it fix failures (uses the config testCommand if no command is given)").option("--continue [id]", "resume a session: the most recent one, or the given session id (recap + restore /undo)").option("--restore-checkpoint <commit>", "one-shot: restore the given --file paths from a checkpoint commit, then exit (for host UIs after the original session ended)").option("--reasoning-effort <level>", "how hard a reasoning-capable model should think: low | medium | high (ignored by models without the knob)").option("--worktree [id]", "run the session in an isolated git worktree under .vibgrate/worktrees (bare: create a new one; with id: reuse it)").option("--worktree-diff <id>", "one-shot: print the worktree's delta against its base as a patch, then exit").option("--worktree-apply <id>", "one-shot: apply the worktree's delta onto the main tree (git apply --3way), then exit").option("--worktree-remove <id>", "one-shot: remove the worktree checkout, then exit").option("--capsule", "use a source-bearing Task Capsule for first context (Fusion A/B; exact source ranges from the graph)").option("--no-capsule", "disable Task Capsule context even if enabled in .vibgrate/code.json").option("--security-tier <tier>", "shell isolation: L0 (host), L1 (Seatbelt/bubblewrap when available), L2/L3 reserved").option("--mock <file>", "use a scripted reply from <file> instead of a model (offline; for tests/CI)").option("-o, --out <file>", "write the JSON result to <file> (implies --json shape; for CI/benchmarks)").action(async function(instructionParts, opts) {
7097
+ const cmd = program.command("code").description("graph-grounded coding agent (guided mode with no instruction; every edit and command is approved)").argument("[instruction...]", "what to change, in plain language (omit for guided interactive mode)").option("--provider <id>", "backend: vibgrate-relay (Vibgrate Relay), ollama, lmstudio, foundry-local, openrouter, litellm, openai, together, llama-cpp").option("--model <id>", "model id (or set VG_CODE_MODEL). No model is hard-coded \u2014 pick the current best.").option("--mode <mode>", "Code Mode: spark | flow | forge (preferred over raw model names; auto-fits when omitted and no --model)").option("--model-path <gguf>", "gguf path for --provider llama-cpp (weights are never auto-downloaded)").option("-f, --file <path>", "restrict the edit surface to this file (repeatable)", collect, []).option("-b, --budget <n>", "approx context token budget", "3000").option("--apply", "one-shot path (--single/--mock) only: write the change (still requires --yes or an interactive confirm)").option("--yes", "consent to write / to a first-use package install, non-interactively").option("--auto", "autonomous agent: auto-approve every edit and command (use with care)").option("--max-steps <n>", "cap the number of agent steps", "24").option("--single", "one-shot planner (single edit) instead of the multi-step agent").option("--stream", "stream the model output live").option("--stream-json", "machine protocol: NDJSON agent events on stdout, approval decisions on stdin (for host UIs like the VS Code panel)").option("--session", "with --stream-json: stay open for further turns (warm graph and tools) instead of exiting after one").option("--verify [command]", "after the agent finishes, run tests and make it fix failures (uses the config testCommand if no command is given)").option("--continue [id]", "resume a session: the most recent one, or the given session id (recap + restore /undo)").option("--restore-checkpoint <commit>", "one-shot: restore the given --file paths from a checkpoint commit, then exit (for host UIs after the original session ended)").option("--reasoning-effort <level>", "how hard a reasoning-capable model should think: low | medium | high (ignored by models without the knob)").option("--worktree [id]", "run the session in an isolated git worktree under .vibgrate/worktrees (bare: create a new one; with id: reuse it)").option("--worktree-diff <id>", "one-shot: print the worktree's delta against its base as a patch, then exit").option("--worktree-apply <id>", "one-shot: apply the worktree's delta onto the main tree (git apply --3way), then exit").option("--worktree-remove <id>", "one-shot: remove the worktree checkout, then exit").option("--capsule", "use a source-bearing Task Capsule for first context (Fusion A/B; exact source ranges from the graph)").option("--no-capsule", "disable Task Capsule context even if enabled in .vibgrate/code.json").option("--security-tier <tier>", "shell isolation: L0 (host), L1 (Seatbelt/bubblewrap when available), L2/L3 reserved").option("--mock <file>", "use a scripted reply from <file> instead of a model (offline; for tests/CI)").option("-o, --out <file>", "write the JSON result to <file> (implies --json shape; for CI/benchmarks)").action(async function(instructionParts, opts) {
7098
7098
  const global = readGlobal(this);
7099
7099
  let instruction = (instructionParts ?? []).join(" ").trim();
7100
7100
  if (typeof opts.continue === "string") {
@@ -7261,7 +7261,7 @@ function registerCode(program) {
7261
7261
  try {
7262
7262
  const { parseMode: parseMode2, resolveMode: resolveMode2, readOrchestratorState: readOrchestratorState2, activePin: activePin2 } = await import('./model-orchestrator-LHYPJBFH.js');
7263
7263
  const { gatherSystemMemory: gatherSystemMemory2 } = await import('./local-runtime-2ED33KK6.js');
7264
- const { loadGraph: loadGraph2 } = await import('./load-XZV5LEGA.js');
7264
+ const { loadGraph: loadGraph2 } = await import('./load-64RK5O6C.js');
7265
7265
  const state = readOrchestratorState2();
7266
7266
  const mode = parseMode2(modeFlag) ?? state.defaultMode ?? void 0;
7267
7267
  const pin = mode ? activePin2(mode, state) : null;
@@ -7346,7 +7346,7 @@ function registerCode(program) {
7346
7346
  if (!(process.stdin.isTTY && process.stdout.isTTY)) {
7347
7347
  throw usageError('say what to change, e.g. `vg code "add a --timeout flag to the scan command"` (guided mode needs an interactive terminal)');
7348
7348
  }
7349
- const { runInteractive } = await import('./interactive-WRA477OW.js');
7349
+ const { runInteractive } = await import('./interactive-EW2VJ3BZ.js');
7350
7350
  await runInteractive(
7351
7351
  rootOf(global),
7352
7352
  global,
@@ -7376,7 +7376,7 @@ function registerCode(program) {
7376
7376
  }
7377
7377
  if (!instruction && !stdinFirstTurn) throw usageError('say what to change, e.g. `vg code "add a --timeout flag to the scan command"`');
7378
7378
  {
7379
- const { ensureCodeMap } = await import('./ensure-map-EURJPSAK.js');
7379
+ const { ensureCodeMap } = await import('./ensure-map-HQ7A5NDL.js');
7380
7380
  const mapRoot = rootOf(global);
7381
7381
  try {
7382
7382
  await ensureCodeMap(mapRoot, global, {
@@ -7461,20 +7461,20 @@ function registerCode(program) {
7461
7461
  process.stdout.write(JSON.stringify(line) + "\n");
7462
7462
  };
7463
7463
  try {
7464
- const { RunOutcomeRecorder, newOneShotRunId, turnRunId } = await import('./run-outcome-X5KS6AUE.js');
7464
+ const { RunOutcomeRecorder, newOneShotRunId, turnRunId } = await import('./run-outcome-6QNQIHPV.js');
7465
7465
  const primarySlug = route.providers[0]?.model.includes("/") ? route.providers[0].model.split("/")[0] : route.providers[0]?.id;
7466
- const { runCodeStreamJson, parseHostMessage } = await import('./stream-json-LKVPDKXP.js');
7467
- const { nodeCodeFs } = await import('./session-3R34WA5S.js');
7466
+ const { runCodeStreamJson, parseHostMessage } = await import('./stream-json-GY5N7WZT.js');
7467
+ const { nodeCodeFs } = await import('./session-4BGYASOH.js');
7468
7468
  const readline6 = await import('readline');
7469
7469
  const child = await import('child_process');
7470
7470
  const { loadOrDiscoverFederation } = await import('./federation-MDQPO3PW.js');
7471
7471
  const { resolveExecutionEnv } = await import('./execution-env-4MS5AYAN.js');
7472
7472
  const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-ELWF3Z6H.js');
7473
- const { startCodeRuntimeSession } = await import('./runtime-session-J7GDVRFU.js');
7474
- const { resolveGraphBackend } = await import('./graph-backend-VUW2QWPI.js');
7473
+ const { startCodeRuntimeSession } = await import('./runtime-session-RJHH3KMF.js');
7474
+ const { resolveGraphBackend } = await import('./graph-backend-W2TNTMY7.js');
7475
7475
  const { detectGitRef } = await import('./git-ref-RSRAN4OH.js');
7476
7476
  const { repositoryIdFromRoot } = await import('./paths-62AKTFSR.js');
7477
- const { vgdRequest: vgdRequest2 } = await import('./vgd-UIFH5TTW.js');
7477
+ const { vgdRequest: vgdRequest2 } = await import('./vgd-ORPA5C2K.js');
7478
7478
  const federation = loadOrDiscoverFederation(root2);
7479
7479
  const modelProfile = mergeModelExecutionProfile(
7480
7480
  resolveModelExecutionProfile({
@@ -7532,7 +7532,7 @@ ${res.stderr}` : ""),
7532
7532
  exitCode: res.status ?? 1
7533
7533
  };
7534
7534
  };
7535
- const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-ZPJAHP7T.js');
7535
+ const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-IGHJKKSL.js');
7536
7536
  const vgBuiltin = createVgBuiltinMcpTools({
7537
7537
  getGraph: () => graph,
7538
7538
  root: root2,
@@ -7577,7 +7577,7 @@ ${res.stderr}` : ""),
7577
7577
  files,
7578
7578
  indexFile: checkpointIndex
7579
7579
  });
7580
- const { loadApprovalRules, addApprovalRule, ruleForAction, ruleLabel } = await import('./approvals-DOZ5RWJP.js');
7580
+ const { loadApprovalRules, addApprovalRule, ruleForAction, ruleLabel } = await import('./approvals-T2KXPJLV.js');
7581
7581
  const { loadProjectRules, nodeRulesReader } = await import('./rules-ASYEUNB5.js');
7582
7582
  const projectRules = loadProjectRules(nodeRulesReader(root2));
7583
7583
  if (projectRules.sources.length && !global.quiet) {
@@ -7635,8 +7635,8 @@ ${res.stderr}` : ""),
7635
7635
  };
7636
7636
  try {
7637
7637
  if (opts.session) {
7638
- const { runCodeStreamJsonSession, STREAM_JSON_PROTOCOL_VERSION } = await import('./stream-json-LKVPDKXP.js');
7639
- const { runAgent: runAgent2 } = await import('./agent-2ZISYEQF.js');
7638
+ const { runCodeStreamJsonSession, STREAM_JSON_PROTOCOL_VERSION } = await import('./stream-json-GY5N7WZT.js');
7639
+ const { runAgent: runAgent2 } = await import('./agent-5ANHRYEI.js');
7640
7640
  const {
7641
7641
  condenseSession,
7642
7642
  loadLatestSession,
@@ -7647,7 +7647,7 @@ ${res.stderr}` : ""),
7647
7647
  sessionsDir,
7648
7648
  summarizeSession
7649
7649
  } = await import('./session-store-AQUORKWB.js');
7650
- const { VERSION: VERSION2 } = await import('./version-55TOTJTF.js');
7650
+ const { VERSION: VERSION2 } = await import('./version-DPAMQW6M.js');
7651
7651
  const resumedRecord = typeof opts.continue === "string" ? loadSession(mainRoot, opts.continue) : opts.continue ? loadLatestSession(mainRoot) : void 0;
7652
7652
  if (typeof opts.continue === "string" && !resumedRecord) {
7653
7653
  emitStream({
@@ -7859,8 +7859,8 @@ ${res.stderr}` : ""),
7859
7859
  if (!autonomous && !tty) {
7860
7860
  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).");
7861
7861
  }
7862
- const { agentTask } = await import('./interactive-WRA477OW.js');
7863
- const { nodeCodeFs } = await import('./session-3R34WA5S.js');
7862
+ const { agentTask } = await import('./interactive-EW2VJ3BZ.js');
7863
+ const { nodeCodeFs } = await import('./session-4BGYASOH.js');
7864
7864
  const { TtyPrompter } = await import('./ui-K7D3BCHD.js');
7865
7865
  let priorSummary;
7866
7866
  let priorInstruction;
@@ -7875,7 +7875,7 @@ ${res.stderr}` : ""),
7875
7875
  }
7876
7876
  }
7877
7877
  const prompter = tty ? new TtyPrompter() : void 0;
7878
- const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-ZPJAHP7T.js');
7878
+ const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-IGHJKKSL.js');
7879
7879
  const vgBuiltin = createVgBuiltinMcpTools({
7880
7880
  getGraph: () => graph,
7881
7881
  root: root2,
@@ -7899,11 +7899,11 @@ ${res.stderr}` : ""),
7899
7899
  const { loadFederation } = await import('./federation-MDQPO3PW.js');
7900
7900
  const { resolveExecutionEnv } = await import('./execution-env-4MS5AYAN.js');
7901
7901
  const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-ELWF3Z6H.js');
7902
- const { startCodeRuntimeSession } = await import('./runtime-session-J7GDVRFU.js');
7903
- const { resolveGraphBackend } = await import('./graph-backend-VUW2QWPI.js');
7902
+ const { startCodeRuntimeSession } = await import('./runtime-session-RJHH3KMF.js');
7903
+ const { resolveGraphBackend } = await import('./graph-backend-W2TNTMY7.js');
7904
7904
  const { detectGitRef } = await import('./git-ref-RSRAN4OH.js');
7905
7905
  const { repositoryIdFromRoot } = await import('./paths-62AKTFSR.js');
7906
- const { vgdRequest: vgdRequest2 } = await import('./vgd-UIFH5TTW.js');
7906
+ const { vgdRequest: vgdRequest2 } = await import('./vgd-ORPA5C2K.js');
7907
7907
  const federation = loadFederation(root2);
7908
7908
  const modelProfile = mergeModelExecutionProfile(
7909
7909
  resolveModelExecutionProfile({
@@ -8819,7 +8819,7 @@ function registerDaemon(program) {
8819
8819
  throw new CliError(loaded.error, ExitCode.NOT_FOUND);
8820
8820
  }
8821
8821
  if (!loaded.ok) {
8822
- const { loadGraph: loadGraph2 } = await import('./load-XZV5LEGA.js');
8822
+ const { loadGraph: loadGraph2 } = await import('./load-64RK5O6C.js');
8823
8823
  const { detectGitRef } = await import('./git-ref-RSRAN4OH.js');
8824
8824
  const { repositoryIdFromRoot } = await import('./paths-62AKTFSR.js');
8825
8825
  const graph = loadGraph2(root2, global.graph);
@@ -9519,7 +9519,7 @@ var initCommand = new Command("init").description("Initialize vibgrate in a proj
9519
9519
  console.log(chalk7.green("\u2714") + ` Created ${chalk7.bold("vibgrate.config.ts")}`);
9520
9520
  }
9521
9521
  if (opts.baseline) {
9522
- const { runBaseline } = await import('./baseline-AGX42TZM.js');
9522
+ const { runBaseline } = await import('./baseline-WVD6P5IO.js');
9523
9523
  await runBaseline(rootDir);
9524
9524
  }
9525
9525
  console.log("");
@@ -11087,7 +11087,7 @@ ${String(err)}` }));
11087
11087
  async function releaseWindowsFileLocks(cwd, keepVersion) {
11088
11088
  reapAndReport(cwd, keepVersion);
11089
11089
  try {
11090
- const { vgdSocketPath: vgdSocketPath2 } = await import('./vgd-UIFH5TTW.js');
11090
+ const { vgdSocketPath: vgdSocketPath2 } = await import('./vgd-ORPA5C2K.js');
11091
11091
  const result = await stopVgd(vgdSocketPath2());
11092
11092
  if (result === "stopped") {
11093
11093
  console.log(chalk7.dim("Stopped the vgd daemon so its files can be replaced \u2014 it restarts on the next command."));
@@ -11212,7 +11212,7 @@ var updateCommand = new Command("update").description("Update vibgrate to the la
11212
11212
  );
11213
11213
  async function rewarmVgdAndReport(cwd) {
11214
11214
  try {
11215
- const { vgdIsRunning: vgdIsRunning2, vgdRequest: vgdRequest2 } = await import('./vgd-UIFH5TTW.js');
11215
+ const { vgdIsRunning: vgdIsRunning2, vgdRequest: vgdRequest2 } = await import('./vgd-ORPA5C2K.js');
11216
11216
  if (!await vgdIsRunning2()) return;
11217
11217
  const loaded = await vgdRequest2({ op: "load-graph", root: cwd });
11218
11218
  if (!loaded.ok || !("repositoryId" in loaded)) return;