@vibgrate/cli 2026.817.1 → 2026.818.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 (166) hide show
  1. package/DOCS.md +61 -0
  2. package/README.md +1 -0
  3. package/dist/activity-MF2GNYAI.js +5 -0
  4. package/dist/activity-MF2GNYAI.js.map +1 -0
  5. package/dist/agent-CUK24AWF.js +30 -0
  6. package/dist/{agent-CUYQKC6S.js.map → agent-CUK24AWF.js.map} +1 -1
  7. package/dist/{approvals-IPMUDEDV.js → approvals-YFOU6GVB.js} +6 -5
  8. package/dist/{approvals-IPMUDEDV.js.map → approvals-YFOU6GVB.js.map} +1 -1
  9. package/dist/attach-6S3XS7VO.js +9 -0
  10. package/dist/attach-6S3XS7VO.js.map +1 -0
  11. package/dist/baseline-OBZJRCCP.js +9 -0
  12. package/dist/{baseline-NZFGLMER.js.map → baseline-OBZJRCCP.js.map} +1 -1
  13. package/dist/{chunk-RJCRWQNS.js → chunk-43ESHUM5.js} +179 -463
  14. package/dist/chunk-43ESHUM5.js.map +1 -0
  15. package/dist/{chunk-YL4OIUA5.js → chunk-4QAMUBAC.js} +13 -12
  16. package/dist/chunk-4QAMUBAC.js.map +1 -0
  17. package/dist/{chunk-2BURPMYA.js → chunk-6ABMV74F.js} +72 -976
  18. package/dist/chunk-6ABMV74F.js.map +1 -0
  19. package/dist/chunk-6BEBJCK4.js +467 -0
  20. package/dist/chunk-6BEBJCK4.js.map +1 -0
  21. package/dist/{chunk-NKRWKCME.js → chunk-6LY3JH6S.js} +4 -4
  22. package/dist/{chunk-NKRWKCME.js.map → chunk-6LY3JH6S.js.map} +1 -1
  23. package/dist/chunk-6WRG7VDO.js +118 -0
  24. package/dist/chunk-6WRG7VDO.js.map +1 -0
  25. package/dist/chunk-DBX3DL27.js +26 -0
  26. package/dist/chunk-DBX3DL27.js.map +1 -0
  27. package/dist/{chunk-ZSECAGSU.js → chunk-DH6EDSQP.js} +3 -3
  28. package/dist/{chunk-ZSECAGSU.js.map → chunk-DH6EDSQP.js.map} +1 -1
  29. package/dist/{chunk-3GZSDY35.js → chunk-DM6MJ7IF.js} +4 -4
  30. package/dist/{chunk-3GZSDY35.js.map → chunk-DM6MJ7IF.js.map} +1 -1
  31. package/dist/{chunk-2TJ5EY4I.js → chunk-DUCEKH7Q.js} +12 -6
  32. package/dist/chunk-DUCEKH7Q.js.map +1 -0
  33. package/dist/{chunk-45AKSS4A.js → chunk-E7RVA2ZI.js} +4 -4
  34. package/dist/{chunk-45AKSS4A.js.map → chunk-E7RVA2ZI.js.map} +1 -1
  35. package/dist/{chunk-NHB53JTV.js → chunk-FFYO7G3T.js} +4 -4
  36. package/dist/{chunk-NHB53JTV.js.map → chunk-FFYO7G3T.js.map} +1 -1
  37. package/dist/chunk-G7ZFSH5J.js +132 -0
  38. package/dist/chunk-G7ZFSH5J.js.map +1 -0
  39. package/dist/{chunk-A7EKFLAN.js → chunk-GKZU6MII.js} +166 -31
  40. package/dist/chunk-GKZU6MII.js.map +1 -0
  41. package/dist/chunk-H5Q4JUY4.js +47 -0
  42. package/dist/chunk-H5Q4JUY4.js.map +1 -0
  43. package/dist/{chunk-JHLCKMKF.js → chunk-H6RV2OAX.js} +32 -10
  44. package/dist/chunk-H6RV2OAX.js.map +1 -0
  45. package/dist/{chunk-4W5SYK2M.js → chunk-I3PKYYRP.js} +5 -4
  46. package/dist/chunk-I3PKYYRP.js.map +1 -0
  47. package/dist/{chunk-6NOGNOE4.js → chunk-J3A3O4IA.js} +142 -127
  48. package/dist/chunk-J3A3O4IA.js.map +1 -0
  49. package/dist/{chunk-K267DHCF.js → chunk-J7CVFTLG.js} +6 -6
  50. package/dist/{chunk-K267DHCF.js.map → chunk-J7CVFTLG.js.map} +1 -1
  51. package/dist/{chunk-UBEVY5UT.js → chunk-LHQYYBCH.js} +5 -5
  52. package/dist/{chunk-UBEVY5UT.js.map → chunk-LHQYYBCH.js.map} +1 -1
  53. package/dist/{chunk-OWSXI3PJ.js → chunk-MHJBIGWV.js} +752 -51
  54. package/dist/chunk-MHJBIGWV.js.map +1 -0
  55. package/dist/{chunk-QPXVTQ7O.js → chunk-MVPRPSXU.js} +7 -4
  56. package/dist/chunk-MVPRPSXU.js.map +1 -0
  57. package/dist/chunk-NDNNOAS6.js +16 -0
  58. package/dist/chunk-NDNNOAS6.js.map +1 -0
  59. package/dist/{chunk-DT4KIVRI.js → chunk-NG4KIJW6.js} +34 -2
  60. package/dist/chunk-NG4KIJW6.js.map +1 -0
  61. package/dist/{chunk-RBIRXQR6.js → chunk-NO4BMW7M.js} +4 -14
  62. package/dist/chunk-NO4BMW7M.js.map +1 -0
  63. package/dist/chunk-O3LABX6I.js +43 -0
  64. package/dist/chunk-O3LABX6I.js.map +1 -0
  65. package/dist/{chunk-FD2HPGX2.js → chunk-OS4YFOFJ.js} +31 -10
  66. package/dist/chunk-OS4YFOFJ.js.map +1 -0
  67. package/dist/{chunk-NQUWC2IA.js → chunk-OVUZWR67.js} +108 -543
  68. package/dist/chunk-OVUZWR67.js.map +1 -0
  69. package/dist/chunk-POOL355F.js +237 -0
  70. package/dist/chunk-POOL355F.js.map +1 -0
  71. package/dist/{chunk-ENFSSUNK.js → chunk-Q7TWHJJ6.js} +5 -43
  72. package/dist/chunk-Q7TWHJJ6.js.map +1 -0
  73. package/dist/{chunk-MIYXVY57.js → chunk-SBHK4ECM.js} +4 -4
  74. package/dist/{chunk-MIYXVY57.js.map → chunk-SBHK4ECM.js.map} +1 -1
  75. package/dist/chunk-SUD54UGN.js +6 -0
  76. package/dist/{chunk-PV76EO4G.js.map → chunk-SUD54UGN.js.map} +1 -1
  77. package/dist/chunk-T7RSQ5WD.js +227 -0
  78. package/dist/chunk-T7RSQ5WD.js.map +1 -0
  79. package/dist/{chunk-ANYL7SUI.js → chunk-V2UGRUTL.js} +4761 -976
  80. package/dist/chunk-V2UGRUTL.js.map +1 -0
  81. package/dist/{chunk-2GSMCOIC.js → chunk-WVTGF2MP.js} +39 -20
  82. package/dist/chunk-WVTGF2MP.js.map +1 -0
  83. package/dist/{chunk-RQAKBRAV.js → chunk-X4DECFUG.js} +4 -4
  84. package/dist/{chunk-RQAKBRAV.js.map → chunk-X4DECFUG.js.map} +1 -1
  85. package/dist/{chunk-OZ3IFXRD.js → chunk-YENM3HT7.js} +5 -4
  86. package/dist/chunk-YENM3HT7.js.map +1 -0
  87. package/dist/{chunk-FMS6G67U.js → chunk-ZWFMJUXC.js} +151 -42
  88. package/dist/chunk-ZWFMJUXC.js.map +1 -0
  89. package/dist/cli.d.ts +6 -0
  90. package/dist/cli.js +1895 -872
  91. package/dist/cli.js.map +1 -1
  92. package/dist/daemon-4Q5QBBAF.js +31 -0
  93. package/dist/{daemon-J2HX4GY3.js.map → daemon-4Q5QBBAF.js.map} +1 -1
  94. package/dist/embed-worker-main.js +5 -4
  95. package/dist/embed-worker-main.js.map +1 -1
  96. package/dist/ensure-map-B2PS5ALS.js +40 -0
  97. package/dist/{ensure-map-5C6KG66X.js.map → ensure-map-B2PS5ALS.js.map} +1 -1
  98. package/dist/{fs-NTQUFCXV.js → fs-TLPOWC2D.js} +3 -3
  99. package/dist/fs-TLPOWC2D.js.map +1 -0
  100. package/dist/graph-backend-EEXMD6XY.js +16 -0
  101. package/dist/{graph-backend-HH5IIQ55.js.map → graph-backend-EEXMD6XY.js.map} +1 -1
  102. package/dist/index.d.ts +627 -6
  103. package/dist/index.js +28 -20
  104. package/dist/index.js.map +1 -1
  105. package/dist/{interactive-FXPAZAUJ.js → interactive-KEPGE5HD.js} +44 -36
  106. package/dist/interactive-KEPGE5HD.js.map +1 -0
  107. package/dist/load-H5HAME25.js +11 -0
  108. package/dist/{load-OR2XVGAV.js.map → load-H5HAME25.js.map} +1 -1
  109. package/dist/parse-worker.d.ts +1 -1
  110. package/dist/parse-worker.js +6 -2
  111. package/dist/parse-worker.js.map +1 -1
  112. package/dist/{run-outcome-M4546HLJ.js → run-outcome-V3L4GAN4.js} +7 -6
  113. package/dist/run-outcome-V3L4GAN4.js.map +1 -0
  114. package/dist/runtime-session-M2FRGTDS.js +27 -0
  115. package/dist/{runtime-session-6KKMFS6Q.js.map → runtime-session-M2FRGTDS.js.map} +1 -1
  116. package/dist/session-77YXFUC7.js +17 -0
  117. package/dist/{session-HCFJUSKN.js.map → session-77YXFUC7.js.map} +1 -1
  118. package/dist/slot-subscription-25GOARW5.js +95 -0
  119. package/dist/slot-subscription-25GOARW5.js.map +1 -0
  120. package/dist/{stream-json-4DL65D6U.js → stream-json-S6E3W2US.js} +21 -17
  121. package/dist/stream-json-S6E3W2US.js.map +1 -0
  122. package/dist/{types-8SYlXhzm.d.ts → types-DHqH0XIE.d.ts} +11 -0
  123. package/dist/version-VRZT5G4T.js +4 -0
  124. package/dist/{version-UPIC3F4P.js.map → version-VRZT5G4T.js.map} +1 -1
  125. package/dist/{vg-mcp-bridge-FZGX6DYO.js → vg-mcp-bridge-HCPJWJKJ.js} +16 -14
  126. package/dist/vg-mcp-bridge-HCPJWJKJ.js.map +1 -0
  127. package/dist/{vgd-QR26FAZD.js → vgd-R2PNIDEP.js} +17 -11
  128. package/dist/vgd-R2PNIDEP.js.map +1 -0
  129. package/package.json +7 -7
  130. package/dist/agent-CUYQKC6S.js +0 -26
  131. package/dist/baseline-NZFGLMER.js +0 -9
  132. package/dist/chunk-2BURPMYA.js.map +0 -1
  133. package/dist/chunk-2GSMCOIC.js.map +0 -1
  134. package/dist/chunk-2TJ5EY4I.js.map +0 -1
  135. package/dist/chunk-4W5SYK2M.js.map +0 -1
  136. package/dist/chunk-6NOGNOE4.js.map +0 -1
  137. package/dist/chunk-A7EKFLAN.js.map +0 -1
  138. package/dist/chunk-ANYL7SUI.js.map +0 -1
  139. package/dist/chunk-DT4KIVRI.js.map +0 -1
  140. package/dist/chunk-ENFSSUNK.js.map +0 -1
  141. package/dist/chunk-FD2HPGX2.js.map +0 -1
  142. package/dist/chunk-FMS6G67U.js.map +0 -1
  143. package/dist/chunk-JHLCKMKF.js.map +0 -1
  144. package/dist/chunk-NQUWC2IA.js.map +0 -1
  145. package/dist/chunk-OWSXI3PJ.js.map +0 -1
  146. package/dist/chunk-OZ3IFXRD.js.map +0 -1
  147. package/dist/chunk-PV76EO4G.js +0 -6
  148. package/dist/chunk-QPXVTQ7O.js.map +0 -1
  149. package/dist/chunk-RBIRXQR6.js.map +0 -1
  150. package/dist/chunk-RJCRWQNS.js.map +0 -1
  151. package/dist/chunk-RXP66R2E.js +0 -39
  152. package/dist/chunk-RXP66R2E.js.map +0 -1
  153. package/dist/chunk-YL4OIUA5.js.map +0 -1
  154. package/dist/daemon-J2HX4GY3.js +0 -25
  155. package/dist/ensure-map-5C6KG66X.js +0 -32
  156. package/dist/fs-NTQUFCXV.js.map +0 -1
  157. package/dist/graph-backend-HH5IIQ55.js +0 -14
  158. package/dist/interactive-FXPAZAUJ.js.map +0 -1
  159. package/dist/load-OR2XVGAV.js +0 -10
  160. package/dist/run-outcome-M4546HLJ.js.map +0 -1
  161. package/dist/runtime-session-6KKMFS6Q.js +0 -21
  162. package/dist/session-HCFJUSKN.js +0 -16
  163. package/dist/stream-json-4DL65D6U.js.map +0 -1
  164. package/dist/version-UPIC3F4P.js +0 -4
  165. package/dist/vg-mcp-bridge-FZGX6DYO.js.map +0 -1
  166. package/dist/vgd-QR26FAZD.js.map +0 -1
@@ -0,0 +1,31 @@
1
+ export { compareDaemonVersion, ensureVgd, ensureVgdSoft, registerDaemon, restartVgdIfRunning, stopVgd, vgdCliVersion, vgdVersionSkew } from './chunk-ZWFMJUXC.js';
2
+ import './chunk-YENM3HT7.js';
3
+ import './chunk-CT5BS56U.js';
4
+ import './chunk-MHJBIGWV.js';
5
+ import './chunk-3LOWJSAF.js';
6
+ import './chunk-5HYCB55P.js';
7
+ import './chunk-IS7VTH2Q.js';
8
+ import './chunk-IZDH67DX.js';
9
+ import './chunk-MS6V5XKB.js';
10
+ import './chunk-EZ7UC5Y5.js';
11
+ import './chunk-DBX3DL27.js';
12
+ import './chunk-POOL355F.js';
13
+ import './chunk-6BEBJCK4.js';
14
+ import './chunk-J7LKEB2R.js';
15
+ import './chunk-DUCEKH7Q.js';
16
+ import './chunk-SBHK4ECM.js';
17
+ import './chunk-5I4VSBWQ.js';
18
+ import './chunk-NO4BMW7M.js';
19
+ import './chunk-NDNNOAS6.js';
20
+ import './chunk-6WRG7VDO.js';
21
+ import './chunk-WVTGF2MP.js';
22
+ import './chunk-Q7TWHJJ6.js';
23
+ import './chunk-MVPRPSXU.js';
24
+ import './chunk-O3LABX6I.js';
25
+ import './chunk-SUD54UGN.js';
26
+ import './chunk-BWPBB45M.js';
27
+ import './chunk-JFGYT6BI.js';
28
+ import './chunk-BPF3YX2U.js';
29
+ import './chunk-Z6ZWNWWR.js';
30
+ //# sourceMappingURL=daemon-4Q5QBBAF.js.map
31
+ //# sourceMappingURL=daemon-4Q5QBBAF.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"daemon-J2HX4GY3.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"daemon-4Q5QBBAF.js"}
@@ -1,7 +1,8 @@
1
- import { resolveEmbedModel, loadEmbedder } from './chunk-2GSMCOIC.js';
2
- import './chunk-QPXVTQ7O.js';
3
- import './chunk-ENFSSUNK.js';
4
- import './chunk-PV76EO4G.js';
1
+ import { resolveEmbedModel, loadEmbedder } from './chunk-WVTGF2MP.js';
2
+ import './chunk-Q7TWHJJ6.js';
3
+ import './chunk-MVPRPSXU.js';
4
+ import './chunk-O3LABX6I.js';
5
+ import './chunk-SUD54UGN.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,40 @@
1
+ export { ensureCodeMap } from './chunk-DM6MJ7IF.js';
2
+ import './chunk-H6RV2OAX.js';
3
+ import './chunk-H5Q4JUY4.js';
4
+ import './chunk-YENM3HT7.js';
5
+ import './chunk-CT5BS56U.js';
6
+ import './chunk-43ESHUM5.js';
7
+ import './chunk-OS4YFOFJ.js';
8
+ import './chunk-V2UGRUTL.js';
9
+ import './chunk-HTLDXEHW.js';
10
+ import './chunk-VIWZ4QT7.js';
11
+ import './chunk-OVUZWR67.js';
12
+ import './chunk-CQDUBAQY.js';
13
+ import './chunk-OV4KGXPD.js';
14
+ import './chunk-NG4KIJW6.js';
15
+ import './chunk-CRAMOEBE.js';
16
+ import './chunk-MS6V5XKB.js';
17
+ import './chunk-EZ7UC5Y5.js';
18
+ import './chunk-POOL355F.js';
19
+ import './chunk-6BEBJCK4.js';
20
+ import './chunk-J7LKEB2R.js';
21
+ import './chunk-DUCEKH7Q.js';
22
+ import './chunk-SBHK4ECM.js';
23
+ import './chunk-5I4VSBWQ.js';
24
+ import './chunk-G7ZFSH5J.js';
25
+ import './chunk-NO4BMW7M.js';
26
+ import './chunk-NDNNOAS6.js';
27
+ import './chunk-J3A3O4IA.js';
28
+ import './chunk-T7RSQ5WD.js';
29
+ import './chunk-6WRG7VDO.js';
30
+ import './chunk-WVTGF2MP.js';
31
+ import './chunk-Q7TWHJJ6.js';
32
+ import './chunk-MVPRPSXU.js';
33
+ import './chunk-O3LABX6I.js';
34
+ import './chunk-SUD54UGN.js';
35
+ import './chunk-BWPBB45M.js';
36
+ import './chunk-JFGYT6BI.js';
37
+ import './chunk-BPF3YX2U.js';
38
+ import './chunk-Z6ZWNWWR.js';
39
+ //# sourceMappingURL=ensure-map-B2PS5ALS.js.map
40
+ //# sourceMappingURL=ensure-map-B2PS5ALS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"ensure-map-5C6KG66X.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"ensure-map-B2PS5ALS.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,16 @@
1
+ export { localGraphBackend, resolveGraphBackend, vgdGraphBackend } from './chunk-X4DECFUG.js';
2
+ import './chunk-J7LKEB2R.js';
3
+ import './chunk-DUCEKH7Q.js';
4
+ import './chunk-NO4BMW7M.js';
5
+ import './chunk-NDNNOAS6.js';
6
+ import './chunk-WVTGF2MP.js';
7
+ import './chunk-Q7TWHJJ6.js';
8
+ import './chunk-MVPRPSXU.js';
9
+ import './chunk-O3LABX6I.js';
10
+ import './chunk-SUD54UGN.js';
11
+ import './chunk-BWPBB45M.js';
12
+ import './chunk-JFGYT6BI.js';
13
+ import './chunk-BPF3YX2U.js';
14
+ import './chunk-Z6ZWNWWR.js';
15
+ //# sourceMappingURL=graph-backend-EEXMD6XY.js.map
16
+ //# sourceMappingURL=graph-backend-EEXMD6XY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"graph-backend-HH5IIQ55.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"graph-backend-EEXMD6XY.js"}