@qvac/sdk 0.14.1 → 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.js +4 -4
- package/dist/commands/bundle/index.js +45 -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.js +6 -13
- 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,179 +1,212 @@
|
|
|
1
|
-
import { z } from
|
|
2
|
-
import { modelSrcInputSchema } from
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { modelSrcInputSchema } from './model-src-utils.js';
|
|
3
3
|
const BASE64_PATTERN = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
|
|
4
4
|
const ABSOLUTE_PATH_PATTERN = /^(\/|[A-Za-z]:[\\/]|\\\\)/;
|
|
5
5
|
const base64StringSchema = z.string().min(1).regex(BASE64_PATTERN);
|
|
6
6
|
const samplingMethodSchema = z.enum([
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
'euler',
|
|
8
|
+
'euler_a',
|
|
9
|
+
'heun',
|
|
10
|
+
'dpm2',
|
|
11
|
+
'dpm++2m',
|
|
12
|
+
'dpm++2mv2',
|
|
13
|
+
'dpm++2s_a',
|
|
14
|
+
'lcm',
|
|
15
|
+
'ipndm',
|
|
16
|
+
'ipndm_v',
|
|
17
|
+
'ddim_trailing',
|
|
18
|
+
'tcd',
|
|
19
|
+
'res_multistep',
|
|
20
|
+
'res_2s'
|
|
21
21
|
]);
|
|
22
22
|
const scheduleTypeSchema = z.enum([
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
'discrete',
|
|
24
|
+
'karras',
|
|
25
|
+
'exponential',
|
|
26
|
+
'ays',
|
|
27
|
+
'gits',
|
|
28
|
+
'sgm_uniform',
|
|
29
|
+
'simple',
|
|
30
|
+
'lcm',
|
|
31
|
+
'smoothstep',
|
|
32
|
+
'kl_optimal',
|
|
33
|
+
'bong_tangent'
|
|
25
34
|
]);
|
|
26
35
|
const cacheModeSchema = z.enum([
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
'disabled',
|
|
37
|
+
'easycache',
|
|
38
|
+
'ucache',
|
|
39
|
+
'dbcache',
|
|
40
|
+
'taylorseer',
|
|
41
|
+
'cache-dit'
|
|
33
42
|
]);
|
|
34
|
-
export const sdcppConfigSchema = z
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
.
|
|
43
|
+
export const sdcppConfigSchema = z.object({
|
|
44
|
+
mode: z
|
|
45
|
+
.enum(['diffusion', 'upscale', 'video'])
|
|
46
|
+
.default('diffusion')
|
|
47
|
+
.describe('Operation mode for the diffusion plugin. ' +
|
|
38
48
|
"`'diffusion'` (default) builds a full SD / SDXL / SD3 / FLUX pipeline from " +
|
|
39
|
-
|
|
40
|
-
|
|
49
|
+
'the primary model plus optional auxiliary text encoders, VAE, and ESRGAN ' +
|
|
50
|
+
'upscaler, and exposes diffusion({ ... }). ' +
|
|
41
51
|
"`'upscale'` builds a standalone ESRGAN upscaler from the primary model " +
|
|
42
|
-
|
|
52
|
+
'file alone (auxiliary model sources are ignored) and exposes upscale({ ... }). ' +
|
|
43
53
|
"`'video'` builds a Wan `VideoStableDiffusion` pipeline and exposes video({ ... }). " +
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
54
|
+
'On React Native, loading the video model on-device will likely fail ' +
|
|
55
|
+
'because the video diffusion models currently ' +
|
|
56
|
+
'shipped by the SDK are too large to load on typical mobile devices; ' +
|
|
57
|
+
'pass a `delegate` to `loadModel(...)` to run generation on a desktop peer instead.'),
|
|
48
58
|
threads: z.number().optional(),
|
|
49
|
-
device: z.enum([
|
|
59
|
+
device: z.enum(['gpu', 'cpu']).optional(),
|
|
50
60
|
prediction: z
|
|
51
|
-
.enum([
|
|
61
|
+
.enum(['auto', 'eps', 'v', 'edm_v', 'flow', 'flux2_flow'])
|
|
52
62
|
.optional()
|
|
53
|
-
.describe(
|
|
63
|
+
.describe('Prediction type; auto-detected from model when omitted'),
|
|
54
64
|
type: z
|
|
55
65
|
.enum([
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
66
|
+
'auto',
|
|
67
|
+
'f32',
|
|
68
|
+
'f16',
|
|
69
|
+
'bf16',
|
|
70
|
+
'q2_k',
|
|
71
|
+
'q3_k',
|
|
72
|
+
'q4_0',
|
|
73
|
+
'q4_1',
|
|
74
|
+
'q4_k',
|
|
75
|
+
'q5_0',
|
|
76
|
+
'q5_1',
|
|
77
|
+
'q5_k',
|
|
78
|
+
'q6_k',
|
|
79
|
+
'q8_0'
|
|
59
80
|
])
|
|
60
81
|
.optional()
|
|
61
|
-
.describe(
|
|
62
|
-
rng: z.enum([
|
|
63
|
-
sampler_rng: z.enum([
|
|
64
|
-
clip_on_cpu: z.boolean().optional().describe(
|
|
65
|
-
vae_on_cpu: z.boolean().optional().describe(
|
|
66
|
-
vae_tiling: z.boolean().optional().describe(
|
|
67
|
-
offload_to_cpu: z
|
|
68
|
-
.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
82
|
+
.describe('Weight quantization type override; auto-detected when omitted'),
|
|
83
|
+
rng: z.enum(['cpu', 'cuda', 'std_default']).optional(),
|
|
84
|
+
sampler_rng: z.enum(['cpu', 'cuda', 'std_default']).optional(),
|
|
85
|
+
clip_on_cpu: z.boolean().optional().describe('Force CLIP text encoder to run on CPU'),
|
|
86
|
+
vae_on_cpu: z.boolean().optional().describe('Force VAE decoder to run on CPU'),
|
|
87
|
+
vae_tiling: z.boolean().optional().describe('Enable VAE tiling for large images on limited VRAM'),
|
|
88
|
+
offload_to_cpu: z
|
|
89
|
+
.boolean()
|
|
90
|
+
.optional()
|
|
91
|
+
.describe('Keep model weights in CPU memory and offload them during GPU compute'),
|
|
92
|
+
flash_attn: z.boolean().optional().describe('Enable flash attention to reduce memory usage'),
|
|
93
|
+
diffusion_fa: z
|
|
94
|
+
.boolean()
|
|
95
|
+
.optional()
|
|
96
|
+
.describe('Enable flash attention for the diffusion transformer only'),
|
|
97
|
+
lora_apply_mode: z
|
|
98
|
+
.enum(['auto', 'immediately', 'at_runtime'])
|
|
99
|
+
.optional()
|
|
100
|
+
.describe('How LoRA adapters passed via diffusion({ lora }) are applied. ' +
|
|
73
101
|
"'auto' (default): picked based on weight type — 'at_runtime' for " +
|
|
74
102
|
"quantized weights, 'immediately' for full-precision. " +
|
|
75
103
|
"'immediately': adapter is fused into the model on first use and " +
|
|
76
|
-
|
|
77
|
-
|
|
104
|
+
'persists across subsequent diffusion() calls until the model is ' +
|
|
105
|
+
'unloaded. ' +
|
|
78
106
|
"'at_runtime': adapter is applied per-call and not persisted."),
|
|
79
107
|
verbosity: z.number().optional(),
|
|
80
|
-
clipLModelSrc: modelSrcInputSchema
|
|
81
|
-
.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
.describe(
|
|
86
|
-
|
|
87
|
-
.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
.describe(
|
|
92
|
-
|
|
93
|
-
.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
108
|
+
clipLModelSrc: modelSrcInputSchema
|
|
109
|
+
.optional()
|
|
110
|
+
.describe('CLIP-L text encoder model — required for SD3'),
|
|
111
|
+
clipGModelSrc: modelSrcInputSchema
|
|
112
|
+
.optional()
|
|
113
|
+
.describe('CLIP-G text encoder model — required for SDXL and SD3'),
|
|
114
|
+
t5XxlModelSrc: modelSrcInputSchema
|
|
115
|
+
.optional()
|
|
116
|
+
.describe('T5-XXL text encoder model — required for SD3'),
|
|
117
|
+
llmModelSrc: modelSrcInputSchema
|
|
118
|
+
.optional()
|
|
119
|
+
.describe('LLM text encoder model (e.g. Qwen3) — required for FLUX.2 [klein]'),
|
|
120
|
+
vaeModelSrc: modelSrcInputSchema
|
|
121
|
+
.optional()
|
|
122
|
+
.describe('VAE decoder model — required for FLUX.2 [klein], optional for SDXL'),
|
|
123
|
+
highNoiseDiffusionModelSrc: modelSrcInputSchema
|
|
124
|
+
.optional()
|
|
125
|
+
.describe('High-noise diffusion expert — required for Wan 2.2 mixture-of-experts video models'),
|
|
126
|
+
clipVisionModelSrc: modelSrcInputSchema
|
|
127
|
+
.optional()
|
|
128
|
+
.describe('OpenCLIP ViT-H/14 weights (`clip_vision_h.safetensors`). Required for ' +
|
|
129
|
+
'Wan image-to-video (`img2vid`); omit for text-to-video-only pipelines.'),
|
|
130
|
+
upscaler: z
|
|
131
|
+
.object({
|
|
132
|
+
type: z
|
|
133
|
+
.literal('esrgan')
|
|
134
|
+
.optional()
|
|
135
|
+
.describe('Type of upscaler to use for post-generation upscaling when requested in diffusion({ upscale }).'),
|
|
136
|
+
model_src: modelSrcInputSchema
|
|
137
|
+
.optional()
|
|
138
|
+
.describe('ESRGAN upscaler model (e.g. RealESRGAN_x4plus_anime_6B.pth). ' +
|
|
139
|
+
'Required in diffusion mode when this `upscaler` block is set — ' +
|
|
140
|
+
'configures the post-generation upscaler invoked via diffusion({ upscale }). ' +
|
|
102
141
|
"In `mode: 'upscale'` the primary modelSrc itself is the ESRGAN model, " +
|
|
103
|
-
|
|
104
|
-
tile_size: z
|
|
105
|
-
.
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
142
|
+
'so this field is ignored.'),
|
|
143
|
+
tile_size: z
|
|
144
|
+
.number()
|
|
145
|
+
.int()
|
|
146
|
+
.positive()
|
|
147
|
+
.optional()
|
|
148
|
+
.describe('ESRGAN upscaler tile size in pixels. Smaller tiles use less VRAM ' +
|
|
149
|
+
'at the cost of more passes.'),
|
|
150
|
+
direct: z
|
|
151
|
+
.boolean()
|
|
152
|
+
.optional()
|
|
153
|
+
.describe('Use direct convolution in the ESRGAN upscaler instead of im2col + ' +
|
|
154
|
+
'GEMM. Faster on some backends, slower on others.'),
|
|
155
|
+
offload_params_to_cpu: z
|
|
156
|
+
.boolean()
|
|
157
|
+
.optional()
|
|
158
|
+
.describe('Keep ESRGAN upscaler weights on CPU and offload them during compute. ' +
|
|
159
|
+
'Trades latency for VRAM headroom on memory-constrained GPUs.'),
|
|
160
|
+
threads: z
|
|
161
|
+
.union([z.literal(-1), z.number().int().positive()])
|
|
117
162
|
.optional()
|
|
118
|
-
.describe(
|
|
119
|
-
})
|
|
120
|
-
.
|
|
121
|
-
|
|
163
|
+
.describe('Number of CPU threads dedicated to the ESRGAN upscaler. -1 = auto.')
|
|
164
|
+
})
|
|
165
|
+
.strict()
|
|
166
|
+
.optional()
|
|
167
|
+
.describe('ESRGAN upscaler configuration. In diffusion mode this enables the ' +
|
|
168
|
+
'post-generation upscale path invoked via diffusion({ upscale }) and ' +
|
|
122
169
|
"requires `model_src`. In `mode: 'upscale'` only the tuning fields " +
|
|
123
|
-
|
|
124
|
-
|
|
170
|
+
'(tile_size, direct, offload_params_to_cpu, threads) are honored — ' +
|
|
171
|
+
'the primary modelSrc IS the ESRGAN model in that mode and ' +
|
|
125
172
|
"`model_src` here is ignored. In `mode: 'video'` the entire `upscaler` " +
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
173
|
+
'object is ignored. Mode-dependent constraints (e.g. `model_src` ' +
|
|
174
|
+
'required in diffusion mode) are enforced by the sdcpp-generation ' +
|
|
175
|
+
'plugin at load time, not at the schema layer.')
|
|
129
176
|
});
|
|
130
177
|
export const diffusionStatsSchema = z.object({
|
|
131
178
|
modelLoadMs: z
|
|
132
179
|
.number()
|
|
133
180
|
.optional()
|
|
134
|
-
.describe(
|
|
181
|
+
.describe('Time in milliseconds spent loading the diffusion model.'),
|
|
135
182
|
generationMs: z
|
|
136
183
|
.number()
|
|
137
184
|
.optional()
|
|
138
|
-
.describe(
|
|
185
|
+
.describe('Wall-clock time in milliseconds spent generating images.'),
|
|
139
186
|
totalGenerationMs: z
|
|
140
187
|
.number()
|
|
141
188
|
.optional()
|
|
142
|
-
.describe(
|
|
189
|
+
.describe('Total generation time in milliseconds across all images in the batch.'),
|
|
143
190
|
totalWallMs: z
|
|
144
191
|
.number()
|
|
145
192
|
.optional()
|
|
146
|
-
.describe(
|
|
147
|
-
totalSteps: z
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
.describe("Total number of diffusion sampling steps executed."),
|
|
151
|
-
totalGenerations: z
|
|
152
|
-
.number()
|
|
153
|
-
.optional()
|
|
154
|
-
.describe("Total number of generation passes executed."),
|
|
155
|
-
totalImages: z
|
|
156
|
-
.number()
|
|
157
|
-
.optional()
|
|
158
|
-
.describe("Total number of images produced."),
|
|
193
|
+
.describe('Total wall-clock time in milliseconds including model load and sampling.'),
|
|
194
|
+
totalSteps: z.number().optional().describe('Total number of diffusion sampling steps executed.'),
|
|
195
|
+
totalGenerations: z.number().optional().describe('Total number of generation passes executed.'),
|
|
196
|
+
totalImages: z.number().optional().describe('Total number of images produced.'),
|
|
159
197
|
totalPixels: z
|
|
160
198
|
.number()
|
|
161
199
|
.optional()
|
|
162
|
-
.describe(
|
|
163
|
-
width: z
|
|
164
|
-
|
|
165
|
-
.optional()
|
|
166
|
-
.describe("Width in pixels of each generated image."),
|
|
167
|
-
height: z
|
|
168
|
-
.number()
|
|
169
|
-
.optional()
|
|
170
|
-
.describe("Height in pixels of each generated image."),
|
|
200
|
+
.describe('Total number of pixels generated across all images.'),
|
|
201
|
+
width: z.number().optional().describe('Width in pixels of each generated image.'),
|
|
202
|
+
height: z.number().optional().describe('Height in pixels of each generated image.'),
|
|
171
203
|
seed: z
|
|
172
204
|
.number()
|
|
173
205
|
.optional()
|
|
174
|
-
.describe(
|
|
206
|
+
.describe('Seed that produced these outputs (randomized when not supplied by the caller).')
|
|
175
207
|
});
|
|
176
|
-
export const videoStatsSchema = diffusionStatsSchema
|
|
208
|
+
export const videoStatsSchema = diffusionStatsSchema
|
|
209
|
+
.pick({
|
|
177
210
|
modelLoadMs: true,
|
|
178
211
|
generationMs: true,
|
|
179
212
|
totalGenerationMs: true,
|
|
@@ -184,298 +217,269 @@ export const videoStatsSchema = diffusionStatsSchema.pick({
|
|
|
184
217
|
totalPixels: true,
|
|
185
218
|
width: true,
|
|
186
219
|
height: true,
|
|
187
|
-
seed: true
|
|
188
|
-
})
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
totalVideoFrames: z
|
|
194
|
-
.number()
|
|
195
|
-
.optional()
|
|
196
|
-
.describe("Total number of video frames produced."),
|
|
197
|
-
videoFrames: z
|
|
198
|
-
.number()
|
|
199
|
-
.optional()
|
|
200
|
-
.describe("Frame count of the most recent generated video."),
|
|
220
|
+
seed: true
|
|
221
|
+
})
|
|
222
|
+
.extend({
|
|
223
|
+
totalVideos: z.number().optional().describe('Total number of videos produced.'),
|
|
224
|
+
totalVideoFrames: z.number().optional().describe('Total number of video frames produced.'),
|
|
225
|
+
videoFrames: z.number().optional().describe('Frame count of the most recent generated video.'),
|
|
201
226
|
fps: z
|
|
202
227
|
.number()
|
|
203
228
|
.optional()
|
|
204
|
-
.describe(
|
|
229
|
+
.describe('Frames-per-second metadata for the most recent generated video.')
|
|
205
230
|
});
|
|
206
231
|
export const diffusionStreamResponseSchema = z.object({
|
|
207
|
-
type: z.literal(
|
|
232
|
+
type: z.literal('diffusionStream'),
|
|
208
233
|
step: z.number().optional(),
|
|
209
234
|
totalSteps: z.number().optional(),
|
|
210
235
|
elapsedMs: z.number().optional(),
|
|
211
236
|
data: z.string().optional(),
|
|
212
237
|
outputIndex: z.number().optional(),
|
|
213
238
|
done: z.boolean().optional(),
|
|
214
|
-
stats: diffusionStatsSchema.optional()
|
|
239
|
+
stats: diffusionStatsSchema.optional()
|
|
215
240
|
});
|
|
216
241
|
export const videoStreamResponseSchema = z.object({
|
|
217
|
-
type: z.literal(
|
|
242
|
+
type: z.literal('videoStream'),
|
|
218
243
|
step: z.number().optional(),
|
|
219
244
|
totalSteps: z.number().optional(),
|
|
220
245
|
elapsedMs: z.number().optional(),
|
|
221
246
|
data: z.string().optional(),
|
|
222
247
|
outputIndex: z.number().optional(),
|
|
223
248
|
done: z.boolean().optional(),
|
|
224
|
-
stats: videoStatsSchema.optional()
|
|
249
|
+
stats: videoStatsSchema.optional()
|
|
225
250
|
});
|
|
226
|
-
export const diffusionRequestSchema = z
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
prompt: z.string().describe("Positive prompt describing the image to generate."),
|
|
251
|
+
export const diffusionRequestSchema = z
|
|
252
|
+
.object({
|
|
253
|
+
modelId: z.string().describe('The identifier of the diffusion model to use for generation.'),
|
|
254
|
+
prompt: z.string().describe('Positive prompt describing the image to generate.'),
|
|
231
255
|
negative_prompt: z
|
|
232
256
|
.string()
|
|
233
257
|
.optional()
|
|
234
|
-
.describe(
|
|
258
|
+
.describe('Optional negative prompt describing what to avoid.'),
|
|
235
259
|
width: z
|
|
236
260
|
.number()
|
|
237
261
|
.int()
|
|
238
262
|
.positive()
|
|
239
263
|
.multipleOf(8)
|
|
240
264
|
.optional()
|
|
241
|
-
.describe(
|
|
265
|
+
.describe('Image width in pixels (must be a multiple of 8).'),
|
|
242
266
|
height: z
|
|
243
267
|
.number()
|
|
244
268
|
.int()
|
|
245
269
|
.positive()
|
|
246
270
|
.multipleOf(8)
|
|
247
271
|
.optional()
|
|
248
|
-
.describe(
|
|
249
|
-
steps: z
|
|
250
|
-
.number()
|
|
251
|
-
.int()
|
|
252
|
-
.positive()
|
|
253
|
-
.optional()
|
|
254
|
-
.describe("Number of sampling steps to run."),
|
|
272
|
+
.describe('Image height in pixels (must be a multiple of 8).'),
|
|
273
|
+
steps: z.number().int().positive().optional().describe('Number of sampling steps to run.'),
|
|
255
274
|
cfg_scale: z
|
|
256
275
|
.number()
|
|
257
276
|
.optional()
|
|
258
|
-
.describe(
|
|
277
|
+
.describe('Classifier-free guidance scale for SD 1.x / 2.x / XL / SD3 models; typical range 1–20, default 7'),
|
|
259
278
|
img_cfg_scale: z
|
|
260
279
|
.number()
|
|
261
280
|
.default(-1)
|
|
262
|
-
.describe(
|
|
281
|
+
.describe('Image CFG scale for img2img/inpaint workflows where the image and prompt should have different guidance weights; defaults to -1 which reuses cfg_scale'),
|
|
263
282
|
guidance: z
|
|
264
283
|
.number()
|
|
265
284
|
.optional()
|
|
266
|
-
.describe(
|
|
285
|
+
.describe('Distilled guidance for FLUX models; typical range 1–10, default 3.5'),
|
|
267
286
|
sampling_method: samplingMethodSchema
|
|
268
287
|
.optional()
|
|
269
|
-
.describe(
|
|
270
|
-
scheduler: scheduleTypeSchema
|
|
271
|
-
.optional()
|
|
272
|
-
.describe("Noise schedule to apply when sampling."),
|
|
288
|
+
.describe('Sampling algorithm used by the diffusion scheduler.'),
|
|
289
|
+
scheduler: scheduleTypeSchema.optional().describe('Noise schedule to apply when sampling.'),
|
|
273
290
|
seed: z
|
|
274
291
|
.number()
|
|
275
292
|
.int()
|
|
276
293
|
.optional()
|
|
277
|
-
.describe(
|
|
294
|
+
.describe('Random seed; when omitted the SDK picks one and returns it in stats.'),
|
|
278
295
|
batch_count: z
|
|
279
296
|
.number()
|
|
280
297
|
.int()
|
|
281
298
|
.positive()
|
|
282
299
|
.optional()
|
|
283
|
-
.describe(
|
|
300
|
+
.describe('Number of images to generate in this call.'),
|
|
284
301
|
vae_tiling: z
|
|
285
302
|
.boolean()
|
|
286
303
|
.optional()
|
|
287
|
-
.describe(
|
|
304
|
+
.describe('Enable VAE tiling for large images on constrained VRAM (overrides model config).'),
|
|
288
305
|
cache_preset: z
|
|
289
306
|
.string()
|
|
290
307
|
.optional()
|
|
291
|
-
.describe(
|
|
308
|
+
.describe('Optional name of a cached sampler preset to reuse.'),
|
|
292
309
|
init_image: base64StringSchema
|
|
293
310
|
.optional()
|
|
294
|
-
.describe(
|
|
295
|
-
init_images: z
|
|
311
|
+
.describe('Base64-encoded image for img2img generation. Mutually exclusive with init_images.'),
|
|
312
|
+
init_images: z
|
|
313
|
+
.array(base64StringSchema)
|
|
296
314
|
.min(1)
|
|
297
315
|
.optional()
|
|
298
|
-
.describe(
|
|
299
|
-
|
|
300
|
-
|
|
316
|
+
.describe('FLUX.2-only multi-reference fusion: array of base64-encoded PNG/JPEG buffers. ' +
|
|
317
|
+
'Each buffer becomes a separate reference image that the FLUX.2 transformer attends to. ' +
|
|
318
|
+
'Mutually exclusive with init_image; requires the model to be loaded with ' +
|
|
301
319
|
"config.prediction='flux2_flow' and a Qwen3 text encoder via llmModelSrc."),
|
|
302
|
-
increase_ref_index: z
|
|
303
|
-
.
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
320
|
+
increase_ref_index: z
|
|
321
|
+
.boolean()
|
|
322
|
+
.optional()
|
|
323
|
+
.describe('FLUX.2 fusion only. When omitted, the addon default (false) is used. When false, all ' +
|
|
324
|
+
'reference latents share one RoPE index slot and blend via attention (recommended for ' +
|
|
325
|
+
'FLUX.2-klein). When true, each reference gets its own RoPE index slot — use only with ' +
|
|
326
|
+
'text encoders that receive per-image vision tokens.'),
|
|
327
|
+
auto_resize_ref_image: z
|
|
328
|
+
.boolean()
|
|
329
|
+
.optional()
|
|
330
|
+
.describe('FLUX.2 only. When omitted, the addon default (true) is used. When true, every reference ' +
|
|
331
|
+
'image (single or fusion) is auto-resized to the target width/height before VAE-encoding. ' +
|
|
332
|
+
'Disable only if the buffers are already at the exact target dimensions.'),
|
|
311
333
|
lora: z
|
|
312
334
|
.string()
|
|
313
335
|
.min(1)
|
|
314
336
|
.regex(ABSOLUTE_PATH_PATTERN, {
|
|
315
|
-
message:
|
|
337
|
+
message: 'lora must be an absolute path'
|
|
316
338
|
})
|
|
317
339
|
.optional()
|
|
318
|
-
.describe(
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
340
|
+
.describe('Optional local LoRA adapter path to apply for this generation. ' +
|
|
341
|
+
'Must be an absolute filesystem path. ' +
|
|
342
|
+
'Whether the adapter persists across subsequent diffusion() calls is controlled ' +
|
|
343
|
+
'by sdcppConfigSchema.lora_apply_mode (set at loadModel time).'),
|
|
322
344
|
strength: z
|
|
323
345
|
.number()
|
|
324
346
|
.min(0)
|
|
325
347
|
.max(1)
|
|
326
348
|
.optional()
|
|
327
|
-
.describe(
|
|
349
|
+
.describe('img2img denoising strength (0.0 = keep source, 1.0 = ignore source); used by the SD/SDXL SDEdit path. No-op for FLUX.2, which uses in-context conditioning and ignores this field.'),
|
|
328
350
|
upscale: z
|
|
329
351
|
.union([
|
|
330
352
|
z.boolean(),
|
|
331
|
-
z
|
|
332
|
-
|
|
333
|
-
|
|
353
|
+
z
|
|
354
|
+
.object({
|
|
355
|
+
repeats: z.number().int().positive().optional()
|
|
356
|
+
})
|
|
357
|
+
.strict()
|
|
334
358
|
])
|
|
335
359
|
.optional()
|
|
336
|
-
.describe(
|
|
337
|
-
|
|
360
|
+
.describe('Post-generation ESRGAN upscale. ' +
|
|
361
|
+
'`true` (or `{}` / `{ repeats: 1 }`) runs a single upscale pass at the ' +
|
|
338
362
|
"model's native scale factor (e.g. x4 for RealESRGAN_x4plus). " +
|
|
339
|
-
|
|
340
|
-
|
|
363
|
+
'`false` is a no-op (same as omitting the field). ' +
|
|
364
|
+
'`{ repeats: N }` runs the upscaler N times sequentially — each pass ' +
|
|
341
365
|
"multiplies the output dimensions by the model's scale factor. When " +
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
})
|
|
345
|
-
|
|
366
|
+
'`batch_count > 1`, every output image is upscaled independently. ' +
|
|
367
|
+
'Requires the model to be loaded with `upscaler.model_src` set in modelConfig.')
|
|
368
|
+
})
|
|
369
|
+
.refine((d) => d.init_image === undefined || d.init_images === undefined, {
|
|
370
|
+
message: 'init_image and init_images are mutually exclusive — pass one or the other, not both.'
|
|
346
371
|
});
|
|
347
372
|
export const diffusionStreamRequestSchema = diffusionRequestSchema.extend({
|
|
348
|
-
type: z.literal(
|
|
373
|
+
type: z.literal('diffusionStream')
|
|
349
374
|
});
|
|
350
375
|
const videoGenerationBaseSchema = z.object({
|
|
351
376
|
modelId: z
|
|
352
377
|
.string()
|
|
353
|
-
.describe(
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
378
|
+
.describe('The identifier of the loaded video model to use for generation. ' +
|
|
379
|
+
'On React Native, prefer a `modelId` loaded with a `delegate` because ' +
|
|
380
|
+
'the video diffusion models currently shipped by the SDK are too ' +
|
|
381
|
+
'large to load on typical mobile devices.'),
|
|
357
382
|
requestId: z
|
|
358
383
|
.string()
|
|
359
384
|
.min(1)
|
|
360
385
|
.optional()
|
|
361
|
-
.describe(
|
|
362
|
-
prompt: z.string().describe(
|
|
386
|
+
.describe('Stable identifier for this in-flight video generation. Optional on the wire — the server falls back to a server-generated id when the field is missing.'),
|
|
387
|
+
prompt: z.string().describe('Positive prompt describing the video to generate.'),
|
|
363
388
|
negative_prompt: z
|
|
364
389
|
.string()
|
|
365
390
|
.optional()
|
|
366
|
-
.describe(
|
|
391
|
+
.describe('Optional negative prompt describing what to avoid.'),
|
|
367
392
|
width: z
|
|
368
393
|
.number()
|
|
369
394
|
.int()
|
|
370
395
|
.positive()
|
|
371
396
|
.multipleOf(16)
|
|
372
397
|
.optional()
|
|
373
|
-
.describe(
|
|
398
|
+
.describe('Video width in pixels (must be a multiple of 16).'),
|
|
374
399
|
height: z
|
|
375
400
|
.number()
|
|
376
401
|
.int()
|
|
377
402
|
.positive()
|
|
378
403
|
.multipleOf(16)
|
|
379
404
|
.optional()
|
|
380
|
-
.describe(
|
|
405
|
+
.describe('Video height in pixels (must be a multiple of 16).'),
|
|
381
406
|
video_frames: z
|
|
382
407
|
.number()
|
|
383
408
|
.int()
|
|
384
409
|
.refine((value) => value >= 5 && (value - 1) % 4 === 0, {
|
|
385
|
-
message:
|
|
410
|
+
message: 'video_frames must be an integer >= 5 of the form (4*k + 1)'
|
|
386
411
|
})
|
|
387
412
|
.optional()
|
|
388
|
-
.describe(
|
|
413
|
+
.describe('Frame count for the generated video; must satisfy (4*k + 1), where k>=1.'),
|
|
389
414
|
fps: z
|
|
390
415
|
.number()
|
|
391
416
|
.positive()
|
|
392
417
|
.max(120)
|
|
393
418
|
.optional()
|
|
394
|
-
.describe(
|
|
419
|
+
.describe('AVI framerate metadata in frames per second; must be in (0, 120].'),
|
|
395
420
|
seed: z
|
|
396
421
|
.number()
|
|
397
422
|
.int()
|
|
398
423
|
.optional()
|
|
399
|
-
.describe(
|
|
424
|
+
.describe('Random seed; when omitted the SDK picks one and returns it in stats.'),
|
|
400
425
|
steps: z
|
|
401
426
|
.number()
|
|
402
427
|
.int()
|
|
403
428
|
.positive()
|
|
404
429
|
.optional()
|
|
405
|
-
.describe(
|
|
430
|
+
.describe('Low-noise or single-expert denoising step count.'),
|
|
406
431
|
sampling_method: samplingMethodSchema
|
|
407
432
|
.optional()
|
|
408
|
-
.describe(
|
|
433
|
+
.describe('Sampling algorithm used by the low-noise diffusion scheduler.'),
|
|
409
434
|
scheduler: scheduleTypeSchema
|
|
410
435
|
.optional()
|
|
411
|
-
.describe(
|
|
412
|
-
cfg_scale: z
|
|
413
|
-
|
|
414
|
-
.optional()
|
|
415
|
-
.describe("Classifier-free guidance scale."),
|
|
416
|
-
flow_shift: z
|
|
417
|
-
.number()
|
|
418
|
-
.optional()
|
|
419
|
-
.describe("Per-request flow-matching guidance shift override."),
|
|
436
|
+
.describe('Noise schedule to apply for the low-noise diffusion path.'),
|
|
437
|
+
cfg_scale: z.number().optional().describe('Classifier-free guidance scale.'),
|
|
438
|
+
flow_shift: z.number().optional().describe('Per-request flow-matching guidance shift override.'),
|
|
420
439
|
high_noise_steps: z
|
|
421
440
|
.number()
|
|
422
441
|
.int()
|
|
423
442
|
.positive()
|
|
424
443
|
.optional()
|
|
425
|
-
.describe(
|
|
444
|
+
.describe('Wan 2.2 high-noise expert step count.'),
|
|
426
445
|
high_noise_sampler: samplingMethodSchema
|
|
427
446
|
.optional()
|
|
428
|
-
.describe(
|
|
447
|
+
.describe('Wan 2.2 high-noise expert sampler.'),
|
|
429
448
|
high_noise_scheduler: scheduleTypeSchema
|
|
430
449
|
.optional()
|
|
431
|
-
.describe(
|
|
432
|
-
high_noise_cfg_scale: z
|
|
433
|
-
.number()
|
|
434
|
-
.optional()
|
|
435
|
-
.describe("Wan 2.2 high-noise expert CFG scale."),
|
|
450
|
+
.describe('Wan 2.2 high-noise expert scheduler.'),
|
|
451
|
+
high_noise_cfg_scale: z.number().optional().describe('Wan 2.2 high-noise expert CFG scale.'),
|
|
436
452
|
high_noise_flow_shift: z
|
|
437
453
|
.number()
|
|
438
454
|
.optional()
|
|
439
|
-
.describe(
|
|
455
|
+
.describe('Wan 2.2 high-noise expert flow shift override.'),
|
|
440
456
|
moe_boundary: z
|
|
441
457
|
.number()
|
|
442
458
|
.min(0)
|
|
443
459
|
.max(1)
|
|
444
460
|
.optional()
|
|
445
|
-
.describe(
|
|
446
|
-
vace_strength: z
|
|
447
|
-
|
|
448
|
-
.
|
|
449
|
-
.max(1)
|
|
450
|
-
.optional()
|
|
451
|
-
.describe("Control-frame guidance strength."),
|
|
452
|
-
control_frames: z.array(base64StringSchema)
|
|
461
|
+
.describe('Wan 2.2 mixture-of-experts boundary in [0, 1].'),
|
|
462
|
+
vace_strength: z.number().min(0).max(1).optional().describe('Control-frame guidance strength.'),
|
|
463
|
+
control_frames: z
|
|
464
|
+
.array(base64StringSchema)
|
|
453
465
|
.min(1)
|
|
454
466
|
.optional()
|
|
455
|
-
.describe(
|
|
467
|
+
.describe('Optional array of base64-encoded control-frame images.'),
|
|
456
468
|
vae_tiling: z
|
|
457
469
|
.boolean()
|
|
458
470
|
.optional()
|
|
459
|
-
.describe(
|
|
471
|
+
.describe('Enable VAE tiling for large videos on constrained VRAM.'),
|
|
460
472
|
vae_tile_size: z
|
|
461
473
|
.union([z.number().positive(), z.string().min(1)])
|
|
462
474
|
.optional()
|
|
463
|
-
.describe(
|
|
464
|
-
vae_tile_overlap: z
|
|
465
|
-
|
|
466
|
-
.optional()
|
|
467
|
-
.describe("VAE tile overlap override."),
|
|
468
|
-
cache_mode: cacheModeSchema
|
|
469
|
-
.optional()
|
|
470
|
-
.describe("Step-caching algorithm."),
|
|
475
|
+
.describe('VAE tile size override.'),
|
|
476
|
+
vae_tile_overlap: z.number().optional().describe('VAE tile overlap override.'),
|
|
477
|
+
cache_mode: cacheModeSchema.optional().describe('Step-caching algorithm.'),
|
|
471
478
|
cache_preset: z
|
|
472
479
|
.string()
|
|
473
480
|
.optional()
|
|
474
|
-
.describe(
|
|
475
|
-
cache_threshold: z
|
|
476
|
-
.number()
|
|
477
|
-
.optional()
|
|
478
|
-
.describe("Direct cache reuse threshold override."),
|
|
481
|
+
.describe('Optional name of a cached sampler preset to reuse.'),
|
|
482
|
+
cache_threshold: z.number().optional().describe('Direct cache reuse threshold override.')
|
|
479
483
|
});
|
|
480
484
|
// Single wire object with mode-dependent rules expressed via a shared refine.
|
|
481
485
|
// Keeping the wire schema a plain object (instead of a discriminated union)
|
|
@@ -485,46 +489,46 @@ const videoGenerationBaseSchema = z.object({
|
|
|
485
489
|
// discriminated union types below.
|
|
486
490
|
const videoRequestObjectSchema = videoGenerationBaseSchema.extend({
|
|
487
491
|
mode: z
|
|
488
|
-
.enum([
|
|
492
|
+
.enum(['txt2vid', 'img2vid'])
|
|
489
493
|
.describe("Generation mode: 'txt2vid' (no source frame) or 'img2vid' (first-frame image)."),
|
|
490
494
|
init_image: base64StringSchema
|
|
491
495
|
.optional()
|
|
492
|
-
.describe(
|
|
496
|
+
.describe('Base64-encoded first-frame image (PNG/JPEG). Required for img2vid; rejected for txt2vid.'),
|
|
493
497
|
strength: z
|
|
494
498
|
.number()
|
|
495
499
|
.min(0)
|
|
496
500
|
.max(1)
|
|
497
501
|
.optional()
|
|
498
|
-
.describe(
|
|
502
|
+
.describe('img2vid denoise strength in [0, 1]; rejected for txt2vid.')
|
|
499
503
|
});
|
|
500
504
|
function refineVideoMode(data, ctx) {
|
|
501
|
-
if (data.mode ===
|
|
505
|
+
if (data.mode === 'img2vid' && data.init_image === undefined) {
|
|
502
506
|
ctx.addIssue({
|
|
503
|
-
code:
|
|
504
|
-
path: [
|
|
505
|
-
message: "init_image is required when mode is 'img2vid'."
|
|
507
|
+
code: 'custom',
|
|
508
|
+
path: ['init_image'],
|
|
509
|
+
message: "init_image is required when mode is 'img2vid'."
|
|
506
510
|
});
|
|
507
511
|
}
|
|
508
|
-
if (data.mode ===
|
|
512
|
+
if (data.mode === 'txt2vid') {
|
|
509
513
|
if (data.init_image !== undefined) {
|
|
510
514
|
ctx.addIssue({
|
|
511
|
-
code:
|
|
512
|
-
path: [
|
|
513
|
-
message:
|
|
515
|
+
code: 'custom',
|
|
516
|
+
path: ['init_image'],
|
|
517
|
+
message: 'init_image is only valid for img2vid.'
|
|
514
518
|
});
|
|
515
519
|
}
|
|
516
520
|
if (data.strength !== undefined) {
|
|
517
521
|
ctx.addIssue({
|
|
518
|
-
code:
|
|
519
|
-
path: [
|
|
520
|
-
message:
|
|
522
|
+
code: 'custom',
|
|
523
|
+
path: ['strength'],
|
|
524
|
+
message: 'strength is only valid for img2vid.'
|
|
521
525
|
});
|
|
522
526
|
}
|
|
523
527
|
}
|
|
524
528
|
}
|
|
525
529
|
export const videoRequestSchema = videoRequestObjectSchema.superRefine(refineVideoMode);
|
|
526
530
|
export const videoStreamRequestSchema = videoRequestObjectSchema
|
|
527
|
-
.extend({ type: z.literal(
|
|
531
|
+
.extend({ type: z.literal('videoStream') })
|
|
528
532
|
.superRefine(refineVideoMode);
|
|
529
533
|
// ============================================
|
|
530
534
|
// Standalone ESRGAN upscale (mode: "upscale")
|
|
@@ -533,70 +537,64 @@ export const upscaleStatsSchema = z.object({
|
|
|
533
537
|
modelLoadMs: z
|
|
534
538
|
.number()
|
|
535
539
|
.optional()
|
|
536
|
-
.describe(
|
|
540
|
+
.describe('Wall-clock time in milliseconds spent loading the upscaler model.'),
|
|
537
541
|
upscaleMs: z
|
|
538
542
|
.number()
|
|
539
543
|
.optional()
|
|
540
|
-
.describe(
|
|
544
|
+
.describe('Wall-clock time in milliseconds for the most recent upscale job.'),
|
|
541
545
|
totalUpscaleMs: z
|
|
542
546
|
.number()
|
|
543
547
|
.optional()
|
|
544
|
-
.describe(
|
|
548
|
+
.describe('Cumulative upscale time in milliseconds across all jobs.'),
|
|
545
549
|
totalWallMs: z
|
|
546
550
|
.number()
|
|
547
551
|
.optional()
|
|
548
|
-
.describe(
|
|
549
|
-
totalUpscales: z
|
|
550
|
-
|
|
551
|
-
.optional()
|
|
552
|
-
.describe("Cumulative number of upscale calls."),
|
|
553
|
-
totalImages: z
|
|
554
|
-
.number()
|
|
555
|
-
.optional()
|
|
556
|
-
.describe("Cumulative number of images produced."),
|
|
552
|
+
.describe('Total wall-clock time in milliseconds including model load and upscaling.'),
|
|
553
|
+
totalUpscales: z.number().optional().describe('Cumulative number of upscale calls.'),
|
|
554
|
+
totalImages: z.number().optional().describe('Cumulative number of images produced.'),
|
|
557
555
|
totalPixels: z
|
|
558
556
|
.number()
|
|
559
557
|
.optional()
|
|
560
|
-
.describe(
|
|
561
|
-
width: z.number().optional().describe(
|
|
562
|
-
height: z.number().optional().describe(
|
|
558
|
+
.describe('Cumulative number of pixels produced across all images.'),
|
|
559
|
+
width: z.number().optional().describe('Width of the most recent emitted PNG.'),
|
|
560
|
+
height: z.number().optional().describe('Height of the most recent emitted PNG.'),
|
|
563
561
|
repeats: z
|
|
564
562
|
.number()
|
|
565
563
|
.optional()
|
|
566
|
-
.describe(
|
|
564
|
+
.describe('Number of ESRGAN passes used by the most recent upscale job.'),
|
|
567
565
|
backendDevice: z
|
|
568
|
-
.enum([
|
|
566
|
+
.enum(['cpu', 'gpu'])
|
|
569
567
|
.optional()
|
|
570
|
-
.describe(
|
|
571
|
-
|
|
572
|
-
|
|
568
|
+
.describe('Actual compute device used by the ESRGAN upscaler. ' +
|
|
569
|
+
'Reflects the backend stable-diffusion.cpp selected (e.g. Android `gpu` ' +
|
|
570
|
+
'falls back to `cpu` because the mobile GPU/OpenCL path is unstable).')
|
|
573
571
|
});
|
|
574
572
|
export const upscaleRequestSchema = z.object({
|
|
575
573
|
modelId: z
|
|
576
574
|
.string()
|
|
577
|
-
.describe(
|
|
575
|
+
.describe('Identifier of the loaded upscaler model. The model must have been loaded ' +
|
|
578
576
|
"with `modelType: 'diffusion'` and `modelConfig.mode: 'upscale'`."),
|
|
579
577
|
image: z
|
|
580
578
|
.string()
|
|
581
579
|
.min(1)
|
|
582
580
|
.regex(BASE64_PATTERN)
|
|
583
|
-
.describe(
|
|
581
|
+
.describe('Base64-encoded PNG/JPEG bytes of the source image.'),
|
|
584
582
|
repeats: z
|
|
585
583
|
.number()
|
|
586
584
|
.int()
|
|
587
585
|
.positive()
|
|
588
586
|
.optional()
|
|
589
|
-
.describe(
|
|
587
|
+
.describe('Number of ESRGAN passes to run sequentially. Each pass multiplies ' +
|
|
590
588
|
"dimensions by the model's native scale factor; only the final image " +
|
|
591
|
-
|
|
589
|
+
'is emitted (`outputs.length === 1`). Defaults to 1.')
|
|
592
590
|
});
|
|
593
591
|
export const upscaleStreamRequestSchema = upscaleRequestSchema.extend({
|
|
594
|
-
type: z.literal(
|
|
592
|
+
type: z.literal('upscaleStream')
|
|
595
593
|
});
|
|
596
594
|
export const upscaleStreamResponseSchema = z.object({
|
|
597
|
-
type: z.literal(
|
|
595
|
+
type: z.literal('upscaleStream'),
|
|
598
596
|
data: z.string().optional(),
|
|
599
597
|
outputIndex: z.number().optional(),
|
|
600
598
|
done: z.boolean().optional(),
|
|
601
|
-
stats: upscaleStatsSchema.optional()
|
|
599
|
+
stats: upscaleStatsSchema.optional()
|
|
602
600
|
});
|