@qvac/sdk 0.4.1 → 0.6.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 (334) hide show
  1. package/README.md +365 -200
  2. package/bare-imports.json +35 -0
  3. package/dist/client/api/cancel.d.ts +12 -3
  4. package/dist/client/api/cancel.js +12 -3
  5. package/dist/client/api/completion-stream.d.ts +15 -5
  6. package/dist/client/api/completion-stream.js +50 -14
  7. package/dist/client/api/embed.d.ts +17 -3
  8. package/dist/client/api/embed.js +0 -8
  9. package/dist/client/api/get-model-info.d.ts +2 -2
  10. package/dist/client/api/get-model-info.js +2 -2
  11. package/dist/client/api/index.d.ts +2 -2
  12. package/dist/client/api/index.js +2 -2
  13. package/dist/client/api/load-model.d.ts +37 -11
  14. package/dist/client/api/load-model.js +34 -117
  15. package/dist/client/api/logging-stream.d.ts +6 -3
  16. package/dist/client/api/logging-stream.js +6 -3
  17. package/dist/client/api/ocr.d.ts +31 -0
  18. package/dist/client/api/ocr.js +88 -0
  19. package/dist/client/api/rag.d.ts +215 -20
  20. package/dist/client/api/rag.js +382 -23
  21. package/dist/client/api/translate.js +10 -11
  22. package/dist/client/api/unload-model.js +6 -3
  23. package/dist/client/config-loader/config-utils.d.ts +5 -0
  24. package/dist/client/config-loader/config-utils.js +20 -0
  25. package/dist/client/config-loader/resolve-config.bare.d.ts +9 -0
  26. package/dist/client/config-loader/resolve-config.bare.js +87 -0
  27. package/dist/client/config-loader/resolve-config.expo.d.ts +11 -0
  28. package/dist/client/config-loader/resolve-config.expo.js +62 -0
  29. package/dist/client/config-loader/resolve-config.node.d.ts +9 -0
  30. package/dist/client/config-loader/resolve-config.node.js +118 -0
  31. package/dist/client/init-hooks.d.ts +18 -3
  32. package/dist/client/init-hooks.js +57 -29
  33. package/dist/client/logging-stream-registry.d.ts +1 -1
  34. package/dist/client/logging-stream-registry.js +14 -13
  35. package/dist/client/rpc/bare-client.d.ts +3 -184
  36. package/dist/client/rpc/bare-client.js +67 -8
  37. package/dist/client/rpc/expo-rpc-client.d.ts +2 -2
  38. package/dist/client/rpc/expo-rpc-client.js +70 -12
  39. package/dist/client/rpc/node-rpc-client.d.ts +1 -1
  40. package/dist/client/rpc/node-rpc-client.js +14 -7
  41. package/dist/client/rpc/rpc-client.d.ts +1 -1
  42. package/dist/client/rpc/rpc-client.js +13 -58
  43. package/dist/examples/config/blind-relay/blind-relay.config.d.ts +5 -0
  44. package/dist/examples/config/blind-relay/blind-relay.config.js +7 -0
  45. package/dist/examples/config/default/default.config.d.ts +8 -0
  46. package/dist/examples/config/default/default.config.js +6 -0
  47. package/dist/examples/config-reload.d.ts +2 -0
  48. package/dist/examples/config-reload.js +49 -0
  49. package/dist/examples/default-config-usage.d.ts +17 -0
  50. package/dist/examples/default-config-usage.js +47 -0
  51. package/dist/examples/delegated-inference/consumer.js +1 -0
  52. package/dist/examples/download-with-blind-relays.js +22 -21
  53. package/dist/examples/embed-hyperdrive.js +39 -3
  54. package/dist/examples/kv-cache-cleanup.js +1 -1
  55. package/dist/examples/kv-cache-custom-key.js +16 -1
  56. package/dist/examples/kv-cache-example.js +1 -1
  57. package/dist/examples/llamacpp-hyperdrive.js +1 -1
  58. package/dist/examples/llamacpp-sharded.js +13 -4
  59. package/dist/examples/logging-file-transport.d.ts +2 -0
  60. package/dist/examples/{llamacpp-file-logging.js → logging-file-transport.js} +3 -7
  61. package/dist/examples/logging-streaming.d.ts +2 -0
  62. package/dist/examples/logging-streaming.js +75 -0
  63. package/dist/examples/mcp-websearch.d.ts +13 -0
  64. package/dist/examples/mcp-websearch.js +176 -0
  65. package/dist/examples/ocr-fasttext.d.ts +2 -0
  66. package/dist/examples/ocr-fasttext.js +52 -0
  67. package/dist/examples/quickstart.d.ts +2 -0
  68. package/dist/examples/quickstart.js +28 -0
  69. package/dist/examples/rag/rag-hyperdb/cancellation.d.ts +2 -0
  70. package/dist/examples/rag/rag-hyperdb/cancellation.js +75 -0
  71. package/dist/examples/rag/rag-hyperdb/ingest.d.ts +2 -0
  72. package/dist/examples/rag/{rag-hyperdb.js → rag-hyperdb/ingest.js} +10 -4
  73. package/dist/examples/rag/rag-hyperdb/pipeline.d.ts +2 -0
  74. package/dist/examples/rag/rag-hyperdb/pipeline.js +74 -0
  75. package/dist/examples/rag/rag-hyperdb/workspaces.d.ts +2 -0
  76. package/dist/examples/rag/rag-hyperdb/workspaces.js +178 -0
  77. package/dist/examples/translation/translation-bergamot-batch.d.ts +2 -0
  78. package/dist/examples/translation/translation-bergamot-batch.js +49 -0
  79. package/dist/examples/translation/translation-bergamot.d.ts +2 -0
  80. package/dist/examples/translation/translation-bergamot.js +39 -0
  81. package/dist/examples/translation/translation-indic.js +1 -0
  82. package/dist/examples/translation/translation-opus.js +1 -0
  83. package/dist/examples/translation/translation-stream.js +1 -0
  84. package/dist/expo/plugins/withMobileBundle.js +29 -10
  85. package/dist/index.d.ts +5 -4
  86. package/dist/index.js +4 -2
  87. package/dist/logging/addon.d.ts +6 -0
  88. package/dist/logging/addon.js +75 -0
  89. package/dist/logging/base-logger.js +26 -16
  90. package/dist/logging/client-logger.d.ts +3 -0
  91. package/dist/logging/client-logger.js +24 -0
  92. package/dist/logging/index.d.ts +7 -1
  93. package/dist/logging/index.js +7 -1
  94. package/dist/logging/logger.d.ts +0 -2
  95. package/dist/logging/logger.js +11 -6
  96. package/dist/logging/namespaces.d.ts +12 -0
  97. package/dist/logging/namespaces.js +12 -0
  98. package/dist/logging/registry.d.ts +31 -0
  99. package/dist/logging/registry.js +48 -0
  100. package/dist/logging/server-logger.d.ts +3 -0
  101. package/dist/logging/server-logger.js +16 -0
  102. package/dist/logging/stream-logger.d.ts +1 -1
  103. package/dist/logging/stream-logger.js +6 -3
  104. package/dist/logging/transport.js +2 -2
  105. package/dist/logging/types.d.ts +2 -0
  106. package/dist/logging/utils.d.ts +2 -0
  107. package/dist/logging/utils.js +62 -0
  108. package/dist/models/hyperdrive/models.d.ts +1886 -230
  109. package/dist/models/hyperdrive/models.js +2191 -443
  110. package/dist/schemas/archive.d.ts +9 -0
  111. package/dist/schemas/archive.js +17 -0
  112. package/dist/schemas/cancel.d.ts +6 -0
  113. package/dist/schemas/cancel.js +5 -0
  114. package/dist/schemas/common.d.ts +660 -92
  115. package/dist/schemas/common.js +6 -4
  116. package/dist/schemas/delegate.d.ts +1 -0
  117. package/dist/schemas/delegate.js +1 -0
  118. package/dist/schemas/download-asset.d.ts +21 -9
  119. package/dist/schemas/embed.d.ts +3 -3
  120. package/dist/schemas/embed.js +9 -2
  121. package/dist/schemas/get-model-info.d.ts +12 -10
  122. package/dist/schemas/get-model-info.js +9 -1
  123. package/dist/schemas/index.d.ts +9 -1
  124. package/dist/schemas/index.js +12 -1
  125. package/dist/schemas/json-schema.d.ts +16 -0
  126. package/dist/schemas/json-schema.js +2 -0
  127. package/dist/schemas/llamacpp-config.d.ts +117 -12
  128. package/dist/schemas/llamacpp-config.js +46 -12
  129. package/dist/schemas/load-model.d.ts +3669 -481
  130. package/dist/schemas/load-model.js +95 -34
  131. package/dist/schemas/logging-stream.d.ts +11 -4
  132. package/dist/schemas/logging-stream.js +4 -3
  133. package/dist/schemas/mcp-adapter.d.ts +47 -0
  134. package/dist/schemas/mcp-adapter.js +1 -0
  135. package/dist/schemas/model-src-utils.d.ts +38 -14
  136. package/dist/schemas/model-src-utils.js +4 -3
  137. package/dist/schemas/model-types.d.ts +154 -0
  138. package/dist/schemas/model-types.js +140 -0
  139. package/dist/schemas/ocr.d.ts +88 -0
  140. package/dist/schemas/ocr.js +52 -0
  141. package/dist/schemas/rag.d.ts +183 -52
  142. package/dist/schemas/rag.js +148 -23
  143. package/dist/schemas/reload-config.d.ts +356 -0
  144. package/dist/schemas/reload-config.js +44 -0
  145. package/dist/schemas/runtime-context.d.ts +19 -0
  146. package/dist/schemas/runtime-context.js +7 -0
  147. package/dist/schemas/sdk-config.d.ts +717 -0
  148. package/dist/schemas/sdk-config.js +131 -0
  149. package/dist/schemas/sdk-errors-client.d.ts +5 -0
  150. package/dist/schemas/sdk-errors-client.js +25 -0
  151. package/dist/schemas/sdk-errors-server.d.ts +17 -0
  152. package/dist/schemas/sdk-errors-server.js +85 -0
  153. package/dist/schemas/shard.d.ts +21 -0
  154. package/dist/schemas/shard.js +17 -0
  155. package/dist/schemas/tools.d.ts +3 -0
  156. package/dist/schemas/translate.d.ts +68 -23
  157. package/dist/schemas/translate.js +37 -11
  158. package/dist/schemas/translation-config.d.ts +337 -13
  159. package/dist/schemas/translation-config.js +65 -9
  160. package/dist/schemas/whispercpp-config.d.ts +9 -1
  161. package/dist/schemas/whispercpp-config.js +2 -1
  162. package/dist/scripts/run-unit-tests.d.ts +2 -0
  163. package/dist/scripts/run-unit-tests.js +17 -0
  164. package/dist/server/bare/addons/llamacpp-completion/cache-logger.d.ts +6 -0
  165. package/dist/server/bare/addons/llamacpp-completion/cache-logger.js +34 -0
  166. package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/create-model.d.ts +1 -5
  167. package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/create-model.js +6 -20
  168. package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/handlers/completion-stream.js +26 -7
  169. package/dist/server/bare/addons/llamacpp-completion/index.d.ts +4 -0
  170. package/dist/server/bare/addons/llamacpp-completion/index.js +3 -0
  171. package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/kv-cache-utils.d.ts +4 -1
  172. package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/kv-cache-utils.js +49 -14
  173. package/dist/server/bare/addons/llamacpp-embedding/create-model.d.ts +8 -0
  174. package/dist/server/bare/addons/llamacpp-embedding/create-model.js +38 -0
  175. package/dist/server/bare/addons/llamacpp-embedding/handlers/embed.d.ts +12 -0
  176. package/dist/server/bare/addons/{llamacpp → llamacpp-embedding}/handlers/embed.js +18 -4
  177. package/dist/server/bare/addons/llamacpp-embedding/index.d.ts +3 -0
  178. package/dist/server/bare/addons/llamacpp-embedding/index.js +2 -0
  179. package/dist/server/bare/addons/load-model.js +38 -28
  180. package/dist/server/bare/addons/{translation → nmtcpp-translation}/create-model.js +23 -8
  181. package/dist/server/bare/addons/{translation → nmtcpp-translation}/handlers/translate.js +35 -11
  182. package/dist/server/bare/addons/onnx-ocr/create-model.d.ts +10 -0
  183. package/dist/server/bare/addons/onnx-ocr/create-model.js +39 -0
  184. package/dist/server/bare/addons/onnx-ocr/handlers/ocr-stream.d.ts +10 -0
  185. package/dist/server/bare/addons/onnx-ocr/handlers/ocr-stream.js +109 -0
  186. package/dist/server/bare/addons/onnx-ocr/index.d.ts +3 -0
  187. package/dist/server/bare/addons/onnx-ocr/index.js +2 -0
  188. package/dist/server/bare/addons/unload-model.js +6 -3
  189. package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/create-model.js +2 -1
  190. package/dist/server/bare/addons/whispercpp-transcription/handlers/transcribe-stream.js +82 -0
  191. package/dist/server/bare/delegate-rpc-client.js +31 -11
  192. package/dist/server/bare/hyperswarm.js +7 -5
  193. package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +3 -0
  194. package/dist/server/bare/rag-hyperdb/handlers/chunk.js +7 -0
  195. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +3 -0
  196. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +9 -0
  197. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
  198. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +9 -10
  199. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +3 -0
  200. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +14 -0
  201. package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +9 -0
  202. package/dist/server/bare/rag-hyperdb/handlers/ingest.js +18 -0
  203. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +3 -0
  204. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +4 -0
  205. package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +9 -0
  206. package/dist/server/bare/rag-hyperdb/handlers/reindex.js +16 -0
  207. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +7 -4
  208. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +13 -14
  209. package/dist/server/bare/rag-hyperdb/handlers/search.js +10 -10
  210. package/dist/server/bare/rag-hyperdb/index.d.ts +8 -1
  211. package/dist/server/bare/rag-hyperdb/index.js +8 -1
  212. package/dist/server/bare/rag-hyperdb/rag-operation-manager.d.ts +7 -0
  213. package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +39 -0
  214. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +15 -0
  215. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +135 -0
  216. package/dist/server/bare/registry/config-registry.d.ts +13 -4
  217. package/dist/server/bare/registry/config-registry.js +53 -10
  218. package/dist/server/bare/registry/logging-stream-registry.d.ts +24 -7
  219. package/dist/server/bare/registry/logging-stream-registry.js +99 -20
  220. package/dist/server/bare/registry/model-config-registry.d.ts +4 -0
  221. package/dist/server/bare/registry/model-config-registry.js +15 -0
  222. package/dist/server/bare/registry/model-config-utils.d.ts +15 -0
  223. package/dist/server/bare/registry/model-config-utils.js +121 -0
  224. package/dist/server/bare/registry/model-registry.d.ts +6 -26
  225. package/dist/server/bare/registry/model-registry.js +9 -6
  226. package/dist/server/bare/registry/runtime-context-registry.d.ts +7 -0
  227. package/dist/server/bare/registry/runtime-context-registry.js +26 -0
  228. package/dist/server/bare/utils/loader-adapter.d.ts +7 -0
  229. package/dist/server/bare/utils/loader-adapter.js +9 -0
  230. package/dist/server/error-handlers.js +4 -2
  231. package/dist/server/rpc/create-server.js +5 -3
  232. package/dist/server/rpc/handle-request.js +115 -19
  233. package/dist/server/rpc/handlers/cancelHandler.js +13 -2
  234. package/dist/server/rpc/handlers/completion-stream-delegated.js +4 -2
  235. package/dist/server/rpc/handlers/completion-stream.js +1 -1
  236. package/dist/server/rpc/handlers/delete-cache.js +4 -2
  237. package/dist/server/rpc/handlers/download-asset.js +3 -1
  238. package/dist/server/rpc/handlers/embed.js +4 -2
  239. package/dist/server/rpc/handlers/get-model-info.d.ts +1 -1
  240. package/dist/server/rpc/handlers/get-model-info.js +22 -10
  241. package/dist/server/rpc/handlers/index.d.ts +4 -2
  242. package/dist/server/rpc/handlers/index.js +2 -2
  243. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +11 -11
  244. package/dist/server/rpc/handlers/load-model/download-manager.js +40 -28
  245. package/dist/server/rpc/handlers/{load-model.d.ts → load-model/handler.d.ts} +2 -2
  246. package/dist/server/rpc/handlers/load-model/handler.js +179 -0
  247. package/dist/server/rpc/handlers/load-model/http.js +361 -50
  248. package/dist/server/rpc/handlers/load-model/hyperdrive.js +26 -22
  249. package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
  250. package/dist/server/rpc/handlers/load-model/index.js +2 -2
  251. package/dist/server/rpc/handlers/load-model/resolve.js +39 -8
  252. package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -2
  253. package/dist/server/rpc/handlers/load-model-delegated.js +15 -10
  254. package/dist/server/rpc/handlers/logging-stream.js +4 -4
  255. package/dist/server/rpc/handlers/ocr-stream.d.ts +3 -0
  256. package/dist/server/rpc/handlers/ocr-stream.js +39 -0
  257. package/dist/server/rpc/handlers/provideHandler/connection.js +12 -10
  258. package/dist/server/rpc/handlers/provideHandler/handler.js +18 -16
  259. package/dist/server/rpc/handlers/provideHandler/proxy.js +8 -6
  260. package/dist/server/rpc/handlers/rag.d.ts +2 -2
  261. package/dist/server/rpc/handlers/rag.js +107 -41
  262. package/dist/server/rpc/handlers/stopProvideHandler.js +3 -1
  263. package/dist/server/rpc/handlers/text-to-speech.js +1 -1
  264. package/dist/server/rpc/handlers/transcribe-stream.js +4 -2
  265. package/dist/server/rpc/handlers/translate.js +9 -16
  266. package/dist/server/rpc/handlers/unload-model.js +4 -2
  267. package/dist/server/utils/archive.d.ts +3 -0
  268. package/dist/server/utils/archive.js +171 -0
  269. package/dist/server/utils/audio/decoder.d.ts +2 -1
  270. package/dist/server/utils/audio/decoder.js +48 -11
  271. package/dist/server/utils/cache.d.ts +5 -5
  272. package/dist/server/utils/cache.js +13 -11
  273. package/dist/server/utils/config-transform.d.ts +3 -0
  274. package/dist/server/utils/config-transform.js +23 -0
  275. package/dist/server/utils/formatting.d.ts +13 -0
  276. package/dist/server/utils/formatting.js +26 -0
  277. package/dist/server/utils/gguf-tensor-extractor.d.ts +15 -0
  278. package/dist/server/utils/gguf-tensor-extractor.js +314 -0
  279. package/dist/server/utils/index.d.ts +4 -1
  280. package/dist/server/utils/index.js +4 -1
  281. package/dist/server/utils/shard-utils.d.ts +42 -16
  282. package/dist/server/utils/shard-utils.js +95 -7
  283. package/dist/server/worker.js +49 -19
  284. package/dist/utils/errors-base.d.ts +1 -1
  285. package/dist/utils/errors-base.js +2 -2
  286. package/dist/utils/errors-client.d.ts +24 -0
  287. package/dist/utils/errors-client.js +40 -0
  288. package/dist/utils/errors-server.d.ts +42 -0
  289. package/dist/utils/errors-server.js +71 -0
  290. package/dist/utils/mcp-adapter.d.ts +12 -0
  291. package/dist/utils/mcp-adapter.js +103 -0
  292. package/dist/utils/object.d.ts +2 -0
  293. package/dist/utils/object.js +3 -0
  294. package/dist/utils/tool-helpers.d.ts +10 -2
  295. package/dist/utils/tool-helpers.js +24 -11
  296. package/package.json +74 -36
  297. package/dist/client/api/set-config.d.ts +0 -7
  298. package/dist/client/api/set-config.js +0 -20
  299. package/dist/client/config-manager.d.ts +0 -4
  300. package/dist/client/config-manager.js +0 -8
  301. package/dist/client/rpc/bare-rpc-client.d.ts +0 -4
  302. package/dist/client/rpc/bare-rpc-client.js +0 -91
  303. package/dist/examples/llamacpp-file-logging.d.ts +0 -2
  304. package/dist/examples/rag/rag-hyperdb-workspaces.d.ts +0 -2
  305. package/dist/examples/rag/rag-hyperdb-workspaces.js +0 -106
  306. package/dist/examples/rag/rag-hyperdb.d.ts +0 -2
  307. package/dist/schemas/set-config.d.ts +0 -21
  308. package/dist/schemas/set-config.js +0 -14
  309. package/dist/server/bare/addons/llamacpp/handlers/embed.d.ts +0 -4
  310. package/dist/server/bare/addons/llamacpp/index.d.ts +0 -4
  311. package/dist/server/bare/addons/llamacpp/index.js +0 -3
  312. package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.js +0 -63
  313. package/dist/server/bare/rag-hyperdb/rag-manager.d.ts +0 -5
  314. package/dist/server/bare/rag-hyperdb/rag-manager.js +0 -64
  315. package/dist/server/rpc/handlers/load-model.js +0 -59
  316. package/dist/server/rpc/handlers/set-config.d.ts +0 -3
  317. package/dist/server/rpc/handlers/set-config.js +0 -18
  318. package/dist/server/utils/hash.d.ts +0 -5
  319. package/dist/server/utils/hash.js +0 -11
  320. /package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/handlers/completion-stream.d.ts +0 -0
  321. /package/dist/server/bare/addons/{translation → nmtcpp-translation}/create-model.d.ts +0 -0
  322. /package/dist/server/bare/addons/{translation → nmtcpp-translation}/handlers/translate.d.ts +0 -0
  323. /package/dist/server/bare/addons/{translation → nmtcpp-translation}/index.d.ts +0 -0
  324. /package/dist/server/bare/addons/{translation → nmtcpp-translation}/index.js +0 -0
  325. /package/dist/server/bare/addons/{tts → onnx-tts}/create-model.d.ts +0 -0
  326. /package/dist/server/bare/addons/{tts → onnx-tts}/create-model.js +0 -0
  327. /package/dist/server/bare/addons/{tts → onnx-tts}/handlers/text-to-speech.d.ts +0 -0
  328. /package/dist/server/bare/addons/{tts → onnx-tts}/handlers/text-to-speech.js +0 -0
  329. /package/dist/server/bare/addons/{tts → onnx-tts}/index.d.ts +0 -0
  330. /package/dist/server/bare/addons/{tts → onnx-tts}/index.js +0 -0
  331. /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/create-model.d.ts +0 -0
  332. /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/handlers/transcribe-stream.d.ts +0 -0
  333. /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/index.d.ts +0 -0
  334. /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/index.js +0 -0
@@ -0,0 +1,131 @@
1
+ import { z } from "zod";
2
+ import { logLevelSchema } from "./logging-stream.js";
3
+ import { ModelType } from "./model-types.js";
4
+ import { llmConfigBaseSchema, embedConfigBaseSchema } from "./llamacpp-config.js";
5
+ import { whisperConfigSchema } from "./whispercpp-config.js";
6
+ import { ocrConfigSchema } from "./ocr.js";
7
+ import { runtimeContextSchema } from "./runtime-context.js";
8
+ // Alias keys for user convenience (maps to canonical types)
9
+ const AliasKeys = {
10
+ llm: "llm",
11
+ whisper: "whisper",
12
+ embeddings: "embeddings",
13
+ nmt: "nmt",
14
+ tts: "tts",
15
+ ocr: "ocr",
16
+ };
17
+ /**
18
+ * Device match criteria for device-specific config defaults.
19
+ * All specified criteria must match (AND logic).
20
+ */
21
+ export const deviceMatchSchema = z.object({
22
+ /** Platform to match: "android" or "ios" */
23
+ platform: runtimeContextSchema.shape.platform,
24
+ /** Device brand to match (case-insensitive exact match, e.g., "google", "samsung") */
25
+ deviceBrand: z.string().optional(),
26
+ /** Device model prefix to match (e.g., "Pixel 10" matches "Pixel 10 Pro") */
27
+ deviceModelPrefix: z.string().optional(),
28
+ /** Device model substring to match (e.g., "Galaxy" matches "Samsung Galaxy S25") */
29
+ deviceModelContains: z.string().optional(),
30
+ });
31
+ /**
32
+ * Device-specific model config defaults.
33
+ * Accepts both canonical keys (e.g., "llamacpp-completion") and alias keys (e.g., "llm").
34
+ * NMT and TTS use passthrough since they don't have device-relevant config.
35
+ */
36
+ export const deviceConfigDefaultsSchema = z
37
+ .object({
38
+ // Canonical keys
39
+ [ModelType.llamacppCompletion]: llmConfigBaseSchema.optional(),
40
+ [ModelType.llamacppEmbedding]: embedConfigBaseSchema.optional(),
41
+ [ModelType.whispercppTranscription]: whisperConfigSchema
42
+ .partial()
43
+ .optional(),
44
+ [ModelType.nmtcppTranslation]: z.record(z.string(), z.unknown()).optional(),
45
+ [ModelType.onnxTts]: z.record(z.string(), z.unknown()).optional(),
46
+ [ModelType.onnxOcr]: ocrConfigSchema.partial().optional(),
47
+ // Alias keys (user-friendly)
48
+ [AliasKeys.llm]: llmConfigBaseSchema.optional(),
49
+ [AliasKeys.embeddings]: embedConfigBaseSchema.optional(),
50
+ [AliasKeys.whisper]: whisperConfigSchema.partial().optional(),
51
+ [AliasKeys.nmt]: z.record(z.string(), z.unknown()).optional(),
52
+ [AliasKeys.tts]: z.record(z.string(), z.unknown()).optional(),
53
+ [AliasKeys.ocr]: ocrConfigSchema.partial().optional(),
54
+ })
55
+ .partial();
56
+ /**
57
+ * A device pattern rule for applying config defaults.
58
+ */
59
+ export const devicePatternSchema = z.object({
60
+ /** Human-readable name for this pattern (used in logs) */
61
+ name: z.string(),
62
+ /** Match criteria - all specified fields must match */
63
+ match: deviceMatchSchema,
64
+ /** Config defaults to apply when matched */
65
+ defaults: deviceConfigDefaultsSchema,
66
+ });
67
+ const directoryPath = z.string().transform((s) => s.replace(/\/+$/, ""));
68
+ /**
69
+ * QVAC SDK Configuration Schema
70
+ *
71
+ * This configuration is loaded once at SDK initialization from a config file
72
+ * (qvac.config.json, qvac.config.js, or qvac.config.ts) and remains immutable
73
+ * throughout the SDK's lifetime.
74
+ */
75
+ export const qvacConfigSchema = z.object({
76
+ /**
77
+ * Absolute path to the directory where models and other cached assets are stored.
78
+ * If not specified, defaults to ~/.qvac/models
79
+ */
80
+ cacheDirectory: directoryPath.optional(),
81
+ /**
82
+ * Array of Hyperswarm relay public keys (hex strings) for improved P2P connectivity.
83
+ * Blind relays help with NAT traversal and firewall bypassing.
84
+ */
85
+ swarmRelays: z.array(z.string()).optional(),
86
+ /**
87
+ * Global log level for all SDK loggers.
88
+ * Options: "error", "warn", "info", "debug"
89
+ * Defaults to "info".
90
+ */
91
+ loggerLevel: logLevelSchema.optional(),
92
+ /**
93
+ * Enable or disable console output for SDK loggers.
94
+ * When false, logs are only sent to streams/transports, not printed to console.
95
+ * Defaults to true.
96
+ */
97
+ loggerConsoleOutput: z.boolean().optional(),
98
+ /**
99
+ * Maximum number of concurrent HTTP downloads for sharded models.
100
+ * Higher values may improve download speed but increase memory usage.
101
+ * Defaults to 3.
102
+ */
103
+ httpDownloadConcurrency: z.number().int().positive().optional(),
104
+ /**
105
+ * Timeout in milliseconds for HTTP connection establishment.
106
+ * This applies to HEAD and GET requests.
107
+ * If the connection is not established within this time, the request fails.
108
+ * Defaults to 10000 (10 seconds).
109
+ */
110
+ httpConnectionTimeoutMs: z.number().int().positive().optional(),
111
+ /**
112
+ * Device-specific config defaults.
113
+ * Use this to override model config defaults for specific devices.
114
+ * User-defined patterns are checked before SDK built-in patterns.
115
+ * First matching pattern wins.
116
+ *
117
+ * @example
118
+ * ```json
119
+ * {
120
+ * "deviceDefaults": [
121
+ * {
122
+ * "name": "Custom Samsung",
123
+ * "match": { "platform": "android", "deviceBrand": "samsung" },
124
+ * "defaults": { "llm": { "device": "cpu" } }
125
+ * }
126
+ * ]
127
+ * }
128
+ * ```
129
+ */
130
+ deviceDefaults: z.array(devicePatternSchema).optional(),
131
+ });
@@ -7,6 +7,7 @@ export declare const SDK_CLIENT_ERROR_CODES: {
7
7
  readonly INVALID_AUDIO_CHUNK_TYPE: 50005;
8
8
  readonly INVALID_TOOLS_ARRAY: 50006;
9
9
  readonly INVALID_TOOL_SCHEMA: 50007;
10
+ readonly OCR_FAILED: 50008;
10
11
  readonly RPC_NO_HANDLER: 50200;
11
12
  readonly RPC_REQUEST_NOT_SENT: 50201;
12
13
  readonly RPC_RESPONSE_STREAM_NOT_CREATED: 50202;
@@ -19,6 +20,10 @@ export declare const SDK_CLIENT_ERROR_CODES: {
19
20
  readonly DELEGATE_CONNECTION_FAILED: 50404;
20
21
  readonly SDK_NOT_FOUND_IN_NODE_MODULES: 50600;
21
22
  readonly WORKER_FILE_NOT_FOUND: 50601;
23
+ readonly CONFIG_FILE_NOT_FOUND: 50602;
24
+ readonly CONFIG_FILE_INVALID: 50603;
25
+ readonly CONFIG_FILE_PARSE_FAILED: 50604;
26
+ readonly CONFIG_VALIDATION_FAILED: 50605;
22
27
  };
23
28
  declare const clientErrorDefinitions: ErrorCodesMap;
24
29
  export { clientErrorDefinitions as SDK_CLIENT_ERROR_DEFINITIONS };
@@ -9,6 +9,7 @@ export const SDK_CLIENT_ERROR_CODES = {
9
9
  INVALID_AUDIO_CHUNK_TYPE: 50005,
10
10
  INVALID_TOOLS_ARRAY: 50006,
11
11
  INVALID_TOOL_SCHEMA: 50007,
12
+ OCR_FAILED: 50008,
12
13
  // RPC Communication Errors (50,200-50,399)
13
14
  RPC_NO_HANDLER: 50200,
14
15
  RPC_REQUEST_NOT_SENT: 50201,
@@ -24,6 +25,10 @@ export const SDK_CLIENT_ERROR_CODES = {
24
25
  // Build/Bundle Errors (50,600-50,799)
25
26
  SDK_NOT_FOUND_IN_NODE_MODULES: 50600,
26
27
  WORKER_FILE_NOT_FOUND: 50601,
28
+ CONFIG_FILE_NOT_FOUND: 50602,
29
+ CONFIG_FILE_INVALID: 50603,
30
+ CONFIG_FILE_PARSE_FAILED: 50604,
31
+ CONFIG_VALIDATION_FAILED: 50605,
27
32
  };
28
33
  const clientErrorDefinitions = {
29
34
  // Response Validation Errors (50,001-50,199)
@@ -55,6 +60,10 @@ const clientErrorDefinitions = {
55
60
  name: "INVALID_TOOL_SCHEMA",
56
61
  message: (details) => `Invalid tool schema: ${details}`,
57
62
  },
63
+ [SDK_CLIENT_ERROR_CODES.OCR_FAILED]: {
64
+ name: "OCR_FAILED",
65
+ message: (details) => `OCR operation failed${details ? `: ${details}` : ""}`,
66
+ },
58
67
  // RPC Communication Errors (50,200-50,399)
59
68
  [SDK_CLIENT_ERROR_CODES.RPC_NO_HANDLER]: {
60
69
  name: "RPC_NO_HANDLER",
@@ -106,6 +115,22 @@ const clientErrorDefinitions = {
106
115
  name: "WORKER_FILE_NOT_FOUND",
107
116
  message: (workerPath) => `Worker file not found at ${workerPath}`,
108
117
  },
118
+ [SDK_CLIENT_ERROR_CODES.CONFIG_FILE_NOT_FOUND]: {
119
+ name: "CONFIG_FILE_NOT_FOUND",
120
+ message: (searchPaths) => `Config file not found. Searched: ${searchPaths}. Create qvac.config.json, qvac.config.js, or qvac.config.ts in your project root.`,
121
+ },
122
+ [SDK_CLIENT_ERROR_CODES.CONFIG_FILE_INVALID]: {
123
+ name: "CONFIG_FILE_INVALID",
124
+ message: (filePath, reason) => `Config file at ${filePath} is invalid: ${reason}`,
125
+ },
126
+ [SDK_CLIENT_ERROR_CODES.CONFIG_FILE_PARSE_FAILED]: {
127
+ name: "CONFIG_FILE_PARSE_FAILED",
128
+ message: (filePath, error) => `Failed to parse config file at ${filePath}: ${error}`,
129
+ },
130
+ [SDK_CLIENT_ERROR_CODES.CONFIG_VALIDATION_FAILED]: {
131
+ name: "CONFIG_VALIDATION_FAILED",
132
+ message: (errors) => `Config validation failed: ${errors}`,
133
+ },
109
134
  };
110
135
  addCodes(clientErrorDefinitions, { name: "qvac-sdk-client", version: "1.1.0" });
111
136
  export { clientErrorDefinitions as SDK_CLIENT_ERROR_DEFINITIONS };
@@ -23,12 +23,23 @@ export declare const SDK_SERVER_ERROR_CODES: {
23
23
  readonly ATTACHMENT_NOT_FOUND: 52407;
24
24
  readonly CANCEL_FAILED: 52408;
25
25
  readonly TEXT_TO_SPEECH_FAILED: 52409;
26
+ readonly CONFIG_RELOAD_NOT_SUPPORTED: 52410;
27
+ readonly MODEL_TYPE_MISMATCH: 52411;
28
+ readonly OCR_FAILED: 52412;
29
+ readonly IMAGE_FILE_NOT_FOUND: 52413;
30
+ readonly INVALID_IMAGE_INPUT: 52414;
26
31
  readonly RAG_SAVE_FAILED: 52800;
27
32
  readonly RAG_SEARCH_FAILED: 52801;
28
33
  readonly RAG_DELETE_FAILED: 52802;
29
34
  readonly RAG_UNKNOWN_OPERATION: 52803;
30
35
  readonly RAG_HYPERDB_FAILED: 52804;
31
36
  readonly RAG_WORKSPACE_MODEL_MISMATCH: 52805;
37
+ readonly RAG_WORKSPACE_NOT_FOUND: 52806;
38
+ readonly RAG_WORKSPACE_IN_USE: 52807;
39
+ readonly RAG_WORKSPACE_CLOSE_FAILED: 52808;
40
+ readonly RAG_LIST_WORKSPACES_FAILED: 52809;
41
+ readonly RAG_CHUNK_FAILED: 52810;
42
+ readonly RAG_WORKSPACE_NOT_OPEN: 52811;
32
43
  readonly FILE_NOT_FOUND: 53000;
33
44
  readonly DOWNLOAD_CANCELLED: 53001;
34
45
  readonly CHECKSUM_VALIDATION_FAILED: 53002;
@@ -39,11 +50,17 @@ export declare const SDK_SERVER_ERROR_CODES: {
39
50
  readonly DOWNLOAD_ASSET_FAILED: 53007;
40
51
  readonly SEEDING_NOT_SUPPORTED: 53008;
41
52
  readonly HYPERDRIVE_DOWNLOAD_FAILED: 53009;
53
+ readonly INVALID_SHARD_URL_PATTERN: 53010;
54
+ readonly ARCHIVE_EXTRACTION_FAILED: 53011;
55
+ readonly ARCHIVE_UNSUPPORTED_TYPE: 53012;
56
+ readonly ARCHIVE_MISSING_SHARDS: 53013;
57
+ readonly PARTIAL_DOWNLOAD_OFFLINE: 53014;
42
58
  readonly DELETE_CACHE_FAILED: 53200;
43
59
  readonly INVALID_DELETE_CACHE_PARAMS: 53201;
44
60
  readonly CACHE_DIR_NOT_ABSOLUTE: 53202;
45
61
  readonly CACHE_DIR_NOT_WRITABLE: 53203;
46
62
  readonly SET_CONFIG_FAILED: 53350;
63
+ readonly CONFIG_ALREADY_SET: 53351;
47
64
  readonly FFMPEG_NOT_AVAILABLE: 53500;
48
65
  readonly AUDIO_PLAYER_FAILED: 53501;
49
66
  readonly INVALID_AUDIO_CHUNK_TYPE: 53502;
@@ -27,6 +27,11 @@ export const SDK_SERVER_ERROR_CODES = {
27
27
  ATTACHMENT_NOT_FOUND: 52407,
28
28
  CANCEL_FAILED: 52408,
29
29
  TEXT_TO_SPEECH_FAILED: 52409,
30
+ CONFIG_RELOAD_NOT_SUPPORTED: 52410,
31
+ MODEL_TYPE_MISMATCH: 52411,
32
+ OCR_FAILED: 52412,
33
+ IMAGE_FILE_NOT_FOUND: 52413,
34
+ INVALID_IMAGE_INPUT: 52414,
30
35
  // RAG Operations (52,800-52,999)
31
36
  RAG_SAVE_FAILED: 52800,
32
37
  RAG_SEARCH_FAILED: 52801,
@@ -34,6 +39,12 @@ export const SDK_SERVER_ERROR_CODES = {
34
39
  RAG_UNKNOWN_OPERATION: 52803,
35
40
  RAG_HYPERDB_FAILED: 52804,
36
41
  RAG_WORKSPACE_MODEL_MISMATCH: 52805,
42
+ RAG_WORKSPACE_NOT_FOUND: 52806,
43
+ RAG_WORKSPACE_IN_USE: 52807,
44
+ RAG_WORKSPACE_CLOSE_FAILED: 52808,
45
+ RAG_LIST_WORKSPACES_FAILED: 52809,
46
+ RAG_CHUNK_FAILED: 52810,
47
+ RAG_WORKSPACE_NOT_OPEN: 52811,
37
48
  // Download/Resource Errors (53,000-53,199)
38
49
  FILE_NOT_FOUND: 53000,
39
50
  DOWNLOAD_CANCELLED: 53001,
@@ -45,6 +56,11 @@ export const SDK_SERVER_ERROR_CODES = {
45
56
  DOWNLOAD_ASSET_FAILED: 53007,
46
57
  SEEDING_NOT_SUPPORTED: 53008,
47
58
  HYPERDRIVE_DOWNLOAD_FAILED: 53009,
59
+ INVALID_SHARD_URL_PATTERN: 53010,
60
+ ARCHIVE_EXTRACTION_FAILED: 53011,
61
+ ARCHIVE_UNSUPPORTED_TYPE: 53012,
62
+ ARCHIVE_MISSING_SHARDS: 53013,
63
+ PARTIAL_DOWNLOAD_OFFLINE: 53014,
48
64
  // Cache Operations (53,200-53,349)
49
65
  DELETE_CACHE_FAILED: 53200,
50
66
  INVALID_DELETE_CACHE_PARAMS: 53201,
@@ -52,6 +68,7 @@ export const SDK_SERVER_ERROR_CODES = {
52
68
  CACHE_DIR_NOT_WRITABLE: 53203,
53
69
  // Config Operations (53,350-53,499)
54
70
  SET_CONFIG_FAILED: 53350,
71
+ CONFIG_ALREADY_SET: 53351,
55
72
  // System/Runtime (53,500-53,699)
56
73
  FFMPEG_NOT_AVAILABLE: 53500,
57
74
  AUDIO_PLAYER_FAILED: 53501,
@@ -156,6 +173,26 @@ const serverErrorDefinitions = {
156
173
  name: "TEXT_TO_SPEECH_FAILED",
157
174
  message: (details) => `Text-to-speech operation failed${details ? `: ${details}` : ""}`,
158
175
  },
176
+ [SDK_SERVER_ERROR_CODES.CONFIG_RELOAD_NOT_SUPPORTED]: {
177
+ name: "CONFIG_RELOAD_NOT_SUPPORTED",
178
+ message: (modelId) => `Model "${modelId}" does not support hot config reload`,
179
+ },
180
+ [SDK_SERVER_ERROR_CODES.MODEL_TYPE_MISMATCH]: {
181
+ name: "MODEL_TYPE_MISMATCH",
182
+ message: (expectedType, providedType) => `Model type mismatch: expected "${expectedType}", got "${providedType}"`,
183
+ },
184
+ [SDK_SERVER_ERROR_CODES.OCR_FAILED]: {
185
+ name: "OCR_FAILED",
186
+ message: (details) => `OCR operation failed${details ? `: ${details}` : ""}`,
187
+ },
188
+ [SDK_SERVER_ERROR_CODES.IMAGE_FILE_NOT_FOUND]: {
189
+ name: "IMAGE_FILE_NOT_FOUND",
190
+ message: (filePath) => `Image file not found or not accessible: ${filePath}`,
191
+ },
192
+ [SDK_SERVER_ERROR_CODES.INVALID_IMAGE_INPUT]: {
193
+ name: "INVALID_IMAGE_INPUT",
194
+ message: "Invalid image input type provided",
195
+ },
159
196
  // RAG Operations (52,800-52,999)
160
197
  [SDK_SERVER_ERROR_CODES.RAG_SAVE_FAILED]: {
161
198
  name: "RAG_SAVE_FAILED",
@@ -181,6 +218,30 @@ const serverErrorDefinitions = {
181
218
  name: "RAG_WORKSPACE_MODEL_MISMATCH",
182
219
  message: (workspace, existingModelId, newModelId) => `Workspace "${workspace}" is configured for model "${existingModelId}", but you're trying to use model "${newModelId}". Use a different workspace or the same model`,
183
220
  },
221
+ [SDK_SERVER_ERROR_CODES.RAG_WORKSPACE_NOT_FOUND]: {
222
+ name: "RAG_WORKSPACE_NOT_FOUND",
223
+ message: (workspace) => `RAG workspace not found: ${workspace}`,
224
+ },
225
+ [SDK_SERVER_ERROR_CODES.RAG_WORKSPACE_IN_USE]: {
226
+ name: "RAG_WORKSPACE_IN_USE",
227
+ message: (workspace) => `RAG workspace '${workspace}' is currently in use. Close it first.`,
228
+ },
229
+ [SDK_SERVER_ERROR_CODES.RAG_WORKSPACE_CLOSE_FAILED]: {
230
+ name: "RAG_WORKSPACE_CLOSE_FAILED",
231
+ message: (details) => `Failed to close RAG workspace${details ? `: ${details}` : ""}`,
232
+ },
233
+ [SDK_SERVER_ERROR_CODES.RAG_LIST_WORKSPACES_FAILED]: {
234
+ name: "RAG_LIST_WORKSPACES_FAILED",
235
+ message: (details) => `Failed to list RAG workspaces${details ? `: ${details}` : ""}`,
236
+ },
237
+ [SDK_SERVER_ERROR_CODES.RAG_CHUNK_FAILED]: {
238
+ name: "RAG_CHUNK_FAILED",
239
+ message: (details) => `Failed to chunk documents${details ? `: ${details}` : ""}`,
240
+ },
241
+ [SDK_SERVER_ERROR_CODES.RAG_WORKSPACE_NOT_OPEN]: {
242
+ name: "RAG_WORKSPACE_NOT_OPEN",
243
+ message: (workspace) => `RAG workspace '${workspace}' is not open`,
244
+ },
184
245
  // Download/Resource Errors (53,000-53,199)
185
246
  [SDK_SERVER_ERROR_CODES.FILE_NOT_FOUND]: {
186
247
  name: "FILE_NOT_FOUND",
@@ -222,6 +283,26 @@ const serverErrorDefinitions = {
222
283
  name: "HYPERDRIVE_DOWNLOAD_FAILED",
223
284
  message: (details) => `Hyperdrive download failed: ${details}`,
224
285
  },
286
+ [SDK_SERVER_ERROR_CODES.INVALID_SHARD_URL_PATTERN]: {
287
+ name: "INVALID_SHARD_URL_PATTERN",
288
+ message: (url) => `URL does not contain a valid sharded model pattern: ${url}`,
289
+ },
290
+ [SDK_SERVER_ERROR_CODES.ARCHIVE_EXTRACTION_FAILED]: {
291
+ name: "ARCHIVE_EXTRACTION_FAILED",
292
+ message: (archivePath) => `Failed to extract archive: ${archivePath}`,
293
+ },
294
+ [SDK_SERVER_ERROR_CODES.ARCHIVE_UNSUPPORTED_TYPE]: {
295
+ name: "ARCHIVE_UNSUPPORTED_TYPE",
296
+ message: (archivePath) => `Unsupported archive type: ${archivePath}`,
297
+ },
298
+ [SDK_SERVER_ERROR_CODES.ARCHIVE_MISSING_SHARDS]: {
299
+ name: "ARCHIVE_MISSING_SHARDS",
300
+ message: (missingFile) => `Archive is missing required shard file: ${missingFile}`,
301
+ },
302
+ [SDK_SERVER_ERROR_CODES.PARTIAL_DOWNLOAD_OFFLINE]: {
303
+ name: "PARTIAL_DOWNLOAD_OFFLINE",
304
+ message: (url, downloadedBytes) => `Cannot resume partial download (${downloadedBytes} bytes downloaded) - unable to connect. URL: ${url}`,
305
+ },
225
306
  // Cache Operations (53,200-53,349)
226
307
  [SDK_SERVER_ERROR_CODES.DELETE_CACHE_FAILED]: {
227
308
  name: "DELETE_CACHE_FAILED",
@@ -244,6 +325,10 @@ const serverErrorDefinitions = {
244
325
  name: "SET_CONFIG_FAILED",
245
326
  message: (details) => `Failed to set config${details ? `: ${details}` : ""}`,
246
327
  },
328
+ [SDK_SERVER_ERROR_CODES.CONFIG_ALREADY_SET]: {
329
+ name: "CONFIG_ALREADY_SET",
330
+ message: "Config has already been set and is immutable. Config can only be set once during SDK initialization.",
331
+ },
247
332
  // System/Runtime (53,500-53,699)
248
333
  [SDK_SERVER_ERROR_CODES.FFMPEG_NOT_AVAILABLE]: {
249
334
  name: "FFMPEG_NOT_AVAILABLE",
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ export declare const shardFileMetadataSchema: z.ZodObject<{
3
+ filename: z.ZodString;
4
+ expectedSize: z.ZodNumber;
5
+ sha256Checksum: z.ZodString;
6
+ }, z.core.$strip>;
7
+ export declare const shardUrlSchema: z.ZodObject<{
8
+ url: z.ZodURL;
9
+ filename: z.ZodString;
10
+ }, z.core.$strip>;
11
+ export declare const shardPatternInfoSchema: z.ZodObject<{
12
+ isSharded: z.ZodBoolean;
13
+ currentShard: z.ZodOptional<z.ZodNumber>;
14
+ totalShards: z.ZodOptional<z.ZodNumber>;
15
+ baseFilename: z.ZodOptional<z.ZodString>;
16
+ extension: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strip>;
18
+ export type ShardFileMetadata = z.infer<typeof shardFileMetadataSchema>;
19
+ export type ShardUrl = z.infer<typeof shardUrlSchema>;
20
+ export type ShardPatternInfo = z.infer<typeof shardPatternInfoSchema>;
21
+ //# sourceMappingURL=shard.d.ts.map
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ export const shardFileMetadataSchema = z.object({
3
+ filename: z.string(),
4
+ expectedSize: z.number(),
5
+ sha256Checksum: z.string(),
6
+ });
7
+ export const shardUrlSchema = z.object({
8
+ url: z.url(),
9
+ filename: z.string(),
10
+ });
11
+ export const shardPatternInfoSchema = z.object({
12
+ isSharded: z.boolean(),
13
+ currentShard: z.number().optional(),
14
+ totalShards: z.number().optional(),
15
+ baseFilename: z.string().optional(),
16
+ extension: z.string().optional(),
17
+ });
@@ -59,4 +59,7 @@ export type Tool = z.infer<typeof toolSchema>;
59
59
  export type ToolCall = z.infer<typeof toolCallSchema>;
60
60
  export type ToolCallError = z.infer<typeof toolCallErrorSchema>;
61
61
  export type ToolCallEvent = z.infer<typeof toolCallEventSchema>;
62
+ export type ToolCallWithCall = ToolCall & {
63
+ invoke?: () => Promise<unknown>;
64
+ };
62
65
  //# sourceMappingURL=tools.d.ts.map
@@ -1,58 +1,98 @@
1
1
  import { z } from "zod";
2
2
  import type { NmtLanguage } from "./translation-config";
3
- declare const translateParamsBaseSchema: z.ZodObject<{
3
+ import { type NmtModelTypeInput, type LlmModelTypeInput } from "./model-types";
4
+ declare const translateParamsSchema: z.ZodUnion<readonly [z.ZodObject<{
4
5
  modelId: z.ZodString;
5
- text: z.ZodString;
6
- stream: z.ZodBoolean;
7
- }, z.core.$strip>;
8
- declare const translateParamsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
9
- modelId: z.ZodString;
10
- text: z.ZodString;
6
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
11
7
  stream: z.ZodBoolean;
12
- modelType: z.ZodLiteral<"nmt">;
8
+ modelType: z.ZodEnum<{
9
+ "nmtcpp-translation": "nmtcpp-translation";
10
+ nmt: "nmt";
11
+ }>;
13
12
  }, z.core.$strip>, z.ZodObject<{
14
13
  modelId: z.ZodString;
15
14
  text: z.ZodString;
16
15
  stream: z.ZodBoolean;
17
- modelType: z.ZodLiteral<"llm">;
16
+ modelType: z.ZodEnum<{
17
+ "llamacpp-completion": "llamacpp-completion";
18
+ llm: "llm";
19
+ }>;
18
20
  from: z.ZodOptional<z.ZodString>;
19
21
  to: z.ZodString;
20
22
  context: z.ZodOptional<z.ZodString>;
21
- }, z.core.$strip>], "modelType">;
23
+ }, z.core.$strip>]>;
22
24
  export declare const translationStatsSchema: z.ZodObject<{
23
25
  processedTokens: z.ZodNumber;
24
26
  processingTime: z.ZodNumber;
25
27
  }, z.core.$strip>;
26
28
  export declare const translateRequestSchema: z.ZodUnion<readonly [z.ZodObject<{
27
29
  modelId: z.ZodString;
28
- text: z.ZodString;
30
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
29
31
  stream: z.ZodBoolean;
30
- modelType: z.ZodLiteral<"nmt">;
32
+ modelType: z.ZodEnum<{
33
+ "nmtcpp-translation": "nmtcpp-translation";
34
+ nmt: "nmt";
35
+ }>;
31
36
  type: z.ZodLiteral<"translate">;
32
37
  }, z.core.$strip>, z.ZodObject<{
33
38
  modelId: z.ZodString;
34
39
  text: z.ZodString;
35
40
  stream: z.ZodBoolean;
36
- modelType: z.ZodLiteral<"llm">;
41
+ modelType: z.ZodEnum<{
42
+ "llamacpp-completion": "llamacpp-completion";
43
+ llm: "llm";
44
+ }>;
37
45
  from: z.ZodOptional<z.ZodString>;
38
46
  to: z.ZodString;
39
47
  context: z.ZodOptional<z.ZodString>;
40
48
  type: z.ZodLiteral<"translate">;
41
49
  }, z.core.$strip>]>;
42
- export declare const translateServerParamsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
50
+ export declare const translateServerParamsSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodObject<{
43
51
  modelId: z.ZodString;
44
- text: z.ZodString;
52
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
45
53
  stream: z.ZodBoolean;
46
- modelType: z.ZodLiteral<"nmt">;
54
+ modelType: z.ZodEnum<{
55
+ "nmtcpp-translation": "nmtcpp-translation";
56
+ nmt: "nmt";
57
+ }>;
47
58
  }, z.core.$strip>, z.ZodObject<{
48
59
  modelId: z.ZodString;
49
60
  text: z.ZodString;
50
61
  stream: z.ZodBoolean;
51
- modelType: z.ZodLiteral<"llm">;
62
+ modelType: z.ZodEnum<{
63
+ "llamacpp-completion": "llamacpp-completion";
64
+ llm: "llm";
65
+ }>;
52
66
  from: z.ZodOptional<z.ZodString>;
53
67
  to: z.ZodString;
54
68
  context: z.ZodOptional<z.ZodString>;
55
- }, z.core.$strip>], "modelType">;
69
+ }, z.core.$strip>]>, z.ZodTransform<{
70
+ modelType: import("./model-types").CanonicalModelType;
71
+ modelId: string;
72
+ text: string | string[];
73
+ stream: boolean;
74
+ } | {
75
+ modelType: import("./model-types").CanonicalModelType;
76
+ modelId: string;
77
+ text: string;
78
+ stream: boolean;
79
+ to: string;
80
+ from?: string | undefined;
81
+ context?: string | undefined;
82
+ }, {
83
+ modelId: string;
84
+ text: string | string[];
85
+ stream: boolean;
86
+ modelType: "nmtcpp-translation" | "nmt";
87
+ } | {
88
+ modelId: string;
89
+ text: string;
90
+ stream: boolean;
91
+ modelType: "llamacpp-completion" | "llm";
92
+ to: string;
93
+ from?: string | undefined;
94
+ context?: string | undefined;
95
+ }>>;
56
96
  export declare const translateResponseSchema: z.ZodObject<{
57
97
  type: z.ZodLiteral<"translate">;
58
98
  token: z.ZodString;
@@ -67,12 +107,17 @@ export type TranslateParams = z.infer<typeof translateParamsSchema>;
67
107
  export type TranslateRequest = z.infer<typeof translateRequestSchema>;
68
108
  export type TranslateResponse = z.infer<typeof translateResponseSchema>;
69
109
  export type TranslationStats = z.infer<typeof translationStatsSchema>;
70
- type TranslateParamsBase = z.input<typeof translateParamsBaseSchema>;
71
- type TranslateParamsNmt = TranslateParamsBase & {
72
- modelType: "nmt";
110
+ type TranslateParamsNmt = {
111
+ modelId: string;
112
+ text: string | string[];
113
+ stream: boolean;
114
+ modelType: NmtModelTypeInput;
73
115
  };
74
- type TranslateParamsLlm = TranslateParamsBase & {
75
- modelType: "llm";
116
+ type TranslateParamsLlm = {
117
+ modelId: string;
118
+ text: string;
119
+ stream: boolean;
120
+ modelType: LlmModelTypeInput;
76
121
  from?: NmtLanguage | (string & {});
77
122
  to: NmtLanguage | (string & {});
78
123
  context?: string;
@@ -1,19 +1,27 @@
1
1
  import { z } from "zod";
2
- const translateParamsBaseSchema = z.object({
2
+ import { nmtModelTypeSchema, llmModelTypeSchema, normalizeModelType, } from "./model-types.js";
3
+ const translateParamsNmtSchema = z.object({
3
4
  modelId: z.string(),
4
- text: z.string().min(1, "Text cannot be empty"),
5
+ text: z.union([
6
+ z.string().min(1, "Text cannot be empty"),
7
+ z
8
+ .array(z.string().min(1, "Text cannot be empty"))
9
+ .min(1, "Array cannot be empty"),
10
+ ]),
5
11
  stream: z.boolean(),
12
+ modelType: nmtModelTypeSchema,
6
13
  });
7
- const translateParamsNmtSchema = translateParamsBaseSchema.extend({
8
- modelType: z.literal("nmt"),
9
- });
10
- const translateParamsLlmSchema = translateParamsBaseSchema.extend({
11
- modelType: z.literal("llm"),
14
+ const translateParamsLlmSchema = z.object({
15
+ modelId: z.string(),
16
+ text: z.string().min(1, "Text cannot be empty"),
17
+ stream: z.boolean(),
18
+ modelType: llmModelTypeSchema,
12
19
  from: z.string().optional(),
13
20
  to: z.string(),
14
21
  context: z.string().optional(),
15
22
  });
16
- const translateParamsSchema = z.discriminatedUnion("modelType", [
23
+ // Using z.union since each modelType accepts multiple values
24
+ const translateParamsSchema = z.union([
17
25
  translateParamsNmtSchema,
18
26
  translateParamsLlmSchema,
19
27
  ]);
@@ -25,14 +33,32 @@ export const translateRequestSchema = z.union([
25
33
  translateParamsNmtSchema.extend({ type: z.literal("translate") }),
26
34
  translateParamsLlmSchema.extend({ type: z.literal("translate") }),
27
35
  ]);
36
+ // Valid model types for translation (aliases and canonical)
37
+ const validTranslationModelTypes = [
38
+ "nmt",
39
+ "nmtcpp-translation",
40
+ "llm",
41
+ "llamacpp-completion",
42
+ ];
43
+ const llmModelTypes = ["llm", "llamacpp-completion"];
28
44
  // Validates the translate server args and returns the model info
29
45
  export const translateServerParamsSchema = translateParamsSchema
30
- .refine((data) => data.modelType && ["nmt", "llm"].includes(data.modelType), {
46
+ .refine((data) => data.modelType && validTranslationModelTypes.includes(data.modelType), {
31
47
  message: "Model type is not compatible with translation. Only LLM and NMT models are supported.",
32
48
  })
33
- .refine((data) => !(data.modelType === "llm" && (!data.from || !data.to)), {
49
+ .refine((data) => {
50
+ if (!llmModelTypes.includes(data.modelType))
51
+ return true;
52
+ // For LLM, check from/to exist
53
+ const llmData = data;
54
+ return llmData.from && llmData.to;
55
+ }, {
34
56
  message: "Both 'from' and 'to' languages are required for LLM translation models",
35
- });
57
+ })
58
+ .transform((data) => ({
59
+ ...data,
60
+ modelType: normalizeModelType(data.modelType),
61
+ }));
36
62
  export const translateResponseSchema = z.object({
37
63
  type: z.literal("translate"),
38
64
  token: z.string(),