@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,5 +1,5 @@
1
- import { loadModel, textToSpeech, unloadModel, TTS_T3_TURBO_EN_CHATTERBOX_Q8_0, TTS_S3GEN_EN_CHATTERBOX, } from "@qvac/sdk";
2
- import { createWav, playAudio, int16ArrayToBuffer, createWavHeader, } from "./utils.js";
1
+ import { loadModel, textToSpeech, unloadModel, TTS_T3_TURBO_EN_CHATTERBOX_Q8_0, TTS_S3GEN_EN_CHATTERBOX } from '@qvac/sdk';
2
+ import { createWav, playAudio, int16ArrayToBuffer, createWavHeader } from './utils.js';
3
3
  // Chatterbox TTS (GGML): voice cloning with optional reference audio.
4
4
  // Uses registry model constants — downloads automatically from QVAC Registry.
5
5
  // Usage: node chatterbox.ts [referenceAudioSrc]
@@ -9,49 +9,49 @@ try {
9
9
  const modelId = await loadModel({
10
10
  modelSrc: TTS_T3_TURBO_EN_CHATTERBOX_Q8_0,
11
11
  modelConfig: {
12
- ttsEngine: "chatterbox",
13
- language: "en",
12
+ ttsEngine: 'chatterbox',
13
+ language: 'en',
14
14
  s3genModelSrc: TTS_S3GEN_EN_CHATTERBOX.src,
15
15
  streamChunkTokens: 25,
16
16
  streamFirstChunkTokens: 10,
17
17
  cfmSteps: 1,
18
18
  threads: 8,
19
- ...(referenceAudioSrc ? { referenceAudioSrc } : {}),
19
+ ...(referenceAudioSrc ? { referenceAudioSrc } : {})
20
20
  },
21
21
  onProgress: (p) => {
22
22
  const mb = (n) => (n / 1e6).toFixed(1);
23
23
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
24
24
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
25
25
  if (p.percentage >= 100)
26
- process.stderr.write("\n");
27
- },
26
+ process.stderr.write('\n');
27
+ }
28
28
  });
29
29
  console.log(`▸ Model loaded: ${modelId}`);
30
- console.log("▸ Testing Text-to-Speech...");
30
+ console.log('▸ Testing Text-to-Speech...');
31
31
  const result = textToSpeech({
32
32
  modelId,
33
33
  text: `QVAC SDK is the canonical entry point to QVAC. Written in TypeScript, it provides all QVAC capabilities through a unified interface while also abstracting away the complexity of running your application in a JS environment other than Bare. Supported JS environments include Bare, Node.js, Expo and Bun.`,
34
- inputType: "text",
35
- stream: false,
34
+ inputType: 'text',
35
+ stream: false
36
36
  });
37
37
  const audioBuffer = await result.buffer;
38
38
  console.log(`▸ TTS complete. Total bytes: ${audioBuffer.length}`);
39
- console.log("▸ Saving audio to file...");
40
- createWav(audioBuffer, CHATTERBOX_SAMPLE_RATE, "tts-output.wav");
41
- console.log("▸ Audio saved to tts-output.wav");
42
- console.log("▸ Playing audio...");
39
+ console.log('▸ Saving audio to file...');
40
+ createWav(audioBuffer, CHATTERBOX_SAMPLE_RATE, 'tts-output.wav');
41
+ console.log('▸ Audio saved to tts-output.wav');
42
+ console.log('▸ Playing audio...');
43
43
  const audioData = int16ArrayToBuffer(audioBuffer);
44
44
  const wavBuffer = Buffer.concat([
45
45
  createWavHeader(audioData.length, CHATTERBOX_SAMPLE_RATE),
46
- audioData,
46
+ audioData
47
47
  ]);
48
48
  playAudio(wavBuffer);
49
- console.log("▸ Audio playback complete");
49
+ console.log('▸ Audio playback complete');
50
50
  await unloadModel({ modelId });
51
- console.log("▸ Model unloaded");
51
+ console.log('▸ Model unloaded');
52
52
  process.exit(0);
53
53
  }
54
54
  catch (error) {
55
- console.error("✖", error);
55
+ console.error('✖', error);
56
56
  process.exit(1);
57
57
  }
@@ -12,8 +12,8 @@
12
12
  * Usage:
13
13
  * bun run examples/tts/llm-to-tts-streaming.ts
14
14
  */
15
- import { completion, loadModel, textToSpeechStream, unloadModel, LLAMA_3_2_1B_INST_Q4_0, TTS_MULTILINGUAL_SUPERTONIC3_Q8_0, } from "@qvac/sdk";
16
- import { createWav, playPcmInt16Chunk } from "./utils.js";
15
+ import { completion, loadModel, textToSpeechStream, unloadModel, LLAMA_3_2_1B_INST_Q4_0, TTS_MULTILINGUAL_SUPERTONIC3_Q8_0 } from '@qvac/sdk';
16
+ import { createWav, playPcmInt16Chunk } from './utils.js';
17
17
  const SUPERTONIC_SAMPLE_RATE = 44100;
18
18
  /**
19
19
  * Drop angle-bracket spans (e.g. `<think>…</think>`, `<|foo|>`) even when split across tokens,
@@ -22,20 +22,20 @@ const SUPERTONIC_SAMPLE_RATE = 44100;
22
22
  function createAngleBracketAndStarFilter() {
23
23
  let inAngle = false;
24
24
  return function filterChunk(chunk) {
25
- let out = "";
25
+ let out = '';
26
26
  for (let i = 0; i < chunk.length; i++) {
27
27
  const c = chunk[i];
28
28
  if (inAngle) {
29
- if (c === ">") {
29
+ if (c === '>') {
30
30
  inAngle = false;
31
31
  }
32
32
  continue;
33
33
  }
34
- if (c === "<") {
34
+ if (c === '<') {
35
35
  inAngle = true;
36
36
  continue;
37
37
  }
38
- if (c === "*") {
38
+ if (c === '*') {
39
39
  continue;
40
40
  }
41
41
  out += c;
@@ -61,49 +61,49 @@ try {
61
61
  const llmModelId = await loadModel({
62
62
  modelSrc: LLAMA_3_2_1B_INST_Q4_0,
63
63
  modelConfig: {
64
- ctx_size: 2048,
64
+ ctx_size: 2048
65
65
  },
66
66
  onProgress: (p) => {
67
67
  const mb = (n) => (n / 1e6).toFixed(1);
68
68
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
69
69
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
70
70
  if (p.percentage >= 100)
71
- process.stderr.write("\n");
72
- },
71
+ process.stderr.write('\n');
72
+ }
73
73
  });
74
74
  console.log(`▸ LLM ready: ${llmModelId}`);
75
- console.log("▸ Loading Supertonic TTS (registry)…");
75
+ console.log('▸ Loading Supertonic TTS (registry)…');
76
76
  const ttsModelId = await loadModel({
77
77
  modelSrc: TTS_MULTILINGUAL_SUPERTONIC3_Q8_0,
78
78
  modelConfig: {
79
- ttsEngine: "supertonic",
80
- language: "en",
81
- voice: "F1",
79
+ ttsEngine: 'supertonic',
80
+ language: 'en',
81
+ voice: 'F1',
82
82
  ttsSpeed: 1.05,
83
- ttsNumInferenceSteps: 10,
83
+ ttsNumInferenceSteps: 10
84
84
  },
85
85
  onProgress: (p) => {
86
86
  const mb = (n) => (n / 1e6).toFixed(1);
87
87
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
88
88
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
89
89
  if (p.percentage >= 100)
90
- process.stderr.write("\n");
91
- },
90
+ process.stderr.write('\n');
91
+ }
92
92
  });
93
93
  console.log(`▸ TTS ready: ${ttsModelId}`);
94
- const prompt = "What is a constellation?";
94
+ const prompt = 'What is a constellation?';
95
95
  console.log(`▸ User: ${prompt}`);
96
- console.log("▸ Assistant (streaming):");
96
+ console.log('▸ Assistant (streaming):');
97
97
  const result = completion({
98
98
  modelId: llmModelId,
99
- history: [{ role: "user", content: prompt }],
100
- stream: true,
99
+ history: [{ role: 'user', content: prompt }],
100
+ stream: true
101
101
  });
102
102
  const combinedPcm = [];
103
103
  const ttsSession = await textToSpeechStream({
104
104
  modelId: ttsModelId,
105
- inputType: "text",
106
- accumulateSentences: true,
105
+ inputType: 'text',
106
+ accumulateSentences: true
107
107
  });
108
108
  let phraseIndex = 0;
109
109
  const filterChunk = createAngleBracketAndStarFilter();
@@ -112,10 +112,10 @@ try {
112
112
  if (m.buffer.length > 0) {
113
113
  appendPcmSamples(combinedPcm, m.buffer);
114
114
  phraseIndex += 1;
115
- const preview = typeof m.sentenceChunk === "string"
116
- ? m.sentenceChunk.replace(/\s+/g, " ").trim().slice(0, 72)
117
- : "";
118
- console.log(`\n▸ [TTS phrase ${phraseIndex}] ${m.buffer.length} samples${preview ? ` — "${preview}${preview.length >= 72 ? "..." : ""}"` : ""}`);
115
+ const preview = typeof m.sentenceChunk === 'string'
116
+ ? m.sentenceChunk.replace(/\s+/g, ' ').trim().slice(0, 72)
117
+ : '';
118
+ console.log(`\n▸ [TTS phrase ${phraseIndex}] ${m.buffer.length} samples${preview ? ` — "${preview}${preview.length >= 72 ? '...' : ''}"` : ''}`);
119
119
  await playPcmInt16Chunk(m.buffer, SUPERTONIC_SAMPLE_RATE);
120
120
  }
121
121
  }
@@ -131,17 +131,17 @@ try {
131
131
  await drainPcm;
132
132
  const stats = await result.stats;
133
133
  if (stats) {
134
- console.log("\n▸ LLM stats:", stats);
134
+ console.log('\n▸ LLM stats:', stats);
135
135
  }
136
- const outWav = "llm-to-tts-streaming-output.wav";
136
+ const outWav = 'llm-to-tts-streaming-output.wav';
137
137
  console.log(`\n▸ Writing ${combinedPcm.length} samples to ${outWav} (full utterance; phrases were already played above).`);
138
138
  createWav(combinedPcm, SUPERTONIC_SAMPLE_RATE, outWav);
139
139
  await unloadModel({ modelId: llmModelId, clearStorage: false });
140
140
  await unloadModel({ modelId: ttsModelId, clearStorage: false });
141
- console.log("▸ Models unloaded.");
141
+ console.log('▸ Models unloaded.');
142
142
  process.exit(0);
143
143
  }
144
144
  catch (error) {
145
- console.error("✖", error);
145
+ console.error('✖', error);
146
146
  process.exit(1);
147
147
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=supertonic-enhanced.d.ts.map
@@ -0,0 +1,57 @@
1
+ import { loadModel, textToSpeech, unloadModel, TTS_MULTILINGUAL_SUPERTONIC3_Q8_0, TTS_DENOISER_LAVASR_FP16, TTS_ENHANCER_LAVASR_FP16 } from '@qvac/sdk';
2
+ import { createWav, playAudio, int16ArrayToBuffer, createWavHeader } from './utils.js';
3
+ // Supertonic 3 TTS (GGML) with LavaSR post-processing: the denoiser cleans the
4
+ // synthesized signal first, then the enhancer bandwidth-extends it to 48 kHz.
5
+ // Supplying the enhancer GGUF is what enables enhancement — there is no on/off
6
+ // flag — and it forces the output to 48 kHz regardless of the engine's native
7
+ // rate.
8
+ const ENHANCED_SAMPLE_RATE = 48000;
9
+ try {
10
+ const modelId = await loadModel({
11
+ modelSrc: TTS_MULTILINGUAL_SUPERTONIC3_Q8_0,
12
+ modelConfig: {
13
+ ttsEngine: 'supertonic',
14
+ language: 'en',
15
+ voice: 'F1',
16
+ // Denoiser runs first (rate-preserving)…
17
+ lavasrDenoiserModelSrc: TTS_DENOISER_LAVASR_FP16.src,
18
+ // …then the enhancer bandwidth-extends to 48 kHz.
19
+ lavasrEnhancerModelSrc: TTS_ENHANCER_LAVASR_FP16.src
20
+ },
21
+ onProgress: (p) => {
22
+ const mb = (n) => (n / 1e6).toFixed(1);
23
+ const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
24
+ process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
25
+ if (p.percentage >= 100)
26
+ process.stderr.write('\n');
27
+ }
28
+ });
29
+ console.log(`▸ Model loaded: ${modelId}`);
30
+ console.log('▸ Testing Text-to-Speech (LavaSR denoiser + enhancer)...');
31
+ const result = textToSpeech({
32
+ modelId,
33
+ text: `QVAC SDK is the canonical entry point to QVAC. Written in TypeScript, it provides all QVAC capabilities through a unified interface while also abstracting away the complexity of running your application in a JS environment other than Bare. Supported JS environments include Bare, Node.js, Expo and Bun.`,
34
+ inputType: 'text',
35
+ stream: false
36
+ });
37
+ const audioBuffer = await result.buffer;
38
+ console.log(`▸ TTS complete. Total samples: ${audioBuffer.length}`);
39
+ console.log('▸ Saving audio to file...');
40
+ createWav(audioBuffer, ENHANCED_SAMPLE_RATE, 'supertonic-enhanced-output.wav');
41
+ console.log('▸ Audio saved to supertonic-enhanced-output.wav');
42
+ console.log('▸ Playing audio...');
43
+ const audioData = int16ArrayToBuffer(audioBuffer);
44
+ const wavBuffer = Buffer.concat([
45
+ createWavHeader(audioData.length, ENHANCED_SAMPLE_RATE),
46
+ audioData
47
+ ]);
48
+ playAudio(wavBuffer);
49
+ console.log('▸ Audio playback complete');
50
+ await unloadModel({ modelId });
51
+ console.log('▸ Model unloaded');
52
+ process.exit(0);
53
+ }
54
+ catch (error) {
55
+ console.error('✖', error);
56
+ process.exit(1);
57
+ }
@@ -1,51 +1,51 @@
1
- import { loadModel, textToSpeech, unloadModel, TTS_MULTILINGUAL_SUPERTONIC3_Q8_0, } from "@qvac/sdk";
2
- import { createWav, playAudio, int16ArrayToBuffer, createWavHeader, } from "./utils.js";
1
+ import { loadModel, textToSpeech, unloadModel, TTS_MULTILINGUAL_SUPERTONIC3_Q8_0 } from '@qvac/sdk';
2
+ import { createWav, playAudio, int16ArrayToBuffer, createWavHeader } from './utils.js';
3
3
  // Supertonic 3 TTS (GGML): multilingual synthesis across 31 languages.
4
4
  const SUPERTONIC_SAMPLE_RATE = 44100;
5
5
  try {
6
6
  const modelId = await loadModel({
7
7
  modelSrc: TTS_MULTILINGUAL_SUPERTONIC3_Q8_0,
8
8
  modelConfig: {
9
- ttsEngine: "supertonic",
10
- language: "es",
11
- voice: "F1",
9
+ ttsEngine: 'supertonic',
10
+ language: 'es',
11
+ voice: 'F1',
12
12
  ttsSpeed: 1.05,
13
- ttsNumInferenceSteps: 5,
13
+ ttsNumInferenceSteps: 5
14
14
  },
15
15
  onProgress: (p) => {
16
16
  const mb = (n) => (n / 1e6).toFixed(1);
17
17
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
18
18
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
19
19
  if (p.percentage >= 100)
20
- process.stderr.write("\n");
21
- },
20
+ process.stderr.write('\n');
21
+ }
22
22
  });
23
23
  console.log(`▸ Model loaded: ${modelId}`);
24
- console.log("▸ Testing Text-to-Speech...");
24
+ console.log('▸ Testing Text-to-Speech...');
25
25
  const result = textToSpeech({
26
26
  modelId,
27
27
  text: `Hola mundo. Esta es una demostración de síntesis de voz con Supertonic en español.`,
28
- inputType: "text",
29
- stream: false,
28
+ inputType: 'text',
29
+ stream: false
30
30
  });
31
31
  const audioBuffer = await result.buffer;
32
32
  console.log(`▸ TTS complete. Total samples: ${audioBuffer.length}`);
33
- console.log("▸ Saving audio to file...");
34
- createWav(audioBuffer, SUPERTONIC_SAMPLE_RATE, "supertonic-multilingual-output.wav");
35
- console.log("▸ Audio saved to supertonic-multilingual-output.wav");
36
- console.log("▸ Playing audio...");
33
+ console.log('▸ Saving audio to file...');
34
+ createWav(audioBuffer, SUPERTONIC_SAMPLE_RATE, 'supertonic-multilingual-output.wav');
35
+ console.log('▸ Audio saved to supertonic-multilingual-output.wav');
36
+ console.log('▸ Playing audio...');
37
37
  const audioData = int16ArrayToBuffer(audioBuffer);
38
38
  const wavBuffer = Buffer.concat([
39
39
  createWavHeader(audioData.length, SUPERTONIC_SAMPLE_RATE),
40
- audioData,
40
+ audioData
41
41
  ]);
42
42
  playAudio(wavBuffer);
43
- console.log("▸ Audio playback complete");
43
+ console.log('▸ Audio playback complete');
44
44
  await unloadModel({ modelId });
45
- console.log("▸ Model unloaded");
45
+ console.log('▸ Model unloaded');
46
46
  process.exit(0);
47
47
  }
48
48
  catch (error) {
49
- console.error("✖", error);
49
+ console.error('✖', error);
50
50
  process.exit(1);
51
51
  }
@@ -1,5 +1,5 @@
1
- import { loadModel, textToSpeech, unloadModel, TTS_MULTILINGUAL_SUPERTONIC3_Q8_0, } from "@qvac/sdk";
2
- import { createWav, playAudio, int16ArrayToBuffer, createWavHeader, } from "./utils.js";
1
+ import { loadModel, textToSpeech, unloadModel, TTS_MULTILINGUAL_SUPERTONIC3_Q8_0 } from '@qvac/sdk';
2
+ import { createWav, playAudio, int16ArrayToBuffer, createWavHeader } from './utils.js';
3
3
  // Supertonic 3 TTS (GGML): fast multilingual synthesis with baked-in voices.
4
4
  // Uses registry model constants — downloads automatically from QVAC Registry.
5
5
  const SUPERTONIC_SAMPLE_RATE = 44100;
@@ -7,9 +7,9 @@ try {
7
7
  const modelId = await loadModel({
8
8
  modelSrc: TTS_MULTILINGUAL_SUPERTONIC3_Q8_0,
9
9
  modelConfig: {
10
- ttsEngine: "supertonic",
11
- language: "en",
12
- voice: "F1",
10
+ ttsEngine: 'supertonic',
11
+ language: 'en',
12
+ voice: 'F1',
13
13
  ttsSpeed: 1.05,
14
14
  ttsNumInferenceSteps: 5
15
15
  },
@@ -18,35 +18,35 @@ try {
18
18
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
19
19
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
20
20
  if (p.percentage >= 100)
21
- process.stderr.write("\n");
22
- },
21
+ process.stderr.write('\n');
22
+ }
23
23
  });
24
24
  console.log(`▸ Model loaded: ${modelId}`);
25
- console.log("▸ Testing Text-to-Speech...");
25
+ console.log('▸ Testing Text-to-Speech...');
26
26
  const result = textToSpeech({
27
27
  modelId,
28
28
  text: `QVAC SDK is the canonical entry point to QVAC. Written in TypeScript, it provides all QVAC capabilities through a unified interface while also abstracting away the complexity of running your application in a JS environment other than Bare. Supported JS environments include Bare, Node.js, Expo and Bun.`,
29
- inputType: "text",
30
- stream: false,
29
+ inputType: 'text',
30
+ stream: false
31
31
  });
32
32
  const audioBuffer = await result.buffer;
33
33
  console.log(`▸ TTS complete. Total samples: ${audioBuffer.length}`);
34
- console.log("▸ Saving audio to file...");
35
- createWav(audioBuffer, SUPERTONIC_SAMPLE_RATE, "supertonic-output.wav");
36
- console.log("▸ Audio saved to supertonic-output.wav");
37
- console.log("▸ Playing audio...");
34
+ console.log('▸ Saving audio to file...');
35
+ createWav(audioBuffer, SUPERTONIC_SAMPLE_RATE, 'supertonic-output.wav');
36
+ console.log('▸ Audio saved to supertonic-output.wav');
37
+ console.log('▸ Playing audio...');
38
38
  const audioData = int16ArrayToBuffer(audioBuffer);
39
39
  const wavBuffer = Buffer.concat([
40
40
  createWavHeader(audioData.length, SUPERTONIC_SAMPLE_RATE),
41
- audioData,
41
+ audioData
42
42
  ]);
43
43
  playAudio(wavBuffer);
44
- console.log("▸ Audio playback complete");
44
+ console.log('▸ Audio playback complete');
45
45
  await unloadModel({ modelId });
46
- console.log("▸ Model unloaded");
46
+ console.log('▸ Model unloaded');
47
47
  process.exit(0);
48
48
  }
49
49
  catch (error) {
50
- console.error("✖", error);
50
+ console.error('✖', error);
51
51
  process.exit(1);
52
52
  }
@@ -1,18 +1,18 @@
1
- import { writeFileSync, unlinkSync } from "fs";
2
- import { spawn, spawnSync } from "child_process";
3
- import { platform, tmpdir } from "os";
4
- import { join } from "path";
1
+ import { writeFileSync, unlinkSync } from 'fs';
2
+ import { spawn, spawnSync } from 'child_process';
3
+ import { platform, tmpdir } from 'os';
4
+ import { join } from 'path';
5
5
  /**
6
6
  * Create WAV header for 16-bit PCM audio
7
7
  */
8
8
  export function createWavHeader(dataLength, sampleRate) {
9
9
  const header = Buffer.alloc(44);
10
10
  // RIFF header
11
- header.write("RIFF", 0);
11
+ header.write('RIFF', 0);
12
12
  header.writeUInt32LE(36 + dataLength, 4);
13
- header.write("WAVE", 8);
13
+ header.write('WAVE', 8);
14
14
  // fmt chunk
15
- header.write("fmt ", 12);
15
+ header.write('fmt ', 12);
16
16
  header.writeUInt32LE(16, 16); // fmt chunk size
17
17
  header.writeUInt16LE(1, 20); // PCM format
18
18
  header.writeUInt16LE(1, 22); // mono
@@ -21,7 +21,7 @@ export function createWavHeader(dataLength, sampleRate) {
21
21
  header.writeUInt16LE(2, 32); // block align
22
22
  header.writeUInt16LE(16, 34); // bits per sample
23
23
  // data chunk
24
- header.write("data", 36);
24
+ header.write('data', 36);
25
25
  header.writeUInt32LE(dataLength, 40);
26
26
  return header;
27
27
  }
@@ -74,28 +74,28 @@ export function playPcmInt16Chunk(samples, sampleRate) {
74
74
  let audioPlayer;
75
75
  let args;
76
76
  switch (currentPlatform) {
77
- case "darwin":
78
- audioPlayer = "afplay";
77
+ case 'darwin':
78
+ audioPlayer = 'afplay';
79
79
  args = [tempFile];
80
80
  break;
81
- case "linux":
82
- audioPlayer = "aplay";
81
+ case 'linux':
82
+ audioPlayer = 'aplay';
83
83
  args = [tempFile];
84
84
  break;
85
- case "win32":
86
- audioPlayer = "powershell";
85
+ case 'win32':
86
+ audioPlayer = 'powershell';
87
87
  args = [
88
- "-Command",
89
- `Add-Type -AssemblyName presentationCore; (New-Object Media.SoundPlayer).LoadStream([System.IO.File]::ReadAllBytes('${tempFile}')).PlaySync()`,
88
+ '-Command',
89
+ `Add-Type -AssemblyName presentationCore; (New-Object Media.SoundPlayer).LoadStream([System.IO.File]::ReadAllBytes('${tempFile}')).PlaySync()`
90
90
  ];
91
91
  break;
92
92
  default:
93
- audioPlayer = "aplay";
93
+ audioPlayer = 'aplay';
94
94
  args = [tempFile];
95
95
  }
96
96
  return new Promise(function (resolve, reject) {
97
- const proc = spawn(audioPlayer, args, { stdio: "ignore" });
98
- proc.on("error", function (err) {
97
+ const proc = spawn(audioPlayer, args, { stdio: 'ignore' });
98
+ proc.on('error', function (err) {
99
99
  try {
100
100
  unlinkSync(tempFile);
101
101
  }
@@ -104,7 +104,7 @@ export function playPcmInt16Chunk(samples, sampleRate) {
104
104
  }
105
105
  reject(err);
106
106
  });
107
- proc.on("close", function (code) {
107
+ proc.on('close', function (code) {
108
108
  try {
109
109
  unlinkSync(tempFile);
110
110
  }
@@ -121,22 +121,14 @@ export function playPcmInt16Chunk(samples, sampleRate) {
121
121
  });
122
122
  }
123
123
  export function playAudio(audioBuffer) {
124
- const result = spawnSync("ffplay", [
125
- "-hide_banner",
126
- "-loglevel",
127
- "error",
128
- "-autoexit",
129
- "-nodisp",
130
- "-i",
131
- "pipe:0",
132
- ], {
124
+ const result = spawnSync('ffplay', ['-hide_banner', '-loglevel', 'error', '-autoexit', '-nodisp', '-i', 'pipe:0'], {
133
125
  input: audioBuffer,
134
- stdio: ["pipe", "inherit", "inherit"],
126
+ stdio: ['pipe', 'inherit', 'inherit']
135
127
  });
136
128
  if (result.error) {
137
129
  const code = result.error.code;
138
- if (code === "ENOENT") {
139
- throw new Error("ffplay not found on PATH. Install ffmpeg (ffplay ships with it) and retry.");
130
+ if (code === 'ENOENT') {
131
+ throw new Error('ffplay not found on PATH. Install ffmpeg (ffplay ships with it) and retry.');
140
132
  }
141
133
  throw new Error(`ffplay failed: ${result.error.message}`);
142
134
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vla-groot.d.ts.map
@@ -0,0 +1,118 @@
1
+ /**
2
+ * NVIDIA GR00T N1.7-3B (vision-language-action) example using the QVAC SDK.
3
+ *
4
+ * Loads the GR00T-N1.7-3B LIBERO GGUF model, runs a single inference pass with
5
+ * synthetic inputs, and prints the produced action chunk + per-stage timings.
6
+ *
7
+ * GR00T differs from SmolVLA / π₀.₅ in the ways the SDK surfaces via
8
+ * `vlaHparams()`:
9
+ * - `imageInputMode: 'patches'` — each `images` entry is a pre-patchified
10
+ * buffer of `hparams.imagePatchElems` floats, NOT a `3·w·h` pixel plane.
11
+ * A real consumer runs the model's own vision patch-embed over each camera
12
+ * frame; here we feed synthetic patch buffers of the right length.
13
+ * - `stateInputMode: 'continuous'` — the robot state is projected by an
14
+ * in-model linear layer; pad it to `hparams.maxStateDim` with `vlaPadState`.
15
+ * - `noise` is REQUIRED. GR00T is a flow-matching model that does not sample
16
+ * its own prior; a missing `noise` is rejected as INVALID_INPUT.
17
+ *
18
+ * The prompt must place one contiguous run of `MERGED_TOKENS_PER_IMAGE`
19
+ * image-placeholder tokens per camera. A real consumer produces this by
20
+ * tokenising the instruction with the Qwen3-VL tokenizer, which inserts the
21
+ * image tokens; we lay it out by hand for the smoke.
22
+ *
23
+ * Usage:
24
+ * bun examples/vla-groot.ts [path-to-groot.gguf]
25
+ *
26
+ * By default the example pulls the registry-baked GR00T-LIBERO GGUF (~3.76 GB)
27
+ * on first run and caches it locally. Pass an absolute path on the command line
28
+ * to override and load a local GGUF instead.
29
+ */
30
+ import { close, loadModel, GROOT_Q8_VF16, unloadModel, vla, vlaHparams, vlaPadState } from '@qvac/sdk';
31
+ // LIBERO GR00T prompt layout (Qwen3-VL tokenizer). GR00T reports
32
+ // `hparams.tokenizerMaxLength === 0` — it does not surface a tokenizer length,
33
+ // so the prompt length is fixed by the model: 2 cameras × 64 merged image
34
+ // tokens (256 patches, 2×2 merge) = 128 image tokens, plus text, = 148 total.
35
+ // A real consumer gets these from the tokenizer; the smoke hard-codes them.
36
+ const IMAGE_TOKEN_ID = 151655;
37
+ const MERGED_TOKENS_PER_IMAGE = 64;
38
+ const PROMPT_LENGTH = 148;
39
+ const TEXT_TOKEN_ID = 1000;
40
+ const modelSrcOverride = process.argv[2];
41
+ const modelSrc = modelSrcOverride ?? GROOT_Q8_VF16;
42
+ try {
43
+ console.log('▸ Loading GR00T (N1.7-3B LIBERO) model...');
44
+ const modelId = await loadModel({
45
+ modelSrc,
46
+ modelType: 'ggml-vla',
47
+ modelConfig: { backend: 'cpu' },
48
+ onProgress: (p) => {
49
+ const mb = (n) => (n / 1e6).toFixed(1);
50
+ const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
51
+ process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
52
+ if (p.percentage >= 100)
53
+ process.stderr.write('\n');
54
+ }
55
+ });
56
+ if (typeof modelSrc !== 'string')
57
+ process.stderr.write('\n');
58
+ console.log(`▸ Model loaded: ${modelId}`);
59
+ const { hparams, backendName } = await vlaHparams({ modelId });
60
+ console.log(`▸ Backend: ${backendName ?? '(unknown)'}`);
61
+ console.log('▸ Hparams:', hparams);
62
+ const patchElems = hparams.imagePatchElems;
63
+ if (hparams.imageInputMode !== 'patches' || patchElems == null) {
64
+ throw new Error(`expected a patch-input model (imageInputMode 'patches' + imagePatchElems); ` +
65
+ `got imageInputMode=${hparams.imageInputMode}`);
66
+ }
67
+ const numCameras = hparams.numCameras ?? 2;
68
+ // Patch-input model: each camera is a pre-patchified buffer of exactly
69
+ // `imagePatchElems` floats. A real consumer fills these from the model's
70
+ // vision patch-embed over the camera frame; we use small synthetic values.
71
+ const images = Array.from({ length: numCameras }, () => new Float32Array(patchElems).fill(0.02));
72
+ // Continuous-state model: pad the robot state to `maxStateDim`.
73
+ const state = vlaPadState([0, 0, 0, 0, 0, 0], hparams.maxStateDim);
74
+ // GR00T requires the noise prior (flow-matching; it is not sampled in-model).
75
+ const noise = new Float32Array(hparams.chunkSize * hparams.maxActionDim);
76
+ // Prompt: one run of `MERGED_TOKENS_PER_IMAGE` image tokens per camera, each
77
+ // followed by a text separator, padded out to the fixed `PROMPT_LENGTH`.
78
+ const tokens = new Int32Array(PROMPT_LENGTH);
79
+ let w = 0;
80
+ for (let cam = 0; cam < numCameras; cam++) {
81
+ for (let k = 0; k < MERGED_TOKENS_PER_IMAGE && w < tokens.length; k++) {
82
+ tokens[w++] = IMAGE_TOKEN_ID;
83
+ }
84
+ if (w < tokens.length)
85
+ tokens[w++] = TEXT_TOKEN_ID + cam;
86
+ }
87
+ for (; w < tokens.length; w++)
88
+ tokens[w] = TEXT_TOKEN_ID + w;
89
+ const mask = new Uint8Array(PROMPT_LENGTH).fill(1);
90
+ console.log('▸ Running VLA inference...');
91
+ const { actions, actionDim, chunkSize, stats } = await vla({
92
+ modelId,
93
+ images,
94
+ // Patch inputs ignore imgWidth/imgHeight, but the request schema requires
95
+ // positive integers; pass the model's vision image size.
96
+ imgWidth: hparams.visionImageSize,
97
+ imgHeight: hparams.visionImageSize,
98
+ state,
99
+ tokens,
100
+ mask,
101
+ noise
102
+ });
103
+ console.log(`▸ Got ${chunkSize} action steps of dim ${actionDim}.`);
104
+ console.log(Array.from(actions.subarray(0, actionDim)));
105
+ if (stats) {
106
+ console.log(`▸ Timing: vision=${stats.vision_ms?.toFixed(0)}ms ` +
107
+ `ode=${stats.ode_ms?.toFixed(0)}ms ` +
108
+ `total=${stats.total_ms?.toFixed(0)}ms`);
109
+ }
110
+ await unloadModel({ modelId, clearStorage: false });
111
+ console.log('▸ Model unloaded.');
112
+ process.exit(0);
113
+ }
114
+ catch (error) {
115
+ console.error('✖', error);
116
+ await close();
117
+ process.exit(1);
118
+ }