@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
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Batch completion — continuous batching over a single loaded LLM.
3
+ *
4
+ * `batchCompletion()` submits multiple prompts to one loaded model in a single
5
+ * call so the llama.cpp addon can decode the active sequences together. Load the
6
+ * model with `modelConfig.parallel >= 2` to make the concurrent slots available.
7
+ *
8
+ * The returned `BatchCompletionRun` exposes:
9
+ * - `events` — a merged `AsyncIterable<{ id, event }>` across all prompts.
10
+ * - `byId(id)` — per-prompt `events` and a `final` aggregation for one prompt.
11
+ * - `ids` — a `Promise<string[]>` of addon-assigned ids in prompt order.
12
+ * - `results` — a `Promise<BatchCompletionResult[]>` in prompt order. It is
13
+ * ALL-OR-NOTHING for stream-level failures: if the batch
14
+ * handler throws (e.g. a context overflow) the whole run
15
+ * rejects and no per-prompt finals can be recovered. Graceful
16
+ * terminal events such as cancellation still settle each
17
+ * `byId(id).final` according to that id's terminal state.
18
+ * - `stats` — a `Promise<CompletionStats | undefined>`. Stats are
19
+ * BATCH-LEVEL: the addon aggregates decode metrics across the
20
+ * whole batch (e.g. `avgConcurrentSeq`, total tokens), so they
21
+ * surface once here rather than per prompt. Per-prompt
22
+ * `final.stats` is intentionally left undefined.
23
+ *
24
+ * Each prompt may additionally carry (not shown here to keep the run fast/cheap):
25
+ * - `tools` / `mcp` — per-prompt tools; handlers attach only to tool calls
26
+ * produced by that prompt. Requires a tool-capable model
27
+ * loaded with `modelConfig.tools: true` (e.g. Qwen). See
28
+ * the `tools/` examples for the tool-calling surface.
29
+ * - `attachments` — the same multimodal attachments `completion()` supports,
30
+ * when the loaded model has a projection model.
31
+ * - `responseFormat` — `json_object` / `json_schema` (cannot be combined with
32
+ * `tools` or `mcp`, which already constrain output).
33
+ *
34
+ * Run from packages/sdk:
35
+ * bun run examples/batch-completion.ts
36
+ */
37
+ export {};
38
+ //# sourceMappingURL=batch-completion.d.ts.map
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Batch completion — continuous batching over a single loaded LLM.
3
+ *
4
+ * `batchCompletion()` submits multiple prompts to one loaded model in a single
5
+ * call so the llama.cpp addon can decode the active sequences together. Load the
6
+ * model with `modelConfig.parallel >= 2` to make the concurrent slots available.
7
+ *
8
+ * The returned `BatchCompletionRun` exposes:
9
+ * - `events` — a merged `AsyncIterable<{ id, event }>` across all prompts.
10
+ * - `byId(id)` — per-prompt `events` and a `final` aggregation for one prompt.
11
+ * - `ids` — a `Promise<string[]>` of addon-assigned ids in prompt order.
12
+ * - `results` — a `Promise<BatchCompletionResult[]>` in prompt order. It is
13
+ * ALL-OR-NOTHING for stream-level failures: if the batch
14
+ * handler throws (e.g. a context overflow) the whole run
15
+ * rejects and no per-prompt finals can be recovered. Graceful
16
+ * terminal events such as cancellation still settle each
17
+ * `byId(id).final` according to that id's terminal state.
18
+ * - `stats` — a `Promise<CompletionStats | undefined>`. Stats are
19
+ * BATCH-LEVEL: the addon aggregates decode metrics across the
20
+ * whole batch (e.g. `avgConcurrentSeq`, total tokens), so they
21
+ * surface once here rather than per prompt. Per-prompt
22
+ * `final.stats` is intentionally left undefined.
23
+ *
24
+ * Each prompt may additionally carry (not shown here to keep the run fast/cheap):
25
+ * - `tools` / `mcp` — per-prompt tools; handlers attach only to tool calls
26
+ * produced by that prompt. Requires a tool-capable model
27
+ * loaded with `modelConfig.tools: true` (e.g. Qwen). See
28
+ * the `tools/` examples for the tool-calling surface.
29
+ * - `attachments` — the same multimodal attachments `completion()` supports,
30
+ * when the loaded model has a projection model.
31
+ * - `responseFormat` — `json_object` / `json_schema` (cannot be combined with
32
+ * `tools` or `mcp`, which already constrain output).
33
+ *
34
+ * Run from packages/sdk:
35
+ * bun run examples/batch-completion.ts
36
+ */
37
+ import { batchCompletion, loadModel, unloadModel, LLAMA_3_2_1B_INST_Q4_0 } from '@qvac/sdk';
38
+ try {
39
+ // `parallel: 4` opens the concurrent decode slots continuous batching needs.
40
+ const modelId = await loadModel({
41
+ modelSrc: LLAMA_3_2_1B_INST_Q4_0,
42
+ modelType: 'llm',
43
+ modelConfig: { ctx_size: 4096, parallel: 4 },
44
+ onProgress: (p) => {
45
+ const mb = (n) => (n / 1e6).toFixed(1);
46
+ const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
47
+ process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
48
+ if (p.percentage >= 100)
49
+ process.stderr.write('\n');
50
+ }
51
+ });
52
+ console.log(`▸ Model loaded: ${modelId}`);
53
+ const run = batchCompletion({
54
+ modelId,
55
+ prompts: [
56
+ {
57
+ id: 'cherry',
58
+ history: [{ role: 'user', content: 'Reply with only the word CHERRY.' }],
59
+ generationParams: { temp: 0, seed: 42, predict: 16 }
60
+ },
61
+ {
62
+ id: 'banana',
63
+ history: [{ role: 'user', content: 'Reply with only the word BANANA.' }],
64
+ generationParams: { temp: 0, seed: 42, predict: 16 }
65
+ },
66
+ {
67
+ id: 'grape',
68
+ history: [{ role: 'user', content: 'Reply with only the word GRAPE.' }],
69
+ generationParams: { temp: 0, seed: 42, predict: 16 }
70
+ }
71
+ ]
72
+ });
73
+ console.log('\n▸ Merged event stream (interleaved across prompts):');
74
+ for await (const { id, event } of run.events) {
75
+ if (event.type === 'contentDelta') {
76
+ process.stdout.write(`[${id}] ${event.text}`);
77
+ }
78
+ }
79
+ // `results` is ordered by prompt and all-or-nothing on stream-level failure.
80
+ const results = await run.results;
81
+ console.log('\n\n▸ Ordered results:');
82
+ for (const { id, final } of results) {
83
+ console.log(` ▸ ${id}: ${final.contentText.replace(/\s+/g, ' ').trim()}`);
84
+ }
85
+ // Per-prompt aggregation is also available directly via `byId(id)`.
86
+ const ids = await run.ids;
87
+ const firstFinal = await run.byId(ids[0]).final;
88
+ console.log(`\n▸ byId("${ids[0]}").final -> ${firstFinal.contentText.trim()}`);
89
+ // Batch-level stats (a single CompletionStats for the whole run, or undefined).
90
+ const stats = await run.stats;
91
+ if (stats) {
92
+ console.log(`\n▸ Batch stats: ${stats.tokensPerSecond?.toFixed(1)} tok/s across the batch`);
93
+ }
94
+ await unloadModel({ modelId, clearStorage: false });
95
+ process.exit(0);
96
+ }
97
+ catch (error) {
98
+ console.error('✖', error);
99
+ process.exit(1);
100
+ }
@@ -8,44 +8,44 @@
8
8
  *
9
9
  * Usage: bun run examples/bci/bci-filesystem-streaming.ts <neural-bin-file-path>
10
10
  */
11
- import { loadModel, unloadModel, bciTranscribeStream, BCI_WINDOWED, } from "@qvac/sdk";
12
- import { readFileSync } from "fs";
11
+ import { loadModel, unloadModel, bciTranscribeStream, BCI_WINDOWED } from '@qvac/sdk';
12
+ import { readFileSync } from 'fs';
13
13
  const args = process.argv.slice(2);
14
14
  if (!args[0]) {
15
- console.error("Usage: bun run examples/bci/bci-filesystem-streaming.ts <neural-bin-file-path>");
15
+ console.error('Usage: bun run examples/bci/bci-filesystem-streaming.ts <neural-bin-file-path>');
16
16
  process.exit(1);
17
17
  }
18
18
  const neuralFilePath = args[0];
19
19
  // Feed the neural buffer in fixed-size chunks to simulate a live stream.
20
20
  const CHUNK_SIZE = 64 * 1024;
21
21
  try {
22
- console.log("▸ BCI transcribeStream file test");
22
+ console.log('▸ BCI transcribeStream file test');
23
23
  console.log(`▸ File: ${neuralFilePath}`);
24
24
  console.log(`▸ Chunk size: ${CHUNK_SIZE} bytes`);
25
- console.log("▸ Loading model...");
25
+ console.log('▸ Loading model...');
26
26
  const modelId = await loadModel({
27
27
  modelSrc: BCI_WINDOWED,
28
28
  modelConfig: {
29
29
  whisperConfig: {
30
- language: "en",
30
+ language: 'en',
31
31
  n_threads: 4,
32
- temperature: 0.0,
32
+ temperature: 0.0
33
33
  },
34
34
  // Session day index selects the day-specific projection matrices.
35
35
  // Set this to match the recording session your neural file came from.
36
36
  bciConfig: {
37
- day_idx: 1,
38
- },
39
- },
37
+ day_idx: 1
38
+ }
39
+ }
40
40
  });
41
41
  console.log(`▸ Model loaded: ${modelId}`);
42
- console.log("▸ Opening live session...");
43
- const session = await bciTranscribeStream({ modelId, emit: "delta" });
44
- console.log("▸ Session open. Streaming neural signal...");
42
+ console.log('▸ Opening live session...');
43
+ const session = await bciTranscribeStream({ modelId, emit: 'delta' });
44
+ console.log('▸ Session open. Streaming neural signal...');
45
45
  // Drain the session concurrently with writing so the sliding-window
46
46
  // decode can make progress as chunks arrive instead of stalling.
47
47
  const consume = (async () => {
48
- let transcript = "";
48
+ let transcript = '';
49
49
  for await (const text of session) {
50
50
  transcript += text;
51
51
  process.stdout.write(text);
@@ -61,17 +61,17 @@ try {
61
61
  await new Promise((resolve) => setTimeout(resolve, 10));
62
62
  }
63
63
  console.log(`\n\n▸ Neural signal streamed: ${totalBytes} bytes`);
64
- console.log("▸ Waiting for transcription to finish...");
64
+ console.log('▸ Waiting for transcription to finish...');
65
65
  session.end();
66
66
  const transcript = await consume;
67
- console.log("\n▸ Results");
68
- console.log(transcript.trim() || "(no text received)");
69
- console.log("▸ Unloading model...");
67
+ console.log('\n▸ Results');
68
+ console.log(transcript.trim() || '(no text received)');
69
+ console.log('▸ Unloading model...');
70
70
  await unloadModel({ modelId });
71
- console.log("▸ Done.");
71
+ console.log('▸ Done.');
72
72
  process.exit(0);
73
73
  }
74
74
  catch (error) {
75
- console.error("✖", error);
75
+ console.error('✖', error);
76
76
  process.exit(1);
77
77
  }
@@ -7,46 +7,46 @@
7
7
  *
8
8
  * Usage: bun run examples/bci/bci-filesystem.ts <neural-bin-file-path>
9
9
  */
10
- import { loadModel, unloadModel, bciTranscribe, BCI_WINDOWED, } from "@qvac/sdk";
10
+ import { loadModel, unloadModel, bciTranscribe, BCI_WINDOWED } from '@qvac/sdk';
11
11
  const args = process.argv.slice(2);
12
12
  if (!args[0]) {
13
- console.error("Usage: bun run examples/bci/bci-filesystem.ts <neural-bin-file-path>");
13
+ console.error('Usage: bun run examples/bci/bci-filesystem.ts <neural-bin-file-path>');
14
14
  process.exit(1);
15
15
  }
16
16
  const neuralFilePath = args[0];
17
17
  try {
18
- console.log("▸ Starting BCI transcription example...");
19
- console.log("▸ Loading BCI model...");
18
+ console.log('▸ Starting BCI transcription example...');
19
+ console.log('▸ Loading BCI model...');
20
20
  const modelId = await loadModel({
21
21
  modelSrc: BCI_WINDOWED,
22
22
  modelConfig: {
23
23
  whisperConfig: {
24
- language: "en",
24
+ language: 'en',
25
25
  n_threads: 4,
26
- temperature: 0.0,
26
+ temperature: 0.0
27
27
  },
28
28
  // Session day index selects the day-specific projection matrices.
29
29
  // Set this to match the recording session your neural file came from.
30
30
  bciConfig: {
31
- day_idx: 1,
32
- },
31
+ day_idx: 1
32
+ }
33
33
  },
34
34
  onProgress: (p) => {
35
35
  const mb = (n) => (n / 1e6).toFixed(1);
36
36
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
37
37
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
38
38
  if (p.percentage >= 100)
39
- process.stderr.write("\n");
40
- },
39
+ process.stderr.write('\n');
40
+ }
41
41
  });
42
42
  console.log(`▸ BCI model loaded with ID: ${modelId}`);
43
- console.log("▸ Transcribing neural signal...");
43
+ console.log('▸ Transcribing neural signal...');
44
44
  const segments = await bciTranscribe({
45
45
  modelId,
46
46
  neuralData: neuralFilePath,
47
- metadata: true,
47
+ metadata: true
48
48
  });
49
- console.log("▸ Transcription result:");
49
+ console.log('▸ Transcription result:');
50
50
  for (const segment of segments) {
51
51
  const start = (segment.startMs / 1000).toFixed(2);
52
52
  const end = (segment.endMs / 1000).toFixed(2);
@@ -54,14 +54,14 @@ try {
54
54
  }
55
55
  console.log(segments
56
56
  .map((s) => s.text)
57
- .join("")
57
+ .join('')
58
58
  .trim());
59
- console.log("▸ Unloading BCI model...");
59
+ console.log('▸ Unloading BCI model...');
60
60
  await unloadModel({ modelId });
61
- console.log("▸ BCI model unloaded successfully");
61
+ console.log('▸ BCI model unloaded successfully');
62
62
  process.exit(0);
63
63
  }
64
64
  catch (error) {
65
- console.error("✖", error);
65
+ console.error('✖', error);
66
66
  process.exit(1);
67
67
  }
@@ -1,15 +1,15 @@
1
- import { WHISPER_TINY } from "../models/registry/index.js";
2
- import { downloadAsset, getModelInfo, loadModel, unloadModel } from "..";
1
+ import { WHISPER_TINY } from '../models/registry/index.js';
2
+ import { downloadAsset, getModelInfo, loadModel, unloadModel } from '..';
3
3
  const printModelStatus = (info, label) => {
4
4
  console.log(`\n▸ ${label}`);
5
5
  console.log(`▸ Model Name: ${info.name}`);
6
6
  console.log(`▸ Model ID: ${info.modelId}`);
7
- console.log(`▸ Blob Core Key: ${info.blobCoreKey?.substring(0, 16) || "N/A"}...`);
7
+ console.log(`▸ Blob Core Key: ${info.blobCoreKey?.substring(0, 16) || 'N/A'}...`);
8
8
  console.log(`▸ Expected Size: ${(info.expectedSize / 1024 / 1024).toFixed(2)} MB`);
9
9
  console.log(`▸ Addon: ${info.addon}`);
10
10
  console.log(`▸ Cache Files: ${info.cacheFiles.length}`);
11
- console.log(`▸ Is Cached: ${info.isCached ? "yes" : "no"}`);
12
- console.log(`▸ Is Loaded: ${info.isLoaded ? "yes" : "no"}`);
11
+ console.log(`▸ Is Cached: ${info.isCached ? 'yes' : 'no'}`);
12
+ console.log(`▸ Is Loaded: ${info.isLoaded ? 'yes' : 'no'}`);
13
13
  if (info.isCached) {
14
14
  if (info.cacheFiles.length === 1) {
15
15
  console.log(`▸ Cache Path: ${info.cacheFiles[0]?.path}`);
@@ -30,67 +30,67 @@ const printModelStatus = (info, label) => {
30
30
  }
31
31
  };
32
32
  try {
33
- console.log("▸ Model Cache Management Demo");
33
+ console.log('▸ Model Cache Management Demo');
34
34
  // 1. Check initial status
35
- console.log("\n▸ 1. INITIAL STATUS CHECK");
35
+ console.log('\n▸ 1. INITIAL STATUS CHECK');
36
36
  const initialInfo = await getModelInfo(WHISPER_TINY);
37
- printModelStatus(initialInfo, "Initial Status:");
37
+ printModelStatus(initialInfo, 'Initial Status:');
38
38
  // 2. Download if not cached
39
39
  if (!initialInfo.isCached) {
40
- console.log("\n▸ 2. DOWNLOADING MODEL (not cached)");
41
- console.log("▸ Downloading from hyperdrive...");
40
+ console.log('\n▸ 2. DOWNLOADING MODEL (not cached)');
41
+ console.log('▸ Downloading from hyperdrive...');
42
42
  await downloadAsset({ assetSrc: WHISPER_TINY });
43
- console.log("▸ Download complete!");
43
+ console.log('▸ Download complete!');
44
44
  const afterDownload = await getModelInfo(WHISPER_TINY);
45
- printModelStatus(afterDownload, "Status After Download:");
45
+ printModelStatus(afterDownload, 'Status After Download:');
46
46
  }
47
47
  else {
48
- console.log("\n▸ 2. MODEL ALREADY CACHED");
49
- console.log("▸ Skipping download...");
48
+ console.log('\n▸ 2. MODEL ALREADY CACHED');
49
+ console.log('▸ Skipping download...');
50
50
  }
51
51
  // 3. Load if not loaded
52
- console.log("\n▸ 3. LOADING MODEL INTO MEMORY");
52
+ console.log('\n▸ 3. LOADING MODEL INTO MEMORY');
53
53
  const beforeLoad = await getModelInfo(WHISPER_TINY);
54
54
  let modelId;
55
55
  if (!beforeLoad.isLoaded) {
56
- console.log("▸ Loading model into memory...");
56
+ console.log('▸ Loading model into memory...');
57
57
  modelId = await loadModel({
58
- modelSrc: WHISPER_TINY,
58
+ modelSrc: WHISPER_TINY
59
59
  });
60
60
  console.log(`▸ Model loaded! ID: ${modelId}`);
61
61
  const afterLoad = await getModelInfo(WHISPER_TINY);
62
- printModelStatus(afterLoad, "Status After Load:");
62
+ printModelStatus(afterLoad, 'Status After Load:');
63
63
  }
64
64
  else {
65
- console.log("▸ Model already loaded!");
65
+ console.log('▸ Model already loaded!');
66
66
  const instances = beforeLoad.loadedInstances;
67
67
  if (!instances || instances.length === 0) {
68
- throw new Error("Model is loaded but no instances found");
68
+ throw new Error('Model is loaded but no instances found');
69
69
  }
70
70
  const firstInstance = instances[0];
71
71
  if (!firstInstance) {
72
- throw new Error("First instance is undefined");
72
+ throw new Error('First instance is undefined');
73
73
  }
74
74
  modelId = firstInstance.registryId;
75
75
  console.log(`▸ Using existing model ID: ${modelId}`);
76
76
  }
77
77
  // 4. Demonstrate unload
78
- console.log("\n▸ 4. UNLOADING MODEL");
79
- console.log("▸ Unloading model from memory...");
78
+ console.log('\n▸ 4. UNLOADING MODEL');
79
+ console.log('▸ Unloading model from memory...');
80
80
  await unloadModel({ modelId });
81
- console.log("▸ Model unloaded!");
81
+ console.log('▸ Model unloaded!');
82
82
  const afterUnload = await getModelInfo(WHISPER_TINY);
83
- printModelStatus(afterUnload, "Status After Unload:");
83
+ printModelStatus(afterUnload, 'Status After Unload:');
84
84
  // 5. Summary
85
- console.log("\n▸ 5. SUMMARY");
86
- console.log("▸ Model Info API works correctly");
87
- console.log("▸ Cache status tracked accurately");
88
- console.log("▸ Loaded status reflects memory state");
89
- console.log("▸ All operations completed successfully");
90
- console.log("\n▸ Demo Complete\n");
85
+ console.log('\n▸ 5. SUMMARY');
86
+ console.log('▸ Model Info API works correctly');
87
+ console.log('▸ Cache status tracked accurately');
88
+ console.log('▸ Loaded status reflects memory state');
89
+ console.log('▸ All operations completed successfully');
90
+ console.log('\n▸ Demo Complete\n');
91
91
  process.exit(0);
92
92
  }
93
93
  catch (error) {
94
- console.error("✖", error);
94
+ console.error('✖', error);
95
95
  process.exit(1);
96
96
  }
@@ -34,27 +34,27 @@
34
34
  * consumers don't need to catch anything; promise-aggregate consumers
35
35
  * pattern-match on `instanceof InferenceCancelledError`.
36
36
  */
37
- import { cancel, completion, loadModel, unloadModel, InferenceCancelledError, QWEN3_600M_INST_Q4, } from "@qvac/sdk";
37
+ import { cancel, completion, loadModel, unloadModel, InferenceCancelledError, QWEN3_600M_INST_Q4 } from '@qvac/sdk';
38
38
  try {
39
39
  const modelId = await loadModel({
40
40
  modelSrc: QWEN3_600M_INST_Q4,
41
- modelConfig: { ctx_size: 4096 },
41
+ modelConfig: { ctx_size: 4096 }
42
42
  });
43
43
  const run = completion({
44
44
  modelId,
45
45
  history: [
46
46
  {
47
- role: "user",
48
- content: "Write a long, detailed essay about the history of the Roman Empire.",
49
- },
47
+ role: 'user',
48
+ content: 'Write a long, detailed essay about the history of the Roman Empire.'
49
+ }
50
50
  ],
51
- stream: true,
51
+ stream: true
52
52
  });
53
53
  console.log(`▸ requestId: ${run.requestId}`);
54
54
  // Cancel after a short delay so we exercise the cancel-mid-decode path.
55
55
  setTimeout(() => {
56
56
  void cancel({ requestId: run.requestId });
57
- console.log("▸ cancel issued");
57
+ console.log('▸ cancel issued');
58
58
  }, 250);
59
59
  // Channel 1: the events stream ends normally on cancel. The
60
60
  // `completionDone` event's `stopReason` tells you why the loop is
@@ -62,11 +62,11 @@ try {
62
62
  let tokenCount = 0;
63
63
  let endReason;
64
64
  for await (const event of run.events) {
65
- if (event.type === "contentDelta") {
65
+ if (event.type === 'contentDelta') {
66
66
  tokenCount++;
67
67
  process.stdout.write(event.text);
68
68
  }
69
- else if (event.type === "completionDone") {
69
+ else if (event.type === 'completionDone') {
70
70
  endReason = event.stopReason;
71
71
  }
72
72
  }
@@ -81,7 +81,7 @@ try {
81
81
  catch (err) {
82
82
  if (err instanceof InferenceCancelledError) {
83
83
  console.log(`▸ run.text rejected: cancelled (requestId=${err.requestId})`);
84
- console.log(`▸ partial text length: ${(err.partial.text ?? "").length}`);
84
+ console.log(`▸ partial text length: ${(err.partial.text ?? '').length}`);
85
85
  if (err.partial.stats?.tokensPerSecond !== undefined) {
86
86
  console.log(`▸ partial stats: ${err.partial.stats.tokensPerSecond.toFixed(1)} tok/s`);
87
87
  }
@@ -97,6 +97,6 @@ try {
97
97
  process.exit(0);
98
98
  }
99
99
  catch (error) {
100
- console.error("✖", error);
100
+ console.error('✖', error);
101
101
  process.exit(1);
102
102
  }
@@ -1,5 +1,5 @@
1
- import fs from "fs";
2
- import { startQVACProvider, stopQVACProvider, loadModel, classify, unloadModel, } from "@qvac/sdk";
1
+ import fs from 'fs';
2
+ import { startQVACProvider, stopQVACProvider, loadModel, classify, unloadModel } from '@qvac/sdk';
3
3
  /**
4
4
  * Classify an image using the bundled MobileNetV3-Small model.
5
5
  *
@@ -9,11 +9,11 @@ import { startQVACProvider, stopQVACProvider, loadModel, classify, unloadModel,
9
9
  async function main() {
10
10
  await startQVACProvider({});
11
11
  const modelId = await loadModel({
12
- modelType: "ggml-classification",
12
+ modelType: 'ggml-classification'
13
13
  });
14
- const image = fs.readFileSync("image.jpg");
14
+ const image = fs.readFileSync('image.jpg');
15
15
  const results = await classify({ modelId, image });
16
- console.log("Classification results:");
16
+ console.log('Classification results:');
17
17
  for (const { label, confidence } of results) {
18
18
  console.log(` ${label}: ${(confidence * 100).toFixed(1)}%`);
19
19
  }
@@ -14,7 +14,7 @@
14
14
  * into dedicated `thinkingDelta` events. `final.raw.fullText` keeps the exact
15
15
  * model output.
16
16
  */
17
- import { completion, loadModel, unloadModel, QWEN3_600M_INST_Q4, } from "@qvac/sdk";
17
+ import { completion, loadModel, unloadModel, QWEN3_600M_INST_Q4 } from '@qvac/sdk';
18
18
  try {
19
19
  const modelId = await loadModel({
20
20
  modelSrc: QWEN3_600M_INST_Q4,
@@ -24,23 +24,21 @@ try {
24
24
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
25
25
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
26
26
  if (p.percentage >= 100)
27
- process.stderr.write("\n");
28
- },
27
+ process.stderr.write('\n');
28
+ }
29
29
  });
30
30
  console.log(`▸ Model loaded: ${modelId}`);
31
31
  const result = completion({
32
32
  modelId,
33
- history: [
34
- { role: "user", content: "Explain quantum computing in 2 sentences" },
35
- ],
33
+ history: [{ role: 'user', content: 'Explain quantum computing in 2 sentences' }],
36
34
  stream: true,
37
- captureThinking: true,
35
+ captureThinking: true
38
36
  });
39
37
  for await (const event of result.events) {
40
38
  handleEvent(event);
41
39
  }
42
40
  const final = await result.final;
43
- console.log("\n▸ Final result");
41
+ console.log('\n▸ Final result');
44
42
  console.log(`▸ Content: ${final.contentText}`);
45
43
  if (final.thinkingText) {
46
44
  console.log(`▸ Thinking: ${final.thinkingText}`);
@@ -49,7 +47,7 @@ try {
49
47
  console.log(`▸ ${final.stats.tokensPerSecond?.toFixed(1)} tok/s`);
50
48
  }
51
49
  if (final.toolCalls.length > 0) {
52
- console.log(`▸ Tool calls: ${final.toolCalls.map((c) => c.name).join(", ")}`);
50
+ console.log(`▸ Tool calls: ${final.toolCalls.map((c) => c.name).join(', ')}`);
53
51
  }
54
52
  if (final.stopReason) {
55
53
  console.log(`▸ Stop reason: ${final.stopReason}`);
@@ -58,32 +56,32 @@ try {
58
56
  await unloadModel({ modelId, clearStorage: false });
59
57
  }
60
58
  catch (error) {
61
- console.error("✖", error);
59
+ console.error('✖', error);
62
60
  process.exit(1);
63
61
  }
64
62
  function handleEvent(event) {
65
63
  switch (event.type) {
66
- case "contentDelta":
64
+ case 'contentDelta':
67
65
  process.stdout.write(event.text);
68
66
  break;
69
- case "thinkingDelta":
67
+ case 'thinkingDelta':
70
68
  process.stdout.write(`\x1b[2m${event.text}\x1b[0m`);
71
69
  break;
72
- case "toolCall":
70
+ case 'toolCall':
73
71
  console.log(`\n▸ Tool: ${event.call.name}(${JSON.stringify(event.call.arguments)})`);
74
72
  break;
75
- case "toolError":
73
+ case 'toolError':
76
74
  console.log(`\n✖ Tool error [${event.error.code}]: ${event.error.message}`);
77
75
  break;
78
- case "completionStats":
76
+ case 'completionStats':
79
77
  console.log(`\n▸ ${event.stats.tokensPerSecond?.toFixed(1)} tok/s`);
80
78
  break;
81
- case "completionDone":
82
- if (event.stopReason === "error" && "error" in event) {
79
+ case 'completionDone':
80
+ if (event.stopReason === 'error' && 'error' in event) {
83
81
  console.log(`\n✖ ${event.error.message}`);
84
82
  }
85
83
  break;
86
- case "rawDelta":
84
+ case 'rawDelta':
87
85
  break;
88
86
  }
89
87
  }