@vibgrate/cli 2026.814.2 → 2026.817.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 (157) hide show
  1. package/DOCS.md +61 -0
  2. package/README.md +1 -0
  3. package/dist/agent-UQC7QN77.js +27 -0
  4. package/dist/{agent-5ANHRYEI.js.map → agent-UQC7QN77.js.map} +1 -1
  5. package/dist/{approvals-T2KXPJLV.js → approvals-ASPJQUZK.js} +6 -5
  6. package/dist/{approvals-T2KXPJLV.js.map → approvals-ASPJQUZK.js.map} +1 -1
  7. package/dist/baseline-FIV6PR2M.js +9 -0
  8. package/dist/{baseline-WVD6P5IO.js.map → baseline-FIV6PR2M.js.map} +1 -1
  9. package/dist/{chunk-FOW5IF73.js → chunk-2FEB5KJS.js} +11 -34
  10. package/dist/chunk-2FEB5KJS.js.map +1 -0
  11. package/dist/{chunk-WQLZSVNF.js → chunk-3FMRFECC.js} +7 -6
  12. package/dist/chunk-3FMRFECC.js.map +1 -0
  13. package/dist/{chunk-7QDHQLUS.js → chunk-3H3SVJUY.js} +13 -11
  14. package/dist/chunk-3H3SVJUY.js.map +1 -0
  15. package/dist/{chunk-REIGWTTH.js → chunk-3HNPVXUK.js} +3 -3
  16. package/dist/{chunk-REIGWTTH.js.map → chunk-3HNPVXUK.js.map} +1 -1
  17. package/dist/{chunk-YQNTIBKS.js → chunk-3NJUOIZQ.js} +6 -6
  18. package/dist/{chunk-YQNTIBKS.js.map → chunk-3NJUOIZQ.js.map} +1 -1
  19. package/dist/{chunk-BH54SLGZ.js → chunk-5OL2TSHK.js} +4 -4
  20. package/dist/{chunk-BH54SLGZ.js.map → chunk-5OL2TSHK.js.map} +1 -1
  21. package/dist/{chunk-TFAXW7VM.js → chunk-6K3XK7C5.js} +69 -976
  22. package/dist/chunk-6K3XK7C5.js.map +1 -0
  23. package/dist/{chunk-N3XFY3PX.js → chunk-74UBGF4P.js} +3 -3
  24. package/dist/{chunk-N3XFY3PX.js.map → chunk-74UBGF4P.js.map} +1 -1
  25. package/dist/{chunk-X76VPOYH.js → chunk-AXZZ5CCG.js} +4 -4
  26. package/dist/{chunk-X76VPOYH.js.map → chunk-AXZZ5CCG.js.map} +1 -1
  27. package/dist/{chunk-5GLQNMTI.js → chunk-C3LMWZKF.js} +6 -6
  28. package/dist/{chunk-5GLQNMTI.js.map → chunk-C3LMWZKF.js.map} +1 -1
  29. package/dist/{chunk-WWGLVF7D.js → chunk-DVW3SVCW.js} +9 -8
  30. package/dist/chunk-DVW3SVCW.js.map +1 -0
  31. package/dist/{chunk-TNROG5CO.js → chunk-E2FAQREZ.js} +1739 -116
  32. package/dist/chunk-E2FAQREZ.js.map +1 -0
  33. package/dist/{chunk-7NMXE6KG.js → chunk-EXV4QSAD.js} +4 -4
  34. package/dist/{chunk-7NMXE6KG.js.map → chunk-EXV4QSAD.js.map} +1 -1
  35. package/dist/{chunk-3LSG7Z4I.js → chunk-EZ7UC5Y5.js} +25 -4
  36. package/dist/chunk-EZ7UC5Y5.js.map +1 -0
  37. package/dist/{chunk-OWSFZQOP.js → chunk-FJG5AXKZ.js} +3 -3
  38. package/dist/{chunk-OWSFZQOP.js.map → chunk-FJG5AXKZ.js.map} +1 -1
  39. package/dist/{chunk-NKFXXP6W.js → chunk-GOGMS3ST.js} +8 -6
  40. package/dist/chunk-GOGMS3ST.js.map +1 -0
  41. package/dist/{chunk-WHJMS7XC.js → chunk-I5LP55B6.js} +3 -3
  42. package/dist/{chunk-WHJMS7XC.js.map → chunk-I5LP55B6.js.map} +1 -1
  43. package/dist/{chunk-IHXNOY3R.js → chunk-K6DXETMC.js} +12 -12
  44. package/dist/{chunk-IHXNOY3R.js.map → chunk-K6DXETMC.js.map} +1 -1
  45. package/dist/{chunk-DSUGC7F5.js → chunk-KJT2R6WW.js} +4 -4
  46. package/dist/{chunk-DSUGC7F5.js.map → chunk-KJT2R6WW.js.map} +1 -1
  47. package/dist/chunk-KNGAZDGF.js +467 -0
  48. package/dist/chunk-KNGAZDGF.js.map +1 -0
  49. package/dist/{chunk-JCN6MSXQ.js → chunk-LHKQGVRF.js} +17 -29
  50. package/dist/chunk-LHKQGVRF.js.map +1 -0
  51. package/dist/{chunk-YNV5M3JW.js → chunk-M7IO3DXH.js} +9 -8
  52. package/dist/chunk-M7IO3DXH.js.map +1 -0
  53. package/dist/chunk-MS6V5XKB.js +33 -0
  54. package/dist/chunk-MS6V5XKB.js.map +1 -0
  55. package/dist/{chunk-2U37PFB2.js → chunk-MVPRPSXU.js} +7 -4
  56. package/dist/chunk-MVPRPSXU.js.map +1 -0
  57. package/dist/{chunk-DT4KIVRI.js → chunk-NG4KIJW6.js} +34 -2
  58. package/dist/chunk-NG4KIJW6.js.map +1 -0
  59. package/dist/{chunk-IHLLWBZU.js → chunk-O2DL2Q55.js} +6 -6
  60. package/dist/{chunk-IHLLWBZU.js.map → chunk-O2DL2Q55.js.map} +1 -1
  61. package/dist/chunk-O3LABX6I.js +43 -0
  62. package/dist/chunk-O3LABX6I.js.map +1 -0
  63. package/dist/chunk-OZ3IFXRD.js +22 -0
  64. package/dist/chunk-OZ3IFXRD.js.map +1 -0
  65. package/dist/chunk-PRG2ULPK.js +6 -0
  66. package/dist/{chunk-2H2U3DC7.js.map → chunk-PRG2ULPK.js.map} +1 -1
  67. package/dist/{chunk-TVDYEHIM.js → chunk-Q3M6K3HY.js} +3 -3
  68. package/dist/{chunk-TVDYEHIM.js.map → chunk-Q3M6K3HY.js.map} +1 -1
  69. package/dist/{chunk-KGPX4EUN.js → chunk-Q4G2BWE3.js} +4 -4
  70. package/dist/{chunk-KGPX4EUN.js.map → chunk-Q4G2BWE3.js.map} +1 -1
  71. package/dist/chunk-T7RSQ5WD.js +227 -0
  72. package/dist/chunk-T7RSQ5WD.js.map +1 -0
  73. package/dist/{chunk-54RGT2T5.js → chunk-TVDMNIUT.js} +3 -3
  74. package/dist/{chunk-54RGT2T5.js.map → chunk-TVDMNIUT.js.map} +1 -1
  75. package/dist/{chunk-N6ZMZ5AI.js → chunk-WAKP7SK7.js} +4922 -1011
  76. package/dist/chunk-WAKP7SK7.js.map +1 -0
  77. package/dist/{chunk-75LJM5XD.js → chunk-WVMOGIPC.js} +9 -43
  78. package/dist/chunk-WVMOGIPC.js.map +1 -0
  79. package/dist/{chunk-UTNNGKKX.js → chunk-XLXJC7H3.js} +142 -14
  80. package/dist/chunk-XLXJC7H3.js.map +1 -0
  81. package/dist/cli.js +1727 -1127
  82. package/dist/cli.js.map +1 -1
  83. package/dist/daemon-FPTRHO5N.js +26 -0
  84. package/dist/daemon-FPTRHO5N.js.map +1 -0
  85. package/dist/embed-worker-main.js +5 -4
  86. package/dist/embed-worker-main.js.map +1 -1
  87. package/dist/ensure-map-342G2IV3.js +33 -0
  88. package/dist/{ensure-map-HQ7A5NDL.js.map → ensure-map-342G2IV3.js.map} +1 -1
  89. package/dist/{fs-NTQUFCXV.js → fs-TLPOWC2D.js} +3 -3
  90. package/dist/fs-TLPOWC2D.js.map +1 -0
  91. package/dist/graph-backend-RNWQBT3P.js +15 -0
  92. package/dist/{graph-backend-W2TNTMY7.js.map → graph-backend-RNWQBT3P.js.map} +1 -1
  93. package/dist/index.d.ts +28 -6
  94. package/dist/index.js +21 -18
  95. package/dist/index.js.map +1 -1
  96. package/dist/{interactive-EW2VJ3BZ.js → interactive-SR7TMF6M.js} +36 -33
  97. package/dist/interactive-SR7TMF6M.js.map +1 -0
  98. package/dist/load-AYFECIQB.js +11 -0
  99. package/dist/{load-64RK5O6C.js.map → load-AYFECIQB.js.map} +1 -1
  100. package/dist/local-runtime-6SNWKSA7.js +6 -0
  101. package/dist/{local-runtime-2ED33KK6.js.map → local-runtime-6SNWKSA7.js.map} +1 -1
  102. package/dist/model-manager-SXHZ5VD4.js +10 -0
  103. package/dist/{model-manager-GJ2YSTSK.js.map → model-manager-SXHZ5VD4.js.map} +1 -1
  104. package/dist/parse-worker.d.ts +1 -1
  105. package/dist/parse-worker.js +5 -2
  106. package/dist/parse-worker.js.map +1 -1
  107. package/dist/{run-outcome-6QNQIHPV.js → run-outcome-YQQJG3LW.js} +7 -6
  108. package/dist/run-outcome-YQQJG3LW.js.map +1 -0
  109. package/dist/runtime-session-CNJ4DAV5.js +22 -0
  110. package/dist/{runtime-session-RJHH3KMF.js.map → runtime-session-CNJ4DAV5.js.map} +1 -1
  111. package/dist/session-H34HUV2Y.js +17 -0
  112. package/dist/{session-4BGYASOH.js.map → session-H34HUV2Y.js.map} +1 -1
  113. package/dist/{stream-json-GY5N7WZT.js → stream-json-55YDNAFX.js} +18 -17
  114. package/dist/stream-json-55YDNAFX.js.map +1 -0
  115. package/dist/{types-DLH-Ritr.d.ts → types-DHqH0XIE.d.ts} +68 -6
  116. package/dist/version-WSE3QOPK.js +4 -0
  117. package/dist/{version-DPAMQW6M.js.map → version-WSE3QOPK.js.map} +1 -1
  118. package/dist/{vg-mcp-bridge-IGHJKKSL.js → vg-mcp-bridge-2CNLHNEL.js} +13 -12
  119. package/dist/vg-mcp-bridge-2CNLHNEL.js.map +1 -0
  120. package/dist/{vgd-ORPA5C2K.js → vgd-URUZQORN.js} +10 -9
  121. package/dist/vgd-URUZQORN.js.map +1 -0
  122. package/grammars/tree-sitter-hcl.wasm +0 -0
  123. package/package.json +9 -8
  124. package/dist/agent-5ANHRYEI.js +0 -26
  125. package/dist/baseline-WVD6P5IO.js +0 -9
  126. package/dist/chunk-2H2U3DC7.js +0 -6
  127. package/dist/chunk-2U37PFB2.js.map +0 -1
  128. package/dist/chunk-3LSG7Z4I.js.map +0 -1
  129. package/dist/chunk-75LJM5XD.js.map +0 -1
  130. package/dist/chunk-7QDHQLUS.js.map +0 -1
  131. package/dist/chunk-DT4KIVRI.js.map +0 -1
  132. package/dist/chunk-FOW5IF73.js.map +0 -1
  133. package/dist/chunk-JCN6MSXQ.js.map +0 -1
  134. package/dist/chunk-N6ZMZ5AI.js.map +0 -1
  135. package/dist/chunk-NKFXXP6W.js.map +0 -1
  136. package/dist/chunk-RXP66R2E.js +0 -39
  137. package/dist/chunk-RXP66R2E.js.map +0 -1
  138. package/dist/chunk-TFAXW7VM.js.map +0 -1
  139. package/dist/chunk-TNROG5CO.js.map +0 -1
  140. package/dist/chunk-UTNNGKKX.js.map +0 -1
  141. package/dist/chunk-WQLZSVNF.js.map +0 -1
  142. package/dist/chunk-WWGLVF7D.js.map +0 -1
  143. package/dist/chunk-YNV5M3JW.js.map +0 -1
  144. package/dist/ensure-map-HQ7A5NDL.js +0 -30
  145. package/dist/fs-NTQUFCXV.js.map +0 -1
  146. package/dist/graph-backend-W2TNTMY7.js +0 -14
  147. package/dist/interactive-EW2VJ3BZ.js.map +0 -1
  148. package/dist/load-64RK5O6C.js +0 -10
  149. package/dist/local-runtime-2ED33KK6.js +0 -6
  150. package/dist/model-manager-GJ2YSTSK.js +0 -10
  151. package/dist/run-outcome-6QNQIHPV.js.map +0 -1
  152. package/dist/runtime-session-RJHH3KMF.js +0 -21
  153. package/dist/session-4BGYASOH.js +0 -16
  154. package/dist/stream-json-GY5N7WZT.js.map +0 -1
  155. package/dist/version-DPAMQW6M.js +0 -4
  156. package/dist/vg-mcp-bridge-IGHJKKSL.js.map +0 -1
  157. package/dist/vgd-ORPA5C2K.js.map +0 -1
@@ -0,0 +1,26 @@
1
+ export { ensureVgd, registerDaemon, restartVgdIfRunning, stopVgd } from './chunk-KNGAZDGF.js';
2
+ import './chunk-OZ3IFXRD.js';
3
+ import './chunk-CT5BS56U.js';
4
+ import './chunk-GOGMS3ST.js';
5
+ import './chunk-IS7VTH2Q.js';
6
+ import './chunk-3LOWJSAF.js';
7
+ import './chunk-RBIRXQR6.js';
8
+ import './chunk-5HYCB55P.js';
9
+ import './chunk-IZDH67DX.js';
10
+ import './chunk-MS6V5XKB.js';
11
+ import './chunk-J7LKEB2R.js';
12
+ import './chunk-Q4G2BWE3.js';
13
+ import './chunk-3FMRFECC.js';
14
+ import './chunk-5I4VSBWQ.js';
15
+ import './chunk-EZ7UC5Y5.js';
16
+ import './chunk-AXZZ5CCG.js';
17
+ import './chunk-WVMOGIPC.js';
18
+ import './chunk-MVPRPSXU.js';
19
+ import './chunk-O3LABX6I.js';
20
+ import './chunk-PRG2ULPK.js';
21
+ import './chunk-BWPBB45M.js';
22
+ import './chunk-JFGYT6BI.js';
23
+ import './chunk-BPF3YX2U.js';
24
+ import './chunk-Z6ZWNWWR.js';
25
+ //# sourceMappingURL=daemon-FPTRHO5N.js.map
26
+ //# sourceMappingURL=daemon-FPTRHO5N.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"daemon-FPTRHO5N.js"}
@@ -1,7 +1,8 @@
1
- import { resolveEmbedModel, loadEmbedder } from './chunk-X76VPOYH.js';
2
- import './chunk-2U37PFB2.js';
3
- import './chunk-75LJM5XD.js';
4
- import './chunk-2H2U3DC7.js';
1
+ import { resolveEmbedModel, loadEmbedder } from './chunk-AXZZ5CCG.js';
2
+ import './chunk-WVMOGIPC.js';
3
+ import './chunk-MVPRPSXU.js';
4
+ import './chunk-O3LABX6I.js';
5
+ import './chunk-PRG2ULPK.js';
5
6
  import './chunk-BWPBB45M.js';
6
7
  import './chunk-JFGYT6BI.js';
7
8
  import './chunk-BPF3YX2U.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/runtime/vgd/embed-worker.ts","../src/runtime/vgd/embed-worker-main.ts"],"names":[],"mappings":"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","file":"embed-worker-main.js","sourcesContent":["/**\n * The vgd embedding worker — the ONLY process that loads the native embedding\n * backend.\n *\n * `fastembed`/`onnxruntime-node` can abort its host process outright (a\n * blocked postinstall SIGTRAPs on first inference; see\n * `engine/embed-health.ts`), and no try/catch survives a signal. Keeping the\n * addon here means the worst case is a dead worker that vgd restarts or gives\n * up on, instead of a dead daemon — or, as it was before any of this, a dead\n * language server mid-request.\n *\n * Protocol: newline-delimited JSON on stdin/stdout, one response per request,\n * correlated by `id`. Deliberately tiny and dependency-free so the process\n * starts fast: the expensive part is the model load, which happens once on the\n * first request and is then reused for the life of the worker.\n *\n * stdout carries protocol frames ONLY. Anything diagnostic goes to stderr, so\n * a chatty dependency writing to stdout cannot corrupt the stream.\n */\nimport * as readline from 'node:readline';\nimport { loadEmbedder, resolveEmbedModel, type Embedder } from '../../engine/embeddings.js';\n\nexport interface EmbedWorkerRequest {\n id: number;\n op: 'ping' | 'embed' | 'model';\n /** Texts to embed (`embed`). */\n texts?: string[];\n /** Treat the single text as a query rather than a document. */\n query?: boolean;\n}\n\nexport type EmbedWorkerResponse =\n | { id: number; ok: true; op: 'ping'; model: string }\n | { id: number; ok: true; op: 'model'; model: string; loaded: boolean }\n | { id: number; ok: true; op: 'embed'; vectors: number[][] }\n | { id: number; ok: false; error: string };\n\nlet embedder: Embedder | null = null;\nlet loadFailed = false;\n\n/**\n * Load once, reuse forever. A failure is remembered so a broken environment\n * does not re-attempt (and re-log) on every request; the broker sees the error\n * and falls back to lexical.\n */\nasync function ensureEmbedder(): Promise<Embedder | null> {\n if (embedder) return embedder;\n if (loadFailed) return null;\n const loaded = await loadEmbedder({});\n if (!loaded) {\n loadFailed = true;\n return null;\n }\n embedder = loaded;\n return embedder;\n}\n\nexport async function handleWorkerRequest(req: EmbedWorkerRequest): Promise<EmbedWorkerResponse> {\n switch (req.op) {\n case 'ping':\n return { id: req.id, ok: true, op: 'ping', model: resolveEmbedModel() };\n case 'model': {\n const e = await ensureEmbedder();\n return { id: req.id, ok: true, op: 'model', model: e?.id ?? resolveEmbedModel(), loaded: !!e };\n }\n case 'embed': {\n const texts = Array.isArray(req.texts) ? req.texts : [];\n if (!texts.length) return { id: req.id, ok: true, op: 'embed', vectors: [] };\n const e = await ensureEmbedder();\n if (!e) return { id: req.id, ok: false, error: 'embedding backend unavailable' };\n // A single query goes through embedQuery: some models prepend a\n // different instruction prefix for queries than for documents, and\n // silently using the document path would degrade ranking.\n const vectors =\n req.query && texts.length === 1 ? [await e.embedQuery(texts[0]!)] : await e.embed(texts);\n return { id: req.id, ok: true, op: 'embed', vectors };\n }\n default:\n return { id: req.id, ok: false, error: `unknown op \"${String((req as { op?: unknown }).op)}\"` };\n }\n}\n\n/** Wire stdin/stdout up to {@link handleWorkerRequest}. Exported for tests. */\nexport function runEmbedWorker(): void {\n const rl = readline.createInterface({ input: process.stdin });\n const write = (res: EmbedWorkerResponse): void => {\n process.stdout.write(JSON.stringify(res) + '\\n');\n };\n rl.on('line', (line: string) => {\n const text = line.trim();\n if (!text) return;\n let req: EmbedWorkerRequest;\n try {\n req = JSON.parse(text) as EmbedWorkerRequest;\n } catch {\n return; // an unparseable frame has no id to answer on\n }\n // Requests are handled concurrently on purpose: a slow corpus embed must\n // not block a single interactive query behind it.\n void handleWorkerRequest(req)\n .then(write)\n .catch((err: unknown) =>\n write({ id: req.id, ok: false, error: err instanceof Error ? err.message : String(err) }),\n );\n });\n rl.on('close', () => process.exit(0));\n}\n","/**\n * Entry point for the vgd embedding worker child process.\n *\n * Kept separate from `embed-worker.ts` so that module can be imported by tests\n * without starting a readline loop on stdin.\n */\nimport { runEmbedWorker } from './embed-worker.js';\n\nrunEmbedWorker();\n"]}
1
+ {"version":3,"sources":["../src/runtime/vgd/embed-worker.ts","../src/runtime/vgd/embed-worker-main.ts"],"names":[],"mappings":"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","file":"embed-worker-main.js","sourcesContent":["/**\n * The vgd embedding worker — the ONLY process that loads the native embedding\n * backend.\n *\n * `fastembed`/`onnxruntime-node` can abort its host process outright (a\n * blocked postinstall SIGTRAPs on first inference; see\n * `engine/embed-health.ts`), and no try/catch survives a signal. Keeping the\n * addon here means the worst case is a dead worker that vgd restarts or gives\n * up on, instead of a dead daemon — or, as it was before any of this, a dead\n * language server mid-request.\n *\n * Protocol: newline-delimited JSON on stdin/stdout, one response per request,\n * correlated by `id`. Deliberately tiny and dependency-free so the process\n * starts fast: the expensive part is the model load, which happens once on the\n * first request and is then reused for the life of the worker.\n *\n * stdout carries protocol frames ONLY. Anything diagnostic goes to stderr, so\n * a chatty dependency writing to stdout cannot corrupt the stream.\n */\nimport * as readline from 'node:readline';\nimport { loadEmbedder, resolveEmbedModel, type Embedder } from '../../engine/embeddings.js';\n\nexport interface EmbedWorkerRequest {\n id: number;\n op: 'ping' | 'embed' | 'model';\n /** Texts to embed (`embed`). */\n texts?: string[];\n /** Treat the single text as a query rather than a document. */\n query?: boolean;\n}\n\nexport type EmbedWorkerResponse =\n | { id: number; ok: true; op: 'ping'; model: string }\n | { id: number; ok: true; op: 'model'; model: string; loaded: boolean }\n | { id: number; ok: true; op: 'embed'; vectors: number[][] }\n | { id: number; ok: false; error: string };\n\nlet embedder: Embedder | null = null;\nlet loadFailed = false;\n\n/**\n * Load once, reuse forever. A failure is remembered so a broken environment\n * does not re-attempt (and re-log) on every request; the broker sees the error\n * and falls back to lexical.\n */\nasync function ensureEmbedder(): Promise<Embedder | null> {\n if (embedder) return embedder;\n if (loadFailed) return null;\n const loaded = await loadEmbedder({});\n if (!loaded) {\n loadFailed = true;\n return null;\n }\n embedder = loaded;\n return embedder;\n}\n\nexport async function handleWorkerRequest(req: EmbedWorkerRequest): Promise<EmbedWorkerResponse> {\n switch (req.op) {\n case 'ping':\n return { id: req.id, ok: true, op: 'ping', model: resolveEmbedModel() };\n case 'model': {\n const e = await ensureEmbedder();\n return { id: req.id, ok: true, op: 'model', model: e?.id ?? resolveEmbedModel(), loaded: !!e };\n }\n case 'embed': {\n const texts = Array.isArray(req.texts) ? req.texts : [];\n if (!texts.length) return { id: req.id, ok: true, op: 'embed', vectors: [] };\n const e = await ensureEmbedder();\n if (!e) return { id: req.id, ok: false, error: 'embedding backend unavailable' };\n // A single query goes through embedQuery: some models prepend a\n // different instruction prefix for queries than for documents, and\n // silently using the document path would degrade ranking.\n const vectors =\n req.query && texts.length === 1 ? [await e.embedQuery(texts[0]!)] : await e.embed(texts);\n return { id: req.id, ok: true, op: 'embed', vectors };\n }\n default:\n return { id: req.id, ok: false, error: `unknown op \"${String((req as { op?: unknown }).op)}\"` };\n }\n}\n\n/** Wire stdin/stdout up to {@link handleWorkerRequest}. Exported for tests. */\nexport function runEmbedWorker(): void {\n const rl = readline.createInterface({ input: process.stdin });\n const write = (res: EmbedWorkerResponse): void => {\n process.stdout.write(JSON.stringify(res) + '\\n');\n };\n rl.on('line', (line: string) => {\n const text = line.trim();\n if (!text) return;\n let req: EmbedWorkerRequest;\n try {\n req = JSON.parse(text) as EmbedWorkerRequest;\n } catch {\n return; // an unparseable frame has no id to answer on\n }\n // Requests are handled concurrently on purpose: a slow corpus embed must\n // not block a single interactive query behind it.\n void handleWorkerRequest(req)\n .then(write)\n .catch((err: unknown) =>\n write({ id: req.id, ok: false, error: err instanceof Error ? err.message : String(err) }),\n );\n });\n rl.on('close', () => process.exit(0));\n}\n","/**\n * Entry point for the vgd embedding worker child process.\n *\n * Kept separate from `embed-worker.ts` so that module can be imported by tests\n * without starting a readline loop on stdin.\n */\nimport { runEmbedWorker } from './embed-worker.js';\n\nrunEmbedWorker();\n"]}
@@ -0,0 +1,33 @@
1
+ export { ensureCodeMap } from './chunk-5OL2TSHK.js';
2
+ import './chunk-LHKQGVRF.js';
3
+ import './chunk-OZ3IFXRD.js';
4
+ import './chunk-CT5BS56U.js';
5
+ import './chunk-E2FAQREZ.js';
6
+ import './chunk-DVW3SVCW.js';
7
+ import './chunk-HTLDXEHW.js';
8
+ import './chunk-WAKP7SK7.js';
9
+ import './chunk-MS6V5XKB.js';
10
+ import './chunk-VIWZ4QT7.js';
11
+ import './chunk-3H3SVJUY.js';
12
+ import './chunk-J7LKEB2R.js';
13
+ import './chunk-Q4G2BWE3.js';
14
+ import './chunk-CQDUBAQY.js';
15
+ import './chunk-OV4KGXPD.js';
16
+ import './chunk-3FMRFECC.js';
17
+ import './chunk-5I4VSBWQ.js';
18
+ import './chunk-NG4KIJW6.js';
19
+ import './chunk-CRAMOEBE.js';
20
+ import './chunk-EZ7UC5Y5.js';
21
+ import './chunk-XLXJC7H3.js';
22
+ import './chunk-T7RSQ5WD.js';
23
+ import './chunk-AXZZ5CCG.js';
24
+ import './chunk-WVMOGIPC.js';
25
+ import './chunk-MVPRPSXU.js';
26
+ import './chunk-O3LABX6I.js';
27
+ import './chunk-PRG2ULPK.js';
28
+ import './chunk-BWPBB45M.js';
29
+ import './chunk-JFGYT6BI.js';
30
+ import './chunk-BPF3YX2U.js';
31
+ import './chunk-Z6ZWNWWR.js';
32
+ //# sourceMappingURL=ensure-map-342G2IV3.js.map
33
+ //# sourceMappingURL=ensure-map-342G2IV3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"ensure-map-HQ7A5NDL.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"ensure-map-342G2IV3.js"}
@@ -1,4 +1,4 @@
1
- export { FileCache, SKIP_DIRS, SOURCE_EXCLUDE_FILES, bytesInDir, countFilesInDir, ensureDir, findCsprojFiles, findFiles, findPackageJsonFiles, findSolutionFiles, isSkippedDirName, normalizeGlobForRipgrep, pathExists, quickTreeCount, readJsonFile, readTextFile, stripBom, writeJsonFile, writeTextFile } from './chunk-DT4KIVRI.js';
1
+ export { FileCache, SKIP_DIRS, SOURCE_EXCLUDE_FILES, bytesInDir, countFilesInDir, ensureDir, findCsprojFiles, findFiles, findPackageJsonFiles, findSolutionFiles, isSkippedDirName, normalizeGlobForRipgrep, pathExists, quickTreeCount, readJsonFile, readTextFile, stripBom, writeJsonFile, writeTextFile } from './chunk-NG4KIJW6.js';
2
2
  import './chunk-Z6ZWNWWR.js';
3
- //# sourceMappingURL=fs-NTQUFCXV.js.map
4
- //# sourceMappingURL=fs-NTQUFCXV.js.map
3
+ //# sourceMappingURL=fs-TLPOWC2D.js.map
4
+ //# sourceMappingURL=fs-TLPOWC2D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"fs-TLPOWC2D.js"}
@@ -0,0 +1,15 @@
1
+ export { localGraphBackend, resolveGraphBackend, vgdGraphBackend } from './chunk-TVDMNIUT.js';
2
+ import './chunk-RBIRXQR6.js';
3
+ import './chunk-J7LKEB2R.js';
4
+ import './chunk-Q4G2BWE3.js';
5
+ import './chunk-AXZZ5CCG.js';
6
+ import './chunk-WVMOGIPC.js';
7
+ import './chunk-MVPRPSXU.js';
8
+ import './chunk-O3LABX6I.js';
9
+ import './chunk-PRG2ULPK.js';
10
+ import './chunk-BWPBB45M.js';
11
+ import './chunk-JFGYT6BI.js';
12
+ import './chunk-BPF3YX2U.js';
13
+ import './chunk-Z6ZWNWWR.js';
14
+ //# sourceMappingURL=graph-backend-RNWQBT3P.js.map
15
+ //# sourceMappingURL=graph-backend-RNWQBT3P.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"graph-backend-W2TNTMY7.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"graph-backend-RNWQBT3P.js"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { G as GraphNode, a as GraphEdge, A as Area, R as ResolverKind, V as VgGraph, F as FileParse, E as EdgeKind, b as Fact, c as GroundingKind, d as GroundingEdge } from './types-DLH-Ritr.js';
2
- export { e as AnalysisTier, C as Centrality, D as DerivedBy, f as EpistemicTier, g as FactConfidence, h as FactKind, i as GraphMeta, j as GraphSummaries, H as HubBlastSummary, N as NodeKind, P as Provenance, S as SCHEMA_VERSION, k as Span, T as Toolchain, U as Unknown } from './types-DLH-Ritr.js';
1
+ import { G as GraphNode, a as GraphEdge, A as Area, R as ResolverKind, V as VgGraph, F as FileParse, E as EdgeKind, b as Fact, c as GroundingKind, d as GroundingEdge, S as SCHEMA_VERSION } from './types-DHqH0XIE.js';
2
+ export { e as AnalysisTier, C as Centrality, D as DerivedBy, f as EpistemicTier, g as FactConfidence, h as FactKind, i as GraphMeta, j as GraphSummaries, H as HubBlastSummary, N as NodeKind, P as Provenance, k as SUPPORTED_SCHEMA_VERSIONS, l as Span, m as SupportedSchemaVersion, T as Toolchain, U as Unknown } from './types-DHqH0XIE.js';
3
3
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
4
4
 
5
- declare const VERSION = "2026.814.2";
5
+ declare const VERSION = "2026.817.2";
6
6
 
7
7
  /**
8
8
  * Analysis stage: importance, centrality, hubs, communities, and surprise.
@@ -88,7 +88,9 @@ declare function resolveLimits(overrides?: Partial<ResourceLimits>): ResourceLim
88
88
  * Stage wall-clock timers for build diagnostics.
89
89
  * Pure measurement — never enters the serialized graph artifact.
90
90
  */
91
- type StageName = 'discover' | 'hash' | 'parse' | 'resolve' | 'tsc' | 'scip' | 'tests' | 'analyze' | 'facts' | 'ground' | 'index' | 'total';
91
+ type StageName = 'discover' | 'hash' | 'parse' | 'resolve' | 'tsc' | 'scip' | 'tests'
92
+ /** Structural extraction over the infrastructure/CI corpus (engine/toolchain/). */
93
+ | 'toolchain' | 'analyze' | 'facts' | 'ground' | 'index' | 'total';
92
94
  type StageTimings = Partial<Record<StageName, number>>;
93
95
 
94
96
  /**
@@ -155,6 +157,23 @@ interface ResolveResult {
155
157
  };
156
158
  }
157
159
 
160
+ /** Architectural layer classification */
161
+ type ArchitectureLayer = 'routing' | 'middleware' | 'services' | 'domain' | 'data-access' | 'infrastructure' | 'presentation' | 'config' | 'testing' | 'shared';
162
+ /**
163
+ * Finer than {@link ArchitectureLayer}. Omit when unknown (absent ≠ empty).
164
+ * Syntax confirmation of a path/folder prior — not a second layer taxonomy.
165
+ */
166
+ type ArchitectureFileRole = 'controller' | 'service' | 'repository' | 'entity' | 'handler' | 'router';
167
+
168
+ interface AstRoleHit {
169
+ filePath: string;
170
+ role: ArchitectureFileRole;
171
+ layer: ArchitectureLayer;
172
+ confidence: number;
173
+ signal: string;
174
+ packId: string;
175
+ }
176
+
158
177
  interface BuildOptions {
159
178
  /** Directory to build (default cwd). */
160
179
  root: string;
@@ -252,6 +271,8 @@ interface BuildResult {
252
271
  reason?: string;
253
272
  };
254
273
  warnings: string[];
274
+ /** Architecture role hits extracted during the parse already paid for. */
275
+ fileRoles: AstRoleHit[];
255
276
  }
256
277
  declare function buildGraph(options: BuildOptions): Promise<BuildResult>;
257
278
 
@@ -1488,7 +1509,8 @@ declare function exportGraph(format: ExportFormat, ctx: ExportContext): string;
1488
1509
  * commercial product.
1489
1510
  */
1490
1511
  interface GraphUploadEnvelope {
1491
- schemaVersion: 'vg-graph/1.0';
1512
+ /** Mirrors the graph's own schema version — never pinned to a literal here. */
1513
+ schemaVersion: typeof SCHEMA_VERSION;
1492
1514
  artifactType: 'graph';
1493
1515
  scanIngestId?: string;
1494
1516
  vcs: {
@@ -1790,4 +1812,4 @@ interface SearchResult {
1790
1812
  }
1791
1813
  declare function searchSymbols(graph: VgGraph, root: string, query: string, limit: number): Promise<SearchResult>;
1792
1814
 
1793
- export { ASSISTANTS, type AnalyzeOptions, type AnalyzeResult, Area, type Assistant, type BuildCapsuleOptions, type BuildContextOptions, type BuildOptions, type BuildResult, type BuildScope, CAPSULE_COMPILER_ID, CAPSULE_RANKING_VERSION, type CapsuleSummary, type CapsuleSymbolRef, type ClusterMode, type DepRecord, type DiscoverOptions, type DiscoveredFile, type Drift, type DriftInventory, type DriftNote, EdgeKind, type Embedder, type ExportContext, type ExportFormat, FREE_PACK, Fact, FileParse, GraphEdge, GraphIndex, GraphNode, GraphSource, type GraphUploadEnvelope, GroundingEdge, GroundingKind, type ImpactItem, type ImpactResult, type KnowledgePack, LANGUAGES, type LanguageDef, type LibCatalog, type LibEntry, type LibSource, type LoadEmbedderOptions, type LocalModel, type ModuleResolver, type PackEntry, type PathResult, type ProbeResult, type QueryMatch, type QueryOptions, type QueryResult, type RefreshOptions, type RefreshOutcome, ResolverKind, ResourceLimitError, type ResourceLimits, SKIP_DIRS, SKIP_FILES, type SavingsReport, type ScipDocument, type ScipIndex, type ScipOccurrence, type SearchResult, type SemanticQueryOptions, type ServeOptions, type SourceSlice, type SymbolHit, TASK_CAPSULE_SCHEMA_VERSION, TOOLS, type TaskCapsule, type TextHit, UsageError, VERSION, type VerifyResult, VgGraph, type VgTool, type WriteOptions, type WrittenArtifacts, addLibrary, allLanguageIds, analyze, applyCoverage, applyStaticTestLinkage, assistantById, buildCodeContext, buildEnvelope, buildFacts, buildGraph, buildModuleResolver, buildTaskCapsule, capsuleToCodeContext, cosine, coveringTests, createServer, decodeScipIndex, defaultGraphPath, inventory as dependencyInventory, detectRunner, discover, discoverModels, driftCount, driftFor, embeddingsCached, embeddingsPath, embeddingsPathFor, enrichOnline, exportGraph, findNodes, formatForExt, getNodeEmbeddings, grammarsSourceDir, groundGraph, hasDrift, identifierParts, impactOf, installAssistant, isTestFile, langById, langForExtension, legacyGraphPath, libId, loadCatalog, loadCoverage, loadEmbedder, loadGraph, loadSnapshot, nodeById, nodeEmbedText, parseGraph, parseJsonc, parseSource, preferInRepoGraph, probeFreshness, queryGraph, queryGraphSemantic, readDoc, readSavings, recordSaving, redactGraph, refreshIfStale, relativeResolver, renderHtml, renderReport, resolveGraphPath, resolveLib, resolveLimits, resolveOne, saveCatalog, savingsRecorded, scipEdges, searchSymbols, serializeGraph, serveStdio, shortestPath, stableStringify, summarizeCapsule, testsToRun, uninstallAssistant, verifyDeterminism, vibgrateDir, writeArtifacts, writeSnapshot };
1815
+ export { ASSISTANTS, type AnalyzeOptions, type AnalyzeResult, Area, type Assistant, type BuildCapsuleOptions, type BuildContextOptions, type BuildOptions, type BuildResult, type BuildScope, CAPSULE_COMPILER_ID, CAPSULE_RANKING_VERSION, type CapsuleSummary, type CapsuleSymbolRef, type ClusterMode, type DepRecord, type DiscoverOptions, type DiscoveredFile, type Drift, type DriftInventory, type DriftNote, EdgeKind, type Embedder, type ExportContext, type ExportFormat, FREE_PACK, Fact, FileParse, GraphEdge, GraphIndex, GraphNode, GraphSource, type GraphUploadEnvelope, GroundingEdge, GroundingKind, type ImpactItem, type ImpactResult, type KnowledgePack, LANGUAGES, type LanguageDef, type LibCatalog, type LibEntry, type LibSource, type LoadEmbedderOptions, type LocalModel, type ModuleResolver, type PackEntry, type PathResult, type ProbeResult, type QueryMatch, type QueryOptions, type QueryResult, type RefreshOptions, type RefreshOutcome, ResolverKind, ResourceLimitError, type ResourceLimits, SCHEMA_VERSION, SKIP_DIRS, SKIP_FILES, type SavingsReport, type ScipDocument, type ScipIndex, type ScipOccurrence, type SearchResult, type SemanticQueryOptions, type ServeOptions, type SourceSlice, type SymbolHit, TASK_CAPSULE_SCHEMA_VERSION, TOOLS, type TaskCapsule, type TextHit, UsageError, VERSION, type VerifyResult, VgGraph, type VgTool, type WriteOptions, type WrittenArtifacts, addLibrary, allLanguageIds, analyze, applyCoverage, applyStaticTestLinkage, assistantById, buildCodeContext, buildEnvelope, buildFacts, buildGraph, buildModuleResolver, buildTaskCapsule, capsuleToCodeContext, cosine, coveringTests, createServer, decodeScipIndex, defaultGraphPath, inventory as dependencyInventory, detectRunner, discover, discoverModels, driftCount, driftFor, embeddingsCached, embeddingsPath, embeddingsPathFor, enrichOnline, exportGraph, findNodes, formatForExt, getNodeEmbeddings, grammarsSourceDir, groundGraph, hasDrift, identifierParts, impactOf, installAssistant, isTestFile, langById, langForExtension, legacyGraphPath, libId, loadCatalog, loadCoverage, loadEmbedder, loadGraph, loadSnapshot, nodeById, nodeEmbedText, parseGraph, parseJsonc, parseSource, preferInRepoGraph, probeFreshness, queryGraph, queryGraphSemantic, readDoc, readSavings, recordSaving, redactGraph, refreshIfStale, relativeResolver, renderHtml, renderReport, resolveGraphPath, resolveLib, resolveLimits, resolveOne, saveCatalog, savingsRecorded, scipEdges, searchSymbols, serializeGraph, serveStdio, shortestPath, stableStringify, summarizeCapsule, testsToRun, uninstallAssistant, verifyDeterminism, vibgrateDir, writeArtifacts, writeSnapshot };
package/dist/index.js CHANGED
@@ -1,27 +1,30 @@
1
- export { GraphSource, createServer, exportGraph, formatForExt, serveStdio } from './chunk-YNV5M3JW.js';
2
- export { refreshIfStale } from './chunk-IHLLWBZU.js';
3
- export { ASSISTANTS, ResourceLimitError, SKIP_DIRS, SKIP_FILES, UsageError, analyze, applyCoverage, assistantById, buildFacts, buildGraph, decodeScipIndex, discover, driftCount, groundGraph, hasDrift, installAssistant, loadCoverage, loadSnapshot, probeFreshness, resolveLimits, scipEdges, uninstallAssistant, verifyDeterminism, writeSnapshot } from './chunk-TNROG5CO.js';
4
- export { FREE_PACK, TOOLS, coveringTests, detectRunner, shortestPath, testsToRun } from './chunk-WWGLVF7D.js';
1
+ export { GraphSource, createServer, exportGraph, formatForExt, serveStdio } from './chunk-M7IO3DXH.js';
2
+ export { refreshIfStale } from './chunk-O2DL2Q55.js';
3
+ export { ASSISTANTS, ResourceLimitError, SKIP_DIRS, SKIP_FILES, UsageError, analyze, applyCoverage, assistantById, buildFacts, buildGraph, decodeScipIndex, discover, driftCount, groundGraph, hasDrift, installAssistant, loadCoverage, loadSnapshot, probeFreshness, resolveLimits, scipEdges, uninstallAssistant, verifyDeterminism, writeSnapshot } from './chunk-E2FAQREZ.js';
4
+ export { FREE_PACK, TOOLS, coveringTests, detectRunner, shortestPath, testsToRun } from './chunk-DVW3SVCW.js';
5
5
  import './chunk-HTLDXEHW.js';
6
- import './chunk-N6ZMZ5AI.js';
6
+ import './chunk-WAKP7SK7.js';
7
+ import './chunk-MS6V5XKB.js';
7
8
  export { applyStaticTestLinkage, buildModuleResolver, isTestFile, parseJsonc, relativeResolver } from './chunk-VIWZ4QT7.js';
8
- export { addLibrary, inventory as dependencyInventory, driftFor, enrichOnline, libId, loadCatalog, readDoc, resolveLib, saveCatalog, searchSymbols } from './chunk-7QDHQLUS.js';
9
+ export { addLibrary, inventory as dependencyInventory, driftFor, enrichOnline, libId, loadCatalog, readDoc, resolveLib, saveCatalog, searchSymbols } from './chunk-3H3SVJUY.js';
9
10
  export { findNodes, nodeById, resolveOne } from './chunk-J7LKEB2R.js';
10
- export { CAPSULE_COMPILER_ID, CAPSULE_RANKING_VERSION, TASK_CAPSULE_SCHEMA_VERSION, buildCodeContext, buildTaskCapsule, capsuleToCodeContext, readSavings, recordSaving, savingsRecorded, summarizeCapsule } from './chunk-DSUGC7F5.js';
11
- export { GraphIndex, identifierParts, impactOf, queryGraph, queryGraphSemantic } from './chunk-KGPX4EUN.js';
11
+ export { CAPSULE_COMPILER_ID, CAPSULE_RANKING_VERSION, TASK_CAPSULE_SCHEMA_VERSION, buildCodeContext, buildTaskCapsule, capsuleToCodeContext, readSavings, recordSaving, savingsRecorded, summarizeCapsule } from './chunk-KJT2R6WW.js';
12
+ export { GraphIndex, identifierParts, impactOf, queryGraph, queryGraphSemantic } from './chunk-Q4G2BWE3.js';
12
13
  export { discoverModels } from './chunk-CQDUBAQY.js';
13
14
  import './chunk-OV4KGXPD.js';
14
- export { SCHEMA_VERSION, loadGraph } from './chunk-WQLZSVNF.js';
15
+ import { SCHEMA_VERSION } from './chunk-3FMRFECC.js';
16
+ export { SCHEMA_VERSION, SUPPORTED_SCHEMA_VERSIONS, loadGraph } from './chunk-3FMRFECC.js';
15
17
  import './chunk-5I4VSBWQ.js';
16
- import './chunk-DT4KIVRI.js';
18
+ import './chunk-NG4KIJW6.js';
17
19
  import './chunk-CRAMOEBE.js';
18
- import './chunk-3LSG7Z4I.js';
19
- export { LANGUAGES, allLanguageIds, grammarsSourceDir, langById, langForExtension, parseSource } from './chunk-UTNNGKKX.js';
20
- import { redactUrlCredentials, redactSecrets } from './chunk-RXP66R2E.js';
21
- export { cosine, embeddingsCached, embeddingsPath, embeddingsPathFor, getNodeEmbeddings, loadEmbedder, nodeEmbedText } from './chunk-X76VPOYH.js';
22
- import './chunk-2U37PFB2.js';
23
- export { defaultGraphPath, legacyGraphPath, parseGraph, preferInRepoGraph, renderHtml, renderReport, resolveGraphPath, serializeGraph, stableStringify, vibgrateDir, writeArtifacts } from './chunk-75LJM5XD.js';
24
- export { VERSION } from './chunk-2H2U3DC7.js';
20
+ import './chunk-EZ7UC5Y5.js';
21
+ export { LANGUAGES, allLanguageIds, grammarsSourceDir, langById, langForExtension, parseSource } from './chunk-XLXJC7H3.js';
22
+ import { redactUrlCredentials, redactSecrets } from './chunk-T7RSQ5WD.js';
23
+ export { cosine, embeddingsCached, embeddingsPath, embeddingsPathFor, getNodeEmbeddings, loadEmbedder, nodeEmbedText } from './chunk-AXZZ5CCG.js';
24
+ export { defaultGraphPath, legacyGraphPath, preferInRepoGraph, renderHtml, renderReport, resolveGraphPath, vibgrateDir, writeArtifacts } from './chunk-WVMOGIPC.js';
25
+ import './chunk-MVPRPSXU.js';
26
+ export { parseGraph, serializeGraph, stableStringify } from './chunk-O3LABX6I.js';
27
+ export { VERSION } from './chunk-PRG2ULPK.js';
25
28
  import './chunk-BWPBB45M.js';
26
29
  import './chunk-JFGYT6BI.js';
27
30
  import './chunk-BPF3YX2U.js';
@@ -33,7 +36,7 @@ function buildEnvelope(root, graph, scanIngestId) {
33
36
  const branch = git(root, ["rev-parse", "--abbrev-ref", "HEAD"]) ?? "HEAD";
34
37
  const remoteUrl = git(root, ["config", "--get", "remote.origin.url"]) ?? void 0;
35
38
  return {
36
- schemaVersion: "vg-graph/1.0",
39
+ schemaVersion: SCHEMA_VERSION,
37
40
  artifactType: "graph",
38
41
  scanIngestId,
39
42
  vcs: { sha, shortSha: sha.slice(0, 12), branch },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/engine/push.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBO,SAAS,aAAA,CAAc,IAAA,EAAc,KAAA,EAAgB,YAAA,EAA4C;AACtG,EAAA,MAAM,MAAM,GAAA,CAAI,IAAA,EAAM,CAAC,WAAA,EAAa,MAAM,CAAC,CAAA,IAAK,0CAAA;AAChD,EAAA,MAAM,MAAA,GAAS,IAAI,IAAA,EAAM,CAAC,aAAa,cAAA,EAAgB,MAAM,CAAC,CAAA,IAAK,MAAA;AACnE,EAAA,MAAM,SAAA,GAAY,IAAI,IAAA,EAAM,CAAC,UAAU,OAAA,EAAS,mBAAmB,CAAC,CAAA,IAAK,MAAA;AACzE,EAAA,OAAO;AAAA,IACL,aAAA,EAAe,cAAA;AAAA,IACf,YAAA,EAAc,OAAA;AAAA,IACd,YAAA;AAAA,IACA,GAAA,EAAK,EAAE,GAAA,EAAK,QAAA,EAAU,IAAI,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA,EAAG,MAAA,EAAO;AAAA,IAC/C,YAAY,SAAA,GAAY,EAAE,WAAW,oBAAA,CAAqB,SAAS,GAAE,GAAI,MAAA;AAAA,IACzE,aAAa,KAAA,CAAM,WAAA;AAAA,IACnB,KAAA,EAAO,YAAY,KAAK;AAAA,GAC1B;AACF;AAOO,SAAS,YAAY,KAAA,EAAyB;AACnD,EAAA,OAAO;AAAA,IACL,GAAG,KAAA;AAAA,IACH,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,GAAA,CAAI,CAAC,CAAA,KAAM;AAC5B,MAAA,MAAM,YAAY,CAAA,CAAE,SAAA,GAAY,cAAc,CAAA,CAAE,SAAS,IAAI,CAAA,CAAE,SAAA;AAC/D,MAAA,MAAM,MAAM,CAAA,CAAE,GAAA,GAAM,cAAc,CAAA,CAAE,GAAG,IAAI,CAAA,CAAE,GAAA;AAC7C,MAAA,OAAO,SAAA,KAAc,CAAA,CAAE,SAAA,IAAa,GAAA,KAAQ,CAAA,CAAE,GAAA,GAAM,EAAE,GAAG,CAAA,EAAG,SAAA,EAAW,GAAA,EAAI,GAAI,CAAA;AAAA,IACjF,CAAC;AAAA,GACH;AACF;AAEA,SAAS,GAAA,CAAI,MAAc,IAAA,EAA+B;AACxD,EAAA,IAAI;AACF,IAAA,OAAO,YAAA,CAAa,KAAA,EAAO,IAAA,EAAM,EAAE,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU,MAAA,EAAQ,CAAA,CAAE,IAAA,EAAK,IAAK,IAAA;AAAA,EAC9E,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,IAAA;AAAA,EACT;AACF","file":"index.js","sourcesContent":["import { execFileSync } from 'node:child_process';\nimport { redactSecrets, redactUrlCredentials } from '../core-open/utils/redact.js';\nimport type { VgGraph } from '../schema.js';\n\n/**\n * The deferred, decoupled push envelope (VG-PACKAGE-AND-SCHEMA §7). In the open\n * CLI `vg push` is **specified but not built**: it assembles and redacts the\n * envelope and prints a notice, but performs **no network upload**. Nothing in\n * the free path depends on it. Drift-over-time/governance is the separate\n * commercial product.\n */\n\nexport interface GraphUploadEnvelope {\n schemaVersion: 'vg-graph/1.0';\n artifactType: 'graph';\n scanIngestId?: string;\n vcs: { sha: string; shortSha: string; branch: string };\n repository?: { name?: string; remoteUrl?: string };\n generatedAt: string;\n graph: VgGraph;\n}\n\nexport function buildEnvelope(root: string, graph: VgGraph, scanIngestId?: string): GraphUploadEnvelope {\n const sha = git(root, ['rev-parse', 'HEAD']) ?? '0000000000000000000000000000000000000000';\n const branch = git(root, ['rev-parse', '--abbrev-ref', 'HEAD']) ?? 'HEAD';\n const remoteUrl = git(root, ['config', '--get', 'remote.origin.url']) ?? undefined;\n return {\n schemaVersion: 'vg-graph/1.0',\n artifactType: 'graph',\n scanIngestId,\n vcs: { sha, shortSha: sha.slice(0, 12), branch },\n repository: remoteUrl ? { remoteUrl: redactUrlCredentials(remoteUrl) } : undefined,\n generatedAt: graph.generatedAt,\n graph: redactGraph(graph),\n };\n}\n\n/**\n * Redaction pass (GUARDRAILS §1: redact before storage). The graph is structure,\n * not content, but we defensively scrub any signature/name that matches a\n * credential-shaped pattern, and strip credentials from the remote URL.\n */\nexport function redactGraph(graph: VgGraph): VgGraph {\n return {\n ...graph,\n nodes: graph.nodes.map((n) => {\n const signature = n.signature ? redactSecrets(n.signature) : n.signature;\n const doc = n.doc ? redactSecrets(n.doc) : n.doc;\n return signature !== n.signature || doc !== n.doc ? { ...n, signature, doc } : n;\n }),\n };\n}\n\nfunction git(root: string, args: string[]): string | null {\n try {\n return execFileSync('git', args, { cwd: root, encoding: 'utf8' }).trim() || null;\n } catch {\n return null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/engine/push.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBO,SAAS,aAAA,CAAc,IAAA,EAAc,KAAA,EAAgB,YAAA,EAA4C;AACtG,EAAA,MAAM,MAAM,GAAA,CAAI,IAAA,EAAM,CAAC,WAAA,EAAa,MAAM,CAAC,CAAA,IAAK,0CAAA;AAChD,EAAA,MAAM,MAAA,GAAS,IAAI,IAAA,EAAM,CAAC,aAAa,cAAA,EAAgB,MAAM,CAAC,CAAA,IAAK,MAAA;AACnE,EAAA,MAAM,SAAA,GAAY,IAAI,IAAA,EAAM,CAAC,UAAU,OAAA,EAAS,mBAAmB,CAAC,CAAA,IAAK,MAAA;AACzE,EAAA,OAAO;AAAA,IACL,aAAA,EAAe,cAAA;AAAA,IACf,YAAA,EAAc,OAAA;AAAA,IACd,YAAA;AAAA,IACA,GAAA,EAAK,EAAE,GAAA,EAAK,QAAA,EAAU,IAAI,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA,EAAG,MAAA,EAAO;AAAA,IAC/C,YAAY,SAAA,GAAY,EAAE,WAAW,oBAAA,CAAqB,SAAS,GAAE,GAAI,MAAA;AAAA,IACzE,aAAa,KAAA,CAAM,WAAA;AAAA,IACnB,KAAA,EAAO,YAAY,KAAK;AAAA,GAC1B;AACF;AAOO,SAAS,YAAY,KAAA,EAAyB;AACnD,EAAA,OAAO;AAAA,IACL,GAAG,KAAA;AAAA,IACH,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,GAAA,CAAI,CAAC,CAAA,KAAM;AAC5B,MAAA,MAAM,YAAY,CAAA,CAAE,SAAA,GAAY,cAAc,CAAA,CAAE,SAAS,IAAI,CAAA,CAAE,SAAA;AAC/D,MAAA,MAAM,MAAM,CAAA,CAAE,GAAA,GAAM,cAAc,CAAA,CAAE,GAAG,IAAI,CAAA,CAAE,GAAA;AAC7C,MAAA,OAAO,SAAA,KAAc,CAAA,CAAE,SAAA,IAAa,GAAA,KAAQ,CAAA,CAAE,GAAA,GAAM,EAAE,GAAG,CAAA,EAAG,SAAA,EAAW,GAAA,EAAI,GAAI,CAAA;AAAA,IACjF,CAAC;AAAA,GACH;AACF;AAEA,SAAS,GAAA,CAAI,MAAc,IAAA,EAA+B;AACxD,EAAA,IAAI;AACF,IAAA,OAAO,YAAA,CAAa,KAAA,EAAO,IAAA,EAAM,EAAE,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU,MAAA,EAAQ,CAAA,CAAE,IAAA,EAAK,IAAK,IAAA;AAAA,EAC9E,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,IAAA;AAAA,EACT;AACF","file":"index.js","sourcesContent":["import { execFileSync } from 'node:child_process';\nimport { redactSecrets, redactUrlCredentials } from '../core-open/utils/redact.js';\nimport { SCHEMA_VERSION, type VgGraph } from '../schema.js';\n\n/**\n * The deferred, decoupled push envelope (VG-PACKAGE-AND-SCHEMA §7). In the open\n * CLI `vg push` is **specified but not built**: it assembles and redacts the\n * envelope and prints a notice, but performs **no network upload**. Nothing in\n * the free path depends on it. Drift-over-time/governance is the separate\n * commercial product.\n */\n\nexport interface GraphUploadEnvelope {\n /** Mirrors the graph's own schema version — never pinned to a literal here. */\n schemaVersion: typeof SCHEMA_VERSION;\n artifactType: 'graph';\n scanIngestId?: string;\n vcs: { sha: string; shortSha: string; branch: string };\n repository?: { name?: string; remoteUrl?: string };\n generatedAt: string;\n graph: VgGraph;\n}\n\nexport function buildEnvelope(root: string, graph: VgGraph, scanIngestId?: string): GraphUploadEnvelope {\n const sha = git(root, ['rev-parse', 'HEAD']) ?? '0000000000000000000000000000000000000000';\n const branch = git(root, ['rev-parse', '--abbrev-ref', 'HEAD']) ?? 'HEAD';\n const remoteUrl = git(root, ['config', '--get', 'remote.origin.url']) ?? undefined;\n return {\n schemaVersion: SCHEMA_VERSION,\n artifactType: 'graph',\n scanIngestId,\n vcs: { sha, shortSha: sha.slice(0, 12), branch },\n repository: remoteUrl ? { remoteUrl: redactUrlCredentials(remoteUrl) } : undefined,\n generatedAt: graph.generatedAt,\n graph: redactGraph(graph),\n };\n}\n\n/**\n * Redaction pass (GUARDRAILS §1: redact before storage). The graph is structure,\n * not content, but we defensively scrub any signature/name that matches a\n * credential-shaped pattern, and strip credentials from the remote URL.\n */\nexport function redactGraph(graph: VgGraph): VgGraph {\n return {\n ...graph,\n nodes: graph.nodes.map((n) => {\n const signature = n.signature ? redactSecrets(n.signature) : n.signature;\n const doc = n.doc ? redactSecrets(n.doc) : n.doc;\n return signature !== n.signature || doc !== n.doc ? { ...n, signature, doc } : n;\n }),\n };\n}\n\nfunction git(root: string, args: string[]): string | null {\n try {\n return execFileSync('git', args, { cwd: root, encoding: 'utf8' }).trim() || null;\n } catch {\n return null;\n }\n}\n"]}
@@ -1,51 +1,54 @@
1
- import { ensureCodeMap } from './chunk-BH54SLGZ.js';
1
+ import { startCodeRuntimeSession } from './chunk-2FEB5KJS.js';
2
+ import { ensureCodeMap } from './chunk-5OL2TSHK.js';
2
3
  import { TtyPrompter, PromptCancelled } from './chunk-JYS4OBN2.js';
3
4
  import { McpToolset, defaultMcpConnect } from './chunk-LEPTUB4H.js';
4
- import { startCodeRuntimeSession } from './chunk-FOW5IF73.js';
5
5
  import { newSession, loadSession, loadLatestSession, summarizeSession, saveSession, condenseSession, recordTask } from './chunk-AJS4EL2C.js';
6
- import { fetchCatalog, resolveProviders, topProviders } from './chunk-5GLQNMTI.js';
7
- import { printCodeLogo } from './chunk-JCN6MSXQ.js';
6
+ import { fetchCatalog, resolveProviders, topProviders } from './chunk-C3LMWZKF.js';
7
+ import { printCodeLogo } from './chunk-LHKQGVRF.js';
8
+ import './chunk-OZ3IFXRD.js';
8
9
  import { info, c, out } from './chunk-CT5BS56U.js';
9
- import { BranchGraphSession } from './chunk-NKFXXP6W.js';
10
+ import { BranchGraphSession } from './chunk-GOGMS3ST.js';
10
11
  import { resolveExecutionEnv } from './chunk-IS7VTH2Q.js';
11
12
  import './chunk-3LOWJSAF.js';
12
- import { nodeCodeFs, undoChanges } from './chunk-YQNTIBKS.js';
13
- import { runAgent } from './chunk-IHXNOY3R.js';
13
+ import { nodeCodeFs, undoChanges } from './chunk-3NJUOIZQ.js';
14
+ import { runAgent } from './chunk-K6DXETMC.js';
14
15
  import './chunk-543E6WDJ.js';
15
- import './chunk-TVDYEHIM.js';
16
- import { resolveGraphBackend } from './chunk-54RGT2T5.js';
16
+ import './chunk-Q3M6K3HY.js';
17
+ import { resolveGraphBackend } from './chunk-TVDMNIUT.js';
17
18
  import { vgdIsRunning, vgdRequest } from './chunk-RBIRXQR6.js';
18
19
  import './chunk-5HYCB55P.js';
19
- import { summarizeDiffs } from './chunk-N3XFY3PX.js';
20
+ import { summarizeDiffs } from './chunk-74UBGF4P.js';
20
21
  import './chunk-7AVYKZEM.js';
21
- import './chunk-WHJMS7XC.js';
22
- import './chunk-REIGWTTH.js';
23
- import { hasOllama, gatherSystemMemory, stopModel, pullModelClean } from './chunk-OWSFZQOP.js';
22
+ import './chunk-I5LP55B6.js';
23
+ import './chunk-3HNPVXUK.js';
24
+ import { hasOllama, gatherSystemMemory, stopModel, pullModelClean } from './chunk-FJG5AXKZ.js';
24
25
  import { estimateModelBytes, assessCapability, fmt } from './chunk-7N4Y3E47.js';
25
26
  import { mergeModelExecutionProfile, resolveModelExecutionProfile } from './chunk-IZDH67DX.js';
26
- import { refreshIfStale } from './chunk-IHLLWBZU.js';
27
- import './chunk-TNROG5CO.js';
28
- import './chunk-WWGLVF7D.js';
27
+ import { refreshIfStale } from './chunk-O2DL2Q55.js';
28
+ import './chunk-E2FAQREZ.js';
29
+ import './chunk-DVW3SVCW.js';
29
30
  import './chunk-HTLDXEHW.js';
30
- import './chunk-N6ZMZ5AI.js';
31
+ import './chunk-WAKP7SK7.js';
32
+ import './chunk-MS6V5XKB.js';
31
33
  import './chunk-VIWZ4QT7.js';
32
- import './chunk-7QDHQLUS.js';
34
+ import './chunk-3H3SVJUY.js';
33
35
  import './chunk-J7LKEB2R.js';
34
- import { readModelSavings } from './chunk-DSUGC7F5.js';
35
- import './chunk-KGPX4EUN.js';
36
+ import { readModelSavings } from './chunk-KJT2R6WW.js';
37
+ import './chunk-Q4G2BWE3.js';
36
38
  import { discoverModels } from './chunk-CQDUBAQY.js';
37
39
  import './chunk-OV4KGXPD.js';
38
- import { loadGraph } from './chunk-WQLZSVNF.js';
40
+ import { loadGraph } from './chunk-3FMRFECC.js';
39
41
  import { loadOrDiscoverFederation } from './chunk-5I4VSBWQ.js';
40
- import './chunk-DT4KIVRI.js';
42
+ import './chunk-NG4KIJW6.js';
41
43
  import './chunk-CRAMOEBE.js';
42
- import './chunk-3LSG7Z4I.js';
43
- import './chunk-UTNNGKKX.js';
44
- import './chunk-RXP66R2E.js';
45
- import './chunk-X76VPOYH.js';
46
- import './chunk-2U37PFB2.js';
47
- import { resolveGraphPath } from './chunk-75LJM5XD.js';
48
- import './chunk-2H2U3DC7.js';
44
+ import './chunk-EZ7UC5Y5.js';
45
+ import './chunk-XLXJC7H3.js';
46
+ import './chunk-T7RSQ5WD.js';
47
+ import './chunk-AXZZ5CCG.js';
48
+ import { resolveGraphPath } from './chunk-WVMOGIPC.js';
49
+ import './chunk-MVPRPSXU.js';
50
+ import './chunk-O3LABX6I.js';
51
+ import './chunk-PRG2ULPK.js';
49
52
  import './chunk-BWPBB45M.js';
50
53
  import './chunk-JFGYT6BI.js';
51
54
  import './chunk-BPF3YX2U.js';
@@ -288,7 +291,7 @@ async function codingRepl(root, global, opts, selection, prompter) {
288
291
  // interactive selection is consent for manager runtime deps
289
292
  });
290
293
  try {
291
- const { ensureManagerRuntime } = await import('./model-manager-GJ2YSTSK.js');
294
+ const { ensureManagerRuntime } = await import('./model-manager-SXHZ5VD4.js');
292
295
  const ensure = await ensureManagerRuntime({
293
296
  providerId: route.providers[0]?.id ?? sel.provider,
294
297
  model: route.providers[0]?.model ?? sel.model,
@@ -318,7 +321,7 @@ async function codingRepl(root, global, opts, selection, prompter) {
318
321
  } else prompter.note(c.dim("no previous session to continue"));
319
322
  }
320
323
  const graphHolder = { current: null };
321
- const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-IGHJKKSL.js');
324
+ const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-2CNLHNEL.js');
322
325
  const vgBuiltin = createVgBuiltinMcpTools({
323
326
  getGraph: () => {
324
327
  if (!graphHolder.current) throw new Error("graph not loaded yet");
@@ -717,5 +720,5 @@ ${res.stderr}` : "");
717
720
  }
718
721
 
719
722
  export { agentTask, runInteractive };
720
- //# sourceMappingURL=interactive-EW2VJ3BZ.js.map
721
- //# sourceMappingURL=interactive-EW2VJ3BZ.js.map
723
+ //# sourceMappingURL=interactive-SR7TMF6M.js.map
724
+ //# sourceMappingURL=interactive-SR7TMF6M.js.map