@zvec/zvec-grep 0.1.4 → 0.1.6

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 (356) hide show
  1. package/README.md +86 -162
  2. package/README_CN.md +80 -162
  3. package/dist/authorization/index.d.ts +7 -0
  4. package/dist/authorization/index.js +7 -0
  5. package/dist/authorization/index.js.map +1 -0
  6. package/dist/authorization/manager.d.ts +8 -0
  7. package/dist/authorization/manager.js +19 -0
  8. package/dist/authorization/manager.js.map +1 -0
  9. package/dist/authorization/operation.d.ts +7 -0
  10. package/dist/authorization/operation.js +50 -0
  11. package/dist/authorization/operation.js.map +1 -0
  12. package/dist/authorization/planner.d.ts +21 -0
  13. package/dist/authorization/planner.js +97 -0
  14. package/dist/authorization/planner.js.map +1 -0
  15. package/dist/authorization/prompt.d.ts +11 -0
  16. package/dist/authorization/prompt.js +62 -0
  17. package/dist/authorization/prompt.js.map +1 -0
  18. package/dist/authorization/store.d.ts +20 -0
  19. package/dist/authorization/store.js +251 -0
  20. package/dist/authorization/store.js.map +1 -0
  21. package/dist/authorization/target.d.ts +15 -0
  22. package/dist/authorization/target.js +49 -0
  23. package/dist/authorization/target.js.map +1 -0
  24. package/dist/authorization/types.d.ts +61 -0
  25. package/dist/authorization/types.js +2 -0
  26. package/dist/authorization/types.js.map +1 -0
  27. package/dist/cli/args.d.ts +3 -0
  28. package/dist/cli/args.js +749 -201
  29. package/dist/cli/args.js.map +1 -1
  30. package/dist/cli/auth.d.ts +21 -0
  31. package/dist/cli/auth.js +212 -0
  32. package/dist/cli/auth.js.map +1 -0
  33. package/dist/cli/commands.d.ts +3 -1
  34. package/dist/cli/commands.js +529 -180
  35. package/dist/cli/commands.js.map +1 -1
  36. package/dist/cli/errors.js +7 -6
  37. package/dist/cli/errors.js.map +1 -1
  38. package/dist/cli/format/context.d.ts +1 -0
  39. package/dist/cli/format/context.js +270 -70
  40. package/dist/cli/format/context.js.map +1 -1
  41. package/dist/cli/format/debug.js +14 -16
  42. package/dist/cli/format/debug.js.map +1 -1
  43. package/dist/cli/format/highlight.js.map +1 -1
  44. package/dist/cli/format/progress.d.ts +4 -0
  45. package/dist/cli/format/progress.js +222 -44
  46. package/dist/cli/format/progress.js.map +1 -1
  47. package/dist/cli/format/range.js.map +1 -1
  48. package/dist/cli/format/status.d.ts +77 -6
  49. package/dist/cli/format/status.js +343 -114
  50. package/dist/cli/format/status.js.map +1 -1
  51. package/dist/cli/help.d.ts +1 -1
  52. package/dist/cli/help.js +368 -84
  53. package/dist/cli/help.js.map +1 -1
  54. package/dist/cli/index.js +4 -4
  55. package/dist/cli/index.js.map +1 -1
  56. package/dist/cli/install.d.ts +4 -0
  57. package/dist/cli/install.js +845 -0
  58. package/dist/cli/install.js.map +1 -0
  59. package/dist/cli/managed-rg.d.ts +10 -0
  60. package/dist/cli/managed-rg.js +329 -0
  61. package/dist/cli/managed-rg.js.map +1 -0
  62. package/dist/cli/types.d.ts +40 -13
  63. package/dist/cli/types.js.map +1 -1
  64. package/dist/cli/version.js +3 -1
  65. package/dist/cli/version.js.map +1 -1
  66. package/dist/client/daemon-client.d.ts +19 -0
  67. package/dist/client/daemon-client.js +180 -0
  68. package/dist/client/daemon-client.js.map +1 -0
  69. package/dist/client/mode-router.d.ts +9 -0
  70. package/dist/client/mode-router.js +28 -0
  71. package/dist/client/mode-router.js.map +1 -0
  72. package/dist/client/search-policy.d.ts +11 -0
  73. package/dist/client/search-policy.js +15 -0
  74. package/dist/client/search-policy.js.map +1 -0
  75. package/dist/daemon/backend.d.ts +76 -0
  76. package/dist/daemon/backend.js +1049 -0
  77. package/dist/daemon/backend.js.map +1 -0
  78. package/dist/daemon/change-set.d.ts +25 -0
  79. package/dist/daemon/change-set.js +101 -0
  80. package/dist/daemon/change-set.js.map +1 -0
  81. package/dist/daemon/config.d.ts +24 -0
  82. package/dist/daemon/config.js +88 -0
  83. package/dist/daemon/config.js.map +1 -0
  84. package/dist/daemon/errors.d.ts +5 -0
  85. package/dist/daemon/errors.js +11 -0
  86. package/dist/daemon/errors.js.map +1 -0
  87. package/dist/daemon/http-server.d.ts +30 -0
  88. package/dist/daemon/http-server.js +287 -0
  89. package/dist/daemon/http-server.js.map +1 -0
  90. package/dist/daemon/index-coordinator.d.ts +23 -0
  91. package/dist/daemon/index-coordinator.js +68 -0
  92. package/dist/daemon/index-coordinator.js.map +1 -0
  93. package/dist/daemon/job-scheduler.d.ts +70 -0
  94. package/dist/daemon/job-scheduler.js +366 -0
  95. package/dist/daemon/job-scheduler.js.map +1 -0
  96. package/dist/daemon/logger.d.ts +9 -0
  97. package/dist/daemon/logger.js +53 -0
  98. package/dist/daemon/logger.js.map +1 -0
  99. package/dist/daemon/model-pool.d.ts +45 -0
  100. package/dist/daemon/model-pool.js +187 -0
  101. package/dist/daemon/model-pool.js.map +1 -0
  102. package/dist/daemon/root-lease.d.ts +14 -0
  103. package/dist/daemon/root-lease.js +188 -0
  104. package/dist/daemon/root-lease.js.map +1 -0
  105. package/dist/daemon/root-runtime.d.ts +78 -0
  106. package/dist/daemon/root-runtime.js +333 -0
  107. package/dist/daemon/root-runtime.js.map +1 -0
  108. package/dist/daemon/runtime-manager.d.ts +45 -0
  109. package/dist/daemon/runtime-manager.js +243 -0
  110. package/dist/daemon/runtime-manager.js.map +1 -0
  111. package/dist/daemon/runtime.d.ts +12 -0
  112. package/dist/daemon/runtime.js +102 -0
  113. package/dist/daemon/runtime.js.map +1 -0
  114. package/dist/daemon/server-controller.d.ts +39 -0
  115. package/dist/daemon/server-controller.js +203 -0
  116. package/dist/daemon/server-controller.js.map +1 -0
  117. package/dist/daemon/watch-manager.d.ts +50 -0
  118. package/dist/daemon/watch-manager.js +293 -0
  119. package/dist/daemon/watch-manager.js.map +1 -0
  120. package/dist/daemon/workspace-read-session-cache.d.ts +31 -0
  121. package/dist/daemon/workspace-read-session-cache.js +115 -0
  122. package/dist/daemon/workspace-read-session-cache.js.map +1 -0
  123. package/dist/engine/config.d.ts +50 -0
  124. package/dist/engine/config.js +321 -0
  125. package/dist/engine/config.js.map +1 -0
  126. package/dist/engine/{errors/index.d.ts → errors.d.ts} +6 -1
  127. package/dist/engine/{errors/details.js → errors.js} +17 -4
  128. package/dist/engine/errors.js.map +1 -0
  129. package/dist/engine/extraction/code/adapter.d.ts +1 -1
  130. package/dist/engine/extraction/code/adapter.js.map +1 -1
  131. package/dist/engine/extraction/code/extractor.d.ts +5 -11
  132. package/dist/engine/extraction/code/extractor.js +184 -109
  133. package/dist/engine/extraction/code/extractor.js.map +1 -1
  134. package/dist/engine/extraction/code/families/c-family.js +13 -7
  135. package/dist/engine/extraction/code/families/c-family.js.map +1 -1
  136. package/dist/engine/extraction/code/families/js-ts.d.ts +1 -1
  137. package/dist/engine/extraction/code/families/js-ts.js +24 -18
  138. package/dist/engine/extraction/code/families/js-ts.js.map +1 -1
  139. package/dist/engine/extraction/code/families/metadata.d.ts +1 -1
  140. package/dist/engine/extraction/code/families/metadata.js +11 -8
  141. package/dist/engine/extraction/code/families/metadata.js.map +1 -1
  142. package/dist/engine/extraction/code/families/name-field.js +5 -5
  143. package/dist/engine/extraction/code/families/name-field.js.map +1 -1
  144. package/dist/engine/extraction/code/languages/c.js +1 -4
  145. package/dist/engine/extraction/code/languages/c.js.map +1 -1
  146. package/dist/engine/extraction/code/languages/cpp.js.map +1 -1
  147. package/dist/engine/extraction/code/languages/go.js +1 -3
  148. package/dist/engine/extraction/code/languages/go.js.map +1 -1
  149. package/dist/engine/extraction/code/languages/java.js.map +1 -1
  150. package/dist/engine/extraction/code/languages/javascript.js +1 -3
  151. package/dist/engine/extraction/code/languages/javascript.js.map +1 -1
  152. package/dist/engine/extraction/code/languages/python.js +5 -6
  153. package/dist/engine/extraction/code/languages/python.js.map +1 -1
  154. package/dist/engine/extraction/code/languages/rust.js +1 -5
  155. package/dist/engine/extraction/code/languages/rust.js.map +1 -1
  156. package/dist/engine/extraction/code/languages/typescript.js.map +1 -1
  157. package/dist/engine/extraction/code/tree-sitter/grammar.js.map +1 -0
  158. package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/nodes.js +2 -1
  159. package/dist/engine/extraction/code/tree-sitter/nodes.js.map +1 -0
  160. package/dist/engine/extraction/code/tree-sitter/parser.js.map +1 -0
  161. package/dist/engine/extraction/ids.js.map +1 -1
  162. package/dist/engine/extraction/image/extractor.d.ts +5 -0
  163. package/dist/engine/extraction/image/extractor.js +35 -0
  164. package/dist/engine/extraction/image/extractor.js.map +1 -0
  165. package/dist/engine/extraction/index.d.ts +3 -44
  166. package/dist/engine/extraction/index.js +1 -280
  167. package/dist/engine/extraction/index.js.map +1 -1
  168. package/dist/engine/extraction/markdown/extractor.d.ts +5 -11
  169. package/dist/engine/extraction/markdown/extractor.js +37 -16
  170. package/dist/engine/extraction/markdown/extractor.js.map +1 -1
  171. package/dist/engine/extraction/runtime.d.ts +4 -0
  172. package/dist/engine/extraction/runtime.js +26 -0
  173. package/dist/engine/extraction/runtime.js.map +1 -0
  174. package/dist/engine/extraction/source.d.ts +18 -0
  175. package/dist/engine/extraction/source.js +22 -0
  176. package/dist/engine/extraction/source.js.map +1 -0
  177. package/dist/engine/extraction/text/extractor.d.ts +7 -0
  178. package/dist/engine/extraction/text/extractor.js +168 -0
  179. package/dist/engine/extraction/text/extractor.js.map +1 -0
  180. package/dist/engine/extraction/types.d.ts +4 -0
  181. package/dist/engine/{models → extraction}/types.js.map +1 -1
  182. package/dist/engine/{files/file-type.d.ts → file-type.d.ts} +1 -1
  183. package/dist/engine/file-type.js.map +1 -0
  184. package/dist/engine/index-status.d.ts +9 -0
  185. package/dist/engine/index-status.js +38 -0
  186. package/dist/engine/index-status.js.map +1 -0
  187. package/dist/engine/manifest.d.ts +12 -0
  188. package/dist/engine/manifest.js +120 -0
  189. package/dist/engine/manifest.js.map +1 -0
  190. package/dist/engine/models/{providers/llama-cpp/embedding.d.ts → backends/llama-cpp.d.ts} +25 -20
  191. package/dist/engine/models/{providers/llama-cpp/embedding.js → backends/llama-cpp.js} +165 -113
  192. package/dist/engine/models/backends/llama-cpp.js.map +1 -0
  193. package/dist/engine/models/backends/model2vec.d.ts +57 -0
  194. package/dist/engine/models/backends/model2vec.js +332 -0
  195. package/dist/engine/models/backends/model2vec.js.map +1 -0
  196. package/dist/engine/models/backends/qwen.d.ts +44 -0
  197. package/dist/engine/models/{providers/qwen/embedding.js → backends/qwen.js} +168 -102
  198. package/dist/engine/models/backends/qwen.js.map +1 -0
  199. package/dist/engine/models/backends/transformers-js.d.ts +87 -0
  200. package/dist/engine/models/backends/transformers-js.js +316 -0
  201. package/dist/engine/models/backends/transformers-js.js.map +1 -0
  202. package/dist/engine/models/catalog.d.ts +188 -23
  203. package/dist/engine/models/catalog.js +172 -41
  204. package/dist/engine/models/catalog.js.map +1 -1
  205. package/dist/engine/models/download-progress.d.ts +15 -0
  206. package/dist/engine/models/download-progress.js +48 -0
  207. package/dist/engine/models/download-progress.js.map +1 -0
  208. package/dist/engine/models/embeddings.d.ts +58 -18
  209. package/dist/engine/models/embeddings.js +53 -29
  210. package/dist/engine/models/embeddings.js.map +1 -1
  211. package/dist/engine/models/factory.d.ts +2 -5
  212. package/dist/engine/models/factory.js +41 -56
  213. package/dist/engine/models/factory.js.map +1 -1
  214. package/dist/engine/models/index.d.ts +4 -6
  215. package/dist/engine/models/index.js +4 -4
  216. package/dist/engine/models/index.js.map +1 -1
  217. package/dist/engine/models/ranking.d.ts +7 -3
  218. package/dist/engine/models/resolution.d.ts +8 -0
  219. package/dist/engine/models/resolution.js +22 -0
  220. package/dist/engine/models/resolution.js.map +1 -0
  221. package/dist/engine/pipeline/indexing/index.d.ts +9 -7
  222. package/dist/engine/pipeline/indexing/index.js +399 -147
  223. package/dist/engine/pipeline/indexing/index.js.map +1 -1
  224. package/dist/engine/pipeline/indexing/root-paths.js +16 -19
  225. package/dist/engine/pipeline/indexing/root-paths.js.map +1 -1
  226. package/dist/engine/pipeline/indexing/scanner/index.d.ts +6 -1
  227. package/dist/engine/pipeline/indexing/scanner/index.js +318 -66
  228. package/dist/engine/pipeline/indexing/scanner/index.js.map +1 -1
  229. package/dist/engine/pipeline/search/index.d.ts +6 -6
  230. package/dist/engine/pipeline/search/index.js +76 -34
  231. package/dist/engine/pipeline/search/index.js.map +1 -1
  232. package/dist/engine/service/index.d.ts +3 -2
  233. package/dist/engine/service/index.js +1 -1
  234. package/dist/engine/service/index.js.map +1 -1
  235. package/dist/engine/service/lexical.d.ts +14 -15
  236. package/dist/engine/service/lexical.js +78 -119
  237. package/dist/engine/service/lexical.js.map +1 -1
  238. package/dist/engine/service/root.d.ts +13 -12
  239. package/dist/engine/service/root.js +35 -24
  240. package/dist/engine/service/root.js.map +1 -1
  241. package/dist/engine/service/structure-enrichment.js +29 -25
  242. package/dist/engine/service/structure-enrichment.js.map +1 -1
  243. package/dist/engine/service/types.d.ts +61 -35
  244. package/dist/engine/service/workspace-index.d.ts +24 -0
  245. package/dist/engine/service/workspace-index.js +151 -0
  246. package/dist/engine/service/workspace-index.js.map +1 -0
  247. package/dist/engine/service/zvec-grep.d.ts +12 -1
  248. package/dist/engine/service/zvec-grep.js +878 -544
  249. package/dist/engine/service/zvec-grep.js.map +1 -1
  250. package/dist/engine/storage/index.d.ts +8 -4
  251. package/dist/engine/storage/index.js +1 -1
  252. package/dist/engine/storage/index.js.map +1 -1
  253. package/dist/engine/storage/zvec.d.ts +10 -33
  254. package/dist/engine/storage/zvec.js +110 -49
  255. package/dist/engine/storage/zvec.js.map +1 -1
  256. package/dist/engine/types.d.ts +29 -23
  257. package/dist/engine/types.js +1 -1
  258. package/dist/engine/types.js.map +1 -1
  259. package/dist/engine/utils/daemon-lease.d.ts +17 -0
  260. package/dist/engine/utils/daemon-lease.js +175 -0
  261. package/dist/engine/utils/daemon-lease.js.map +1 -0
  262. package/dist/engine/utils/file-selection.d.ts +10 -0
  263. package/dist/engine/utils/file-selection.js +157 -0
  264. package/dist/engine/utils/file-selection.js.map +1 -0
  265. package/dist/engine/utils/glob.d.ts +3 -0
  266. package/dist/engine/utils/glob.js +116 -18
  267. package/dist/engine/utils/glob.js.map +1 -1
  268. package/dist/engine/utils/hash.js.map +1 -1
  269. package/dist/engine/utils/json.d.ts +6 -2
  270. package/dist/engine/utils/json.js +50 -12
  271. package/dist/engine/utils/json.js.map +1 -1
  272. package/dist/engine/utils/lock.js +7 -7
  273. package/dist/engine/utils/lock.js.map +1 -1
  274. package/dist/engine/utils/path.js +2 -2
  275. package/dist/engine/utils/path.js.map +1 -1
  276. package/dist/engine/utils/timing.js.map +1 -1
  277. package/dist/index-progress.d.ts +10 -0
  278. package/dist/index-progress.js +159 -0
  279. package/dist/index-progress.js.map +1 -0
  280. package/dist/index.d.ts +6 -6
  281. package/dist/index.js +3 -3
  282. package/dist/index.js.map +1 -1
  283. package/dist/mcp/http-transport.d.ts +27 -0
  284. package/dist/mcp/http-transport.js +182 -0
  285. package/dist/mcp/http-transport.js.map +1 -0
  286. package/dist/mcp/input-normalization.d.ts +38 -0
  287. package/dist/mcp/input-normalization.js +95 -0
  288. package/dist/mcp/input-normalization.js.map +1 -0
  289. package/dist/mcp/progress-heartbeat.d.ts +17 -0
  290. package/dist/mcp/progress-heartbeat.js +46 -0
  291. package/dist/mcp/progress-heartbeat.js.map +1 -0
  292. package/dist/mcp/request-metadata.d.ts +2 -0
  293. package/dist/mcp/request-metadata.js +11 -0
  294. package/dist/mcp/request-metadata.js.map +1 -0
  295. package/dist/mcp/request-state.d.ts +40 -0
  296. package/dist/mcp/request-state.js +210 -0
  297. package/dist/mcp/request-state.js.map +1 -0
  298. package/dist/mcp/result-format.d.ts +13 -0
  299. package/dist/mcp/result-format.js +75 -0
  300. package/dist/mcp/result-format.js.map +1 -0
  301. package/dist/mcp/schemas.d.ts +430 -0
  302. package/dist/mcp/schemas.js +447 -0
  303. package/dist/mcp/schemas.js.map +1 -0
  304. package/dist/mcp/tools.d.ts +150 -0
  305. package/dist/mcp/tools.js +448 -0
  306. package/dist/mcp/tools.js.map +1 -0
  307. package/dist/mcp/toolset.d.ts +5 -0
  308. package/dist/mcp/toolset.js +12 -0
  309. package/dist/mcp/toolset.js.map +1 -0
  310. package/dist/observability/trace-context.d.ts +11 -0
  311. package/dist/observability/trace-context.js +138 -0
  312. package/dist/observability/trace-context.js.map +1 -0
  313. package/docs/01-agents.md +111 -0
  314. package/docs/02-cli.md +229 -0
  315. package/docs/03-mcp.md +167 -0
  316. package/docs/04-pipeline.md +218 -0
  317. package/docs/05-architecture.md +86 -0
  318. package/docs/06-server.md +210 -0
  319. package/docs/07-embedding.md +179 -0
  320. package/docs/08-roadmap.md +85 -0
  321. package/docs/README.md +53 -0
  322. package/package.json +43 -7
  323. package/skills/zvec-grep/SKILL.md +43 -123
  324. package/skills/zvec-grep/agents/openai.yaml +2 -2
  325. package/skills/zvec-grep/references/cli-fallback.md +85 -0
  326. package/dist/engine/collection/index.d.ts +0 -55
  327. package/dist/engine/collection/index.js +0 -710
  328. package/dist/engine/collection/index.js.map +0 -1
  329. package/dist/engine/errors/details.d.ts +0 -6
  330. package/dist/engine/errors/details.js.map +0 -1
  331. package/dist/engine/errors/index.js +0 -16
  332. package/dist/engine/errors/index.js.map +0 -1
  333. package/dist/engine/extraction/tree-sitter/grammar.js.map +0 -1
  334. package/dist/engine/extraction/tree-sitter/nodes.js.map +0 -1
  335. package/dist/engine/extraction/tree-sitter/parser.js.map +0 -1
  336. package/dist/engine/files/file-type.js.map +0 -1
  337. package/dist/engine/models/providers/index.d.ts +0 -2
  338. package/dist/engine/models/providers/index.js +0 -3
  339. package/dist/engine/models/providers/index.js.map +0 -1
  340. package/dist/engine/models/providers/llama-cpp/embedding.js.map +0 -1
  341. package/dist/engine/models/providers/llama-cpp/index.d.ts +0 -1
  342. package/dist/engine/models/providers/llama-cpp/index.js +0 -2
  343. package/dist/engine/models/providers/llama-cpp/index.js.map +0 -1
  344. package/dist/engine/models/providers/qwen/embedding.d.ts +0 -42
  345. package/dist/engine/models/providers/qwen/embedding.js.map +0 -1
  346. package/dist/engine/models/providers/qwen/index.d.ts +0 -1
  347. package/dist/engine/models/providers/qwen/index.js +0 -2
  348. package/dist/engine/models/providers/qwen/index.js.map +0 -1
  349. package/dist/engine/models/types.d.ts +0 -30
  350. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/grammar.d.ts +0 -0
  351. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/grammar.js +0 -0
  352. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/nodes.d.ts +0 -0
  353. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/parser.d.ts +0 -0
  354. /package/dist/engine/extraction/{tree-sitter → code/tree-sitter}/parser.js +0 -0
  355. /package/dist/engine/{models → extraction}/types.js +0 -0
  356. /package/dist/engine/{files/file-type.js → file-type.js} +0 -0
@@ -1,23 +1,25 @@
1
- import { closeSync, existsSync, mkdirSync, openSync, readSync, statSync, unlinkSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { EngineError } from "../../../errors/index.js";
4
- import { defaultHome } from "../../../utils/path.js";
5
- import { EmbeddingModel, } from "../../embeddings.js";
1
+ import { closeSync, existsSync, mkdirSync, openSync, readSync, statSync, unlinkSync, } from "node:fs";
2
+ import { basename, join } from "node:path";
3
+ import { EngineError } from "../../errors.js";
4
+ import { defaultHome } from "../../utils/path.js";
5
+ import { BaseEmbeddingModel, } from "../embeddings.js";
6
+ import { createModelDownloadProgressReporter, } from "../download-progress.js";
6
7
  const DEFAULT_MODEL_CACHE_DIR = join(defaultHome(), "models");
7
8
  const GGUF_MAGIC = Buffer.from("GGUF");
8
9
  const DEFAULT_PARALLELISM_CAP = 8;
9
- const SUPPRESSED_LLAMA_CPP_LOG_MESSAGES = new Set([
10
- "Failed to get swap info",
11
- ]);
12
- let nodeLlamaCppImport = null;
13
- let nodeLlamaCppLoader = defaultNodeLlamaCppLoader;
14
- const failedGpuInitModes = new Set();
15
- let cpuCompatibleFallbackWarningShown = false;
10
+ const DEFAULT_DARWIN_CMAKE_OPTIONS = {
11
+ GGML_OPENMP: "OFF",
12
+ };
13
+ const DEFAULT_DARWIN_ARM64_CMAKE_OPTIONS = {
14
+ ...DEFAULT_DARWIN_CMAKE_OPTIONS,
15
+ GGML_NATIVE: "OFF",
16
+ };
17
+ const SUPPRESSED_LLAMA_CPP_LOG_MESSAGES = new Set(["Failed to get swap info"]);
16
18
  async function defaultNodeLlamaCppLoader() {
17
19
  const moduleName = "node-llama-cpp";
18
20
  try {
19
21
  installDarwinMetalResidencyMitigation();
20
- return await import(moduleName);
22
+ return (await import(moduleName));
21
23
  }
22
24
  catch (cause) {
23
25
  throw new EngineError("node-llama-cpp is required for local embedding models", {
@@ -36,27 +38,25 @@ function installDarwinMetalResidencyMitigation() {
36
38
  }
37
39
  process.env.GGML_METAL_NO_RESIDENCY ??= "1";
38
40
  }
39
- async function loadNodeLlamaCpp() {
40
- nodeLlamaCppImport ??= nodeLlamaCppLoader();
41
- return nodeLlamaCppImport;
42
- }
43
- export function setLlamaCppRuntimeForTesting(loader) {
44
- nodeLlamaCppImport = null;
45
- nodeLlamaCppLoader = loader ?? defaultNodeLlamaCppLoader;
46
- failedGpuInitModes.clear();
47
- cpuCompatibleFallbackWarningShown = false;
48
- }
49
- export class LlamaCppEmbeddingModel extends EmbeddingModel {
41
+ let defaultRuntimeImport = null;
42
+ const defaultDependencies = {
43
+ loadRuntime() {
44
+ defaultRuntimeImport ??= defaultNodeLlamaCppLoader();
45
+ return defaultRuntimeImport;
46
+ },
47
+ runtimeState: {
48
+ failedGpuInitModes: new Set(),
49
+ cpuCompatibleFallbackWarningShown: false,
50
+ },
51
+ };
52
+ export class LlamaCppEmbeddingModel extends BaseEmbeddingModel {
50
53
  entry;
51
- ref;
52
- dimension;
53
- metric;
54
- supportedContentKinds = ["text"];
55
- limits;
56
- recommendedIndexConcurrency = 1;
54
+ info;
57
55
  modelCacheDir;
58
56
  gpu;
59
- embeddingParallelism;
57
+ parallelism;
58
+ dependencies;
59
+ runtimeImport = null;
60
60
  llama = null;
61
61
  model = null;
62
62
  contexts = [];
@@ -65,33 +65,42 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
65
65
  contextsCreatePromise = null;
66
66
  usingCpuFallback = false;
67
67
  disposed = false;
68
- constructor(entry, options) {
68
+ constructor(entry, options, dependencies = {}) {
69
69
  super();
70
70
  this.entry = entry;
71
- this.ref = {
71
+ this.info = {
72
+ reference: entry.reference,
72
73
  provider: entry.provider,
73
- model: entry.model,
74
- };
75
- this.dimension = entry.dimension;
76
- this.metric = entry.metric;
77
- this.limits = {
78
- maxBatchSize: entry.maxBatchSize,
79
- maxInputTokens: entry.contextSize,
74
+ name: entry.model,
75
+ dimension: entry.dimension,
76
+ metric: entry.metric,
77
+ inputKinds: ["text"],
78
+ limits: {
79
+ maxBatchSize: entry.maxBatchSize,
80
+ maxInputTokens: entry.contextSize,
81
+ },
80
82
  };
81
- this.modelCacheDir = options.modelCacheDir ?? process.env.ZVEC_GREP_MODEL_CACHE ?? DEFAULT_MODEL_CACHE_DIR;
82
- this.gpu = options.llamaGpu ?? resolveLlamaGpuMode(process.env.ZVEC_GREP_LLAMA_GPU);
83
- this.embeddingParallelism = options.embeddingParallelism ?? resolveParallelismOverride(process.env.ZVEC_GREP_EMBED_PARALLELISM);
83
+ this.modelCacheDir =
84
+ options.modelCacheDir ??
85
+ process.env.ZVEC_GREP_MODEL_CACHE ??
86
+ DEFAULT_MODEL_CACHE_DIR;
87
+ this.gpu = embeddingDeviceToLlamaGpuSelection(options.device ?? "cpu");
88
+ this.parallelism = resolveParallelismOverride(process.env.ZVEC_GREP_LLAMA_CONTEXT_PARALLELISM);
89
+ this.dependencies = { ...defaultDependencies, ...dependencies };
84
90
  }
85
91
  async doEmbed(contents, options) {
92
+ return await this.embedBatch(contents, options);
93
+ }
94
+ async embedBatch(contents, options) {
86
95
  this.ensureNotDisposed();
87
96
  const texts = contents.map((content) => formatTextForEmbedding(content.text, options.purpose, this.entry));
88
97
  try {
89
- return await this.embedTexts(texts);
98
+ return await this.embedTexts(texts, options.onProgress);
90
99
  }
91
100
  catch (cause) {
92
101
  throw new EngineError("llama.cpp embedding failed", {
93
102
  code: "ZVEC_GREP.ENGINE.MODELS.LLAMA_CPP_EMBED_FAILED",
94
- context: `model=${this.entry.id}`,
103
+ context: `model=${this.entry.reference}`,
95
104
  cause,
96
105
  });
97
106
  }
@@ -105,32 +114,44 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
105
114
  this.modelLoadPromise = null;
106
115
  this.contextsCreatePromise = null;
107
116
  }
108
- async embedTexts(texts) {
109
- const contexts = await this.ensureEmbeddingContexts(texts.length);
117
+ async embedTexts(texts, onProgress) {
118
+ const contexts = await this.ensureEmbeddingContexts(texts.length, onProgress);
119
+ const truncatedInputIndexes = [];
120
+ const safeTexts = texts.map((text, index) => {
121
+ const result = this.truncateToContextSize(text);
122
+ if (result.truncated) {
123
+ truncatedInputIndexes.push(index);
124
+ }
125
+ return result.text;
126
+ });
110
127
  const chunkSize = Math.ceil(texts.length / contexts.length);
111
- const chunks = contexts.map((context, index) => ({
128
+ const chunks = contexts
129
+ .map((context, index) => ({
112
130
  context,
113
- texts: texts.slice(index * chunkSize, (index + 1) * chunkSize),
114
- })).filter((chunk) => chunk.texts.length > 0);
131
+ texts: safeTexts.slice(index * chunkSize, (index + 1) * chunkSize),
132
+ }))
133
+ .filter((chunk) => chunk.texts.length > 0);
115
134
  const results = await Promise.all(chunks.map(async (chunk) => {
116
135
  const vectors = [];
117
136
  for (const text of chunk.texts) {
118
- const safeText = this.truncateToContextSize(text);
119
- const embedding = await chunk.context.getEmbeddingFor(safeText);
137
+ const embedding = await chunk.context.getEmbeddingFor(text);
120
138
  vectors.push(Array.from(embedding.vector));
121
139
  }
122
140
  return vectors;
123
141
  }));
124
- return results.flat();
142
+ return {
143
+ vectors: results.flat(),
144
+ truncated: truncatedInputIndexes,
145
+ };
125
146
  }
126
- async ensureLlama() {
147
+ async ensureLlama(downloadProgress) {
127
148
  if (this.llama) {
128
149
  return this.llama;
129
150
  }
130
151
  if (this.llamaLoadPromise) {
131
152
  return await this.llamaLoadPromise;
132
153
  }
133
- this.llamaLoadPromise = this.loadLlamaWithFallback();
154
+ this.llamaLoadPromise = this.loadLlamaWithFallback(downloadProgress);
134
155
  try {
135
156
  return await this.llamaLoadPromise;
136
157
  }
@@ -138,57 +159,62 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
138
159
  this.llamaLoadPromise = null;
139
160
  }
140
161
  }
141
- async loadLlamaWithFallback() {
142
- const runtime = await loadNodeLlamaCpp();
162
+ async loadRuntime() {
163
+ this.runtimeImport ??= this.dependencies.loadRuntime();
164
+ return await this.runtimeImport;
165
+ }
166
+ async loadLlamaWithFallback(downloadProgress) {
167
+ const runtime = await this.loadRuntime();
143
168
  const requestedGpu = this.usingCpuFallback ? false : this.gpu;
144
169
  const load = (gpu) => runtime.getLlama({
145
170
  build: "autoAttempt",
146
171
  logLevel: runtime.LlamaLogLevel?.error,
147
172
  logger: llamaCppLogger,
148
173
  gpu,
174
+ cmakeOptions: defaultLlamaCppCmakeOptions(),
149
175
  progressLogs: false,
150
176
  });
151
177
  if (requestedGpu === false) {
152
- this.llama = await this.loadCpuCompatibleLlama(load);
178
+ this.llama = await this.loadCpuCompatibleLlama(load, downloadProgress);
153
179
  return this.llama;
154
180
  }
155
- if (failedGpuInitModes.has(requestedGpu)) {
156
- process.stderr.write(`zvec-grep warning: skipping previously failed llama.cpp GPU init${requestedGpu === "auto" ? "" : ` for ZVEC_GREP_LLAMA_GPU=${requestedGpu}`}, using CPU.\n`);
181
+ if (this.dependencies.runtimeState.failedGpuInitModes.has(requestedGpu)) {
182
+ reportLlamaWarning(downloadProgress, `skipping previously failed llama.cpp GPU init${requestedGpu === "auto" ? "" : ` for device=${requestedGpu}`}, using CPU.`);
157
183
  this.usingCpuFallback = true;
158
- this.llama = await this.loadCpuCompatibleLlama(load);
184
+ this.llama = await this.loadCpuCompatibleLlama(load, downloadProgress);
159
185
  return this.llama;
160
186
  }
161
187
  try {
162
188
  this.llama = await load(requestedGpu);
163
189
  }
164
190
  catch (error) {
165
- failedGpuInitModes.add(requestedGpu);
166
- process.stderr.write(`zvec-grep warning: llama.cpp GPU init failed (${formatErrorMessage(error)}), falling back to CPU.\n`);
191
+ this.dependencies.runtimeState.failedGpuInitModes.add(requestedGpu);
192
+ reportLlamaWarning(downloadProgress, `llama.cpp GPU init failed (${formatErrorMessage(error)}), falling back to CPU.`);
167
193
  this.usingCpuFallback = true;
168
- this.llama = await this.loadCpuCompatibleLlama(load);
194
+ this.llama = await this.loadCpuCompatibleLlama(load, downloadProgress);
169
195
  }
170
196
  return this.llama;
171
197
  }
172
- async loadCpuCompatibleLlama(load) {
198
+ async loadCpuCompatibleLlama(load, downloadProgress) {
173
199
  try {
174
200
  return await load(false);
175
201
  }
176
202
  catch (error) {
177
- if (!cpuCompatibleFallbackWarningShown) {
178
- cpuCompatibleFallbackWarningShown = true;
179
- process.stderr.write(`zvec-grep warning: CPU-only llama.cpp backend unavailable (${formatErrorMessage(error)}); using packaged backend with GPU model offloading disabled.\n`);
203
+ if (!this.dependencies.runtimeState.cpuCompatibleFallbackWarningShown) {
204
+ this.dependencies.runtimeState.cpuCompatibleFallbackWarningShown = true;
205
+ reportLlamaWarning(downloadProgress, `CPU-only llama.cpp backend unavailable (${formatErrorMessage(error)}); using packaged backend with GPU model offloading disabled.`);
180
206
  }
181
207
  return await load("auto");
182
208
  }
183
209
  }
184
- async ensureModel() {
210
+ async ensureModel(onProgress) {
185
211
  if (this.model) {
186
212
  return this.model;
187
213
  }
188
214
  if (this.modelLoadPromise) {
189
215
  return await this.modelLoadPromise;
190
216
  }
191
- this.modelLoadPromise = this.loadModelWithFallback();
217
+ this.modelLoadPromise = this.loadModelWithFallback(onProgress);
192
218
  try {
193
219
  return await this.modelLoadPromise;
194
220
  }
@@ -196,23 +222,32 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
196
222
  this.modelLoadPromise = null;
197
223
  }
198
224
  }
199
- async loadModelWithFallback() {
225
+ async loadModelWithFallback(onProgress) {
226
+ const downloadProgress = createModelDownloadProgressReporter(this.entry.reference, onProgress, [basename(this.entry.uri)]);
227
+ downloadProgress.start();
200
228
  try {
201
- return await this.loadModel();
229
+ const model = await this.loadModel(downloadProgress);
230
+ downloadProgress.finish();
231
+ return model;
202
232
  }
203
233
  catch (error) {
204
234
  if (!this.canRetryGpuOperationOnCpu()) {
205
235
  throw error;
206
236
  }
207
- process.stderr.write(`zvec-grep warning: llama.cpp GPU model load failed (${formatErrorMessage(error)}), falling back to CPU.\n`);
237
+ const warning = `llama.cpp GPU model load failed (${formatErrorMessage(error)}), falling back to CPU.`;
238
+ if (!downloadProgress.warning(warning)) {
239
+ process.stderr.write(`zvec-grep warning: ${warning}\n`);
240
+ }
208
241
  this.usingCpuFallback = true;
209
242
  await this.disposeLoadedRuntime();
210
- return await this.loadModel();
243
+ const model = await this.loadModel(downloadProgress);
244
+ downloadProgress.finish();
245
+ return model;
211
246
  }
212
247
  }
213
- async loadModel() {
214
- const llama = await this.ensureLlama();
215
- const modelPath = await this.resolveModelPath();
248
+ async loadModel(downloadProgress) {
249
+ const modelPath = await this.resolveModelPath(downloadProgress);
250
+ const llama = await this.ensureLlama(downloadProgress);
216
251
  const model = await llama.loadModel(this.modelLoadOptions(modelPath));
217
252
  this.model = model;
218
253
  return model;
@@ -223,7 +258,7 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
223
258
  ...(this.shouldDisableModelGpuOffload() ? { gpuLayers: 0 } : {}),
224
259
  };
225
260
  }
226
- async ensureEmbeddingContexts(textCount) {
261
+ async ensureEmbeddingContexts(textCount, onProgress) {
227
262
  const targetParallelism = await this.resolveEffectiveParallelism(textCount);
228
263
  if (this.contexts.length >= targetParallelism) {
229
264
  return this.contexts.slice(0, targetParallelism);
@@ -234,7 +269,7 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
234
269
  return this.contexts.slice(0, targetParallelism);
235
270
  }
236
271
  }
237
- this.contextsCreatePromise = this.createEmbeddingContextsWithFallback(targetParallelism);
272
+ this.contextsCreatePromise = this.createEmbeddingContextsWithFallback(targetParallelism, onProgress);
238
273
  try {
239
274
  await this.contextsCreatePromise;
240
275
  return this.contexts.slice(0, targetParallelism);
@@ -243,9 +278,9 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
243
278
  this.contextsCreatePromise = null;
244
279
  }
245
280
  }
246
- async createEmbeddingContextsWithFallback(targetParallelism) {
281
+ async createEmbeddingContextsWithFallback(targetParallelism, onProgress) {
247
282
  try {
248
- return await this.createEmbeddingContexts(targetParallelism);
283
+ return await this.createEmbeddingContexts(targetParallelism, onProgress);
249
284
  }
250
285
  catch (error) {
251
286
  if (!this.canRetryGpuOperationOnCpu()) {
@@ -254,11 +289,11 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
254
289
  process.stderr.write(`zvec-grep warning: llama.cpp GPU embedding context failed (${formatErrorMessage(error)}), falling back to CPU.\n`);
255
290
  this.usingCpuFallback = true;
256
291
  await this.disposeLoadedRuntime();
257
- return await this.createEmbeddingContexts(targetParallelism);
292
+ return await this.createEmbeddingContexts(targetParallelism, onProgress);
258
293
  }
259
294
  }
260
- async createEmbeddingContexts(targetParallelism) {
261
- const model = await this.ensureModel();
295
+ async createEmbeddingContexts(targetParallelism, onProgress) {
296
+ const model = await this.ensureModel(onProgress);
262
297
  const threads = await this.resolveThreadsPerContext(targetParallelism);
263
298
  const initialContextCount = this.contexts.length;
264
299
  while (this.contexts.length < targetParallelism) {
@@ -278,12 +313,10 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
278
313
  return this.contexts.slice(0, targetParallelism);
279
314
  }
280
315
  canRetryGpuOperationOnCpu() {
281
- return this.gpu !== false
282
- && !this.usingCpuFallback;
316
+ return this.gpu !== false && !this.usingCpuFallback;
283
317
  }
284
318
  shouldDisableModelGpuOffload() {
285
- return this.gpu === false
286
- || this.usingCpuFallback;
319
+ return this.gpu === false || this.usingCpuFallback;
287
320
  }
288
321
  async disposeLoadedRuntime() {
289
322
  const contexts = this.contexts;
@@ -305,22 +338,31 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
305
338
  this.modelLoadPromise = null;
306
339
  this.llamaLoadPromise = null;
307
340
  }
308
- async resolveModelPath() {
341
+ async resolveModelPath(downloadProgress) {
309
342
  mkdirSync(this.modelCacheDir, { recursive: true });
310
- const runtime = await loadNodeLlamaCpp();
343
+ const runtime = await this.loadRuntime();
311
344
  const modelPath = await runtime.resolveModelFile(this.entry.uri, {
312
345
  directory: this.modelCacheDir,
313
346
  cli: false,
347
+ onProgress: ({ downloadedSize, totalSize }) => {
348
+ downloadProgress.report({
349
+ artifact: basename(this.entry.uri),
350
+ downloadedBytes: downloadedSize,
351
+ totalBytes: totalSize,
352
+ });
353
+ },
314
354
  });
315
355
  validateGgufFile(modelPath, this.entry.uri);
316
356
  return modelPath;
317
357
  }
318
358
  async resolveParallelism() {
319
- if (this.embeddingParallelism !== undefined) {
320
- return this.embeddingParallelism;
359
+ if (this.parallelism !== undefined) {
360
+ return this.parallelism;
321
361
  }
322
362
  const llama = await this.ensureLlama();
323
- if (!this.shouldDisableModelGpuOffload() && llama.gpu && llama.getVramState) {
363
+ if (!this.shouldDisableModelGpuOffload() &&
364
+ llama.gpu &&
365
+ llama.getVramState) {
324
366
  try {
325
367
  const vram = await llama.getVramState();
326
368
  const freeMb = vram.free / (1024 * 1024);
@@ -350,20 +392,23 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
350
392
  truncateToContextSize(text) {
351
393
  const model = this.model;
352
394
  if (!model?.tokenize || !model.detokenize) {
353
- return text;
395
+ return { text, truncated: false };
354
396
  }
355
397
  const limit = Math.max(1, Math.min(this.entry.contextSize, model.trainContextSize ?? this.entry.contextSize));
356
398
  const tokens = model.tokenize(text);
357
399
  if (tokens.length <= limit) {
358
- return text;
400
+ return { text, truncated: false };
359
401
  }
360
- return model.detokenize(tokens.slice(0, Math.max(1, limit - 4)));
402
+ return {
403
+ text: model.detokenize(tokens.slice(0, Math.max(1, limit - 4))),
404
+ truncated: true,
405
+ };
361
406
  }
362
407
  ensureNotDisposed() {
363
408
  if (this.disposed) {
364
409
  throw new EngineError("llama.cpp embedding model is disposed", {
365
410
  code: "ZVEC_GREP.ENGINE.MODELS.LLAMA_CPP_DISPOSED",
366
- context: `model=${this.entry.id}`,
411
+ context: `model=${this.entry.reference}`,
367
412
  });
368
413
  }
369
414
  }
@@ -371,6 +416,11 @@ export class LlamaCppEmbeddingModel extends EmbeddingModel {
371
416
  function formatErrorMessage(error) {
372
417
  return error instanceof Error ? error.message : String(error);
373
418
  }
419
+ function reportLlamaWarning(downloadProgress, message) {
420
+ if (!downloadProgress?.warning(message)) {
421
+ process.stderr.write(`zvec-grep warning: ${message}\n`);
422
+ }
423
+ }
374
424
  function llamaCppLogger(_level, message) {
375
425
  const trimmed = message.trim();
376
426
  if (SUPPRESSED_LLAMA_CPP_LOG_MESSAGES.has(trimmed)) {
@@ -388,6 +438,17 @@ function formatLlamaCppLogMessage(message) {
388
438
  .map((line) => `[node-llama-cpp] ${line}`)
389
439
  .join("\n")}\n`;
390
440
  }
441
+ function defaultLlamaCppCmakeOptions() {
442
+ if (process.platform !== "darwin") {
443
+ return undefined;
444
+ }
445
+ // macOS machines commonly lack libomp, and Apple Clang's native ARM flag
446
+ // probe emits a scary CMake warning despite falling back successfully.
447
+ if (process.arch === "arm64") {
448
+ return { ...DEFAULT_DARWIN_ARM64_CMAKE_OPTIONS };
449
+ }
450
+ return { ...DEFAULT_DARWIN_CMAKE_OPTIONS };
451
+ }
391
452
  function formatTextForEmbedding(text, purpose, entry) {
392
453
  if (entry.format === "qwen3") {
393
454
  return purpose === "query"
@@ -398,19 +459,8 @@ function formatTextForEmbedding(text, purpose, entry) {
398
459
  ? `task: search result | query: ${text}`
399
460
  : `title: none | text: ${text}`;
400
461
  }
401
- function resolveLlamaGpuMode(envValue) {
402
- const normalized = envValue?.trim().toLowerCase() ?? "";
403
- if (!normalized) {
404
- return false;
405
- }
406
- if (["false", "off", "none", "disable", "disabled", "0"].includes(normalized)) {
407
- return false;
408
- }
409
- if (normalized === "auto" || normalized === "metal" || normalized === "vulkan" || normalized === "cuda") {
410
- return normalized;
411
- }
412
- process.stderr.write(`zvec-grep warning: invalid ZVEC_GREP_LLAMA_GPU="${envValue}", using CPU.\n`);
413
- return false;
462
+ function embeddingDeviceToLlamaGpuSelection(device) {
463
+ return device === "cpu" ? false : device;
414
464
  }
415
465
  function resolveParallelismOverride(envValue) {
416
466
  const normalized = envValue?.trim() ?? "";
@@ -419,7 +469,7 @@ function resolveParallelismOverride(envValue) {
419
469
  }
420
470
  const parsed = Number.parseInt(normalized, 10);
421
471
  if (!Number.isInteger(parsed) || parsed < 1) {
422
- process.stderr.write(`zvec-grep warning: invalid ZVEC_GREP_EMBED_PARALLELISM="${envValue}", using automatic parallelism.\n`);
472
+ process.stderr.write(`zvec-grep warning: invalid ZVEC_GREP_LLAMA_CONTEXT_PARALLELISM="${envValue}", using automatic parallelism.\n`);
423
473
  return undefined;
424
474
  }
425
475
  return Math.min(DEFAULT_PARALLELISM_CAP, parsed);
@@ -443,7 +493,9 @@ function validateGgufFile(filePath, modelUri) {
443
493
  const text = sniff.toString("utf8").toLowerCase();
444
494
  const isHtml = text.includes("<!doctype") || text.includes("<html");
445
495
  const got = header.toString("utf8");
446
- const sizeKb = existsSync(filePath) ? (statSync(filePath).size / 1024).toFixed(0) : "0";
496
+ const sizeKb = existsSync(filePath)
497
+ ? (statSync(filePath).size / 1024).toFixed(0)
498
+ : "0";
447
499
  unlinkSync(filePath);
448
500
  if (isHtml) {
449
501
  throw new EngineError("Downloaded local embedding model is HTML, not GGUF", {
@@ -456,4 +508,4 @@ function validateGgufFile(filePath, modelUri) {
456
508
  context: `model=${modelUri} path=${filePath} expected=GGUF actual=${got} sizeKB=${sizeKb}`,
457
509
  });
458
510
  }
459
- //# sourceMappingURL=embedding.js.map
511
+ //# sourceMappingURL=llama-cpp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llama-cpp.js","sourceRoot":"","sources":["../../../../src/engine/models/backends/llama-cpp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { Content } from "../../types.js";
2
+ import { BaseEmbeddingModel, type CreateEmbeddingModelOptions, type EmbeddingModelInfo, type EmbeddingResult, type NormalizedEmbeddingOptions } from "../embeddings.js";
3
+ import type { Model2VecEmbeddingCatalogEntry } from "../catalog.js";
4
+ type TokenTensor = {
5
+ data: ArrayLike<number | bigint>;
6
+ };
7
+ type TokenizerOutput = {
8
+ input_ids: TokenTensor;
9
+ };
10
+ type TokenizerLike = {
11
+ (text: string, options: {
12
+ add_special_tokens: false;
13
+ truncation: true;
14
+ max_length: number;
15
+ }): TokenizerOutput | Promise<TokenizerOutput>;
16
+ unk_token_id?: number | null;
17
+ };
18
+ type StaticEmbeddingTable = {
19
+ data: Float32Array | Uint16Array;
20
+ dimension: number;
21
+ dtype: "F16" | "F32";
22
+ rows: number;
23
+ };
24
+ type Model2VecDependencies = {
25
+ loadTokenizer(repo: string, options: {
26
+ cache_dir: string;
27
+ revision: string;
28
+ local_files_only?: boolean;
29
+ }): Promise<TokenizerLike>;
30
+ loadSafetensors(path: string, tensorName: string, dimension: number): Promise<StaticEmbeddingTable>;
31
+ download(url: string, destination: string, onProgress?: (progress: {
32
+ downloadedBytes: number;
33
+ totalBytes?: number;
34
+ }) => void): Promise<void>;
35
+ };
36
+ export declare class Model2VecEmbeddingModel extends BaseEmbeddingModel {
37
+ private readonly entry;
38
+ readonly info: EmbeddingModelInfo;
39
+ private readonly modelCacheDir;
40
+ private readonly dependencies;
41
+ private tokenizer;
42
+ private staticTable;
43
+ private loadPromise;
44
+ private disposed;
45
+ constructor(entry: Model2VecEmbeddingCatalogEntry, options: CreateEmbeddingModelOptions, dependencies?: Partial<Model2VecDependencies>);
46
+ protected doEmbed(contents: readonly Content[], options: NormalizedEmbeddingOptions): Promise<EmbeddingResult>;
47
+ private embedBatch;
48
+ dispose(): Promise<void>;
49
+ private ensureLoaded;
50
+ private loadModel;
51
+ private resolveModelPath;
52
+ private resolveTokenizerSource;
53
+ private resolveCachedFile;
54
+ private embedTexts;
55
+ private ensureNotDisposed;
56
+ }
57
+ export {};