@qvac/sdk 0.15.0 → 0.17.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 (617) hide show
  1. package/NOTICE +87 -84
  2. package/README.md +65 -0
  3. package/dist/client/api/audio-gen-result.d.ts +4 -0
  4. package/dist/client/api/audio-gen-result.js +132 -0
  5. package/dist/client/api/audio-gen.d.ts +29 -0
  6. package/dist/client/api/audio-gen.js +31 -0
  7. package/dist/client/api/batch-completion.d.ts +2 -2
  8. package/dist/client/api/batch-completion.js +2 -2
  9. package/dist/client/api/bci-transcribe.d.ts +1 -1
  10. package/dist/client/api/bci-transcribe.js +3 -3
  11. package/dist/client/api/cancel.d.ts +1 -1
  12. package/dist/client/api/cancel.js +1 -1
  13. package/dist/client/api/classify.d.ts +1 -1
  14. package/dist/client/api/classify.js +1 -1
  15. package/dist/client/api/completion-stream.d.ts +3 -3
  16. package/dist/client/api/completion-stream.js +3 -3
  17. package/dist/client/api/delete-cache.js +1 -1
  18. package/dist/client/api/diffusion.d.ts +1 -1
  19. package/dist/client/api/diffusion.js +1 -1
  20. package/dist/client/api/download-asset.d.ts +1 -1
  21. package/dist/client/api/download-asset.js +3 -3
  22. package/dist/client/api/embed.d.ts +1 -1
  23. package/dist/client/api/embed.js +2 -2
  24. package/dist/client/api/finetune.d.ts +1 -1
  25. package/dist/client/api/finetune.js +2 -2
  26. package/dist/client/api/get-loaded-model-info.d.ts +2 -2
  27. package/dist/client/api/get-loaded-model-info.js +1 -1
  28. package/dist/client/api/get-model-info.d.ts +2 -2
  29. package/dist/client/api/get-model-info.js +1 -1
  30. package/dist/client/api/get-system-resources.d.ts +3 -0
  31. package/dist/client/api/get-system-resources.js +16 -0
  32. package/dist/client/api/heartbeat.d.ts +2 -2
  33. package/dist/client/api/heartbeat.js +1 -1
  34. package/dist/client/api/index.d.ts +35 -33
  35. package/dist/client/api/index.js +2 -0
  36. package/dist/client/api/invoke-plugin.d.ts +1 -1
  37. package/dist/client/api/invoke-plugin.js +1 -1
  38. package/dist/client/api/load-model.d.ts +2 -2
  39. package/dist/client/api/load-model.js +4 -4
  40. package/dist/client/api/logging-stream.d.ts +1 -1
  41. package/dist/client/api/logging-stream.js +1 -1
  42. package/dist/client/api/ocr.d.ts +10 -1
  43. package/dist/client/api/ocr.js +10 -1
  44. package/dist/client/api/provide.d.ts +1 -1
  45. package/dist/client/api/provide.js +1 -1
  46. package/dist/client/api/rag.d.ts +1 -1
  47. package/dist/client/api/rag.js +2 -2
  48. package/dist/client/api/registry.d.ts +1 -1
  49. package/dist/client/api/registry.js +1 -1
  50. package/dist/client/api/resume.js +1 -1
  51. package/dist/client/api/state.d.ts +1 -1
  52. package/dist/client/api/state.js +1 -1
  53. package/dist/client/api/stop-provider.js +1 -1
  54. package/dist/client/api/subscribe-logs.d.ts +1 -1
  55. package/dist/client/api/suspend.js +1 -1
  56. package/dist/client/api/text-to-speech.d.ts +3 -2
  57. package/dist/client/api/text-to-speech.js +31 -9
  58. package/dist/client/api/transcribe.d.ts +1 -1
  59. package/dist/client/api/transcribe.js +2 -2
  60. package/dist/client/api/translate.d.ts +1 -1
  61. package/dist/client/api/translate.js +7 -18
  62. package/dist/client/api/unload-model.d.ts +1 -1
  63. package/dist/client/api/unload-model.js +2 -2
  64. package/dist/client/api/upscale.d.ts +1 -1
  65. package/dist/client/api/upscale.js +1 -1
  66. package/dist/client/api/video.d.ts +8 -5
  67. package/dist/client/api/video.js +9 -6
  68. package/dist/client/api/vla.d.ts +15 -11
  69. package/dist/client/api/vla.js +14 -10
  70. package/dist/client/config-loader/config-utils.d.ts +1 -1
  71. package/dist/client/config-loader/resolve-config.bare.d.ts +1 -1
  72. package/dist/client/config-loader/resolve-config.expo.d.ts +1 -1
  73. package/dist/client/config-loader/resolve-config.node.d.ts +1 -1
  74. package/dist/client/index.d.ts +1 -1
  75. package/dist/client/init-hooks.d.ts +1 -1
  76. package/dist/client/logging-stream-registry.d.ts +1 -1
  77. package/dist/client/plugins-factory.d.ts +2 -2
  78. package/dist/client/plugins-factory.js +1 -1
  79. package/dist/client/rpc/bare-client.d.ts +1 -1
  80. package/dist/client/rpc/bare-client.js +3 -3
  81. package/dist/client/rpc/expo-rpc-client.js +3 -3
  82. package/dist/client/rpc/node-rpc-client.js +2 -2
  83. package/dist/client/rpc/profiling/index.d.ts +1 -1
  84. package/dist/client/rpc/profiling/profiler.d.ts +2 -2
  85. package/dist/client/rpc/profiling/profiler.js +4 -0
  86. package/dist/client/rpc/rpc-client.d.ts +1 -1
  87. package/dist/client/rpc/rpc-client.js +7 -4
  88. package/dist/client/rpc/rpc-error.d.ts +1 -1
  89. package/dist/client/rpc/rpc-error.js +7 -1
  90. package/dist/commands/bundle/bare-pack.d.ts +1 -1
  91. package/dist/commands/bundle/constants.js +1 -0
  92. package/dist/commands/bundle/entry-gen.js +1 -1
  93. package/dist/commands/bundle/index.js +6 -6
  94. package/dist/commands/bundle/manifest.d.ts +1 -1
  95. package/dist/commands/bundle/plugins.d.ts +2 -2
  96. package/dist/commands/bundle/plugins.js +1 -1
  97. package/dist/commands/index.d.ts +4 -4
  98. package/dist/commands/index.js +2 -2
  99. package/dist/commands/verify/abi.d.ts +1 -1
  100. package/dist/commands/verify/abi.js +1 -1
  101. package/dist/commands/verify/bundle-source.d.ts +1 -1
  102. package/dist/commands/verify/bundle-source.js +2 -2
  103. package/dist/commands/verify/index.d.ts +3 -3
  104. package/dist/commands/verify/index.js +5 -5
  105. package/dist/commands/verify/node-modules-source.d.ts +1 -1
  106. package/dist/commands/verify/node-modules-source.js +1 -1
  107. package/dist/commands/verify/prebuilds.d.ts +2 -1
  108. package/dist/commands/verify/prebuilds.js +8 -11
  109. package/dist/commands/verify/resource-collectors.d.ts +88 -0
  110. package/dist/commands/verify/resource-collectors.js +261 -0
  111. package/dist/constants/audio.js +1 -1
  112. package/dist/constants/index.d.ts +2 -2
  113. package/dist/examples/{transcription → asr}/parakeet-ctc-filesystem.js +2 -3
  114. package/dist/examples/{transcription → asr}/parakeet-microphone-record.js +2 -2
  115. package/dist/examples/{transcription → asr}/parakeet-microphone-stream.js +2 -2
  116. package/dist/examples/{transcription → asr}/parakeet-sortformer-streaming.js +2 -2
  117. package/dist/examples/{transcription → asr}/parakeet-sortformer.js +1 -1
  118. package/dist/examples/asr/parakeet-tdt-filesystem-chunked.d.ts +2 -0
  119. package/dist/examples/asr/parakeet-tdt-filesystem-chunked.js +203 -0
  120. package/dist/examples/{transcription → asr}/parakeet-tdt-filesystem.js +2 -2
  121. package/dist/examples/{transcription → asr}/whispercpp-filesystem-streaming.js +1 -1
  122. package/dist/examples/{transcription → asr}/whispercpp-filesystem.js +1 -1
  123. package/dist/examples/{transcription → asr}/whispercpp-microphone-conversation.js +1 -1
  124. package/dist/examples/{transcription → asr}/whispercpp-microphone-record.js +2 -2
  125. package/dist/examples/{transcription → asr}/whispercpp-prompt.js +1 -1
  126. package/dist/examples/audiogen/generate-music.d.ts +2 -0
  127. package/dist/examples/audiogen/generate-music.js +112 -0
  128. package/dist/examples/cache-management.js +1 -1
  129. package/dist/examples/config-reload.js +1 -1
  130. package/dist/examples/diffusion-ideogram.d.ts +2 -0
  131. package/dist/examples/diffusion-ideogram.js +108 -0
  132. package/dist/examples/diffusion-img2vid-ltx.d.ts +2 -0
  133. package/dist/examples/diffusion-img2vid-ltx.js +98 -0
  134. package/dist/examples/diffusion-txt2vid-ltx.d.ts +2 -0
  135. package/dist/examples/diffusion-txt2vid-ltx.js +92 -0
  136. package/dist/examples/diffusion-txt2vid-wan22.d.ts +2 -0
  137. package/dist/examples/diffusion-txt2vid-wan22.js +96 -0
  138. package/dist/examples/logging-streaming.js +5 -1
  139. package/dist/examples/quickstart.bare.js +1 -1
  140. package/dist/examples/rag/rag-mongodb.d.ts +2 -0
  141. package/dist/examples/rag/rag-mongodb.js +180 -0
  142. package/dist/examples/tools/llamacpp-tools-auto-dialect.d.ts +2 -0
  143. package/dist/examples/tools/llamacpp-tools-auto-dialect.js +77 -0
  144. package/dist/examples/tts/parler.d.ts +2 -0
  145. package/dist/examples/tts/parler.js +51 -0
  146. package/dist/examples/vla-groot.d.ts +2 -0
  147. package/dist/examples/vla-groot.js +120 -0
  148. package/dist/examples/voice-assistant/voice-assistant.js +2 -2
  149. package/dist/expo/plugins/index.d.ts +11 -11
  150. package/dist/expo/plugins/withDeviceInfo.js +2 -2
  151. package/dist/expo/plugins/withMobileBundle.js +3 -3
  152. package/dist/index.d.ts +16 -16
  153. package/dist/index.js +4 -4
  154. package/dist/logging/addon.d.ts +1 -1
  155. package/dist/logging/base-logger.d.ts +1 -1
  156. package/dist/logging/base-logger.js +1 -1
  157. package/dist/logging/client-logger.d.ts +1 -1
  158. package/dist/logging/index.d.ts +9 -9
  159. package/dist/logging/logger.d.ts +1 -1
  160. package/dist/logging/namespaces.d.ts +1 -1
  161. package/dist/logging/registry.d.ts +1 -1
  162. package/dist/logging/server-logger.d.ts +1 -1
  163. package/dist/logging/stream-logger.d.ts +1 -1
  164. package/dist/logging/transport.d.ts +1 -1
  165. package/dist/logging/utils.d.ts +1 -1
  166. package/dist/logging/utils.js +1 -1
  167. package/dist/models/registry/index.d.ts +1 -1
  168. package/dist/models/registry/models.d.ts +6443 -9832
  169. package/dist/models/registry/models.js +4076 -7658
  170. package/dist/models/update-models/codegen.d.ts +1 -1
  171. package/dist/models/update-models/companions.d.ts +1 -1
  172. package/dist/models/update-models/history.d.ts +1 -1
  173. package/dist/models/update-models/history.js +4 -4
  174. package/dist/models/update-models/naming.d.ts +1 -1
  175. package/dist/models/update-models/naming.js +12 -2
  176. package/dist/models/update-models/processing.d.ts +1 -1
  177. package/dist/models/update-models/processing.js +1 -1
  178. package/dist/models/update-models/registry.d.ts +2 -2
  179. package/dist/models/update-models/shards.d.ts +1 -1
  180. package/dist/models/update-models/types.d.ts +1 -1
  181. package/dist/pear/pre.js +2 -0
  182. package/dist/profiling/aggregator.d.ts +1 -1
  183. package/dist/profiling/backend-diagnostics.d.ts +8 -0
  184. package/dist/profiling/backend-diagnostics.js +21 -0
  185. package/dist/profiling/controller.d.ts +4 -2
  186. package/dist/profiling/controller.js +8 -0
  187. package/dist/profiling/envelope.d.ts +3 -2
  188. package/dist/profiling/envelope.js +13 -2
  189. package/dist/profiling/events.d.ts +2 -2
  190. package/dist/profiling/exporters.d.ts +1 -1
  191. package/dist/profiling/index.d.ts +9 -8
  192. package/dist/profiling/index.js +3 -2
  193. package/dist/profiling/types.d.ts +6 -0
  194. package/dist/schemas/audio-gen.d.ts +253 -0
  195. package/dist/schemas/audio-gen.js +69 -0
  196. package/dist/schemas/batch-completion-stream.d.ts +11 -6
  197. package/dist/schemas/bci-config.d.ts +2 -0
  198. package/dist/schemas/bci.d.ts +1 -1
  199. package/dist/schemas/cancel.d.ts +5 -0
  200. package/dist/schemas/cancel.js +1 -0
  201. package/dist/schemas/common.d.ts +1938 -58
  202. package/dist/schemas/common.js +9 -1
  203. package/dist/schemas/completion-event.d.ts +5 -2
  204. package/dist/schemas/completion-event.js +3 -0
  205. package/dist/schemas/completion-stream.d.ts +195 -3
  206. package/dist/schemas/completion-stream.js +72 -2
  207. package/dist/schemas/constants-registry.d.ts +69 -0
  208. package/dist/schemas/constants-registry.js +52 -0
  209. package/dist/schemas/delete-cache.js +7 -3
  210. package/dist/schemas/download-asset.d.ts +8 -4
  211. package/dist/schemas/engine-addon-map.d.ts +3 -1
  212. package/dist/schemas/engine-addon-map.js +6 -2
  213. package/dist/schemas/finetune.js +6 -3
  214. package/dist/schemas/get-loaded-model-info.d.ts +18 -0
  215. package/dist/schemas/get-loaded-model-info.js +14 -6
  216. package/dist/schemas/get-model-info.d.ts +2 -0
  217. package/dist/schemas/get-model-info.js +1 -0
  218. package/dist/schemas/index.d.ts +53 -51
  219. package/dist/schemas/index.js +4 -2
  220. package/dist/schemas/llamacpp-config.d.ts +30 -6
  221. package/dist/schemas/llamacpp-config.js +1 -6
  222. package/dist/schemas/load-model.d.ts +7654 -2919
  223. package/dist/schemas/load-model.js +45 -6
  224. package/dist/schemas/mcp-adapter.d.ts +1 -1
  225. package/dist/schemas/model-src-utils.d.ts +10 -2
  226. package/dist/schemas/model-types.d.ts +19 -1
  227. package/dist/schemas/model-types.js +11 -0
  228. package/dist/schemas/ocr.d.ts +2 -0
  229. package/dist/schemas/plugin.d.ts +17 -8
  230. package/dist/schemas/plugin.js +16 -6
  231. package/dist/schemas/profiling.d.ts +587 -0
  232. package/dist/schemas/profiling.js +22 -0
  233. package/dist/schemas/registry.d.ts +18 -0
  234. package/dist/schemas/registry.js +2 -0
  235. package/dist/schemas/reload-config.d.ts +10 -2
  236. package/dist/schemas/reload-config.js +3 -1
  237. package/dist/schemas/sdcpp-config.d.ts +296 -0
  238. package/dist/schemas/sdcpp-config.js +165 -17
  239. package/dist/schemas/sdk-config.d.ts +958 -40
  240. package/dist/schemas/sdk-errors-server.js +3 -1
  241. package/dist/schemas/system-resources.d.ts +3967 -0
  242. package/dist/schemas/system-resources.js +149 -0
  243. package/dist/schemas/text-to-speech.d.ts +340 -6
  244. package/dist/schemas/text-to-speech.js +136 -17
  245. package/dist/schemas/tools.d.ts +1 -1
  246. package/dist/schemas/tools.js +2 -1
  247. package/dist/schemas/transcription-config.d.ts +2 -0
  248. package/dist/schemas/translate.d.ts +2 -2
  249. package/dist/schemas/translate.js +12 -6
  250. package/dist/schemas/translation-config.d.ts +30 -10
  251. package/dist/schemas/vla.d.ts +10 -0
  252. package/dist/schemas/vla.js +31 -11
  253. package/dist/scripts/check-resource-collectors-packaging.d.ts +33 -0
  254. package/dist/scripts/check-resource-collectors-packaging.js +136 -0
  255. package/dist/scripts/contract/build-contract.d.ts +38 -0
  256. package/dist/scripts/contract/build-contract.js +620 -0
  257. package/dist/scripts/contract/build-error-codes.d.ts +17 -0
  258. package/dist/scripts/contract/build-error-codes.js +17 -0
  259. package/dist/scripts/contract/build-model-type-maps.d.ts +22 -0
  260. package/dist/scripts/contract/build-model-type-maps.js +16 -0
  261. package/dist/scripts/contract/build-models-registry.d.ts +17 -0
  262. package/dist/scripts/contract/build-models-registry.js +31 -0
  263. package/dist/scripts/contract/plugin-contract.d.ts +23 -0
  264. package/dist/scripts/contract/plugin-contract.js +28 -0
  265. package/dist/scripts/export-contract.d.ts +2 -0
  266. package/dist/scripts/export-contract.js +27 -0
  267. package/dist/scripts/export-plugin-contract.d.ts +2 -0
  268. package/dist/scripts/export-plugin-contract.js +18 -0
  269. package/dist/server/bare/delegate-rpc-client.d.ts +1 -1
  270. package/dist/server/bare/delegate-rpc-client.js +3 -3
  271. package/dist/server/bare/hyperswarm.d.ts +1 -1
  272. package/dist/server/bare/hyperswarm.js +2 -2
  273. package/dist/server/bare/ops/bci-transcribe.d.ts +1 -1
  274. package/dist/server/bare/ops/bci-transcribe.js +4 -4
  275. package/dist/server/bare/ops/cancel.d.ts +2 -2
  276. package/dist/server/bare/ops/cancel.js +2 -2
  277. package/dist/server/bare/ops/embed.d.ts +1 -1
  278. package/dist/server/bare/ops/embed.js +3 -3
  279. package/dist/server/bare/ops/kv-cache-retention.d.ts +12 -0
  280. package/dist/server/bare/ops/kv-cache-retention.js +121 -0
  281. package/dist/server/bare/ops/kv-cache-utils.d.ts +2 -1
  282. package/dist/server/bare/ops/kv-cache-utils.js +26 -5
  283. package/dist/server/bare/ops/load-model.d.ts +2 -2
  284. package/dist/server/bare/ops/load-model.js +7 -5
  285. package/dist/server/bare/ops/transcribe.d.ts +2 -2
  286. package/dist/server/bare/ops/transcribe.js +20 -40
  287. package/dist/server/bare/ops/translate.d.ts +1 -1
  288. package/dist/server/bare/ops/translate.js +21 -12
  289. package/dist/server/bare/ops/unload-model.d.ts +1 -1
  290. package/dist/server/bare/ops/unload-model.js +5 -5
  291. package/dist/server/bare/plugins/asr-ggml/config.d.ts +32 -0
  292. package/dist/server/bare/plugins/asr-ggml/config.js +46 -0
  293. package/dist/server/bare/plugins/asr-ggml/logging.d.ts +11 -0
  294. package/dist/server/bare/plugins/asr-ggml/logging.js +12 -0
  295. package/dist/server/bare/plugins/audiogen-ggml/config.d.ts +18 -0
  296. package/dist/server/bare/plugins/audiogen-ggml/config.js +23 -0
  297. package/dist/server/bare/plugins/audiogen-ggml/ops/audio-gen-stream.d.ts +3 -0
  298. package/dist/server/bare/plugins/audiogen-ggml/ops/audio-gen-stream.js +162 -0
  299. package/dist/server/bare/plugins/audiogen-ggml/plugin.d.ts +213 -0
  300. package/dist/server/bare/plugins/audiogen-ggml/plugin.js +58 -0
  301. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.d.ts +8 -5
  302. package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.js +4 -4
  303. package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.d.ts +1 -1
  304. package/dist/server/bare/plugins/ggml-classification/ops/classify.d.ts +1 -1
  305. package/dist/server/bare/plugins/ggml-classification/ops/classify.js +1 -1
  306. package/dist/server/bare/plugins/ggml-classification/plugin.d.ts +2 -2
  307. package/dist/server/bare/plugins/ggml-classification/plugin.js +1 -1
  308. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.d.ts +1 -1
  309. package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.js +2 -2
  310. package/dist/server/bare/plugins/ggml-ocr/plugin.d.ts +4 -2
  311. package/dist/server/bare/plugins/ggml-ocr/plugin.js +4 -25
  312. package/dist/server/bare/plugins/ggml-ocr/resolve-config.d.ts +6 -0
  313. package/dist/server/bare/plugins/ggml-ocr/resolve-config.js +73 -0
  314. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.d.ts +1 -1
  315. package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.js +1 -1
  316. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.d.ts +1 -1
  317. package/dist/server/bare/plugins/ggml-vla/ops/vla-run.js +1 -1
  318. package/dist/server/bare/plugins/ggml-vla/plugin.d.ts +8 -3
  319. package/dist/server/bare/plugins/ggml-vla/plugin.js +1 -1
  320. package/dist/server/bare/plugins/index.d.ts +12 -11
  321. package/dist/server/bare/plugins/index.js +1 -0
  322. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.d.ts +3 -3
  323. package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.js +5 -5
  324. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.d.ts +11 -1
  325. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.js +16 -0
  326. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.d.ts +3 -3
  327. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.js +26 -35
  328. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.d.ts +1 -1
  329. package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.js +3 -3
  330. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.d.ts +20 -10
  331. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.js +217 -80
  332. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.d.ts +8 -0
  333. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.js +8 -0
  334. package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +20 -8
  335. package/dist/server/bare/plugins/llamacpp-completion/plugin.js +16 -16
  336. package/dist/server/bare/plugins/llamacpp-completion/transform.d.ts +1 -1
  337. package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +8 -3
  338. package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +5 -5
  339. package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +12 -2
  340. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +3 -3
  341. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.d.ts +1 -1
  342. package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +6 -6
  343. package/dist/server/bare/plugins/parakeet-transcription/plugin.js +13 -20
  344. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.d.ts +1 -1
  345. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.js +1 -1
  346. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.d.ts +1 -1
  347. package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.js +1 -1
  348. package/dist/server/bare/plugins/sdcpp-generation/ops/video.d.ts +4 -1
  349. package/dist/server/bare/plugins/sdcpp-generation/ops/video.js +40 -5
  350. package/dist/server/bare/plugins/sdcpp-generation/plugin.d.ts +155 -5
  351. package/dist/server/bare/plugins/sdcpp-generation/plugin.js +109 -23
  352. package/dist/server/bare/plugins/tts-ggml/ops/parler-options.d.ts +7 -0
  353. package/dist/server/bare/plugins/tts-ggml/ops/parler-options.js +30 -0
  354. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.d.ts +2 -2
  355. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.js +8 -5
  356. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.d.ts +2 -2
  357. package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.js +16 -22
  358. package/dist/server/bare/plugins/tts-ggml/plugin.d.ts +120 -5
  359. package/dist/server/bare/plugins/tts-ggml/plugin.js +63 -5
  360. package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +8 -6
  361. package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +17 -25
  362. package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +1 -1
  363. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +1 -1
  364. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +1 -1
  365. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
  366. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +1 -1
  367. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +1 -1
  368. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +1 -1
  369. package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +1 -1
  370. package/dist/server/bare/rag-hyperdb/handlers/ingest.js +2 -2
  371. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +1 -1
  372. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +1 -1
  373. package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +1 -1
  374. package/dist/server/bare/rag-hyperdb/handlers/reindex.js +1 -1
  375. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +1 -1
  376. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +1 -1
  377. package/dist/server/bare/rag-hyperdb/handlers/search.d.ts +1 -1
  378. package/dist/server/bare/rag-hyperdb/handlers/search.js +2 -2
  379. package/dist/server/bare/rag-hyperdb/index.d.ts +11 -11
  380. package/dist/server/bare/rag-hyperdb/index.js +11 -11
  381. package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +1 -1
  382. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +4 -4
  383. package/dist/server/bare/registry/config-registry.d.ts +1 -1
  384. package/dist/server/bare/registry/config-registry.js +1 -1
  385. package/dist/server/bare/registry/model-config-registry.d.ts +2 -2
  386. package/dist/server/bare/registry/model-config-registry.js +4 -4
  387. package/dist/server/bare/registry/model-config-utils.d.ts +1 -1
  388. package/dist/server/bare/registry/model-config-utils.js +3 -0
  389. package/dist/server/bare/registry/model-registry.d.ts +15 -4
  390. package/dist/server/bare/registry/registry-client.js +2 -2
  391. package/dist/server/bare/registry/runtime-context-registry.d.ts +1 -1
  392. package/dist/server/bare/resources/collector.d.ts +644 -0
  393. package/dist/server/bare/resources/collector.js +226 -0
  394. package/dist/server/bare/resources/native.d.ts +3 -0
  395. package/dist/server/bare/resources/native.js +35 -0
  396. package/dist/server/bare/resources/normalize.d.ts +13 -0
  397. package/dist/server/bare/resources/normalize.js +73 -0
  398. package/dist/server/bare/resources/types.d.ts +66 -0
  399. package/dist/server/bare/resources/types.js +1 -0
  400. package/dist/server/bare/resources/worker-collector.d.ts +5 -0
  401. package/dist/server/bare/resources/worker-collector.js +15 -0
  402. package/dist/server/bare/runtime/index.d.ts +7 -7
  403. package/dist/server/bare/runtime/index.js +3 -3
  404. package/dist/server/bare/runtime/request-context.d.ts +2 -2
  405. package/dist/server/bare/runtime/request-registry-singleton.d.ts +1 -1
  406. package/dist/server/bare/runtime/request-registry-singleton.js +11 -1
  407. package/dist/server/bare/runtime/request-registry.d.ts +2 -2
  408. package/dist/server/bare/runtime/request-registry.js +1 -1
  409. package/dist/server/bare/runtime/with-request-context.d.ts +1 -1
  410. package/dist/server/bare/runtime-lifecycle.d.ts +1 -1
  411. package/dist/server/bare/types/addon-responses.d.ts +8 -34
  412. package/dist/server/bare/utils/asr-events.d.ts +15 -0
  413. package/dist/server/bare/utils/asr-events.js +30 -0
  414. package/dist/server/bare/utils/audio-input.d.ts +1 -1
  415. package/dist/server/bare/utils/audio-input.js +1 -1
  416. package/dist/server/bare/utils/transcribe-metadata.d.ts +1 -1
  417. package/dist/server/bare/utils/tts-stats.d.ts +9 -5
  418. package/dist/server/bare/utils/tts-stats.js +6 -0
  419. package/dist/server/error-handlers.d.ts +1 -1
  420. package/dist/server/plugins/index.d.ts +1 -1
  421. package/dist/server/plugins/registry.d.ts +1 -1
  422. package/dist/server/plugins/registry.js +35 -8
  423. package/dist/server/rpc/create-server.js +23 -1
  424. package/dist/server/rpc/delegate-transport.d.ts +2 -2
  425. package/dist/server/rpc/delegate-transport.js +5 -10
  426. package/dist/server/rpc/handle-request.js +3 -3
  427. package/dist/server/rpc/handler-registry.d.ts +1 -1
  428. package/dist/server/rpc/handler-registry.js +45 -36
  429. package/dist/server/rpc/handler-selection.d.ts +2 -2
  430. package/dist/server/rpc/handler-utils.d.ts +2 -2
  431. package/dist/server/rpc/handler-utils.js +5 -5
  432. package/dist/server/rpc/handlers/audio-gen-stream.d.ts +3 -0
  433. package/dist/server/rpc/handlers/audio-gen-stream.js +4 -0
  434. package/dist/server/rpc/handlers/batch-completion-stream.d.ts +3 -1
  435. package/dist/server/rpc/handlers/batch-completion-stream.js +1 -1
  436. package/dist/server/rpc/handlers/bci-transcribe-stream.d.ts +1 -1
  437. package/dist/server/rpc/handlers/bci-transcribe-stream.js +1 -1
  438. package/dist/server/rpc/handlers/bci-transcribe.d.ts +1 -1
  439. package/dist/server/rpc/handlers/bci-transcribe.js +1 -1
  440. package/dist/server/rpc/handlers/cancel-delegated.d.ts +2 -2
  441. package/dist/server/rpc/handlers/cancel-delegated.js +3 -3
  442. package/dist/server/rpc/handlers/cancelHandler.d.ts +1 -1
  443. package/dist/server/rpc/handlers/cancelHandler.js +3 -3
  444. package/dist/server/rpc/handlers/classify.d.ts +1 -1
  445. package/dist/server/rpc/handlers/classify.js +1 -1
  446. package/dist/server/rpc/handlers/completion-orchestrate.d.ts +42 -0
  447. package/dist/server/rpc/handlers/completion-orchestrate.js +190 -0
  448. package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +2 -2
  449. package/dist/server/rpc/handlers/completion-stream-delegated.js +3 -3
  450. package/dist/server/rpc/handlers/completion-stream.d.ts +1 -1
  451. package/dist/server/rpc/handlers/completion-stream.js +1 -1
  452. package/dist/server/rpc/handlers/delete-cache.d.ts +1 -1
  453. package/dist/server/rpc/handlers/delete-cache.js +1 -1
  454. package/dist/server/rpc/handlers/diffusion-stream.d.ts +1 -1
  455. package/dist/server/rpc/handlers/diffusion-stream.js +1 -1
  456. package/dist/server/rpc/handlers/download-asset.d.ts +1 -1
  457. package/dist/server/rpc/handlers/download-asset.js +4 -4
  458. package/dist/server/rpc/handlers/embed.d.ts +1 -1
  459. package/dist/server/rpc/handlers/embed.js +1 -1
  460. package/dist/server/rpc/handlers/finetune.d.ts +1 -1
  461. package/dist/server/rpc/handlers/finetune.js +2 -2
  462. package/dist/server/rpc/handlers/get-loaded-model-info.d.ts +1 -1
  463. package/dist/server/rpc/handlers/get-loaded-model-info.js +10 -4
  464. package/dist/server/rpc/handlers/get-model-info.d.ts +1 -1
  465. package/dist/server/rpc/handlers/get-model-info.js +4 -4
  466. package/dist/server/rpc/handlers/get-system-resources.d.ts +3 -0
  467. package/dist/server/rpc/handlers/get-system-resources.js +53 -0
  468. package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +2 -2
  469. package/dist/server/rpc/handlers/heartbeat-delegated.js +2 -2
  470. package/dist/server/rpc/handlers/heartbeat.d.ts +1 -1
  471. package/dist/server/rpc/handlers/index.d.ts +38 -32
  472. package/dist/server/rpc/handlers/index.js +6 -0
  473. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +3 -3
  474. package/dist/server/rpc/handlers/load-model/download-manager.js +1 -1
  475. package/dist/server/rpc/handlers/load-model/download-stats.d.ts +3 -3
  476. package/dist/server/rpc/handlers/load-model/handler.d.ts +1 -1
  477. package/dist/server/rpc/handlers/load-model/handler.js +12 -8
  478. package/dist/server/rpc/handlers/load-model/http.d.ts +2 -2
  479. package/dist/server/rpc/handlers/load-model/http.js +4 -4
  480. package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +2 -2
  481. package/dist/server/rpc/handlers/load-model/hyperdrive.js +5 -5
  482. package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
  483. package/dist/server/rpc/handlers/load-model/registry-client-options.d.ts +1 -1
  484. package/dist/server/rpc/handlers/load-model/registry-companion-set.d.ts +3 -3
  485. package/dist/server/rpc/handlers/load-model/registry-companion-set.js +3 -3
  486. package/dist/server/rpc/handlers/load-model/registry-download-utils.d.ts +4 -4
  487. package/dist/server/rpc/handlers/load-model/registry-download-utils.js +3 -3
  488. package/dist/server/rpc/handlers/load-model/registry-metadata.d.ts +1 -1
  489. package/dist/server/rpc/handlers/load-model/registry.d.ts +3 -3
  490. package/dist/server/rpc/handlers/load-model/registry.js +6 -6
  491. package/dist/server/rpc/handlers/load-model/resolve-session.d.ts +2 -2
  492. package/dist/server/rpc/handlers/load-model/resolve-session.js +3 -3
  493. package/dist/server/rpc/handlers/load-model/resolve.d.ts +2 -2
  494. package/dist/server/rpc/handlers/load-model/resolve.js +2 -2
  495. package/dist/server/rpc/handlers/load-model/types.d.ts +2 -2
  496. package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -2
  497. package/dist/server/rpc/handlers/load-model-delegated.js +3 -3
  498. package/dist/server/rpc/handlers/logging-stream.d.ts +1 -1
  499. package/dist/server/rpc/handlers/logging-stream.js +1 -1
  500. package/dist/server/rpc/handlers/ocr-stream.d.ts +1 -1
  501. package/dist/server/rpc/handlers/ocr-stream.js +1 -1
  502. package/dist/server/rpc/handlers/plugin-dispatch.js +3 -3
  503. package/dist/server/rpc/handlers/plugin-invoke.d.ts +1 -1
  504. package/dist/server/rpc/handlers/plugin-invoke.js +3 -3
  505. package/dist/server/rpc/handlers/provideHandler/connection.js +1 -1
  506. package/dist/server/rpc/handlers/provideHandler/handler.d.ts +1 -1
  507. package/dist/server/rpc/handlers/provideHandler/handler.js +1 -1
  508. package/dist/server/rpc/handlers/provideHandler/proxy.js +1 -1
  509. package/dist/server/rpc/handlers/provideHandler.d.ts +1 -1
  510. package/dist/server/rpc/handlers/rag.d.ts +1 -1
  511. package/dist/server/rpc/handlers/rag.js +4 -4
  512. package/dist/server/rpc/handlers/registry.d.ts +1 -1
  513. package/dist/server/rpc/handlers/registry.js +1 -1
  514. package/dist/server/rpc/handlers/resume.d.ts +1 -1
  515. package/dist/server/rpc/handlers/resume.js +1 -1
  516. package/dist/server/rpc/handlers/state.d.ts +1 -1
  517. package/dist/server/rpc/handlers/state.js +1 -1
  518. package/dist/server/rpc/handlers/stopProvideHandler.d.ts +1 -1
  519. package/dist/server/rpc/handlers/stopProvideHandler.js +1 -1
  520. package/dist/server/rpc/handlers/suspend.d.ts +1 -1
  521. package/dist/server/rpc/handlers/suspend.js +1 -1
  522. package/dist/server/rpc/handlers/text-to-speech-stream.d.ts +1 -1
  523. package/dist/server/rpc/handlers/text-to-speech-stream.js +1 -1
  524. package/dist/server/rpc/handlers/text-to-speech.d.ts +1 -1
  525. package/dist/server/rpc/handlers/text-to-speech.js +1 -1
  526. package/dist/server/rpc/handlers/transcribe-stream.d.ts +1 -1
  527. package/dist/server/rpc/handlers/transcribe-stream.js +1 -1
  528. package/dist/server/rpc/handlers/transcribe.d.ts +1 -1
  529. package/dist/server/rpc/handlers/transcribe.js +1 -1
  530. package/dist/server/rpc/handlers/translate.d.ts +1 -1
  531. package/dist/server/rpc/handlers/translate.js +1 -1
  532. package/dist/server/rpc/handlers/unload-model-delegated.d.ts +1 -1
  533. package/dist/server/rpc/handlers/unload-model-delegated.js +5 -5
  534. package/dist/server/rpc/handlers/unload-model.d.ts +1 -1
  535. package/dist/server/rpc/handlers/unload-model.js +3 -3
  536. package/dist/server/rpc/handlers/upscale-stream.d.ts +1 -1
  537. package/dist/server/rpc/handlers/upscale-stream.js +1 -1
  538. package/dist/server/rpc/handlers/video-stream.d.ts +1 -1
  539. package/dist/server/rpc/handlers/video-stream.js +1 -1
  540. package/dist/server/rpc/index.d.ts +2 -2
  541. package/dist/server/rpc/method-shapes.d.ts +53 -0
  542. package/dist/server/rpc/method-shapes.js +50 -0
  543. package/dist/server/rpc/profiling/backend-diagnostics.d.ts +3 -0
  544. package/dist/server/rpc/profiling/backend-diagnostics.js +16 -0
  545. package/dist/server/rpc/profiling/context.d.ts +1 -1
  546. package/dist/server/rpc/profiling/delegation-profiler.d.ts +2 -2
  547. package/dist/server/rpc/profiling/index.d.ts +4 -4
  548. package/dist/server/rpc/profiling/operation-metrics.d.ts +2 -2
  549. package/dist/server/rpc/profiling/operation-metrics.js +29 -1
  550. package/dist/server/rpc/profiling/operation-wrappers.d.ts +1 -1
  551. package/dist/server/rpc/profiling/operation-wrappers.js +51 -13
  552. package/dist/server/rpc/profiling/profiler.d.ts +2 -2
  553. package/dist/server/rpc/transport-selector.d.ts +1 -1
  554. package/dist/server/utils/archive.js +1 -1
  555. package/dist/server/utils/audio/decoder.d.ts +1 -1
  556. package/dist/server/utils/audio/decoder.js +1 -1
  557. package/dist/server/utils/cache/auto-history.d.ts +1 -1
  558. package/dist/server/utils/cache/auto-history.js +13 -9
  559. package/dist/server/utils/cache/paths.d.ts +1 -1
  560. package/dist/server/utils/cache/paths.js +6 -6
  561. package/dist/server/utils/checksum.d.ts +1 -1
  562. package/dist/server/utils/completion-normalizer.d.ts +2 -1
  563. package/dist/server/utils/completion-normalizer.js +31 -1
  564. package/dist/server/utils/config-transform.d.ts +1 -1
  565. package/dist/server/utils/config-transform.js +5 -7
  566. package/dist/server/utils/index.d.ts +11 -11
  567. package/dist/server/utils/path-security.d.ts +1 -1
  568. package/dist/server/utils/qvac-paths.js +1 -1
  569. package/dist/server/utils/response-format.d.ts +1 -1
  570. package/dist/server/utils/shard-utils.d.ts +1 -1
  571. package/dist/server/utils/tool-integration.d.ts +1 -1
  572. package/dist/server/utils/tool-integration.js +2 -2
  573. package/dist/server/utils/tools/dialect.d.ts +1 -1
  574. package/dist/server/utils/tools/dialect.js +2 -0
  575. package/dist/server/utils/tools/index.d.ts +2 -2
  576. package/dist/server/utils/tools/parser.d.ts +1 -1
  577. package/dist/server/utils/tools/parser.js +16 -8
  578. package/dist/server/utils/tools/parsers/dsml.d.ts +4 -0
  579. package/dist/server/utils/tools/parsers/dsml.js +176 -0
  580. package/dist/server/utils/tools/parsers/gemma4native.d.ts +2 -2
  581. package/dist/server/utils/tools/parsers/gemma4native.js +1 -1
  582. package/dist/server/utils/tools/parsers/harmony.d.ts +2 -2
  583. package/dist/server/utils/tools/parsers/harmony.js +1 -1
  584. package/dist/server/utils/tools/parsers/hermes.d.ts +2 -2
  585. package/dist/server/utils/tools/parsers/hermes.js +1 -1
  586. package/dist/server/utils/tools/parsers/json.d.ts +2 -2
  587. package/dist/server/utils/tools/parsers/json.js +1 -1
  588. package/dist/server/utils/tools/parsers/pythonic.d.ts +2 -2
  589. package/dist/server/utils/tools/parsers/pythonic.js +1 -1
  590. package/dist/server/utils/tools/parsers/qwen35.d.ts +2 -2
  591. package/dist/server/utils/tools/parsers/qwen35.js +1 -1
  592. package/dist/server/utils/tools/shared.d.ts +1 -1
  593. package/dist/server/utils/worker-lock.js +1 -1
  594. package/dist/server/worker-core.js +14 -10
  595. package/dist/server/worker.js +4 -3
  596. package/dist/utils/aggregate-events.d.ts +2 -2
  597. package/dist/utils/aggregate-events.js +2 -2
  598. package/dist/utils/errors-client.d.ts +0 -3
  599. package/dist/utils/errors-client.js +0 -5
  600. package/dist/utils/errors-server.d.ts +1 -1
  601. package/dist/utils/mcp-adapter.d.ts +4 -4
  602. package/dist/utils/mcp-adapter.js +1 -1
  603. package/dist/utils/tool-helpers.d.ts +1 -1
  604. package/dist/utils/tool-helpers.js +1 -1
  605. package/docs/system-resources-support-matrix.md +103 -0
  606. package/package.json +37 -19
  607. /package/dist/examples/{transcription → asr}/parakeet-ctc-filesystem.d.ts +0 -0
  608. /package/dist/examples/{transcription → asr}/parakeet-microphone-record.d.ts +0 -0
  609. /package/dist/examples/{transcription → asr}/parakeet-microphone-stream.d.ts +0 -0
  610. /package/dist/examples/{transcription → asr}/parakeet-sortformer-streaming.d.ts +0 -0
  611. /package/dist/examples/{transcription → asr}/parakeet-sortformer.d.ts +0 -0
  612. /package/dist/examples/{transcription → asr}/parakeet-tdt-filesystem.d.ts +0 -0
  613. /package/dist/examples/{transcription → asr}/whispercpp-filesystem-streaming.d.ts +0 -0
  614. /package/dist/examples/{transcription → asr}/whispercpp-filesystem.d.ts +0 -0
  615. /package/dist/examples/{transcription → asr}/whispercpp-microphone-conversation.d.ts +0 -0
  616. /package/dist/examples/{transcription → asr}/whispercpp-microphone-record.d.ts +0 -0
  617. /package/dist/examples/{transcription → asr}/whispercpp-prompt.d.ts +0 -0
@@ -1,5 +1,5 @@
1
- import { type CreateModelParams, type PluginModelResult, type ResolveContext, type ResolveResult, type SdcppConfig } from '../../../../schemas/index';
2
- type DiffusionArtifactKey = 'clipLModelPath' | 'clipGModelPath' | 'clipVisionModelPath' | 't5XxlModelPath' | 'llmModelPath' | 'vaeModelPath' | 'highNoiseDiffusionModelPath' | 'esrganModelPath';
1
+ import { type CreateModelParams, type PluginModelResult, type ResolveContext, type ResolveResult, type SdcppConfig } from '../../../../schemas/index.js';
2
+ type DiffusionArtifactKey = 'clipLModelPath' | 'clipGModelPath' | 'clipVisionModelPath' | 't5XxlModelPath' | 'llmModelPath' | 'vaeModelPath' | 'highNoiseDiffusionModelPath' | 'uncondModelPath' | 'audioVaeModelPath' | 'embeddingsConnectorsModelPath' | 'esrganModelPath';
3
3
  /**
4
4
  * Stable-diffusion.cpp plugin for image diffusion, upscaling, and Wan video.
5
5
  *
@@ -23,6 +23,10 @@ export declare const diffusionPlugin: {
23
23
  gpu: "gpu";
24
24
  cpu: "cpu";
25
25
  }>>;
26
+ 'main-gpu': import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodEnum<{
27
+ integrated: "integrated";
28
+ dedicated: "dedicated";
29
+ }>]>>;
26
30
  prediction: import("zod").ZodOptional<import("zod").ZodEnum<{
27
31
  auto: "auto";
28
32
  eps: "eps";
@@ -83,6 +87,7 @@ export declare const diffusionPlugin: {
83
87
  addon: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
84
88
  embeddings: "embeddings";
85
89
  diffusion: "diffusion";
90
+ audiogen: "audiogen";
86
91
  tts: "tts";
87
92
  ocr: "ocr";
88
93
  vla: "vla";
@@ -96,6 +101,7 @@ export declare const diffusionPlugin: {
96
101
  "parakeet-transcription": "parakeet-transcription";
97
102
  "ggml-ocr": "ggml-ocr";
98
103
  "sdcpp-generation": "sdcpp-generation";
104
+ "audiogen-ggml": "audiogen-ggml";
99
105
  "ggml-vla": "ggml-vla";
100
106
  "ggml-classification": "ggml-classification";
101
107
  llm: "llm";
@@ -120,6 +126,7 @@ export declare const diffusionPlugin: {
120
126
  addon: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
121
127
  embeddings: "embeddings";
122
128
  diffusion: "diffusion";
129
+ audiogen: "audiogen";
123
130
  tts: "tts";
124
131
  ocr: "ocr";
125
132
  vla: "vla";
@@ -133,6 +140,7 @@ export declare const diffusionPlugin: {
133
140
  "parakeet-transcription": "parakeet-transcription";
134
141
  "ggml-ocr": "ggml-ocr";
135
142
  "sdcpp-generation": "sdcpp-generation";
143
+ "audiogen-ggml": "audiogen-ggml";
136
144
  "ggml-vla": "ggml-vla";
137
145
  "ggml-classification": "ggml-classification";
138
146
  llm: "llm";
@@ -157,6 +165,7 @@ export declare const diffusionPlugin: {
157
165
  addon: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
158
166
  embeddings: "embeddings";
159
167
  diffusion: "diffusion";
168
+ audiogen: "audiogen";
160
169
  tts: "tts";
161
170
  ocr: "ocr";
162
171
  vla: "vla";
@@ -170,6 +179,7 @@ export declare const diffusionPlugin: {
170
179
  "parakeet-transcription": "parakeet-transcription";
171
180
  "ggml-ocr": "ggml-ocr";
172
181
  "sdcpp-generation": "sdcpp-generation";
182
+ "audiogen-ggml": "audiogen-ggml";
173
183
  "ggml-vla": "ggml-vla";
174
184
  "ggml-classification": "ggml-classification";
175
185
  llm: "llm";
@@ -194,6 +204,7 @@ export declare const diffusionPlugin: {
194
204
  addon: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
195
205
  embeddings: "embeddings";
196
206
  diffusion: "diffusion";
207
+ audiogen: "audiogen";
197
208
  tts: "tts";
198
209
  ocr: "ocr";
199
210
  vla: "vla";
@@ -207,6 +218,7 @@ export declare const diffusionPlugin: {
207
218
  "parakeet-transcription": "parakeet-transcription";
208
219
  "ggml-ocr": "ggml-ocr";
209
220
  "sdcpp-generation": "sdcpp-generation";
221
+ "audiogen-ggml": "audiogen-ggml";
210
222
  "ggml-vla": "ggml-vla";
211
223
  "ggml-classification": "ggml-classification";
212
224
  llm: "llm";
@@ -231,6 +243,7 @@ export declare const diffusionPlugin: {
231
243
  addon: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
232
244
  embeddings: "embeddings";
233
245
  diffusion: "diffusion";
246
+ audiogen: "audiogen";
234
247
  tts: "tts";
235
248
  ocr: "ocr";
236
249
  vla: "vla";
@@ -244,6 +257,7 @@ export declare const diffusionPlugin: {
244
257
  "parakeet-transcription": "parakeet-transcription";
245
258
  "ggml-ocr": "ggml-ocr";
246
259
  "sdcpp-generation": "sdcpp-generation";
260
+ "audiogen-ggml": "audiogen-ggml";
247
261
  "ggml-vla": "ggml-vla";
248
262
  "ggml-classification": "ggml-classification";
249
263
  llm: "llm";
@@ -268,6 +282,7 @@ export declare const diffusionPlugin: {
268
282
  addon: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
269
283
  embeddings: "embeddings";
270
284
  diffusion: "diffusion";
285
+ audiogen: "audiogen";
271
286
  tts: "tts";
272
287
  ocr: "ocr";
273
288
  vla: "vla";
@@ -281,6 +296,46 @@ export declare const diffusionPlugin: {
281
296
  "parakeet-transcription": "parakeet-transcription";
282
297
  "ggml-ocr": "ggml-ocr";
283
298
  "sdcpp-generation": "sdcpp-generation";
299
+ "audiogen-ggml": "audiogen-ggml";
300
+ "ggml-vla": "ggml-vla";
301
+ "ggml-classification": "ggml-classification";
302
+ llm: "llm";
303
+ whisper: "whisper";
304
+ bci: "bci";
305
+ nmt: "nmt";
306
+ parakeet: "parakeet";
307
+ classification: "classification";
308
+ }>, import("zod").ZodLiteral<"vad">]>>;
309
+ }, import("zod/v4/core").$strip>]>>;
310
+ uncondModelSrc: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodObject<{
311
+ src: import("zod").ZodString;
312
+ name: import("zod").ZodOptional<import("zod").ZodString>;
313
+ modelId: import("zod").ZodOptional<import("zod").ZodString>;
314
+ registryPath: import("zod").ZodOptional<import("zod").ZodString>;
315
+ registrySource: import("zod").ZodOptional<import("zod").ZodString>;
316
+ blobCoreKey: import("zod").ZodOptional<import("zod").ZodString>;
317
+ blobIndex: import("zod").ZodOptional<import("zod").ZodNumber>;
318
+ engine: import("zod").ZodOptional<import("zod").ZodString>;
319
+ expectedSize: import("zod").ZodOptional<import("zod").ZodNumber>;
320
+ sha256Checksum: import("zod").ZodOptional<import("zod").ZodString>;
321
+ addon: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
322
+ embeddings: "embeddings";
323
+ diffusion: "diffusion";
324
+ audiogen: "audiogen";
325
+ tts: "tts";
326
+ ocr: "ocr";
327
+ vla: "vla";
328
+ "llamacpp-completion": "llamacpp-completion";
329
+ "whispercpp-transcription": "whispercpp-transcription";
330
+ "bci-whispercpp-transcription": "bci-whispercpp-transcription";
331
+ "llamacpp-embedding": "llamacpp-embedding";
332
+ "nmtcpp-translation": "nmtcpp-translation";
333
+ "onnx-tts": "onnx-tts";
334
+ "tts-ggml": "tts-ggml";
335
+ "parakeet-transcription": "parakeet-transcription";
336
+ "ggml-ocr": "ggml-ocr";
337
+ "sdcpp-generation": "sdcpp-generation";
338
+ "audiogen-ggml": "audiogen-ggml";
284
339
  "ggml-vla": "ggml-vla";
285
340
  "ggml-classification": "ggml-classification";
286
341
  llm: "llm";
@@ -305,6 +360,85 @@ export declare const diffusionPlugin: {
305
360
  addon: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
306
361
  embeddings: "embeddings";
307
362
  diffusion: "diffusion";
363
+ audiogen: "audiogen";
364
+ tts: "tts";
365
+ ocr: "ocr";
366
+ vla: "vla";
367
+ "llamacpp-completion": "llamacpp-completion";
368
+ "whispercpp-transcription": "whispercpp-transcription";
369
+ "bci-whispercpp-transcription": "bci-whispercpp-transcription";
370
+ "llamacpp-embedding": "llamacpp-embedding";
371
+ "nmtcpp-translation": "nmtcpp-translation";
372
+ "onnx-tts": "onnx-tts";
373
+ "tts-ggml": "tts-ggml";
374
+ "parakeet-transcription": "parakeet-transcription";
375
+ "ggml-ocr": "ggml-ocr";
376
+ "sdcpp-generation": "sdcpp-generation";
377
+ "audiogen-ggml": "audiogen-ggml";
378
+ "ggml-vla": "ggml-vla";
379
+ "ggml-classification": "ggml-classification";
380
+ llm: "llm";
381
+ whisper: "whisper";
382
+ bci: "bci";
383
+ nmt: "nmt";
384
+ parakeet: "parakeet";
385
+ classification: "classification";
386
+ }>, import("zod").ZodLiteral<"vad">]>>;
387
+ }, import("zod/v4/core").$strip>]>>;
388
+ audioVaeModelSrc: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodObject<{
389
+ src: import("zod").ZodString;
390
+ name: import("zod").ZodOptional<import("zod").ZodString>;
391
+ modelId: import("zod").ZodOptional<import("zod").ZodString>;
392
+ registryPath: import("zod").ZodOptional<import("zod").ZodString>;
393
+ registrySource: import("zod").ZodOptional<import("zod").ZodString>;
394
+ blobCoreKey: import("zod").ZodOptional<import("zod").ZodString>;
395
+ blobIndex: import("zod").ZodOptional<import("zod").ZodNumber>;
396
+ engine: import("zod").ZodOptional<import("zod").ZodString>;
397
+ expectedSize: import("zod").ZodOptional<import("zod").ZodNumber>;
398
+ sha256Checksum: import("zod").ZodOptional<import("zod").ZodString>;
399
+ addon: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
400
+ embeddings: "embeddings";
401
+ diffusion: "diffusion";
402
+ audiogen: "audiogen";
403
+ tts: "tts";
404
+ ocr: "ocr";
405
+ vla: "vla";
406
+ "llamacpp-completion": "llamacpp-completion";
407
+ "whispercpp-transcription": "whispercpp-transcription";
408
+ "bci-whispercpp-transcription": "bci-whispercpp-transcription";
409
+ "llamacpp-embedding": "llamacpp-embedding";
410
+ "nmtcpp-translation": "nmtcpp-translation";
411
+ "onnx-tts": "onnx-tts";
412
+ "tts-ggml": "tts-ggml";
413
+ "parakeet-transcription": "parakeet-transcription";
414
+ "ggml-ocr": "ggml-ocr";
415
+ "sdcpp-generation": "sdcpp-generation";
416
+ "audiogen-ggml": "audiogen-ggml";
417
+ "ggml-vla": "ggml-vla";
418
+ "ggml-classification": "ggml-classification";
419
+ llm: "llm";
420
+ whisper: "whisper";
421
+ bci: "bci";
422
+ nmt: "nmt";
423
+ parakeet: "parakeet";
424
+ classification: "classification";
425
+ }>, import("zod").ZodLiteral<"vad">]>>;
426
+ }, import("zod/v4/core").$strip>]>>;
427
+ embeddingsConnectorsModelSrc: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodObject<{
428
+ src: import("zod").ZodString;
429
+ name: import("zod").ZodOptional<import("zod").ZodString>;
430
+ modelId: import("zod").ZodOptional<import("zod").ZodString>;
431
+ registryPath: import("zod").ZodOptional<import("zod").ZodString>;
432
+ registrySource: import("zod").ZodOptional<import("zod").ZodString>;
433
+ blobCoreKey: import("zod").ZodOptional<import("zod").ZodString>;
434
+ blobIndex: import("zod").ZodOptional<import("zod").ZodNumber>;
435
+ engine: import("zod").ZodOptional<import("zod").ZodString>;
436
+ expectedSize: import("zod").ZodOptional<import("zod").ZodNumber>;
437
+ sha256Checksum: import("zod").ZodOptional<import("zod").ZodString>;
438
+ addon: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
439
+ embeddings: "embeddings";
440
+ diffusion: "diffusion";
441
+ audiogen: "audiogen";
308
442
  tts: "tts";
309
443
  ocr: "ocr";
310
444
  vla: "vla";
@@ -318,6 +452,7 @@ export declare const diffusionPlugin: {
318
452
  "parakeet-transcription": "parakeet-transcription";
319
453
  "ggml-ocr": "ggml-ocr";
320
454
  "sdcpp-generation": "sdcpp-generation";
455
+ "audiogen-ggml": "audiogen-ggml";
321
456
  "ggml-vla": "ggml-vla";
322
457
  "ggml-classification": "ggml-classification";
323
458
  llm: "llm";
@@ -344,6 +479,7 @@ export declare const diffusionPlugin: {
344
479
  addon: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
345
480
  embeddings: "embeddings";
346
481
  diffusion: "diffusion";
482
+ audiogen: "audiogen";
347
483
  tts: "tts";
348
484
  ocr: "ocr";
349
485
  vla: "vla";
@@ -357,6 +493,7 @@ export declare const diffusionPlugin: {
357
493
  "parakeet-transcription": "parakeet-transcription";
358
494
  "ggml-ocr": "ggml-ocr";
359
495
  "sdcpp-generation": "sdcpp-generation";
496
+ "audiogen-ggml": "audiogen-ggml";
360
497
  "ggml-vla": "ggml-vla";
361
498
  "ggml-classification": "ggml-classification";
362
499
  llm: "llm";
@@ -376,7 +513,7 @@ export declare const diffusionPlugin: {
376
513
  resolveConfig(cfg: SdcppConfig, ctx: ResolveContext): Promise<ResolveResult<SdcppConfig, DiffusionArtifactKey>>;
377
514
  createModel(params: CreateModelParams): PluginModelResult;
378
515
  handlers: {
379
- diffusionStream: import("../../../../schemas/index").PluginHandlerDefinition<import("zod").ZodObject<{
516
+ diffusionStream: import("../../../../schemas/index.js").PluginHandlerDefinition<import("zod").ZodObject<{
380
517
  modelId: import("zod").ZodString;
381
518
  prompt: import("zod").ZodString;
382
519
  negative_prompt: import("zod").ZodOptional<import("zod").ZodString>;
@@ -439,6 +576,11 @@ export declare const diffusionPlugin: {
439
576
  stats: import("zod").ZodOptional<import("zod").ZodObject<{
440
577
  modelLoadMs: import("zod").ZodOptional<import("zod").ZodNumber>;
441
578
  generationMs: import("zod").ZodOptional<import("zod").ZodNumber>;
579
+ conditionerMs: import("zod").ZodOptional<import("zod").ZodNumber>;
580
+ denoiseMs: import("zod").ZodOptional<import("zod").ZodNumber>;
581
+ vaeMs: import("zod").ZodOptional<import("zod").ZodNumber>;
582
+ postProcessMs: import("zod").ZodOptional<import("zod").ZodNumber>;
583
+ stepsPerSecond: import("zod").ZodOptional<import("zod").ZodNumber>;
442
584
  totalGenerationMs: import("zod").ZodOptional<import("zod").ZodNumber>;
443
585
  totalWallMs: import("zod").ZodOptional<import("zod").ZodNumber>;
444
586
  totalSteps: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -450,7 +592,7 @@ export declare const diffusionPlugin: {
450
592
  seed: import("zod").ZodOptional<import("zod").ZodNumber>;
451
593
  }, import("zod/v4/core").$strip>>;
452
594
  }, import("zod/v4/core").$strip>>;
453
- videoStream: import("../../../../schemas/index").PluginHandlerDefinition<import("zod").ZodObject<{
595
+ videoStream: import("../../../../schemas/index.js").PluginHandlerDefinition<import("zod").ZodObject<{
454
596
  modelId: import("zod").ZodString;
455
597
  requestId: import("zod").ZodOptional<import("zod").ZodString>;
456
598
  prompt: import("zod").ZodString;
@@ -530,6 +672,7 @@ export declare const diffusionPlugin: {
530
672
  vae_tiling: import("zod").ZodOptional<import("zod").ZodBoolean>;
531
673
  vae_tile_size: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodString]>>;
532
674
  vae_tile_overlap: import("zod").ZodOptional<import("zod").ZodNumber>;
675
+ temporal_tiling: import("zod").ZodOptional<import("zod").ZodBoolean>;
533
676
  cache_mode: import("zod").ZodOptional<import("zod").ZodEnum<{
534
677
  disabled: "disabled";
535
678
  easycache: "easycache";
@@ -560,6 +703,11 @@ export declare const diffusionPlugin: {
560
703
  height: import("zod").ZodOptional<import("zod").ZodNumber>;
561
704
  modelLoadMs: import("zod").ZodOptional<import("zod").ZodNumber>;
562
705
  generationMs: import("zod").ZodOptional<import("zod").ZodNumber>;
706
+ conditionerMs: import("zod").ZodOptional<import("zod").ZodNumber>;
707
+ denoiseMs: import("zod").ZodOptional<import("zod").ZodNumber>;
708
+ vaeMs: import("zod").ZodOptional<import("zod").ZodNumber>;
709
+ postProcessMs: import("zod").ZodOptional<import("zod").ZodNumber>;
710
+ stepsPerSecond: import("zod").ZodOptional<import("zod").ZodNumber>;
563
711
  totalGenerationMs: import("zod").ZodOptional<import("zod").ZodNumber>;
564
712
  totalWallMs: import("zod").ZodOptional<import("zod").ZodNumber>;
565
713
  totalSteps: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -570,9 +718,11 @@ export declare const diffusionPlugin: {
570
718
  totalVideoFrames: import("zod").ZodOptional<import("zod").ZodNumber>;
571
719
  videoFrames: import("zod").ZodOptional<import("zod").ZodNumber>;
572
720
  fps: import("zod").ZodOptional<import("zod").ZodNumber>;
721
+ hasAudio: import("zod").ZodOptional<import("zod").ZodBoolean>;
722
+ audioSampleRate: import("zod").ZodOptional<import("zod").ZodNumber>;
573
723
  }, import("zod/v4/core").$strip>>;
574
724
  }, import("zod/v4/core").$strip>>;
575
- upscaleStream: import("../../../../schemas/index").PluginHandlerDefinition<import("zod").ZodObject<{
725
+ upscaleStream: import("../../../../schemas/index.js").PluginHandlerDefinition<import("zod").ZodObject<{
576
726
  modelId: import("zod").ZodString;
577
727
  image: import("zod").ZodString;
578
728
  repeats: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -1,10 +1,12 @@
1
1
  import ImgStableDiffusion, { EsrganUpscaler, VideoStableDiffusion } from '@qvac/diffusion-cpp';
2
- import addonLogging from '@qvac/diffusion-cpp/addonLogging.js';
2
+ import addonLogging from '@qvac/diffusion-cpp/addonLogging';
3
3
  import { definePlugin, defineHandler, sdcppConfigSchema, diffusionRequestSchema, diffusionStreamResponseSchema, videoRequestSchema, videoStreamResponseSchema, upscaleRequestSchema, upscaleStreamResponseSchema, ModelType, ADDON_DIFFUSION } from '../../../../schemas/index.js';
4
- import { createStreamLogger, registerAddonLogger } from '../../../../logging/index.js';
4
+ import { createStreamLogger, registerAddonLogger, getServerLogger } from '../../../../logging/index.js';
5
5
  import { ModelLoadFailedError } from '../../../../utils/errors-server.js';
6
+ import { isMobile } from '../../../../server/bare/registry/runtime-context-registry.js';
7
+ import { stripMultiGpuKeys } from '../../../../server/utils/multi-gpu-mobile.js';
6
8
  import { diffusion } from './ops/diffusion.js';
7
- import { video } from './ops/video.js';
9
+ import { markLtxVideoModel, markMoeCapableVideoModel, video } from './ops/video.js';
8
10
  import { upscale } from './ops/upscale.js';
9
11
  // Single source of truth for `SdcppConfig.upscaler.*` → addon-config key
10
12
  // mapping. Used by both the diffusion-mode (post-generation upscaler) and the
@@ -52,13 +54,48 @@ export const diffusionPlugin = definePlugin({
52
54
  addonPackage: ADDON_DIFFUSION,
53
55
  loadConfigSchema: sdcppConfigSchema,
54
56
  async resolveConfig(cfg, ctx) {
57
+ if (cfg.uncondModelSrc && cfg.mode !== 'diffusion') {
58
+ throw new ModelLoadFailedError('modelConfig.uncondModelSrc is Ideogram 4 diffusion only. ' +
59
+ "Use mode: 'diffusion' or remove uncondModelSrc.");
60
+ }
61
+ if (cfg.uncondModelSrc && (!cfg.llmModelSrc || !cfg.vaeModelSrc)) {
62
+ throw new ModelLoadFailedError('modelConfig.uncondModelSrc selects the Ideogram 4 layout and requires ' +
63
+ 'modelConfig.llmModelSrc (Qwen3-VL) and modelConfig.vaeModelSrc.');
64
+ }
65
+ // A high-noise expert only has somewhere to go in the Wan 2.2 A14B video
66
+ // layout: every other mode builds a model with no second-expert slot, and
67
+ // embeddingsConnectorsModelSrc selects LTX-2 instead. Check it ahead of the
68
+ // upscale early-return so a wrong layout fails loudly rather than
69
+ // downloading a multi-gigabyte expert and dropping it in createModel.
70
+ const isWan22MoeLayout = cfg.mode === 'video' && !cfg.embeddingsConnectorsModelSrc;
71
+ if (cfg.highNoiseDiffusionModelSrc && !isWan22MoeLayout) {
72
+ throw new ModelLoadFailedError('modelConfig.highNoiseDiffusionModelSrc selects the Wan 2.2 A14B ' +
73
+ "mixture-of-experts video layout. It requires mode: 'video' and " +
74
+ 'cannot be combined with modelConfig.embeddingsConnectorsModelSrc ' +
75
+ '(which selects the LTX-2 layout).');
76
+ }
55
77
  // Standalone-upscaler mode never references auxiliary models: the primary
56
78
  // modelSrc IS the ESRGAN file. Skip resolution to avoid downloading
57
79
  // unused encoders/VAEs and to keep load fast.
58
80
  if (cfg.mode === 'upscale') {
59
81
  return { config: cfg };
60
82
  }
61
- const { clipLModelSrc, clipGModelSrc, clipVisionModelSrc, t5XxlModelSrc, llmModelSrc, vaeModelSrc, highNoiseDiffusionModelSrc, upscaler, ...rest } = cfg;
83
+ const { clipLModelSrc, clipGModelSrc, clipVisionModelSrc, t5XxlModelSrc, llmModelSrc, vaeModelSrc, highNoiseDiffusionModelSrc, uncondModelSrc, audioVaeModelSrc, embeddingsConnectorsModelSrc, upscaler, ...rest } = cfg;
84
+ // audioVae / embeddingsConnectors are LTX-2 video companions. Reject them
85
+ // up front — before any companion download — when the selected layout
86
+ // can't consume them, instead of silently resolving the file and then
87
+ // dropping it in createModel. Both fields are new, so this cannot break
88
+ // existing callers.
89
+ if (embeddingsConnectorsModelSrc && cfg.mode !== 'video') {
90
+ throw new ModelLoadFailedError('modelConfig.embeddingsConnectorsModelSrc selects the LTX-2 video ' +
91
+ "layout and is only valid with mode: 'video'.");
92
+ }
93
+ if (audioVaeModelSrc && !(cfg.mode === 'video' && embeddingsConnectorsModelSrc)) {
94
+ throw new ModelLoadFailedError('modelConfig.audioVaeModelSrc is LTX-2 video only. It requires ' +
95
+ "mode: 'video' together with modelConfig.embeddingsConnectorsModelSrc " +
96
+ '(which selects the LTX-2 layout). Add embeddingsConnectorsModelSrc ' +
97
+ 'or remove audioVaeModelSrc.');
98
+ }
62
99
  // Video jobs do not apply ESRGAN so we drop the whole `upscaler` object.
63
100
  const effectiveUpscaler = cfg.mode === 'video' ? undefined : upscaler;
64
101
  const { model_src: esrganModelSrc, ...upscalerRuntime } = effectiveUpscaler ?? {};
@@ -74,6 +111,9 @@ export const diffusionPlugin = definePlugin({
74
111
  llmModelSrc,
75
112
  vaeModelSrc,
76
113
  highNoiseDiffusionModelSrc,
114
+ uncondModelSrc,
115
+ audioVaeModelSrc,
116
+ embeddingsConnectorsModelSrc,
77
117
  esrganModelSrc
78
118
  };
79
119
  const hasSources = Object.values(sources).some(Boolean);
@@ -81,7 +121,7 @@ export const diffusionPlugin = definePlugin({
81
121
  return { config: runtimeConfig };
82
122
  }
83
123
  const resolve = ctx.resolveModelPath;
84
- const [clipLModelPath, clipGModelPath, clipVisionModelPath, t5XxlModelPath, llmModelPath, vaeModelPath, highNoiseDiffusionModelPath, esrganModelPath] = await Promise.all([
124
+ const [clipLModelPath, clipGModelPath, clipVisionModelPath, t5XxlModelPath, llmModelPath, vaeModelPath, highNoiseDiffusionModelPath, uncondModelPath, audioVaeModelPath, embeddingsConnectorsModelPath, esrganModelPath] = await Promise.all([
85
125
  clipLModelSrc ? resolve(clipLModelSrc) : undefined,
86
126
  clipGModelSrc ? resolve(clipGModelSrc) : undefined,
87
127
  clipVisionModelSrc ? resolve(clipVisionModelSrc) : undefined,
@@ -89,6 +129,9 @@ export const diffusionPlugin = definePlugin({
89
129
  llmModelSrc ? resolve(llmModelSrc) : undefined,
90
130
  vaeModelSrc ? resolve(vaeModelSrc) : undefined,
91
131
  highNoiseDiffusionModelSrc ? resolve(highNoiseDiffusionModelSrc) : undefined,
132
+ uncondModelSrc ? resolve(uncondModelSrc) : undefined,
133
+ audioVaeModelSrc ? resolve(audioVaeModelSrc) : undefined,
134
+ embeddingsConnectorsModelSrc ? resolve(embeddingsConnectorsModelSrc) : undefined,
92
135
  esrganModelSrc ? resolve(esrganModelSrc) : undefined
93
136
  ]);
94
137
  return {
@@ -101,6 +144,9 @@ export const diffusionPlugin = definePlugin({
101
144
  ...(llmModelPath && { llmModelPath }),
102
145
  ...(vaeModelPath && { vaeModelPath }),
103
146
  ...(highNoiseDiffusionModelPath && { highNoiseDiffusionModelPath }),
147
+ ...(uncondModelPath && { uncondModelPath }),
148
+ ...(audioVaeModelPath && { audioVaeModelPath }),
149
+ ...(embeddingsConnectorsModelPath && { embeddingsConnectorsModelPath }),
104
150
  ...(esrganModelPath && { esrganModelPath })
105
151
  }
106
152
  };
@@ -108,6 +154,13 @@ export const diffusionPlugin = definePlugin({
108
154
  createModel(params) {
109
155
  const { modelId, modelPath, modelConfig, artifacts } = params;
110
156
  const config = (modelConfig ?? {});
157
+ // no multi-gpu on mobile
158
+ if (isMobile()) {
159
+ const stripped = stripMultiGpuKeys(config);
160
+ if (stripped.length > 0) {
161
+ getServerLogger().warn(`[${ModelType.sdcppGeneration}:${modelId}] Multi-GPU parameters (${stripped.join(', ')}) are not supported on mobile (single-GPU device) — removing from config; model will load with single-GPU defaults`);
162
+ }
163
+ }
111
164
  // In diffusion mode the ESRGAN file (when post-generation upscale is
112
165
  // wanted) must come from upscaler.model_src — the primary modelPath is
113
166
  // the main diffusion checkpoint. Reject early with a clear error
@@ -133,28 +186,54 @@ export const diffusionPlugin = definePlugin({
133
186
  return { model };
134
187
  }
135
188
  if (config.mode === 'video') {
136
- if (!artifacts?.['t5XxlModelPath']) {
137
- throw new ModelLoadFailedError('modelConfig.t5XxlModelSrc is required in video mode. ' +
138
- 'Provide the Wan text encoder model before loading the video pipeline.');
139
- }
189
+ // Layout is selected the same way the addon self-detects it: the
190
+ // presence of the LTX-2 text-embedding connectors switches from the
191
+ // Wan layout (UMT5 via t5Xxl) to the LTX-2 layout (Gemma via llm +
192
+ // video VAE + connectors, optional audio VAE). Mirrors
193
+ // `SdModel::isLtxModel_ = !embeddingsConnectorsPath.empty()`.
194
+ const embeddingsConnectorsModelPath = artifacts?.['embeddingsConnectorsModelPath'];
140
195
  if (!artifacts?.['vaeModelPath']) {
141
196
  throw new ModelLoadFailedError('modelConfig.vaeModelSrc is required in video mode. ' +
142
- 'Provide the Wan VAE model before loading the video pipeline.');
197
+ 'Provide the Wan or LTX-2 video VAE model before loading the video pipeline.');
198
+ }
199
+ const vaeModelPath = artifacts['vaeModelPath'];
200
+ let files;
201
+ if (embeddingsConnectorsModelPath) {
202
+ if (!artifacts['llmModelPath']) {
203
+ throw new ModelLoadFailedError('modelConfig.llmModelSrc is required for LTX-2 video. ' +
204
+ 'Provide the Gemma text encoder model before loading the LTX-2 pipeline.');
205
+ }
206
+ files = {
207
+ model: modelPath,
208
+ vae: vaeModelPath,
209
+ llm: artifacts['llmModelPath'],
210
+ embeddingsConnectors: embeddingsConnectorsModelPath,
211
+ ...(artifacts['audioVaeModelPath'] && {
212
+ audioVae: artifacts['audioVaeModelPath']
213
+ }),
214
+ ...(artifacts['esrganModelPath'] && { esrgan: artifacts['esrganModelPath'] })
215
+ };
216
+ }
217
+ else {
218
+ if (!artifacts['t5XxlModelPath']) {
219
+ throw new ModelLoadFailedError('modelConfig.t5XxlModelSrc is required in video mode. ' +
220
+ 'Provide the Wan text encoder model before loading the video pipeline.');
221
+ }
222
+ files = {
223
+ model: modelPath,
224
+ vae: vaeModelPath,
225
+ t5Xxl: artifacts['t5XxlModelPath'],
226
+ ...(artifacts['highNoiseDiffusionModelPath'] && {
227
+ highNoiseDiffusionModel: artifacts['highNoiseDiffusionModelPath']
228
+ }),
229
+ ...(artifacts['clipVisionModelPath'] && {
230
+ clipVision: artifacts['clipVisionModelPath']
231
+ }),
232
+ ...(artifacts['esrganModelPath'] && { esrgan: artifacts['esrganModelPath'] })
233
+ };
143
234
  }
144
- const files = {
145
- model: modelPath,
146
- t5Xxl: artifacts['t5XxlModelPath'],
147
- vae: artifacts['vaeModelPath'],
148
- ...(artifacts?.['highNoiseDiffusionModelPath'] && {
149
- highNoiseDiffusionModel: artifacts['highNoiseDiffusionModelPath']
150
- }),
151
- ...(artifacts?.['clipVisionModelPath'] && {
152
- clipVision: artifacts['clipVisionModelPath']
153
- }),
154
- ...(artifacts?.['esrganModelPath'] && { esrgan: artifacts['esrganModelPath'] })
155
- };
156
235
  /* eslint-disable @typescript-eslint/no-unused-vars */
157
- const { clipLModelSrc, clipGModelSrc, clipVisionModelSrc, t5XxlModelSrc, llmModelSrc, vaeModelSrc, highNoiseDiffusionModelSrc, upscaler, mode, ...rest } = config;
236
+ const { clipLModelSrc, clipGModelSrc, clipVisionModelSrc, t5XxlModelSrc, llmModelSrc, vaeModelSrc, highNoiseDiffusionModelSrc, uncondModelSrc, audioVaeModelSrc, embeddingsConnectorsModelSrc, upscaler, mode, ...rest } = config;
158
237
  /* eslint-enable @typescript-eslint/no-unused-vars */
159
238
  const model = new VideoStableDiffusion({
160
239
  files,
@@ -162,6 +241,10 @@ export const diffusionPlugin = definePlugin({
162
241
  logger,
163
242
  opts: { stats: true }
164
243
  });
244
+ if (embeddingsConnectorsModelPath)
245
+ markLtxVideoModel(model);
246
+ if (files.highNoiseDiffusionModel)
247
+ markMoeCapableVideoModel(model);
165
248
  return { model };
166
249
  }
167
250
  const files = {
@@ -171,6 +254,9 @@ export const diffusionPlugin = definePlugin({
171
254
  ...(artifacts?.['t5XxlModelPath'] && { t5Xxl: artifacts['t5XxlModelPath'] }),
172
255
  ...(artifacts?.['llmModelPath'] && { llm: artifacts['llmModelPath'] }),
173
256
  ...(artifacts?.['vaeModelPath'] && { vae: artifacts['vaeModelPath'] }),
257
+ ...(artifacts?.['uncondModelPath'] && {
258
+ uncondModel: artifacts['uncondModelPath']
259
+ }),
174
260
  ...(artifacts?.['esrganModelPath'] && { esrgan: artifacts['esrganModelPath'] })
175
261
  };
176
262
  // `mode` is consumed by this plugin to select the model class above; the
@@ -0,0 +1,7 @@
1
+ import type { TextToSpeechStreamRequest, TtsRequest } from '../../../../../schemas/index.js';
2
+ export type ParlerJobOptions = Pick<TtsRequest, 'description' | 'voiceDescription' | 'voice' | 'emotion' | 'pitch' | 'pace' | 'expressivity' | 'noise' | 'reverb' | 'quality'>;
3
+ type ParlerJobOptionsRequest = TtsRequest | TextToSpeechStreamRequest;
4
+ export declare function getParlerJobOptions(request: ParlerJobOptionsRequest): ParlerJobOptions;
5
+ export declare function assertParlerJobOptionsSupported(model: unknown, options: ParlerJobOptions, handlerName: 'textToSpeech' | 'textToSpeechStream'): void;
6
+ export {};
7
+ //# sourceMappingURL=parler-options.d.ts.map
@@ -0,0 +1,30 @@
1
+ import { PluginRequestValidationFailedError } from '../../../../../utils/errors-server.js';
2
+ function hasEngineType(model) {
3
+ return (typeof model === 'object' &&
4
+ model !== null &&
5
+ 'getEngineType' in model &&
6
+ typeof model.getEngineType === 'function');
7
+ }
8
+ export function getParlerJobOptions(request) {
9
+ return {
10
+ ...(request.description !== undefined ? { description: request.description } : {}),
11
+ ...(request.voiceDescription !== undefined
12
+ ? { voiceDescription: request.voiceDescription }
13
+ : {}),
14
+ ...(request.voice !== undefined ? { voice: request.voice } : {}),
15
+ ...(request.emotion !== undefined ? { emotion: request.emotion } : {}),
16
+ ...(request.pitch !== undefined ? { pitch: request.pitch } : {}),
17
+ ...(request.pace !== undefined ? { pace: request.pace } : {}),
18
+ ...(request.expressivity !== undefined ? { expressivity: request.expressivity } : {}),
19
+ ...(request.noise !== undefined ? { noise: request.noise } : {}),
20
+ ...(request.reverb !== undefined ? { reverb: request.reverb } : {}),
21
+ ...(request.quality !== undefined ? { quality: request.quality } : {})
22
+ };
23
+ }
24
+ export function assertParlerJobOptionsSupported(model, options, handlerName) {
25
+ if (Object.keys(options).length === 0)
26
+ return;
27
+ if (hasEngineType(model) && model.getEngineType() === 'parler')
28
+ return;
29
+ throw new PluginRequestValidationFailedError(handlerName, 'description, voiceDescription, voice, emotion, pitch, pace, expressivity, noise, reverb, and quality are only supported by Parler TTS models');
30
+ }
@@ -1,5 +1,5 @@
1
- import { type TextToSpeechStreamRequest, type TtsStats } from '../../../../../schemas/index';
2
- import { type TtsOpYield } from '../../../utils/tts-stats';
1
+ import { type TextToSpeechStreamRequest, type TtsStats } from '../../../../../schemas/index.js';
2
+ import { type TtsOpYield } from '../../../../../server/bare/utils/tts-stats.js';
3
3
  export declare function textToSpeechStream(params: TextToSpeechStreamRequest, inputStream: AsyncIterable<Buffer>): AsyncGenerator<TtsOpYield, {
4
4
  modelExecutionMs: number;
5
5
  stats?: TtsStats;
@@ -1,9 +1,10 @@
1
- import { getModel } from '../../../registry/model-registry.js';
1
+ import { getModel } from '../../../../../server/bare/registry/model-registry.js';
2
2
  import { textToSpeechStreamRequestSchema } from '../../../../../schemas/index.js';
3
3
  import { nowMs } from '../../../../../profiling/index.js';
4
4
  import { buildStreamResult, hasDefinedValues } from '../../../../../profiling/model-execution.js';
5
5
  import { TextToSpeechStreamFailedError } from '../../../../../utils/errors-server.js';
6
- import { collectTtsStats } from '../../../utils/tts-stats.js';
6
+ import { collectTtsStats } from '../../../../../server/bare/utils/tts-stats.js';
7
+ import { assertParlerJobOptionsSupported, getParlerJobOptions } from '../../../../../server/bare/plugins/tts-ggml/ops/parler-options.js';
7
8
  function hasRunStreaming(model) {
8
9
  return (typeof model === 'object' &&
9
10
  model !== null &&
@@ -53,7 +54,7 @@ async function* buffersToUtf8Fragments(inputStream) {
53
54
  }
54
55
  }
55
56
  }
56
- function buildRunStreamingOptions(request) {
57
+ function buildRunStreamingOptions(request, parlerJobOptions) {
57
58
  const o = {};
58
59
  if (request.accumulateSentences !== undefined) {
59
60
  o['accumulateSentences'] = request.accumulateSentences;
@@ -67,17 +68,19 @@ function buildRunStreamingOptions(request) {
67
68
  if (request.flushAfterMs !== undefined) {
68
69
  o['flushAfterMs'] = request.flushAfterMs;
69
70
  }
70
- return o;
71
+ return { ...o, ...parlerJobOptions };
71
72
  }
72
73
  export async function* textToSpeechStream(params, inputStream) {
73
74
  const request = textToSpeechStreamRequestSchema.parse(params);
74
75
  const model = getModel(request.modelId);
76
+ const parlerJobOptions = getParlerJobOptions(request);
77
+ assertParlerJobOptionsSupported(model, parlerJobOptions, 'textToSpeechStream');
75
78
  const modelStart = nowMs();
76
79
  if (!hasRunStreaming(model)) {
77
80
  throw new TextToSpeechStreamFailedError('textToSpeechStream requires a TTS model with runStreaming');
78
81
  }
79
82
  const textSource = buffersToUtf8Fragments(inputStream);
80
- const streamOpts = buildRunStreamingOptions(request);
83
+ const streamOpts = buildRunStreamingOptions(request, parlerJobOptions);
81
84
  const response = await model.runStreaming(textSource, Object.keys(streamOpts).length > 0 ? streamOpts : undefined);
82
85
  for await (const data of response.iterate()) {
83
86
  if (data.outputArray == null) {
@@ -1,5 +1,5 @@
1
- import { type TtsRequest, type TtsStats } from '../../../../../schemas/index';
2
- import { type TtsOpYield } from '../../../utils/tts-stats';
1
+ import { type TtsRequest, type TtsStats } from '../../../../../schemas/index.js';
2
+ import { type TtsOpYield } from '../../../../../server/bare/utils/tts-stats.js';
3
3
  export declare function textToSpeech(params: TtsRequest): AsyncGenerator<TtsOpYield, {
4
4
  modelExecutionMs: number;
5
5
  stats?: TtsStats;