@vibgrate/cli 2026.807.1 → 2026.814.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.
Files changed (127) hide show
  1. package/NOTICE +7 -0
  2. package/dist/agent-2ZISYEQF.js +26 -0
  3. package/dist/{agent-K3J6EHLI.js.map → agent-2ZISYEQF.js.map} +1 -1
  4. package/dist/approvals-DOZ5RWJP.js +9 -0
  5. package/dist/approvals-DOZ5RWJP.js.map +1 -0
  6. package/dist/baseline-AGX42TZM.js +9 -0
  7. package/dist/{baseline-IAFWF2ET.js.map → baseline-AGX42TZM.js.map} +1 -1
  8. package/dist/{checkpoint-4WFZMKEO.js → checkpoint-UYMYMMQO.js} +6 -3
  9. package/dist/checkpoint-UYMYMMQO.js.map +1 -0
  10. package/dist/{chunk-N5EP5ZR2.js → chunk-2HNPL4OB.js} +5 -5
  11. package/dist/{chunk-N5EP5ZR2.js.map → chunk-2HNPL4OB.js.map} +1 -1
  12. package/dist/{chunk-2HAJCW7Z.js → chunk-2W3GBKSV.js} +5 -5
  13. package/dist/{chunk-2HAJCW7Z.js.map → chunk-2W3GBKSV.js.map} +1 -1
  14. package/dist/{chunk-XSHGXGVJ.js → chunk-5KY5UCDJ.js} +4 -4
  15. package/dist/{chunk-XSHGXGVJ.js.map → chunk-5KY5UCDJ.js.map} +1 -1
  16. package/dist/{chunk-NWX4VUFS.js → chunk-6OP5U55G.js} +8 -8
  17. package/dist/{chunk-NWX4VUFS.js.map → chunk-6OP5U55G.js.map} +1 -1
  18. package/dist/{chunk-KEIMMCS5.js → chunk-7CDW25VY.js} +4 -4
  19. package/dist/{chunk-KEIMMCS5.js.map → chunk-7CDW25VY.js.map} +1 -1
  20. package/dist/chunk-A4F7ESUR.js +174 -0
  21. package/dist/chunk-A4F7ESUR.js.map +1 -0
  22. package/dist/chunk-AJS4EL2C.js +266 -0
  23. package/dist/chunk-AJS4EL2C.js.map +1 -0
  24. package/dist/{chunk-5ESL76CM.js → chunk-BTYFZ3NM.js} +9 -8
  25. package/dist/chunk-BTYFZ3NM.js.map +1 -0
  26. package/dist/{chunk-JFCCJWXD.js → chunk-BXPWVTGS.js} +4 -3
  27. package/dist/chunk-BXPWVTGS.js.map +1 -0
  28. package/dist/{chunk-7CYFCSY2.js → chunk-EBUTRJHX.js} +24 -6
  29. package/dist/chunk-EBUTRJHX.js.map +1 -0
  30. package/dist/{chunk-EXOYSXH6.js → chunk-HYC3A2AT.js} +3 -3
  31. package/dist/{chunk-EXOYSXH6.js.map → chunk-HYC3A2AT.js.map} +1 -1
  32. package/dist/{chunk-G4KO5W6H.js → chunk-J3IDTLF4.js} +19 -9
  33. package/dist/chunk-J3IDTLF4.js.map +1 -0
  34. package/dist/chunk-JYY6G46J.js +64 -0
  35. package/dist/chunk-JYY6G46J.js.map +1 -0
  36. package/dist/{chunk-2M6B5V2U.js → chunk-K7MONYIM.js} +30 -66
  37. package/dist/chunk-K7MONYIM.js.map +1 -0
  38. package/dist/{chunk-ADP6ITGF.js → chunk-N3XFY3PX.js} +68 -11
  39. package/dist/chunk-N3XFY3PX.js.map +1 -0
  40. package/dist/{chunk-INIULQEP.js → chunk-N6ZMZ5AI.js} +11 -2
  41. package/dist/chunk-N6ZMZ5AI.js.map +1 -0
  42. package/dist/{chunk-QXIWQ2WG.js → chunk-NXDYWBZB.js} +4 -4
  43. package/dist/{chunk-QXIWQ2WG.js.map → chunk-NXDYWBZB.js.map} +1 -1
  44. package/dist/{chunk-GQ2EQXBG.js → chunk-QFCJY6FQ.js} +6 -5
  45. package/dist/chunk-QFCJY6FQ.js.map +1 -0
  46. package/dist/chunk-QIUQH2ND.js +6 -0
  47. package/dist/{chunk-ITY2NPIQ.js.map → chunk-QIUQH2ND.js.map} +1 -1
  48. package/dist/{chunk-FOKURZL3.js → chunk-RBBP4SP7.js} +12 -10
  49. package/dist/chunk-RBBP4SP7.js.map +1 -0
  50. package/dist/{chunk-VNAOFA6X.js → chunk-RNZP2XAL.js} +8 -8
  51. package/dist/chunk-RNZP2XAL.js.map +1 -0
  52. package/dist/{chunk-Y4JO6LYP.js → chunk-TFAXW7VM.js} +302 -11
  53. package/dist/chunk-TFAXW7VM.js.map +1 -0
  54. package/dist/{chunk-LS7GZBKP.js → chunk-UJAOCFQQ.js} +19 -9
  55. package/dist/chunk-UJAOCFQQ.js.map +1 -0
  56. package/dist/{chunk-PT2XQTSK.js → chunk-VD6TVFGA.js} +7 -6
  57. package/dist/chunk-VD6TVFGA.js.map +1 -0
  58. package/dist/{chunk-VQVLY63G.js → chunk-WN2AAB5O.js} +212 -59
  59. package/dist/chunk-WN2AAB5O.js.map +1 -0
  60. package/dist/{chunk-EJUMV5HU.js → chunk-XEI7UU6G.js} +3 -3
  61. package/dist/{chunk-EJUMV5HU.js.map → chunk-XEI7UU6G.js.map} +1 -1
  62. package/dist/cli.js +1179 -511
  63. package/dist/cli.js.map +1 -1
  64. package/dist/embed-worker-main.js +4 -3
  65. package/dist/embed-worker-main.js.map +1 -1
  66. package/dist/{ensure-map-TYMYYIJE.js → ensure-map-EURJPSAK.js} +15 -14
  67. package/dist/{ensure-map-TYMYYIJE.js.map → ensure-map-EURJPSAK.js.map} +1 -1
  68. package/dist/fastembed-S6YEJYQV.js +292 -0
  69. package/dist/fastembed-S6YEJYQV.js.map +1 -0
  70. package/dist/graph-backend-VUW2QWPI.js +14 -0
  71. package/dist/{graph-backend-5YOWNHHG.js.map → graph-backend-VUW2QWPI.js.map} +1 -1
  72. package/dist/index.d.ts +4 -3
  73. package/dist/index.js +14 -13
  74. package/dist/index.js.map +1 -1
  75. package/dist/{interactive-YEMXHGBO.js → interactive-WRA477OW.js} +32 -30
  76. package/dist/interactive-WRA477OW.js.map +1 -0
  77. package/dist/load-XZV5LEGA.js +10 -0
  78. package/dist/{load-IIWVYUN7.js.map → load-XZV5LEGA.js.map} +1 -1
  79. package/dist/{run-outcome-2JO55QCC.js → run-outcome-X5KS6AUE.js} +6 -5
  80. package/dist/run-outcome-X5KS6AUE.js.map +1 -0
  81. package/dist/runtime-session-J7GDVRFU.js +21 -0
  82. package/dist/{runtime-session-HFKGKQV7.js.map → runtime-session-J7GDVRFU.js.map} +1 -1
  83. package/dist/session-3R34WA5S.js +16 -0
  84. package/dist/{session-5LFX4U2E.js.map → session-3R34WA5S.js.map} +1 -1
  85. package/dist/session-store-AQUORKWB.js +4 -0
  86. package/dist/{session-store-KGONLWHN.js.map → session-store-AQUORKWB.js.map} +1 -1
  87. package/dist/{stream-json-DUCFTBUF.js → stream-json-LKVPDKXP.js} +76 -24
  88. package/dist/stream-json-LKVPDKXP.js.map +1 -0
  89. package/dist/version-55TOTJTF.js +4 -0
  90. package/dist/version-55TOTJTF.js.map +1 -0
  91. package/dist/{vg-mcp-bridge-4KPDQUFN.js → vg-mcp-bridge-ZPJAHP7T.js} +11 -10
  92. package/dist/vg-mcp-bridge-ZPJAHP7T.js.map +1 -0
  93. package/dist/{vgd-LFHQ4GWC.js → vgd-UIFH5TTW.js} +12 -11
  94. package/dist/vgd-UIFH5TTW.js.map +1 -0
  95. package/dist/worktree-session-D575IQWM.js +82 -0
  96. package/dist/worktree-session-D575IQWM.js.map +1 -0
  97. package/package.json +9 -7
  98. package/dist/agent-K3J6EHLI.js +0 -24
  99. package/dist/baseline-IAFWF2ET.js +0 -9
  100. package/dist/checkpoint-4WFZMKEO.js.map +0 -1
  101. package/dist/chunk-2M6B5V2U.js.map +0 -1
  102. package/dist/chunk-5ESL76CM.js.map +0 -1
  103. package/dist/chunk-7CYFCSY2.js.map +0 -1
  104. package/dist/chunk-ADP6ITGF.js.map +0 -1
  105. package/dist/chunk-FOKURZL3.js.map +0 -1
  106. package/dist/chunk-G4KO5W6H.js.map +0 -1
  107. package/dist/chunk-GQ2EQXBG.js.map +0 -1
  108. package/dist/chunk-INIULQEP.js.map +0 -1
  109. package/dist/chunk-ITY2NPIQ.js +0 -6
  110. package/dist/chunk-JFCCJWXD.js.map +0 -1
  111. package/dist/chunk-LS7GZBKP.js.map +0 -1
  112. package/dist/chunk-PT2XQTSK.js.map +0 -1
  113. package/dist/chunk-VNAOFA6X.js.map +0 -1
  114. package/dist/chunk-VQVLY63G.js.map +0 -1
  115. package/dist/chunk-Y4JO6LYP.js.map +0 -1
  116. package/dist/chunk-Z7FM3ETS.js +0 -126
  117. package/dist/chunk-Z7FM3ETS.js.map +0 -1
  118. package/dist/graph-backend-5YOWNHHG.js +0 -13
  119. package/dist/interactive-YEMXHGBO.js.map +0 -1
  120. package/dist/load-IIWVYUN7.js +0 -9
  121. package/dist/run-outcome-2JO55QCC.js.map +0 -1
  122. package/dist/runtime-session-HFKGKQV7.js +0 -20
  123. package/dist/session-5LFX4U2E.js +0 -15
  124. package/dist/session-store-KGONLWHN.js +0 -4
  125. package/dist/stream-json-DUCFTBUF.js.map +0 -1
  126. package/dist/vg-mcp-bridge-4KPDQUFN.js.map +0 -1
  127. package/dist/vgd-LFHQ4GWC.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/engine/refresh.ts"],"names":[],"mappings":";;;;;;AAsDA,IAAM,qBAAA,GAAwB,KAAK,EAAA,GAAK,GAAA;AAExC,SAAS,gBAAgB,IAAA,EAAsB;AAC7C,EAAA,OAAY,IAAA,CAAA,IAAA,CAAK,QAAA,CAAS,IAAI,CAAA,EAAG,cAAc,CAAA;AACjD;AAMA,eAAsB,cAAA,CAAe,IAAA,EAAc,IAAA,GAAuB,EAAC,EAA4B;AACrG,EAAA,MAAM,KAAA,GAAQ,eAAe,IAAI,CAAA;AACjC,EAAA,IAAI,CAAC,KAAA,EAAO,OAAO,EAAE,QAAQ,aAAA,EAAc;AAC3C,EAAA,IAAI,CAAC,SAAS,KAAA,CAAM,KAAK,GAAG,OAAO,EAAE,QAAQ,OAAA,EAAQ;AAErD,EAAA,MAAM,IAAA,GAAO,gBAAgB,IAAI,CAAA;AACjC,EAAA,IAAI,CAAC,YAAY,IAAA,EAAM,qBAAqB,GAAG,OAAO,EAAE,QAAQ,QAAA,EAAS;AAEzE,EAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,MAAA,CAAO,MAAA,EAAO;AACpC,EAAA,IAAI;AACF,IAAA,MAAM,EAAE,OAAM,GAAI,KAAA;AAClB,IAAA,MAAM,MAAA,GAAS,MAAM,UAAA,CAAW;AAAA,MAC9B,IAAA;AAAA,MACA,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,OAAO,KAAA,CAAM,KAAA;AAAA,MACb,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,OAAO,KAAA,CAAM,KAAA;AAAA,MACb,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,aAAa,KAAA,CAAM,WAAA;AAAA,MACnB,QAAQ,IAAA,CAAK,MAAA;AAAA,MACb,MAAM,IAAA,CAAK;AAAA,KACZ,CAAA;AAED,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,KAAA,CAAM,UAAA,CAAW,eAAe,KAAA,CAAM,UAAA;AAC3D,IAAA,IAAI,KAAA,EAAO;AACT,MAAA,MAAM,GAAA,GAAM,YAAY,IAAI,CAAA;AAC5B,MAAA,cAAA,CAAe,OAAO,KAAA,EAAO;AAAA,QAC3B,IAAA;AAAA,QACA,WAAW,IAAA,CAAK,SAAA;AAAA,QAChB,MAAA,EAAW,EAAA,CAAA,UAAA,CAAgB,IAAA,CAAA,IAAA,CAAK,GAAA,EAAK,iBAAiB,CAAC,CAAA;AAAA,QACvD,IAAA,EAAS,EAAA,CAAA,UAAA,CAAgB,IAAA,CAAA,IAAA,CAAK,GAAA,EAAK,YAAY,CAAC;AAAA,OACjD,CAAA;AAAA,IACH;AACA,IAAA,aAAA,CAAc,MAAM,MAAA,CAAO,KAAA,CAAM,WAAW,UAAA,EAAY,MAAA,CAAO,WAAW,KAAK,CAAA;AAE/E,IAAA,MAAM,KAAK,MAAA,CAAA,CAAQ,OAAA,CAAQ,OAAO,MAAA,EAAO,GAAI,SAAS,QAAQ,CAAA;AAC9D,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,WAAA;AAAA,MACR,OAAO,KAAA,CAAM,KAAA;AAAA,MACb,EAAA;AAAA,MACA,UAAU,MAAA,CAAO,QAAA;AAAA,MACjB,YAAY,MAAA,CAAO,UAAA;AAAA,MACnB;AAAA,KACF;AAAA,EACF,SAAS,GAAA,EAAK;AACZ,IAAA,OAAO,EAAE,MAAA,EAAQ,OAAA,EAAS,OAAA,EAAU,IAAc,OAAA,EAAQ;AAAA,EAC5D,CAAA,SAAE;AACA,IAAA,WAAA,CAAY,IAAI,CAAA;AAAA,EAClB;AACF","file":"chunk-GQ2EQXBG.js","sourcesContent":["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport { buildGraph } from './build.js';\nimport { probeFreshness, writeSnapshot, hasDrift, type Drift } from './freshness.js';\nimport { writeArtifacts, vibgrateDir } from './artifacts.js';\nimport { acquireLock, releaseLock } from './lock.js';\nimport { cacheDir } from './cache.js';\nimport type { ClusterMode } from './analyze.js';\n\n/**\n * Auto-refresh: bring the code map back in sync with the working tree when the\n * freshness probe says it drifted. The rebuild is the ordinary incremental\n * `buildGraph` (warm parse cache → only changed files re-parse), replaying the\n * scope recorded at the last explicit build, guarded by a cross-process lock\n * so a serving MCP process and a foreground command never write at once.\n *\n * Two properties keep this safe to run implicitly:\n * - **No git churn**: if the rebuilt corpusHash equals the snapshot's (e.g. a\n * drift that reverted itself), `graph.json` is left untouched — the artifact\n * stays byte-identical.\n * - **No surprise artifacts**: `GRAPH_REPORT.md`/`graph.html` are rewritten\n * only if they already exist; a refresh never adds files a user's explicit\n * build chose not to produce.\n */\n\nexport interface RefreshOptions {\n /** Force single-threaded parsing (tests / constrained hosts). */\n inline?: boolean;\n /** Worker count for the parse pool. */\n jobs?: number;\n /**\n * The map path already resolved by the caller (e.g. `vg serve`'s startup\n * resolution). Passed straight through to `writeArtifacts` so a refresh\n * never re-resolves it: `defaultGraphPath` shells out to `git rev-parse`\n * (Fusion §4.1.1 branch keying), and re-running that on every drift-driven\n * refresh put a synchronous git spawn back on the hot tool-call path this\n * function exists to keep off of. Omit only when no caller-known path\n * exists (falls back to a fresh `defaultGraphPath` resolution).\n */\n graphPath?: string;\n}\n\nexport type RefreshOutcome =\n /** Map already matches the working tree. */\n | { status: 'fresh' }\n /** No freshness snapshot — no build ever ran here, so scope is unknown. */\n | { status: 'no-snapshot' }\n /** Another vg process is rebuilding right now; its write will land shortly. */\n | { status: 'locked' }\n /** Rebuilt. `wrote` is false when the corpus turned out unchanged. */\n | { status: 'refreshed'; drift: Drift; ms: number; reparsed: number; totalFiles: number; wrote: boolean }\n | { status: 'error'; message: string };\n\n/** A refresh stuck longer than this is presumed crashed and its lock reclaimed. */\nconst REFRESH_LOCK_STALE_MS = 10 * 60 * 1000;\n\nfunction refreshLockPath(root: string): string {\n return path.join(cacheDir(root), 'refresh.lock');\n}\n\n/**\n * Probe, and rebuild incrementally if the tree drifted from the map.\n * Silent (no output) — callers own the messaging for their surface.\n */\nexport async function refreshIfStale(root: string, opts: RefreshOptions = {}): Promise<RefreshOutcome> {\n const probe = probeFreshness(root);\n if (!probe) return { status: 'no-snapshot' };\n if (!hasDrift(probe.drift)) return { status: 'fresh' };\n\n const lock = refreshLockPath(root);\n if (!acquireLock(lock, REFRESH_LOCK_STALE_MS)) return { status: 'locked' };\n\n const start = process.hrtime.bigint();\n try {\n const { scope } = probe;\n const result = await buildGraph({\n root,\n only: scope.only,\n exclude: scope.exclude,\n paths: scope.paths,\n deep: scope.deep,\n noGround: scope.noGround,\n scip: scope.scip,\n noScip: scope.noScip,\n noTsc: scope.noTsc,\n cluster: scope.cluster as ClusterMode | undefined,\n grammarsDir: scope.grammarsDir,\n inline: opts.inline,\n jobs: opts.jobs,\n });\n\n const wrote = result.graph.provenance.corpusHash !== probe.corpusHash;\n if (wrote) {\n const dir = vibgrateDir(root);\n writeArtifacts(result.graph, {\n root,\n graphPath: opts.graphPath,\n report: fs.existsSync(path.join(dir, 'GRAPH_REPORT.md')),\n html: fs.existsSync(path.join(dir, 'graph.html')),\n });\n }\n writeSnapshot(root, result.graph.provenance.corpusHash, result.fileStats, scope);\n\n const ms = Number((process.hrtime.bigint() - start) / 1000000n);\n return {\n status: 'refreshed',\n drift: probe.drift,\n ms,\n reparsed: result.reparsed,\n totalFiles: result.totalFiles,\n wrote,\n };\n } catch (err) {\n return { status: 'error', message: (err as Error).message };\n } finally {\n releaseLock(lock);\n }\n}\n"]}