@qvac/sdk 0.14.1 → 0.16.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 +47 -45
- 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 +10 -1
- package/dist/client/api/ocr.js +20 -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 -25
- 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 +8 -5
- package/dist/client/api/video.js +23 -18
- 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 +15 -11
- package/dist/client/api/vla.js +27 -23
- 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 +19 -13
- 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-ideogram.d.ts +2 -0
- package/dist/examples/diffusion-ideogram.js +108 -0
- package/dist/examples/diffusion-img2img.js +13 -13
- package/dist/examples/diffusion-img2vid-ltx.d.ts +2 -0
- package/dist/examples/diffusion-img2vid-ltx.js +98 -0
- 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-ltx.d.ts +2 -0
- package/dist/examples/diffusion-txt2vid-ltx.js +92 -0
- 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 +19 -17
- 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-chunked.d.ts +2 -0
- package/dist/examples/transcription/parakeet-tdt-filesystem-chunked.js +203 -0
- 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-groot.d.ts +2 -0
- package/dist/examples/vla-groot.js +118 -0
- 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 +5622 -9241
- package/dist/models/registry/models.js +13215 -17030
- 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 +181 -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 +578 -28
- package/dist/schemas/common.js +42 -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 +190 -5
- package/dist/schemas/completion-stream.js +118 -67
- package/dist/schemas/constants-registry.d.ts +67 -0
- package/dist/schemas/constants-registry.js +51 -0
- 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 +15 -11
- 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 +3 -2
- package/dist/schemas/engine-addon-map.js +25 -25
- 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 +41 -44
- package/dist/schemas/get-loaded-model-info.d.ts +17 -1
- package/dist/schemas/get-loaded-model-info.js +22 -14
- 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 +57 -29
- package/dist/schemas/llamacpp-config.js +43 -35
- package/dist/schemas/load-model.d.ts +1537 -185
- package/dist/schemas/load-model.js +126 -129
- 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 +13 -14
- package/dist/schemas/plugin.js +51 -51
- 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 +16 -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 +248 -9
- package/dist/schemas/sdcpp-config.js +395 -291
- package/dist/schemas/sdk-config.d.ts +833 -71
- 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 +202 -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 +469 -3
- package/dist/schemas/text-to-speech.js +151 -109
- package/dist/schemas/tools.d.ts +2 -2
- package/dist/schemas/tools.js +18 -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 +49 -72
- 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 +11 -1
- package/dist/schemas/vla.js +52 -32
- package/dist/scripts/contract/build-contract.d.ts +38 -0
- package/dist/scripts/contract/build-contract.js +620 -0
- package/dist/scripts/contract/build-error-codes.d.ts +17 -0
- package/dist/scripts/contract/build-error-codes.js +17 -0
- package/dist/scripts/contract/build-model-type-maps.d.ts +22 -0
- package/dist/scripts/contract/build-model-type-maps.js +16 -0
- package/dist/scripts/contract/build-models-registry.d.ts +17 -0
- package/dist/scripts/contract/build-models-registry.js +31 -0
- package/dist/scripts/contract/plugin-contract.d.ts +23 -0
- package/dist/scripts/contract/plugin-contract.js +28 -0
- package/dist/scripts/export-contract.d.ts +2 -0
- package/dist/scripts/export-contract.js +27 -0
- package/dist/scripts/export-plugin-contract.d.ts +2 -0
- package/dist/scripts/export-plugin-contract.js +18 -0
- 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 +53 -31
- 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 +4 -3
- 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 +33 -54
- package/dist/server/bare/plugins/ggml-ocr/resolve-config.d.ts +6 -0
- package/dist/server/bare/plugins/ggml-ocr/resolve-config.js +73 -0
- 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 +6 -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 +65 -80
- 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.d.ts +8 -0
- package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-state.js +12 -6
- package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +193 -19
- 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 +9 -4
- 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 +3 -1
- package/dist/server/bare/plugins/sdcpp-generation/ops/video.js +71 -44
- package/dist/server/bare/plugins/sdcpp-generation/plugin.d.ts +132 -4
- package/dist/server/bare/plugins/sdcpp-generation/plugin.js +148 -70
- 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 +18 -34
- package/dist/server/bare/plugins/tts-ggml/plugin.d.ts +9 -2
- package/dist/server/bare/plugins/tts-ggml/plugin.js +97 -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 +7 -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 +9 -5
- package/dist/server/bare/utils/tts-stats.js +8 -2
- 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 +34 -13
- 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 +102 -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-orchestrate.d.ts +42 -0
- package/dist/server/rpc/handlers/completion-orchestrate.js +190 -0
- 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 +15 -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 +35 -31
- package/dist/server/rpc/handlers/index.js +36 -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/method-shapes.d.ts +51 -0
- package/dist/server/rpc/method-shapes.js +48 -0
- 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 +122 -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 +15 -11
- 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 +21 -17
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CollectOptions, ProcessedModel } from
|
|
2
|
-
export { processRegistryModel, extractModelName, toHexString
|
|
1
|
+
import type { CollectOptions, ProcessedModel } from './types';
|
|
2
|
+
export { processRegistryModel, extractModelName, toHexString } from './processing';
|
|
3
3
|
export declare function collectModels(options?: CollectOptions): Promise<ProcessedModel[]>;
|
|
4
4
|
export declare function deduplicateModels(models: ProcessedModel[], showDuplicates: boolean): ProcessedModel[];
|
|
5
5
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { QVACRegistryClient } from
|
|
2
|
-
import { groupShardedModels } from
|
|
3
|
-
import { groupCompanionSets } from
|
|
4
|
-
import { processRegistryModel } from
|
|
5
|
-
import { DEFAULT_REGISTRY_CORE_KEY } from
|
|
1
|
+
import { QVACRegistryClient } from '@qvac/registry-client';
|
|
2
|
+
import { groupShardedModels } from './shards.js';
|
|
3
|
+
import { groupCompanionSets } from './companions.js';
|
|
4
|
+
import { processRegistryModel } from './processing.js';
|
|
5
|
+
import { DEFAULT_REGISTRY_CORE_KEY } from '../../constants/index.js';
|
|
6
6
|
// Re-export for backward compat
|
|
7
|
-
export { processRegistryModel, extractModelName, toHexString
|
|
7
|
+
export { processRegistryModel, extractModelName, toHexString } from './processing.js';
|
|
8
8
|
export async function collectModels(options = {}) {
|
|
9
9
|
const { showDuplicates = false, noDedup = false } = options;
|
|
10
10
|
const models = [];
|
|
11
11
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
12
|
-
const registryCoreKey = process.env[
|
|
12
|
+
const registryCoreKey = process.env['QVAC_REGISTRY_CORE_KEY'] ?? DEFAULT_REGISTRY_CORE_KEY;
|
|
13
13
|
const client = new QVACRegistryClient({ registryCoreKey });
|
|
14
14
|
try {
|
|
15
15
|
await client.ready();
|
|
@@ -50,7 +50,7 @@ export function deduplicateModels(models, showDuplicates) {
|
|
|
50
50
|
const dedupedModels = [];
|
|
51
51
|
const skipped = [];
|
|
52
52
|
for (const model of models) {
|
|
53
|
-
if (!model.sha256Checksum || model.sha256Checksum ===
|
|
53
|
+
if (!model.sha256Checksum || model.sha256Checksum === '') {
|
|
54
54
|
dedupedModels.push(model);
|
|
55
55
|
continue;
|
|
56
56
|
}
|
|
@@ -63,7 +63,7 @@ export function deduplicateModels(models, showDuplicates) {
|
|
|
63
63
|
skipped.push({
|
|
64
64
|
name: model.registryPath,
|
|
65
65
|
checksum: model.sha256Checksum,
|
|
66
|
-
reason: `Duplicate of ${seenChecksums.get(model.sha256Checksum)}
|
|
66
|
+
reason: `Duplicate of ${seenChecksums.get(model.sha256Checksum)}`
|
|
67
67
|
});
|
|
68
68
|
continue;
|
|
69
69
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ProcessedModel, ShardDetection } from
|
|
1
|
+
import type { ProcessedModel, ShardDetection } from './types';
|
|
2
2
|
export declare function detectShardedModel(filename: string): ShardDetection;
|
|
3
3
|
export declare function groupShardedModels(models: ProcessedModel[]): ProcessedModel[];
|
|
4
4
|
//# sourceMappingURL=shards.d.ts.map
|
|
@@ -7,7 +7,7 @@ export function detectShardedModel(filename) {
|
|
|
7
7
|
baseFilename: match[1],
|
|
8
8
|
currentShard: parseInt(match[2], 10),
|
|
9
9
|
totalShards: parseInt(match[3], 10),
|
|
10
|
-
extension: match[4]
|
|
10
|
+
extension: match[4]
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
return { isSharded: false };
|
|
@@ -43,14 +43,14 @@ export function groupShardedModels(models) {
|
|
|
43
43
|
blobCoreKey: s.blobCoreKey,
|
|
44
44
|
blobBlockOffset: s.blobBlockOffset,
|
|
45
45
|
blobBlockLength: s.blobBlockLength,
|
|
46
|
-
blobByteOffset: s.blobByteOffset
|
|
46
|
+
blobByteOffset: s.blobByteOffset
|
|
47
47
|
}));
|
|
48
48
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
49
49
|
const { isShardPart: _shard, shardInfo: _info, ...rest } = firstShard;
|
|
50
50
|
processedShards.push({
|
|
51
51
|
...rest,
|
|
52
52
|
expectedSize: totalSize,
|
|
53
|
-
shardMetadata
|
|
53
|
+
shardMetadata
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
return [...nonShardedModels, ...processedShards];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { execSync } from
|
|
1
|
+
import { execSync } from 'child_process';
|
|
2
2
|
export function formatSize(bytes) {
|
|
3
3
|
if (bytes < 1024)
|
|
4
4
|
return `${bytes}B`;
|
|
@@ -10,12 +10,12 @@ export function formatSize(bytes) {
|
|
|
10
10
|
}
|
|
11
11
|
export function getCommitHash(short = false) {
|
|
12
12
|
try {
|
|
13
|
-
const cmd = short ?
|
|
14
|
-
return execSync(cmd, { encoding:
|
|
13
|
+
const cmd = short ? 'git rev-parse --short HEAD' : 'git rev-parse HEAD';
|
|
14
|
+
return execSync(cmd, { encoding: 'utf-8' }).trim();
|
|
15
15
|
}
|
|
16
16
|
catch (error) {
|
|
17
|
-
throw new Error(
|
|
18
|
-
cause: error
|
|
17
|
+
throw new Error('Git is required to generate history file', {
|
|
18
|
+
cause: error
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
}
|
package/dist/pear/pre.js
CHANGED
|
@@ -17,74 +17,74 @@
|
|
|
17
17
|
* }
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
|
-
import * as cenc from
|
|
21
|
-
import pearPipe from
|
|
22
|
-
import fs from
|
|
23
|
-
import path from
|
|
20
|
+
import * as cenc from 'compact-encoding';
|
|
21
|
+
import pearPipe from 'pear-pipe';
|
|
22
|
+
import fs from 'bare-fs';
|
|
23
|
+
import path from 'bare-path';
|
|
24
24
|
const CONFIG_CANDIDATES = [
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
'qvac.config.json',
|
|
26
|
+
'qvac.config.js',
|
|
27
|
+
'qvac.config.mjs',
|
|
28
|
+
'qvac.config.ts'
|
|
29
29
|
];
|
|
30
30
|
const BUILTIN_PLUGINS = [
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
'@qvac/sdk/llamacpp-completion/plugin',
|
|
32
|
+
'@qvac/sdk/llamacpp-embedding/plugin',
|
|
33
|
+
'@qvac/sdk/whispercpp-transcription/plugin',
|
|
34
|
+
'@qvac/sdk/bci-whispercpp-transcription/plugin',
|
|
35
|
+
'@qvac/sdk/nmtcpp-translation/plugin',
|
|
36
|
+
'@qvac/sdk/tts-ggml/plugin',
|
|
37
|
+
'@qvac/sdk/ggml-ocr/plugin',
|
|
38
|
+
'@qvac/sdk/sdcpp-generation/plugin',
|
|
39
|
+
'@qvac/sdk/ggml-vla/plugin',
|
|
40
|
+
'@qvac/sdk/ggml-classification/plugin'
|
|
41
41
|
];
|
|
42
42
|
const BUILTIN_PLUGIN_EXPORTS = {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
43
|
+
'llamacpp-completion': 'llmPlugin',
|
|
44
|
+
'llamacpp-embedding': 'embeddingsPlugin',
|
|
45
|
+
'whispercpp-transcription': 'whisperPlugin',
|
|
46
|
+
'bci-whispercpp-transcription': 'bciPlugin',
|
|
47
|
+
'nmtcpp-translation': 'nmtPlugin',
|
|
48
|
+
'tts-ggml': 'ttsPlugin',
|
|
49
|
+
'ggml-ocr': 'ocrPlugin',
|
|
50
|
+
'sdcpp-generation': 'diffusionPlugin',
|
|
51
|
+
'ggml-vla': 'vlaPlugin',
|
|
52
|
+
'ggml-classification': 'classificationPlugin'
|
|
53
53
|
};
|
|
54
|
-
const SDK_NAME =
|
|
55
|
-
const DEFAULT_PEAR_WORKER =
|
|
56
|
-
const PEAR_WORKER_ENTRY_PATH =
|
|
57
|
-
const LOG_PREFIX =
|
|
54
|
+
const SDK_NAME = '@qvac/sdk';
|
|
55
|
+
const DEFAULT_PEAR_WORKER = 'worker.js';
|
|
56
|
+
const PEAR_WORKER_ENTRY_PATH = 'qvac/worker.pear.entry.mjs';
|
|
57
|
+
const LOG_PREFIX = '[qvac/pear-pre]';
|
|
58
58
|
/** Normalize path to Pear config format (POSIX-style, leading slash) */
|
|
59
59
|
function toPearConfigPath(pathFromAppRoot) {
|
|
60
|
-
let p = String(pathFromAppRoot).replaceAll(
|
|
61
|
-
if (p.startsWith(
|
|
60
|
+
let p = String(pathFromAppRoot).replaceAll('\\', '/');
|
|
61
|
+
if (p.startsWith('./'))
|
|
62
62
|
p = p.slice(2);
|
|
63
|
-
if (!p.startsWith(
|
|
63
|
+
if (!p.startsWith('/'))
|
|
64
64
|
p = `/${p}`;
|
|
65
|
-
return p.replaceAll(
|
|
65
|
+
return p.replaceAll('/./', '/').replace(/\/{2,}/g, '/');
|
|
66
66
|
}
|
|
67
67
|
function toPosixPath(p) {
|
|
68
|
-
return String(p).replaceAll(
|
|
68
|
+
return String(p).replaceAll('\\', '/');
|
|
69
69
|
}
|
|
70
70
|
function pathToFileUrl(absPath) {
|
|
71
71
|
let p = toPosixPath(absPath);
|
|
72
72
|
// Windows drive letter paths need a leading slash in file:// URLs.
|
|
73
73
|
if (/^[A-Za-z]:\//.test(p))
|
|
74
74
|
p = `/${p}`;
|
|
75
|
-
if (!p.startsWith(
|
|
75
|
+
if (!p.startsWith('/'))
|
|
76
76
|
p = `/${p}`;
|
|
77
|
-
const segments = p.split(
|
|
77
|
+
const segments = p.split('/');
|
|
78
78
|
const encoded = segments
|
|
79
79
|
.map((seg, idx) => {
|
|
80
80
|
if (idx === 0)
|
|
81
|
-
return
|
|
81
|
+
return '';
|
|
82
82
|
// Preserve "C:" drive segment in Windows file URLs (file:///C:/...)
|
|
83
83
|
if (idx === 1 && /^[A-Za-z]:$/.test(seg))
|
|
84
84
|
return seg;
|
|
85
85
|
return encodeURIComponent(seg);
|
|
86
86
|
})
|
|
87
|
-
.join(
|
|
87
|
+
.join('/');
|
|
88
88
|
return `file://${encoded}`;
|
|
89
89
|
}
|
|
90
90
|
function detectJsonIndent(raw) {
|
|
@@ -94,7 +94,7 @@ function detectJsonIndent(raw) {
|
|
|
94
94
|
return 2;
|
|
95
95
|
}
|
|
96
96
|
function detectJsonNewline(raw) {
|
|
97
|
-
return raw.includes(
|
|
97
|
+
return raw.includes('\r\n') ? '\r\n' : '\n';
|
|
98
98
|
}
|
|
99
99
|
function ensureObjectProp(obj, prop) {
|
|
100
100
|
const existing = obj[prop];
|
|
@@ -103,7 +103,7 @@ function ensureObjectProp(obj, prop) {
|
|
|
103
103
|
obj[prop] = created;
|
|
104
104
|
return created;
|
|
105
105
|
}
|
|
106
|
-
if (typeof existing ===
|
|
106
|
+
if (typeof existing === 'object' && existing && !Array.isArray(existing)) {
|
|
107
107
|
return existing;
|
|
108
108
|
}
|
|
109
109
|
throw new Error(`package.json "${prop}" must be an object`);
|
|
@@ -111,19 +111,19 @@ function ensureObjectProp(obj, prop) {
|
|
|
111
111
|
function normalizeStringArray(value) {
|
|
112
112
|
if (value === undefined || value === null)
|
|
113
113
|
return [];
|
|
114
|
-
if (typeof value ===
|
|
114
|
+
if (typeof value === 'string')
|
|
115
115
|
return value.length ? [value] : [];
|
|
116
116
|
if (Array.isArray(value))
|
|
117
117
|
return uniqStrings(value);
|
|
118
|
-
throw new Error(
|
|
118
|
+
throw new Error('Expected an array of strings');
|
|
119
119
|
}
|
|
120
120
|
function atomicWriteFileSync(targetPath, content) {
|
|
121
121
|
const tmpPath = `${targetPath}.qvac-pre.tmp`;
|
|
122
|
-
fs.writeFileSync(tmpPath, content,
|
|
122
|
+
fs.writeFileSync(tmpPath, content, 'utf8');
|
|
123
123
|
fs.renameSync(tmpPath, targetPath);
|
|
124
124
|
}
|
|
125
125
|
function normalizePearWorkerPath(value) {
|
|
126
|
-
if (typeof value !==
|
|
126
|
+
if (typeof value !== 'string')
|
|
127
127
|
return DEFAULT_PEAR_WORKER;
|
|
128
128
|
let p = value.trim();
|
|
129
129
|
if (!p)
|
|
@@ -132,13 +132,13 @@ function normalizePearWorkerPath(value) {
|
|
|
132
132
|
if (/^[A-Za-z]:\//.test(p)) {
|
|
133
133
|
throw new Error(`"pearWorker" must be a path inside the app root (got absolute path: ${JSON.stringify(value)})`);
|
|
134
134
|
}
|
|
135
|
-
if (p.startsWith(
|
|
135
|
+
if (p.startsWith('./'))
|
|
136
136
|
p = p.slice(2);
|
|
137
|
-
while (p.startsWith(
|
|
137
|
+
while (p.startsWith('/'))
|
|
138
138
|
p = p.slice(1);
|
|
139
139
|
if (!p)
|
|
140
140
|
return DEFAULT_PEAR_WORKER;
|
|
141
|
-
if (p ===
|
|
141
|
+
if (p === '.' || p === '..' || p.startsWith('../') || p.includes('/../')) {
|
|
142
142
|
throw new Error(`"pearWorker" must be a path inside the app root (got: ${JSON.stringify(value)})`);
|
|
143
143
|
}
|
|
144
144
|
return p;
|
|
@@ -149,7 +149,7 @@ function normalizePearWorkerPath(value) {
|
|
|
149
149
|
function toRelativeImportSpecifier(fromDir, targetPath) {
|
|
150
150
|
let rel = path.relative(fromDir, targetPath);
|
|
151
151
|
rel = toPosixPath(rel);
|
|
152
|
-
if (!rel.startsWith(
|
|
152
|
+
if (!rel.startsWith('.'))
|
|
153
153
|
rel = `./${rel}`;
|
|
154
154
|
return rel;
|
|
155
155
|
}
|
|
@@ -160,7 +160,7 @@ function uniqStrings(values) {
|
|
|
160
160
|
const out = [];
|
|
161
161
|
const seen = new Set();
|
|
162
162
|
for (const v of values) {
|
|
163
|
-
if (typeof v ===
|
|
163
|
+
if (typeof v === 'string' && !seen.has(v)) {
|
|
164
164
|
seen.add(v);
|
|
165
165
|
out.push(v);
|
|
166
166
|
}
|
|
@@ -188,14 +188,14 @@ function ensureArrayIncludes(existing, required) {
|
|
|
188
188
|
* pear-state merges stage.entrypoints into unrouted automatically.
|
|
189
189
|
*/
|
|
190
190
|
function persistStageEntrypointsToPackageJson(appRoot, requiredEntrypoints) {
|
|
191
|
-
const packageJsonPath = path.join(appRoot,
|
|
191
|
+
const packageJsonPath = path.join(appRoot, 'package.json');
|
|
192
192
|
if (!fs.existsSync(packageJsonPath)) {
|
|
193
193
|
throw new Error(`package.json not found at ${packageJsonPath}`);
|
|
194
194
|
}
|
|
195
|
-
const raw = fs.readFileSync(packageJsonPath,
|
|
195
|
+
const raw = fs.readFileSync(packageJsonPath, 'utf8');
|
|
196
196
|
const newline = detectJsonNewline(raw);
|
|
197
197
|
const indent = detectJsonIndent(raw);
|
|
198
|
-
const hasFinalNewline = raw.endsWith(
|
|
198
|
+
const hasFinalNewline = raw.endsWith('\n') || raw.endsWith('\r\n');
|
|
199
199
|
let pkg;
|
|
200
200
|
try {
|
|
201
201
|
pkg = JSON.parse(raw);
|
|
@@ -203,17 +203,17 @@ function persistStageEntrypointsToPackageJson(appRoot, requiredEntrypoints) {
|
|
|
203
203
|
catch (err) {
|
|
204
204
|
throw new Error(`Failed to parse ${packageJsonPath}: ${String(err)}`);
|
|
205
205
|
}
|
|
206
|
-
const pear = ensureObjectProp(pkg,
|
|
207
|
-
const stage = ensureObjectProp(pear,
|
|
208
|
-
const existing = normalizeStringArray(stage[
|
|
206
|
+
const pear = ensureObjectProp(pkg, 'pear');
|
|
207
|
+
const stage = ensureObjectProp(pear, 'stage');
|
|
208
|
+
const existing = normalizeStringArray(stage['entrypoints']);
|
|
209
209
|
const required = uniqStrings(requiredEntrypoints);
|
|
210
210
|
const { next, changed } = ensureArrayIncludes(existing, required);
|
|
211
211
|
if (!changed)
|
|
212
212
|
return;
|
|
213
|
-
stage[
|
|
213
|
+
stage['entrypoints'] = next;
|
|
214
214
|
let nextRaw = JSON.stringify(pkg, null, indent);
|
|
215
|
-
if (newline ===
|
|
216
|
-
nextRaw = nextRaw.replaceAll(
|
|
215
|
+
if (newline === '\r\n')
|
|
216
|
+
nextRaw = nextRaw.replaceAll('\n', '\r\n');
|
|
217
217
|
if (hasFinalNewline)
|
|
218
218
|
nextRaw += newline;
|
|
219
219
|
atomicWriteFileSync(packageJsonPath, nextRaw);
|
|
@@ -221,8 +221,8 @@ function persistStageEntrypointsToPackageJson(appRoot, requiredEntrypoints) {
|
|
|
221
221
|
/** Extract app root directory from Pear's applink */
|
|
222
222
|
function getAppRoot() {
|
|
223
223
|
const applink = Pear.config?.applink;
|
|
224
|
-
if (typeof applink !==
|
|
225
|
-
throw new Error(
|
|
224
|
+
if (typeof applink !== 'string' || applink.length === 0) {
|
|
225
|
+
throw new Error('Pear.config.applink is not available');
|
|
226
226
|
}
|
|
227
227
|
// Pear provides a file:// URL to the application root.
|
|
228
228
|
let pathname;
|
|
@@ -234,7 +234,7 @@ function getAppRoot() {
|
|
|
234
234
|
// Some environments may provide a plain filesystem path instead of a URL.
|
|
235
235
|
return path.normalize(applink);
|
|
236
236
|
}
|
|
237
|
-
if (url.protocol !==
|
|
237
|
+
if (url.protocol !== 'file:') {
|
|
238
238
|
throw new Error(`Expected Pear.config.applink to be a file:// URL (got: ${applink})`);
|
|
239
239
|
}
|
|
240
240
|
pathname = url.pathname;
|
|
@@ -245,7 +245,7 @@ function getAppRoot() {
|
|
|
245
245
|
// If decoding fails, keep the raw pathname.
|
|
246
246
|
}
|
|
247
247
|
// Handle Windows paths (e.g., /C:/path)
|
|
248
|
-
if (pathname[0] ===
|
|
248
|
+
if (pathname[0] === '/' && pathname[2] === ':') {
|
|
249
249
|
pathname = pathname.slice(1);
|
|
250
250
|
}
|
|
251
251
|
return path.normalize(pathname);
|
|
@@ -263,8 +263,8 @@ function findConfigFile(appRoot) {
|
|
|
263
263
|
/** Load and parse a qvac config file */
|
|
264
264
|
async function loadConfig(configPath) {
|
|
265
265
|
const ext = path.extname(configPath).toLowerCase();
|
|
266
|
-
if (ext ===
|
|
267
|
-
const content = fs.readFileSync(configPath,
|
|
266
|
+
if (ext === '.json') {
|
|
267
|
+
const content = fs.readFileSync(configPath, 'utf8');
|
|
268
268
|
try {
|
|
269
269
|
return JSON.parse(content);
|
|
270
270
|
}
|
|
@@ -272,12 +272,12 @@ async function loadConfig(configPath) {
|
|
|
272
272
|
throw new Error(`Failed to parse ${configPath}: ${String(err)}`);
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
|
-
if (ext ===
|
|
275
|
+
if (ext === '.js' || ext === '.mjs') {
|
|
276
276
|
const module = (await import(pathToFileUrl(configPath)));
|
|
277
277
|
return module.default ?? module;
|
|
278
278
|
}
|
|
279
|
-
if (ext ===
|
|
280
|
-
throw new Error(
|
|
279
|
+
if (ext === '.ts') {
|
|
280
|
+
throw new Error('TypeScript config not supported in Pear pre-hook. Use qvac.config.json or qvac.config.mjs.');
|
|
281
281
|
}
|
|
282
282
|
throw new Error(`Unsupported config format: ${ext}. Use .json, .js, or .mjs`);
|
|
283
283
|
}
|
|
@@ -300,11 +300,11 @@ function resolvePlugins(config) {
|
|
|
300
300
|
/** Parse SDK builtin plugin specifier to extract export info */
|
|
301
301
|
function parseBuiltinSpecifier(specifier) {
|
|
302
302
|
const prefix = `${SDK_NAME}/`;
|
|
303
|
-
const pluginSuffix =
|
|
303
|
+
const pluginSuffix = '/plugin';
|
|
304
304
|
if (specifier.startsWith(prefix) && specifier.endsWith(pluginSuffix)) {
|
|
305
305
|
const middle = specifier.slice(prefix.length, -pluginSuffix.length);
|
|
306
306
|
const exportName = BUILTIN_PLUGIN_EXPORTS[middle];
|
|
307
|
-
if (!middle.includes(
|
|
307
|
+
if (!middle.includes('/') && exportName) {
|
|
308
308
|
return { suffix: middle, exportName };
|
|
309
309
|
}
|
|
310
310
|
}
|
|
@@ -327,7 +327,7 @@ function generatePearWorkerEntry(plugins, appWorkerPath) {
|
|
|
327
327
|
registrations.push(`registerPlugin(${varName});`);
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
|
-
const pluginsList = plugins.map((p) => `* - ${p}`).join(
|
|
330
|
+
const pluginsList = plugins.map((p) => `* - ${p}`).join('\n');
|
|
331
331
|
return `/**
|
|
332
332
|
* QVAC Pear Worker Entry (auto-generated)
|
|
333
333
|
* Plugins: ${plugins.length}
|
|
@@ -337,20 +337,20 @@ ${pluginsList}
|
|
|
337
337
|
|
|
338
338
|
import { registerPlugin } from "${SDK_NAME}/plugins";
|
|
339
339
|
|
|
340
|
-
${imports.join(
|
|
340
|
+
${imports.join('\n')}
|
|
341
341
|
|
|
342
|
-
${registrations.join(
|
|
342
|
+
${registrations.join('\n')}
|
|
343
343
|
|
|
344
344
|
await import(${JSON.stringify(appWorkerPath)});
|
|
345
345
|
`;
|
|
346
346
|
}
|
|
347
347
|
/** Write worker entry file if content changed (idempotent) */
|
|
348
348
|
function writeWorkerEntryIfChanged(appRoot, content) {
|
|
349
|
-
const outputDir = path.join(appRoot,
|
|
349
|
+
const outputDir = path.join(appRoot, 'qvac');
|
|
350
350
|
const entryPath = path.join(appRoot, PEAR_WORKER_ENTRY_PATH);
|
|
351
351
|
if (fs.existsSync(entryPath)) {
|
|
352
352
|
try {
|
|
353
|
-
if (fs.readFileSync(entryPath,
|
|
353
|
+
if (fs.readFileSync(entryPath, 'utf8') === content) {
|
|
354
354
|
return false;
|
|
355
355
|
}
|
|
356
356
|
}
|
|
@@ -379,7 +379,7 @@ async function configure(options) {
|
|
|
379
379
|
throw new Error(`Worker file not found: ${hint}`);
|
|
380
380
|
}
|
|
381
381
|
// Generate worker entry with relative import path from qvac/ directory
|
|
382
|
-
const outputDir = path.join(appRoot,
|
|
382
|
+
const outputDir = path.join(appRoot, 'qvac');
|
|
383
383
|
const appWorkerImport = toRelativeImportSpecifier(outputDir, workerAbs);
|
|
384
384
|
const workerEntryContent = generatePearWorkerEntry(plugins, appWorkerImport);
|
|
385
385
|
writeWorkerEntryIfChanged(appRoot, workerEntryContent);
|
|
@@ -396,7 +396,7 @@ if (!pipe) {
|
|
|
396
396
|
}
|
|
397
397
|
pipe.autoexit = true;
|
|
398
398
|
let exitCode = 0;
|
|
399
|
-
pipe.on(
|
|
399
|
+
pipe.on('end', () => {
|
|
400
400
|
try {
|
|
401
401
|
Pear.pipe.end();
|
|
402
402
|
}
|
|
@@ -405,11 +405,11 @@ pipe.on("end", () => {
|
|
|
405
405
|
process.exit(exitCode);
|
|
406
406
|
}
|
|
407
407
|
});
|
|
408
|
-
pipe.once(
|
|
408
|
+
pipe.once('error', (err) => {
|
|
409
409
|
exitCode = exitCode || 1;
|
|
410
410
|
console.error(LOG_PREFIX, err);
|
|
411
411
|
});
|
|
412
|
-
pipe.once(
|
|
412
|
+
pipe.once('data', (data) => {
|
|
413
413
|
void (async () => {
|
|
414
414
|
let options = null;
|
|
415
415
|
try {
|
|
@@ -419,7 +419,7 @@ pipe.once("data", (data) => {
|
|
|
419
419
|
exitCode = 1;
|
|
420
420
|
console.error(LOG_PREFIX, err);
|
|
421
421
|
try {
|
|
422
|
-
pipe.end(cenc.encode(cenc.any, { tag:
|
|
422
|
+
pipe.end(cenc.encode(cenc.any, { tag: 'configure', data: {} }));
|
|
423
423
|
}
|
|
424
424
|
catch {
|
|
425
425
|
pipe.destroy(err);
|
|
@@ -428,13 +428,13 @@ pipe.once("data", (data) => {
|
|
|
428
428
|
}
|
|
429
429
|
try {
|
|
430
430
|
const config = await configure(options);
|
|
431
|
-
pipe.end(cenc.encode(cenc.any, { tag:
|
|
431
|
+
pipe.end(cenc.encode(cenc.any, { tag: 'configure', data: config }));
|
|
432
432
|
}
|
|
433
433
|
catch (err) {
|
|
434
434
|
exitCode = 1;
|
|
435
435
|
console.error(LOG_PREFIX, err);
|
|
436
436
|
try {
|
|
437
|
-
pipe.end(cenc.encode(cenc.any, { tag:
|
|
437
|
+
pipe.end(cenc.encode(cenc.any, { tag: 'configure', data: options }));
|
|
438
438
|
}
|
|
439
439
|
catch {
|
|
440
440
|
pipe.destroy(err);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Accumulates profiling statistics and maintains a bounded buffer of recent events.
|
|
3
3
|
* Uses a ring buffer for O(1) event insertion.
|
|
4
4
|
*/
|
|
5
|
-
import type { ProfilingEvent, AggregatedStats } from
|
|
5
|
+
import type { ProfilingEvent, AggregatedStats } from './types';
|
|
6
6
|
export declare function createAggregator(maxRecentEvents?: number): void;
|
|
7
7
|
export declare function recordEvent(event: ProfilingEvent, storeInBuffer?: boolean): void;
|
|
8
8
|
export declare function getAggregates(): Record<string, AggregatedStats>;
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
* Accumulates profiling statistics and maintains a bounded buffer of recent events.
|
|
3
3
|
* Uses a ring buffer for O(1) event insertion.
|
|
4
4
|
*/
|
|
5
|
-
import { getGlobalSingleton } from
|
|
6
|
-
import { createRingBuffer, ringBufferPush, ringBufferToArray, ringBufferClear, ringBufferResize, ringBufferDroppedCount
|
|
5
|
+
import { getGlobalSingleton } from '../utils/global-singleton.js';
|
|
6
|
+
import { createRingBuffer, ringBufferPush, ringBufferToArray, ringBufferClear, ringBufferResize, ringBufferDroppedCount } from './ring-buffer.js';
|
|
7
7
|
const DEFAULT_MAX_RECENT_EVENTS = 1000;
|
|
8
|
-
const AGGREGATOR_STATE_KEY = Symbol.for(
|
|
8
|
+
const AGGREGATOR_STATE_KEY = Symbol.for('@qvac/sdk:profiler-aggregator-state');
|
|
9
9
|
function getAggregatorState() {
|
|
10
10
|
return getGlobalSingleton(AGGREGATOR_STATE_KEY, () => {
|
|
11
11
|
return {
|
|
12
12
|
stats: new Map(),
|
|
13
|
-
eventBuffer: createRingBuffer(DEFAULT_MAX_RECENT_EVENTS)
|
|
13
|
+
eventBuffer: createRingBuffer(DEFAULT_MAX_RECENT_EVENTS)
|
|
14
14
|
};
|
|
15
15
|
});
|
|
16
16
|
}
|
|
@@ -28,7 +28,7 @@ function recordStats(key, value) {
|
|
|
28
28
|
min: Infinity,
|
|
29
29
|
max: -Infinity,
|
|
30
30
|
sum: 0,
|
|
31
|
-
last: 0
|
|
31
|
+
last: 0
|
|
32
32
|
};
|
|
33
33
|
aggregator.stats.set(key, statsState);
|
|
34
34
|
}
|
|
@@ -47,7 +47,7 @@ function getStats(state) {
|
|
|
47
47
|
max: state.count > 0 ? state.max : 0,
|
|
48
48
|
avg: state.count > 0 ? state.sum / state.count : 0,
|
|
49
49
|
sum: state.sum,
|
|
50
|
-
last: state.last
|
|
50
|
+
last: state.last
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
export function recordEvent(event, storeInBuffer = true) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Runtime-safe monotonic clock for profiling.
|
|
3
3
|
* Priority: performance.now > process.hrtime > Date.now
|
|
4
4
|
*/
|
|
5
|
-
export type ClockSource =
|
|
5
|
+
export type ClockSource = 'performance' | 'hrtime' | 'date';
|
|
6
6
|
export declare function getClockSource(): ClockSource;
|
|
7
7
|
export declare function isMonotonic(): boolean;
|
|
8
8
|
export declare function nowMs(): number;
|
package/dist/profiling/clock.js
CHANGED
|
@@ -5,23 +5,23 @@
|
|
|
5
5
|
let clockSource;
|
|
6
6
|
let nowMsImpl;
|
|
7
7
|
// Detect and cache the best available clock source at module load
|
|
8
|
-
if (typeof globalThis !==
|
|
9
|
-
typeof globalThis.performance !==
|
|
10
|
-
typeof globalThis.performance.now ===
|
|
11
|
-
clockSource =
|
|
8
|
+
if (typeof globalThis !== 'undefined' &&
|
|
9
|
+
typeof globalThis.performance !== 'undefined' &&
|
|
10
|
+
typeof globalThis.performance.now === 'function') {
|
|
11
|
+
clockSource = 'performance';
|
|
12
12
|
const perfNow = globalThis.performance.now.bind(globalThis.performance);
|
|
13
13
|
nowMsImpl = () => perfNow();
|
|
14
14
|
}
|
|
15
|
-
else if (typeof process !==
|
|
16
|
-
typeof process.hrtime ===
|
|
17
|
-
typeof process.hrtime.bigint ===
|
|
18
|
-
clockSource =
|
|
15
|
+
else if (typeof process !== 'undefined' &&
|
|
16
|
+
typeof process.hrtime === 'function' &&
|
|
17
|
+
typeof process.hrtime.bigint === 'function') {
|
|
18
|
+
clockSource = 'hrtime';
|
|
19
19
|
const hrtime = process.hrtime.bigint.bind(process.hrtime);
|
|
20
20
|
const startNs = hrtime();
|
|
21
21
|
nowMsImpl = () => Number(hrtime() - startNs) / 1_000_000;
|
|
22
22
|
}
|
|
23
23
|
else {
|
|
24
|
-
clockSource =
|
|
24
|
+
clockSource = 'date';
|
|
25
25
|
const startMs = Date.now();
|
|
26
26
|
nowMsImpl = () => Date.now() - startMs;
|
|
27
27
|
}
|
|
@@ -29,7 +29,7 @@ export function getClockSource() {
|
|
|
29
29
|
return clockSource;
|
|
30
30
|
}
|
|
31
31
|
export function isMonotonic() {
|
|
32
|
-
return clockSource ===
|
|
32
|
+
return clockSource === 'performance' || clockSource === 'hrtime';
|
|
33
33
|
}
|
|
34
34
|
export function nowMs() {
|
|
35
35
|
return nowMsImpl();
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* 2. Runtime API (enable/disable)
|
|
7
7
|
* 3. Disabled default
|
|
8
8
|
*/
|
|
9
|
-
import type { ProfilerMode, PerCallProfiling } from
|
|
10
|
-
import type { ProfilerRuntimeOptions, ProfilingEvent, AggregatedStats } from
|
|
9
|
+
import type { ProfilerMode, PerCallProfiling } from '../schemas/index';
|
|
10
|
+
import type { ProfilerRuntimeOptions, ProfilingEvent, AggregatedStats } from './types';
|
|
11
11
|
export interface ResolvedProfilerConfig {
|
|
12
12
|
enabled: boolean;
|
|
13
13
|
mode: ProfilerMode;
|