@qvac/sdk 0.14.1 → 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 (796) 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.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-img2img.js +13 -13
  157. package/dist/examples/diffusion-img2vid.js +22 -23
  158. package/dist/examples/diffusion-simple.js +7 -7
  159. package/dist/examples/diffusion-txt2img.js +13 -14
  160. package/dist/examples/diffusion-txt2vid.js +18 -18
  161. package/dist/examples/download-with-blind-relays.js +7 -8
  162. package/dist/examples/download-with-cancel.js +9 -9
  163. package/dist/examples/embed-multi-gpu.js +9 -9
  164. package/dist/examples/embed-p2p.js +24 -24
  165. package/dist/examples/finetune/llamacpp-finetune.js +21 -21
  166. package/dist/examples/kv-cache-cleanup.js +34 -34
  167. package/dist/examples/kv-cache-custom-key.js +30 -30
  168. package/dist/examples/kv-cache-example.js +18 -20
  169. package/dist/examples/llamacpp-cache.js +33 -33
  170. package/dist/examples/llamacpp-dynamic-tools.js +38 -38
  171. package/dist/examples/llamacpp-filesystem.js +13 -15
  172. package/dist/examples/llamacpp-http.js +12 -14
  173. package/dist/examples/llamacpp-multi-gpu.js +12 -12
  174. package/dist/examples/llamacpp-multimodal.js +16 -16
  175. package/dist/examples/llamacpp-p2p.js +11 -11
  176. package/dist/examples/llamacpp-sharded.js +12 -12
  177. package/dist/examples/llamacpp-structured-output.js +37 -37
  178. package/dist/examples/logging-file-transport.js +19 -21
  179. package/dist/examples/logging-global.js +8 -8
  180. package/dist/examples/logging-streaming.js +16 -18
  181. package/dist/examples/mcp-websearch.js +44 -44
  182. package/dist/examples/multi-model-demo.js +33 -33
  183. package/dist/examples/ocr-fasttext.js +17 -17
  184. package/dist/examples/parallel-download.js +11 -13
  185. package/dist/examples/plugins.js +43 -43
  186. package/dist/examples/profiling/basic.js +34 -36
  187. package/dist/examples/profiling/per-call.js +16 -16
  188. package/dist/examples/quickstart.bare.js +4 -6
  189. package/dist/examples/quickstart.js +7 -7
  190. package/dist/examples/rag/rag-chromadb.js +26 -26
  191. package/dist/examples/rag/rag-hyperdb/cancellation.js +19 -20
  192. package/dist/examples/rag/rag-hyperdb/ingest.js +19 -19
  193. package/dist/examples/rag/rag-hyperdb/pipeline.js +26 -26
  194. package/dist/examples/rag/rag-hyperdb/workspaces.js +46 -46
  195. package/dist/examples/rag/rag-lancedb.js +29 -32
  196. package/dist/examples/rag/rag-sqlite.js +25 -25
  197. package/dist/examples/registry-query.js +15 -15
  198. package/dist/examples/seed-p2p.js +8 -8
  199. package/dist/examples/suspend-resume.js +20 -20
  200. package/dist/examples/tools/llamacpp-native-tools.js +25 -25
  201. package/dist/examples/tools/llamacpp-tools-gemma4.js +14 -14
  202. package/dist/examples/tools/llamacpp-tools-harmony-multiturn.js +15 -15
  203. package/dist/examples/tools/llamacpp-tools-pythonic.js +15 -15
  204. package/dist/examples/tools/llamacpp-tools-qwen35.js +14 -14
  205. package/dist/examples/tools/shared.d.ts +2 -2
  206. package/dist/examples/tools/shared.js +17 -17
  207. package/dist/examples/transcription/parakeet-ctc-filesystem.js +12 -12
  208. package/dist/examples/transcription/parakeet-microphone-record.js +19 -19
  209. package/dist/examples/transcription/parakeet-microphone-stream.js +23 -23
  210. package/dist/examples/transcription/parakeet-sortformer-streaming.js +18 -28
  211. package/dist/examples/transcription/parakeet-sortformer.js +21 -21
  212. package/dist/examples/transcription/parakeet-tdt-filesystem.js +13 -13
  213. package/dist/examples/transcription/whispercpp-filesystem-streaming.js +34 -34
  214. package/dist/examples/transcription/whispercpp-filesystem.js +19 -19
  215. package/dist/examples/transcription/whispercpp-microphone-conversation.js +27 -27
  216. package/dist/examples/transcription/whispercpp-microphone-record.js +21 -21
  217. package/dist/examples/transcription/whispercpp-prompt.js +18 -18
  218. package/dist/examples/translation/translation-bergamot-batch.js +17 -17
  219. package/dist/examples/translation/translation-bergamot-pivot.js +16 -16
  220. package/dist/examples/translation/translation-bergamot.js +11 -11
  221. package/dist/examples/translation/translation-indic.js +10 -10
  222. package/dist/examples/translation/translation-llm-afriquegemma.js +10 -10
  223. package/dist/examples/translation/translation-llm-context.js +10 -10
  224. package/dist/examples/translation/translation-llm.js +13 -13
  225. package/dist/examples/translation/translation-stream.js +11 -11
  226. package/dist/examples/tts/chatterbox-enhanced.d.ts +2 -0
  227. package/dist/examples/tts/chatterbox-enhanced.js +55 -0
  228. package/dist/examples/tts/chatterbox-multilingual.d.ts +2 -0
  229. package/dist/examples/tts/chatterbox-multilingual.js +54 -0
  230. package/dist/examples/tts/chatterbox.js +18 -18
  231. package/dist/examples/tts/llm-to-tts-streaming.js +30 -30
  232. package/dist/examples/tts/supertonic-enhanced.d.ts +2 -0
  233. package/dist/examples/tts/supertonic-enhanced.js +57 -0
  234. package/dist/examples/tts/supertonic-multilingual.js +19 -19
  235. package/dist/examples/tts/supertonic.js +18 -18
  236. package/dist/examples/tts/utils.js +24 -32
  237. package/dist/examples/vla-pi05.js +14 -14
  238. package/dist/examples/vla-smolvla.js +14 -14
  239. package/dist/examples/voice-assistant/voice-assistant.js +46 -46
  240. package/dist/expo/plugins/find-in-ancestor-node-modules.js +3 -3
  241. package/dist/expo/plugins/get-project-root.d.ts +2 -2
  242. package/dist/expo/plugins/get-project-root.js +1 -1
  243. package/dist/expo/plugins/index.d.ts +11 -11
  244. package/dist/expo/plugins/index.js +10 -10
  245. package/dist/expo/plugins/resolve-sdk-package-dir.js +7 -11
  246. package/dist/expo/plugins/withAndroidArchitecture.d.ts +1 -1
  247. package/dist/expo/plugins/withAndroidArchitecture.js +12 -12
  248. package/dist/expo/plugins/withAndroidNdkVersion.d.ts +1 -1
  249. package/dist/expo/plugins/withAndroidNdkVersion.js +9 -9
  250. package/dist/expo/plugins/withDeviceInfo.d.ts +1 -1
  251. package/dist/expo/plugins/withDeviceInfo.js +13 -13
  252. package/dist/expo/plugins/withMobileBundle.d.ts +1 -1
  253. package/dist/expo/plugins/withMobileBundle.js +34 -42
  254. package/dist/expo/plugins/withOpenCL.d.ts +1 -1
  255. package/dist/expo/plugins/withOpenCL.js +14 -16
  256. package/dist/expo/plugins/withQvacSDK.d.ts +1 -1
  257. package/dist/expo/plugins/withQvacSDK.js +12 -12
  258. package/dist/index.d.ts +16 -16
  259. package/dist/index.js +16 -17
  260. package/dist/logging/addon.d.ts +1 -1
  261. package/dist/logging/addon.js +13 -13
  262. package/dist/logging/base-logger.d.ts +2 -2
  263. package/dist/logging/base-logger.js +6 -6
  264. package/dist/logging/client-logger.d.ts +1 -1
  265. package/dist/logging/client-logger.js +3 -3
  266. package/dist/logging/index.d.ts +9 -9
  267. package/dist/logging/index.js +8 -8
  268. package/dist/logging/logger.d.ts +1 -1
  269. package/dist/logging/logger.js +4 -4
  270. package/dist/logging/namespaces.d.ts +1 -1
  271. package/dist/logging/namespaces.js +5 -5
  272. package/dist/logging/registry.d.ts +2 -2
  273. package/dist/logging/registry.js +3 -3
  274. package/dist/logging/server-logger.d.ts +1 -1
  275. package/dist/logging/server-logger.js +2 -2
  276. package/dist/logging/stream-logger.d.ts +1 -1
  277. package/dist/logging/stream-logger.js +4 -4
  278. package/dist/logging/transport.d.ts +1 -1
  279. package/dist/logging/types.d.ts +1 -1
  280. package/dist/logging/utils.d.ts +2 -2
  281. package/dist/logging/utils.js +40 -41
  282. package/dist/models/registry/index.d.ts +1 -1
  283. package/dist/models/registry/index.js +5 -5
  284. package/dist/models/registry/models.d.ts +429 -122
  285. package/dist/models/registry/models.js +13693 -13369
  286. package/dist/models/update-models/codegen.d.ts +1 -1
  287. package/dist/models/update-models/codegen.js +8 -8
  288. package/dist/models/update-models/companions.d.ts +6 -1
  289. package/dist/models/update-models/companions.js +104 -39
  290. package/dist/models/update-models/history.d.ts +1 -1
  291. package/dist/models/update-models/history.js +11 -11
  292. package/dist/models/update-models/index.js +32 -34
  293. package/dist/models/update-models/naming.d.ts +2 -2
  294. package/dist/models/update-models/naming.js +177 -186
  295. package/dist/models/update-models/processing.d.ts +2 -2
  296. package/dist/models/update-models/processing.js +17 -19
  297. package/dist/models/update-models/registry.d.ts +2 -2
  298. package/dist/models/update-models/registry.js +9 -9
  299. package/dist/models/update-models/shards.d.ts +1 -1
  300. package/dist/models/update-models/shards.js +3 -3
  301. package/dist/models/update-models/types.d.ts +1 -1
  302. package/dist/models/update-models/utils.js +5 -5
  303. package/dist/pear/pre.js +84 -84
  304. package/dist/profiling/aggregator.d.ts +1 -1
  305. package/dist/profiling/aggregator.js +6 -6
  306. package/dist/profiling/clock.d.ts +1 -1
  307. package/dist/profiling/clock.js +10 -10
  308. package/dist/profiling/controller.d.ts +2 -2
  309. package/dist/profiling/controller.js +11 -12
  310. package/dist/profiling/envelope.d.ts +1 -1
  311. package/dist/profiling/envelope.js +4 -6
  312. package/dist/profiling/events.d.ts +2 -2
  313. package/dist/profiling/events.js +8 -10
  314. package/dist/profiling/exporters.d.ts +1 -1
  315. package/dist/profiling/exporters.js +81 -79
  316. package/dist/profiling/index.d.ts +8 -8
  317. package/dist/profiling/index.js +7 -7
  318. package/dist/profiling/model-execution.js +2 -1
  319. package/dist/profiling/ring-buffer.js +2 -2
  320. package/dist/profiling/types.d.ts +3 -3
  321. package/dist/schemas/archive.d.ts +1 -1
  322. package/dist/schemas/archive.js +8 -14
  323. package/dist/schemas/batch-completion-stream.d.ts +463 -0
  324. package/dist/schemas/batch-completion-stream.js +124 -0
  325. package/dist/schemas/bci-config.d.ts +1 -1
  326. package/dist/schemas/bci-config.js +7 -7
  327. package/dist/schemas/bci.d.ts +3 -3
  328. package/dist/schemas/bci.js +25 -31
  329. package/dist/schemas/cancel.d.ts +6 -1
  330. package/dist/schemas/cancel.js +33 -34
  331. package/dist/schemas/classification.d.ts +1 -1
  332. package/dist/schemas/classification.js +7 -7
  333. package/dist/schemas/common.d.ts +194 -25
  334. package/dist/schemas/common.js +40 -37
  335. package/dist/schemas/completion-event.d.ts +11 -8
  336. package/dist/schemas/completion-event.js +27 -26
  337. package/dist/schemas/completion-stream.d.ts +4 -3
  338. package/dist/schemas/completion-stream.js +51 -67
  339. package/dist/schemas/delegate.d.ts +1 -1
  340. package/dist/schemas/delegate.js +7 -7
  341. package/dist/schemas/delete-cache.d.ts +1 -1
  342. package/dist/schemas/delete-cache.js +8 -8
  343. package/dist/schemas/download-asset.d.ts +2 -2
  344. package/dist/schemas/download-asset.js +21 -21
  345. package/dist/schemas/embed.d.ts +3 -3
  346. package/dist/schemas/embed.js +16 -27
  347. package/dist/schemas/engine-addon-map.d.ts +2 -2
  348. package/dist/schemas/engine-addon-map.js +24 -24
  349. package/dist/schemas/error.d.ts +1 -1
  350. package/dist/schemas/error.js +12 -13
  351. package/dist/schemas/finetune.d.ts +1 -1
  352. package/dist/schemas/finetune.js +35 -41
  353. package/dist/schemas/get-loaded-model-info.d.ts +1 -1
  354. package/dist/schemas/get-loaded-model-info.js +10 -10
  355. package/dist/schemas/get-model-info.d.ts +1 -1
  356. package/dist/schemas/get-model-info.js +48 -91
  357. package/dist/schemas/heartbeat.d.ts +1 -1
  358. package/dist/schemas/heartbeat.js +6 -6
  359. package/dist/schemas/index.d.ts +52 -51
  360. package/dist/schemas/index.js +52 -51
  361. package/dist/schemas/json-schema.d.ts +1 -1
  362. package/dist/schemas/llamacpp-config.d.ts +33 -25
  363. package/dist/schemas/llamacpp-config.js +43 -30
  364. package/dist/schemas/load-model.d.ts +160 -128
  365. package/dist/schemas/load-model.js +120 -126
  366. package/dist/schemas/logging-stream.d.ts +1 -1
  367. package/dist/schemas/logging-stream.js +6 -12
  368. package/dist/schemas/mcp-adapter.d.ts +1 -1
  369. package/dist/schemas/model-src-utils.d.ts +1 -1
  370. package/dist/schemas/model-src-utils.js +13 -13
  371. package/dist/schemas/model-types.d.ts +1 -1
  372. package/dist/schemas/model-types.js +27 -27
  373. package/dist/schemas/ocr.d.ts +1 -1
  374. package/dist/schemas/ocr.js +18 -18
  375. package/dist/schemas/path-validation.d.ts +1 -1
  376. package/dist/schemas/path-validation.js +4 -4
  377. package/dist/schemas/plugin.d.ts +9 -10
  378. package/dist/schemas/plugin.js +47 -47
  379. package/dist/schemas/profiling.d.ts +1 -1
  380. package/dist/schemas/profiling.js +16 -16
  381. package/dist/schemas/provide.d.ts +1 -1
  382. package/dist/schemas/provide.js +8 -8
  383. package/dist/schemas/rag.d.ts +3 -3
  384. package/dist/schemas/rag.js +65 -70
  385. package/dist/schemas/registry.d.ts +1 -1
  386. package/dist/schemas/registry.js +44 -66
  387. package/dist/schemas/reload-config.d.ts +1 -1
  388. package/dist/schemas/reload-config.js +14 -18
  389. package/dist/schemas/resume.d.ts +1 -1
  390. package/dist/schemas/resume.js +3 -3
  391. package/dist/schemas/runtime-context.d.ts +1 -1
  392. package/dist/schemas/runtime-context.js +4 -4
  393. package/dist/schemas/sdcpp-config.d.ts +9 -9
  394. package/dist/schemas/sdcpp-config.js +298 -300
  395. package/dist/schemas/sdk-config.d.ts +55 -43
  396. package/dist/schemas/sdk-config.js +25 -29
  397. package/dist/schemas/sdk-errors-client.d.ts +1 -1
  398. package/dist/schemas/sdk-errors-client.js +80 -80
  399. package/dist/schemas/sdk-errors-registry.js +1 -1
  400. package/dist/schemas/sdk-errors-server.d.ts +1 -1
  401. package/dist/schemas/sdk-errors-server.js +200 -199
  402. package/dist/schemas/shard.d.ts +1 -1
  403. package/dist/schemas/shard.js +4 -4
  404. package/dist/schemas/state.d.ts +1 -1
  405. package/dist/schemas/state.js +5 -10
  406. package/dist/schemas/stop-provide.d.ts +1 -1
  407. package/dist/schemas/stop-provide.js +4 -4
  408. package/dist/schemas/suspend.d.ts +1 -1
  409. package/dist/schemas/suspend.js +3 -3
  410. package/dist/schemas/text-to-speech.d.ts +455 -3
  411. package/dist/schemas/text-to-speech.js +146 -110
  412. package/dist/schemas/tools.d.ts +1 -1
  413. package/dist/schemas/tools.js +17 -24
  414. package/dist/schemas/transcription-config.d.ts +1 -1
  415. package/dist/schemas/transcription-config.js +18 -18
  416. package/dist/schemas/transcription.d.ts +5 -5
  417. package/dist/schemas/transcription.js +31 -33
  418. package/dist/schemas/translate.d.ts +3 -3
  419. package/dist/schemas/translate.js +38 -67
  420. package/dist/schemas/translation-config.d.ts +1 -1
  421. package/dist/schemas/translation-config.js +116 -123
  422. package/dist/schemas/unload-model.d.ts +1 -1
  423. package/dist/schemas/unload-model.js +6 -6
  424. package/dist/schemas/vla.d.ts +1 -1
  425. package/dist/schemas/vla.js +30 -30
  426. package/dist/scripts/run-security-tests.js +9 -10
  427. package/dist/scripts/run-unit-tests.js +11 -12
  428. package/dist/server/bare/delegate-connect-diagnostics.js +13 -19
  429. package/dist/server/bare/delegate-rpc-client.d.ts +2 -2
  430. package/dist/server/bare/delegate-rpc-client.js +32 -34
  431. package/dist/server/bare/hyperswarm.d.ts +3 -3
  432. package/dist/server/bare/hyperswarm.js +14 -14
  433. package/dist/server/bare/ops/bci-transcribe.d.ts +1 -1
  434. package/dist/server/bare/ops/bci-transcribe.js +44 -44
  435. package/dist/server/bare/ops/cancel.d.ts +2 -2
  436. package/dist/server/bare/ops/cancel.js +6 -6
  437. package/dist/server/bare/ops/embed.d.ts +1 -1
  438. package/dist/server/bare/ops/embed.js +26 -16
  439. package/dist/server/bare/ops/kv-cache-utils.d.ts +1 -1
  440. package/dist/server/bare/ops/kv-cache-utils.js +17 -19
  441. package/dist/server/bare/ops/load-model.d.ts +2 -2
  442. package/dist/server/bare/ops/load-model.js +14 -18
  443. package/dist/server/bare/ops/transcribe.d.ts +3 -3
  444. package/dist/server/bare/ops/transcribe.js +62 -62
  445. package/dist/server/bare/ops/translate.d.ts +1 -1
  446. package/dist/server/bare/ops/translate.js +39 -30
  447. package/dist/server/bare/ops/unload-model.d.ts +1 -1
  448. package/dist/server/bare/ops/unload-model.js +12 -12
  449. package/dist/server/bare/plugins/bci-whispercpp-transcription/args.d.ts +2 -2
  450. package/dist/server/bare/plugins/bci-whispercpp-transcription/args.js +3 -3
  451. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.d.ts +2 -2
  452. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.js +33 -33
  453. package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.d.ts +1 -1
  454. package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.js +1 -1
  455. package/dist/server/bare/plugins/ggml-classification/ops/classify.d.ts +1 -1
  456. package/dist/server/bare/plugins/ggml-classification/ops/classify.js +8 -8
  457. package/dist/server/bare/plugins/ggml-classification/plugin.d.ts +1 -1
  458. package/dist/server/bare/plugins/ggml-classification/plugin.js +14 -14
  459. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.d.ts +1 -1
  460. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.js +27 -26
  461. package/dist/server/bare/plugins/ggml-ocr/plugin.d.ts +1 -1
  462. package/dist/server/bare/plugins/ggml-ocr/plugin.js +38 -38
  463. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.d.ts +1 -1
  464. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.js +3 -3
  465. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.d.ts +1 -1
  466. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.js +23 -23
  467. package/dist/server/bare/plugins/ggml-vla/plugin.d.ts +1 -1
  468. package/dist/server/bare/plugins/ggml-vla/plugin.js +15 -15
  469. package/dist/server/bare/plugins/index.d.ts +11 -11
  470. package/dist/server/bare/plugins/index.js +11 -11
  471. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-cancelled.d.ts +23 -0
  472. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-cancelled.js +30 -0
  473. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.d.ts +32 -0
  474. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.js +99 -0
  475. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.d.ts +1 -1
  476. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.js +8 -8
  477. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.d.ts +3 -2
  478. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.js +4 -1
  479. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.d.ts +22 -4
  480. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.js +55 -59
  481. package/dist/server/bare/plugins/llamacpp-completion/ops/context-overflow.js +5 -5
  482. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.d.ts +2 -2
  483. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.js +34 -34
  484. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.d.ts +7 -7
  485. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.js +19 -23
  486. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.js +4 -6
  487. package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +186 -17
  488. package/dist/server/bare/plugins/llamacpp-completion/plugin.js +235 -70
  489. package/dist/server/bare/plugins/llamacpp-completion/transform.d.ts +1 -1
  490. package/dist/server/bare/plugins/llamacpp-completion/transform.js +15 -15
  491. package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +3 -3
  492. package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +27 -29
  493. package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +1 -1
  494. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +38 -39
  495. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.d.ts +1 -1
  496. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.js +19 -22
  497. package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +1 -1
  498. package/dist/server/bare/plugins/parakeet-transcription/plugin.js +36 -36
  499. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.d.ts +1 -1
  500. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.js +15 -17
  501. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.d.ts +1 -1
  502. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.js +11 -11
  503. package/dist/server/bare/plugins/sdcpp-generation/ops/video.d.ts +1 -1
  504. package/dist/server/bare/plugins/sdcpp-generation/ops/video.js +42 -44
  505. package/dist/server/bare/plugins/sdcpp-generation/plugin.d.ts +4 -4
  506. package/dist/server/bare/plugins/sdcpp-generation/plugin.js +69 -63
  507. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.d.ts +2 -2
  508. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.js +19 -21
  509. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.d.ts +2 -2
  510. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.js +22 -24
  511. package/dist/server/bare/plugins/tts-ggml/plugin.d.ts +3 -2
  512. package/dist/server/bare/plugins/tts-ggml/plugin.js +95 -49
  513. package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +1 -1
  514. package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +52 -52
  515. package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +1 -1
  516. package/dist/server/bare/rag-hyperdb/handlers/chunk.js +2 -2
  517. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +1 -1
  518. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +2 -2
  519. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
  520. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +4 -4
  521. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +1 -1
  522. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +3 -3
  523. package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +2 -2
  524. package/dist/server/bare/rag-hyperdb/handlers/ingest.js +4 -4
  525. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +1 -1
  526. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +1 -1
  527. package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +2 -2
  528. package/dist/server/bare/rag-hyperdb/handlers/reindex.js +5 -5
  529. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +2 -2
  530. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +3 -3
  531. package/dist/server/bare/rag-hyperdb/handlers/search.d.ts +1 -1
  532. package/dist/server/bare/rag-hyperdb/handlers/search.js +3 -3
  533. package/dist/server/bare/rag-hyperdb/index.d.ts +11 -11
  534. package/dist/server/bare/rag-hyperdb/index.js +11 -11
  535. package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +3 -3
  536. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +1 -1
  537. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +20 -20
  538. package/dist/server/bare/registry/config-registry.d.ts +1 -1
  539. package/dist/server/bare/registry/config-registry.js +13 -16
  540. package/dist/server/bare/registry/logging-stream-registry.d.ts +1 -1
  541. package/dist/server/bare/registry/logging-stream-registry.js +2 -2
  542. package/dist/server/bare/registry/model-config-registry.d.ts +2 -2
  543. package/dist/server/bare/registry/model-config-registry.js +6 -6
  544. package/dist/server/bare/registry/model-config-utils.d.ts +2 -2
  545. package/dist/server/bare/registry/model-config-utils.js +35 -35
  546. package/dist/server/bare/registry/model-registry.d.ts +3 -3
  547. package/dist/server/bare/registry/model-registry.js +11 -11
  548. package/dist/server/bare/registry/registry-client.d.ts +1 -1
  549. package/dist/server/bare/registry/registry-client.js +18 -18
  550. package/dist/server/bare/registry/runtime-context-registry.d.ts +1 -1
  551. package/dist/server/bare/registry/runtime-context-registry.js +3 -3
  552. package/dist/server/bare/runtime/disposable-scope.js +3 -3
  553. package/dist/server/bare/runtime/index.d.ts +7 -7
  554. package/dist/server/bare/runtime/index.js +3 -3
  555. package/dist/server/bare/runtime/request-context.d.ts +4 -4
  556. package/dist/server/bare/runtime/request-id.js +1 -1
  557. package/dist/server/bare/runtime/request-registry-singleton.d.ts +1 -1
  558. package/dist/server/bare/runtime/request-registry-singleton.js +23 -4
  559. package/dist/server/bare/runtime/request-registry.d.ts +27 -12
  560. package/dist/server/bare/runtime/request-registry.js +39 -34
  561. package/dist/server/bare/runtime/with-request-context.d.ts +1 -1
  562. package/dist/server/bare/runtime/with-request-context.js +11 -11
  563. package/dist/server/bare/runtime-lifecycle.d.ts +1 -1
  564. package/dist/server/bare/runtime-lifecycle.js +27 -31
  565. package/dist/server/bare/types/addon-responses.d.ts +5 -4
  566. package/dist/server/bare/utils/audio-input.d.ts +2 -2
  567. package/dist/server/bare/utils/audio-input.js +7 -7
  568. package/dist/server/bare/utils/transcribe-metadata.d.ts +1 -1
  569. package/dist/server/bare/utils/transcribe-metadata.js +4 -4
  570. package/dist/server/bare/utils/tts-stats.d.ts +1 -1
  571. package/dist/server/bare/utils/tts-stats.js +3 -3
  572. package/dist/server/env.js +8 -8
  573. package/dist/server/error-handlers.d.ts +3 -3
  574. package/dist/server/error-handlers.js +11 -11
  575. package/dist/server/plugins/index.d.ts +1 -1
  576. package/dist/server/plugins/index.js +1 -1
  577. package/dist/server/plugins/registry.d.ts +1 -1
  578. package/dist/server/plugins/registry.js +12 -14
  579. package/dist/server/rpc/create-server.d.ts +1 -1
  580. package/dist/server/rpc/create-server.js +11 -12
  581. package/dist/server/rpc/delegate-transport.d.ts +3 -3
  582. package/dist/server/rpc/delegate-transport.js +43 -44
  583. package/dist/server/rpc/handle-request.d.ts +1 -1
  584. package/dist/server/rpc/handle-request.js +28 -30
  585. package/dist/server/rpc/handler-registry.d.ts +1 -1
  586. package/dist/server/rpc/handler-registry.js +97 -92
  587. package/dist/server/rpc/handler-selection.d.ts +3 -3
  588. package/dist/server/rpc/handler-selection.js +3 -3
  589. package/dist/server/rpc/handler-utils.d.ts +7 -7
  590. package/dist/server/rpc/handler-utils.js +32 -35
  591. package/dist/server/rpc/handlers/batch-completion-stream.d.ts +78 -0
  592. package/dist/server/rpc/handlers/batch-completion-stream.js +4 -0
  593. package/dist/server/rpc/handlers/bci-transcribe-stream.d.ts +1 -1
  594. package/dist/server/rpc/handlers/bci-transcribe-stream.js +2 -2
  595. package/dist/server/rpc/handlers/bci-transcribe.d.ts +1 -1
  596. package/dist/server/rpc/handlers/bci-transcribe.js +2 -2
  597. package/dist/server/rpc/handlers/cancel-delegated.d.ts +2 -2
  598. package/dist/server/rpc/handlers/cancel-delegated.js +13 -13
  599. package/dist/server/rpc/handlers/cancelHandler.d.ts +1 -1
  600. package/dist/server/rpc/handlers/cancelHandler.js +11 -11
  601. package/dist/server/rpc/handlers/classify.d.ts +1 -1
  602. package/dist/server/rpc/handlers/classify.js +2 -2
  603. package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +2 -2
  604. package/dist/server/rpc/handlers/completion-stream-delegated.js +14 -14
  605. package/dist/server/rpc/handlers/completion-stream.d.ts +1 -1
  606. package/dist/server/rpc/handlers/completion-stream.js +2 -2
  607. package/dist/server/rpc/handlers/delete-cache.d.ts +1 -1
  608. package/dist/server/rpc/handlers/delete-cache.js +10 -10
  609. package/dist/server/rpc/handlers/diffusion-stream.d.ts +1 -1
  610. package/dist/server/rpc/handlers/diffusion-stream.js +2 -2
  611. package/dist/server/rpc/handlers/download-asset.d.ts +1 -1
  612. package/dist/server/rpc/handlers/download-asset.js +20 -20
  613. package/dist/server/rpc/handlers/embed.d.ts +1 -1
  614. package/dist/server/rpc/handlers/embed.js +2 -2
  615. package/dist/server/rpc/handlers/finetune.d.ts +1 -1
  616. package/dist/server/rpc/handlers/finetune.js +8 -6
  617. package/dist/server/rpc/handlers/get-loaded-model-info.d.ts +1 -1
  618. package/dist/server/rpc/handlers/get-loaded-model-info.js +9 -9
  619. package/dist/server/rpc/handlers/get-model-info.d.ts +1 -1
  620. package/dist/server/rpc/handlers/get-model-info.js +20 -20
  621. package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +2 -2
  622. package/dist/server/rpc/handlers/heartbeat-delegated.js +7 -7
  623. package/dist/server/rpc/handlers/heartbeat.d.ts +1 -1
  624. package/dist/server/rpc/handlers/heartbeat.js +1 -1
  625. package/dist/server/rpc/handlers/index.d.ts +33 -31
  626. package/dist/server/rpc/handlers/index.js +34 -32
  627. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +4 -4
  628. package/dist/server/rpc/handlers/load-model/download-manager.js +19 -17
  629. package/dist/server/rpc/handlers/load-model/download-stats.d.ts +4 -3
  630. package/dist/server/rpc/handlers/load-model/download-stats.js +9 -11
  631. package/dist/server/rpc/handlers/load-model/handler.d.ts +1 -1
  632. package/dist/server/rpc/handlers/load-model/handler.js +42 -43
  633. package/dist/server/rpc/handlers/load-model/http.d.ts +2 -2
  634. package/dist/server/rpc/handlers/load-model/http.js +100 -107
  635. package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +2 -2
  636. package/dist/server/rpc/handlers/load-model/hyperdrive.js +72 -74
  637. package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
  638. package/dist/server/rpc/handlers/load-model/index.js +2 -2
  639. package/dist/server/rpc/handlers/load-model/registry-client-options.d.ts +2 -2
  640. package/dist/server/rpc/handlers/load-model/registry-client-options.js +2 -3
  641. package/dist/server/rpc/handlers/load-model/registry-companion-set.d.ts +5 -5
  642. package/dist/server/rpc/handlers/load-model/registry-companion-set.js +19 -21
  643. package/dist/server/rpc/handlers/load-model/registry-download-utils.d.ts +6 -6
  644. package/dist/server/rpc/handlers/load-model/registry-download-utils.js +16 -18
  645. package/dist/server/rpc/handlers/load-model/registry-metadata.d.ts +11 -0
  646. package/dist/server/rpc/handlers/load-model/registry-metadata.js +23 -0
  647. package/dist/server/rpc/handlers/load-model/registry.d.ts +4 -3
  648. package/dist/server/rpc/handlers/load-model/registry.js +50 -56
  649. package/dist/server/rpc/handlers/load-model/resolve-session.d.ts +3 -3
  650. package/dist/server/rpc/handlers/load-model/resolve-session.js +7 -7
  651. package/dist/server/rpc/handlers/load-model/resolve.d.ts +3 -3
  652. package/dist/server/rpc/handlers/load-model/resolve.js +36 -35
  653. package/dist/server/rpc/handlers/load-model/types.d.ts +3 -3
  654. package/dist/server/rpc/handlers/load-model/types.js +7 -7
  655. package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -2
  656. package/dist/server/rpc/handlers/load-model-delegated.js +31 -30
  657. package/dist/server/rpc/handlers/logging-stream.d.ts +1 -1
  658. package/dist/server/rpc/handlers/logging-stream.js +3 -3
  659. package/dist/server/rpc/handlers/ocr-stream.d.ts +1 -1
  660. package/dist/server/rpc/handlers/ocr-stream.js +2 -2
  661. package/dist/server/rpc/handlers/plugin-dispatch.js +9 -9
  662. package/dist/server/rpc/handlers/plugin-invoke.d.ts +1 -1
  663. package/dist/server/rpc/handlers/plugin-invoke.js +16 -16
  664. package/dist/server/rpc/handlers/provideHandler/connection.d.ts +1 -1
  665. package/dist/server/rpc/handlers/provideHandler/connection.js +16 -16
  666. package/dist/server/rpc/handlers/provideHandler/handler.d.ts +1 -1
  667. package/dist/server/rpc/handlers/provideHandler/handler.js +18 -18
  668. package/dist/server/rpc/handlers/provideHandler/proxy.d.ts +1 -1
  669. package/dist/server/rpc/handlers/provideHandler/proxy.js +11 -11
  670. package/dist/server/rpc/handlers/provideHandler.d.ts +1 -1
  671. package/dist/server/rpc/handlers/provideHandler.js +1 -1
  672. package/dist/server/rpc/handlers/rag.d.ts +1 -1
  673. package/dist/server/rpc/handlers/rag.js +50 -50
  674. package/dist/server/rpc/handlers/registry.d.ts +1 -1
  675. package/dist/server/rpc/handlers/registry.js +34 -36
  676. package/dist/server/rpc/handlers/resume.d.ts +1 -1
  677. package/dist/server/rpc/handlers/resume.js +3 -3
  678. package/dist/server/rpc/handlers/state.d.ts +1 -1
  679. package/dist/server/rpc/handlers/state.js +3 -3
  680. package/dist/server/rpc/handlers/stopProvideHandler.d.ts +1 -1
  681. package/dist/server/rpc/handlers/stopProvideHandler.js +7 -7
  682. package/dist/server/rpc/handlers/suspend.d.ts +1 -1
  683. package/dist/server/rpc/handlers/suspend.js +3 -3
  684. package/dist/server/rpc/handlers/text-to-speech-stream.d.ts +1 -1
  685. package/dist/server/rpc/handlers/text-to-speech-stream.js +2 -2
  686. package/dist/server/rpc/handlers/text-to-speech.d.ts +1 -1
  687. package/dist/server/rpc/handlers/text-to-speech.js +2 -2
  688. package/dist/server/rpc/handlers/transcribe-stream.d.ts +1 -1
  689. package/dist/server/rpc/handlers/transcribe-stream.js +2 -2
  690. package/dist/server/rpc/handlers/transcribe.d.ts +1 -1
  691. package/dist/server/rpc/handlers/transcribe.js +2 -2
  692. package/dist/server/rpc/handlers/translate.d.ts +1 -1
  693. package/dist/server/rpc/handlers/translate.js +2 -2
  694. package/dist/server/rpc/handlers/unload-model-delegated.d.ts +1 -1
  695. package/dist/server/rpc/handlers/unload-model-delegated.js +10 -10
  696. package/dist/server/rpc/handlers/unload-model.d.ts +1 -1
  697. package/dist/server/rpc/handlers/unload-model.js +10 -10
  698. package/dist/server/rpc/handlers/upscale-stream.d.ts +1 -1
  699. package/dist/server/rpc/handlers/upscale-stream.js +2 -2
  700. package/dist/server/rpc/handlers/video-stream.d.ts +1 -1
  701. package/dist/server/rpc/handlers/video-stream.js +2 -2
  702. package/dist/server/rpc/index.d.ts +2 -2
  703. package/dist/server/rpc/index.js +2 -2
  704. package/dist/server/rpc/profiling/context.d.ts +1 -1
  705. package/dist/server/rpc/profiling/context.js +9 -10
  706. package/dist/server/rpc/profiling/delegation-profiler.d.ts +2 -2
  707. package/dist/server/rpc/profiling/delegation-profiler.js +23 -24
  708. package/dist/server/rpc/profiling/index.d.ts +4 -4
  709. package/dist/server/rpc/profiling/index.js +4 -4
  710. package/dist/server/rpc/profiling/operation-metrics.d.ts +2 -2
  711. package/dist/server/rpc/profiling/operation-metrics.js +102 -102
  712. package/dist/server/rpc/profiling/operation-wrappers.d.ts +1 -1
  713. package/dist/server/rpc/profiling/operation-wrappers.js +16 -14
  714. package/dist/server/rpc/profiling/profiler.d.ts +2 -2
  715. package/dist/server/rpc/profiling/profiler.js +9 -13
  716. package/dist/server/rpc/rpc-utils.js +1 -4
  717. package/dist/server/rpc/transport-selector.d.ts +1 -1
  718. package/dist/server/rpc/transport-selector.js +4 -4
  719. package/dist/server/utils/archive.js +27 -29
  720. package/dist/server/utils/audio/decoder.d.ts +2 -2
  721. package/dist/server/utils/audio/decoder.js +11 -11
  722. package/dist/server/utils/cache/auto-history.d.ts +1 -1
  723. package/dist/server/utils/cache/auto-history.js +5 -5
  724. package/dist/server/utils/cache/paths.d.ts +2 -2
  725. package/dist/server/utils/cache/paths.js +14 -14
  726. package/dist/server/utils/checksum.d.ts +1 -1
  727. package/dist/server/utils/checksum.js +10 -12
  728. package/dist/server/utils/clear-storage.d.ts +1 -1
  729. package/dist/server/utils/clear-storage.js +8 -11
  730. package/dist/server/utils/completion-normalizer.d.ts +1 -1
  731. package/dist/server/utils/completion-normalizer.js +106 -113
  732. package/dist/server/utils/config-transform.d.ts +1 -1
  733. package/dist/server/utils/config-transform.js +2 -2
  734. package/dist/server/utils/expand-gguf-shards.js +4 -4
  735. package/dist/server/utils/formatting.js +6 -12
  736. package/dist/server/utils/gguf-tensor-extractor.js +17 -21
  737. package/dist/server/utils/index.d.ts +11 -11
  738. package/dist/server/utils/index.js +11 -11
  739. package/dist/server/utils/multi-gpu-mobile.js +1 -1
  740. package/dist/server/utils/path-security.d.ts +1 -1
  741. package/dist/server/utils/path-security.js +6 -6
  742. package/dist/server/utils/qvac-paths.js +3 -3
  743. package/dist/server/utils/response-format.d.ts +1 -1
  744. package/dist/server/utils/response-format.js +4 -4
  745. package/dist/server/utils/shard-utils.d.ts +1 -1
  746. package/dist/server/utils/shard-utils.js +14 -16
  747. package/dist/server/utils/tool-integration.d.ts +1 -1
  748. package/dist/server/utils/tool-integration.js +5 -9
  749. package/dist/server/utils/tools/dialect.d.ts +1 -1
  750. package/dist/server/utils/tools/dialect.js +7 -7
  751. package/dist/server/utils/tools/index.d.ts +2 -2
  752. package/dist/server/utils/tools/index.js +2 -2
  753. package/dist/server/utils/tools/parser.d.ts +1 -1
  754. package/dist/server/utils/tools/parser.js +14 -14
  755. package/dist/server/utils/tools/parsers/gemma4native.d.ts +2 -2
  756. package/dist/server/utils/tools/parsers/gemma4native.js +13 -8
  757. package/dist/server/utils/tools/parsers/harmony.d.ts +2 -2
  758. package/dist/server/utils/tools/parsers/harmony.js +9 -11
  759. package/dist/server/utils/tools/parsers/hermes.d.ts +2 -2
  760. package/dist/server/utils/tools/parsers/hermes.js +16 -16
  761. package/dist/server/utils/tools/parsers/json.d.ts +2 -2
  762. package/dist/server/utils/tools/parsers/json.js +14 -14
  763. package/dist/server/utils/tools/parsers/pythonic.d.ts +2 -2
  764. package/dist/server/utils/tools/parsers/pythonic.js +43 -43
  765. package/dist/server/utils/tools/parsers/qwen35.d.ts +2 -2
  766. package/dist/server/utils/tools/parsers/qwen35.js +20 -20
  767. package/dist/server/utils/tools/shared.d.ts +1 -1
  768. package/dist/server/utils/tools/shared.js +10 -12
  769. package/dist/server/utils/worker-lock.js +10 -10
  770. package/dist/server/worker-core.d.ts +1 -1
  771. package/dist/server/worker-core.js +44 -43
  772. package/dist/server/worker.js +9 -9
  773. package/dist/utils/aggregate-events.d.ts +2 -2
  774. package/dist/utils/aggregate-events.js +17 -19
  775. package/dist/utils/cache-normalize.js +1 -4
  776. package/dist/utils/encoding.js +1 -1
  777. package/dist/utils/errors-base.d.ts +1 -1
  778. package/dist/utils/errors-base.js +1 -1
  779. package/dist/utils/errors-client.d.ts +1 -1
  780. package/dist/utils/errors-client.js +5 -5
  781. package/dist/utils/errors-server.d.ts +3 -3
  782. package/dist/utils/errors-server.js +19 -18
  783. package/dist/utils/load-model-validation.js +3 -3
  784. package/dist/utils/mcp-adapter.d.ts +4 -4
  785. package/dist/utils/mcp-adapter.js +31 -38
  786. package/dist/utils/path-sanitize.js +14 -17
  787. package/dist/utils/tool-helpers.d.ts +2 -2
  788. package/dist/utils/tool-helpers.js +25 -26
  789. package/dist/utils/withTimeout.d.ts +7 -0
  790. package/dist/utils/withTimeout.js +11 -1
  791. package/dist/utils/zod-error.d.ts +1 -1
  792. package/dist/utils/zod-error.js +1 -1
  793. package/electron-forge/index.cjs +274 -317
  794. package/expo/plugins/patches/android-link.mjs +25 -30
  795. package/expo/plugins/patches/ios-link.mjs +25 -30
  796. package/package.json +17 -16
@@ -10,8 +10,8 @@
10
10
  *
11
11
  * For offline batch diarization (Sortformer + TDT), see `parakeet-sortformer.ts`.
12
12
  */
13
- import { loadModel, unloadModel, transcribeStream, PARAKEET_SORTFORMER_4SPK_V2_1_Q8_0, } from "@qvac/sdk";
14
- import { spawn } from "child_process";
13
+ import { loadModel, unloadModel, transcribeStream, PARAKEET_SORTFORMER_4SPK_V2_1_Q8_0 } from '@qvac/sdk';
14
+ import { spawn } from 'child_process';
15
15
  const SAMPLE_RATE = 16000;
16
16
  const BYTES_PER_S16_SAMPLE = 2;
17
17
  const STREAM_CHUNK_MS = 2000;
@@ -24,12 +24,12 @@ const SORTFORMER_V21_AOSC_LOAD_CONFIG = {
24
24
  streamingSpkCacheLen: 188,
25
25
  streamingFifoLen: 188,
26
26
  streamingChunkLeftContextMs: 80,
27
- streamingSpkCacheUpdatePeriod: 144,
27
+ streamingSpkCacheUpdatePeriod: 144
28
28
  };
29
29
  const args = process.argv.slice(2);
30
30
  if (!args[0]) {
31
- console.error("Usage: bun run examples/transcription/parakeet-sortformer-streaming.ts <wav-file-path> [sortformer-gguf]");
32
- console.error("\nDefaults to the v2.1 q8_0 registry model (PARAKEET_SORTFORMER_4SPK_V2_1_Q8_0).");
31
+ console.error('Usage: bun run examples/transcription/parakeet-sortformer-streaming.ts <wav-file-path> [sortformer-gguf]');
32
+ console.error('\nDefaults to the v2.1 q8_0 registry model (PARAKEET_SORTFORMER_4SPK_V2_1_Q8_0).');
33
33
  process.exit(1);
34
34
  }
35
35
  const audioFilePath = args[0];
@@ -44,20 +44,10 @@ async function cleanup() {
44
44
  function readS16leFromWav(wavPath) {
45
45
  return new Promise((resolve, reject) => {
46
46
  const chunks = [];
47
- const proc = spawn("ffmpeg", [
48
- "-i",
49
- wavPath,
50
- "-ar",
51
- String(SAMPLE_RATE),
52
- "-ac",
53
- "1",
54
- "-f",
55
- "s16le",
56
- "pipe:1",
57
- ], { stdio: ["ignore", "pipe", "ignore"] });
58
- proc.stdout.on("data", (buf) => chunks.push(buf));
59
- proc.on("error", reject);
60
- proc.on("close", (code) => {
47
+ const proc = spawn('ffmpeg', ['-i', wavPath, '-ar', String(SAMPLE_RATE), '-ac', '1', '-f', 's16le', 'pipe:1'], { stdio: ['ignore', 'pipe', 'ignore'] });
48
+ proc.stdout.on('data', (buf) => chunks.push(buf));
49
+ proc.on('error', reject);
50
+ proc.on('close', (code) => {
61
51
  if (code !== 0) {
62
52
  reject(new Error(`ffmpeg exited with code ${code}`));
63
53
  return;
@@ -68,26 +58,26 @@ function readS16leFromWav(wavPath) {
68
58
  });
69
59
  }
70
60
  const loadOptions = {
71
- modelType: "parakeet-transcription",
61
+ modelType: 'parakeet-transcription',
72
62
  modelConfig: { ...SORTFORMER_V21_AOSC_LOAD_CONFIG },
73
63
  onProgress: (p) => {
74
64
  const mb = (n) => (n / 1e6).toFixed(1);
75
65
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
76
66
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
77
67
  if (p.percentage >= 100)
78
- process.stderr.write("\n");
68
+ process.stderr.write('\n');
79
69
  },
80
70
  ...(sortformerOverride
81
71
  ? { modelSrc: sortformerOverride }
82
- : { modelSrc: PARAKEET_SORTFORMER_4SPK_V2_1_Q8_0 }),
72
+ : { modelSrc: PARAKEET_SORTFORMER_4SPK_V2_1_Q8_0 })
83
73
  };
84
74
  try {
85
- console.log("▸ Loading Sortformer v2.1 with streaming + AOSC (load-time config)...");
75
+ console.log('▸ Loading Sortformer v2.1 with streaming + AOSC (load-time config)...');
86
76
  modelId = await loadModel(loadOptions);
87
77
  console.log(`▸ Model loaded: ${modelId}`);
88
78
  const session = await transcribeStream({
89
79
  modelId,
90
- parakeetStreamingConfig: { chunkMs: STREAM_CHUNK_MS },
80
+ parakeetStreamingConfig: { chunkMs: STREAM_CHUNK_MS }
91
81
  });
92
82
  console.log(`▸ Streaming ${audioFilePath} in ${STREAM_CHUNK_MS}ms chunks (wall-clock paced)...`);
93
83
  const pcm = await readS16leFromWav(audioFilePath);
@@ -110,18 +100,18 @@ try {
110
100
  session.end();
111
101
  const lines = [];
112
102
  for await (const event of session) {
113
- if (event.type === "text" && event.text.trim()) {
103
+ if (event.type === 'text' && event.text.trim()) {
114
104
  lines.push(event.text.trim());
115
105
  console.log(event.text.trim());
116
106
  }
117
107
  }
118
- console.log("\n▸ Streaming diarization transcript");
119
- console.log(lines.join("\n") || "(no speaker lines emitted)");
108
+ console.log('\n▸ Streaming diarization transcript');
109
+ console.log(lines.join('\n') || '(no speaker lines emitted)');
120
110
  await cleanup();
121
111
  process.exit(0);
122
112
  }
123
113
  catch (error) {
124
- console.error("✖", error);
114
+ console.error('✖', error);
125
115
  await cleanup();
126
116
  process.exit(1);
127
117
  }
@@ -13,31 +13,31 @@
13
13
  * Download the default file into `examples/audio/`:
14
14
  * https://github.com/tetherto/qvac/blob/main/packages/sdk/examples/audio/diarization-sample-16k.wav
15
15
  */
16
- import { loadModel, unloadModel, transcribe, PARAKEET_TDT_0_6B_V3_Q8_0, PARAKEET_SORTFORMER_4SPK_V2_1_Q8_0, } from "@qvac/sdk";
17
- import { dirname, join } from "path";
18
- import { fileURLToPath } from "url";
19
- import { readFileSync, writeFileSync, mkdirSync } from "fs";
20
- import { tmpdir } from "os";
16
+ import { loadModel, unloadModel, transcribe, PARAKEET_TDT_0_6B_V3_Q8_0, PARAKEET_SORTFORMER_4SPK_V2_1_Q8_0 } from '@qvac/sdk';
17
+ import { dirname, join } from 'path';
18
+ import { fileURLToPath } from 'url';
19
+ import { readFileSync, writeFileSync, mkdirSync } from 'fs';
20
+ import { tmpdir } from 'os';
21
21
  const __dirname = dirname(fileURLToPath(import.meta.url));
22
22
  const args = process.argv.slice(2);
23
23
  const sortformerSrc = args[0] ?? PARAKEET_SORTFORMER_4SPK_V2_1_Q8_0;
24
- const defaultAudioPath = join(__dirname, "..", "audio", "diarization-sample-16k.wav");
24
+ const defaultAudioPath = join(__dirname, '..', 'audio', 'diarization-sample-16k.wav');
25
25
  const audioFilePath = args[1] ?? defaultAudioPath;
26
26
  try {
27
27
  // ── Step 1: Diarize with Sortformer ──
28
28
  const sfModelId = await loadModel({
29
29
  modelSrc: sortformerSrc,
30
- modelType: "parakeet-transcription",
30
+ modelType: 'parakeet-transcription'
31
31
  });
32
32
  const diarization = await transcribe({
33
33
  modelId: sfModelId,
34
- audioChunk: audioFilePath,
34
+ audioChunk: audioFilePath
35
35
  });
36
36
  await unloadModel({ modelId: sfModelId });
37
37
  const segments = parseDiarization(diarization);
38
38
  // ── Step 2: Transcribe each segment with TDT ──
39
39
  const tdtModelId = await loadModel({
40
- modelSrc: PARAKEET_TDT_0_6B_V3_Q8_0,
40
+ modelSrc: PARAKEET_TDT_0_6B_V3_Q8_0
41
41
  });
42
42
  const pcm = readPcm(audioFilePath);
43
43
  const sliceDir = join(tmpdir(), `qvac-diarize-${Date.now()}`);
@@ -47,33 +47,33 @@ try {
47
47
  const seg = segments[i];
48
48
  const slicePath = join(sliceDir, `seg-${i}.wav`);
49
49
  if (!writeWavSlice(pcm, seg.start, seg.end, slicePath)) {
50
- results.push({ ...seg, text: "[No speech detected]" });
50
+ results.push({ ...seg, text: '[No speech detected]' });
51
51
  continue;
52
52
  }
53
53
  const text = await transcribe({
54
54
  modelId: tdtModelId,
55
- audioChunk: slicePath,
55
+ audioChunk: slicePath
56
56
  });
57
- results.push({ ...seg, text: text.trim() || "[No speech detected]" });
57
+ results.push({ ...seg, text: text.trim() || '[No speech detected]' });
58
58
  }
59
59
  await unloadModel({ modelId: tdtModelId });
60
60
  // ── Step 3: Merge consecutive same-speaker segments and print ──
61
61
  const merged = mergeSpeakers(results);
62
- console.log("\n▸ Diarized transcription");
62
+ console.log('\n▸ Diarized transcription');
63
63
  for (const entry of merged) {
64
64
  console.log(`Speaker ${entry.speaker} (${entry.start.toFixed(2)}s - ${entry.end.toFixed(2)}s):`);
65
65
  console.log(` ${entry.text}\n`);
66
66
  }
67
- console.log("▸ Done");
67
+ console.log('▸ Done');
68
68
  }
69
69
  catch (error) {
70
- console.error("✖", error);
70
+ console.error('✖', error);
71
71
  process.exit(1);
72
72
  }
73
73
  // ── Helpers ──
74
74
  function parseDiarization(text) {
75
75
  const segs = [];
76
- for (const line of text.split("\n")) {
76
+ for (const line of text.split('\n')) {
77
77
  const m = line.match(/Speaker (\d+): ([\d.]+)s - ([\d.]+)s/);
78
78
  if (m)
79
79
  segs.push({ speaker: +m[1], start: +m[2], end: +m[3] });
@@ -82,7 +82,7 @@ function parseDiarization(text) {
82
82
  }
83
83
  function readPcm(wavPath) {
84
84
  const buf = readFileSync(wavPath);
85
- const dataOffset = buf.indexOf("data") + 4;
85
+ const dataOffset = buf.indexOf('data') + 4;
86
86
  return buf.subarray(dataOffset + 4, dataOffset + 4 + buf.readUInt32LE(dataOffset));
87
87
  }
88
88
  function writeWavSlice(pcm, startSec, endSec, outPath) {
@@ -94,9 +94,9 @@ function writeWavSlice(pcm, startSec, endSec, outPath) {
94
94
  return false;
95
95
  const slice = pcm.subarray(startByte, endByte);
96
96
  const hdr = Buffer.alloc(44);
97
- hdr.write("RIFF", 0);
97
+ hdr.write('RIFF', 0);
98
98
  hdr.writeUInt32LE(36 + slice.length, 4);
99
- hdr.write("WAVEfmt ", 8);
99
+ hdr.write('WAVEfmt ', 8);
100
100
  hdr.writeUInt32LE(16, 16);
101
101
  hdr.writeUInt16LE(1, 20);
102
102
  hdr.writeUInt16LE(1, 22);
@@ -104,7 +104,7 @@ function writeWavSlice(pcm, startSec, endSec, outPath) {
104
104
  hdr.writeUInt32LE(SR * BPS, 28);
105
105
  hdr.writeUInt16LE(BPS, 32);
106
106
  hdr.writeUInt16LE(16, 34);
107
- hdr.write("data", 36);
107
+ hdr.write('data', 36);
108
108
  hdr.writeUInt32LE(slice.length, 40);
109
109
  writeFileSync(outPath, Buffer.concat([hdr, slice]));
110
110
  return true;
@@ -114,7 +114,7 @@ function mergeSpeakers(entries) {
114
114
  for (const e of entries) {
115
115
  const last = out[out.length - 1];
116
116
  if (last && last.speaker === e.speaker) {
117
- last.text += " " + e.text;
117
+ last.text += ' ' + e.text;
118
118
  last.end = e.end;
119
119
  }
120
120
  else {
@@ -10,39 +10,39 @@
10
10
  *
11
11
  * Audio should be 16 kHz mono PCM in a WAV container.
12
12
  */
13
- import { loadModel, unloadModel, transcribe, PARAKEET_TDT_0_6B_V3_Q8_0, } from "@qvac/sdk";
13
+ import { loadModel, unloadModel, transcribe, PARAKEET_TDT_0_6B_V3_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-tdt-filesystem.ts <wav-file-path> " +
17
- "[parakeet-tdt-gguf]");
18
- console.error("\nIf the model path is omitted, defaults to the registry model.");
16
+ console.error('Usage: bun run examples/transcription/parakeet-tdt-filesystem.ts <wav-file-path> ' +
17
+ '[parakeet-tdt-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_TDT_0_6B_V3_Q8_0;
23
23
  try {
24
- console.log("▸ Starting Parakeet transcription example...");
25
- console.log("▸ Loading Parakeet model...");
24
+ console.log('▸ Starting Parakeet transcription example...');
25
+ console.log('▸ Loading Parakeet model...');
26
26
  const modelId = await loadModel({
27
27
  modelSrc: parakeetModelSrc,
28
- modelType: "parakeet-transcription",
28
+ modelType: 'parakeet-transcription',
29
29
  onProgress: (p) => {
30
30
  const mb = (n) => (n / 1e6).toFixed(1);
31
31
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
32
32
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
33
33
  if (p.percentage >= 100)
34
- process.stderr.write("\n");
35
- },
34
+ process.stderr.write('\n');
35
+ }
36
36
  });
37
37
  console.log(`▸ Parakeet model loaded with ID: ${modelId}`);
38
- console.log("▸ Transcribing audio...");
38
+ console.log('▸ Transcribing audio...');
39
39
  const text = await transcribe({ modelId, audioChunk: audioFilePath });
40
40
  console.log(text);
41
- console.log("▸ Unloading Parakeet model...");
41
+ console.log('▸ Unloading Parakeet model...');
42
42
  await unloadModel({ modelId });
43
- console.log("▸ Parakeet model unloaded successfully");
43
+ console.log('▸ Parakeet model unloaded successfully');
44
44
  }
45
45
  catch (error) {
46
- console.error("✖", error);
46
+ console.error('✖', error);
47
47
  process.exit(1);
48
48
  }
@@ -12,29 +12,29 @@
12
12
  * Set SAMPLE_FILE to a custom WAV, or download the default audio into examples/audio/:
13
13
  * https://github.com/tetherto/qvac/blob/main/packages/sdk/examples/audio/diarization-sample-16k.wav
14
14
  */
15
- import { loadModel, unloadModel, transcribeStream, WHISPER_TINY, VAD_SILERO_5_1_2, } from "@qvac/sdk";
16
- import { spawn } from "child_process";
17
- import path from "path";
18
- import { fileURLToPath } from "url";
15
+ import { loadModel, unloadModel, transcribeStream, WHISPER_TINY, VAD_SILERO_5_1_2 } from '@qvac/sdk';
16
+ import { spawn } from 'child_process';
17
+ import path from 'path';
18
+ import { fileURLToPath } from 'url';
19
19
  const __filename = fileURLToPath(import.meta.url);
20
20
  const __dirname = path.dirname(__filename);
21
- const SAMPLE_FILE = path.resolve(__dirname, "../audio/diarization-sample-16k.wav");
21
+ const SAMPLE_FILE = path.resolve(__dirname, '../audio/diarization-sample-16k.wav');
22
22
  const SAMPLE_RATE = 16000;
23
23
  const BYTES_PER_SAMPLE = 4; // f32le
24
24
  const CHUNK_SIZE = Math.floor(0.1 * SAMPLE_RATE) * BYTES_PER_SAMPLE; // 100ms chunks
25
25
  try {
26
- console.log("▸ transcribeStream file test");
26
+ console.log('▸ transcribeStream file test');
27
27
  console.log(`▸ File: ${SAMPLE_FILE}`);
28
28
  console.log(`▸ Chunk size: ${CHUNK_SIZE} bytes (100ms)`);
29
- console.log("▸ Loading model...");
29
+ console.log('▸ Loading model...');
30
30
  const modelId = await loadModel({
31
31
  modelSrc: WHISPER_TINY,
32
32
  modelConfig: {
33
33
  vadModelSrc: VAD_SILERO_5_1_2,
34
- audio_format: "f32le",
35
- strategy: "greedy",
34
+ audio_format: 'f32le',
35
+ strategy: 'greedy',
36
36
  n_threads: 4,
37
- language: "en",
37
+ language: 'en',
38
38
  no_timestamps: true,
39
39
  suppress_blank: true,
40
40
  suppress_nst: true,
@@ -44,39 +44,39 @@ try {
44
44
  min_speech_duration_ms: 250,
45
45
  min_silence_duration_ms: 500,
46
46
  max_speech_duration_s: 15.0,
47
- speech_pad_ms: 200,
48
- },
49
- },
47
+ speech_pad_ms: 200
48
+ }
49
+ }
50
50
  });
51
51
  console.log(`▸ Model loaded: ${modelId}`);
52
- console.log("▸ Opening live session...");
52
+ console.log('▸ Opening live session...');
53
53
  const session = await transcribeStream({ modelId, metadata: true });
54
- console.log("▸ Session open. Streaming audio...");
55
- const ffmpeg = spawn("ffmpeg", [
56
- "-i",
54
+ console.log('▸ Session open. Streaming audio...');
55
+ const ffmpeg = spawn('ffmpeg', [
56
+ '-i',
57
57
  SAMPLE_FILE,
58
- "-ar",
58
+ '-ar',
59
59
  String(SAMPLE_RATE),
60
- "-ac",
61
- "1",
62
- "-sample_fmt",
63
- "flt",
64
- "-f",
65
- "f32le",
66
- "pipe:1",
67
- ], { stdio: ["ignore", "pipe", "ignore"] });
60
+ '-ac',
61
+ '1',
62
+ '-sample_fmt',
63
+ 'flt',
64
+ '-f',
65
+ 'f32le',
66
+ 'pipe:1'
67
+ ], { stdio: ['ignore', 'pipe', 'ignore'] });
68
68
  let totalBytes = 0;
69
- ffmpeg.stdout.on("data", (raw) => {
69
+ ffmpeg.stdout.on('data', (raw) => {
70
70
  for (let offset = 0; offset < raw.length; offset += CHUNK_SIZE) {
71
71
  const chunk = raw.subarray(offset, offset + CHUNK_SIZE);
72
72
  session.write(chunk);
73
73
  totalBytes += chunk.length;
74
74
  }
75
75
  });
76
- ffmpeg.on("close", () => {
76
+ ffmpeg.on('close', () => {
77
77
  const durationSec = totalBytes / (SAMPLE_RATE * BYTES_PER_SAMPLE);
78
78
  console.log(`▸ Audio streamed: ${totalBytes} bytes (~${durationSec.toFixed(1)}s)`);
79
- console.log("▸ Waiting for transcription...");
79
+ console.log('▸ Waiting for transcription...');
80
80
  session.end();
81
81
  });
82
82
  const segments = [];
@@ -88,17 +88,17 @@ try {
88
88
  }
89
89
  console.log(`\n▸ Segments: ${segments.length}`);
90
90
  if (segments.length > 0) {
91
- console.log(segments.map((s) => s.text.trim()).join(" "));
91
+ console.log(segments.map((s) => s.text.trim()).join(' '));
92
92
  }
93
93
  else {
94
- console.log("▸ No transcription segments received!");
94
+ console.log('▸ No transcription segments received!');
95
95
  }
96
- console.log("▸ Unloading model...");
96
+ console.log('▸ Unloading model...');
97
97
  await unloadModel({ modelId });
98
- console.log("▸ Done.");
98
+ console.log('▸ Done.');
99
99
  process.exit(0);
100
100
  }
101
101
  catch (error) {
102
- console.error("✖", error);
102
+ console.error('✖', error);
103
103
  process.exit(1);
104
104
  }
@@ -1,24 +1,24 @@
1
- import { loadModel, unloadModel, transcribe, WHISPER_TINY } from "@qvac/sdk";
1
+ import { loadModel, unloadModel, transcribe, WHISPER_TINY } from '@qvac/sdk';
2
2
  // Parse command line arguments
3
3
  const args = process.argv.slice(2);
4
4
  if (!args[0]) {
5
- console.error("Usage: bun run examples/whispercpp-filesystem.ts <wav-file-path>");
5
+ console.error('Usage: bun run examples/whispercpp-filesystem.ts <wav-file-path>');
6
6
  process.exit(1);
7
7
  }
8
8
  const audioFilePath = args[0];
9
9
  try {
10
- console.log("▸ Starting Whisper transcription example...");
10
+ console.log('▸ Starting Whisper transcription example...');
11
11
  // Load the Whisper model
12
- console.log("▸ Loading Whisper model...");
12
+ console.log('▸ Loading Whisper model...');
13
13
  const modelId = await loadModel({
14
14
  modelSrc: WHISPER_TINY,
15
15
  modelConfig: {
16
- audio_format: "f32le",
16
+ audio_format: 'f32le',
17
17
  // Sampling strategy
18
- strategy: "greedy",
18
+ strategy: 'greedy',
19
19
  n_threads: 4,
20
20
  // Transcription options
21
- language: "en",
21
+ language: 'en',
22
22
  translate: false,
23
23
  no_timestamps: false,
24
24
  single_segment: false,
@@ -38,32 +38,32 @@ try {
38
38
  min_silence_duration_ms: 150,
39
39
  max_speech_duration_s: 30.0,
40
40
  speech_pad_ms: 600,
41
- samples_overlap: 0.3,
41
+ samples_overlap: 0.3
42
42
  },
43
43
  // Context parameters for GPU
44
44
  contextParams: {
45
45
  use_gpu: true,
46
46
  flash_attn: true,
47
- gpu_device: 0,
48
- },
47
+ gpu_device: 0
48
+ }
49
49
  },
50
50
  onProgress: (p) => {
51
51
  const mb = (n) => (n / 1e6).toFixed(1);
52
52
  const line = `▸ Downloading ${p.percentage.toFixed(0)}% (${mb(p.downloaded)}/${mb(p.total)} MB)`;
53
53
  process.stderr.write(process.stderr.isTTY ? `\r${line}` : `${line}\n`);
54
54
  if (p.percentage >= 100)
55
- process.stderr.write("\n");
56
- },
55
+ process.stderr.write('\n');
56
+ }
57
57
  });
58
58
  console.log(`▸ Whisper model loaded with ID: ${modelId}`);
59
59
  // Perform transcription with per-segment metadata
60
- console.log("▸ Transcribing audio...");
60
+ console.log('▸ Transcribing audio...');
61
61
  const segments = await transcribe({
62
62
  modelId,
63
63
  audioChunk: audioFilePath,
64
- metadata: true,
64
+ metadata: true
65
65
  });
66
- console.log("▸ Transcription result:");
66
+ console.log('▸ Transcription result:');
67
67
  for (const segment of segments) {
68
68
  const start = (segment.startMs / 1000).toFixed(2);
69
69
  const end = (segment.endMs / 1000).toFixed(2);
@@ -71,14 +71,14 @@ try {
71
71
  }
72
72
  console.log(`\nFull transcript: ${segments
73
73
  .map((s) => s.text)
74
- .join("")
74
+ .join('')
75
75
  .trim()}`);
76
76
  // Unload the model when done
77
- console.log("▸ Unloading Whisper model...");
77
+ console.log('▸ Unloading Whisper model...');
78
78
  await unloadModel({ modelId });
79
- console.log("▸ Whisper model unloaded successfully");
79
+ console.log('▸ Whisper model unloaded successfully');
80
80
  }
81
81
  catch (error) {
82
- console.error("✖", error);
82
+ console.error('✖', error);
83
83
  process.exit(1);
84
84
  }
@@ -16,44 +16,44 @@
16
16
  *
17
17
  * Requirements: FFmpeg installed, microphone access.
18
18
  */
19
- import { loadModel, unloadModel, transcribeStream, WHISPER_TINY, VAD_SILERO_5_1_2, } from "@qvac/sdk";
20
- import { spawnSync } from "child_process";
21
- import { startMicrophone } from "../audio/mic-input";
19
+ import { loadModel, unloadModel, transcribeStream, WHISPER_TINY, VAD_SILERO_5_1_2 } from '@qvac/sdk';
20
+ import { spawnSync } from 'child_process';
21
+ import { startMicrophone } from '../audio/mic-input';
22
22
  const SAMPLE_RATE = 16000;
23
23
  try {
24
- const r = spawnSync("ffmpeg", ["-version"], { stdio: "ignore" });
24
+ const r = spawnSync('ffmpeg', ['-version'], { stdio: 'ignore' });
25
25
  if (r.error || r.status !== 0)
26
- throw new Error("FFmpeg not found");
26
+ throw new Error('FFmpeg not found');
27
27
  }
28
28
  catch {
29
- console.error("✖ FFmpeg is required. Install it and try again.");
29
+ console.error('✖ FFmpeg is required. Install it and try again.');
30
30
  process.exit(1);
31
31
  }
32
32
  let modelId = null;
33
33
  let ffmpeg = null;
34
34
  async function cleanup() {
35
- console.log("\n\n▸ Stopping...");
35
+ console.log('\n\n▸ Stopping...');
36
36
  ffmpeg?.kill();
37
37
  if (modelId)
38
38
  await unloadModel({ modelId });
39
- console.log("▸ Done.");
39
+ console.log('▸ Done.');
40
40
  }
41
- process.on("SIGINT", () => {
41
+ process.on('SIGINT', () => {
42
42
  void cleanup().finally(() => process.exit(0));
43
43
  });
44
- process.on("SIGTERM", () => {
44
+ process.on('SIGTERM', () => {
45
45
  void cleanup().finally(() => process.exit(0));
46
46
  });
47
47
  try {
48
- console.log("▸ Loading model (whisper-tiny + Silero VAD)...");
48
+ console.log('▸ Loading model (whisper-tiny + Silero VAD)...');
49
49
  modelId = await loadModel({
50
50
  modelSrc: WHISPER_TINY,
51
51
  modelConfig: {
52
52
  vadModelSrc: VAD_SILERO_5_1_2,
53
- audio_format: "f32le",
54
- strategy: "greedy",
53
+ audio_format: 'f32le',
54
+ strategy: 'greedy',
55
55
  n_threads: 4,
56
- language: "en",
56
+ language: 'en',
57
57
  no_timestamps: true,
58
58
  suppress_blank: true,
59
59
  suppress_nst: true,
@@ -63,33 +63,33 @@ try {
63
63
  min_speech_duration_ms: 250,
64
64
  min_silence_duration_ms: 300,
65
65
  max_speech_duration_s: 15.0,
66
- speech_pad_ms: 100,
67
- },
68
- },
66
+ speech_pad_ms: 100
67
+ }
68
+ }
69
69
  });
70
- console.log("▸ Model loaded.\n");
71
- ffmpeg = startMicrophone({ sampleRate: SAMPLE_RATE, format: "f32le" });
70
+ console.log('▸ Model loaded.\n');
71
+ ffmpeg = startMicrophone({ sampleRate: SAMPLE_RATE, format: 'f32le' });
72
72
  const session = await transcribeStream({
73
73
  modelId,
74
74
  emitVadEvents: true,
75
- endOfTurnSilenceMs: 800,
75
+ endOfTurnSilenceMs: 800
76
76
  });
77
- ffmpeg.stdout.on("data", (chunk) => session.write(chunk));
78
- console.log("▸ Listening... speak and pause to see transcripts, VAD events, and end-of-turn signals.\n");
77
+ ffmpeg.stdout.on('data', (chunk) => session.write(chunk));
78
+ console.log('▸ Listening... speak and pause to see transcripts, VAD events, and end-of-turn signals.\n');
79
79
  let lastSpeaking = false;
80
80
  for await (const event of session) {
81
81
  switch (event.type) {
82
- case "text":
82
+ case 'text':
83
83
  console.log(`> ${event.text.trim()}`);
84
84
  break;
85
- case "vad":
85
+ case 'vad':
86
86
  if (event.speaking !== lastSpeaking) {
87
87
  console.log(`▸ [vad] speaking=${event.speaking} probability=${event.probability.toFixed(2)}`);
88
88
  lastSpeaking = event.speaking;
89
89
  }
90
90
  break;
91
- case "endOfTurn":
92
- if (event.source === "whisper") {
91
+ case 'endOfTurn':
92
+ if (event.source === 'whisper') {
93
93
  console.log(`▸ [endOfTurn] silence ${event.silenceDurationMs}ms — turn complete\n`);
94
94
  }
95
95
  else {
@@ -100,7 +100,7 @@ try {
100
100
  }
101
101
  }
102
102
  catch (error) {
103
- console.error("✖", error);
103
+ console.error('✖', error);
104
104
  await cleanup();
105
105
  process.exit(1);
106
106
  }