@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
@@ -1,17 +1,17 @@
1
- import { normalizeModelType, PROFILING_KEY } from "../../schemas/index.js";
2
- import os from "bare-os";
3
- import { registry } from "../../server/rpc/handler-registry.js";
4
- import { handlerSupportsProgress, selectHandler, } from "../../server/rpc/handler-selection.js";
5
- import { createErrorResponse } from "../../schemas/index.js";
6
- import { RPCNoHandlerError, RPCRequestNotSentError, } from "../../utils/errors-client.js";
7
- import { initializeConfig } from "../init-hooks.js";
8
- import { setSDKConfig } from "../../server/bare/registry/config-registry.js";
9
- import { setRuntimeContext } from "../../server/bare/registry/runtime-context-registry.js";
10
- import { resolveModelConfig } from "../../server/bare/registry/model-config-registry.js";
11
- import { resolveConfig } from "../config-loader/resolve-config.bare.js";
12
- import { initializeWorkerCore, cleanupForTerminate, } from "../../server/worker-core.js";
13
- import { assertLifecycleAllowed } from "../../server/bare/runtime-lifecycle.js";
14
- import { ensurePluginsRegistered } from "./ensure-worker-ready.js";
1
+ import { normalizeModelType, PROFILING_KEY } from '../../schemas/index.js';
2
+ import os from 'bare-os';
3
+ import { registry } from '../../server/rpc/handler-registry.js';
4
+ import { handlerSupportsProgress, selectHandler } from '../../server/rpc/handler-selection.js';
5
+ import { createErrorResponse } from '../../schemas/index.js';
6
+ import { RPCNoHandlerError, RPCRequestNotSentError } from '../../utils/errors-client.js';
7
+ import { initializeConfig } from '../init-hooks.js';
8
+ import { setSDKConfig } from '../../server/bare/registry/config-registry.js';
9
+ import { setRuntimeContext } from '../../server/bare/registry/runtime-context-registry.js';
10
+ import { resolveModelConfig } from '../../server/bare/registry/model-config-registry.js';
11
+ import { resolveConfig } from '../config-loader/resolve-config.bare.js';
12
+ import { initializeWorkerCore, cleanupForTerminate } from '../../server/worker-core.js';
13
+ import { assertLifecycleAllowed } from '../../server/bare/runtime-lifecycle.js';
14
+ import { ensurePluginsRegistered } from './ensure-worker-ready.js';
15
15
  async function ensureWorkerReady() {
16
16
  initializeWorkerCore();
17
17
  await ensurePluginsRegistered();
@@ -24,7 +24,7 @@ function getHandlerEntry(type) {
24
24
  return entry;
25
25
  }
26
26
  function applyDeviceDefaultsToLoadModel(request) {
27
- if (request.type !== "loadModel" || !("modelSrc" in request)) {
27
+ if (request.type !== 'loadModel' || !('modelSrc' in request)) {
28
28
  return request;
29
29
  }
30
30
  let canonicalType;
@@ -66,9 +66,7 @@ function executeDirectHandler(request, handler, isDelegated) {
66
66
  return directHandler(request);
67
67
  }
68
68
  function isAsyncGenerator(result) {
69
- return (typeof result === "object" &&
70
- result !== null &&
71
- Symbol.asyncIterator in result);
69
+ return typeof result === 'object' && result !== null && Symbol.asyncIterator in result;
72
70
  }
73
71
  async function* streamWithProgress(request, handler, isDelegated) {
74
72
  const queue = [];
@@ -78,9 +76,7 @@ async function* streamWithProgress(request, handler, isDelegated) {
78
76
  queue.push(update);
79
77
  }
80
78
  const directHandler = handler;
81
- Promise.resolve(directHandler(request, isDelegated
82
- ? createDelegatedOptions(request, progressCallback)
83
- : progressCallback))
79
+ Promise.resolve(directHandler(request, isDelegated ? createDelegatedOptions(request, progressCallback) : progressCallback))
84
80
  .then((final) => {
85
81
  queue.push(final);
86
82
  done = true;
@@ -142,9 +138,9 @@ function createMockRPCRequest() {
142
138
  throw new RPCRequestNotSentError();
143
139
  }
144
140
  // Handle special internal config initialization message
145
- if (typeof requestData === "object" &&
146
- "type" in requestData &&
147
- requestData.type === "__init_config") {
141
+ if (typeof requestData === 'object' &&
142
+ 'type' in requestData &&
143
+ requestData.type === '__init_config') {
148
144
  try {
149
145
  const initData = requestData;
150
146
  if (initData.config) {
@@ -158,16 +154,16 @@ function createMockRPCRequest() {
158
154
  catch (error) {
159
155
  return Buffer.from(JSON.stringify({
160
156
  success: false,
161
- error: error instanceof Error ? error.message : String(error),
157
+ error: error instanceof Error ? error.message : String(error)
162
158
  }));
163
159
  }
164
160
  }
165
161
  // Handle special pre-terminate cleanup signal. In direct mode the
166
162
  // bare runtime is the host JS context, so we run cleanup but never
167
163
  // exit the process here.
168
- if (typeof requestData === "object" &&
169
- "type" in requestData &&
170
- requestData.type === "__shutdown__") {
164
+ if (typeof requestData === 'object' &&
165
+ 'type' in requestData &&
166
+ requestData.type === '__shutdown__') {
171
167
  try {
172
168
  await cleanupForTerminate();
173
169
  return Buffer.from(JSON.stringify({ success: true }));
@@ -175,7 +171,7 @@ function createMockRPCRequest() {
175
171
  catch (error) {
176
172
  return Buffer.from(JSON.stringify({
177
173
  success: false,
178
- error: error instanceof Error ? error.message : String(error),
174
+ error: error instanceof Error ? error.message : String(error)
179
175
  }));
180
176
  }
181
177
  }
@@ -187,9 +183,9 @@ function createMockRPCRequest() {
187
183
  throw new RPCRequestNotSentError();
188
184
  }
189
185
  for await (const response of stream(requestData)) {
190
- yield Buffer.from(JSON.stringify(response) + "\n");
186
+ yield Buffer.from(JSON.stringify(response) + '\n');
191
187
  }
192
- },
188
+ }
193
189
  };
194
190
  }
195
191
  let configInitialized = false;
@@ -197,18 +193,20 @@ let configInitialized = false;
197
193
  export function getWorkerLifeSignal() {
198
194
  return null;
199
195
  }
196
+ // No life signal on Bare-direct, so the RPC layer never calls this โ€” `#rpc` interface stub.
197
+ export function notifyChannelClosed() { }
200
198
  export async function getRPC() {
201
199
  await ensureWorkerReady();
202
200
  const mockRPC = {
203
201
  request() {
204
202
  return createMockRPCRequest();
205
- },
203
+ }
206
204
  };
207
205
  // Initialize config once on first call
208
206
  if (!configInitialized) {
209
207
  const runtimeContext = {
210
- runtime: "bare",
211
- platform: os.platform(),
208
+ runtime: 'bare',
209
+ platform: os.platform()
212
210
  };
213
211
  await initializeConfig(mockRPC, resolveConfig, runtimeContext);
214
212
  configInitialized = true;
@@ -221,11 +219,11 @@ export async function close() {
221
219
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
222
220
  export async function createDuplexSession(payload, _commandId) {
223
221
  await getRPC();
224
- const { PassThrough } = await import("bare-stream");
222
+ const { PassThrough } = await import('bare-stream');
225
223
  const request = JSON.parse(payload);
226
224
  assertLifecycleAllowed(request);
227
225
  const entry = registry[request.type];
228
- if (!entry || entry.type !== "duplex") {
226
+ if (!entry || entry.type !== 'duplex') {
229
227
  throw new RPCNoHandlerError(request.type);
230
228
  }
231
229
  const inputStream = new PassThrough();
@@ -234,13 +232,13 @@ export async function createDuplexSession(payload, _commandId) {
234
232
  void (async () => {
235
233
  try {
236
234
  for await (const response of duplexHandler(request, inputStream)) {
237
- outputStream.write(JSON.stringify(response) + "\n", "utf-8");
235
+ outputStream.write(JSON.stringify(response) + '\n', 'utf-8');
238
236
  }
239
237
  }
240
238
  catch (error) {
241
239
  inputStream.destroy();
242
240
  const errorResponse = createErrorResponse(error);
243
- outputStream.write(JSON.stringify(errorResponse) + "\n", "utf-8");
241
+ outputStream.write(JSON.stringify(errorResponse) + '\n', 'utf-8');
244
242
  }
245
243
  finally {
246
244
  outputStream.end();
@@ -248,6 +246,6 @@ export async function createDuplexSession(payload, _commandId) {
248
246
  })();
249
247
  return {
250
248
  requestStream: inputStream,
251
- responseStream: outputStream,
249
+ responseStream: outputStream
252
250
  };
253
251
  }
@@ -1,6 +1,6 @@
1
- import { getAllPlugins } from "../../server/plugins/index.js";
2
- import { PearWorkerEntryRequiredError, WorkerPluginsNotRegisteredError, } from "../../utils/errors-client.js";
3
- const PEAR_WORKER_ENTRY_PATH = "qvac/worker.pear.entry.mjs";
1
+ import { getAllPlugins } from '../../server/plugins/index.js';
2
+ import { PearWorkerEntryRequiredError, WorkerPluginsNotRegisteredError } from '../../utils/errors-client.js';
3
+ const PEAR_WORKER_ENTRY_PATH = 'qvac/worker.pear.entry.mjs';
4
4
  /**
5
5
  * Throw if no plugins are registered before an SDK call. On Pear,
6
6
  * point at the generated worker entry; otherwise raise a generic
@@ -9,7 +9,7 @@ const PEAR_WORKER_ENTRY_PATH = "qvac/worker.pear.entry.mjs";
9
9
  export async function ensurePluginsRegistered(opts) {
10
10
  if (getAllPlugins().length > 0)
11
11
  return;
12
- const isPear = opts?.isPear ?? (await import("which-runtime")).isPear;
12
+ const isPear = opts?.isPear ?? (await import('which-runtime')).isPear;
13
13
  if (isPear) {
14
14
  throw new PearWorkerEntryRequiredError(PEAR_WORKER_ENTRY_PATH);
15
15
  }
@@ -1,5 +1,5 @@
1
1
  export declare function getDeviceInfo(): Promise<{
2
- platform: "android" | "ios" | undefined;
2
+ platform: 'android' | 'ios' | undefined;
3
3
  deviceModel: string | undefined;
4
4
  deviceBrand: string | undefined;
5
5
  }>;
@@ -1,32 +1,32 @@
1
- import { getClientLogger } from "../../logging/index.js";
1
+ import { getClientLogger } from '../../logging/index.js';
2
2
  const logger = getClientLogger();
3
3
  export async function getDeviceInfo() {
4
4
  try {
5
- const expoModulesCore = await import("expo-modules-core");
5
+ const expoModulesCore = await import('expo-modules-core');
6
6
  // this looks odd, but is necessary to ensure that import can be used safely.
7
7
  // It will crash the app if the module is not installed, but the node dependency is present.
8
- const nativeDeviceModule = expoModulesCore.requireOptionalNativeModule("ExpoDevice");
8
+ const nativeDeviceModule = expoModulesCore.requireOptionalNativeModule('ExpoDevice');
9
9
  if (nativeDeviceModule) {
10
- const Device = await import("expo-device");
10
+ const Device = await import('expo-device');
11
11
  logger.info(`Device: ${Device.modelName} ${Device.brand} ${Device.osName}`);
12
12
  const osName = Device?.osName?.toLowerCase();
13
13
  return {
14
- platform: osName?.includes("ios")
15
- ? "ios"
16
- : osName?.includes("android")
17
- ? "android"
14
+ platform: osName?.includes('ios')
15
+ ? 'ios'
16
+ : osName?.includes('android')
17
+ ? 'android'
18
18
  : undefined,
19
19
  deviceModel: Device.modelName ?? undefined,
20
- deviceBrand: Device.brand ?? undefined,
20
+ deviceBrand: Device.brand ?? undefined
21
21
  };
22
22
  }
23
23
  }
24
24
  catch {
25
- logger.debug("expo-device not available, device info will be omitted");
25
+ logger.debug('expo-device not available, device info will be omitted');
26
26
  }
27
27
  return {
28
28
  platform: undefined,
29
29
  deviceModel: undefined,
30
- deviceBrand: undefined,
30
+ deviceBrand: undefined
31
31
  };
32
32
  }
@@ -1,5 +1,6 @@
1
- import RPC from "bare-rpc";
1
+ import RPC from 'bare-rpc';
2
2
  export declare function getWorkerLifeSignal(): AbortSignal | null;
3
+ export declare function notifyChannelClosed(): void;
3
4
  export declare function getRPC(): Promise<RPC>;
4
5
  export declare function close(): Promise<void>;
5
6
  export declare function createDuplexSession(payload: string, commandId: number): Promise<{
@@ -1,9 +1,9 @@
1
- import RPC from "bare-rpc";
2
- import { RPCConnectionFailedError } from "../../utils/errors-client.js";
3
- import { initializeConfig } from "../init-hooks.js";
4
- import { resolveConfig } from "../config-loader/resolve-config.expo.js";
5
- import { getClientLogger } from "../../logging/index.js";
6
- import { getDeviceInfo } from "./expo-device-info.js";
1
+ import RPC from 'bare-rpc';
2
+ import { RPCConnectionFailedError } from '../../utils/errors-client.js';
3
+ import { initializeConfig } from '../init-hooks.js';
4
+ import { resolveConfig } from '../config-loader/resolve-config.expo.js';
5
+ import { getClientLogger } from '../../logging/index.js';
6
+ import { getDeviceInfo } from './expo-device-info.js';
7
7
  const logger = getClientLogger();
8
8
  let rpcInstance = null;
9
9
  let rpcPromise = null;
@@ -14,17 +14,17 @@ let cachedRuntimeContext;
14
14
  // promise instead of double-sending __shutdown__ or re-entering the
15
15
  // terminate block on already-null state.
16
16
  let closingPromise = null;
17
- logger.debug("EXPO RPC Client bundle");
17
+ logger.debug('EXPO RPC Client bundle');
18
18
  async function getRuntimeContext() {
19
19
  if (cachedRuntimeContext) {
20
20
  return cachedRuntimeContext;
21
21
  }
22
22
  const { platform, deviceModel, deviceBrand } = await getDeviceInfo();
23
23
  cachedRuntimeContext = {
24
- runtime: "react-native",
24
+ runtime: 'react-native',
25
25
  platform,
26
26
  deviceModel,
27
- deviceBrand,
27
+ deviceBrand
28
28
  };
29
29
  return cachedRuntimeContext;
30
30
  }
@@ -32,6 +32,8 @@ async function getRuntimeContext() {
32
32
  export function getWorkerLifeSignal() {
33
33
  return null;
34
34
  }
35
+ // No life signal on Expo, so the RPC layer never calls this โ€” `#rpc` interface stub.
36
+ export function notifyChannelClosed() { }
35
37
  export async function getRPC() {
36
38
  if (rpcInstance) {
37
39
  return rpcInstance;
@@ -41,7 +43,7 @@ export async function getRPC() {
41
43
  }
42
44
  rpcPromise = (async () => {
43
45
  if (workletInstance) {
44
- logger.debug("๐Ÿ”„ Reusing existing worklet");
46
+ logger.debug('๐Ÿ”„ Reusing existing worklet');
45
47
  rpcInstance = new RPC(workletInstance.IPC, () => { });
46
48
  // Only initialize once per worklet - server state persists
47
49
  if (!workletInitialized) {
@@ -51,11 +53,11 @@ export async function getRPC() {
51
53
  }
52
54
  return rpcInstance;
53
55
  }
54
- const { Paths } = await import("expo-file-system");
55
- const bareKitModule = await import("react-native-bare-kit");
56
+ const { Paths } = await import('expo-file-system');
57
+ const bareKitModule = await import('react-native-bare-kit');
56
58
  const worklet = new bareKitModule.Worklet();
57
59
  workletInstance = worklet;
58
- logger.debug("Starting new worklet");
60
+ logger.debug('Starting new worklet');
59
61
  // Load the mobile bundle - generated by expo plugin during prebuild
60
62
  // The expo plugin handles bundle selection:
61
63
  // 1. Uses qvac/worker.bundle.js if exists (user pre-generated)
@@ -64,24 +66,24 @@ export async function getRPC() {
64
66
  let mobileBundle;
65
67
  try {
66
68
  // eslint-disable-next-line @typescript-eslint/no-require-imports
67
- mobileBundle = require("@qvac/sdk/worker.mobile.bundle");
69
+ mobileBundle = require('@qvac/sdk/worker.mobile.bundle');
68
70
  }
69
71
  catch (error) {
70
- const message = "Failed to load mobile worker bundle. Make sure the QVAC Expo plugin is configured. " +
72
+ const message = 'Failed to load mobile worker bundle. Make sure the QVAC Expo plugin is configured. ' +
71
73
  `Add '@qvac/sdk/expo-plugin' to your app.json plugins array. ` +
72
74
  `Error: ${String(error)}`;
73
75
  logger.error(message);
74
76
  throw new RPCConnectionFailedError(message, error instanceof Error ? error : undefined);
75
77
  }
76
- worklet.start("worker.bundle", mobileBundle, [
78
+ worklet.start('worker.bundle', mobileBundle, [
77
79
  // Normalize arg number across platforms
78
- "react-native-bare-kit",
79
- "worker.js",
80
+ 'react-native-bare-kit',
81
+ 'worker.js',
80
82
  JSON.stringify({
81
- HOME_DIR: Paths.document.uri.replace("file://", ""),
82
- }),
83
+ HOME_DIR: Paths.document.uri.replace('file://', '')
84
+ })
83
85
  ]);
84
- logger.info("Worklet started");
86
+ logger.info('Worklet started');
85
87
  rpcInstance = new RPC(worklet.IPC, () => {
86
88
  // Use this for async callbacks
87
89
  });
@@ -120,16 +122,16 @@ async function sendShutdownMessage(rpc) {
120
122
  await Promise.race([
121
123
  (async () => {
122
124
  const req = rpc.request(1);
123
- req.send(JSON.stringify({ type: "__shutdown__" }), "utf8");
124
- const response = await req.reply("utf8");
125
+ req.send(JSON.stringify({ type: '__shutdown__' }), 'utf8');
126
+ const response = await req.reply('utf8');
125
127
  const parsed = JSON.parse(String(response));
126
128
  if (!parsed.success) {
127
- throw new Error(parsed.error ?? "Worker reported cleanup failure");
129
+ throw new Error(parsed.error ?? 'Worker reported cleanup failure');
128
130
  }
129
131
  })(),
130
132
  new Promise((_, reject) => {
131
133
  timer = setTimeout(() => reject(new Error(`Worker did not ack __shutdown__ within ${SHUTDOWN_RPC_TIMEOUT_MS}ms`)), SHUTDOWN_RPC_TIMEOUT_MS);
132
- }),
134
+ })
133
135
  ]);
134
136
  }
135
137
  catch (error) {
@@ -148,37 +150,26 @@ export async function close() {
148
150
  if (closingPromise)
149
151
  return closingPromise;
150
152
  closingPromise = (async () => {
151
- logger.info("๐Ÿงน Closing RPC client (Expo)");
152
- // terminate() crashes on Android (addon dlclose leaves pthread_key_t
153
- // destructors dangling); iOS dyld no-ops dlclose so it's safe there.
154
- // Non-iOS: drop refs only -- sending __shutdown__ without a follow-up
155
- // terminate would clear the worker plugin registry.
156
- let platform;
157
- try {
158
- platform = (await getRuntimeContext()).platform;
159
- }
160
- catch (err) {
161
- logger.debug("Failed to resolve runtime context for close()", { err });
162
- }
163
- if (platform !== "ios") {
164
- rpcInstance = null;
165
- rpcPromise = null;
166
- return;
167
- }
168
- // iOS: existing pre-terminate cleanup + terminate.
153
+ logger.info('๐Ÿงน Closing RPC client (Expo)');
154
+ // The inference addons self-pin (RTLD_NODELETE, qvac-lib-inference-addon-cpp
155
+ // >= 1.2.2), so dlclose() during terminate() no longer unmaps addon code
156
+ // with dangling pthread_key_t destructors. terminate() is therefore safe on
157
+ // every platform (previously it was skipped on non-iOS to avoid a SIGSEGV in
158
+ // pthread_key_clean_all), so we always run the full pre-terminate cleanup +
159
+ // terminate path.
169
160
  if (rpcInstance) {
170
- logger.info("๐Ÿงน Requesting worker pre-terminate cleanup");
161
+ logger.info('๐Ÿงน Requesting worker pre-terminate cleanup');
171
162
  await sendShutdownMessage(rpcInstance);
172
163
  }
173
164
  rpcInstance = null;
174
165
  rpcPromise = null;
175
166
  if (workletInstance) {
176
- logger.info("๐Ÿป๐Ÿ”ซ Terminating bare worklet");
167
+ logger.info('๐Ÿป๐Ÿ”ซ Terminating bare worklet');
177
168
  try {
178
169
  workletInstance.terminate();
179
170
  }
180
171
  catch (error) {
181
- logger.debug("Failed to terminate worklet", { error });
172
+ logger.debug('Failed to terminate worklet', { error });
182
173
  }
183
174
  workletInstance = null;
184
175
  workletInitialized = false;
@@ -198,7 +189,7 @@ export async function createDuplexSession(payload, commandId) {
198
189
  const rpc = await getRPC();
199
190
  const req = rpc.request(commandId);
200
191
  const requestStream = req.createRequestStream();
201
- const responseStream = req.createResponseStream({ encoding: "utf-8" });
192
+ const responseStream = req.createResponseStream({ encoding: 'utf-8' });
202
193
  // Pre-encode payload โ€” RN/Hermes lacks a global `Buffer`, so `write(string, "utf-8")` would throw.
203
194
  requestStream.write(new TextEncoder().encode(payload));
204
195
  return { requestStream, responseStream };
@@ -1,5 +1,6 @@
1
- import RPC from "bare-rpc";
1
+ import RPC from 'bare-rpc';
2
2
  export declare function getWorkerLifeSignal(): AbortSignal | null;
3
+ export declare function notifyChannelClosed(): void;
3
4
  export declare function getRPC(): Promise<RPC>;
4
5
  export declare function createDuplexSession(payload: string, commandId: number): Promise<{
5
6
  requestStream: RPC.OutgoingStream;