@qvac/sdk 0.16.0 → 0.17.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 +67 -50
- package/README.md +65 -0
- package/dist/client/api/audio-gen-result.d.ts +4 -0
- package/dist/client/api/audio-gen-result.js +132 -0
- package/dist/client/api/audio-gen.d.ts +29 -0
- package/dist/client/api/audio-gen.js +31 -0
- package/dist/client/api/batch-completion.d.ts +2 -2
- package/dist/client/api/batch-completion.js +2 -2
- package/dist/client/api/bci-transcribe.d.ts +1 -1
- package/dist/client/api/bci-transcribe.js +3 -3
- package/dist/client/api/cancel.d.ts +1 -1
- package/dist/client/api/cancel.js +1 -1
- package/dist/client/api/classify.d.ts +1 -1
- package/dist/client/api/classify.js +1 -1
- package/dist/client/api/completion-stream.d.ts +3 -3
- package/dist/client/api/completion-stream.js +3 -3
- package/dist/client/api/delete-cache.js +1 -1
- package/dist/client/api/diffusion.d.ts +1 -1
- package/dist/client/api/diffusion.js +1 -1
- package/dist/client/api/download-asset.d.ts +1 -1
- package/dist/client/api/download-asset.js +3 -3
- package/dist/client/api/embed.d.ts +1 -1
- package/dist/client/api/embed.js +2 -2
- package/dist/client/api/finetune.d.ts +1 -1
- package/dist/client/api/finetune.js +2 -2
- package/dist/client/api/get-loaded-model-info.d.ts +2 -2
- package/dist/client/api/get-loaded-model-info.js +1 -1
- package/dist/client/api/get-model-info.d.ts +2 -2
- package/dist/client/api/get-model-info.js +1 -1
- package/dist/client/api/get-system-resources.d.ts +3 -0
- package/dist/client/api/get-system-resources.js +16 -0
- package/dist/client/api/heartbeat.d.ts +2 -2
- package/dist/client/api/heartbeat.js +1 -1
- package/dist/client/api/index.d.ts +35 -33
- package/dist/client/api/index.js +2 -0
- package/dist/client/api/invoke-plugin.d.ts +1 -1
- package/dist/client/api/invoke-plugin.js +1 -1
- package/dist/client/api/load-model.d.ts +2 -2
- package/dist/client/api/load-model.js +4 -4
- package/dist/client/api/logging-stream.d.ts +1 -1
- package/dist/client/api/logging-stream.js +1 -1
- package/dist/client/api/ocr.d.ts +1 -1
- package/dist/client/api/ocr.js +1 -1
- package/dist/client/api/provide.d.ts +1 -1
- package/dist/client/api/provide.js +1 -1
- package/dist/client/api/rag.d.ts +1 -1
- package/dist/client/api/rag.js +2 -2
- package/dist/client/api/registry.d.ts +1 -1
- package/dist/client/api/registry.js +1 -1
- package/dist/client/api/resume.js +1 -1
- package/dist/client/api/state.d.ts +1 -1
- package/dist/client/api/state.js +1 -1
- package/dist/client/api/stop-provider.js +1 -1
- package/dist/client/api/subscribe-logs.d.ts +1 -1
- package/dist/client/api/suspend.js +1 -1
- package/dist/client/api/text-to-speech.d.ts +3 -2
- package/dist/client/api/text-to-speech.js +31 -9
- package/dist/client/api/transcribe.d.ts +1 -1
- package/dist/client/api/transcribe.js +2 -2
- package/dist/client/api/translate.d.ts +1 -1
- package/dist/client/api/translate.js +1 -1
- package/dist/client/api/unload-model.d.ts +1 -1
- package/dist/client/api/unload-model.js +2 -2
- package/dist/client/api/upscale.d.ts +1 -1
- package/dist/client/api/upscale.js +1 -1
- package/dist/client/api/video.d.ts +1 -1
- package/dist/client/api/video.js +2 -2
- package/dist/client/api/vla.d.ts +1 -1
- package/dist/client/config-loader/config-utils.d.ts +1 -1
- package/dist/client/config-loader/resolve-config.bare.d.ts +1 -1
- package/dist/client/config-loader/resolve-config.expo.d.ts +1 -1
- package/dist/client/config-loader/resolve-config.node.d.ts +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/init-hooks.d.ts +1 -1
- package/dist/client/logging-stream-registry.d.ts +1 -1
- package/dist/client/plugins-factory.d.ts +2 -2
- package/dist/client/plugins-factory.js +1 -1
- package/dist/client/rpc/bare-client.d.ts +1 -1
- package/dist/client/rpc/bare-client.js +3 -3
- package/dist/client/rpc/expo-rpc-client.js +3 -3
- package/dist/client/rpc/node-rpc-client.js +2 -2
- package/dist/client/rpc/profiling/index.d.ts +1 -1
- package/dist/client/rpc/profiling/profiler.d.ts +2 -2
- package/dist/client/rpc/profiling/profiler.js +4 -0
- package/dist/client/rpc/rpc-client.d.ts +1 -1
- package/dist/client/rpc/rpc-client.js +7 -4
- package/dist/client/rpc/rpc-error.d.ts +1 -1
- package/dist/commands/bundle/bare-pack.d.ts +1 -1
- package/dist/commands/bundle/constants.js +1 -0
- package/dist/commands/bundle/entry-gen.js +1 -1
- package/dist/commands/bundle/index.js +6 -6
- package/dist/commands/bundle/manifest.d.ts +1 -1
- package/dist/commands/bundle/plugins.d.ts +2 -2
- package/dist/commands/bundle/plugins.js +1 -1
- package/dist/commands/index.d.ts +4 -4
- package/dist/commands/index.js +2 -2
- package/dist/commands/verify/abi.d.ts +1 -1
- package/dist/commands/verify/abi.js +1 -1
- package/dist/commands/verify/bundle-source.d.ts +1 -1
- package/dist/commands/verify/bundle-source.js +2 -2
- package/dist/commands/verify/index.d.ts +3 -3
- package/dist/commands/verify/index.js +5 -5
- package/dist/commands/verify/node-modules-source.d.ts +1 -1
- package/dist/commands/verify/node-modules-source.js +1 -1
- package/dist/commands/verify/prebuilds.d.ts +2 -1
- package/dist/commands/verify/prebuilds.js +8 -11
- package/dist/commands/verify/resource-collectors.d.ts +88 -0
- package/dist/commands/verify/resource-collectors.js +261 -0
- package/dist/constants/audio.js +1 -1
- package/dist/constants/index.d.ts +2 -2
- package/dist/examples/{transcription → asr}/parakeet-ctc-filesystem.js +2 -3
- package/dist/examples/{transcription → asr}/parakeet-microphone-record.js +2 -2
- package/dist/examples/{transcription → asr}/parakeet-microphone-stream.js +2 -2
- package/dist/examples/{transcription → asr}/parakeet-sortformer-streaming.js +2 -2
- package/dist/examples/{transcription → asr}/parakeet-sortformer.js +1 -1
- package/dist/examples/{transcription → asr}/parakeet-tdt-filesystem-chunked.js +2 -2
- package/dist/examples/{transcription → asr}/parakeet-tdt-filesystem.js +2 -2
- package/dist/examples/{transcription → asr}/whispercpp-filesystem-streaming.js +1 -1
- package/dist/examples/{transcription → asr}/whispercpp-filesystem.js +1 -1
- package/dist/examples/{transcription → asr}/whispercpp-microphone-conversation.js +1 -1
- package/dist/examples/{transcription → asr}/whispercpp-microphone-record.js +2 -2
- package/dist/examples/{transcription → asr}/whispercpp-prompt.js +1 -1
- package/dist/examples/audiogen/generate-music.d.ts +2 -0
- package/dist/examples/audiogen/generate-music.js +112 -0
- package/dist/examples/cache-management.js +1 -1
- package/dist/examples/config-reload.js +1 -1
- package/dist/examples/diffusion-txt2vid-wan22.d.ts +2 -0
- package/dist/examples/diffusion-txt2vid-wan22.js +96 -0
- package/dist/examples/quickstart.bare.js +1 -1
- package/dist/examples/rag/rag-mongodb.d.ts +2 -0
- package/dist/examples/rag/rag-mongodb.js +180 -0
- package/dist/examples/tools/llamacpp-tools-auto-dialect.d.ts +2 -0
- package/dist/examples/tools/llamacpp-tools-auto-dialect.js +77 -0
- package/dist/examples/tts/parler.d.ts +2 -0
- package/dist/examples/tts/parler.js +51 -0
- package/dist/examples/vla-groot.js +6 -4
- package/dist/examples/voice-assistant/voice-assistant.js +2 -2
- package/dist/expo/plugins/index.d.ts +11 -11
- package/dist/expo/plugins/withDeviceInfo.js +2 -2
- package/dist/expo/plugins/withMobileBundle.js +3 -3
- package/dist/index.d.ts +16 -16
- package/dist/index.js +4 -4
- package/dist/logging/addon.d.ts +1 -1
- package/dist/logging/base-logger.d.ts +1 -1
- package/dist/logging/base-logger.js +1 -1
- package/dist/logging/client-logger.d.ts +1 -1
- package/dist/logging/index.d.ts +9 -9
- package/dist/logging/logger.d.ts +1 -1
- package/dist/logging/namespaces.d.ts +1 -1
- package/dist/logging/registry.d.ts +1 -1
- package/dist/logging/server-logger.d.ts +1 -1
- package/dist/logging/stream-logger.d.ts +1 -1
- package/dist/logging/transport.d.ts +1 -1
- package/dist/logging/utils.d.ts +1 -1
- package/dist/logging/utils.js +1 -1
- package/dist/models/registry/index.d.ts +1 -1
- package/dist/models/registry/models.d.ts +1226 -689
- package/dist/models/registry/models.js +3114 -2557
- package/dist/models/update-models/codegen.d.ts +1 -1
- package/dist/models/update-models/companions.d.ts +1 -1
- package/dist/models/update-models/history.d.ts +1 -1
- package/dist/models/update-models/history.js +4 -4
- package/dist/models/update-models/naming.d.ts +1 -1
- package/dist/models/update-models/naming.js +7 -1
- package/dist/models/update-models/processing.d.ts +1 -1
- package/dist/models/update-models/processing.js +1 -1
- package/dist/models/update-models/registry.d.ts +2 -2
- package/dist/models/update-models/shards.d.ts +1 -1
- package/dist/models/update-models/types.d.ts +1 -1
- package/dist/pear/pre.js +2 -0
- package/dist/profiling/aggregator.d.ts +1 -1
- package/dist/profiling/backend-diagnostics.d.ts +8 -0
- package/dist/profiling/backend-diagnostics.js +21 -0
- package/dist/profiling/controller.d.ts +4 -2
- package/dist/profiling/controller.js +8 -0
- package/dist/profiling/envelope.d.ts +3 -2
- package/dist/profiling/envelope.js +13 -2
- package/dist/profiling/events.d.ts +2 -2
- package/dist/profiling/exporters.d.ts +1 -1
- package/dist/profiling/index.d.ts +9 -8
- package/dist/profiling/index.js +3 -2
- package/dist/profiling/types.d.ts +6 -0
- package/dist/schemas/audio-gen.d.ts +253 -0
- package/dist/schemas/audio-gen.js +69 -0
- package/dist/schemas/batch-completion-stream.d.ts +7 -2
- package/dist/schemas/bci-config.d.ts +2 -0
- package/dist/schemas/bci.d.ts +1 -1
- package/dist/schemas/cancel.d.ts +5 -0
- package/dist/schemas/cancel.js +1 -0
- package/dist/schemas/common.d.ts +1553 -54
- package/dist/schemas/common.js +6 -0
- package/dist/schemas/completion-event.d.ts +5 -2
- package/dist/schemas/completion-event.js +3 -0
- package/dist/schemas/completion-stream.d.ts +9 -1
- package/dist/schemas/completion-stream.js +5 -2
- package/dist/schemas/constants-registry.d.ts +2 -0
- package/dist/schemas/constants-registry.js +2 -1
- package/dist/schemas/download-asset.d.ts +8 -4
- package/dist/schemas/engine-addon-map.d.ts +2 -1
- package/dist/schemas/engine-addon-map.js +5 -1
- package/dist/schemas/get-loaded-model-info.d.ts +2 -0
- package/dist/schemas/get-model-info.d.ts +2 -0
- package/dist/schemas/get-model-info.js +1 -0
- package/dist/schemas/index.d.ts +53 -51
- package/dist/schemas/index.js +4 -2
- package/dist/schemas/llamacpp-config.d.ts +6 -2
- package/dist/schemas/load-model.d.ts +6178 -2763
- package/dist/schemas/load-model.js +39 -3
- package/dist/schemas/mcp-adapter.d.ts +1 -1
- package/dist/schemas/model-src-utils.d.ts +10 -2
- package/dist/schemas/model-types.d.ts +19 -1
- package/dist/schemas/model-types.js +11 -0
- package/dist/schemas/ocr.d.ts +2 -0
- package/dist/schemas/plugin.d.ts +13 -4
- package/dist/schemas/plugin.js +12 -2
- package/dist/schemas/profiling.d.ts +587 -0
- package/dist/schemas/profiling.js +22 -0
- package/dist/schemas/registry.d.ts +18 -0
- package/dist/schemas/registry.js +2 -0
- package/dist/schemas/reload-config.d.ts +10 -2
- package/dist/schemas/sdcpp-config.d.ts +57 -0
- package/dist/schemas/sdcpp-config.js +53 -11
- package/dist/schemas/sdk-config.d.ts +168 -0
- package/dist/schemas/system-resources.d.ts +3967 -0
- package/dist/schemas/system-resources.js +149 -0
- package/dist/schemas/text-to-speech.d.ts +326 -6
- package/dist/schemas/text-to-speech.js +126 -13
- package/dist/schemas/transcription-config.d.ts +2 -0
- package/dist/schemas/translate.d.ts +2 -2
- package/dist/schemas/translation-config.d.ts +30 -10
- package/dist/scripts/check-resource-collectors-packaging.d.ts +33 -0
- package/dist/scripts/check-resource-collectors-packaging.js +136 -0
- package/dist/scripts/contract/build-contract.d.ts +1 -1
- package/dist/scripts/contract/build-models-registry.d.ts +1 -1
- package/dist/scripts/contract/plugin-contract.d.ts +1 -1
- package/dist/scripts/contract/plugin-contract.js +1 -1
- package/dist/scripts/export-contract.js +1 -1
- package/dist/scripts/export-plugin-contract.js +1 -1
- package/dist/server/bare/delegate-rpc-client.d.ts +1 -1
- package/dist/server/bare/delegate-rpc-client.js +3 -3
- package/dist/server/bare/hyperswarm.d.ts +1 -1
- package/dist/server/bare/hyperswarm.js +2 -2
- package/dist/server/bare/ops/bci-transcribe.d.ts +1 -1
- package/dist/server/bare/ops/bci-transcribe.js +4 -4
- package/dist/server/bare/ops/cancel.d.ts +2 -2
- package/dist/server/bare/ops/cancel.js +2 -2
- package/dist/server/bare/ops/embed.d.ts +1 -1
- package/dist/server/bare/ops/embed.js +3 -3
- package/dist/server/bare/ops/kv-cache-retention.d.ts +12 -0
- package/dist/server/bare/ops/kv-cache-retention.js +121 -0
- package/dist/server/bare/ops/kv-cache-utils.d.ts +2 -1
- package/dist/server/bare/ops/kv-cache-utils.js +26 -5
- package/dist/server/bare/ops/load-model.d.ts +2 -2
- package/dist/server/bare/ops/load-model.js +7 -5
- package/dist/server/bare/ops/transcribe.d.ts +2 -2
- package/dist/server/bare/ops/transcribe.js +20 -40
- package/dist/server/bare/ops/translate.d.ts +1 -1
- package/dist/server/bare/ops/translate.js +5 -9
- package/dist/server/bare/ops/unload-model.d.ts +1 -1
- package/dist/server/bare/ops/unload-model.js +5 -5
- package/dist/server/bare/plugins/asr-ggml/config.d.ts +32 -0
- package/dist/server/bare/plugins/asr-ggml/config.js +46 -0
- package/dist/server/bare/plugins/asr-ggml/logging.d.ts +11 -0
- package/dist/server/bare/plugins/asr-ggml/logging.js +12 -0
- package/dist/server/bare/plugins/audiogen-ggml/config.d.ts +18 -0
- package/dist/server/bare/plugins/audiogen-ggml/config.js +23 -0
- package/dist/server/bare/plugins/audiogen-ggml/ops/audio-gen-stream.d.ts +3 -0
- package/dist/server/bare/plugins/audiogen-ggml/ops/audio-gen-stream.js +162 -0
- package/dist/server/bare/plugins/audiogen-ggml/plugin.d.ts +213 -0
- package/dist/server/bare/plugins/audiogen-ggml/plugin.js +58 -0
- package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.d.ts +6 -4
- package/dist/server/bare/plugins/bci-whispercpp-transcription/plugin.js +4 -4
- package/dist/server/bare/plugins/bci-whispercpp-transcription/resolve-config.d.ts +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 +1 -1
- package/dist/server/bare/plugins/ggml-classification/plugin.d.ts +2 -2
- package/dist/server/bare/plugins/ggml-classification/plugin.js +1 -1
- 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 +2 -2
- package/dist/server/bare/plugins/ggml-ocr/plugin.d.ts +4 -2
- package/dist/server/bare/plugins/ggml-ocr/plugin.js +3 -3
- package/dist/server/bare/plugins/ggml-ocr/resolve-config.d.ts +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/server/bare/plugins/ggml-vla/plugin.d.ts +3 -3
- package/dist/server/bare/plugins/index.d.ts +12 -11
- package/dist/server/bare/plugins/index.js +1 -0
- package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.d.ts +3 -3
- package/dist/server/bare/plugins/llamacpp-completion/ops/batch-completion-stream.js +5 -5
- package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.d.ts +11 -1
- package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stats.js +16 -0
- package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.d.ts +3 -3
- package/dist/server/bare/plugins/llamacpp-completion/ops/completion-stream.js +16 -14
- package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.d.ts +1 -1
- package/dist/server/bare/plugins/llamacpp-completion/ops/finetune.js +3 -3
- package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.d.ts +20 -10
- package/dist/server/bare/plugins/llamacpp-completion/ops/kv-cache-session.js +217 -80
- package/dist/server/bare/plugins/llamacpp-completion/plugin.d.ts +12 -5
- package/dist/server/bare/plugins/llamacpp-completion/plugin.js +16 -16
- package/dist/server/bare/plugins/llamacpp-completion/transform.d.ts +1 -1
- package/dist/server/bare/plugins/llamacpp-embedding/plugin.d.ts +2 -2
- package/dist/server/bare/plugins/llamacpp-embedding/plugin.js +5 -5
- package/dist/server/bare/plugins/nmtcpp-translation/plugin.d.ts +12 -2
- package/dist/server/bare/plugins/nmtcpp-translation/plugin.js +3 -3
- package/dist/server/bare/plugins/nmtcpp-translation/resolve-vocab.d.ts +1 -1
- package/dist/server/bare/plugins/parakeet-transcription/plugin.d.ts +6 -6
- package/dist/server/bare/plugins/parakeet-transcription/plugin.js +13 -20
- package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.d.ts +1 -1
- package/dist/server/bare/plugins/sdcpp-generation/ops/diffusion.js +1 -1
- package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.d.ts +1 -1
- package/dist/server/bare/plugins/sdcpp-generation/ops/upscale.js +1 -1
- package/dist/server/bare/plugins/sdcpp-generation/ops/video.d.ts +2 -1
- package/dist/server/bare/plugins/sdcpp-generation/ops/video.js +13 -7
- package/dist/server/bare/plugins/sdcpp-generation/plugin.d.ts +26 -4
- package/dist/server/bare/plugins/sdcpp-generation/plugin.js +18 -4
- package/dist/server/bare/plugins/tts-ggml/ops/parler-options.d.ts +7 -0
- package/dist/server/bare/plugins/tts-ggml/ops/parler-options.js +30 -0
- 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 +8 -5
- 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 +14 -6
- package/dist/server/bare/plugins/tts-ggml/plugin.d.ts +114 -5
- package/dist/server/bare/plugins/tts-ggml/plugin.js +61 -5
- package/dist/server/bare/plugins/whispercpp-transcription/plugin.d.ts +8 -6
- package/dist/server/bare/plugins/whispercpp-transcription/plugin.js +17 -25
- package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/ingest.js +2 -2
- 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 +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/reindex.js +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/search.d.ts +1 -1
- package/dist/server/bare/rag-hyperdb/handlers/search.js +2 -2
- 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 +1 -1
- package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +4 -4
- package/dist/server/bare/registry/config-registry.d.ts +1 -1
- package/dist/server/bare/registry/config-registry.js +1 -1
- package/dist/server/bare/registry/model-config-registry.d.ts +2 -2
- package/dist/server/bare/registry/model-config-registry.js +4 -4
- package/dist/server/bare/registry/model-config-utils.d.ts +1 -1
- package/dist/server/bare/registry/model-config-utils.js +3 -0
- package/dist/server/bare/registry/model-registry.d.ts +15 -4
- package/dist/server/bare/registry/registry-client.js +2 -2
- package/dist/server/bare/registry/runtime-context-registry.d.ts +1 -1
- package/dist/server/bare/resources/collector.d.ts +644 -0
- package/dist/server/bare/resources/collector.js +226 -0
- package/dist/server/bare/resources/native.d.ts +3 -0
- package/dist/server/bare/resources/native.js +35 -0
- package/dist/server/bare/resources/normalize.d.ts +13 -0
- package/dist/server/bare/resources/normalize.js +73 -0
- package/dist/server/bare/resources/types.d.ts +66 -0
- package/dist/server/bare/resources/types.js +1 -0
- package/dist/server/bare/resources/worker-collector.d.ts +5 -0
- package/dist/server/bare/resources/worker-collector.js +15 -0
- 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 +2 -2
- package/dist/server/bare/runtime/request-registry-singleton.d.ts +1 -1
- package/dist/server/bare/runtime/request-registry-singleton.js +11 -1
- package/dist/server/bare/runtime/request-registry.d.ts +2 -2
- package/dist/server/bare/runtime/request-registry.js +1 -1
- package/dist/server/bare/runtime/with-request-context.d.ts +1 -1
- package/dist/server/bare/runtime-lifecycle.d.ts +1 -1
- package/dist/server/bare/types/addon-responses.d.ts +6 -34
- package/dist/server/bare/utils/asr-events.d.ts +15 -0
- package/dist/server/bare/utils/asr-events.js +30 -0
- package/dist/server/bare/utils/audio-input.d.ts +1 -1
- package/dist/server/bare/utils/audio-input.js +1 -1
- package/dist/server/bare/utils/transcribe-metadata.d.ts +1 -1
- package/dist/server/bare/utils/tts-stats.d.ts +1 -1
- package/dist/server/error-handlers.d.ts +1 -1
- package/dist/server/plugins/index.d.ts +1 -1
- package/dist/server/plugins/registry.d.ts +1 -1
- package/dist/server/plugins/registry.js +35 -8
- package/dist/server/rpc/delegate-transport.d.ts +2 -2
- package/dist/server/rpc/delegate-transport.js +5 -10
- package/dist/server/rpc/handle-request.js +3 -3
- package/dist/server/rpc/handler-registry.d.ts +1 -1
- package/dist/server/rpc/handler-registry.js +41 -37
- package/dist/server/rpc/handler-selection.d.ts +2 -2
- package/dist/server/rpc/handler-utils.d.ts +2 -2
- package/dist/server/rpc/handler-utils.js +5 -5
- package/dist/server/rpc/handlers/audio-gen-stream.d.ts +3 -0
- package/dist/server/rpc/handlers/audio-gen-stream.js +4 -0
- package/dist/server/rpc/handlers/batch-completion-stream.d.ts +3 -1
- package/dist/server/rpc/handlers/batch-completion-stream.js +1 -1
- package/dist/server/rpc/handlers/bci-transcribe-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/bci-transcribe-stream.js +1 -1
- package/dist/server/rpc/handlers/bci-transcribe.d.ts +1 -1
- package/dist/server/rpc/handlers/bci-transcribe.js +1 -1
- package/dist/server/rpc/handlers/cancel-delegated.d.ts +2 -2
- package/dist/server/rpc/handlers/cancel-delegated.js +3 -3
- package/dist/server/rpc/handlers/cancelHandler.d.ts +1 -1
- package/dist/server/rpc/handlers/cancelHandler.js +3 -3
- package/dist/server/rpc/handlers/classify.d.ts +1 -1
- package/dist/server/rpc/handlers/classify.js +1 -1
- package/dist/server/rpc/handlers/completion-orchestrate.d.ts +2 -2
- package/dist/server/rpc/handlers/completion-orchestrate.js +1 -1
- package/dist/server/rpc/handlers/completion-stream-delegated.d.ts +2 -2
- package/dist/server/rpc/handlers/completion-stream-delegated.js +3 -3
- package/dist/server/rpc/handlers/completion-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/completion-stream.js +1 -1
- package/dist/server/rpc/handlers/delete-cache.d.ts +1 -1
- package/dist/server/rpc/handlers/delete-cache.js +1 -1
- package/dist/server/rpc/handlers/diffusion-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/diffusion-stream.js +1 -1
- package/dist/server/rpc/handlers/download-asset.d.ts +1 -1
- package/dist/server/rpc/handlers/download-asset.js +4 -4
- package/dist/server/rpc/handlers/embed.d.ts +1 -1
- package/dist/server/rpc/handlers/embed.js +1 -1
- package/dist/server/rpc/handlers/finetune.d.ts +1 -1
- package/dist/server/rpc/handlers/finetune.js +2 -2
- package/dist/server/rpc/handlers/get-loaded-model-info.d.ts +1 -1
- package/dist/server/rpc/handlers/get-loaded-model-info.js +3 -3
- package/dist/server/rpc/handlers/get-model-info.d.ts +1 -1
- package/dist/server/rpc/handlers/get-model-info.js +4 -4
- package/dist/server/rpc/handlers/get-system-resources.d.ts +3 -0
- package/dist/server/rpc/handlers/get-system-resources.js +53 -0
- package/dist/server/rpc/handlers/heartbeat-delegated.d.ts +2 -2
- package/dist/server/rpc/handlers/heartbeat-delegated.js +2 -2
- package/dist/server/rpc/handlers/heartbeat.d.ts +1 -1
- package/dist/server/rpc/handlers/index.d.ts +37 -33
- package/dist/server/rpc/handlers/index.js +4 -0
- package/dist/server/rpc/handlers/load-model/download-manager.d.ts +3 -3
- package/dist/server/rpc/handlers/load-model/download-manager.js +1 -1
- package/dist/server/rpc/handlers/load-model/download-stats.d.ts +3 -3
- package/dist/server/rpc/handlers/load-model/handler.d.ts +1 -1
- package/dist/server/rpc/handlers/load-model/handler.js +12 -8
- package/dist/server/rpc/handlers/load-model/http.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model/http.js +4 -4
- package/dist/server/rpc/handlers/load-model/hyperdrive.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model/hyperdrive.js +5 -5
- package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model/registry-client-options.d.ts +1 -1
- package/dist/server/rpc/handlers/load-model/registry-companion-set.d.ts +3 -3
- package/dist/server/rpc/handlers/load-model/registry-companion-set.js +3 -3
- package/dist/server/rpc/handlers/load-model/registry-download-utils.d.ts +4 -4
- package/dist/server/rpc/handlers/load-model/registry-download-utils.js +3 -3
- package/dist/server/rpc/handlers/load-model/registry-metadata.d.ts +1 -1
- package/dist/server/rpc/handlers/load-model/registry.d.ts +3 -3
- package/dist/server/rpc/handlers/load-model/registry.js +6 -6
- package/dist/server/rpc/handlers/load-model/resolve-session.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model/resolve-session.js +3 -3
- package/dist/server/rpc/handlers/load-model/resolve.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model/resolve.js +2 -2
- package/dist/server/rpc/handlers/load-model/types.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model-delegated.d.ts +2 -2
- package/dist/server/rpc/handlers/load-model-delegated.js +3 -3
- package/dist/server/rpc/handlers/logging-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/logging-stream.js +1 -1
- package/dist/server/rpc/handlers/ocr-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/ocr-stream.js +1 -1
- package/dist/server/rpc/handlers/plugin-dispatch.js +3 -3
- package/dist/server/rpc/handlers/plugin-invoke.d.ts +1 -1
- package/dist/server/rpc/handlers/plugin-invoke.js +3 -3
- package/dist/server/rpc/handlers/provideHandler/connection.js +1 -1
- package/dist/server/rpc/handlers/provideHandler/handler.d.ts +1 -1
- package/dist/server/rpc/handlers/provideHandler/handler.js +1 -1
- package/dist/server/rpc/handlers/provideHandler/proxy.js +1 -1
- package/dist/server/rpc/handlers/provideHandler.d.ts +1 -1
- package/dist/server/rpc/handlers/rag.d.ts +1 -1
- package/dist/server/rpc/handlers/rag.js +4 -4
- package/dist/server/rpc/handlers/registry.d.ts +1 -1
- package/dist/server/rpc/handlers/registry.js +1 -1
- package/dist/server/rpc/handlers/resume.d.ts +1 -1
- package/dist/server/rpc/handlers/resume.js +1 -1
- package/dist/server/rpc/handlers/state.d.ts +1 -1
- package/dist/server/rpc/handlers/state.js +1 -1
- package/dist/server/rpc/handlers/stopProvideHandler.d.ts +1 -1
- package/dist/server/rpc/handlers/stopProvideHandler.js +1 -1
- package/dist/server/rpc/handlers/suspend.d.ts +1 -1
- package/dist/server/rpc/handlers/suspend.js +1 -1
- package/dist/server/rpc/handlers/text-to-speech-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/text-to-speech-stream.js +1 -1
- package/dist/server/rpc/handlers/text-to-speech.d.ts +1 -1
- package/dist/server/rpc/handlers/text-to-speech.js +1 -1
- package/dist/server/rpc/handlers/transcribe-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/transcribe-stream.js +1 -1
- package/dist/server/rpc/handlers/transcribe.d.ts +1 -1
- package/dist/server/rpc/handlers/transcribe.js +1 -1
- package/dist/server/rpc/handlers/translate.d.ts +1 -1
- package/dist/server/rpc/handlers/translate.js +1 -1
- package/dist/server/rpc/handlers/unload-model-delegated.d.ts +1 -1
- package/dist/server/rpc/handlers/unload-model-delegated.js +5 -5
- package/dist/server/rpc/handlers/unload-model.d.ts +1 -1
- package/dist/server/rpc/handlers/unload-model.js +3 -3
- package/dist/server/rpc/handlers/upscale-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/upscale-stream.js +1 -1
- package/dist/server/rpc/handlers/video-stream.d.ts +1 -1
- package/dist/server/rpc/handlers/video-stream.js +1 -1
- package/dist/server/rpc/index.d.ts +2 -2
- package/dist/server/rpc/method-shapes.d.ts +2 -0
- package/dist/server/rpc/method-shapes.js +2 -0
- package/dist/server/rpc/profiling/backend-diagnostics.d.ts +3 -0
- package/dist/server/rpc/profiling/backend-diagnostics.js +16 -0
- package/dist/server/rpc/profiling/context.d.ts +1 -1
- package/dist/server/rpc/profiling/delegation-profiler.d.ts +2 -2
- package/dist/server/rpc/profiling/index.d.ts +4 -4
- package/dist/server/rpc/profiling/operation-metrics.d.ts +2 -2
- package/dist/server/rpc/profiling/operation-metrics.js +9 -1
- package/dist/server/rpc/profiling/operation-wrappers.d.ts +1 -1
- package/dist/server/rpc/profiling/operation-wrappers.js +51 -13
- package/dist/server/rpc/profiling/profiler.d.ts +2 -2
- package/dist/server/rpc/transport-selector.d.ts +1 -1
- package/dist/server/utils/archive.js +1 -1
- package/dist/server/utils/audio/decoder.d.ts +1 -1
- package/dist/server/utils/audio/decoder.js +1 -1
- package/dist/server/utils/cache/auto-history.d.ts +1 -1
- package/dist/server/utils/cache/paths.d.ts +1 -1
- package/dist/server/utils/cache/paths.js +6 -6
- package/dist/server/utils/checksum.d.ts +1 -1
- package/dist/server/utils/completion-normalizer.d.ts +2 -1
- package/dist/server/utils/completion-normalizer.js +31 -1
- package/dist/server/utils/config-transform.d.ts +1 -1
- package/dist/server/utils/config-transform.js +5 -7
- package/dist/server/utils/index.d.ts +11 -11
- package/dist/server/utils/path-security.d.ts +1 -1
- package/dist/server/utils/qvac-paths.js +1 -1
- package/dist/server/utils/response-format.d.ts +1 -1
- package/dist/server/utils/shard-utils.d.ts +1 -1
- package/dist/server/utils/tool-integration.d.ts +1 -1
- package/dist/server/utils/tool-integration.js +2 -2
- package/dist/server/utils/tools/dialect.d.ts +1 -1
- package/dist/server/utils/tools/dialect.js +2 -0
- package/dist/server/utils/tools/index.d.ts +2 -2
- package/dist/server/utils/tools/parser.d.ts +1 -1
- package/dist/server/utils/tools/parser.js +16 -8
- package/dist/server/utils/tools/parsers/dsml.d.ts +4 -0
- package/dist/server/utils/tools/parsers/dsml.js +176 -0
- package/dist/server/utils/tools/parsers/gemma4native.d.ts +2 -2
- package/dist/server/utils/tools/parsers/gemma4native.js +1 -1
- package/dist/server/utils/tools/parsers/harmony.d.ts +2 -2
- package/dist/server/utils/tools/parsers/harmony.js +1 -1
- package/dist/server/utils/tools/parsers/hermes.d.ts +2 -2
- package/dist/server/utils/tools/parsers/hermes.js +1 -1
- package/dist/server/utils/tools/parsers/json.d.ts +2 -2
- package/dist/server/utils/tools/parsers/json.js +1 -1
- package/dist/server/utils/tools/parsers/pythonic.d.ts +2 -2
- package/dist/server/utils/tools/parsers/pythonic.js +1 -1
- package/dist/server/utils/tools/parsers/qwen35.d.ts +2 -2
- package/dist/server/utils/tools/parsers/qwen35.js +1 -1
- package/dist/server/utils/tools/shared.d.ts +1 -1
- package/dist/server/utils/worker-lock.js +1 -1
- package/dist/server/worker-core.js +14 -10
- package/dist/server/worker.js +4 -3
- package/dist/utils/aggregate-events.d.ts +2 -2
- package/dist/utils/aggregate-events.js +2 -2
- package/dist/utils/errors-client.d.ts +0 -3
- package/dist/utils/errors-client.js +0 -5
- package/dist/utils/errors-server.d.ts +1 -1
- package/dist/utils/mcp-adapter.d.ts +4 -4
- package/dist/utils/mcp-adapter.js +1 -1
- package/dist/utils/tool-helpers.d.ts +1 -1
- package/dist/utils/tool-helpers.js +1 -1
- package/docs/system-resources-support-matrix.md +103 -0
- package/package.json +33 -18
- /package/dist/examples/{transcription → asr}/parakeet-ctc-filesystem.d.ts +0 -0
- /package/dist/examples/{transcription → asr}/parakeet-microphone-record.d.ts +0 -0
- /package/dist/examples/{transcription → asr}/parakeet-microphone-stream.d.ts +0 -0
- /package/dist/examples/{transcription → asr}/parakeet-sortformer-streaming.d.ts +0 -0
- /package/dist/examples/{transcription → asr}/parakeet-sortformer.d.ts +0 -0
- /package/dist/examples/{transcription → asr}/parakeet-tdt-filesystem-chunked.d.ts +0 -0
- /package/dist/examples/{transcription → asr}/parakeet-tdt-filesystem.d.ts +0 -0
- /package/dist/examples/{transcription → asr}/whispercpp-filesystem-streaming.d.ts +0 -0
- /package/dist/examples/{transcription → asr}/whispercpp-filesystem.d.ts +0 -0
- /package/dist/examples/{transcription → asr}/whispercpp-microphone-conversation.d.ts +0 -0
- /package/dist/examples/{transcription → asr}/whispercpp-microphone-record.d.ts +0 -0
- /package/dist/examples/{transcription → asr}/whispercpp-prompt.d.ts +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { promises as fsp } from 'node:fs';
|
|
2
|
+
import os from 'node:os';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { bundleSdk } from '../commands/bundle/index.js';
|
|
6
|
+
import { acceptResourceCollectorPackaging, formatResourceCollectorAcceptanceReport } from '../commands/verify/resource-collectors.js';
|
|
7
|
+
import { RequestValidationFailedError } from '../utils/errors-client.js';
|
|
8
|
+
const DESKTOP_HOSTS = [
|
|
9
|
+
'darwin-arm64',
|
|
10
|
+
'darwin-x64',
|
|
11
|
+
'linux-arm64',
|
|
12
|
+
'linux-x64',
|
|
13
|
+
'win32-arm64',
|
|
14
|
+
'win32-x64'
|
|
15
|
+
];
|
|
16
|
+
const DEFAULT_DEPENDENCIES = {
|
|
17
|
+
createTemporaryProject,
|
|
18
|
+
removeTemporaryProject,
|
|
19
|
+
bundleSdk,
|
|
20
|
+
acceptResourceCollectorPackaging,
|
|
21
|
+
formatResourceCollectorAcceptanceReport,
|
|
22
|
+
writeOutput(output) {
|
|
23
|
+
console.log(output);
|
|
24
|
+
},
|
|
25
|
+
writeError(output) {
|
|
26
|
+
console.error(output);
|
|
27
|
+
},
|
|
28
|
+
setExitCode(exitCode) {
|
|
29
|
+
process.exitCode = exitCode;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
export function parseResourceCollectorCheckArgs(args) {
|
|
33
|
+
const hosts = [];
|
|
34
|
+
const seenHosts = new Set();
|
|
35
|
+
let json = false;
|
|
36
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
37
|
+
const argument = args[index];
|
|
38
|
+
if (argument === '--json') {
|
|
39
|
+
json = true;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (argument === '--host') {
|
|
43
|
+
const host = args[index + 1];
|
|
44
|
+
if (host === undefined || host.startsWith('--')) {
|
|
45
|
+
throw new RequestValidationFailedError('--host requires a platform-architecture value');
|
|
46
|
+
}
|
|
47
|
+
const desktopHost = validateDesktopHost(host);
|
|
48
|
+
if (!seenHosts.has(desktopHost)) {
|
|
49
|
+
seenHosts.add(desktopHost);
|
|
50
|
+
hosts.push(desktopHost);
|
|
51
|
+
}
|
|
52
|
+
index += 1;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
throw new RequestValidationFailedError(`Unknown argument: ${argument}`);
|
|
56
|
+
}
|
|
57
|
+
return { hosts, json };
|
|
58
|
+
}
|
|
59
|
+
export function resolveDesktopHost(platform, arch) {
|
|
60
|
+
return validateDesktopHost(`${platform}-${arch}`);
|
|
61
|
+
}
|
|
62
|
+
export async function runResourceCollectorPackagingCheck(options, dependencies = DEFAULT_DEPENDENCIES) {
|
|
63
|
+
const hosts = options.hosts.length > 0
|
|
64
|
+
? options.hosts
|
|
65
|
+
: [resolveDesktopHost(options.platform ?? process.platform, options.arch ?? process.arch)];
|
|
66
|
+
const temporaryProjectRoot = await dependencies.createTemporaryProject(options.sdkPackageRoot);
|
|
67
|
+
try {
|
|
68
|
+
const bundle = await dependencies.bundleSdk({
|
|
69
|
+
projectRoot: temporaryProjectRoot,
|
|
70
|
+
sdkPath: options.sdkPackageRoot,
|
|
71
|
+
hosts,
|
|
72
|
+
quiet: true
|
|
73
|
+
});
|
|
74
|
+
const report = await dependencies.acceptResourceCollectorPackaging({
|
|
75
|
+
projectRoot: temporaryProjectRoot,
|
|
76
|
+
bundlePath: bundle.bundlePath,
|
|
77
|
+
manifestPath: bundle.manifestPath,
|
|
78
|
+
hosts
|
|
79
|
+
});
|
|
80
|
+
const output = options.json
|
|
81
|
+
? JSON.stringify(report, null, 2)
|
|
82
|
+
: dependencies.formatResourceCollectorAcceptanceReport(report);
|
|
83
|
+
dependencies.writeOutput(output);
|
|
84
|
+
if (!report.ok)
|
|
85
|
+
dependencies.setExitCode(1);
|
|
86
|
+
}
|
|
87
|
+
finally {
|
|
88
|
+
await dependencies.removeTemporaryProject(temporaryProjectRoot);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export async function runResourceCollectorPackagingCli(args, options = {}) {
|
|
92
|
+
const dependencies = options.dependencies ?? DEFAULT_DEPENDENCIES;
|
|
93
|
+
try {
|
|
94
|
+
await runResourceCollectorPackagingCheck({
|
|
95
|
+
sdkPackageRoot: options.sdkPackageRoot ?? resolveSdkPackageRoot(),
|
|
96
|
+
...parseResourceCollectorCheckArgs(args)
|
|
97
|
+
}, dependencies);
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
101
|
+
const reason = message.split('\n').filter(Boolean).at(-1) ?? message;
|
|
102
|
+
dependencies.writeError(`Resource collector packaging check failed: ${reason}`);
|
|
103
|
+
dependencies.setExitCode(1);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function validateDesktopHost(host) {
|
|
107
|
+
const desktopHost = DESKTOP_HOSTS.find((candidate) => candidate === host);
|
|
108
|
+
if (desktopHost === undefined) {
|
|
109
|
+
throw new RequestValidationFailedError(`Unsupported host "${host}". Expected one of: ${DESKTOP_HOSTS.join(', ')}`);
|
|
110
|
+
}
|
|
111
|
+
return desktopHost;
|
|
112
|
+
}
|
|
113
|
+
async function createTemporaryProject(sdkPackageRoot) {
|
|
114
|
+
const projectRoot = await fsp.mkdtemp(path.join(os.tmpdir(), 'qvac-resource-collectors-packaging-'));
|
|
115
|
+
try {
|
|
116
|
+
await fsp.symlink(path.join(sdkPackageRoot, 'node_modules'), path.join(projectRoot, 'node_modules'), process.platform === 'win32' ? 'junction' : 'dir');
|
|
117
|
+
return projectRoot;
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
await removeTemporaryProject(projectRoot);
|
|
121
|
+
throw error;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
async function removeTemporaryProject(projectRoot) {
|
|
125
|
+
await fsp.rm(projectRoot, { recursive: true, force: true });
|
|
126
|
+
}
|
|
127
|
+
function resolveSdkPackageRoot() {
|
|
128
|
+
return path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
129
|
+
}
|
|
130
|
+
function isMainModule() {
|
|
131
|
+
const entryPath = process.argv[1];
|
|
132
|
+
return entryPath !== undefined && path.resolve(entryPath) === fileURLToPath(import.meta.url);
|
|
133
|
+
}
|
|
134
|
+
if (isMainModule()) {
|
|
135
|
+
await runResourceCollectorPackagingCli(process.argv.slice(2));
|
|
136
|
+
}
|
|
@@ -20,7 +20,7 @@ export declare function buildContract(): {
|
|
|
20
20
|
condition: string;
|
|
21
21
|
responseSchema: string;
|
|
22
22
|
};
|
|
23
|
-
name: "cancel" | "transcribe" | "translate" | "finetune" | "loadModel" | "downloadAsset" | "rag" | "pluginInvoke" | "pluginInvokeStream" | "modelRegistryList" | "modelRegistrySearch" | "modelRegistryGetModel" | "completionStream" | "completionOrchestrate" | "batchCompletionStream" | "deleteCache" | "heartbeat" | "unloadModel" | "transcribeStream" | "bciTranscribe" | "bciTranscribeStream" | "loggingStream" | "embed" | "textToSpeech" | "textToSpeechStream" | "provide" | "stopProvide" | "getModelInfo" | "getLoadedModelInfo" | "ocrStream" | "diffusionStream" | "videoStream" | "upscaleStream" | "resume" | "suspend" | "state" | "classify";
|
|
23
|
+
name: "cancel" | "transcribe" | "translate" | "finetune" | "loadModel" | "downloadAsset" | "rag" | "pluginInvoke" | "pluginInvokeStream" | "modelRegistryList" | "modelRegistrySearch" | "modelRegistryGetModel" | "completionStream" | "completionOrchestrate" | "batchCompletionStream" | "deleteCache" | "audioGenStream" | "heartbeat" | "unloadModel" | "transcribeStream" | "bciTranscribe" | "bciTranscribeStream" | "loggingStream" | "embed" | "textToSpeech" | "textToSpeechStream" | "provide" | "stopProvide" | "getModelInfo" | "getLoadedModelInfo" | "ocrStream" | "diffusionStream" | "videoStream" | "upscaleStream" | "resume" | "suspend" | "state" | "getSystemResources" | "classify";
|
|
24
24
|
callShape: "duplex" | "request-reply" | "server-stream";
|
|
25
25
|
requestSchema: string;
|
|
26
26
|
responseSchema: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ModelConstant } from '../../models/registry/index';
|
|
1
|
+
import type { ModelConstant } from '../../models/registry/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* JSON export of every named model constant in `@/models/registry`
|
|
4
4
|
* (`QWEN3_600M_INST_Q4`, `BCI_EMBEDDER`, ...) — the same constants JS
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { toWireJsonSchema } from '
|
|
1
|
+
import { toWireJsonSchema } from '../../scripts/contract/build-contract.js';
|
|
2
2
|
/**
|
|
3
3
|
* Wire contract of one registered plugin: JSON Schema per handler, in the
|
|
4
4
|
* same wire shape the built-in contract export uses (requests as input
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
|
-
import { contractDir, renderContractFiles } from '
|
|
3
|
+
import { contractDir, renderContractFiles } from '../scripts/contract/build-contract.js';
|
|
4
4
|
const checkOnly = process.argv.includes('--check');
|
|
5
5
|
const files = await renderContractFiles();
|
|
6
6
|
await mkdir(contractDir, { recursive: true });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { writeFile } from 'node:fs/promises';
|
|
2
2
|
import { pathToFileURL } from 'node:url';
|
|
3
|
-
import { buildPluginContract } from '
|
|
3
|
+
import { buildPluginContract } from '../scripts/contract/plugin-contract.js';
|
|
4
4
|
// Usage: tsx scripts/export-plugin-contract.ts <plugin-module> <out.json>
|
|
5
5
|
// The plugin module's default export must be a definePlugin(...) value.
|
|
6
6
|
const [modulePath, outPath] = process.argv.slice(2);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import RPC from 'bare-rpc';
|
|
2
|
-
import type { RPCOptions } from '../../schemas/index';
|
|
2
|
+
import type { RPCOptions } from '../../schemas/index.js';
|
|
3
3
|
export declare function getRPC(publicKey: string, options?: RPCOptions): Promise<RPC>;
|
|
4
4
|
/**
|
|
5
5
|
* Remove a stale RPC connection for a peer.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { getSwarm } from './hyperswarm.js';
|
|
2
|
-
import { getSDKConfig } from '
|
|
2
|
+
import { getSDKConfig } from '../../server/bare/registry/config-registry.js';
|
|
3
3
|
import { ensureDhtBootstrapped, describeConnectFailure } from './delegate-connect-diagnostics.js';
|
|
4
4
|
import RPC from 'bare-rpc';
|
|
5
5
|
import { withTimeout } from '../../utils/withTimeout.js';
|
|
6
6
|
import { DelegateConnectionFailedError } from '../../utils/errors-server.js';
|
|
7
7
|
import { getServerLogger } from '../../logging/index.js';
|
|
8
8
|
import { nowMs } from '../../profiling/index.js';
|
|
9
|
-
import { cacheDelegationConnectionTime, clearPeerConnectionTracking } from '
|
|
10
|
-
import { getNextCommandId } from '
|
|
9
|
+
import { cacheDelegationConnectionTime, clearPeerConnectionTracking } from '../../server/rpc/profiling/delegation-profiler.js';
|
|
10
|
+
import { getNextCommandId } from '../../server/rpc/rpc-utils.js';
|
|
11
11
|
import { Buffer } from 'bare-buffer';
|
|
12
12
|
const logger = getServerLogger();
|
|
13
13
|
const activeRPCs = new Map();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Hyperswarm from 'hyperswarm';
|
|
2
|
-
import { type FirewallConfig } from '../../schemas/provide';
|
|
2
|
+
import { type FirewallConfig } from '../../schemas/provide.js';
|
|
3
3
|
export declare function getSwarm({ firewallConfig }?: {
|
|
4
4
|
firewallConfig?: FirewallConfig | undefined;
|
|
5
5
|
}): Hyperswarm;
|
|
@@ -2,8 +2,8 @@ import env from 'bare-env';
|
|
|
2
2
|
import Hyperswarm from 'hyperswarm';
|
|
3
3
|
import crypto from 'bare-crypto';
|
|
4
4
|
import { envSchema } from '../../schemas/provide.js';
|
|
5
|
-
import { getSDKConfig } from '
|
|
6
|
-
import { registerSwarm, unregisterSwarm } from '
|
|
5
|
+
import { getSDKConfig } from '../../server/bare/registry/config-registry.js';
|
|
6
|
+
import { registerSwarm, unregisterSwarm } from '../../server/bare/runtime-lifecycle.js';
|
|
7
7
|
import { getServerLogger } from '../../logging/index.js';
|
|
8
8
|
import { Buffer } from 'bare-buffer';
|
|
9
9
|
const logger = getServerLogger();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type BciStreamOpts, type BciTranscribeParams, type TranscribeSegment, type TranscribeStats } from '../../../schemas/index';
|
|
1
|
+
import { type BciStreamOpts, type BciTranscribeParams, type TranscribeSegment, type TranscribeStats } from '../../../schemas/index.js';
|
|
2
2
|
type BciTranscribeReturn = {
|
|
3
3
|
modelExecutionMs: number;
|
|
4
4
|
stats?: TranscribeStats;
|
|
@@ -50,15 +50,15 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
50
50
|
var e = new Error(message);
|
|
51
51
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
52
|
});
|
|
53
|
-
import { getModel } from '
|
|
53
|
+
import { getModel } from '../../../server/bare/registry/model-registry.js';
|
|
54
54
|
import {} from '../../../schemas/index.js';
|
|
55
55
|
import { getServerLogger } from '../../../logging/index.js';
|
|
56
56
|
import { TranscriptionFailedError } from '../../../utils/errors-server.js';
|
|
57
57
|
import { nowMs } from '../../../profiling/index.js';
|
|
58
58
|
import { buildStreamResult } from '../../../profiling/model-execution.js';
|
|
59
|
-
import { toTranscribeSegment } from '
|
|
60
|
-
import { getRequestRegistry, withRequestContext } from '
|
|
61
|
-
import { generateServerRequestId } from '
|
|
59
|
+
import { toTranscribeSegment } from '../../../server/bare/utils/transcribe-metadata.js';
|
|
60
|
+
import { getRequestRegistry, withRequestContext } from '../../../server/bare/runtime/index.js';
|
|
61
|
+
import { generateServerRequestId } from '../../../server/bare/runtime/request-id.js';
|
|
62
62
|
async function runBci(model, input) {
|
|
63
63
|
switch (input.type) {
|
|
64
64
|
case 'base64':
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type CancelInferenceBaseParams } from '../../../schemas/index';
|
|
2
|
-
import type { RequestKind } from '
|
|
1
|
+
import { type CancelInferenceBaseParams } from '../../../schemas/index.js';
|
|
2
|
+
import type { RequestKind } from '../../../server/bare/runtime/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Broad cancel: abort every in-flight request matching `modelId` (and
|
|
5
5
|
* optionally a `kind`). Maps onto `RequestRegistry.cancel({ modelId })`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { getModel } from '
|
|
1
|
+
import { getModel } from '../../../server/bare/registry/model-registry.js';
|
|
2
2
|
import { cancelInferenceBaseSchema } from '../../../schemas/index.js';
|
|
3
3
|
import { ModelNotLoadedError } from '../../../utils/errors-server.js';
|
|
4
|
-
import { getRequestRegistry } from '
|
|
4
|
+
import { getRequestRegistry } from '../../../server/bare/runtime/index.js';
|
|
5
5
|
import { getServerLogger } from '../../../logging/index.js';
|
|
6
6
|
const logger = getServerLogger();
|
|
7
7
|
/**
|
|
@@ -50,13 +50,13 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
50
50
|
var e = new Error(message);
|
|
51
51
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
52
|
});
|
|
53
|
-
import { getModel } from '
|
|
53
|
+
import { getModel } from '../../../server/bare/registry/model-registry.js';
|
|
54
54
|
import { embedParamsSchema } from '../../../schemas/index.js';
|
|
55
55
|
import { buildUnaryResult } from '../../../profiling/model-execution.js';
|
|
56
56
|
import { EmbedNoEmbeddingsError, EmbedFailedError, InferenceCancelledError } from '../../../utils/errors-server.js';
|
|
57
57
|
import { nowMs } from '../../../profiling/index.js';
|
|
58
|
-
import { getRequestRegistry, withRequestContext } from '
|
|
59
|
-
import { generateServerRequestId } from '
|
|
58
|
+
import { getRequestRegistry, withRequestContext } from '../../../server/bare/runtime/index.js';
|
|
59
|
+
import { generateServerRequestId } from '../../../server/bare/runtime/request-id.js';
|
|
60
60
|
import { getServerLogger } from '../../../logging/index.js';
|
|
61
61
|
export async function embed(params, requestId) {
|
|
62
62
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface AutoCacheRetentionOptions {
|
|
2
|
+
activeCachePaths: string[];
|
|
3
|
+
maxBytes: number;
|
|
4
|
+
maxIdleMs: number;
|
|
5
|
+
nowMs: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function markAutoCacheKey(cacheKey: string): Promise<void>;
|
|
8
|
+
export declare function removeAutoCacheMarker(cacheKey: string): Promise<void>;
|
|
9
|
+
export declare function removeAutoCacheMarkerIfMissing(cacheKey: string): Promise<void>;
|
|
10
|
+
export declare function isCachePathWithinDirectory(directoryPath: string, cachePath: string): boolean;
|
|
11
|
+
export declare function planAutoCacheEvictions(options: AutoCacheRetentionOptions): Promise<string[]>;
|
|
12
|
+
//# sourceMappingURL=kv-cache-retention.d.ts.map
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { promises as fsPromises } from 'bare-fs';
|
|
2
|
+
import path from 'bare-path';
|
|
3
|
+
import { getKVCacheDir } from '../../../server/utils/index.js';
|
|
4
|
+
import { getServerLogger } from '../../../logging/index.js';
|
|
5
|
+
const logger = getServerLogger();
|
|
6
|
+
const AUTO_CACHE_MARKER_PREFIX = '.auto-cache-';
|
|
7
|
+
const AUTO_CACHE_MARKER_PATTERN = /^\.auto-cache-([a-f0-9]{16})$/;
|
|
8
|
+
function getAutoCacheMarkerPath(cacheKey) {
|
|
9
|
+
return path.join(getKVCacheDir(), `${AUTO_CACHE_MARKER_PREFIX}${cacheKey}`);
|
|
10
|
+
}
|
|
11
|
+
export async function markAutoCacheKey(cacheKey) {
|
|
12
|
+
try {
|
|
13
|
+
await fsPromises.writeFile(getAutoCacheMarkerPath(cacheKey), '');
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
logger.warn(`[kv-cache] Failed to write auto-cache retention marker. key=${cacheKey} error=${error instanceof Error ? error.message : String(error)}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function removeAutoCacheMarker(cacheKey) {
|
|
20
|
+
try {
|
|
21
|
+
await fsPromises.unlink(getAutoCacheMarkerPath(cacheKey));
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// The marker is best-effort cleanup metadata and may already be absent.
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export async function removeAutoCacheMarkerIfMissing(cacheKey) {
|
|
28
|
+
try {
|
|
29
|
+
await fsPromises.access(path.join(getKVCacheDir(), cacheKey));
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
await removeAutoCacheMarker(cacheKey);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function isCachePathWithinDirectory(directoryPath, cachePath) {
|
|
36
|
+
const prefix = `${directoryPath}${path.sep}`;
|
|
37
|
+
return cachePath === directoryPath || cachePath.startsWith(prefix);
|
|
38
|
+
}
|
|
39
|
+
async function readDirectory(directoryPath) {
|
|
40
|
+
try {
|
|
41
|
+
return await fsPromises.readdir(directoryPath);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async function inspectAutoCacheEntry(cacheKey, activeCachePaths) {
|
|
48
|
+
const directoryPath = path.join(getKVCacheDir(), cacheKey);
|
|
49
|
+
const modelDirectories = await readDirectory(directoryPath);
|
|
50
|
+
if (modelDirectories === null)
|
|
51
|
+
return null;
|
|
52
|
+
let size = 0;
|
|
53
|
+
let lastModifiedMs = 0;
|
|
54
|
+
for (const modelDirectory of modelDirectories) {
|
|
55
|
+
const modelPath = path.join(directoryPath, modelDirectory.toString());
|
|
56
|
+
const fileNames = await readDirectory(modelPath);
|
|
57
|
+
if (fileNames === null)
|
|
58
|
+
continue;
|
|
59
|
+
for (const fileName of fileNames) {
|
|
60
|
+
try {
|
|
61
|
+
const stats = await fsPromises.stat(path.join(modelPath, fileName.toString()));
|
|
62
|
+
if (!stats.isFile())
|
|
63
|
+
continue;
|
|
64
|
+
size += stats.size;
|
|
65
|
+
lastModifiedMs = Math.max(lastModifiedMs, stats.mtime.getTime());
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// The cache may have moved or been rolled back while the sweep was inspecting it.
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
cacheKey,
|
|
74
|
+
directoryPath,
|
|
75
|
+
size,
|
|
76
|
+
lastModifiedMs,
|
|
77
|
+
active: activeCachePaths.some((cachePath) => isCachePathWithinDirectory(directoryPath, cachePath))
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
export async function planAutoCacheEvictions(options) {
|
|
81
|
+
const rootEntries = await readDirectory(getKVCacheDir());
|
|
82
|
+
if (rootEntries === null)
|
|
83
|
+
return [];
|
|
84
|
+
const entries = [];
|
|
85
|
+
for (const rootEntry of rootEntries) {
|
|
86
|
+
const markerMatch = AUTO_CACHE_MARKER_PATTERN.exec(rootEntry.toString());
|
|
87
|
+
if (markerMatch === null)
|
|
88
|
+
continue;
|
|
89
|
+
const cacheKey = markerMatch[1];
|
|
90
|
+
if (cacheKey === undefined)
|
|
91
|
+
continue;
|
|
92
|
+
const entry = await inspectAutoCacheEntry(cacheKey, options.activeCachePaths);
|
|
93
|
+
if (entry === null) {
|
|
94
|
+
await removeAutoCacheMarker(cacheKey);
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
entries.push(entry);
|
|
98
|
+
}
|
|
99
|
+
let retainedBytes = entries.reduce((total, entry) => total + entry.size, 0);
|
|
100
|
+
const evictions = new Set();
|
|
101
|
+
for (const entry of entries) {
|
|
102
|
+
if (entry.active)
|
|
103
|
+
continue;
|
|
104
|
+
const expired = entry.lastModifiedMs === 0 ||
|
|
105
|
+
(options.maxIdleMs > 0 && options.nowMs - entry.lastModifiedMs > options.maxIdleMs);
|
|
106
|
+
if (!expired)
|
|
107
|
+
continue;
|
|
108
|
+
evictions.add(entry.cacheKey);
|
|
109
|
+
retainedBytes -= entry.size;
|
|
110
|
+
}
|
|
111
|
+
const oldestFirst = entries
|
|
112
|
+
.filter((entry) => !entry.active && !evictions.has(entry.cacheKey))
|
|
113
|
+
.sort((a, b) => a.lastModifiedMs - b.lastModifiedMs);
|
|
114
|
+
for (const entry of oldestFirst) {
|
|
115
|
+
if (retainedBytes <= options.maxBytes)
|
|
116
|
+
break;
|
|
117
|
+
evictions.add(entry.cacheKey);
|
|
118
|
+
retainedBytes -= entry.size;
|
|
119
|
+
}
|
|
120
|
+
return Array.from(evictions);
|
|
121
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type CacheMessage } from '
|
|
1
|
+
import { type CacheMessage } from '../../../server/utils/index.js';
|
|
2
2
|
export declare function extractSystemPrompt(messages: CacheMessage[]): string | null;
|
|
3
3
|
export declare function generateConfigHash(systemPrompt: string | null, tools?: unknown): string;
|
|
4
4
|
export declare function generateCacheKey(messages: CacheMessage[]): string;
|
|
@@ -12,6 +12,7 @@ export declare function getCurrentCacheInfo(modelId: string, configHash: string,
|
|
|
12
12
|
cachePath: string;
|
|
13
13
|
}>;
|
|
14
14
|
export declare function renameCacheFile(oldPath: string, newPath: string): Promise<boolean>;
|
|
15
|
+
export declare function pruneEmptyCacheDirectories(cacheFilePath: string): Promise<void>;
|
|
15
16
|
export declare function deleteCache(options: {
|
|
16
17
|
all: true;
|
|
17
18
|
} | {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import crypto from 'bare-crypto';
|
|
2
2
|
import { promises as fsPromises } from 'bare-fs';
|
|
3
3
|
import path from 'bare-path';
|
|
4
|
-
import { getAutoCacheLookupHistory, getKVCacheDir, validateAndJoinPath } from '
|
|
4
|
+
import { getAutoCacheLookupHistory, getKVCacheDir, validateAndJoinPath } from '../../../server/utils/index.js';
|
|
5
5
|
import { getServerLogger } from '../../../logging/index.js';
|
|
6
6
|
import { Buffer } from 'bare-buffer';
|
|
7
|
+
import { markAutoCacheKey } from '../../../server/bare/ops/kv-cache-retention.js';
|
|
7
8
|
const logger = getServerLogger();
|
|
8
9
|
// In-memory KV-cache state lives in `KvCacheSession` (the single
|
|
9
10
|
// mutation point for all three KV-cache bookkeeping layers). This
|
|
@@ -37,18 +38,22 @@ export function generateCacheKey(messages) {
|
|
|
37
38
|
const hashString = hash.digest('hex');
|
|
38
39
|
return hashString.substring(0, 16);
|
|
39
40
|
}
|
|
40
|
-
|
|
41
|
+
function resolveCacheFilePath(modelId, configHash, cacheKey) {
|
|
41
42
|
const cacheDir = getKVCacheDir();
|
|
42
43
|
const sessionCacheDir = validateAndJoinPath(cacheDir, cacheKey);
|
|
43
44
|
const modelCacheDir = validateAndJoinPath(sessionCacheDir, modelId);
|
|
45
|
+
return path.join(modelCacheDir, `${configHash}.bin`);
|
|
46
|
+
}
|
|
47
|
+
export async function getCacheFilePath(modelId, configHash, cacheKey) {
|
|
48
|
+
const cachePath = resolveCacheFilePath(modelId, configHash, cacheKey);
|
|
49
|
+
const modelCacheDir = path.dirname(cachePath);
|
|
44
50
|
try {
|
|
45
|
-
await fsPromises.mkdir(sessionCacheDir, { recursive: true });
|
|
46
51
|
await fsPromises.mkdir(modelCacheDir, { recursive: true });
|
|
47
52
|
}
|
|
48
53
|
catch {
|
|
49
54
|
// Ignore if directories already exist
|
|
50
55
|
}
|
|
51
|
-
return
|
|
56
|
+
return cachePath;
|
|
52
57
|
}
|
|
53
58
|
// Used for auto-generated cache key
|
|
54
59
|
export async function findMatchingCache(modelId, configHash, currentHistory) {
|
|
@@ -57,9 +62,10 @@ export async function findMatchingCache(modelId, configHash, currentHistory) {
|
|
|
57
62
|
}
|
|
58
63
|
const previousHistory = getAutoCacheLookupHistory(currentHistory);
|
|
59
64
|
const cacheKey = generateCacheKey(previousHistory);
|
|
60
|
-
const cachePath =
|
|
65
|
+
const cachePath = resolveCacheFilePath(modelId, configHash, cacheKey);
|
|
61
66
|
try {
|
|
62
67
|
await fsPromises.access(cachePath);
|
|
68
|
+
await markAutoCacheKey(cacheKey);
|
|
63
69
|
return { cacheKey, cachePath };
|
|
64
70
|
}
|
|
65
71
|
catch {
|
|
@@ -68,6 +74,7 @@ export async function findMatchingCache(modelId, configHash, currentHistory) {
|
|
|
68
74
|
}
|
|
69
75
|
export async function getCurrentCacheInfo(modelId, configHash, currentHistory) {
|
|
70
76
|
const cacheKey = generateCacheKey(currentHistory);
|
|
77
|
+
await markAutoCacheKey(cacheKey);
|
|
71
78
|
const cachePath = await getCacheFilePath(modelId, configHash, cacheKey);
|
|
72
79
|
return { cacheKey, cachePath };
|
|
73
80
|
}
|
|
@@ -81,6 +88,20 @@ export async function renameCacheFile(oldPath, newPath) {
|
|
|
81
88
|
return false;
|
|
82
89
|
}
|
|
83
90
|
}
|
|
91
|
+
export async function pruneEmptyCacheDirectories(cacheFilePath) {
|
|
92
|
+
const cacheDir = getKVCacheDir();
|
|
93
|
+
const cacheDirPrefix = `${cacheDir}${path.sep}`;
|
|
94
|
+
let currentDirectory = path.dirname(cacheFilePath);
|
|
95
|
+
while (currentDirectory.startsWith(cacheDirPrefix)) {
|
|
96
|
+
try {
|
|
97
|
+
await fsPromises.rmdir(currentDirectory);
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
currentDirectory = path.dirname(currentDirectory);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
84
105
|
// Cache-existence probing (in-memory registry first, fall back to
|
|
85
106
|
// `fs.access`) lives in `KvCacheSession.beginTurn(...)`. Keeping the
|
|
86
107
|
// in-memory `initializedCaches` set private to the session module
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type LoadModelServerParams } from '../../../schemas/index';
|
|
2
|
-
import type { LoadTimingStats } from '../../../profiling/types';
|
|
1
|
+
import { type LoadModelServerParams } from '../../../schemas/index.js';
|
|
2
|
+
import type { LoadTimingStats } from '../../../profiling/types.js';
|
|
3
3
|
export interface LoadModelResult {
|
|
4
4
|
timing?: LoadTimingStats;
|
|
5
5
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { loadModelServerParamsSchema, normalizeModelType } from '../../../schemas/index.js';
|
|
2
2
|
import { nowMs } from '../../../profiling/clock.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { forwardBackendDiagnostics } from '../../../profiling/backend-diagnostics.js';
|
|
4
|
+
import { isModelLoaded, registerModel } from '../../../server/bare/registry/model-registry.js';
|
|
5
|
+
import { startLogBuffering, stopLogBufferingWithTimeout } from '../../../server/bare/registry/logging-stream-registry.js';
|
|
6
|
+
import { detectShardedModel, generateShardFilenames, validateShardedModelCache } from '../../../server/utils/index.js';
|
|
6
7
|
import { PluginNotFoundError, ModelFileNotFoundError, ModelFileNotFoundInDirError, ModelFileLocateFailedError } from '../../../utils/errors-server.js';
|
|
7
|
-
import { getPlugin } from '
|
|
8
|
+
import { getPlugin } from '../../../server/plugins/index.js';
|
|
8
9
|
import { promises as fsPromises } from 'bare-fs';
|
|
9
10
|
import path from 'bare-path';
|
|
10
11
|
import { getServerLogger } from '../../../logging/index.js';
|
|
@@ -72,7 +73,8 @@ export async function loadModel(params, options) {
|
|
|
72
73
|
modelType: modelType,
|
|
73
74
|
name: modelName
|
|
74
75
|
});
|
|
75
|
-
|
|
76
|
+
const loadResult = modelInitializationTimeMs !== undefined ? { timing: { modelInitializationTimeMs } } : {};
|
|
77
|
+
return forwardBackendDiagnostics(loadResult, result);
|
|
76
78
|
}
|
|
77
79
|
finally {
|
|
78
80
|
stopLogBufferingWithTimeout(modelId);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type TranscribeParams, type TranscribeSegment, type TranscribeStats, type TranscribeStreamEvent, type ParakeetStreamingRunConfig } from '../../../schemas/index';
|
|
2
|
-
import { assertMetadataSupported, toTranscribeSegment, type WhisperAddonSegment } from '
|
|
1
|
+
import { type TranscribeParams, type TranscribeSegment, type TranscribeStats, type TranscribeStreamEvent, type ParakeetStreamingRunConfig } from '../../../schemas/index.js';
|
|
2
|
+
import { assertMetadataSupported, toTranscribeSegment, type WhisperAddonSegment } from '../../../server/bare/utils/transcribe-metadata.js';
|
|
3
3
|
export { assertMetadataSupported, toTranscribeSegment, type WhisperAddonSegment };
|
|
4
4
|
type TranscribeReturn = {
|
|
5
5
|
modelExecutionMs: number;
|