@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
@@ -1,9 +1,43 @@
1
- import { saveEmbeddings, search, deleteEmbeddings, } from "../../bare/rag-hyperdb/index.js";
2
- export async function handleRag(request) {
3
- try {
4
- switch (request.operation) {
5
- case "saveEmbeddings": {
6
- const result = await saveEmbeddings(request);
1
+ import { chunk, ingest, reindex, saveEmbeddings, search, deleteEmbeddings, listWorkspaces, closeWorkspace, deleteWorkspace, DEFAULT_WORKSPACE, registerRagOperation, unregisterRagOperation, } from "../../bare/rag-hyperdb/index.js";
2
+ function createHandlerOptions(operation, workspace, onProgress) {
3
+ const signal = registerRagOperation(workspace, operation);
4
+ const options = { signal };
5
+ if (onProgress) {
6
+ options.onProgress = (stage, current, total) => onProgress({
7
+ type: "rag:progress",
8
+ operation,
9
+ workspace,
10
+ stage,
11
+ current,
12
+ total,
13
+ timestamp: Date.now(),
14
+ });
15
+ }
16
+ return options;
17
+ }
18
+ function omitOnProgress(obj) {
19
+ const { onProgress, withProgress, ...rest } = obj;
20
+ void onProgress;
21
+ void withProgress;
22
+ return rest;
23
+ }
24
+ export async function handleRag(request, onProgress) {
25
+ switch (request.operation) {
26
+ case "chunk": {
27
+ const chunks = await chunk(request);
28
+ return {
29
+ type: "rag",
30
+ operation: request.operation,
31
+ success: true,
32
+ chunks,
33
+ };
34
+ }
35
+ case "ingest": {
36
+ const workspace = request.workspace ?? DEFAULT_WORKSPACE;
37
+ const handlerOptions = createHandlerOptions("ingest", workspace, onProgress);
38
+ const params = omitOnProgress(request);
39
+ try {
40
+ const result = await ingest(params, handlerOptions);
7
41
  return {
8
42
  type: "rag",
9
43
  operation: request.operation,
@@ -12,53 +46,85 @@ export async function handleRag(request) {
12
46
  droppedIndices: result.droppedIndices,
13
47
  };
14
48
  }
15
- case "search": {
16
- const results = await search(request);
49
+ finally {
50
+ unregisterRagOperation(workspace);
51
+ }
52
+ }
53
+ case "saveEmbeddings": {
54
+ const workspace = request.workspace ?? DEFAULT_WORKSPACE;
55
+ const handlerOptions = createHandlerOptions("saveEmbeddings", workspace, onProgress);
56
+ const params = omitOnProgress(request);
57
+ try {
58
+ const processed = await saveEmbeddings(params, handlerOptions);
17
59
  return {
18
60
  type: "rag",
19
61
  operation: request.operation,
20
62
  success: true,
21
- results,
63
+ processed,
22
64
  };
23
65
  }
24
- case "deleteEmbeddings": {
25
- const success = await deleteEmbeddings(request);
66
+ finally {
67
+ unregisterRagOperation(workspace);
68
+ }
69
+ }
70
+ case "search": {
71
+ const results = await search(request);
72
+ return {
73
+ type: "rag",
74
+ operation: request.operation,
75
+ success: true,
76
+ results,
77
+ };
78
+ }
79
+ case "deleteEmbeddings": {
80
+ await deleteEmbeddings(request);
81
+ return {
82
+ type: "rag",
83
+ operation: request.operation,
84
+ success: true,
85
+ };
86
+ }
87
+ case "reindex": {
88
+ const workspace = request.workspace ?? DEFAULT_WORKSPACE;
89
+ const handlerOptions = createHandlerOptions("reindex", workspace, onProgress);
90
+ const params = omitOnProgress(request);
91
+ try {
92
+ const result = await reindex(params, handlerOptions);
26
93
  return {
27
94
  type: "rag",
28
95
  operation: request.operation,
29
- success,
96
+ success: true,
97
+ result,
30
98
  };
31
99
  }
100
+ finally {
101
+ unregisterRagOperation(workspace);
102
+ }
32
103
  }
33
- }
34
- catch (error) {
35
- console.error("Error in RAG handler:", error);
36
- const baseError = {
37
- type: "rag",
38
- success: false,
39
- error: error instanceof Error ? error.message : "Unknown error",
40
- };
41
- switch (request.operation) {
42
- case "saveEmbeddings":
43
- return {
44
- ...baseError,
45
- operation: request.operation,
46
- processed: [],
47
- droppedIndices: [],
48
- };
49
- case "search":
50
- return {
51
- ...baseError,
52
- operation: request.operation,
53
- results: [],
54
- };
55
- case "deleteEmbeddings":
56
- return {
57
- ...baseError,
58
- operation: request.operation,
59
- };
60
- default:
61
- throw error;
104
+ case "listWorkspaces": {
105
+ const workspaces = listWorkspaces();
106
+ return {
107
+ type: "rag",
108
+ operation: request.operation,
109
+ success: true,
110
+ workspaces,
111
+ };
112
+ }
113
+ case "closeWorkspace": {
114
+ await closeWorkspace(request);
115
+ return {
116
+ type: "rag",
117
+ operation: request.operation,
118
+ success: true,
119
+ };
120
+ }
121
+ case "deleteWorkspace": {
122
+ await deleteWorkspace(request);
123
+ return {
124
+ type: "rag",
125
+ operation: request.operation,
126
+ success: true,
127
+ };
62
128
  }
63
129
  }
64
130
  }
@@ -1,4 +1,6 @@
1
1
  import { getSwarm, unregisterProviderTopic } from "../../bare/hyperswarm.js";
2
+ import { getServerLogger } from "../../../logging/index.js";
3
+ const logger = getServerLogger();
2
4
  export function stopProvideHandler(request) {
3
5
  const swarm = getSwarm();
4
6
  try {
@@ -12,7 +14,7 @@ export function stopProvideHandler(request) {
12
14
  };
13
15
  }
14
16
  catch (error) {
15
- console.error("❌ Error in stop provide handler:", error);
17
+ logger.error("❌ Error in stop provide handler:", error);
16
18
  return {
17
19
  type: "stopProvide",
18
20
  success: false,
@@ -1,4 +1,4 @@
1
- import { textToSpeech } from "../../bare/addons/tts/index.js";
1
+ import { textToSpeech } from "../../bare/addons/onnx-tts/index.js";
2
2
  export async function* handleTextToSpeech(request) {
3
3
  const stream = textToSpeech(request);
4
4
  for await (const response of stream) {
@@ -1,4 +1,6 @@
1
- import { transcribeStream } from "../../bare/addons/whispercpp/index.js";
1
+ import { transcribeStream } from "../../bare/addons/whispercpp-transcription/index.js";
2
+ import { getServerLogger } from "../../../logging/index.js";
3
+ const logger = getServerLogger();
2
4
  export async function* handleTranscribeStream(request) {
3
5
  const { modelId, audioChunk, prompt } = request;
4
6
  try {
@@ -20,7 +22,7 @@ export async function* handleTranscribeStream(request) {
20
22
  };
21
23
  }
22
24
  catch (error) {
23
- console.error("Error during transcription:", error);
25
+ logger.error("Error during transcription:", error);
24
26
  yield {
25
27
  type: "transcribeStream",
26
28
  text: "",
@@ -1,19 +1,12 @@
1
- import { translate } from "../../bare/addons/translation/index.js";
1
+ import { translate } from "../../bare/addons/nmtcpp-translation/index.js";
2
+ import { getServerLogger } from "../../../logging/index.js";
3
+ const logger = getServerLogger();
2
4
  export async function* handleTranslate(request) {
3
- const { modelId, text, stream, modelType } = request;
4
- const from = request.modelType === "llm" ? request.from : undefined;
5
- const to = request.modelType === "llm" ? request.to : undefined;
6
- const context = request.modelType === "llm" ? request.context : undefined;
7
5
  try {
8
- const generator = translate({
9
- modelId,
10
- text,
11
- from,
12
- to: to,
13
- stream,
14
- modelType,
15
- context,
16
- });
6
+ // Remove the 'type' field from request and pass the rest to translate
7
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
+ const { type, ...translateParams } = request;
9
+ const generator = translate(translateParams);
17
10
  let stats;
18
11
  let done = false;
19
12
  let buffer = "";
@@ -25,7 +18,7 @@ export async function* handleTranslate(request) {
25
18
  }
26
19
  else {
27
20
  buffer += result.value;
28
- if (stream) {
21
+ if (translateParams.stream) {
29
22
  yield {
30
23
  type: "translate",
31
24
  token: result.value,
@@ -41,7 +34,7 @@ export async function* handleTranslate(request) {
41
34
  };
42
35
  }
43
36
  catch (error) {
44
- console.error("Error during translation:", error);
37
+ logger.error("Error during translation:", error);
45
38
  yield {
46
39
  type: "translate",
47
40
  token: "",
@@ -1,10 +1,12 @@
1
1
  import { unloadModel } from "../../bare/addons/index.js";
2
2
  import { getRegistryStats } from "../../bare/registry/model-registry.js";
3
3
  import { hasActiveProviders } from "../../bare/hyperswarm.js";
4
+ import { getServerLogger } from "../../../logging/index.js";
5
+ const logger = getServerLogger();
4
6
  export async function handleUnloadModel(request) {
5
7
  const { modelId, clearStorage } = request;
6
8
  try {
7
- console.log("Unloading model", modelId);
9
+ logger.debug("Unloading model", modelId);
8
10
  await unloadModel({ modelId, clearStorage });
9
11
  const stats = getRegistryStats();
10
12
  const modelsActive = stats.totalModels > 0;
@@ -17,7 +19,7 @@ export async function handleUnloadModel(request) {
17
19
  };
18
20
  }
19
21
  catch (error) {
20
- console.error("Error during model unload:", error);
22
+ logger.error("Error during model unload:", error);
21
23
  return {
22
24
  type: "unloadModel",
23
25
  success: false,
@@ -0,0 +1,3 @@
1
+ export declare function isArchiveUrl(url: string): boolean;
2
+ export declare function extractAndValidateShardedArchive(archivePath: string, extractDir: string, signal?: AbortSignal): Promise<string>;
3
+ //# sourceMappingURL=archive.d.ts.map
@@ -0,0 +1,171 @@
1
+ import { promises as fsPromises } from "bare-fs";
2
+ import path from "bare-path";
3
+ import fs from "bare-fs";
4
+ import { createGunzip } from "bare-zlib";
5
+ import tarStream from "tar-stream";
6
+ import { detectShardedModel, generateShardFilenames, extractTensorsFromShards, validateShardedModelCache, } from "./shard-utils.js";
7
+ import { ModelLoadFailedError, ArchiveExtractionFailedError, ArchiveUnsupportedTypeError, ArchiveMissingShardsError, DownloadCancelledError, } from "../../utils/errors-server.js";
8
+ import { getServerLogger } from "../../logging/index.js";
9
+ import { SUPPORTED_ARCHIVE_EXTENSIONS, filenameToArchiveTypeSchema, } from "../../schemas/archive.js";
10
+ const logger = getServerLogger();
11
+ // Gzip magic bytes: 1f 8b 08
12
+ const GZIP_MAGIC_0 = 0x1f;
13
+ const GZIP_MAGIC_1 = 0x8b;
14
+ const GZIP_MAGIC_2 = 0x08;
15
+ export function isArchiveUrl(url) {
16
+ const filename = url.split("/").pop()?.split("?")[0]?.toLowerCase() || "";
17
+ return SUPPORTED_ARCHIVE_EXTENSIONS.some((ext) => filename.endsWith(ext));
18
+ }
19
+ // Whitelist of model file extensions to extract from archives
20
+ const ALLOWED_MODEL_EXTENSIONS = [".gguf", ".tensors.txt"];
21
+ function isModelFile(entryName) {
22
+ const basename = path.basename(entryName);
23
+ // Skip resource forks (._filename)
24
+ if (basename.startsWith("._")) {
25
+ return false;
26
+ }
27
+ return ALLOWED_MODEL_EXTENSIONS.some((ext) => basename.toLowerCase().endsWith(ext));
28
+ }
29
+ async function isGzip(archivePath) {
30
+ return new Promise((resolve, reject) => {
31
+ const stream = fs.createReadStream(archivePath, { start: 0, end: 2 });
32
+ const chunks = [];
33
+ stream.on("data", (chunk) => {
34
+ chunks.push(chunk);
35
+ });
36
+ stream.on("end", () => {
37
+ stream.destroy();
38
+ const buffer = Buffer.concat(chunks);
39
+ // Check for gzip magic bytes
40
+ const isGzipped = buffer[0] === GZIP_MAGIC_0 &&
41
+ buffer[1] === GZIP_MAGIC_1 &&
42
+ buffer[2] === GZIP_MAGIC_2;
43
+ resolve(isGzipped);
44
+ });
45
+ stream.on("error", reject);
46
+ });
47
+ }
48
+ async function extractArchive(archivePath, extractDir, signal) {
49
+ const parseResult = filenameToArchiveTypeSchema.safeParse(archivePath);
50
+ const extensionType = parseResult.success ? parseResult.data : null;
51
+ if (!extensionType) {
52
+ throw new ArchiveUnsupportedTypeError(archivePath);
53
+ }
54
+ if (signal?.aborted) {
55
+ throw new DownloadCancelledError();
56
+ }
57
+ // Detect actual format from magic bytes (extension might be wrong)
58
+ const isGzipped = await isGzip(archivePath);
59
+ const actualType = isGzipped ? "tar.gz" : "tar";
60
+ if (actualType !== extensionType) {
61
+ logger.warn(`⚠️ Archive extension suggests ${extensionType} but content is ${actualType}`);
62
+ }
63
+ await fsPromises.mkdir(extractDir, { recursive: true });
64
+ await extractTarStream(archivePath, extractDir, isGzipped, signal);
65
+ }
66
+ async function extractTarStream(archivePath, extractDir, useGunzip, signal) {
67
+ const extract = tarStream.extract();
68
+ const gunzip = useGunzip ? createGunzip() : null;
69
+ return new Promise((resolve, reject) => {
70
+ let aborted = false;
71
+ let readStream = null;
72
+ const cleanup = () => {
73
+ aborted = true;
74
+ readStream?.destroy();
75
+ gunzip?.destroy();
76
+ extract.destroy();
77
+ };
78
+ if (signal) {
79
+ signal.addEventListener("abort", () => {
80
+ cleanup();
81
+ reject(new DownloadCancelledError());
82
+ });
83
+ }
84
+ extract.on("entry", (header, stream, next) => {
85
+ if (aborted) {
86
+ stream.resume();
87
+ return;
88
+ }
89
+ if (!isModelFile(header.name)) {
90
+ stream.resume();
91
+ next();
92
+ return;
93
+ }
94
+ const filePath = path.join(extractDir, header.name);
95
+ if (header.type === "file") {
96
+ const dir = path.dirname(filePath);
97
+ fs.mkdirSync(dir, { recursive: true });
98
+ const writeStream = fs.createWriteStream(filePath);
99
+ stream.pipe(writeStream);
100
+ writeStream.on("finish", next);
101
+ writeStream.on("error", reject);
102
+ }
103
+ else {
104
+ stream.on("end", next);
105
+ stream.resume();
106
+ }
107
+ });
108
+ extract.on("finish", resolve);
109
+ extract.on("error", reject);
110
+ if (gunzip) {
111
+ gunzip.on("error", reject);
112
+ }
113
+ readStream = fs.createReadStream(archivePath);
114
+ if (gunzip) {
115
+ readStream.pipe(gunzip).pipe(extract);
116
+ }
117
+ else {
118
+ readStream.pipe(extract);
119
+ }
120
+ });
121
+ }
122
+ export async function extractAndValidateShardedArchive(archivePath, extractDir, signal) {
123
+ // Check if shards already extracted
124
+ try {
125
+ const existingFiles = await fsPromises.readdir(extractDir);
126
+ const existingShard = existingFiles.find((f) => detectShardedModel(String(f)).isSharded);
127
+ if (existingShard) {
128
+ const isComplete = await validateShardedModelCache(extractDir, String(existingShard));
129
+ if (isComplete) {
130
+ logger.info(`✅ Archive already extracted: ${extractDir}`);
131
+ const shardFilenames = generateShardFilenames(String(existingShard));
132
+ return path.join(extractDir, shardFilenames[0]);
133
+ }
134
+ logger.warn(`⚠️ Incomplete extraction found, re-extracting archive`);
135
+ }
136
+ }
137
+ catch {
138
+ // Directory doesn't exist, proceed with extraction
139
+ }
140
+ logger.info(`Extracting archive: ${path.basename(archivePath)}`);
141
+ try {
142
+ await extractArchive(archivePath, extractDir, signal);
143
+ }
144
+ catch (error) {
145
+ throw new ArchiveExtractionFailedError(archivePath, error);
146
+ }
147
+ const files = await fsPromises.readdir(extractDir);
148
+ const shardedFile = files.find((f) => detectShardedModel(String(f)).isSharded);
149
+ if (!shardedFile) {
150
+ throw new ModelLoadFailedError(`No sharded model files found in archive. Expected pattern: *-00001-of-0000X.*`);
151
+ }
152
+ const shardedFileName = String(shardedFile);
153
+ const shardInfo = detectShardedModel(shardedFileName);
154
+ if (!shardInfo.baseFilename) {
155
+ throw new ModelLoadFailedError(`Could not extract base filename from sharded model: ${shardedFileName}`);
156
+ }
157
+ const shardFilenames = generateShardFilenames(shardedFileName);
158
+ for (const shardFilename of shardFilenames) {
159
+ const filePath = path.join(extractDir, shardFilename);
160
+ try {
161
+ await fsPromises.access(filePath);
162
+ }
163
+ catch {
164
+ throw new ArchiveMissingShardsError(shardFilename);
165
+ }
166
+ }
167
+ // Generate tensors.txt if it doesn't exist
168
+ await extractTensorsFromShards(extractDir, shardedFileName);
169
+ logger.info(`Archive extracted to ${extractDir} successfully: ${files.length} files`);
170
+ return path.join(extractDir, shardFilenames[0]);
171
+ }
@@ -1,4 +1,5 @@
1
1
  import { Readable } from "bare-stream";
2
+ import { type AudioFormat } from "../../../schemas/index";
2
3
  export declare function needsDecoding(filePath: string): boolean;
3
- export declare function decodeAudioToStream(inputPath: string): Promise<Readable>;
4
+ export declare function decodeAudioToStream(inputPath: string, audioFormat?: AudioFormat): Promise<Readable>;
4
5
  //# sourceMappingURL=decoder.d.ts.map
@@ -1,17 +1,20 @@
1
1
  import fs from "bare-fs";
2
2
  import path from "bare-path";
3
- import GSTDecoder from "@qvac/decoder-audio";
3
+ import { FFmpegDecoder } from "@qvac/decoder-audio";
4
4
  import { FORMATS_NEEDING_DECODE } from "@qvac/decoder-audio/constants.js";
5
5
  import { Readable } from "bare-stream";
6
+ import { getServerLogger } from "../../../logging/index.js";
7
+ import {} from "../../../schemas/index.js";
8
+ const logger = getServerLogger();
6
9
  export function needsDecoding(filePath) {
7
10
  const ext = path.extname(filePath).toLowerCase();
8
11
  return FORMATS_NEEDING_DECODE.includes(ext);
9
12
  }
10
- export async function decodeAudioToStream(inputPath) {
11
- const decoder = new GSTDecoder({
12
- config: {
13
- audioFormat: "encoded",
14
- },
13
+ const DECODER_TIMEOUT_MS = 10000;
14
+ export async function decodeAudioToStream(inputPath, audioFormat = "s16le") {
15
+ const decoder = new FFmpegDecoder({
16
+ config: { audioFormat },
17
+ logger,
15
18
  });
16
19
  try {
17
20
  await decoder.load();
@@ -20,22 +23,56 @@ export async function decodeAudioToStream(inputPath) {
20
23
  const outputStream = new Readable({
21
24
  read() { },
22
25
  });
26
+ let hasReceivedData = false;
27
+ let hasEnded = false;
28
+ // Fallback timeout in case the decoder hangs without emitting any events
29
+ const timeoutId = setTimeout(() => {
30
+ if (!hasEnded) {
31
+ hasEnded = true;
32
+ const timeoutError = new Error(`Audio decoding timed out after ${DECODER_TIMEOUT_MS}ms for file: ${inputPath}`);
33
+ outputStream.destroy(timeoutError);
34
+ }
35
+ }, DECODER_TIMEOUT_MS);
23
36
  response
24
37
  .onUpdate((output) => {
38
+ hasReceivedData = true;
25
39
  const bytes = new Uint8Array(output.outputArray);
26
40
  outputStream.push(Buffer.from(bytes));
27
41
  })
28
42
  .onFinish(() => {
29
- outputStream.push(null);
43
+ if (!hasEnded) {
44
+ hasEnded = true;
45
+ clearTimeout(timeoutId);
46
+ setImmediate(() => void decoder.unload());
47
+ if (!hasReceivedData) {
48
+ outputStream.destroy(new Error(`No audio data decoded from file: ${inputPath}`));
49
+ }
50
+ else {
51
+ outputStream.push(null);
52
+ }
53
+ }
30
54
  })
31
- .await()
32
- .catch((error) => {
33
- outputStream.destroy(error instanceof Error ? error : new Error(String(error)));
55
+ .onError((error) => {
56
+ if (!hasEnded) {
57
+ hasEnded = true;
58
+ clearTimeout(timeoutId);
59
+ setImmediate(() => void decoder.unload());
60
+ outputStream.destroy(error);
61
+ }
62
+ });
63
+ response.await().catch((error) => {
64
+ if (!hasEnded) {
65
+ hasEnded = true;
66
+ clearTimeout(timeoutId);
67
+ setImmediate(() => void decoder.unload());
68
+ outputStream.destroy(error instanceof Error ? error : new Error(String(error)));
69
+ }
34
70
  });
35
71
  return outputStream;
36
72
  }
37
73
  catch (error) {
38
- console.error("Decoding failed:", error instanceof Error ? error.message : String(error));
74
+ await decoder.unload();
75
+ logger.error("Decoding failed:", error instanceof Error ? error.message : String(error));
39
76
  throw error;
40
77
  }
41
78
  }
@@ -1,7 +1,7 @@
1
- import type { ShardMetadata } from "./shard-utils";
2
- export declare const getCacheDir: (subDir: string) => string;
3
- export declare const getModelsCacheDir: () => string;
4
- export declare const getKVCacheDir: () => string;
1
+ import type { ShardFileMetadata } from "../../schemas/index";
2
+ export declare function getCacheDir(subDir: string): string;
3
+ export declare function getModelsCacheDir(): string;
4
+ export declare function getKVCacheDir(): string;
5
5
  /**
6
6
  * Get cache directory for sharded model
7
7
  * Returns: cache/sharded/<hyperdriveKey>/
@@ -16,5 +16,5 @@ export declare function getShardPath(hyperdriveKey: string, shardFilename: strin
16
16
  * Check if all shards exist and are valid (size + checksum check)
17
17
  * Returns array of missing/invalid shard indices (0-based)
18
18
  */
19
- export declare function checkShardCompleteness(hyperdriveKey: string, shardFilenames: readonly string[], shardMetadata: readonly ShardMetadata[]): Promise<number[]>;
19
+ export declare function checkShardCompleteness(hyperdriveKey: string, shardFilenames: readonly string[], shardMetadata: readonly ShardFileMetadata[]): Promise<number[]>;
20
20
  //# sourceMappingURL=cache.d.ts.map
@@ -3,30 +3,32 @@ import path from "bare-path";
3
3
  import { getEnv } from "../worker.js";
4
4
  import { getConfiguredCacheDir } from "../bare/registry/config-registry.js";
5
5
  import { calculateFileChecksum } from "./checksum.js";
6
- export const getCacheDir = (subDir) => {
6
+ import { getServerLogger } from "../../logging/index.js";
7
+ const logger = getServerLogger();
8
+ export function getCacheDir(subDir) {
7
9
  const homeDir = getEnv().HOME_DIR;
8
10
  const cacheDir = path.join(homeDir, ".qvac", subDir);
9
11
  try {
10
12
  fs.mkdirSync(cacheDir, { recursive: true });
11
13
  }
12
14
  catch (error) {
13
- console.error(`Error creating cache directory (${subDir}):`, error instanceof Error ? error.message : String(error));
15
+ logger.error(`Error creating cache directory (${subDir}):`, error instanceof Error ? error.message : String(error));
14
16
  }
15
17
  return cacheDir;
16
- };
17
- export const getModelsCacheDir = () => {
18
+ }
19
+ export function getModelsCacheDir() {
18
20
  const configuredDir = getConfiguredCacheDir();
19
21
  try {
20
22
  fs.mkdirSync(configuredDir, { recursive: true });
21
23
  }
22
24
  catch (error) {
23
- console.error(`Error creating models cache directory:`, error instanceof Error ? error.message : String(error));
25
+ logger.error(`Error creating models cache directory:`, error instanceof Error ? error.message : String(error));
24
26
  }
25
27
  return configuredDir;
26
- };
27
- export const getKVCacheDir = () => {
28
+ }
29
+ export function getKVCacheDir() {
28
30
  return getCacheDir("kv-cache");
29
- };
31
+ }
30
32
  /**
31
33
  * Get cache directory for sharded model
32
34
  * Returns: cache/sharded/<hyperdriveKey>/
@@ -38,7 +40,7 @@ export function getShardedModelCacheDir(hyperdriveKey) {
38
40
  fs.mkdirSync(shardDir, { recursive: true });
39
41
  }
40
42
  catch (error) {
41
- console.error(`Error creating sharded model cache directory:`, error instanceof Error ? error.message : String(error));
43
+ logger.error(`Error creating sharded model cache directory:`, error instanceof Error ? error.message : String(error));
42
44
  }
43
45
  return shardDir;
44
46
  }
@@ -66,14 +68,14 @@ export async function checkShardCompleteness(hyperdriveKey, shardFilenames, shar
66
68
  try {
67
69
  const stats = await fsPromises.stat(shardPath);
68
70
  if (stats.size !== fileMeta.expectedSize) {
69
- console.warn(`File ${i + 1} size mismatch: expected ${fileMeta.expectedSize}, got ${stats.size}`);
71
+ logger.warn(`File ${i + 1} size mismatch: expected ${fileMeta.expectedSize}, got ${stats.size}`);
70
72
  invalidIndices.push(i);
71
73
  continue;
72
74
  }
73
75
  if (fileMeta.sha256Checksum) {
74
76
  const actualChecksum = await calculateFileChecksum(shardPath);
75
77
  if (actualChecksum !== fileMeta.sha256Checksum) {
76
- console.warn(`File ${i + 1} checksum mismatch for ${fileMeta.filename}. Expected: ${fileMeta.sha256Checksum}. Actual: ${actualChecksum}. Will re-download.`);
78
+ logger.warn(`File ${i + 1} checksum mismatch for ${fileMeta.filename}. Expected: ${fileMeta.sha256Checksum}. Actual: ${actualChecksum}. Will re-download.`);
77
79
  invalidIndices.push(i);
78
80
  }
79
81
  }
@@ -0,0 +1,3 @@
1
+ import { type ModelTypeInput } from "../../schemas/index";
2
+ export declare function transformConfigForReload(modelType: ModelTypeInput, config: unknown): unknown;
3
+ //# sourceMappingURL=config-transform.d.ts.map