@qvac/sdk 0.14.0 โ 0.15.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/NOTICE +27 -11
- package/README.md +34 -35
- package/dist/client/api/batch-completion.d.ts +15 -0
- package/dist/client/api/batch-completion.js +332 -0
- package/dist/client/api/bci-transcribe.d.ts +1 -1
- package/dist/client/api/bci-transcribe.js +31 -31
- package/dist/client/api/cancel.d.ts +1 -1
- package/dist/client/api/cancel.js +18 -18
- package/dist/client/api/classify.d.ts +1 -1
- package/dist/client/api/classify.js +9 -6
- package/dist/client/api/client-request-id.js +1 -1
- package/dist/client/api/completion-stream.d.ts +3 -3
- package/dist/client/api/completion-stream.js +18 -18
- package/dist/client/api/delete-cache.js +9 -9
- package/dist/client/api/diffusion.d.ts +1 -1
- package/dist/client/api/diffusion.js +17 -11
- package/dist/client/api/download-asset.d.ts +1 -1
- package/dist/client/api/download-asset.js +11 -11
- package/dist/client/api/embed.d.ts +1 -1
- package/dist/client/api/embed.js +10 -10
- package/dist/client/api/finetune.d.ts +1 -1
- package/dist/client/api/finetune.js +25 -27
- package/dist/client/api/get-loaded-model-info.d.ts +2 -2
- package/dist/client/api/get-loaded-model-info.js +8 -8
- package/dist/client/api/get-model-info.d.ts +1 -1
- package/dist/client/api/get-model-info.js +7 -7
- package/dist/client/api/heartbeat.d.ts +2 -2
- package/dist/client/api/heartbeat.js +7 -7
- package/dist/client/api/index.d.ts +33 -32
- package/dist/client/api/index.js +33 -32
- package/dist/client/api/invoke-plugin.d.ts +1 -1
- package/dist/client/api/invoke-plugin.js +10 -10
- package/dist/client/api/load-model.d.ts +1 -1
- package/dist/client/api/load-model.js +32 -32
- package/dist/client/api/logging-stream.d.ts +1 -1
- package/dist/client/api/logging-stream.js +6 -6
- package/dist/client/api/ocr.d.ts +1 -1
- package/dist/client/api/ocr.js +11 -11
- package/dist/client/api/provide.d.ts +1 -1
- package/dist/client/api/provide.js +7 -7
- package/dist/client/api/rag.d.ts +1 -1
- package/dist/client/api/rag.js +65 -66
- package/dist/client/api/registry.d.ts +1 -1
- package/dist/client/api/registry.js +8 -8
- package/dist/client/api/resume.js +5 -5
- package/dist/client/api/state.d.ts +1 -1
- package/dist/client/api/state.js +5 -5
- package/dist/client/api/stop-provider.js +6 -6
- package/dist/client/api/subscribe-logs.d.ts +1 -1
- package/dist/client/api/subscribe-logs.js +3 -3
- package/dist/client/api/suspend.js +5 -5
- package/dist/client/api/text-to-speech.d.ts +1 -1
- package/dist/client/api/text-to-speech.js +37 -39
- package/dist/client/api/transcribe.d.ts +2 -2
- package/dist/client/api/transcribe.js +44 -45
- package/dist/client/api/translate.d.ts +1 -1
- package/dist/client/api/translate.js +14 -14
- package/dist/client/api/unload-model.d.ts +1 -1
- package/dist/client/api/unload-model.js +11 -11
- package/dist/client/api/upscale.d.ts +1 -1
- package/dist/client/api/upscale.js +9 -9
- package/dist/client/api/video.d.ts +1 -1
- package/dist/client/api/video.js +16 -14
- package/dist/client/api/vla-helpers.d.ts +2 -2
- package/dist/client/api/vla-helpers.js +6 -11
- package/dist/client/api/vla.d.ts +1 -1
- package/dist/client/api/vla.js +13 -13
- package/dist/client/config-loader/config-utils.d.ts +1 -1
- package/dist/client/config-loader/config-utils.js +3 -3
- package/dist/client/config-loader/resolve-config.bare.d.ts +1 -1
- package/dist/client/config-loader/resolve-config.bare.js +11 -11
- package/dist/client/config-loader/resolve-config.expo.d.ts +1 -1
- package/dist/client/config-loader/resolve-config.expo.js +6 -6
- package/dist/client/config-loader/resolve-config.node.d.ts +1 -1
- package/dist/client/config-loader/resolve-config.node.js +27 -27
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/init-hooks.d.ts +1 -1
- package/dist/client/init-hooks.js +12 -12
- package/dist/client/logging-stream-registry.d.ts +1 -1
- package/dist/client/logging-stream-registry.js +6 -6
- package/dist/client/parse-input.d.ts +1 -1
- package/dist/client/parse-input.js +3 -3
- package/dist/client/plugins-factory.d.ts +2 -2
- package/dist/client/plugins-factory.js +2 -2
- package/dist/client/rpc/bare-client.d.ts +2 -1
- package/dist/client/rpc/bare-client.js +37 -39
- package/dist/client/rpc/ensure-worker-ready.js +4 -4
- package/dist/client/rpc/expo-device-info.d.ts +1 -1
- package/dist/client/rpc/expo-device-info.js +11 -11
- package/dist/client/rpc/expo-rpc-client.d.ts +2 -1
- package/dist/client/rpc/expo-rpc-client.js +38 -47
- package/dist/client/rpc/node-rpc-client.d.ts +2 -1
- package/dist/client/rpc/node-rpc-client.js +103 -75
- package/dist/client/rpc/profiling/index.d.ts +1 -1
- package/dist/client/rpc/profiling/index.js +1 -1
- package/dist/client/rpc/profiling/profiler.d.ts +2 -2
- package/dist/client/rpc/profiling/profiler.js +31 -34
- package/dist/client/rpc/rpc-client.d.ts +2 -2
- package/dist/client/rpc/rpc-client.js +113 -72
- package/dist/client/rpc/rpc-error.d.ts +1 -1
- package/dist/client/rpc/rpc-error.js +14 -14
- package/dist/commands/bundle/bare-pack.d.ts +1 -1
- package/dist/commands/bundle/bare-pack.js +20 -20
- package/dist/commands/bundle/constants.js +21 -21
- package/dist/commands/bundle/entry-gen.d.ts +1 -1
- package/dist/commands/bundle/entry-gen.js +10 -10
- package/dist/commands/bundle/index.js +47 -47
- package/dist/commands/bundle/manifest.d.ts +1 -1
- package/dist/commands/bundle/manifest.js +44 -46
- package/dist/commands/bundle/plugins.d.ts +2 -2
- package/dist/commands/bundle/plugins.js +7 -7
- package/dist/commands/bundle/resolve-sdk-import.d.ts +6 -0
- package/dist/commands/bundle/resolve-sdk-import.js +53 -0
- package/dist/commands/index.d.ts +4 -4
- package/dist/commands/index.js +2 -2
- package/dist/commands/verify/abi.d.ts +9 -9
- package/dist/commands/verify/abi.js +31 -31
- package/dist/commands/verify/addon-source.d.ts +1 -1
- package/dist/commands/verify/addon-source.js +13 -14
- package/dist/commands/verify/bundle-source.d.ts +1 -1
- package/dist/commands/verify/bundle-source.js +7 -7
- package/dist/commands/verify/index.d.ts +3 -3
- package/dist/commands/verify/index.js +18 -17
- package/dist/commands/verify/node-modules-source.d.ts +1 -1
- package/dist/commands/verify/node-modules-source.js +11 -11
- package/dist/commands/verify/prebuilds.d.ts +3 -3
- package/dist/commands/verify/prebuilds.js +8 -8
- package/dist/constants/audio.d.ts +1 -1
- package/dist/constants/audio.js +1 -1
- package/dist/constants/index.d.ts +2 -2
- package/dist/constants/index.js +2 -2
- package/dist/constants/registry.js +1 -1
- package/dist/examples/audio/mic-input.d.ts +1 -1
- package/dist/examples/audio/mic-input.js +31 -31
- package/dist/examples/batch-completion.d.ts +38 -0
- package/dist/examples/batch-completion.js +100 -0
- package/dist/examples/bci/bci-filesystem-streaming.js +20 -20
- package/dist/examples/bci/bci-filesystem.js +17 -17
- package/dist/examples/cache-management.js +32 -32
- package/dist/examples/cancel-by-request-id.js +11 -11
- package/dist/examples/classification/classify-image.js +5 -5
- package/dist/examples/completion-events.js +16 -18
- package/dist/examples/completion-stop-reason.js +13 -13
- package/dist/examples/concurrent-completion-collision.js +20 -20
- package/dist/examples/config/blind-relay/blind-relay.config.js +4 -4
- package/dist/examples/config/default/default.config.js +2 -2
- package/dist/examples/config/plugins/plugins.config.js +2 -2
- package/dist/examples/config-reload.js +14 -14
- package/dist/examples/default-config-usage.js +10 -13
- package/dist/examples/delegated-inference/composite.js +23 -23
- package/dist/examples/delegated-inference/consumer-profiled.js +19 -19
- package/dist/examples/delegated-inference/consumer.js +11 -11
- package/dist/examples/delegated-inference/provider.js +24 -24
- package/dist/examples/diffusion-esrgan-upscale.js +19 -19
- package/dist/examples/diffusion-flux2-klein-img2img.js +17 -17
- package/dist/examples/diffusion-flux2-klein.js +14 -14
- package/dist/examples/diffusion-img2img.js +13 -13
- package/dist/examples/diffusion-img2vid.js +22 -23
- package/dist/examples/diffusion-simple.js +7 -7
- package/dist/examples/diffusion-txt2img.js +13 -14
- package/dist/examples/diffusion-txt2vid.js +18 -18
- package/dist/examples/download-with-blind-relays.js +7 -8
- package/dist/examples/download-with-cancel.js +9 -9
- package/dist/examples/embed-multi-gpu.js +9 -9
- package/dist/examples/embed-p2p.js +24 -24
- package/dist/examples/finetune/llamacpp-finetune.js +21 -21
- package/dist/examples/kv-cache-cleanup.js +34 -34
- package/dist/examples/kv-cache-custom-key.js +30 -30
- package/dist/examples/kv-cache-example.js +18 -20
- package/dist/examples/llamacpp-cache.js +33 -33
- package/dist/examples/llamacpp-dynamic-tools.js +38 -38
- package/dist/examples/llamacpp-filesystem.js +13 -15
- package/dist/examples/llamacpp-http.js +12 -14
- package/dist/examples/llamacpp-multi-gpu.js +12 -12
- package/dist/examples/llamacpp-multimodal.js +16 -16
- package/dist/examples/llamacpp-p2p.js +11 -11
- package/dist/examples/llamacpp-sharded.js +12 -12
- package/dist/examples/llamacpp-structured-output.js +37 -37
- package/dist/examples/logging-file-transport.js +19 -21
- package/dist/examples/logging-global.js +8 -8
- package/dist/examples/logging-streaming.js +16 -18
- package/dist/examples/mcp-websearch.js +44 -44
- package/dist/examples/multi-model-demo.js +33 -33
- package/dist/examples/ocr-fasttext.js +17 -17
- package/dist/examples/parallel-download.js +11 -13
- package/dist/examples/plugins.js +43 -43
- package/dist/examples/profiling/basic.js +34 -36
- package/dist/examples/profiling/per-call.js +16 -16
- package/dist/examples/quickstart.bare.js +4 -6
- package/dist/examples/quickstart.js +7 -7
- package/dist/examples/rag/rag-chromadb.js +26 -26
- package/dist/examples/rag/rag-hyperdb/cancellation.js +19 -20
- package/dist/examples/rag/rag-hyperdb/ingest.js +19 -19
- package/dist/examples/rag/rag-hyperdb/pipeline.js +26 -26
- package/dist/examples/rag/rag-hyperdb/workspaces.js +46 -46
- package/dist/examples/rag/rag-lancedb.js +29 -32
- package/dist/examples/rag/rag-sqlite.js +25 -25
- package/dist/examples/registry-query.js +15 -15
- package/dist/examples/seed-p2p.js +8 -8
- package/dist/examples/suspend-resume.js +20 -20
- package/dist/examples/tools/llamacpp-native-tools.js +25 -25
- package/dist/examples/tools/llamacpp-tools-gemma4.js +14 -14
- package/dist/examples/tools/llamacpp-tools-harmony-multiturn.js +15 -15
- package/dist/examples/tools/llamacpp-tools-pythonic.js +15 -15
- package/dist/examples/tools/llamacpp-tools-qwen35.js +14 -14
- package/dist/examples/tools/shared.d.ts +2 -2
- package/dist/examples/tools/shared.js +17 -17
- package/dist/examples/transcription/parakeet-ctc-filesystem.js +12 -12
- package/dist/examples/transcription/parakeet-microphone-record.js +19 -19
- package/dist/examples/transcription/parakeet-microphone-stream.js +23 -23
- package/dist/examples/transcription/parakeet-sortformer-streaming.js +18 -28
- package/dist/examples/transcription/parakeet-sortformer.js +21 -21
- package/dist/examples/transcription/parakeet-tdt-filesystem.js +13 -13
- package/dist/examples/transcription/whispercpp-filesystem-streaming.js +34 -34
- package/dist/examples/transcription/whispercpp-filesystem.js +19 -19
- package/dist/examples/transcription/whispercpp-microphone-conversation.js +27 -27
- package/dist/examples/transcription/whispercpp-microphone-record.js +21 -21
- package/dist/examples/transcription/whispercpp-prompt.js +18 -18
- package/dist/examples/translation/translation-bergamot-batch.js +17 -17
- package/dist/examples/translation/translation-bergamot-pivot.js +16 -16
- package/dist/examples/translation/translation-bergamot.js +11 -11
- package/dist/examples/translation/translation-indic.js +10 -10
- package/dist/examples/translation/translation-llm-afriquegemma.js +10 -10
- package/dist/examples/translation/translation-llm-context.js +10 -10
- package/dist/examples/translation/translation-llm.js +13 -13
- package/dist/examples/translation/translation-stream.js +11 -11
- package/dist/examples/tts/chatterbox-enhanced.d.ts +2 -0
- package/dist/examples/tts/chatterbox-enhanced.js +55 -0
- package/dist/examples/tts/chatterbox-multilingual.d.ts +2 -0
- package/dist/examples/tts/chatterbox-multilingual.js +54 -0
- package/dist/examples/tts/chatterbox.js +18 -18
- package/dist/examples/tts/llm-to-tts-streaming.js +30 -30
- package/dist/examples/tts/supertonic-enhanced.d.ts +2 -0
- package/dist/examples/tts/supertonic-enhanced.js +57 -0
- package/dist/examples/tts/supertonic-multilingual.js +19 -19
- package/dist/examples/tts/supertonic.js +18 -18
- package/dist/examples/tts/utils.js +24 -32
- package/dist/examples/vla-pi05.js +14 -14
- package/dist/examples/vla-smolvla.js +14 -14
- package/dist/examples/voice-assistant/voice-assistant.js +46 -46
- package/dist/expo/plugins/find-in-ancestor-node-modules.js +3 -3
- package/dist/expo/plugins/get-project-root.d.ts +2 -2
- package/dist/expo/plugins/get-project-root.js +1 -1
- package/dist/expo/plugins/index.d.ts +11 -11
- package/dist/expo/plugins/index.js +10 -10
- package/dist/expo/plugins/resolve-sdk-package-dir.js +7 -11
- package/dist/expo/plugins/withAndroidArchitecture.d.ts +1 -1
- package/dist/expo/plugins/withAndroidArchitecture.js +12 -12
- package/dist/expo/plugins/withAndroidNdkVersion.d.ts +1 -1
- package/dist/expo/plugins/withAndroidNdkVersion.js +9 -9
- package/dist/expo/plugins/withDeviceInfo.d.ts +1 -1
- package/dist/expo/plugins/withDeviceInfo.js +13 -13
- package/dist/expo/plugins/withMobileBundle.d.ts +1 -1
- package/dist/expo/plugins/withMobileBundle.js +34 -42
- package/dist/expo/plugins/withOpenCL.d.ts +1 -1
- package/dist/expo/plugins/withOpenCL.js +14 -16
- package/dist/expo/plugins/withQvacSDK.d.ts +1 -1
- package/dist/expo/plugins/withQvacSDK.js +12 -12
- package/dist/index.d.ts +16 -16
- package/dist/index.js +16 -17
- package/dist/logging/addon.d.ts +1 -1
- package/dist/logging/addon.js +13 -13
- package/dist/logging/base-logger.d.ts +2 -2
- package/dist/logging/base-logger.js +6 -6
- package/dist/logging/client-logger.d.ts +1 -1
- package/dist/logging/client-logger.js +3 -3
- package/dist/logging/index.d.ts +9 -9
- package/dist/logging/index.js +8 -8
- package/dist/logging/logger.d.ts +1 -1
- package/dist/logging/logger.js +4 -4
- package/dist/logging/namespaces.d.ts +1 -1
- package/dist/logging/namespaces.js +5 -5
- package/dist/logging/registry.d.ts +2 -2
- package/dist/logging/registry.js +3 -3
- package/dist/logging/server-logger.d.ts +1 -1
- package/dist/logging/server-logger.js +2 -2
- package/dist/logging/stream-logger.d.ts +1 -1
- package/dist/logging/stream-logger.js +4 -4
- package/dist/logging/transport.d.ts +1 -1
- package/dist/logging/types.d.ts +1 -1
- package/dist/logging/utils.d.ts +2 -2
- package/dist/logging/utils.js +40 -41
- package/dist/models/registry/index.d.ts +1 -1
- package/dist/models/registry/index.js +5 -5
- package/dist/models/registry/models.d.ts +429 -122
- package/dist/models/registry/models.js +13693 -13369
- package/dist/models/update-models/codegen.d.ts +1 -1
- package/dist/models/update-models/codegen.js +8 -8
- package/dist/models/update-models/companions.d.ts +6 -1
- package/dist/models/update-models/companions.js +104 -39
- package/dist/models/update-models/history.d.ts +1 -1
- package/dist/models/update-models/history.js +11 -11
- package/dist/models/update-models/index.js +32 -34
- package/dist/models/update-models/naming.d.ts +2 -2
- package/dist/models/update-models/naming.js +177 -186
- package/dist/models/update-models/processing.d.ts +2 -2
- package/dist/models/update-models/processing.js +17 -19
- package/dist/models/update-models/registry.d.ts +2 -2
- package/dist/models/update-models/registry.js +9 -9
- package/dist/models/update-models/shards.d.ts +1 -1
- package/dist/models/update-models/shards.js +3 -3
- package/dist/models/update-models/types.d.ts +1 -1
- package/dist/models/update-models/utils.js +5 -5
- package/dist/pear/pre.js +84 -84
- package/dist/profiling/aggregator.d.ts +1 -1
- package/dist/profiling/aggregator.js +6 -6
- package/dist/profiling/clock.d.ts +1 -1
- package/dist/profiling/clock.js +10 -10
- package/dist/profiling/controller.d.ts +2 -2
- package/dist/profiling/controller.js +11 -12
- package/dist/profiling/envelope.d.ts +1 -1
- package/dist/profiling/envelope.js +4 -6
- package/dist/profiling/events.d.ts +2 -2
- package/dist/profiling/events.js +8 -10
- package/dist/profiling/exporters.d.ts +1 -1
- package/dist/profiling/exporters.js +81 -79
- package/dist/profiling/index.d.ts +8 -8
- package/dist/profiling/index.js +7 -7
- package/dist/profiling/model-execution.js +2 -1
- package/dist/profiling/ring-buffer.js +2 -2
- package/dist/profiling/types.d.ts +3 -3
- package/dist/schemas/archive.d.ts +1 -1
- package/dist/schemas/archive.js +8 -14
- package/dist/schemas/batch-completion-stream.d.ts +463 -0
- package/dist/schemas/batch-completion-stream.js +124 -0
- package/dist/schemas/bci-config.d.ts +1 -1
- package/dist/schemas/bci-config.js +7 -7
- package/dist/schemas/bci.d.ts +3 -3
- package/dist/schemas/bci.js +25 -31
- package/dist/schemas/cancel.d.ts +6 -1
- package/dist/schemas/cancel.js +33 -34
- package/dist/schemas/classification.d.ts +1 -1
- package/dist/schemas/classification.js +7 -7
- package/dist/schemas/common.d.ts +194 -25
- package/dist/schemas/common.js +40 -37
- package/dist/schemas/completion-event.d.ts +11 -8
- package/dist/schemas/completion-event.js +27 -26
- package/dist/schemas/completion-stream.d.ts +4 -3
- package/dist/schemas/completion-stream.js +51 -67
- package/dist/schemas/delegate.d.ts +1 -1
- package/dist/schemas/delegate.js +7 -7
- package/dist/schemas/delete-cache.d.ts +1 -1
- package/dist/schemas/delete-cache.js +8 -8
- package/dist/schemas/download-asset.d.ts +2 -2
- package/dist/schemas/download-asset.js +21 -21
- package/dist/schemas/embed.d.ts +3 -3
- package/dist/schemas/embed.js +16 -27
- package/dist/schemas/engine-addon-map.d.ts +2 -2
- package/dist/schemas/engine-addon-map.js +24 -24
- package/dist/schemas/error.d.ts +1 -1
- package/dist/schemas/error.js +12 -13
- package/dist/schemas/finetune.d.ts +1 -1
- package/dist/schemas/finetune.js +35 -41
- package/dist/schemas/get-loaded-model-info.d.ts +1 -1
- package/dist/schemas/get-loaded-model-info.js +10 -10
- package/dist/schemas/get-model-info.d.ts +1 -1
- package/dist/schemas/get-model-info.js +48 -91
- package/dist/schemas/heartbeat.d.ts +1 -1
- package/dist/schemas/heartbeat.js +6 -6
- package/dist/schemas/index.d.ts +52 -51
- package/dist/schemas/index.js +52 -51
- package/dist/schemas/json-schema.d.ts +1 -1
- package/dist/schemas/llamacpp-config.d.ts +33 -25
- package/dist/schemas/llamacpp-config.js +43 -30
- package/dist/schemas/load-model.d.ts +160 -128
- package/dist/schemas/load-model.js +120 -126
- package/dist/schemas/logging-stream.d.ts +1 -1
- package/dist/schemas/logging-stream.js +6 -12
- package/dist/schemas/mcp-adapter.d.ts +1 -1
- package/dist/schemas/model-src-utils.d.ts +1 -1
- package/dist/schemas/model-src-utils.js +13 -13
- package/dist/schemas/model-types.d.ts +1 -1
- package/dist/schemas/model-types.js +27 -27
- package/dist/schemas/ocr.d.ts +1 -1
- package/dist/schemas/ocr.js +18 -18
- package/dist/schemas/path-validation.d.ts +1 -1
- package/dist/schemas/path-validation.js +4 -4
- package/dist/schemas/plugin.d.ts +9 -10
- package/dist/schemas/plugin.js +47 -47
- package/dist/schemas/profiling.d.ts +1 -1
- package/dist/schemas/profiling.js +16 -16
- package/dist/schemas/provide.d.ts +1 -1
- package/dist/schemas/provide.js +8 -8
- package/dist/schemas/rag.d.ts +3 -3
- package/dist/schemas/rag.js +65 -70
- package/dist/schemas/registry.d.ts +1 -1
- package/dist/schemas/registry.js +44 -66
- package/dist/schemas/reload-config.d.ts +1 -1
- package/dist/schemas/reload-config.js +14 -18
- package/dist/schemas/resume.d.ts +1 -1
- package/dist/schemas/resume.js +3 -3
- package/dist/schemas/runtime-context.d.ts +1 -1
- package/dist/schemas/runtime-context.js +4 -4
- package/dist/schemas/sdcpp-config.d.ts +9 -9
- package/dist/schemas/sdcpp-config.js +298 -300
- package/dist/schemas/sdk-config.d.ts +55 -43
- package/dist/schemas/sdk-config.js +25 -29
- package/dist/schemas/sdk-errors-client.d.ts +1 -1
- package/dist/schemas/sdk-errors-client.js +80 -80
- package/dist/schemas/sdk-errors-registry.js +1 -1
- package/dist/schemas/sdk-errors-server.d.ts +1 -1
- package/dist/schemas/sdk-errors-server.js +200 -199
- package/dist/schemas/shard.d.ts +1 -1
- package/dist/schemas/shard.js +4 -4
- package/dist/schemas/state.d.ts +1 -1
- package/dist/schemas/state.js +5 -10
- package/dist/schemas/stop-provide.d.ts +1 -1
- package/dist/schemas/stop-provide.js +4 -4
- package/dist/schemas/suspend.d.ts +1 -1
- package/dist/schemas/suspend.js +3 -3
- package/dist/schemas/text-to-speech.d.ts +455 -3
- package/dist/schemas/text-to-speech.js +146 -110
- package/dist/schemas/tools.d.ts +1 -1
- package/dist/schemas/tools.js +17 -24
- package/dist/schemas/transcription-config.d.ts +1 -1
- package/dist/schemas/transcription-config.js +18 -18
- package/dist/schemas/transcription.d.ts +5 -5
- package/dist/schemas/transcription.js +31 -33
- package/dist/schemas/translate.d.ts +3 -3
- package/dist/schemas/translate.js +38 -67
- package/dist/schemas/translation-config.d.ts +1 -1
- package/dist/schemas/translation-config.js +116 -123
- package/dist/schemas/unload-model.d.ts +1 -1
- package/dist/schemas/unload-model.js +6 -6
- package/dist/schemas/vla.d.ts +1 -1
- package/dist/schemas/vla.js +30 -30
- package/dist/scripts/run-security-tests.js +9 -10
- package/dist/scripts/run-unit-tests.js +11 -12
- package/dist/server/bare/delegate-connect-diagnostics.js +13 -19
- package/dist/server/bare/delegate-rpc-client.d.ts +2 -2
- package/dist/server/bare/delegate-rpc-client.js +32 -34
- package/dist/server/bare/hyperswarm.d.ts +3 -3
- package/dist/server/bare/hyperswarm.js +14 -14
- package/dist/server/bare/ops/bci-transcribe.d.ts +1 -1
- package/dist/server/bare/ops/bci-transcribe.js +44 -44
- package/dist/server/bare/ops/cancel.d.ts +2 -2
- package/dist/server/bare/ops/cancel.js +6 -6
- package/dist/server/bare/ops/embed.d.ts +1 -1
- package/dist/server/bare/ops/embed.js +26 -16
- package/dist/server/bare/ops/kv-cache-utils.d.ts +1 -1
- package/dist/server/bare/ops/kv-cache-utils.js +17 -19
- package/dist/server/bare/ops/load-model.d.ts +2 -2
- package/dist/server/bare/ops/load-model.js +14 -18
- package/dist/server/bare/ops/transcribe.d.ts +3 -3
- package/dist/server/bare/ops/transcribe.js +62 -62
- package/dist/server/bare/ops/translate.d.ts +1 -1
- package/dist/server/bare/ops/translate.js +39 -30
- package/dist/server/bare/ops/unload-model.d.ts +1 -1
- package/dist/server/bare/ops/unload-model.js +12 -12
- package/dist/server/bare/plugins/bci-whispercpp-transcription/args.d.ts +2 -2
- package/dist/server/bare/plugins/bci-whispercpp-transcription/args.js +3 -3
- package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.d.ts +2 -2
- package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.js +33 -33
- package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.d.ts +1 -1
- package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.js +1 -1
- package/dist/server/bare/plugins/ggml-classification/ops/classify.d.ts +1 -1
- package/dist/server/bare/plugins/ggml-classification/ops/classify.js +8 -8
- package/dist/server/bare/plugins/ggml-classification/plugin.d.ts +1 -1
- package/dist/server/bare/plugins/ggml-classification/plugin.js +14 -14
- package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.d.ts +1 -1
- package/dist/server/bare/plugins/ggml-ocr/ops/ocr-stream.js +27 -26
- package/dist/server/bare/plugins/ggml-ocr/plugin.d.ts +1 -1
- package/dist/server/bare/plugins/ggml-ocr/plugin.js +38 -38
- package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.d.ts +1 -1
- package/dist/server/bare/plugins/ggml-vla/ops/vla-hparams.js +3 -3
- package/dist/server/bare/plugins/ggml-vla/ops/vla-run.d.ts +1 -1
- package/dist/server/bare/plugins/ggml-vla/ops/vla-run.js +23 -23
- package/dist/server/bare/plugins/ggml-vla/plugin.d.ts +1 -1
- package/dist/server/bare/plugins/ggml-vla/plugin.js +15 -15
- package/dist/server/bare/plugins/index.d.ts +11 -11
- package/dist/server/bare/plugins/index.js +11 -11
- package/dist/server/bare/plugins/llamacpp-completion/ops/batch-cancelled.d.ts +23 -0
- package/dist/server/bare/plugins/llamacpp-completion/ops/batch-cancelled.js +30 -0
- package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.d.ts +32 -0
- package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.js +99 -0
- package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.d.ts +1 -1
- package/dist/server/bare/plugins/llamacpp-completion/ops/cache-logger.js +8 -8
- package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.d.ts +3 -2
- package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.js +4 -1
- package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.d.ts +22 -4
- package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.js +55 -59
- package/dist/server/bare/plugins/llamacpp-completion/ops/context-overflow.js +5 -5
- package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.d.ts +2 -2
- package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.js +34 -34
- package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.d.ts +7 -7
- package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.js +19 -23
- package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.js +4 -6
- package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +186 -17
- package/dist/server/bare/plugins/llamacpp-completion/plugin.js +235 -70
- package/dist/server/bare/plugins/llamacpp-completion/transform.d.ts +1 -1
- package/dist/server/bare/plugins/llamacpp-completion/transform.js +15 -15
- package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +3 -3
- package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +27 -29
- package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +1 -1
- package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +38 -39
- package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.d.ts +1 -1
- package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.js +19 -22
- package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +1 -1
- package/dist/server/bare/plugins/parakeet-transcription/plugin.js +36 -36
- package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.d.ts +1 -1
- package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.js +15 -17
- package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.d.ts +1 -1
- package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.js +11 -11
- package/dist/server/bare/plugins/sdcpp-generation/ops/video.d.ts +1 -1
- package/dist/server/bare/plugins/sdcpp-generation/ops/video.js +42 -44
- package/dist/server/bare/plugins/sdcpp-generation/plugin.d.ts +4 -4
- package/dist/server/bare/plugins/sdcpp-generation/plugin.js +69 -63
- package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.d.ts +2 -2
- package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech-stream.js +19 -21
- package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.d.ts +2 -2
- package/dist/server/bare/plugins/tts-ggml/ops/text-to-speech.js +22 -24
- package/dist/server/bare/plugins/tts-ggml/plugin.d.ts +3 -2
- package/dist/server/bare/plugins/tts-ggml/plugin.js +95 -49
- package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +1 -1
- package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +52 -52
- package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/chunk.js +2 -2
- package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +2 -2
- package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +4 -4
- package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +3 -3
- package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +2 -2
- package/dist/server/bare/rag-hyperdb/handlers/ingest.js +4 -4
- package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +2 -2
- package/dist/server/bare/rag-hyperdb/handlers/reindex.js +5 -5
- package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +2 -2
- package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +3 -3
- package/dist/server/bare/rag-hyperdb/handlers/search.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/search.js +3 -3
- package/dist/server/bare/rag-hyperdb/index.d.ts +11 -11
- package/dist/server/bare/rag-hyperdb/index.js +11 -11
- package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +3 -3
- package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +20 -20
- package/dist/server/bare/registry/config-registry.d.ts +1 -1
- package/dist/server/bare/registry/config-registry.js +13 -16
- package/dist/server/bare/registry/logging-stream-registry.d.ts +1 -1
- package/dist/server/bare/registry/logging-stream-registry.js +2 -2
- package/dist/server/bare/registry/model-config-registry.d.ts +2 -2
- package/dist/server/bare/registry/model-config-registry.js +6 -6
- package/dist/server/bare/registry/model-config-utils.d.ts +2 -2
- package/dist/server/bare/registry/model-config-utils.js +35 -35
- package/dist/server/bare/registry/model-registry.d.ts +3 -3
- package/dist/server/bare/registry/model-registry.js +11 -11
- package/dist/server/bare/registry/registry-client.d.ts +1 -1
- package/dist/server/bare/registry/registry-client.js +18 -18
- package/dist/server/bare/registry/runtime-context-registry.d.ts +1 -1
- package/dist/server/bare/registry/runtime-context-registry.js +3 -3
- package/dist/server/bare/runtime/disposable-scope.js +3 -3
- package/dist/server/bare/runtime/index.d.ts +7 -7
- package/dist/server/bare/runtime/index.js +3 -3
- package/dist/server/bare/runtime/request-context.d.ts +4 -4
- package/dist/server/bare/runtime/request-id.js +1 -1
- package/dist/server/bare/runtime/request-registry-singleton.d.ts +1 -1
- package/dist/server/bare/runtime/request-registry-singleton.js +23 -4
- package/dist/server/bare/runtime/request-registry.d.ts +27 -12
- package/dist/server/bare/runtime/request-registry.js +39 -34
- package/dist/server/bare/runtime/with-request-context.d.ts +1 -1
- package/dist/server/bare/runtime/with-request-context.js +11 -11
- package/dist/server/bare/runtime-lifecycle.d.ts +1 -1
- package/dist/server/bare/runtime-lifecycle.js +27 -31
- package/dist/server/bare/types/addon-responses.d.ts +5 -4
- package/dist/server/bare/utils/audio-input.d.ts +2 -2
- package/dist/server/bare/utils/audio-input.js +7 -7
- package/dist/server/bare/utils/transcribe-metadata.d.ts +1 -1
- package/dist/server/bare/utils/transcribe-metadata.js +4 -4
- package/dist/server/bare/utils/tts-stats.d.ts +1 -1
- package/dist/server/bare/utils/tts-stats.js +3 -3
- package/dist/server/env.js +8 -8
- package/dist/server/error-handlers.d.ts +3 -3
- package/dist/server/error-handlers.js +11 -11
- package/dist/server/plugins/index.d.ts +1 -1
- package/dist/server/plugins/index.js +1 -1
- package/dist/server/plugins/registry.d.ts +1 -1
- package/dist/server/plugins/registry.js +12 -14
- package/dist/server/rpc/create-server.d.ts +1 -1
- package/dist/server/rpc/create-server.js +11 -12
- package/dist/server/rpc/delegate-transport.d.ts +3 -3
- package/dist/server/rpc/delegate-transport.js +43 -44
- package/dist/server/rpc/handle-request.d.ts +1 -1
- package/dist/server/rpc/handle-request.js +28 -30
- package/dist/server/rpc/handler-registry.d.ts +1 -1
- package/dist/server/rpc/handler-registry.js +97 -92
- package/dist/server/rpc/handler-selection.d.ts +3 -3
- package/dist/server/rpc/handler-selection.js +3 -3
- package/dist/server/rpc/handler-utils.d.ts +7 -7
- package/dist/server/rpc/handler-utils.js +32 -35
- package/dist/server/rpc/handlers/batch-completion-stream.d.ts +78 -0
- package/dist/server/rpc/handlers/batch-completion-stream.js +4 -0
- package/dist/server/rpc/handlers/bci-transcribe-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/bci-transcribe-stream.js +2 -2
- package/dist/server/rpc/handlers/bci-transcribe.d.ts +1 -1
- package/dist/server/rpc/handlers/bci-transcribe.js +2 -2
- package/dist/server/rpc/handlers/cancel-delegated.d.ts +2 -2
- package/dist/server/rpc/handlers/cancel-delegated.js +13 -13
- package/dist/server/rpc/handlers/cancelHandler.d.ts +1 -1
- package/dist/server/rpc/handlers/cancelHandler.js +11 -11
- package/dist/server/rpc/handlers/classify.d.ts +1 -1
- package/dist/server/rpc/handlers/classify.js +2 -2
- package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +2 -2
- package/dist/server/rpc/handlers/completion-stream-delegated.js +14 -14
- package/dist/server/rpc/handlers/completion-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/completion-stream.js +2 -2
- package/dist/server/rpc/handlers/delete-cache.d.ts +1 -1
- package/dist/server/rpc/handlers/delete-cache.js +10 -10
- package/dist/server/rpc/handlers/diffusion-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/diffusion-stream.js +2 -2
- package/dist/server/rpc/handlers/download-asset.d.ts +1 -1
- package/dist/server/rpc/handlers/download-asset.js +20 -20
- package/dist/server/rpc/handlers/embed.d.ts +1 -1
- package/dist/server/rpc/handlers/embed.js +2 -2
- package/dist/server/rpc/handlers/finetune.d.ts +1 -1
- package/dist/server/rpc/handlers/finetune.js +8 -6
- package/dist/server/rpc/handlers/get-loaded-model-info.d.ts +1 -1
- package/dist/server/rpc/handlers/get-loaded-model-info.js +9 -9
- package/dist/server/rpc/handlers/get-model-info.d.ts +1 -1
- package/dist/server/rpc/handlers/get-model-info.js +20 -20
- package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +2 -2
- package/dist/server/rpc/handlers/heartbeat-delegated.js +7 -7
- package/dist/server/rpc/handlers/heartbeat.d.ts +1 -1
- package/dist/server/rpc/handlers/heartbeat.js +1 -1
- package/dist/server/rpc/handlers/index.d.ts +33 -31
- package/dist/server/rpc/handlers/index.js +34 -32
- package/dist/server/rpc/handlers/load-model/download-manager.d.ts +4 -4
- package/dist/server/rpc/handlers/load-model/download-manager.js +19 -17
- package/dist/server/rpc/handlers/load-model/download-stats.d.ts +4 -3
- package/dist/server/rpc/handlers/load-model/download-stats.js +9 -11
- package/dist/server/rpc/handlers/load-model/handler.d.ts +1 -1
- package/dist/server/rpc/handlers/load-model/handler.js +42 -43
- package/dist/server/rpc/handlers/load-model/http.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model/http.js +100 -107
- package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model/hyperdrive.js +72 -74
- 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/registry-client-options.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model/registry-client-options.js +2 -3
- package/dist/server/rpc/handlers/load-model/registry-companion-set.d.ts +5 -5
- package/dist/server/rpc/handlers/load-model/registry-companion-set.js +19 -21
- package/dist/server/rpc/handlers/load-model/registry-download-utils.d.ts +6 -6
- package/dist/server/rpc/handlers/load-model/registry-download-utils.js +16 -18
- package/dist/server/rpc/handlers/load-model/registry-metadata.d.ts +11 -0
- package/dist/server/rpc/handlers/load-model/registry-metadata.js +23 -0
- package/dist/server/rpc/handlers/load-model/registry.d.ts +4 -3
- package/dist/server/rpc/handlers/load-model/registry.js +50 -56
- package/dist/server/rpc/handlers/load-model/resolve-session.d.ts +3 -3
- package/dist/server/rpc/handlers/load-model/resolve-session.js +7 -7
- package/dist/server/rpc/handlers/load-model/resolve.d.ts +3 -3
- package/dist/server/rpc/handlers/load-model/resolve.js +36 -35
- package/dist/server/rpc/handlers/load-model/types.d.ts +3 -3
- package/dist/server/rpc/handlers/load-model/types.js +7 -7
- package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model-delegated.js +31 -30
- package/dist/server/rpc/handlers/logging-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/logging-stream.js +3 -3
- package/dist/server/rpc/handlers/ocr-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/ocr-stream.js +2 -2
- package/dist/server/rpc/handlers/plugin-dispatch.js +9 -9
- package/dist/server/rpc/handlers/plugin-invoke.d.ts +1 -1
- package/dist/server/rpc/handlers/plugin-invoke.js +16 -16
- package/dist/server/rpc/handlers/provideHandler/connection.d.ts +1 -1
- package/dist/server/rpc/handlers/provideHandler/connection.js +16 -16
- package/dist/server/rpc/handlers/provideHandler/handler.d.ts +1 -1
- package/dist/server/rpc/handlers/provideHandler/handler.js +18 -18
- package/dist/server/rpc/handlers/provideHandler/proxy.d.ts +1 -1
- package/dist/server/rpc/handlers/provideHandler/proxy.js +11 -11
- package/dist/server/rpc/handlers/provideHandler.d.ts +1 -1
- package/dist/server/rpc/handlers/provideHandler.js +1 -1
- package/dist/server/rpc/handlers/rag.d.ts +1 -1
- package/dist/server/rpc/handlers/rag.js +50 -50
- package/dist/server/rpc/handlers/registry.d.ts +1 -1
- package/dist/server/rpc/handlers/registry.js +34 -36
- package/dist/server/rpc/handlers/resume.d.ts +1 -1
- package/dist/server/rpc/handlers/resume.js +3 -3
- package/dist/server/rpc/handlers/state.d.ts +1 -1
- package/dist/server/rpc/handlers/state.js +3 -3
- package/dist/server/rpc/handlers/stopProvideHandler.d.ts +1 -1
- package/dist/server/rpc/handlers/stopProvideHandler.js +7 -7
- package/dist/server/rpc/handlers/suspend.d.ts +1 -1
- package/dist/server/rpc/handlers/suspend.js +3 -3
- package/dist/server/rpc/handlers/text-to-speech-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/text-to-speech-stream.js +2 -2
- package/dist/server/rpc/handlers/text-to-speech.d.ts +1 -1
- package/dist/server/rpc/handlers/text-to-speech.js +2 -2
- package/dist/server/rpc/handlers/transcribe-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/transcribe-stream.js +2 -2
- package/dist/server/rpc/handlers/transcribe.d.ts +1 -1
- package/dist/server/rpc/handlers/transcribe.js +2 -2
- package/dist/server/rpc/handlers/translate.d.ts +1 -1
- package/dist/server/rpc/handlers/translate.js +2 -2
- package/dist/server/rpc/handlers/unload-model-delegated.d.ts +1 -1
- package/dist/server/rpc/handlers/unload-model-delegated.js +10 -10
- package/dist/server/rpc/handlers/unload-model.d.ts +1 -1
- package/dist/server/rpc/handlers/unload-model.js +10 -10
- package/dist/server/rpc/handlers/upscale-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/upscale-stream.js +2 -2
- package/dist/server/rpc/handlers/video-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/video-stream.js +2 -2
- package/dist/server/rpc/index.d.ts +2 -2
- package/dist/server/rpc/index.js +2 -2
- package/dist/server/rpc/profiling/context.d.ts +1 -1
- package/dist/server/rpc/profiling/context.js +9 -10
- package/dist/server/rpc/profiling/delegation-profiler.d.ts +2 -2
- package/dist/server/rpc/profiling/delegation-profiler.js +23 -24
- package/dist/server/rpc/profiling/index.d.ts +4 -4
- package/dist/server/rpc/profiling/index.js +4 -4
- package/dist/server/rpc/profiling/operation-metrics.d.ts +2 -2
- package/dist/server/rpc/profiling/operation-metrics.js +102 -102
- package/dist/server/rpc/profiling/operation-wrappers.d.ts +1 -1
- package/dist/server/rpc/profiling/operation-wrappers.js +16 -14
- package/dist/server/rpc/profiling/profiler.d.ts +2 -2
- package/dist/server/rpc/profiling/profiler.js +9 -13
- package/dist/server/rpc/rpc-utils.js +1 -4
- package/dist/server/rpc/transport-selector.d.ts +1 -1
- package/dist/server/rpc/transport-selector.js +4 -4
- package/dist/server/utils/archive.js +27 -29
- package/dist/server/utils/audio/decoder.d.ts +2 -2
- package/dist/server/utils/audio/decoder.js +11 -11
- package/dist/server/utils/cache/auto-history.d.ts +1 -1
- package/dist/server/utils/cache/auto-history.js +5 -5
- package/dist/server/utils/cache/paths.d.ts +2 -2
- package/dist/server/utils/cache/paths.js +14 -14
- package/dist/server/utils/checksum.d.ts +1 -1
- package/dist/server/utils/checksum.js +10 -12
- package/dist/server/utils/clear-storage.d.ts +1 -1
- package/dist/server/utils/clear-storage.js +8 -11
- package/dist/server/utils/completion-normalizer.d.ts +1 -1
- package/dist/server/utils/completion-normalizer.js +106 -113
- package/dist/server/utils/config-transform.d.ts +1 -1
- package/dist/server/utils/config-transform.js +2 -2
- package/dist/server/utils/expand-gguf-shards.js +4 -4
- package/dist/server/utils/formatting.js +6 -12
- package/dist/server/utils/gguf-tensor-extractor.js +17 -21
- package/dist/server/utils/index.d.ts +11 -11
- package/dist/server/utils/index.js +11 -11
- package/dist/server/utils/multi-gpu-mobile.js +1 -1
- package/dist/server/utils/path-security.d.ts +1 -1
- package/dist/server/utils/path-security.js +6 -6
- package/dist/server/utils/qvac-paths.js +3 -3
- package/dist/server/utils/response-format.d.ts +1 -1
- package/dist/server/utils/response-format.js +4 -4
- package/dist/server/utils/shard-utils.d.ts +1 -1
- package/dist/server/utils/shard-utils.js +14 -16
- package/dist/server/utils/tool-integration.d.ts +1 -1
- package/dist/server/utils/tool-integration.js +5 -9
- package/dist/server/utils/tools/dialect.d.ts +1 -1
- package/dist/server/utils/tools/dialect.js +7 -7
- package/dist/server/utils/tools/index.d.ts +2 -2
- package/dist/server/utils/tools/index.js +2 -2
- package/dist/server/utils/tools/parser.d.ts +1 -1
- package/dist/server/utils/tools/parser.js +14 -14
- package/dist/server/utils/tools/parsers/gemma4native.d.ts +2 -2
- package/dist/server/utils/tools/parsers/gemma4native.js +13 -8
- package/dist/server/utils/tools/parsers/harmony.d.ts +2 -2
- package/dist/server/utils/tools/parsers/harmony.js +9 -11
- package/dist/server/utils/tools/parsers/hermes.d.ts +2 -2
- package/dist/server/utils/tools/parsers/hermes.js +16 -16
- package/dist/server/utils/tools/parsers/json.d.ts +2 -2
- package/dist/server/utils/tools/parsers/json.js +14 -14
- package/dist/server/utils/tools/parsers/pythonic.d.ts +2 -2
- package/dist/server/utils/tools/parsers/pythonic.js +43 -43
- package/dist/server/utils/tools/parsers/qwen35.d.ts +2 -2
- package/dist/server/utils/tools/parsers/qwen35.js +20 -20
- package/dist/server/utils/tools/shared.d.ts +1 -1
- package/dist/server/utils/tools/shared.js +10 -12
- package/dist/server/utils/worker-lock.js +10 -10
- package/dist/server/worker-core.d.ts +1 -1
- package/dist/server/worker-core.js +44 -43
- package/dist/server/worker.js +9 -9
- package/dist/utils/aggregate-events.d.ts +2 -2
- package/dist/utils/aggregate-events.js +17 -19
- package/dist/utils/cache-normalize.js +1 -4
- package/dist/utils/encoding.js +1 -1
- package/dist/utils/errors-base.d.ts +1 -1
- package/dist/utils/errors-base.js +1 -1
- package/dist/utils/errors-client.d.ts +1 -1
- package/dist/utils/errors-client.js +5 -5
- package/dist/utils/errors-server.d.ts +3 -3
- package/dist/utils/errors-server.js +19 -18
- package/dist/utils/load-model-validation.js +3 -3
- package/dist/utils/mcp-adapter.d.ts +4 -4
- package/dist/utils/mcp-adapter.js +31 -38
- package/dist/utils/path-sanitize.js +14 -17
- package/dist/utils/tool-helpers.d.ts +2 -2
- package/dist/utils/tool-helpers.js +25 -26
- package/dist/utils/withTimeout.d.ts +7 -0
- package/dist/utils/withTimeout.js +11 -1
- package/dist/utils/zod-error.d.ts +1 -1
- package/dist/utils/zod-error.js +1 -1
- package/electron-forge/index.cjs +274 -317
- package/expo/plugins/patches/android-link.mjs +25 -30
- package/expo/plugins/patches/ios-link.mjs +25 -30
- package/package.json +17 -16
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { normalizeModelType, PROFILING_KEY } from
|
|
2
|
-
import os from
|
|
3
|
-
import { registry } from
|
|
4
|
-
import { handlerSupportsProgress, selectHandler
|
|
5
|
-
import { createErrorResponse } from
|
|
6
|
-
import { RPCNoHandlerError, RPCRequestNotSentError
|
|
7
|
-
import { initializeConfig } from
|
|
8
|
-
import { setSDKConfig } from
|
|
9
|
-
import { setRuntimeContext } from
|
|
10
|
-
import { resolveModelConfig } from
|
|
11
|
-
import { resolveConfig } from
|
|
12
|
-
import { initializeWorkerCore, cleanupForTerminate
|
|
13
|
-
import { assertLifecycleAllowed } from
|
|
14
|
-
import { ensurePluginsRegistered } from
|
|
1
|
+
import { normalizeModelType, PROFILING_KEY } from '../../schemas/index.js';
|
|
2
|
+
import os from 'bare-os';
|
|
3
|
+
import { registry } from '../../server/rpc/handler-registry.js';
|
|
4
|
+
import { handlerSupportsProgress, selectHandler } from '../../server/rpc/handler-selection.js';
|
|
5
|
+
import { createErrorResponse } from '../../schemas/index.js';
|
|
6
|
+
import { RPCNoHandlerError, RPCRequestNotSentError } from '../../utils/errors-client.js';
|
|
7
|
+
import { initializeConfig } from '../init-hooks.js';
|
|
8
|
+
import { setSDKConfig } from '../../server/bare/registry/config-registry.js';
|
|
9
|
+
import { setRuntimeContext } from '../../server/bare/registry/runtime-context-registry.js';
|
|
10
|
+
import { resolveModelConfig } from '../../server/bare/registry/model-config-registry.js';
|
|
11
|
+
import { resolveConfig } from '../config-loader/resolve-config.bare.js';
|
|
12
|
+
import { initializeWorkerCore, cleanupForTerminate } from '../../server/worker-core.js';
|
|
13
|
+
import { assertLifecycleAllowed } from '../../server/bare/runtime-lifecycle.js';
|
|
14
|
+
import { ensurePluginsRegistered } from './ensure-worker-ready.js';
|
|
15
15
|
async function ensureWorkerReady() {
|
|
16
16
|
initializeWorkerCore();
|
|
17
17
|
await ensurePluginsRegistered();
|
|
@@ -24,7 +24,7 @@ function getHandlerEntry(type) {
|
|
|
24
24
|
return entry;
|
|
25
25
|
}
|
|
26
26
|
function applyDeviceDefaultsToLoadModel(request) {
|
|
27
|
-
if (request.type !==
|
|
27
|
+
if (request.type !== 'loadModel' || !('modelSrc' in request)) {
|
|
28
28
|
return request;
|
|
29
29
|
}
|
|
30
30
|
let canonicalType;
|
|
@@ -66,9 +66,7 @@ function executeDirectHandler(request, handler, isDelegated) {
|
|
|
66
66
|
return directHandler(request);
|
|
67
67
|
}
|
|
68
68
|
function isAsyncGenerator(result) {
|
|
69
|
-
return
|
|
70
|
-
result !== null &&
|
|
71
|
-
Symbol.asyncIterator in result);
|
|
69
|
+
return typeof result === 'object' && result !== null && Symbol.asyncIterator in result;
|
|
72
70
|
}
|
|
73
71
|
async function* streamWithProgress(request, handler, isDelegated) {
|
|
74
72
|
const queue = [];
|
|
@@ -78,9 +76,7 @@ async function* streamWithProgress(request, handler, isDelegated) {
|
|
|
78
76
|
queue.push(update);
|
|
79
77
|
}
|
|
80
78
|
const directHandler = handler;
|
|
81
|
-
Promise.resolve(directHandler(request, isDelegated
|
|
82
|
-
? createDelegatedOptions(request, progressCallback)
|
|
83
|
-
: progressCallback))
|
|
79
|
+
Promise.resolve(directHandler(request, isDelegated ? createDelegatedOptions(request, progressCallback) : progressCallback))
|
|
84
80
|
.then((final) => {
|
|
85
81
|
queue.push(final);
|
|
86
82
|
done = true;
|
|
@@ -142,9 +138,9 @@ function createMockRPCRequest() {
|
|
|
142
138
|
throw new RPCRequestNotSentError();
|
|
143
139
|
}
|
|
144
140
|
// Handle special internal config initialization message
|
|
145
|
-
if (typeof requestData ===
|
|
146
|
-
|
|
147
|
-
requestData.type ===
|
|
141
|
+
if (typeof requestData === 'object' &&
|
|
142
|
+
'type' in requestData &&
|
|
143
|
+
requestData.type === '__init_config') {
|
|
148
144
|
try {
|
|
149
145
|
const initData = requestData;
|
|
150
146
|
if (initData.config) {
|
|
@@ -158,16 +154,16 @@ function createMockRPCRequest() {
|
|
|
158
154
|
catch (error) {
|
|
159
155
|
return Buffer.from(JSON.stringify({
|
|
160
156
|
success: false,
|
|
161
|
-
error: error instanceof Error ? error.message : String(error)
|
|
157
|
+
error: error instanceof Error ? error.message : String(error)
|
|
162
158
|
}));
|
|
163
159
|
}
|
|
164
160
|
}
|
|
165
161
|
// Handle special pre-terminate cleanup signal. In direct mode the
|
|
166
162
|
// bare runtime is the host JS context, so we run cleanup but never
|
|
167
163
|
// exit the process here.
|
|
168
|
-
if (typeof requestData ===
|
|
169
|
-
|
|
170
|
-
requestData.type ===
|
|
164
|
+
if (typeof requestData === 'object' &&
|
|
165
|
+
'type' in requestData &&
|
|
166
|
+
requestData.type === '__shutdown__') {
|
|
171
167
|
try {
|
|
172
168
|
await cleanupForTerminate();
|
|
173
169
|
return Buffer.from(JSON.stringify({ success: true }));
|
|
@@ -175,7 +171,7 @@ function createMockRPCRequest() {
|
|
|
175
171
|
catch (error) {
|
|
176
172
|
return Buffer.from(JSON.stringify({
|
|
177
173
|
success: false,
|
|
178
|
-
error: error instanceof Error ? error.message : String(error)
|
|
174
|
+
error: error instanceof Error ? error.message : String(error)
|
|
179
175
|
}));
|
|
180
176
|
}
|
|
181
177
|
}
|
|
@@ -187,9 +183,9 @@ function createMockRPCRequest() {
|
|
|
187
183
|
throw new RPCRequestNotSentError();
|
|
188
184
|
}
|
|
189
185
|
for await (const response of stream(requestData)) {
|
|
190
|
-
yield Buffer.from(JSON.stringify(response) +
|
|
186
|
+
yield Buffer.from(JSON.stringify(response) + '\n');
|
|
191
187
|
}
|
|
192
|
-
}
|
|
188
|
+
}
|
|
193
189
|
};
|
|
194
190
|
}
|
|
195
191
|
let configInitialized = false;
|
|
@@ -197,18 +193,20 @@ let configInitialized = false;
|
|
|
197
193
|
export function getWorkerLifeSignal() {
|
|
198
194
|
return null;
|
|
199
195
|
}
|
|
196
|
+
// No life signal on Bare-direct, so the RPC layer never calls this โ `#rpc` interface stub.
|
|
197
|
+
export function notifyChannelClosed() { }
|
|
200
198
|
export async function getRPC() {
|
|
201
199
|
await ensureWorkerReady();
|
|
202
200
|
const mockRPC = {
|
|
203
201
|
request() {
|
|
204
202
|
return createMockRPCRequest();
|
|
205
|
-
}
|
|
203
|
+
}
|
|
206
204
|
};
|
|
207
205
|
// Initialize config once on first call
|
|
208
206
|
if (!configInitialized) {
|
|
209
207
|
const runtimeContext = {
|
|
210
|
-
runtime:
|
|
211
|
-
platform: os.platform()
|
|
208
|
+
runtime: 'bare',
|
|
209
|
+
platform: os.platform()
|
|
212
210
|
};
|
|
213
211
|
await initializeConfig(mockRPC, resolveConfig, runtimeContext);
|
|
214
212
|
configInitialized = true;
|
|
@@ -221,11 +219,11 @@ export async function close() {
|
|
|
221
219
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
222
220
|
export async function createDuplexSession(payload, _commandId) {
|
|
223
221
|
await getRPC();
|
|
224
|
-
const { PassThrough } = await import(
|
|
222
|
+
const { PassThrough } = await import('bare-stream');
|
|
225
223
|
const request = JSON.parse(payload);
|
|
226
224
|
assertLifecycleAllowed(request);
|
|
227
225
|
const entry = registry[request.type];
|
|
228
|
-
if (!entry || entry.type !==
|
|
226
|
+
if (!entry || entry.type !== 'duplex') {
|
|
229
227
|
throw new RPCNoHandlerError(request.type);
|
|
230
228
|
}
|
|
231
229
|
const inputStream = new PassThrough();
|
|
@@ -234,13 +232,13 @@ export async function createDuplexSession(payload, _commandId) {
|
|
|
234
232
|
void (async () => {
|
|
235
233
|
try {
|
|
236
234
|
for await (const response of duplexHandler(request, inputStream)) {
|
|
237
|
-
outputStream.write(JSON.stringify(response) +
|
|
235
|
+
outputStream.write(JSON.stringify(response) + '\n', 'utf-8');
|
|
238
236
|
}
|
|
239
237
|
}
|
|
240
238
|
catch (error) {
|
|
241
239
|
inputStream.destroy();
|
|
242
240
|
const errorResponse = createErrorResponse(error);
|
|
243
|
-
outputStream.write(JSON.stringify(errorResponse) +
|
|
241
|
+
outputStream.write(JSON.stringify(errorResponse) + '\n', 'utf-8');
|
|
244
242
|
}
|
|
245
243
|
finally {
|
|
246
244
|
outputStream.end();
|
|
@@ -248,6 +246,6 @@ export async function createDuplexSession(payload, _commandId) {
|
|
|
248
246
|
})();
|
|
249
247
|
return {
|
|
250
248
|
requestStream: inputStream,
|
|
251
|
-
responseStream: outputStream
|
|
249
|
+
responseStream: outputStream
|
|
252
250
|
};
|
|
253
251
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { getAllPlugins } from
|
|
2
|
-
import { PearWorkerEntryRequiredError, WorkerPluginsNotRegisteredError
|
|
3
|
-
const PEAR_WORKER_ENTRY_PATH =
|
|
1
|
+
import { getAllPlugins } from '../../server/plugins/index.js';
|
|
2
|
+
import { PearWorkerEntryRequiredError, WorkerPluginsNotRegisteredError } from '../../utils/errors-client.js';
|
|
3
|
+
const PEAR_WORKER_ENTRY_PATH = 'qvac/worker.pear.entry.mjs';
|
|
4
4
|
/**
|
|
5
5
|
* Throw if no plugins are registered before an SDK call. On Pear,
|
|
6
6
|
* point at the generated worker entry; otherwise raise a generic
|
|
@@ -9,7 +9,7 @@ const PEAR_WORKER_ENTRY_PATH = "qvac/worker.pear.entry.mjs";
|
|
|
9
9
|
export async function ensurePluginsRegistered(opts) {
|
|
10
10
|
if (getAllPlugins().length > 0)
|
|
11
11
|
return;
|
|
12
|
-
const isPear = opts?.isPear ?? (await import(
|
|
12
|
+
const isPear = opts?.isPear ?? (await import('which-runtime')).isPear;
|
|
13
13
|
if (isPear) {
|
|
14
14
|
throw new PearWorkerEntryRequiredError(PEAR_WORKER_ENTRY_PATH);
|
|
15
15
|
}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { getClientLogger } from
|
|
1
|
+
import { getClientLogger } from '../../logging/index.js';
|
|
2
2
|
const logger = getClientLogger();
|
|
3
3
|
export async function getDeviceInfo() {
|
|
4
4
|
try {
|
|
5
|
-
const expoModulesCore = await import(
|
|
5
|
+
const expoModulesCore = await import('expo-modules-core');
|
|
6
6
|
// this looks odd, but is necessary to ensure that import can be used safely.
|
|
7
7
|
// It will crash the app if the module is not installed, but the node dependency is present.
|
|
8
|
-
const nativeDeviceModule = expoModulesCore.requireOptionalNativeModule(
|
|
8
|
+
const nativeDeviceModule = expoModulesCore.requireOptionalNativeModule('ExpoDevice');
|
|
9
9
|
if (nativeDeviceModule) {
|
|
10
|
-
const Device = await import(
|
|
10
|
+
const Device = await import('expo-device');
|
|
11
11
|
logger.info(`Device: ${Device.modelName} ${Device.brand} ${Device.osName}`);
|
|
12
12
|
const osName = Device?.osName?.toLowerCase();
|
|
13
13
|
return {
|
|
14
|
-
platform: osName?.includes(
|
|
15
|
-
?
|
|
16
|
-
: osName?.includes(
|
|
17
|
-
?
|
|
14
|
+
platform: osName?.includes('ios')
|
|
15
|
+
? 'ios'
|
|
16
|
+
: osName?.includes('android')
|
|
17
|
+
? 'android'
|
|
18
18
|
: undefined,
|
|
19
19
|
deviceModel: Device.modelName ?? undefined,
|
|
20
|
-
deviceBrand: Device.brand ?? undefined
|
|
20
|
+
deviceBrand: Device.brand ?? undefined
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
catch {
|
|
25
|
-
logger.debug(
|
|
25
|
+
logger.debug('expo-device not available, device info will be omitted');
|
|
26
26
|
}
|
|
27
27
|
return {
|
|
28
28
|
platform: undefined,
|
|
29
29
|
deviceModel: undefined,
|
|
30
|
-
deviceBrand: undefined
|
|
30
|
+
deviceBrand: undefined
|
|
31
31
|
};
|
|
32
32
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import RPC from
|
|
1
|
+
import RPC from 'bare-rpc';
|
|
2
2
|
export declare function getWorkerLifeSignal(): AbortSignal | null;
|
|
3
|
+
export declare function notifyChannelClosed(): void;
|
|
3
4
|
export declare function getRPC(): Promise<RPC>;
|
|
4
5
|
export declare function close(): Promise<void>;
|
|
5
6
|
export declare function createDuplexSession(payload: string, commandId: number): Promise<{
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import RPC from
|
|
2
|
-
import { RPCConnectionFailedError } from
|
|
3
|
-
import { initializeConfig } from
|
|
4
|
-
import { resolveConfig } from
|
|
5
|
-
import { getClientLogger } from
|
|
6
|
-
import { getDeviceInfo } from
|
|
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
7
|
const logger = getClientLogger();
|
|
8
8
|
let rpcInstance = null;
|
|
9
9
|
let rpcPromise = null;
|
|
@@ -14,17 +14,17 @@ let cachedRuntimeContext;
|
|
|
14
14
|
// promise instead of double-sending __shutdown__ or re-entering the
|
|
15
15
|
// terminate block on already-null state.
|
|
16
16
|
let closingPromise = null;
|
|
17
|
-
logger.debug(
|
|
17
|
+
logger.debug('EXPO RPC Client bundle');
|
|
18
18
|
async function getRuntimeContext() {
|
|
19
19
|
if (cachedRuntimeContext) {
|
|
20
20
|
return cachedRuntimeContext;
|
|
21
21
|
}
|
|
22
22
|
const { platform, deviceModel, deviceBrand } = await getDeviceInfo();
|
|
23
23
|
cachedRuntimeContext = {
|
|
24
|
-
runtime:
|
|
24
|
+
runtime: 'react-native',
|
|
25
25
|
platform,
|
|
26
26
|
deviceModel,
|
|
27
|
-
deviceBrand
|
|
27
|
+
deviceBrand
|
|
28
28
|
};
|
|
29
29
|
return cachedRuntimeContext;
|
|
30
30
|
}
|
|
@@ -32,6 +32,8 @@ async function getRuntimeContext() {
|
|
|
32
32
|
export function getWorkerLifeSignal() {
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
|
+
// No life signal on Expo, so the RPC layer never calls this โ `#rpc` interface stub.
|
|
36
|
+
export function notifyChannelClosed() { }
|
|
35
37
|
export async function getRPC() {
|
|
36
38
|
if (rpcInstance) {
|
|
37
39
|
return rpcInstance;
|
|
@@ -41,7 +43,7 @@ export async function getRPC() {
|
|
|
41
43
|
}
|
|
42
44
|
rpcPromise = (async () => {
|
|
43
45
|
if (workletInstance) {
|
|
44
|
-
logger.debug(
|
|
46
|
+
logger.debug('๐ Reusing existing worklet');
|
|
45
47
|
rpcInstance = new RPC(workletInstance.IPC, () => { });
|
|
46
48
|
// Only initialize once per worklet - server state persists
|
|
47
49
|
if (!workletInitialized) {
|
|
@@ -51,11 +53,11 @@ export async function getRPC() {
|
|
|
51
53
|
}
|
|
52
54
|
return rpcInstance;
|
|
53
55
|
}
|
|
54
|
-
const { Paths } = await import(
|
|
55
|
-
const bareKitModule = await import(
|
|
56
|
+
const { Paths } = await import('expo-file-system');
|
|
57
|
+
const bareKitModule = await import('react-native-bare-kit');
|
|
56
58
|
const worklet = new bareKitModule.Worklet();
|
|
57
59
|
workletInstance = worklet;
|
|
58
|
-
logger.debug(
|
|
60
|
+
logger.debug('Starting new worklet');
|
|
59
61
|
// Load the mobile bundle - generated by expo plugin during prebuild
|
|
60
62
|
// The expo plugin handles bundle selection:
|
|
61
63
|
// 1. Uses qvac/worker.bundle.js if exists (user pre-generated)
|
|
@@ -64,24 +66,24 @@ export async function getRPC() {
|
|
|
64
66
|
let mobileBundle;
|
|
65
67
|
try {
|
|
66
68
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
67
|
-
mobileBundle = require(
|
|
69
|
+
mobileBundle = require('@qvac/sdk/worker.mobile.bundle');
|
|
68
70
|
}
|
|
69
71
|
catch (error) {
|
|
70
|
-
const message =
|
|
72
|
+
const message = 'Failed to load mobile worker bundle. Make sure the QVAC Expo plugin is configured. ' +
|
|
71
73
|
`Add '@qvac/sdk/expo-plugin' to your app.json plugins array. ` +
|
|
72
74
|
`Error: ${String(error)}`;
|
|
73
75
|
logger.error(message);
|
|
74
76
|
throw new RPCConnectionFailedError(message, error instanceof Error ? error : undefined);
|
|
75
77
|
}
|
|
76
|
-
worklet.start(
|
|
78
|
+
worklet.start('worker.bundle', mobileBundle, [
|
|
77
79
|
// Normalize arg number across platforms
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
'react-native-bare-kit',
|
|
81
|
+
'worker.js',
|
|
80
82
|
JSON.stringify({
|
|
81
|
-
HOME_DIR: Paths.document.uri.replace(
|
|
82
|
-
})
|
|
83
|
+
HOME_DIR: Paths.document.uri.replace('file://', '')
|
|
84
|
+
})
|
|
83
85
|
]);
|
|
84
|
-
logger.info(
|
|
86
|
+
logger.info('Worklet started');
|
|
85
87
|
rpcInstance = new RPC(worklet.IPC, () => {
|
|
86
88
|
// Use this for async callbacks
|
|
87
89
|
});
|
|
@@ -120,16 +122,16 @@ async function sendShutdownMessage(rpc) {
|
|
|
120
122
|
await Promise.race([
|
|
121
123
|
(async () => {
|
|
122
124
|
const req = rpc.request(1);
|
|
123
|
-
req.send(JSON.stringify({ type:
|
|
124
|
-
const response = await req.reply(
|
|
125
|
+
req.send(JSON.stringify({ type: '__shutdown__' }), 'utf8');
|
|
126
|
+
const response = await req.reply('utf8');
|
|
125
127
|
const parsed = JSON.parse(String(response));
|
|
126
128
|
if (!parsed.success) {
|
|
127
|
-
throw new Error(parsed.error ??
|
|
129
|
+
throw new Error(parsed.error ?? 'Worker reported cleanup failure');
|
|
128
130
|
}
|
|
129
131
|
})(),
|
|
130
132
|
new Promise((_, reject) => {
|
|
131
133
|
timer = setTimeout(() => reject(new Error(`Worker did not ack __shutdown__ within ${SHUTDOWN_RPC_TIMEOUT_MS}ms`)), SHUTDOWN_RPC_TIMEOUT_MS);
|
|
132
|
-
})
|
|
134
|
+
})
|
|
133
135
|
]);
|
|
134
136
|
}
|
|
135
137
|
catch (error) {
|
|
@@ -148,37 +150,26 @@ export async function close() {
|
|
|
148
150
|
if (closingPromise)
|
|
149
151
|
return closingPromise;
|
|
150
152
|
closingPromise = (async () => {
|
|
151
|
-
logger.info(
|
|
152
|
-
//
|
|
153
|
-
//
|
|
154
|
-
//
|
|
155
|
-
//
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
platform = (await getRuntimeContext()).platform;
|
|
159
|
-
}
|
|
160
|
-
catch (err) {
|
|
161
|
-
logger.debug("Failed to resolve runtime context for close()", { err });
|
|
162
|
-
}
|
|
163
|
-
if (platform !== "ios") {
|
|
164
|
-
rpcInstance = null;
|
|
165
|
-
rpcPromise = null;
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
// iOS: existing pre-terminate cleanup + terminate.
|
|
153
|
+
logger.info('๐งน Closing RPC client (Expo)');
|
|
154
|
+
// The inference addons self-pin (RTLD_NODELETE, qvac-lib-inference-addon-cpp
|
|
155
|
+
// >= 1.2.2), so dlclose() during terminate() no longer unmaps addon code
|
|
156
|
+
// with dangling pthread_key_t destructors. terminate() is therefore safe on
|
|
157
|
+
// every platform (previously it was skipped on non-iOS to avoid a SIGSEGV in
|
|
158
|
+
// pthread_key_clean_all), so we always run the full pre-terminate cleanup +
|
|
159
|
+
// terminate path.
|
|
169
160
|
if (rpcInstance) {
|
|
170
|
-
logger.info(
|
|
161
|
+
logger.info('๐งน Requesting worker pre-terminate cleanup');
|
|
171
162
|
await sendShutdownMessage(rpcInstance);
|
|
172
163
|
}
|
|
173
164
|
rpcInstance = null;
|
|
174
165
|
rpcPromise = null;
|
|
175
166
|
if (workletInstance) {
|
|
176
|
-
logger.info(
|
|
167
|
+
logger.info('๐ป๐ซ Terminating bare worklet');
|
|
177
168
|
try {
|
|
178
169
|
workletInstance.terminate();
|
|
179
170
|
}
|
|
180
171
|
catch (error) {
|
|
181
|
-
logger.debug(
|
|
172
|
+
logger.debug('Failed to terminate worklet', { error });
|
|
182
173
|
}
|
|
183
174
|
workletInstance = null;
|
|
184
175
|
workletInitialized = false;
|
|
@@ -198,7 +189,7 @@ export async function createDuplexSession(payload, commandId) {
|
|
|
198
189
|
const rpc = await getRPC();
|
|
199
190
|
const req = rpc.request(commandId);
|
|
200
191
|
const requestStream = req.createRequestStream();
|
|
201
|
-
const responseStream = req.createResponseStream({ encoding:
|
|
192
|
+
const responseStream = req.createResponseStream({ encoding: 'utf-8' });
|
|
202
193
|
// Pre-encode payload โ RN/Hermes lacks a global `Buffer`, so `write(string, "utf-8")` would throw.
|
|
203
194
|
requestStream.write(new TextEncoder().encode(payload));
|
|
204
195
|
return { requestStream, responseStream };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import RPC from
|
|
1
|
+
import RPC from 'bare-rpc';
|
|
2
2
|
export declare function getWorkerLifeSignal(): AbortSignal | null;
|
|
3
|
+
export declare function notifyChannelClosed(): void;
|
|
3
4
|
export declare function getRPC(): Promise<RPC>;
|
|
4
5
|
export declare function createDuplexSession(payload: string, commandId: number): Promise<{
|
|
5
6
|
requestStream: RPC.OutgoingStream;
|