@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
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@qvac/sdk",
3
- "version": "0.4.1",
3
+ "version": "0.6.0",
4
+ "license": "Apache-2.0",
4
5
  "type": "module",
5
6
  "main": "./dist/index.js",
6
7
  "types": "./dist/index.d.ts",
@@ -16,7 +17,15 @@
16
17
  "require": "./dist/server/worker.js"
17
18
  },
18
19
  "./expo-plugin": "./dist/expo/plugins/index.js",
19
- "./worker.mobile.bundle": "./dist/worker.mobile.bundle.js"
20
+ "./worker.mobile.bundle": "./dist/worker.mobile.bundle.js",
21
+ "./models": "./dist/models/hyperdrive/models.js"
22
+ },
23
+ "imports": {
24
+ "#rpc": {
25
+ "react-native": "./dist/client/rpc/expo-rpc-client.js",
26
+ "bare": "./dist/client/rpc/bare-client.js",
27
+ "default": "./dist/client/rpc/node-rpc-client.js"
28
+ }
20
29
  },
21
30
  "expo": {
22
31
  "plugins": [
@@ -24,6 +33,7 @@
24
33
  ]
25
34
  },
26
35
  "files": [
36
+ "bare-imports.json",
27
37
  "dist/**/*",
28
38
  "!dist/**/*.map",
29
39
  "!**/package-lock.json",
@@ -32,6 +42,7 @@
32
42
  "!**/bun.lock"
33
43
  ],
34
44
  "scripts": {
45
+ "test:unit": "bun run scripts/run-unit-tests.ts",
35
46
  "lint": "eslint . --max-warnings=0 && bun run typecheck",
36
47
  "typecheck": "tsc --noEmit -p tsconfig.json",
37
48
  "lint:fix": "eslint . --fix",
@@ -46,80 +57,106 @@
46
57
  "bare:ensureprebuilds:embeddings": "cp -r node_modules/@qvac/embed-llamacpp/prebuilds/android-arm64 node_modules/@qvac/embed-llamacpp/prebuilds/android-ia32 && cp -r node_modules/@qvac/embed-llamacpp/prebuilds/android-arm64 node_modules/@qvac/embed-llamacpp/prebuilds/android-arm && cp -r node_modules/@qvac/embed-llamacpp/prebuilds/android-arm64 node_modules/@qvac/embed-llamacpp/prebuilds/android-x64",
47
58
  "bare:ensureprebuilds": "bun run bare:ensureprebuilds:llamacpp && bun run bare:ensureprebuilds:whispercpp && bun run bare:ensureprebuilds:embeddings",
48
59
  "prepare:husky": "bun run husky",
49
- "bare:example": "./scripts/run-with-bare.sh",
60
+ "bare:example": "bare ./scripts/bare-bootstrap.js",
50
61
  "docs_api:website": "typedoc --out ./docs/api/website --entryPoints index.ts --entryPointStrategy expand --readme none",
51
62
  "docs_api:markdown": "typedoc --plugin typedoc-plugin-markdown --out ./docs/api/markdown --entryPoints index.ts --entryPointStrategy expand --readme none && sed -i '1,4d' ./docs/api/markdown/README.md",
52
63
  "docs_api": "bun run docs_api:website && bun run docs_api:markdown",
53
- "update-models": "node ./scripts/update-models.js"
64
+ "check-models": "node ./scripts/update-models.js --check",
65
+ "check-models:hook": "node ./scripts/update-models.js --check --non-blocking",
66
+ "update-models": "node ./scripts/update-models.js",
67
+ "changelog:generate": "node ./scripts/changelog-generate.cjs && prettier --write changelog",
68
+ "docs:gen-pages": "remark \"docs/*.mdx\" --output .docs-build",
69
+ "docs:gen-api": "typedoc --options docs/typedoc.jsonc"
54
70
  },
55
71
  "dependencies": {
56
- "@qvac/decoder-audio": "^0.1.1",
57
- "@qvac/dl-filesystem": "^0.1.1",
58
- "@qvac/embed-llamacpp": "^0.6.2",
59
- "@qvac/error": "^0.1.0",
72
+ "@qvac/decoder-audio": "^0.3.3",
73
+ "@qvac/dl-filesystem": "^0.2.0",
74
+ "@qvac/embed-llamacpp": "^0.10.3",
75
+ "@qvac/error": "^0.1.1",
60
76
  "@qvac/langdetect-text": "^0.1.0",
61
- "@qvac/llm-llamacpp": "^0.4.5",
77
+ "@qvac/llm-llamacpp": "^0.8.5",
62
78
  "@qvac/logging": "^0.1.0",
63
- "@qvac/rag": "^0.2.1",
64
- "@qvac/transcription-whispercpp": "0.2.0",
65
- "@qvac/translation-nmtcpp": "0.1.8",
66
- "@qvac/tts-onnx": "^0.2.5",
79
+ "@qvac/ocr-onnx": "^0.1.5",
80
+ "@qvac/rag": "^0.4.2",
81
+ "@qvac/transcription-whispercpp": "^0.3.17",
82
+ "@qvac/translation-nmtcpp": "^0.3.6",
83
+ "@qvac/tts-onnx": "^0.2.13",
67
84
  "fast-safe-stringify": "2.1.1",
85
+ "which-runtime": "^1.3.2",
68
86
  "zod": "^4.0.17"
69
87
  },
70
88
  "devDependencies": {
71
89
  "@eslint/js": "^9.33.0",
72
90
  "@expo/config-plugins": "^54.0.1",
73
91
  "@lancedb/lancedb": "^0.21.3",
92
+ "@modelcontextprotocol/sdk": "^1.12.1",
74
93
  "@sqliteai/sqlite-wasm": "3.50.4-sync.0.8.30-vector.0.9.23",
75
94
  "@types/node": "^24.2.1",
76
- "bare-pack": "^1.4.2",
77
- "bare-readline": "^1.1.0",
95
+ "@types/tar-stream": "^3.1.4",
96
+ "bare-pack": "^1.5.1",
97
+ "bare-readline": "^1.2.0",
98
+ "brittle": "^3.19.1",
78
99
  "chromadb": "^3.0.14",
79
- "expo": "^54.0.0",
80
100
  "eslint": "^9.33.0",
81
101
  "eslint-import-resolver-typescript": "^4.4.4",
82
102
  "eslint-plugin-import": "^2.30.0",
83
103
  "eslint-plugin-react": "^7.37.5",
104
+ "expo": "^54.0.0",
105
+ "expo-device": "^8.0.0",
106
+ "expo-file-system": "^19.0.15",
84
107
  "globals": "^16.3.0",
85
108
  "husky": "^9.1.7",
86
109
  "hyperdb": "^4.16.1",
87
110
  "prettier": "^3.6.2",
111
+ "react-native-bare-kit": "^0.11.5",
112
+ "remark-cli": "^12.0.1",
113
+ "remark-code-import": "^1.2.0",
114
+ "remark-frontmatter": "^5.0.0",
115
+ "remark-mdx": "^3.1.1",
88
116
  "typedoc": "^0.28.11",
117
+ "typedoc-plugin-frontmatter": "^1.3.1",
89
118
  "typedoc-plugin-markdown": "^4.8.1",
90
119
  "typescript": "^5.9.2",
91
- "typescript-eslint": "^8.39.0",
92
- "expo-file-system": "^19.0.15",
93
- "react-native-bare-kit": "^0.9.3"
120
+ "typescript-eslint": "^8.39.0"
94
121
  },
95
122
  "peerDependencies": {
123
+ "@modelcontextprotocol/sdk": "^1.0.0",
96
124
  "bare-abort-controller": "^1.0.0",
97
- "bare-buffer": "^3.3.0",
98
- "bare-crypto": "^1.9.2",
99
- "bare-dns": "^2.1.2",
125
+ "bare-buffer": "^3.4.2",
126
+ "bare-crypto": "^1.11.2",
127
+ "bare-dns": "^2.1.4",
100
128
  "bare-fetch": "^2.5.1",
101
- "bare-fs": "^4.1.6",
102
- "bare-https": "^2.1.1",
129
+ "bare-fs": "^4.5.2",
103
130
  "bare-http1": "^4.1.6",
104
- "bare-link": "^1.5.9",
105
- "bare-net": "^2.0.1",
106
- "bare-os": "^3.6.1",
131
+ "bare-https": "^2.1.1",
132
+ "bare-link": "^2.1.10",
133
+ "bare-net": "^2.2.0",
134
+ "bare-os": "^3.6.2",
107
135
  "bare-path": "^3.0.0",
108
- "bare-process": "^4.2.1",
109
- "bare-rpc": "^0.2.11",
110
- "bare-runtime": "^1.24.1",
111
- "bare-stream": "^2.6.5",
112
- "bare-subprocess": "^5.1.1",
136
+ "bare-process": "^4.2.2",
137
+ "bare-rpc": "^1.0.0",
138
+ "bare-runtime": "^1.24.2",
139
+ "bare-stream": "^2.7.0",
140
+ "bare-subprocess": "^5.2.1",
141
+ "bare-zlib": "^1.3.1",
113
142
  "corestore": "^7.4.5",
114
143
  "events": "^3.3.0",
144
+ "expo-device": "^8.0.0",
145
+ "expo-file-system": "^19.0.15",
115
146
  "hyperdb": "^4.19.0",
116
147
  "hyperdrive": "^13.0.1",
117
148
  "hyperswarm": "^4.12.1",
118
- "expo-file-system": "^19.0.15",
119
149
  "llm-splitter": "~0.2.0",
120
- "react-native-bare-kit": "^0.10.4"
150
+ "react-native-bare-kit": "^0.11.5",
151
+ "tar-stream": "^3.1.7"
121
152
  },
122
153
  "peerDependenciesMeta": {
154
+ "@modelcontextprotocol/sdk": {
155
+ "optional": true
156
+ },
157
+ "expo-device": {
158
+ "optional": true
159
+ },
123
160
  "expo-file-system": {
124
161
  "optional": true
125
162
  },
@@ -127,7 +164,8 @@
127
164
  "optional": true
128
165
  }
129
166
  },
130
- "patchedDependencies": {
131
- "bare-rpc@0.2.11": "patches/bare-rpc@0.2.11.patch"
167
+ "patchedDependencies": {},
168
+ "overrides": {
169
+ "@qvac/dl-hyperdrive": "^0.2.0"
132
170
  }
133
171
  }
@@ -1,7 +0,0 @@
1
- import { type SDKConfig } from "../../schemas/index";
2
- export declare const setConfig: (config: SDKConfig) => Promise<{
3
- type: "setConfig";
4
- success: boolean;
5
- error?: string | undefined;
6
- }>;
7
- //# sourceMappingURL=set-config.d.ts.map
@@ -1,20 +0,0 @@
1
- import {} from "../../schemas/index.js";
2
- import { send } from "../rpc/rpc-client.js";
3
- import { setCachedConfig } from "../config-manager.js";
4
- import { InvalidResponseError, SetConfigFailedError, } from "../../utils/errors-client.js";
5
- export const setConfig = async (config) => {
6
- // Cache config client-side for automatic replay on worker restart
7
- setCachedConfig(config);
8
- const request = {
9
- type: "setConfig",
10
- config,
11
- };
12
- const response = await send(request);
13
- if (response.type !== "setConfig") {
14
- throw new InvalidResponseError("setConfig");
15
- }
16
- if (!response.success) {
17
- throw new SetConfigFailedError(response.error);
18
- }
19
- return response;
20
- };
@@ -1,4 +0,0 @@
1
- import type { SDKConfig } from "../schemas/index";
2
- export declare const setCachedConfig: (config: SDKConfig) => void;
3
- export declare const getCachedConfig: () => SDKConfig;
4
- //# sourceMappingURL=config-manager.d.ts.map
@@ -1,8 +0,0 @@
1
- let cachedConfig;
2
- export const setCachedConfig = (config) => {
3
- cachedConfig = config;
4
- console.log("📦 Config cached client-side:", config);
5
- };
6
- export const getCachedConfig = () => {
7
- return cachedConfig;
8
- };
@@ -1,4 +0,0 @@
1
- import RPC from "bare-rpc";
2
- export declare function getRPC(): Promise<RPC>;
3
- export declare const cleanup: () => void;
4
- //# sourceMappingURL=bare-rpc-client.d.ts.map
@@ -1,91 +0,0 @@
1
- import RPC from "bare-rpc";
2
- import { spawn } from "bare-subprocess";
3
- import { createServer } from "bare-net";
4
- import os from "bare-os";
5
- import path from "bare-path";
6
- import process from "bare-process";
7
- let rpcInstance = null;
8
- let ipcServer = null;
9
- let childProcess = null;
10
- const cwd = process.cwd();
11
- // Resolve worker path relative to this module's location (in the SDK)
12
- // In Bare, we'll use a simpler path resolution
13
- let WORKER_PATH;
14
- if (cwd.includes("/dist/") || cwd.includes("\\dist\\")) {
15
- // Running from compiled dist/ - worker is in same dist/ folder
16
- const distRoot = cwd.includes("/dist/")
17
- ? cwd.split("/dist/")[0] + "/dist"
18
- : cwd.split("\\dist\\")[0] + "\\dist";
19
- WORKER_PATH = path.join(distRoot, "server/worker.js");
20
- }
21
- else {
22
- // Running from source - worker is in dist/ folder
23
- WORKER_PATH = path.resolve(cwd, "dist/server/worker.js");
24
- }
25
- const SOCKET_PATH = path.join(os.tmpdir(), `qvac-worker-${process.pid}.sock`);
26
- export async function getRPC() {
27
- if (rpcInstance) {
28
- console.log("returning cached bare rpc");
29
- return rpcInstance;
30
- }
31
- console.log("initRPC for bare runtime with socket:", SOCKET_PATH);
32
- // Start IPC server (Unix socket)
33
- const serverPromise = new Promise((resolve, reject) => {
34
- const server = createServer((socket) => {
35
- console.log("Worker connected via IPC socket");
36
- // Create RPC instance using the socket
37
- rpcInstance = new RPC(socket, () => {
38
- // Use this for async callbacks
39
- });
40
- resolve(rpcInstance);
41
- });
42
- server.on("error", (err) => {
43
- console.error("Failed to start IPC server:", err);
44
- reject(err);
45
- });
46
- server.listen(SOCKET_PATH, () => {
47
- console.log(`IPC server listening on ${SOCKET_PATH}`);
48
- ipcServer = server;
49
- // Spawn the worker process only after the socket is listening
50
- console.log("Spawning worker at:", WORKER_PATH);
51
- childProcess = spawn("bare", [
52
- WORKER_PATH,
53
- JSON.stringify({
54
- QVAC_IPC_SOCKET_PATH: SOCKET_PATH,
55
- HOME_DIR: os.homedir(),
56
- }),
57
- ], {
58
- stdio: ["inherit", "inherit", "inherit"],
59
- });
60
- childProcess.on("exit", (code) => {
61
- console.log("Worker process exited with code:", code);
62
- // Clean up
63
- rpcInstance = null;
64
- if (ipcServer) {
65
- ipcServer.close();
66
- ipcServer = null;
67
- }
68
- });
69
- childProcess.on("error", (err) => {
70
- console.error("Worker process error:", err);
71
- });
72
- });
73
- });
74
- // Wait for RPC to initialize, then replay config
75
- const rpc = await serverPromise;
76
- const { replayConfigIfCached } = await import("../init-hooks.js");
77
- await replayConfigIfCached(rpc);
78
- return rpc;
79
- }
80
- // Clean up function
81
- export const cleanup = () => {
82
- if (childProcess) {
83
- childProcess.kill();
84
- childProcess = null;
85
- }
86
- if (ipcServer) {
87
- ipcServer.close();
88
- ipcServer = null;
89
- }
90
- rpcInstance = null;
91
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=llamacpp-file-logging.d.ts.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=rag-hyperdb-workspaces.d.ts.map
@@ -1,106 +0,0 @@
1
- import { loadModel, unloadModel, GTE_LARGE_FP16, ragSaveEmbeddings, ragSearch, ragDeleteEmbeddings, } from "@qvac/sdk";
2
- try {
3
- console.log("🚀 RAG Workspaces with Chunking Example\n");
4
- // Load model
5
- const modelId = await loadModel({
6
- modelSrc: GTE_LARGE_FP16,
7
- modelType: "embeddings",
8
- onProgress: (p) => process.stdout.write(`\rLoading: ${Math.round(p.percentage * 100)}%`),
9
- });
10
- console.log("\n");
11
- // Medical article (will be chunked)
12
- const medicalArticle = `
13
- COVID-19: A Comprehensive Overview
14
-
15
- COVID-19 is a respiratory illness caused by the SARS-CoV-2 virus, first identified in December 2019
16
- in Wuhan, China. The virus spreads primarily through respiratory droplets when an infected person
17
- coughs, sneezes, or talks.
18
-
19
- Common symptoms include fever, cough, fatigue, and loss of taste or smell. Some patients may
20
- experience shortness of breath, muscle aches, sore throat, and headaches. Symptoms typically
21
- appear 2-14 days after exposure to the virus.
22
-
23
- Vaccines have been developed using various technologies including mRNA, viral vector, and
24
- inactivated virus approaches. These vaccines have proven effective in preventing severe illness,
25
- hospitalization, and death. Booster doses are recommended to maintain immunity.
26
-
27
- Treatment options vary based on severity. Mild cases often require only supportive care including
28
- rest and hydration. Severe cases may require hospitalization, oxygen therapy, and antiviral
29
- medications such as remdesivir or Paxlovid.
30
- `;
31
- // Tech documents (shorter, won't be chunked)
32
- const techDocs = [
33
- "Artificial intelligence is transforming industries through automation and advanced data analysis capabilities.",
34
- "Deep learning neural networks enable breakthroughs in computer vision and natural language processing.",
35
- ];
36
- // Save medical article with chunking
37
- console.log("📚 Saving medical article with chunking...");
38
- const medicalResult = await ragSaveEmbeddings({
39
- modelId,
40
- workspace: "medical",
41
- documents: medicalArticle,
42
- chunk: true,
43
- chunkOpts: {
44
- chunkSize: 100,
45
- chunkOverlap: 10,
46
- chunkStrategy: "paragraph",
47
- splitStrategy: "token",
48
- },
49
- });
50
- console.log(`✅ Created ${medicalResult.processed.length} chunks from medical article`);
51
- // Save tech docs without chunking
52
- console.log("\n📚 Saving tech documents...");
53
- const techResult = await ragSaveEmbeddings({
54
- modelId,
55
- workspace: "technology",
56
- documents: techDocs,
57
- chunk: false,
58
- });
59
- console.log(`✅ Saved ${techResult.processed.length} tech documents`);
60
- // Test searches
61
- const searches = [
62
- { workspace: "medical", query: "COVID symptoms fever", label: "Medical" },
63
- { workspace: "medical", query: "vaccine technology", label: "Medical" },
64
- { workspace: "technology", query: "neural networks", label: "Tech" },
65
- { workspace: "technology", query: "COVID", label: "Tech (isolation test)" },
66
- ];
67
- console.log("\n🔍 Running searches:");
68
- for (const { workspace, query, label } of searches) {
69
- const results = await ragSearch({ modelId, workspace, query, topK: 1 });
70
- console.log(`\n${label}: "${query}"`);
71
- if (results.length > 0 && results[0]) {
72
- console.log(` ✓ Score: ${results[0].score.toFixed(3)}`);
73
- console.log(` ✓ Match: ${results[0].content.substring(0, 80)}...`);
74
- }
75
- else {
76
- console.log(` ✗ No results (workspace isolation working correctly)`);
77
- }
78
- }
79
- // Test default workspace
80
- console.log("\n📁 Testing default workspace...");
81
- await ragSaveEmbeddings({
82
- modelId,
83
- documents: ["Default workspace content for testing"],
84
- chunk: false,
85
- });
86
- const defaultSearch = await ragSearch({
87
- modelId,
88
- query: "default workspace",
89
- });
90
- console.log(`Default workspace: ${defaultSearch?.[0]?.content === "Default workspace content for testing" ? "✅ Working" : "❌ Failed"}`);
91
- // Cleanup example
92
- const firstChunk = medicalResult.processed.find((p) => p.status === "fulfilled" && p.id);
93
- if (firstChunk?.id) {
94
- await ragDeleteEmbeddings({
95
- modelId,
96
- workspace: "medical",
97
- ids: [firstChunk.id],
98
- });
99
- console.log("\n🗑️ Deleted one medical chunk");
100
- }
101
- await unloadModel({ modelId });
102
- }
103
- catch (error) {
104
- console.error("❌ Error:", error);
105
- process.exit(1);
106
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=rag-hyperdb.d.ts.map
@@ -1,21 +0,0 @@
1
- import { z } from "zod";
2
- export declare const sdkConfigSchema: z.ZodObject<{
3
- cacheDirectory: z.ZodOptional<z.ZodString>;
4
- swarmRelays: z.ZodOptional<z.ZodArray<z.ZodString>>;
5
- }, z.core.$strip>;
6
- export declare const setConfigRequestSchema: z.ZodObject<{
7
- type: z.ZodLiteral<"setConfig">;
8
- config: z.ZodObject<{
9
- cacheDirectory: z.ZodOptional<z.ZodString>;
10
- swarmRelays: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
- }, z.core.$strip>;
12
- }, z.core.$strip>;
13
- export declare const setConfigResponseSchema: z.ZodObject<{
14
- type: z.ZodLiteral<"setConfig">;
15
- success: z.ZodBoolean;
16
- error: z.ZodOptional<z.ZodString>;
17
- }, z.core.$strip>;
18
- export type SDKConfig = z.infer<typeof sdkConfigSchema>;
19
- export type SetConfigRequest = z.infer<typeof setConfigRequestSchema>;
20
- export type SetConfigResponse = z.infer<typeof setConfigResponseSchema>;
21
- //# sourceMappingURL=set-config.d.ts.map
@@ -1,14 +0,0 @@
1
- import { z } from "zod";
2
- export const sdkConfigSchema = z.object({
3
- cacheDirectory: z.string().optional(),
4
- swarmRelays: z.array(z.string()).optional(),
5
- });
6
- export const setConfigRequestSchema = z.object({
7
- type: z.literal("setConfig"),
8
- config: sdkConfigSchema,
9
- });
10
- export const setConfigResponseSchema = z.object({
11
- type: z.literal("setConfig"),
12
- success: z.boolean(),
13
- error: z.string().optional(),
14
- });
@@ -1,4 +0,0 @@
1
- import { type EmbedParams } from "../../../../../schemas/index";
2
- export declare function embed(params: EmbedParams): Promise<number[]>;
3
- export declare function normalizeVector(vector: Float32Array): number[];
4
- //# sourceMappingURL=embed.d.ts.map
@@ -1,4 +0,0 @@
1
- export { completion } from "./handlers/completion-stream";
2
- export { embed } from "./handlers/embed";
3
- export { createLlmModel, createEmbeddingsModel } from "./create-model";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1,3 +0,0 @@
1
- export { completion } from "./handlers/completion-stream.js";
2
- export { embed } from "./handlers/embed.js";
3
- export { createLlmModel, createEmbeddingsModel } from "./create-model.js";
@@ -1,63 +0,0 @@
1
- import { getModel, getModelConfig, updateModelConfig, } from "../../../registry/model-registry.js";
2
- import { Readable } from "bare-stream";
3
- import fs from "bare-fs";
4
- import { needsDecoding, decodeAudioToStream } from "../../../../utils/index.js";
5
- import {} from "../../../../../schemas/index.js";
6
- import { AudioFileNotFoundError, InvalidAudioChunkError, } from "../../../../../utils/errors-server.js";
7
- export async function* transcribe(params) {
8
- const model = getModel(params.modelId);
9
- if (params.prompt && typeof model.reload === "function") {
10
- const existingConfig = getModelConfig(params.modelId);
11
- const updatedConfig = {
12
- ...existingConfig,
13
- initial_prompt: params.prompt,
14
- };
15
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
- const { contextParams: _, miscConfig, ...whisperParams } = updatedConfig;
17
- await model.reload({
18
- whisperConfig: whisperParams,
19
- ...(miscConfig && { miscConfig }),
20
- });
21
- updateModelConfig(params.modelId, updatedConfig);
22
- }
23
- let audioStream;
24
- const audioChunk = params.audioChunk;
25
- switch (audioChunk.type) {
26
- case "base64": {
27
- const audioBuffer = Buffer.from(audioChunk.value, "base64");
28
- audioStream = Readable.from([audioBuffer]);
29
- break;
30
- }
31
- case "filePath": {
32
- const filePath = audioChunk.value;
33
- try {
34
- fs.accessSync(filePath);
35
- }
36
- catch (error) {
37
- throw new AudioFileNotFoundError(filePath, error);
38
- }
39
- if (needsDecoding(filePath)) {
40
- audioStream = await decodeAudioToStream(filePath);
41
- }
42
- else {
43
- audioStream = fs.createReadStream(filePath);
44
- }
45
- break;
46
- }
47
- default:
48
- throw new InvalidAudioChunkError();
49
- }
50
- // Run transcription with streaming enabled
51
- const response = await model.run(audioStream);
52
- for await (const output of response.iterate()) {
53
- console.log("Streaming Transcription Update:", output);
54
- // Filter out blank audio chunks and process the text
55
- const text = output
56
- .filter((chunk) => !chunk.text.includes("[BLANK_AUDIO]"))
57
- .map((chunk) => chunk.text)
58
- .join("");
59
- if (text.trim()) {
60
- yield text;
61
- }
62
- }
63
- }
@@ -1,5 +0,0 @@
1
- import { RAG, type EmbeddingFunction } from "@qvac/rag";
2
- export declare const getRagInstance: (modelId: string, embeddingFunction: EmbeddingFunction, workspace?: string) => Promise<RAG>;
3
- export declare const closeRagInstance: (workspace?: string) => Promise<void>;
4
- export declare const closeAllRagInstances: () => Promise<void>;
5
- //# sourceMappingURL=rag-manager.d.ts.map
@@ -1,64 +0,0 @@
1
- import { RAG, HyperDBAdapter } from "@qvac/rag";
2
- import Corestore from "corestore";
3
- import path from "bare-path";
4
- import { getEnv } from "../../worker.js";
5
- import { RAGWorkspaceModelMismatchError } from "../../../utils/errors-server.js";
6
- const ragInstances = new Map();
7
- const defaultWorkspace = "default";
8
- const getStorePath = (workspace) => {
9
- const homeDir = getEnv().HOME_DIR;
10
- return path.join(homeDir, ".qvac", "rag-hyperdb", workspace);
11
- };
12
- export const getRagInstance = async (modelId, embeddingFunction, workspace) => {
13
- const key = workspace ?? defaultWorkspace;
14
- const existingEntry = ragInstances.get(key);
15
- if (existingEntry) {
16
- // Validate model consistency
17
- if (existingEntry.modelId !== modelId) {
18
- throw new RAGWorkspaceModelMismatchError(key, existingEntry.modelId, modelId);
19
- }
20
- return existingEntry.rag;
21
- }
22
- // Create new instance for this workspace
23
- const storePath = getStorePath(key);
24
- const corestore = new Corestore(storePath);
25
- // Create HyperDB adapter
26
- const hyperdbAdapter = new HyperDBAdapter({
27
- store: corestore,
28
- });
29
- const rag = new RAG({
30
- dbAdapter: hyperdbAdapter,
31
- embeddingFunction,
32
- });
33
- await rag.ready();
34
- ragInstances.set(key, {
35
- rag,
36
- corestore,
37
- modelId,
38
- });
39
- return rag;
40
- };
41
- export const closeRagInstance = async (workspace) => {
42
- const key = workspace ?? defaultWorkspace;
43
- const entry = ragInstances.get(key);
44
- if (entry) {
45
- await entry.rag.close();
46
- ragInstances.delete(key);
47
- }
48
- };
49
- let isCleaningUp = false;
50
- export const closeAllRagInstances = async () => {
51
- if (isCleaningUp)
52
- return;
53
- isCleaningUp = true;
54
- try {
55
- const closures = Array.from(ragInstances.entries()).map(async ([key, entry]) => {
56
- await entry.rag.close();
57
- ragInstances.delete(key);
58
- });
59
- await Promise.all(closures);
60
- }
61
- catch (error) {
62
- console.error("❌ Error during RAG cleanup:", error);
63
- }
64
- };