@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,30 +1,8 @@
|
|
|
1
1
|
import RPC from "bare-rpc";
|
|
2
|
-
import { RPCConnectionFailedError } from "../../utils/errors-client.js";
|
|
3
|
-
import { initializeConfig } from "../init-hooks.js";
|
|
4
|
-
import { resolveConfig } from "../config-loader/resolve-config.expo.js";
|
|
5
|
-
import { getClientLogger } from "../../logging/index.js";
|
|
6
|
-
import { getDeviceInfo } from "./expo-device-info.js";
|
|
7
|
-
const logger = getClientLogger();
|
|
8
2
|
let rpcInstance = null;
|
|
9
3
|
let rpcPromise = null;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
let cachedRuntimeContext;
|
|
13
|
-
logger.debug("EXPO RPC Client bundle");
|
|
14
|
-
async function getRuntimeContext() {
|
|
15
|
-
if (cachedRuntimeContext) {
|
|
16
|
-
return cachedRuntimeContext;
|
|
17
|
-
}
|
|
18
|
-
const { platform, deviceModel, deviceBrand } = await getDeviceInfo();
|
|
19
|
-
cachedRuntimeContext = {
|
|
20
|
-
runtime: "react-native",
|
|
21
|
-
platform,
|
|
22
|
-
deviceModel,
|
|
23
|
-
deviceBrand,
|
|
24
|
-
};
|
|
25
|
-
return cachedRuntimeContext;
|
|
26
|
-
}
|
|
27
|
-
export async function getRPC() {
|
|
4
|
+
console.log("EXPO RPC Client bundle");
|
|
5
|
+
export const getRPC = async () => {
|
|
28
6
|
if (rpcInstance) {
|
|
29
7
|
return rpcInstance;
|
|
30
8
|
}
|
|
@@ -32,38 +10,25 @@ export async function getRPC() {
|
|
|
32
10
|
return rpcPromise;
|
|
33
11
|
}
|
|
34
12
|
rpcPromise = (async () => {
|
|
35
|
-
if (workletInstance) {
|
|
36
|
-
logger.debug("🔄 Reusing existing worklet");
|
|
37
|
-
rpcInstance = new RPC(workletInstance.IPC, () => { });
|
|
38
|
-
// Only initialize once per worklet - server state persists
|
|
39
|
-
if (!workletInitialized) {
|
|
40
|
-
const runtimeContext = await getRuntimeContext();
|
|
41
|
-
await initializeConfig(rpcInstance, resolveConfig, runtimeContext);
|
|
42
|
-
workletInitialized = true;
|
|
43
|
-
}
|
|
44
|
-
return rpcInstance;
|
|
45
|
-
}
|
|
46
13
|
const { Paths } = await import("expo-file-system");
|
|
47
14
|
const bareKitModule = await import("react-native-bare-kit");
|
|
48
15
|
const worklet = new bareKitModule.Worklet();
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
//
|
|
52
|
-
// The expo plugin handles bundle selection:
|
|
53
|
-
// 1. Uses qvac/worker.bundle.js if exists (user pre-generated)
|
|
54
|
-
// 2. Generates tree-shaken bundle if qvac.config.* exists
|
|
55
|
-
// 3. Generates default bundle (all plugins) otherwise
|
|
16
|
+
console.log("Starting worklet");
|
|
17
|
+
// Load the mobile bundle - this will be generated by the Expo plugin
|
|
18
|
+
// using the user's installed bare library versions
|
|
56
19
|
let mobileBundle;
|
|
57
20
|
try {
|
|
58
|
-
//
|
|
59
|
-
mobileBundle =
|
|
21
|
+
// We need require here or the contents of the bundle will be interpreted as a module
|
|
22
|
+
mobileBundle =
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
24
|
+
require("@qvac/sdk/worker.mobile.bundle");
|
|
60
25
|
}
|
|
61
26
|
catch (error) {
|
|
62
27
|
const message = "Failed to load mobile worker bundle. Make sure the QVAC Expo plugin is configured. " +
|
|
63
28
|
`Add '@qvac/sdk/expo-plugin' to your app.json plugins array. ` +
|
|
64
29
|
`Error: ${String(error)}`;
|
|
65
|
-
|
|
66
|
-
throw new
|
|
30
|
+
console.error(message);
|
|
31
|
+
throw new Error(message);
|
|
67
32
|
}
|
|
68
33
|
worklet.start("worker.bundle", mobileBundle, [
|
|
69
34
|
// Normalize arg number across platforms
|
|
@@ -73,28 +38,20 @@ export async function getRPC() {
|
|
|
73
38
|
HOME_DIR: Paths.document.uri.replace("file://", ""),
|
|
74
39
|
}),
|
|
75
40
|
]);
|
|
76
|
-
|
|
41
|
+
console.log("Worklet started");
|
|
77
42
|
rpcInstance = new RPC(worklet.IPC, () => {
|
|
78
43
|
// Use this for async callbacks
|
|
79
44
|
});
|
|
80
|
-
const runtimeContext = await getRuntimeContext();
|
|
81
|
-
await initializeConfig(rpcInstance, resolveConfig, runtimeContext);
|
|
82
|
-
workletInitialized = true;
|
|
83
45
|
return rpcInstance;
|
|
84
46
|
})();
|
|
85
47
|
try {
|
|
86
48
|
return await rpcPromise;
|
|
87
49
|
}
|
|
88
50
|
catch (error) {
|
|
89
|
-
|
|
51
|
+
console.error(`Failed to initialize RPC: ${String(error)}`);
|
|
90
52
|
throw error;
|
|
91
53
|
}
|
|
92
54
|
finally {
|
|
93
55
|
rpcPromise = null;
|
|
94
56
|
}
|
|
95
|
-
}
|
|
96
|
-
export function close() {
|
|
97
|
-
logger.info("🧹 Closing RPC client (Expo)");
|
|
98
|
-
rpcInstance = null;
|
|
99
|
-
rpcPromise = null;
|
|
100
|
-
}
|
|
57
|
+
};
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export declare function getRPC(): {
|
|
2
|
+
request: (command: number) => {
|
|
3
|
+
send: (data: string, encoding: BufferEncoding) => void;
|
|
4
|
+
reply: (encoding: BufferEncoding) => Promise<Buffer>;
|
|
5
|
+
createResponseStream: () => AsyncGenerator<unknown, void, unknown>;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare const cleanup: () => void;
|
|
4
9
|
//# sourceMappingURL=node-rpc-client.d.ts.map
|
|
@@ -1,191 +1,45 @@
|
|
|
1
1
|
import RPC from "bare-rpc";
|
|
2
2
|
import spawn, {} from "bare-runtime/spawn";
|
|
3
|
-
import { randomBytes } from "node:crypto";
|
|
4
|
-
import { existsSync, unlinkSync } from "node:fs";
|
|
5
3
|
import { createServer } from "node:net";
|
|
6
|
-
import fs from "node:fs";
|
|
7
4
|
import os from "node:os";
|
|
8
5
|
import path from "node:path";
|
|
9
6
|
import { fileURLToPath } from "node:url";
|
|
10
|
-
import { initializeConfig } from "../init-hooks.js";
|
|
11
|
-
import { resolveConfig } from "../config-loader/resolve-config.node.js";
|
|
12
|
-
import { getClientLogger } from "../../logging/index.js";
|
|
13
|
-
const logger = getClientLogger();
|
|
14
7
|
const __filename = fileURLToPath(import.meta.url);
|
|
15
8
|
const __dirname = path.dirname(__filename);
|
|
16
9
|
let rpcInstance = null;
|
|
17
10
|
let rpcPromise = null;
|
|
18
11
|
let bareWorkerProc = null;
|
|
19
|
-
|
|
20
|
-
let
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
function findProjectRootSync() {
|
|
27
|
-
let dir = process.cwd();
|
|
28
|
-
const root = path.parse(dir).root;
|
|
29
|
-
while (dir !== root) {
|
|
30
|
-
if (fs.existsSync(path.join(dir, "package.json"))) {
|
|
31
|
-
return dir;
|
|
32
|
-
}
|
|
33
|
-
dir = path.dirname(dir);
|
|
34
|
-
}
|
|
35
|
-
return undefined;
|
|
36
|
-
}
|
|
37
|
-
function getResourcesPathSync() {
|
|
38
|
-
const { resourcesPath } = process;
|
|
39
|
-
return typeof resourcesPath === "string" ? resourcesPath : undefined;
|
|
40
|
-
}
|
|
41
|
-
function resolvePackagedWorkerPath() {
|
|
42
|
-
const resourcesPath = getResourcesPathSync();
|
|
43
|
-
if (!resourcesPath)
|
|
44
|
-
return undefined;
|
|
45
|
-
const candidates = [
|
|
46
|
-
path.join(resourcesPath, "app.asar.unpacked", "qvac", "worker.entry.mjs"),
|
|
47
|
-
path.join(resourcesPath, "app", "qvac", "worker.entry.mjs"),
|
|
48
|
-
path.join(resourcesPath, "qvac", "worker.entry.mjs"),
|
|
49
|
-
];
|
|
50
|
-
for (const candidate of candidates) {
|
|
51
|
-
if (fs.existsSync(candidate))
|
|
52
|
-
return candidate;
|
|
53
|
-
}
|
|
54
|
-
return undefined;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Get default worker path from SDK dist
|
|
58
|
-
*/
|
|
59
|
-
function getDefaultWorkerPath() {
|
|
60
|
-
const packagedWorker = path.resolve(__dirname, "../../server/worker.js");
|
|
61
|
-
if (fs.existsSync(packagedWorker))
|
|
62
|
-
return packagedWorker;
|
|
63
|
-
// Dev/source layout fallback
|
|
64
|
-
return path.resolve(__dirname, "../../dist/server/worker.js");
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Resolve worker path with priority:
|
|
68
|
-
* 1. QVAC_WORKER_PATH environment variable
|
|
69
|
-
* 2. Packaged Electron app worker entry
|
|
70
|
-
* 3. qvac/worker.entry.mjs in project root (generated by npx qvac bundle sdk)
|
|
71
|
-
* 4. Default SDK worker
|
|
72
|
-
*/
|
|
73
|
-
function resolveWorkerPath() {
|
|
74
|
-
const envWorkerPath = process.env["QVAC_WORKER_PATH"];
|
|
75
|
-
if (envWorkerPath) {
|
|
76
|
-
const normalized = path.resolve(envWorkerPath);
|
|
77
|
-
if (fs.existsSync(normalized)) {
|
|
78
|
-
logger.info(`🔧 Using worker entry from QVAC_WORKER_PATH: ${normalized}`);
|
|
79
|
-
return normalized;
|
|
80
|
-
}
|
|
81
|
-
logger.warn(`⚠️ QVAC_WORKER_PATH was set but file was not found: ${normalized}. Falling back.`);
|
|
82
|
-
}
|
|
83
|
-
// Prefer packaged worker entry when running as a packaged Electron app.
|
|
84
|
-
// This avoids accidental coupling to the project's cwd, and ensures the
|
|
85
|
-
// bare worker reads JS modules from the filesystem (not app.asar).
|
|
86
|
-
const packagedWorker = resolvePackagedWorkerPath();
|
|
87
|
-
if (packagedWorker) {
|
|
88
|
-
logger.info(`🔧 Using packaged worker entry: ${packagedWorker}`);
|
|
89
|
-
return packagedWorker;
|
|
90
|
-
}
|
|
91
|
-
// Check for custom worker entry at project root
|
|
92
|
-
// Note: We use worker.entry.mjs (unbundled ESM) for desktop because bare can
|
|
93
|
-
// load ES modules directly. The packed bundle is for mobile only.
|
|
94
|
-
const projectRoot = findProjectRootSync();
|
|
95
|
-
if (projectRoot) {
|
|
96
|
-
const customEntry = path.join(projectRoot, "qvac", "worker.entry.mjs");
|
|
97
|
-
if (fs.existsSync(customEntry)) {
|
|
98
|
-
logger.info(`🔧 Using custom worker entry: ${customEntry}`);
|
|
99
|
-
return customEntry;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
// Fallback to default SDK worker
|
|
103
|
-
const defaultPath = getDefaultWorkerPath();
|
|
104
|
-
logger.debug(`🔧 Using default SDK worker: ${defaultPath}`);
|
|
105
|
-
return defaultPath;
|
|
106
|
-
}
|
|
107
|
-
const WORKER_PATH = resolveWorkerPath();
|
|
108
|
-
function createSocketPath() {
|
|
109
|
-
const timestamp = Date.now().toString(36);
|
|
110
|
-
const randomSuffix = randomBytes(2).toString("hex");
|
|
111
|
-
const socketName = `qvac-worker-${process.pid}-${timestamp}-${randomSuffix}`;
|
|
112
|
-
return process.platform === "win32"
|
|
113
|
-
? `\\\\.\\pipe\\${socketName}`
|
|
114
|
-
: path.join(os.tmpdir(), `${socketName}.sock`);
|
|
115
|
-
}
|
|
116
|
-
function bestEffortUnlinkSocket(socketPath) {
|
|
117
|
-
// Windows named pipes are not filesystem paths, so unlink is Unix-only.
|
|
118
|
-
if (!socketPath || process.platform === "win32")
|
|
119
|
-
return;
|
|
120
|
-
try {
|
|
121
|
-
if (existsSync(socketPath)) {
|
|
122
|
-
unlinkSync(socketPath);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
catch (error) {
|
|
126
|
-
logger.debug("Failed to unlink IPC socket path", { socketPath, error });
|
|
127
|
-
}
|
|
12
|
+
// Smart path resolution for worker
|
|
13
|
+
let WORKER_PATH;
|
|
14
|
+
if (__dirname.includes("/dist/") || __dirname.includes("\\dist\\")) {
|
|
15
|
+
const distRoot = __dirname.includes("/dist/")
|
|
16
|
+
? __dirname.split("/dist/")[0] + "/dist"
|
|
17
|
+
: __dirname.split("\\dist\\")[0] + "\\dist";
|
|
18
|
+
WORKER_PATH = path.join(distRoot, "server/worker.js");
|
|
128
19
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
const serverToClose = ipcServer;
|
|
132
|
-
const socketPathToClose = currentSocketPath;
|
|
133
|
-
rpcInstance = null;
|
|
134
|
-
rpcPromise = null;
|
|
135
|
-
bareWorkerProc = null;
|
|
136
|
-
ipcServer = null;
|
|
137
|
-
currentSocketPath = null;
|
|
138
|
-
return { workerToClose, serverToClose, socketPathToClose };
|
|
139
|
-
}
|
|
140
|
-
function closeSyncForExit() {
|
|
141
|
-
const { workerToClose, serverToClose, socketPathToClose } = snapshotAndResetState();
|
|
142
|
-
if (workerToClose) {
|
|
143
|
-
try {
|
|
144
|
-
workerToClose.kill("SIGTERM");
|
|
145
|
-
}
|
|
146
|
-
catch (error) {
|
|
147
|
-
logger.debug("Failed to kill bare worker during process exit", { error });
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
if (serverToClose) {
|
|
151
|
-
try {
|
|
152
|
-
serverToClose.close();
|
|
153
|
-
}
|
|
154
|
-
catch (error) {
|
|
155
|
-
logger.debug("Failed to close IPC server during process exit", { error });
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
bestEffortUnlinkSocket(socketPathToClose);
|
|
20
|
+
else {
|
|
21
|
+
WORKER_PATH = path.resolve(__dirname, "../../dist/server/worker.js");
|
|
159
22
|
}
|
|
23
|
+
const SOCKET_PATH = process.platform === "win32"
|
|
24
|
+
? `\\\\.\\pipe\\qvac-worker-${process.pid}`
|
|
25
|
+
: path.join(os.tmpdir(), `qvac-worker-${process.pid}.sock`);
|
|
160
26
|
async function ensureRPC() {
|
|
161
27
|
if (rpcInstance)
|
|
162
28
|
return rpcInstance;
|
|
163
29
|
if (rpcPromise)
|
|
164
30
|
return rpcPromise;
|
|
165
|
-
if (closePromise) {
|
|
166
|
-
await closePromise;
|
|
167
|
-
}
|
|
168
|
-
const socketPath = createSocketPath();
|
|
169
|
-
currentSocketPath = socketPath;
|
|
170
31
|
rpcPromise = new Promise((resolve, reject) => {
|
|
171
|
-
|
|
32
|
+
const server = createServer((socket) => {
|
|
172
33
|
rpcInstance = new RPC(socket, () => { });
|
|
173
34
|
resolve(rpcInstance);
|
|
174
35
|
});
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
rpcInstance = null;
|
|
178
|
-
bareWorkerProc = null;
|
|
179
|
-
ipcServer = null;
|
|
180
|
-
currentSocketPath = null;
|
|
181
|
-
reject(error);
|
|
182
|
-
});
|
|
183
|
-
ipcServer.listen(socketPath, () => {
|
|
36
|
+
server.on("error", reject);
|
|
37
|
+
server.listen(SOCKET_PATH, () => {
|
|
184
38
|
bareWorkerProc = spawn("bare", {
|
|
185
39
|
args: [
|
|
186
40
|
WORKER_PATH,
|
|
187
41
|
JSON.stringify({
|
|
188
|
-
QVAC_IPC_SOCKET_PATH:
|
|
42
|
+
QVAC_IPC_SOCKET_PATH: SOCKET_PATH,
|
|
189
43
|
HOME_DIR: os.homedir(),
|
|
190
44
|
}),
|
|
191
45
|
],
|
|
@@ -193,63 +47,53 @@ async function ensureRPC() {
|
|
|
193
47
|
});
|
|
194
48
|
});
|
|
195
49
|
});
|
|
196
|
-
|
|
197
|
-
const runtimeContext = {
|
|
198
|
-
runtime: "node",
|
|
199
|
-
platform: process.platform,
|
|
200
|
-
};
|
|
201
|
-
await initializeConfig(rpc, resolveConfig, runtimeContext);
|
|
202
|
-
return rpc;
|
|
203
|
-
}
|
|
204
|
-
export async function getRPC() {
|
|
205
|
-
return ensureRPC();
|
|
50
|
+
return rpcPromise;
|
|
206
51
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
return
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
if (workerToClose) {
|
|
218
|
-
logger.info("🐻🔫 Killing bare worker process");
|
|
219
|
-
try {
|
|
220
|
-
workerToClose.kill("SIGTERM");
|
|
221
|
-
}
|
|
222
|
-
catch (error) {
|
|
223
|
-
logger.debug("Failed to kill bare worker process", { error });
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
if (serverToClose) {
|
|
227
|
-
logger.info("🔌 Closing IPC server");
|
|
228
|
-
await new Promise((resolve) => {
|
|
229
|
-
try {
|
|
230
|
-
serverToClose.close(() => resolve());
|
|
52
|
+
const mockRPC = {
|
|
53
|
+
request: (command) => {
|
|
54
|
+
let sentData = null;
|
|
55
|
+
return {
|
|
56
|
+
send: (data, encoding) => {
|
|
57
|
+
sentData = { data, encoding };
|
|
58
|
+
},
|
|
59
|
+
reply: async (encoding) => {
|
|
60
|
+
if (!sentData) {
|
|
61
|
+
throw new Error("Must call send() before reply()");
|
|
231
62
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
63
|
+
const rpc = await ensureRPC();
|
|
64
|
+
const req = rpc.request(command);
|
|
65
|
+
req.send(sentData.data, sentData.encoding);
|
|
66
|
+
const response = await req.reply(encoding);
|
|
67
|
+
return Buffer.isBuffer(response)
|
|
68
|
+
? response
|
|
69
|
+
: Buffer.from(typeof response === "string" ? response : "", encoding);
|
|
70
|
+
},
|
|
71
|
+
createResponseStream: async function* () {
|
|
72
|
+
if (!sentData) {
|
|
73
|
+
throw new Error("Must call send() before createResponseStream()");
|
|
235
74
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
75
|
+
const rpc = await ensureRPC();
|
|
76
|
+
const req = rpc.request(command);
|
|
77
|
+
req.send(sentData.data, sentData.encoding);
|
|
78
|
+
const stream = req.createResponseStream({
|
|
79
|
+
encoding: sentData.encoding,
|
|
80
|
+
});
|
|
81
|
+
for await (const chunk of stream) {
|
|
82
|
+
yield chunk;
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
export function getRPC() {
|
|
89
|
+
return mockRPC;
|
|
251
90
|
}
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
91
|
+
export const cleanup = () => {
|
|
92
|
+
console.log("🧹 Cleaning up RPC client");
|
|
93
|
+
if (bareWorkerProc) {
|
|
94
|
+
console.log("🐻🔫 Killing bare worker process");
|
|
95
|
+
bareWorkerProc.kill("SIGTERM");
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
// Register cleanup handlers for the parent process
|
|
99
|
+
process.once("exit", cleanup);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type RPC from "bare-rpc";
|
|
2
2
|
import { type Request, type Response, type RPCOptions } from "../../schemas/index";
|
|
3
|
-
export declare function send<T extends Request>(request: T,
|
|
4
|
-
export declare function stream<T extends Request>(request: T,
|
|
5
|
-
export declare function close(): Promise<void>;
|
|
3
|
+
export declare function send<T extends Request>(request: T, rpc?: RPC, options?: RPCOptions): Promise<Response>;
|
|
4
|
+
export declare function stream<T extends Request>(request: T, rpc?: RPC, options?: RPCOptions): AsyncGenerator<Response>;
|
|
6
5
|
//# sourceMappingURL=rpc-client.d.ts.map
|