@qvac/sdk 0.8.0 → 1.0.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/LICENSE +24 -1
- package/README.md +191 -373
- package/dist/client/api/cancel.d.ts +4 -13
- package/dist/client/api/cancel.js +6 -16
- package/dist/client/api/completion-stream.d.ts +30 -24
- package/dist/client/api/completion-stream.js +70 -121
- package/dist/client/api/delete-cache.js +2 -3
- package/dist/client/api/download-asset.d.ts +5 -6
- package/dist/client/api/download-asset.js +20 -16
- package/dist/client/api/embed.d.ts +4 -21
- package/dist/client/api/embed.js +14 -4
- package/dist/client/api/index.d.ts +1 -5
- package/dist/client/api/index.js +1 -5
- package/dist/client/api/load-model.d.ts +21 -49
- package/dist/client/api/load-model.js +134 -40
- package/dist/client/api/logging-stream.d.ts +4 -7
- package/dist/client/api/logging-stream.js +5 -9
- package/dist/client/api/ping.d.ts +1 -1
- package/dist/client/api/ping.js +2 -3
- package/dist/client/api/provide.d.ts +1 -1
- package/dist/client/api/provide.js +3 -4
- package/dist/client/api/rag.d.ts +21 -216
- package/dist/client/api/rag.js +36 -396
- package/dist/client/api/stop-provider.d.ts +1 -1
- package/dist/client/api/stop-provider.js +3 -4
- package/dist/client/api/text-to-speech.d.ts +2 -2
- package/dist/client/api/text-to-speech.js +3 -3
- package/dist/client/api/transcribe.d.ts +5 -9
- package/dist/client/api/transcribe.js +9 -11
- package/dist/client/api/translate.d.ts +3 -3
- package/dist/client/api/translate.js +15 -15
- package/dist/client/api/unload-model.d.ts +1 -5
- package/dist/client/api/unload-model.js +4 -17
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/logging-stream-registry.d.ts +1 -1
- package/dist/client/logging-stream-registry.js +13 -14
- package/dist/client/rpc/bare-client.d.ts +139 -3
- package/dist/client/rpc/bare-client.js +16 -117
- package/dist/client/rpc/bare-rpc-client.d.ts +4 -0
- package/dist/client/rpc/bare-rpc-client.js +87 -0
- package/dist/client/rpc/expo-rpc-client.d.ts +1 -2
- package/dist/client/rpc/expo-rpc-client.js +14 -57
- package/dist/client/rpc/node-rpc-client.d.ts +8 -3
- package/dist/client/rpc/node-rpc-client.js +62 -218
- package/dist/client/rpc/rpc-client.d.ts +2 -3
- package/dist/client/rpc/rpc-client.js +49 -184
- package/dist/constants/audio.d.ts +2 -1
- package/dist/constants/audio.js +17 -1
- package/dist/constants/index.d.ts +0 -1
- package/dist/constants/index.js +0 -1
- package/dist/examples/delegated-inference/consumer.js +2 -3
- package/dist/examples/download-with-cancel.js +4 -3
- package/dist/examples/embed-hyperdrive.js +4 -39
- package/dist/examples/kv-cache-cleanup.js +2 -1
- package/dist/examples/kv-cache-custom-key.js +2 -16
- package/dist/examples/kv-cache-example.js +2 -1
- package/dist/examples/llamacpp-file-logging.d.ts +2 -0
- package/dist/examples/{logging-file-transport.js → llamacpp-file-logging.js} +8 -3
- package/dist/examples/llamacpp-filesystem.js +2 -2
- package/dist/examples/llamacpp-http.js +1 -0
- package/dist/examples/llamacpp-hyperdrive.js +2 -1
- package/dist/examples/llamacpp-multimodal.js +4 -3
- package/dist/examples/llamacpp-native-tools.js +30 -72
- package/dist/examples/multi-model-demo.js +3 -2
- package/dist/examples/parallel-download.js +14 -46
- package/dist/examples/rag/rag-chromadb.js +1 -0
- package/dist/examples/rag/rag-hyperdb-workspaces.d.ts +2 -0
- package/dist/examples/rag/rag-hyperdb-workspaces.js +107 -0
- package/dist/examples/rag/rag-hyperdb.d.ts +2 -0
- package/dist/examples/rag/{rag-hyperdb/ingest.js → rag-hyperdb.js} +5 -10
- package/dist/examples/rag/rag-lancedb.js +1 -0
- package/dist/examples/rag/rag-sqlite.js +1 -0
- package/dist/examples/text-to-speech.d.ts +3 -0
- package/dist/examples/{tts/utils.js → text-to-speech.js} +63 -18
- package/dist/examples/translation/translation-indic.js +1 -4
- package/dist/examples/translation/translation-llm-context.js +1 -0
- package/dist/examples/translation/translation-llm.js +2 -2
- package/dist/examples/translation/translation-opus.js +3 -6
- package/dist/examples/translation/translation-stream.js +3 -3
- package/dist/examples/whispercpp-filesystem.js +43 -0
- package/dist/examples/{transcription/whispercpp-microphone-record.js → whispercpp-microphone-record.js} +9 -8
- package/dist/expo/plugins/index.d.ts +0 -3
- package/dist/expo/plugins/index.js +0 -3
- package/dist/expo/plugins/withMobileBundle.d.ts +2 -5
- package/dist/expo/plugins/withMobileBundle.js +40 -121
- package/dist/expo/plugins/withQvacSDK.d.ts +0 -4
- package/dist/expo/plugins/withQvacSDK.js +1 -26
- package/dist/index.d.ts +4 -9
- package/dist/index.js +5 -11
- package/dist/logging/base-logger.js +16 -26
- package/dist/logging/index.d.ts +1 -7
- package/dist/logging/index.js +1 -7
- package/dist/logging/logger.d.ts +2 -0
- package/dist/logging/logger.js +6 -11
- package/dist/logging/stream-logger.d.ts +1 -1
- package/dist/logging/stream-logger.js +3 -6
- package/dist/logging/transport.js +2 -2
- package/dist/logging/types.d.ts +0 -2
- package/dist/logging/utils.d.ts +0 -2
- package/dist/logging/utils.js +0 -62
- package/dist/models/{registry → hyperdrive}/index.js +1 -1
- package/dist/models/hyperdrive/models.d.ts +619 -0
- package/dist/models/hyperdrive/models.js +693 -0
- package/dist/schemas/cancel.d.ts +0 -6
- package/dist/schemas/cancel.js +0 -5
- package/dist/schemas/common.d.ts +164 -2973
- package/dist/schemas/common.js +1 -23
- package/dist/schemas/completion-stream.d.ts +60 -31
- package/dist/schemas/completion-stream.js +44 -20
- package/dist/schemas/delegate.d.ts +0 -1
- package/dist/schemas/delegate.js +0 -1
- package/dist/schemas/download-asset.d.ts +3 -125
- package/dist/schemas/download-asset.js +5 -22
- package/dist/schemas/embed.d.ts +3 -3
- package/dist/schemas/embed.js +2 -9
- package/dist/schemas/index.d.ts +1 -19
- package/dist/schemas/index.js +1 -19
- package/dist/schemas/llamacpp-config.d.ts +12 -243
- package/dist/schemas/llamacpp-config.js +14 -50
- package/dist/schemas/load-model.d.ts +893 -14358
- package/dist/schemas/load-model.js +72 -325
- package/dist/schemas/logging-stream.d.ts +4 -11
- package/dist/schemas/logging-stream.js +3 -4
- package/dist/schemas/rag.d.ts +52 -183
- package/dist/schemas/rag.js +23 -152
- package/dist/schemas/text-to-speech.d.ts +1 -692
- package/dist/schemas/text-to-speech.js +3 -35
- package/dist/schemas/transcription.d.ts +0 -3
- package/dist/schemas/transcription.js +0 -1
- package/dist/schemas/translate.d.ts +23 -68
- package/dist/schemas/translate.js +11 -37
- package/dist/schemas/translation-config.d.ts +7 -810
- package/dist/schemas/translation-config.js +7 -113
- package/dist/schemas/unload-model.d.ts +0 -2
- package/dist/schemas/unload-model.js +0 -2
- package/dist/schemas/whispercpp-config.d.ts +25 -0
- package/dist/schemas/whispercpp-config.js +18 -0
- package/dist/server/bare/{ops → addons}/cancel.js +1 -2
- package/dist/server/bare/addons/index.d.ts +4 -0
- package/dist/server/bare/addons/index.js +3 -0
- package/dist/server/bare/addons/llamacpp/create-model.d.ts +5 -0
- package/dist/server/bare/addons/llamacpp/create-model.js +67 -0
- package/dist/server/bare/{plugins/llamacpp-completion/ops → addons/llamacpp/handlers}/completion-stream.d.ts +1 -2
- package/dist/server/bare/{plugins/llamacpp-completion/ops → addons/llamacpp/handlers}/completion-stream.js +87 -54
- package/dist/server/bare/addons/llamacpp/handlers/embed.d.ts +4 -0
- package/dist/server/bare/{ops → addons/llamacpp/handlers}/embed.js +7 -22
- package/dist/server/bare/addons/llamacpp/index.d.ts +4 -0
- package/dist/server/bare/addons/llamacpp/index.js +3 -0
- package/dist/server/bare/{ops → addons/llamacpp}/kv-cache-utils.d.ts +1 -4
- package/dist/server/bare/{ops → addons/llamacpp}/kv-cache-utils.js +19 -54
- package/dist/server/bare/addons/load-model.d.ts +3 -0
- package/dist/server/bare/addons/load-model.js +62 -0
- package/dist/server/bare/addons/translation/create-model.d.ts +4 -0
- package/dist/server/bare/addons/translation/create-model.js +45 -0
- package/dist/server/bare/addons/translation/handlers/translate.d.ts +3 -0
- package/dist/server/bare/{ops → addons/translation/handlers}/translate.js +14 -47
- package/dist/server/bare/addons/translation/index.d.ts +3 -0
- package/dist/server/bare/addons/translation/index.js +2 -0
- package/dist/server/bare/addons/tts/create-model.d.ts +6 -0
- package/dist/server/bare/addons/tts/create-model.js +40 -0
- package/dist/server/bare/{plugins/onnx-tts/ops → addons/tts/handlers}/text-to-speech.js +3 -25
- package/dist/server/bare/addons/tts/index.d.ts +3 -0
- package/dist/server/bare/addons/tts/index.js +2 -0
- package/dist/server/bare/addons/unload-model.js +20 -0
- package/dist/server/bare/addons/whispercpp/create-model.d.ts +6 -0
- package/dist/server/bare/addons/whispercpp/create-model.js +55 -0
- package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.d.ts +3 -0
- package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.js +48 -0
- package/dist/server/bare/addons/whispercpp/index.d.ts +3 -0
- package/dist/server/bare/addons/whispercpp/index.js +2 -0
- package/dist/server/bare/delegate-rpc-client.d.ts +0 -6
- package/dist/server/bare/delegate-rpc-client.js +46 -157
- package/dist/server/bare/hyperswarm.d.ts +0 -3
- package/dist/server/bare/hyperswarm.js +6 -29
- package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +10 -9
- package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +4 -7
- package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +14 -13
- package/dist/server/bare/rag-hyperdb/handlers/search.js +10 -10
- package/dist/server/bare/rag-hyperdb/index.d.ts +1 -8
- package/dist/server/bare/rag-hyperdb/index.js +1 -8
- package/dist/server/bare/rag-hyperdb/rag-manager.d.ts +5 -0
- package/dist/server/bare/rag-hyperdb/rag-manager.js +65 -0
- package/dist/server/bare/registry/logging-stream-registry.d.ts +7 -24
- package/dist/server/bare/registry/logging-stream-registry.js +20 -99
- package/dist/server/bare/registry/model-registry.d.ts +26 -14
- package/dist/server/bare/registry/model-registry.js +12 -32
- package/dist/server/error-handlers.d.ts +2 -3
- package/dist/server/error-handlers.js +10 -15
- package/dist/server/http-server.d.ts +2 -0
- package/dist/server/http-server.js +189 -0
- package/dist/server/rpc/create-server.js +3 -5
- package/dist/server/rpc/handle-request.d.ts +9 -0
- package/dist/server/rpc/handle-request.js +242 -92
- package/dist/server/rpc/handlers/cancelHandler.js +3 -14
- package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +1 -3
- package/dist/server/rpc/handlers/completion-stream-delegated.js +6 -18
- package/dist/server/rpc/handlers/completion-stream.js +41 -2
- package/dist/server/rpc/handlers/delete-cache.js +2 -4
- package/dist/server/rpc/handlers/download-asset.js +6 -59
- package/dist/server/rpc/handlers/embed.js +19 -2
- package/dist/server/rpc/handlers/index.d.ts +0 -13
- package/dist/server/rpc/handlers/index.js +0 -13
- package/dist/server/rpc/handlers/load-model/download-manager.d.ts +11 -12
- package/dist/server/rpc/handlers/load-model/download-manager.js +28 -43
- package/dist/server/rpc/handlers/load-model/http.d.ts +1 -2
- package/dist/server/rpc/handlers/load-model/http.js +55 -424
- package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +1 -2
- package/dist/server/rpc/handlers/load-model/hyperdrive.js +171 -364
- 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.d.ts +1 -3
- package/dist/server/rpc/handlers/load-model/resolve.js +29 -110
- package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -6
- package/dist/server/rpc/handlers/load-model-delegated.js +21 -59
- package/dist/server/rpc/handlers/{load-model/handler.d.ts → load-model.d.ts} +2 -2
- package/dist/server/rpc/handlers/load-model.js +57 -0
- package/dist/server/rpc/handlers/logging-stream.js +4 -4
- package/dist/server/rpc/handlers/provideHandler/connection.js +10 -12
- package/dist/server/rpc/handlers/provideHandler/handler.js +17 -20
- package/dist/server/rpc/handlers/provideHandler/proxy.js +6 -8
- package/dist/server/rpc/handlers/rag.d.ts +2 -2
- package/dist/server/rpc/handlers/rag.js +43 -130
- package/dist/server/rpc/handlers/stopProvideHandler.js +2 -6
- package/dist/server/rpc/handlers/text-to-speech.js +5 -2
- package/dist/server/rpc/handlers/transcribe-stream.js +24 -2
- package/dist/server/rpc/handlers/translate.js +49 -2
- package/dist/server/rpc/handlers/unload-model.js +3 -12
- package/dist/server/rpc/index.d.ts +1 -1
- package/dist/server/utils/audio/decoder.d.ts +1 -2
- package/dist/server/utils/audio/decoder.js +12 -49
- package/dist/server/utils/cache.d.ts +8 -19
- package/dist/server/utils/cache.js +15 -100
- package/dist/server/utils/hash.d.ts +5 -0
- package/dist/server/utils/hash.js +11 -0
- package/dist/server/utils/index.d.ts +2 -7
- package/dist/server/utils/index.js +2 -7
- package/dist/server/utils/tool-parser.js +14 -28
- package/dist/server/worker.d.ts +5 -4
- package/dist/server/worker.js +89 -22
- package/package.json +41 -141
- package/NOTICE +0 -358
- package/bare-imports.json +0 -44
- package/dist/client/api/get-model-info.d.ts +0 -36
- package/dist/client/api/get-model-info.js +0 -14
- package/dist/client/api/invoke-plugin.d.ts +0 -15
- package/dist/client/api/invoke-plugin.js +0 -38
- package/dist/client/api/ocr.d.ts +0 -31
- package/dist/client/api/ocr.js +0 -88
- package/dist/client/api/registry.d.ts +0 -14
- package/dist/client/api/registry.js +0 -37
- package/dist/client/config-loader/config-utils.d.ts +0 -5
- package/dist/client/config-loader/config-utils.js +0 -20
- package/dist/client/config-loader/resolve-config.bare.d.ts +0 -9
- package/dist/client/config-loader/resolve-config.bare.js +0 -87
- package/dist/client/config-loader/resolve-config.expo.d.ts +0 -11
- package/dist/client/config-loader/resolve-config.expo.js +0 -62
- package/dist/client/config-loader/resolve-config.node.d.ts +0 -10
- package/dist/client/config-loader/resolve-config.node.js +0 -145
- package/dist/client/init-hooks.d.ts +0 -21
- package/dist/client/init-hooks.js +0 -66
- package/dist/client/rpc/expo-device-info.d.ts +0 -6
- package/dist/client/rpc/expo-device-info.js +0 -32
- package/dist/client/rpc/profiling/index.d.ts +0 -2
- package/dist/client/rpc/profiling/index.js +0 -1
- package/dist/client/rpc/profiling/profiler.d.ts +0 -27
- package/dist/client/rpc/profiling/profiler.js +0 -139
- package/dist/constants/registry.d.ts +0 -2
- package/dist/constants/registry.js +0 -1
- package/dist/examples/cache-management.d.ts +0 -2
- package/dist/examples/cache-management.js +0 -97
- package/dist/examples/config/blind-relay/blind-relay.config.d.ts +0 -5
- package/dist/examples/config/blind-relay/blind-relay.config.js +0 -7
- package/dist/examples/config/default/default.config.d.ts +0 -8
- package/dist/examples/config/default/default.config.js +0 -6
- package/dist/examples/config/plugins/plugins.config.d.ts +0 -5
- package/dist/examples/config/plugins/plugins.config.js +0 -4
- package/dist/examples/config-reload.d.ts +0 -2
- package/dist/examples/config-reload.js +0 -49
- package/dist/examples/default-config-usage.d.ts +0 -17
- package/dist/examples/default-config-usage.js +0 -47
- package/dist/examples/delegated-inference/consumer-profiled.d.ts +0 -2
- package/dist/examples/delegated-inference/consumer-profiled.js +0 -67
- package/dist/examples/download-with-blind-relays.d.ts +0 -2
- package/dist/examples/download-with-blind-relays.js +0 -49
- package/dist/examples/llamacpp-sharded.d.ts +0 -2
- package/dist/examples/llamacpp-sharded.js +0 -53
- package/dist/examples/logging-file-transport.d.ts +0 -2
- package/dist/examples/logging-streaming.d.ts +0 -2
- package/dist/examples/logging-streaming.js +0 -75
- package/dist/examples/mcp-websearch.d.ts +0 -13
- package/dist/examples/mcp-websearch.js +0 -176
- package/dist/examples/ocr-fasttext.d.ts +0 -2
- package/dist/examples/ocr-fasttext.js +0 -52
- package/dist/examples/plugins.d.ts +0 -14
- package/dist/examples/plugins.js +0 -129
- package/dist/examples/profiling/basic.d.ts +0 -2
- package/dist/examples/profiling/basic.js +0 -71
- package/dist/examples/profiling/per-call.d.ts +0 -2
- package/dist/examples/profiling/per-call.js +0 -30
- package/dist/examples/quickstart.d.ts +0 -2
- package/dist/examples/quickstart.js +0 -28
- package/dist/examples/rag/rag-hyperdb/cancellation.d.ts +0 -2
- package/dist/examples/rag/rag-hyperdb/cancellation.js +0 -75
- package/dist/examples/rag/rag-hyperdb/ingest.d.ts +0 -2
- package/dist/examples/rag/rag-hyperdb/pipeline.d.ts +0 -2
- package/dist/examples/rag/rag-hyperdb/pipeline.js +0 -74
- package/dist/examples/rag/rag-hyperdb/workspaces.d.ts +0 -2
- package/dist/examples/rag/rag-hyperdb/workspaces.js +0 -178
- package/dist/examples/registry-query.d.ts +0 -2
- package/dist/examples/registry-query.js +0 -87
- package/dist/examples/transcription/parakeet-ctc-filesystem.d.ts +0 -2
- package/dist/examples/transcription/parakeet-ctc-filesystem.js +0 -40
- package/dist/examples/transcription/parakeet-microphone-record.d.ts +0 -2
- package/dist/examples/transcription/parakeet-microphone-record.js +0 -95
- package/dist/examples/transcription/parakeet-sortformer.d.ts +0 -2
- package/dist/examples/transcription/parakeet-sortformer.js +0 -115
- package/dist/examples/transcription/parakeet-tdt-filesystem.d.ts +0 -2
- package/dist/examples/transcription/parakeet-tdt-filesystem.js +0 -44
- package/dist/examples/transcription/whispercpp-filesystem.js +0 -69
- package/dist/examples/transcription/whispercpp-prompt.d.ts +0 -2
- package/dist/examples/transcription/whispercpp-prompt.js +0 -67
- package/dist/examples/translation/translation-bergamot-batch.d.ts +0 -2
- package/dist/examples/translation/translation-bergamot-batch.js +0 -49
- package/dist/examples/translation/translation-bergamot-pivot.d.ts +0 -2
- package/dist/examples/translation/translation-bergamot-pivot.js +0 -73
- package/dist/examples/translation/translation-bergamot.d.ts +0 -2
- package/dist/examples/translation/translation-bergamot.js +0 -39
- package/dist/examples/translation/translation-llm-afriquegemma.d.ts +0 -2
- package/dist/examples/translation/translation-llm-afriquegemma.js +0 -39
- package/dist/examples/tts/chatterbox.d.ts +0 -2
- package/dist/examples/tts/chatterbox.js +0 -59
- package/dist/examples/tts/supertonic.d.ts +0 -2
- package/dist/examples/tts/supertonic.js +0 -51
- package/dist/examples/tts/utils.d.ts +0 -17
- package/dist/expo/plugins/resolve-sdk-package-dir.d.ts +0 -15
- package/dist/expo/plugins/resolve-sdk-package-dir.js +0 -31
- package/dist/expo/plugins/withAndroidArchitecture.d.ts +0 -8
- package/dist/expo/plugins/withAndroidArchitecture.js +0 -52
- package/dist/expo/plugins/withAndroidNdkVersion.d.ts +0 -8
- package/dist/expo/plugins/withAndroidNdkVersion.js +0 -31
- package/dist/expo/plugins/withDeviceInfo.d.ts +0 -10
- package/dist/expo/plugins/withDeviceInfo.js +0 -48
- package/dist/logging/addon.d.ts +0 -6
- package/dist/logging/addon.js +0 -75
- package/dist/logging/client-logger.d.ts +0 -3
- package/dist/logging/client-logger.js +0 -24
- package/dist/logging/namespaces.d.ts +0 -6
- package/dist/logging/namespaces.js +0 -6
- package/dist/logging/registry.d.ts +0 -31
- package/dist/logging/registry.js +0 -62
- package/dist/logging/server-logger.d.ts +0 -3
- package/dist/logging/server-logger.js +0 -16
- package/dist/models/registry/models.d.ts +0 -10417
- package/dist/models/registry/models.js +0 -10757
- package/dist/models/update-models/codegen.d.ts +0 -3
- package/dist/models/update-models/codegen.js +0 -135
- package/dist/models/update-models/history.d.ts +0 -24
- package/dist/models/update-models/history.js +0 -107
- package/dist/models/update-models/index.d.ts +0 -2
- package/dist/models/update-models/index.js +0 -125
- package/dist/models/update-models/naming.d.ts +0 -4
- package/dist/models/update-models/naming.js +0 -370
- package/dist/models/update-models/processing.d.ts +0 -8
- package/dist/models/update-models/processing.js +0 -67
- package/dist/models/update-models/registry.d.ts +0 -4
- package/dist/models/update-models/registry.js +0 -67
- package/dist/models/update-models/shards.d.ts +0 -4
- package/dist/models/update-models/shards.js +0 -57
- package/dist/models/update-models/types.d.ts +0 -60
- package/dist/models/update-models/types.js +0 -1
- package/dist/models/update-models/utils.d.ts +0 -3
- package/dist/models/update-models/utils.js +0 -21
- package/dist/pear/pre.d.ts +0 -18
- package/dist/pear/pre.js +0 -433
- package/dist/profiling/aggregator.d.ts +0 -15
- package/dist/profiling/aggregator.js +0 -100
- package/dist/profiling/clock.d.ts +0 -12
- package/dist/profiling/clock.js +0 -51
- package/dist/profiling/controller.d.ts +0 -33
- package/dist/profiling/controller.js +0 -123
- package/dist/profiling/envelope.d.ts +0 -10
- package/dist/profiling/envelope.js +0 -36
- package/dist/profiling/events.d.ts +0 -20
- package/dist/profiling/events.js +0 -37
- package/dist/profiling/exporters.d.ts +0 -10
- package/dist/profiling/exporters.js +0 -236
- package/dist/profiling/index.d.ts +0 -36
- package/dist/profiling/index.js +0 -31
- package/dist/profiling/ring-buffer.d.ts +0 -19
- package/dist/profiling/ring-buffer.js +0 -83
- package/dist/profiling/types.d.ts +0 -47
- package/dist/profiling/types.js +0 -1
- package/dist/schemas/archive.d.ts +0 -9
- package/dist/schemas/archive.js +0 -17
- package/dist/schemas/engine-addon-map.d.ts +0 -5
- package/dist/schemas/engine-addon-map.js +0 -52
- package/dist/schemas/get-model-info.d.ts +0 -120
- package/dist/schemas/get-model-info.js +0 -58
- package/dist/schemas/json-schema.d.ts +0 -16
- package/dist/schemas/json-schema.js +0 -2
- package/dist/schemas/mcp-adapter.d.ts +0 -47
- package/dist/schemas/mcp-adapter.js +0 -1
- package/dist/schemas/model-src-utils.d.ts +0 -148
- package/dist/schemas/model-src-utils.js +0 -35
- package/dist/schemas/model-types.d.ts +0 -183
- package/dist/schemas/model-types.js +0 -168
- package/dist/schemas/ocr.d.ts +0 -125
- package/dist/schemas/ocr.js +0 -57
- package/dist/schemas/path-validation.d.ts +0 -10
- package/dist/schemas/path-validation.js +0 -22
- package/dist/schemas/plugin.d.ts +0 -226
- package/dist/schemas/plugin.js +0 -158
- package/dist/schemas/profiling.d.ts +0 -105
- package/dist/schemas/profiling.js +0 -66
- package/dist/schemas/registry.d.ts +0 -356
- package/dist/schemas/registry.js +0 -93
- package/dist/schemas/reload-config.d.ts +0 -476
- package/dist/schemas/reload-config.js +0 -44
- package/dist/schemas/runtime-context.d.ts +0 -19
- package/dist/schemas/runtime-context.js +0 -7
- package/dist/schemas/sdk-config.d.ts +0 -2973
- package/dist/schemas/sdk-config.js +0 -136
- package/dist/schemas/sdk-errors-client.d.ts +0 -31
- package/dist/schemas/sdk-errors-client.js +0 -143
- package/dist/schemas/sdk-errors-registry.d.ts +0 -6
- package/dist/schemas/sdk-errors-registry.js +0 -8
- package/dist/schemas/sdk-errors-server.d.ts +0 -89
- package/dist/schemas/sdk-errors-server.js +0 -451
- package/dist/schemas/shard.d.ts +0 -21
- package/dist/schemas/shard.js +0 -17
- package/dist/schemas/tools.d.ts +0 -65
- package/dist/schemas/tools.js +0 -43
- package/dist/schemas/transcription-config.d.ts +0 -383
- package/dist/schemas/transcription-config.js +0 -95
- package/dist/scripts/run-security-tests-bare.d.ts +0 -2
- package/dist/scripts/run-security-tests-bare.js +0 -78
- package/dist/scripts/run-security-tests.d.ts +0 -2
- package/dist/scripts/run-security-tests.js +0 -22
- package/dist/scripts/run-unit-tests.d.ts +0 -2
- package/dist/scripts/run-unit-tests.js +0 -17
- package/dist/server/bare/ops/embed.d.ts +0 -12
- package/dist/server/bare/ops/load-model.d.ts +0 -9
- package/dist/server/bare/ops/load-model.js +0 -85
- package/dist/server/bare/ops/transcribe.d.ts +0 -3
- package/dist/server/bare/ops/transcribe.js +0 -75
- package/dist/server/bare/ops/translate.d.ts +0 -5
- package/dist/server/bare/ops/unload-model.js +0 -41
- package/dist/server/bare/plugins/index.d.ts +0 -8
- package/dist/server/bare/plugins/index.js +0 -7
- package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.d.ts +0 -6
- package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.js +0 -34
- package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +0 -220
- package/dist/server/bare/plugins/llamacpp-completion/plugin.js +0 -155
- package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +0 -54
- package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +0 -87
- package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +0 -367
- package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +0 -204
- package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.d.ts +0 -10
- package/dist/server/bare/plugins/onnx-ocr/ops/ocr-stream.js +0 -110
- package/dist/server/bare/plugins/onnx-ocr/plugin.d.ts +0 -86
- package/dist/server/bare/plugins/onnx-ocr/plugin.js +0 -117
- package/dist/server/bare/plugins/onnx-tts/plugin.d.ts +0 -373
- package/dist/server/bare/plugins/onnx-tts/plugin.js +0 -182
- package/dist/server/bare/plugins/onnx-tts/wav-helper.d.ts +0 -14
- package/dist/server/bare/plugins/onnx-tts/wav-helper.js +0 -107
- package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +0 -317
- package/dist/server/bare/plugins/parakeet-transcription/plugin.js +0 -154
- package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +0 -237
- package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +0 -86
- package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +0 -3
- package/dist/server/bare/rag-hyperdb/handlers/chunk.js +0 -7
- package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +0 -3
- package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +0 -9
- package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +0 -3
- package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +0 -14
- package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +0 -9
- package/dist/server/bare/rag-hyperdb/handlers/ingest.js +0 -18
- package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +0 -3
- package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +0 -4
- package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +0 -9
- package/dist/server/bare/rag-hyperdb/handlers/reindex.js +0 -16
- package/dist/server/bare/rag-hyperdb/rag-operation-manager.d.ts +0 -7
- package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +0 -39
- package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +0 -15
- package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +0 -136
- package/dist/server/bare/registry/config-registry.d.ts +0 -14
- package/dist/server/bare/registry/config-registry.js +0 -82
- package/dist/server/bare/registry/model-config-registry.d.ts +0 -4
- package/dist/server/bare/registry/model-config-registry.js +0 -15
- package/dist/server/bare/registry/model-config-utils.d.ts +0 -15
- package/dist/server/bare/registry/model-config-utils.js +0 -112
- package/dist/server/bare/registry/registry-client.d.ts +0 -5
- package/dist/server/bare/registry/registry-client.js +0 -37
- package/dist/server/bare/registry/runtime-context-registry.d.ts +0 -7
- package/dist/server/bare/registry/runtime-context-registry.js +0 -26
- package/dist/server/bare/utils/audio-input.d.ts +0 -10
- package/dist/server/bare/utils/audio-input.js +0 -33
- package/dist/server/bare/utils/loader-adapter.d.ts +0 -7
- package/dist/server/bare/utils/loader-adapter.js +0 -9
- package/dist/server/env.d.ts +0 -22
- package/dist/server/env.js +0 -57
- package/dist/server/plugins/index.d.ts +0 -2
- package/dist/server/plugins/index.js +0 -1
- package/dist/server/plugins/registry.d.ts +0 -9
- package/dist/server/plugins/registry.js +0 -79
- package/dist/server/rpc/delegate-transport.d.ts +0 -19
- package/dist/server/rpc/delegate-transport.js +0 -215
- package/dist/server/rpc/handler-registry.d.ts +0 -3
- package/dist/server/rpc/handler-registry.js +0 -90
- package/dist/server/rpc/handler-utils.d.ts +0 -23
- package/dist/server/rpc/handler-utils.js +0 -128
- package/dist/server/rpc/handlers/get-model-info.d.ts +0 -3
- package/dist/server/rpc/handlers/get-model-info.js +0 -164
- package/dist/server/rpc/handlers/load-model/download-stats.d.ts +0 -6
- package/dist/server/rpc/handlers/load-model/download-stats.js +0 -87
- package/dist/server/rpc/handlers/load-model/handler.js +0 -187
- package/dist/server/rpc/handlers/load-model/registry.d.ts +0 -11
- package/dist/server/rpc/handlers/load-model/registry.js +0 -564
- package/dist/server/rpc/handlers/load-model/types.d.ts +0 -29
- package/dist/server/rpc/handlers/load-model/types.js +0 -1
- package/dist/server/rpc/handlers/ocr-stream.d.ts +0 -3
- package/dist/server/rpc/handlers/ocr-stream.js +0 -4
- package/dist/server/rpc/handlers/ping.d.ts +0 -3
- package/dist/server/rpc/handlers/ping.js +0 -3
- package/dist/server/rpc/handlers/plugin-dispatch.d.ts +0 -15
- package/dist/server/rpc/handlers/plugin-dispatch.js +0 -59
- package/dist/server/rpc/handlers/plugin-invoke.d.ts +0 -4
- package/dist/server/rpc/handlers/plugin-invoke.js +0 -92
- package/dist/server/rpc/handlers/registry.d.ts +0 -5
- package/dist/server/rpc/handlers/registry.js +0 -157
- package/dist/server/rpc/handlers/unload-model-delegated.d.ts +0 -3
- package/dist/server/rpc/handlers/unload-model-delegated.js +0 -32
- package/dist/server/rpc/profiling/context.d.ts +0 -18
- package/dist/server/rpc/profiling/context.js +0 -38
- package/dist/server/rpc/profiling/delegation-profiler.d.ts +0 -32
- package/dist/server/rpc/profiling/delegation-profiler.js +0 -154
- package/dist/server/rpc/profiling/index.d.ts +0 -5
- package/dist/server/rpc/profiling/index.js +0 -4
- package/dist/server/rpc/profiling/operation-metrics.d.ts +0 -25
- package/dist/server/rpc/profiling/operation-metrics.js +0 -199
- package/dist/server/rpc/profiling/operation-wrappers.d.ts +0 -18
- package/dist/server/rpc/profiling/operation-wrappers.js +0 -124
- package/dist/server/rpc/profiling/profiler.d.ts +0 -13
- package/dist/server/rpc/profiling/profiler.js +0 -97
- package/dist/server/utils/archive.d.ts +0 -4
- package/dist/server/utils/archive.js +0 -179
- package/dist/server/utils/checksum.d.ts +0 -4
- package/dist/server/utils/checksum.js +0 -31
- package/dist/server/utils/config-transform.d.ts +0 -3
- package/dist/server/utils/config-transform.js +0 -23
- package/dist/server/utils/formatting.d.ts +0 -19
- package/dist/server/utils/formatting.js +0 -61
- package/dist/server/utils/gguf-tensor-extractor.d.ts +0 -15
- package/dist/server/utils/gguf-tensor-extractor.js +0 -314
- package/dist/server/utils/path-security.d.ts +0 -12
- package/dist/server/utils/path-security.js +0 -25
- package/dist/server/utils/shard-utils.d.ts +0 -48
- package/dist/server/utils/shard-utils.js +0 -125
- package/dist/server/utils/tool-integration.d.ts +0 -13
- package/dist/server/utils/tool-integration.js +0 -43
- package/dist/server/worker-core.d.ts +0 -6
- package/dist/server/worker-core.js +0 -88
- package/dist/utils/errors-base.d.ts +0 -3
- package/dist/utils/errors-base.js +0 -13
- package/dist/utils/errors-client.d.ts +0 -137
- package/dist/utils/errors-client.js +0 -240
- package/dist/utils/errors-server.d.ts +0 -236
- package/dist/utils/errors-server.js +0 -412
- package/dist/utils/global-singleton.d.ts +0 -2
- package/dist/utils/global-singleton.js +0 -10
- package/dist/utils/mcp-adapter.d.ts +0 -12
- package/dist/utils/mcp-adapter.js +0 -103
- package/dist/utils/object.d.ts +0 -2
- package/dist/utils/object.js +0 -3
- package/dist/utils/path-sanitize.d.ts +0 -17
- package/dist/utils/path-sanitize.js +0 -54
- package/dist/utils/tool-helpers.d.ts +0 -25
- package/dist/utils/tool-helpers.js +0 -112
- package/expo/plugins/patches/android-link.mjs +0 -63
- package/expo/plugins/patches/ios-link.mjs +0 -63
- /package/dist/examples/{transcription/whispercpp-filesystem.d.ts → whispercpp-filesystem.d.ts} +0 -0
- /package/dist/examples/{transcription/whispercpp-microphone-record.d.ts → whispercpp-microphone-record.d.ts} +0 -0
- /package/dist/models/{registry → hyperdrive}/index.d.ts +0 -0
- /package/dist/server/bare/{ops → addons}/cancel.d.ts +0 -0
- /package/dist/server/bare/{plugins/onnx-tts/ops → addons/tts/handlers}/text-to-speech.d.ts +0 -0
- /package/dist/server/bare/{ops → addons}/unload-model.d.ts +0 -0
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { loadModel, completion, unloadModel, loggingStream, SDK_LOG_ID, LLAMA_3_2_1B_INST_Q4_0, GTE_LARGE_FP16, VERBOSITY, embed, } from "@qvac/sdk";
|
|
2
|
-
try {
|
|
3
|
-
console.log("🚀 Starting log streaming demo...\n");
|
|
4
|
-
// Note: To configure logging (level and console output), use config file:
|
|
5
|
-
// { "loggerLevel": "debug", "loggerConsoleOutput": false } in qvac.config.json/js/ts
|
|
6
|
-
// Subscribe to SDK server logs in background
|
|
7
|
-
console.log("📡 Starting SDK server log stream...\n");
|
|
8
|
-
(async () => {
|
|
9
|
-
for await (const log of loggingStream({ id: SDK_LOG_ID })) {
|
|
10
|
-
console.log(`[SDK] [${log.level.toUpperCase()}] [${log.namespace}] ${log.message}`);
|
|
11
|
-
}
|
|
12
|
-
})().catch(() => {
|
|
13
|
-
// Stream terminated - normal on shutdown
|
|
14
|
-
});
|
|
15
|
-
// Load models
|
|
16
|
-
console.log("📥 Loading models (watch SDK logs above)...\n");
|
|
17
|
-
const llmModelId = await loadModel({
|
|
18
|
-
modelSrc: LLAMA_3_2_1B_INST_Q4_0,
|
|
19
|
-
modelType: "llm",
|
|
20
|
-
modelConfig: {
|
|
21
|
-
ctx_size: 2048,
|
|
22
|
-
temp: 0.7,
|
|
23
|
-
verbosity: VERBOSITY.ERROR, // Only log errors, remaining logs are captured by loggingStream
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
const embedModelId = await loadModel({
|
|
27
|
-
modelSrc: GTE_LARGE_FP16,
|
|
28
|
-
modelType: "embeddings",
|
|
29
|
-
});
|
|
30
|
-
console.log("📡 Starting model-specific log streams...\n");
|
|
31
|
-
(async () => {
|
|
32
|
-
for await (const log of loggingStream({ id: llmModelId })) {
|
|
33
|
-
const timestamp = new Date(log.timestamp).toISOString();
|
|
34
|
-
console.log(`[LLM] [${timestamp}] [${log.level.toUpperCase()}] ${log.namespace}: ${log.message}`);
|
|
35
|
-
}
|
|
36
|
-
})().catch(() => {
|
|
37
|
-
// Stream terminated - this is normal when model unloads
|
|
38
|
-
});
|
|
39
|
-
(async () => {
|
|
40
|
-
for await (const log of loggingStream({ id: embedModelId })) {
|
|
41
|
-
const timestamp = new Date(log.timestamp).toISOString();
|
|
42
|
-
console.log(`[EMBED] [${timestamp}] [${log.level.toUpperCase()}] ${log.namespace}: ${log.message}`);
|
|
43
|
-
}
|
|
44
|
-
})().catch(() => {
|
|
45
|
-
// Stream terminated - this is normal when model unloads
|
|
46
|
-
});
|
|
47
|
-
const messages = [
|
|
48
|
-
{ role: "user", content: "Count from 1 to 5 and explain each number." },
|
|
49
|
-
];
|
|
50
|
-
const result = completion({
|
|
51
|
-
modelId: llmModelId,
|
|
52
|
-
history: messages,
|
|
53
|
-
stream: true,
|
|
54
|
-
});
|
|
55
|
-
const embedding = await embed({
|
|
56
|
-
modelId: embedModelId,
|
|
57
|
-
text: messages[0]?.content ?? "Hello, world!",
|
|
58
|
-
});
|
|
59
|
-
console.log("📝 Response:\n");
|
|
60
|
-
for await (const token of result.tokenStream) {
|
|
61
|
-
process.stdout.write(token);
|
|
62
|
-
}
|
|
63
|
-
console.log("Embedding (first 20 elements)", embedding.slice(0, 20));
|
|
64
|
-
console.log("Embeddings length", embedding.length);
|
|
65
|
-
console.log("\n💡 Notice three log streams running:\n" +
|
|
66
|
-
" - [SDK] = SDK server operations\n" +
|
|
67
|
-
" - [LLM] = LLM model inference logs\n" +
|
|
68
|
-
" - [EMBED] = Embedding model logs\n");
|
|
69
|
-
await unloadModel({ modelId: llmModelId, clearStorage: false });
|
|
70
|
-
await unloadModel({ modelId: embedModelId, clearStorage: false });
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
console.error("❌ Error:", error);
|
|
74
|
-
process.exit(1);
|
|
75
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP DuckDuckGo Search Example
|
|
3
|
-
*
|
|
4
|
-
* A web search example using DuckDuckGo - no API key required!
|
|
5
|
-
* The server provides tools to search the web and get answers.
|
|
6
|
-
*
|
|
7
|
-
* Prerequisites:
|
|
8
|
-
* - Install MCP SDK: bun add @modelcontextprotocol/sdk
|
|
9
|
-
*
|
|
10
|
-
* Run with: bun run examples/mcp-websearch.ts
|
|
11
|
-
*/
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=mcp-websearch.d.ts.map
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP DuckDuckGo Search Example
|
|
3
|
-
*
|
|
4
|
-
* A web search example using DuckDuckGo - no API key required!
|
|
5
|
-
* The server provides tools to search the web and get answers.
|
|
6
|
-
*
|
|
7
|
-
* Prerequisites:
|
|
8
|
-
* - Install MCP SDK: bun add @modelcontextprotocol/sdk
|
|
9
|
-
*
|
|
10
|
-
* Run with: bun run examples/mcp-websearch.ts
|
|
11
|
-
*/
|
|
12
|
-
import { completion, loadModel, unloadModel, QWEN3_1_7B_INST_Q4, } from "../index.js";
|
|
13
|
-
// MCP SDK is a user-installed optional dependency
|
|
14
|
-
// Install with: bun add @modelcontextprotocol/sdk
|
|
15
|
-
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
16
|
-
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
17
|
-
function parseSearchResults(mcpResult) {
|
|
18
|
-
try {
|
|
19
|
-
const result = mcpResult;
|
|
20
|
-
// Extract text content from MCP response
|
|
21
|
-
const textContent = result.content?.find((c) => c.type === "text");
|
|
22
|
-
if (!textContent?.text) {
|
|
23
|
-
return JSON.stringify(mcpResult);
|
|
24
|
-
}
|
|
25
|
-
// Parse the JSON array of search results
|
|
26
|
-
const rawResults = JSON.parse(textContent.text);
|
|
27
|
-
// Extract just the useful fields (title, url, snippet)
|
|
28
|
-
const cleanResults = rawResults.slice(0, 5).map((r) => ({
|
|
29
|
-
title: r.title ?? "Unknown",
|
|
30
|
-
url: r.url ?? "",
|
|
31
|
-
snippet: r.snippet ?? "",
|
|
32
|
-
}));
|
|
33
|
-
// Format as concise text for LLM
|
|
34
|
-
return cleanResults
|
|
35
|
-
.map((r, i) => `[${i + 1}] ${r.title}\n URL: ${r.url}\n ${r.snippet}`)
|
|
36
|
-
.join("\n\n");
|
|
37
|
-
}
|
|
38
|
-
catch {
|
|
39
|
-
// If parsing fails, return a truncated version
|
|
40
|
-
const str = typeof mcpResult === "string" ? mcpResult : JSON.stringify(mcpResult);
|
|
41
|
-
return str.slice(0, 2000);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
let mcpClient = null;
|
|
45
|
-
try {
|
|
46
|
-
console.log("🦆 MCP DuckDuckGo Search Example\n");
|
|
47
|
-
// ============================================================
|
|
48
|
-
// STEP 1: Connect to DuckDuckGo MCP server
|
|
49
|
-
// ============================================================
|
|
50
|
-
console.log("1️⃣ Starting DuckDuckGo MCP server...");
|
|
51
|
-
mcpClient = new Client({
|
|
52
|
-
name: "qvac-ddg-example",
|
|
53
|
-
version: "1.0.0",
|
|
54
|
-
});
|
|
55
|
-
const transport = new StdioClientTransport({
|
|
56
|
-
command: "npx",
|
|
57
|
-
args: ["-y", "@oevortex/ddg_search"],
|
|
58
|
-
});
|
|
59
|
-
await mcpClient.connect(transport);
|
|
60
|
-
console.log(" ✓ MCP server connected\n");
|
|
61
|
-
// ============================================================
|
|
62
|
-
// STEP 2: Load model
|
|
63
|
-
// ============================================================
|
|
64
|
-
console.log("2️⃣ Loading model...");
|
|
65
|
-
const modelId = await loadModel({
|
|
66
|
-
modelSrc: QWEN3_1_7B_INST_Q4,
|
|
67
|
-
modelType: "llm",
|
|
68
|
-
modelConfig: {
|
|
69
|
-
ctx_size: 4096,
|
|
70
|
-
tools: true,
|
|
71
|
-
},
|
|
72
|
-
onProgress: (progress) => process.stdout.write(`\r Loading: ${progress.percentage.toFixed(1)}%`),
|
|
73
|
-
});
|
|
74
|
-
console.log(`\n ✓ Model loaded\n`);
|
|
75
|
-
// ============================================================
|
|
76
|
-
// STEP 3: Ask AI to search the web (with MCP client)
|
|
77
|
-
// ============================================================
|
|
78
|
-
const history = [
|
|
79
|
-
{
|
|
80
|
-
role: "system",
|
|
81
|
-
content: `You are a helpful assistant with access to web search.
|
|
82
|
-
Use the search tool when you need current information.
|
|
83
|
-
Always cite your sources with the URL.`,
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
role: "user",
|
|
87
|
-
content: "What is the current weather in New York City?",
|
|
88
|
-
},
|
|
89
|
-
];
|
|
90
|
-
console.log("3️⃣ Asking AI to search the web...\n");
|
|
91
|
-
console.log("🤖 AI Response:");
|
|
92
|
-
// Pass MCP client directly to completion - tools are adapted internally!
|
|
93
|
-
const result = completion({
|
|
94
|
-
modelId,
|
|
95
|
-
history,
|
|
96
|
-
stream: true,
|
|
97
|
-
mcp: [{ client: mcpClient, includeResources: false }],
|
|
98
|
-
});
|
|
99
|
-
for await (const token of result.tokenStream) {
|
|
100
|
-
process.stdout.write(token);
|
|
101
|
-
}
|
|
102
|
-
const toolCalls = await result.toolCalls;
|
|
103
|
-
console.log("\n");
|
|
104
|
-
// ============================================================
|
|
105
|
-
// STEP 4: Execute tool calls using call() - automatic MCP routing!
|
|
106
|
-
// ============================================================
|
|
107
|
-
if (toolCalls.length > 0) {
|
|
108
|
-
console.log("4️⃣ Executing search...\n");
|
|
109
|
-
const toolResults = [];
|
|
110
|
-
for (const toolCall of toolCalls) {
|
|
111
|
-
console.log(`🔍 ${toolCall.name}(${JSON.stringify(toolCall.arguments)})`);
|
|
112
|
-
if (!toolCall.invoke) {
|
|
113
|
-
console.log(` ⚠️ No handler found for tool "${toolCall.name}"`);
|
|
114
|
-
continue;
|
|
115
|
-
}
|
|
116
|
-
// Use invoke() - automatically routes to the correct MCP client!
|
|
117
|
-
const mcpResult = await toolCall.invoke();
|
|
118
|
-
// Parse and clean up the search results
|
|
119
|
-
const cleanResult = parseSearchResults(mcpResult);
|
|
120
|
-
console.log(` ✓ Got search results:`);
|
|
121
|
-
console.log(cleanResult
|
|
122
|
-
.split("\n")
|
|
123
|
-
.map((l) => ` ${l}`)
|
|
124
|
-
.join("\n"));
|
|
125
|
-
console.log();
|
|
126
|
-
toolResults.push({ id: toolCall.id, result: cleanResult });
|
|
127
|
-
}
|
|
128
|
-
// ============================================================
|
|
129
|
-
// STEP 5: Continue with search results
|
|
130
|
-
// ============================================================
|
|
131
|
-
console.log("5️⃣ Getting AI response with search results...\n");
|
|
132
|
-
history.push({
|
|
133
|
-
role: "assistant",
|
|
134
|
-
content: await result.text,
|
|
135
|
-
});
|
|
136
|
-
for (const tr of toolResults) {
|
|
137
|
-
history.push({
|
|
138
|
-
role: "tool",
|
|
139
|
-
content: tr.result,
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
console.log("🤖 Final Response:");
|
|
143
|
-
const finalResult = completion({
|
|
144
|
-
modelId,
|
|
145
|
-
history,
|
|
146
|
-
stream: true,
|
|
147
|
-
mcp: [{ client: mcpClient, includeResources: false }],
|
|
148
|
-
});
|
|
149
|
-
for await (const token of finalResult.tokenStream) {
|
|
150
|
-
process.stdout.write(token);
|
|
151
|
-
}
|
|
152
|
-
console.log("\n");
|
|
153
|
-
}
|
|
154
|
-
// ============================================================
|
|
155
|
-
// Cleanup
|
|
156
|
-
// ============================================================
|
|
157
|
-
console.log("6️⃣ Cleaning up...");
|
|
158
|
-
await unloadModel({ modelId, clearStorage: false });
|
|
159
|
-
console.log(" ✓ Done\n");
|
|
160
|
-
console.log("🎉 Example completed!");
|
|
161
|
-
process.exit(0);
|
|
162
|
-
}
|
|
163
|
-
catch (error) {
|
|
164
|
-
console.error("❌ Error:", error);
|
|
165
|
-
process.exit(1);
|
|
166
|
-
}
|
|
167
|
-
finally {
|
|
168
|
-
if (mcpClient) {
|
|
169
|
-
try {
|
|
170
|
-
await mcpClient.close();
|
|
171
|
-
}
|
|
172
|
-
catch {
|
|
173
|
-
// Ignore close errors
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { close, loadModel, ocr, OCR_LATIN_RECOGNIZER_1, unloadModel, } from "@qvac/sdk";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { fileURLToPath } from "url";
|
|
4
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
5
|
-
const imagePath = process.argv[2] || path.join(__dirname, "image/basic_test.bmp");
|
|
6
|
-
try {
|
|
7
|
-
console.log("🚀 Loading OCR model...");
|
|
8
|
-
const modelId = await loadModel({
|
|
9
|
-
modelSrc: OCR_LATIN_RECOGNIZER_1,
|
|
10
|
-
modelType: "ocr",
|
|
11
|
-
modelConfig: {
|
|
12
|
-
langList: ["en"],
|
|
13
|
-
useGPU: true,
|
|
14
|
-
timeout: 30000,
|
|
15
|
-
magRatio: 1.5,
|
|
16
|
-
defaultRotationAngles: [90, 180, 270],
|
|
17
|
-
contrastRetry: false,
|
|
18
|
-
lowConfidenceThreshold: 0.5,
|
|
19
|
-
recognizerBatchSize: 1,
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
console.log(`✅ Model loaded successfully! Model ID: ${modelId}`);
|
|
23
|
-
console.log(`\n🔍 Running OCR on: ${imagePath}`);
|
|
24
|
-
const { blocks } = ocr({
|
|
25
|
-
modelId,
|
|
26
|
-
image: imagePath,
|
|
27
|
-
options: {
|
|
28
|
-
paragraph: false,
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
const result = await blocks;
|
|
32
|
-
console.log("\n📝 OCR Results:");
|
|
33
|
-
console.log("================================");
|
|
34
|
-
for (const block of result) {
|
|
35
|
-
console.log(`\n📄 Text: ${block.text}`);
|
|
36
|
-
if (block.bbox) {
|
|
37
|
-
console.log(` 📍 BBox: [${block.bbox.join(", ")}]`);
|
|
38
|
-
}
|
|
39
|
-
if (block.confidence !== undefined) {
|
|
40
|
-
console.log(` ✓ Confidence: ${block.confidence}`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
console.log("\n================================");
|
|
44
|
-
console.log("\n🔄 Unloading model...");
|
|
45
|
-
await unloadModel({ modelId, clearStorage: false });
|
|
46
|
-
console.log("✅ Model unloaded successfully.");
|
|
47
|
-
process.exit(0);
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
console.error("❌ Error during OCR processing:", error);
|
|
51
|
-
await close();
|
|
52
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin Selection Example
|
|
3
|
-
*
|
|
4
|
-
* Config: examples/config/plugins/plugins.config.json
|
|
5
|
-
* Selected: llamacpp-completion (LLM), nmtcpp-translation (NMT)
|
|
6
|
-
*
|
|
7
|
-
* Demonstrates:
|
|
8
|
-
* 1. LLM completion -> works (plugin selected)
|
|
9
|
-
* 2. NMT translation -> works (plugin selected)
|
|
10
|
-
* 3. Embeddings -> fails (plugin not selected)
|
|
11
|
-
*
|
|
12
|
-
*/
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=plugins.d.ts.map
|
package/dist/examples/plugins.js
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin Selection Example
|
|
3
|
-
*
|
|
4
|
-
* Config: examples/config/plugins/plugins.config.json
|
|
5
|
-
* Selected: llamacpp-completion (LLM), nmtcpp-translation (NMT)
|
|
6
|
-
*
|
|
7
|
-
* Demonstrates:
|
|
8
|
-
* 1. LLM completion -> works (plugin selected)
|
|
9
|
-
* 2. NMT translation -> works (plugin selected)
|
|
10
|
-
* 3. Embeddings -> fails (plugin not selected)
|
|
11
|
-
*
|
|
12
|
-
*/
|
|
13
|
-
import { execSync } from "child_process";
|
|
14
|
-
import { existsSync, rmSync } from "fs";
|
|
15
|
-
import path from "path";
|
|
16
|
-
const configDir = import.meta.dirname ?? process.cwd();
|
|
17
|
-
const configPath = `${configDir}/config/plugins/plugins.config.json`;
|
|
18
|
-
const projectRoot = path.resolve(configDir, "..");
|
|
19
|
-
const qvacOutputDir = path.join(projectRoot, "qvac");
|
|
20
|
-
// ─── Generate the worker bundle from the plugins config ─────────────────────
|
|
21
|
-
console.log(`🔍 Config: ${configPath}`);
|
|
22
|
-
console.log(`⚠️ This example will generate a worker bundle in ${qvacOutputDir} and delete it on exit.`);
|
|
23
|
-
console.log(" If you have an existing qvac/ folder with bundled files, they will be overwritten and removed.\n");
|
|
24
|
-
console.log("🔨 Generating worker bundle from plugins config...\n");
|
|
25
|
-
try {
|
|
26
|
-
execSync(`npx @qvac/cli bundle sdk --config "${configPath}" --quiet`, {
|
|
27
|
-
cwd: projectRoot,
|
|
28
|
-
stdio: "inherit",
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
console.error("❌ Failed to generate worker bundle. Ensure @qvac/cli is installed:");
|
|
33
|
-
console.error(" npm install -D @qvac/cli");
|
|
34
|
-
console.error("❌ Error:", error);
|
|
35
|
-
process.exit(1);
|
|
36
|
-
}
|
|
37
|
-
console.log("");
|
|
38
|
-
// Cleanup generated qvac/ folder on exit
|
|
39
|
-
function cleanup() {
|
|
40
|
-
if (existsSync(qvacOutputDir)) {
|
|
41
|
-
rmSync(qvacOutputDir, { recursive: true, force: true });
|
|
42
|
-
console.log(`\n🧹 Cleaned up ${qvacOutputDir}`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
process.on("exit", cleanup);
|
|
46
|
-
// Point config before importing the SDK.
|
|
47
|
-
// In a real app, place qvac.config.json (or .js/.ts) in your project root (auto-discovered).
|
|
48
|
-
process.env["QVAC_CONFIG_PATH"] = configPath;
|
|
49
|
-
const { completion, translate, embed, loadModel, unloadModel, LLAMA_3_2_1B_INST_Q4_0, MARIAN_OPUS_EN_IT_Q4_0, GTE_LARGE_FP16, } = await import("@qvac/sdk");
|
|
50
|
-
console.log("1. LLM Completion (llamacpp-completion plugin)");
|
|
51
|
-
try {
|
|
52
|
-
const llmModelId = await loadModel({
|
|
53
|
-
modelSrc: LLAMA_3_2_1B_INST_Q4_0,
|
|
54
|
-
modelType: "llm",
|
|
55
|
-
modelConfig: { ctx_size: 2048 },
|
|
56
|
-
onProgress: (p) => console.log(` Loading LLM: ${p.percentage.toFixed(1)}%`),
|
|
57
|
-
});
|
|
58
|
-
console.log(` Model loaded: ${llmModelId}`);
|
|
59
|
-
const question = "What is 2 + 2? Answer in one word.";
|
|
60
|
-
console.log(` Question: ${question}`);
|
|
61
|
-
const result = completion({
|
|
62
|
-
modelId: llmModelId,
|
|
63
|
-
history: [{ role: "user", content: question }],
|
|
64
|
-
stream: true,
|
|
65
|
-
});
|
|
66
|
-
process.stdout.write(" Response: ");
|
|
67
|
-
for await (const token of result.tokenStream) {
|
|
68
|
-
process.stdout.write(token);
|
|
69
|
-
}
|
|
70
|
-
console.log("\n");
|
|
71
|
-
await unloadModel({ modelId: llmModelId });
|
|
72
|
-
console.log(" ✅ LLM unloaded\n");
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
console.error(" ❌ LLM failed:", error);
|
|
76
|
-
process.exit(1);
|
|
77
|
-
}
|
|
78
|
-
console.log("2. Translation (nmtcpp-translation plugin)");
|
|
79
|
-
try {
|
|
80
|
-
const nmtModelId = await loadModel({
|
|
81
|
-
modelSrc: MARIAN_OPUS_EN_IT_Q4_0,
|
|
82
|
-
modelType: "nmt",
|
|
83
|
-
modelConfig: {
|
|
84
|
-
engine: "Opus",
|
|
85
|
-
from: "en",
|
|
86
|
-
to: "it",
|
|
87
|
-
},
|
|
88
|
-
onProgress: (p) => console.log(` Loading NMT: ${p.percentage.toFixed(1)}%`),
|
|
89
|
-
});
|
|
90
|
-
console.log(` Model loaded: ${nmtModelId}`);
|
|
91
|
-
const text = "Hello, how are you?";
|
|
92
|
-
const result = translate({
|
|
93
|
-
modelId: nmtModelId,
|
|
94
|
-
text,
|
|
95
|
-
modelType: "nmt",
|
|
96
|
-
stream: false,
|
|
97
|
-
});
|
|
98
|
-
const translated = await result.text;
|
|
99
|
-
console.log(` "${text}" -> "${translated}"\n`);
|
|
100
|
-
await unloadModel({ modelId: nmtModelId });
|
|
101
|
-
console.log(" ✅ NMT unloaded\n");
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
console.error(" ❌ Translation failed:", error);
|
|
105
|
-
process.exit(1);
|
|
106
|
-
}
|
|
107
|
-
console.log("3. Embeddings (llamacpp-embedding plugin NOT in config)");
|
|
108
|
-
console.log(" Attempting to load an embeddings model...\n");
|
|
109
|
-
try {
|
|
110
|
-
const embedModelId = await loadModel({
|
|
111
|
-
modelSrc: GTE_LARGE_FP16,
|
|
112
|
-
modelType: "embeddings",
|
|
113
|
-
});
|
|
114
|
-
await embed({ modelId: embedModelId, text: "test" });
|
|
115
|
-
console.error(" ❌ Unexpected: embed succeeded without the plugin!");
|
|
116
|
-
process.exit(1);
|
|
117
|
-
}
|
|
118
|
-
catch (error) {
|
|
119
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
120
|
-
if (message.includes("Plugin not found")) {
|
|
121
|
-
console.log(" ✅ Expected PLUGIN_NOT_FOUND error:");
|
|
122
|
-
console.log(` ${message}\n`);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
console.error(" ❌ Unexpected error:", error);
|
|
126
|
-
process.exit(1);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
console.log("Done! Only the selected plugins were available.");
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { completion, loadModel, unloadModel, LLAMA_3_2_1B_INST_Q4_0, profiler, } from "@qvac/sdk";
|
|
2
|
-
try {
|
|
3
|
-
// Enable profiling globally
|
|
4
|
-
profiler.enable({
|
|
5
|
-
mode: "verbose",
|
|
6
|
-
includeServerBreakdown: true,
|
|
7
|
-
});
|
|
8
|
-
console.log("Profiler enabled:", profiler.isEnabled());
|
|
9
|
-
const modelId = await loadModel({
|
|
10
|
-
modelSrc: LLAMA_3_2_1B_INST_Q4_0,
|
|
11
|
-
modelType: "llm",
|
|
12
|
-
onProgress: (p) => console.log(` ${p.percentage.toFixed(1)}%`),
|
|
13
|
-
});
|
|
14
|
-
console.log("Model loaded:", modelId);
|
|
15
|
-
console.log("\n→ Running completion...");
|
|
16
|
-
const result = completion({
|
|
17
|
-
modelId,
|
|
18
|
-
history: [{ role: "user", content: "Say hello in one sentence." }],
|
|
19
|
-
stream: true,
|
|
20
|
-
});
|
|
21
|
-
for await (const token of result.tokenStream) {
|
|
22
|
-
process.stdout.write(token);
|
|
23
|
-
}
|
|
24
|
-
console.log();
|
|
25
|
-
await unloadModel({ modelId });
|
|
26
|
-
// Export profiling data
|
|
27
|
-
console.log("\n=== Profiler Summary ===");
|
|
28
|
-
console.log(profiler.exportSummary());
|
|
29
|
-
console.log("\n=== Profiler Table ===");
|
|
30
|
-
console.log(profiler.exportTable());
|
|
31
|
-
const json = profiler.exportJSON();
|
|
32
|
-
console.log("\n=== Load Model Metrics ===");
|
|
33
|
-
// Filter for operation-level event (kind: "handler"), not RPC phase events
|
|
34
|
-
const loadModelEvent = json.recentEvents?.find((e) => e.op === "loadModel" && e.kind === "handler");
|
|
35
|
-
if (loadModelEvent) {
|
|
36
|
-
const tags = loadModelEvent.tags ?? {};
|
|
37
|
-
const gauges = loadModelEvent.gauges ?? {};
|
|
38
|
-
console.log(" sourceType:", tags["sourceType"] ?? "(not set)");
|
|
39
|
-
console.log(" cacheHit:", tags["cacheHit"] ?? "(not set)");
|
|
40
|
-
console.log(" totalLoadTime:", gauges["totalLoadTime"], "ms");
|
|
41
|
-
console.log(" modelInitializationTime:", gauges["modelInitializationTime"], "ms");
|
|
42
|
-
if (tags["cacheHit"] !== "true") {
|
|
43
|
-
console.log(" downloadTime:", gauges["downloadTime"] ?? "(cached)", "ms");
|
|
44
|
-
console.log(" totalBytesDownloaded:", gauges["totalBytesDownloaded"] ?? "(cached)");
|
|
45
|
-
console.log(" downloadSpeedBps:", gauges["downloadSpeedBps"] ?? "(cached)");
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
console.log(" (download metrics omitted - cache hit)");
|
|
49
|
-
}
|
|
50
|
-
if (gauges["checksumValidationTime"] !== undefined) {
|
|
51
|
-
console.log(" checksumValidationTime:", gauges["checksumValidationTime"], "ms");
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
console.log(" (no loadModel handler event captured)");
|
|
56
|
-
// Debug: show what ops are available
|
|
57
|
-
const ops = [...new Set(json.recentEvents?.map((e) => `${e.op}:${e.kind}`) ?? [])];
|
|
58
|
-
console.log(" Available ops:", ops.join(", "));
|
|
59
|
-
}
|
|
60
|
-
console.log("\n=== Profiler JSON (structure) ===");
|
|
61
|
-
console.log(" aggregates:", Object.keys(json.aggregates).length, "metrics");
|
|
62
|
-
console.log(" recentEvents:", json.recentEvents?.length ?? 0, "events");
|
|
63
|
-
console.log(" config:", json.config);
|
|
64
|
-
// Disable profiling
|
|
65
|
-
profiler.disable();
|
|
66
|
-
console.log("\nProfiler disabled:", !profiler.isEnabled());
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
console.error("Error:", error);
|
|
70
|
-
process.exit(1);
|
|
71
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { embed, loadModel, unloadModel, GTE_LARGE_FP16, profiler, } from "@qvac/sdk";
|
|
2
|
-
try {
|
|
3
|
-
profiler.disable();
|
|
4
|
-
console.log("Profiler globally enabled:", profiler.isEnabled());
|
|
5
|
-
const modelId = await loadModel({
|
|
6
|
-
modelSrc: GTE_LARGE_FP16,
|
|
7
|
-
modelType: "embeddings",
|
|
8
|
-
onProgress: (p) => console.log(` ${p.percentage.toFixed(1)}%`),
|
|
9
|
-
});
|
|
10
|
-
console.log("Model loaded:", modelId);
|
|
11
|
-
console.log("\n=== Embed with per-call profiling ===");
|
|
12
|
-
const embedding1 = await embed({ modelId, text: "Profile this specific call" }, { profiling: { enabled: true, includeServerBreakdown: true } });
|
|
13
|
-
console.log("Embedding dimensions:", embedding1.length);
|
|
14
|
-
console.log("\n=== Embed without profiling ===");
|
|
15
|
-
const embedding2 = await embed({
|
|
16
|
-
modelId,
|
|
17
|
-
text: "This call is not profiled",
|
|
18
|
-
});
|
|
19
|
-
console.log("Embedding dimensions:", embedding2.length);
|
|
20
|
-
console.log("\n=== Embed with profiling explicitly disabled ===");
|
|
21
|
-
const embedding3 = await embed({ modelId, text: "Profiling explicitly disabled for this call" }, { profiling: { enabled: false } });
|
|
22
|
-
console.log("Embedding dimensions:", embedding3.length);
|
|
23
|
-
await unloadModel({ modelId });
|
|
24
|
-
console.log("\n=== Profiler Summary (per-call data only) ===");
|
|
25
|
-
console.log(profiler.exportSummary());
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
console.error("Error:", error);
|
|
29
|
-
process.exit(1);
|
|
30
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { loadModel, LLAMA_3_2_1B_INST_Q4_0, completion, unloadModel, } from "@qvac/sdk";
|
|
2
|
-
try {
|
|
3
|
-
// Load a model into memory
|
|
4
|
-
const modelId = await loadModel({
|
|
5
|
-
modelSrc: LLAMA_3_2_1B_INST_Q4_0,
|
|
6
|
-
modelType: "llm",
|
|
7
|
-
onProgress: (progress) => {
|
|
8
|
-
console.log(progress);
|
|
9
|
-
},
|
|
10
|
-
});
|
|
11
|
-
// You can use the loaded model multiple times
|
|
12
|
-
const history = [
|
|
13
|
-
{
|
|
14
|
-
role: "user",
|
|
15
|
-
content: "Explain quantum computing in one sentence",
|
|
16
|
-
},
|
|
17
|
-
];
|
|
18
|
-
const result = completion({ modelId, history, stream: true });
|
|
19
|
-
for await (const token of result.tokenStream) {
|
|
20
|
-
process.stdout.write(token);
|
|
21
|
-
}
|
|
22
|
-
// Unload model to free up system resources
|
|
23
|
-
await unloadModel({ modelId });
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
console.error("❌ Error:", error);
|
|
27
|
-
process.exit(1);
|
|
28
|
-
}
|