@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
@@ -6,11 +6,13 @@ import Hyperdrive from "hyperdrive";
6
6
  import {} from "bare-stream";
7
7
  import { AbortController } from "bare-abort-controller";
8
8
  import { getEnv } from "../../../worker.js";
9
- import { getModelsCacheDir, generateShortHash, detectShardedModel, getShardedModelCacheDir, getShardPath, checkShardCompleteness, calculateFileChecksum, } from "../../../utils/index.js";
9
+ import { getModelsCacheDir, generateShortHash, detectShardedModel, getShardedModelCacheDir, getShardPath, checkShardCompleteness, calculateFileChecksum, extractTensorsFromShards, calculatePercentage, } from "../../../utils/index.js";
10
10
  import { getModelBySrc } from "../../../../models/hyperdrive/index.js";
11
11
  import { getActiveDownload, registerDownload, unregisterDownload, createHyperdriveDownloadKey, shouldClearCache, clearClearCacheFlag, } from "./download-manager.js";
12
12
  import { getSDKConfig } from "../../../bare/registry/config-registry.js";
13
13
  import { FileNotFoundError, ChecksumValidationFailedError, DownloadCancelledError, HyperdriveDownloadFailedError, ModelLoadFailedError, NoBlobFoundError, } from "../../../../utils/errors-server.js";
14
+ import { getServerLogger } from "../../../../logging/index.js";
15
+ const logger = getServerLogger();
14
16
  function getCorestoreDir(hyperdriveKey) {
15
17
  return path.join(getEnv().HOME_DIR, ".qvac", "corestore", hyperdriveKey);
16
18
  }
@@ -33,7 +35,7 @@ async function setupHyperdrive(hyperdriveKey, corestoreDir) {
33
35
  const swarm = new Hyperswarm(swarmOptions);
34
36
  const doneFindingPeers = drive.findingPeers();
35
37
  swarm.on("connection", (connection) => {
36
- console.log(`🤝 Connected to peer for hyperdrive download`);
38
+ logger.debug(`🤝 Connected to peer for hyperdrive download`);
37
39
  drive.replicate(connection);
38
40
  });
39
41
  swarm.join(drive.discoveryKey, { server: false, client: true });
@@ -41,7 +43,7 @@ async function setupHyperdrive(hyperdriveKey, corestoreDir) {
41
43
  return { corestore, drive, swarm, corestoreDir };
42
44
  }
43
45
  async function cleanupHyperdrive(setup) {
44
- console.log("🧹 Cleaning up hyperdrive setup");
46
+ logger.debug("🧹 Cleaning up hyperdrive setup");
45
47
  if (!setup.swarm.suspended) {
46
48
  try {
47
49
  await setup.swarm.suspend();
@@ -55,12 +57,12 @@ async function cleanupHyperdrive(setup) {
55
57
  await setup.corestore.close();
56
58
  }
57
59
  export async function deleteCorestoreDirectory(corestoreDir) {
58
- console.log(`🗑️ DELETING corestore directory... ${corestoreDir}`);
60
+ logger.info(`🗑️ DELETING corestore directory... ${corestoreDir}`);
59
61
  try {
60
62
  await fsPromises.rm(corestoreDir, { recursive: true, force: true });
61
63
  }
62
64
  catch (e) {
63
- console.error(`Error deleting corestore directory: ${e instanceof Error ? e.message : String(e)}`);
65
+ logger.error(`Error deleting corestore directory: ${e instanceof Error ? e.message : String(e)}`);
64
66
  }
65
67
  }
66
68
  async function findFileInHyperdrive(drive, modelFileName) {
@@ -148,7 +150,7 @@ async function validateCachedFile(modelPath, modelFileName, expectedSize, expect
148
150
  // For hyperdrive: only validate if file is complete
149
151
  // Partial files are ignored - corestore state is the source of truth for resume
150
152
  if (localSize === expectedSize) {
151
- console.log(`✅ Model cached with correct size: ${modelPath}`);
153
+ logger.info(`✅ Model cached with correct size: ${modelPath}`);
152
154
  // Always validate checksum if provided, even when size matches
153
155
  if (expectedChecksum && expectedChecksum.length === 64) {
154
156
  const checksum = await calculateFileChecksum(modelPath);
@@ -156,7 +158,7 @@ async function validateCachedFile(modelPath, modelFileName, expectedSize, expect
156
158
  throw new ChecksumValidationFailedError(`${modelFileName}. Expected: ${expectedChecksum}. Actual: ${checksum}. File may be corrupted`);
157
159
  }
158
160
  }
159
- console.log(`✅ Model already cached and size validated: ${modelPath}`);
161
+ logger.info(`✅ Model already cached and size validated: ${modelPath}`);
160
162
  return modelPath;
161
163
  }
162
164
  // File exists but incomplete - will be overwritten during download
@@ -173,10 +175,10 @@ async function downloadSingleFileToFilesystem(modelPath, modelFileName, hyperdri
173
175
  if (signal?.aborted) {
174
176
  throw new DownloadCancelledError();
175
177
  }
176
- console.log(`Downloading model from hyperdrive ${hyperdriveKey} to ${modelPath}`);
178
+ logger.info(`Downloading model from hyperdrive ${hyperdriveKey} to ${modelPath}`);
177
179
  const setup = await setupHyperdrive(hyperdriveKey, corestoreDir);
178
180
  const cleanup = () => {
179
- console.log("🛑 Aborting hyperdrive download...");
181
+ logger.info("🛑 Aborting hyperdrive download...");
180
182
  setup.swarm.suspended = true;
181
183
  setup.swarm.suspend().catch(() => {
182
184
  // Ignore errors during emergency suspend
@@ -192,7 +194,7 @@ async function downloadSingleFileToFilesystem(modelPath, modelFileName, hyperdri
192
194
  : undefined;
193
195
  await downloadAndValidateFile(setup.drive, modelFileName, modelPath, 0, // Size will be determined from drive
194
196
  expectedChecksum, progressContext, signal);
195
- console.log(`✅ Model downloaded successfully to ${modelPath}`);
197
+ logger.info(`✅ Model downloaded successfully to ${modelPath}`);
196
198
  // Send final 100% progress update
197
199
  if (progressCallback) {
198
200
  try {
@@ -215,7 +217,7 @@ async function downloadSingleFileToFilesystem(modelPath, modelFileName, hyperdri
215
217
  }
216
218
  }
217
219
  catch (error) {
218
- console.error("❌ Error during hyperdrive download:", error instanceof Error ? error.message : String(error));
220
+ logger.error("❌ Error during hyperdrive download:", error instanceof Error ? error.message : String(error));
219
221
  // Preserve cancellation errors
220
222
  if (error instanceof Error && error.message === "Download cancelled") {
221
223
  throw error;
@@ -263,7 +265,7 @@ async function downloadAndValidateFile(drive, sourceFileName, targetFilePath, ex
263
265
  type: "modelProgress",
264
266
  downloaded: cappedDownloaded,
265
267
  total: totalBytes,
266
- percentage: totalBytes > 0 ? (cappedDownloaded / totalBytes) * 100 : 0,
268
+ percentage: calculatePercentage(cappedDownloaded, totalBytes),
267
269
  downloadKey: progressContext.downloadKey,
268
270
  };
269
271
  if (progressContext.shardInfo) {
@@ -319,7 +321,7 @@ async function downloadAndValidateFile(drive, sourceFileName, targetFilePath, ex
319
321
  }
320
322
  }
321
323
  else if (!expectedChecksum) {
322
- console.log(`⚠️ No checksum available for validation`);
324
+ logger.warn(`⚠️ No checksum available for validation`);
323
325
  }
324
326
  }
325
327
  catch (error) {
@@ -368,11 +370,11 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
368
370
  const shardDir = getShardedModelCacheDir(hyperdriveKey);
369
371
  const allFiles = shardMetadata.map((s) => s.filename);
370
372
  const numberedShardCount = shardInfo.totalShards;
371
- console.log(`Downloading sharded model with ${numberedShardCount} numbered shards + ${allFiles.length - numberedShardCount} companion files to ${shardDir}`);
373
+ logger.info(`Downloading sharded model with ${numberedShardCount} numbered shards + ${allFiles.length - numberedShardCount} companion files to ${shardDir}`);
372
374
  // Check which files need to be downloaded
373
375
  const invalidIndices = await checkShardCompleteness(hyperdriveKey, allFiles, shardMetadata);
374
376
  if (invalidIndices.length === 0) {
375
- console.log(`✅ All ${allFiles.length} files already downloaded and validated`);
377
+ logger.info(`✅ All ${allFiles.length} files already downloaded and validated`);
376
378
  if (progressCallback) {
377
379
  const overallTotal = shardMetadata.reduce((sum, shard) => sum + shard.expectedSize, 0);
378
380
  const lastFile = allFiles[allFiles.length - 1];
@@ -392,14 +394,15 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
392
394
  },
393
395
  });
394
396
  }
397
+ await extractTensorsFromShards(shardDir, firstShardFileName);
395
398
  return getShardPath(hyperdriveKey, allFiles[0]);
396
399
  }
397
- console.log(`📥 Need to download ${invalidIndices.length} of ${allFiles.length} files`);
400
+ logger.info(`📥 Need to download ${invalidIndices.length} of ${allFiles.length} files`);
398
401
  // Setup hyperdrive once for all shards
399
402
  const corestoreDir = getCorestoreDir(hyperdriveKey);
400
403
  const setup = await setupHyperdrive(hyperdriveKey, corestoreDir);
401
404
  const cleanup = () => {
402
- console.log("🛑 Aborting sharded hyperdrive download...");
405
+ logger.info("🛑 Aborting sharded hyperdrive download...");
403
406
  setup.swarm.suspended = true;
404
407
  setup.swarm.suspend().catch(() => {
405
408
  // Ignore errors during emergency suspend
@@ -420,7 +423,7 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
420
423
  const filePath = getShardPath(hyperdriveKey, file);
421
424
  // Skip if already valid
422
425
  if (!invalidIndices.includes(i)) {
423
- console.log(`✅ File ${i + 1}/${allFiles.length} already valid: ${file}`);
426
+ logger.debug(`✅ File ${i + 1}/${allFiles.length} already valid: ${file}`);
424
427
  overallDownloaded += fileMeta.expectedSize;
425
428
  // Report progress for skipped files
426
429
  if (progressCallback) {
@@ -436,13 +439,13 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
436
439
  shardName: file,
437
440
  overallDownloaded,
438
441
  overallTotal,
439
- overallPercentage: overallTotal > 0 ? (overallDownloaded / overallTotal) * 100 : 0,
442
+ overallPercentage: calculatePercentage(overallDownloaded, overallTotal),
440
443
  },
441
444
  });
442
445
  }
443
446
  continue;
444
447
  }
445
- console.log(`📥 Downloading file ${i + 1}/${allFiles.length}: ${file}`);
448
+ logger.info(`📥 Downloading file ${i + 1}/${allFiles.length}: ${file}`);
446
449
  const progressContext = progressCallback
447
450
  ? {
448
451
  downloadKey: createHyperdriveDownloadKey(hyperdriveKey, firstShardFileName),
@@ -460,7 +463,7 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
460
463
  if (signal?.aborted) {
461
464
  throw new DownloadCancelledError();
462
465
  }
463
- console.log(`✅ File ${i + 1}/${allFiles.length} downloaded and validated`);
466
+ logger.info(`✅ File ${i + 1}/${allFiles.length} downloaded and validated`);
464
467
  overallDownloaded += fileMeta.expectedSize;
465
468
  }
466
469
  if (progressCallback && overallDownloaded === overallTotal) {
@@ -481,13 +484,14 @@ async function downloadShardedFilesToFilesystem(hyperdriveKey, firstShardFileNam
481
484
  },
482
485
  });
483
486
  }
487
+ await extractTensorsFromShards(shardDir, firstShardFileName);
484
488
  // Delete corestore directory after successful download (only when not seeding)
485
489
  if (!seed) {
486
490
  await deleteCorestoreDirectory(corestoreDir);
487
491
  }
488
492
  }
489
493
  catch (error) {
490
- console.error("❌ Error during sharded hyperdrive download:", error instanceof Error ? error.message : String(error));
494
+ logger.error("❌ Error during sharded hyperdrive download:", error instanceof Error ? error.message : String(error));
491
495
  // Preserve cancellation errors
492
496
  if (error instanceof Error && error.message === "Download cancelled") {
493
497
  throw error;
@@ -1,4 +1,4 @@
1
- export { handleLoadModel } from "../load-model";
2
- export { downloadModelFromHyperdrive } from "./hyperdrive";
1
+ export { handleLoadModel } from "./handler";
3
2
  export { resolveModelPath } from "./resolve";
3
+ export { createCancelFunction } from "./download-manager";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,3 @@
1
- export { handleLoadModel } from "../load-model.js";
2
- export { downloadModelFromHyperdrive } from "./hyperdrive.js";
1
+ export { handleLoadModel } from "./handler.js";
3
2
  export { resolveModelPath } from "./resolve.js";
3
+ export { createCancelFunction } from "./download-manager.js";
@@ -1,11 +1,17 @@
1
1
  import { models } from "../../../../models/hyperdrive/models.js";
2
- import { hyperdriveUrlSchema } from "../../../../schemas/index.js";
3
- import { getModelsCacheDir } from "../../../utils/index.js";
2
+ import { hyperdriveUrlSchema, SUPPORTED_ARCHIVE_EXTENSIONS, } from "../../../../schemas/index.js";
3
+ import { getModelsCacheDir, getShardedModelCacheDir, generateShortHash, extractAndValidateShardedArchive, } from "../../../utils/index.js";
4
4
  import { promises as fsPromises } from "bare-fs";
5
5
  import path from "bare-path";
6
6
  import { downloadModelFromHttp } from "./http.js";
7
7
  import { downloadModelFromHyperdrive } from "./hyperdrive.js";
8
8
  import { ModelLoadFailedError, ModelNotFoundError, SeedingNotSupportedError, } from "../../../../utils/errors-server.js";
9
+ import { getServerLogger } from "../../../../logging/index.js";
10
+ const logger = getServerLogger();
11
+ function isArchivePath(filePath) {
12
+ const filename = path.basename(filePath).toLowerCase();
13
+ return SUPPORTED_ARCHIVE_EXTENSIONS.some((ext) => filename.endsWith(ext));
14
+ }
9
15
  /**
10
16
  * Resolves a local file path or cached file
11
17
  */
@@ -20,14 +26,30 @@ async function resolveLocalOrCachedFile(modelIdOrPath) {
20
26
  const cachedPath = path.join(cacheDir, modelIdOrPath);
21
27
  try {
22
28
  await fsPromises.access(cachedPath);
23
- console.log(`Loading cached model: ${cachedPath}`);
29
+ logger.info(`Loading cached model: ${cachedPath}`);
30
+ // Check if cached file is an archive
31
+ if (isArchivePath(cachedPath)) {
32
+ logger.info(`Extracting cached archive: ${cachedPath}`);
33
+ const archiveHash = generateShortHash(cachedPath);
34
+ const extractDir = getShardedModelCacheDir(archiveHash);
35
+ const extractedPath = await extractAndValidateShardedArchive(cachedPath, extractDir);
36
+ return extractedPath;
37
+ }
24
38
  return cachedPath;
25
39
  }
26
40
  catch {
27
41
  // Try as local file in current directory
28
42
  try {
29
43
  await fsPromises.access(modelIdOrPath);
30
- console.log(`Loading local file: ${modelIdOrPath}`);
44
+ logger.info(`Loading local file: ${modelIdOrPath}`);
45
+ // Check if local file is an archive
46
+ if (isArchivePath(modelIdOrPath)) {
47
+ logger.info(`Extracting local archive: ${modelIdOrPath}`);
48
+ const archiveHash = generateShortHash(modelIdOrPath);
49
+ const extractDir = getShardedModelCacheDir(archiveHash);
50
+ const extractedPath = await extractAndValidateShardedArchive(modelIdOrPath, extractDir);
51
+ return extractedPath;
52
+ }
31
53
  return modelIdOrPath;
32
54
  }
33
55
  catch {
@@ -57,18 +79,27 @@ export async function resolveModelPath(modelSrc, progressCallback, seed) {
57
79
  // Check if it's an HTTP/HTTPS URL
58
80
  if (actualModelSrc.startsWith("http://") ||
59
81
  actualModelSrc.startsWith("https://")) {
60
- console.log(`Loading from HTTP URL: ${actualModelSrc}`);
82
+ logger.info(`Loading from HTTP URL: ${actualModelSrc}`);
61
83
  actualPath = await downloadModelFromHttp(actualModelSrc, progressCallback);
62
- console.log(`Loaded Model to ${actualPath}`);
84
+ logger.info(`Loaded Model to ${actualPath}`);
63
85
  }
64
86
  else if (hyperdriveKey) {
65
87
  // Direct hyperdrive loading
66
- console.log(`Loading from hyperdrive: ${hyperdriveKey}`);
88
+ logger.info(`Loading from hyperdrive: ${hyperdriveKey}`);
67
89
  actualPath = await downloadModelFromHyperdrive(hyperdriveKey, actualModelSrc, seed, progressCallback);
68
90
  }
69
91
  else if (actualModelSrc.includes("/") || actualModelSrc.includes("\\")) {
70
92
  // Handle file paths (absolute or relative with slashes)
71
- actualPath = actualModelSrc;
93
+ // Check if it's a local archive file
94
+ if (isArchivePath(actualModelSrc)) {
95
+ logger.info(`Extracting local archive: ${actualModelSrc}`);
96
+ const archiveHash = generateShortHash(actualModelSrc);
97
+ const extractDir = getShardedModelCacheDir(archiveHash);
98
+ actualPath = await extractAndValidateShardedArchive(actualModelSrc, extractDir);
99
+ }
100
+ else {
101
+ actualPath = actualModelSrc;
102
+ }
72
103
  }
73
104
  else {
74
105
  // Handle local files and cached files
@@ -1,3 +1,3 @@
1
- import type { LoadModelRequest, LoadModelResponse, ModelProgressUpdate } from "../../../schemas/index";
2
- export declare function handleLoadModelDelegated(request: LoadModelRequest, progressCallback?: (update: ModelProgressUpdate) => void): Promise<LoadModelResponse>;
1
+ import type { LoadModelSrcRequest, LoadModelResponse, ModelProgressUpdate } from "../../../schemas/index";
2
+ export declare function handleLoadModelDelegated(request: LoadModelSrcRequest, progressCallback?: (update: ModelProgressUpdate) => void): Promise<LoadModelResponse>;
3
3
  //# sourceMappingURL=load-model-delegated.d.ts.map
@@ -4,23 +4,28 @@ import { getRPC } from "../../bare/delegate-rpc-client.js";
4
4
  import { send, stream } from "../../../client/rpc/rpc-client.js";
5
5
  import { handleLoadModel } from "./load-model/index.js";
6
6
  import { ModelLoadFailedError, DelegateNoFinalResponseError, } from "../../../utils/errors-server.js";
7
+ import { getServerLogger } from "../../../logging/index.js";
8
+ const logger = getServerLogger();
7
9
  export async function handleLoadModelDelegated(request, progressCallback) {
8
10
  if (!request.delegate) {
9
11
  throw new ModelLoadFailedError("Delegate information is required for delegated load model");
10
12
  }
11
13
  const { delegate } = request;
12
- const { topic, providerPublicKey, timeout, fallbackToLocal } = delegate;
14
+ const { topic, providerPublicKey, timeout, fallbackToLocal, forceNewConnection, } = delegate;
13
15
  try {
14
- console.log(`📤 Sending delegated loadModel request to provider: ${providerPublicKey}${timeout ? `, timeout: ${timeout}ms` : ""}`);
16
+ logger.info(`📤 Sending delegated loadModel request to provider: ${providerPublicKey}${timeout ? `, timeout: ${timeout}ms` : ""}${forceNewConnection ? " (forcing new connection)" : ""}`);
15
17
  // Create RPC instance for this HyperSwarm peer
16
- const rpc = await getRPC(topic, providerPublicKey, { timeout });
18
+ const rpc = await getRPC(topic, providerPublicKey, {
19
+ timeout,
20
+ forceNewConnection,
21
+ });
17
22
  // Strip out the delegate field to avoid infinite delegation
18
23
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
19
24
  const { delegate: _, ...providerRequest } = request;
20
25
  let finalResponse;
21
26
  if (request.withProgress) {
22
27
  // Use streaming for progress updates
23
- console.log("📊 Using streaming mode for loadModel with progress");
28
+ logger.debug("📊 Using streaming mode for loadModel with progress");
24
29
  const responseStream = stream(providerRequest, rpc, timeout ? { timeout } : {});
25
30
  for await (const response of responseStream) {
26
31
  if (response.type === "modelProgress") {
@@ -40,11 +45,11 @@ export async function handleLoadModelDelegated(request, progressCallback) {
40
45
  }
41
46
  else {
42
47
  // Use simple send for non-progress requests
43
- console.log("📤 Using simple send mode for loadModel");
48
+ logger.debug("📤 Using simple send mode for loadModel");
44
49
  finalResponse = (await send(providerRequest, rpc, timeout ? { timeout } : {}));
45
50
  }
46
51
  if (!finalResponse || !finalResponse.success) {
47
- console.error("Provider failed to load model:", finalResponse?.error);
52
+ logger.error("Provider failed to load model:", finalResponse?.error);
48
53
  return {
49
54
  type: "loadModel",
50
55
  success: false,
@@ -62,7 +67,7 @@ export async function handleLoadModelDelegated(request, progressCallback) {
62
67
  delegateOptions.timeout = timeout;
63
68
  }
64
69
  registerModel(modelId, delegateOptions);
65
- console.log(`✅ Delegated model registered: ${modelId} -> provider: ${providerPublicKey}`);
70
+ logger.info(`✅ Delegated model registered: ${modelId} -> provider: ${providerPublicKey}`);
66
71
  return {
67
72
  type: "loadModel",
68
73
  success: true,
@@ -70,16 +75,16 @@ export async function handleLoadModelDelegated(request, progressCallback) {
70
75
  };
71
76
  }
72
77
  catch (error) {
73
- console.error("Error in delegated load model:", error);
78
+ logger.error("Error in delegated load model:", error);
74
79
  if (fallbackToLocal) {
75
- console.log("🔄 Fallback to local model loading enabled, attempting local load...");
80
+ logger.info("🔄 Fallback to local model loading enabled, attempting local load...");
76
81
  try {
77
82
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
78
83
  const { delegate: _, ...localRequest } = request;
79
84
  return await handleLoadModel(localRequest, progressCallback);
80
85
  }
81
86
  catch (localError) {
82
- console.error("❌ Local fallback also failed:", localError);
87
+ logger.error("❌ Local fallback also failed:", localError);
83
88
  return {
84
89
  type: "loadModel",
85
90
  success: false,
@@ -1,12 +1,12 @@
1
1
  import { registerLoggingStream, unregisterLoggingStream, } from "../../bare/registry/logging-stream-registry.js";
2
2
  export async function* handleLoggingStream(request) {
3
- const { modelId } = request;
3
+ const { id } = request;
4
4
  const logQueue = [];
5
5
  let pendingResolve = null;
6
6
  const streamHandler = (level, namespace, message) => {
7
7
  const logResponse = {
8
8
  type: "loggingStream",
9
- modelId,
9
+ id,
10
10
  level: level,
11
11
  namespace,
12
12
  message,
@@ -19,7 +19,7 @@ export async function* handleLoggingStream(request) {
19
19
  resolve();
20
20
  }
21
21
  };
22
- registerLoggingStream(modelId, streamHandler);
22
+ registerLoggingStream(id, streamHandler);
23
23
  try {
24
24
  while (true) {
25
25
  while (logQueue.length > 0) {
@@ -32,6 +32,6 @@ export async function* handleLoggingStream(request) {
32
32
  }
33
33
  }
34
34
  finally {
35
- unregisterLoggingStream(modelId, streamHandler);
35
+ unregisterLoggingStream(id, streamHandler);
36
36
  }
37
37
  }
@@ -0,0 +1,3 @@
1
+ import type { OCRStreamRequest, OCRStreamResponse } from "../../../schemas/index";
2
+ export declare function handleOCRStream(request: OCRStreamRequest): AsyncGenerator<OCRStreamResponse>;
3
+ //# sourceMappingURL=ocr-stream.d.ts.map
@@ -0,0 +1,39 @@
1
+ import { ocr } from "../../bare/addons/onnx-ocr/index.js";
2
+ import { getServerLogger } from "../../../logging/index.js";
3
+ const logger = getServerLogger();
4
+ export async function* handleOCRStream(request) {
5
+ const { modelId, image, options } = request;
6
+ try {
7
+ // Stream OCR results in real-time
8
+ for await (const result of ocr({
9
+ image,
10
+ modelId,
11
+ options,
12
+ })) {
13
+ if (result.blocks && result.blocks.length > 0) {
14
+ yield {
15
+ type: "ocrStream",
16
+ blocks: result.blocks,
17
+ };
18
+ }
19
+ if (result.stats) {
20
+ yield {
21
+ type: "ocrStream",
22
+ stats: result.stats,
23
+ };
24
+ }
25
+ }
26
+ // Signal completion
27
+ yield {
28
+ type: "ocrStream",
29
+ done: true,
30
+ };
31
+ }
32
+ catch (error) {
33
+ logger.error("Error during OCR:", error);
34
+ yield {
35
+ type: "ocrStream",
36
+ error: error instanceof Error ? error.message : "Unknown error",
37
+ };
38
+ }
39
+ }
@@ -1,25 +1,27 @@
1
1
  import RPC from "bare-rpc";
2
2
  import { createRpcProxy } from "./proxy.js";
3
+ import { getServerLogger } from "../../../../logging/index.js";
4
+ const logger = getServerLogger();
3
5
  export function setupConnectionHandlers(swarm) {
4
- console.log("👂 Setting up connection listener...");
6
+ logger.debug("👂 Setting up connection listener...");
5
7
  swarm.on("close", () => {
6
- console.log("🔗 Connection closed!");
8
+ logger.debug("🔗 Connection closed!");
7
9
  });
8
10
  swarm.on("connection", (conn) => {
9
- console.log("🔗 Connection event triggered!");
11
+ logger.debug("🔗 Connection event triggered!");
10
12
  const peerPubkey = conn.remotePublicKey?.toString("hex");
11
- console.log(`📡 New connection established from: ${peerPubkey?.substring(0, 16)}...`);
12
- console.log("🔐 Full peer public key:", peerPubkey);
13
+ logger.info(`📡 New connection established from: ${peerPubkey?.substring(0, 16)}...`);
14
+ logger.debug("🔐 Full peer public key:", peerPubkey);
13
15
  // Create RPC instance for this connection (as server)
14
- console.log("⚙️ Creating RPC instance for connection...");
16
+ logger.debug("⚙️ Creating RPC instance for connection...");
15
17
  new RPC(conn, createRpcProxy());
16
- console.log("✅ RPC instance created successfully");
18
+ logger.debug("✅ RPC instance created successfully");
17
19
  conn.on("close", () => {
18
- console.log(`🔌 Connection closed for peer: ${peerPubkey?.substring(0, 16)}`);
20
+ logger.debug(`🔌 Connection closed for peer: ${peerPubkey?.substring(0, 16)}`);
19
21
  });
20
22
  conn.on("error", (err) => {
21
- console.error(`❌ Connection error for peer ${peerPubkey?.substring(0, 16)}:`, err);
23
+ logger.error(`❌ Connection error for peer ${peerPubkey?.substring(0, 16)}:`, err);
22
24
  });
23
25
  });
24
- console.log("✅ Connection listener set up");
26
+ logger.debug("✅ Connection listener set up");
25
27
  }
@@ -1,51 +1,53 @@
1
1
  import { getSwarm, registerProviderTopic } from "../../../bare/hyperswarm.js";
2
2
  import { setupConnectionHandlers } from "./connection.js";
3
+ import { getServerLogger } from "../../../../logging/index.js";
4
+ const logger = getServerLogger();
3
5
  export async function provideHandler(request) {
4
6
  const swarm = getSwarm({
5
7
  firewallConfig: request.firewall,
6
8
  });
7
- console.log("🚀 Provide request received:", request);
8
- console.log("🔍 Swarm keyPair exists:", !!swarm.keyPair);
9
- console.log("🔍 Swarm publicKey:", swarm.keyPair?.publicKey?.toString("hex")?.substring(0, 16));
9
+ logger.debug("🚀 Provide request received:", request);
10
+ logger.debug("🔍 Swarm keyPair exists:", !!swarm.keyPair);
11
+ logger.debug("🔍 Swarm publicKey:", swarm.keyPair?.publicKey?.toString("hex")?.substring(0, 16));
10
12
  try {
11
- console.log("⚡ Starting provide handler execution");
13
+ logger.debug("⚡ Starting provide handler execution");
12
14
  const pubKey = swarm.keyPair.publicKey;
13
- console.log("🔑 Got public key:", pubKey.toString("hex"));
15
+ logger.debug("🔑 Got public key:", pubKey.toString("hex"));
14
16
  // Use provided topic from hex string
15
17
  const topic = Buffer.from(request.topic, "hex");
16
18
  // Join topic as server (provider)
17
- console.log("🌐 Joining topic as server...");
19
+ logger.info("🌐 Joining topic as server...");
18
20
  const discovery = swarm.join(topic, { server: true, client: false });
19
- console.log("📡 Discovery object created:", !!discovery);
21
+ logger.debug("📡 Discovery object created:", !!discovery);
20
22
  // Wait for the topic to be fully announced on the DHT
21
- console.log("⏳ Waiting for topic announcement...");
23
+ logger.debug("⏳ Waiting for topic announcement...");
22
24
  await discovery.flushed();
23
- console.log(`✅ Topic announced: ${topic.toString("hex")}`);
25
+ logger.info(`✅ Topic announced: ${topic.toString("hex")}`);
24
26
  // Wait for connections
25
- console.log("⏳ Waiting for swarm flush...");
27
+ logger.debug("⏳ Waiting for swarm flush...");
26
28
  await swarm.flush();
27
- console.log(`🎯 Ready to accept connections on topic: ${topic.toString("hex").substring(0, 16)}...`);
29
+ logger.info(`🎯 Ready to accept connections on topic: ${topic.toString("hex").substring(0, 16)}...`);
28
30
  // Handle incoming connections
29
31
  setupConnectionHandlers(swarm);
30
32
  registerProviderTopic(topic.toString("hex"));
31
- console.log("🏁 About to return success response...");
33
+ logger.debug("🏁 About to return success response...");
32
34
  const response = {
33
35
  type: "provide",
34
36
  success: true,
35
37
  publicKey: pubKey.toString("hex"),
36
38
  };
37
- console.log("📤 Returning response:", response);
39
+ logger.debug("📤 Returning response:", response);
38
40
  return response;
39
41
  }
40
42
  catch (error) {
41
- console.error("❌ Error in provide handler:", error);
42
- console.error("❌ Error stack:", error instanceof Error ? error.stack : "No stack trace");
43
+ logger.error("❌ Error in provide handler:", error);
44
+ logger.error("❌ Error stack:", error instanceof Error ? error.stack : "No stack trace");
43
45
  const errorResponse = {
44
46
  type: "provide",
45
47
  success: false,
46
48
  error: error instanceof Error ? error.message : "Unknown error",
47
49
  };
48
- console.log("📤 Returning error response:", errorResponse);
50
+ logger.debug("📤 Returning error response:", errorResponse);
49
51
  return errorResponse;
50
52
  }
51
53
  }
@@ -1,21 +1,23 @@
1
1
  import { handleRequest } from "../../handle-request.js";
2
+ import { getServerLogger } from "../../../../logging/index.js";
3
+ const logger = getServerLogger();
2
4
  // Proxies RPC requests to the main handler: handleRequest
3
5
  export function createRpcProxy() {
4
6
  return async (rpcRequest) => {
5
- console.log("📬 RPC request callback triggered!");
6
- console.log("📦 Raw RPC request data:", rpcRequest.data?.toString());
7
+ logger.debug("📬 RPC request callback triggered!");
8
+ logger.debug("📦 Raw RPC request data:", rpcRequest.data?.toString());
7
9
  try {
8
- console.log("🚀 Calling handleRequest...");
10
+ logger.debug("🚀 Calling handleRequest...");
9
11
  await handleRequest(rpcRequest);
10
- console.log("✅ handleRequest completed successfully");
12
+ logger.debug("✅ handleRequest completed successfully");
11
13
  }
12
14
  catch (error) {
13
- console.error("❌ Error:", error instanceof Error ? error.message : error);
15
+ logger.error("❌ Error:", error instanceof Error ? error.message : error);
14
16
  const errorResponse = JSON.stringify({
15
17
  type: "error",
16
18
  error: error instanceof Error ? error.message : "Unknown error",
17
19
  });
18
- console.log("📤 Sending error response:", errorResponse);
20
+ logger.debug("📤 Sending error response:", errorResponse);
19
21
  rpcRequest.reply(errorResponse, "utf-8");
20
22
  }
21
23
  };
@@ -1,3 +1,3 @@
1
- import type { RagRequest, RagResponse } from "../../../schemas/index";
2
- export declare function handleRag(request: RagRequest): Promise<RagResponse>;
1
+ import type { RagRequest, RagResponse, RagProgressUpdate } from "../../../schemas/index";
2
+ export declare function handleRag(request: RagRequest, onProgress?: (update: RagProgressUpdate) => void): Promise<RagResponse>;
3
3
  //# sourceMappingURL=rag.d.ts.map