@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,20 +1,20 @@
1
- import { promises as fsPromises } from "bare-fs";
2
- import path from "bare-path";
3
- import { measureChecksum, calculatePercentage, } from "../../../utils/index.js";
4
- import { getRegistryClient } from "../../../bare/registry/registry-client.js";
5
- import { getSDKConfig } from "../../../bare/registry/config-registry.js";
6
- import { buildRegistryClientOptions } from "./registry-client-options.js";
7
- import { ChecksumValidationFailedError, DownloadCancelledError, } from "../../../../utils/errors-server.js";
8
- import { getServerLogger } from "../../../../logging/index.js";
1
+ import { promises as fsPromises } from 'bare-fs';
2
+ import path from 'bare-path';
3
+ import { measureChecksum, calculatePercentage } from '../../../utils/index.js';
4
+ import { getRegistryClient } from '../../../bare/registry/registry-client.js';
5
+ import { getSDKConfig } from '../../../bare/registry/config-registry.js';
6
+ import { buildRegistryClientOptions } from './registry-client-options.js';
7
+ import { ChecksumValidationFailedError, DownloadCancelledError } from '../../../../utils/errors-server.js';
8
+ import { getServerLogger } from '../../../../logging/index.js';
9
9
  const logger = getServerLogger();
10
- export { DEFAULT_REGISTRY_STREAM_TIMEOUT_MS, buildRegistryClientOptions, } from "./registry-client-options.js";
10
+ export { DEFAULT_REGISTRY_STREAM_TIMEOUT_MS, buildRegistryClientOptions } from './registry-client-options.js';
11
11
  export function buildBlobBinding(meta) {
12
12
  return {
13
13
  coreKey: meta.blobCoreKey,
14
14
  blockOffset: meta.blobBlockOffset,
15
15
  blockLength: meta.blobBlockLength,
16
16
  byteOffset: meta.blobByteOffset,
17
- byteLength: meta.expectedSize,
17
+ byteLength: meta.expectedSize
18
18
  };
19
19
  }
20
20
  /**
@@ -64,13 +64,11 @@ export async function downloadSingleFileFromRegistry(registryPath, registrySourc
64
64
  ? (progress) => {
65
65
  const total = progress.total || expectedSize || progress.downloaded;
66
66
  progressCallback({
67
- type: "modelProgress",
67
+ type: 'modelProgress',
68
68
  downloaded: progress.downloaded,
69
69
  total,
70
- percentage: total > 0
71
- ? calculatePercentage(progress.downloaded, total)
72
- : 0,
73
- downloadKey,
70
+ percentage: total > 0 ? calculatePercentage(progress.downloaded, total) : 0,
71
+ downloadKey
74
72
  });
75
73
  }
76
74
  : undefined;
@@ -78,7 +76,7 @@ export async function downloadSingleFileFromRegistry(registryPath, registrySourc
78
76
  sdkConfig: getSDKConfig(),
79
77
  outputFile: modelPath,
80
78
  onProgress,
81
- signal,
79
+ signal
82
80
  });
83
81
  if (blobBinding) {
84
82
  logger.info(`📥 Downloading blob directly: ${modelFileName}`);
@@ -104,11 +102,11 @@ export async function downloadSingleFileFromRegistry(registryPath, registrySourc
104
102
  }
105
103
  if (progressCallback) {
106
104
  progressCallback({
107
- type: "modelProgress",
105
+ type: 'modelProgress',
108
106
  downloaded: stats.size,
109
107
  total: stats.size,
110
108
  percentage: 100,
111
- downloadKey,
109
+ downloadKey
112
110
  });
113
111
  }
114
112
  }
@@ -0,0 +1,11 @@
1
+ import type { RegistryItem } from '../../../../models/registry/index';
2
+ export type ExplicitRegistryMetadata = {
3
+ expectedSize?: number;
4
+ sha256Checksum?: string;
5
+ };
6
+ export declare function getExplicitRegistryMetadata(modelSrc: unknown): ExplicitRegistryMetadata | undefined;
7
+ export declare function resolveRegistryDownloadMetadata(modelMetadata: RegistryItem | undefined, explicitMetadata: ExplicitRegistryMetadata | undefined, expectedChecksum: string | undefined): {
8
+ expectedSize: number;
9
+ checksum: string;
10
+ };
11
+ //# sourceMappingURL=registry-metadata.d.ts.map
@@ -0,0 +1,23 @@
1
+ import { modelDescriptorSchema } from '../../../../schemas/index.js';
2
+ export function getExplicitRegistryMetadata(modelSrc) {
3
+ const parsed = modelDescriptorSchema.safeParse(modelSrc);
4
+ if (!parsed.success || !parsed.data.src.startsWith('registry://')) {
5
+ return undefined;
6
+ }
7
+ const metadata = {};
8
+ if (typeof parsed.data.expectedSize === 'number') {
9
+ metadata.expectedSize = parsed.data.expectedSize;
10
+ }
11
+ if (typeof parsed.data.sha256Checksum === 'string') {
12
+ metadata.sha256Checksum = parsed.data.sha256Checksum;
13
+ }
14
+ return metadata.expectedSize !== undefined || metadata.sha256Checksum !== undefined
15
+ ? metadata
16
+ : undefined;
17
+ }
18
+ export function resolveRegistryDownloadMetadata(modelMetadata, explicitMetadata, expectedChecksum) {
19
+ return {
20
+ expectedSize: modelMetadata?.expectedSize ?? explicitMetadata?.expectedSize ?? 0,
21
+ checksum: modelMetadata?.sha256Checksum ?? expectedChecksum ?? explicitMetadata?.sha256Checksum ?? ''
22
+ };
23
+ }
@@ -1,4 +1,5 @@
1
- import type { ModelProgressUpdate } from "../../../../schemas/index";
2
- import type { DownloadHooks } from "./types";
3
- export declare function downloadModelFromRegistry(registryPath: string, registrySource: string, progressCallback?: (progress: ModelProgressUpdate) => void, expectedChecksum?: string, hooks?: DownloadHooks): Promise<string>;
1
+ import type { ModelProgressUpdate } from '../../../../schemas/index';
2
+ import type { DownloadHooks } from './types';
3
+ import { type ExplicitRegistryMetadata } from './registry-metadata';
4
+ export declare function downloadModelFromRegistry(registryPath: string, registrySource: string, progressCallback?: (progress: ModelProgressUpdate) => void, expectedChecksum?: string, hooks?: DownloadHooks, explicitMetadata?: ExplicitRegistryMetadata): Promise<string>;
4
5
  //# sourceMappingURL=registry.d.ts.map
@@ -1,47 +1,46 @@
1
- import { promises as fsPromises } from "bare-fs";
2
- import { generateShortHash, detectShardedModel, getShardedModelCacheDir, getShardPath, extractTensorsFromShards, calculatePercentage, } from "../../../utils/index.js";
3
- import { getSingleFileCachePath } from "../../../utils/cache/paths.js";
4
- import { getModelByPath } from "../../../../models/registry/index.js";
5
- import { getRegistryClient } from "../../../bare/registry/registry-client.js";
6
- import { createRegistryDownloadKey, startOrJoinDownload, applyJoinedDownloadStats, } from "./download-manager.js";
7
- import { buildBlobBinding, validateCachedFile, downloadSingleFileFromRegistry, } from "./registry-download-utils.js";
8
- import { downloadCompanionSetFromRegistry } from "./registry-companion-set.js";
9
- import { DownloadCancelledError, ModelNotFoundError, RegistryDownloadFailedError, } from "../../../../utils/errors-server.js";
10
- import { getServerLogger } from "../../../../logging/index.js";
1
+ import { promises as fsPromises } from 'bare-fs';
2
+ import { generateShortHash, detectShardedModel, getShardedModelCacheDir, getShardPath, extractTensorsFromShards, calculatePercentage } from '../../../utils/index.js';
3
+ import { getSingleFileCachePath } from '../../../utils/cache/paths.js';
4
+ import { getModelByPath } from '../../../../models/registry/index.js';
5
+ import { getRegistryClient } from '../../../bare/registry/registry-client.js';
6
+ import { createRegistryDownloadKey, startOrJoinDownload, applyJoinedDownloadStats } from './download-manager.js';
7
+ import { buildBlobBinding, validateCachedFile, downloadSingleFileFromRegistry } from './registry-download-utils.js';
8
+ import { downloadCompanionSetFromRegistry } from './registry-companion-set.js';
9
+ import { DownloadCancelledError, ModelNotFoundError, RegistryDownloadFailedError } from '../../../../utils/errors-server.js';
10
+ import { getServerLogger } from '../../../../logging/index.js';
11
+ import { resolveRegistryDownloadMetadata } from './registry-metadata.js';
11
12
  const logger = getServerLogger();
12
13
  /**
13
14
  * Find all shards for a model using path prefix query.
14
15
  */
15
16
  async function findModelShards(registryPath) {
16
17
  const client = await getRegistryClient();
17
- const shardInfo = detectShardedModel(registryPath.split("/").pop() || "");
18
+ const shardInfo = detectShardedModel(registryPath.split('/').pop() || '');
18
19
  if (!shardInfo.isSharded) {
19
20
  throw new RegistryDownloadFailedError(`Not a sharded model path: ${registryPath}`);
20
21
  }
21
- const pathPrefix = registryPath.replace(/-\d{5}-of-\d{5}\./, ".");
22
- const basePath = pathPrefix.substring(0, pathPrefix.lastIndexOf("."));
22
+ const pathPrefix = registryPath.replace(/-\d{5}-of-\d{5}\./, '.');
23
+ const basePath = pathPrefix.substring(0, pathPrefix.lastIndexOf('.'));
23
24
  logger.info(`🔍 Finding shards with prefix: ${basePath}`);
24
25
  const shards = await client.findModels({
25
26
  gte: { path: basePath },
26
- lte: { path: basePath + "\uffff" },
27
+ lte: { path: basePath + '\uffff' }
27
28
  });
28
29
  const sortedShards = shards
29
30
  .filter((s) => {
30
- const info = detectShardedModel(s.path.split("/").pop() || "");
31
+ const info = detectShardedModel(s.path.split('/').pop() || '');
31
32
  return info.isSharded;
32
33
  })
33
34
  .sort((a, b) => {
34
- const aInfo = detectShardedModel(a.path.split("/").pop() || "");
35
- const bInfo = detectShardedModel(b.path.split("/").pop() || "");
35
+ const aInfo = detectShardedModel(a.path.split('/').pop() || '');
36
+ const bInfo = detectShardedModel(b.path.split('/').pop() || '');
36
37
  return (aInfo.currentShard || 0) - (bInfo.currentShard || 0);
37
38
  })
38
39
  .map((s) => ({
39
40
  path: s.path,
40
41
  source: s.source,
41
42
  size: s.blobBinding?.byteLength || 0,
42
- checksum: s.blobBinding?.["sha256"] ||
43
- s.sha256 ||
44
- "",
43
+ checksum: s.blobBinding?.['sha256'] || s.sha256 || ''
45
44
  }));
46
45
  logger.info(`📦 Found ${sortedShards.length} shards`);
47
46
  return sortedShards;
@@ -63,11 +62,11 @@ async function downloadShardedFilesFromRegistry(registryPath, registrySource, ca
63
62
  checksum: shard.sha256Checksum,
64
63
  path: registryPath,
65
64
  source: registrySource,
66
- blobBinding: buildBlobBinding(shard),
65
+ blobBinding: buildBlobBinding(shard)
67
66
  }));
68
67
  }
69
68
  else {
70
- const filename = registryPath.split("/").pop() || registryPath;
69
+ const filename = registryPath.split('/').pop() || registryPath;
71
70
  const shardInfo = detectShardedModel(filename);
72
71
  if (!shardInfo.isSharded || !shardInfo.totalShards) {
73
72
  throw new RegistryDownloadFailedError(`Not a sharded model: ${filename}`);
@@ -80,11 +79,11 @@ async function downloadShardedFilesFromRegistry(registryPath, registrySource, ca
80
79
  logger.warn(`⚠️ Expected ${shardInfo.totalShards} shards but found ${remoteShards.length}`);
81
80
  }
82
81
  shards = remoteShards.map((s) => ({
83
- filename: s.path.split("/").pop() || "",
82
+ filename: s.path.split('/').pop() || '',
84
83
  size: s.size,
85
84
  checksum: s.checksum,
86
85
  path: s.path,
87
- source: s.source,
86
+ source: s.source
88
87
  }));
89
88
  }
90
89
  const shardDir = getShardedModelCacheDir(cacheKey);
@@ -104,7 +103,7 @@ async function downloadShardedFilesFromRegistry(registryPath, registrySource, ca
104
103
  overallDownloaded += shard.size;
105
104
  if (progressCallback) {
106
105
  progressCallback({
107
- type: "modelProgress",
106
+ type: 'modelProgress',
108
107
  downloaded: shard.size,
109
108
  total: shard.size,
110
109
  percentage: 100,
@@ -115,8 +114,8 @@ async function downloadShardedFilesFromRegistry(registryPath, registrySource, ca
115
114
  shardName: shard.filename,
116
115
  overallDownloaded,
117
116
  overallTotal,
118
- overallPercentage: calculatePercentage(overallDownloaded, overallTotal),
119
- },
117
+ overallPercentage: calculatePercentage(overallDownloaded, overallTotal)
118
+ }
120
119
  });
121
120
  }
122
121
  continue;
@@ -134,8 +133,8 @@ async function downloadShardedFilesFromRegistry(registryPath, registrySource, ca
134
133
  shardName: shard.filename,
135
134
  overallDownloaded: currentOverall,
136
135
  overallTotal,
137
- overallPercentage: calculatePercentage(currentOverall, overallTotal),
138
- },
136
+ overallPercentage: calculatePercentage(currentOverall, overallTotal)
137
+ }
139
138
  });
140
139
  }
141
140
  : undefined;
@@ -148,7 +147,7 @@ async function downloadShardedFilesFromRegistry(registryPath, registrySource, ca
148
147
  if (progressCallback) {
149
148
  const lastShard = shards[shards.length - 1];
150
149
  progressCallback({
151
- type: "modelProgress",
150
+ type: 'modelProgress',
152
151
  downloaded: overallTotal,
153
152
  total: overallTotal,
154
153
  percentage: 100,
@@ -159,16 +158,16 @@ async function downloadShardedFilesFromRegistry(registryPath, registrySource, ca
159
158
  shardName: lastShard.filename,
160
159
  overallDownloaded: overallTotal,
161
160
  overallTotal,
162
- overallPercentage: 100,
163
- },
161
+ overallPercentage: 100
162
+ }
164
163
  });
165
164
  }
166
165
  return getShardPath(cacheKey, firstShardFilename);
167
166
  }
168
- export async function downloadModelFromRegistry(registryPath, registrySource, progressCallback, expectedChecksum, hooks) {
167
+ export async function downloadModelFromRegistry(registryPath, registrySource, progressCallback, expectedChecksum, hooks, explicitMetadata) {
169
168
  const downloadKey = createRegistryDownloadKey(registrySource, registryPath);
170
169
  hooks?.onDownloadKey?.(downloadKey);
171
- const filename = registryPath.split("/").pop() || registryPath;
170
+ const filename = registryPath.split('/').pop() || registryPath;
172
171
  const shardInfo = detectShardedModel(filename);
173
172
  // Look up model metadata from our generated models.ts
174
173
  const modelMetadata = getModelByPath(registryPath);
@@ -194,7 +193,7 @@ export async function downloadModelFromRegistry(registryPath, registrySource, pr
194
193
  ctx.setCacheHit(true);
195
194
  const overallTotal = localShardMeta.reduce((sum, s) => sum + s.expectedSize, 0);
196
195
  ctx.broadcastProgress({
197
- type: "modelProgress",
196
+ type: 'modelProgress',
198
197
  downloaded: overallTotal,
199
198
  total: overallTotal,
200
199
  percentage: 100,
@@ -205,8 +204,8 @@ export async function downloadModelFromRegistry(registryPath, registrySource, pr
205
204
  shardName: firstShardFilename,
206
205
  overallDownloaded: overallTotal,
207
206
  overallTotal,
208
- overallPercentage: 100,
209
- },
207
+ overallPercentage: 100
208
+ }
210
209
  });
211
210
  return getShardPath(cacheKey, firstShardFilename);
212
211
  }
@@ -217,18 +216,17 @@ export async function downloadModelFromRegistry(registryPath, registrySource, pr
217
216
  return await downloadShardedFilesFromRegistry(registryPath, registrySource, cacheKey, ctx.broadcastProgress, ctx.signal, localShardMeta, hooks);
218
217
  }
219
218
  catch (error) {
220
- if (error instanceof DownloadCancelledError &&
221
- ctx.shouldClearCache()) {
219
+ if (error instanceof DownloadCancelledError && ctx.shouldClearCache()) {
222
220
  try {
223
221
  await fsPromises.rm(getShardedModelCacheDir(cacheKey), {
224
222
  recursive: true,
225
- force: true,
223
+ force: true
226
224
  });
227
225
  }
228
226
  catch (cleanupError) {
229
- logger.debug("Failed to delete shard cache dir during cleanup", {
227
+ logger.debug('Failed to delete shard cache dir during cleanup', {
230
228
  cacheKey,
231
- error: cleanupError,
229
+ error: cleanupError
232
230
  });
233
231
  }
234
232
  }
@@ -246,53 +244,49 @@ export async function downloadModelFromRegistry(registryPath, registrySource, pr
246
244
  markCacheMiss: () => {
247
245
  hooks?.markCacheMiss?.();
248
246
  ctx.setCacheHit(false);
249
- },
247
+ }
250
248
  };
251
249
  return await downloadCompanionSetFromRegistry({
252
250
  companionSet: modelMetadata.companionSet,
253
251
  downloadKey,
254
- allowLegacyFlatCache: modelMetadata.addon === "nmt",
252
+ allowLegacyFlatCache: modelMetadata.addon === 'nmt',
255
253
  progressCallback: ctx.broadcastProgress,
256
254
  signal: ctx.signal,
257
255
  hooks: companionHooks,
258
- shouldClearCache: ctx.shouldClearCache,
256
+ shouldClearCache: ctx.shouldClearCache
259
257
  });
260
258
  }
261
259
  const modelPath = getSingleFileCachePath(registryPath);
262
- const expectedSize = modelMetadata?.expectedSize || 0;
263
- const checksum = expectedChecksum || modelMetadata?.sha256Checksum || "";
260
+ const { expectedSize, checksum } = resolveRegistryDownloadMetadata(modelMetadata, explicitMetadata, expectedChecksum);
264
261
  const cachedPath = await validateCachedFile(modelPath, filename, expectedSize, checksum, hooks);
265
262
  if (cachedPath) {
266
263
  logger.info(`✅ Using cached model: ${cachedPath}`);
267
264
  hooks?.markCacheHit?.();
268
265
  ctx.setCacheHit(true);
269
266
  ctx.broadcastProgress({
270
- type: "modelProgress",
267
+ type: 'modelProgress',
271
268
  downloaded: expectedSize,
272
269
  total: expectedSize,
273
270
  percentage: 100,
274
- downloadKey,
271
+ downloadKey
275
272
  });
276
273
  return cachedPath;
277
274
  }
278
- const blobBinding = modelMetadata
279
- ? buildBlobBinding(modelMetadata)
280
- : undefined;
275
+ const blobBinding = modelMetadata ? buildBlobBinding(modelMetadata) : undefined;
281
276
  hooks?.markCacheMiss?.();
282
277
  ctx.setCacheHit(false);
283
278
  try {
284
279
  await downloadSingleFileFromRegistry(registryPath, registrySource, modelPath, filename, downloadKey, expectedSize, checksum, ctx.broadcastProgress, ctx.signal, blobBinding, hooks);
285
280
  }
286
281
  catch (error) {
287
- if (error instanceof DownloadCancelledError &&
288
- ctx.shouldClearCache()) {
282
+ if (error instanceof DownloadCancelledError && ctx.shouldClearCache()) {
289
283
  try {
290
284
  await fsPromises.unlink(modelPath);
291
285
  }
292
286
  catch (cleanupError) {
293
- logger.debug("Failed to delete model file during cleanup", {
287
+ logger.debug('Failed to delete model file during cleanup', {
294
288
  path: modelPath,
295
- error: cleanupError,
289
+ error: cleanupError
296
290
  });
297
291
  }
298
292
  }
@@ -1,6 +1,6 @@
1
- import type { AbortSignal } from "bare-abort-controller";
2
- import type { ModelProgressUpdate, ResolveContext } from "../../../../schemas/index";
3
- import type { DownloadRequestBinding, ResolveResult } from "./types";
1
+ import type { AbortSignal } from 'bare-abort-controller';
2
+ import type { ModelProgressUpdate, ResolveContext } from '../../../../schemas/index';
3
+ import type { DownloadRequestBinding, ResolveResult } from './types';
4
4
  export interface ResolveSessionOptions {
5
5
  progressCallback?: ((update: ModelProgressUpdate) => void) | undefined;
6
6
  seed?: boolean | undefined;
@@ -1,6 +1,6 @@
1
- import { resolveModelPath, resolveModelPathWithStats, } from "./resolve.js";
2
- import { cancelTransfer } from "./download-manager.js";
3
- import { mergeDownloadStats } from "./download-stats.js";
1
+ import { resolveModelPath, resolveModelPathWithStats } from './resolve.js';
2
+ import { cancelTransfer } from './download-manager.js';
3
+ import { mergeDownloadStats } from './download-stats.js';
4
4
  export function createResolveSession(options) {
5
5
  const { progressCallback, seed, profilingEnabled, signal, requestBinding } = options;
6
6
  let primaryResult;
@@ -10,7 +10,7 @@ export function createResolveSession(options) {
10
10
  onDownloadKey(key) {
11
11
  activeDownloadKeys.add(key);
12
12
  },
13
- ...(requestBinding !== undefined && { requestBinding }),
13
+ ...(requestBinding !== undefined && { requestBinding })
14
14
  };
15
15
  async function resolvePrimaryModelPath(modelSrc) {
16
16
  if (profilingEnabled) {
@@ -34,7 +34,7 @@ export function createResolveSession(options) {
34
34
  resolveModelPath: resolveForPlugin,
35
35
  modelSrc,
36
36
  modelType,
37
- ...(modelName !== undefined && { modelName }),
37
+ ...(modelName !== undefined && { modelName })
38
38
  };
39
39
  }
40
40
  function getAggregateResult() {
@@ -44,7 +44,7 @@ export function createResolveSession(options) {
44
44
  return {
45
45
  path: primaryResult?.path ?? resolveResults[0].path,
46
46
  sourceType: primaryResult?.sourceType ?? resolveResults[0].sourceType,
47
- ...(downloadStats !== undefined && { downloadStats }),
47
+ ...(downloadStats !== undefined && { downloadStats })
48
48
  };
49
49
  }
50
50
  function cancelAll() {
@@ -57,6 +57,6 @@ export function createResolveSession(options) {
57
57
  resolvePrimaryModelPath,
58
58
  createResolveContext,
59
59
  getAggregateResult,
60
- cancelAll,
60
+ cancelAll
61
61
  };
62
62
  }
@@ -1,6 +1,6 @@
1
- import { type ModelProgressUpdate } from "../../../../schemas/index";
2
- import type { ResolveResult, DownloadHooks } from "./types";
3
- import type { AbortSignal } from "bare-abort-controller";
1
+ import { type ModelProgressUpdate } from '../../../../schemas/index';
2
+ import type { ResolveResult, DownloadHooks } from './types';
3
+ import type { AbortSignal } from 'bare-abort-controller';
4
4
  export declare function resolveModelPath(modelSrc: unknown, progressCallback?: (progress: ModelProgressUpdate) => void, seed?: boolean, signal?: AbortSignal, hooks?: DownloadHooks): Promise<string>;
5
5
  export declare function resolveModelPathWithStats(modelSrc: unknown, progressCallback?: (progress: ModelProgressUpdate) => void, seed?: boolean, signal?: AbortSignal, hooks?: DownloadHooks): Promise<ResolveResult>;
6
6
  //# sourceMappingURL=resolve.d.ts.map
@@ -1,16 +1,17 @@
1
- import { models, getModelByPath } from "../../../../models/registry/models.js";
2
- import { hyperdriveUrlSchema, registryUrlSchema, SUPPORTED_ARCHIVE_EXTENSIONS, } from "../../../../schemas/index.js";
3
- import { getModelsCacheDir, getShardedModelCacheDir, generateShortHash, extractAndValidateShardedArchive, } from "../../../utils/index.js";
4
- import { promises as fsPromises } from "bare-fs";
5
- import path from "bare-path";
6
- import { downloadModelFromHttp } from "./http.js";
7
- import { downloadModelFromHyperdrive } from "./hyperdrive.js";
8
- import { downloadModelFromRegistry } from "./registry.js";
9
- import { downloadModelFromHttpWithStats, downloadModelFromHyperdriveWithStats, downloadModelFromRegistryWithStats, } from "./download-stats.js";
10
- import { InferenceCancelledError, ModelLoadFailedError, ModelNotFoundError, SeedingNotSupportedError, } from "../../../../utils/errors-server.js";
11
- import { validateAndJoinPath } from "../../../utils/path-security.js";
12
- import { getServerLogger } from "../../../../logging/index.js";
13
- import { modelInputToSrcSchema } from "../../../../schemas/index.js";
1
+ import { models, getModelByPath } from '../../../../models/registry/models.js';
2
+ import { hyperdriveUrlSchema, registryUrlSchema, SUPPORTED_ARCHIVE_EXTENSIONS } from '../../../../schemas/index.js';
3
+ import { getModelsCacheDir, getShardedModelCacheDir, generateShortHash, extractAndValidateShardedArchive } from '../../../utils/index.js';
4
+ import { promises as fsPromises } from 'bare-fs';
5
+ import path from 'bare-path';
6
+ import { downloadModelFromHttp } from './http.js';
7
+ import { downloadModelFromHyperdrive } from './hyperdrive.js';
8
+ import { downloadModelFromRegistry } from './registry.js';
9
+ import { getExplicitRegistryMetadata } from './registry-metadata.js';
10
+ import { downloadModelFromHttpWithStats, downloadModelFromHyperdriveWithStats, downloadModelFromRegistryWithStats } from './download-stats.js';
11
+ import { InferenceCancelledError, ModelLoadFailedError, ModelNotFoundError, SeedingNotSupportedError } from '../../../../utils/errors-server.js';
12
+ import { validateAndJoinPath } from '../../../utils/path-security.js';
13
+ import { getServerLogger } from '../../../../logging/index.js';
14
+ import { modelInputToSrcSchema } from '../../../../schemas/index.js';
14
15
  const logger = getServerLogger();
15
16
  function isArchivePath(filePath) {
16
17
  const filename = path.basename(filePath).toLowerCase();
@@ -59,12 +60,12 @@ async function resolveLocalOrCachedFile(modelIdOrPath) {
59
60
  catch {
60
61
  // Invalid model ID - provide helpful error
61
62
  const availableModels = models.map((m) => m.modelId);
62
- throw new ModelNotFoundError(`${modelIdOrPath}". Available models: ${availableModels.join(", ")}`);
63
+ throw new ModelNotFoundError(`${modelIdOrPath}". Available models: ${availableModels.join(', ')}`);
63
64
  }
64
65
  }
65
66
  }
66
67
  function isDownloadResult(value) {
67
- return value !== null && typeof value === "object" && "path" in value;
68
+ return value !== null && typeof value === 'object' && 'path' in value;
68
69
  }
69
70
  function buildResult(pathOrResult, sourceType) {
70
71
  if (isDownloadResult(pathOrResult)) {
@@ -76,7 +77,7 @@ function buildResult(pathOrResult, sourceType) {
76
77
  }
77
78
  async function resolveModelPathCore(modelSrc, progressCallback, seed, mode, signal, hooks) {
78
79
  if (signal?.aborted) {
79
- throw new InferenceCancelledError(hooks?.requestBinding?.requestId ?? "unknown");
80
+ throw new InferenceCancelledError(hooks?.requestBinding?.requestId ?? 'unknown');
80
81
  }
81
82
  const srcString = modelInputToSrcSchema.parse(modelSrc);
82
83
  // Empty modelSrc is reserved for plugins that ship bundled weights
@@ -85,55 +86,55 @@ async function resolveModelPathCore(modelSrc, progressCallback, seed, mode, sign
85
86
  // somehow gets called we return an empty path so the plugin's
86
87
  // `params.modelPath` falls through to undefined instead of being set
87
88
  // to the cache directory itself.
88
- if (srcString === "") {
89
- return { path: "", sourceType: "filesystem" };
89
+ if (srcString === '') {
90
+ return { path: '', sourceType: 'filesystem' };
90
91
  }
91
92
  // Parse hyperdrive URLs if present
92
93
  let hyperdriveKey;
93
94
  let actualModelSrc = srcString;
94
- if (srcString.startsWith("pear://")) {
95
+ if (srcString.startsWith('pear://')) {
95
96
  const { key, path: pathValue } = hyperdriveUrlSchema.parse(srcString);
96
97
  hyperdriveKey = key;
97
98
  actualModelSrc = pathValue;
98
99
  }
99
100
  // Registry source
100
- if (srcString.startsWith("registry://")) {
101
+ if (srcString.startsWith('registry://')) {
101
102
  const { registryPath, registrySource } = registryUrlSchema.parse(srcString);
102
103
  logger.info(`Loading from registry: ${registryPath}`);
103
104
  // Look up model metadata for checksum validation
104
105
  const modelMetadata = getModelByPath(registryPath);
105
- const expectedChecksum = modelMetadata?.sha256Checksum;
106
- const result = mode === "stats"
107
- ? await downloadModelFromRegistryWithStats(registryPath, registrySource, progressCallback, expectedChecksum, hooks)
108
- : await downloadModelFromRegistry(registryPath, registrySource, progressCallback, expectedChecksum, hooks);
106
+ const explicitMetadata = getExplicitRegistryMetadata(modelSrc);
107
+ const expectedChecksum = modelMetadata?.sha256Checksum ?? explicitMetadata?.sha256Checksum;
108
+ const result = mode === 'stats'
109
+ ? await downloadModelFromRegistryWithStats(registryPath, registrySource, progressCallback, expectedChecksum, hooks, explicitMetadata)
110
+ : await downloadModelFromRegistry(registryPath, registrySource, progressCallback, expectedChecksum, hooks, explicitMetadata);
109
111
  logger.info(`Loaded Model to ${isDownloadResult(result) ? result.path : result}`);
110
- return buildResult(result, "registry");
112
+ return buildResult(result, 'registry');
111
113
  }
112
114
  // Validate seeding is only used with hyperdrive models
113
115
  if (seed && !hyperdriveKey) {
114
116
  throw new SeedingNotSupportedError();
115
117
  }
116
118
  // HTTP source
117
- if (actualModelSrc.startsWith("http://") ||
118
- actualModelSrc.startsWith("https://")) {
119
+ if (actualModelSrc.startsWith('http://') || actualModelSrc.startsWith('https://')) {
119
120
  logger.info(`Loading from HTTP URL: ${actualModelSrc}`);
120
- const result = mode === "stats"
121
+ const result = mode === 'stats'
121
122
  ? await downloadModelFromHttpWithStats(actualModelSrc, progressCallback, hooks)
122
123
  : await downloadModelFromHttp(actualModelSrc, progressCallback, hooks);
123
124
  logger.info(`Loaded Model to ${isDownloadResult(result) ? result.path : result}`);
124
- return buildResult(result, "http");
125
+ return buildResult(result, 'http');
125
126
  }
126
127
  // Hyperdrive source
127
128
  if (hyperdriveKey) {
128
129
  logger.info(`Loading from hyperdrive: ${hyperdriveKey}`);
129
- const result = mode === "stats"
130
+ const result = mode === 'stats'
130
131
  ? await downloadModelFromHyperdriveWithStats(hyperdriveKey, actualModelSrc, seed, progressCallback, hooks)
131
132
  : await downloadModelFromHyperdrive(hyperdriveKey, actualModelSrc, seed, progressCallback, hooks);
132
- return buildResult(result, "hyperdrive");
133
+ return buildResult(result, 'hyperdrive');
133
134
  }
134
135
  // Filesystem source (local files, cached files)
135
136
  let resolvedPath;
136
- if (actualModelSrc.includes("/") || actualModelSrc.includes("\\")) {
137
+ if (actualModelSrc.includes('/') || actualModelSrc.includes('\\')) {
137
138
  if (isArchivePath(actualModelSrc)) {
138
139
  logger.info(`Extracting local archive: ${actualModelSrc}`);
139
140
  const archiveHash = generateShortHash(actualModelSrc);
@@ -147,12 +148,12 @@ async function resolveModelPathCore(modelSrc, progressCallback, seed, mode, sign
147
148
  else {
148
149
  resolvedPath = await resolveLocalOrCachedFile(actualModelSrc);
149
150
  }
150
- return { path: resolvedPath, sourceType: "filesystem" };
151
+ return { path: resolvedPath, sourceType: 'filesystem' };
151
152
  }
152
153
  export async function resolveModelPath(modelSrc, progressCallback, seed, signal, hooks) {
153
- const result = await resolveModelPathCore(modelSrc, progressCallback, seed, "base", signal, hooks);
154
+ const result = await resolveModelPathCore(modelSrc, progressCallback, seed, 'base', signal, hooks);
154
155
  return result.path;
155
156
  }
156
157
  export async function resolveModelPathWithStats(modelSrc, progressCallback, seed, signal, hooks) {
157
- return resolveModelPathCore(modelSrc, progressCallback, seed, "stats", signal, hooks);
158
+ return resolveModelPathCore(modelSrc, progressCallback, seed, 'stats', signal, hooks);
158
159
  }
@@ -1,6 +1,6 @@
1
- import type { SourceType } from "../../../../schemas/index";
2
- import type { AbortSignal } from "bare-abort-controller";
3
- import type { DisposableScope } from "../../../bare/runtime/disposable-scope";
1
+ import type { SourceType } from '../../../../schemas/index';
2
+ import type { AbortSignal } from 'bare-abort-controller';
3
+ import type { DisposableScope } from '../../../bare/runtime/disposable-scope';
4
4
  export interface DownloadStats {
5
5
  downloadTimeMs?: number;
6
6
  totalBytesDownloaded?: number;
@@ -3,26 +3,26 @@ export function buildDownloadProfilingFields(downloadStats, sourceType) {
3
3
  const tags = {};
4
4
  if (downloadStats) {
5
5
  if (downloadStats.downloadTimeMs !== undefined) {
6
- gauges["downloadTime"] = downloadStats.downloadTimeMs;
6
+ gauges['downloadTime'] = downloadStats.downloadTimeMs;
7
7
  }
8
8
  if (downloadStats.totalBytesDownloaded !== undefined) {
9
- gauges["totalBytesDownloaded"] = downloadStats.totalBytesDownloaded;
9
+ gauges['totalBytesDownloaded'] = downloadStats.totalBytesDownloaded;
10
10
  }
11
11
  if (downloadStats.downloadSpeedBps !== undefined) {
12
- gauges["downloadSpeedBps"] = downloadStats.downloadSpeedBps;
12
+ gauges['downloadSpeedBps'] = downloadStats.downloadSpeedBps;
13
13
  }
14
14
  if (downloadStats.checksumValidationTimeMs !== undefined) {
15
- gauges["checksumValidationTime"] = downloadStats.checksumValidationTimeMs;
15
+ gauges['checksumValidationTime'] = downloadStats.checksumValidationTimeMs;
16
16
  }
17
17
  if (downloadStats.cacheHit !== undefined) {
18
- tags["cacheHit"] = downloadStats.cacheHit ? "true" : "false";
18
+ tags['cacheHit'] = downloadStats.cacheHit ? 'true' : 'false';
19
19
  }
20
20
  if (downloadStats.sharedTransfer) {
21
- tags["sharedTransfer"] = "true";
21
+ tags['sharedTransfer'] = 'true';
22
22
  }
23
23
  }
24
24
  if (sourceType) {
25
- tags["sourceType"] = sourceType;
25
+ tags['sourceType'] = sourceType;
26
26
  }
27
27
  return { gauges, tags };
28
28
  }