@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,38 +1,37 @@
|
|
|
1
|
-
import { getAddonFromEngine } from
|
|
2
|
-
import { detectShardedModel } from
|
|
1
|
+
import { getAddonFromEngine } from '../../schemas/engine-addon-map';
|
|
2
|
+
import { detectShardedModel } from './shards.js';
|
|
3
3
|
// Normalizes a name part to a valid JS export name fragment.
|
|
4
4
|
// Strips ggml/gguf prefixes, shortens "instruct" to "inst",
|
|
5
5
|
// and uppercases with underscore separators.
|
|
6
6
|
export function cleanPart(p) {
|
|
7
7
|
if (!p)
|
|
8
|
-
return
|
|
8
|
+
return '';
|
|
9
9
|
return p
|
|
10
|
-
.replace(/ggml-?/gi,
|
|
11
|
-
.replace(/gguf-?/gi,
|
|
12
|
-
.replace(/instruct/gi,
|
|
13
|
-
.replace(/^-+|-+$/g,
|
|
10
|
+
.replace(/ggml-?/gi, '')
|
|
11
|
+
.replace(/gguf-?/gi, '')
|
|
12
|
+
.replace(/instruct/gi, 'inst')
|
|
13
|
+
.replace(/^-+|-+$/g, '')
|
|
14
14
|
.toUpperCase()
|
|
15
|
-
.replace(/[^A-Z0-9]+/g,
|
|
15
|
+
.replace(/[^A-Z0-9]+/g, '_');
|
|
16
16
|
}
|
|
17
17
|
// Generates a unique export constant name for a model based on its
|
|
18
18
|
// registry metadata, engine type, tags, and filename.
|
|
19
|
-
export function generateExportName({ path: registryPath, engine, name: modelName, quantization, params, tags, usedNames
|
|
19
|
+
export function generateExportName({ path: registryPath, engine, name: modelName, quantization, params, tags, usedNames }) {
|
|
20
20
|
let addon = getAddonFromEngine(engine);
|
|
21
21
|
// Override addon classification when tags clearly indicate a different type.
|
|
22
22
|
// e.g. SmolVLM2 f16 uses translation-llamacpp engine (→nmt) but is actually a multimodal LLM.
|
|
23
|
-
if (addon ===
|
|
24
|
-
|
|
25
|
-
addon = "llm";
|
|
23
|
+
if (addon === 'nmt' && tags.some((t) => t === 'generation' || t === 'multimodal')) {
|
|
24
|
+
addon = 'llm';
|
|
26
25
|
}
|
|
27
|
-
let exportName =
|
|
28
|
-
const filename = decodeURIComponent(registryPath.split(
|
|
26
|
+
let exportName = '';
|
|
27
|
+
const filename = decodeURIComponent(registryPath.split('/').pop() || registryPath);
|
|
29
28
|
const lowerFilename = filename.toLowerCase();
|
|
30
29
|
const lowerPath = registryPath.toLowerCase();
|
|
31
30
|
// Extract structured info from tags array.
|
|
32
31
|
// Tags typically contain: [function, type, modelName, langPair/other]
|
|
33
|
-
const tagType = tags[1] ||
|
|
34
|
-
const tagName = tags[2] ||
|
|
35
|
-
const tagExtra = tags[3] ||
|
|
32
|
+
const tagType = tags[1] || '';
|
|
33
|
+
const tagName = tags[2] || '';
|
|
34
|
+
const tagExtra = tags[3] || '';
|
|
36
35
|
exportName = generateBaseName({
|
|
37
36
|
addon,
|
|
38
37
|
engine,
|
|
@@ -45,11 +44,11 @@ export function generateExportName({ path: registryPath, engine, name: modelName
|
|
|
45
44
|
tagType,
|
|
46
45
|
tagName,
|
|
47
46
|
tagExtra,
|
|
48
|
-
tags
|
|
47
|
+
tags
|
|
49
48
|
});
|
|
50
|
-
exportName = exportName.replace(/^_+|_+$/g,
|
|
49
|
+
exportName = exportName.replace(/^_+|_+$/g, '').replace(/_+/g, '_');
|
|
51
50
|
// Add suffix for metadata files (tensors.txt are shard metadata, not actual models)
|
|
52
|
-
if (lowerFilename.endsWith(
|
|
51
|
+
if (lowerFilename.endsWith('.tensors.txt')) {
|
|
53
52
|
exportName = `${exportName}_TENSORS`;
|
|
54
53
|
}
|
|
55
54
|
// Add SHARD suffix for sharded models
|
|
@@ -60,7 +59,7 @@ export function generateExportName({ path: registryPath, engine, name: modelName
|
|
|
60
59
|
}
|
|
61
60
|
// Resolves name collisions by appending quantization or a sequential counter.
|
|
62
61
|
function resolveCollision(exportName, quantization, usedNames) {
|
|
63
|
-
let finalName = exportName ||
|
|
62
|
+
let finalName = exportName || 'UNKNOWN_MODEL';
|
|
64
63
|
if (usedNames.has(finalName) && quantization) {
|
|
65
64
|
const cleanedQuant = cleanPart(quantization);
|
|
66
65
|
// Only append quantization if it's not already at the end of the name
|
|
@@ -81,48 +80,48 @@ function resolveCollision(exportName, quantization, usedNames) {
|
|
|
81
80
|
function generateBaseName(input) {
|
|
82
81
|
const { addon, lowerFilename } = input;
|
|
83
82
|
// Detect VAD Silero before whisper (same engine, different model type)
|
|
84
|
-
if (lowerFilename.includes(
|
|
83
|
+
if (lowerFilename.includes('silero')) {
|
|
85
84
|
return generateVadSileroName(input);
|
|
86
85
|
}
|
|
87
86
|
switch (addon) {
|
|
88
|
-
case
|
|
87
|
+
case 'whisper':
|
|
89
88
|
return generateWhisperName(input);
|
|
90
|
-
case
|
|
89
|
+
case 'bci':
|
|
91
90
|
return generateBciName(input);
|
|
92
|
-
case
|
|
91
|
+
case 'vad':
|
|
93
92
|
return generateVadName(input);
|
|
94
|
-
case
|
|
93
|
+
case 'nmt':
|
|
95
94
|
return generateNmtName(input);
|
|
96
|
-
case
|
|
95
|
+
case 'llm':
|
|
97
96
|
return generateLlmName(input);
|
|
98
|
-
case
|
|
97
|
+
case 'embeddings':
|
|
99
98
|
return generateEmbeddingsName(input);
|
|
100
|
-
case
|
|
99
|
+
case 'tts':
|
|
101
100
|
return generateTtsName(input);
|
|
102
|
-
case
|
|
101
|
+
case 'ocr':
|
|
103
102
|
return generateOcrName(input);
|
|
104
|
-
case
|
|
103
|
+
case 'parakeet':
|
|
105
104
|
return generateParakeetName(input);
|
|
106
|
-
case
|
|
105
|
+
case 'diffusion':
|
|
107
106
|
return generateDiffusionName(input);
|
|
108
107
|
default:
|
|
109
|
-
return cleanPart(input.filename.replace(/\.\w+$/,
|
|
108
|
+
return cleanPart(input.filename.replace(/\.\w+$/, ''));
|
|
110
109
|
}
|
|
111
110
|
}
|
|
112
111
|
function generateVadSileroName({ filename }) {
|
|
113
112
|
const versionMatch = filename.match(/v(\d+\.\d+\.\d+)/i);
|
|
114
|
-
const version = versionMatch ? versionMatch[1] :
|
|
115
|
-
const nameParts = [
|
|
116
|
-
return `VAD_${nameParts.map(cleanPart).join(
|
|
113
|
+
const version = versionMatch ? versionMatch[1] : '';
|
|
114
|
+
const nameParts = ['SILERO', version].filter((p) => p && p !== '');
|
|
115
|
+
return `VAD_${nameParts.map(cleanPart).join('_')}`;
|
|
117
116
|
}
|
|
118
|
-
function generateWhisperName({ filename, lowerFilename, quantization
|
|
117
|
+
function generateWhisperName({ filename, lowerFilename, quantization }) {
|
|
119
118
|
// Extract language from filename prefix (e.g. "de-tiny-ggml-model-f16.bin")
|
|
120
119
|
const langPrefixMatch = filename.match(/^([a-z]{2})-/i);
|
|
121
120
|
// Detect English-only models from ".en" or ".en-" in filename
|
|
122
|
-
const isEnglishOnly = /\.en[-.]/.test(lowerFilename) || lowerFilename.endsWith(
|
|
121
|
+
const isEnglishOnly = /\.en[-.]/.test(lowerFilename) || lowerFilename.endsWith('.en.bin');
|
|
123
122
|
// Extract size from filename
|
|
124
123
|
const sizeMatch = filename.match(/\b(tiny|base|small|medium|large(?:-v[0-9]+)?(?:-turbo)?)\b/i);
|
|
125
|
-
const modelSize = sizeMatch ? sizeMatch[1] :
|
|
124
|
+
const modelSize = sizeMatch ? sizeMatch[1] : '';
|
|
126
125
|
// Extract quant from filename (f16, q8_0, etc.)
|
|
127
126
|
const quantMatch = filename.match(/[-_](f16|q[0-9]+[_][0-9]+|q8)\b/i);
|
|
128
127
|
const fileQuant = quantMatch ? quantMatch[1] : quantization;
|
|
@@ -130,80 +129,78 @@ function generateWhisperName({ filename, lowerFilename, quantization, }) {
|
|
|
130
129
|
if (langPrefixMatch) {
|
|
131
130
|
const langCode = langPrefixMatch[1].toLowerCase();
|
|
132
131
|
const langMap = {
|
|
133
|
-
de:
|
|
134
|
-
es:
|
|
135
|
-
fr:
|
|
136
|
-
it:
|
|
137
|
-
ja:
|
|
138
|
-
pt:
|
|
139
|
-
ru:
|
|
140
|
-
nb:
|
|
141
|
-
en:
|
|
132
|
+
de: 'GERMAN',
|
|
133
|
+
es: 'SPANISH',
|
|
134
|
+
fr: 'FRENCH',
|
|
135
|
+
it: 'ITALIAN',
|
|
136
|
+
ja: 'JAPANESE',
|
|
137
|
+
pt: 'PORTUGUESE',
|
|
138
|
+
ru: 'RUSSIAN',
|
|
139
|
+
nb: 'NORWEGIAN',
|
|
140
|
+
en: 'ENGLISH'
|
|
142
141
|
};
|
|
143
142
|
const langName = langMap[langCode] || langCode.toUpperCase();
|
|
144
143
|
nameParts.push(langName);
|
|
145
144
|
}
|
|
146
145
|
else if (isEnglishOnly) {
|
|
147
|
-
nameParts.push(
|
|
146
|
+
nameParts.push('EN');
|
|
148
147
|
}
|
|
149
148
|
if (modelSize)
|
|
150
149
|
nameParts.push(modelSize);
|
|
151
150
|
if (fileQuant)
|
|
152
151
|
nameParts.push(fileQuant);
|
|
153
|
-
return `WHISPER_${nameParts.map(cleanPart).join(
|
|
152
|
+
return `WHISPER_${nameParts.map(cleanPart).join('_')}`;
|
|
154
153
|
}
|
|
155
154
|
function generateBciName({ filename, quantization }) {
|
|
156
155
|
// Strip the engine/format prefix and a leading "BCI" token so role names
|
|
157
156
|
// like "bci-embedder.bin" / "ggml-bci-windowed.bin" become EMBEDDER /
|
|
158
157
|
// WINDOWED before we re-prefix with BCI_.
|
|
159
|
-
const role = cleanPart(filename.replace(/\.\w+$/,
|
|
160
|
-
const nameParts = [role, quantization].filter((p) => p && p !==
|
|
161
|
-
return `BCI_${nameParts.map(cleanPart).join(
|
|
158
|
+
const role = cleanPart(filename.replace(/\.\w+$/, '')).replace(/^BCI_?/, '');
|
|
159
|
+
const nameParts = [role, quantization].filter((p) => p && p !== '');
|
|
160
|
+
return `BCI_${nameParts.map(cleanPart).join('_')}`;
|
|
162
161
|
}
|
|
163
|
-
function generateVadName({ filename, tagType, tagName
|
|
162
|
+
function generateVadName({ filename, tagType, tagName }) {
|
|
164
163
|
const versionMatch = filename.match(/v(\d+\.\d+\.\d+)/i);
|
|
165
|
-
const version = versionMatch ? versionMatch[1] :
|
|
166
|
-
const typeName = tagType || tagName ||
|
|
167
|
-
const nameParts = [typeName, version].filter((p) => p && p !==
|
|
168
|
-
return `VAD_${nameParts.map(cleanPart).join(
|
|
164
|
+
const version = versionMatch ? versionMatch[1] : '';
|
|
165
|
+
const typeName = tagType || tagName || 'SILERO';
|
|
166
|
+
const nameParts = [typeName, version].filter((p) => p && p !== '');
|
|
167
|
+
return `VAD_${nameParts.map(cleanPart).join('_')}`;
|
|
169
168
|
}
|
|
170
169
|
function generateNmtName(input) {
|
|
171
170
|
const { lowerPath, lowerFilename } = input;
|
|
172
|
-
if (lowerPath.includes(
|
|
173
|
-
lowerFilename.includes("salamandra")) {
|
|
171
|
+
if (lowerPath.includes('salamandra') || lowerFilename.includes('salamandra')) {
|
|
174
172
|
return generateNmtSalamandraName(input);
|
|
175
173
|
}
|
|
176
|
-
if (lowerPath.includes(
|
|
177
|
-
lowerFilename.includes("indictrans")) {
|
|
174
|
+
if (lowerPath.includes('indictrans') || lowerFilename.includes('indictrans')) {
|
|
178
175
|
return generateNmtIndictransName(input);
|
|
179
176
|
}
|
|
180
|
-
if (lowerPath.includes(
|
|
177
|
+
if (lowerPath.includes('bergamot') || lowerFilename.includes('bergamot')) {
|
|
181
178
|
return generateNmtBergamotName(input);
|
|
182
179
|
}
|
|
183
|
-
const nameParts = [input.modelName, input.quantization].filter((p) => p && p !==
|
|
184
|
-
return `NMT_${nameParts.map(cleanPart).join(
|
|
180
|
+
const nameParts = [input.modelName, input.quantization].filter((p) => p && p !== '');
|
|
181
|
+
return `NMT_${nameParts.map(cleanPart).join('_')}`;
|
|
185
182
|
}
|
|
186
183
|
function generateNmtSalamandraName({ filename }) {
|
|
187
|
-
const base = filename.replace(/\.\w+$/,
|
|
184
|
+
const base = filename.replace(/\.\w+$/, '').replace(/-\d{5}-of-\d{5}/, '');
|
|
188
185
|
return cleanPart(base);
|
|
189
186
|
}
|
|
190
|
-
function generateNmtIndictransName({ filename, quantization
|
|
187
|
+
function generateNmtIndictransName({ filename, quantization }) {
|
|
191
188
|
const langMatch = filename.match(/(en-indic|indic-en|indic-indic)/i);
|
|
192
|
-
const langDir = langMatch ? langMatch[1] :
|
|
189
|
+
const langDir = langMatch ? langMatch[1] : '';
|
|
193
190
|
const langMap = {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
191
|
+
'en-indic': 'EN_HI',
|
|
192
|
+
'indic-en': 'HI_EN',
|
|
193
|
+
'indic-indic': 'HI_HI'
|
|
197
194
|
};
|
|
198
195
|
const langPair = langMap[langDir.toLowerCase()] || cleanPart(langDir);
|
|
199
196
|
const sizeMatch = filename.match(/(\d+[MB])/i);
|
|
200
|
-
const size = sizeMatch ? sizeMatch[1] :
|
|
201
|
-
const nameParts = [langPair,
|
|
202
|
-
return `MARIAN_${nameParts.map(cleanPart).join(
|
|
197
|
+
const size = sizeMatch ? sizeMatch[1] : '';
|
|
198
|
+
const nameParts = [langPair, 'INDIC', size, quantization].filter((p) => p && p !== '');
|
|
199
|
+
return `MARIAN_${nameParts.map(cleanPart).join('_')}`;
|
|
203
200
|
}
|
|
204
201
|
function generateNmtBergamotName({ filename }) {
|
|
205
202
|
const langMatch = filename.match(/[.]([a-z]{2,4})[.]/i);
|
|
206
|
-
let langPair =
|
|
203
|
+
let langPair = '';
|
|
207
204
|
if (langMatch) {
|
|
208
205
|
const code = langMatch[1];
|
|
209
206
|
if (code.length === 4) {
|
|
@@ -213,183 +210,177 @@ function generateNmtBergamotName({ filename }) {
|
|
|
213
210
|
langPair = code.toUpperCase();
|
|
214
211
|
}
|
|
215
212
|
}
|
|
216
|
-
let suffix =
|
|
217
|
-
if (filename.startsWith(
|
|
218
|
-
suffix =
|
|
213
|
+
let suffix = '';
|
|
214
|
+
if (filename.startsWith('model.')) {
|
|
215
|
+
suffix = '';
|
|
219
216
|
}
|
|
220
217
|
else if (filename.match(/^vocab\./)) {
|
|
221
|
-
suffix =
|
|
218
|
+
suffix = '_VOCAB';
|
|
222
219
|
}
|
|
223
220
|
else if (filename.match(/^srcvocab\./)) {
|
|
224
|
-
suffix =
|
|
221
|
+
suffix = '_SRCVOCAB';
|
|
225
222
|
}
|
|
226
223
|
else if (filename.match(/^trgvocab\./)) {
|
|
227
|
-
suffix =
|
|
224
|
+
suffix = '_TRGVOCAB';
|
|
228
225
|
}
|
|
229
|
-
else if (filename.startsWith(
|
|
230
|
-
suffix =
|
|
226
|
+
else if (filename.startsWith('lex.')) {
|
|
227
|
+
suffix = '_LEX';
|
|
231
228
|
}
|
|
232
|
-
else if (filename ===
|
|
233
|
-
suffix =
|
|
229
|
+
else if (filename === 'metadata.json') {
|
|
230
|
+
suffix = '_METADATA';
|
|
234
231
|
}
|
|
235
232
|
return `BERGAMOT_${langPair}${suffix}`;
|
|
236
233
|
}
|
|
237
|
-
function generateLlmName({ filename, tagType, tagName, modelName, quantization, params
|
|
238
|
-
const type = tagType ||
|
|
239
|
-
const name = tagName || modelName ||
|
|
240
|
-
const isMMProj = filename.includes(
|
|
234
|
+
function generateLlmName({ filename, tagType, tagName, modelName, quantization, params }) {
|
|
235
|
+
const type = tagType || '';
|
|
236
|
+
const name = tagName || modelName || '';
|
|
237
|
+
const isMMProj = filename.includes('mmproj');
|
|
241
238
|
// Try to extract model family from filename to recover version info
|
|
242
239
|
// that tags may omit (e.g., tag "qwen" but filename "Qwen3-1.7B-...")
|
|
243
240
|
let familyName = name;
|
|
244
241
|
if (params) {
|
|
245
242
|
const parseFn = filename
|
|
246
|
-
.replace(/^mmproj[-_]/i,
|
|
247
|
-
.replace(/\.tensors\.txt$/,
|
|
248
|
-
.replace(/\.\w+$/,
|
|
249
|
-
.replace(/-\d{5}-of-\d{5}/,
|
|
250
|
-
const paramsEsc = params.replace(/[.*+?^${}()|[\]\\]/g,
|
|
251
|
-
const familyMatch = parseFn.match(new RegExp(`^(.+?)[-_]${paramsEsc}`,
|
|
243
|
+
.replace(/^mmproj[-_]/i, '')
|
|
244
|
+
.replace(/\.tensors\.txt$/, '')
|
|
245
|
+
.replace(/\.\w+$/, '')
|
|
246
|
+
.replace(/-\d{5}-of-\d{5}/, '');
|
|
247
|
+
const paramsEsc = params.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
248
|
+
const familyMatch = parseFn.match(new RegExp(`^(.+?)[-_]${paramsEsc}`, 'i'));
|
|
252
249
|
if (familyMatch?.[1]) {
|
|
253
250
|
const candidate = familyMatch[1];
|
|
254
251
|
// Use filename family only if it extends the tag name
|
|
255
252
|
// Strip common engine/format suffixes from tag before comparing
|
|
256
|
-
const tagCore = name.replace(/[-_](ggml|cpp|onnx|llamacpp|metal)$/i,
|
|
257
|
-
const cleanedCandidate = candidate.replace(/[-_.]/g,
|
|
258
|
-
const cleanedTagCore = tagCore.replace(/[-_.]/g,
|
|
253
|
+
const tagCore = name.replace(/[-_](ggml|cpp|onnx|llamacpp|metal)$/i, '');
|
|
254
|
+
const cleanedCandidate = candidate.replace(/[-_.]/g, '').toLowerCase();
|
|
255
|
+
const cleanedTagCore = tagCore.replace(/[-_.]/g, '').toLowerCase();
|
|
259
256
|
if (cleanedCandidate.startsWith(cleanedTagCore) &&
|
|
260
257
|
cleanedCandidate.length >= cleanedTagCore.length) {
|
|
261
258
|
familyName = candidate;
|
|
262
259
|
}
|
|
263
260
|
}
|
|
264
261
|
}
|
|
265
|
-
const nameParts = [familyName, params, type, quantization].filter((p) => p && p !==
|
|
266
|
-
let exportName = nameParts.map(cleanPart).join(
|
|
262
|
+
const nameParts = [familyName, params, type, quantization].filter((p) => p && p !== '');
|
|
263
|
+
let exportName = nameParts.map(cleanPart).join('_');
|
|
267
264
|
if (isMMProj) {
|
|
268
|
-
exportName =
|
|
265
|
+
exportName = 'MMPROJ_' + exportName;
|
|
269
266
|
}
|
|
270
267
|
return exportName;
|
|
271
268
|
}
|
|
272
|
-
function generateEmbeddingsName({ tagName, modelName, params, quantization
|
|
273
|
-
const name = tagName || modelName ||
|
|
274
|
-
const nameParts = [name, params, quantization].filter((p) => p && p !==
|
|
275
|
-
return nameParts.map(cleanPart).join(
|
|
269
|
+
function generateEmbeddingsName({ tagName, modelName, params, quantization }) {
|
|
270
|
+
const name = tagName || modelName || '';
|
|
271
|
+
const nameParts = [name, params, quantization].filter((p) => p && p !== '');
|
|
272
|
+
return nameParts.map(cleanPart).join('_');
|
|
276
273
|
}
|
|
277
|
-
function generateTtsName({ filename, tagName, modelName, tagExtra, tagType, quantization
|
|
278
|
-
const name = tagName || modelName ||
|
|
279
|
-
const language = tagExtra ||
|
|
280
|
-
const type = tagType ||
|
|
281
|
-
const nameParts = [name, language, type, quantization].filter((p) => p && p !==
|
|
282
|
-
let exportName = `TTS_${nameParts.map(cleanPart).join(
|
|
283
|
-
if (filename.endsWith(
|
|
284
|
-
exportName = exportName +
|
|
285
|
-
}
|
|
286
|
-
if (filename.endsWith(
|
|
287
|
-
exportName = exportName +
|
|
274
|
+
function generateTtsName({ filename, tagName, modelName, tagExtra, tagType, quantization }) {
|
|
275
|
+
const name = tagName || modelName || '';
|
|
276
|
+
const language = tagExtra || '';
|
|
277
|
+
const type = tagType || '';
|
|
278
|
+
const nameParts = [name, language, type, quantization].filter((p) => p && p !== '');
|
|
279
|
+
let exportName = `TTS_${nameParts.map(cleanPart).join('_')}`;
|
|
280
|
+
if (filename.endsWith('.onnx.json') || filename.includes('config.json')) {
|
|
281
|
+
exportName = exportName + '_CONFIG';
|
|
282
|
+
}
|
|
283
|
+
if (filename.endsWith('.onnx_data')) {
|
|
284
|
+
exportName = exportName + '_DATA';
|
|
288
285
|
}
|
|
289
286
|
return exportName;
|
|
290
287
|
}
|
|
291
|
-
function generateOcrName({ filename, tagName, modelName, tagExtra
|
|
292
|
-
const name = tagName || modelName ||
|
|
293
|
-
const language = tagExtra ||
|
|
294
|
-
let fileType =
|
|
295
|
-
if (filename.includes(
|
|
296
|
-
fileType =
|
|
297
|
-
}
|
|
298
|
-
else if (filename.includes(
|
|
299
|
-
fileType =
|
|
300
|
-
}
|
|
301
|
-
const nameParts = [name, language, fileType].filter((p) => p && p !==
|
|
302
|
-
return `OCR_${nameParts.map(cleanPart).join(
|
|
288
|
+
function generateOcrName({ filename, tagName, modelName, tagExtra }) {
|
|
289
|
+
const name = tagName || modelName || '';
|
|
290
|
+
const language = tagExtra || '';
|
|
291
|
+
let fileType = '';
|
|
292
|
+
if (filename.includes('detector')) {
|
|
293
|
+
fileType = 'DETECTOR';
|
|
294
|
+
}
|
|
295
|
+
else if (filename.includes('recognizer')) {
|
|
296
|
+
fileType = 'RECOGNIZER';
|
|
297
|
+
}
|
|
298
|
+
const nameParts = [name, language, fileType].filter((p) => p && p !== '');
|
|
299
|
+
return `OCR_${nameParts.map(cleanPart).join('_')}`;
|
|
303
300
|
}
|
|
304
|
-
function generateDiffusionName({ filename, modelName, quantization, params, tags
|
|
301
|
+
function generateDiffusionName({ filename, modelName, quantization, params, tags }) {
|
|
305
302
|
// VAE / auxiliary models (tagged "vae" instead of "generation")
|
|
306
|
-
if (tags.includes(
|
|
307
|
-
const name = modelName ||
|
|
303
|
+
if (tags.includes('vae')) {
|
|
304
|
+
const name = modelName || 'SD';
|
|
308
305
|
return `${cleanPart(name)}_VAE`;
|
|
309
306
|
}
|
|
310
307
|
// Extract family name from filename
|
|
311
308
|
let family = filename
|
|
312
|
-
.replace(/\.\w+$/,
|
|
313
|
-
.replace(/^stable-diffusion-xl/i,
|
|
314
|
-
.replace(/^stable-diffusion/i,
|
|
309
|
+
.replace(/\.\w+$/, '')
|
|
310
|
+
.replace(/^stable-diffusion-xl/i, 'SDXL')
|
|
311
|
+
.replace(/^stable-diffusion/i, 'SD');
|
|
315
312
|
// Strip trailing params (e.g. "-4b") and quant (e.g. "-Q8_0") from family
|
|
316
313
|
// to avoid duplication since they're appended separately
|
|
317
314
|
if (params) {
|
|
318
|
-
const paramsEsc = params.replace(/[.*+?^${}()|[\]\\]/g,
|
|
319
|
-
family = family.replace(new RegExp(`[-_]${paramsEsc}[-_].*$`,
|
|
315
|
+
const paramsEsc = params.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
316
|
+
family = family.replace(new RegExp(`[-_]${paramsEsc}[-_].*$`, 'i'), '');
|
|
320
317
|
}
|
|
321
318
|
if (quantization) {
|
|
322
|
-
const quantEsc = quantization.replace(/[.*+?^${}()|[\]\\]/g,
|
|
323
|
-
family = family.replace(new RegExp(`[-_]${quantEsc}$`,
|
|
319
|
+
const quantEsc = quantization.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
320
|
+
family = family.replace(new RegExp(`[-_]${quantEsc}$`, 'i'), '');
|
|
324
321
|
}
|
|
325
|
-
const nameParts = [family, params, quantization].filter((p) => p && p !==
|
|
326
|
-
return nameParts.map(cleanPart).join(
|
|
322
|
+
const nameParts = [family, params, quantization].filter((p) => p && p !== '');
|
|
323
|
+
return nameParts.map(cleanPart).join('_');
|
|
327
324
|
}
|
|
328
|
-
function generateParakeetName({ filename, lowerPath, quantization
|
|
325
|
+
function generateParakeetName({ filename, lowerPath, quantization }) {
|
|
329
326
|
const lower = filename.toLowerCase();
|
|
330
|
-
let variant =
|
|
331
|
-
if (lower.includes(
|
|
332
|
-
variant =
|
|
327
|
+
let variant = '';
|
|
328
|
+
if (lower.includes('sortformer') || lower.includes('diar_streaming')) {
|
|
329
|
+
variant = 'SORTFORMER';
|
|
333
330
|
}
|
|
334
|
-
else if (lower.includes(
|
|
335
|
-
variant =
|
|
331
|
+
else if (lower.includes('ctc') || lowerPath.includes('parakeet-ctc')) {
|
|
332
|
+
variant = 'CTC';
|
|
336
333
|
}
|
|
337
|
-
else if (lower.includes(
|
|
338
|
-
variant =
|
|
334
|
+
else if (lower.includes('eou') || lowerPath.includes('parakeet-rs')) {
|
|
335
|
+
variant = 'EOU';
|
|
339
336
|
}
|
|
340
|
-
else if (lower.includes(
|
|
341
|
-
variant =
|
|
337
|
+
else if (lower.includes('tdt') || lowerPath.includes('parakeet-tdt')) {
|
|
338
|
+
variant = 'TDT';
|
|
342
339
|
}
|
|
343
|
-
if (lower.endsWith(
|
|
340
|
+
if (lower.endsWith('.gguf')) {
|
|
344
341
|
const paramsMatch = filename.match(/(?:^|[-_])(\d+(?:\.\d+)?[mb])(?=[-_.])/i);
|
|
345
342
|
const versionMatch = filename.match(/[-_]v(\d+(?:\.\d+)?)/i);
|
|
346
343
|
const speakerMatch = filename.match(/(\d+spk)/i);
|
|
347
|
-
const paramsHint = paramsMatch ? paramsMatch[1] :
|
|
348
|
-
const versionHint = versionMatch ? `V${versionMatch[1]}` :
|
|
349
|
-
const speakerHint = speakerMatch ? speakerMatch[1] :
|
|
350
|
-
const nameParts = [
|
|
351
|
-
|
|
352
|
-
paramsHint,
|
|
353
|
-
speakerHint,
|
|
354
|
-
versionHint,
|
|
355
|
-
quantization,
|
|
356
|
-
].filter((p) => p && p !== "");
|
|
357
|
-
return `PARAKEET_${nameParts.map(cleanPart).join("_")}`;
|
|
344
|
+
const paramsHint = paramsMatch ? paramsMatch[1] : '';
|
|
345
|
+
const versionHint = versionMatch ? `V${versionMatch[1]}` : '';
|
|
346
|
+
const speakerHint = speakerMatch ? speakerMatch[1] : '';
|
|
347
|
+
const nameParts = [variant, paramsHint, speakerHint, versionHint, quantization].filter((p) => p && p !== '');
|
|
348
|
+
return `PARAKEET_${nameParts.map(cleanPart).join('_')}`;
|
|
358
349
|
}
|
|
359
|
-
let fileRole =
|
|
360
|
-
if (lower.includes(
|
|
361
|
-
fileRole =
|
|
350
|
+
let fileRole = '';
|
|
351
|
+
if (lower.includes('encoder') && (lower.endsWith('.data') || lower.endsWith('.onnx.data'))) {
|
|
352
|
+
fileRole = 'ENCODER_DATA';
|
|
362
353
|
}
|
|
363
|
-
else if (lower.includes(
|
|
364
|
-
fileRole =
|
|
354
|
+
else if (lower.includes('encoder')) {
|
|
355
|
+
fileRole = 'ENCODER';
|
|
365
356
|
}
|
|
366
|
-
else if (lower.includes(
|
|
367
|
-
fileRole =
|
|
357
|
+
else if (lower.includes('decoder')) {
|
|
358
|
+
fileRole = 'DECODER';
|
|
368
359
|
}
|
|
369
|
-
else if (lower.includes(
|
|
370
|
-
fileRole =
|
|
360
|
+
else if (lower.includes('vocab')) {
|
|
361
|
+
fileRole = 'VOCAB';
|
|
371
362
|
}
|
|
372
|
-
else if (lower.includes(
|
|
373
|
-
fileRole =
|
|
363
|
+
else if (lower.includes('tokenizer')) {
|
|
364
|
+
fileRole = 'TOKENIZER';
|
|
374
365
|
}
|
|
375
|
-
else if (lower.includes(
|
|
376
|
-
fileRole =
|
|
366
|
+
else if (lower.includes('preprocessor') || lower.includes('nemo')) {
|
|
367
|
+
fileRole = 'PREPROCESSOR';
|
|
377
368
|
}
|
|
378
|
-
else if (lower ===
|
|
379
|
-
fileRole =
|
|
369
|
+
else if (lower === 'config.json') {
|
|
370
|
+
fileRole = 'CONFIG';
|
|
380
371
|
}
|
|
381
|
-
else if (lower.endsWith(
|
|
382
|
-
fileRole =
|
|
372
|
+
else if (lower.endsWith('.onnx.data') || lower.endsWith('.onnx_data')) {
|
|
373
|
+
fileRole = 'DATA';
|
|
383
374
|
}
|
|
384
|
-
else if (lower.includes(
|
|
385
|
-
fileRole =
|
|
375
|
+
else if (lower.includes('sortformer')) {
|
|
376
|
+
fileRole = '';
|
|
386
377
|
}
|
|
387
|
-
else if (lower.endsWith(
|
|
388
|
-
fileRole =
|
|
378
|
+
else if (lower.endsWith('.onnx') || lower.endsWith('.int8.onnx')) {
|
|
379
|
+
fileRole = '';
|
|
389
380
|
}
|
|
390
381
|
else {
|
|
391
|
-
fileRole = cleanPart(filename.replace(/\.\w+$/,
|
|
382
|
+
fileRole = cleanPart(filename.replace(/\.\w+$/, ''));
|
|
392
383
|
}
|
|
393
|
-
const nameParts = [variant, fileRole, quantization].filter((p) => p && p !==
|
|
394
|
-
return `PARAKEET_${nameParts.map(cleanPart).join(
|
|
384
|
+
const nameParts = [variant, fileRole, quantization].filter((p) => p && p !== '');
|
|
385
|
+
return `PARAKEET_${nameParts.map(cleanPart).join('_')}`;
|
|
395
386
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { QVACModelEntry } from
|
|
2
|
-
import type { ProcessedModel } from
|
|
1
|
+
import type { QVACModelEntry } from '@qvac/registry-client';
|
|
2
|
+
import type { ProcessedModel } from './types';
|
|
3
3
|
export declare function toHexString(value: Buffer | string | {
|
|
4
4
|
data: number[];
|
|
5
5
|
} | undefined): string;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { getAddonFromEngine, resolveCanonicalEngine
|
|
2
|
-
import { detectShardedModel } from
|
|
1
|
+
import { getAddonFromEngine, resolveCanonicalEngine } from '../../schemas/engine-addon-map';
|
|
2
|
+
import { detectShardedModel } from './shards.js';
|
|
3
3
|
export function toHexString(value) {
|
|
4
4
|
if (!value)
|
|
5
|
-
return
|
|
5
|
+
return '';
|
|
6
6
|
if (Buffer.isBuffer(value))
|
|
7
|
-
return value.toString(
|
|
8
|
-
if (typeof value ===
|
|
7
|
+
return value.toString('hex');
|
|
8
|
+
if (typeof value === 'string')
|
|
9
9
|
return value;
|
|
10
|
-
if (typeof value ===
|
|
11
|
-
return Buffer.from(value.data).toString(
|
|
10
|
+
if (typeof value === 'object' && 'data' in value) {
|
|
11
|
+
return Buffer.from(value.data).toString('hex');
|
|
12
12
|
}
|
|
13
|
-
return
|
|
13
|
+
return '';
|
|
14
14
|
}
|
|
15
15
|
export function extractModelName(registryPath) {
|
|
16
|
-
const parts = registryPath.split(
|
|
16
|
+
const parts = registryPath.split('/');
|
|
17
17
|
if (parts.length >= 2) {
|
|
18
|
-
return parts[1] || parts[0] ||
|
|
18
|
+
return parts[1] || parts[0] || '';
|
|
19
19
|
}
|
|
20
20
|
return (registryPath
|
|
21
|
-
.split(
|
|
21
|
+
.split('/')
|
|
22
22
|
.pop()
|
|
23
|
-
?.replace(/\.\w+$/,
|
|
23
|
+
?.replace(/\.\w+$/, '') || '');
|
|
24
24
|
}
|
|
25
25
|
export function processRegistryModel(model) {
|
|
26
26
|
const engine = resolveCanonicalEngine(model.engine);
|
|
@@ -28,7 +28,7 @@ export function processRegistryModel(model) {
|
|
|
28
28
|
console.warn(`⚠️ Skipping model with unknown engine "${model.engine}": ${model.path}`);
|
|
29
29
|
return null;
|
|
30
30
|
}
|
|
31
|
-
const filename = model.path.split(
|
|
31
|
+
const filename = model.path.split('/').pop() || model.path;
|
|
32
32
|
const blobBinding = model.blobBinding;
|
|
33
33
|
const blobCoreKey = toHexString(blobBinding?.coreKey);
|
|
34
34
|
const blobBlockOffset = blobBinding?.blockOffset ?? 0;
|
|
@@ -37,9 +37,7 @@ export function processRegistryModel(model) {
|
|
|
37
37
|
const expectedSize = blobBinding?.byteLength ?? 0;
|
|
38
38
|
// The sha256 lives on blobBinding at runtime (per the hyperschema),
|
|
39
39
|
// even though the TS types define it on QVACModelEntry. Try blobBinding first.
|
|
40
|
-
const sha256Checksum = blobBinding?.[
|
|
41
|
-
model.sha256 ||
|
|
42
|
-
"";
|
|
40
|
+
const sha256Checksum = blobBinding?.['sha256'] || model.sha256 || '';
|
|
43
41
|
const addon = getAddonFromEngine(engine);
|
|
44
42
|
const result = {
|
|
45
43
|
registryPath: model.path,
|
|
@@ -54,9 +52,9 @@ export function processRegistryModel(model) {
|
|
|
54
52
|
sha256Checksum,
|
|
55
53
|
engine,
|
|
56
54
|
modelName: extractModelName(model.path),
|
|
57
|
-
quantization: model.quantization ||
|
|
58
|
-
params: model.params ||
|
|
59
|
-
tags: model.tags || []
|
|
55
|
+
quantization: model.quantization || '',
|
|
56
|
+
params: model.params || '',
|
|
57
|
+
tags: model.tags || []
|
|
60
58
|
};
|
|
61
59
|
const shardDetection = detectShardedModel(filename);
|
|
62
60
|
if (shardDetection.isSharded) {
|