@qvac/sdk 0.9.2 → 0.10.1

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 (343) hide show
  1. package/NOTICE +42 -95
  2. package/dist/client/api/cancel.d.ts +1 -1
  3. package/dist/client/api/cancel.js +1 -1
  4. package/dist/client/api/completion-stream.d.ts +51 -12
  5. package/dist/client/api/completion-stream.js +129 -56
  6. package/dist/client/api/delete-cache.d.ts +1 -0
  7. package/dist/client/api/delete-cache.js +1 -0
  8. package/dist/client/api/diffusion.d.ts +17 -2
  9. package/dist/client/api/diffusion.js +21 -4
  10. package/dist/client/api/embed.d.ts +4 -0
  11. package/dist/client/api/finetune.d.ts +21 -0
  12. package/dist/client/api/get-loaded-model-info.d.ts +25 -0
  13. package/dist/client/api/get-loaded-model-info.js +36 -0
  14. package/dist/client/api/get-model-info.d.ts +9 -1
  15. package/dist/client/api/get-model-info.js +8 -0
  16. package/dist/client/api/heartbeat.d.ts +2 -2
  17. package/dist/client/api/heartbeat.js +2 -2
  18. package/dist/client/api/index.d.ts +3 -1
  19. package/dist/client/api/index.js +3 -1
  20. package/dist/client/api/invoke-plugin.d.ts +16 -0
  21. package/dist/client/api/invoke-plugin.js +16 -0
  22. package/dist/client/api/load-model.d.ts +36 -3
  23. package/dist/client/api/load-model.js +31 -10
  24. package/dist/client/api/provide.d.ts +11 -5
  25. package/dist/client/api/provide.js +11 -6
  26. package/dist/client/api/rag.d.ts +9 -0
  27. package/dist/client/api/rag.js +9 -0
  28. package/dist/client/api/registry.d.ts +26 -0
  29. package/dist/client/api/registry.js +26 -0
  30. package/dist/client/api/resume.d.ts +20 -4
  31. package/dist/client/api/resume.js +20 -4
  32. package/dist/client/api/state.d.ts +23 -0
  33. package/dist/client/api/state.js +29 -0
  34. package/dist/client/api/stop-provider.d.ts +11 -5
  35. package/dist/client/api/stop-provider.js +11 -5
  36. package/dist/client/api/suspend.d.ts +21 -3
  37. package/dist/client/api/suspend.js +21 -3
  38. package/dist/client/api/text-to-speech.d.ts +64 -6
  39. package/dist/client/api/text-to-speech.js +423 -47
  40. package/dist/client/api/transcribe.d.ts +29 -4
  41. package/dist/client/api/transcribe.js +86 -28
  42. package/dist/client/api/translate.d.ts +1 -0
  43. package/dist/client/api/translate.js +1 -0
  44. package/dist/client/rpc/bare-client.js +22 -1
  45. package/dist/client/rpc/expo-rpc-client.d.ts +1 -1
  46. package/dist/client/rpc/expo-rpc-client.js +96 -4
  47. package/dist/client/rpc/node-rpc-client.js +36 -0
  48. package/dist/examples/audio/mic-input.d.ts +9 -0
  49. package/dist/examples/audio/mic-input.js +111 -0
  50. package/dist/examples/completion-events.d.ts +18 -0
  51. package/dist/examples/completion-events.js +79 -0
  52. package/dist/examples/delegated-inference/composite.js +12 -18
  53. package/dist/examples/delegated-inference/consumer-profiled.js +4 -11
  54. package/dist/examples/delegated-inference/consumer.js +8 -13
  55. package/dist/examples/delegated-inference/provider.js +11 -16
  56. package/dist/examples/diffusion-flux2-klein-img2img.d.ts +2 -0
  57. package/dist/examples/diffusion-flux2-klein-img2img.js +60 -0
  58. package/dist/examples/diffusion-flux2-klein.js +1 -0
  59. package/dist/examples/diffusion-img2img.d.ts +2 -0
  60. package/dist/examples/diffusion-img2img.js +49 -0
  61. package/dist/examples/diffusion-txt2img.js +2 -1
  62. package/dist/examples/kv-cache-example.js +11 -12
  63. package/dist/examples/llamacpp-cache.d.ts +2 -0
  64. package/dist/examples/llamacpp-cache.js +107 -0
  65. package/dist/examples/llamacpp-dynamic-tools.d.ts +2 -0
  66. package/dist/examples/llamacpp-dynamic-tools.js +144 -0
  67. package/dist/examples/llamacpp-structured-output.d.ts +2 -0
  68. package/dist/examples/llamacpp-structured-output.js +106 -0
  69. package/dist/examples/plugins.js +4 -4
  70. package/dist/examples/suspend-resume.js +21 -4
  71. package/dist/examples/{llamacpp-native-tools.js → tools/llamacpp-native-tools.js} +6 -55
  72. package/dist/examples/tools/llamacpp-tools-harmony-multiturn.d.ts +2 -0
  73. package/dist/examples/tools/llamacpp-tools-harmony-multiturn.js +81 -0
  74. package/dist/examples/tools/llamacpp-tools-pythonic.d.ts +2 -0
  75. package/dist/examples/tools/llamacpp-tools-pythonic.js +50 -0
  76. package/dist/examples/tools/shared.d.ts +21 -0
  77. package/dist/examples/tools/shared.js +42 -0
  78. package/dist/examples/transcription/parakeet-microphone-record.js +6 -33
  79. package/dist/examples/transcription/whispercpp-filesystem-streaming.js +7 -5
  80. package/dist/examples/transcription/whispercpp-filesystem.js +12 -3
  81. package/dist/examples/transcription/whispercpp-microphone-record.js +6 -29
  82. package/dist/examples/translation/translation-stream.js +5 -5
  83. package/dist/examples/tts/llm-to-tts-streaming.d.ts +16 -0
  84. package/dist/examples/tts/llm-to-tts-streaming.js +143 -0
  85. package/dist/examples/tts/supertonic-multilingual.js +3 -3
  86. package/dist/examples/tts/supertonic.js +3 -3
  87. package/dist/examples/tts/utils.d.ts +11 -1
  88. package/dist/examples/tts/utils.js +70 -17
  89. package/dist/examples/voice-assistant/voice-assistant.d.ts +2 -0
  90. package/dist/examples/voice-assistant/voice-assistant.js +207 -0
  91. package/dist/expo/plugins/withMobileBundle.js +1 -1
  92. package/dist/index.d.ts +2 -2
  93. package/dist/index.js +2 -2
  94. package/dist/logging/logger.d.ts +11 -0
  95. package/dist/logging/logger.js +11 -0
  96. package/dist/logging/types.d.ts +18 -0
  97. package/dist/models/registry/models.d.ts +6973 -7457
  98. package/dist/models/registry/models.js +6889 -6855
  99. package/dist/models/update-models/codegen.js +84 -23
  100. package/dist/models/update-models/companions.d.ts +18 -0
  101. package/dist/models/update-models/companions.js +175 -0
  102. package/dist/models/update-models/naming.js +0 -25
  103. package/dist/models/update-models/registry.d.ts +1 -0
  104. package/dist/models/update-models/registry.js +23 -3
  105. package/dist/models/update-models/types.d.ts +37 -9
  106. package/dist/profiling/index.d.ts +49 -0
  107. package/dist/profiling/index.js +49 -0
  108. package/dist/schemas/cancel.d.ts +6 -2
  109. package/dist/schemas/cancel.js +14 -7
  110. package/dist/schemas/common.d.ts +354 -271
  111. package/dist/schemas/common.js +26 -5
  112. package/dist/schemas/completion-event.d.ts +225 -0
  113. package/dist/schemas/completion-event.js +79 -0
  114. package/dist/schemas/completion-stream.d.ts +126 -31
  115. package/dist/schemas/completion-stream.js +138 -36
  116. package/dist/schemas/delegate.d.ts +0 -2
  117. package/dist/schemas/delegate.js +25 -6
  118. package/dist/schemas/download-asset.d.ts +5 -5
  119. package/dist/schemas/embed.js +21 -9
  120. package/dist/schemas/engine-addon-map.d.ts +11 -1
  121. package/dist/schemas/engine-addon-map.js +2 -2
  122. package/dist/schemas/get-loaded-model-info.d.ts +52 -0
  123. package/dist/schemas/get-loaded-model-info.js +44 -0
  124. package/dist/schemas/get-model-info.d.ts +2 -2
  125. package/dist/schemas/get-model-info.js +103 -32
  126. package/dist/schemas/heartbeat.d.ts +0 -1
  127. package/dist/schemas/index.d.ts +4 -1
  128. package/dist/schemas/index.js +4 -1
  129. package/dist/schemas/llamacpp-config.d.ts +14 -4
  130. package/dist/schemas/llamacpp-config.js +5 -0
  131. package/dist/schemas/load-model.d.ts +3233 -1260
  132. package/dist/schemas/load-model.js +23 -16
  133. package/dist/schemas/model-src-utils.d.ts +7 -6
  134. package/dist/schemas/model-src-utils.js +27 -1
  135. package/dist/schemas/model-types.d.ts +4 -4
  136. package/dist/schemas/ocr.d.ts +1 -1
  137. package/dist/schemas/plugin.d.ts +27 -3
  138. package/dist/schemas/plugin.js +27 -2
  139. package/dist/schemas/profiling.js +11 -3
  140. package/dist/schemas/provide.d.ts +1 -3
  141. package/dist/schemas/provide.js +0 -3
  142. package/dist/schemas/rag.d.ts +4 -4
  143. package/dist/schemas/registry.d.ts +10 -10
  144. package/dist/schemas/registry.js +36 -14
  145. package/dist/schemas/reload-config.d.ts +73 -7
  146. package/dist/schemas/sdcpp-config.d.ts +16 -8
  147. package/dist/schemas/sdcpp-config.js +118 -25
  148. package/dist/schemas/sdk-config.d.ts +116 -90
  149. package/dist/schemas/sdk-config.js +16 -0
  150. package/dist/schemas/sdk-errors-client.d.ts +3 -0
  151. package/dist/schemas/sdk-errors-client.js +16 -1
  152. package/dist/schemas/sdk-errors-server.d.ts +3 -0
  153. package/dist/schemas/sdk-errors-server.js +23 -0
  154. package/dist/schemas/state.d.ts +23 -0
  155. package/dist/schemas/state.js +14 -0
  156. package/dist/schemas/stop-provide.d.ts +0 -5
  157. package/dist/schemas/stop-provide.js +2 -6
  158. package/dist/schemas/text-to-speech.d.ts +93 -27
  159. package/dist/schemas/text-to-speech.js +27 -0
  160. package/dist/schemas/tools.d.ts +16 -0
  161. package/dist/schemas/tools.js +15 -0
  162. package/dist/schemas/transcription-config.d.ts +8 -8
  163. package/dist/schemas/transcription.d.ts +33 -0
  164. package/dist/schemas/transcription.js +9 -0
  165. package/dist/schemas/translate.js +59 -19
  166. package/dist/schemas/translation-config.d.ts +157 -133
  167. package/dist/schemas/translation-config.js +34 -11
  168. package/dist/server/bare/delegate-rpc-client.d.ts +1 -1
  169. package/dist/server/bare/delegate-rpc-client.js +131 -122
  170. package/dist/server/bare/hyperswarm.d.ts +2 -2
  171. package/dist/server/bare/hyperswarm.js +12 -7
  172. package/dist/server/bare/ops/cancel.js +7 -0
  173. package/dist/server/bare/ops/kv-cache-utils.d.ts +7 -10
  174. package/dist/server/bare/ops/kv-cache-utils.js +31 -40
  175. package/dist/server/bare/ops/load-model.js +0 -1
  176. package/dist/server/bare/ops/transcribe.d.ts +11 -4
  177. package/dist/server/bare/ops/transcribe.js +25 -4
  178. package/dist/server/bare/ops/translate.js +42 -4
  179. package/dist/server/bare/ops/unload-model.js +21 -19
  180. package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.js +1 -2
  181. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.d.ts +13 -8
  182. package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.js +257 -85
  183. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.d.ts +101 -0
  184. package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.js +135 -0
  185. package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +80 -22
  186. package/dist/server/bare/plugins/llamacpp-completion/plugin.js +57 -32
  187. package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +10 -16
  188. package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +69 -44
  189. package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +54 -116
  190. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.d.ts +32 -0
  191. package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.js +117 -0
  192. package/dist/server/bare/plugins/onnx-ocr/plugin.d.ts +1 -1
  193. package/dist/server/bare/plugins/onnx-ocr/plugin.js +1 -2
  194. package/dist/server/bare/plugins/onnx-tts/ops/text-to-speech-stream.d.ts +7 -0
  195. package/dist/server/bare/plugins/onnx-tts/ops/text-to-speech-stream.js +116 -0
  196. package/dist/server/bare/plugins/onnx-tts/ops/text-to-speech.d.ts +2 -3
  197. package/dist/server/bare/plugins/onnx-tts/ops/text-to-speech.js +71 -9
  198. package/dist/server/bare/plugins/onnx-tts/plugin.d.ts +41 -13
  199. package/dist/server/bare/plugins/onnx-tts/plugin.js +48 -3
  200. package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +15 -7
  201. package/dist/server/bare/plugins/parakeet-transcription/plugin.js +5 -6
  202. package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.js +6 -0
  203. package/dist/server/bare/plugins/sdcpp-generation/plugin.d.ts +8 -5
  204. package/dist/server/bare/plugins/sdcpp-generation/plugin.js +13 -13
  205. package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +17 -1
  206. package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +40 -17
  207. package/dist/server/bare/registry/config-registry.js +14 -3
  208. package/dist/server/bare/registry/model-registry.d.ts +8 -10
  209. package/dist/server/bare/registry/model-registry.js +17 -12
  210. package/dist/server/bare/registry/registry-client.js +79 -19
  211. package/dist/server/bare/runtime-lifecycle.d.ts +2 -1
  212. package/dist/server/bare/runtime-lifecycle.js +13 -2
  213. package/dist/server/bare/types/addon-responses.d.ts +8 -3
  214. package/dist/server/bare/utils/transcribe-metadata.d.ts +21 -0
  215. package/dist/server/bare/utils/transcribe-metadata.js +28 -0
  216. package/dist/server/bare/utils/tts-stats.d.ts +22 -0
  217. package/dist/server/bare/utils/tts-stats.js +10 -0
  218. package/dist/server/rpc/create-server.d.ts +4 -1
  219. package/dist/server/rpc/create-server.js +5 -1
  220. package/dist/server/rpc/delegate-transport.js +36 -29
  221. package/dist/server/rpc/handle-request.js +28 -3
  222. package/dist/server/rpc/handler-registry.js +7 -1
  223. package/dist/server/rpc/handler-utils.d.ts +5 -0
  224. package/dist/server/rpc/handler-utils.js +22 -0
  225. package/dist/server/rpc/handlers/cancel-delegated.js +3 -5
  226. package/dist/server/rpc/handlers/cancelHandler.js +4 -5
  227. package/dist/server/rpc/handlers/completion-stream-delegated.js +14 -5
  228. package/dist/server/rpc/handlers/delete-cache.js +8 -3
  229. package/dist/server/rpc/handlers/download-asset.js +3 -24
  230. package/dist/server/rpc/handlers/get-loaded-model-info.d.ts +3 -0
  231. package/dist/server/rpc/handlers/get-loaded-model-info.js +39 -0
  232. package/dist/server/rpc/handlers/get-model-info.js +93 -84
  233. package/dist/server/rpc/handlers/heartbeat-delegated.js +2 -2
  234. package/dist/server/rpc/handlers/index.d.ts +6 -0
  235. package/dist/server/rpc/handlers/index.js +6 -0
  236. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +35 -9
  237. package/dist/server/rpc/handlers/load-model/download-manager.js +142 -38
  238. package/dist/server/rpc/handlers/load-model/download-stats.d.ts +5 -4
  239. package/dist/server/rpc/handlers/load-model/download-stats.js +49 -8
  240. package/dist/server/rpc/handlers/load-model/handler.js +31 -50
  241. package/dist/server/rpc/handlers/load-model/http.d.ts +2 -2
  242. package/dist/server/rpc/handlers/load-model/http.js +97 -142
  243. package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +2 -2
  244. package/dist/server/rpc/handlers/load-model/hyperdrive.js +55 -74
  245. package/dist/server/rpc/handlers/load-model/index.d.ts +0 -1
  246. package/dist/server/rpc/handlers/load-model/index.js +0 -1
  247. package/dist/server/rpc/handlers/load-model/registry-client-options.d.ts +27 -0
  248. package/dist/server/rpc/handlers/load-model/registry-client-options.js +19 -0
  249. package/dist/server/rpc/handlers/load-model/registry-companion-set.d.ts +22 -0
  250. package/dist/server/rpc/handlers/load-model/registry-companion-set.js +208 -0
  251. package/dist/server/rpc/handlers/load-model/registry-download-utils.d.ts +24 -0
  252. package/dist/server/rpc/handlers/load-model/registry-download-utils.js +114 -0
  253. package/dist/server/rpc/handlers/load-model/registry.d.ts +2 -20
  254. package/dist/server/rpc/handlers/load-model/registry.js +109 -381
  255. package/dist/server/rpc/handlers/load-model/resolve-session.d.ts +15 -0
  256. package/dist/server/rpc/handlers/load-model/resolve-session.js +61 -0
  257. package/dist/server/rpc/handlers/load-model/resolve.d.ts +3 -3
  258. package/dist/server/rpc/handlers/load-model/resolve.js +14 -23
  259. package/dist/server/rpc/handlers/load-model/types.d.ts +11 -4
  260. package/dist/server/rpc/handlers/load-model/types.js +28 -1
  261. package/dist/server/rpc/handlers/load-model-delegated.js +2 -4
  262. package/dist/server/rpc/handlers/plugin-dispatch.js +9 -5
  263. package/dist/server/rpc/handlers/plugin-invoke.js +1 -1
  264. package/dist/server/rpc/handlers/provideHandler/connection.js +13 -2
  265. package/dist/server/rpc/handlers/provideHandler/handler.js +42 -29
  266. package/dist/server/rpc/handlers/state.d.ts +3 -0
  267. package/dist/server/rpc/handlers/state.js +7 -0
  268. package/dist/server/rpc/handlers/stopProvideHandler.d.ts +2 -2
  269. package/dist/server/rpc/handlers/stopProvideHandler.js +12 -7
  270. package/dist/server/rpc/handlers/text-to-speech-stream.d.ts +3 -0
  271. package/dist/server/rpc/handlers/text-to-speech-stream.js +4 -0
  272. package/dist/server/rpc/handlers/unload-model-delegated.js +3 -3
  273. package/dist/server/rpc/profiling/operation-metrics.js +20 -0
  274. package/dist/server/rpc/rpc-utils.js +1 -1
  275. package/dist/server/rpc/transport-selector.d.ts +3 -0
  276. package/dist/server/rpc/transport-selector.js +18 -0
  277. package/dist/server/utils/cache/auto-history.d.ts +4 -0
  278. package/dist/server/utils/cache/auto-history.js +22 -0
  279. package/dist/server/utils/{cache.d.ts → cache/paths.d.ts} +22 -5
  280. package/dist/server/utils/{cache.js → cache/paths.js} +36 -20
  281. package/dist/server/utils/cache/types.d.ts +8 -0
  282. package/dist/server/utils/cache/types.js +1 -0
  283. package/dist/server/utils/checksum.d.ts +2 -2
  284. package/dist/server/utils/checksum.js +1 -1
  285. package/dist/server/utils/clear-storage.d.ts +5 -0
  286. package/dist/server/utils/clear-storage.js +17 -0
  287. package/dist/server/utils/completion-normalizer.d.ts +17 -0
  288. package/dist/server/utils/completion-normalizer.js +413 -0
  289. package/dist/server/utils/expand-gguf-shards.d.ts +3 -0
  290. package/dist/server/utils/expand-gguf-shards.js +22 -0
  291. package/dist/server/utils/formatting.js +1 -1
  292. package/dist/server/utils/index.d.ts +4 -2
  293. package/dist/server/utils/index.js +4 -2
  294. package/dist/server/utils/qvac-paths.d.ts +2 -0
  295. package/dist/server/utils/qvac-paths.js +5 -0
  296. package/dist/server/utils/response-format.d.ts +3 -0
  297. package/dist/server/utils/response-format.js +20 -0
  298. package/dist/server/utils/tool-integration.d.ts +15 -4
  299. package/dist/server/utils/tool-integration.js +21 -41
  300. package/dist/server/utils/tools/dialect.d.ts +8 -0
  301. package/dist/server/utils/tools/dialect.js +14 -0
  302. package/dist/server/utils/tools/index.d.ts +3 -0
  303. package/dist/server/utils/tools/index.js +2 -0
  304. package/dist/server/utils/tools/parser.d.ts +6 -0
  305. package/dist/server/utils/tools/parser.js +46 -0
  306. package/dist/server/utils/tools/parsers/harmony.d.ts +4 -0
  307. package/dist/server/utils/tools/parsers/harmony.js +59 -0
  308. package/dist/server/utils/tools/parsers/hermes.d.ts +4 -0
  309. package/dist/server/utils/tools/parsers/hermes.js +100 -0
  310. package/dist/server/utils/tools/parsers/json.d.ts +6 -0
  311. package/dist/server/utils/tools/parsers/json.js +115 -0
  312. package/dist/server/utils/tools/parsers/pythonic.d.ts +4 -0
  313. package/dist/server/utils/tools/parsers/pythonic.js +267 -0
  314. package/dist/server/utils/tools/shared.d.ts +18 -0
  315. package/dist/server/utils/tools/shared.js +54 -0
  316. package/dist/server/utils/worker-lock.d.ts +3 -0
  317. package/dist/server/utils/worker-lock.js +67 -0
  318. package/dist/server/worker-core.d.ts +16 -1
  319. package/dist/server/worker-core.js +114 -14
  320. package/dist/utils/aggregate-events.d.ts +16 -0
  321. package/dist/utils/aggregate-events.js +52 -0
  322. package/dist/utils/cache-normalize.d.ts +10 -0
  323. package/dist/utils/cache-normalize.js +23 -0
  324. package/dist/utils/encoding.d.ts +8 -0
  325. package/dist/utils/encoding.js +13 -0
  326. package/dist/utils/errors-client.d.ts +12 -0
  327. package/dist/utils/errors-client.js +20 -0
  328. package/dist/utils/errors-server.d.ts +14 -0
  329. package/dist/utils/errors-server.js +31 -0
  330. package/dist/utils/load-model-validation.d.ts +7 -0
  331. package/dist/utils/load-model-validation.js +18 -0
  332. package/expo/plugins/patches/android-link.mjs +1 -1
  333. package/expo/plugins/patches/ios-link.mjs +1 -1
  334. package/package.json +14 -18
  335. package/dist/examples/translation/translation-opus.d.ts +0 -2
  336. package/dist/examples/translation/translation-opus.js +0 -33
  337. package/dist/server/bare/utils/loader-adapter.d.ts +0 -7
  338. package/dist/server/bare/utils/loader-adapter.js +0 -9
  339. package/dist/server/utils/model-path.d.ts +0 -5
  340. package/dist/server/utils/model-path.js +0 -7
  341. package/dist/server/utils/tool-parser.d.ts +0 -7
  342. package/dist/server/utils/tool-parser.js +0 -248
  343. /package/dist/examples/{llamacpp-native-tools.d.ts → tools/llamacpp-native-tools.d.ts} +0 -0
@@ -1,7 +1,22 @@
1
1
  import { z } from "zod";
2
- import { toolSchema, toolCallSchema, toolCallEventSchema } from "./tools.js";
2
+ import { toolSchema } from "./tools.js";
3
+ import { completionEventSchema } from "./completion-event.js";
4
+ export { completionStatsSchema } from "./completion-event.js";
5
+ /**
6
+ * Tool-call output dialect. Auto-detected from the model name; pass via
7
+ * `completion({ toolDialect })` to override.
8
+ *
9
+ * Expected raw model output per dialect:
10
+ * - `"hermes"`: `<tool_call>{"name":"get_weather","arguments":{"city":"Tokyo"}}</tool_call>`
11
+ * - `"pythonic"`: `[get_weather(city="Tokyo")]` (optionally `<|tool_call_start|>...<|tool_call_end|>`-wrapped)
12
+ * - `"json"`: `{"name":"get_weather","arguments":{"city":"Tokyo"}}` or `{"tool_calls":[{"name":"...","arguments":{...}}]}`
13
+ * - `"harmony"`: `<|channel|>commentary to=functions.get_weather <|constrain|>json<|message|>{"city":"Tokyo"}<|call|>`
14
+ */
15
+ export const toolDialectSchema = z.enum(["hermes", "pythonic", "json", "harmony"]);
3
16
  export const attachmentSchema = z.object({
4
- path: z.string(),
17
+ path: z
18
+ .string()
19
+ .describe("Absolute or SDK-resolvable path to the attachment file (e.g., image for multimodal models)."),
5
20
  });
6
21
  const kvCacheSchema = z.union([
7
22
  z.boolean(),
@@ -9,46 +24,133 @@ const kvCacheSchema = z.union([
9
24
  ]);
10
25
  export const generationParamsSchema = z
11
26
  .object({
12
- temp: z.number().optional(),
13
- top_p: z.number().optional(),
14
- top_k: z.number().optional(),
15
- predict: z.number().optional(),
16
- seed: z.number().optional(),
17
- frequency_penalty: z.number().optional(),
18
- presence_penalty: z.number().optional(),
19
- repeat_penalty: z.number().optional(),
27
+ temp: z
28
+ .number()
29
+ .optional()
30
+ .describe("Sampling temperature (typically 0–2)."),
31
+ top_p: z
32
+ .number()
33
+ .optional()
34
+ .describe("Top-p (nucleus) sampling cutoff (0–1)."),
35
+ top_k: z
36
+ .number()
37
+ .optional()
38
+ .describe("Top-k sampling — keep only the top K tokens."),
39
+ predict: z
40
+ .number()
41
+ .optional()
42
+ .describe("Max tokens to predict. `-1` = until stop token, `-2` = until context filled."),
43
+ seed: z
44
+ .number()
45
+ .optional()
46
+ .describe("Random seed for reproducibility."),
47
+ frequency_penalty: z
48
+ .number()
49
+ .optional()
50
+ .describe("Penalty applied to tokens based on frequency so far."),
51
+ presence_penalty: z
52
+ .number()
53
+ .optional()
54
+ .describe("Penalty applied to tokens that have already appeared."),
55
+ repeat_penalty: z
56
+ .number()
57
+ .optional()
58
+ .describe("Penalty applied to repeated tokens."),
20
59
  })
21
60
  .strict();
61
+ const jsonSchemaObjectSchema = z.record(z.string(), z.unknown());
62
+ export const responseFormatSchema = z.discriminatedUnion("type", [
63
+ z.object({ type: z.literal("text") }).strict(),
64
+ z.object({ type: z.literal("json_object") }).strict(),
65
+ z
66
+ .object({
67
+ type: z.literal("json_schema"),
68
+ json_schema: z
69
+ .object({
70
+ name: z.string().min(1).describe("Schema identifier; OpenAI-compatibility only — not used by the addon."),
71
+ description: z
72
+ .string()
73
+ .optional()
74
+ .describe("Free-form schema description. Accepted for OpenAI compatibility only — not forwarded to the addon and does not affect generation."),
75
+ schema: jsonSchemaObjectSchema.describe("JSON Schema the model output must validate against. Forwarded to the addon as-is and converted to GBNF natively by llama.cpp's `json_schema_to_grammar()`."),
76
+ strict: z
77
+ .boolean()
78
+ .optional()
79
+ .describe("Accepted for OpenAI compatibility but does NOT trigger OpenAI's auto-tightening semantics (implicit `additionalProperties: false`, all properties required). The schema is forwarded to the addon verbatim, so callers wanting strict validation must encode it explicitly in `schema`."),
80
+ })
81
+ .strict(),
82
+ })
83
+ .strict(),
84
+ ]);
22
85
  export const completionParamsSchema = z.object({
23
- history: z.array(z.object({
24
- role: z.string(),
25
- content: z.string(),
26
- attachments: z.array(attachmentSchema).optional(),
27
- })),
28
- modelId: z.string(),
29
- kvCache: kvCacheSchema.optional(),
86
+ history: z
87
+ .array(z.object({
88
+ role: z
89
+ .string()
90
+ .describe('Message role (e.g., `"user"`, `"assistant"`, `"system"`).'),
91
+ content: z.string().describe("Message content."),
92
+ attachments: z
93
+ .array(attachmentSchema)
94
+ .optional()
95
+ .describe("Optional file attachments for multimodal models."),
96
+ }))
97
+ .describe("Array of conversation messages sent to the model."),
98
+ modelId: z
99
+ .string()
100
+ .describe("The identifier of the model to use for completion."),
101
+ kvCache: kvCacheSchema
102
+ .optional()
103
+ .describe("KV cache configuration — `true` to auto-generate a cache key from history, a string to use a custom key, or `false`/`undefined` to disable."),
30
104
  });
31
- export const completionClientParamsSchema = completionParamsSchema.extend({
32
- tools: z.array(toolSchema).optional(),
33
- stream: z.boolean(),
105
+ const completionClientParamsBaseSchema = completionParamsSchema.extend({
106
+ tools: z
107
+ .array(toolSchema)
108
+ .optional()
109
+ .describe("Optional array of tools (full `Tool` objects or Zod-schema `ToolInput` definitions) the model can call."),
110
+ stream: z
111
+ .boolean()
112
+ .describe("Whether to stream tokens (`true`) or return the complete response once (`false`)."),
34
113
  kvCache: kvCacheSchema.optional(),
35
- generationParams: generationParamsSchema.optional(),
114
+ generationParams: generationParamsSchema
115
+ .optional()
116
+ .describe("Optional sampling / generation parameters."),
117
+ captureThinking: z
118
+ .boolean()
119
+ .optional()
120
+ .describe("When `true`, capture and emit reasoning/thinking deltas separately from content deltas; requires a model that frames its thinking output."),
121
+ emitRawDeltas: z
122
+ .boolean()
123
+ .optional()
124
+ .describe("When `true`, also emit raw per-token deltas in the event stream in addition to normalized `contentDelta` events."),
125
+ toolDialect: toolDialectSchema
126
+ .optional()
127
+ .describe("Override auto-detected tool-call dialect. Use when the SDK's name-based detection picks the wrong parser chain for your model."),
128
+ responseFormat: responseFormatSchema
129
+ .optional()
130
+ .describe("Optional structured-output constraint: `text` (default, free-form), `json_object` (any valid JSON), or `json_schema` (output conforms to the provided JSON Schema). Mutually exclusive with `tools`."),
36
131
  });
37
- export const completionStreamRequestSchema = completionClientParamsSchema.extend({
132
+ function refineNoToolsWithStructuredOutput(data, ctx) {
133
+ if (data.responseFormat &&
134
+ data.responseFormat.type !== "text" &&
135
+ data.tools &&
136
+ data.tools.length > 0) {
137
+ ctx.addIssue({
138
+ code: "custom",
139
+ message: "responseFormat (json_object/json_schema) cannot be combined with tools; tools already constrain output via their parameter schema.",
140
+ path: ["responseFormat"],
141
+ });
142
+ }
143
+ }
144
+ export const completionClientParamsSchema = completionClientParamsBaseSchema.superRefine(refineNoToolsWithStructuredOutput);
145
+ export const completionStreamRequestSchema = completionClientParamsBaseSchema
146
+ .extend({
38
147
  type: z.literal("completionStream"),
39
- });
40
- export const completionStatsSchema = z.object({
41
- timeToFirstToken: z.number().optional(),
42
- tokensPerSecond: z.number().optional(),
43
- cacheTokens: z.number().optional(),
44
- backendDevice: z.enum(["cpu", "gpu"]).optional(),
45
- });
46
- export const completionStreamResponseSchema = z.object({
148
+ })
149
+ .superRefine(refineNoToolsWithStructuredOutput);
150
+ export const completionStreamResponseSchema = z
151
+ .object({
47
152
  type: z.literal("completionStream"),
48
- token: z.string(),
49
153
  done: z.boolean().optional(),
50
- stats: completionStatsSchema.optional(),
51
- toolCallEvent: toolCallEventSchema.optional(),
52
- toolCalls: z.array(toolCallSchema).optional(),
53
- error: z.string().optional(),
54
- });
154
+ events: z.array(completionEventSchema),
155
+ })
156
+ .strict();
@@ -1,12 +1,10 @@
1
1
  import { z } from "zod";
2
2
  export declare const delegateBaseSchema: z.ZodObject<{
3
- topic: z.ZodString;
4
3
  providerPublicKey: z.ZodString;
5
4
  timeout: z.ZodOptional<z.ZodNumber>;
6
5
  healthCheckTimeout: z.ZodOptional<z.ZodNumber>;
7
6
  }, z.core.$strip>;
8
7
  export declare const delegateSchema: z.ZodOptional<z.ZodObject<{
9
- topic: z.ZodString;
10
8
  providerPublicKey: z.ZodString;
11
9
  timeout: z.ZodOptional<z.ZodNumber>;
12
10
  healthCheckTimeout: z.ZodOptional<z.ZodNumber>;
@@ -1,13 +1,32 @@
1
1
  import { z } from "zod";
2
+ const HYPERSWARM_PUBLIC_KEY_HEX = /^[0-9a-fA-F]{64}$/;
2
3
  export const delegateBaseSchema = z.object({
3
- topic: z.string(),
4
- providerPublicKey: z.string(),
5
- timeout: z.number().min(100).optional(),
6
- healthCheckTimeout: z.number().min(100).optional(),
4
+ providerPublicKey: z
5
+ .string()
6
+ .regex(HYPERSWARM_PUBLIC_KEY_HEX, "providerPublicKey must be a 64-character hex string (32-byte ed25519 public key)")
7
+ .describe("Hex-encoded public key of the remote provider to delegate to."),
8
+ timeout: z
9
+ .number()
10
+ .min(100)
11
+ .optional()
12
+ .describe("Per-call timeout in milliseconds for the delegated request."),
13
+ healthCheckTimeout: z
14
+ .number()
15
+ .min(100)
16
+ .optional()
17
+ .describe("Timeout in milliseconds for the health-check probe before delegating."),
7
18
  });
8
19
  export const delegateSchema = delegateBaseSchema
9
20
  .extend({
10
- fallbackToLocal: z.boolean().optional().default(false),
11
- forceNewConnection: z.boolean().optional().default(false),
21
+ fallbackToLocal: z
22
+ .boolean()
23
+ .optional()
24
+ .default(false)
25
+ .describe("When `true`, fall back to local execution if the delegated provider is unreachable."),
26
+ forceNewConnection: z
27
+ .boolean()
28
+ .optional()
29
+ .default(false)
30
+ .describe("When `true`, skip any cached delegation connection and open a fresh one."),
12
31
  })
13
32
  .optional();
@@ -13,6 +13,7 @@ export declare const downloadAssetOptionsSchema: z.ZodPipe<z.ZodObject<{
13
13
  expectedSize: z.ZodOptional<z.ZodNumber>;
14
14
  sha256Checksum: z.ZodOptional<z.ZodString>;
15
15
  addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
16
+ embeddings: "embeddings";
16
17
  "llamacpp-completion": "llamacpp-completion";
17
18
  "whispercpp-transcription": "whispercpp-transcription";
18
19
  "llamacpp-embedding": "llamacpp-embedding";
@@ -23,7 +24,6 @@ export declare const downloadAssetOptionsSchema: z.ZodPipe<z.ZodObject<{
23
24
  "sdcpp-generation": "sdcpp-generation";
24
25
  llm: "llm";
25
26
  whisper: "whisper";
26
- embeddings: "embeddings";
27
27
  nmt: "nmt";
28
28
  parakeet: "parakeet";
29
29
  tts: "tts";
@@ -45,7 +45,7 @@ export declare const downloadAssetOptionsSchema: z.ZodPipe<z.ZodObject<{
45
45
  engine?: string | undefined;
46
46
  expectedSize?: number | undefined;
47
47
  sha256Checksum?: string | undefined;
48
- addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
48
+ addon?: "embeddings" | "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
49
49
  };
50
50
  }, {
51
51
  assetSrc: string | {
@@ -59,7 +59,7 @@ export declare const downloadAssetOptionsSchema: z.ZodPipe<z.ZodObject<{
59
59
  engine?: string | undefined;
60
60
  expectedSize?: number | undefined;
61
61
  sha256Checksum?: string | undefined;
62
- addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
62
+ addon?: "embeddings" | "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
63
63
  };
64
64
  seed?: boolean | undefined;
65
65
  }>>;
@@ -76,6 +76,7 @@ export declare const downloadAssetOptionsToRequestSchema: z.ZodPipe<z.ZodObject<
76
76
  expectedSize: z.ZodOptional<z.ZodNumber>;
77
77
  sha256Checksum: z.ZodOptional<z.ZodString>;
78
78
  addon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
79
+ embeddings: "embeddings";
79
80
  "llamacpp-completion": "llamacpp-completion";
80
81
  "whispercpp-transcription": "whispercpp-transcription";
81
82
  "llamacpp-embedding": "llamacpp-embedding";
@@ -86,7 +87,6 @@ export declare const downloadAssetOptionsToRequestSchema: z.ZodPipe<z.ZodObject<
86
87
  "sdcpp-generation": "sdcpp-generation";
87
88
  llm: "llm";
88
89
  whisper: "whisper";
89
- embeddings: "embeddings";
90
90
  nmt: "nmt";
91
91
  parakeet: "parakeet";
92
92
  tts: "tts";
@@ -114,7 +114,7 @@ export declare const downloadAssetOptionsToRequestSchema: z.ZodPipe<z.ZodObject<
114
114
  engine?: string | undefined;
115
115
  expectedSize?: number | undefined;
116
116
  sha256Checksum?: string | undefined;
117
- addon?: "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "embeddings" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
117
+ addon?: "embeddings" | "llamacpp-completion" | "whispercpp-transcription" | "llamacpp-embedding" | "nmtcpp-translation" | "onnx-tts" | "parakeet-transcription" | "onnx-ocr" | "sdcpp-generation" | "llm" | "whisper" | "nmt" | "parakeet" | "tts" | "ocr" | "diffusion" | "vad" | undefined;
118
118
  };
119
119
  seed?: boolean | undefined;
120
120
  onProgress?: unknown;
@@ -1,28 +1,40 @@
1
1
  import { z } from "zod";
2
2
  export const embedParamsSchema = z.object({
3
- modelId: z.string(),
4
- text: z.union([
3
+ modelId: z.string().describe("The identifier of the embedding model to use"),
4
+ text: z
5
+ .union([
5
6
  z.string().min(1, "Text cannot be empty"),
6
7
  z
7
8
  .array(z.string().min(1, "Text cannot be empty"))
8
9
  .min(1, "Text array cannot be empty"),
9
- ]),
10
+ ])
11
+ .describe("The input text(s) to embed. A single string returns `number[]`; an array returns `number[][]`."),
10
12
  });
11
13
  export const embedRequestSchema = embedParamsSchema.extend({
12
14
  type: z.literal("embed"),
13
15
  });
14
16
  export const embedStatsSchema = z.object({
15
- totalTime: z.number().optional(),
16
- tokensPerSecond: z.number().optional(),
17
- totalTokens: z.number().optional(),
18
- backendDevice: z.enum(["cpu", "gpu"]).optional(),
17
+ totalTime: z
18
+ .number()
19
+ .optional()
20
+ .describe("Total embedding time in milliseconds"),
21
+ tokensPerSecond: z
22
+ .number()
23
+ .optional()
24
+ .describe("Tokens processed per second"),
25
+ totalTokens: z.number().optional().describe("Total tokens processed"),
26
+ backendDevice: z
27
+ .enum(["cpu", "gpu"])
28
+ .optional()
29
+ .describe("Compute backend used for inference"),
19
30
  });
20
31
  export const embedResponseSchema = z.object({
21
32
  type: z.literal("embed"),
22
33
  success: z.boolean(),
23
34
  embedding: z
24
35
  .union([z.array(z.number()), z.array(z.array(z.number()))])
25
- .default([]),
26
- stats: embedStatsSchema.optional(),
36
+ .default([])
37
+ .describe("The embedding vector(s). Single `number[]` when `text` is a string; `number[][]` when `text` is an array."),
38
+ stats: embedStatsSchema.optional().describe("Performance statistics"),
27
39
  error: z.string().optional(),
28
40
  });
@@ -1,5 +1,15 @@
1
1
  import { type ModelRegistryEngine, type ModelRegistryEntryAddon } from "./registry";
2
- export declare const ENGINE_TO_ADDON: Record<ModelRegistryEngine, ModelRegistryEntryAddon>;
2
+ export declare const ENGINE_TO_ADDON: {
3
+ readonly "llamacpp-completion": "llm";
4
+ readonly "whispercpp-transcription": "whisper";
5
+ readonly "llamacpp-embedding": "embeddings";
6
+ readonly "nmtcpp-translation": "nmt";
7
+ readonly "onnx-tts": "tts";
8
+ readonly "onnx-ocr": "ocr";
9
+ readonly "parakeet-transcription": "parakeet";
10
+ readonly "sdcpp-generation": "diffusion";
11
+ readonly "onnx-vad": "vad";
12
+ };
3
13
  export declare function resolveCanonicalEngine(engine: string): ModelRegistryEngine | null;
4
14
  export declare function getAddonFromEngine(engine: ModelRegistryEngine): ModelRegistryEntryAddon;
5
15
  //# sourceMappingURL=engine-addon-map.d.ts.map
@@ -1,8 +1,8 @@
1
1
  import { ModelType } from "./model-types.js";
2
2
  import { ADDON_DIFFUSION, ADDON_EMBEDDING, ADDON_LLM, ADDON_NMT, ADDON_OCR, ADDON_PARAKEET, ADDON_TTS, ADDON_WHISPER, } from "./plugin.js";
3
3
  import { modelRegistryEngineSchema, } from "./registry.js";
4
- // Canonical engine → addon mapping (exhaustive).
5
- // TypeScript enforces that every ModelRegistryEngine has an entry.
4
+ // Canonical engine → addon mapping (exhaustive). `as const` preserves
5
+ // per-key literals so the addon can be derived from the engine at the type level.
6
6
  export const ENGINE_TO_ADDON = {
7
7
  [ModelType.llamacppCompletion]: "llm",
8
8
  [ModelType.whispercppTranscription]: "whisper",
@@ -0,0 +1,52 @@
1
+ import { z } from "zod";
2
+ export declare const getLoadedModelInfoParamsSchema: z.ZodObject<{
3
+ modelId: z.ZodString;
4
+ }, z.core.$strip>;
5
+ export declare const getLoadedModelInfoRequestSchema: z.ZodObject<{
6
+ modelId: z.ZodString;
7
+ type: z.ZodLiteral<"getLoadedModelInfo">;
8
+ }, z.core.$strip>;
9
+ export declare const loadedModelInfoSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
10
+ modelId: z.ZodString;
11
+ isDelegated: z.ZodLiteral<false>;
12
+ modelType: z.ZodString;
13
+ handlers: z.ZodArray<z.ZodString>;
14
+ displayName: z.ZodOptional<z.ZodString>;
15
+ addonPackage: z.ZodOptional<z.ZodString>;
16
+ loadedAt: z.ZodCoercedDate<unknown>;
17
+ name: z.ZodOptional<z.ZodString>;
18
+ path: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strip>, z.ZodObject<{
20
+ modelId: z.ZodString;
21
+ isDelegated: z.ZodLiteral<true>;
22
+ handlers: z.ZodArray<z.ZodString>;
23
+ providerInfo: z.ZodObject<{
24
+ providerPublicKey: z.ZodString;
25
+ }, z.core.$strip>;
26
+ }, z.core.$strip>], "isDelegated">;
27
+ export declare const getLoadedModelInfoResponseSchema: z.ZodObject<{
28
+ type: z.ZodLiteral<"getLoadedModelInfo">;
29
+ info: z.ZodDiscriminatedUnion<[z.ZodObject<{
30
+ modelId: z.ZodString;
31
+ isDelegated: z.ZodLiteral<false>;
32
+ modelType: z.ZodString;
33
+ handlers: z.ZodArray<z.ZodString>;
34
+ displayName: z.ZodOptional<z.ZodString>;
35
+ addonPackage: z.ZodOptional<z.ZodString>;
36
+ loadedAt: z.ZodCoercedDate<unknown>;
37
+ name: z.ZodOptional<z.ZodString>;
38
+ path: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>, z.ZodObject<{
40
+ modelId: z.ZodString;
41
+ isDelegated: z.ZodLiteral<true>;
42
+ handlers: z.ZodArray<z.ZodString>;
43
+ providerInfo: z.ZodObject<{
44
+ providerPublicKey: z.ZodString;
45
+ }, z.core.$strip>;
46
+ }, z.core.$strip>], "isDelegated">;
47
+ }, z.core.$strip>;
48
+ export type GetLoadedModelInfoParams = z.input<typeof getLoadedModelInfoParamsSchema>;
49
+ export type GetLoadedModelInfoRequest = z.infer<typeof getLoadedModelInfoRequestSchema>;
50
+ export type GetLoadedModelInfoResponse = z.infer<typeof getLoadedModelInfoResponseSchema>;
51
+ export type LoadedModelInfo = z.infer<typeof loadedModelInfoSchema>;
52
+ //# sourceMappingURL=get-loaded-model-info.d.ts.map
@@ -0,0 +1,44 @@
1
+ import { z } from "zod";
2
+ export const getLoadedModelInfoParamsSchema = z.object({
3
+ modelId: z.string(),
4
+ });
5
+ export const getLoadedModelInfoRequestSchema = getLoadedModelInfoParamsSchema.extend({
6
+ type: z.literal("getLoadedModelInfo"),
7
+ });
8
+ const delegatedProviderInfoSchema = z.object({
9
+ providerPublicKey: z.string(),
10
+ });
11
+ /**
12
+ * Loaded local model: routing plugin known on this node, so modelType +
13
+ * handler vocabulary are authoritative.
14
+ */
15
+ const localLoadedModelInfoSchema = z.object({
16
+ modelId: z.string(),
17
+ isDelegated: z.literal(false),
18
+ modelType: z.string(),
19
+ handlers: z.array(z.string()),
20
+ displayName: z.string().optional(),
21
+ addonPackage: z.string().optional(),
22
+ loadedAt: z.coerce.date(),
23
+ name: z.string().optional(),
24
+ path: z.string().optional(),
25
+ });
26
+ /**
27
+ * Loaded delegated model: this node only stores routing info, so `modelType`,
28
+ * `displayName`, `addonPackage`, `loadedAt`, `name`, and `path` are absent,
29
+ * and `handlers` is always empty.
30
+ */
31
+ const delegatedLoadedModelInfoSchema = z.object({
32
+ modelId: z.string(),
33
+ isDelegated: z.literal(true),
34
+ handlers: z.array(z.string()),
35
+ providerInfo: delegatedProviderInfoSchema,
36
+ });
37
+ export const loadedModelInfoSchema = z.discriminatedUnion("isDelegated", [
38
+ localLoadedModelInfoSchema,
39
+ delegatedLoadedModelInfoSchema,
40
+ ]);
41
+ export const getLoadedModelInfoResponseSchema = z.object({
42
+ type: z.literal("getLoadedModelInfo"),
43
+ info: loadedModelInfoSchema,
44
+ });
@@ -35,9 +35,9 @@ export declare const modelInfoSchema: z.ZodObject<{
35
35
  expectedSize: z.ZodNumber;
36
36
  sha256Checksum: z.ZodString;
37
37
  addon: z.ZodEnum<{
38
+ embeddings: "embeddings";
38
39
  llm: "llm";
39
40
  whisper: "whisper";
40
- embeddings: "embeddings";
41
41
  nmt: "nmt";
42
42
  parakeet: "parakeet";
43
43
  tts: "tts";
@@ -82,9 +82,9 @@ export declare const getModelInfoResponseSchema: z.ZodObject<{
82
82
  expectedSize: z.ZodNumber;
83
83
  sha256Checksum: z.ZodString;
84
84
  addon: z.ZodEnum<{
85
+ embeddings: "embeddings";
85
86
  llm: "llm";
86
87
  whisper: "whisper";
87
- embeddings: "embeddings";
88
88
  nmt: "nmt";
89
89
  parakeet: "parakeet";
90
90
  tts: "tts";