@qvac/sdk 0.8.1 → 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 -22
- package/dist/client/api/cancel.js +6 -25
- 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 +2 -6
- package/dist/client/api/index.js +2 -6
- 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 +11 -0
- package/dist/client/api/ping.js +18 -0
- 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.d.ts +2 -0
- package/dist/examples/embed-hyperdrive.js +19 -0
- 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.d.ts +2 -0
- package/dist/examples/{llamacpp-p2p.js → 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/seed-hyperdrive.d.ts +2 -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 -18
- package/dist/schemas/cancel.js +0 -7
- package/dist/schemas/common.d.ts +166 -3012
- package/dist/schemas/common.js +4 -27
- package/dist/schemas/completion-stream.d.ts +60 -31
- package/dist/schemas/completion-stream.js +44 -20
- package/dist/schemas/delegate.d.ts +0 -9
- package/dist/schemas/delegate.js +2 -6
- 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 +2 -20
- package/dist/schemas/index.js +2 -20
- 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 -14471
- 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/ping.d.ts +11 -0
- package/dist/schemas/ping.js +8 -0
- 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 +45 -187
- 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 -16
- package/dist/server/bare/registry/model-registry.js +13 -34
- 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 +8 -20
- 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 +20 -60
- 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 -148
- package/NOTICE +0 -695
- 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/heartbeat.d.ts +0 -30
- package/dist/client/api/heartbeat.js +0 -38
- 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/embed-p2p.d.ts +0 -2
- package/dist/examples/embed-p2p.js +0 -54
- package/dist/examples/llamacpp-p2p.d.ts +0 -2
- 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/seed-p2p.d.ts +0 -2
- 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/heartbeat.d.ts +0 -17
- package/dist/schemas/heartbeat.js +0 -10
- 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 -201
- 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 -236
- package/dist/server/rpc/delegate-utils.d.ts +0 -2
- package/dist/server/rpc/delegate-utils.js +0 -5
- package/dist/server/rpc/handler-registry.d.ts +0 -3
- package/dist/server/rpc/handler-registry.js +0 -113
- package/dist/server/rpc/handler-utils.d.ts +0 -23
- package/dist/server/rpc/handler-utils.js +0 -170
- package/dist/server/rpc/handlers/cancel-delegated.d.ts +0 -4
- package/dist/server/rpc/handlers/cancel-delegated.js +0 -71
- 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/heartbeat-delegated.d.ts +0 -4
- package/dist/server/rpc/handlers/heartbeat-delegated.js +0 -32
- package/dist/server/rpc/handlers/heartbeat.d.ts +0 -3
- package/dist/server/rpc/handlers/heartbeat.js +0 -3
- 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 -548
- 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/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/{seed-p2p.js → seed-hyperdrive.js} +0 -0
- /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,145 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Config loader for Node.js runtime
|
|
3
|
-
* Uses Node.js fs/promises and path modules
|
|
4
|
-
*/
|
|
5
|
-
import { promises as fs } from "fs";
|
|
6
|
-
import path from "path";
|
|
7
|
-
import { pathToFileURL } from "url";
|
|
8
|
-
import { validateConfig, parseJsonConfig, } from "./config-utils.js";
|
|
9
|
-
import { ConfigFileParseFailedError } from "../../utils/errors-client.js";
|
|
10
|
-
import { getClientLogger } from "../../logging/index.js";
|
|
11
|
-
const logger = getClientLogger();
|
|
12
|
-
async function findProjectRoot() {
|
|
13
|
-
try {
|
|
14
|
-
let currentDir = path.resolve(process.cwd());
|
|
15
|
-
const root = path.parse(currentDir).root;
|
|
16
|
-
while (currentDir !== root) {
|
|
17
|
-
try {
|
|
18
|
-
const packageJsonPath = path.join(currentDir, "package.json");
|
|
19
|
-
await fs.access(packageJsonPath);
|
|
20
|
-
return currentDir;
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
const parentDir = path.dirname(currentDir);
|
|
24
|
-
if (parentDir === currentDir) {
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
currentDir = parentDir;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
logger.debug("Project root search failed, using cwd:", { error });
|
|
33
|
-
}
|
|
34
|
-
return process.cwd();
|
|
35
|
-
}
|
|
36
|
-
async function fileExists(filePath) {
|
|
37
|
-
try {
|
|
38
|
-
await fs.access(filePath);
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
async function readFile(filePath) {
|
|
46
|
-
return await fs.readFile(filePath, { encoding: "utf-8" });
|
|
47
|
-
}
|
|
48
|
-
async function loadJsonConfig(filePath) {
|
|
49
|
-
const content = await readFile(filePath);
|
|
50
|
-
const parsed = parseJsonConfig(content, filePath);
|
|
51
|
-
return validateConfig(parsed);
|
|
52
|
-
}
|
|
53
|
-
async function loadJsConfig(filePath) {
|
|
54
|
-
try {
|
|
55
|
-
let importPath = filePath;
|
|
56
|
-
// Windows requires file:// URLs for dynamic imports
|
|
57
|
-
if (process.platform === "win32" && !process.env["JEST_WORKER_ID"]) {
|
|
58
|
-
importPath = pathToFileURL(filePath).toString();
|
|
59
|
-
}
|
|
60
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
61
|
-
const configModule = await import(importPath);
|
|
62
|
-
return validateConfig(configModule.default || configModule);
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
throw new ConfigFileParseFailedError(filePath, error instanceof Error ? error.message : String(error), error);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
async function findConfigFile(searchDir) {
|
|
69
|
-
const configFiles = [
|
|
70
|
-
{ name: "qvac.config.ts", type: "ts" },
|
|
71
|
-
{ name: "qvac.config.js", type: "js" },
|
|
72
|
-
{ name: "qvac.config.json", type: "json" },
|
|
73
|
-
];
|
|
74
|
-
for (const { name, type } of configFiles) {
|
|
75
|
-
const filePath = path.resolve(searchDir, name);
|
|
76
|
-
if (await fileExists(filePath)) {
|
|
77
|
-
return { path: filePath, type };
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return undefined;
|
|
81
|
-
}
|
|
82
|
-
function getResourcesPath() {
|
|
83
|
-
const { resourcesPath } = process;
|
|
84
|
-
return typeof resourcesPath === "string" ? resourcesPath : undefined;
|
|
85
|
-
}
|
|
86
|
-
async function findPackagedConfig() {
|
|
87
|
-
const resourcesPath = getResourcesPath();
|
|
88
|
-
if (!resourcesPath)
|
|
89
|
-
return undefined;
|
|
90
|
-
const candidates = [
|
|
91
|
-
path.join(resourcesPath, "app", "qvac.config.json"),
|
|
92
|
-
path.join(resourcesPath, "app.asar.unpacked", "qvac.config.json"),
|
|
93
|
-
path.join(resourcesPath, "qvac.config.json"),
|
|
94
|
-
];
|
|
95
|
-
for (const candidate of candidates) {
|
|
96
|
-
if (await fileExists(candidate)) {
|
|
97
|
-
return candidate;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return undefined;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Resolution order for Node.js:
|
|
104
|
-
* 1. QVAC_CONFIG_PATH environment variable
|
|
105
|
-
* 2. Packaged Electron app (via process.resourcesPath)
|
|
106
|
-
* 3. Config file in project root (qvac.config.ts, qvac.config.js, qvac.config.json)
|
|
107
|
-
* 4. SDK defaults
|
|
108
|
-
*/
|
|
109
|
-
export async function resolveConfig() {
|
|
110
|
-
const configPath = process.env["QVAC_CONFIG_PATH"];
|
|
111
|
-
if (configPath) {
|
|
112
|
-
const normalizedPath = path.resolve(configPath);
|
|
113
|
-
if (await fileExists(normalizedPath)) {
|
|
114
|
-
const ext = normalizedPath.endsWith(".json")
|
|
115
|
-
? "json"
|
|
116
|
-
: normalizedPath.endsWith(".ts")
|
|
117
|
-
? "ts"
|
|
118
|
-
: "js";
|
|
119
|
-
const config = ext === "json"
|
|
120
|
-
? await loadJsonConfig(normalizedPath)
|
|
121
|
-
: await loadJsConfig(normalizedPath);
|
|
122
|
-
logger.info(`✅ Loaded config from: ${normalizedPath}`);
|
|
123
|
-
return config;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
const packagedConfig = await findPackagedConfig();
|
|
127
|
-
if (packagedConfig) {
|
|
128
|
-
const config = await loadJsonConfig(packagedConfig);
|
|
129
|
-
logger.info(`✅ Loaded config from packaged app: ${packagedConfig}`);
|
|
130
|
-
return config;
|
|
131
|
-
}
|
|
132
|
-
const projectRoot = await findProjectRoot();
|
|
133
|
-
if (projectRoot) {
|
|
134
|
-
const configFile = await findConfigFile(projectRoot);
|
|
135
|
-
if (configFile) {
|
|
136
|
-
const config = configFile.type === "json"
|
|
137
|
-
? await loadJsonConfig(configFile.path)
|
|
138
|
-
: await loadJsConfig(configFile.path);
|
|
139
|
-
logger.info(`✅ Loaded config from: ${configFile.path}`);
|
|
140
|
-
return config;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
logger.info("ℹ️ No config file found, using SDK defaults");
|
|
144
|
-
return undefined;
|
|
145
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { QvacConfig, RuntimeContext } from "../schemas/index";
|
|
2
|
-
type ResolveConfigFn = () => Promise<QvacConfig | undefined>;
|
|
3
|
-
interface RPCClient {
|
|
4
|
-
request(command: number): any;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Initializes SDK configuration and runtime context.
|
|
8
|
-
* Config is loaded once and becomes immutable on the worker side.
|
|
9
|
-
*
|
|
10
|
-
* @param rpc - The RPC client instance
|
|
11
|
-
* @param resolveConfig - Runtime-specific config resolver function
|
|
12
|
-
* @param runtimeContext - Optional runtime context (platform, device info)
|
|
13
|
-
*/
|
|
14
|
-
export declare function initializeConfig(rpc: RPCClient, resolveConfig: ResolveConfigFn, runtimeContext?: RuntimeContext): Promise<void>;
|
|
15
|
-
/**
|
|
16
|
-
* Legacy function for backward compatibility
|
|
17
|
-
* @deprecated Use initializeConfig instead
|
|
18
|
-
*/
|
|
19
|
-
export declare function replayConfigIfCached(): void;
|
|
20
|
-
export {};
|
|
21
|
-
//# sourceMappingURL=init-hooks.d.ts.map
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { getClientLogger, setGlobalLogLevel, setGlobalConsoleOutput, } from "../logging/index.js";
|
|
2
|
-
import { SetConfigFailedError } from "../utils/errors-client.js";
|
|
3
|
-
const logger = getClientLogger();
|
|
4
|
-
function applyClientLoggerSettings(config) {
|
|
5
|
-
if (config.loggerLevel !== undefined) {
|
|
6
|
-
setGlobalLogLevel(config.loggerLevel);
|
|
7
|
-
}
|
|
8
|
-
if (config.loggerConsoleOutput !== undefined) {
|
|
9
|
-
setGlobalConsoleOutput(config.loggerConsoleOutput);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
async function sendInitMessage(rpc, config, runtimeContext) {
|
|
13
|
-
const initMessage = {
|
|
14
|
-
type: "__init_config",
|
|
15
|
-
config,
|
|
16
|
-
runtimeContext,
|
|
17
|
-
};
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
19
|
-
const req = rpc.request(1);
|
|
20
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
21
|
-
req.send(JSON.stringify(initMessage), "utf8");
|
|
22
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
23
|
-
const response = await req.reply("utf8");
|
|
24
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument
|
|
25
|
-
const parsed = JSON.parse(response.toString());
|
|
26
|
-
if (!parsed.success) {
|
|
27
|
-
throw new SetConfigFailedError(parsed.error ?? "Unknown error");
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Initializes SDK configuration and runtime context.
|
|
32
|
-
* Config is loaded once and becomes immutable on the worker side.
|
|
33
|
-
*
|
|
34
|
-
* @param rpc - The RPC client instance
|
|
35
|
-
* @param resolveConfig - Runtime-specific config resolver function
|
|
36
|
-
* @param runtimeContext - Optional runtime context (platform, device info)
|
|
37
|
-
*/
|
|
38
|
-
export async function initializeConfig(rpc, resolveConfig, runtimeContext) {
|
|
39
|
-
const config = await resolveConfig();
|
|
40
|
-
// Nothing to initialize
|
|
41
|
-
if (!config && !runtimeContext) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
// Apply client-side logger settings
|
|
45
|
-
if (config) {
|
|
46
|
-
applyClientLoggerSettings(config);
|
|
47
|
-
logger.info("📦 Initializing SDK config");
|
|
48
|
-
}
|
|
49
|
-
if (runtimeContext) {
|
|
50
|
-
logger.info("📱 Runtime context:", runtimeContext);
|
|
51
|
-
}
|
|
52
|
-
try {
|
|
53
|
-
await sendInitMessage(rpc, config, runtimeContext);
|
|
54
|
-
logger.info("✅ Initialization complete");
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
logger.error("❌ Initialization failed:", error);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Legacy function for backward compatibility
|
|
62
|
-
* @deprecated Use initializeConfig instead
|
|
63
|
-
*/
|
|
64
|
-
export function replayConfigIfCached() {
|
|
65
|
-
logger.warn("⚠️ replayConfigIfCached is deprecated and has no effect. Config is now loaded from file during initialization.");
|
|
66
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { getClientLogger } from "../../logging/index.js";
|
|
2
|
-
const logger = getClientLogger();
|
|
3
|
-
export async function getDeviceInfo() {
|
|
4
|
-
try {
|
|
5
|
-
const expoModulesCore = await import("expo-modules-core");
|
|
6
|
-
// this looks odd, but is necessary to ensure that import can be used safely.
|
|
7
|
-
// It will crash the app if the module is not installed, but the node dependency is present.
|
|
8
|
-
const nativeDeviceModule = expoModulesCore.requireOptionalNativeModule("ExpoDevice");
|
|
9
|
-
if (nativeDeviceModule) {
|
|
10
|
-
const Device = await import("expo-device");
|
|
11
|
-
logger.info(`Device: ${Device.modelName} ${Device.brand} ${Device.osName}`);
|
|
12
|
-
const osName = Device?.osName?.toLowerCase();
|
|
13
|
-
return {
|
|
14
|
-
platform: osName?.includes("ios")
|
|
15
|
-
? "ios"
|
|
16
|
-
: osName?.includes("android")
|
|
17
|
-
? "android"
|
|
18
|
-
: undefined,
|
|
19
|
-
deviceModel: Device.modelName ?? undefined,
|
|
20
|
-
deviceBrand: Device.brand ?? undefined,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
catch {
|
|
25
|
-
logger.debug("expo-device not available, device info will be omitted");
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
platform: undefined,
|
|
29
|
-
deviceModel: undefined,
|
|
30
|
-
deviceBrand: undefined,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./profiler.js";
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { type BaseTimings } from "../../../profiling/index";
|
|
2
|
-
import type { ProfilingResponseMeta } from "../../../schemas/index";
|
|
3
|
-
interface BaseClientTimings extends BaseTimings {
|
|
4
|
-
requestZodValidationMs?: number;
|
|
5
|
-
requestStringifyMs?: number;
|
|
6
|
-
sendStart?: number;
|
|
7
|
-
requestEnd?: number;
|
|
8
|
-
}
|
|
9
|
-
export interface ClientTimings extends BaseClientTimings {
|
|
10
|
-
firstResponseAt?: number;
|
|
11
|
-
responseJsonParseMs?: number;
|
|
12
|
-
responseZodValidationMs?: number;
|
|
13
|
-
}
|
|
14
|
-
export interface ClientStreamTimings extends BaseClientTimings {
|
|
15
|
-
firstChunkAt?: number;
|
|
16
|
-
lastChunkAt?: number;
|
|
17
|
-
chunkCount: number;
|
|
18
|
-
}
|
|
19
|
-
export declare function createClientTimings(profileId: string, requestType: string): ClientTimings;
|
|
20
|
-
export declare function createClientStreamTimings(profileId: string, requestType: string): ClientStreamTimings;
|
|
21
|
-
export declare function cacheConnectionTime(durationMs: number): void;
|
|
22
|
-
export declare function flushConnectionTime(): void;
|
|
23
|
-
export declare function recordClientEvents(timings: ClientTimings, serverMeta?: ProfilingResponseMeta): void;
|
|
24
|
-
export declare function recordClientStreamEvents(timings: ClientStreamTimings, serverMeta?: ProfilingResponseMeta): void;
|
|
25
|
-
export declare function resetConnectionTracking(): void;
|
|
26
|
-
export {};
|
|
27
|
-
//# sourceMappingURL=profiler.d.ts.map
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { nowMs, record, recordPhase, recordServerBreakdownPhases, recordDelegationBreakdownPhases, } from "../../../profiling/index.js";
|
|
2
|
-
import { getGlobalSingleton } from "../../../utils/global-singleton.js";
|
|
3
|
-
const CONNECTION_TRACKING_STATE_KEY = Symbol.for("@qvac/sdk:rpc-connection-tracking-state");
|
|
4
|
-
function getConnectionTrackingState() {
|
|
5
|
-
return getGlobalSingleton(CONNECTION_TRACKING_STATE_KEY, () => {
|
|
6
|
-
return {
|
|
7
|
-
connectionTimeRecorded: false,
|
|
8
|
-
pendingConnectionTimeMs: undefined,
|
|
9
|
-
};
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
function recordRequestPhases(base, timings) {
|
|
13
|
-
recordPhase(base, "request.zodValidation", timings.requestZodValidationMs);
|
|
14
|
-
recordPhase(base, "request.stringify", timings.requestStringifyMs);
|
|
15
|
-
if (timings.requestZodValidationMs !== undefined &&
|
|
16
|
-
timings.requestStringifyMs !== undefined) {
|
|
17
|
-
recordPhase(base, "request.totalSerialization", timings.requestZodValidationMs + timings.requestStringifyMs);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
function createBaseTimings(profileId, requestType) {
|
|
21
|
-
return { profileId, requestType, requestStart: nowMs() };
|
|
22
|
-
}
|
|
23
|
-
export function createClientTimings(profileId, requestType) {
|
|
24
|
-
return createBaseTimings(profileId, requestType);
|
|
25
|
-
}
|
|
26
|
-
export function createClientStreamTimings(profileId, requestType) {
|
|
27
|
-
return { ...createBaseTimings(profileId, requestType), chunkCount: 0 };
|
|
28
|
-
}
|
|
29
|
-
export function cacheConnectionTime(durationMs) {
|
|
30
|
-
const state = getConnectionTrackingState();
|
|
31
|
-
if (state.connectionTimeRecorded)
|
|
32
|
-
return;
|
|
33
|
-
if (state.pendingConnectionTimeMs !== undefined)
|
|
34
|
-
return;
|
|
35
|
-
state.pendingConnectionTimeMs = durationMs;
|
|
36
|
-
}
|
|
37
|
-
export function flushConnectionTime() {
|
|
38
|
-
const state = getConnectionTrackingState();
|
|
39
|
-
if (state.connectionTimeRecorded)
|
|
40
|
-
return;
|
|
41
|
-
if (state.pendingConnectionTimeMs === undefined)
|
|
42
|
-
return;
|
|
43
|
-
const durationMs = state.pendingConnectionTimeMs;
|
|
44
|
-
state.pendingConnectionTimeMs = undefined;
|
|
45
|
-
state.connectionTimeRecorded = true;
|
|
46
|
-
record({
|
|
47
|
-
ts: nowMs(),
|
|
48
|
-
op: "rpc",
|
|
49
|
-
kind: "rpc",
|
|
50
|
-
phase: "connection",
|
|
51
|
-
ms: durationMs,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
export function recordClientEvents(timings, serverMeta) {
|
|
55
|
-
const now = nowMs();
|
|
56
|
-
const totalClientTime = now - timings.requestStart;
|
|
57
|
-
const base = {
|
|
58
|
-
ts: now,
|
|
59
|
-
op: timings.requestType,
|
|
60
|
-
kind: "rpc",
|
|
61
|
-
profileId: timings.profileId,
|
|
62
|
-
};
|
|
63
|
-
recordRequestPhases(base, timings);
|
|
64
|
-
// For unary requests, this measures send → full response received
|
|
65
|
-
if (timings.sendStart !== undefined &&
|
|
66
|
-
timings.firstResponseAt !== undefined) {
|
|
67
|
-
recordPhase(base, "serverWait", timings.firstResponseAt - timings.sendStart);
|
|
68
|
-
}
|
|
69
|
-
recordPhase(base, "response.jsonParse", timings.responseJsonParseMs);
|
|
70
|
-
recordPhase(base, "response.zodValidation", timings.responseZodValidationMs);
|
|
71
|
-
if (timings.responseJsonParseMs !== undefined &&
|
|
72
|
-
timings.responseZodValidationMs !== undefined) {
|
|
73
|
-
recordPhase(base, "response.totalParsing", timings.responseJsonParseMs + timings.responseZodValidationMs);
|
|
74
|
-
}
|
|
75
|
-
recordPhase(base, "totalClientTime", totalClientTime);
|
|
76
|
-
if (serverMeta?.server) {
|
|
77
|
-
recordServerBreakdownPhases(base, serverMeta.server, "server");
|
|
78
|
-
if (serverMeta.server.totalServerMs !== undefined) {
|
|
79
|
-
recordPhase(base, "clientOverhead", Math.max(0, totalClientTime - serverMeta.server.totalServerMs));
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
if (serverMeta?.delegation) {
|
|
83
|
-
recordDelegationBreakdownPhases(base, serverMeta.delegation);
|
|
84
|
-
}
|
|
85
|
-
if (serverMeta?.operation) {
|
|
86
|
-
recordOperationEvent(serverMeta.operation);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
function recordOperationEvent(op) {
|
|
90
|
-
const event = {
|
|
91
|
-
ts: nowMs(),
|
|
92
|
-
op: op.op,
|
|
93
|
-
kind: op.kind,
|
|
94
|
-
ms: op.ms,
|
|
95
|
-
};
|
|
96
|
-
if (op.profileId !== undefined)
|
|
97
|
-
event.profileId = op.profileId;
|
|
98
|
-
if (op.gauges !== undefined)
|
|
99
|
-
event.gauges = op.gauges;
|
|
100
|
-
if (op.tags !== undefined)
|
|
101
|
-
event.tags = op.tags;
|
|
102
|
-
if (op.count !== undefined)
|
|
103
|
-
event.count = op.count;
|
|
104
|
-
record(event);
|
|
105
|
-
}
|
|
106
|
-
export function recordClientStreamEvents(timings, serverMeta) {
|
|
107
|
-
const now = nowMs();
|
|
108
|
-
const totalClientTime = now - timings.requestStart;
|
|
109
|
-
const base = {
|
|
110
|
-
ts: now,
|
|
111
|
-
op: timings.requestType,
|
|
112
|
-
kind: "rpc",
|
|
113
|
-
profileId: timings.profileId,
|
|
114
|
-
};
|
|
115
|
-
recordRequestPhases(base, timings);
|
|
116
|
-
if (timings.sendStart !== undefined && timings.firstChunkAt !== undefined) {
|
|
117
|
-
recordPhase(base, "ttfb", timings.firstChunkAt - timings.sendStart);
|
|
118
|
-
}
|
|
119
|
-
if (timings.firstChunkAt !== undefined && timings.lastChunkAt !== undefined) {
|
|
120
|
-
recordPhase(base, "streamDuration", timings.lastChunkAt - timings.firstChunkAt);
|
|
121
|
-
}
|
|
122
|
-
recordPhase(base, "totalClientTime", totalClientTime, {
|
|
123
|
-
count: timings.chunkCount,
|
|
124
|
-
});
|
|
125
|
-
if (serverMeta?.server) {
|
|
126
|
-
recordServerBreakdownPhases(base, serverMeta.server, "server");
|
|
127
|
-
}
|
|
128
|
-
if (serverMeta?.delegation) {
|
|
129
|
-
recordDelegationBreakdownPhases(base, serverMeta.delegation);
|
|
130
|
-
}
|
|
131
|
-
if (serverMeta?.operation) {
|
|
132
|
-
recordOperationEvent(serverMeta.operation);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
export function resetConnectionTracking() {
|
|
136
|
-
const state = getConnectionTrackingState();
|
|
137
|
-
state.connectionTimeRecorded = false;
|
|
138
|
-
state.pendingConnectionTimeMs = undefined;
|
|
139
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const DEFAULT_REGISTRY_CORE_KEY = "uf1fm44uzockp6azhcdiqt1esjgm65fwtimsh946e8kwysdes9ko";
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { WHISPER_TINY } from "../models/registry/index.js";
|
|
2
|
-
import { downloadAsset, getModelInfo, loadModel, unloadModel } from "..";
|
|
3
|
-
const printModelStatus = (info, label) => {
|
|
4
|
-
console.log(`\n${label}`);
|
|
5
|
-
console.log(` Model Name: ${info.name}`);
|
|
6
|
-
console.log(` Model ID: ${info.modelId}`);
|
|
7
|
-
console.log(` Blob Core Key: ${info.blobCoreKey?.substring(0, 16) || "N/A"}...`);
|
|
8
|
-
console.log(` Expected Size: ${(info.expectedSize / 1024 / 1024).toFixed(2)} MB`);
|
|
9
|
-
console.log(` Addon: ${info.addon}`);
|
|
10
|
-
console.log(` Cache Files: ${info.cacheFiles.length}`);
|
|
11
|
-
console.log(` Is Cached: ${info.isCached ? "✅" : "❌"}`);
|
|
12
|
-
console.log(` Is Loaded: ${info.isLoaded ? "✅" : "❌"}`);
|
|
13
|
-
if (info.isCached) {
|
|
14
|
-
if (info.cacheFiles.length === 1) {
|
|
15
|
-
console.log(` Cache Path: ${info.cacheFiles[0]?.path}`);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
const cachedFiles = info.cacheFiles.filter((f) => f.isCached).length;
|
|
19
|
-
console.log(` Cached: ${cachedFiles}/${info.cacheFiles.length}`);
|
|
20
|
-
}
|
|
21
|
-
console.log(` Actual Size: ${(info.actualSize / 1024 / 1024).toFixed(2)} MB`);
|
|
22
|
-
console.log(` Cached At: ${info.cachedAt?.toLocaleString()}`);
|
|
23
|
-
}
|
|
24
|
-
if (info.loadedInstances && info.loadedInstances.length > 0) {
|
|
25
|
-
console.log(` Loaded Instances: ${info.loadedInstances.length}`);
|
|
26
|
-
info.loadedInstances.forEach((instance, i) => {
|
|
27
|
-
console.log(` ${i + 1}. Registry ID: ${instance.registryId}`);
|
|
28
|
-
console.log(` Loaded At: ${instance.loadedAt.toLocaleString()}`);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
try {
|
|
33
|
-
console.log("=== Model Cache Management Demo ===");
|
|
34
|
-
// 1. Check initial status
|
|
35
|
-
console.log("\n1️⃣ INITIAL STATUS CHECK");
|
|
36
|
-
const initialInfo = await getModelInfo(WHISPER_TINY);
|
|
37
|
-
printModelStatus(initialInfo, "Initial Status:");
|
|
38
|
-
// 2. Download if not cached
|
|
39
|
-
if (!initialInfo.isCached) {
|
|
40
|
-
console.log("\n2️⃣ DOWNLOADING MODEL (not cached)");
|
|
41
|
-
console.log(" Downloading from hyperdrive...");
|
|
42
|
-
await downloadAsset({ assetSrc: WHISPER_TINY });
|
|
43
|
-
console.log(" ✅ Download complete!");
|
|
44
|
-
const afterDownload = await getModelInfo(WHISPER_TINY);
|
|
45
|
-
printModelStatus(afterDownload, "Status After Download:");
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
console.log("\n2️⃣ MODEL ALREADY CACHED");
|
|
49
|
-
console.log(" Skipping download...");
|
|
50
|
-
}
|
|
51
|
-
// 3. Load if not loaded
|
|
52
|
-
console.log("\n3️⃣ LOADING MODEL INTO MEMORY");
|
|
53
|
-
const beforeLoad = await getModelInfo(WHISPER_TINY);
|
|
54
|
-
let modelId;
|
|
55
|
-
if (!beforeLoad.isLoaded) {
|
|
56
|
-
console.log(" Loading model into memory...");
|
|
57
|
-
modelId = await loadModel({
|
|
58
|
-
modelSrc: WHISPER_TINY,
|
|
59
|
-
modelType: "whisper",
|
|
60
|
-
});
|
|
61
|
-
console.log(` ✅ Model loaded! ID: ${modelId}`);
|
|
62
|
-
const afterLoad = await getModelInfo(WHISPER_TINY);
|
|
63
|
-
printModelStatus(afterLoad, "Status After Load:");
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
console.log(" Model already loaded!");
|
|
67
|
-
const instances = beforeLoad.loadedInstances;
|
|
68
|
-
if (!instances || instances.length === 0) {
|
|
69
|
-
throw new Error("Model is loaded but no instances found");
|
|
70
|
-
}
|
|
71
|
-
const firstInstance = instances[0];
|
|
72
|
-
if (!firstInstance) {
|
|
73
|
-
throw new Error("First instance is undefined");
|
|
74
|
-
}
|
|
75
|
-
modelId = firstInstance.registryId;
|
|
76
|
-
console.log(` Using existing model ID: ${modelId}`);
|
|
77
|
-
}
|
|
78
|
-
// 4. Demonstrate unload
|
|
79
|
-
console.log("\n4️⃣ UNLOADING MODEL");
|
|
80
|
-
console.log(" Unloading model from memory...");
|
|
81
|
-
await unloadModel({ modelId });
|
|
82
|
-
console.log(" ✅ Model unloaded!");
|
|
83
|
-
const afterUnload = await getModelInfo(WHISPER_TINY);
|
|
84
|
-
printModelStatus(afterUnload, "Status After Unload:");
|
|
85
|
-
// 5. Summary
|
|
86
|
-
console.log("\n5️⃣ SUMMARY");
|
|
87
|
-
console.log(" ✅ Model Info API works correctly");
|
|
88
|
-
console.log(" ✅ Cache status tracked accurately");
|
|
89
|
-
console.log(" ✅ Loaded status reflects memory state");
|
|
90
|
-
console.log(" ✅ All operations completed successfully");
|
|
91
|
-
console.log("\n=== Demo Complete ===\n");
|
|
92
|
-
process.exit(0);
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
console.error("❌ Error:", error);
|
|
96
|
-
process.exit(1);
|
|
97
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { WHISPER_TINY, loadModel, transcribe, unloadModel } from "../index";
|
|
2
|
-
// Parse command line arguments
|
|
3
|
-
const args = process.argv.slice(2);
|
|
4
|
-
if (!args[0]) {
|
|
5
|
-
console.error("Usage: bun run examples/config-reload.ts <audio-file-path>");
|
|
6
|
-
process.exit(1);
|
|
7
|
-
}
|
|
8
|
-
const audioFilePath = args[0];
|
|
9
|
-
try {
|
|
10
|
-
// Initial load with English language
|
|
11
|
-
console.log("Loading Whisper model with English config...");
|
|
12
|
-
const modelId = await loadModel({
|
|
13
|
-
modelSrc: WHISPER_TINY,
|
|
14
|
-
modelType: "whisper",
|
|
15
|
-
modelConfig: {
|
|
16
|
-
language: "en",
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
// Transcribe with English config
|
|
20
|
-
console.log("Transcribing audio with English config...");
|
|
21
|
-
const englishText = await transcribe({
|
|
22
|
-
modelId,
|
|
23
|
-
audioChunk: audioFilePath,
|
|
24
|
-
});
|
|
25
|
-
console.log(`Transcription (EN): ${englishText}`);
|
|
26
|
-
console.log();
|
|
27
|
-
// Hot reload config - change language and temperature
|
|
28
|
-
console.log("Hot reloading config (changing language and temperature)...");
|
|
29
|
-
const reloadedId = await loadModel({
|
|
30
|
-
modelId,
|
|
31
|
-
modelType: "whisper",
|
|
32
|
-
modelConfig: {
|
|
33
|
-
language: "es", // Change to Spanish
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
console.log(`Config reloaded, same model ID: ${reloadedId === modelId}`);
|
|
37
|
-
// Transcribe again with updated config
|
|
38
|
-
console.log("Transcribing with updated config...");
|
|
39
|
-
const spanishText = await transcribe({
|
|
40
|
-
modelId,
|
|
41
|
-
audioChunk: audioFilePath,
|
|
42
|
-
});
|
|
43
|
-
console.log(`Transcription (ES): ${spanishText}`);
|
|
44
|
-
await unloadModel({ modelId });
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
console.error("❌ Error:", error);
|
|
48
|
-
process.exit(1);
|
|
49
|
-
}
|