@qvac/sdk 0.14.1 → 0.16.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 (829) hide show
  1. package/NOTICE +47 -45
  2. package/README.md +34 -35
  3. package/dist/client/api/batch-completion.d.ts +15 -0
  4. package/dist/client/api/batch-completion.js +332 -0
  5. package/dist/client/api/bci-transcribe.d.ts +1 -1
  6. package/dist/client/api/bci-transcribe.js +31 -31
  7. package/dist/client/api/cancel.d.ts +1 -1
  8. package/dist/client/api/cancel.js +18 -18
  9. package/dist/client/api/classify.d.ts +1 -1
  10. package/dist/client/api/classify.js +9 -6
  11. package/dist/client/api/client-request-id.js +1 -1
  12. package/dist/client/api/completion-stream.d.ts +3 -3
  13. package/dist/client/api/completion-stream.js +18 -18
  14. package/dist/client/api/delete-cache.js +9 -9
  15. package/dist/client/api/diffusion.d.ts +1 -1
  16. package/dist/client/api/diffusion.js +17 -11
  17. package/dist/client/api/download-asset.d.ts +1 -1
  18. package/dist/client/api/download-asset.js +11 -11
  19. package/dist/client/api/embed.d.ts +1 -1
  20. package/dist/client/api/embed.js +10 -10
  21. package/dist/client/api/finetune.d.ts +1 -1
  22. package/dist/client/api/finetune.js +25 -27
  23. package/dist/client/api/get-loaded-model-info.d.ts +2 -2
  24. package/dist/client/api/get-loaded-model-info.js +8 -8
  25. package/dist/client/api/get-model-info.d.ts +1 -1
  26. package/dist/client/api/get-model-info.js +7 -7
  27. package/dist/client/api/heartbeat.d.ts +2 -2
  28. package/dist/client/api/heartbeat.js +7 -7
  29. package/dist/client/api/index.d.ts +33 -32
  30. package/dist/client/api/index.js +33 -32
  31. package/dist/client/api/invoke-plugin.d.ts +1 -1
  32. package/dist/client/api/invoke-plugin.js +10 -10
  33. package/dist/client/api/load-model.d.ts +1 -1
  34. package/dist/client/api/load-model.js +32 -32
  35. package/dist/client/api/logging-stream.d.ts +1 -1
  36. package/dist/client/api/logging-stream.js +6 -6
  37. package/dist/client/api/ocr.d.ts +10 -1
  38. package/dist/client/api/ocr.js +20 -11
  39. package/dist/client/api/provide.d.ts +1 -1
  40. package/dist/client/api/provide.js +7 -7
  41. package/dist/client/api/rag.d.ts +1 -1
  42. package/dist/client/api/rag.js +65 -66
  43. package/dist/client/api/registry.d.ts +1 -1
  44. package/dist/client/api/registry.js +8 -8
  45. package/dist/client/api/resume.js +5 -5
  46. package/dist/client/api/state.d.ts +1 -1
  47. package/dist/client/api/state.js +5 -5
  48. package/dist/client/api/stop-provider.js +6 -6
  49. package/dist/client/api/subscribe-logs.d.ts +1 -1
  50. package/dist/client/api/subscribe-logs.js +3 -3
  51. package/dist/client/api/suspend.js +5 -5
  52. package/dist/client/api/text-to-speech.d.ts +1 -1
  53. package/dist/client/api/text-to-speech.js +37 -39
  54. package/dist/client/api/transcribe.d.ts +2 -2
  55. package/dist/client/api/transcribe.js +44 -45
  56. package/dist/client/api/translate.d.ts +1 -1
  57. package/dist/client/api/translate.js +14 -25
  58. package/dist/client/api/unload-model.d.ts +1 -1
  59. package/dist/client/api/unload-model.js +11 -11
  60. package/dist/client/api/upscale.d.ts +1 -1
  61. package/dist/client/api/upscale.js +9 -9
  62. package/dist/client/api/video.d.ts +8 -5
  63. package/dist/client/api/video.js +23 -18
  64. package/dist/client/api/vla-helpers.d.ts +2 -2
  65. package/dist/client/api/vla-helpers.js +6 -11
  66. package/dist/client/api/vla.d.ts +15 -11
  67. package/dist/client/api/vla.js +27 -23
  68. package/dist/client/config-loader/config-utils.d.ts +1 -1
  69. package/dist/client/config-loader/config-utils.js +3 -3
  70. package/dist/client/config-loader/resolve-config.bare.d.ts +1 -1
  71. package/dist/client/config-loader/resolve-config.bare.js +11 -11
  72. package/dist/client/config-loader/resolve-config.expo.d.ts +1 -1
  73. package/dist/client/config-loader/resolve-config.expo.js +6 -6
  74. package/dist/client/config-loader/resolve-config.node.d.ts +1 -1
  75. package/dist/client/config-loader/resolve-config.node.js +27 -27
  76. package/dist/client/index.d.ts +1 -1
  77. package/dist/client/index.js +1 -1
  78. package/dist/client/init-hooks.d.ts +1 -1
  79. package/dist/client/init-hooks.js +12 -12
  80. package/dist/client/logging-stream-registry.d.ts +1 -1
  81. package/dist/client/logging-stream-registry.js +6 -6
  82. package/dist/client/parse-input.d.ts +1 -1
  83. package/dist/client/parse-input.js +3 -3
  84. package/dist/client/plugins-factory.d.ts +2 -2
  85. package/dist/client/plugins-factory.js +2 -2
  86. package/dist/client/rpc/bare-client.d.ts +2 -1
  87. package/dist/client/rpc/bare-client.js +37 -39
  88. package/dist/client/rpc/ensure-worker-ready.js +4 -4
  89. package/dist/client/rpc/expo-device-info.d.ts +1 -1
  90. package/dist/client/rpc/expo-device-info.js +11 -11
  91. package/dist/client/rpc/expo-rpc-client.d.ts +2 -1
  92. package/dist/client/rpc/expo-rpc-client.js +38 -47
  93. package/dist/client/rpc/node-rpc-client.d.ts +2 -1
  94. package/dist/client/rpc/node-rpc-client.js +103 -75
  95. package/dist/client/rpc/profiling/index.d.ts +1 -1
  96. package/dist/client/rpc/profiling/index.js +1 -1
  97. package/dist/client/rpc/profiling/profiler.d.ts +2 -2
  98. package/dist/client/rpc/profiling/profiler.js +31 -34
  99. package/dist/client/rpc/rpc-client.d.ts +2 -2
  100. package/dist/client/rpc/rpc-client.js +113 -72
  101. package/dist/client/rpc/rpc-error.d.ts +1 -1
  102. package/dist/client/rpc/rpc-error.js +19 -13
  103. package/dist/commands/bundle/bare-pack.d.ts +1 -1
  104. package/dist/commands/bundle/bare-pack.js +20 -20
  105. package/dist/commands/bundle/constants.js +21 -21
  106. package/dist/commands/bundle/entry-gen.js +4 -4
  107. package/dist/commands/bundle/index.js +45 -47
  108. package/dist/commands/bundle/manifest.d.ts +1 -1
  109. package/dist/commands/bundle/manifest.js +44 -46
  110. package/dist/commands/bundle/plugins.d.ts +2 -2
  111. package/dist/commands/bundle/plugins.js +7 -7
  112. package/dist/commands/bundle/resolve-sdk-import.js +6 -13
  113. package/dist/commands/index.d.ts +4 -4
  114. package/dist/commands/index.js +2 -2
  115. package/dist/commands/verify/abi.d.ts +9 -9
  116. package/dist/commands/verify/abi.js +31 -31
  117. package/dist/commands/verify/addon-source.d.ts +1 -1
  118. package/dist/commands/verify/addon-source.js +13 -14
  119. package/dist/commands/verify/bundle-source.d.ts +1 -1
  120. package/dist/commands/verify/bundle-source.js +7 -7
  121. package/dist/commands/verify/index.d.ts +3 -3
  122. package/dist/commands/verify/index.js +18 -17
  123. package/dist/commands/verify/node-modules-source.d.ts +1 -1
  124. package/dist/commands/verify/node-modules-source.js +11 -11
  125. package/dist/commands/verify/prebuilds.d.ts +3 -3
  126. package/dist/commands/verify/prebuilds.js +8 -8
  127. package/dist/constants/audio.d.ts +1 -1
  128. package/dist/constants/audio.js +1 -1
  129. package/dist/constants/index.d.ts +2 -2
  130. package/dist/constants/index.js +2 -2
  131. package/dist/constants/registry.js +1 -1
  132. package/dist/examples/audio/mic-input.d.ts +1 -1
  133. package/dist/examples/audio/mic-input.js +31 -31
  134. package/dist/examples/batch-completion.d.ts +38 -0
  135. package/dist/examples/batch-completion.js +100 -0
  136. package/dist/examples/bci/bci-filesystem-streaming.js +20 -20
  137. package/dist/examples/bci/bci-filesystem.js +17 -17
  138. package/dist/examples/cache-management.js +32 -32
  139. package/dist/examples/cancel-by-request-id.js +11 -11
  140. package/dist/examples/classification/classify-image.js +5 -5
  141. package/dist/examples/completion-events.js +16 -18
  142. package/dist/examples/completion-stop-reason.js +13 -13
  143. package/dist/examples/concurrent-completion-collision.js +20 -20
  144. package/dist/examples/config/blind-relay/blind-relay.config.js +4 -4
  145. package/dist/examples/config/default/default.config.js +2 -2
  146. package/dist/examples/config/plugins/plugins.config.js +2 -2
  147. package/dist/examples/config-reload.js +14 -14
  148. package/dist/examples/default-config-usage.js +10 -13
  149. package/dist/examples/delegated-inference/composite.js +23 -23
  150. package/dist/examples/delegated-inference/consumer-profiled.js +19 -19
  151. package/dist/examples/delegated-inference/consumer.js +11 -11
  152. package/dist/examples/delegated-inference/provider.js +24 -24
  153. package/dist/examples/diffusion-esrgan-upscale.js +19 -19
  154. package/dist/examples/diffusion-flux2-klein-img2img.js +17 -17
  155. package/dist/examples/diffusion-flux2-klein.js +14 -14
  156. package/dist/examples/diffusion-ideogram.d.ts +2 -0
  157. package/dist/examples/diffusion-ideogram.js +108 -0
  158. package/dist/examples/diffusion-img2img.js +13 -13
  159. package/dist/examples/diffusion-img2vid-ltx.d.ts +2 -0
  160. package/dist/examples/diffusion-img2vid-ltx.js +98 -0
  161. package/dist/examples/diffusion-img2vid.js +22 -23
  162. package/dist/examples/diffusion-simple.js +7 -7
  163. package/dist/examples/diffusion-txt2img.js +13 -14
  164. package/dist/examples/diffusion-txt2vid-ltx.d.ts +2 -0
  165. package/dist/examples/diffusion-txt2vid-ltx.js +92 -0
  166. package/dist/examples/diffusion-txt2vid.js +18 -18
  167. package/dist/examples/download-with-blind-relays.js +7 -8
  168. package/dist/examples/download-with-cancel.js +9 -9
  169. package/dist/examples/embed-multi-gpu.js +9 -9
  170. package/dist/examples/embed-p2p.js +24 -24
  171. package/dist/examples/finetune/llamacpp-finetune.js +21 -21
  172. package/dist/examples/kv-cache-cleanup.js +34 -34
  173. package/dist/examples/kv-cache-custom-key.js +30 -30
  174. package/dist/examples/kv-cache-example.js +18 -20
  175. package/dist/examples/llamacpp-cache.js +33 -33
  176. package/dist/examples/llamacpp-dynamic-tools.js +38 -38
  177. package/dist/examples/llamacpp-filesystem.js +13 -15
  178. package/dist/examples/llamacpp-http.js +12 -14
  179. package/dist/examples/llamacpp-multi-gpu.js +12 -12
  180. package/dist/examples/llamacpp-multimodal.js +16 -16
  181. package/dist/examples/llamacpp-p2p.js +11 -11
  182. package/dist/examples/llamacpp-sharded.js +12 -12
  183. package/dist/examples/llamacpp-structured-output.js +37 -37
  184. package/dist/examples/logging-file-transport.js +19 -21
  185. package/dist/examples/logging-global.js +8 -8
  186. package/dist/examples/logging-streaming.js +19 -17
  187. package/dist/examples/mcp-websearch.js +44 -44
  188. package/dist/examples/multi-model-demo.js +33 -33
  189. package/dist/examples/ocr-fasttext.js +17 -17
  190. package/dist/examples/parallel-download.js +11 -13
  191. package/dist/examples/plugins.js +43 -43
  192. package/dist/examples/profiling/basic.js +34 -36
  193. package/dist/examples/profiling/per-call.js +16 -16
  194. package/dist/examples/quickstart.bare.js +4 -6
  195. package/dist/examples/quickstart.js +7 -7
  196. package/dist/examples/rag/rag-chromadb.js +26 -26
  197. package/dist/examples/rag/rag-hyperdb/cancellation.js +19 -20
  198. package/dist/examples/rag/rag-hyperdb/ingest.js +19 -19
  199. package/dist/examples/rag/rag-hyperdb/pipeline.js +26 -26
  200. package/dist/examples/rag/rag-hyperdb/workspaces.js +46 -46
  201. package/dist/examples/rag/rag-lancedb.js +29 -32
  202. package/dist/examples/rag/rag-sqlite.js +25 -25
  203. package/dist/examples/registry-query.js +15 -15
  204. package/dist/examples/seed-p2p.js +8 -8
  205. package/dist/examples/suspend-resume.js +20 -20
  206. package/dist/examples/tools/llamacpp-native-tools.js +25 -25
  207. package/dist/examples/tools/llamacpp-tools-gemma4.js +14 -14
  208. package/dist/examples/tools/llamacpp-tools-harmony-multiturn.js +15 -15
  209. package/dist/examples/tools/llamacpp-tools-pythonic.js +15 -15
  210. package/dist/examples/tools/llamacpp-tools-qwen35.js +14 -14
  211. package/dist/examples/tools/shared.d.ts +2 -2
  212. package/dist/examples/tools/shared.js +17 -17
  213. package/dist/examples/transcription/parakeet-ctc-filesystem.js +12 -12
  214. package/dist/examples/transcription/parakeet-microphone-record.js +19 -19
  215. package/dist/examples/transcription/parakeet-microphone-stream.js +23 -23
  216. package/dist/examples/transcription/parakeet-sortformer-streaming.js +18 -28
  217. package/dist/examples/transcription/parakeet-sortformer.js +21 -21
  218. package/dist/examples/transcription/parakeet-tdt-filesystem-chunked.d.ts +2 -0
  219. package/dist/examples/transcription/parakeet-tdt-filesystem-chunked.js +203 -0
  220. package/dist/examples/transcription/parakeet-tdt-filesystem.js +13 -13
  221. package/dist/examples/transcription/whispercpp-filesystem-streaming.js +34 -34
  222. package/dist/examples/transcription/whispercpp-filesystem.js +19 -19
  223. package/dist/examples/transcription/whispercpp-microphone-conversation.js +27 -27
  224. package/dist/examples/transcription/whispercpp-microphone-record.js +21 -21
  225. package/dist/examples/transcription/whispercpp-prompt.js +18 -18
  226. package/dist/examples/translation/translation-bergamot-batch.js +17 -17
  227. package/dist/examples/translation/translation-bergamot-pivot.js +16 -16
  228. package/dist/examples/translation/translation-bergamot.js +11 -11
  229. package/dist/examples/translation/translation-indic.js +10 -10
  230. package/dist/examples/translation/translation-llm-afriquegemma.js +10 -10
  231. package/dist/examples/translation/translation-llm-context.js +10 -10
  232. package/dist/examples/translation/translation-llm.js +13 -13
  233. package/dist/examples/translation/translation-stream.js +11 -11
  234. package/dist/examples/tts/chatterbox-enhanced.d.ts +2 -0
  235. package/dist/examples/tts/chatterbox-enhanced.js +55 -0
  236. package/dist/examples/tts/chatterbox-multilingual.d.ts +2 -0
  237. package/dist/examples/tts/chatterbox-multilingual.js +54 -0
  238. package/dist/examples/tts/chatterbox.js +18 -18
  239. package/dist/examples/tts/llm-to-tts-streaming.js +30 -30
  240. package/dist/examples/tts/supertonic-enhanced.d.ts +2 -0
  241. package/dist/examples/tts/supertonic-enhanced.js +57 -0
  242. package/dist/examples/tts/supertonic-multilingual.js +19 -19
  243. package/dist/examples/tts/supertonic.js +18 -18
  244. package/dist/examples/tts/utils.js +24 -32
  245. package/dist/examples/vla-groot.d.ts +2 -0
  246. package/dist/examples/vla-groot.js +118 -0
  247. package/dist/examples/vla-pi05.js +14 -14
  248. package/dist/examples/vla-smolvla.js +14 -14
  249. package/dist/examples/voice-assistant/voice-assistant.js +46 -46
  250. package/dist/expo/plugins/find-in-ancestor-node-modules.js +3 -3
  251. package/dist/expo/plugins/get-project-root.d.ts +2 -2
  252. package/dist/expo/plugins/get-project-root.js +1 -1
  253. package/dist/expo/plugins/index.d.ts +11 -11
  254. package/dist/expo/plugins/index.js +10 -10
  255. package/dist/expo/plugins/resolve-sdk-package-dir.js +7 -11
  256. package/dist/expo/plugins/withAndroidArchitecture.d.ts +1 -1
  257. package/dist/expo/plugins/withAndroidArchitecture.js +12 -12
  258. package/dist/expo/plugins/withAndroidNdkVersion.d.ts +1 -1
  259. package/dist/expo/plugins/withAndroidNdkVersion.js +9 -9
  260. package/dist/expo/plugins/withDeviceInfo.d.ts +1 -1
  261. package/dist/expo/plugins/withDeviceInfo.js +13 -13
  262. package/dist/expo/plugins/withMobileBundle.d.ts +1 -1
  263. package/dist/expo/plugins/withMobileBundle.js +34 -42
  264. package/dist/expo/plugins/withOpenCL.d.ts +1 -1
  265. package/dist/expo/plugins/withOpenCL.js +14 -16
  266. package/dist/expo/plugins/withQvacSDK.d.ts +1 -1
  267. package/dist/expo/plugins/withQvacSDK.js +12 -12
  268. package/dist/index.d.ts +16 -16
  269. package/dist/index.js +16 -17
  270. package/dist/logging/addon.d.ts +1 -1
  271. package/dist/logging/addon.js +13 -13
  272. package/dist/logging/base-logger.d.ts +2 -2
  273. package/dist/logging/base-logger.js +6 -6
  274. package/dist/logging/client-logger.d.ts +1 -1
  275. package/dist/logging/client-logger.js +3 -3
  276. package/dist/logging/index.d.ts +9 -9
  277. package/dist/logging/index.js +8 -8
  278. package/dist/logging/logger.d.ts +1 -1
  279. package/dist/logging/logger.js +4 -4
  280. package/dist/logging/namespaces.d.ts +1 -1
  281. package/dist/logging/namespaces.js +5 -5
  282. package/dist/logging/registry.d.ts +2 -2
  283. package/dist/logging/registry.js +3 -3
  284. package/dist/logging/server-logger.d.ts +1 -1
  285. package/dist/logging/server-logger.js +2 -2
  286. package/dist/logging/stream-logger.d.ts +1 -1
  287. package/dist/logging/stream-logger.js +4 -4
  288. package/dist/logging/transport.d.ts +1 -1
  289. package/dist/logging/types.d.ts +1 -1
  290. package/dist/logging/utils.d.ts +2 -2
  291. package/dist/logging/utils.js +40 -41
  292. package/dist/models/registry/index.d.ts +1 -1
  293. package/dist/models/registry/index.js +5 -5
  294. package/dist/models/registry/models.d.ts +5622 -9241
  295. package/dist/models/registry/models.js +13215 -17030
  296. package/dist/models/update-models/codegen.d.ts +1 -1
  297. package/dist/models/update-models/codegen.js +8 -8
  298. package/dist/models/update-models/companions.d.ts +6 -1
  299. package/dist/models/update-models/companions.js +104 -39
  300. package/dist/models/update-models/history.d.ts +1 -1
  301. package/dist/models/update-models/history.js +11 -11
  302. package/dist/models/update-models/index.js +32 -34
  303. package/dist/models/update-models/naming.d.ts +2 -2
  304. package/dist/models/update-models/naming.js +181 -186
  305. package/dist/models/update-models/processing.d.ts +2 -2
  306. package/dist/models/update-models/processing.js +17 -19
  307. package/dist/models/update-models/registry.d.ts +2 -2
  308. package/dist/models/update-models/registry.js +9 -9
  309. package/dist/models/update-models/shards.d.ts +1 -1
  310. package/dist/models/update-models/shards.js +3 -3
  311. package/dist/models/update-models/types.d.ts +1 -1
  312. package/dist/models/update-models/utils.js +5 -5
  313. package/dist/pear/pre.js +84 -84
  314. package/dist/profiling/aggregator.d.ts +1 -1
  315. package/dist/profiling/aggregator.js +6 -6
  316. package/dist/profiling/clock.d.ts +1 -1
  317. package/dist/profiling/clock.js +10 -10
  318. package/dist/profiling/controller.d.ts +2 -2
  319. package/dist/profiling/controller.js +11 -12
  320. package/dist/profiling/envelope.d.ts +1 -1
  321. package/dist/profiling/envelope.js +4 -6
  322. package/dist/profiling/events.d.ts +2 -2
  323. package/dist/profiling/events.js +8 -10
  324. package/dist/profiling/exporters.d.ts +1 -1
  325. package/dist/profiling/exporters.js +81 -79
  326. package/dist/profiling/index.d.ts +8 -8
  327. package/dist/profiling/index.js +7 -7
  328. package/dist/profiling/model-execution.js +2 -1
  329. package/dist/profiling/ring-buffer.js +2 -2
  330. package/dist/profiling/types.d.ts +3 -3
  331. package/dist/schemas/archive.d.ts +1 -1
  332. package/dist/schemas/archive.js +8 -14
  333. package/dist/schemas/batch-completion-stream.d.ts +463 -0
  334. package/dist/schemas/batch-completion-stream.js +124 -0
  335. package/dist/schemas/bci-config.d.ts +1 -1
  336. package/dist/schemas/bci-config.js +7 -7
  337. package/dist/schemas/bci.d.ts +3 -3
  338. package/dist/schemas/bci.js +25 -31
  339. package/dist/schemas/cancel.d.ts +6 -1
  340. package/dist/schemas/cancel.js +33 -34
  341. package/dist/schemas/classification.d.ts +1 -1
  342. package/dist/schemas/classification.js +7 -7
  343. package/dist/schemas/common.d.ts +578 -28
  344. package/dist/schemas/common.js +42 -37
  345. package/dist/schemas/completion-event.d.ts +11 -8
  346. package/dist/schemas/completion-event.js +27 -26
  347. package/dist/schemas/completion-stream.d.ts +190 -5
  348. package/dist/schemas/completion-stream.js +118 -67
  349. package/dist/schemas/constants-registry.d.ts +67 -0
  350. package/dist/schemas/constants-registry.js +51 -0
  351. package/dist/schemas/delegate.d.ts +1 -1
  352. package/dist/schemas/delegate.js +7 -7
  353. package/dist/schemas/delete-cache.d.ts +1 -1
  354. package/dist/schemas/delete-cache.js +15 -11
  355. package/dist/schemas/download-asset.d.ts +2 -2
  356. package/dist/schemas/download-asset.js +21 -21
  357. package/dist/schemas/embed.d.ts +3 -3
  358. package/dist/schemas/embed.js +16 -27
  359. package/dist/schemas/engine-addon-map.d.ts +3 -2
  360. package/dist/schemas/engine-addon-map.js +25 -25
  361. package/dist/schemas/error.d.ts +1 -1
  362. package/dist/schemas/error.js +12 -13
  363. package/dist/schemas/finetune.d.ts +1 -1
  364. package/dist/schemas/finetune.js +41 -44
  365. package/dist/schemas/get-loaded-model-info.d.ts +17 -1
  366. package/dist/schemas/get-loaded-model-info.js +22 -14
  367. package/dist/schemas/get-model-info.d.ts +1 -1
  368. package/dist/schemas/get-model-info.js +48 -91
  369. package/dist/schemas/heartbeat.d.ts +1 -1
  370. package/dist/schemas/heartbeat.js +6 -6
  371. package/dist/schemas/index.d.ts +52 -51
  372. package/dist/schemas/index.js +52 -51
  373. package/dist/schemas/json-schema.d.ts +1 -1
  374. package/dist/schemas/llamacpp-config.d.ts +57 -29
  375. package/dist/schemas/llamacpp-config.js +43 -35
  376. package/dist/schemas/load-model.d.ts +1537 -185
  377. package/dist/schemas/load-model.js +126 -129
  378. package/dist/schemas/logging-stream.d.ts +1 -1
  379. package/dist/schemas/logging-stream.js +6 -12
  380. package/dist/schemas/mcp-adapter.d.ts +1 -1
  381. package/dist/schemas/model-src-utils.d.ts +1 -1
  382. package/dist/schemas/model-src-utils.js +13 -13
  383. package/dist/schemas/model-types.d.ts +1 -1
  384. package/dist/schemas/model-types.js +27 -27
  385. package/dist/schemas/ocr.d.ts +1 -1
  386. package/dist/schemas/ocr.js +18 -18
  387. package/dist/schemas/path-validation.d.ts +1 -1
  388. package/dist/schemas/path-validation.js +4 -4
  389. package/dist/schemas/plugin.d.ts +13 -14
  390. package/dist/schemas/plugin.js +51 -51
  391. package/dist/schemas/profiling.d.ts +1 -1
  392. package/dist/schemas/profiling.js +16 -16
  393. package/dist/schemas/provide.d.ts +1 -1
  394. package/dist/schemas/provide.js +8 -8
  395. package/dist/schemas/rag.d.ts +3 -3
  396. package/dist/schemas/rag.js +65 -70
  397. package/dist/schemas/registry.d.ts +1 -1
  398. package/dist/schemas/registry.js +44 -66
  399. package/dist/schemas/reload-config.d.ts +1 -1
  400. package/dist/schemas/reload-config.js +16 -18
  401. package/dist/schemas/resume.d.ts +1 -1
  402. package/dist/schemas/resume.js +3 -3
  403. package/dist/schemas/runtime-context.d.ts +1 -1
  404. package/dist/schemas/runtime-context.js +4 -4
  405. package/dist/schemas/sdcpp-config.d.ts +248 -9
  406. package/dist/schemas/sdcpp-config.js +395 -291
  407. package/dist/schemas/sdk-config.d.ts +833 -71
  408. package/dist/schemas/sdk-config.js +25 -29
  409. package/dist/schemas/sdk-errors-client.d.ts +1 -1
  410. package/dist/schemas/sdk-errors-client.js +80 -80
  411. package/dist/schemas/sdk-errors-registry.js +1 -1
  412. package/dist/schemas/sdk-errors-server.d.ts +1 -1
  413. package/dist/schemas/sdk-errors-server.js +202 -199
  414. package/dist/schemas/shard.d.ts +1 -1
  415. package/dist/schemas/shard.js +4 -4
  416. package/dist/schemas/state.d.ts +1 -1
  417. package/dist/schemas/state.js +5 -10
  418. package/dist/schemas/stop-provide.d.ts +1 -1
  419. package/dist/schemas/stop-provide.js +4 -4
  420. package/dist/schemas/suspend.d.ts +1 -1
  421. package/dist/schemas/suspend.js +3 -3
  422. package/dist/schemas/text-to-speech.d.ts +469 -3
  423. package/dist/schemas/text-to-speech.js +151 -109
  424. package/dist/schemas/tools.d.ts +2 -2
  425. package/dist/schemas/tools.js +18 -24
  426. package/dist/schemas/transcription-config.d.ts +1 -1
  427. package/dist/schemas/transcription-config.js +18 -18
  428. package/dist/schemas/transcription.d.ts +5 -5
  429. package/dist/schemas/transcription.js +31 -33
  430. package/dist/schemas/translate.d.ts +3 -3
  431. package/dist/schemas/translate.js +49 -72
  432. package/dist/schemas/translation-config.d.ts +1 -1
  433. package/dist/schemas/translation-config.js +116 -123
  434. package/dist/schemas/unload-model.d.ts +1 -1
  435. package/dist/schemas/unload-model.js +6 -6
  436. package/dist/schemas/vla.d.ts +11 -1
  437. package/dist/schemas/vla.js +52 -32
  438. package/dist/scripts/contract/build-contract.d.ts +38 -0
  439. package/dist/scripts/contract/build-contract.js +620 -0
  440. package/dist/scripts/contract/build-error-codes.d.ts +17 -0
  441. package/dist/scripts/contract/build-error-codes.js +17 -0
  442. package/dist/scripts/contract/build-model-type-maps.d.ts +22 -0
  443. package/dist/scripts/contract/build-model-type-maps.js +16 -0
  444. package/dist/scripts/contract/build-models-registry.d.ts +17 -0
  445. package/dist/scripts/contract/build-models-registry.js +31 -0
  446. package/dist/scripts/contract/plugin-contract.d.ts +23 -0
  447. package/dist/scripts/contract/plugin-contract.js +28 -0
  448. package/dist/scripts/export-contract.d.ts +2 -0
  449. package/dist/scripts/export-contract.js +27 -0
  450. package/dist/scripts/export-plugin-contract.d.ts +2 -0
  451. package/dist/scripts/export-plugin-contract.js +18 -0
  452. package/dist/scripts/run-security-tests.js +9 -10
  453. package/dist/scripts/run-unit-tests.js +11 -12
  454. package/dist/server/bare/delegate-connect-diagnostics.js +13 -19
  455. package/dist/server/bare/delegate-rpc-client.d.ts +2 -2
  456. package/dist/server/bare/delegate-rpc-client.js +32 -34
  457. package/dist/server/bare/hyperswarm.d.ts +3 -3
  458. package/dist/server/bare/hyperswarm.js +14 -14
  459. package/dist/server/bare/ops/bci-transcribe.d.ts +1 -1
  460. package/dist/server/bare/ops/bci-transcribe.js +44 -44
  461. package/dist/server/bare/ops/cancel.d.ts +2 -2
  462. package/dist/server/bare/ops/cancel.js +6 -6
  463. package/dist/server/bare/ops/embed.d.ts +1 -1
  464. package/dist/server/bare/ops/embed.js +26 -16
  465. package/dist/server/bare/ops/kv-cache-utils.d.ts +1 -1
  466. package/dist/server/bare/ops/kv-cache-utils.js +17 -19
  467. package/dist/server/bare/ops/load-model.d.ts +2 -2
  468. package/dist/server/bare/ops/load-model.js +14 -18
  469. package/dist/server/bare/ops/transcribe.d.ts +3 -3
  470. package/dist/server/bare/ops/transcribe.js +62 -62
  471. package/dist/server/bare/ops/translate.d.ts +1 -1
  472. package/dist/server/bare/ops/translate.js +53 -31
  473. package/dist/server/bare/ops/unload-model.d.ts +1 -1
  474. package/dist/server/bare/ops/unload-model.js +12 -12
  475. package/dist/server/bare/plugins/bci-whispercpp-transcription/args.d.ts +2 -2
  476. package/dist/server/bare/plugins/bci-whispercpp-transcription/args.js +3 -3
  477. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.d.ts +4 -3
  478. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.js +33 -33
  479. package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.d.ts +1 -1
  480. package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.js +1 -1
  481. package/dist/server/bare/plugins/ggml-classification/ops/classify.d.ts +1 -1
  482. package/dist/server/bare/plugins/ggml-classification/ops/classify.js +8 -8
  483. package/dist/server/bare/plugins/ggml-classification/plugin.d.ts +1 -1
  484. package/dist/server/bare/plugins/ggml-classification/plugin.js +14 -14
  485. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.d.ts +1 -1
  486. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.js +27 -26
  487. package/dist/server/bare/plugins/ggml-ocr/plugin.d.ts +1 -1
  488. package/dist/server/bare/plugins/ggml-ocr/plugin.js +33 -54
  489. package/dist/server/bare/plugins/ggml-ocr/resolve-config.d.ts +6 -0
  490. package/dist/server/bare/plugins/ggml-ocr/resolve-config.js +73 -0
  491. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.d.ts +1 -1
  492. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.js +3 -3
  493. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.d.ts +1 -1
  494. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.js +23 -23
  495. package/dist/server/bare/plugins/ggml-vla/plugin.d.ts +6 -1
  496. package/dist/server/bare/plugins/ggml-vla/plugin.js +15 -15
  497. package/dist/server/bare/plugins/index.d.ts +11 -11
  498. package/dist/server/bare/plugins/index.js +11 -11
  499. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-cancelled.d.ts +23 -0
  500. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-cancelled.js +30 -0
  501. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.d.ts +32 -0
  502. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.js +99 -0
  503. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.d.ts +1 -1
  504. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.js +8 -8
  505. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.d.ts +3 -2
  506. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.js +4 -1
  507. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.d.ts +22 -4
  508. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.js +65 -80
  509. package/dist/server/bare/plugins/llamacpp-completion/ops/context-overflow.js +5 -5
  510. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.d.ts +2 -2
  511. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.js +34 -34
  512. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.d.ts +7 -7
  513. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.js +19 -23
  514. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.d.ts +8 -0
  515. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.js +12 -6
  516. package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +193 -19
  517. package/dist/server/bare/plugins/llamacpp-completion/plugin.js +235 -70
  518. package/dist/server/bare/plugins/llamacpp-completion/transform.d.ts +1 -1
  519. package/dist/server/bare/plugins/llamacpp-completion/transform.js +15 -15
  520. package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +9 -4
  521. package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +27 -29
  522. package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +1 -1
  523. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +38 -39
  524. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.d.ts +1 -1
  525. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.js +19 -22
  526. package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +1 -1
  527. package/dist/server/bare/plugins/parakeet-transcription/plugin.js +36 -36
  528. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.d.ts +1 -1
  529. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.js +15 -17
  530. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.d.ts +1 -1
  531. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.js +11 -11
  532. package/dist/server/bare/plugins/sdcpp-generation/ops/video.d.ts +3 -1
  533. package/dist/server/bare/plugins/sdcpp-generation/ops/video.js +71 -44
  534. package/dist/server/bare/plugins/sdcpp-generation/plugin.d.ts +132 -4
  535. package/dist/server/bare/plugins/sdcpp-generation/plugin.js +148 -70
  536. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.d.ts +2 -2
  537. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.js +19 -21
  538. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.d.ts +2 -2
  539. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.js +18 -34
  540. package/dist/server/bare/plugins/tts-ggml/plugin.d.ts +9 -2
  541. package/dist/server/bare/plugins/tts-ggml/plugin.js +97 -49
  542. package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +1 -1
  543. package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +52 -52
  544. package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +1 -1
  545. package/dist/server/bare/rag-hyperdb/handlers/chunk.js +2 -2
  546. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +1 -1
  547. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +2 -2
  548. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
  549. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +4 -4
  550. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +1 -1
  551. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +3 -3
  552. package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +2 -2
  553. package/dist/server/bare/rag-hyperdb/handlers/ingest.js +4 -4
  554. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +1 -1
  555. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +1 -1
  556. package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +2 -2
  557. package/dist/server/bare/rag-hyperdb/handlers/reindex.js +5 -5
  558. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +2 -2
  559. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +3 -3
  560. package/dist/server/bare/rag-hyperdb/handlers/search.d.ts +1 -1
  561. package/dist/server/bare/rag-hyperdb/handlers/search.js +3 -3
  562. package/dist/server/bare/rag-hyperdb/index.d.ts +11 -11
  563. package/dist/server/bare/rag-hyperdb/index.js +11 -11
  564. package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +3 -3
  565. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +1 -1
  566. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +20 -20
  567. package/dist/server/bare/registry/config-registry.d.ts +1 -1
  568. package/dist/server/bare/registry/config-registry.js +13 -16
  569. package/dist/server/bare/registry/logging-stream-registry.d.ts +1 -1
  570. package/dist/server/bare/registry/logging-stream-registry.js +2 -2
  571. package/dist/server/bare/registry/model-config-registry.d.ts +2 -2
  572. package/dist/server/bare/registry/model-config-registry.js +6 -6
  573. package/dist/server/bare/registry/model-config-utils.d.ts +2 -2
  574. package/dist/server/bare/registry/model-config-utils.js +35 -35
  575. package/dist/server/bare/registry/model-registry.d.ts +3 -3
  576. package/dist/server/bare/registry/model-registry.js +11 -11
  577. package/dist/server/bare/registry/registry-client.d.ts +1 -1
  578. package/dist/server/bare/registry/registry-client.js +18 -18
  579. package/dist/server/bare/registry/runtime-context-registry.d.ts +1 -1
  580. package/dist/server/bare/registry/runtime-context-registry.js +3 -3
  581. package/dist/server/bare/runtime/disposable-scope.js +3 -3
  582. package/dist/server/bare/runtime/index.d.ts +7 -7
  583. package/dist/server/bare/runtime/index.js +3 -3
  584. package/dist/server/bare/runtime/request-context.d.ts +4 -4
  585. package/dist/server/bare/runtime/request-id.js +1 -1
  586. package/dist/server/bare/runtime/request-registry-singleton.d.ts +1 -1
  587. package/dist/server/bare/runtime/request-registry-singleton.js +23 -4
  588. package/dist/server/bare/runtime/request-registry.d.ts +27 -12
  589. package/dist/server/bare/runtime/request-registry.js +39 -34
  590. package/dist/server/bare/runtime/with-request-context.d.ts +1 -1
  591. package/dist/server/bare/runtime/with-request-context.js +11 -11
  592. package/dist/server/bare/runtime-lifecycle.d.ts +1 -1
  593. package/dist/server/bare/runtime-lifecycle.js +27 -31
  594. package/dist/server/bare/types/addon-responses.d.ts +7 -4
  595. package/dist/server/bare/utils/audio-input.d.ts +2 -2
  596. package/dist/server/bare/utils/audio-input.js +7 -7
  597. package/dist/server/bare/utils/transcribe-metadata.d.ts +1 -1
  598. package/dist/server/bare/utils/transcribe-metadata.js +4 -4
  599. package/dist/server/bare/utils/tts-stats.d.ts +9 -5
  600. package/dist/server/bare/utils/tts-stats.js +8 -2
  601. package/dist/server/env.js +8 -8
  602. package/dist/server/error-handlers.d.ts +3 -3
  603. package/dist/server/error-handlers.js +11 -11
  604. package/dist/server/plugins/index.d.ts +1 -1
  605. package/dist/server/plugins/index.js +1 -1
  606. package/dist/server/plugins/registry.d.ts +1 -1
  607. package/dist/server/plugins/registry.js +12 -14
  608. package/dist/server/rpc/create-server.d.ts +1 -1
  609. package/dist/server/rpc/create-server.js +34 -13
  610. package/dist/server/rpc/delegate-transport.d.ts +3 -3
  611. package/dist/server/rpc/delegate-transport.js +43 -44
  612. package/dist/server/rpc/handle-request.d.ts +1 -1
  613. package/dist/server/rpc/handle-request.js +28 -30
  614. package/dist/server/rpc/handler-registry.d.ts +1 -1
  615. package/dist/server/rpc/handler-registry.js +102 -92
  616. package/dist/server/rpc/handler-selection.d.ts +3 -3
  617. package/dist/server/rpc/handler-selection.js +3 -3
  618. package/dist/server/rpc/handler-utils.d.ts +7 -7
  619. package/dist/server/rpc/handler-utils.js +32 -35
  620. package/dist/server/rpc/handlers/batch-completion-stream.d.ts +78 -0
  621. package/dist/server/rpc/handlers/batch-completion-stream.js +4 -0
  622. package/dist/server/rpc/handlers/bci-transcribe-stream.d.ts +1 -1
  623. package/dist/server/rpc/handlers/bci-transcribe-stream.js +2 -2
  624. package/dist/server/rpc/handlers/bci-transcribe.d.ts +1 -1
  625. package/dist/server/rpc/handlers/bci-transcribe.js +2 -2
  626. package/dist/server/rpc/handlers/cancel-delegated.d.ts +2 -2
  627. package/dist/server/rpc/handlers/cancel-delegated.js +13 -13
  628. package/dist/server/rpc/handlers/cancelHandler.d.ts +1 -1
  629. package/dist/server/rpc/handlers/cancelHandler.js +11 -11
  630. package/dist/server/rpc/handlers/classify.d.ts +1 -1
  631. package/dist/server/rpc/handlers/classify.js +2 -2
  632. package/dist/server/rpc/handlers/completion-orchestrate.d.ts +42 -0
  633. package/dist/server/rpc/handlers/completion-orchestrate.js +190 -0
  634. package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +2 -2
  635. package/dist/server/rpc/handlers/completion-stream-delegated.js +14 -14
  636. package/dist/server/rpc/handlers/completion-stream.d.ts +1 -1
  637. package/dist/server/rpc/handlers/completion-stream.js +2 -2
  638. package/dist/server/rpc/handlers/delete-cache.d.ts +1 -1
  639. package/dist/server/rpc/handlers/delete-cache.js +10 -10
  640. package/dist/server/rpc/handlers/diffusion-stream.d.ts +1 -1
  641. package/dist/server/rpc/handlers/diffusion-stream.js +2 -2
  642. package/dist/server/rpc/handlers/download-asset.d.ts +1 -1
  643. package/dist/server/rpc/handlers/download-asset.js +20 -20
  644. package/dist/server/rpc/handlers/embed.d.ts +1 -1
  645. package/dist/server/rpc/handlers/embed.js +2 -2
  646. package/dist/server/rpc/handlers/finetune.d.ts +1 -1
  647. package/dist/server/rpc/handlers/finetune.js +8 -6
  648. package/dist/server/rpc/handlers/get-loaded-model-info.d.ts +1 -1
  649. package/dist/server/rpc/handlers/get-loaded-model-info.js +15 -9
  650. package/dist/server/rpc/handlers/get-model-info.d.ts +1 -1
  651. package/dist/server/rpc/handlers/get-model-info.js +20 -20
  652. package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +2 -2
  653. package/dist/server/rpc/handlers/heartbeat-delegated.js +7 -7
  654. package/dist/server/rpc/handlers/heartbeat.d.ts +1 -1
  655. package/dist/server/rpc/handlers/heartbeat.js +1 -1
  656. package/dist/server/rpc/handlers/index.d.ts +35 -31
  657. package/dist/server/rpc/handlers/index.js +36 -32
  658. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +4 -4
  659. package/dist/server/rpc/handlers/load-model/download-manager.js +19 -17
  660. package/dist/server/rpc/handlers/load-model/download-stats.d.ts +4 -3
  661. package/dist/server/rpc/handlers/load-model/download-stats.js +9 -11
  662. package/dist/server/rpc/handlers/load-model/handler.d.ts +1 -1
  663. package/dist/server/rpc/handlers/load-model/handler.js +42 -43
  664. package/dist/server/rpc/handlers/load-model/http.d.ts +2 -2
  665. package/dist/server/rpc/handlers/load-model/http.js +100 -107
  666. package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +2 -2
  667. package/dist/server/rpc/handlers/load-model/hyperdrive.js +72 -74
  668. package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
  669. package/dist/server/rpc/handlers/load-model/index.js +2 -2
  670. package/dist/server/rpc/handlers/load-model/registry-client-options.d.ts +2 -2
  671. package/dist/server/rpc/handlers/load-model/registry-client-options.js +2 -3
  672. package/dist/server/rpc/handlers/load-model/registry-companion-set.d.ts +5 -5
  673. package/dist/server/rpc/handlers/load-model/registry-companion-set.js +19 -21
  674. package/dist/server/rpc/handlers/load-model/registry-download-utils.d.ts +6 -6
  675. package/dist/server/rpc/handlers/load-model/registry-download-utils.js +16 -18
  676. package/dist/server/rpc/handlers/load-model/registry-metadata.d.ts +11 -0
  677. package/dist/server/rpc/handlers/load-model/registry-metadata.js +23 -0
  678. package/dist/server/rpc/handlers/load-model/registry.d.ts +4 -3
  679. package/dist/server/rpc/handlers/load-model/registry.js +50 -56
  680. package/dist/server/rpc/handlers/load-model/resolve-session.d.ts +3 -3
  681. package/dist/server/rpc/handlers/load-model/resolve-session.js +7 -7
  682. package/dist/server/rpc/handlers/load-model/resolve.d.ts +3 -3
  683. package/dist/server/rpc/handlers/load-model/resolve.js +36 -35
  684. package/dist/server/rpc/handlers/load-model/types.d.ts +3 -3
  685. package/dist/server/rpc/handlers/load-model/types.js +7 -7
  686. package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -2
  687. package/dist/server/rpc/handlers/load-model-delegated.js +31 -30
  688. package/dist/server/rpc/handlers/logging-stream.d.ts +1 -1
  689. package/dist/server/rpc/handlers/logging-stream.js +3 -3
  690. package/dist/server/rpc/handlers/ocr-stream.d.ts +1 -1
  691. package/dist/server/rpc/handlers/ocr-stream.js +2 -2
  692. package/dist/server/rpc/handlers/plugin-dispatch.js +9 -9
  693. package/dist/server/rpc/handlers/plugin-invoke.d.ts +1 -1
  694. package/dist/server/rpc/handlers/plugin-invoke.js +16 -16
  695. package/dist/server/rpc/handlers/provideHandler/connection.d.ts +1 -1
  696. package/dist/server/rpc/handlers/provideHandler/connection.js +16 -16
  697. package/dist/server/rpc/handlers/provideHandler/handler.d.ts +1 -1
  698. package/dist/server/rpc/handlers/provideHandler/handler.js +18 -18
  699. package/dist/server/rpc/handlers/provideHandler/proxy.d.ts +1 -1
  700. package/dist/server/rpc/handlers/provideHandler/proxy.js +11 -11
  701. package/dist/server/rpc/handlers/provideHandler.d.ts +1 -1
  702. package/dist/server/rpc/handlers/provideHandler.js +1 -1
  703. package/dist/server/rpc/handlers/rag.d.ts +1 -1
  704. package/dist/server/rpc/handlers/rag.js +50 -50
  705. package/dist/server/rpc/handlers/registry.d.ts +1 -1
  706. package/dist/server/rpc/handlers/registry.js +34 -36
  707. package/dist/server/rpc/handlers/resume.d.ts +1 -1
  708. package/dist/server/rpc/handlers/resume.js +3 -3
  709. package/dist/server/rpc/handlers/state.d.ts +1 -1
  710. package/dist/server/rpc/handlers/state.js +3 -3
  711. package/dist/server/rpc/handlers/stopProvideHandler.d.ts +1 -1
  712. package/dist/server/rpc/handlers/stopProvideHandler.js +7 -7
  713. package/dist/server/rpc/handlers/suspend.d.ts +1 -1
  714. package/dist/server/rpc/handlers/suspend.js +3 -3
  715. package/dist/server/rpc/handlers/text-to-speech-stream.d.ts +1 -1
  716. package/dist/server/rpc/handlers/text-to-speech-stream.js +2 -2
  717. package/dist/server/rpc/handlers/text-to-speech.d.ts +1 -1
  718. package/dist/server/rpc/handlers/text-to-speech.js +2 -2
  719. package/dist/server/rpc/handlers/transcribe-stream.d.ts +1 -1
  720. package/dist/server/rpc/handlers/transcribe-stream.js +2 -2
  721. package/dist/server/rpc/handlers/transcribe.d.ts +1 -1
  722. package/dist/server/rpc/handlers/transcribe.js +2 -2
  723. package/dist/server/rpc/handlers/translate.d.ts +1 -1
  724. package/dist/server/rpc/handlers/translate.js +2 -2
  725. package/dist/server/rpc/handlers/unload-model-delegated.d.ts +1 -1
  726. package/dist/server/rpc/handlers/unload-model-delegated.js +10 -10
  727. package/dist/server/rpc/handlers/unload-model.d.ts +1 -1
  728. package/dist/server/rpc/handlers/unload-model.js +10 -10
  729. package/dist/server/rpc/handlers/upscale-stream.d.ts +1 -1
  730. package/dist/server/rpc/handlers/upscale-stream.js +2 -2
  731. package/dist/server/rpc/handlers/video-stream.d.ts +1 -1
  732. package/dist/server/rpc/handlers/video-stream.js +2 -2
  733. package/dist/server/rpc/index.d.ts +2 -2
  734. package/dist/server/rpc/index.js +2 -2
  735. package/dist/server/rpc/method-shapes.d.ts +51 -0
  736. package/dist/server/rpc/method-shapes.js +48 -0
  737. package/dist/server/rpc/profiling/context.d.ts +1 -1
  738. package/dist/server/rpc/profiling/context.js +9 -10
  739. package/dist/server/rpc/profiling/delegation-profiler.d.ts +2 -2
  740. package/dist/server/rpc/profiling/delegation-profiler.js +23 -24
  741. package/dist/server/rpc/profiling/index.d.ts +4 -4
  742. package/dist/server/rpc/profiling/index.js +4 -4
  743. package/dist/server/rpc/profiling/operation-metrics.d.ts +2 -2
  744. package/dist/server/rpc/profiling/operation-metrics.js +122 -102
  745. package/dist/server/rpc/profiling/operation-wrappers.d.ts +1 -1
  746. package/dist/server/rpc/profiling/operation-wrappers.js +16 -14
  747. package/dist/server/rpc/profiling/profiler.d.ts +2 -2
  748. package/dist/server/rpc/profiling/profiler.js +9 -13
  749. package/dist/server/rpc/rpc-utils.js +1 -4
  750. package/dist/server/rpc/transport-selector.d.ts +1 -1
  751. package/dist/server/rpc/transport-selector.js +4 -4
  752. package/dist/server/utils/archive.js +27 -29
  753. package/dist/server/utils/audio/decoder.d.ts +2 -2
  754. package/dist/server/utils/audio/decoder.js +11 -11
  755. package/dist/server/utils/cache/auto-history.d.ts +1 -1
  756. package/dist/server/utils/cache/auto-history.js +15 -11
  757. package/dist/server/utils/cache/paths.d.ts +2 -2
  758. package/dist/server/utils/cache/paths.js +14 -14
  759. package/dist/server/utils/checksum.d.ts +1 -1
  760. package/dist/server/utils/checksum.js +10 -12
  761. package/dist/server/utils/clear-storage.d.ts +1 -1
  762. package/dist/server/utils/clear-storage.js +8 -11
  763. package/dist/server/utils/completion-normalizer.d.ts +1 -1
  764. package/dist/server/utils/completion-normalizer.js +106 -113
  765. package/dist/server/utils/config-transform.d.ts +1 -1
  766. package/dist/server/utils/config-transform.js +2 -2
  767. package/dist/server/utils/expand-gguf-shards.js +4 -4
  768. package/dist/server/utils/formatting.js +6 -12
  769. package/dist/server/utils/gguf-tensor-extractor.js +17 -21
  770. package/dist/server/utils/index.d.ts +11 -11
  771. package/dist/server/utils/index.js +11 -11
  772. package/dist/server/utils/multi-gpu-mobile.js +1 -1
  773. package/dist/server/utils/path-security.d.ts +1 -1
  774. package/dist/server/utils/path-security.js +6 -6
  775. package/dist/server/utils/qvac-paths.js +3 -3
  776. package/dist/server/utils/response-format.d.ts +1 -1
  777. package/dist/server/utils/response-format.js +4 -4
  778. package/dist/server/utils/shard-utils.d.ts +1 -1
  779. package/dist/server/utils/shard-utils.js +14 -16
  780. package/dist/server/utils/tool-integration.d.ts +1 -1
  781. package/dist/server/utils/tool-integration.js +5 -9
  782. package/dist/server/utils/tools/dialect.d.ts +1 -1
  783. package/dist/server/utils/tools/dialect.js +7 -7
  784. package/dist/server/utils/tools/index.d.ts +2 -2
  785. package/dist/server/utils/tools/index.js +2 -2
  786. package/dist/server/utils/tools/parser.d.ts +1 -1
  787. package/dist/server/utils/tools/parser.js +14 -14
  788. package/dist/server/utils/tools/parsers/gemma4native.d.ts +2 -2
  789. package/dist/server/utils/tools/parsers/gemma4native.js +13 -8
  790. package/dist/server/utils/tools/parsers/harmony.d.ts +2 -2
  791. package/dist/server/utils/tools/parsers/harmony.js +9 -11
  792. package/dist/server/utils/tools/parsers/hermes.d.ts +2 -2
  793. package/dist/server/utils/tools/parsers/hermes.js +16 -16
  794. package/dist/server/utils/tools/parsers/json.d.ts +2 -2
  795. package/dist/server/utils/tools/parsers/json.js +14 -14
  796. package/dist/server/utils/tools/parsers/pythonic.d.ts +2 -2
  797. package/dist/server/utils/tools/parsers/pythonic.js +43 -43
  798. package/dist/server/utils/tools/parsers/qwen35.d.ts +2 -2
  799. package/dist/server/utils/tools/parsers/qwen35.js +20 -20
  800. package/dist/server/utils/tools/shared.d.ts +1 -1
  801. package/dist/server/utils/tools/shared.js +10 -12
  802. package/dist/server/utils/worker-lock.js +10 -10
  803. package/dist/server/worker-core.d.ts +1 -1
  804. package/dist/server/worker-core.js +44 -43
  805. package/dist/server/worker.js +9 -9
  806. package/dist/utils/aggregate-events.d.ts +2 -2
  807. package/dist/utils/aggregate-events.js +17 -19
  808. package/dist/utils/cache-normalize.js +1 -4
  809. package/dist/utils/encoding.js +1 -1
  810. package/dist/utils/errors-base.d.ts +1 -1
  811. package/dist/utils/errors-base.js +1 -1
  812. package/dist/utils/errors-client.d.ts +1 -1
  813. package/dist/utils/errors-client.js +5 -5
  814. package/dist/utils/errors-server.d.ts +3 -3
  815. package/dist/utils/errors-server.js +19 -18
  816. package/dist/utils/load-model-validation.js +3 -3
  817. package/dist/utils/mcp-adapter.d.ts +4 -4
  818. package/dist/utils/mcp-adapter.js +31 -38
  819. package/dist/utils/path-sanitize.js +14 -17
  820. package/dist/utils/tool-helpers.d.ts +2 -2
  821. package/dist/utils/tool-helpers.js +25 -26
  822. package/dist/utils/withTimeout.d.ts +7 -0
  823. package/dist/utils/withTimeout.js +11 -1
  824. package/dist/utils/zod-error.d.ts +1 -1
  825. package/dist/utils/zod-error.js +1 -1
  826. package/electron-forge/index.cjs +274 -317
  827. package/expo/plugins/patches/android-link.mjs +25 -30
  828. package/expo/plugins/patches/ios-link.mjs +25 -30
  829. package/package.json +21 -17
@@ -1,43 +1,43 @@
1
- import { completion, deleteCache, LLAMA_3_2_1B_INST_Q4_0, loadModel, unloadModel, VERBOSITY, } from "@qvac/sdk";
1
+ import { completion, deleteCache, LLAMA_3_2_1B_INST_Q4_0, loadModel, unloadModel, VERBOSITY } from '@qvac/sdk';
2
2
  try {
3
- console.log("▸ KV Cache Cleanup Demo\n");
4
- console.log("▸ Cache structure: {kvCacheKey}/{modelId}/{configHash}.bin\n");
5
- console.log("▸ " + "=".repeat(70) + "\n");
3
+ console.log('▸ KV Cache Cleanup Demo\n');
4
+ console.log('▸ Cache structure: {kvCacheKey}/{modelId}/{configHash}.bin\n');
5
+ console.log('▸ ' + '='.repeat(70) + '\n');
6
6
  const modelId = await loadModel({
7
7
  modelSrc: LLAMA_3_2_1B_INST_Q4_0,
8
8
  modelConfig: {
9
- device: "gpu",
9
+ device: 'gpu',
10
10
  ctx_size: 2048,
11
- verbosity: VERBOSITY.ERROR,
12
- },
11
+ verbosity: VERBOSITY.ERROR
12
+ }
13
13
  });
14
14
  // Create some cached sessions
15
- const cacheKey1 = "user-alice-session";
16
- const cacheKey2 = "user-bob-session";
15
+ const cacheKey1 = 'user-alice-session';
16
+ const cacheKey2 = 'user-bob-session';
17
17
  console.log(`▸ Creating cache for key: "${cacheKey1}"`);
18
18
  const result1 = completion({
19
19
  modelId,
20
- history: [{ role: "user", content: "Hello, I'm Alice!" }],
20
+ history: [{ role: 'user', content: "Hello, I'm Alice!" }],
21
21
  stream: true,
22
- kvCache: cacheKey1,
22
+ kvCache: cacheKey1
23
23
  });
24
24
  for await (const token of result1.tokenStream) {
25
25
  process.stdout.write(token);
26
26
  }
27
- console.log("\n▸ Cache created\n");
27
+ console.log('\n▸ Cache created\n');
28
28
  console.log(`▸ Creating cache for key: "${cacheKey2}"`);
29
29
  const result2 = completion({
30
30
  modelId,
31
- history: [{ role: "user", content: "Hello, I'm Bob!" }],
31
+ history: [{ role: 'user', content: "Hello, I'm Bob!" }],
32
32
  stream: true,
33
- kvCache: cacheKey2,
33
+ kvCache: cacheKey2
34
34
  });
35
35
  for await (const token of result2.tokenStream) {
36
36
  process.stdout.write(token);
37
37
  }
38
- console.log("\n▸ Cache created\n");
38
+ console.log('\n▸ Cache created\n');
39
39
  // Now cleanup specific cache key
40
- console.log("▸ " + "=".repeat(70));
40
+ console.log('▸ ' + '='.repeat(70));
41
41
  console.log(`\n▸ Deleting cache key: "${cacheKey1}"`);
42
42
  const deleteResult1 = await deleteCache({ kvCacheKey: cacheKey1 });
43
43
  if (deleteResult1.success) {
@@ -48,7 +48,7 @@ try {
48
48
  console.log(`\n▸ Deleting specific model in cache key: "${cacheKey2}"`);
49
49
  const deleteResult2 = await deleteCache({
50
50
  kvCacheKey: cacheKey2,
51
- modelId: modelId,
51
+ modelId: modelId
52
52
  });
53
53
  if (deleteResult2.success) {
54
54
  console.log(`▸ Deleted model "${modelId}" from cache key "${cacheKey2}"`);
@@ -56,31 +56,31 @@ try {
56
56
  }
57
57
  // Try to delete non-existent cache key (should succeed silently)
58
58
  console.log(`\n▸ Deleting non-existent cache key: "non-existent"`);
59
- const deleteResult3 = await deleteCache({ kvCacheKey: "non-existent" });
59
+ const deleteResult3 = await deleteCache({ kvCacheKey: 'non-existent' });
60
60
  if (deleteResult3.success) {
61
61
  console.log("▸ Delete succeeded (cache key didn't exist)");
62
62
  }
63
- console.log("\n▸ " + "=".repeat(70));
64
- console.log("\n▸ CLEANUP OPTIONS:");
65
- console.log("▸ " + "-".repeat(70));
66
- console.log("\n▸ 1. Delete entire cache key (all models):");
63
+ console.log('\n▸ ' + '='.repeat(70));
64
+ console.log('\n▸ CLEANUP OPTIONS:');
65
+ console.log('▸ ' + '-'.repeat(70));
66
+ console.log('\n▸ 1. Delete entire cache key (all models):');
67
67
  console.log('▸ await deleteCache({ kvCacheKey: "my-session" })');
68
- console.log("▸ └─ Removes: my-session/ (entire directory)");
69
- console.log("\n▸ 2. Delete specific model within cache key:");
68
+ console.log('▸ └─ Removes: my-session/ (entire directory)');
69
+ console.log('\n▸ 2. Delete specific model within cache key:');
70
70
  console.log('▸ await deleteCache({ kvCacheKey: "my-session", modelId: "model-abc" })');
71
- console.log("▸ └─ Removes: my-session/model-abc/ (specific model directory)");
72
- console.log("\n▸ 3. Delete ALL caches (entire cache folder):");
73
- console.log("▸ await deleteCache({ all: true })");
74
- console.log("▸ └─ Removes: ALL cache files from all sessions and models");
75
- console.log("\n▸ Use Cases:");
71
+ console.log('▸ └─ Removes: my-session/model-abc/ (specific model directory)');
72
+ console.log('\n▸ 3. Delete ALL caches (entire cache folder):');
73
+ console.log('▸ await deleteCache({ all: true })');
74
+ console.log('▸ └─ Removes: ALL cache files from all sessions and models');
75
+ console.log('\n▸ Use Cases:');
76
76
  console.log("▸ - User logout → Delete user's cache key");
77
- console.log("▸ - Model updated → Delete old model caches");
78
- console.log("▸ - Disk space cleanup → Delete old cache keys or all caches");
79
- console.log("▸ - Privacy → Clear conversation history");
80
- console.log("▸ - App reset → Delete all caches with { all: true }");
77
+ console.log('▸ - Model updated → Delete old model caches');
78
+ console.log('▸ - Disk space cleanup → Delete old cache keys or all caches');
79
+ console.log('▸ - Privacy → Clear conversation history');
80
+ console.log('▸ - App reset → Delete all caches with { all: true }');
81
81
  await unloadModel({ modelId, clearStorage: false });
82
82
  }
83
83
  catch (error) {
84
- console.error("✖", error);
84
+ console.error('✖', error);
85
85
  process.exit(1);
86
86
  }
@@ -1,32 +1,32 @@
1
- import { completion, deleteCache, LLAMA_3_2_1B_INST_Q4_0, loadModel, unloadModel, VERBOSITY, } from "@qvac/sdk";
1
+ import { completion, deleteCache, LLAMA_3_2_1B_INST_Q4_0, loadModel, unloadModel, VERBOSITY } from '@qvac/sdk';
2
2
  const systemPromptMessage = {
3
- role: "system",
3
+ role: 'system',
4
4
  content: `You are a helpful mathematician assistant.
5
5
  But because you are in the army you have to follow these rules:
6
6
  - If anyone ask you to do an operation you have to answer with "Sir Yes Sir!" and then give the result
7
- `,
7
+ `
8
8
  };
9
9
  try {
10
- console.log("▸ Simple KV Cache Demo: Same vs Different Cache Keys\n");
10
+ console.log('▸ Simple KV Cache Demo: Same vs Different Cache Keys\n');
11
11
  const modelId = await loadModel({
12
12
  modelSrc: LLAMA_3_2_1B_INST_Q4_0,
13
13
  modelConfig: {
14
- device: "gpu",
14
+ device: 'gpu',
15
15
  ctx_size: 2048,
16
- verbosity: VERBOSITY.DEBUG,
17
- },
16
+ verbosity: VERBOSITY.DEBUG
17
+ }
18
18
  });
19
19
  // Prompt 1 with cache key "session-a" (first time - no cache exists)
20
20
  console.log('▸ Prompt 1: "What is 2+2?" with cache key "session-a"');
21
- console.log("▸ Status: Creating NEW cache (first time)\n");
21
+ console.log('▸ Status: Creating NEW cache (first time)\n');
22
22
  const result1 = completion({
23
23
  modelId,
24
- history: [systemPromptMessage, { role: "user", content: "What is 2+2?" }],
24
+ history: [systemPromptMessage, { role: 'user', content: 'What is 2+2?' }],
25
25
  stream: true,
26
- kvCache: "session-a",
26
+ kvCache: 'session-a'
27
27
  });
28
- console.log("▸ Response: ");
29
- let response1 = "";
28
+ console.log('▸ Response: ');
29
+ let response1 = '';
30
30
  for await (const token of result1.tokenStream) {
31
31
  response1 += token;
32
32
  process.stdout.write(token);
@@ -36,19 +36,19 @@ try {
36
36
  // Prompt 2 with SAME cache key "session-a" (cache exists - optimized!)
37
37
  // This continues the conversation - asking about the previous answer
38
38
  console.log('\n▸ Prompt 2: "Now multiply that result by 3" with cache key "session-a" (SAME)');
39
- console.log("▸ Status: REUSING existing cache (only last message sent, but context remembered!)\n");
39
+ console.log('▸ Status: REUSING existing cache (only last message sent, but context remembered!)\n');
40
40
  const result2 = completion({
41
41
  modelId,
42
42
  history: [
43
43
  systemPromptMessage,
44
- { role: "user", content: "What is 2+2?" },
45
- { role: "assistant", content: response1 },
46
- { role: "user", content: "Now multiply that result by 3" }, // Refers to previous answer!
44
+ { role: 'user', content: 'What is 2+2?' },
45
+ { role: 'assistant', content: response1 },
46
+ { role: 'user', content: 'Now multiply that result by 3' } // Refers to previous answer!
47
47
  ],
48
48
  stream: true,
49
- kvCache: "session-a", // Same cache key!
49
+ kvCache: 'session-a' // Same cache key!
50
50
  });
51
- console.log("▸ Response: ");
51
+ console.log('▸ Response: ');
52
52
  for await (const token of result2.tokenStream) {
53
53
  process.stdout.write(token);
54
54
  }
@@ -56,14 +56,14 @@ try {
56
56
  console.log(`\n▸ Stats: TTFT=${stats2?.timeToFirstToken}ms, CacheTokens=${stats2?.cacheTokens}\n`);
57
57
  // Prompt 3 with DIFFERENT cache key "session-b" (new cache)
58
58
  console.log('\n▸ Prompt 3: "What is 10+10?" with cache key "session-b" (DIFFERENT)');
59
- console.log("▸ Status: Creating NEW cache (different key = isolated cache)\n");
59
+ console.log('▸ Status: Creating NEW cache (different key = isolated cache)\n');
60
60
  const result3 = completion({
61
61
  modelId,
62
- history: [systemPromptMessage, { role: "user", content: "What is 10+10?" }],
62
+ history: [systemPromptMessage, { role: 'user', content: 'What is 10+10?' }],
63
63
  stream: true,
64
- kvCache: "session-b", // Different cache key!
64
+ kvCache: 'session-b' // Different cache key!
65
65
  });
66
- console.log("▸ Response: ");
66
+ console.log('▸ Response: ');
67
67
  for await (const token of result3.tokenStream) {
68
68
  process.stdout.write(token);
69
69
  }
@@ -71,30 +71,30 @@ try {
71
71
  console.log(`\n▸ Stats: TTFT=${stats3?.timeToFirstToken}ms, CacheTokens=${stats3?.cacheTokens}\n`);
72
72
  // Prompt 4: Go back to session-a to trigger flush of session-b
73
73
  console.log('\n▸ Prompt 4: "What is 5+5?" with cache key "session-a" (BACK TO FIRST)');
74
- console.log("▸ Status: This should trigger session-b to be flushed to disk\n");
74
+ console.log('▸ Status: This should trigger session-b to be flushed to disk\n');
75
75
  const result4 = completion({
76
76
  modelId,
77
- history: [systemPromptMessage, { role: "user", content: "What is 5+5?" }],
77
+ history: [systemPromptMessage, { role: 'user', content: 'What is 5+5?' }],
78
78
  stream: true,
79
- kvCache: "session-a", // Back to session-a!
79
+ kvCache: 'session-a' // Back to session-a!
80
80
  });
81
- console.log("▸ Response: ");
81
+ console.log('▸ Response: ');
82
82
  for await (const token of result4.tokenStream) {
83
83
  process.stdout.write(token);
84
84
  }
85
85
  const stats4 = await result4.stats;
86
86
  console.log(`\n▸ Stats: TTFT=${stats4?.timeToFirstToken}ms, CacheTokens=${stats4?.cacheTokens}\n`);
87
87
  // Summary
88
- console.log("\n▸ Summary:");
88
+ console.log('\n▸ Summary:');
89
89
  console.log('▸ - Prompts 1 & 2 share cache key "session-a" → same cache file');
90
90
  console.log("▸ - Prompt 2 built on Prompt 1's context (model remembered the answer!)");
91
- console.log("▸ - Only the last message was sent, but full conversation context maintained");
91
+ console.log('▸ - Only the last message was sent, but full conversation context maintained');
92
92
  console.log('▸ - Prompt 3 uses cache key "session-b" → separate cache file (isolated)');
93
- console.log("▸ - Different cache keys provide complete isolation between sessions");
93
+ console.log('▸ - Different cache keys provide complete isolation between sessions');
94
94
  await deleteCache({ all: true });
95
95
  await unloadModel({ modelId, clearStorage: false });
96
96
  }
97
97
  catch (error) {
98
- console.error("✖", error);
98
+ console.error('✖', error);
99
99
  process.exit(1);
100
100
  }
@@ -1,25 +1,23 @@
1
- import { completion, LLAMA_3_2_1B_INST_Q4_0, loadModel, unloadModel, VERBOSITY, } from "@qvac/sdk";
1
+ import { completion, LLAMA_3_2_1B_INST_Q4_0, loadModel, unloadModel, VERBOSITY } from '@qvac/sdk';
2
2
  try {
3
3
  // Load the model
4
4
  const modelId = await loadModel({
5
5
  modelSrc: LLAMA_3_2_1B_INST_Q4_0,
6
6
  modelConfig: {
7
- device: "gpu",
7
+ device: 'gpu',
8
8
  ctx_size: 2048,
9
- verbosity: VERBOSITY.ERROR,
10
- },
9
+ verbosity: VERBOSITY.ERROR
10
+ }
11
11
  });
12
- console.log("▸ Testing KV Cache functionality...\n");
12
+ console.log('▸ Testing KV Cache functionality...\n');
13
13
  // First conversation with auto-keyed cache enabled
14
- console.log("▸ First conversation (building cache for the next turn):");
15
- const history1 = [
16
- { role: "user", content: "What is the capital of France?" },
17
- ];
14
+ console.log('▸ First conversation (building cache for the next turn):');
15
+ const history1 = [{ role: 'user', content: 'What is the capital of France?' }];
18
16
  const result1 = completion({
19
17
  modelId,
20
18
  history: history1,
21
19
  stream: true,
22
- kvCache: true,
20
+ kvCache: true
23
21
  }); // kvCache = true
24
22
  for await (const token of result1.tokenStream) {
25
23
  process.stdout.write(token);
@@ -28,14 +26,14 @@ try {
28
26
  const stats1 = final1.stats;
29
27
  console.log(`\n▸ First completion stats: ${JSON.stringify(stats1)}\n`);
30
28
  // Continue conversation (should reuse the completed first-turn cache).
31
- console.log("▸ Continuing conversation (reusing previous turn cache):");
29
+ console.log('▸ Continuing conversation (reusing previous turn cache):');
32
30
  const history2 = [
33
- { role: "user", content: "What is the capital of France?" },
31
+ { role: 'user', content: 'What is the capital of France?' },
34
32
  {
35
- role: "assistant",
36
- content: final1.cacheableAssistantContent ?? final1.contentText,
33
+ role: 'assistant',
34
+ content: final1.cacheableAssistantContent ?? final1.contentText
37
35
  },
38
- { role: "user", content: "What about Germany?" },
36
+ { role: 'user', content: 'What about Germany?' }
39
37
  ];
40
38
  // Auto-keyed caching should:
41
39
  // 1. Find the cache saved after turn 1 under [user, assistant]
@@ -45,7 +43,7 @@ try {
45
43
  modelId,
46
44
  history: history2,
47
45
  stream: true,
48
- kvCache: true,
46
+ kvCache: true
49
47
  }); // kvCache = true
50
48
  for await (const token of result2.tokenStream) {
51
49
  process.stdout.write(token);
@@ -53,22 +51,22 @@ try {
53
51
  const stats2 = await result2.stats;
54
52
  console.log(`\n▸ Second completion stats: ${JSON.stringify(stats2)}\n`);
55
53
  // Compare with non-cached version
56
- console.log("▸ Same conversation without cache:");
54
+ console.log('▸ Same conversation without cache:');
57
55
  const result3 = completion({
58
56
  modelId,
59
57
  history: history2,
60
58
  stream: true,
61
- kvCache: false,
59
+ kvCache: false
62
60
  }); // kvCache = false
63
61
  for await (const token of result3.tokenStream) {
64
62
  process.stdout.write(token);
65
63
  }
66
64
  const stats3 = await result3.stats;
67
65
  console.log(`\n▸ Non-cached completion stats: ${JSON.stringify(stats3)}\n`);
68
- console.log("▸ KV Cache test completed!");
66
+ console.log('▸ KV Cache test completed!');
69
67
  await unloadModel({ modelId, clearStorage: false });
70
68
  }
71
69
  catch (error) {
72
- console.error("✖", error);
70
+ console.error('✖', error);
73
71
  process.exit(1);
74
72
  }
@@ -1,28 +1,28 @@
1
- import { completion, deleteCache, LLAMA_3_2_1B_INST_Q4_0, loadModel, unloadModel, VERBOSITY, } from "@qvac/sdk";
2
- const sharedCacheKey = "llamacpp-cache-demo-shared";
3
- const isolatedCacheKey = "llamacpp-cache-demo-isolated";
1
+ import { completion, deleteCache, LLAMA_3_2_1B_INST_Q4_0, loadModel, unloadModel, VERBOSITY } from '@qvac/sdk';
2
+ const sharedCacheKey = 'llamacpp-cache-demo-shared';
3
+ const isolatedCacheKey = 'llamacpp-cache-demo-isolated';
4
4
  const systemPrompt = {
5
- role: "system",
6
- content: "You are a concise travel assistant. Keep track of the user's preferences across turns.",
5
+ role: 'system',
6
+ content: "You are a concise travel assistant. Keep track of the user's preferences across turns."
7
7
  };
8
8
  function printStats(stats) {
9
- console.log("\n▸ Performance Stats:", {
9
+ console.log('\n▸ Performance Stats:', {
10
10
  timeToFirstToken: stats?.timeToFirstToken,
11
11
  tokensPerSecond: stats?.tokensPerSecond,
12
- cacheTokens: stats?.cacheTokens,
12
+ cacheTokens: stats?.cacheTokens
13
13
  });
14
14
  }
15
15
  async function runCachedCompletion(params) {
16
16
  console.log(`\n▸ ${params.label}`);
17
- console.log(`▸ Cache key: ${params.kvCache || "disabled"}`);
18
- console.log("▸ AI Response:");
17
+ console.log(`▸ Cache key: ${params.kvCache || 'disabled'}`);
18
+ console.log('▸ AI Response:');
19
19
  const result = completion({
20
20
  modelId: params.modelId,
21
21
  history: params.history,
22
22
  stream: true,
23
- kvCache: params.kvCache,
23
+ kvCache: params.kvCache
24
24
  });
25
- let text = "";
25
+ let text = '';
26
26
  for await (const token of result.tokenStream) {
27
27
  text += token;
28
28
  process.stdout.write(token);
@@ -33,61 +33,61 @@ async function runCachedCompletion(params) {
33
33
  }
34
34
  let modelId;
35
35
  try {
36
- console.log("▸ Loading llama.cpp model with cache support...");
36
+ console.log('▸ Loading llama.cpp model with cache support...');
37
37
  modelId = await loadModel({
38
38
  modelSrc: LLAMA_3_2_1B_INST_Q4_0,
39
39
  modelConfig: {
40
40
  ctx_size: 4096,
41
- verbosity: VERBOSITY.ERROR,
41
+ verbosity: VERBOSITY.ERROR
42
42
  },
43
43
  onProgress: (p) => {
44
44
  const mb = (n) => (n / 1e6).toFixed(1);
45
45
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
46
46
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
47
47
  if (p.percentage >= 100)
48
- process.stderr.write("\n");
49
- },
48
+ process.stderr.write('\n');
49
+ }
50
50
  });
51
51
  console.log(`▸ Model loaded successfully. Model ID: ${modelId}`);
52
52
  await deleteCache({ kvCacheKey: sharedCacheKey });
53
53
  await deleteCache({ kvCacheKey: isolatedCacheKey });
54
54
  const firstUserMessage = {
55
- role: "user",
56
- content: "I am planning a weekend in Lisbon. I prefer museums, seafood, and walking routes. Suggest a day plan in 3 bullets.",
55
+ role: 'user',
56
+ content: 'I am planning a weekend in Lisbon. I prefer museums, seafood, and walking routes. Suggest a day plan in 3 bullets.'
57
57
  };
58
58
  const firstTurn = await runCachedCompletion({
59
- label: "Turn 1: create a named cache",
59
+ label: 'Turn 1: create a named cache',
60
60
  modelId,
61
61
  kvCache: sharedCacheKey,
62
- history: [systemPrompt, firstUserMessage],
62
+ history: [systemPrompt, firstUserMessage]
63
63
  });
64
64
  await runCachedCompletion({
65
- label: "Turn 2: reuse the same cache key",
65
+ label: 'Turn 2: reuse the same cache key',
66
66
  modelId,
67
67
  kvCache: sharedCacheKey,
68
68
  history: [
69
69
  systemPrompt,
70
70
  firstUserMessage,
71
- { role: "assistant", content: firstTurn.text.trim() },
71
+ { role: 'assistant', content: firstTurn.text.trim() },
72
72
  {
73
- role: "user",
74
- content: "Now revise the plan for a rainy day, but keep the same preferences.",
75
- },
76
- ],
73
+ role: 'user',
74
+ content: 'Now revise the plan for a rainy day, but keep the same preferences.'
75
+ }
76
+ ]
77
77
  });
78
78
  await runCachedCompletion({
79
- label: "Turn 3: use a different cache key for an isolated session",
79
+ label: 'Turn 3: use a different cache key for an isolated session',
80
80
  modelId,
81
81
  kvCache: isolatedCacheKey,
82
82
  history: [
83
83
  systemPrompt,
84
84
  {
85
- role: "user",
86
- content: "I am planning a weekend in Berlin. I prefer nightlife and late starts. Suggest a day plan in 3 bullets.",
87
- },
88
- ],
85
+ role: 'user',
86
+ content: 'I am planning a weekend in Berlin. I prefer nightlife and late starts. Suggest a day plan in 3 bullets.'
87
+ }
88
+ ]
89
89
  });
90
- console.log("\n▸ Summary:");
90
+ console.log('\n▸ Summary:');
91
91
  console.log(`▸ - Reusing "${sharedCacheKey}" keeps conversation context across turns.`);
92
92
  console.log(`▸ - Switching to "${isolatedCacheKey}" starts a separate cache session.`);
93
93
  console.log('▸ - Use deleteCache({ kvCacheKey: "your-session" }) to clear a saved session.');
@@ -102,9 +102,9 @@ catch (error) {
102
102
  await unloadModel({ modelId, clearStorage: false });
103
103
  }
104
104
  catch (cleanupError) {
105
- console.warn("✖ cleanup failed:", cleanupError);
105
+ console.warn('✖ cleanup failed:', cleanupError);
106
106
  }
107
107
  }
108
- console.error("✖", error);
108
+ console.error('✖', error);
109
109
  process.exit(1);
110
110
  }
@@ -12,51 +12,51 @@
12
12
  * bun run build
13
13
  * bun run bare:example dist/examples/llamacpp-dynamic-tools.js
14
14
  */
15
- import { z } from "zod";
16
- import { completion, loadModel, unloadModel, QWEN3_1_7B_INST_Q4, } from "@qvac/sdk";
15
+ import { z } from 'zod';
16
+ import { completion, loadModel, unloadModel, QWEN3_1_7B_INST_Q4 } from '@qvac/sdk';
17
17
  const weatherSchema = z.object({
18
- city: z.string().describe("City name"),
18
+ city: z.string().describe('City name')
19
19
  });
20
20
  const horoscopeSchema = z.object({
21
- sign: z.string().describe("An astrological sign, e.g. Taurus or Aquarius"),
21
+ sign: z.string().describe('An astrological sign, e.g. Taurus or Aquarius')
22
22
  });
23
23
  const dateSchema = z.object({});
24
24
  const toolSchemas = {
25
25
  get_weather: weatherSchema,
26
26
  get_horoscope: horoscopeSchema,
27
- get_date: dateSchema,
27
+ get_date: dateSchema
28
28
  };
29
29
  const weatherTools = [
30
30
  {
31
- name: "get_weather",
32
- description: "Get current weather for a city",
33
- parameters: weatherSchema,
34
- },
31
+ name: 'get_weather',
32
+ description: 'Get current weather for a city',
33
+ parameters: weatherSchema
34
+ }
35
35
  ];
36
36
  const horoscopeTools = [
37
37
  {
38
- name: "get_horoscope",
38
+ name: 'get_horoscope',
39
39
  description: "Get today's horoscope for an astrological sign",
40
- parameters: horoscopeSchema,
41
- },
40
+ parameters: horoscopeSchema
41
+ }
42
42
  ];
43
43
  const dateTools = [
44
44
  {
45
- name: "get_date",
45
+ name: 'get_date',
46
46
  description: "Get today's date",
47
- parameters: dateSchema,
48
- },
47
+ parameters: dateSchema
48
+ }
49
49
  ];
50
50
  function executeToolCall(call) {
51
- if (call.name === "get_weather") {
51
+ if (call.name === 'get_weather') {
52
52
  const args = call.arguments;
53
53
  return `The weather in ${args.city} is rainy, 8°C with heavy clouds.`;
54
54
  }
55
- if (call.name === "get_horoscope") {
55
+ if (call.name === 'get_horoscope') {
56
56
  const args = call.arguments;
57
57
  return `Horoscope for ${args.sign}: a great day for new beginnings.`;
58
58
  }
59
- if (call.name === "get_date") {
59
+ if (call.name === 'get_date') {
60
60
  return new Date().toISOString().slice(0, 10);
61
61
  }
62
62
  return `Unknown tool: ${call.name}`;
@@ -67,7 +67,7 @@ async function chatTurn({ modelId, kvCache, history, tools }) {
67
67
  history,
68
68
  tools,
69
69
  kvCache,
70
- stream: true,
70
+ stream: true
71
71
  });
72
72
  const tokensTask = (async () => {
73
73
  for await (const token of result.tokenStream) {
@@ -83,7 +83,7 @@ async function chatTurn({ modelId, kvCache, history, tools }) {
83
83
  const text = await result.text;
84
84
  const toolCalls = await result.toolCalls;
85
85
  if (toolCalls.length === 0) {
86
- history.push({ role: "assistant", content: text });
86
+ history.push({ role: 'assistant', content: text });
87
87
  return;
88
88
  }
89
89
  for (const call of toolCalls) {
@@ -95,9 +95,9 @@ async function chatTurn({ modelId, kvCache, history, tools }) {
95
95
  }
96
96
  }
97
97
  }
98
- history.push({ role: "assistant", content: text });
98
+ history.push({ role: 'assistant', content: text });
99
99
  for (const call of toolCalls) {
100
- history.push({ role: "tool", content: executeToolCall(call) });
100
+ history.push({ role: 'tool', content: executeToolCall(call) });
101
101
  }
102
102
  // Follow-up turn so the model can incorporate the tool results.
103
103
  await chatTurn({ modelId, kvCache, history, tools });
@@ -108,45 +108,45 @@ async function main() {
108
108
  modelConfig: {
109
109
  ctx_size: 4096,
110
110
  tools: true,
111
- toolsMode: "dynamic",
111
+ toolsMode: 'dynamic'
112
112
  },
113
113
  onProgress: (p) => {
114
114
  const mb = (n) => (n / 1e6).toFixed(1);
115
115
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
116
116
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
117
117
  if (p.percentage >= 100)
118
- process.stderr.write("\n");
119
- },
118
+ process.stderr.write('\n');
119
+ }
120
120
  });
121
121
  console.log(`▸ Model loaded: ${modelId}`);
122
122
  const kvCache = `dynamic-tools-${Date.now()}`;
123
123
  const history = [
124
124
  {
125
- role: "system",
126
- content: "You are a helpful assistant that uses tools when they are available. " +
127
- "User's cat is named Windy and dog is named Butch.",
128
- },
125
+ role: 'system',
126
+ content: 'You are a helpful assistant that uses tools when they are available. ' +
127
+ "User's cat is named Windy and dog is named Butch."
128
+ }
129
129
  ];
130
130
  // Turn 1 — only weather tools available.
131
- history.push({ role: "user", content: "What's the weather in Tokyo?" });
132
- console.log("\n▸ Turn 1 (tools=weather):\n");
131
+ history.push({ role: 'user', content: "What's the weather in Tokyo?" });
132
+ console.log('\n▸ Turn 1 (tools=weather):\n');
133
133
  await chatTurn({ modelId, kvCache, history, tools: weatherTools });
134
134
  // Turn 2 — same session, swap to horoscope tools. Dynamic mode lets the
135
135
  // model see a different tool set without invalidating the kv-cache.
136
136
  history.push({
137
- role: "user",
138
- content: "Now check my horoscope for Aquarius.",
137
+ role: 'user',
138
+ content: 'Now check my horoscope for Aquarius.'
139
139
  });
140
- console.log("\n\n▸ Turn 2 (tools=horoscope):\n");
140
+ console.log('\n\n▸ Turn 2 (tools=horoscope):\n');
141
141
  await chatTurn({ modelId, kvCache, history, tools: horoscopeTools });
142
142
  // Turn 3 — swap to a parameterless tool to confirm empty-arg flows work.
143
- history.push({ role: "user", content: "What's today's date?" });
144
- console.log("\n\n▸ Turn 3 (tools=date):\n");
143
+ history.push({ role: 'user', content: "What's today's date?" });
144
+ console.log('\n\n▸ Turn 3 (tools=date):\n');
145
145
  await chatTurn({ modelId, kvCache, history, tools: dateTools });
146
- console.log("\n\n▸ Done.");
146
+ console.log('\n\n▸ Done.');
147
147
  await unloadModel({ modelId, clearStorage: false });
148
148
  }
149
149
  main().catch((err) => {
150
- console.error("✖", err);
150
+ console.error('✖', err);
151
151
  process.exit(1);
152
152
  });