@qvac/sdk 0.14.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (829) hide show
  1. package/NOTICE +47 -45
  2. package/README.md +34 -35
  3. package/dist/client/api/batch-completion.d.ts +15 -0
  4. package/dist/client/api/batch-completion.js +332 -0
  5. package/dist/client/api/bci-transcribe.d.ts +1 -1
  6. package/dist/client/api/bci-transcribe.js +31 -31
  7. package/dist/client/api/cancel.d.ts +1 -1
  8. package/dist/client/api/cancel.js +18 -18
  9. package/dist/client/api/classify.d.ts +1 -1
  10. package/dist/client/api/classify.js +9 -6
  11. package/dist/client/api/client-request-id.js +1 -1
  12. package/dist/client/api/completion-stream.d.ts +3 -3
  13. package/dist/client/api/completion-stream.js +18 -18
  14. package/dist/client/api/delete-cache.js +9 -9
  15. package/dist/client/api/diffusion.d.ts +1 -1
  16. package/dist/client/api/diffusion.js +17 -11
  17. package/dist/client/api/download-asset.d.ts +1 -1
  18. package/dist/client/api/download-asset.js +11 -11
  19. package/dist/client/api/embed.d.ts +1 -1
  20. package/dist/client/api/embed.js +10 -10
  21. package/dist/client/api/finetune.d.ts +1 -1
  22. package/dist/client/api/finetune.js +25 -27
  23. package/dist/client/api/get-loaded-model-info.d.ts +2 -2
  24. package/dist/client/api/get-loaded-model-info.js +8 -8
  25. package/dist/client/api/get-model-info.d.ts +1 -1
  26. package/dist/client/api/get-model-info.js +7 -7
  27. package/dist/client/api/heartbeat.d.ts +2 -2
  28. package/dist/client/api/heartbeat.js +7 -7
  29. package/dist/client/api/index.d.ts +33 -32
  30. package/dist/client/api/index.js +33 -32
  31. package/dist/client/api/invoke-plugin.d.ts +1 -1
  32. package/dist/client/api/invoke-plugin.js +10 -10
  33. package/dist/client/api/load-model.d.ts +1 -1
  34. package/dist/client/api/load-model.js +32 -32
  35. package/dist/client/api/logging-stream.d.ts +1 -1
  36. package/dist/client/api/logging-stream.js +6 -6
  37. package/dist/client/api/ocr.d.ts +10 -1
  38. package/dist/client/api/ocr.js +20 -11
  39. package/dist/client/api/provide.d.ts +1 -1
  40. package/dist/client/api/provide.js +7 -7
  41. package/dist/client/api/rag.d.ts +1 -1
  42. package/dist/client/api/rag.js +65 -66
  43. package/dist/client/api/registry.d.ts +1 -1
  44. package/dist/client/api/registry.js +8 -8
  45. package/dist/client/api/resume.js +5 -5
  46. package/dist/client/api/state.d.ts +1 -1
  47. package/dist/client/api/state.js +5 -5
  48. package/dist/client/api/stop-provider.js +6 -6
  49. package/dist/client/api/subscribe-logs.d.ts +1 -1
  50. package/dist/client/api/subscribe-logs.js +3 -3
  51. package/dist/client/api/suspend.js +5 -5
  52. package/dist/client/api/text-to-speech.d.ts +1 -1
  53. package/dist/client/api/text-to-speech.js +37 -39
  54. package/dist/client/api/transcribe.d.ts +2 -2
  55. package/dist/client/api/transcribe.js +44 -45
  56. package/dist/client/api/translate.d.ts +1 -1
  57. package/dist/client/api/translate.js +14 -25
  58. package/dist/client/api/unload-model.d.ts +1 -1
  59. package/dist/client/api/unload-model.js +11 -11
  60. package/dist/client/api/upscale.d.ts +1 -1
  61. package/dist/client/api/upscale.js +9 -9
  62. package/dist/client/api/video.d.ts +8 -5
  63. package/dist/client/api/video.js +23 -18
  64. package/dist/client/api/vla-helpers.d.ts +2 -2
  65. package/dist/client/api/vla-helpers.js +6 -11
  66. package/dist/client/api/vla.d.ts +15 -11
  67. package/dist/client/api/vla.js +27 -23
  68. package/dist/client/config-loader/config-utils.d.ts +1 -1
  69. package/dist/client/config-loader/config-utils.js +3 -3
  70. package/dist/client/config-loader/resolve-config.bare.d.ts +1 -1
  71. package/dist/client/config-loader/resolve-config.bare.js +11 -11
  72. package/dist/client/config-loader/resolve-config.expo.d.ts +1 -1
  73. package/dist/client/config-loader/resolve-config.expo.js +6 -6
  74. package/dist/client/config-loader/resolve-config.node.d.ts +1 -1
  75. package/dist/client/config-loader/resolve-config.node.js +27 -27
  76. package/dist/client/index.d.ts +1 -1
  77. package/dist/client/index.js +1 -1
  78. package/dist/client/init-hooks.d.ts +1 -1
  79. package/dist/client/init-hooks.js +12 -12
  80. package/dist/client/logging-stream-registry.d.ts +1 -1
  81. package/dist/client/logging-stream-registry.js +6 -6
  82. package/dist/client/parse-input.d.ts +1 -1
  83. package/dist/client/parse-input.js +3 -3
  84. package/dist/client/plugins-factory.d.ts +2 -2
  85. package/dist/client/plugins-factory.js +2 -2
  86. package/dist/client/rpc/bare-client.d.ts +2 -1
  87. package/dist/client/rpc/bare-client.js +37 -39
  88. package/dist/client/rpc/ensure-worker-ready.js +4 -4
  89. package/dist/client/rpc/expo-device-info.d.ts +1 -1
  90. package/dist/client/rpc/expo-device-info.js +11 -11
  91. package/dist/client/rpc/expo-rpc-client.d.ts +2 -1
  92. package/dist/client/rpc/expo-rpc-client.js +38 -47
  93. package/dist/client/rpc/node-rpc-client.d.ts +2 -1
  94. package/dist/client/rpc/node-rpc-client.js +103 -75
  95. package/dist/client/rpc/profiling/index.d.ts +1 -1
  96. package/dist/client/rpc/profiling/index.js +1 -1
  97. package/dist/client/rpc/profiling/profiler.d.ts +2 -2
  98. package/dist/client/rpc/profiling/profiler.js +31 -34
  99. package/dist/client/rpc/rpc-client.d.ts +2 -2
  100. package/dist/client/rpc/rpc-client.js +113 -72
  101. package/dist/client/rpc/rpc-error.d.ts +1 -1
  102. package/dist/client/rpc/rpc-error.js +19 -13
  103. package/dist/commands/bundle/bare-pack.d.ts +1 -1
  104. package/dist/commands/bundle/bare-pack.js +20 -20
  105. package/dist/commands/bundle/constants.js +21 -21
  106. package/dist/commands/bundle/entry-gen.js +4 -4
  107. package/dist/commands/bundle/index.js +45 -47
  108. package/dist/commands/bundle/manifest.d.ts +1 -1
  109. package/dist/commands/bundle/manifest.js +44 -46
  110. package/dist/commands/bundle/plugins.d.ts +2 -2
  111. package/dist/commands/bundle/plugins.js +7 -7
  112. package/dist/commands/bundle/resolve-sdk-import.js +6 -13
  113. package/dist/commands/index.d.ts +4 -4
  114. package/dist/commands/index.js +2 -2
  115. package/dist/commands/verify/abi.d.ts +9 -9
  116. package/dist/commands/verify/abi.js +31 -31
  117. package/dist/commands/verify/addon-source.d.ts +1 -1
  118. package/dist/commands/verify/addon-source.js +13 -14
  119. package/dist/commands/verify/bundle-source.d.ts +1 -1
  120. package/dist/commands/verify/bundle-source.js +7 -7
  121. package/dist/commands/verify/index.d.ts +3 -3
  122. package/dist/commands/verify/index.js +18 -17
  123. package/dist/commands/verify/node-modules-source.d.ts +1 -1
  124. package/dist/commands/verify/node-modules-source.js +11 -11
  125. package/dist/commands/verify/prebuilds.d.ts +3 -3
  126. package/dist/commands/verify/prebuilds.js +8 -8
  127. package/dist/constants/audio.d.ts +1 -1
  128. package/dist/constants/audio.js +1 -1
  129. package/dist/constants/index.d.ts +2 -2
  130. package/dist/constants/index.js +2 -2
  131. package/dist/constants/registry.js +1 -1
  132. package/dist/examples/audio/mic-input.d.ts +1 -1
  133. package/dist/examples/audio/mic-input.js +31 -31
  134. package/dist/examples/batch-completion.d.ts +38 -0
  135. package/dist/examples/batch-completion.js +100 -0
  136. package/dist/examples/bci/bci-filesystem-streaming.js +20 -20
  137. package/dist/examples/bci/bci-filesystem.js +17 -17
  138. package/dist/examples/cache-management.js +32 -32
  139. package/dist/examples/cancel-by-request-id.js +11 -11
  140. package/dist/examples/classification/classify-image.js +5 -5
  141. package/dist/examples/completion-events.js +16 -18
  142. package/dist/examples/completion-stop-reason.js +13 -13
  143. package/dist/examples/concurrent-completion-collision.js +20 -20
  144. package/dist/examples/config/blind-relay/blind-relay.config.js +4 -4
  145. package/dist/examples/config/default/default.config.js +2 -2
  146. package/dist/examples/config/plugins/plugins.config.js +2 -2
  147. package/dist/examples/config-reload.js +14 -14
  148. package/dist/examples/default-config-usage.js +10 -13
  149. package/dist/examples/delegated-inference/composite.js +23 -23
  150. package/dist/examples/delegated-inference/consumer-profiled.js +19 -19
  151. package/dist/examples/delegated-inference/consumer.js +11 -11
  152. package/dist/examples/delegated-inference/provider.js +24 -24
  153. package/dist/examples/diffusion-esrgan-upscale.js +19 -19
  154. package/dist/examples/diffusion-flux2-klein-img2img.js +17 -17
  155. package/dist/examples/diffusion-flux2-klein.js +14 -14
  156. package/dist/examples/diffusion-ideogram.d.ts +2 -0
  157. package/dist/examples/diffusion-ideogram.js +108 -0
  158. package/dist/examples/diffusion-img2img.js +13 -13
  159. package/dist/examples/diffusion-img2vid-ltx.d.ts +2 -0
  160. package/dist/examples/diffusion-img2vid-ltx.js +98 -0
  161. package/dist/examples/diffusion-img2vid.js +22 -23
  162. package/dist/examples/diffusion-simple.js +7 -7
  163. package/dist/examples/diffusion-txt2img.js +13 -14
  164. package/dist/examples/diffusion-txt2vid-ltx.d.ts +2 -0
  165. package/dist/examples/diffusion-txt2vid-ltx.js +92 -0
  166. package/dist/examples/diffusion-txt2vid.js +18 -18
  167. package/dist/examples/download-with-blind-relays.js +7 -8
  168. package/dist/examples/download-with-cancel.js +9 -9
  169. package/dist/examples/embed-multi-gpu.js +9 -9
  170. package/dist/examples/embed-p2p.js +24 -24
  171. package/dist/examples/finetune/llamacpp-finetune.js +21 -21
  172. package/dist/examples/kv-cache-cleanup.js +34 -34
  173. package/dist/examples/kv-cache-custom-key.js +30 -30
  174. package/dist/examples/kv-cache-example.js +18 -20
  175. package/dist/examples/llamacpp-cache.js +33 -33
  176. package/dist/examples/llamacpp-dynamic-tools.js +38 -38
  177. package/dist/examples/llamacpp-filesystem.js +13 -15
  178. package/dist/examples/llamacpp-http.js +12 -14
  179. package/dist/examples/llamacpp-multi-gpu.js +12 -12
  180. package/dist/examples/llamacpp-multimodal.js +16 -16
  181. package/dist/examples/llamacpp-p2p.js +11 -11
  182. package/dist/examples/llamacpp-sharded.js +12 -12
  183. package/dist/examples/llamacpp-structured-output.js +37 -37
  184. package/dist/examples/logging-file-transport.js +19 -21
  185. package/dist/examples/logging-global.js +8 -8
  186. package/dist/examples/logging-streaming.js +19 -17
  187. package/dist/examples/mcp-websearch.js +44 -44
  188. package/dist/examples/multi-model-demo.js +33 -33
  189. package/dist/examples/ocr-fasttext.js +17 -17
  190. package/dist/examples/parallel-download.js +11 -13
  191. package/dist/examples/plugins.js +43 -43
  192. package/dist/examples/profiling/basic.js +34 -36
  193. package/dist/examples/profiling/per-call.js +16 -16
  194. package/dist/examples/quickstart.bare.js +4 -6
  195. package/dist/examples/quickstart.js +7 -7
  196. package/dist/examples/rag/rag-chromadb.js +26 -26
  197. package/dist/examples/rag/rag-hyperdb/cancellation.js +19 -20
  198. package/dist/examples/rag/rag-hyperdb/ingest.js +19 -19
  199. package/dist/examples/rag/rag-hyperdb/pipeline.js +26 -26
  200. package/dist/examples/rag/rag-hyperdb/workspaces.js +46 -46
  201. package/dist/examples/rag/rag-lancedb.js +29 -32
  202. package/dist/examples/rag/rag-sqlite.js +25 -25
  203. package/dist/examples/registry-query.js +15 -15
  204. package/dist/examples/seed-p2p.js +8 -8
  205. package/dist/examples/suspend-resume.js +20 -20
  206. package/dist/examples/tools/llamacpp-native-tools.js +25 -25
  207. package/dist/examples/tools/llamacpp-tools-gemma4.js +14 -14
  208. package/dist/examples/tools/llamacpp-tools-harmony-multiturn.js +15 -15
  209. package/dist/examples/tools/llamacpp-tools-pythonic.js +15 -15
  210. package/dist/examples/tools/llamacpp-tools-qwen35.js +14 -14
  211. package/dist/examples/tools/shared.d.ts +2 -2
  212. package/dist/examples/tools/shared.js +17 -17
  213. package/dist/examples/transcription/parakeet-ctc-filesystem.js +12 -12
  214. package/dist/examples/transcription/parakeet-microphone-record.js +19 -19
  215. package/dist/examples/transcription/parakeet-microphone-stream.js +23 -23
  216. package/dist/examples/transcription/parakeet-sortformer-streaming.js +18 -28
  217. package/dist/examples/transcription/parakeet-sortformer.js +21 -21
  218. package/dist/examples/transcription/parakeet-tdt-filesystem-chunked.d.ts +2 -0
  219. package/dist/examples/transcription/parakeet-tdt-filesystem-chunked.js +203 -0
  220. package/dist/examples/transcription/parakeet-tdt-filesystem.js +13 -13
  221. package/dist/examples/transcription/whispercpp-filesystem-streaming.js +34 -34
  222. package/dist/examples/transcription/whispercpp-filesystem.js +19 -19
  223. package/dist/examples/transcription/whispercpp-microphone-conversation.js +27 -27
  224. package/dist/examples/transcription/whispercpp-microphone-record.js +21 -21
  225. package/dist/examples/transcription/whispercpp-prompt.js +18 -18
  226. package/dist/examples/translation/translation-bergamot-batch.js +17 -17
  227. package/dist/examples/translation/translation-bergamot-pivot.js +16 -16
  228. package/dist/examples/translation/translation-bergamot.js +11 -11
  229. package/dist/examples/translation/translation-indic.js +10 -10
  230. package/dist/examples/translation/translation-llm-afriquegemma.js +10 -10
  231. package/dist/examples/translation/translation-llm-context.js +10 -10
  232. package/dist/examples/translation/translation-llm.js +13 -13
  233. package/dist/examples/translation/translation-stream.js +11 -11
  234. package/dist/examples/tts/chatterbox-enhanced.d.ts +2 -0
  235. package/dist/examples/tts/chatterbox-enhanced.js +55 -0
  236. package/dist/examples/tts/chatterbox-multilingual.d.ts +2 -0
  237. package/dist/examples/tts/chatterbox-multilingual.js +54 -0
  238. package/dist/examples/tts/chatterbox.js +18 -18
  239. package/dist/examples/tts/llm-to-tts-streaming.js +30 -30
  240. package/dist/examples/tts/supertonic-enhanced.d.ts +2 -0
  241. package/dist/examples/tts/supertonic-enhanced.js +57 -0
  242. package/dist/examples/tts/supertonic-multilingual.js +19 -19
  243. package/dist/examples/tts/supertonic.js +18 -18
  244. package/dist/examples/tts/utils.js +24 -32
  245. package/dist/examples/vla-groot.d.ts +2 -0
  246. package/dist/examples/vla-groot.js +118 -0
  247. package/dist/examples/vla-pi05.js +14 -14
  248. package/dist/examples/vla-smolvla.js +14 -14
  249. package/dist/examples/voice-assistant/voice-assistant.js +46 -46
  250. package/dist/expo/plugins/find-in-ancestor-node-modules.js +3 -3
  251. package/dist/expo/plugins/get-project-root.d.ts +2 -2
  252. package/dist/expo/plugins/get-project-root.js +1 -1
  253. package/dist/expo/plugins/index.d.ts +11 -11
  254. package/dist/expo/plugins/index.js +10 -10
  255. package/dist/expo/plugins/resolve-sdk-package-dir.js +7 -11
  256. package/dist/expo/plugins/withAndroidArchitecture.d.ts +1 -1
  257. package/dist/expo/plugins/withAndroidArchitecture.js +12 -12
  258. package/dist/expo/plugins/withAndroidNdkVersion.d.ts +1 -1
  259. package/dist/expo/plugins/withAndroidNdkVersion.js +9 -9
  260. package/dist/expo/plugins/withDeviceInfo.d.ts +1 -1
  261. package/dist/expo/plugins/withDeviceInfo.js +13 -13
  262. package/dist/expo/plugins/withMobileBundle.d.ts +1 -1
  263. package/dist/expo/plugins/withMobileBundle.js +34 -42
  264. package/dist/expo/plugins/withOpenCL.d.ts +1 -1
  265. package/dist/expo/plugins/withOpenCL.js +14 -16
  266. package/dist/expo/plugins/withQvacSDK.d.ts +1 -1
  267. package/dist/expo/plugins/withQvacSDK.js +12 -12
  268. package/dist/index.d.ts +16 -16
  269. package/dist/index.js +16 -17
  270. package/dist/logging/addon.d.ts +1 -1
  271. package/dist/logging/addon.js +13 -13
  272. package/dist/logging/base-logger.d.ts +2 -2
  273. package/dist/logging/base-logger.js +6 -6
  274. package/dist/logging/client-logger.d.ts +1 -1
  275. package/dist/logging/client-logger.js +3 -3
  276. package/dist/logging/index.d.ts +9 -9
  277. package/dist/logging/index.js +8 -8
  278. package/dist/logging/logger.d.ts +1 -1
  279. package/dist/logging/logger.js +4 -4
  280. package/dist/logging/namespaces.d.ts +1 -1
  281. package/dist/logging/namespaces.js +5 -5
  282. package/dist/logging/registry.d.ts +2 -2
  283. package/dist/logging/registry.js +3 -3
  284. package/dist/logging/server-logger.d.ts +1 -1
  285. package/dist/logging/server-logger.js +2 -2
  286. package/dist/logging/stream-logger.d.ts +1 -1
  287. package/dist/logging/stream-logger.js +4 -4
  288. package/dist/logging/transport.d.ts +1 -1
  289. package/dist/logging/types.d.ts +1 -1
  290. package/dist/logging/utils.d.ts +2 -2
  291. package/dist/logging/utils.js +40 -41
  292. package/dist/models/registry/index.d.ts +1 -1
  293. package/dist/models/registry/index.js +5 -5
  294. package/dist/models/registry/models.d.ts +5622 -9241
  295. package/dist/models/registry/models.js +13215 -17030
  296. package/dist/models/update-models/codegen.d.ts +1 -1
  297. package/dist/models/update-models/codegen.js +8 -8
  298. package/dist/models/update-models/companions.d.ts +6 -1
  299. package/dist/models/update-models/companions.js +104 -39
  300. package/dist/models/update-models/history.d.ts +1 -1
  301. package/dist/models/update-models/history.js +11 -11
  302. package/dist/models/update-models/index.js +32 -34
  303. package/dist/models/update-models/naming.d.ts +2 -2
  304. package/dist/models/update-models/naming.js +181 -186
  305. package/dist/models/update-models/processing.d.ts +2 -2
  306. package/dist/models/update-models/processing.js +17 -19
  307. package/dist/models/update-models/registry.d.ts +2 -2
  308. package/dist/models/update-models/registry.js +9 -9
  309. package/dist/models/update-models/shards.d.ts +1 -1
  310. package/dist/models/update-models/shards.js +3 -3
  311. package/dist/models/update-models/types.d.ts +1 -1
  312. package/dist/models/update-models/utils.js +5 -5
  313. package/dist/pear/pre.js +84 -84
  314. package/dist/profiling/aggregator.d.ts +1 -1
  315. package/dist/profiling/aggregator.js +6 -6
  316. package/dist/profiling/clock.d.ts +1 -1
  317. package/dist/profiling/clock.js +10 -10
  318. package/dist/profiling/controller.d.ts +2 -2
  319. package/dist/profiling/controller.js +11 -12
  320. package/dist/profiling/envelope.d.ts +1 -1
  321. package/dist/profiling/envelope.js +4 -6
  322. package/dist/profiling/events.d.ts +2 -2
  323. package/dist/profiling/events.js +8 -10
  324. package/dist/profiling/exporters.d.ts +1 -1
  325. package/dist/profiling/exporters.js +81 -79
  326. package/dist/profiling/index.d.ts +8 -8
  327. package/dist/profiling/index.js +7 -7
  328. package/dist/profiling/model-execution.js +2 -1
  329. package/dist/profiling/ring-buffer.js +2 -2
  330. package/dist/profiling/types.d.ts +3 -3
  331. package/dist/schemas/archive.d.ts +1 -1
  332. package/dist/schemas/archive.js +8 -14
  333. package/dist/schemas/batch-completion-stream.d.ts +463 -0
  334. package/dist/schemas/batch-completion-stream.js +124 -0
  335. package/dist/schemas/bci-config.d.ts +1 -1
  336. package/dist/schemas/bci-config.js +7 -7
  337. package/dist/schemas/bci.d.ts +3 -3
  338. package/dist/schemas/bci.js +25 -31
  339. package/dist/schemas/cancel.d.ts +6 -1
  340. package/dist/schemas/cancel.js +33 -34
  341. package/dist/schemas/classification.d.ts +1 -1
  342. package/dist/schemas/classification.js +7 -7
  343. package/dist/schemas/common.d.ts +578 -28
  344. package/dist/schemas/common.js +42 -37
  345. package/dist/schemas/completion-event.d.ts +11 -8
  346. package/dist/schemas/completion-event.js +27 -26
  347. package/dist/schemas/completion-stream.d.ts +190 -5
  348. package/dist/schemas/completion-stream.js +118 -67
  349. package/dist/schemas/constants-registry.d.ts +67 -0
  350. package/dist/schemas/constants-registry.js +51 -0
  351. package/dist/schemas/delegate.d.ts +1 -1
  352. package/dist/schemas/delegate.js +7 -7
  353. package/dist/schemas/delete-cache.d.ts +1 -1
  354. package/dist/schemas/delete-cache.js +15 -11
  355. package/dist/schemas/download-asset.d.ts +2 -2
  356. package/dist/schemas/download-asset.js +21 -21
  357. package/dist/schemas/embed.d.ts +3 -3
  358. package/dist/schemas/embed.js +16 -27
  359. package/dist/schemas/engine-addon-map.d.ts +3 -2
  360. package/dist/schemas/engine-addon-map.js +25 -25
  361. package/dist/schemas/error.d.ts +1 -1
  362. package/dist/schemas/error.js +12 -13
  363. package/dist/schemas/finetune.d.ts +1 -1
  364. package/dist/schemas/finetune.js +41 -44
  365. package/dist/schemas/get-loaded-model-info.d.ts +17 -1
  366. package/dist/schemas/get-loaded-model-info.js +22 -14
  367. package/dist/schemas/get-model-info.d.ts +1 -1
  368. package/dist/schemas/get-model-info.js +48 -91
  369. package/dist/schemas/heartbeat.d.ts +1 -1
  370. package/dist/schemas/heartbeat.js +6 -6
  371. package/dist/schemas/index.d.ts +52 -51
  372. package/dist/schemas/index.js +52 -51
  373. package/dist/schemas/json-schema.d.ts +1 -1
  374. package/dist/schemas/llamacpp-config.d.ts +57 -29
  375. package/dist/schemas/llamacpp-config.js +43 -35
  376. package/dist/schemas/load-model.d.ts +1537 -185
  377. package/dist/schemas/load-model.js +126 -129
  378. package/dist/schemas/logging-stream.d.ts +1 -1
  379. package/dist/schemas/logging-stream.js +6 -12
  380. package/dist/schemas/mcp-adapter.d.ts +1 -1
  381. package/dist/schemas/model-src-utils.d.ts +1 -1
  382. package/dist/schemas/model-src-utils.js +13 -13
  383. package/dist/schemas/model-types.d.ts +1 -1
  384. package/dist/schemas/model-types.js +27 -27
  385. package/dist/schemas/ocr.d.ts +1 -1
  386. package/dist/schemas/ocr.js +18 -18
  387. package/dist/schemas/path-validation.d.ts +1 -1
  388. package/dist/schemas/path-validation.js +4 -4
  389. package/dist/schemas/plugin.d.ts +13 -14
  390. package/dist/schemas/plugin.js +51 -51
  391. package/dist/schemas/profiling.d.ts +1 -1
  392. package/dist/schemas/profiling.js +16 -16
  393. package/dist/schemas/provide.d.ts +1 -1
  394. package/dist/schemas/provide.js +8 -8
  395. package/dist/schemas/rag.d.ts +3 -3
  396. package/dist/schemas/rag.js +65 -70
  397. package/dist/schemas/registry.d.ts +1 -1
  398. package/dist/schemas/registry.js +44 -66
  399. package/dist/schemas/reload-config.d.ts +1 -1
  400. package/dist/schemas/reload-config.js +16 -18
  401. package/dist/schemas/resume.d.ts +1 -1
  402. package/dist/schemas/resume.js +3 -3
  403. package/dist/schemas/runtime-context.d.ts +1 -1
  404. package/dist/schemas/runtime-context.js +4 -4
  405. package/dist/schemas/sdcpp-config.d.ts +248 -9
  406. package/dist/schemas/sdcpp-config.js +395 -291
  407. package/dist/schemas/sdk-config.d.ts +833 -71
  408. package/dist/schemas/sdk-config.js +25 -29
  409. package/dist/schemas/sdk-errors-client.d.ts +1 -1
  410. package/dist/schemas/sdk-errors-client.js +80 -80
  411. package/dist/schemas/sdk-errors-registry.js +1 -1
  412. package/dist/schemas/sdk-errors-server.d.ts +1 -1
  413. package/dist/schemas/sdk-errors-server.js +202 -199
  414. package/dist/schemas/shard.d.ts +1 -1
  415. package/dist/schemas/shard.js +4 -4
  416. package/dist/schemas/state.d.ts +1 -1
  417. package/dist/schemas/state.js +5 -10
  418. package/dist/schemas/stop-provide.d.ts +1 -1
  419. package/dist/schemas/stop-provide.js +4 -4
  420. package/dist/schemas/suspend.d.ts +1 -1
  421. package/dist/schemas/suspend.js +3 -3
  422. package/dist/schemas/text-to-speech.d.ts +469 -3
  423. package/dist/schemas/text-to-speech.js +151 -109
  424. package/dist/schemas/tools.d.ts +2 -2
  425. package/dist/schemas/tools.js +18 -24
  426. package/dist/schemas/transcription-config.d.ts +1 -1
  427. package/dist/schemas/transcription-config.js +18 -18
  428. package/dist/schemas/transcription.d.ts +5 -5
  429. package/dist/schemas/transcription.js +31 -33
  430. package/dist/schemas/translate.d.ts +3 -3
  431. package/dist/schemas/translate.js +49 -72
  432. package/dist/schemas/translation-config.d.ts +1 -1
  433. package/dist/schemas/translation-config.js +116 -123
  434. package/dist/schemas/unload-model.d.ts +1 -1
  435. package/dist/schemas/unload-model.js +6 -6
  436. package/dist/schemas/vla.d.ts +11 -1
  437. package/dist/schemas/vla.js +52 -32
  438. package/dist/scripts/contract/build-contract.d.ts +38 -0
  439. package/dist/scripts/contract/build-contract.js +620 -0
  440. package/dist/scripts/contract/build-error-codes.d.ts +17 -0
  441. package/dist/scripts/contract/build-error-codes.js +17 -0
  442. package/dist/scripts/contract/build-model-type-maps.d.ts +22 -0
  443. package/dist/scripts/contract/build-model-type-maps.js +16 -0
  444. package/dist/scripts/contract/build-models-registry.d.ts +17 -0
  445. package/dist/scripts/contract/build-models-registry.js +31 -0
  446. package/dist/scripts/contract/plugin-contract.d.ts +23 -0
  447. package/dist/scripts/contract/plugin-contract.js +28 -0
  448. package/dist/scripts/export-contract.d.ts +2 -0
  449. package/dist/scripts/export-contract.js +27 -0
  450. package/dist/scripts/export-plugin-contract.d.ts +2 -0
  451. package/dist/scripts/export-plugin-contract.js +18 -0
  452. package/dist/scripts/run-security-tests.js +9 -10
  453. package/dist/scripts/run-unit-tests.js +11 -12
  454. package/dist/server/bare/delegate-connect-diagnostics.js +13 -19
  455. package/dist/server/bare/delegate-rpc-client.d.ts +2 -2
  456. package/dist/server/bare/delegate-rpc-client.js +32 -34
  457. package/dist/server/bare/hyperswarm.d.ts +3 -3
  458. package/dist/server/bare/hyperswarm.js +14 -14
  459. package/dist/server/bare/ops/bci-transcribe.d.ts +1 -1
  460. package/dist/server/bare/ops/bci-transcribe.js +44 -44
  461. package/dist/server/bare/ops/cancel.d.ts +2 -2
  462. package/dist/server/bare/ops/cancel.js +6 -6
  463. package/dist/server/bare/ops/embed.d.ts +1 -1
  464. package/dist/server/bare/ops/embed.js +26 -16
  465. package/dist/server/bare/ops/kv-cache-utils.d.ts +1 -1
  466. package/dist/server/bare/ops/kv-cache-utils.js +17 -19
  467. package/dist/server/bare/ops/load-model.d.ts +2 -2
  468. package/dist/server/bare/ops/load-model.js +14 -18
  469. package/dist/server/bare/ops/transcribe.d.ts +3 -3
  470. package/dist/server/bare/ops/transcribe.js +62 -62
  471. package/dist/server/bare/ops/translate.d.ts +1 -1
  472. package/dist/server/bare/ops/translate.js +53 -31
  473. package/dist/server/bare/ops/unload-model.d.ts +1 -1
  474. package/dist/server/bare/ops/unload-model.js +12 -12
  475. package/dist/server/bare/plugins/bci-whispercpp-transcription/args.d.ts +2 -2
  476. package/dist/server/bare/plugins/bci-whispercpp-transcription/args.js +3 -3
  477. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.d.ts +4 -3
  478. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.js +33 -33
  479. package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.d.ts +1 -1
  480. package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.js +1 -1
  481. package/dist/server/bare/plugins/ggml-classification/ops/classify.d.ts +1 -1
  482. package/dist/server/bare/plugins/ggml-classification/ops/classify.js +8 -8
  483. package/dist/server/bare/plugins/ggml-classification/plugin.d.ts +1 -1
  484. package/dist/server/bare/plugins/ggml-classification/plugin.js +14 -14
  485. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.d.ts +1 -1
  486. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.js +27 -26
  487. package/dist/server/bare/plugins/ggml-ocr/plugin.d.ts +1 -1
  488. package/dist/server/bare/plugins/ggml-ocr/plugin.js +33 -54
  489. package/dist/server/bare/plugins/ggml-ocr/resolve-config.d.ts +6 -0
  490. package/dist/server/bare/plugins/ggml-ocr/resolve-config.js +73 -0
  491. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.d.ts +1 -1
  492. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.js +3 -3
  493. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.d.ts +1 -1
  494. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.js +23 -23
  495. package/dist/server/bare/plugins/ggml-vla/plugin.d.ts +6 -1
  496. package/dist/server/bare/plugins/ggml-vla/plugin.js +15 -15
  497. package/dist/server/bare/plugins/index.d.ts +11 -11
  498. package/dist/server/bare/plugins/index.js +11 -11
  499. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-cancelled.d.ts +23 -0
  500. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-cancelled.js +30 -0
  501. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.d.ts +32 -0
  502. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.js +99 -0
  503. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.d.ts +1 -1
  504. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.js +8 -8
  505. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.d.ts +3 -2
  506. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.js +4 -1
  507. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.d.ts +22 -4
  508. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.js +65 -80
  509. package/dist/server/bare/plugins/llamacpp-completion/ops/context-overflow.js +5 -5
  510. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.d.ts +2 -2
  511. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.js +34 -34
  512. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.d.ts +7 -7
  513. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.js +19 -23
  514. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.d.ts +8 -0
  515. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.js +12 -6
  516. package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +193 -19
  517. package/dist/server/bare/plugins/llamacpp-completion/plugin.js +235 -70
  518. package/dist/server/bare/plugins/llamacpp-completion/transform.d.ts +1 -1
  519. package/dist/server/bare/plugins/llamacpp-completion/transform.js +15 -15
  520. package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +9 -4
  521. package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +27 -29
  522. package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +1 -1
  523. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +38 -39
  524. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.d.ts +1 -1
  525. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.js +19 -22
  526. package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +1 -1
  527. package/dist/server/bare/plugins/parakeet-transcription/plugin.js +36 -36
  528. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.d.ts +1 -1
  529. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.js +15 -17
  530. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.d.ts +1 -1
  531. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.js +11 -11
  532. package/dist/server/bare/plugins/sdcpp-generation/ops/video.d.ts +3 -1
  533. package/dist/server/bare/plugins/sdcpp-generation/ops/video.js +71 -44
  534. package/dist/server/bare/plugins/sdcpp-generation/plugin.d.ts +132 -4
  535. package/dist/server/bare/plugins/sdcpp-generation/plugin.js +148 -70
  536. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.d.ts +2 -2
  537. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.js +19 -21
  538. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.d.ts +2 -2
  539. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.js +18 -34
  540. package/dist/server/bare/plugins/tts-ggml/plugin.d.ts +9 -2
  541. package/dist/server/bare/plugins/tts-ggml/plugin.js +97 -49
  542. package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +1 -1
  543. package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +52 -52
  544. package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +1 -1
  545. package/dist/server/bare/rag-hyperdb/handlers/chunk.js +2 -2
  546. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +1 -1
  547. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +2 -2
  548. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
  549. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +4 -4
  550. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +1 -1
  551. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +3 -3
  552. package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +2 -2
  553. package/dist/server/bare/rag-hyperdb/handlers/ingest.js +4 -4
  554. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +1 -1
  555. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +1 -1
  556. package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +2 -2
  557. package/dist/server/bare/rag-hyperdb/handlers/reindex.js +5 -5
  558. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +2 -2
  559. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +3 -3
  560. package/dist/server/bare/rag-hyperdb/handlers/search.d.ts +1 -1
  561. package/dist/server/bare/rag-hyperdb/handlers/search.js +3 -3
  562. package/dist/server/bare/rag-hyperdb/index.d.ts +11 -11
  563. package/dist/server/bare/rag-hyperdb/index.js +11 -11
  564. package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +3 -3
  565. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +1 -1
  566. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +20 -20
  567. package/dist/server/bare/registry/config-registry.d.ts +1 -1
  568. package/dist/server/bare/registry/config-registry.js +13 -16
  569. package/dist/server/bare/registry/logging-stream-registry.d.ts +1 -1
  570. package/dist/server/bare/registry/logging-stream-registry.js +2 -2
  571. package/dist/server/bare/registry/model-config-registry.d.ts +2 -2
  572. package/dist/server/bare/registry/model-config-registry.js +6 -6
  573. package/dist/server/bare/registry/model-config-utils.d.ts +2 -2
  574. package/dist/server/bare/registry/model-config-utils.js +35 -35
  575. package/dist/server/bare/registry/model-registry.d.ts +3 -3
  576. package/dist/server/bare/registry/model-registry.js +11 -11
  577. package/dist/server/bare/registry/registry-client.d.ts +1 -1
  578. package/dist/server/bare/registry/registry-client.js +18 -18
  579. package/dist/server/bare/registry/runtime-context-registry.d.ts +1 -1
  580. package/dist/server/bare/registry/runtime-context-registry.js +3 -3
  581. package/dist/server/bare/runtime/disposable-scope.js +3 -3
  582. package/dist/server/bare/runtime/index.d.ts +7 -7
  583. package/dist/server/bare/runtime/index.js +3 -3
  584. package/dist/server/bare/runtime/request-context.d.ts +4 -4
  585. package/dist/server/bare/runtime/request-id.js +1 -1
  586. package/dist/server/bare/runtime/request-registry-singleton.d.ts +1 -1
  587. package/dist/server/bare/runtime/request-registry-singleton.js +23 -4
  588. package/dist/server/bare/runtime/request-registry.d.ts +27 -12
  589. package/dist/server/bare/runtime/request-registry.js +39 -34
  590. package/dist/server/bare/runtime/with-request-context.d.ts +1 -1
  591. package/dist/server/bare/runtime/with-request-context.js +11 -11
  592. package/dist/server/bare/runtime-lifecycle.d.ts +1 -1
  593. package/dist/server/bare/runtime-lifecycle.js +27 -31
  594. package/dist/server/bare/types/addon-responses.d.ts +7 -4
  595. package/dist/server/bare/utils/audio-input.d.ts +2 -2
  596. package/dist/server/bare/utils/audio-input.js +7 -7
  597. package/dist/server/bare/utils/transcribe-metadata.d.ts +1 -1
  598. package/dist/server/bare/utils/transcribe-metadata.js +4 -4
  599. package/dist/server/bare/utils/tts-stats.d.ts +9 -5
  600. package/dist/server/bare/utils/tts-stats.js +8 -2
  601. package/dist/server/env.js +8 -8
  602. package/dist/server/error-handlers.d.ts +3 -3
  603. package/dist/server/error-handlers.js +11 -11
  604. package/dist/server/plugins/index.d.ts +1 -1
  605. package/dist/server/plugins/index.js +1 -1
  606. package/dist/server/plugins/registry.d.ts +1 -1
  607. package/dist/server/plugins/registry.js +12 -14
  608. package/dist/server/rpc/create-server.d.ts +1 -1
  609. package/dist/server/rpc/create-server.js +34 -13
  610. package/dist/server/rpc/delegate-transport.d.ts +3 -3
  611. package/dist/server/rpc/delegate-transport.js +43 -44
  612. package/dist/server/rpc/handle-request.d.ts +1 -1
  613. package/dist/server/rpc/handle-request.js +28 -30
  614. package/dist/server/rpc/handler-registry.d.ts +1 -1
  615. package/dist/server/rpc/handler-registry.js +102 -92
  616. package/dist/server/rpc/handler-selection.d.ts +3 -3
  617. package/dist/server/rpc/handler-selection.js +3 -3
  618. package/dist/server/rpc/handler-utils.d.ts +7 -7
  619. package/dist/server/rpc/handler-utils.js +32 -35
  620. package/dist/server/rpc/handlers/batch-completion-stream.d.ts +78 -0
  621. package/dist/server/rpc/handlers/batch-completion-stream.js +4 -0
  622. package/dist/server/rpc/handlers/bci-transcribe-stream.d.ts +1 -1
  623. package/dist/server/rpc/handlers/bci-transcribe-stream.js +2 -2
  624. package/dist/server/rpc/handlers/bci-transcribe.d.ts +1 -1
  625. package/dist/server/rpc/handlers/bci-transcribe.js +2 -2
  626. package/dist/server/rpc/handlers/cancel-delegated.d.ts +2 -2
  627. package/dist/server/rpc/handlers/cancel-delegated.js +13 -13
  628. package/dist/server/rpc/handlers/cancelHandler.d.ts +1 -1
  629. package/dist/server/rpc/handlers/cancelHandler.js +11 -11
  630. package/dist/server/rpc/handlers/classify.d.ts +1 -1
  631. package/dist/server/rpc/handlers/classify.js +2 -2
  632. package/dist/server/rpc/handlers/completion-orchestrate.d.ts +42 -0
  633. package/dist/server/rpc/handlers/completion-orchestrate.js +190 -0
  634. package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +2 -2
  635. package/dist/server/rpc/handlers/completion-stream-delegated.js +14 -14
  636. package/dist/server/rpc/handlers/completion-stream.d.ts +1 -1
  637. package/dist/server/rpc/handlers/completion-stream.js +2 -2
  638. package/dist/server/rpc/handlers/delete-cache.d.ts +1 -1
  639. package/dist/server/rpc/handlers/delete-cache.js +10 -10
  640. package/dist/server/rpc/handlers/diffusion-stream.d.ts +1 -1
  641. package/dist/server/rpc/handlers/diffusion-stream.js +2 -2
  642. package/dist/server/rpc/handlers/download-asset.d.ts +1 -1
  643. package/dist/server/rpc/handlers/download-asset.js +20 -20
  644. package/dist/server/rpc/handlers/embed.d.ts +1 -1
  645. package/dist/server/rpc/handlers/embed.js +2 -2
  646. package/dist/server/rpc/handlers/finetune.d.ts +1 -1
  647. package/dist/server/rpc/handlers/finetune.js +8 -6
  648. package/dist/server/rpc/handlers/get-loaded-model-info.d.ts +1 -1
  649. package/dist/server/rpc/handlers/get-loaded-model-info.js +15 -9
  650. package/dist/server/rpc/handlers/get-model-info.d.ts +1 -1
  651. package/dist/server/rpc/handlers/get-model-info.js +20 -20
  652. package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +2 -2
  653. package/dist/server/rpc/handlers/heartbeat-delegated.js +7 -7
  654. package/dist/server/rpc/handlers/heartbeat.d.ts +1 -1
  655. package/dist/server/rpc/handlers/heartbeat.js +1 -1
  656. package/dist/server/rpc/handlers/index.d.ts +35 -31
  657. package/dist/server/rpc/handlers/index.js +36 -32
  658. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +4 -4
  659. package/dist/server/rpc/handlers/load-model/download-manager.js +19 -17
  660. package/dist/server/rpc/handlers/load-model/download-stats.d.ts +4 -3
  661. package/dist/server/rpc/handlers/load-model/download-stats.js +9 -11
  662. package/dist/server/rpc/handlers/load-model/handler.d.ts +1 -1
  663. package/dist/server/rpc/handlers/load-model/handler.js +42 -43
  664. package/dist/server/rpc/handlers/load-model/http.d.ts +2 -2
  665. package/dist/server/rpc/handlers/load-model/http.js +100 -107
  666. package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +2 -2
  667. package/dist/server/rpc/handlers/load-model/hyperdrive.js +72 -74
  668. package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
  669. package/dist/server/rpc/handlers/load-model/index.js +2 -2
  670. package/dist/server/rpc/handlers/load-model/registry-client-options.d.ts +2 -2
  671. package/dist/server/rpc/handlers/load-model/registry-client-options.js +2 -3
  672. package/dist/server/rpc/handlers/load-model/registry-companion-set.d.ts +5 -5
  673. package/dist/server/rpc/handlers/load-model/registry-companion-set.js +19 -21
  674. package/dist/server/rpc/handlers/load-model/registry-download-utils.d.ts +6 -6
  675. package/dist/server/rpc/handlers/load-model/registry-download-utils.js +16 -18
  676. package/dist/server/rpc/handlers/load-model/registry-metadata.d.ts +11 -0
  677. package/dist/server/rpc/handlers/load-model/registry-metadata.js +23 -0
  678. package/dist/server/rpc/handlers/load-model/registry.d.ts +4 -3
  679. package/dist/server/rpc/handlers/load-model/registry.js +50 -56
  680. package/dist/server/rpc/handlers/load-model/resolve-session.d.ts +3 -3
  681. package/dist/server/rpc/handlers/load-model/resolve-session.js +7 -7
  682. package/dist/server/rpc/handlers/load-model/resolve.d.ts +3 -3
  683. package/dist/server/rpc/handlers/load-model/resolve.js +36 -35
  684. package/dist/server/rpc/handlers/load-model/types.d.ts +3 -3
  685. package/dist/server/rpc/handlers/load-model/types.js +7 -7
  686. package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -2
  687. package/dist/server/rpc/handlers/load-model-delegated.js +31 -30
  688. package/dist/server/rpc/handlers/logging-stream.d.ts +1 -1
  689. package/dist/server/rpc/handlers/logging-stream.js +3 -3
  690. package/dist/server/rpc/handlers/ocr-stream.d.ts +1 -1
  691. package/dist/server/rpc/handlers/ocr-stream.js +2 -2
  692. package/dist/server/rpc/handlers/plugin-dispatch.js +9 -9
  693. package/dist/server/rpc/handlers/plugin-invoke.d.ts +1 -1
  694. package/dist/server/rpc/handlers/plugin-invoke.js +16 -16
  695. package/dist/server/rpc/handlers/provideHandler/connection.d.ts +1 -1
  696. package/dist/server/rpc/handlers/provideHandler/connection.js +16 -16
  697. package/dist/server/rpc/handlers/provideHandler/handler.d.ts +1 -1
  698. package/dist/server/rpc/handlers/provideHandler/handler.js +18 -18
  699. package/dist/server/rpc/handlers/provideHandler/proxy.d.ts +1 -1
  700. package/dist/server/rpc/handlers/provideHandler/proxy.js +11 -11
  701. package/dist/server/rpc/handlers/provideHandler.d.ts +1 -1
  702. package/dist/server/rpc/handlers/provideHandler.js +1 -1
  703. package/dist/server/rpc/handlers/rag.d.ts +1 -1
  704. package/dist/server/rpc/handlers/rag.js +50 -50
  705. package/dist/server/rpc/handlers/registry.d.ts +1 -1
  706. package/dist/server/rpc/handlers/registry.js +34 -36
  707. package/dist/server/rpc/handlers/resume.d.ts +1 -1
  708. package/dist/server/rpc/handlers/resume.js +3 -3
  709. package/dist/server/rpc/handlers/state.d.ts +1 -1
  710. package/dist/server/rpc/handlers/state.js +3 -3
  711. package/dist/server/rpc/handlers/stopProvideHandler.d.ts +1 -1
  712. package/dist/server/rpc/handlers/stopProvideHandler.js +7 -7
  713. package/dist/server/rpc/handlers/suspend.d.ts +1 -1
  714. package/dist/server/rpc/handlers/suspend.js +3 -3
  715. package/dist/server/rpc/handlers/text-to-speech-stream.d.ts +1 -1
  716. package/dist/server/rpc/handlers/text-to-speech-stream.js +2 -2
  717. package/dist/server/rpc/handlers/text-to-speech.d.ts +1 -1
  718. package/dist/server/rpc/handlers/text-to-speech.js +2 -2
  719. package/dist/server/rpc/handlers/transcribe-stream.d.ts +1 -1
  720. package/dist/server/rpc/handlers/transcribe-stream.js +2 -2
  721. package/dist/server/rpc/handlers/transcribe.d.ts +1 -1
  722. package/dist/server/rpc/handlers/transcribe.js +2 -2
  723. package/dist/server/rpc/handlers/translate.d.ts +1 -1
  724. package/dist/server/rpc/handlers/translate.js +2 -2
  725. package/dist/server/rpc/handlers/unload-model-delegated.d.ts +1 -1
  726. package/dist/server/rpc/handlers/unload-model-delegated.js +10 -10
  727. package/dist/server/rpc/handlers/unload-model.d.ts +1 -1
  728. package/dist/server/rpc/handlers/unload-model.js +10 -10
  729. package/dist/server/rpc/handlers/upscale-stream.d.ts +1 -1
  730. package/dist/server/rpc/handlers/upscale-stream.js +2 -2
  731. package/dist/server/rpc/handlers/video-stream.d.ts +1 -1
  732. package/dist/server/rpc/handlers/video-stream.js +2 -2
  733. package/dist/server/rpc/index.d.ts +2 -2
  734. package/dist/server/rpc/index.js +2 -2
  735. package/dist/server/rpc/method-shapes.d.ts +51 -0
  736. package/dist/server/rpc/method-shapes.js +48 -0
  737. package/dist/server/rpc/profiling/context.d.ts +1 -1
  738. package/dist/server/rpc/profiling/context.js +9 -10
  739. package/dist/server/rpc/profiling/delegation-profiler.d.ts +2 -2
  740. package/dist/server/rpc/profiling/delegation-profiler.js +23 -24
  741. package/dist/server/rpc/profiling/index.d.ts +4 -4
  742. package/dist/server/rpc/profiling/index.js +4 -4
  743. package/dist/server/rpc/profiling/operation-metrics.d.ts +2 -2
  744. package/dist/server/rpc/profiling/operation-metrics.js +122 -102
  745. package/dist/server/rpc/profiling/operation-wrappers.d.ts +1 -1
  746. package/dist/server/rpc/profiling/operation-wrappers.js +16 -14
  747. package/dist/server/rpc/profiling/profiler.d.ts +2 -2
  748. package/dist/server/rpc/profiling/profiler.js +9 -13
  749. package/dist/server/rpc/rpc-utils.js +1 -4
  750. package/dist/server/rpc/transport-selector.d.ts +1 -1
  751. package/dist/server/rpc/transport-selector.js +4 -4
  752. package/dist/server/utils/archive.js +27 -29
  753. package/dist/server/utils/audio/decoder.d.ts +2 -2
  754. package/dist/server/utils/audio/decoder.js +11 -11
  755. package/dist/server/utils/cache/auto-history.d.ts +1 -1
  756. package/dist/server/utils/cache/auto-history.js +15 -11
  757. package/dist/server/utils/cache/paths.d.ts +2 -2
  758. package/dist/server/utils/cache/paths.js +14 -14
  759. package/dist/server/utils/checksum.d.ts +1 -1
  760. package/dist/server/utils/checksum.js +10 -12
  761. package/dist/server/utils/clear-storage.d.ts +1 -1
  762. package/dist/server/utils/clear-storage.js +8 -11
  763. package/dist/server/utils/completion-normalizer.d.ts +1 -1
  764. package/dist/server/utils/completion-normalizer.js +106 -113
  765. package/dist/server/utils/config-transform.d.ts +1 -1
  766. package/dist/server/utils/config-transform.js +2 -2
  767. package/dist/server/utils/expand-gguf-shards.js +4 -4
  768. package/dist/server/utils/formatting.js +6 -12
  769. package/dist/server/utils/gguf-tensor-extractor.js +17 -21
  770. package/dist/server/utils/index.d.ts +11 -11
  771. package/dist/server/utils/index.js +11 -11
  772. package/dist/server/utils/multi-gpu-mobile.js +1 -1
  773. package/dist/server/utils/path-security.d.ts +1 -1
  774. package/dist/server/utils/path-security.js +6 -6
  775. package/dist/server/utils/qvac-paths.js +3 -3
  776. package/dist/server/utils/response-format.d.ts +1 -1
  777. package/dist/server/utils/response-format.js +4 -4
  778. package/dist/server/utils/shard-utils.d.ts +1 -1
  779. package/dist/server/utils/shard-utils.js +14 -16
  780. package/dist/server/utils/tool-integration.d.ts +1 -1
  781. package/dist/server/utils/tool-integration.js +5 -9
  782. package/dist/server/utils/tools/dialect.d.ts +1 -1
  783. package/dist/server/utils/tools/dialect.js +7 -7
  784. package/dist/server/utils/tools/index.d.ts +2 -2
  785. package/dist/server/utils/tools/index.js +2 -2
  786. package/dist/server/utils/tools/parser.d.ts +1 -1
  787. package/dist/server/utils/tools/parser.js +14 -14
  788. package/dist/server/utils/tools/parsers/gemma4native.d.ts +2 -2
  789. package/dist/server/utils/tools/parsers/gemma4native.js +13 -8
  790. package/dist/server/utils/tools/parsers/harmony.d.ts +2 -2
  791. package/dist/server/utils/tools/parsers/harmony.js +9 -11
  792. package/dist/server/utils/tools/parsers/hermes.d.ts +2 -2
  793. package/dist/server/utils/tools/parsers/hermes.js +16 -16
  794. package/dist/server/utils/tools/parsers/json.d.ts +2 -2
  795. package/dist/server/utils/tools/parsers/json.js +14 -14
  796. package/dist/server/utils/tools/parsers/pythonic.d.ts +2 -2
  797. package/dist/server/utils/tools/parsers/pythonic.js +43 -43
  798. package/dist/server/utils/tools/parsers/qwen35.d.ts +2 -2
  799. package/dist/server/utils/tools/parsers/qwen35.js +20 -20
  800. package/dist/server/utils/tools/shared.d.ts +1 -1
  801. package/dist/server/utils/tools/shared.js +10 -12
  802. package/dist/server/utils/worker-lock.js +10 -10
  803. package/dist/server/worker-core.d.ts +1 -1
  804. package/dist/server/worker-core.js +44 -43
  805. package/dist/server/worker.js +9 -9
  806. package/dist/utils/aggregate-events.d.ts +2 -2
  807. package/dist/utils/aggregate-events.js +17 -19
  808. package/dist/utils/cache-normalize.js +1 -4
  809. package/dist/utils/encoding.js +1 -1
  810. package/dist/utils/errors-base.d.ts +1 -1
  811. package/dist/utils/errors-base.js +1 -1
  812. package/dist/utils/errors-client.d.ts +1 -1
  813. package/dist/utils/errors-client.js +5 -5
  814. package/dist/utils/errors-server.d.ts +3 -3
  815. package/dist/utils/errors-server.js +19 -18
  816. package/dist/utils/load-model-validation.js +3 -3
  817. package/dist/utils/mcp-adapter.d.ts +4 -4
  818. package/dist/utils/mcp-adapter.js +31 -38
  819. package/dist/utils/path-sanitize.js +14 -17
  820. package/dist/utils/tool-helpers.d.ts +2 -2
  821. package/dist/utils/tool-helpers.js +25 -26
  822. package/dist/utils/withTimeout.d.ts +7 -0
  823. package/dist/utils/withTimeout.js +11 -1
  824. package/dist/utils/zod-error.d.ts +1 -1
  825. package/dist/utils/zod-error.js +1 -1
  826. package/electron-forge/index.cjs +274 -317
  827. package/expo/plugins/patches/android-link.mjs +25 -30
  828. package/expo/plugins/patches/ios-link.mjs +25 -30
  829. package/package.json +21 -17
@@ -1,26 +1,26 @@
1
- import fs, { promises as fsPromises } from "bare-fs";
2
- import path from "bare-path";
3
- import Corestore from "corestore";
4
- import Hyperswarm, {} from "hyperswarm";
5
- import Hyperdrive from "hyperdrive";
6
- import {} from "bare-stream";
7
- import { getQvacPath } from "../../../utils/qvac-paths.js";
8
- import { getModelsCacheDir, generateShortHash, detectShardedModel, getShardedModelCacheDir, getShardPath, checkShardCompleteness, measureChecksum, extractTensorsFromShards, calculatePercentage, } from "../../../utils/index.js";
9
- import { getModelBySrc } from "../../../../models/registry/index.js";
10
- import { createHyperdriveDownloadKey, startOrJoinDownload, applyJoinedDownloadStats, } from "./download-manager.js";
11
- import { getSDKConfig } from "../../../bare/registry/config-registry.js";
12
- import { FileNotFoundError, ChecksumValidationFailedError, DownloadCancelledError, HyperdriveDownloadFailedError, ModelLoadFailedError, NoBlobFoundError, } from "../../../../utils/errors-server.js";
13
- import { getServerLogger } from "../../../../logging/index.js";
14
- import { registerSwarm, unregisterSwarm, registerCorestore, unregisterCorestore, } from "../../../bare/runtime-lifecycle.js";
15
- import { Buffer } from "bare-buffer";
1
+ import fs, { promises as fsPromises } from 'bare-fs';
2
+ import path from 'bare-path';
3
+ import Corestore from 'corestore';
4
+ import Hyperswarm, {} from 'hyperswarm';
5
+ import Hyperdrive from 'hyperdrive';
6
+ import {} from 'bare-stream';
7
+ import { getQvacPath } from '../../../utils/qvac-paths.js';
8
+ import { getModelsCacheDir, generateShortHash, detectShardedModel, getShardedModelCacheDir, getShardPath, checkShardCompleteness, measureChecksum, extractTensorsFromShards, calculatePercentage } from '../../../utils/index.js';
9
+ import { getModelBySrc } from '../../../../models/registry/index.js';
10
+ import { createHyperdriveDownloadKey, startOrJoinDownload, applyJoinedDownloadStats } from './download-manager.js';
11
+ import { getSDKConfig } from '../../../bare/registry/config-registry.js';
12
+ import { FileNotFoundError, ChecksumValidationFailedError, DownloadCancelledError, HyperdriveDownloadFailedError, ModelLoadFailedError, NoBlobFoundError } from '../../../../utils/errors-server.js';
13
+ import { getServerLogger } from '../../../../logging/index.js';
14
+ import { registerSwarm, unregisterSwarm, registerCorestore, unregisterCorestore } from '../../../bare/runtime-lifecycle.js';
15
+ import { Buffer } from 'bare-buffer';
16
16
  const logger = getServerLogger();
17
17
  function getCorestoreDir(hyperdriveKey) {
18
- return getQvacPath("corestore", hyperdriveKey);
18
+ return getQvacPath('corestore', hyperdriveKey);
19
19
  }
20
20
  async function setupHyperdrive(hyperdriveKey, corestoreDir) {
21
21
  const corestore = new Corestore(corestoreDir);
22
22
  await corestore.ready();
23
- const drive = new Hyperdrive(corestore, Buffer.from(hyperdriveKey, "hex"));
23
+ const drive = new Hyperdrive(corestore, Buffer.from(hyperdriveKey, 'hex'));
24
24
  await drive.ready();
25
25
  const getRelays = () => {
26
26
  const config = getSDKConfig();
@@ -28,14 +28,14 @@ async function setupHyperdrive(hyperdriveKey, corestoreDir) {
28
28
  if (!relayPublicKeys || relayPublicKeys.length === 0) {
29
29
  return null;
30
30
  }
31
- return relayPublicKeys.map((key) => Buffer.from(key, "hex"));
31
+ return relayPublicKeys.map((key) => Buffer.from(key, 'hex'));
32
32
  };
33
33
  const swarmOptions = {
34
- relayThrough: getRelays,
34
+ relayThrough: getRelays
35
35
  };
36
36
  const swarm = new Hyperswarm(swarmOptions);
37
37
  const doneFindingPeers = drive.findingPeers();
38
- swarm.on("connection", (connection) => {
38
+ swarm.on('connection', (connection) => {
39
39
  logger.debug(`🤝 Connected to peer for hyperdrive download`);
40
40
  drive.replicate(connection);
41
41
  });
@@ -43,23 +43,23 @@ async function setupHyperdrive(hyperdriveKey, corestoreDir) {
43
43
  swarm.flush().then(doneFindingPeers, doneFindingPeers);
44
44
  registerCorestore(corestore, {
45
45
  label: `hyperdrive:${hyperdriveKey}`,
46
- createdAt: Date.now(),
46
+ createdAt: Date.now()
47
47
  });
48
48
  registerSwarm(swarm, {
49
49
  label: `hyperdrive:${hyperdriveKey}`,
50
- createdAt: Date.now(),
50
+ createdAt: Date.now()
51
51
  });
52
52
  return { corestore, drive, swarm, corestoreDir };
53
53
  }
54
54
  async function cleanupHyperdrive(setup) {
55
- logger.debug("🧹 Cleaning up hyperdrive setup");
55
+ logger.debug('🧹 Cleaning up hyperdrive setup');
56
56
  try {
57
57
  if (!setup.swarm.suspended) {
58
58
  try {
59
59
  await setup.swarm.suspend();
60
60
  }
61
61
  catch (error) {
62
- logger.debug("⚠️ Swarm suspend failed during cleanup:", error instanceof Error ? error.message : String(error));
62
+ logger.debug('⚠️ Swarm suspend failed during cleanup:', error instanceof Error ? error.message : String(error));
63
63
  }
64
64
  }
65
65
  await setup.swarm.destroy();
@@ -102,7 +102,7 @@ async function findFileInHyperdrive(drive, modelFileName) {
102
102
  const availableFiles = [];
103
103
  try {
104
104
  // Try both with and without leading slash
105
- for (const prefix of ["/", ""]) {
105
+ for (const prefix of ['/', '']) {
106
106
  const files = drive.list(prefix, { recursive: true, wait: true });
107
107
  for await (const file of files) {
108
108
  availableFiles.push(file.key);
@@ -115,8 +115,8 @@ async function findFileInHyperdrive(drive, modelFileName) {
115
115
  // Ignore listing errors
116
116
  }
117
117
  const filesInfo = availableFiles.length > 0
118
- ? `Available files: ${availableFiles.join(", ")}`
119
- : "Could not list available files";
118
+ ? `Available files: ${availableFiles.join(', ')}`
119
+ : 'Could not list available files';
120
120
  throw new FileNotFoundError(`${modelFileName} in hyperdrive. ${filesInfo}`);
121
121
  }
122
122
  async function checkFileDownloaded(drive, entry) {
@@ -127,7 +127,7 @@ async function checkFileDownloaded(drive, entry) {
127
127
  blobs,
128
128
  blocksDownloaded: 0,
129
129
  totalBlocks: 0,
130
- totalBytes: 0,
130
+ totalBytes: 0
131
131
  };
132
132
  }
133
133
  // Check how many blocks are already downloaded
@@ -142,7 +142,7 @@ async function checkFileDownloaded(drive, entry) {
142
142
  blobs,
143
143
  blocksDownloaded,
144
144
  totalBlocks: blob.blockLength,
145
- totalBytes: blob.byteLength,
145
+ totalBytes: blob.byteLength
146
146
  };
147
147
  }
148
148
  async function validateFileExistence(drive, file) {
@@ -154,7 +154,7 @@ async function validateFileExistence(drive, file) {
154
154
  targetPath,
155
155
  blocksDownloaded,
156
156
  totalBlocks,
157
- totalBytes,
157
+ totalBytes
158
158
  };
159
159
  }
160
160
  async function validateCachedFile(modelPath, modelFileName, expectedSize, expectedChecksum, hooks) {
@@ -193,19 +193,19 @@ async function downloadSingleFileToFilesystem(modelPath, modelFileName, hyperdri
193
193
  logger.info(`Downloading model from hyperdrive ${hyperdriveKey} to ${modelPath}`);
194
194
  const setup = await setupHyperdrive(hyperdriveKey, corestoreDir);
195
195
  const cleanup = () => {
196
- logger.info("🛑 Aborting hyperdrive download...");
196
+ logger.info('🛑 Aborting hyperdrive download...');
197
197
  setup.swarm.suspended = true;
198
198
  setup.swarm.suspend().catch(() => {
199
199
  // Ignore errors during emergency suspend
200
200
  });
201
201
  };
202
- signal?.addEventListener("abort", cleanup);
202
+ signal?.addEventListener('abort', cleanup);
203
203
  let downloadSucceeded = false;
204
204
  try {
205
205
  const progressContext = progressCallback
206
206
  ? {
207
207
  downloadKey,
208
- callback: progressCallback,
208
+ callback: progressCallback
209
209
  }
210
210
  : undefined;
211
211
  await downloadAndValidateFile(setup.drive, modelFileName, modelPath, 0, // Size will be determined from drive
@@ -216,11 +216,11 @@ async function downloadSingleFileToFilesystem(modelPath, modelFileName, hyperdri
216
216
  try {
217
217
  const stats = await fsPromises.stat(modelPath);
218
218
  progressCallback({
219
- type: "modelProgress",
219
+ type: 'modelProgress',
220
220
  downloaded: stats.size,
221
221
  total: stats.size,
222
222
  percentage: 100,
223
- downloadKey,
223
+ downloadKey
224
224
  });
225
225
  }
226
226
  catch {
@@ -230,14 +230,14 @@ async function downloadSingleFileToFilesystem(modelPath, modelFileName, hyperdri
230
230
  downloadSucceeded = true;
231
231
  }
232
232
  catch (error) {
233
- logger.error("❌ Error during hyperdrive download:", error instanceof Error ? error.message : String(error));
233
+ logger.error('❌ Error during hyperdrive download:', error instanceof Error ? error.message : String(error));
234
234
  if (error instanceof DownloadCancelledError) {
235
235
  throw error;
236
236
  }
237
237
  throw new HyperdriveDownloadFailedError(`Download failed for ${modelFileName} from hyperdrive: ${hyperdriveKey}`, error);
238
238
  }
239
239
  finally {
240
- signal?.removeEventListener("abort", cleanup);
240
+ signal?.removeEventListener('abort', cleanup);
241
241
  if (!seed) {
242
242
  await cleanupHyperdrive(setup);
243
243
  // Delete only after close - Windows EBUSY on LOCK if deleted before corestore.close()
@@ -251,9 +251,9 @@ async function downloadSingleFileToFilesystem(modelPath, modelFileName, hyperdri
251
251
  await fsPromises.unlink(modelPath);
252
252
  }
253
253
  catch (cleanupError) {
254
- logger.debug("Failed to delete partial model file during cleanup", {
254
+ logger.debug('Failed to delete partial model file during cleanup', {
255
255
  path: modelPath,
256
- error: cleanupError,
256
+ error: cleanupError
257
257
  });
258
258
  }
259
259
  await deleteCorestoreDirectory(corestoreDir);
@@ -261,7 +261,7 @@ async function downloadSingleFileToFilesystem(modelPath, modelFileName, hyperdri
261
261
  }
262
262
  }
263
263
  async function downloadAndValidateFile(drive, sourceFileName, targetFilePath, expectedSize, expectedChecksum, progressContext, signal, hooks) {
264
- const { entry, blobs, targetPath, blocksDownloaded, totalBlocks, totalBytes, } = await validateFileExistence(drive, sourceFileName);
264
+ const { entry, blobs, targetPath, blocksDownloaded, totalBlocks, totalBytes } = await validateFileExistence(drive, sourceFileName);
265
265
  const blob = entry?.value?.blob;
266
266
  if (!blob) {
267
267
  throw new NoBlobFoundError(sourceFileName);
@@ -274,17 +274,16 @@ async function downloadAndValidateFile(drive, sourceFileName, targetFilePath, ex
274
274
  const initialBytes = Math.floor(blocksDownloaded * bytesPerBlock);
275
275
  downloadedBytes = initialBytes;
276
276
  const progressHandler = (index, bytes) => {
277
- if (index >= blob.blockOffset &&
278
- index < blob.blockOffset + blob.blockLength) {
277
+ if (index >= blob.blockOffset && index < blob.blockOffset + blob.blockLength) {
279
278
  downloadedBytes += bytes;
280
279
  const cappedDownloaded = Math.min(downloadedBytes, totalBytes);
281
280
  if (progressContext) {
282
281
  const baseProgress = {
283
- type: "modelProgress",
282
+ type: 'modelProgress',
284
283
  downloaded: cappedDownloaded,
285
284
  total: totalBytes,
286
285
  percentage: calculatePercentage(cappedDownloaded, totalBytes),
287
- downloadKey: progressContext.downloadKey,
286
+ downloadKey: progressContext.downloadKey
288
287
  };
289
288
  if (progressContext.shardInfo) {
290
289
  const currentOverall = progressContext.shardInfo.overallDownloaded + cappedDownloaded;
@@ -297,10 +296,9 @@ async function downloadAndValidateFile(drive, sourceFileName, targetFilePath, ex
297
296
  overallDownloaded: currentOverall,
298
297
  overallTotal: progressContext.shardInfo.overallTotal,
299
298
  overallPercentage: progressContext.shardInfo.overallTotal > 0
300
- ? (currentOverall / progressContext.shardInfo.overallTotal) *
301
- 100
302
- : 0,
303
- },
299
+ ? (currentOverall / progressContext.shardInfo.overallTotal) * 100
300
+ : 0
301
+ }
304
302
  });
305
303
  }
306
304
  else {
@@ -309,7 +307,7 @@ async function downloadAndValidateFile(drive, sourceFileName, targetFilePath, ex
309
307
  }
310
308
  }
311
309
  };
312
- blobs.core.on("download", progressHandler);
310
+ blobs.core.on('download', progressHandler);
313
311
  let readStream;
314
312
  let writeStream;
315
313
  try {
@@ -319,12 +317,12 @@ async function downloadAndValidateFile(drive, sourceFileName, targetFilePath, ex
319
317
  writeStream = fs.createWriteStream(targetFilePath);
320
318
  readStream.pipe(writeStream);
321
319
  await new Promise((resolve, reject) => {
322
- writeStream.on("finish", resolve);
323
- writeStream.on("error", reject);
324
- readStream.on("error", reject);
325
- signal?.addEventListener("abort", () => reject(new DownloadCancelledError()), { once: true });
320
+ writeStream.on('finish', resolve);
321
+ writeStream.on('error', reject);
322
+ readStream.on('error', reject);
323
+ signal?.addEventListener('abort', () => reject(new DownloadCancelledError()), { once: true });
326
324
  });
327
- blobs.core.off("download", progressHandler);
325
+ blobs.core.off('download', progressHandler);
328
326
  // Validate file size
329
327
  const stats = await fsPromises.stat(targetFilePath);
330
328
  if (stats.size !== fileSizeToValidate) {
@@ -349,7 +347,7 @@ async function downloadAndValidateFile(drive, sourceFileName, targetFilePath, ex
349
347
  if (writeStream) {
350
348
  writeStream.destroy();
351
349
  }
352
- blobs.core.off("download", progressHandler);
350
+ blobs.core.off('download', progressHandler);
353
351
  throw error;
354
352
  }
355
353
  }
@@ -374,7 +372,7 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
374
372
  const overallTotal = shardMetadata.reduce((sum, shard) => sum + shard.expectedSize, 0);
375
373
  const lastFile = allFiles[allFiles.length - 1];
376
374
  progressCallback({
377
- type: "modelProgress",
375
+ type: 'modelProgress',
378
376
  downloaded: overallTotal,
379
377
  total: overallTotal,
380
378
  percentage: 100,
@@ -385,8 +383,8 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
385
383
  shardName: lastFile,
386
384
  overallDownloaded: overallTotal,
387
385
  overallTotal,
388
- overallPercentage: 100,
389
- },
386
+ overallPercentage: 100
387
+ }
390
388
  });
391
389
  }
392
390
  await extractTensorsFromShards(shardDir, firstShardFileName);
@@ -398,13 +396,13 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
398
396
  const corestoreDir = getCorestoreDir(hyperdriveKey);
399
397
  const setup = await setupHyperdrive(hyperdriveKey, corestoreDir);
400
398
  const cleanup = () => {
401
- logger.info("🛑 Aborting sharded hyperdrive download...");
399
+ logger.info('🛑 Aborting sharded hyperdrive download...');
402
400
  setup.swarm.suspended = true;
403
401
  setup.swarm.suspend().catch(() => {
404
402
  // Ignore errors during emergency suspend
405
403
  });
406
404
  };
407
- signal?.addEventListener("abort", cleanup);
405
+ signal?.addEventListener('abort', cleanup);
408
406
  let downloadSucceeded = false;
409
407
  try {
410
408
  // Calculate overall progress
@@ -425,7 +423,7 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
425
423
  // Report progress for skipped files
426
424
  if (progressCallback) {
427
425
  progressCallback({
428
- type: "modelProgress",
426
+ type: 'modelProgress',
429
427
  downloaded: fileMeta.expectedSize,
430
428
  total: fileMeta.expectedSize,
431
429
  percentage: 100,
@@ -436,8 +434,8 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
436
434
  shardName: file,
437
435
  overallDownloaded,
438
436
  overallTotal,
439
- overallPercentage: calculatePercentage(overallDownloaded, overallTotal),
440
- },
437
+ overallPercentage: calculatePercentage(overallDownloaded, overallTotal)
438
+ }
441
439
  });
442
440
  }
443
441
  continue;
@@ -452,8 +450,8 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
452
450
  totalShards: allFiles.length,
453
451
  shardName: file,
454
452
  overallDownloaded,
455
- overallTotal,
456
- },
453
+ overallTotal
454
+ }
457
455
  }
458
456
  : undefined;
459
457
  await downloadAndValidateFile(setup.drive, file, filePath, fileMeta.expectedSize, fileMeta.sha256Checksum, progressContext, signal, hooks);
@@ -466,7 +464,7 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
466
464
  if (progressCallback && overallDownloaded === overallTotal) {
467
465
  const lastFile = allFiles[allFiles.length - 1];
468
466
  progressCallback({
469
- type: "modelProgress",
467
+ type: 'modelProgress',
470
468
  downloaded: overallTotal,
471
469
  total: overallTotal,
472
470
  percentage: 100,
@@ -477,15 +475,15 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
477
475
  shardName: lastFile,
478
476
  overallDownloaded,
479
477
  overallTotal,
480
- overallPercentage: 100,
481
- },
478
+ overallPercentage: 100
479
+ }
482
480
  });
483
481
  }
484
482
  await extractTensorsFromShards(shardDir, firstShardFileName);
485
483
  downloadSucceeded = true;
486
484
  }
487
485
  catch (error) {
488
- logger.error("❌ Error during sharded hyperdrive download:", error instanceof Error ? error.message : String(error));
486
+ logger.error('❌ Error during sharded hyperdrive download:', error instanceof Error ? error.message : String(error));
489
487
  // Preserve cancellation errors
490
488
  if (error instanceof DownloadCancelledError) {
491
489
  throw error;
@@ -493,7 +491,7 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
493
491
  throw new HyperdriveDownloadFailedError(`Sharded download failed for ${firstShardFileName} from hyperdrive: ${hyperdriveKey}`, error);
494
492
  }
495
493
  finally {
496
- signal?.removeEventListener("abort", cleanup);
494
+ signal?.removeEventListener('abort', cleanup);
497
495
  if (!seed) {
498
496
  await cleanupHyperdrive(setup);
499
497
  // Delete only after close - Windows EBUSY on LOCK if deleted before corestore.close()
@@ -524,7 +522,7 @@ export async function downloadModelFromHyperdrive(hyperdriveKey, modelFileName,
524
522
  markCacheMiss: () => {
525
523
  hooks?.markCacheMiss?.();
526
524
  ctx.setCacheHit(false);
527
- },
525
+ }
528
526
  };
529
527
  return downloadShardedFilesToFilesystem(hyperdriveKey, modelFileName, model.shardMetadata, ctx.broadcastProgress, seed, ctx.signal, hooksWithCacheHit, ctx.shouldClearCache);
530
528
  }
@@ -540,11 +538,11 @@ export async function downloadModelFromHyperdrive(hyperdriveKey, modelFileName,
540
538
  hooks?.markCacheHit?.();
541
539
  ctx.setCacheHit(true);
542
540
  ctx.broadcastProgress({
543
- type: "modelProgress",
541
+ type: 'modelProgress',
544
542
  downloaded: model.expectedSize,
545
543
  total: model.expectedSize,
546
544
  percentage: 100,
547
- downloadKey,
545
+ downloadKey
548
546
  });
549
547
  // Delete any leftover corestore directory from previous runs (only when not seeding)
550
548
  if (!seed) {
@@ -555,7 +553,7 @@ export async function downloadModelFromHyperdrive(hyperdriveKey, modelFileName,
555
553
  }
556
554
  hooks?.markCacheMiss?.();
557
555
  ctx.setCacheHit(false);
558
- const checksumToValidate = expectedChecksum || model?.sha256Checksum || "";
556
+ const checksumToValidate = expectedChecksum || model?.sha256Checksum || '';
559
557
  await downloadSingleFileToFilesystem(modelPath, modelFileName, hyperdriveKey, corestoreDir, downloadKey, checksumToValidate, ctx.broadcastProgress, seed, ctx.signal, hooks, ctx.shouldClearCache);
560
558
  return modelPath;
561
559
  }, progressCallback, hooks?.requestBinding);
@@ -1,3 +1,3 @@
1
- export { handleLoadModel } from "./handler";
2
- export { resolveModelPath } from "./resolve";
1
+ export { handleLoadModel } from './handler';
2
+ export { resolveModelPath } from './resolve';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- export { handleLoadModel } from "./handler.js";
2
- export { resolveModelPath } from "./resolve.js";
1
+ export { handleLoadModel } from './handler.js';
2
+ export { resolveModelPath } from './resolve.js';
@@ -1,4 +1,4 @@
1
- import type { QvacConfig } from "../../../../schemas/index";
1
+ import type { QvacConfig } from '../../../../schemas/index';
2
2
  export declare const DEFAULT_REGISTRY_STREAM_TIMEOUT_MS = 60000;
3
3
  export interface RegistryClientDownloadOptions {
4
4
  timeout: number;
@@ -16,7 +16,7 @@ export interface RegistryClientDownloadOptions {
16
16
  * unit-tested without standing up a real registry client.
17
17
  */
18
18
  export declare function buildRegistryClientOptions(params: {
19
- sdkConfig: Pick<QvacConfig, "registryStreamTimeoutMs" | "registryDownloadMaxRetries">;
19
+ sdkConfig: Pick<QvacConfig, 'registryStreamTimeoutMs' | 'registryDownloadMaxRetries'>;
20
20
  outputFile: string;
21
21
  onProgress?: ((progress: {
22
22
  downloaded: number;
@@ -6,14 +6,13 @@ export const DEFAULT_REGISTRY_STREAM_TIMEOUT_MS = 60_000;
6
6
  */
7
7
  export function buildRegistryClientOptions(params) {
8
8
  const { sdkConfig, outputFile, onProgress, signal } = params;
9
- const timeout = sdkConfig.registryStreamTimeoutMs
10
- ?? DEFAULT_REGISTRY_STREAM_TIMEOUT_MS;
9
+ const timeout = sdkConfig.registryStreamTimeoutMs ?? DEFAULT_REGISTRY_STREAM_TIMEOUT_MS;
11
10
  const maxRetries = sdkConfig.registryDownloadMaxRetries;
12
11
  return {
13
12
  timeout,
14
13
  outputFile,
15
14
  ...(maxRetries !== undefined && { maxRetries }),
16
15
  ...(onProgress && { onProgress }),
17
- ...(signal && { signal: signal }),
16
+ ...(signal && { signal: signal })
18
17
  };
19
18
  }
@@ -1,8 +1,8 @@
1
- import type { ModelProgressUpdate } from "../../../../schemas/index";
2
- import type { RegistryItem } from "../../../../models/registry/index";
3
- import type { AbortSignal } from "bare-abort-controller";
4
- import type { DownloadHooks } from "./types";
5
- type CompanionSetMetadata = NonNullable<RegistryItem["companionSet"]>;
1
+ import type { ModelProgressUpdate } from '../../../../schemas/index';
2
+ import type { RegistryItem } from '../../../../models/registry/index';
3
+ import type { AbortSignal } from 'bare-abort-controller';
4
+ import type { DownloadHooks } from './types';
5
+ type CompanionSetMetadata = NonNullable<RegistryItem['companionSet']>;
6
6
  export interface DownloadCompanionSetOptions {
7
7
  companionSet: CompanionSetMetadata;
8
8
  downloadKey: string;
@@ -1,10 +1,10 @@
1
- import { promises as fsPromises } from "bare-fs";
2
- import { getModelsCacheDir, getCompanionSetPath, getCompanionSetCacheDir, getSingleFileCachePath, generateShortHash, calculatePercentage, } from "../../../utils/index.js";
3
- import { measureChecksum } from "../../../utils/checksum.js";
4
- import { validateAndJoinPath } from "../../../utils/path-security.js";
5
- import { buildBlobBinding, downloadSingleFileFromRegistry, validateCachedFile, } from "./registry-download-utils.js";
6
- import { DownloadCancelledError, RegistryDownloadFailedError, } from "../../../../utils/errors-server.js";
7
- import { getServerLogger } from "../../../../logging/index.js";
1
+ import { promises as fsPromises } from 'bare-fs';
2
+ import { getModelsCacheDir, getCompanionSetPath, getCompanionSetCacheDir, getSingleFileCachePath, generateShortHash, calculatePercentage } from '../../../utils/index.js';
3
+ import { measureChecksum } from '../../../utils/checksum.js';
4
+ import { validateAndJoinPath } from '../../../utils/path-security.js';
5
+ import { buildBlobBinding, downloadSingleFileFromRegistry, validateCachedFile } from './registry-download-utils.js';
6
+ import { DownloadCancelledError, RegistryDownloadFailedError } from '../../../../utils/errors-server.js';
7
+ import { getServerLogger } from '../../../../logging/index.js';
8
8
  const logger = getServerLogger();
9
9
  /**
10
10
  * Download a companion set from the registry, placing files directly
@@ -13,7 +13,7 @@ const logger = getServerLogger();
13
13
  * Returns the path to the primary file.
14
14
  */
15
15
  export async function downloadCompanionSetFromRegistry(options) {
16
- const { companionSet, downloadKey, allowLegacyFlatCache = false, progressCallback, signal, hooks, shouldClearCache, } = options;
16
+ const { companionSet, downloadKey, allowLegacyFlatCache = false, progressCallback, signal, hooks, shouldClearCache } = options;
17
17
  const { files, setKey, primaryKey } = companionSet;
18
18
  validateCompanionSetMetadata(files, primaryKey);
19
19
  const primaryEntry = files.find((f) => f.key === primaryKey);
@@ -79,14 +79,12 @@ export async function downloadCompanionSetFromRegistry(options) {
79
79
  totalFiles: files.length,
80
80
  overallDownloaded: currentOverall,
81
81
  overallTotal,
82
- overallPercentage: calculatePercentage(currentOverall, overallTotal),
83
- },
82
+ overallPercentage: calculatePercentage(currentOverall, overallTotal)
83
+ }
84
84
  });
85
85
  }
86
86
  : undefined;
87
- const blobBinding = file.blobCoreKey
88
- ? buildBlobBinding(file)
89
- : undefined;
87
+ const blobBinding = file.blobCoreKey ? buildBlobBinding(file) : undefined;
90
88
  await downloadSingleFileFromRegistry(file.registryPath, file.registrySource, filePath, file.targetName, downloadKey, file.expectedSize, file.sha256Checksum, fileProgressCallback, signal, blobBinding, hooks);
91
89
  overallDownloaded += file.expectedSize;
92
90
  }
@@ -96,13 +94,13 @@ export async function downloadCompanionSetFromRegistry(options) {
96
94
  try {
97
95
  await fsPromises.rm(getCompanionSetCacheDir(setKey), {
98
96
  recursive: true,
99
- force: true,
97
+ force: true
100
98
  });
101
99
  }
102
100
  catch (cleanupError) {
103
- logger.debug("Failed to delete companion set cache during cleanup", {
101
+ logger.debug('Failed to delete companion set cache during cleanup', {
104
102
  setKey,
105
- error: cleanupError,
103
+ error: cleanupError
106
104
  });
107
105
  }
108
106
  }
@@ -117,7 +115,7 @@ function emitFinalProgress(progressCallback, downloadKey, setKey, files) {
117
115
  const overallTotal = files.reduce((sum, f) => sum + f.expectedSize, 0);
118
116
  const lastFile = files[files.length - 1];
119
117
  progressCallback({
120
- type: "modelProgress",
118
+ type: 'modelProgress',
121
119
  downloaded: overallTotal,
122
120
  total: overallTotal,
123
121
  percentage: 100,
@@ -129,8 +127,8 @@ function emitFinalProgress(progressCallback, downloadKey, setKey, files) {
129
127
  totalFiles: files.length,
130
128
  overallDownloaded: overallTotal,
131
129
  overallTotal,
132
- overallPercentage: 100,
133
- },
130
+ overallPercentage: 100
131
+ }
134
132
  });
135
133
  }
136
134
  function validateCompanionSetMetadata(files, primaryKey) {
@@ -146,7 +144,7 @@ function validateCompanionSetMetadata(files, primaryKey) {
146
144
  }
147
145
  }
148
146
  function isLegacyOnnxSet(files) {
149
- return files.some((f) => f.primary === true && f.targetName.endsWith(".onnx"));
147
+ return files.some((f) => f.primary === true && f.targetName.endsWith('.onnx'));
150
148
  }
151
149
  /**
152
150
  * Check if a complete legacy ONNX cache exists for a companion set.
@@ -178,7 +176,7 @@ async function checkLegacyOnnxCache(primaryRegistryPath, files, hooks) {
178
176
  }
179
177
  function getLegacyOnnxPath(cacheKey, filename) {
180
178
  const baseCache = getModelsCacheDir();
181
- return validateAndJoinPath(baseCache, "onnx", cacheKey, filename);
179
+ return validateAndJoinPath(baseCache, 'onnx', cacheKey, filename);
182
180
  }
183
181
  /**
184
182
  * Check if all companion files exist in the flat single-file cache.
@@ -1,9 +1,9 @@
1
- import type { ModelProgressUpdate } from "../../../../schemas/index";
2
- import type { QVACBlobBinding } from "@qvac/registry-client";
3
- import type { AbortSignal } from "bare-abort-controller";
4
- import type { DownloadHooks } from "./types";
5
- export { DEFAULT_REGISTRY_STREAM_TIMEOUT_MS, buildRegistryClientOptions, } from "./registry-client-options";
6
- export type { RegistryClientDownloadOptions } from "./registry-client-options";
1
+ import type { ModelProgressUpdate } from '../../../../schemas/index';
2
+ import type { QVACBlobBinding } from '@qvac/registry-client';
3
+ import type { AbortSignal } from 'bare-abort-controller';
4
+ import type { DownloadHooks } from './types';
5
+ export { DEFAULT_REGISTRY_STREAM_TIMEOUT_MS, buildRegistryClientOptions } from './registry-client-options';
6
+ export type { RegistryClientDownloadOptions } from './registry-client-options';
7
7
  export declare function buildBlobBinding(meta: {
8
8
  blobCoreKey: string;
9
9
  blobBlockOffset: number;