@qvac/sdk 0.14.0 → 0.15.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 (798) hide show
  1. package/NOTICE +27 -11
  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 +1 -1
  38. package/dist/client/api/ocr.js +11 -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 -14
  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 +1 -1
  63. package/dist/client/api/video.js +16 -14
  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 +1 -1
  67. package/dist/client/api/vla.js +13 -13
  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 +14 -14
  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.d.ts +1 -1
  107. package/dist/commands/bundle/entry-gen.js +10 -10
  108. package/dist/commands/bundle/index.js +47 -47
  109. package/dist/commands/bundle/manifest.d.ts +1 -1
  110. package/dist/commands/bundle/manifest.js +44 -46
  111. package/dist/commands/bundle/plugins.d.ts +2 -2
  112. package/dist/commands/bundle/plugins.js +7 -7
  113. package/dist/commands/bundle/resolve-sdk-import.d.ts +6 -0
  114. package/dist/commands/bundle/resolve-sdk-import.js +53 -0
  115. package/dist/commands/index.d.ts +4 -4
  116. package/dist/commands/index.js +2 -2
  117. package/dist/commands/verify/abi.d.ts +9 -9
  118. package/dist/commands/verify/abi.js +31 -31
  119. package/dist/commands/verify/addon-source.d.ts +1 -1
  120. package/dist/commands/verify/addon-source.js +13 -14
  121. package/dist/commands/verify/bundle-source.d.ts +1 -1
  122. package/dist/commands/verify/bundle-source.js +7 -7
  123. package/dist/commands/verify/index.d.ts +3 -3
  124. package/dist/commands/verify/index.js +18 -17
  125. package/dist/commands/verify/node-modules-source.d.ts +1 -1
  126. package/dist/commands/verify/node-modules-source.js +11 -11
  127. package/dist/commands/verify/prebuilds.d.ts +3 -3
  128. package/dist/commands/verify/prebuilds.js +8 -8
  129. package/dist/constants/audio.d.ts +1 -1
  130. package/dist/constants/audio.js +1 -1
  131. package/dist/constants/index.d.ts +2 -2
  132. package/dist/constants/index.js +2 -2
  133. package/dist/constants/registry.js +1 -1
  134. package/dist/examples/audio/mic-input.d.ts +1 -1
  135. package/dist/examples/audio/mic-input.js +31 -31
  136. package/dist/examples/batch-completion.d.ts +38 -0
  137. package/dist/examples/batch-completion.js +100 -0
  138. package/dist/examples/bci/bci-filesystem-streaming.js +20 -20
  139. package/dist/examples/bci/bci-filesystem.js +17 -17
  140. package/dist/examples/cache-management.js +32 -32
  141. package/dist/examples/cancel-by-request-id.js +11 -11
  142. package/dist/examples/classification/classify-image.js +5 -5
  143. package/dist/examples/completion-events.js +16 -18
  144. package/dist/examples/completion-stop-reason.js +13 -13
  145. package/dist/examples/concurrent-completion-collision.js +20 -20
  146. package/dist/examples/config/blind-relay/blind-relay.config.js +4 -4
  147. package/dist/examples/config/default/default.config.js +2 -2
  148. package/dist/examples/config/plugins/plugins.config.js +2 -2
  149. package/dist/examples/config-reload.js +14 -14
  150. package/dist/examples/default-config-usage.js +10 -13
  151. package/dist/examples/delegated-inference/composite.js +23 -23
  152. package/dist/examples/delegated-inference/consumer-profiled.js +19 -19
  153. package/dist/examples/delegated-inference/consumer.js +11 -11
  154. package/dist/examples/delegated-inference/provider.js +24 -24
  155. package/dist/examples/diffusion-esrgan-upscale.js +19 -19
  156. package/dist/examples/diffusion-flux2-klein-img2img.js +17 -17
  157. package/dist/examples/diffusion-flux2-klein.js +14 -14
  158. package/dist/examples/diffusion-img2img.js +13 -13
  159. package/dist/examples/diffusion-img2vid.js +22 -23
  160. package/dist/examples/diffusion-simple.js +7 -7
  161. package/dist/examples/diffusion-txt2img.js +13 -14
  162. package/dist/examples/diffusion-txt2vid.js +18 -18
  163. package/dist/examples/download-with-blind-relays.js +7 -8
  164. package/dist/examples/download-with-cancel.js +9 -9
  165. package/dist/examples/embed-multi-gpu.js +9 -9
  166. package/dist/examples/embed-p2p.js +24 -24
  167. package/dist/examples/finetune/llamacpp-finetune.js +21 -21
  168. package/dist/examples/kv-cache-cleanup.js +34 -34
  169. package/dist/examples/kv-cache-custom-key.js +30 -30
  170. package/dist/examples/kv-cache-example.js +18 -20
  171. package/dist/examples/llamacpp-cache.js +33 -33
  172. package/dist/examples/llamacpp-dynamic-tools.js +38 -38
  173. package/dist/examples/llamacpp-filesystem.js +13 -15
  174. package/dist/examples/llamacpp-http.js +12 -14
  175. package/dist/examples/llamacpp-multi-gpu.js +12 -12
  176. package/dist/examples/llamacpp-multimodal.js +16 -16
  177. package/dist/examples/llamacpp-p2p.js +11 -11
  178. package/dist/examples/llamacpp-sharded.js +12 -12
  179. package/dist/examples/llamacpp-structured-output.js +37 -37
  180. package/dist/examples/logging-file-transport.js +19 -21
  181. package/dist/examples/logging-global.js +8 -8
  182. package/dist/examples/logging-streaming.js +16 -18
  183. package/dist/examples/mcp-websearch.js +44 -44
  184. package/dist/examples/multi-model-demo.js +33 -33
  185. package/dist/examples/ocr-fasttext.js +17 -17
  186. package/dist/examples/parallel-download.js +11 -13
  187. package/dist/examples/plugins.js +43 -43
  188. package/dist/examples/profiling/basic.js +34 -36
  189. package/dist/examples/profiling/per-call.js +16 -16
  190. package/dist/examples/quickstart.bare.js +4 -6
  191. package/dist/examples/quickstart.js +7 -7
  192. package/dist/examples/rag/rag-chromadb.js +26 -26
  193. package/dist/examples/rag/rag-hyperdb/cancellation.js +19 -20
  194. package/dist/examples/rag/rag-hyperdb/ingest.js +19 -19
  195. package/dist/examples/rag/rag-hyperdb/pipeline.js +26 -26
  196. package/dist/examples/rag/rag-hyperdb/workspaces.js +46 -46
  197. package/dist/examples/rag/rag-lancedb.js +29 -32
  198. package/dist/examples/rag/rag-sqlite.js +25 -25
  199. package/dist/examples/registry-query.js +15 -15
  200. package/dist/examples/seed-p2p.js +8 -8
  201. package/dist/examples/suspend-resume.js +20 -20
  202. package/dist/examples/tools/llamacpp-native-tools.js +25 -25
  203. package/dist/examples/tools/llamacpp-tools-gemma4.js +14 -14
  204. package/dist/examples/tools/llamacpp-tools-harmony-multiturn.js +15 -15
  205. package/dist/examples/tools/llamacpp-tools-pythonic.js +15 -15
  206. package/dist/examples/tools/llamacpp-tools-qwen35.js +14 -14
  207. package/dist/examples/tools/shared.d.ts +2 -2
  208. package/dist/examples/tools/shared.js +17 -17
  209. package/dist/examples/transcription/parakeet-ctc-filesystem.js +12 -12
  210. package/dist/examples/transcription/parakeet-microphone-record.js +19 -19
  211. package/dist/examples/transcription/parakeet-microphone-stream.js +23 -23
  212. package/dist/examples/transcription/parakeet-sortformer-streaming.js +18 -28
  213. package/dist/examples/transcription/parakeet-sortformer.js +21 -21
  214. package/dist/examples/transcription/parakeet-tdt-filesystem.js +13 -13
  215. package/dist/examples/transcription/whispercpp-filesystem-streaming.js +34 -34
  216. package/dist/examples/transcription/whispercpp-filesystem.js +19 -19
  217. package/dist/examples/transcription/whispercpp-microphone-conversation.js +27 -27
  218. package/dist/examples/transcription/whispercpp-microphone-record.js +21 -21
  219. package/dist/examples/transcription/whispercpp-prompt.js +18 -18
  220. package/dist/examples/translation/translation-bergamot-batch.js +17 -17
  221. package/dist/examples/translation/translation-bergamot-pivot.js +16 -16
  222. package/dist/examples/translation/translation-bergamot.js +11 -11
  223. package/dist/examples/translation/translation-indic.js +10 -10
  224. package/dist/examples/translation/translation-llm-afriquegemma.js +10 -10
  225. package/dist/examples/translation/translation-llm-context.js +10 -10
  226. package/dist/examples/translation/translation-llm.js +13 -13
  227. package/dist/examples/translation/translation-stream.js +11 -11
  228. package/dist/examples/tts/chatterbox-enhanced.d.ts +2 -0
  229. package/dist/examples/tts/chatterbox-enhanced.js +55 -0
  230. package/dist/examples/tts/chatterbox-multilingual.d.ts +2 -0
  231. package/dist/examples/tts/chatterbox-multilingual.js +54 -0
  232. package/dist/examples/tts/chatterbox.js +18 -18
  233. package/dist/examples/tts/llm-to-tts-streaming.js +30 -30
  234. package/dist/examples/tts/supertonic-enhanced.d.ts +2 -0
  235. package/dist/examples/tts/supertonic-enhanced.js +57 -0
  236. package/dist/examples/tts/supertonic-multilingual.js +19 -19
  237. package/dist/examples/tts/supertonic.js +18 -18
  238. package/dist/examples/tts/utils.js +24 -32
  239. package/dist/examples/vla-pi05.js +14 -14
  240. package/dist/examples/vla-smolvla.js +14 -14
  241. package/dist/examples/voice-assistant/voice-assistant.js +46 -46
  242. package/dist/expo/plugins/find-in-ancestor-node-modules.js +3 -3
  243. package/dist/expo/plugins/get-project-root.d.ts +2 -2
  244. package/dist/expo/plugins/get-project-root.js +1 -1
  245. package/dist/expo/plugins/index.d.ts +11 -11
  246. package/dist/expo/plugins/index.js +10 -10
  247. package/dist/expo/plugins/resolve-sdk-package-dir.js +7 -11
  248. package/dist/expo/plugins/withAndroidArchitecture.d.ts +1 -1
  249. package/dist/expo/plugins/withAndroidArchitecture.js +12 -12
  250. package/dist/expo/plugins/withAndroidNdkVersion.d.ts +1 -1
  251. package/dist/expo/plugins/withAndroidNdkVersion.js +9 -9
  252. package/dist/expo/plugins/withDeviceInfo.d.ts +1 -1
  253. package/dist/expo/plugins/withDeviceInfo.js +13 -13
  254. package/dist/expo/plugins/withMobileBundle.d.ts +1 -1
  255. package/dist/expo/plugins/withMobileBundle.js +34 -42
  256. package/dist/expo/plugins/withOpenCL.d.ts +1 -1
  257. package/dist/expo/plugins/withOpenCL.js +14 -16
  258. package/dist/expo/plugins/withQvacSDK.d.ts +1 -1
  259. package/dist/expo/plugins/withQvacSDK.js +12 -12
  260. package/dist/index.d.ts +16 -16
  261. package/dist/index.js +16 -17
  262. package/dist/logging/addon.d.ts +1 -1
  263. package/dist/logging/addon.js +13 -13
  264. package/dist/logging/base-logger.d.ts +2 -2
  265. package/dist/logging/base-logger.js +6 -6
  266. package/dist/logging/client-logger.d.ts +1 -1
  267. package/dist/logging/client-logger.js +3 -3
  268. package/dist/logging/index.d.ts +9 -9
  269. package/dist/logging/index.js +8 -8
  270. package/dist/logging/logger.d.ts +1 -1
  271. package/dist/logging/logger.js +4 -4
  272. package/dist/logging/namespaces.d.ts +1 -1
  273. package/dist/logging/namespaces.js +5 -5
  274. package/dist/logging/registry.d.ts +2 -2
  275. package/dist/logging/registry.js +3 -3
  276. package/dist/logging/server-logger.d.ts +1 -1
  277. package/dist/logging/server-logger.js +2 -2
  278. package/dist/logging/stream-logger.d.ts +1 -1
  279. package/dist/logging/stream-logger.js +4 -4
  280. package/dist/logging/transport.d.ts +1 -1
  281. package/dist/logging/types.d.ts +1 -1
  282. package/dist/logging/utils.d.ts +2 -2
  283. package/dist/logging/utils.js +40 -41
  284. package/dist/models/registry/index.d.ts +1 -1
  285. package/dist/models/registry/index.js +5 -5
  286. package/dist/models/registry/models.d.ts +429 -122
  287. package/dist/models/registry/models.js +13693 -13369
  288. package/dist/models/update-models/codegen.d.ts +1 -1
  289. package/dist/models/update-models/codegen.js +8 -8
  290. package/dist/models/update-models/companions.d.ts +6 -1
  291. package/dist/models/update-models/companions.js +104 -39
  292. package/dist/models/update-models/history.d.ts +1 -1
  293. package/dist/models/update-models/history.js +11 -11
  294. package/dist/models/update-models/index.js +32 -34
  295. package/dist/models/update-models/naming.d.ts +2 -2
  296. package/dist/models/update-models/naming.js +177 -186
  297. package/dist/models/update-models/processing.d.ts +2 -2
  298. package/dist/models/update-models/processing.js +17 -19
  299. package/dist/models/update-models/registry.d.ts +2 -2
  300. package/dist/models/update-models/registry.js +9 -9
  301. package/dist/models/update-models/shards.d.ts +1 -1
  302. package/dist/models/update-models/shards.js +3 -3
  303. package/dist/models/update-models/types.d.ts +1 -1
  304. package/dist/models/update-models/utils.js +5 -5
  305. package/dist/pear/pre.js +84 -84
  306. package/dist/profiling/aggregator.d.ts +1 -1
  307. package/dist/profiling/aggregator.js +6 -6
  308. package/dist/profiling/clock.d.ts +1 -1
  309. package/dist/profiling/clock.js +10 -10
  310. package/dist/profiling/controller.d.ts +2 -2
  311. package/dist/profiling/controller.js +11 -12
  312. package/dist/profiling/envelope.d.ts +1 -1
  313. package/dist/profiling/envelope.js +4 -6
  314. package/dist/profiling/events.d.ts +2 -2
  315. package/dist/profiling/events.js +8 -10
  316. package/dist/profiling/exporters.d.ts +1 -1
  317. package/dist/profiling/exporters.js +81 -79
  318. package/dist/profiling/index.d.ts +8 -8
  319. package/dist/profiling/index.js +7 -7
  320. package/dist/profiling/model-execution.js +2 -1
  321. package/dist/profiling/ring-buffer.js +2 -2
  322. package/dist/profiling/types.d.ts +3 -3
  323. package/dist/schemas/archive.d.ts +1 -1
  324. package/dist/schemas/archive.js +8 -14
  325. package/dist/schemas/batch-completion-stream.d.ts +463 -0
  326. package/dist/schemas/batch-completion-stream.js +124 -0
  327. package/dist/schemas/bci-config.d.ts +1 -1
  328. package/dist/schemas/bci-config.js +7 -7
  329. package/dist/schemas/bci.d.ts +3 -3
  330. package/dist/schemas/bci.js +25 -31
  331. package/dist/schemas/cancel.d.ts +6 -1
  332. package/dist/schemas/cancel.js +33 -34
  333. package/dist/schemas/classification.d.ts +1 -1
  334. package/dist/schemas/classification.js +7 -7
  335. package/dist/schemas/common.d.ts +194 -25
  336. package/dist/schemas/common.js +40 -37
  337. package/dist/schemas/completion-event.d.ts +11 -8
  338. package/dist/schemas/completion-event.js +27 -26
  339. package/dist/schemas/completion-stream.d.ts +4 -3
  340. package/dist/schemas/completion-stream.js +51 -67
  341. package/dist/schemas/delegate.d.ts +1 -1
  342. package/dist/schemas/delegate.js +7 -7
  343. package/dist/schemas/delete-cache.d.ts +1 -1
  344. package/dist/schemas/delete-cache.js +8 -8
  345. package/dist/schemas/download-asset.d.ts +2 -2
  346. package/dist/schemas/download-asset.js +21 -21
  347. package/dist/schemas/embed.d.ts +3 -3
  348. package/dist/schemas/embed.js +16 -27
  349. package/dist/schemas/engine-addon-map.d.ts +2 -2
  350. package/dist/schemas/engine-addon-map.js +24 -24
  351. package/dist/schemas/error.d.ts +1 -1
  352. package/dist/schemas/error.js +12 -13
  353. package/dist/schemas/finetune.d.ts +1 -1
  354. package/dist/schemas/finetune.js +35 -41
  355. package/dist/schemas/get-loaded-model-info.d.ts +1 -1
  356. package/dist/schemas/get-loaded-model-info.js +10 -10
  357. package/dist/schemas/get-model-info.d.ts +1 -1
  358. package/dist/schemas/get-model-info.js +48 -91
  359. package/dist/schemas/heartbeat.d.ts +1 -1
  360. package/dist/schemas/heartbeat.js +6 -6
  361. package/dist/schemas/index.d.ts +52 -51
  362. package/dist/schemas/index.js +52 -51
  363. package/dist/schemas/json-schema.d.ts +1 -1
  364. package/dist/schemas/llamacpp-config.d.ts +33 -25
  365. package/dist/schemas/llamacpp-config.js +43 -30
  366. package/dist/schemas/load-model.d.ts +160 -128
  367. package/dist/schemas/load-model.js +120 -126
  368. package/dist/schemas/logging-stream.d.ts +1 -1
  369. package/dist/schemas/logging-stream.js +6 -12
  370. package/dist/schemas/mcp-adapter.d.ts +1 -1
  371. package/dist/schemas/model-src-utils.d.ts +1 -1
  372. package/dist/schemas/model-src-utils.js +13 -13
  373. package/dist/schemas/model-types.d.ts +1 -1
  374. package/dist/schemas/model-types.js +27 -27
  375. package/dist/schemas/ocr.d.ts +1 -1
  376. package/dist/schemas/ocr.js +18 -18
  377. package/dist/schemas/path-validation.d.ts +1 -1
  378. package/dist/schemas/path-validation.js +4 -4
  379. package/dist/schemas/plugin.d.ts +9 -10
  380. package/dist/schemas/plugin.js +47 -47
  381. package/dist/schemas/profiling.d.ts +1 -1
  382. package/dist/schemas/profiling.js +16 -16
  383. package/dist/schemas/provide.d.ts +1 -1
  384. package/dist/schemas/provide.js +8 -8
  385. package/dist/schemas/rag.d.ts +3 -3
  386. package/dist/schemas/rag.js +65 -70
  387. package/dist/schemas/registry.d.ts +1 -1
  388. package/dist/schemas/registry.js +44 -66
  389. package/dist/schemas/reload-config.d.ts +1 -1
  390. package/dist/schemas/reload-config.js +14 -18
  391. package/dist/schemas/resume.d.ts +1 -1
  392. package/dist/schemas/resume.js +3 -3
  393. package/dist/schemas/runtime-context.d.ts +1 -1
  394. package/dist/schemas/runtime-context.js +4 -4
  395. package/dist/schemas/sdcpp-config.d.ts +9 -9
  396. package/dist/schemas/sdcpp-config.js +298 -300
  397. package/dist/schemas/sdk-config.d.ts +55 -43
  398. package/dist/schemas/sdk-config.js +25 -29
  399. package/dist/schemas/sdk-errors-client.d.ts +1 -1
  400. package/dist/schemas/sdk-errors-client.js +80 -80
  401. package/dist/schemas/sdk-errors-registry.js +1 -1
  402. package/dist/schemas/sdk-errors-server.d.ts +1 -1
  403. package/dist/schemas/sdk-errors-server.js +200 -199
  404. package/dist/schemas/shard.d.ts +1 -1
  405. package/dist/schemas/shard.js +4 -4
  406. package/dist/schemas/state.d.ts +1 -1
  407. package/dist/schemas/state.js +5 -10
  408. package/dist/schemas/stop-provide.d.ts +1 -1
  409. package/dist/schemas/stop-provide.js +4 -4
  410. package/dist/schemas/suspend.d.ts +1 -1
  411. package/dist/schemas/suspend.js +3 -3
  412. package/dist/schemas/text-to-speech.d.ts +455 -3
  413. package/dist/schemas/text-to-speech.js +146 -110
  414. package/dist/schemas/tools.d.ts +1 -1
  415. package/dist/schemas/tools.js +17 -24
  416. package/dist/schemas/transcription-config.d.ts +1 -1
  417. package/dist/schemas/transcription-config.js +18 -18
  418. package/dist/schemas/transcription.d.ts +5 -5
  419. package/dist/schemas/transcription.js +31 -33
  420. package/dist/schemas/translate.d.ts +3 -3
  421. package/dist/schemas/translate.js +38 -67
  422. package/dist/schemas/translation-config.d.ts +1 -1
  423. package/dist/schemas/translation-config.js +116 -123
  424. package/dist/schemas/unload-model.d.ts +1 -1
  425. package/dist/schemas/unload-model.js +6 -6
  426. package/dist/schemas/vla.d.ts +1 -1
  427. package/dist/schemas/vla.js +30 -30
  428. package/dist/scripts/run-security-tests.js +9 -10
  429. package/dist/scripts/run-unit-tests.js +11 -12
  430. package/dist/server/bare/delegate-connect-diagnostics.js +13 -19
  431. package/dist/server/bare/delegate-rpc-client.d.ts +2 -2
  432. package/dist/server/bare/delegate-rpc-client.js +32 -34
  433. package/dist/server/bare/hyperswarm.d.ts +3 -3
  434. package/dist/server/bare/hyperswarm.js +14 -14
  435. package/dist/server/bare/ops/bci-transcribe.d.ts +1 -1
  436. package/dist/server/bare/ops/bci-transcribe.js +44 -44
  437. package/dist/server/bare/ops/cancel.d.ts +2 -2
  438. package/dist/server/bare/ops/cancel.js +6 -6
  439. package/dist/server/bare/ops/embed.d.ts +1 -1
  440. package/dist/server/bare/ops/embed.js +26 -16
  441. package/dist/server/bare/ops/kv-cache-utils.d.ts +1 -1
  442. package/dist/server/bare/ops/kv-cache-utils.js +17 -19
  443. package/dist/server/bare/ops/load-model.d.ts +2 -2
  444. package/dist/server/bare/ops/load-model.js +14 -18
  445. package/dist/server/bare/ops/transcribe.d.ts +3 -3
  446. package/dist/server/bare/ops/transcribe.js +62 -62
  447. package/dist/server/bare/ops/translate.d.ts +1 -1
  448. package/dist/server/bare/ops/translate.js +39 -30
  449. package/dist/server/bare/ops/unload-model.d.ts +1 -1
  450. package/dist/server/bare/ops/unload-model.js +12 -12
  451. package/dist/server/bare/plugins/bci-whispercpp-transcription/args.d.ts +2 -2
  452. package/dist/server/bare/plugins/bci-whispercpp-transcription/args.js +3 -3
  453. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.d.ts +2 -2
  454. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.js +33 -33
  455. package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.d.ts +1 -1
  456. package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.js +1 -1
  457. package/dist/server/bare/plugins/ggml-classification/ops/classify.d.ts +1 -1
  458. package/dist/server/bare/plugins/ggml-classification/ops/classify.js +8 -8
  459. package/dist/server/bare/plugins/ggml-classification/plugin.d.ts +1 -1
  460. package/dist/server/bare/plugins/ggml-classification/plugin.js +14 -14
  461. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.d.ts +1 -1
  462. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.js +27 -26
  463. package/dist/server/bare/plugins/ggml-ocr/plugin.d.ts +1 -1
  464. package/dist/server/bare/plugins/ggml-ocr/plugin.js +38 -38
  465. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.d.ts +1 -1
  466. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.js +3 -3
  467. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.d.ts +1 -1
  468. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.js +23 -23
  469. package/dist/server/bare/plugins/ggml-vla/plugin.d.ts +1 -1
  470. package/dist/server/bare/plugins/ggml-vla/plugin.js +15 -15
  471. package/dist/server/bare/plugins/index.d.ts +11 -11
  472. package/dist/server/bare/plugins/index.js +11 -11
  473. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-cancelled.d.ts +23 -0
  474. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-cancelled.js +30 -0
  475. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.d.ts +32 -0
  476. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.js +99 -0
  477. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.d.ts +1 -1
  478. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.js +8 -8
  479. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.d.ts +3 -2
  480. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.js +4 -1
  481. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.d.ts +22 -4
  482. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.js +55 -59
  483. package/dist/server/bare/plugins/llamacpp-completion/ops/context-overflow.js +5 -5
  484. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.d.ts +2 -2
  485. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.js +34 -34
  486. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.d.ts +7 -7
  487. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.js +19 -23
  488. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.js +4 -6
  489. package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +186 -17
  490. package/dist/server/bare/plugins/llamacpp-completion/plugin.js +235 -70
  491. package/dist/server/bare/plugins/llamacpp-completion/transform.d.ts +1 -1
  492. package/dist/server/bare/plugins/llamacpp-completion/transform.js +15 -15
  493. package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +3 -3
  494. package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +27 -29
  495. package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +1 -1
  496. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +38 -39
  497. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.d.ts +1 -1
  498. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.js +19 -22
  499. package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +1 -1
  500. package/dist/server/bare/plugins/parakeet-transcription/plugin.js +36 -36
  501. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.d.ts +1 -1
  502. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.js +15 -17
  503. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.d.ts +1 -1
  504. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.js +11 -11
  505. package/dist/server/bare/plugins/sdcpp-generation/ops/video.d.ts +1 -1
  506. package/dist/server/bare/plugins/sdcpp-generation/ops/video.js +42 -44
  507. package/dist/server/bare/plugins/sdcpp-generation/plugin.d.ts +4 -4
  508. package/dist/server/bare/plugins/sdcpp-generation/plugin.js +69 -63
  509. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.d.ts +2 -2
  510. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.js +19 -21
  511. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.d.ts +2 -2
  512. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.js +22 -24
  513. package/dist/server/bare/plugins/tts-ggml/plugin.d.ts +3 -2
  514. package/dist/server/bare/plugins/tts-ggml/plugin.js +95 -49
  515. package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +1 -1
  516. package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +52 -52
  517. package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +1 -1
  518. package/dist/server/bare/rag-hyperdb/handlers/chunk.js +2 -2
  519. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +1 -1
  520. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +2 -2
  521. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
  522. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +4 -4
  523. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +1 -1
  524. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +3 -3
  525. package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +2 -2
  526. package/dist/server/bare/rag-hyperdb/handlers/ingest.js +4 -4
  527. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +1 -1
  528. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +1 -1
  529. package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +2 -2
  530. package/dist/server/bare/rag-hyperdb/handlers/reindex.js +5 -5
  531. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +2 -2
  532. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +3 -3
  533. package/dist/server/bare/rag-hyperdb/handlers/search.d.ts +1 -1
  534. package/dist/server/bare/rag-hyperdb/handlers/search.js +3 -3
  535. package/dist/server/bare/rag-hyperdb/index.d.ts +11 -11
  536. package/dist/server/bare/rag-hyperdb/index.js +11 -11
  537. package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +3 -3
  538. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +1 -1
  539. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +20 -20
  540. package/dist/server/bare/registry/config-registry.d.ts +1 -1
  541. package/dist/server/bare/registry/config-registry.js +13 -16
  542. package/dist/server/bare/registry/logging-stream-registry.d.ts +1 -1
  543. package/dist/server/bare/registry/logging-stream-registry.js +2 -2
  544. package/dist/server/bare/registry/model-config-registry.d.ts +2 -2
  545. package/dist/server/bare/registry/model-config-registry.js +6 -6
  546. package/dist/server/bare/registry/model-config-utils.d.ts +2 -2
  547. package/dist/server/bare/registry/model-config-utils.js +35 -35
  548. package/dist/server/bare/registry/model-registry.d.ts +3 -3
  549. package/dist/server/bare/registry/model-registry.js +11 -11
  550. package/dist/server/bare/registry/registry-client.d.ts +1 -1
  551. package/dist/server/bare/registry/registry-client.js +18 -18
  552. package/dist/server/bare/registry/runtime-context-registry.d.ts +1 -1
  553. package/dist/server/bare/registry/runtime-context-registry.js +3 -3
  554. package/dist/server/bare/runtime/disposable-scope.js +3 -3
  555. package/dist/server/bare/runtime/index.d.ts +7 -7
  556. package/dist/server/bare/runtime/index.js +3 -3
  557. package/dist/server/bare/runtime/request-context.d.ts +4 -4
  558. package/dist/server/bare/runtime/request-id.js +1 -1
  559. package/dist/server/bare/runtime/request-registry-singleton.d.ts +1 -1
  560. package/dist/server/bare/runtime/request-registry-singleton.js +23 -4
  561. package/dist/server/bare/runtime/request-registry.d.ts +27 -12
  562. package/dist/server/bare/runtime/request-registry.js +39 -34
  563. package/dist/server/bare/runtime/with-request-context.d.ts +1 -1
  564. package/dist/server/bare/runtime/with-request-context.js +11 -11
  565. package/dist/server/bare/runtime-lifecycle.d.ts +1 -1
  566. package/dist/server/bare/runtime-lifecycle.js +27 -31
  567. package/dist/server/bare/types/addon-responses.d.ts +5 -4
  568. package/dist/server/bare/utils/audio-input.d.ts +2 -2
  569. package/dist/server/bare/utils/audio-input.js +7 -7
  570. package/dist/server/bare/utils/transcribe-metadata.d.ts +1 -1
  571. package/dist/server/bare/utils/transcribe-metadata.js +4 -4
  572. package/dist/server/bare/utils/tts-stats.d.ts +1 -1
  573. package/dist/server/bare/utils/tts-stats.js +3 -3
  574. package/dist/server/env.js +8 -8
  575. package/dist/server/error-handlers.d.ts +3 -3
  576. package/dist/server/error-handlers.js +11 -11
  577. package/dist/server/plugins/index.d.ts +1 -1
  578. package/dist/server/plugins/index.js +1 -1
  579. package/dist/server/plugins/registry.d.ts +1 -1
  580. package/dist/server/plugins/registry.js +12 -14
  581. package/dist/server/rpc/create-server.d.ts +1 -1
  582. package/dist/server/rpc/create-server.js +11 -12
  583. package/dist/server/rpc/delegate-transport.d.ts +3 -3
  584. package/dist/server/rpc/delegate-transport.js +43 -44
  585. package/dist/server/rpc/handle-request.d.ts +1 -1
  586. package/dist/server/rpc/handle-request.js +28 -30
  587. package/dist/server/rpc/handler-registry.d.ts +1 -1
  588. package/dist/server/rpc/handler-registry.js +97 -92
  589. package/dist/server/rpc/handler-selection.d.ts +3 -3
  590. package/dist/server/rpc/handler-selection.js +3 -3
  591. package/dist/server/rpc/handler-utils.d.ts +7 -7
  592. package/dist/server/rpc/handler-utils.js +32 -35
  593. package/dist/server/rpc/handlers/batch-completion-stream.d.ts +78 -0
  594. package/dist/server/rpc/handlers/batch-completion-stream.js +4 -0
  595. package/dist/server/rpc/handlers/bci-transcribe-stream.d.ts +1 -1
  596. package/dist/server/rpc/handlers/bci-transcribe-stream.js +2 -2
  597. package/dist/server/rpc/handlers/bci-transcribe.d.ts +1 -1
  598. package/dist/server/rpc/handlers/bci-transcribe.js +2 -2
  599. package/dist/server/rpc/handlers/cancel-delegated.d.ts +2 -2
  600. package/dist/server/rpc/handlers/cancel-delegated.js +13 -13
  601. package/dist/server/rpc/handlers/cancelHandler.d.ts +1 -1
  602. package/dist/server/rpc/handlers/cancelHandler.js +11 -11
  603. package/dist/server/rpc/handlers/classify.d.ts +1 -1
  604. package/dist/server/rpc/handlers/classify.js +2 -2
  605. package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +2 -2
  606. package/dist/server/rpc/handlers/completion-stream-delegated.js +14 -14
  607. package/dist/server/rpc/handlers/completion-stream.d.ts +1 -1
  608. package/dist/server/rpc/handlers/completion-stream.js +2 -2
  609. package/dist/server/rpc/handlers/delete-cache.d.ts +1 -1
  610. package/dist/server/rpc/handlers/delete-cache.js +10 -10
  611. package/dist/server/rpc/handlers/diffusion-stream.d.ts +1 -1
  612. package/dist/server/rpc/handlers/diffusion-stream.js +2 -2
  613. package/dist/server/rpc/handlers/download-asset.d.ts +1 -1
  614. package/dist/server/rpc/handlers/download-asset.js +20 -20
  615. package/dist/server/rpc/handlers/embed.d.ts +1 -1
  616. package/dist/server/rpc/handlers/embed.js +2 -2
  617. package/dist/server/rpc/handlers/finetune.d.ts +1 -1
  618. package/dist/server/rpc/handlers/finetune.js +8 -6
  619. package/dist/server/rpc/handlers/get-loaded-model-info.d.ts +1 -1
  620. package/dist/server/rpc/handlers/get-loaded-model-info.js +9 -9
  621. package/dist/server/rpc/handlers/get-model-info.d.ts +1 -1
  622. package/dist/server/rpc/handlers/get-model-info.js +20 -20
  623. package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +2 -2
  624. package/dist/server/rpc/handlers/heartbeat-delegated.js +7 -7
  625. package/dist/server/rpc/handlers/heartbeat.d.ts +1 -1
  626. package/dist/server/rpc/handlers/heartbeat.js +1 -1
  627. package/dist/server/rpc/handlers/index.d.ts +33 -31
  628. package/dist/server/rpc/handlers/index.js +34 -32
  629. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +4 -4
  630. package/dist/server/rpc/handlers/load-model/download-manager.js +19 -17
  631. package/dist/server/rpc/handlers/load-model/download-stats.d.ts +4 -3
  632. package/dist/server/rpc/handlers/load-model/download-stats.js +9 -11
  633. package/dist/server/rpc/handlers/load-model/handler.d.ts +1 -1
  634. package/dist/server/rpc/handlers/load-model/handler.js +42 -43
  635. package/dist/server/rpc/handlers/load-model/http.d.ts +2 -2
  636. package/dist/server/rpc/handlers/load-model/http.js +100 -107
  637. package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +2 -2
  638. package/dist/server/rpc/handlers/load-model/hyperdrive.js +72 -74
  639. package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
  640. package/dist/server/rpc/handlers/load-model/index.js +2 -2
  641. package/dist/server/rpc/handlers/load-model/registry-client-options.d.ts +2 -2
  642. package/dist/server/rpc/handlers/load-model/registry-client-options.js +2 -3
  643. package/dist/server/rpc/handlers/load-model/registry-companion-set.d.ts +5 -5
  644. package/dist/server/rpc/handlers/load-model/registry-companion-set.js +19 -21
  645. package/dist/server/rpc/handlers/load-model/registry-download-utils.d.ts +6 -6
  646. package/dist/server/rpc/handlers/load-model/registry-download-utils.js +16 -18
  647. package/dist/server/rpc/handlers/load-model/registry-metadata.d.ts +11 -0
  648. package/dist/server/rpc/handlers/load-model/registry-metadata.js +23 -0
  649. package/dist/server/rpc/handlers/load-model/registry.d.ts +4 -3
  650. package/dist/server/rpc/handlers/load-model/registry.js +50 -56
  651. package/dist/server/rpc/handlers/load-model/resolve-session.d.ts +3 -3
  652. package/dist/server/rpc/handlers/load-model/resolve-session.js +7 -7
  653. package/dist/server/rpc/handlers/load-model/resolve.d.ts +3 -3
  654. package/dist/server/rpc/handlers/load-model/resolve.js +36 -35
  655. package/dist/server/rpc/handlers/load-model/types.d.ts +3 -3
  656. package/dist/server/rpc/handlers/load-model/types.js +7 -7
  657. package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -2
  658. package/dist/server/rpc/handlers/load-model-delegated.js +31 -30
  659. package/dist/server/rpc/handlers/logging-stream.d.ts +1 -1
  660. package/dist/server/rpc/handlers/logging-stream.js +3 -3
  661. package/dist/server/rpc/handlers/ocr-stream.d.ts +1 -1
  662. package/dist/server/rpc/handlers/ocr-stream.js +2 -2
  663. package/dist/server/rpc/handlers/plugin-dispatch.js +9 -9
  664. package/dist/server/rpc/handlers/plugin-invoke.d.ts +1 -1
  665. package/dist/server/rpc/handlers/plugin-invoke.js +16 -16
  666. package/dist/server/rpc/handlers/provideHandler/connection.d.ts +1 -1
  667. package/dist/server/rpc/handlers/provideHandler/connection.js +16 -16
  668. package/dist/server/rpc/handlers/provideHandler/handler.d.ts +1 -1
  669. package/dist/server/rpc/handlers/provideHandler/handler.js +18 -18
  670. package/dist/server/rpc/handlers/provideHandler/proxy.d.ts +1 -1
  671. package/dist/server/rpc/handlers/provideHandler/proxy.js +11 -11
  672. package/dist/server/rpc/handlers/provideHandler.d.ts +1 -1
  673. package/dist/server/rpc/handlers/provideHandler.js +1 -1
  674. package/dist/server/rpc/handlers/rag.d.ts +1 -1
  675. package/dist/server/rpc/handlers/rag.js +50 -50
  676. package/dist/server/rpc/handlers/registry.d.ts +1 -1
  677. package/dist/server/rpc/handlers/registry.js +34 -36
  678. package/dist/server/rpc/handlers/resume.d.ts +1 -1
  679. package/dist/server/rpc/handlers/resume.js +3 -3
  680. package/dist/server/rpc/handlers/state.d.ts +1 -1
  681. package/dist/server/rpc/handlers/state.js +3 -3
  682. package/dist/server/rpc/handlers/stopProvideHandler.d.ts +1 -1
  683. package/dist/server/rpc/handlers/stopProvideHandler.js +7 -7
  684. package/dist/server/rpc/handlers/suspend.d.ts +1 -1
  685. package/dist/server/rpc/handlers/suspend.js +3 -3
  686. package/dist/server/rpc/handlers/text-to-speech-stream.d.ts +1 -1
  687. package/dist/server/rpc/handlers/text-to-speech-stream.js +2 -2
  688. package/dist/server/rpc/handlers/text-to-speech.d.ts +1 -1
  689. package/dist/server/rpc/handlers/text-to-speech.js +2 -2
  690. package/dist/server/rpc/handlers/transcribe-stream.d.ts +1 -1
  691. package/dist/server/rpc/handlers/transcribe-stream.js +2 -2
  692. package/dist/server/rpc/handlers/transcribe.d.ts +1 -1
  693. package/dist/server/rpc/handlers/transcribe.js +2 -2
  694. package/dist/server/rpc/handlers/translate.d.ts +1 -1
  695. package/dist/server/rpc/handlers/translate.js +2 -2
  696. package/dist/server/rpc/handlers/unload-model-delegated.d.ts +1 -1
  697. package/dist/server/rpc/handlers/unload-model-delegated.js +10 -10
  698. package/dist/server/rpc/handlers/unload-model.d.ts +1 -1
  699. package/dist/server/rpc/handlers/unload-model.js +10 -10
  700. package/dist/server/rpc/handlers/upscale-stream.d.ts +1 -1
  701. package/dist/server/rpc/handlers/upscale-stream.js +2 -2
  702. package/dist/server/rpc/handlers/video-stream.d.ts +1 -1
  703. package/dist/server/rpc/handlers/video-stream.js +2 -2
  704. package/dist/server/rpc/index.d.ts +2 -2
  705. package/dist/server/rpc/index.js +2 -2
  706. package/dist/server/rpc/profiling/context.d.ts +1 -1
  707. package/dist/server/rpc/profiling/context.js +9 -10
  708. package/dist/server/rpc/profiling/delegation-profiler.d.ts +2 -2
  709. package/dist/server/rpc/profiling/delegation-profiler.js +23 -24
  710. package/dist/server/rpc/profiling/index.d.ts +4 -4
  711. package/dist/server/rpc/profiling/index.js +4 -4
  712. package/dist/server/rpc/profiling/operation-metrics.d.ts +2 -2
  713. package/dist/server/rpc/profiling/operation-metrics.js +102 -102
  714. package/dist/server/rpc/profiling/operation-wrappers.d.ts +1 -1
  715. package/dist/server/rpc/profiling/operation-wrappers.js +16 -14
  716. package/dist/server/rpc/profiling/profiler.d.ts +2 -2
  717. package/dist/server/rpc/profiling/profiler.js +9 -13
  718. package/dist/server/rpc/rpc-utils.js +1 -4
  719. package/dist/server/rpc/transport-selector.d.ts +1 -1
  720. package/dist/server/rpc/transport-selector.js +4 -4
  721. package/dist/server/utils/archive.js +27 -29
  722. package/dist/server/utils/audio/decoder.d.ts +2 -2
  723. package/dist/server/utils/audio/decoder.js +11 -11
  724. package/dist/server/utils/cache/auto-history.d.ts +1 -1
  725. package/dist/server/utils/cache/auto-history.js +5 -5
  726. package/dist/server/utils/cache/paths.d.ts +2 -2
  727. package/dist/server/utils/cache/paths.js +14 -14
  728. package/dist/server/utils/checksum.d.ts +1 -1
  729. package/dist/server/utils/checksum.js +10 -12
  730. package/dist/server/utils/clear-storage.d.ts +1 -1
  731. package/dist/server/utils/clear-storage.js +8 -11
  732. package/dist/server/utils/completion-normalizer.d.ts +1 -1
  733. package/dist/server/utils/completion-normalizer.js +106 -113
  734. package/dist/server/utils/config-transform.d.ts +1 -1
  735. package/dist/server/utils/config-transform.js +2 -2
  736. package/dist/server/utils/expand-gguf-shards.js +4 -4
  737. package/dist/server/utils/formatting.js +6 -12
  738. package/dist/server/utils/gguf-tensor-extractor.js +17 -21
  739. package/dist/server/utils/index.d.ts +11 -11
  740. package/dist/server/utils/index.js +11 -11
  741. package/dist/server/utils/multi-gpu-mobile.js +1 -1
  742. package/dist/server/utils/path-security.d.ts +1 -1
  743. package/dist/server/utils/path-security.js +6 -6
  744. package/dist/server/utils/qvac-paths.js +3 -3
  745. package/dist/server/utils/response-format.d.ts +1 -1
  746. package/dist/server/utils/response-format.js +4 -4
  747. package/dist/server/utils/shard-utils.d.ts +1 -1
  748. package/dist/server/utils/shard-utils.js +14 -16
  749. package/dist/server/utils/tool-integration.d.ts +1 -1
  750. package/dist/server/utils/tool-integration.js +5 -9
  751. package/dist/server/utils/tools/dialect.d.ts +1 -1
  752. package/dist/server/utils/tools/dialect.js +7 -7
  753. package/dist/server/utils/tools/index.d.ts +2 -2
  754. package/dist/server/utils/tools/index.js +2 -2
  755. package/dist/server/utils/tools/parser.d.ts +1 -1
  756. package/dist/server/utils/tools/parser.js +14 -14
  757. package/dist/server/utils/tools/parsers/gemma4native.d.ts +2 -2
  758. package/dist/server/utils/tools/parsers/gemma4native.js +13 -8
  759. package/dist/server/utils/tools/parsers/harmony.d.ts +2 -2
  760. package/dist/server/utils/tools/parsers/harmony.js +9 -11
  761. package/dist/server/utils/tools/parsers/hermes.d.ts +2 -2
  762. package/dist/server/utils/tools/parsers/hermes.js +16 -16
  763. package/dist/server/utils/tools/parsers/json.d.ts +2 -2
  764. package/dist/server/utils/tools/parsers/json.js +14 -14
  765. package/dist/server/utils/tools/parsers/pythonic.d.ts +2 -2
  766. package/dist/server/utils/tools/parsers/pythonic.js +43 -43
  767. package/dist/server/utils/tools/parsers/qwen35.d.ts +2 -2
  768. package/dist/server/utils/tools/parsers/qwen35.js +20 -20
  769. package/dist/server/utils/tools/shared.d.ts +1 -1
  770. package/dist/server/utils/tools/shared.js +10 -12
  771. package/dist/server/utils/worker-lock.js +10 -10
  772. package/dist/server/worker-core.d.ts +1 -1
  773. package/dist/server/worker-core.js +44 -43
  774. package/dist/server/worker.js +9 -9
  775. package/dist/utils/aggregate-events.d.ts +2 -2
  776. package/dist/utils/aggregate-events.js +17 -19
  777. package/dist/utils/cache-normalize.js +1 -4
  778. package/dist/utils/encoding.js +1 -1
  779. package/dist/utils/errors-base.d.ts +1 -1
  780. package/dist/utils/errors-base.js +1 -1
  781. package/dist/utils/errors-client.d.ts +1 -1
  782. package/dist/utils/errors-client.js +5 -5
  783. package/dist/utils/errors-server.d.ts +3 -3
  784. package/dist/utils/errors-server.js +19 -18
  785. package/dist/utils/load-model-validation.js +3 -3
  786. package/dist/utils/mcp-adapter.d.ts +4 -4
  787. package/dist/utils/mcp-adapter.js +31 -38
  788. package/dist/utils/path-sanitize.js +14 -17
  789. package/dist/utils/tool-helpers.d.ts +2 -2
  790. package/dist/utils/tool-helpers.js +25 -26
  791. package/dist/utils/withTimeout.d.ts +7 -0
  792. package/dist/utils/withTimeout.js +11 -1
  793. package/dist/utils/zod-error.d.ts +1 -1
  794. package/dist/utils/zod-error.js +1 -1
  795. package/electron-forge/index.cjs +274 -317
  796. package/expo/plugins/patches/android-link.mjs +25 -30
  797. package/expo/plugins/patches/ios-link.mjs +25 -30
  798. package/package.json +17 -16
@@ -15,33 +15,33 @@
15
15
  * Usage:
16
16
  * bun run bare:example dist/examples/tools/llamacpp-tools-gemma4.js <model-url>
17
17
  */
18
- import { completion, loadModel, unloadModel, GEMMA4_2B_MULTIMODAL_Q4_K_M, } from "@qvac/sdk";
19
- import { tools, mockExecute } from "./shared.js";
18
+ import { completion, loadModel, unloadModel, GEMMA4_2B_MULTIMODAL_Q4_K_M } from '@qvac/sdk';
19
+ import { tools, mockExecute } from './shared.js';
20
20
  const modelSrc = process.argv[2] ?? GEMMA4_2B_MULTIMODAL_Q4_K_M;
21
21
  let modelId;
22
22
  try {
23
23
  modelId = await loadModel({
24
24
  modelSrc,
25
- modelType: "llamacpp-completion",
25
+ modelType: 'llamacpp-completion',
26
26
  modelConfig: { ctx_size: 4096, tools: true },
27
27
  onProgress: (p) => {
28
28
  const mb = (n) => (n / 1e6).toFixed(1);
29
29
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
30
30
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
31
31
  if (p.percentage >= 100)
32
- process.stderr.write("\n");
33
- },
32
+ process.stderr.write('\n');
33
+ }
34
34
  });
35
35
  console.log(`▸ Model loaded: ${modelId}`);
36
36
  const history = [
37
37
  {
38
- role: "system",
39
- content: "You are a helpful assistant that can call tools to look up weather and horoscopes.",
38
+ role: 'system',
39
+ content: 'You are a helpful assistant that can call tools to look up weather and horoscopes.'
40
40
  },
41
41
  {
42
- role: "user",
43
- content: "What's the weather in Tokyo and my horoscope for Aquarius?",
44
- },
42
+ role: 'user',
43
+ content: "What's the weather in Tokyo and my horoscope for Aquarius?"
44
+ }
45
45
  ];
46
46
  const result = completion({ modelId, history, stream: true, tools });
47
47
  const tokensTask = (async () => {
@@ -51,14 +51,14 @@ try {
51
51
  })();
52
52
  const toolsTask = (async () => {
53
53
  for await (const evt of result.toolCallStream) {
54
- if (evt.type === "toolCall") {
54
+ if (evt.type === 'toolCall') {
55
55
  console.log(`\n▸ ${evt.call.name}(${JSON.stringify(evt.call.arguments)})`);
56
56
  }
57
57
  }
58
58
  })();
59
59
  await Promise.all([tokensTask, toolsTask]);
60
60
  const toolCalls = await result.toolCalls;
61
- console.log("\n\n▸ Final tool calls:");
61
+ console.log('\n\n▸ Final tool calls:');
62
62
  if (toolCalls.length > 0) {
63
63
  for (const call of toolCalls) {
64
64
  console.log(`▸ ${call.name}(${JSON.stringify(call.arguments)})`);
@@ -67,12 +67,12 @@ try {
67
67
  }
68
68
  }
69
69
  else {
70
- console.log("▸ (none)");
70
+ console.log('▸ (none)');
71
71
  }
72
72
  await unloadModel({ modelId, clearStorage: false });
73
73
  }
74
74
  catch (error) {
75
- console.error("✖", error);
75
+ console.error('✖', error);
76
76
  if (modelId)
77
77
  await unloadModel({ modelId, clearStorage: false }).catch(() => { });
78
78
  process.exit(1);
@@ -7,8 +7,8 @@
7
7
  * repeat until the model produces a final answer (no tool call).
8
8
  *
9
9
  */
10
- import { completion, loadModel, unloadModel, GPT_OSS_20B_INST_Q4_K_M, } from "@qvac/sdk";
11
- import { tools, mockExecute } from "./shared.js";
10
+ import { completion, loadModel, unloadModel, GPT_OSS_20B_INST_Q4_K_M } from '@qvac/sdk';
11
+ import { tools, mockExecute } from './shared.js';
12
12
  const MAX_TURNS = 5;
13
13
  let modelId;
14
14
  try {
@@ -20,19 +20,19 @@ try {
20
20
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
21
21
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
22
22
  if (p.percentage >= 100)
23
- process.stderr.write("\n");
24
- },
23
+ process.stderr.write('\n');
24
+ }
25
25
  });
26
26
  console.log(`▸ Model loaded: ${modelId}`);
27
27
  const history = [
28
28
  {
29
- role: "system",
30
- content: "You are a helpful assistant that can use tools to get the weather and horoscope.",
29
+ role: 'system',
30
+ content: 'You are a helpful assistant that can use tools to get the weather and horoscope.'
31
31
  },
32
32
  {
33
- role: "user",
34
- content: "What's the weather in Tokyo and my horoscope for Aquarius?",
35
- },
33
+ role: 'user',
34
+ content: "What's the weather in Tokyo and my horoscope for Aquarius?"
35
+ }
36
36
  ];
37
37
  for (let turn = 1; turn <= MAX_TURNS; turn++) {
38
38
  console.log(`\n▸ ========== TURN ${turn} ==========`);
@@ -54,11 +54,11 @@ try {
54
54
  // Raw, not result.text — GPT-OSS needs its own framed output in history
55
55
  // to anchor the next turn.
56
56
  const assistantContent = final.raw.fullText;
57
- history.push({ role: "assistant", content: assistantContent });
57
+ history.push({ role: 'assistant', content: assistantContent });
58
58
  for (const call of final.toolCalls) {
59
59
  const toolResult = mockExecute(call.name, call.arguments);
60
60
  console.log(`▸ mock-executed ${call.name}: ${toolResult}`);
61
- history.push({ role: "tool", content: toolResult });
61
+ history.push({ role: 'tool', content: toolResult });
62
62
  }
63
63
  if (turn === MAX_TURNS) {
64
64
  console.log(`\n▸ MAX_TURNS (${MAX_TURNS}) reached — stopping.`);
@@ -66,12 +66,12 @@ try {
66
66
  }
67
67
  console.log(`\n▸ ========== HISTORY ==========`);
68
68
  for (const msg of history) {
69
- const preview = msg.content.slice(0, 120).replace(/\n/g, "\\n");
70
- console.log(`▸ [${msg.role}] ${preview}${msg.content.length > 120 ? "…" : ""}`);
69
+ const preview = msg.content.slice(0, 120).replace(/\n/g, '\\n');
70
+ console.log(`▸ [${msg.role}] ${preview}${msg.content.length > 120 ? '…' : ''}`);
71
71
  }
72
72
  }
73
73
  catch (error) {
74
- console.error("✖", error);
74
+ console.error('✖', error);
75
75
  process.exit(1);
76
76
  }
77
77
  finally {
@@ -81,7 +81,7 @@ finally {
81
81
  console.log(`\n▸ [unload] done`);
82
82
  }
83
83
  catch (unloadError) {
84
- console.error("✖ [unload] failed:", unloadError);
84
+ console.error('✖ [unload] failed:', unloadError);
85
85
  }
86
86
  }
87
87
  }
@@ -1,31 +1,31 @@
1
- import { completion, loadModel, unloadModel } from "@qvac/sdk";
2
- import { tools } from "./shared.js";
3
- const LFM_TOOL_HF = "https://huggingface.co/LiquidAI/LFM2-1.2B-Tool-GGUF/resolve/main/LFM2-1.2B-Tool-Q4_K_M.gguf";
1
+ import { completion, loadModel, unloadModel } from '@qvac/sdk';
2
+ import { tools } from './shared.js';
3
+ const LFM_TOOL_HF = 'https://huggingface.co/LiquidAI/LFM2-1.2B-Tool-GGUF/resolve/main/LFM2-1.2B-Tool-Q4_K_M.gguf';
4
4
  try {
5
5
  const modelId = await loadModel({
6
6
  modelSrc: LFM_TOOL_HF,
7
- modelType: "llamacpp-completion",
7
+ modelType: 'llamacpp-completion',
8
8
  modelConfig: { ctx_size: 4096, tools: true },
9
9
  onProgress: (p) => {
10
10
  const mb = (n) => (n / 1e6).toFixed(1);
11
11
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
12
12
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
13
13
  if (p.percentage >= 100)
14
- process.stderr.write("\n");
15
- },
14
+ process.stderr.write('\n');
15
+ }
16
16
  });
17
17
  console.log(`▸ Model loaded: ${modelId}`);
18
18
  const history = [
19
19
  {
20
- role: "system",
21
- content: "You are a helpful assistant that can call tools to look up weather and horoscopes.",
20
+ role: 'system',
21
+ content: 'You are a helpful assistant that can call tools to look up weather and horoscopes.'
22
22
  },
23
23
  {
24
- role: "user",
25
- content: "What's the weather in Tokyo and my horoscope for Aquarius?",
26
- },
24
+ role: 'user',
25
+ content: "What's the weather in Tokyo and my horoscope for Aquarius?"
26
+ }
27
27
  ];
28
- console.log("\n▸ Streaming...\n");
28
+ console.log('\n▸ Streaming...\n');
29
29
  const result = completion({ modelId, history, stream: true, tools });
30
30
  const tokensTask = (async () => {
31
31
  for await (const token of result.tokenStream) {
@@ -39,18 +39,18 @@ try {
39
39
  })();
40
40
  await Promise.all([tokensTask, toolsTask]);
41
41
  const toolCalls = await result.toolCalls;
42
- console.log("\n\n▸ Final tool calls:");
42
+ console.log('\n\n▸ Final tool calls:');
43
43
  if (toolCalls.length > 0) {
44
44
  for (const call of toolCalls) {
45
45
  console.log(`▸ ${call.name}(${JSON.stringify(call.arguments)})`);
46
46
  }
47
47
  }
48
48
  else {
49
- console.log("▸ (none)");
49
+ console.log('▸ (none)');
50
50
  }
51
51
  await unloadModel({ modelId });
52
52
  }
53
53
  catch (error) {
54
- console.error("✖", error);
54
+ console.error('✖', error);
55
55
  process.exit(1);
56
56
  }
@@ -11,33 +11,33 @@
11
11
  * Usage:
12
12
  * bun run bare:example dist/examples/tools/llamacpp-tools-qwen35.js <model-url>
13
13
  */
14
- import { completion, loadModel, unloadModel, QWEN3_5_0_8B_MULTIMODAL_Q8_0, } from "@qvac/sdk";
15
- import { tools, mockExecute } from "./shared.js";
14
+ import { completion, loadModel, unloadModel, QWEN3_5_0_8B_MULTIMODAL_Q8_0 } from '@qvac/sdk';
15
+ import { tools, mockExecute } from './shared.js';
16
16
  const modelSrc = process.argv[2] ?? QWEN3_5_0_8B_MULTIMODAL_Q8_0;
17
17
  let modelId;
18
18
  try {
19
19
  modelId = await loadModel({
20
20
  modelSrc,
21
- modelType: "llamacpp-completion",
21
+ modelType: 'llamacpp-completion',
22
22
  modelConfig: { ctx_size: 4096, tools: true },
23
23
  onProgress: (p) => {
24
24
  const mb = (n) => (n / 1e6).toFixed(1);
25
25
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
26
26
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
27
27
  if (p.percentage >= 100)
28
- process.stderr.write("\n");
29
- },
28
+ process.stderr.write('\n');
29
+ }
30
30
  });
31
31
  console.log(`▸ Model loaded: ${modelId}`);
32
32
  const history = [
33
33
  {
34
- role: "system",
35
- content: "You are a helpful assistant that can call tools to look up weather and horoscopes.",
34
+ role: 'system',
35
+ content: 'You are a helpful assistant that can call tools to look up weather and horoscopes.'
36
36
  },
37
37
  {
38
- role: "user",
39
- content: "What's the weather in Tokyo and my horoscope for Aquarius?",
40
- },
38
+ role: 'user',
39
+ content: "What's the weather in Tokyo and my horoscope for Aquarius?"
40
+ }
41
41
  ];
42
42
  const result = completion({ modelId, history, stream: true, tools });
43
43
  const tokensTask = (async () => {
@@ -47,14 +47,14 @@ try {
47
47
  })();
48
48
  const toolsTask = (async () => {
49
49
  for await (const evt of result.toolCallStream) {
50
- if (evt.type === "toolCall") {
50
+ if (evt.type === 'toolCall') {
51
51
  console.log(`\n▸ ${evt.call.name}(${JSON.stringify(evt.call.arguments)})`);
52
52
  }
53
53
  }
54
54
  })();
55
55
  await Promise.all([tokensTask, toolsTask]);
56
56
  const toolCalls = await result.toolCalls;
57
- console.log("\n\n▸ Final tool calls:");
57
+ console.log('\n\n▸ Final tool calls:');
58
58
  if (toolCalls.length > 0) {
59
59
  for (const call of toolCalls) {
60
60
  console.log(`▸ ${call.name}(${JSON.stringify(call.arguments)})`);
@@ -63,12 +63,12 @@ try {
63
63
  }
64
64
  }
65
65
  else {
66
- console.log("▸ (none)");
66
+ console.log('▸ (none)');
67
67
  }
68
68
  await unloadModel({ modelId, clearStorage: false });
69
69
  }
70
70
  catch (error) {
71
- console.error("✖", error);
71
+ console.error('✖', error);
72
72
  if (modelId)
73
73
  await unloadModel({ modelId, clearStorage: false }).catch(() => { });
74
74
  process.exit(1);
@@ -1,5 +1,5 @@
1
- import { z } from "zod";
2
- import type { ToolInput } from "@qvac/sdk";
1
+ import { z } from 'zod';
2
+ import type { ToolInput } from '@qvac/sdk';
3
3
  export declare const weatherSchema: z.ZodObject<{
4
4
  city: z.ZodString;
5
5
  country: z.ZodOptional<z.ZodString>;
@@ -1,41 +1,41 @@
1
- import { z } from "zod";
1
+ import { z } from 'zod';
2
2
  export const weatherSchema = z.object({
3
- city: z.string().describe("City name"),
4
- country: z.string().describe("Country code").optional(),
3
+ city: z.string().describe('City name'),
4
+ country: z.string().describe('Country code').optional()
5
5
  });
6
6
  export const horoscopeSchema = z.object({
7
- sign: z.string().describe("An astrological sign like Taurus or Aquarius"),
7
+ sign: z.string().describe('An astrological sign like Taurus or Aquarius')
8
8
  });
9
9
  export const toolSchemas = {
10
10
  get_weather: weatherSchema,
11
- get_horoscope: horoscopeSchema,
11
+ get_horoscope: horoscopeSchema
12
12
  };
13
13
  export const tools = [
14
14
  {
15
- name: "get_weather",
16
- description: "Get current weather for a city",
17
- parameters: weatherSchema,
15
+ name: 'get_weather',
16
+ description: 'Get current weather for a city',
17
+ parameters: weatherSchema
18
18
  },
19
19
  {
20
- name: "get_horoscope",
20
+ name: 'get_horoscope',
21
21
  description: "Get today's horoscope for an astrological sign",
22
- parameters: horoscopeSchema,
23
- },
22
+ parameters: horoscopeSchema
23
+ }
24
24
  ];
25
25
  export function mockExecute(name, args) {
26
- if (name === "get_weather") {
26
+ if (name === 'get_weather') {
27
27
  const a = args;
28
28
  return JSON.stringify({
29
29
  city: a.city,
30
- country: a.country ?? "unknown",
31
- temperature: "22°C",
32
- condition: "Partly cloudy",
30
+ country: a.country ?? 'unknown',
31
+ temperature: '22°C',
32
+ condition: 'Partly cloudy'
33
33
  });
34
34
  }
35
- if (name === "get_horoscope") {
35
+ if (name === 'get_horoscope') {
36
36
  return JSON.stringify({
37
37
  sign: args.sign,
38
- horoscope: "Today is a great day for new beginnings.",
38
+ horoscope: 'Today is a great day for new beginnings.'
39
39
  });
40
40
  }
41
41
  return JSON.stringify({ error: `Unknown tool: ${name}` });
@@ -10,38 +10,38 @@
10
10
  *
11
11
  * Audio should be 16 kHz mono PCM in a WAV container.
12
12
  */
13
- import { loadModel, unloadModel, transcribe, PARAKEET_CTC_0_6B_Q8_0, } from "@qvac/sdk";
13
+ import { loadModel, unloadModel, transcribe, PARAKEET_CTC_0_6B_Q8_0 } from '@qvac/sdk';
14
14
  const args = process.argv.slice(2);
15
15
  if (!args[0]) {
16
- console.error("Usage: bun run examples/transcription/parakeet-ctc-filesystem.ts <wav-file> " +
17
- "[parakeet-ctc-gguf]");
18
- console.error("\nIf the model path is omitted, defaults to the registry model.");
16
+ console.error('Usage: bun run examples/transcription/parakeet-ctc-filesystem.ts <wav-file> ' +
17
+ '[parakeet-ctc-gguf]');
18
+ console.error('\nIf the model path is omitted, defaults to the registry model.');
19
19
  process.exit(1);
20
20
  }
21
21
  const audioFilePath = args[0];
22
22
  const parakeetModelSrc = args[1] ?? PARAKEET_CTC_0_6B_Q8_0;
23
23
  try {
24
- console.log("▸ Loading Parakeet CTC model...");
24
+ console.log('▸ Loading Parakeet CTC model...');
25
25
  const modelId = await loadModel({
26
26
  modelSrc: parakeetModelSrc,
27
- modelType: "parakeet-transcription",
27
+ modelType: 'parakeet-transcription',
28
28
  onProgress: (p) => {
29
29
  const mb = (n) => (n / 1e6).toFixed(1);
30
30
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
31
31
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
32
32
  if (p.percentage >= 100)
33
- process.stderr.write("\n");
34
- },
33
+ process.stderr.write('\n');
34
+ }
35
35
  });
36
36
  console.log(`▸ Parakeet CTC model loaded with ID: ${modelId}`);
37
- console.log("▸ Transcribing audio...");
37
+ console.log('▸ Transcribing audio...');
38
38
  const text = await transcribe({ modelId, audioChunk: audioFilePath });
39
39
  console.log(text);
40
- console.log("▸ Unloading model...");
40
+ console.log('▸ Unloading model...');
41
41
  await unloadModel({ modelId });
42
- console.log("▸ Done");
42
+ console.log('▸ Done');
43
43
  }
44
44
  catch (error) {
45
- console.error("✖", error);
45
+ console.error('✖', error);
46
46
  process.exit(1);
47
47
  }
@@ -9,24 +9,24 @@
9
9
  *
10
10
  * Requirements: FFmpeg installed, microphone access.
11
11
  */
12
- import { loadModel, unloadModel, transcribe, PARAKEET_TDT_0_6B_V3_Q8_0, } from "@qvac/sdk";
13
- import { spawnSync } from "child_process";
14
- import { startMicrophone } from "../audio/mic-input";
12
+ import { loadModel, unloadModel, transcribe, PARAKEET_TDT_0_6B_V3_Q8_0 } from '@qvac/sdk';
13
+ import { spawnSync } from 'child_process';
14
+ import { startMicrophone } from '../audio/mic-input';
15
15
  const SAMPLE_RATE = 16000;
16
16
  const BYTES_PER_SAMPLE = 2; // s16le
17
17
  const CHUNK_DURATION_S = 3;
18
18
  const CHUNK_SIZE = SAMPLE_RATE * BYTES_PER_SAMPLE * CHUNK_DURATION_S;
19
19
  // ── Main ──
20
20
  try {
21
- const r = spawnSync("ffmpeg", ["-version"], { stdio: "ignore" });
21
+ const r = spawnSync('ffmpeg', ['-version'], { stdio: 'ignore' });
22
22
  if (r.error || r.status !== 0)
23
- throw new Error("FFmpeg not found");
23
+ throw new Error('FFmpeg not found');
24
24
  }
25
25
  catch {
26
- console.error("✖ FFmpeg is required. Install it and try again.");
26
+ console.error('✖ FFmpeg is required. Install it and try again.');
27
27
  process.exit(1);
28
28
  }
29
- console.log("▸ Loading Parakeet model...");
29
+ console.log('▸ Loading Parakeet model...');
30
30
  const modelId = await loadModel({
31
31
  modelSrc: PARAKEET_TDT_0_6B_V3_Q8_0,
32
32
  onProgress: (p) => {
@@ -34,18 +34,18 @@ const modelId = await loadModel({
34
34
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
35
35
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
36
36
  if (p.percentage >= 100)
37
- process.stderr.write("\n");
38
- },
37
+ process.stderr.write('\n');
38
+ }
39
39
  });
40
- console.log("▸ Model loaded.");
40
+ console.log('▸ Model loaded.');
41
41
  const ffmpeg = startMicrophone({
42
42
  sampleRate: SAMPLE_RATE,
43
- format: "s16le",
43
+ format: 's16le'
44
44
  });
45
45
  let buffer = Buffer.alloc(0);
46
46
  let processing = false;
47
- console.log("▸ Listening... speak and pause to see transcriptions.");
48
- ffmpeg.stdout.on("data", (chunk) => {
47
+ console.log('▸ Listening... speak and pause to see transcriptions.');
48
+ ffmpeg.stdout.on('data', (chunk) => {
49
49
  buffer = Buffer.concat([buffer, chunk]);
50
50
  if (buffer.length >= CHUNK_SIZE && !processing) {
51
51
  const audioChunk = buffer.subarray(0, CHUNK_SIZE);
@@ -54,12 +54,12 @@ ffmpeg.stdout.on("data", (chunk) => {
54
54
  void (async () => {
55
55
  try {
56
56
  const text = await transcribe({ modelId, audioChunk });
57
- if (text.trim() && !text.includes("[No speech detected]")) {
57
+ if (text.trim() && !text.includes('[No speech detected]')) {
58
58
  console.log(text.trim());
59
59
  }
60
60
  }
61
61
  catch (err) {
62
- console.error("✖", err instanceof Error ? err.message : err);
62
+ console.error('✖', err instanceof Error ? err.message : err);
63
63
  }
64
64
  finally {
65
65
  processing = false;
@@ -68,10 +68,10 @@ ffmpeg.stdout.on("data", (chunk) => {
68
68
  }
69
69
  });
70
70
  async function cleanup() {
71
- console.log("\n▸ Stopping...");
71
+ console.log('\n▸ Stopping...');
72
72
  ffmpeg.kill();
73
73
  await unloadModel({ modelId });
74
- console.log("▸ Done.");
74
+ console.log('▸ Done.');
75
75
  }
76
- process.on("SIGINT", () => void cleanup());
77
- process.on("SIGTERM", () => void cleanup());
76
+ process.on('SIGINT', () => void cleanup());
77
+ process.on('SIGTERM', () => void cleanup());
@@ -11,36 +11,36 @@
11
11
  *
12
12
  * Requirements: FFmpeg installed, microphone access.
13
13
  */
14
- import { loadModel, unloadModel, transcribeStream, PARAKEET_EOU_120M_V1_Q8_0, } from "@qvac/sdk";
15
- import { spawnSync } from "child_process";
16
- import { startMicrophone } from "../audio/mic-input";
14
+ import { loadModel, unloadModel, transcribeStream, PARAKEET_EOU_120M_V1_Q8_0 } from '@qvac/sdk';
15
+ import { spawnSync } from 'child_process';
16
+ import { startMicrophone } from '../audio/mic-input';
17
17
  const SAMPLE_RATE = 16000;
18
18
  try {
19
- const r = spawnSync("ffmpeg", ["-version"], { stdio: "ignore" });
19
+ const r = spawnSync('ffmpeg', ['-version'], { stdio: 'ignore' });
20
20
  if (r.error || r.status !== 0)
21
- throw new Error("FFmpeg not found");
21
+ throw new Error('FFmpeg not found');
22
22
  }
23
23
  catch {
24
- console.error("✖ FFmpeg is required. Install it and try again.");
24
+ console.error('✖ FFmpeg is required. Install it and try again.');
25
25
  process.exit(1);
26
26
  }
27
27
  let modelId = null;
28
28
  let ffmpeg = null;
29
29
  async function cleanup() {
30
- console.log("\n▸ Stopping...");
30
+ console.log('\n▸ Stopping...');
31
31
  ffmpeg?.kill();
32
32
  if (modelId)
33
33
  await unloadModel({ modelId });
34
- console.log("▸ Done.");
34
+ console.log('▸ Done.');
35
35
  }
36
- process.on("SIGINT", () => {
36
+ process.on('SIGINT', () => {
37
37
  void cleanup().finally(() => process.exit(0));
38
38
  });
39
- process.on("SIGTERM", () => {
39
+ process.on('SIGTERM', () => {
40
40
  void cleanup().finally(() => process.exit(0));
41
41
  });
42
42
  try {
43
- console.log("▸ Loading Parakeet (EOU) streaming model...");
43
+ console.log('▸ Loading Parakeet (EOU) streaming model...');
44
44
  modelId = await loadModel({
45
45
  modelSrc: PARAKEET_EOU_120M_V1_Q8_0,
46
46
  onProgress: (p) => {
@@ -48,29 +48,29 @@ try {
48
48
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
49
49
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
50
50
  if (p.percentage >= 100)
51
- process.stderr.write("\n");
52
- },
51
+ process.stderr.write('\n');
52
+ }
53
53
  });
54
- console.log("▸ Model loaded.");
55
- ffmpeg = startMicrophone({ sampleRate: SAMPLE_RATE, format: "s16le" });
54
+ console.log('▸ Model loaded.');
55
+ ffmpeg = startMicrophone({ sampleRate: SAMPLE_RATE, format: 's16le' });
56
56
  const session = await transcribeStream({
57
57
  modelId,
58
58
  parakeetStreamingConfig: {
59
59
  chunkMs: 1000,
60
- emitPartials: true,
61
- },
60
+ emitPartials: true
61
+ }
62
62
  });
63
- ffmpeg.stdout.on("data", (chunk) => session.write(chunk));
64
- console.log("▸ Listening... speak and pause to see transcripts. End-of-turn boundaries fire when the EOU model emits an <EOU> token.");
63
+ ffmpeg.stdout.on('data', (chunk) => session.write(chunk));
64
+ console.log('▸ Listening... speak and pause to see transcripts. End-of-turn boundaries fire when the EOU model emits an <EOU> token.');
65
65
  for await (const event of session) {
66
66
  switch (event.type) {
67
- case "text":
67
+ case 'text':
68
68
  if (event.text.trim()) {
69
69
  process.stdout.write(`${event.text}`);
70
70
  }
71
71
  break;
72
- case "endOfTurn":
73
- console.log("\n▸ [endOfTurn] turn boundary detected");
72
+ case 'endOfTurn':
73
+ console.log('\n▸ [endOfTurn] turn boundary detected');
74
74
  break;
75
75
  }
76
76
  }
@@ -78,7 +78,7 @@ try {
78
78
  process.exit(0);
79
79
  }
80
80
  catch (error) {
81
- console.error("✖", error);
81
+ console.error('✖', error);
82
82
  await cleanup();
83
83
  process.exit(1);
84
84
  }