@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,15 +1,15 @@
|
|
|
1
|
-
import fs, { promises as fsPromises } from
|
|
2
|
-
import path from
|
|
3
|
-
import { Readable } from
|
|
4
|
-
import fetch, { Headers } from
|
|
5
|
-
import { AbortController } from
|
|
6
|
-
import { withTimeout } from
|
|
7
|
-
import { getModelsCacheDir, getShardedModelCacheDir, generateShortHash, detectShardedModel, parsePatternBasedShardUrl, extractTensorsFromShards, calculatePercentage, isArchiveUrl, sanitizePathComponent, extractAndValidateShardedArchive, validateShardedModelCache, checkAllShardsExist, generateShardFilenames, hasValidGGUFHeader
|
|
8
|
-
import { getSDKConfig } from
|
|
9
|
-
import { getLifecycleState, onResume } from
|
|
10
|
-
import { createHttpDownloadKey, startOrJoinDownload, applyJoinedDownloadStats
|
|
11
|
-
import { DownloadCancelledError, HTTPError, NoResponseBodyError, PartialDownloadOfflineError, ResponseBodyNotReadableError
|
|
12
|
-
import { getServerLogger } from
|
|
1
|
+
import fs, { promises as fsPromises } from 'bare-fs';
|
|
2
|
+
import path from 'bare-path';
|
|
3
|
+
import { Readable } from 'bare-stream';
|
|
4
|
+
import fetch, { Headers } from 'bare-fetch';
|
|
5
|
+
import { AbortController } from 'bare-abort-controller';
|
|
6
|
+
import { withTimeout } from '../../../../utils/withTimeout.js';
|
|
7
|
+
import { getModelsCacheDir, getShardedModelCacheDir, generateShortHash, detectShardedModel, parsePatternBasedShardUrl, extractTensorsFromShards, calculatePercentage, isArchiveUrl, sanitizePathComponent, extractAndValidateShardedArchive, validateShardedModelCache, checkAllShardsExist, generateShardFilenames, hasValidGGUFHeader } from '../../../utils/index.js';
|
|
8
|
+
import { getSDKConfig } from '../../../bare/registry/config-registry.js';
|
|
9
|
+
import { getLifecycleState, onResume } from '../../../bare/runtime-lifecycle.js';
|
|
10
|
+
import { createHttpDownloadKey, startOrJoinDownload, applyJoinedDownloadStats } from './download-manager.js';
|
|
11
|
+
import { DownloadCancelledError, HTTPError, NoResponseBodyError, PartialDownloadOfflineError, ResponseBodyNotReadableError } from '../../../../utils/errors-server.js';
|
|
12
|
+
import { getServerLogger } from '../../../../logging/index.js';
|
|
13
13
|
const logger = getServerLogger();
|
|
14
14
|
const DEFAULT_CONCURRENCY = 3;
|
|
15
15
|
const DEFAULT_HTTP_CONNECTION_TIMEOUT_MS = 10_000;
|
|
@@ -19,10 +19,10 @@ const DEFAULT_HTTP_CONNECTION_TIMEOUT_MS = 10_000;
|
|
|
19
19
|
const HTTP_STREAM_STALL_TIMEOUT_MS = 10_000;
|
|
20
20
|
function extractFilenameFromUrl(url) {
|
|
21
21
|
// Parse URL to get the filename from the path
|
|
22
|
-
const urlParts = url.split(
|
|
23
|
-
const filename = urlParts[urlParts.length - 1] ||
|
|
22
|
+
const urlParts = url.split('/');
|
|
23
|
+
const filename = urlParts[urlParts.length - 1] || 'model.gguf';
|
|
24
24
|
// Remove query parameters if present
|
|
25
|
-
const cleanFilename = filename.split(
|
|
25
|
+
const cleanFilename = filename.split('?')[0] || 'model.gguf';
|
|
26
26
|
// Sanitize to prevent path traversal via crafted URLs
|
|
27
27
|
return sanitizePathComponent(cleanFilename);
|
|
28
28
|
}
|
|
@@ -36,10 +36,10 @@ async function validateCachedFile(modelPath, url, signal) {
|
|
|
36
36
|
let expectedSize = 0;
|
|
37
37
|
try {
|
|
38
38
|
const response = await withTimeout(fetch(url, {
|
|
39
|
-
method:
|
|
40
|
-
...(signal && { signal })
|
|
39
|
+
method: 'HEAD',
|
|
40
|
+
...(signal && { signal })
|
|
41
41
|
}), connectionTimeout);
|
|
42
|
-
expectedSize = parseInt(response.headers.get(
|
|
42
|
+
expectedSize = parseInt(response.headers.get('content-length') || '0');
|
|
43
43
|
}
|
|
44
44
|
catch (headError) {
|
|
45
45
|
logger.warn(`⚠️ HEAD request failed: ${headError instanceof Error ? headError.message : String(headError)}`);
|
|
@@ -91,19 +91,19 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
91
91
|
}
|
|
92
92
|
// Prepare headers for resume if needed
|
|
93
93
|
const headers = new Headers({
|
|
94
|
-
|
|
94
|
+
'User-Agent': 'qvac-sdk'
|
|
95
95
|
});
|
|
96
96
|
if (startOffset > 0) {
|
|
97
|
-
headers.append(
|
|
97
|
+
headers.append('Range', `bytes=${startOffset}-`);
|
|
98
98
|
}
|
|
99
99
|
const config = getSDKConfig();
|
|
100
100
|
const connectionTimeout = config.httpConnectionTimeoutMs ?? DEFAULT_HTTP_CONNECTION_TIMEOUT_MS;
|
|
101
101
|
let response;
|
|
102
102
|
try {
|
|
103
103
|
response = await withTimeout(fetch(url, {
|
|
104
|
-
method:
|
|
104
|
+
method: 'GET',
|
|
105
105
|
headers,
|
|
106
|
-
...(signal && { signal })
|
|
106
|
+
...(signal && { signal })
|
|
107
107
|
}), connectionTimeout);
|
|
108
108
|
}
|
|
109
109
|
catch (error) {
|
|
@@ -123,11 +123,11 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
123
123
|
// Send 100% progress for already complete file
|
|
124
124
|
if (progressCallback) {
|
|
125
125
|
progressCallback({
|
|
126
|
-
type:
|
|
126
|
+
type: 'modelProgress',
|
|
127
127
|
downloaded: startOffset,
|
|
128
128
|
total: startOffset,
|
|
129
129
|
percentage: 100,
|
|
130
|
-
downloadKey
|
|
130
|
+
downloadKey
|
|
131
131
|
});
|
|
132
132
|
}
|
|
133
133
|
return;
|
|
@@ -139,11 +139,11 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
139
139
|
downloadedBytes = 0;
|
|
140
140
|
// Retry without Range header
|
|
141
141
|
response = await fetch(url, {
|
|
142
|
-
method:
|
|
142
|
+
method: 'GET',
|
|
143
143
|
headers: new Headers({
|
|
144
|
-
|
|
144
|
+
'User-Agent': 'qvac-sdk'
|
|
145
145
|
}),
|
|
146
|
-
...(signal && { signal })
|
|
146
|
+
...(signal && { signal })
|
|
147
147
|
});
|
|
148
148
|
if (!response.ok) {
|
|
149
149
|
throw new HTTPError(response.status, response.statusText);
|
|
@@ -156,10 +156,10 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
156
156
|
}
|
|
157
157
|
// Get total size from headers
|
|
158
158
|
let totalBytes = 0;
|
|
159
|
-
const contentLength = response.headers.get(
|
|
159
|
+
const contentLength = response.headers.get('content-length');
|
|
160
160
|
if (response.status === 206) {
|
|
161
161
|
// For resumed downloads, parse Content-Range header
|
|
162
|
-
const contentRange = response.headers.get(
|
|
162
|
+
const contentRange = response.headers.get('content-range');
|
|
163
163
|
if (contentRange) {
|
|
164
164
|
const match = contentRange.match(/bytes \d+-\d+\/(\d+)/);
|
|
165
165
|
if (match && match[1]) {
|
|
@@ -173,7 +173,7 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
173
173
|
}
|
|
174
174
|
logger.info(`📏 Total size: ${totalBytes} bytes (${(totalBytes / 1024 / 1024).toFixed(2)} MB)`);
|
|
175
175
|
// Create write stream (append if resuming)
|
|
176
|
-
const writeStreamOptions = startOffset > 0 && response.status === 206 ? { flags:
|
|
176
|
+
const writeStreamOptions = startOffset > 0 && response.status === 206 ? { flags: 'a' } : {};
|
|
177
177
|
const writeStream = fs.createWriteStream(modelPath, writeStreamOptions);
|
|
178
178
|
// Get the response body
|
|
179
179
|
const body = response.body;
|
|
@@ -183,8 +183,8 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
183
183
|
try {
|
|
184
184
|
// Check if body has pipe method (it's a Node/Bare stream)
|
|
185
185
|
const isReadable = body instanceof Readable ||
|
|
186
|
-
(typeof body.pipe ===
|
|
187
|
-
typeof body.on ===
|
|
186
|
+
(typeof body.pipe === 'function' &&
|
|
187
|
+
typeof body.on === 'function');
|
|
188
188
|
if (isReadable) {
|
|
189
189
|
// Wait for download to complete
|
|
190
190
|
await new Promise((resolve, reject) => {
|
|
@@ -200,6 +200,7 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
200
200
|
const armStall = () => {
|
|
201
201
|
clearStall();
|
|
202
202
|
stallTimer = setTimeout(() => {
|
|
203
|
+
;
|
|
203
204
|
body.destroy();
|
|
204
205
|
writeStream.destroy();
|
|
205
206
|
reject(new Error(`HTTP stream stalled: no data for ${HTTP_STREAM_STALL_TIMEOUT_MS}ms`));
|
|
@@ -216,38 +217,38 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
216
217
|
abortHandler();
|
|
217
218
|
return;
|
|
218
219
|
}
|
|
219
|
-
signal.addEventListener(
|
|
220
|
+
signal.addEventListener('abort', abortHandler);
|
|
220
221
|
}
|
|
221
222
|
// Track progress + keep the stall watchdog fed
|
|
222
|
-
|
|
223
|
+
;
|
|
224
|
+
body.on('data', (chunk) => {
|
|
223
225
|
armStall();
|
|
224
226
|
downloadedBytes += chunk.length;
|
|
225
227
|
if (progressCallback) {
|
|
226
228
|
progressCallback({
|
|
227
|
-
type:
|
|
229
|
+
type: 'modelProgress',
|
|
228
230
|
downloaded: downloadedBytes,
|
|
229
231
|
total: totalBytes,
|
|
230
232
|
percentage: calculatePercentage(downloadedBytes, totalBytes),
|
|
231
|
-
downloadKey
|
|
233
|
+
downloadKey
|
|
232
234
|
});
|
|
233
235
|
}
|
|
234
236
|
});
|
|
235
|
-
// Pipe directly to file
|
|
236
237
|
body.pipe(writeStream);
|
|
237
238
|
armStall();
|
|
238
|
-
writeStream.on(
|
|
239
|
+
writeStream.on('finish', () => {
|
|
239
240
|
clearStall();
|
|
240
241
|
logger.info(`✅ Model downloaded successfully to ${modelPath}`);
|
|
241
242
|
if (signal) {
|
|
242
|
-
signal.removeEventListener(
|
|
243
|
+
signal.removeEventListener('abort', abortHandler);
|
|
243
244
|
}
|
|
244
245
|
resolve(undefined);
|
|
245
246
|
});
|
|
246
|
-
writeStream.on(
|
|
247
|
+
writeStream.on('error', (error) => {
|
|
247
248
|
clearStall();
|
|
248
249
|
reject(error);
|
|
249
250
|
});
|
|
250
|
-
body.on(
|
|
251
|
+
body.on('error', (error) => {
|
|
251
252
|
clearStall();
|
|
252
253
|
reject(error);
|
|
253
254
|
});
|
|
@@ -274,7 +275,7 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
274
275
|
stalled = true;
|
|
275
276
|
reject(new Error(`HTTP stream stalled: no data for ${HTTP_STREAM_STALL_TIMEOUT_MS}ms`));
|
|
276
277
|
}, HTTP_STREAM_STALL_TIMEOUT_MS);
|
|
277
|
-
})
|
|
278
|
+
})
|
|
278
279
|
]);
|
|
279
280
|
}
|
|
280
281
|
finally {
|
|
@@ -287,17 +288,15 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
287
288
|
writeStream.destroy();
|
|
288
289
|
throw new DownloadCancelledError();
|
|
289
290
|
}
|
|
290
|
-
const buffer = Buffer.isBuffer(step.value)
|
|
291
|
-
? step.value
|
|
292
|
-
: Buffer.from(step.value);
|
|
291
|
+
const buffer = Buffer.isBuffer(step.value) ? step.value : Buffer.from(step.value);
|
|
293
292
|
downloadedBytes += buffer.length;
|
|
294
293
|
if (progressCallback) {
|
|
295
294
|
progressCallback({
|
|
296
|
-
type:
|
|
295
|
+
type: 'modelProgress',
|
|
297
296
|
downloaded: downloadedBytes,
|
|
298
297
|
total: totalBytes,
|
|
299
298
|
percentage: calculatePercentage(downloadedBytes, totalBytes),
|
|
300
|
-
downloadKey
|
|
299
|
+
downloadKey
|
|
301
300
|
});
|
|
302
301
|
}
|
|
303
302
|
// Write chunk to file
|
|
@@ -327,15 +326,13 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
327
326
|
logger.info(`✅ Model downloaded successfully to ${modelPath}`);
|
|
328
327
|
resolve();
|
|
329
328
|
});
|
|
330
|
-
writeStream.on(
|
|
329
|
+
writeStream.on('error', reject);
|
|
331
330
|
});
|
|
332
331
|
}
|
|
333
332
|
else {
|
|
334
333
|
// Fallback: getReader() for a WHATWG ReadableStream (bare-fetch body).
|
|
335
334
|
const readableStreamBody = body;
|
|
336
|
-
const reader = readableStreamBody.getReader
|
|
337
|
-
? readableStreamBody.getReader()
|
|
338
|
-
: null;
|
|
335
|
+
const reader = readableStreamBody.getReader ? readableStreamBody.getReader() : null;
|
|
339
336
|
if (reader) {
|
|
340
337
|
let cancelled = false;
|
|
341
338
|
try {
|
|
@@ -356,7 +353,7 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
356
353
|
cancelled = true;
|
|
357
354
|
reject(new Error(`HTTP stream stalled: no data for ${HTTP_STREAM_STALL_TIMEOUT_MS}ms`));
|
|
358
355
|
}, HTTP_STREAM_STALL_TIMEOUT_MS);
|
|
359
|
-
})
|
|
356
|
+
})
|
|
360
357
|
]);
|
|
361
358
|
}
|
|
362
359
|
finally {
|
|
@@ -374,11 +371,11 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
374
371
|
downloadedBytes += buffer.length;
|
|
375
372
|
if (progressCallback) {
|
|
376
373
|
progressCallback({
|
|
377
|
-
type:
|
|
374
|
+
type: 'modelProgress',
|
|
378
375
|
downloaded: downloadedBytes,
|
|
379
376
|
total: totalBytes,
|
|
380
377
|
percentage: calculatePercentage(downloadedBytes, totalBytes),
|
|
381
|
-
downloadKey
|
|
378
|
+
downloadKey
|
|
382
379
|
});
|
|
383
380
|
}
|
|
384
381
|
// Write chunk to file
|
|
@@ -409,7 +406,7 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
409
406
|
logger.info(`✅ Model downloaded successfully to ${modelPath}`);
|
|
410
407
|
resolve();
|
|
411
408
|
});
|
|
412
|
-
writeStream.on(
|
|
409
|
+
writeStream.on('error', reject);
|
|
413
410
|
});
|
|
414
411
|
}
|
|
415
412
|
else {
|
|
@@ -419,7 +416,7 @@ async function performHttpDownload(url, modelPath, downloadKey, progressCallback
|
|
|
419
416
|
}
|
|
420
417
|
catch (error) {
|
|
421
418
|
writeStream.destroy();
|
|
422
|
-
logger.error(
|
|
419
|
+
logger.error('Error during download:', error instanceof Error ? error.message : String(error));
|
|
423
420
|
throw error instanceof Error ? error : new Error(String(error));
|
|
424
421
|
}
|
|
425
422
|
}
|
|
@@ -453,10 +450,10 @@ function isResumableTransferError(error) {
|
|
|
453
450
|
* only makes sense once `resume()` has run. Bounded and abort-aware.
|
|
454
451
|
*/
|
|
455
452
|
async function waitForLifecycleActive(signal) {
|
|
456
|
-
if (getLifecycleState() ===
|
|
453
|
+
if (getLifecycleState() === 'active')
|
|
457
454
|
return;
|
|
458
455
|
const start = Date.now();
|
|
459
|
-
while (getLifecycleState() !==
|
|
456
|
+
while (getLifecycleState() !== 'active') {
|
|
460
457
|
if (signal?.aborted)
|
|
461
458
|
throw new DownloadCancelledError();
|
|
462
459
|
if (Date.now() - start > LIFECYCLE_WAIT_MAX_MS)
|
|
@@ -485,7 +482,7 @@ async function performHttpDownloadWithResume(url, modelPath, downloadKey, progre
|
|
|
485
482
|
if (signal.aborted)
|
|
486
483
|
attemptController.abort();
|
|
487
484
|
else
|
|
488
|
-
signal.addEventListener(
|
|
485
|
+
signal.addEventListener('abort', forwardCancel, { once: true });
|
|
489
486
|
}
|
|
490
487
|
// resume() → abort this attempt so it range-resumes now, not after the stall.
|
|
491
488
|
const offResume = onResume(() => attemptController.abort());
|
|
@@ -497,9 +494,7 @@ async function performHttpDownloadWithResume(url, modelPath, downloadKey, progre
|
|
|
497
494
|
// A real consumer cancel is terminal; anything else (resume abort, stall,
|
|
498
495
|
// network error) is recoverable from the partial.
|
|
499
496
|
if (signal?.aborted) {
|
|
500
|
-
throw error instanceof DownloadCancelledError
|
|
501
|
-
? error
|
|
502
|
-
: new DownloadCancelledError();
|
|
497
|
+
throw error instanceof DownloadCancelledError ? error : new DownloadCancelledError();
|
|
503
498
|
}
|
|
504
499
|
attempt++;
|
|
505
500
|
if (attempt > maxRetries || !isResumableTransferError(error))
|
|
@@ -510,7 +505,7 @@ async function performHttpDownloadWithResume(url, modelPath, downloadKey, progre
|
|
|
510
505
|
}
|
|
511
506
|
finally {
|
|
512
507
|
if (signal)
|
|
513
|
-
signal.removeEventListener(
|
|
508
|
+
signal.removeEventListener('abort', forwardCancel);
|
|
514
509
|
offResume();
|
|
515
510
|
}
|
|
516
511
|
}
|
|
@@ -539,17 +534,17 @@ export async function downloadModelFromHttp(url, progressCallback, hooks) {
|
|
|
539
534
|
try {
|
|
540
535
|
const stats = await fsPromises.stat(cachedPath);
|
|
541
536
|
ctx.broadcastProgress({
|
|
542
|
-
type:
|
|
537
|
+
type: 'modelProgress',
|
|
543
538
|
downloaded: stats.size,
|
|
544
539
|
total: stats.size,
|
|
545
540
|
percentage: 100,
|
|
546
|
-
downloadKey
|
|
541
|
+
downloadKey
|
|
547
542
|
});
|
|
548
543
|
}
|
|
549
544
|
catch (error) {
|
|
550
|
-
logger.debug(
|
|
545
|
+
logger.debug('Failed to get file stats for progress callback', {
|
|
551
546
|
path: cachedPath,
|
|
552
|
-
error
|
|
547
|
+
error
|
|
553
548
|
});
|
|
554
549
|
}
|
|
555
550
|
return cachedPath;
|
|
@@ -561,40 +556,40 @@ export async function downloadModelFromHttp(url, progressCallback, hooks) {
|
|
|
561
556
|
try {
|
|
562
557
|
const stats = await fsPromises.stat(modelPath);
|
|
563
558
|
ctx.broadcastProgress({
|
|
564
|
-
type:
|
|
559
|
+
type: 'modelProgress',
|
|
565
560
|
downloaded: stats.size,
|
|
566
561
|
total: stats.size,
|
|
567
562
|
percentage: 100,
|
|
568
|
-
downloadKey
|
|
563
|
+
downloadKey
|
|
569
564
|
});
|
|
570
565
|
}
|
|
571
566
|
catch (error) {
|
|
572
|
-
logger.debug(
|
|
567
|
+
logger.debug('Failed to get file stats for final progress update', {
|
|
573
568
|
path: modelPath,
|
|
574
|
-
error
|
|
569
|
+
error
|
|
575
570
|
});
|
|
576
571
|
}
|
|
577
572
|
return modelPath;
|
|
578
573
|
}
|
|
579
574
|
catch (error) {
|
|
580
|
-
logger.error(
|
|
575
|
+
logger.error('❌ Error downloading model:', error instanceof Error ? error.message : String(error));
|
|
581
576
|
// Check if we should delete the partial file (clearCache was requested)
|
|
582
577
|
if (error instanceof DownloadCancelledError) {
|
|
583
578
|
if (ctx.shouldClearCache()) {
|
|
584
|
-
logger.info(
|
|
579
|
+
logger.info('🗑️ Clearing cache - deleting partial file');
|
|
585
580
|
try {
|
|
586
581
|
await fsPromises.unlink(modelPath);
|
|
587
582
|
logger.info(`✅ Deleted partial file: ${modelPath}`);
|
|
588
583
|
}
|
|
589
584
|
catch (error) {
|
|
590
|
-
logger.debug(
|
|
585
|
+
logger.debug('Failed to delete partial file during cleanup', {
|
|
591
586
|
path: modelPath,
|
|
592
|
-
error
|
|
587
|
+
error
|
|
593
588
|
});
|
|
594
589
|
}
|
|
595
590
|
}
|
|
596
591
|
else {
|
|
597
|
-
logger.info(
|
|
592
|
+
logger.info('📥 Download paused - partial file preserved for resume');
|
|
598
593
|
}
|
|
599
594
|
}
|
|
600
595
|
const errorToThrow = error instanceof Error ? error : new Error(String(error));
|
|
@@ -618,15 +613,15 @@ async function downloadShardedModelFromHttp(shardUrl, progressCallback, hooks) {
|
|
|
618
613
|
let expectedSize = 0;
|
|
619
614
|
try {
|
|
620
615
|
const response = await fetch(shard.url, {
|
|
621
|
-
method:
|
|
622
|
-
signal: ctx.signal
|
|
616
|
+
method: 'HEAD',
|
|
617
|
+
signal: ctx.signal
|
|
623
618
|
});
|
|
624
|
-
expectedSize = parseInt(response.headers.get(
|
|
619
|
+
expectedSize = parseInt(response.headers.get('content-length') || '0');
|
|
625
620
|
}
|
|
626
621
|
catch (error) {
|
|
627
|
-
logger.warn(
|
|
622
|
+
logger.warn('Failed to get shard size via HEAD request', {
|
|
628
623
|
url: shard.url,
|
|
629
|
-
error
|
|
624
|
+
error
|
|
630
625
|
});
|
|
631
626
|
}
|
|
632
627
|
return {
|
|
@@ -635,7 +630,7 @@ async function downloadShardedModelFromHttp(shardUrl, progressCallback, hooks) {
|
|
|
635
630
|
shardPath,
|
|
636
631
|
expectedSize,
|
|
637
632
|
downloadedBytes: 0,
|
|
638
|
-
isComplete: false
|
|
633
|
+
isComplete: false
|
|
639
634
|
};
|
|
640
635
|
}));
|
|
641
636
|
const overallTotal = shardStates.reduce((sum, s) => sum + s.expectedSize, 0);
|
|
@@ -644,9 +639,7 @@ async function downloadShardedModelFromHttp(shardUrl, progressCallback, hooks) {
|
|
|
644
639
|
const cached = await validateCachedFile(state.shardPath, state.shard.url, ctx.signal);
|
|
645
640
|
return { state, isCached: cached !== null };
|
|
646
641
|
}));
|
|
647
|
-
const shardsToDownload = cacheChecks
|
|
648
|
-
.filter((c) => !c.isCached)
|
|
649
|
-
.map((c) => c.state);
|
|
642
|
+
const shardsToDownload = cacheChecks.filter((c) => !c.isCached).map((c) => c.state);
|
|
650
643
|
for (const check of cacheChecks) {
|
|
651
644
|
if (check.isCached) {
|
|
652
645
|
check.state.isComplete = true;
|
|
@@ -668,18 +661,18 @@ async function downloadShardedModelFromHttp(shardUrl, progressCallback, hooks) {
|
|
|
668
661
|
return path.join(shardDir, shardInfos[0].filename);
|
|
669
662
|
}
|
|
670
663
|
catch (error) {
|
|
671
|
-
logger.error(
|
|
664
|
+
logger.error('❌ Error during sharded download:', error instanceof Error ? error.message : String(error));
|
|
672
665
|
if (error instanceof DownloadCancelledError) {
|
|
673
666
|
if (ctx.shouldClearCache()) {
|
|
674
|
-
logger.info(
|
|
667
|
+
logger.info('🗑️ Clearing cache - deleting partial shard files');
|
|
675
668
|
try {
|
|
676
669
|
await fsPromises.rm(shardDir, { recursive: true, force: true });
|
|
677
670
|
logger.info(`✅ Deleted shard directory: ${shardDir}`);
|
|
678
671
|
}
|
|
679
672
|
catch (cleanupError) {
|
|
680
|
-
logger.debug(
|
|
673
|
+
logger.debug('Failed to delete shard directory during cleanup', {
|
|
681
674
|
path: shardDir,
|
|
682
|
-
error: cleanupError
|
|
675
|
+
error: cleanupError
|
|
683
676
|
});
|
|
684
677
|
}
|
|
685
678
|
}
|
|
@@ -723,11 +716,11 @@ async function downloadShardedModelFromArchive(archiveUrl, progressCallback, hoo
|
|
|
723
716
|
hooks?.markCacheHit?.();
|
|
724
717
|
ctx.setCacheHit(true);
|
|
725
718
|
ctx.broadcastProgress({
|
|
726
|
-
type:
|
|
719
|
+
type: 'modelProgress',
|
|
727
720
|
downloaded: 1,
|
|
728
721
|
total: 1,
|
|
729
722
|
percentage: 100,
|
|
730
|
-
downloadKey
|
|
723
|
+
downloadKey
|
|
731
724
|
});
|
|
732
725
|
return firstShard;
|
|
733
726
|
}
|
|
@@ -738,17 +731,17 @@ async function downloadShardedModelFromArchive(archiveUrl, progressCallback, hoo
|
|
|
738
731
|
hooks?.markCacheHit?.();
|
|
739
732
|
ctx.setCacheHit(true);
|
|
740
733
|
ctx.broadcastProgress({
|
|
741
|
-
type:
|
|
734
|
+
type: 'modelProgress',
|
|
742
735
|
downloaded: 1,
|
|
743
736
|
total: 1,
|
|
744
737
|
percentage: 100,
|
|
745
|
-
downloadKey
|
|
738
|
+
downloadKey
|
|
746
739
|
});
|
|
747
740
|
return firstShard;
|
|
748
741
|
}
|
|
749
742
|
catch (error) {
|
|
750
743
|
logger.warn(`Failed to extract tensors, will re-download archive`, {
|
|
751
|
-
error
|
|
744
|
+
error
|
|
752
745
|
});
|
|
753
746
|
hooks?.markCacheMiss?.();
|
|
754
747
|
ctx.setCacheHit(false);
|
|
@@ -756,21 +749,21 @@ async function downloadShardedModelFromArchive(archiveUrl, progressCallback, hoo
|
|
|
756
749
|
}
|
|
757
750
|
}
|
|
758
751
|
catch (error) {
|
|
759
|
-
logger.error(
|
|
752
|
+
logger.error('❌ Error downloading/extracting archive:', error);
|
|
760
753
|
if (error instanceof DownloadCancelledError) {
|
|
761
754
|
if (ctx.shouldClearCache()) {
|
|
762
|
-
logger.info(
|
|
755
|
+
logger.info('🗑️ Clearing cache - deleting archive extract directory');
|
|
763
756
|
try {
|
|
764
757
|
await fsPromises.rm(extractDir, {
|
|
765
758
|
recursive: true,
|
|
766
|
-
force: true
|
|
759
|
+
force: true
|
|
767
760
|
});
|
|
768
761
|
logger.info(`✅ Deleted extract directory: ${extractDir}`);
|
|
769
762
|
}
|
|
770
763
|
catch (cleanupError) {
|
|
771
|
-
logger.debug(
|
|
764
|
+
logger.debug('Failed to delete extract directory during cleanup', {
|
|
772
765
|
path: extractDir,
|
|
773
|
-
error: cleanupError
|
|
766
|
+
error: cleanupError
|
|
774
767
|
});
|
|
775
768
|
}
|
|
776
769
|
}
|
|
@@ -786,9 +779,9 @@ async function downloadShardedModelFromArchive(archiveUrl, progressCallback, hoo
|
|
|
786
779
|
logger.info(`🗑️ Cleaned up archive file: ${archivePath}`);
|
|
787
780
|
}
|
|
788
781
|
catch (cleanupError) {
|
|
789
|
-
logger.debug(
|
|
782
|
+
logger.debug('Failed to delete archive file during cleanup', {
|
|
790
783
|
path: archivePath,
|
|
791
|
-
error: cleanupError
|
|
784
|
+
error: cleanupError
|
|
792
785
|
});
|
|
793
786
|
}
|
|
794
787
|
return firstShardPath;
|
|
@@ -812,7 +805,7 @@ async function downloadShardsWithConcurrency(shardsToDownload, allShards, concur
|
|
|
812
805
|
if (progressCallback) {
|
|
813
806
|
const overallDownloaded = allShards.reduce((sum, s) => sum + s.downloadedBytes, 0);
|
|
814
807
|
progressCallback({
|
|
815
|
-
type:
|
|
808
|
+
type: 'modelProgress',
|
|
816
809
|
downloaded: state.downloadedBytes,
|
|
817
810
|
total: state.expectedSize,
|
|
818
811
|
percentage: calculatePercentage(state.downloadedBytes, state.expectedSize),
|
|
@@ -823,8 +816,8 @@ async function downloadShardsWithConcurrency(shardsToDownload, allShards, concur
|
|
|
823
816
|
shardName: state.shard.filename,
|
|
824
817
|
overallDownloaded,
|
|
825
818
|
overallTotal,
|
|
826
|
-
overallPercentage: calculatePercentage(overallDownloaded, overallTotal)
|
|
827
|
-
}
|
|
819
|
+
overallPercentage: calculatePercentage(overallDownloaded, overallTotal)
|
|
820
|
+
}
|
|
828
821
|
});
|
|
829
822
|
}
|
|
830
823
|
}, signal);
|
|
@@ -845,7 +838,7 @@ async function downloadShardsWithConcurrency(shardsToDownload, allShards, concur
|
|
|
845
838
|
}
|
|
846
839
|
if (progressCallback) {
|
|
847
840
|
progressCallback({
|
|
848
|
-
type:
|
|
841
|
+
type: 'modelProgress',
|
|
849
842
|
downloaded: overallTotal,
|
|
850
843
|
total: overallTotal,
|
|
851
844
|
percentage: 100,
|
|
@@ -856,8 +849,8 @@ async function downloadShardsWithConcurrency(shardsToDownload, allShards, concur
|
|
|
856
849
|
shardName: allShards[allShards.length - 1].shard.filename,
|
|
857
850
|
overallDownloaded: overallTotal,
|
|
858
851
|
overallTotal,
|
|
859
|
-
overallPercentage: 100
|
|
860
|
-
}
|
|
852
|
+
overallPercentage: 100
|
|
853
|
+
}
|
|
861
854
|
});
|
|
862
855
|
}
|
|
863
856
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ModelProgressUpdate } from
|
|
2
|
-
import type { DownloadHooks } from
|
|
1
|
+
import type { ModelProgressUpdate } from '../../../../schemas/index';
|
|
2
|
+
import type { DownloadHooks } from './types';
|
|
3
3
|
export declare function deleteCorestoreDirectory(corestoreDir: string): Promise<void>;
|
|
4
4
|
export declare function downloadModelFromHyperdrive(hyperdriveKey: string, modelFileName: string, seed?: boolean, progressCallback?: (progress: ModelProgressUpdate) => void, hooks?: DownloadHooks, expectedChecksum?: string): Promise<string>;
|
|
5
5
|
//# sourceMappingURL=hyperdrive.d.ts.map
|