kynjal-cli 3.1.3 → 4.0.0

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 (566) hide show
  1. package/.claude/agents/core/coder.md +1 -1
  2. package/.claude/agents/core/planner.md +2 -2
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/core/reviewer.md +1 -1
  5. package/.claude/agents/core/tester.md +1 -1
  6. package/.claude/agents/data/data-ml-model.md +4 -4
  7. package/.claude/agents/development/dev-backend-api.md +4 -4
  8. package/.claude/agents/documentation/docs-api-openapi.md +4 -4
  9. package/.claude/agents/github/code-review-swarm.md +2 -2
  10. package/.claude/agents/github/issue-tracker.md +2 -2
  11. package/.claude/agents/github/pr-manager.md +2 -2
  12. package/.claude/agents/github/release-manager.md +2 -2
  13. package/.claude/agents/github/workflow-automation.md +2 -2
  14. package/.claude/agents/sparc/architecture.md +3 -3
  15. package/.claude/agents/sparc/pseudocode.md +2 -2
  16. package/.claude/agents/sparc/refinement.md +3 -3
  17. package/.claude/agents/sparc/specification.md +2 -2
  18. package/.claude/agents/swarm/adaptive-coordinator.md +1 -1
  19. package/.claude/agents/swarm/hierarchical-coordinator.md +1 -1
  20. package/.claude/agents/swarm/mesh-coordinator.md +1 -1
  21. package/.claude/agents/templates/base-template-generator.md +25 -4
  22. package/.claude/agents/templates/sparc-coordinator.md +3 -3
  23. package/.claude/helpers/auto-commit.sh +1 -1
  24. package/.claude/helpers/auto-memory-hook.mjs +27 -9
  25. package/.claude/helpers/hook-handler.cjs +58 -18
  26. package/.claude/helpers/statusline.cjs +14 -33
  27. package/.claude/helpers/statusline.js +3 -3
  28. package/.claude/settings.json +9 -9
  29. package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
  30. package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
  31. package/README.md +383 -170
  32. package/bin/cli.js +6 -6
  33. package/bin/mcp-server.js +1 -1
  34. package/bin/preinstall.cjs +2 -0
  35. package/dist/src/appliance/gguf-engine.js +664 -0
  36. package/dist/src/appliance/gguf-engine.js.map +1 -0
  37. package/dist/src/appliance/ruvllm-bridge.js +492 -0
  38. package/dist/src/appliance/ruvllm-bridge.js.map +1 -0
  39. package/dist/src/appliance/rvfa-builder.js +383 -0
  40. package/dist/src/appliance/rvfa-builder.js.map +1 -0
  41. package/dist/src/appliance/rvfa-distribution.js +533 -0
  42. package/dist/src/appliance/rvfa-distribution.js.map +1 -0
  43. package/dist/src/appliance/rvfa-format.js +465 -0
  44. package/dist/src/appliance/rvfa-format.js.map +1 -0
  45. package/dist/src/appliance/rvfa-runner.js +373 -0
  46. package/dist/src/appliance/rvfa-runner.js.map +1 -0
  47. package/dist/src/appliance/rvfa-signing.js +469 -0
  48. package/dist/src/appliance/rvfa-signing.js.map +1 -0
  49. package/dist/src/benchmarks/pretrain/index.js +542 -331
  50. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  51. package/dist/src/commands/agent.d.ts.map +1 -1
  52. package/dist/src/commands/agent.js +725 -502
  53. package/dist/src/commands/agent.js.map +1 -1
  54. package/dist/src/commands/analyze.js +1548 -1218
  55. package/dist/src/commands/analyze.js.map +1 -1
  56. package/dist/src/commands/appliance-advanced.d.ts +9 -0
  57. package/dist/src/commands/appliance-advanced.d.ts.map +1 -0
  58. package/dist/src/commands/appliance-advanced.js +324 -0
  59. package/dist/src/commands/appliance-advanced.js.map +1 -0
  60. package/dist/src/commands/appliance.d.ts +8 -0
  61. package/dist/src/commands/appliance.d.ts.map +1 -0
  62. package/dist/src/commands/appliance.js +581 -0
  63. package/dist/src/commands/appliance.js.map +1 -0
  64. package/dist/src/commands/benchmark.js +523 -372
  65. package/dist/src/commands/benchmark.js.map +1 -1
  66. package/dist/src/commands/claims.js +364 -274
  67. package/dist/src/commands/claims.js.map +1 -1
  68. package/dist/src/commands/cleanup.d.ts +13 -0
  69. package/dist/src/commands/cleanup.d.ts.map +1 -0
  70. package/dist/src/commands/cleanup.js +262 -0
  71. package/dist/src/commands/cleanup.js.map +1 -0
  72. package/dist/src/commands/completions.js +118 -477
  73. package/dist/src/commands/completions.js.map +1 -1
  74. package/dist/src/commands/config.js +303 -237
  75. package/dist/src/commands/config.js.map +1 -1
  76. package/dist/src/commands/daemon.d.ts.map +1 -1
  77. package/dist/src/commands/daemon.js +597 -425
  78. package/dist/src/commands/daemon.js.map +1 -1
  79. package/dist/src/commands/deployment.js +275 -194
  80. package/dist/src/commands/deployment.js.map +1 -1
  81. package/dist/src/commands/doctor.d.ts.map +1 -1
  82. package/dist/src/commands/doctor.js +690 -460
  83. package/dist/src/commands/doctor.js.map +1 -1
  84. package/dist/src/commands/embeddings.js +1543 -1293
  85. package/dist/src/commands/embeddings.js.map +1 -1
  86. package/dist/src/commands/guidance.js +596 -449
  87. package/dist/src/commands/guidance.js.map +1 -1
  88. package/dist/src/commands/hive-mind.js +938 -854
  89. package/dist/src/commands/hive-mind.js.map +1 -1
  90. package/dist/src/commands/hooks.d.ts.map +1 -1
  91. package/dist/src/commands/hooks.js +3677 -2570
  92. package/dist/src/commands/hooks.js.map +1 -1
  93. package/dist/src/commands/index.js +322 -122
  94. package/dist/src/commands/index.js.map +1 -1
  95. package/dist/src/commands/init.d.ts +1 -1
  96. package/dist/src/commands/init.d.ts.map +1 -1
  97. package/dist/src/commands/init.js +943 -787
  98. package/dist/src/commands/init.js.map +1 -1
  99. package/dist/src/commands/issues.js +558 -383
  100. package/dist/src/commands/issues.js.map +1 -1
  101. package/dist/src/commands/mcp.d.ts.map +1 -1
  102. package/dist/src/commands/mcp.js +605 -475
  103. package/dist/src/commands/mcp.js.map +1 -1
  104. package/dist/src/commands/memory.d.ts.map +1 -1
  105. package/dist/src/commands/memory.js +1031 -814
  106. package/dist/src/commands/memory.js.map +1 -1
  107. package/dist/src/commands/migrate.js +347 -282
  108. package/dist/src/commands/migrate.js.map +1 -1
  109. package/dist/src/commands/neural.d.ts.map +1 -1
  110. package/dist/src/commands/neural.js +1563 -1283
  111. package/dist/src/commands/neural.js.map +1 -1
  112. package/dist/src/commands/performance.js +643 -497
  113. package/dist/src/commands/performance.js.map +1 -1
  114. package/dist/src/commands/plugins.js +841 -668
  115. package/dist/src/commands/plugins.js.map +1 -1
  116. package/dist/src/commands/process.js +447 -392
  117. package/dist/src/commands/process.js.map +1 -1
  118. package/dist/src/commands/progress.js +256 -162
  119. package/dist/src/commands/progress.js.map +1 -1
  120. package/dist/src/commands/providers.js +220 -150
  121. package/dist/src/commands/providers.js.map +1 -1
  122. package/dist/src/commands/route.js +665 -520
  123. package/dist/src/commands/route.js.map +1 -1
  124. package/dist/src/commands/ruvector/backup.js +651 -505
  125. package/dist/src/commands/ruvector/backup.js.map +1 -1
  126. package/dist/src/commands/ruvector/benchmark.js +401 -349
  127. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  128. package/dist/src/commands/ruvector/import.js +267 -225
  129. package/dist/src/commands/ruvector/import.js.map +1 -1
  130. package/dist/src/commands/ruvector/index.js +75 -37
  131. package/dist/src/commands/ruvector/index.js.map +1 -1
  132. package/dist/src/commands/ruvector/init.js +359 -336
  133. package/dist/src/commands/ruvector/init.js.map +1 -1
  134. package/dist/src/commands/ruvector/migrate.js +322 -335
  135. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  136. package/dist/src/commands/ruvector/optimize.js +431 -375
  137. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  138. package/dist/src/commands/ruvector/setup.js +117 -703
  139. package/dist/src/commands/ruvector/setup.js.map +1 -1
  140. package/dist/src/commands/ruvector/status.js +419 -364
  141. package/dist/src/commands/ruvector/status.js.map +1 -1
  142. package/dist/src/commands/security.d.ts.map +1 -1
  143. package/dist/src/commands/security.js +610 -456
  144. package/dist/src/commands/security.js.map +1 -1
  145. package/dist/src/commands/session.d.ts +1 -1
  146. package/dist/src/commands/session.js +627 -505
  147. package/dist/src/commands/session.js.map +1 -1
  148. package/dist/src/commands/start.d.ts +1 -1
  149. package/dist/src/commands/start.js +368 -271
  150. package/dist/src/commands/start.js.map +1 -1
  151. package/dist/src/commands/status.d.ts +1 -1
  152. package/dist/src/commands/status.d.ts.map +1 -1
  153. package/dist/src/commands/status.js +492 -379
  154. package/dist/src/commands/status.js.map +1 -1
  155. package/dist/src/commands/swarm.js +488 -408
  156. package/dist/src/commands/swarm.js.map +1 -1
  157. package/dist/src/commands/task.d.ts +1 -1
  158. package/dist/src/commands/task.js +539 -424
  159. package/dist/src/commands/task.js.map +1 -1
  160. package/dist/src/commands/transfer-store.js +412 -322
  161. package/dist/src/commands/transfer-store.js.map +1 -1
  162. package/dist/src/commands/update.js +291 -196
  163. package/dist/src/commands/update.js.map +1 -1
  164. package/dist/src/commands/workflow.js +486 -386
  165. package/dist/src/commands/workflow.js.map +1 -1
  166. package/dist/src/config-adapter.js +40 -39
  167. package/dist/src/config-adapter.js.map +1 -1
  168. package/dist/src/index.js +416 -312
  169. package/dist/src/index.js.map +1 -1
  170. package/dist/src/infrastructure/in-memory-repositories.js +507 -246
  171. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  172. package/dist/src/init/claudemd-generator.js +78 -368
  173. package/dist/src/init/claudemd-generator.js.map +1 -1
  174. package/dist/src/init/executor.js +1019 -1345
  175. package/dist/src/init/executor.js.map +1 -1
  176. package/dist/src/init/helpers-generator.js +60 -635
  177. package/dist/src/init/helpers-generator.js.map +1 -1
  178. package/dist/src/init/index.d.ts +1 -1
  179. package/dist/src/init/index.d.ts.map +1 -1
  180. package/dist/src/init/index.js +1 -1
  181. package/dist/src/init/index.js.map +1 -1
  182. package/dist/src/init/mcp-generator.d.ts +0 -1
  183. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  184. package/dist/src/init/mcp-generator.js +62 -42
  185. package/dist/src/init/mcp-generator.js.map +1 -1
  186. package/dist/src/init/settings-generator.d.ts.map +1 -1
  187. package/dist/src/init/settings-generator.js +167 -100
  188. package/dist/src/init/settings-generator.js.map +1 -1
  189. package/dist/src/init/statusline-generator.d.ts +16 -8
  190. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  191. package/dist/src/init/statusline-generator.js +20 -1300
  192. package/dist/src/init/statusline-generator.js.map +1 -1
  193. package/dist/src/init/types.d.ts +15 -5
  194. package/dist/src/init/types.d.ts.map +1 -1
  195. package/dist/src/init/types.js +66 -76
  196. package/dist/src/init/types.js.map +1 -1
  197. package/dist/src/mcp-client.js +130 -76
  198. package/dist/src/mcp-client.js.map +1 -1
  199. package/dist/src/mcp-server.js +758 -445
  200. package/dist/src/mcp-server.js.map +1 -1
  201. package/dist/src/mcp-tools/agent-tools.js +492 -391
  202. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  204. package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -0
  205. package/dist/src/mcp-tools/agentdb-tools.js +758 -0
  206. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -0
  207. package/dist/src/mcp-tools/analyze-tools.js +236 -172
  208. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/auto-install.js +142 -80
  210. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  211. package/dist/src/mcp-tools/browser-tools.js +375 -252
  212. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/claims-tools.js +565 -473
  214. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  216. package/dist/src/mcp-tools/config-tools.js +284 -190
  217. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  218. package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -1
  219. package/dist/src/mcp-tools/coordination-tools.js +600 -349
  220. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/daa-tools.js +367 -289
  222. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/embeddings-tools.js +693 -582
  224. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/github-tools.js +312 -261
  226. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  228. package/dist/src/mcp-tools/hive-mind-tools.js +718 -423
  229. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  230. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  231. package/dist/src/mcp-tools/hooks-tools.js +2726 -1978
  232. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  233. package/dist/src/mcp-tools/index.d.ts +2 -0
  234. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  235. package/dist/src/mcp-tools/index.js +2 -0
  236. package/dist/src/mcp-tools/index.js.map +1 -1
  237. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  238. package/dist/src/mcp-tools/memory-tools.js +514 -329
  239. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  240. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
  241. package/dist/src/mcp-tools/neural-tools.js +428 -326
  242. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  243. package/dist/src/mcp-tools/performance-tools.js +480 -420
  244. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  245. package/dist/src/mcp-tools/progress-tools.js +278 -204
  246. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  247. package/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
  248. package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -0
  249. package/dist/src/mcp-tools/ruvllm-tools.js +399 -0
  250. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -0
  251. package/dist/src/mcp-tools/security-tools.js +429 -297
  252. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  253. package/dist/src/mcp-tools/session-tools.js +234 -185
  254. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  255. package/dist/src/mcp-tools/swarm-tools.d.ts +2 -1
  256. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  257. package/dist/src/mcp-tools/swarm-tools.js +303 -64
  258. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  259. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  260. package/dist/src/mcp-tools/system-tools.js +352 -200
  261. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  262. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  263. package/dist/src/mcp-tools/task-tools.js +357 -189
  264. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  265. package/dist/src/mcp-tools/terminal-tools.js +196 -148
  266. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  267. package/dist/src/mcp-tools/transfer-tools.js +333 -186
  268. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  269. package/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
  270. package/dist/src/mcp-tools/wasm-agent-tools.d.ts.map +1 -0
  271. package/dist/src/mcp-tools/wasm-agent-tools.js +377 -0
  272. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -0
  273. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
  274. package/dist/src/mcp-tools/workflow-tools.js +471 -335
  275. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  276. package/dist/src/memory/ewc-consolidation.js +345 -173
  277. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  278. package/dist/src/memory/intelligence.js +841 -359
  279. package/dist/src/memory/intelligence.js.map +1 -1
  280. package/dist/src/memory/memory-bridge.js +1964 -0
  281. package/dist/src/memory/memory-bridge.js.map +1 -0
  282. package/dist/src/memory/memory-initializer.js +1895 -1602
  283. package/dist/src/memory/memory-initializer.js.map +1 -1
  284. package/dist/src/memory/sona-optimizer.js +329 -199
  285. package/dist/src/memory/sona-optimizer.js.map +1 -1
  286. package/dist/src/output.d.ts +2 -2
  287. package/dist/src/output.d.ts.map +1 -1
  288. package/dist/src/output.js +273 -242
  289. package/dist/src/output.js.map +1 -1
  290. package/dist/src/parser.js +217 -124
  291. package/dist/src/parser.js.map +1 -1
  292. package/dist/src/plugins/manager.js +531 -278
  293. package/dist/src/plugins/manager.js.map +1 -1
  294. package/dist/src/plugins/store/discovery.js +362 -275
  295. package/dist/src/plugins/store/discovery.js.map +1 -1
  296. package/dist/src/plugins/store/index.js +105 -48
  297. package/dist/src/plugins/store/index.js.map +1 -1
  298. package/dist/src/plugins/store/search.js +107 -69
  299. package/dist/src/plugins/store/search.js.map +1 -1
  300. package/dist/src/plugins/tests/demo-plugin-store.js +160 -113
  301. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  302. package/dist/src/plugins/tests/standalone-test.js +223 -172
  303. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  304. package/dist/src/plugins/tests/test-plugin-store.js +228 -190
  305. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  306. package/dist/src/production/circuit-breaker.js +126 -62
  307. package/dist/src/production/circuit-breaker.js.map +1 -1
  308. package/dist/src/production/error-handler.js +156 -86
  309. package/dist/src/production/error-handler.js.map +1 -1
  310. package/dist/src/production/monitoring.js +220 -139
  311. package/dist/src/production/monitoring.js.map +1 -1
  312. package/dist/src/production/rate-limiter.js +93 -74
  313. package/dist/src/production/rate-limiter.js.map +1 -1
  314. package/dist/src/production/retry.js +167 -75
  315. package/dist/src/production/retry.js.map +1 -1
  316. package/dist/src/prompt.js +560 -436
  317. package/dist/src/prompt.js.map +1 -1
  318. package/dist/src/runtime/headless.js +289 -200
  319. package/dist/src/runtime/headless.js.map +1 -1
  320. package/dist/src/ruvector/agent-wasm.js +511 -0
  321. package/dist/src/ruvector/agent-wasm.js.map +1 -0
  322. package/dist/src/ruvector/ast-analyzer.js +232 -145
  323. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  324. package/dist/src/ruvector/coverage-router.js +419 -287
  325. package/dist/src/ruvector/coverage-router.js.map +1 -1
  326. package/dist/src/ruvector/coverage-tools.js +101 -56
  327. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  328. package/dist/src/ruvector/diff-classifier.js +451 -324
  329. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  330. package/dist/src/ruvector/enhanced-model-router.js +337 -251
  331. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  332. package/dist/src/ruvector/flash-attention.js +254 -223
  333. package/dist/src/ruvector/flash-attention.js.map +1 -1
  334. package/dist/src/ruvector/graph-analyzer.js +680 -486
  335. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  336. package/dist/src/ruvector/index.js +113 -27
  337. package/dist/src/ruvector/index.js.map +1 -1
  338. package/dist/src/ruvector/lora-adapter.js +248 -155
  339. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  340. package/dist/src/ruvector/model-router.js +248 -175
  341. package/dist/src/ruvector/model-router.js.map +1 -1
  342. package/dist/src/ruvector/moe-router.js +286 -228
  343. package/dist/src/ruvector/moe-router.js.map +1 -1
  344. package/dist/src/ruvector/q-learning-router.js +338 -257
  345. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  346. package/dist/src/ruvector/ruvllm-wasm.js +527 -0
  347. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -0
  348. package/dist/src/ruvector/semantic-router.js +67 -60
  349. package/dist/src/ruvector/semantic-router.js.map +1 -1
  350. package/dist/src/ruvector/vector-db.js +205 -119
  351. package/dist/src/ruvector/vector-db.js.map +1 -1
  352. package/dist/src/services/agentic-flow-bridge.js +168 -0
  353. package/dist/src/services/agentic-flow-bridge.js.map +1 -0
  354. package/dist/src/services/claim-service.js +940 -615
  355. package/dist/src/services/claim-service.js.map +1 -1
  356. package/dist/src/services/container-worker-pool.js +669 -399
  357. package/dist/src/services/container-worker-pool.js.map +1 -1
  358. package/dist/src/services/headless-worker-executor.js +467 -441
  359. package/dist/src/services/headless-worker-executor.js.map +1 -1
  360. package/dist/src/services/index.d.ts +5 -5
  361. package/dist/src/services/index.d.ts.map +1 -1
  362. package/dist/src/services/index.js +4 -4
  363. package/dist/src/services/index.js.map +1 -1
  364. package/dist/src/services/registry-api.js +201 -93
  365. package/dist/src/services/registry-api.js.map +1 -1
  366. package/dist/src/services/ruvector-training.js +414 -144
  367. package/dist/src/services/ruvector-training.js.map +1 -1
  368. package/dist/src/services/worker-daemon.js +928 -531
  369. package/dist/src/services/worker-daemon.js.map +1 -1
  370. package/dist/src/services/worker-queue.js +550 -331
  371. package/dist/src/services/worker-queue.js.map +1 -1
  372. package/dist/src/suggest.js +55 -45
  373. package/dist/src/suggest.js.map +1 -1
  374. package/dist/src/transfer/anonymization/index.js +37 -29
  375. package/dist/src/transfer/anonymization/index.js.map +1 -1
  376. package/dist/src/transfer/deploy-seraphine.d.ts +1 -1
  377. package/dist/src/transfer/deploy-seraphine.js +156 -129
  378. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  379. package/dist/src/transfer/export.js +142 -84
  380. package/dist/src/transfer/export.js.map +1 -1
  381. package/dist/src/transfer/index.d.ts +1 -1
  382. package/dist/src/transfer/index.d.ts.map +1 -1
  383. package/dist/src/transfer/index.js +2 -0
  384. package/dist/src/transfer/index.js.map +1 -1
  385. package/dist/src/transfer/ipfs/client.js +337 -179
  386. package/dist/src/transfer/ipfs/client.js.map +1 -1
  387. package/dist/src/transfer/ipfs/upload.js +434 -290
  388. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  389. package/dist/src/transfer/models/seraphine.js +58 -58
  390. package/dist/src/transfer/models/seraphine.js.map +1 -1
  391. package/dist/src/transfer/serialization/cfp.js +37 -33
  392. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  393. package/dist/src/transfer/storage/gcs.js +248 -139
  394. package/dist/src/transfer/storage/gcs.js.map +1 -1
  395. package/dist/src/transfer/store/discovery.js +353 -243
  396. package/dist/src/transfer/store/discovery.js.map +1 -1
  397. package/dist/src/transfer/store/download.js +365 -243
  398. package/dist/src/transfer/store/download.js.map +1 -1
  399. package/dist/src/transfer/store/index.js +130 -63
  400. package/dist/src/transfer/store/index.js.map +1 -1
  401. package/dist/src/transfer/store/publish.js +258 -184
  402. package/dist/src/transfer/store/publish.js.map +1 -1
  403. package/dist/src/transfer/store/registry.js +73 -51
  404. package/dist/src/transfer/store/registry.js.map +1 -1
  405. package/dist/src/transfer/store/search.js +96 -64
  406. package/dist/src/transfer/store/search.js.map +1 -1
  407. package/dist/src/transfer/store/tests/standalone-test.js +231 -174
  408. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  409. package/dist/src/transfer/test-seraphine.js +130 -95
  410. package/dist/src/transfer/test-seraphine.js.map +1 -1
  411. package/dist/src/transfer/tests/test-store.js +239 -194
  412. package/dist/src/transfer/tests/test-store.js.map +1 -1
  413. package/dist/src/types.js +56 -27
  414. package/dist/src/types.js.map +1 -1
  415. package/dist/src/update/checker.js +183 -106
  416. package/dist/src/update/checker.js.map +1 -1
  417. package/dist/src/update/executor.js +198 -135
  418. package/dist/src/update/executor.js.map +1 -1
  419. package/dist/src/update/index.js +85 -38
  420. package/dist/src/update/index.js.map +1 -1
  421. package/dist/src/update/rate-limiter.js +31 -19
  422. package/dist/src/update/rate-limiter.js.map +1 -1
  423. package/dist/src/update/validator.js +64 -38
  424. package/dist/src/update/validator.js.map +1 -1
  425. package/dist/tsconfig.tsbuildinfo +1 -1
  426. package/package.json +13 -10
  427. package/.claude/agents/custom/accessibility-auditor.yaml +0 -56
  428. package/.claude/agents/custom/design-architect.yaml +0 -48
  429. package/.claude/agents/custom/ui-developer.yaml +0 -46
  430. package/.claude/agents/custom/ux-researcher.yaml +0 -60
  431. package/dist/src/benchmarks/pretrain/index.d.ts +0 -58
  432. package/dist/src/benchmarks/pretrain/index.d.ts.map +0 -1
  433. package/dist/src/commands/index.d.ts +0 -108
  434. package/dist/src/commands/index.d.ts.map +0 -1
  435. package/dist/src/config-adapter.d.ts +0 -15
  436. package/dist/src/config-adapter.d.ts.map +0 -1
  437. package/dist/src/index.d.ts +0 -76
  438. package/dist/src/index.d.ts.map +0 -1
  439. package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  440. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +0 -1
  441. package/dist/src/init/claudemd-generator.d.ts +0 -25
  442. package/dist/src/init/claudemd-generator.d.ts.map +0 -1
  443. package/dist/src/init/executor.d.ts +0 -41
  444. package/dist/src/init/executor.d.ts.map +0 -1
  445. package/dist/src/init/helpers-generator.d.ts +0 -60
  446. package/dist/src/init/helpers-generator.d.ts.map +0 -1
  447. package/dist/src/mcp-client.d.ts +0 -92
  448. package/dist/src/mcp-client.d.ts.map +0 -1
  449. package/dist/src/mcp-server.d.ts +0 -161
  450. package/dist/src/mcp-server.d.ts.map +0 -1
  451. package/dist/src/mcp-tools/auto-install.d.ts +0 -83
  452. package/dist/src/mcp-tools/auto-install.d.ts.map +0 -1
  453. package/dist/src/mcp-tools/types.d.ts +0 -31
  454. package/dist/src/mcp-tools/types.d.ts.map +0 -1
  455. package/dist/src/memory/ewc-consolidation.d.ts +0 -271
  456. package/dist/src/memory/ewc-consolidation.d.ts.map +0 -1
  457. package/dist/src/memory/intelligence.d.ts +0 -285
  458. package/dist/src/memory/intelligence.d.ts.map +0 -1
  459. package/dist/src/memory/memory-initializer.d.ts +0 -396
  460. package/dist/src/memory/memory-initializer.d.ts.map +0 -1
  461. package/dist/src/memory/sona-optimizer.d.ts +0 -227
  462. package/dist/src/memory/sona-optimizer.d.ts.map +0 -1
  463. package/dist/src/parser.d.ts +0 -41
  464. package/dist/src/parser.d.ts.map +0 -1
  465. package/dist/src/plugins/manager.d.ts +0 -133
  466. package/dist/src/plugins/manager.d.ts.map +0 -1
  467. package/dist/src/plugins/store/discovery.d.ts +0 -88
  468. package/dist/src/plugins/store/discovery.d.ts.map +0 -1
  469. package/dist/src/plugins/store/index.d.ts +0 -76
  470. package/dist/src/plugins/store/index.d.ts.map +0 -1
  471. package/dist/src/plugins/store/search.d.ts +0 -46
  472. package/dist/src/plugins/store/search.d.ts.map +0 -1
  473. package/dist/src/plugins/store/types.d.ts +0 -274
  474. package/dist/src/plugins/store/types.d.ts.map +0 -1
  475. package/dist/src/production/circuit-breaker.d.ts +0 -101
  476. package/dist/src/production/circuit-breaker.d.ts.map +0 -1
  477. package/dist/src/production/error-handler.d.ts +0 -92
  478. package/dist/src/production/error-handler.d.ts.map +0 -1
  479. package/dist/src/production/monitoring.d.ts +0 -161
  480. package/dist/src/production/monitoring.d.ts.map +0 -1
  481. package/dist/src/production/rate-limiter.d.ts +0 -80
  482. package/dist/src/production/rate-limiter.d.ts.map +0 -1
  483. package/dist/src/production/retry.d.ts +0 -48
  484. package/dist/src/production/retry.d.ts.map +0 -1
  485. package/dist/src/prompt.d.ts +0 -44
  486. package/dist/src/prompt.d.ts.map +0 -1
  487. package/dist/src/runtime/headless.d.ts +0 -60
  488. package/dist/src/runtime/headless.d.ts.map +0 -1
  489. package/dist/src/ruvector/ast-analyzer.d.ts +0 -67
  490. package/dist/src/ruvector/ast-analyzer.d.ts.map +0 -1
  491. package/dist/src/ruvector/coverage-router.d.ts +0 -160
  492. package/dist/src/ruvector/coverage-router.d.ts.map +0 -1
  493. package/dist/src/ruvector/diff-classifier.d.ts +0 -175
  494. package/dist/src/ruvector/diff-classifier.d.ts.map +0 -1
  495. package/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
  496. package/dist/src/ruvector/enhanced-model-router.d.ts.map +0 -1
  497. package/dist/src/ruvector/flash-attention.d.ts +0 -195
  498. package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
  499. package/dist/src/ruvector/graph-analyzer.d.ts +0 -187
  500. package/dist/src/ruvector/graph-analyzer.d.ts.map +0 -1
  501. package/dist/src/ruvector/index.d.ts +0 -34
  502. package/dist/src/ruvector/index.d.ts.map +0 -1
  503. package/dist/src/ruvector/lora-adapter.d.ts +0 -218
  504. package/dist/src/ruvector/lora-adapter.d.ts.map +0 -1
  505. package/dist/src/ruvector/model-router.d.ts +0 -220
  506. package/dist/src/ruvector/model-router.d.ts.map +0 -1
  507. package/dist/src/ruvector/moe-router.d.ts +0 -206
  508. package/dist/src/ruvector/moe-router.d.ts.map +0 -1
  509. package/dist/src/ruvector/q-learning-router.d.ts +0 -211
  510. package/dist/src/ruvector/q-learning-router.d.ts.map +0 -1
  511. package/dist/src/ruvector/semantic-router.d.ts +0 -77
  512. package/dist/src/ruvector/semantic-router.d.ts.map +0 -1
  513. package/dist/src/ruvector/vector-db.d.ts +0 -69
  514. package/dist/src/ruvector/vector-db.d.ts.map +0 -1
  515. package/dist/src/services/claim-service.d.ts +0 -204
  516. package/dist/src/services/claim-service.d.ts.map +0 -1
  517. package/dist/src/services/container-worker-pool.d.ts +0 -197
  518. package/dist/src/services/container-worker-pool.d.ts.map +0 -1
  519. package/dist/src/services/headless-worker-executor.d.ts +0 -304
  520. package/dist/src/services/headless-worker-executor.d.ts.map +0 -1
  521. package/dist/src/services/registry-api.d.ts +0 -58
  522. package/dist/src/services/registry-api.d.ts.map +0 -1
  523. package/dist/src/services/ruvector-training.d.ts +0 -213
  524. package/dist/src/services/ruvector-training.d.ts.map +0 -1
  525. package/dist/src/services/worker-daemon.d.ts +0 -203
  526. package/dist/src/services/worker-daemon.d.ts.map +0 -1
  527. package/dist/src/services/worker-queue.d.ts +0 -194
  528. package/dist/src/services/worker-queue.d.ts.map +0 -1
  529. package/dist/src/suggest.d.ts +0 -53
  530. package/dist/src/suggest.d.ts.map +0 -1
  531. package/dist/src/transfer/export.d.ts +0 -25
  532. package/dist/src/transfer/export.d.ts.map +0 -1
  533. package/dist/src/transfer/ipfs/client.d.ts +0 -109
  534. package/dist/src/transfer/ipfs/client.d.ts.map +0 -1
  535. package/dist/src/transfer/ipfs/upload.d.ts +0 -95
  536. package/dist/src/transfer/ipfs/upload.d.ts.map +0 -1
  537. package/dist/src/transfer/models/seraphine.d.ts +0 -72
  538. package/dist/src/transfer/models/seraphine.d.ts.map +0 -1
  539. package/dist/src/transfer/serialization/cfp.d.ts +0 -49
  540. package/dist/src/transfer/serialization/cfp.d.ts.map +0 -1
  541. package/dist/src/transfer/storage/gcs.d.ts +0 -82
  542. package/dist/src/transfer/storage/gcs.d.ts.map +0 -1
  543. package/dist/src/transfer/store/discovery.d.ts +0 -84
  544. package/dist/src/transfer/store/discovery.d.ts.map +0 -1
  545. package/dist/src/transfer/store/download.d.ts +0 -70
  546. package/dist/src/transfer/store/download.d.ts.map +0 -1
  547. package/dist/src/transfer/store/index.d.ts +0 -84
  548. package/dist/src/transfer/store/index.d.ts.map +0 -1
  549. package/dist/src/transfer/store/publish.d.ts +0 -76
  550. package/dist/src/transfer/store/publish.d.ts.map +0 -1
  551. package/dist/src/transfer/store/search.d.ts +0 -54
  552. package/dist/src/transfer/store/search.d.ts.map +0 -1
  553. package/dist/src/transfer/types.d.ts +0 -245
  554. package/dist/src/transfer/types.d.ts.map +0 -1
  555. package/dist/src/types.d.ts +0 -198
  556. package/dist/src/types.d.ts.map +0 -1
  557. package/dist/src/update/checker.d.ts +0 -34
  558. package/dist/src/update/checker.d.ts.map +0 -1
  559. package/dist/src/update/executor.d.ts +0 -32
  560. package/dist/src/update/executor.d.ts.map +0 -1
  561. package/dist/src/update/index.d.ts +0 -33
  562. package/dist/src/update/index.d.ts.map +0 -1
  563. package/dist/src/update/rate-limiter.d.ts +0 -20
  564. package/dist/src/update/rate-limiter.d.ts.map +0 -1
  565. package/dist/src/update/validator.d.ts +0 -17
  566. package/dist/src/update/validator.d.ts.map +0 -1
@@ -0,0 +1,664 @@
1
+ /**
2
+ * ruvLLM GGUF Inference Engine -- Pure Node.js GGUF Model Interface
3
+ *
4
+ * Provides:
5
+ * 1. GGUF binary header parsing (metadata without loading weights)
6
+ * 2. Model loading abstraction (node-llama-cpp when available, metadata-only fallback)
7
+ * 3. Token generation interface with async iterator streaming
8
+ * 4. KV-cache persistence to RVF-compatible binary format
9
+ *
10
+ * Zero external dependencies. node-llama-cpp is an optional peer.
11
+ *
12
+ * @module @claude-flow/cli/appliance/gguf-engine
13
+ */
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ var __generator = (this && this.__generator) || function (thisArg, body) {
24
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
25
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
26
+ function verb(n) { return function (v) { return step([n, v]); }; }
27
+ function step(op) {
28
+ if (f) throw new TypeError("Generator is already executing.");
29
+ while (_) try {
30
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
31
+ if (y = 0, t) op = [op[0] & 2, t.value];
32
+ switch (op[0]) {
33
+ case 0: case 1: t = op; break;
34
+ case 4: _.label++; return { value: op[1], done: false };
35
+ case 5: _.label++; y = op[1]; op = [0]; continue;
36
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
37
+ default:
38
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
39
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
40
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
41
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
42
+ if (t[2]) _.ops.pop();
43
+ _.trys.pop(); continue;
44
+ }
45
+ op = body.call(thisArg, _);
46
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
47
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
+ }
49
+ };
50
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
51
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
52
+ var m = o[Symbol.asyncIterator], i;
53
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
54
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
55
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
56
+ };
57
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
58
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
59
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
60
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
61
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
62
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
63
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
64
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
65
+ function fulfill(value) { resume("next", value); }
66
+ function reject(value) { resume("throw", value); }
67
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
68
+ };
69
+ import { open, readFile, writeFile, stat as fsStat } from 'node:fs/promises';
70
+ import { createHash } from 'node:crypto';
71
+ import { basename } from 'node:path';
72
+ // ── GGUF Metadata Value Types ───────────────────────────────
73
+ var GgufValueType;
74
+ (function (GgufValueType) {
75
+ GgufValueType[GgufValueType["UINT8"] = 0] = "UINT8";
76
+ GgufValueType[GgufValueType["INT8"] = 1] = "INT8";
77
+ GgufValueType[GgufValueType["UINT16"] = 2] = "UINT16";
78
+ GgufValueType[GgufValueType["INT16"] = 3] = "INT16";
79
+ GgufValueType[GgufValueType["UINT32"] = 4] = "UINT32";
80
+ GgufValueType[GgufValueType["INT32"] = 5] = "INT32";
81
+ GgufValueType[GgufValueType["FLOAT32"] = 6] = "FLOAT32";
82
+ GgufValueType[GgufValueType["BOOL"] = 7] = "BOOL";
83
+ GgufValueType[GgufValueType["STRING"] = 8] = "STRING";
84
+ GgufValueType[GgufValueType["ARRAY"] = 9] = "ARRAY";
85
+ GgufValueType[GgufValueType["UINT64"] = 10] = "UINT64";
86
+ GgufValueType[GgufValueType["INT64"] = 11] = "INT64";
87
+ GgufValueType[GgufValueType["FLOAT64"] = 12] = "FLOAT64";
88
+ })(GgufValueType || (GgufValueType = {}));
89
+ var GGUF_MAGIC = 0x46554747; // "GGUF" in little-endian
90
+ var RVKV_MAGIC = 0x564B5652; // "RVKV" in little-endian
91
+ var RVKV_VERSION = 1;
92
+ // ── Internal Buffer Reader ──────────────────────────────────
93
+ /** Stateful cursor over a Buffer for sequential binary reads. */
94
+ var BufferReader = /** @class */ (function () {
95
+ function BufferReader(buf) {
96
+ this.buf = buf;
97
+ this.offset = 0;
98
+ }
99
+ Object.defineProperty(BufferReader.prototype, "remaining", {
100
+ get: function () { return this.buf.length - this.offset; },
101
+ enumerable: false,
102
+ configurable: true
103
+ });
104
+ BufferReader.prototype.readU8 = function () { var v = this.buf.readUInt8(this.offset); this.offset += 1; return v; };
105
+ BufferReader.prototype.readI8 = function () { var v = this.buf.readInt8(this.offset); this.offset += 1; return v; };
106
+ BufferReader.prototype.readU16 = function () { var v = this.buf.readUInt16LE(this.offset); this.offset += 2; return v; };
107
+ BufferReader.prototype.readI16 = function () { var v = this.buf.readInt16LE(this.offset); this.offset += 2; return v; };
108
+ BufferReader.prototype.readU32 = function () { var v = this.buf.readUInt32LE(this.offset); this.offset += 4; return v; };
109
+ BufferReader.prototype.readI32 = function () { var v = this.buf.readInt32LE(this.offset); this.offset += 4; return v; };
110
+ BufferReader.prototype.readF32 = function () { var v = this.buf.readFloatLE(this.offset); this.offset += 4; return v; };
111
+ BufferReader.prototype.readF64 = function () { var v = this.buf.readDoubleLE(this.offset); this.offset += 8; return v; };
112
+ BufferReader.prototype.readU64 = function () { var v = this.buf.readBigUInt64LE(this.offset); this.offset += 8; return v; };
113
+ BufferReader.prototype.readI64 = function () { var v = this.buf.readBigInt64LE(this.offset); this.offset += 8; return v; };
114
+ /** Safe for values up to 2^53. Real GGUF files never exceed this for tensor/kv counts. */
115
+ BufferReader.prototype.readU64AsNumber = function () { return Number(this.readU64()); };
116
+ BufferReader.prototype.readBool = function () { return this.readU8() !== 0; };
117
+ /** GGUF string: [length u64 LE][utf-8 bytes]. */
118
+ BufferReader.prototype.readString = function () {
119
+ var len = this.readU64AsNumber();
120
+ if (len === 0)
121
+ return '';
122
+ if (len > this.remaining)
123
+ throw new Error("String length " + len + " exceeds remaining buffer");
124
+ var s = this.buf.toString('utf-8', this.offset, this.offset + len);
125
+ this.offset += len;
126
+ return s;
127
+ };
128
+ return BufferReader;
129
+ }());
130
+ // ── GGUF Value Reading ──────────────────────────────────────
131
+ /** Read a typed scalar from the buffer (shared by value and array-element readers). */
132
+ function readScalar(reader, t) {
133
+ switch (t) {
134
+ case GgufValueType.UINT8: return reader.readU8();
135
+ case GgufValueType.INT8: return reader.readI8();
136
+ case GgufValueType.UINT16: return reader.readU16();
137
+ case GgufValueType.INT16: return reader.readI16();
138
+ case GgufValueType.UINT32: return reader.readU32();
139
+ case GgufValueType.INT32: return reader.readI32();
140
+ case GgufValueType.FLOAT32: return reader.readF32();
141
+ case GgufValueType.BOOL: return reader.readBool();
142
+ case GgufValueType.STRING: return reader.readString();
143
+ case GgufValueType.UINT64: return Number(reader.readU64());
144
+ case GgufValueType.INT64: return Number(reader.readI64());
145
+ case GgufValueType.FLOAT64: return reader.readF64();
146
+ default: return undefined;
147
+ }
148
+ }
149
+ /** Read a single GGUF typed value (scalar or array) from the buffer. */
150
+ function readGgufValue(reader) {
151
+ var valueType = reader.readU32();
152
+ if (valueType === GgufValueType.ARRAY) {
153
+ var elemType = reader.readU32();
154
+ var len = reader.readU64AsNumber();
155
+ var arr = [];
156
+ for (var i = 0; i < len; i++) {
157
+ var v_1 = readScalar(reader, elemType);
158
+ if (v_1 === undefined)
159
+ throw new Error("Unknown GGUF array element type: " + elemType);
160
+ arr.push(v_1);
161
+ }
162
+ return arr;
163
+ }
164
+ var v = readScalar(reader, valueType);
165
+ if (v === undefined)
166
+ throw new Error("Unknown GGUF value type: " + valueType);
167
+ return v;
168
+ }
169
+ // ── GGUF Header Parsing ─────────────────────────────────────
170
+ /**
171
+ * Parse the header and metadata from a GGUF file without loading tensors.
172
+ * Reads only the first 256 KB of the file.
173
+ */
174
+ export function parseGgufHeader(path) {
175
+ return __awaiter(this, void 0, Promise, function () {
176
+ var fileInfo, readSize, fh, buf;
177
+ return __generator(this, function (_a) {
178
+ switch (_a.label) {
179
+ case 0: return [4 /*yield*/, fsStat(path)];
180
+ case 1:
181
+ fileInfo = _a.sent();
182
+ readSize = Math.min(fileInfo.size, 256 * 1024);
183
+ return [4 /*yield*/, open(path, 'r')];
184
+ case 2:
185
+ fh = _a.sent();
186
+ _a.label = 3;
187
+ case 3:
188
+ _a.trys.push([3, , 5, 7]);
189
+ buf = Buffer.alloc(readSize);
190
+ return [4 /*yield*/, fh.read(buf, 0, readSize, 0)];
191
+ case 4:
192
+ _a.sent();
193
+ return [2 /*return*/, parseGgufBuffer(buf, fileInfo.size, path)];
194
+ case 5: return [4 /*yield*/, fh.close()];
195
+ case 6:
196
+ _a.sent();
197
+ return [7 /*endfinally*/];
198
+ case 7: return [2 /*return*/];
199
+ }
200
+ });
201
+ });
202
+ }
203
+ function parseGgufBuffer(buf, fileSize, filePath) {
204
+ var reader = new BufferReader(buf);
205
+ var magic = reader.readU32();
206
+ if (magic !== GGUF_MAGIC) {
207
+ throw new Error("Invalid GGUF magic: 0x" + magic.toString(16) + " (expected 0x" + GGUF_MAGIC.toString(16) + ")");
208
+ }
209
+ var version = reader.readU32();
210
+ if (version < 2 || version > 3) {
211
+ throw new Error("Unsupported GGUF version: " + version + " (expected 2 or 3)");
212
+ }
213
+ var tensorCount = reader.readU64AsNumber();
214
+ var kvCount = reader.readU64AsNumber();
215
+ var metadata = {};
216
+ for (var i = 0; i < kvCount; i++) {
217
+ if (reader.remaining < 12)
218
+ break;
219
+ try {
220
+ var key = reader.readString();
221
+ metadata[key] = readGgufValue(reader);
222
+ }
223
+ catch (_a) {
224
+ break; // reached end of read window
225
+ }
226
+ }
227
+ var arch = asString(metadata['general.architecture']);
228
+ var pfx = arch || 'llama'; // fallback prefix for well-known keys
229
+ return {
230
+ magic: 'GGUF',
231
+ version: version,
232
+ tensorCount: tensorCount,
233
+ kvCount: kvCount,
234
+ architecture: arch,
235
+ name: asString(metadata['general.name']),
236
+ contextLength: asNumber(metadata[pfx + ".context_length"]),
237
+ embeddingLength: asNumber(metadata[pfx + ".embedding_length"]),
238
+ blockCount: asNumber(metadata[pfx + ".block_count"]),
239
+ vocabSize: inferVocabSize(metadata),
240
+ quantization: inferQuantFromMetadata(metadata, filePath),
241
+ fileSize: fileSize,
242
+ metadata: metadata
243
+ };
244
+ }
245
+ // ── Metadata Helpers ────────────────────────────────────────
246
+ function asString(v) { return typeof v === 'string' ? v : undefined; }
247
+ function asNumber(v) { return typeof v === 'number' ? v : undefined; }
248
+ var QUANT_RE = [
249
+ [/q2_k/i, 'Q2_K'], [/q3_k_s/i, 'Q3_K_S'], [/q3_k_m/i, 'Q3_K_M'], [/q3_k_l/i, 'Q3_K_L'],
250
+ [/q4_k_s/i, 'Q4_K_S'], [/q4_k_m/i, 'Q4_K_M'], [/q4_0/i, 'Q4_0'], [/q4_1/i, 'Q4_1'],
251
+ [/q5_k_s/i, 'Q5_K_S'], [/q5_k_m/i, 'Q5_K_M'], [/q5_0/i, 'Q5_0'], [/q5_1/i, 'Q5_1'],
252
+ [/q6_k/i, 'Q6_K'], [/q8_0/i, 'Q8_0'], [/f16/i, 'F16'], [/f32/i, 'F32'],
253
+ ];
254
+ function inferQuantFromMetadata(meta, filePath) {
255
+ var ft = meta['general.file_type'];
256
+ if (typeof ft === 'number')
257
+ return "file_type_" + ft;
258
+ var name = basename(filePath);
259
+ for (var _i = 0, QUANT_RE_1 = QUANT_RE; _i < QUANT_RE_1.length; _i++) {
260
+ var _a = QUANT_RE_1[_i], re = _a[0], label = _a[1];
261
+ if (re.test(name))
262
+ return label;
263
+ }
264
+ return 'unknown';
265
+ }
266
+ function inferVocabSize(meta) {
267
+ var tokens = meta['tokenizer.ggml.tokens'];
268
+ if (Array.isArray(tokens))
269
+ return tokens.length;
270
+ return asNumber(meta['tokenizer.ggml.vocab_size']);
271
+ }
272
+ // ── GGUF Engine ─────────────────────────────────────────────
273
+ var GgufEngine = /** @class */ (function () {
274
+ function GgufEngine(config) {
275
+ var _a, _b, _c, _d, _e;
276
+ this.llamaCpp = null;
277
+ this.llamaModel = null;
278
+ this.llamaContext = null;
279
+ this.loadedModels = new Map();
280
+ this.activeModelPath = null;
281
+ this.kvCache = new Map();
282
+ this.config = {
283
+ contextSize: (_a = config.contextSize) !== null && _a !== void 0 ? _a : 4096,
284
+ maxTokens: (_b = config.maxTokens) !== null && _b !== void 0 ? _b : 512,
285
+ temperature: (_c = config.temperature) !== null && _c !== void 0 ? _c : 0.7,
286
+ kvCachePath: (_d = config.kvCachePath) !== null && _d !== void 0 ? _d : '',
287
+ verbose: (_e = config.verbose) !== null && _e !== void 0 ? _e : false
288
+ };
289
+ }
290
+ /** Probe for node-llama-cpp availability. */
291
+ GgufEngine.prototype.initialize = function () {
292
+ return __awaiter(this, void 0, Promise, function () {
293
+ var _a;
294
+ return __generator(this, function (_b) {
295
+ switch (_b.label) {
296
+ case 0:
297
+ _a = this;
298
+ return [4 /*yield*/, this.tryLoadLlamaCpp()];
299
+ case 1:
300
+ _a.llamaCpp = _b.sent();
301
+ if (this.config.verbose) {
302
+ console.log("[gguf-engine] node-llama-cpp: " + (this.llamaCpp ? 'available' : 'not found (metadata-only mode)'));
303
+ }
304
+ return [2 /*return*/];
305
+ }
306
+ });
307
+ });
308
+ };
309
+ /** Parse GGUF header and optionally load the model for inference. */
310
+ GgufEngine.prototype.loadModel = function (path) {
311
+ return __awaiter(this, void 0, Promise, function () {
312
+ var meta, getLlama, llama, _a, _b, err_1;
313
+ return __generator(this, function (_c) {
314
+ switch (_c.label) {
315
+ case 0: return [4 /*yield*/, parseGgufHeader(path)];
316
+ case 1:
317
+ meta = _c.sent();
318
+ this.loadedModels.set(path, meta);
319
+ this.activeModelPath = path;
320
+ if (!this.llamaCpp) return [3 /*break*/, 7];
321
+ _c.label = 2;
322
+ case 2:
323
+ _c.trys.push([2, 6, , 7]);
324
+ getLlama = this.llamaCpp.getLlama;
325
+ return [4 /*yield*/, getLlama()];
326
+ case 3:
327
+ llama = _c.sent();
328
+ _a = this;
329
+ return [4 /*yield*/, llama.loadModel({ modelPath: path })];
330
+ case 4:
331
+ _a.llamaModel = _c.sent();
332
+ _b = this;
333
+ return [4 /*yield*/, this.llamaModel.createContext({ contextSize: this.config.contextSize })];
334
+ case 5:
335
+ _b.llamaContext = _c.sent();
336
+ if (this.config.verbose)
337
+ console.log("[gguf-engine] Model loaded: " + basename(path));
338
+ return [3 /*break*/, 7];
339
+ case 6:
340
+ err_1 = _c.sent();
341
+ if (this.config.verbose)
342
+ console.warn('[gguf-engine] node-llama-cpp load failed:', err_1);
343
+ this.llamaModel = null;
344
+ this.llamaContext = null;
345
+ return [3 /*break*/, 7];
346
+ case 7: return [2 /*return*/, meta];
347
+ }
348
+ });
349
+ });
350
+ };
351
+ /** Generate text. Delegates to node-llama-cpp or returns a metadata-only stub. */
352
+ GgufEngine.prototype.generate = function (request) {
353
+ var _a, _b, _c, _d, _e, _f, _g;
354
+ return __awaiter(this, void 0, Promise, function () {
355
+ var start, modelPath, modelName, session, text, tokensUsed, seq, err_2, meta;
356
+ var _this = this;
357
+ return __generator(this, function (_h) {
358
+ switch (_h.label) {
359
+ case 0:
360
+ start = performance.now();
361
+ modelPath = (_a = request.model) !== null && _a !== void 0 ? _a : this.activeModelPath;
362
+ modelName = modelPath ? basename(modelPath) : 'none';
363
+ if (!(this.llamaContext && this.llamaModel)) return [3 /*break*/, 4];
364
+ _h.label = 1;
365
+ case 1:
366
+ _h.trys.push([1, 3, , 4]);
367
+ session = new this.llamaCpp.LlamaChatSession({
368
+ contextSequence: this.llamaContext.getSequence()
369
+ });
370
+ return [4 /*yield*/, session.prompt(request.prompt, {
371
+ maxTokens: (_b = request.maxTokens) !== null && _b !== void 0 ? _b : this.config.maxTokens,
372
+ temperature: (_c = request.temperature) !== null && _c !== void 0 ? _c : this.config.temperature,
373
+ stopGenerationTrigger: request.stopSequences
374
+ ? request.stopSequences.map(function (s) { return new _this.llamaCpp.LlamaText([s]); })
375
+ : undefined
376
+ })];
377
+ case 2:
378
+ text = _h.sent();
379
+ tokensUsed = void 0;
380
+ try {
381
+ seq = this.llamaContext.getSequence();
382
+ tokensUsed = (_d = seq.tokenCount) !== null && _d !== void 0 ? _d : Math.ceil(text.length / 4);
383
+ }
384
+ catch (_j) {
385
+ tokensUsed = Math.ceil(text.length / 4); // ~4 chars per token heuristic
386
+ }
387
+ return [2 /*return*/, {
388
+ text: text,
389
+ model: modelName,
390
+ tokensUsed: tokensUsed,
391
+ latencyMs: performance.now() - start, metadataOnly: false
392
+ }];
393
+ case 3:
394
+ err_2 = _h.sent();
395
+ if (this.config.verbose)
396
+ console.warn('[gguf-engine] Generation failed:', err_2);
397
+ return [3 /*break*/, 4];
398
+ case 4:
399
+ meta = modelPath ? this.loadedModels.get(modelPath) : undefined;
400
+ return [2 /*return*/, {
401
+ text: meta
402
+ ? "[metadata-only] Model: " + ((_e = meta.name) !== null && _e !== void 0 ? _e : modelName) + ", arch: " + ((_f = meta.architecture) !== null && _f !== void 0 ? _f : 'unknown') + ", ctx: " + ((_g = meta.contextLength) !== null && _g !== void 0 ? _g : 'unknown')
403
+ : '[metadata-only] No model loaded',
404
+ model: modelName, tokensUsed: 0,
405
+ latencyMs: performance.now() - start, metadataOnly: true
406
+ }];
407
+ }
408
+ });
409
+ });
410
+ };
411
+ /** Stream tokens via async iterator. Falls back to yielding full response. */
412
+ GgufEngine.prototype.stream = function (request) {
413
+ var _a, _b;
414
+ return __asyncGenerator(this, arguments, function stream_1() {
415
+ var session, it, it_1, it_1_1, chunk, e_1_1, _c, response;
416
+ var e_1, _d;
417
+ return __generator(this, function (_e) {
418
+ switch (_e.label) {
419
+ case 0:
420
+ if (!(this.llamaContext && this.llamaModel)) return [3 /*break*/, 22];
421
+ _e.label = 1;
422
+ case 1:
423
+ _e.trys.push([1, 21, , 22]);
424
+ session = new this.llamaCpp.LlamaChatSession({
425
+ contextSequence: this.llamaContext.getSequence()
426
+ });
427
+ it = session.promptWithMeta(request.prompt, {
428
+ maxTokens: (_a = request.maxTokens) !== null && _a !== void 0 ? _a : this.config.maxTokens,
429
+ temperature: (_b = request.temperature) !== null && _b !== void 0 ? _b : this.config.temperature
430
+ });
431
+ if (!(it && typeof it[Symbol.asyncIterator] === 'function')) return [3 /*break*/, 20];
432
+ _e.label = 2;
433
+ case 2:
434
+ _e.trys.push([2, 12, 13, 18]);
435
+ it_1 = __asyncValues(it);
436
+ _e.label = 3;
437
+ case 3: return [4 /*yield*/, __await(it_1.next())];
438
+ case 4:
439
+ if (!(it_1_1 = _e.sent(), !it_1_1.done)) return [3 /*break*/, 11];
440
+ chunk = it_1_1.value;
441
+ if (!(typeof chunk === 'string')) return [3 /*break*/, 7];
442
+ return [4 /*yield*/, __await(chunk)];
443
+ case 5: return [4 /*yield*/, _e.sent()];
444
+ case 6:
445
+ _e.sent();
446
+ return [3 /*break*/, 10];
447
+ case 7:
448
+ if (!(chunk === null || chunk === void 0 ? void 0 : chunk.text)) return [3 /*break*/, 10];
449
+ return [4 /*yield*/, __await(chunk.text)];
450
+ case 8: return [4 /*yield*/, _e.sent()];
451
+ case 9:
452
+ _e.sent();
453
+ _e.label = 10;
454
+ case 10: return [3 /*break*/, 3];
455
+ case 11: return [3 /*break*/, 18];
456
+ case 12:
457
+ e_1_1 = _e.sent();
458
+ e_1 = { error: e_1_1 };
459
+ return [3 /*break*/, 18];
460
+ case 13:
461
+ _e.trys.push([13, , 16, 17]);
462
+ if (!(it_1_1 && !it_1_1.done && (_d = it_1["return"]))) return [3 /*break*/, 15];
463
+ return [4 /*yield*/, __await(_d.call(it_1))];
464
+ case 14:
465
+ _e.sent();
466
+ _e.label = 15;
467
+ case 15: return [3 /*break*/, 17];
468
+ case 16:
469
+ if (e_1) throw e_1.error;
470
+ return [7 /*endfinally*/];
471
+ case 17: return [7 /*endfinally*/];
472
+ case 18: return [4 /*yield*/, __await(void 0)];
473
+ case 19: return [2 /*return*/, _e.sent()];
474
+ case 20: return [3 /*break*/, 22];
475
+ case 21:
476
+ _c = _e.sent();
477
+ return [3 /*break*/, 22];
478
+ case 22: return [4 /*yield*/, __await(this.generate(request))];
479
+ case 23:
480
+ response = _e.sent();
481
+ return [4 /*yield*/, __await(response.text)];
482
+ case 24: return [4 /*yield*/, _e.sent()];
483
+ case 25:
484
+ _e.sent();
485
+ return [2 /*return*/];
486
+ }
487
+ });
488
+ });
489
+ };
490
+ /**
491
+ * Persist the KV cache to an RVF-compatible binary file.
492
+ * Format: RVKV magic | version u32 | model SHA-256 (32B) | entry count u32
493
+ * entries: [key_len u32, key, val_len u32, val] | footer SHA-256 (32B)
494
+ */
495
+ GgufEngine.prototype.persistKvCache = function (outputPath) {
496
+ var _a;
497
+ return __awaiter(this, void 0, Promise, function () {
498
+ var path, modelHash, entryBufs, _i, _b, _c, key, value, keyBuf, hdr, entryData, footer, header;
499
+ return __generator(this, function (_d) {
500
+ switch (_d.label) {
501
+ case 0:
502
+ path = outputPath || this.config.kvCachePath;
503
+ if (!path)
504
+ throw new Error('No KV cache output path specified');
505
+ modelHash = createHash('sha256').update((_a = this.activeModelPath) !== null && _a !== void 0 ? _a : 'no-model').digest();
506
+ entryBufs = [];
507
+ for (_i = 0, _b = this.kvCache; _i < _b.length; _i++) {
508
+ _c = _b[_i], key = _c[0], value = _c[1];
509
+ keyBuf = Buffer.from(key, 'utf-8');
510
+ hdr = Buffer.alloc(8);
511
+ hdr.writeUInt32LE(keyBuf.length, 0);
512
+ hdr.writeUInt32LE(value.length, 4);
513
+ entryBufs.push(hdr, keyBuf, value);
514
+ }
515
+ entryData = Buffer.concat(entryBufs);
516
+ footer = createHash('sha256').update(entryData).digest();
517
+ header = Buffer.alloc(44);
518
+ header.writeUInt32LE(RVKV_MAGIC, 0);
519
+ header.writeUInt32LE(RVKV_VERSION, 4);
520
+ modelHash.copy(header, 8);
521
+ header.writeUInt32LE(this.kvCache.size, 40);
522
+ return [4 /*yield*/, writeFile(path, Buffer.concat([header, entryData, footer]))];
523
+ case 1:
524
+ _d.sent();
525
+ if (this.config.verbose)
526
+ console.log("[gguf-engine] KV cache persisted: " + this.kvCache.size + " entries");
527
+ return [2 /*return*/];
528
+ }
529
+ });
530
+ });
531
+ };
532
+ /** Restore KV cache from an RVF-compatible binary file. */
533
+ GgufEngine.prototype.loadKvCache = function (inputPath) {
534
+ return __awaiter(this, void 0, Promise, function () {
535
+ var data, magic, version, entryCount, offset, entries, i, keyLen, valLen, stored, computed;
536
+ return __generator(this, function (_a) {
537
+ switch (_a.label) {
538
+ case 0: return [4 /*yield*/, readFile(inputPath)];
539
+ case 1:
540
+ data = _a.sent();
541
+ if (data.length < 44)
542
+ throw new Error('KV cache file too small');
543
+ magic = data.readUInt32LE(0);
544
+ if (magic !== RVKV_MAGIC)
545
+ throw new Error("Invalid KV cache magic: 0x" + magic.toString(16));
546
+ version = data.readUInt32LE(4);
547
+ if (version !== RVKV_VERSION)
548
+ throw new Error("Unsupported KV cache version: " + version);
549
+ entryCount = data.readUInt32LE(40);
550
+ offset = 44;
551
+ entries = new Map();
552
+ for (i = 0; i < entryCount; i++) {
553
+ if (offset + 8 > data.length)
554
+ throw new Error('KV cache file truncated');
555
+ keyLen = data.readUInt32LE(offset);
556
+ valLen = data.readUInt32LE(offset + 4);
557
+ offset += 8;
558
+ if (offset + keyLen + valLen > data.length)
559
+ throw new Error('KV cache file truncated');
560
+ entries.set(data.toString('utf-8', offset, offset + keyLen), Buffer.from(data.subarray(offset + keyLen, offset + keyLen + valLen)));
561
+ offset += keyLen + valLen;
562
+ }
563
+ // Verify footer hash (mandatory)
564
+ if (offset + 32 > data.length) {
565
+ throw new Error('KV cache file missing SHA256 footer');
566
+ }
567
+ stored = data.subarray(offset, offset + 32);
568
+ computed = createHash('sha256').update(data.subarray(44, offset)).digest();
569
+ if (!stored.equals(computed))
570
+ throw new Error('KV cache integrity check failed: hash mismatch');
571
+ this.kvCache = entries;
572
+ if (this.config.verbose)
573
+ console.log("[gguf-engine] KV cache loaded: " + entries.size + " entries");
574
+ return [2 /*return*/];
575
+ }
576
+ });
577
+ });
578
+ };
579
+ /** Return metadata for all loaded models. */
580
+ GgufEngine.prototype.getLoadedModels = function () { return Array.from(this.loadedModels.values()); };
581
+ /** Store a key-value pair in the in-memory KV cache. */
582
+ GgufEngine.prototype.setKvEntry = function (key, value) { this.kvCache.set(key, value); };
583
+ /** Retrieve a key-value pair from the in-memory KV cache. */
584
+ GgufEngine.prototype.getKvEntry = function (key) { return this.kvCache.get(key); };
585
+ /** Release resources, unload models, and optionally persist the KV cache. */
586
+ GgufEngine.prototype.shutdown = function () {
587
+ var _a, _b;
588
+ return __awaiter(this, void 0, Promise, function () {
589
+ var err_3, _c, _d;
590
+ return __generator(this, function (_e) {
591
+ switch (_e.label) {
592
+ case 0:
593
+ if (!(this.config.kvCachePath && this.kvCache.size > 0)) return [3 /*break*/, 4];
594
+ _e.label = 1;
595
+ case 1:
596
+ _e.trys.push([1, 3, , 4]);
597
+ return [4 /*yield*/, this.persistKvCache(this.config.kvCachePath)];
598
+ case 2:
599
+ _e.sent();
600
+ return [3 /*break*/, 4];
601
+ case 3:
602
+ err_3 = _e.sent();
603
+ if (this.config.verbose)
604
+ console.warn('[gguf-engine] KV persist failed:', err_3);
605
+ return [3 /*break*/, 4];
606
+ case 4:
607
+ if (!((_a = this.llamaContext) === null || _a === void 0 ? void 0 : _a.dispose)) return [3 /*break*/, 8];
608
+ _e.label = 5;
609
+ case 5:
610
+ _e.trys.push([5, 7, , 8]);
611
+ return [4 /*yield*/, this.llamaContext.dispose()];
612
+ case 6:
613
+ _e.sent();
614
+ return [3 /*break*/, 8];
615
+ case 7:
616
+ _c = _e.sent();
617
+ return [3 /*break*/, 8];
618
+ case 8:
619
+ if (!((_b = this.llamaModel) === null || _b === void 0 ? void 0 : _b.dispose)) return [3 /*break*/, 12];
620
+ _e.label = 9;
621
+ case 9:
622
+ _e.trys.push([9, 11, , 12]);
623
+ return [4 /*yield*/, this.llamaModel.dispose()];
624
+ case 10:
625
+ _e.sent();
626
+ return [3 /*break*/, 12];
627
+ case 11:
628
+ _d = _e.sent();
629
+ return [3 /*break*/, 12];
630
+ case 12:
631
+ this.llamaContext = null;
632
+ this.llamaModel = null;
633
+ this.activeModelPath = null;
634
+ this.loadedModels.clear();
635
+ this.kvCache.clear();
636
+ if (this.config.verbose)
637
+ console.log('[gguf-engine] Shutdown complete');
638
+ return [2 /*return*/];
639
+ }
640
+ });
641
+ });
642
+ };
643
+ // ── Private ───────────────────────────────────────────────
644
+ GgufEngine.prototype.tryLoadLlamaCpp = function () {
645
+ return __awaiter(this, void 0, Promise, function () {
646
+ var _a;
647
+ return __generator(this, function (_b) {
648
+ switch (_b.label) {
649
+ case 0:
650
+ _b.trys.push([0, 2, , 3]);
651
+ return [4 /*yield*/, import('node-llama-cpp')];
652
+ case 1: return [2 /*return*/, _b.sent()];
653
+ case 2:
654
+ _a = _b.sent();
655
+ return [2 /*return*/, null];
656
+ case 3: return [2 /*return*/];
657
+ }
658
+ });
659
+ });
660
+ };
661
+ return GgufEngine;
662
+ }());
663
+ export { GgufEngine };
664
+ //# sourceMappingURL=gguf-engine.js.map