@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.
- package/README.md +365 -200
- package/bare-imports.json +35 -0
- package/dist/client/api/cancel.d.ts +12 -3
- package/dist/client/api/cancel.js +12 -3
- package/dist/client/api/completion-stream.d.ts +15 -5
- package/dist/client/api/completion-stream.js +50 -14
- package/dist/client/api/embed.d.ts +17 -3
- package/dist/client/api/embed.js +0 -8
- package/dist/client/api/get-model-info.d.ts +2 -2
- package/dist/client/api/get-model-info.js +2 -2
- package/dist/client/api/index.d.ts +2 -2
- package/dist/client/api/index.js +2 -2
- package/dist/client/api/load-model.d.ts +37 -11
- package/dist/client/api/load-model.js +34 -117
- package/dist/client/api/logging-stream.d.ts +6 -3
- package/dist/client/api/logging-stream.js +6 -3
- package/dist/client/api/ocr.d.ts +31 -0
- package/dist/client/api/ocr.js +88 -0
- package/dist/client/api/rag.d.ts +215 -20
- package/dist/client/api/rag.js +382 -23
- package/dist/client/api/translate.js +10 -11
- package/dist/client/api/unload-model.js +6 -3
- package/dist/client/config-loader/config-utils.d.ts +5 -0
- package/dist/client/config-loader/config-utils.js +20 -0
- package/dist/client/config-loader/resolve-config.bare.d.ts +9 -0
- package/dist/client/config-loader/resolve-config.bare.js +87 -0
- package/dist/client/config-loader/resolve-config.expo.d.ts +11 -0
- package/dist/client/config-loader/resolve-config.expo.js +62 -0
- package/dist/client/config-loader/resolve-config.node.d.ts +9 -0
- package/dist/client/config-loader/resolve-config.node.js +118 -0
- package/dist/client/init-hooks.d.ts +18 -3
- package/dist/client/init-hooks.js +57 -29
- package/dist/client/logging-stream-registry.d.ts +1 -1
- package/dist/client/logging-stream-registry.js +14 -13
- package/dist/client/rpc/bare-client.d.ts +3 -184
- package/dist/client/rpc/bare-client.js +67 -8
- package/dist/client/rpc/expo-rpc-client.d.ts +2 -2
- package/dist/client/rpc/expo-rpc-client.js +70 -12
- package/dist/client/rpc/node-rpc-client.d.ts +1 -1
- package/dist/client/rpc/node-rpc-client.js +14 -7
- package/dist/client/rpc/rpc-client.d.ts +1 -1
- package/dist/client/rpc/rpc-client.js +13 -58
- package/dist/examples/config/blind-relay/blind-relay.config.d.ts +5 -0
- package/dist/examples/config/blind-relay/blind-relay.config.js +7 -0
- package/dist/examples/config/default/default.config.d.ts +8 -0
- package/dist/examples/config/default/default.config.js +6 -0
- package/dist/examples/config-reload.d.ts +2 -0
- package/dist/examples/config-reload.js +49 -0
- package/dist/examples/default-config-usage.d.ts +17 -0
- package/dist/examples/default-config-usage.js +47 -0
- package/dist/examples/delegated-inference/consumer.js +1 -0
- package/dist/examples/download-with-blind-relays.js +22 -21
- package/dist/examples/embed-hyperdrive.js +39 -3
- package/dist/examples/kv-cache-cleanup.js +1 -1
- package/dist/examples/kv-cache-custom-key.js +16 -1
- package/dist/examples/kv-cache-example.js +1 -1
- package/dist/examples/llamacpp-hyperdrive.js +1 -1
- package/dist/examples/llamacpp-sharded.js +13 -4
- package/dist/examples/logging-file-transport.d.ts +2 -0
- package/dist/examples/{llamacpp-file-logging.js → logging-file-transport.js} +3 -7
- package/dist/examples/logging-streaming.d.ts +2 -0
- package/dist/examples/logging-streaming.js +75 -0
- package/dist/examples/mcp-websearch.d.ts +13 -0
- package/dist/examples/mcp-websearch.js +176 -0
- package/dist/examples/ocr-fasttext.d.ts +2 -0
- package/dist/examples/ocr-fasttext.js +52 -0
- package/dist/examples/quickstart.d.ts +2 -0
- package/dist/examples/quickstart.js +28 -0
- package/dist/examples/rag/rag-hyperdb/cancellation.d.ts +2 -0
- package/dist/examples/rag/rag-hyperdb/cancellation.js +75 -0
- package/dist/examples/rag/rag-hyperdb/ingest.d.ts +2 -0
- package/dist/examples/rag/{rag-hyperdb.js → rag-hyperdb/ingest.js} +10 -4
- package/dist/examples/rag/rag-hyperdb/pipeline.d.ts +2 -0
- package/dist/examples/rag/rag-hyperdb/pipeline.js +74 -0
- package/dist/examples/rag/rag-hyperdb/workspaces.d.ts +2 -0
- package/dist/examples/rag/rag-hyperdb/workspaces.js +178 -0
- package/dist/examples/translation/translation-bergamot-batch.d.ts +2 -0
- package/dist/examples/translation/translation-bergamot-batch.js +49 -0
- package/dist/examples/translation/translation-bergamot.d.ts +2 -0
- package/dist/examples/translation/translation-bergamot.js +39 -0
- package/dist/examples/translation/translation-indic.js +1 -0
- package/dist/examples/translation/translation-opus.js +1 -0
- package/dist/examples/translation/translation-stream.js +1 -0
- package/dist/expo/plugins/withMobileBundle.js +29 -10
- package/dist/index.d.ts +5 -4
- package/dist/index.js +4 -2
- package/dist/logging/addon.d.ts +6 -0
- package/dist/logging/addon.js +75 -0
- package/dist/logging/base-logger.js +26 -16
- package/dist/logging/client-logger.d.ts +3 -0
- package/dist/logging/client-logger.js +24 -0
- package/dist/logging/index.d.ts +7 -1
- package/dist/logging/index.js +7 -1
- package/dist/logging/logger.d.ts +0 -2
- package/dist/logging/logger.js +11 -6
- package/dist/logging/namespaces.d.ts +12 -0
- package/dist/logging/namespaces.js +12 -0
- package/dist/logging/registry.d.ts +31 -0
- package/dist/logging/registry.js +48 -0
- package/dist/logging/server-logger.d.ts +3 -0
- package/dist/logging/server-logger.js +16 -0
- package/dist/logging/stream-logger.d.ts +1 -1
- package/dist/logging/stream-logger.js +6 -3
- package/dist/logging/transport.js +2 -2
- package/dist/logging/types.d.ts +2 -0
- package/dist/logging/utils.d.ts +2 -0
- package/dist/logging/utils.js +62 -0
- package/dist/models/hyperdrive/models.d.ts +1886 -230
- package/dist/models/hyperdrive/models.js +2191 -443
- package/dist/schemas/archive.d.ts +9 -0
- package/dist/schemas/archive.js +17 -0
- package/dist/schemas/cancel.d.ts +6 -0
- package/dist/schemas/cancel.js +5 -0
- package/dist/schemas/common.d.ts +660 -92
- package/dist/schemas/common.js +6 -4
- package/dist/schemas/delegate.d.ts +1 -0
- package/dist/schemas/delegate.js +1 -0
- package/dist/schemas/download-asset.d.ts +21 -9
- package/dist/schemas/embed.d.ts +3 -3
- package/dist/schemas/embed.js +9 -2
- package/dist/schemas/get-model-info.d.ts +12 -10
- package/dist/schemas/get-model-info.js +9 -1
- package/dist/schemas/index.d.ts +9 -1
- package/dist/schemas/index.js +12 -1
- package/dist/schemas/json-schema.d.ts +16 -0
- package/dist/schemas/json-schema.js +2 -0
- package/dist/schemas/llamacpp-config.d.ts +117 -12
- package/dist/schemas/llamacpp-config.js +46 -12
- package/dist/schemas/load-model.d.ts +3669 -481
- package/dist/schemas/load-model.js +95 -34
- package/dist/schemas/logging-stream.d.ts +11 -4
- package/dist/schemas/logging-stream.js +4 -3
- package/dist/schemas/mcp-adapter.d.ts +47 -0
- package/dist/schemas/mcp-adapter.js +1 -0
- package/dist/schemas/model-src-utils.d.ts +38 -14
- package/dist/schemas/model-src-utils.js +4 -3
- package/dist/schemas/model-types.d.ts +154 -0
- package/dist/schemas/model-types.js +140 -0
- package/dist/schemas/ocr.d.ts +88 -0
- package/dist/schemas/ocr.js +52 -0
- package/dist/schemas/rag.d.ts +183 -52
- package/dist/schemas/rag.js +148 -23
- package/dist/schemas/reload-config.d.ts +356 -0
- package/dist/schemas/reload-config.js +44 -0
- package/dist/schemas/runtime-context.d.ts +19 -0
- package/dist/schemas/runtime-context.js +7 -0
- package/dist/schemas/sdk-config.d.ts +717 -0
- package/dist/schemas/sdk-config.js +131 -0
- package/dist/schemas/sdk-errors-client.d.ts +5 -0
- package/dist/schemas/sdk-errors-client.js +25 -0
- package/dist/schemas/sdk-errors-server.d.ts +17 -0
- package/dist/schemas/sdk-errors-server.js +85 -0
- package/dist/schemas/shard.d.ts +21 -0
- package/dist/schemas/shard.js +17 -0
- package/dist/schemas/tools.d.ts +3 -0
- package/dist/schemas/translate.d.ts +68 -23
- package/dist/schemas/translate.js +37 -11
- package/dist/schemas/translation-config.d.ts +337 -13
- package/dist/schemas/translation-config.js +65 -9
- package/dist/schemas/whispercpp-config.d.ts +9 -1
- package/dist/schemas/whispercpp-config.js +2 -1
- package/dist/scripts/run-unit-tests.d.ts +2 -0
- package/dist/scripts/run-unit-tests.js +17 -0
- package/dist/server/bare/addons/llamacpp-completion/cache-logger.d.ts +6 -0
- package/dist/server/bare/addons/llamacpp-completion/cache-logger.js +34 -0
- package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/create-model.d.ts +1 -5
- package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/create-model.js +6 -20
- package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/handlers/completion-stream.js +26 -7
- package/dist/server/bare/addons/llamacpp-completion/index.d.ts +4 -0
- package/dist/server/bare/addons/llamacpp-completion/index.js +3 -0
- package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/kv-cache-utils.d.ts +4 -1
- package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/kv-cache-utils.js +49 -14
- package/dist/server/bare/addons/llamacpp-embedding/create-model.d.ts +8 -0
- package/dist/server/bare/addons/llamacpp-embedding/create-model.js +38 -0
- package/dist/server/bare/addons/llamacpp-embedding/handlers/embed.d.ts +12 -0
- package/dist/server/bare/addons/{llamacpp → llamacpp-embedding}/handlers/embed.js +18 -4
- package/dist/server/bare/addons/llamacpp-embedding/index.d.ts +3 -0
- package/dist/server/bare/addons/llamacpp-embedding/index.js +2 -0
- package/dist/server/bare/addons/load-model.js +38 -28
- package/dist/server/bare/addons/{translation → nmtcpp-translation}/create-model.js +23 -8
- package/dist/server/bare/addons/{translation → nmtcpp-translation}/handlers/translate.js +35 -11
- package/dist/server/bare/addons/onnx-ocr/create-model.d.ts +10 -0
- package/dist/server/bare/addons/onnx-ocr/create-model.js +39 -0
- package/dist/server/bare/addons/onnx-ocr/handlers/ocr-stream.d.ts +10 -0
- package/dist/server/bare/addons/onnx-ocr/handlers/ocr-stream.js +109 -0
- package/dist/server/bare/addons/onnx-ocr/index.d.ts +3 -0
- package/dist/server/bare/addons/onnx-ocr/index.js +2 -0
- package/dist/server/bare/addons/unload-model.js +6 -3
- package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/create-model.js +2 -1
- package/dist/server/bare/addons/whispercpp-transcription/handlers/transcribe-stream.js +82 -0
- package/dist/server/bare/delegate-rpc-client.js +31 -11
- package/dist/server/bare/hyperswarm.js +7 -5
- package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +3 -0
- package/dist/server/bare/rag-hyperdb/handlers/chunk.js +7 -0
- package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +3 -0
- package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +9 -0
- package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +9 -10
- package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +3 -0
- package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +14 -0
- package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +9 -0
- package/dist/server/bare/rag-hyperdb/handlers/ingest.js +18 -0
- package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +3 -0
- package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +4 -0
- package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +9 -0
- package/dist/server/bare/rag-hyperdb/handlers/reindex.js +16 -0
- package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +7 -4
- package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +13 -14
- package/dist/server/bare/rag-hyperdb/handlers/search.js +10 -10
- package/dist/server/bare/rag-hyperdb/index.d.ts +8 -1
- package/dist/server/bare/rag-hyperdb/index.js +8 -1
- package/dist/server/bare/rag-hyperdb/rag-operation-manager.d.ts +7 -0
- package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +39 -0
- package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +15 -0
- package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +135 -0
- package/dist/server/bare/registry/config-registry.d.ts +13 -4
- package/dist/server/bare/registry/config-registry.js +53 -10
- package/dist/server/bare/registry/logging-stream-registry.d.ts +24 -7
- package/dist/server/bare/registry/logging-stream-registry.js +99 -20
- package/dist/server/bare/registry/model-config-registry.d.ts +4 -0
- package/dist/server/bare/registry/model-config-registry.js +15 -0
- package/dist/server/bare/registry/model-config-utils.d.ts +15 -0
- package/dist/server/bare/registry/model-config-utils.js +121 -0
- package/dist/server/bare/registry/model-registry.d.ts +6 -26
- package/dist/server/bare/registry/model-registry.js +9 -6
- package/dist/server/bare/registry/runtime-context-registry.d.ts +7 -0
- package/dist/server/bare/registry/runtime-context-registry.js +26 -0
- package/dist/server/bare/utils/loader-adapter.d.ts +7 -0
- package/dist/server/bare/utils/loader-adapter.js +9 -0
- package/dist/server/error-handlers.js +4 -2
- package/dist/server/rpc/create-server.js +5 -3
- package/dist/server/rpc/handle-request.js +115 -19
- package/dist/server/rpc/handlers/cancelHandler.js +13 -2
- package/dist/server/rpc/handlers/completion-stream-delegated.js +4 -2
- package/dist/server/rpc/handlers/completion-stream.js +1 -1
- package/dist/server/rpc/handlers/delete-cache.js +4 -2
- package/dist/server/rpc/handlers/download-asset.js +3 -1
- package/dist/server/rpc/handlers/embed.js +4 -2
- package/dist/server/rpc/handlers/get-model-info.d.ts +1 -1
- package/dist/server/rpc/handlers/get-model-info.js +22 -10
- package/dist/server/rpc/handlers/index.d.ts +4 -2
- package/dist/server/rpc/handlers/index.js +2 -2
- package/dist/server/rpc/handlers/load-model/download-manager.d.ts +11 -11
- package/dist/server/rpc/handlers/load-model/download-manager.js +40 -28
- package/dist/server/rpc/handlers/{load-model.d.ts → load-model/handler.d.ts} +2 -2
- package/dist/server/rpc/handlers/load-model/handler.js +179 -0
- package/dist/server/rpc/handlers/load-model/http.js +361 -50
- package/dist/server/rpc/handlers/load-model/hyperdrive.js +26 -22
- package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model/index.js +2 -2
- package/dist/server/rpc/handlers/load-model/resolve.js +39 -8
- package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model-delegated.js +15 -10
- package/dist/server/rpc/handlers/logging-stream.js +4 -4
- package/dist/server/rpc/handlers/ocr-stream.d.ts +3 -0
- package/dist/server/rpc/handlers/ocr-stream.js +39 -0
- package/dist/server/rpc/handlers/provideHandler/connection.js +12 -10
- package/dist/server/rpc/handlers/provideHandler/handler.js +18 -16
- package/dist/server/rpc/handlers/provideHandler/proxy.js +8 -6
- package/dist/server/rpc/handlers/rag.d.ts +2 -2
- package/dist/server/rpc/handlers/rag.js +107 -41
- package/dist/server/rpc/handlers/stopProvideHandler.js +3 -1
- package/dist/server/rpc/handlers/text-to-speech.js +1 -1
- package/dist/server/rpc/handlers/transcribe-stream.js +4 -2
- package/dist/server/rpc/handlers/translate.js +9 -16
- package/dist/server/rpc/handlers/unload-model.js +4 -2
- package/dist/server/utils/archive.d.ts +3 -0
- package/dist/server/utils/archive.js +171 -0
- package/dist/server/utils/audio/decoder.d.ts +2 -1
- package/dist/server/utils/audio/decoder.js +48 -11
- package/dist/server/utils/cache.d.ts +5 -5
- package/dist/server/utils/cache.js +13 -11
- package/dist/server/utils/config-transform.d.ts +3 -0
- package/dist/server/utils/config-transform.js +23 -0
- package/dist/server/utils/formatting.d.ts +13 -0
- package/dist/server/utils/formatting.js +26 -0
- package/dist/server/utils/gguf-tensor-extractor.d.ts +15 -0
- package/dist/server/utils/gguf-tensor-extractor.js +314 -0
- package/dist/server/utils/index.d.ts +4 -1
- package/dist/server/utils/index.js +4 -1
- package/dist/server/utils/shard-utils.d.ts +42 -16
- package/dist/server/utils/shard-utils.js +95 -7
- package/dist/server/worker.js +49 -19
- package/dist/utils/errors-base.d.ts +1 -1
- package/dist/utils/errors-base.js +2 -2
- package/dist/utils/errors-client.d.ts +24 -0
- package/dist/utils/errors-client.js +40 -0
- package/dist/utils/errors-server.d.ts +42 -0
- package/dist/utils/errors-server.js +71 -0
- package/dist/utils/mcp-adapter.d.ts +12 -0
- package/dist/utils/mcp-adapter.js +103 -0
- package/dist/utils/object.d.ts +2 -0
- package/dist/utils/object.js +3 -0
- package/dist/utils/tool-helpers.d.ts +10 -2
- package/dist/utils/tool-helpers.js +24 -11
- package/package.json +74 -36
- package/dist/client/api/set-config.d.ts +0 -7
- package/dist/client/api/set-config.js +0 -20
- package/dist/client/config-manager.d.ts +0 -4
- package/dist/client/config-manager.js +0 -8
- package/dist/client/rpc/bare-rpc-client.d.ts +0 -4
- package/dist/client/rpc/bare-rpc-client.js +0 -91
- package/dist/examples/llamacpp-file-logging.d.ts +0 -2
- package/dist/examples/rag/rag-hyperdb-workspaces.d.ts +0 -2
- package/dist/examples/rag/rag-hyperdb-workspaces.js +0 -106
- package/dist/examples/rag/rag-hyperdb.d.ts +0 -2
- package/dist/schemas/set-config.d.ts +0 -21
- package/dist/schemas/set-config.js +0 -14
- package/dist/server/bare/addons/llamacpp/handlers/embed.d.ts +0 -4
- package/dist/server/bare/addons/llamacpp/index.d.ts +0 -4
- package/dist/server/bare/addons/llamacpp/index.js +0 -3
- package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.js +0 -63
- package/dist/server/bare/rag-hyperdb/rag-manager.d.ts +0 -5
- package/dist/server/bare/rag-hyperdb/rag-manager.js +0 -64
- package/dist/server/rpc/handlers/load-model.js +0 -59
- package/dist/server/rpc/handlers/set-config.d.ts +0 -3
- package/dist/server/rpc/handlers/set-config.js +0 -18
- package/dist/server/utils/hash.d.ts +0 -5
- package/dist/server/utils/hash.js +0 -11
- /package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/handlers/completion-stream.d.ts +0 -0
- /package/dist/server/bare/addons/{translation → nmtcpp-translation}/create-model.d.ts +0 -0
- /package/dist/server/bare/addons/{translation → nmtcpp-translation}/handlers/translate.d.ts +0 -0
- /package/dist/server/bare/addons/{translation → nmtcpp-translation}/index.d.ts +0 -0
- /package/dist/server/bare/addons/{translation → nmtcpp-translation}/index.js +0 -0
- /package/dist/server/bare/addons/{tts → onnx-tts}/create-model.d.ts +0 -0
- /package/dist/server/bare/addons/{tts → onnx-tts}/create-model.js +0 -0
- /package/dist/server/bare/addons/{tts → onnx-tts}/handlers/text-to-speech.d.ts +0 -0
- /package/dist/server/bare/addons/{tts → onnx-tts}/handlers/text-to-speech.js +0 -0
- /package/dist/server/bare/addons/{tts → onnx-tts}/index.d.ts +0 -0
- /package/dist/server/bare/addons/{tts → onnx-tts}/index.js +0 -0
- /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/create-model.d.ts +0 -0
- /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/handlers/transcribe-stream.d.ts +0 -0
- /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/index.d.ts +0 -0
- /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.
|
|
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/
|
|
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
|
-
"
|
|
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.
|
|
57
|
-
"@qvac/dl-filesystem": "^0.
|
|
58
|
-
"@qvac/embed-llamacpp": "^0.
|
|
59
|
-
"@qvac/error": "^0.1.
|
|
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.
|
|
77
|
+
"@qvac/llm-llamacpp": "^0.8.5",
|
|
62
78
|
"@qvac/logging": "^0.1.0",
|
|
63
|
-
"@qvac/
|
|
64
|
-
"@qvac/
|
|
65
|
-
"@qvac/
|
|
66
|
-
"@qvac/
|
|
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
|
-
"
|
|
77
|
-
"bare-
|
|
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.
|
|
98
|
-
"bare-crypto": "^1.
|
|
99
|
-
"bare-dns": "^2.1.
|
|
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.
|
|
102
|
-
"bare-https": "^2.1.1",
|
|
129
|
+
"bare-fs": "^4.5.2",
|
|
103
130
|
"bare-http1": "^4.1.6",
|
|
104
|
-
"bare-
|
|
105
|
-
"bare-
|
|
106
|
-
"bare-
|
|
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.
|
|
109
|
-
"bare-rpc": "^0.
|
|
110
|
-
"bare-runtime": "^1.24.
|
|
111
|
-
"bare-stream": "^2.
|
|
112
|
-
"bare-subprocess": "^5.
|
|
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.
|
|
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
|
-
|
|
167
|
+
"patchedDependencies": {},
|
|
168
|
+
"overrides": {
|
|
169
|
+
"@qvac/dl-hyperdrive": "^0.2.0"
|
|
132
170
|
}
|
|
133
171
|
}
|
|
@@ -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,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,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,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,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
|
-
};
|