@elizaos/plugin-local-inference 2.0.0-beta.1 → 2.0.3-beta.3
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/LICENSE +21 -0
- package/README.md +157 -0
- package/dist/actions/generate-media.d.ts +59 -0
- package/dist/actions/generate-media.d.ts.map +1 -0
- package/dist/actions/identify-speaker.d.ts +23 -0
- package/dist/actions/identify-speaker.d.ts.map +1 -0
- package/dist/actions/transcription-control.d.ts +29 -0
- package/dist/actions/transcription-control.d.ts.map +1 -0
- package/dist/adapters/capacitor-llama/environment.d.ts +12 -0
- package/dist/adapters/capacitor-llama/environment.d.ts.map +1 -0
- package/dist/adapters/capacitor-llama/index.browser.d.ts +9 -0
- package/dist/adapters/capacitor-llama/index.browser.d.ts.map +1 -0
- package/dist/adapters/capacitor-llama/index.d.ts +18 -0
- package/dist/adapters/capacitor-llama/index.d.ts.map +1 -0
- package/dist/adapters/capacitor-llama/loader.d.ts +35 -0
- package/dist/adapters/capacitor-llama/loader.d.ts.map +1 -0
- package/dist/adapters/capacitor-llama/native-voice-capture.d.ts +70 -0
- package/dist/adapters/capacitor-llama/native-voice-capture.d.ts.map +1 -0
- package/dist/adapters/capacitor-llama/structured-output.d.ts +62 -0
- package/dist/adapters/capacitor-llama/structured-output.d.ts.map +1 -0
- package/dist/adapters/capacitor-llama/text-streaming.d.ts +24 -0
- package/dist/adapters/capacitor-llama/text-streaming.d.ts.map +1 -0
- package/dist/adapters/capacitor-llama/types.d.ts +338 -0
- package/dist/adapters/capacitor-llama/types.d.ts.map +1 -0
- package/dist/adapters/capacitor-llama/voice-turn.d.ts +86 -0
- package/dist/adapters/capacitor-llama/voice-turn.d.ts.map +1 -0
- package/dist/backends/apple-foundation.d.ts +56 -0
- package/dist/backends/apple-foundation.d.ts.map +1 -0
- package/dist/index.d.ts +8 -37
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38979 -430
- package/dist/index.js.map +217 -0
- package/dist/local-inference-routes.d.ts +47 -0
- package/dist/local-inference-routes.d.ts.map +1 -0
- package/dist/provider.d.ts +21 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/routes/compat-helpers.d.ts +18 -0
- package/dist/routes/compat-helpers.d.ts.map +1 -0
- package/dist/routes/family-member-route.d.ts +62 -0
- package/dist/routes/family-member-route.d.ts.map +1 -0
- package/dist/routes/index.d.ts +20 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +42040 -0
- package/dist/routes/index.js.map +236 -0
- package/dist/routes/live-diarization-route.d.ts +33 -0
- package/dist/routes/live-diarization-route.d.ts.map +1 -0
- package/dist/routes/local-inference-asr-route.d.ts +4 -0
- package/dist/routes/local-inference-asr-route.d.ts.map +1 -0
- package/dist/routes/local-inference-asr-transcribe.d.ts +20 -0
- package/dist/routes/local-inference-asr-transcribe.d.ts.map +1 -0
- package/dist/routes/local-inference-compat-routes.d.ts +16 -0
- package/dist/routes/local-inference-compat-routes.d.ts.map +1 -0
- package/dist/routes/local-inference-tts-route.d.ts +7 -0
- package/dist/routes/local-inference-tts-route.d.ts.map +1 -0
- package/dist/routes/native-pcm-turn-route.d.ts +3 -0
- package/dist/routes/native-pcm-turn-route.d.ts.map +1 -0
- package/dist/routes/transcript-audio-store.d.ts +15 -0
- package/dist/routes/transcript-audio-store.d.ts.map +1 -0
- package/dist/routes/transcripts-routes.d.ts +44 -0
- package/dist/routes/transcripts-routes.d.ts.map +1 -0
- package/dist/routes/voice-first-run-routes.d.ts +62 -0
- package/dist/routes/voice-first-run-routes.d.ts.map +1 -0
- package/dist/routes/voice-models-routes.d.ts +62 -0
- package/dist/routes/voice-models-routes.d.ts.map +1 -0
- package/dist/routes/voice-profile-plugin-routes.d.ts +19 -0
- package/dist/routes/voice-profile-plugin-routes.d.ts.map +1 -0
- package/dist/routes/voice-profiles-management-routes.d.ts +52 -0
- package/dist/routes/voice-profiles-management-routes.d.ts.map +1 -0
- package/dist/routes/voice-speaker-profile-routes.d.ts +57 -0
- package/dist/routes/voice-speaker-profile-routes.d.ts.map +1 -0
- package/dist/runtime/embedding-manager-support.d.ts +77 -0
- package/dist/runtime/embedding-manager-support.d.ts.map +1 -0
- package/dist/runtime/embedding-presets.d.ts +16 -0
- package/dist/runtime/embedding-presets.d.ts.map +1 -0
- package/dist/runtime/embedding-warmup-policy.d.ts +14 -0
- package/dist/runtime/embedding-warmup-policy.d.ts.map +1 -0
- package/dist/runtime/ensure-local-inference-handler.d.ts +70 -0
- package/dist/runtime/ensure-local-inference-handler.d.ts.map +1 -0
- package/dist/runtime/index.d.ts +15 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +38768 -0
- package/dist/runtime/index.js.map +217 -0
- package/dist/runtime/mobile-local-inference-gate.d.ts +63 -0
- package/dist/runtime/mobile-local-inference-gate.d.ts.map +1 -0
- package/dist/runtime/voice-entity-binding.d.ts +113 -0
- package/dist/runtime/voice-entity-binding.d.ts.map +1 -0
- package/dist/services/active-model.d.ts +310 -0
- package/dist/services/active-model.d.ts.map +1 -0
- package/dist/services/asr-provenance.d.ts +5 -0
- package/dist/services/asr-provenance.d.ts.map +1 -0
- package/dist/services/assignments.d.ts +84 -0
- package/dist/services/assignments.d.ts.map +1 -0
- package/dist/services/backend-selector.d.ts +55 -0
- package/dist/services/backend-selector.d.ts.map +1 -0
- package/dist/services/backend.d.ts +440 -0
- package/dist/services/backend.d.ts.map +1 -0
- package/dist/services/bionic-host-loader.d.ts +67 -0
- package/dist/services/bionic-host-loader.d.ts.map +1 -0
- package/dist/services/bundled-models.d.ts +34 -0
- package/dist/services/bundled-models.d.ts.map +1 -0
- package/dist/services/cache-bridge.d.ts +206 -0
- package/dist/services/cache-bridge.d.ts.map +1 -0
- package/dist/services/catalog.d.ts +10 -0
- package/dist/services/catalog.d.ts.map +1 -0
- package/dist/services/checkpoint-client.d.ts +109 -0
- package/dist/services/checkpoint-client.d.ts.map +1 -0
- package/dist/services/checkpoint-manager.d.ts +217 -0
- package/dist/services/checkpoint-manager.d.ts.map +1 -0
- package/dist/services/cloud-fallback.d.ts +102 -0
- package/dist/services/cloud-fallback.d.ts.map +1 -0
- package/dist/services/context-fit.d.ts +36 -0
- package/dist/services/context-fit.d.ts.map +1 -0
- package/dist/services/conversation-registry.d.ts +142 -0
- package/dist/services/conversation-registry.d.ts.map +1 -0
- package/dist/services/desktop-fused-ffi-backend-runtime.d.ts +111 -0
- package/dist/services/desktop-fused-ffi-backend-runtime.d.ts.map +1 -0
- package/dist/services/device-bridge.d.ts +188 -0
- package/dist/services/device-bridge.d.ts.map +1 -0
- package/dist/services/device-resource-metrics.d.ts +149 -0
- package/dist/services/device-resource-metrics.d.ts.map +1 -0
- package/dist/services/device-tier.d.ts +133 -0
- package/dist/services/device-tier.d.ts.map +1 -0
- package/dist/services/downloader.d.ts +94 -0
- package/dist/services/downloader.d.ts.map +1 -0
- package/dist/services/engine.d.ts +579 -0
- package/dist/services/engine.d.ts.map +1 -0
- package/dist/services/ensure-local-artifacts.d.ts +82 -0
- package/dist/services/ensure-local-artifacts.d.ts.map +1 -0
- package/dist/services/external-scanner.d.ts +17 -0
- package/dist/services/external-scanner.d.ts.map +1 -0
- package/dist/services/ffi-llm-mock.d.ts +90 -0
- package/dist/services/ffi-llm-mock.d.ts.map +1 -0
- package/dist/services/ffi-llm-streaming-abi.d.ts +318 -0
- package/dist/services/ffi-llm-streaming-abi.d.ts.map +1 -0
- package/dist/services/ffi-streaming-backend.d.ts +201 -0
- package/dist/services/ffi-streaming-backend.d.ts.map +1 -0
- package/dist/services/ffi-streaming-runner.d.ts +146 -0
- package/dist/services/ffi-streaming-runner.d.ts.map +1 -0
- package/dist/services/gpu-autotune.d.ts +150 -0
- package/dist/services/gpu-autotune.d.ts.map +1 -0
- package/dist/services/gpu-detect.d.ts +56 -0
- package/dist/services/gpu-detect.d.ts.map +1 -0
- package/dist/services/handler-registry.d.ts +72 -0
- package/dist/services/handler-registry.d.ts.map +1 -0
- package/dist/services/hardware.d.ts +63 -0
- package/dist/services/hardware.d.ts.map +1 -0
- package/dist/services/image-description-runtime.d.ts +14 -0
- package/dist/services/image-description-runtime.d.ts.map +1 -0
- package/dist/services/imagegen/aosp-unavailable.d.ts +134 -0
- package/dist/services/imagegen/aosp-unavailable.d.ts.map +1 -0
- package/dist/services/imagegen/backend-selector.d.ts +118 -0
- package/dist/services/imagegen/backend-selector.d.ts.map +1 -0
- package/dist/services/imagegen/coreml-unavailable.d.ts +105 -0
- package/dist/services/imagegen/coreml-unavailable.d.ts.map +1 -0
- package/dist/services/imagegen/errors.d.ts +16 -0
- package/dist/services/imagegen/errors.d.ts.map +1 -0
- package/dist/services/imagegen/index.d.ts +58 -0
- package/dist/services/imagegen/index.d.ts.map +1 -0
- package/dist/services/imagegen/mflux.d.ts +74 -0
- package/dist/services/imagegen/mflux.d.ts.map +1 -0
- package/dist/services/imagegen/sd-cpp.d.ts +181 -0
- package/dist/services/imagegen/sd-cpp.d.ts.map +1 -0
- package/dist/services/imagegen/tensorrt-unavailable.d.ts +83 -0
- package/dist/services/imagegen/tensorrt-unavailable.d.ts.map +1 -0
- package/dist/services/imagegen/types.d.ts +181 -0
- package/dist/services/imagegen/types.d.ts.map +1 -0
- package/dist/services/index.d.ts +31 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +39453 -0
- package/dist/services/index.js.map +227 -0
- package/dist/services/inference-capabilities.d.ts +132 -0
- package/dist/services/inference-capabilities.d.ts.map +1 -0
- package/dist/services/inference-telemetry.d.ts +59 -0
- package/dist/services/inference-telemetry.d.ts.map +1 -0
- package/dist/services/ios-llama-streaming.d.ts +119 -0
- package/dist/services/ios-llama-streaming.d.ts.map +1 -0
- package/dist/services/kv-spill.d.ts +189 -0
- package/dist/services/kv-spill.d.ts.map +1 -0
- package/dist/services/latency-trace.d.ts +346 -0
- package/dist/services/latency-trace.d.ts.map +1 -0
- package/dist/services/lib-target.d.ts +55 -0
- package/dist/services/lib-target.d.ts.map +1 -0
- package/dist/services/live-signals.d.ts +86 -0
- package/dist/services/live-signals.d.ts.map +1 -0
- package/dist/services/llama-server-metrics.d.ts +114 -0
- package/dist/services/llama-server-metrics.d.ts.map +1 -0
- package/dist/services/llm-streaming-binding.d.ts +96 -0
- package/dist/services/llm-streaming-binding.d.ts.map +1 -0
- package/dist/services/load-args.d.ts +82 -0
- package/dist/services/load-args.d.ts.map +1 -0
- package/dist/services/manifest/index.d.ts +4 -0
- package/dist/services/manifest/index.d.ts.map +1 -0
- package/dist/services/manifest/schema.d.ts +903 -0
- package/dist/services/manifest/schema.d.ts.map +1 -0
- package/dist/services/manifest/types.d.ts +32 -0
- package/dist/services/manifest/types.d.ts.map +1 -0
- package/dist/services/manifest/validator.d.ts +66 -0
- package/dist/services/manifest/validator.d.ts.map +1 -0
- package/dist/services/memory-arbiter.d.ts +348 -0
- package/dist/services/memory-arbiter.d.ts.map +1 -0
- package/dist/services/memory-benchmark.d.ts +76 -0
- package/dist/services/memory-benchmark.d.ts.map +1 -0
- package/dist/services/memory-monitor.d.ts +128 -0
- package/dist/services/memory-monitor.d.ts.map +1 -0
- package/dist/services/memory-pressure.d.ts +130 -0
- package/dist/services/memory-pressure.d.ts.map +1 -0
- package/dist/services/mtp-doctor.d.ts +13 -0
- package/dist/services/mtp-doctor.d.ts.map +1 -0
- package/dist/services/network-policy.d.ts +127 -0
- package/dist/services/network-policy.d.ts.map +1 -0
- package/dist/services/paths.d.ts +6 -0
- package/dist/services/paths.d.ts.map +1 -0
- package/dist/services/planner-skeleton.d.ts +124 -0
- package/dist/services/planner-skeleton.d.ts.map +1 -0
- package/dist/services/providers.d.ts +38 -0
- package/dist/services/providers.d.ts.map +1 -0
- package/dist/services/ram-budget.d.ts +110 -0
- package/dist/services/ram-budget.d.ts.map +1 -0
- package/dist/services/readiness.d.ts +9 -0
- package/dist/services/readiness.d.ts.map +1 -0
- package/dist/services/recommendation.d.ts +111 -0
- package/dist/services/recommendation.d.ts.map +1 -0
- package/dist/services/registry.d.ts +33 -0
- package/dist/services/registry.d.ts.map +1 -0
- package/dist/services/router-handler.d.ts +92 -0
- package/dist/services/router-handler.d.ts.map +1 -0
- package/dist/services/routing-policy.d.ts +92 -0
- package/dist/services/routing-policy.d.ts.map +1 -0
- package/dist/services/routing-preferences.d.ts +8 -0
- package/dist/services/routing-preferences.d.ts.map +1 -0
- package/dist/services/runtime-target.d.ts +98 -0
- package/dist/services/runtime-target.d.ts.map +1 -0
- package/dist/services/service.d.ts +128 -0
- package/dist/services/service.d.ts.map +1 -0
- package/dist/services/session-pool.d.ts +72 -0
- package/dist/services/session-pool.d.ts.map +1 -0
- package/dist/services/structured-output/deterministic-repair.d.ts +23 -0
- package/dist/services/structured-output/deterministic-repair.d.ts.map +1 -0
- package/dist/services/structured-output/index.d.ts +2 -0
- package/dist/services/structured-output/index.d.ts.map +1 -0
- package/dist/services/structured-output.d.ts +311 -0
- package/dist/services/structured-output.d.ts.map +1 -0
- package/dist/services/system-memory.d.ts +33 -0
- package/dist/services/system-memory.d.ts.map +1 -0
- package/dist/services/types.d.ts +19 -0
- package/dist/services/types.d.ts.map +1 -0
- package/dist/services/verify-on-device.d.ts +34 -0
- package/dist/services/verify-on-device.d.ts.map +1 -0
- package/dist/services/verify.d.ts +8 -0
- package/dist/services/verify.d.ts.map +1 -0
- package/dist/services/vision/aosp-unavailable.d.ts +115 -0
- package/dist/services/vision/aosp-unavailable.d.ts.map +1 -0
- package/dist/services/vision/capacitor-llama.d.ts +99 -0
- package/dist/services/vision/capacitor-llama.d.ts.map +1 -0
- package/dist/services/vision/cloud-fallback.d.ts +47 -0
- package/dist/services/vision/cloud-fallback.d.ts.map +1 -0
- package/dist/services/vision/hash.d.ts +71 -0
- package/dist/services/vision/hash.d.ts.map +1 -0
- package/dist/services/vision/index.d.ts +95 -0
- package/dist/services/vision/index.d.ts.map +1 -0
- package/dist/services/vision/llama-server.d.ts +73 -0
- package/dist/services/vision/llama-server.d.ts.map +1 -0
- package/dist/services/vision/types.d.ts +162 -0
- package/dist/services/vision/types.d.ts.map +1 -0
- package/dist/services/vision/vast-fallback.d.ts +18 -0
- package/dist/services/vision/vast-fallback.d.ts.map +1 -0
- package/dist/services/vision-embedding-cache.d.ts +98 -0
- package/dist/services/vision-embedding-cache.d.ts.map +1 -0
- package/dist/services/voice/__test-helpers__/fake-ffi.d.ts +27 -0
- package/dist/services/voice/__test-helpers__/fake-ffi.d.ts.map +1 -0
- package/dist/services/voice/__test-helpers__/synthetic-speech.d.ts +66 -0
- package/dist/services/voice/__test-helpers__/synthetic-speech.d.ts.map +1 -0
- package/dist/services/voice/acoustic-speaker-attribution.d.ts +61 -0
- package/dist/services/voice/acoustic-speaker-attribution.d.ts.map +1 -0
- package/dist/services/voice/audio-frame-consumer.d.ts +294 -0
- package/dist/services/voice/audio-frame-consumer.d.ts.map +1 -0
- package/dist/services/voice/barge-in.d.ts +112 -0
- package/dist/services/voice/barge-in.d.ts.map +1 -0
- package/dist/services/voice/cancellation-coordinator.d.ts +127 -0
- package/dist/services/voice/cancellation-coordinator.d.ts.map +1 -0
- package/dist/services/voice/checkpoint-manager.d.ts +199 -0
- package/dist/services/voice/checkpoint-manager.d.ts.map +1 -0
- package/dist/services/voice/checkpoint-policy.d.ts +178 -0
- package/dist/services/voice/checkpoint-policy.d.ts.map +1 -0
- package/dist/services/voice/corpus-augment.d.ts +111 -0
- package/dist/services/voice/corpus-augment.d.ts.map +1 -0
- package/dist/services/voice/corpus-generator.d.ts +134 -0
- package/dist/services/voice/corpus-generator.d.ts.map +1 -0
- package/dist/services/voice/diarization-error-rate.d.ts +40 -0
- package/dist/services/voice/diarization-error-rate.d.ts.map +1 -0
- package/dist/services/voice/e2e-harness.d.ts +297 -0
- package/dist/services/voice/e2e-harness.d.ts.map +1 -0
- package/dist/services/voice/eager-context-builder.d.ts +170 -0
- package/dist/services/voice/eager-context-builder.d.ts.map +1 -0
- package/dist/services/voice/echo-delay.d.ts +67 -0
- package/dist/services/voice/echo-delay.d.ts.map +1 -0
- package/dist/services/voice/echo-metrics.d.ts +7 -0
- package/dist/services/voice/echo-metrics.d.ts.map +1 -0
- package/dist/services/voice/echo-reference-buffer.d.ts +65 -0
- package/dist/services/voice/echo-reference-buffer.d.ts.map +1 -0
- package/dist/services/voice/eliza1-eot-scorer.d.ts +124 -0
- package/dist/services/voice/eliza1-eot-scorer.d.ts.map +1 -0
- package/dist/services/voice/embedding-server.d.ts +37 -0
- package/dist/services/voice/embedding-server.d.ts.map +1 -0
- package/dist/services/voice/embedding.d.ts +132 -0
- package/dist/services/voice/embedding.d.ts.map +1 -0
- package/dist/services/voice/emotion-attribution.d.ts +68 -0
- package/dist/services/voice/emotion-attribution.d.ts.map +1 -0
- package/dist/services/voice/engine-bridge.d.ts +762 -0
- package/dist/services/voice/engine-bridge.d.ts.map +1 -0
- package/dist/services/voice/eot-classifier-ggml.d.ts +179 -0
- package/dist/services/voice/eot-classifier-ggml.d.ts.map +1 -0
- package/dist/services/voice/eot-classifier.d.ts +211 -0
- package/dist/services/voice/eot-classifier.d.ts.map +1 -0
- package/dist/services/voice/errors.d.ts +20 -0
- package/dist/services/voice/errors.d.ts.map +1 -0
- package/dist/services/voice/expressive-tags.d.ts +158 -0
- package/dist/services/voice/expressive-tags.d.ts.map +1 -0
- package/dist/services/voice/ffi-bindings.d.ts +696 -0
- package/dist/services/voice/ffi-bindings.d.ts.map +1 -0
- package/dist/services/voice/first-line-cache.d.ts +181 -0
- package/dist/services/voice/first-line-cache.d.ts.map +1 -0
- package/dist/services/voice/fused-eot-scorer.d.ts +51 -0
- package/dist/services/voice/fused-eot-scorer.d.ts.map +1 -0
- package/dist/services/voice/index.d.ts +96 -0
- package/dist/services/voice/index.d.ts.map +1 -0
- package/dist/services/voice/kokoro/index.d.ts +24 -0
- package/dist/services/voice/kokoro/index.d.ts.map +1 -0
- package/dist/services/voice/kokoro/kokoro-backend.d.ts +87 -0
- package/dist/services/voice/kokoro/kokoro-backend.d.ts.map +1 -0
- package/dist/services/voice/kokoro/kokoro-engine-discovery.d.ts +58 -0
- package/dist/services/voice/kokoro/kokoro-engine-discovery.d.ts.map +1 -0
- package/dist/services/voice/kokoro/kokoro-ffi-runtime.d.ts +75 -0
- package/dist/services/voice/kokoro/kokoro-ffi-runtime.d.ts.map +1 -0
- package/dist/services/voice/kokoro/kokoro-runtime.d.ts +100 -0
- package/dist/services/voice/kokoro/kokoro-runtime.d.ts.map +1 -0
- package/dist/services/voice/kokoro/phoneme-stream.d.ts +51 -0
- package/dist/services/voice/kokoro/phoneme-stream.d.ts.map +1 -0
- package/dist/services/voice/kokoro/phonemizer.d.ts +50 -0
- package/dist/services/voice/kokoro/phonemizer.d.ts.map +1 -0
- package/dist/services/voice/kokoro/pick-runtime.d.ts +61 -0
- package/dist/services/voice/kokoro/pick-runtime.d.ts.map +1 -0
- package/dist/services/voice/kokoro/runtime-selection.d.ts +31 -0
- package/dist/services/voice/kokoro/runtime-selection.d.ts.map +1 -0
- package/dist/services/voice/kokoro/types.d.ts +82 -0
- package/dist/services/voice/kokoro/types.d.ts.map +1 -0
- package/dist/services/voice/kokoro/voice-presets.d.ts +23 -0
- package/dist/services/voice/kokoro/voice-presets.d.ts.map +1 -0
- package/dist/services/voice/kokoro/voices.d.ts +30 -0
- package/dist/services/voice/kokoro/voices.d.ts.map +1 -0
- package/dist/services/voice/lifecycle.d.ts +135 -0
- package/dist/services/voice/lifecycle.d.ts.map +1 -0
- package/dist/services/voice/live-diarization-session.d.ts +196 -0
- package/dist/services/voice/live-diarization-session.d.ts.map +1 -0
- package/dist/services/voice/metric-math.d.ts +10 -0
- package/dist/services/voice/metric-math.d.ts.map +1 -0
- package/dist/services/voice/mic-source.d.ts +136 -0
- package/dist/services/voice/mic-source.d.ts.map +1 -0
- package/dist/services/voice/nlms-echo-canceller.d.ts +137 -0
- package/dist/services/voice/nlms-echo-canceller.d.ts.map +1 -0
- package/dist/services/voice/optimistic-policy.d.ts +109 -0
- package/dist/services/voice/optimistic-policy.d.ts.map +1 -0
- package/dist/services/voice/optimistic-rollback.d.ts +151 -0
- package/dist/services/voice/optimistic-rollback.d.ts.map +1 -0
- package/dist/services/voice/partial-stabilizer.d.ts +73 -0
- package/dist/services/voice/partial-stabilizer.d.ts.map +1 -0
- package/dist/services/voice/phoneme-tokenizer.d.ts +49 -0
- package/dist/services/voice/phoneme-tokenizer.d.ts.map +1 -0
- package/dist/services/voice/phrase-cache.d.ts +76 -0
- package/dist/services/voice/phrase-cache.d.ts.map +1 -0
- package/dist/services/voice/phrase-chunker.d.ts +62 -0
- package/dist/services/voice/phrase-chunker.d.ts.map +1 -0
- package/dist/services/voice/pipeline-impls.d.ts +151 -0
- package/dist/services/voice/pipeline-impls.d.ts.map +1 -0
- package/dist/services/voice/pipeline.d.ts +216 -0
- package/dist/services/voice/pipeline.d.ts.map +1 -0
- package/dist/services/voice/prefill-client.d.ts +123 -0
- package/dist/services/voice/prefill-client.d.ts.map +1 -0
- package/dist/services/voice/prefix-preserving-queue.d.ts +113 -0
- package/dist/services/voice/prefix-preserving-queue.d.ts.map +1 -0
- package/dist/services/voice/profile-store.d.ts +248 -0
- package/dist/services/voice/profile-store.d.ts.map +1 -0
- package/dist/services/voice/ring-buffer.d.ts +40 -0
- package/dist/services/voice/ring-buffer.d.ts.map +1 -0
- package/dist/services/voice/rollback-queue.d.ts +24 -0
- package/dist/services/voice/rollback-queue.d.ts.map +1 -0
- package/dist/services/voice/samantha-preset-placeholder.d.ts +67 -0
- package/dist/services/voice/samantha-preset-placeholder.d.ts.map +1 -0
- package/dist/services/voice/samantha-preset-regenerator.d.ts +87 -0
- package/dist/services/voice/samantha-preset-regenerator.d.ts.map +1 -0
- package/dist/services/voice/scheduler.d.ts +146 -0
- package/dist/services/voice/scheduler.d.ts.map +1 -0
- package/dist/services/voice/self-voice-imprint.d.ts +33 -0
- package/dist/services/voice/self-voice-imprint.d.ts.map +1 -0
- package/dist/services/voice/shared-resources.d.ts +204 -0
- package/dist/services/voice/shared-resources.d.ts.map +1 -0
- package/dist/services/voice/speaker/attribution-pipeline.d.ts +74 -0
- package/dist/services/voice/speaker/attribution-pipeline.d.ts.map +1 -0
- package/dist/services/voice/speaker/diarizer-fused.d.ts +59 -0
- package/dist/services/voice/speaker/diarizer-fused.d.ts.map +1 -0
- package/dist/services/voice/speaker/diarizer.d.ts +75 -0
- package/dist/services/voice/speaker/diarizer.d.ts.map +1 -0
- package/dist/services/voice/speaker/encoder-fused.d.ts +60 -0
- package/dist/services/voice/speaker/encoder-fused.d.ts.map +1 -0
- package/dist/services/voice/speaker/encoder-ggml.d.ts +33 -0
- package/dist/services/voice/speaker/encoder-ggml.d.ts.map +1 -0
- package/dist/services/voice/speaker/encoder.d.ts +37 -0
- package/dist/services/voice/speaker/encoder.d.ts.map +1 -0
- package/dist/services/voice/speaker-imprint.d.ts +83 -0
- package/dist/services/voice/speaker-imprint.d.ts.map +1 -0
- package/dist/services/voice/speaker-preset-cache.d.ts +77 -0
- package/dist/services/voice/speaker-preset-cache.d.ts.map +1 -0
- package/dist/services/voice/streaming-asr/streaming-pipeline-adapter.d.ts +160 -0
- package/dist/services/voice/streaming-asr/streaming-pipeline-adapter.d.ts.map +1 -0
- package/dist/services/voice/system-audio-sink.d.ts +73 -0
- package/dist/services/voice/system-audio-sink.d.ts.map +1 -0
- package/dist/services/voice/transcriber.d.ts +244 -0
- package/dist/services/voice/transcriber.d.ts.map +1 -0
- package/dist/services/voice/transcript-knowledge.d.ts +37 -0
- package/dist/services/voice/transcript-knowledge.d.ts.map +1 -0
- package/dist/services/voice/transcript-service.d.ts +60 -0
- package/dist/services/voice/transcript-service.d.ts.map +1 -0
- package/dist/services/voice/transcript-store.d.ts +64 -0
- package/dist/services/voice/transcript-store.d.ts.map +1 -0
- package/dist/services/voice/turn-controller.d.ts +183 -0
- package/dist/services/voice/turn-controller.d.ts.map +1 -0
- package/dist/services/voice/types.d.ts +643 -0
- package/dist/services/voice/types.d.ts.map +1 -0
- package/dist/services/voice/vad.d.ts +283 -0
- package/dist/services/voice/vad.d.ts.map +1 -0
- package/dist/services/voice/voice-budget.d.ts +241 -0
- package/dist/services/voice/voice-budget.d.ts.map +1 -0
- package/dist/services/voice/voice-emotion-classifier.d.ts +95 -0
- package/dist/services/voice/voice-emotion-classifier.d.ts.map +1 -0
- package/dist/services/voice/voice-preload-predictor.d.ts +76 -0
- package/dist/services/voice/voice-preload-predictor.d.ts.map +1 -0
- package/dist/services/voice/voice-preset-format.d.ts +158 -0
- package/dist/services/voice/voice-preset-format.d.ts.map +1 -0
- package/dist/services/voice/voice-profile-artifact.d.ts +116 -0
- package/dist/services/voice/voice-profile-artifact.d.ts.map +1 -0
- package/dist/services/voice/voice-profile-routes.d.ts +83 -0
- package/dist/services/voice/voice-profile-routes.d.ts.map +1 -0
- package/dist/services/voice/voice-scenario.d.ts +131 -0
- package/dist/services/voice/voice-scenario.d.ts.map +1 -0
- package/dist/services/voice/voice-state-machine.d.ts +364 -0
- package/dist/services/voice/voice-state-machine.d.ts.map +1 -0
- package/dist/services/voice/voice-workbench-report.d.ts +117 -0
- package/dist/services/voice/voice-workbench-report.d.ts.map +1 -0
- package/dist/services/voice/wake-word-ggml.d.ts +100 -0
- package/dist/services/voice/wake-word-ggml.d.ts.map +1 -0
- package/dist/services/voice/wake-word.d.ts +255 -0
- package/dist/services/voice/wake-word.d.ts.map +1 -0
- package/dist/services/voice/wav-codec.d.ts +11 -0
- package/dist/services/voice/wav-codec.d.ts.map +1 -0
- package/dist/services/voice/workbench-entrypoint.d.ts +42 -0
- package/dist/services/voice/workbench-entrypoint.d.ts.map +1 -0
- package/dist/services/voice/workbench-headless-runner.d.ts +102 -0
- package/dist/services/voice/workbench-headless-runner.d.ts.map +1 -0
- package/dist/services/voice/workbench-logic-services.d.ts +36 -0
- package/dist/services/voice/workbench-logic-services.d.ts.map +1 -0
- package/dist/services/voice/workbench-real-services.d.ts +17 -0
- package/dist/services/voice/workbench-real-services.d.ts.map +1 -0
- package/dist/services/voice/workbench-scenarios.d.ts +24 -0
- package/dist/services/voice/workbench-scenarios.d.ts.map +1 -0
- package/dist/services/voice/wrap-with-first-line-cache.d.ts +70 -0
- package/dist/services/voice/wrap-with-first-line-cache.d.ts.map +1 -0
- package/dist/services/voice-model-updater.d.ts +240 -0
- package/dist/services/voice-model-updater.d.ts.map +1 -0
- package/dist/services/voice-prewarm.d.ts +3 -0
- package/dist/services/voice-prewarm.d.ts.map +1 -0
- package/dist/voice-workbench.d.ts +18 -0
- package/dist/voice-workbench.d.ts.map +1 -0
- package/dist/voice-workbench.js +5259 -0
- package/dist/voice-workbench.js.map +34 -0
- package/package.json +101 -15
- package/registry-entry.json +137 -0
- package/src/actions/generate-media.ts +647 -0
- package/src/actions/identify-speaker.ts +171 -0
- package/src/actions/transcription-control.test.ts +100 -0
- package/src/actions/transcription-control.ts +127 -0
- package/src/adapters/capacitor-llama/__tests__/compat-behavior.test.ts +218 -0
- package/src/adapters/capacitor-llama/__tests__/index.test.ts +68 -0
- package/src/adapters/capacitor-llama/__tests__/structured-output.test.ts +215 -0
- package/src/adapters/capacitor-llama/__tests__/text-streaming.test.ts +174 -0
- package/src/adapters/capacitor-llama/__tests__/voice-turn.test.ts +293 -0
- package/src/adapters/capacitor-llama/environment.ts +71 -0
- package/src/adapters/capacitor-llama/index.browser.ts +83 -0
- package/src/adapters/capacitor-llama/index.ts +831 -0
- package/src/adapters/capacitor-llama/loader.ts +109 -0
- package/src/adapters/capacitor-llama/native-voice-capture.ts +140 -0
- package/src/adapters/capacitor-llama/structured-output.ts +165 -0
- package/src/adapters/capacitor-llama/text-streaming.ts +227 -0
- package/src/adapters/capacitor-llama/types.ts +374 -0
- package/src/adapters/capacitor-llama/voice-turn.ts +178 -0
- package/src/backends/apple-foundation.ts +127 -0
- package/src/index.ts +62 -0
- package/src/local-inference-routes.test.ts +390 -0
- package/src/local-inference-routes.ts +1625 -0
- package/src/provider.ts +1111 -0
- package/src/routes/compat-helpers.ts +275 -0
- package/src/routes/family-member-route.ts +353 -0
- package/src/routes/index.ts +61 -0
- package/src/routes/live-diarization-route.test.ts +347 -0
- package/src/routes/live-diarization-route.ts +198 -0
- package/src/routes/local-inference-asr-route.test.ts +246 -0
- package/src/routes/local-inference-asr-route.ts +166 -0
- package/src/routes/local-inference-asr-transcribe.test.ts +118 -0
- package/src/routes/local-inference-asr-transcribe.ts +97 -0
- package/src/routes/local-inference-compat-routes.test.ts +485 -0
- package/src/routes/local-inference-compat-routes.ts +775 -0
- package/src/routes/local-inference-tts-route.test.ts +179 -0
- package/src/routes/local-inference-tts-route.ts +230 -0
- package/src/routes/native-pcm-turn-route.test.ts +136 -0
- package/src/routes/native-pcm-turn-route.ts +121 -0
- package/src/routes/transcript-audio-store.ts +27 -0
- package/src/routes/transcripts-routes.test.ts +195 -0
- package/src/routes/transcripts-routes.ts +191 -0
- package/src/routes/voice-first-run-routes.ts +524 -0
- package/src/routes/voice-models-routes.ts +554 -0
- package/src/routes/voice-profile-plugin-routes.ts +138 -0
- package/src/routes/voice-profiles-management-routes.ts +476 -0
- package/src/routes/voice-speaker-profile-routes.ts +199 -0
- package/src/runtime/aosp-llama-loader-selection.test.ts +80 -0
- package/src/runtime/bionic-wire-encoding.test.ts +147 -0
- package/src/runtime/capacitor-llama.d.ts +25 -0
- package/src/runtime/embedding-manager-support.ts +497 -0
- package/src/runtime/embedding-presets.ts +81 -0
- package/src/runtime/embedding-warmup-policy.test.ts +53 -0
- package/src/runtime/embedding-warmup-policy.ts +48 -0
- package/src/runtime/ensure-local-inference-handler.test.ts +726 -0
- package/src/runtime/ensure-local-inference-handler.ts +1640 -0
- package/src/runtime/index.ts +36 -0
- package/src/runtime/mobile-local-inference-gate.test.ts +152 -0
- package/src/runtime/mobile-local-inference-gate.ts +99 -0
- package/src/runtime/voice-entity-binding.transcript.test.ts +98 -0
- package/src/runtime/voice-entity-binding.ts +368 -0
- package/src/runtime/voice-speaker-entity-contract.test.ts +149 -0
- package/src/services/README.md +71 -0
- package/src/services/__tests__/backend-selector.precedence.test.ts +333 -0
- package/src/services/__tests__/backend-selector.test.ts +101 -0
- package/src/services/__tests__/checkpoint-manager.test.ts +376 -0
- package/src/services/__tests__/gpu-autotune.test.ts +400 -0
- package/src/services/__tests__/llm-streaming-binding.test.ts +85 -0
- package/src/services/__tests__/planner-grammar.test.ts +372 -0
- package/src/services/__tests__/runtime-target.test.ts +176 -0
- package/src/services/active-model-context-fit.test.ts +125 -0
- package/src/services/active-model-switch-rollback.test.ts +183 -0
- package/src/services/active-model.ts +1416 -0
- package/src/services/asr-provenance.ts +68 -0
- package/src/services/assignment-validation.test.ts +118 -0
- package/src/services/assignments.test.ts +106 -0
- package/src/services/assignments.ts +278 -0
- package/src/services/backend-selector.ts +95 -0
- package/src/services/backend.test.ts +84 -0
- package/src/services/backend.ts +791 -0
- package/src/services/bionic-host-loader.test.ts +226 -0
- package/src/services/bionic-host-loader.ts +252 -0
- package/src/services/bundled-models.ts +129 -0
- package/src/services/cache-bridge.test.ts +516 -0
- package/src/services/cache-bridge.ts +423 -0
- package/src/services/catalog.test.ts +259 -0
- package/src/services/catalog.ts +33 -0
- package/src/services/checkpoint-client.ts +258 -0
- package/src/services/checkpoint-manager.ts +474 -0
- package/src/services/cloud-fallback.ts +230 -0
- package/src/services/context-fit.test.ts +121 -0
- package/src/services/context-fit.ts +113 -0
- package/src/services/conversation-registry.test.ts +235 -0
- package/src/services/conversation-registry.ts +264 -0
- package/src/services/desktop-fused-ffi-backend-runtime.ts +431 -0
- package/src/services/device-bridge.ts +1237 -0
- package/src/services/device-resource-metrics.test.ts +98 -0
- package/src/services/device-resource-metrics.ts +346 -0
- package/src/services/device-tier.test.ts +458 -0
- package/src/services/device-tier.ts +502 -0
- package/src/services/downloader.test.ts +888 -0
- package/src/services/downloader.ts +1039 -0
- package/src/services/engine-direct-bundle.test.ts +90 -0
- package/src/services/engine-streaming.test.ts +80 -0
- package/src/services/engine.ts +2096 -0
- package/src/services/ensure-local-artifacts.integration.test.ts +273 -0
- package/src/services/ensure-local-artifacts.test.ts +368 -0
- package/src/services/ensure-local-artifacts.ts +351 -0
- package/src/services/external-scanner.ts +312 -0
- package/src/services/ffi-llm-mock.ts +354 -0
- package/src/services/ffi-llm-streaming-abi.ts +445 -0
- package/src/services/ffi-streaming-backend.ts +418 -0
- package/src/services/ffi-streaming-runner.test.ts +220 -0
- package/src/services/ffi-streaming-runner.ts +407 -0
- package/src/services/ffi-unload-ordering.test.ts +166 -0
- package/src/services/fused-eliza1-no-regression.test.ts +144 -0
- package/src/services/gpu-autotune.ts +534 -0
- package/src/services/gpu-detect.ts +139 -0
- package/src/services/handler-registry.ts +240 -0
- package/src/services/hardware.test.ts +236 -0
- package/src/services/hardware.ts +438 -0
- package/src/services/image-description-runtime.test.ts +61 -0
- package/src/services/image-description-runtime.ts +118 -0
- package/src/services/imagegen/aosp-unavailable.ts +229 -0
- package/src/services/imagegen/backend-selector.test.ts +190 -0
- package/src/services/imagegen/backend-selector.ts +277 -0
- package/src/services/imagegen/coreml-unavailable.ts +237 -0
- package/src/services/imagegen/errors.ts +40 -0
- package/src/services/imagegen/index.ts +144 -0
- package/src/services/imagegen/mflux.ts +313 -0
- package/src/services/imagegen/sd-cpp.ts +715 -0
- package/src/services/imagegen/tensorrt-unavailable.ts +295 -0
- package/src/services/imagegen/types.ts +193 -0
- package/src/services/index.ts +229 -0
- package/src/services/inference-capabilities.test.ts +75 -0
- package/src/services/inference-capabilities.ts +204 -0
- package/src/services/inference-telemetry.ts +143 -0
- package/src/services/ios-llama-streaming.ts +248 -0
- package/src/services/kv-spill.test.ts +222 -0
- package/src/services/kv-spill.ts +357 -0
- package/src/services/latency-trace.test.ts +266 -0
- package/src/services/latency-trace.ts +844 -0
- package/src/services/lib-target.test.ts +145 -0
- package/src/services/lib-target.ts +102 -0
- package/src/services/live-signals.test.ts +132 -0
- package/src/services/live-signals.ts +177 -0
- package/src/services/llama-server-metrics.test.ts +168 -0
- package/src/services/llama-server-metrics.ts +304 -0
- package/src/services/llm-streaming-binding.ts +136 -0
- package/src/services/load-args.ts +81 -0
- package/src/services/manifest/eliza-1.manifest.v1.json +790 -0
- package/src/services/manifest/index.ts +72 -0
- package/src/services/manifest/manifest.test.ts +791 -0
- package/src/services/manifest/schema.ts +761 -0
- package/src/services/manifest/types.ts +61 -0
- package/src/services/manifest/validator.ts +633 -0
- package/src/services/memory-arbiter.test.ts +558 -0
- package/src/services/memory-arbiter.ts +991 -0
- package/src/services/memory-benchmark.test.ts +91 -0
- package/src/services/memory-benchmark.ts +354 -0
- package/src/services/memory-monitor.test.ts +232 -0
- package/src/services/memory-monitor.ts +309 -0
- package/src/services/memory-pressure.ts +414 -0
- package/src/services/mtp-doctor.ts +86 -0
- package/src/services/network-policy.ts +346 -0
- package/src/services/paths.ts +25 -0
- package/src/services/planner-skeleton.ts +175 -0
- package/src/services/providers.ts +507 -0
- package/src/services/ram-budget-cache.test.ts +164 -0
- package/src/services/ram-budget.ts +309 -0
- package/src/services/readiness.test.ts +87 -0
- package/src/services/readiness.ts +238 -0
- package/src/services/recommendation.test.ts +216 -0
- package/src/services/recommendation.ts +671 -0
- package/src/services/registry.ts +157 -0
- package/src/services/required-kernels-gate.test.ts +64 -0
- package/src/services/router-handler.test.ts +45 -0
- package/src/services/router-handler.ts +426 -0
- package/src/services/routing-policy.test.ts +352 -0
- package/src/services/routing-policy.ts +367 -0
- package/src/services/routing-preferences.ts +17 -0
- package/src/services/runtime-target.ts +154 -0
- package/src/services/service.test.ts +223 -0
- package/src/services/service.ts +750 -0
- package/src/services/session-pool.ts +153 -0
- package/src/services/structured-output/deterministic-repair.test.ts +169 -0
- package/src/services/structured-output/deterministic-repair.ts +443 -0
- package/src/services/structured-output/index.ts +4 -0
- package/src/services/structured-output.test.ts +483 -0
- package/src/services/structured-output.ts +712 -0
- package/src/services/system-memory.test.ts +47 -0
- package/src/services/system-memory.ts +67 -0
- package/src/services/transcription-priority.test.ts +211 -0
- package/src/services/types.ts +59 -0
- package/src/services/verify-on-device.test.ts +87 -0
- package/src/services/verify-on-device.ts +127 -0
- package/src/services/verify.ts +13 -0
- package/src/services/vision/aosp-unavailable.ts +163 -0
- package/src/services/vision/capacitor-llama.ts +255 -0
- package/src/services/vision/cloud-fallback.test.ts +243 -0
- package/src/services/vision/cloud-fallback.ts +268 -0
- package/src/services/vision/fallback-chain.test.ts +86 -0
- package/src/services/vision/hash.ts +157 -0
- package/src/services/vision/index.ts +251 -0
- package/src/services/vision/llama-server.ts +177 -0
- package/src/services/vision/types.ts +163 -0
- package/src/services/vision/vast-fallback.ts +127 -0
- package/src/services/vision-embedding-cache.ts +189 -0
- package/src/services/voice/VOICE_WORKBENCH.md +133 -0
- package/src/services/voice/__fixtures__/voice-workbench-logic-baseline.json +180 -0
- package/src/services/voice/__test-helpers__/fake-ffi.ts +94 -0
- package/src/services/voice/__test-helpers__/synthetic-speech.ts +194 -0
- package/src/services/voice/__tests__/checkpoint-manager.test.ts +241 -0
- package/src/services/voice/__tests__/checkpoint-policy.test.ts +270 -0
- package/src/services/voice/__tests__/eager-context-builder.test.ts +257 -0
- package/src/services/voice/__tests__/eliza1-eot-scorer.test.ts +288 -0
- package/src/services/voice/__tests__/eot-classifier.test.ts +431 -0
- package/src/services/voice/__tests__/optimistic-rollback.test.ts +312 -0
- package/src/services/voice/__tests__/prefill-client.test.ts +266 -0
- package/src/services/voice/__tests__/prefix-preserving-queue.test.ts +208 -0
- package/src/services/voice/__tests__/streaming-asr.test.ts +450 -0
- package/src/services/voice/__tests__/streaming-transcriber.test.ts +339 -0
- package/src/services/voice/__tests__/turn-detector-resolver.test.ts +195 -0
- package/src/services/voice/__tests__/voice-state-machine-prefill.test.ts +275 -0
- package/src/services/voice/__tests__/voice-state-machine.test.ts +354 -0
- package/src/services/voice/acoustic-speaker-attribution.test.ts +165 -0
- package/src/services/voice/acoustic-speaker-attribution.ts +336 -0
- package/src/services/voice/asr-timed.real.test.ts +139 -0
- package/src/services/voice/audio-frame-consumer.test.ts +669 -0
- package/src/services/voice/audio-frame-consumer.ts +651 -0
- package/src/services/voice/barge-in.test.ts +244 -0
- package/src/services/voice/barge-in.ts +335 -0
- package/src/services/voice/cancellation-coordinator.test.ts +196 -0
- package/src/services/voice/cancellation-coordinator.ts +269 -0
- package/src/services/voice/checkpoint-manager.ts +401 -0
- package/src/services/voice/checkpoint-policy.ts +336 -0
- package/src/services/voice/composite-eot-classifier.test.ts +59 -0
- package/src/services/voice/corpus-augment.test.ts +276 -0
- package/src/services/voice/corpus-augment.ts +451 -0
- package/src/services/voice/corpus-generator.test.ts +201 -0
- package/src/services/voice/corpus-generator.ts +413 -0
- package/src/services/voice/diarization-error-rate.greedy.test.ts +140 -0
- package/src/services/voice/diarization-error-rate.test.ts +100 -0
- package/src/services/voice/diarization-error-rate.ts +249 -0
- package/src/services/voice/e2e-harness.der.test.ts +94 -0
- package/src/services/voice/e2e-harness.respond-eot-entity.test.ts +277 -0
- package/src/services/voice/e2e-harness.security-echo.test.ts +103 -0
- package/src/services/voice/e2e-harness.test.ts +182 -0
- package/src/services/voice/e2e-harness.ts +902 -0
- package/src/services/voice/eager-context-builder.ts +262 -0
- package/src/services/voice/echo-delay.test.ts +118 -0
- package/src/services/voice/echo-delay.ts +135 -0
- package/src/services/voice/echo-metrics.test.ts +17 -0
- package/src/services/voice/echo-metrics.ts +20 -0
- package/src/services/voice/echo-reference-buffer.test.ts +86 -0
- package/src/services/voice/echo-reference-buffer.ts +165 -0
- package/src/services/voice/eliza1-eot-scorer.ts +242 -0
- package/src/services/voice/embedding-server.ts +200 -0
- package/src/services/voice/embedding.test.ts +131 -0
- package/src/services/voice/embedding.ts +242 -0
- package/src/services/voice/emotion-attribution.test.ts +129 -0
- package/src/services/voice/emotion-attribution.ts +361 -0
- package/src/services/voice/engine-bridge-cancellation.test.ts +422 -0
- package/src/services/voice/engine-bridge-transcript-join.test.ts +278 -0
- package/src/services/voice/engine-bridge.test.ts +384 -0
- package/src/services/voice/engine-bridge.ts +2343 -0
- package/src/services/voice/eot-classifier-ggml.ts +569 -0
- package/src/services/voice/eot-classifier.test.ts +98 -0
- package/src/services/voice/eot-classifier.ts +422 -0
- package/src/services/voice/errors.ts +34 -0
- package/src/services/voice/expressive-tags.asr.test.ts +77 -0
- package/src/services/voice/expressive-tags.test.ts +102 -0
- package/src/services/voice/expressive-tags.ts +405 -0
- package/src/services/voice/ffi-bindings.test.ts +735 -0
- package/src/services/voice/ffi-bindings.ts +3387 -0
- package/src/services/voice/first-line-cache.ts +725 -0
- package/src/services/voice/fused-eot-scorer.ts +139 -0
- package/src/services/voice/index.ts +502 -0
- package/src/services/voice/kokoro/__tests__/kokoro-backend.test.ts +262 -0
- package/src/services/voice/kokoro/__tests__/kokoro-engine-bridge.real.test.ts +236 -0
- package/src/services/voice/kokoro/__tests__/kokoro-engine-bridge.test.ts +60 -0
- package/src/services/voice/kokoro/__tests__/kokoro-engine-discovery.test.ts +277 -0
- package/src/services/voice/kokoro/__tests__/kokoro-ffi-runtime.test.ts +235 -0
- package/src/services/voice/kokoro/__tests__/kokoro-runtime.test.ts +95 -0
- package/src/services/voice/kokoro/__tests__/phonemizer.test.ts +53 -0
- package/src/services/voice/kokoro/__tests__/runtime-selection.test.ts +67 -0
- package/src/services/voice/kokoro/__tests__/voices.test.ts +57 -0
- package/src/services/voice/kokoro/index.ts +79 -0
- package/src/services/voice/kokoro/kokoro-backend.ts +223 -0
- package/src/services/voice/kokoro/kokoro-engine-discovery.ts +177 -0
- package/src/services/voice/kokoro/kokoro-ffi-runtime.ts +233 -0
- package/src/services/voice/kokoro/kokoro-runtime.ts +170 -0
- package/src/services/voice/kokoro/phoneme-stream.ts +123 -0
- package/src/services/voice/kokoro/phonemizer.ts +344 -0
- package/src/services/voice/kokoro/pick-runtime.test.ts +91 -0
- package/src/services/voice/kokoro/pick-runtime.ts +130 -0
- package/src/services/voice/kokoro/runtime-selection.ts +64 -0
- package/src/services/voice/kokoro/types.ts +95 -0
- package/src/services/voice/kokoro/voice-presets.ts +129 -0
- package/src/services/voice/kokoro/voices.ts +64 -0
- package/src/services/voice/lifecycle.test.ts +315 -0
- package/src/services/voice/lifecycle.ts +301 -0
- package/src/services/voice/live-diarization-session.echo.test.ts +232 -0
- package/src/services/voice/live-diarization-session.ts +622 -0
- package/src/services/voice/metric-math.test.ts +61 -0
- package/src/services/voice/metric-math.ts +25 -0
- package/src/services/voice/mic-source.test.ts +210 -0
- package/src/services/voice/mic-source.ts +503 -0
- package/src/services/voice/nlms-echo-canceller.test.ts +244 -0
- package/src/services/voice/nlms-echo-canceller.ts +317 -0
- package/src/services/voice/optimistic-policy.power-source.test.ts +36 -0
- package/src/services/voice/optimistic-policy.test.ts +101 -0
- package/src/services/voice/optimistic-policy.ts +192 -0
- package/src/services/voice/optimistic-rollback.ts +343 -0
- package/src/services/voice/partial-stabilizer.test.ts +68 -0
- package/src/services/voice/partial-stabilizer.ts +140 -0
- package/src/services/voice/phoneme-tokenizer.ts +158 -0
- package/src/services/voice/phrase-cache.test.ts +242 -0
- package/src/services/voice/phrase-cache.ts +186 -0
- package/src/services/voice/phrase-chunker.test.ts +239 -0
- package/src/services/voice/phrase-chunker.ts +281 -0
- package/src/services/voice/pipeline-impls.l6.test.ts +110 -0
- package/src/services/voice/pipeline-impls.test.ts +292 -0
- package/src/services/voice/pipeline-impls.ts +315 -0
- package/src/services/voice/pipeline.ts +504 -0
- package/src/services/voice/prefill-client.ts +316 -0
- package/src/services/voice/prefix-preserving-queue.ts +162 -0
- package/src/services/voice/profile-store.ts +887 -0
- package/src/services/voice/real-audio-decode.test.ts +148 -0
- package/src/services/voice/research/VOICE_8785_ASSESSMENT.md +141 -0
- package/src/services/voice/research/VOICE_PIPELINE_RESEARCH_2026.md +117 -0
- package/src/services/voice/research/VOICE_VALIDATION_RUNBOOK.md +135 -0
- package/src/services/voice/ring-buffer.test.ts +129 -0
- package/src/services/voice/ring-buffer.ts +123 -0
- package/src/services/voice/rollback-queue.ts +74 -0
- package/src/services/voice/samantha-preset-placeholder.test.ts +97 -0
- package/src/services/voice/samantha-preset-placeholder.ts +148 -0
- package/src/services/voice/samantha-preset-regenerator.ts +393 -0
- package/src/services/voice/samantha-preset-regenerator.wav.test.ts +90 -0
- package/src/services/voice/scheduler.t2.test.ts +141 -0
- package/src/services/voice/scheduler.ts +927 -0
- package/src/services/voice/self-voice-imprint.test.ts +59 -0
- package/src/services/voice/self-voice-imprint.ts +102 -0
- package/src/services/voice/shared-resources.ts +343 -0
- package/src/services/voice/speaker/attribution-pipeline.test.ts +221 -0
- package/src/services/voice/speaker/attribution-pipeline.ts +449 -0
- package/src/services/voice/speaker/diarizer-fused.real.test.ts +100 -0
- package/src/services/voice/speaker/diarizer-fused.ts +154 -0
- package/src/services/voice/speaker/diarizer.ts +218 -0
- package/src/services/voice/speaker/encoder-fused.real.test.ts +113 -0
- package/src/services/voice/speaker/encoder-fused.ts +138 -0
- package/src/services/voice/speaker/encoder-ggml.test.ts +59 -0
- package/src/services/voice/speaker/encoder-ggml.ts +79 -0
- package/src/services/voice/speaker/encoder.ts +105 -0
- package/src/services/voice/speaker-imprint.test.ts +185 -0
- package/src/services/voice/speaker-imprint.ts +312 -0
- package/src/services/voice/speaker-preset-cache.test.ts +154 -0
- package/src/services/voice/speaker-preset-cache.ts +195 -0
- package/src/services/voice/streaming-asr/streaming-pipeline-adapter.ts +292 -0
- package/src/services/voice/system-audio-sink.test.ts +29 -0
- package/src/services/voice/system-audio-sink.ts +366 -0
- package/src/services/voice/transcriber.asr-backend.test.ts +76 -0
- package/src/services/voice/transcriber.test.ts +392 -0
- package/src/services/voice/transcriber.ts +704 -0
- package/src/services/voice/transcript-knowledge.test.ts +68 -0
- package/src/services/voice/transcript-knowledge.ts +75 -0
- package/src/services/voice/transcript-service.test.ts +195 -0
- package/src/services/voice/transcript-service.ts +205 -0
- package/src/services/voice/transcript-store.test.ts +189 -0
- package/src/services/voice/transcript-store.ts +164 -0
- package/src/services/voice/turn-controller.test.ts +575 -0
- package/src/services/voice/turn-controller.ts +596 -0
- package/src/services/voice/types.ts +699 -0
- package/src/services/voice/vad.test.ts +498 -0
- package/src/services/voice/vad.ts +832 -0
- package/src/services/voice/vad.v1-v4.test.ts +222 -0
- package/src/services/voice/voice-budget.test.ts +415 -0
- package/src/services/voice/voice-budget.ts +635 -0
- package/src/services/voice/voice-duet.test.ts +375 -0
- package/src/services/voice/voice-emotion-classifier.test.ts +210 -0
- package/src/services/voice/voice-emotion-classifier.ts +273 -0
- package/src/services/voice/voice-hardening.fuzz.test.ts +116 -0
- package/src/services/voice/voice-preload-predictor.test.ts +130 -0
- package/src/services/voice/voice-preload-predictor.ts +113 -0
- package/src/services/voice/voice-preset-format.fuzz.test.ts +89 -0
- package/src/services/voice/voice-preset-format.test.ts +75 -0
- package/src/services/voice/voice-preset-format.ts +713 -0
- package/src/services/voice/voice-preset-generator.test.ts +89 -0
- package/src/services/voice/voice-profile-artifact.test.ts +138 -0
- package/src/services/voice/voice-profile-artifact.ts +518 -0
- package/src/services/voice/voice-profile-routes.test.ts +429 -0
- package/src/services/voice/voice-profile-routes.ts +425 -0
- package/src/services/voice/voice-scenario.test.ts +159 -0
- package/src/services/voice/voice-scenario.ts +280 -0
- package/src/services/voice/voice-scenario.turn-helpers.test.ts +77 -0
- package/src/services/voice/voice-state-machine.ts +727 -0
- package/src/services/voice/voice-workbench-report.test.ts +168 -0
- package/src/services/voice/voice-workbench-report.ts +367 -0
- package/src/services/voice/voice-workbench.test.ts +158 -0
- package/src/services/voice/voice.test.ts +1070 -0
- package/src/services/voice/wake-word-ggml.ts +319 -0
- package/src/services/voice/wake-word.test.ts +298 -0
- package/src/services/voice/wake-word.ts +554 -0
- package/src/services/voice/wav-codec.fuzz.test.ts +59 -0
- package/src/services/voice/wav-codec.test.ts +32 -0
- package/src/services/voice/wav-codec.ts +101 -0
- package/src/services/voice/workbench-entrypoint.test.ts +55 -0
- package/src/services/voice/workbench-entrypoint.ts +88 -0
- package/src/services/voice/workbench-headless-runner.test.ts +162 -0
- package/src/services/voice/workbench-headless-runner.ts +396 -0
- package/src/services/voice/workbench-logic-services.test.ts +225 -0
- package/src/services/voice/workbench-logic-services.ts +184 -0
- package/src/services/voice/workbench-real-services.ts +629 -0
- package/src/services/voice/workbench-scenarios.ts +407 -0
- package/src/services/voice/wrap-with-first-line-cache.ts +267 -0
- package/src/services/voice-model-updater.ts +724 -0
- package/src/services/voice-prewarm.ts +51 -0
- package/src/voice-workbench.ts +71 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `/api/voice/audio-frames` — WebView → agent transport for live on-device
|
|
3
|
+
* speaker diarization.
|
|
4
|
+
*
|
|
5
|
+
* The Android `audioFrame` PCM stream is captured in the Capacitor WebView but
|
|
6
|
+
* the bun:ffi voice libs run in the agent process. The WebView batches frames
|
|
7
|
+
* (~49 fps) and POSTs them here; this route feeds them to the single
|
|
8
|
+
* {@link LiveDiarizationSession}, which runs the real ggml VAD / encoder /
|
|
9
|
+
* diarizer / attribution pipeline and emits VOICE_TURN_OBSERVED.
|
|
10
|
+
*
|
|
11
|
+
* Routes:
|
|
12
|
+
* POST /api/voice/audio-frames body: { frames: AudioFrameEvent[],
|
|
13
|
+
* flush?: boolean }
|
|
14
|
+
* → { ok, framesReceived, turnsObserved }
|
|
15
|
+
* POST /api/voice/playback-frames body: { frames?: AudioFrameEvent[],
|
|
16
|
+
* reset?: boolean }
|
|
17
|
+
* → { ok, framesPushed }
|
|
18
|
+
* The agent's own TTS playback (far-end) in the same base64 LE-s16 16 kHz
|
|
19
|
+
* mono wire format, streamed in real time so the session's NLMS canceller
|
|
20
|
+
* removes the agent's echo before VAD/attribution (#9455/#9583). Send
|
|
21
|
+
* `reset: true` when playback stops / on barge-in.
|
|
22
|
+
* GET /api/voice/audio-frames/status → LiveDiarizationStatus (device evidence)
|
|
23
|
+
*
|
|
24
|
+
* Auth follows the compat pattern: trusted-loopback OR the compat API token.
|
|
25
|
+
* The WebView reaches this over 127.0.0.1 (trusted local), matching the rest of
|
|
26
|
+
* the on-device agent surface.
|
|
27
|
+
*/
|
|
28
|
+
import type http from "node:http";
|
|
29
|
+
import { type CompatRuntimeState } from "./compat-helpers.js";
|
|
30
|
+
/** Reset the module-level session (tests + capture teardown). */
|
|
31
|
+
export declare function resetLiveDiarizationSession(): Promise<void>;
|
|
32
|
+
export declare function handleLiveDiarizationRoute(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
|
|
33
|
+
//# sourceMappingURL=live-diarization-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-diarization-route.d.ts","sourceRoot":"","sources":["../../src/routes/live-diarization-route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AASlC,OAAO,EACN,KAAK,kBAAkB,EAKvB,MAAM,qBAAqB,CAAC;AA2C7B,iEAAiE;AACjE,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAIjE;AAgBD,wBAAsB,0BAA0B,CAC/C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACvB,OAAO,CAAC,OAAO,CAAC,CAsFlB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type http from "node:http";
|
|
2
|
+
import { type CompatRuntimeState } from "./compat-helpers";
|
|
3
|
+
export declare function handleLocalInferenceAsrRoute(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
|
|
4
|
+
//# sourceMappingURL=local-inference-asr-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-inference-asr-route.d.ts","sourceRoot":"","sources":["../../src/routes/local-inference-asr-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EACN,KAAK,kBAAkB,EAIvB,MAAM,kBAAkB,CAAC;AA4E1B,wBAAsB,4BAA4B,CACjD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACvB,OAAO,CAAC,OAAO,CAAC,CA6ElB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type AgentRuntime } from "@elizaos/core";
|
|
2
|
+
import { type AsrWordTiming } from "../services/voice";
|
|
3
|
+
/** A transcript plus optional per-word timings (ms from audio start). */
|
|
4
|
+
export interface LocalAsrTranscript {
|
|
5
|
+
text: string;
|
|
6
|
+
words: AsrWordTiming[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Transcribe WAV audio to text + per-word timings.
|
|
10
|
+
*
|
|
11
|
+
* The primary path is the single fused libelizainference FFI pipe
|
|
12
|
+
* (`transcribePcmTimed`, ASR ABI v12) — the cross-platform on-device runtime
|
|
13
|
+
* that emits per-word `[startMs,endMs)` timings the transcript player
|
|
14
|
+
* highlights against. When the in-process engine is not the active local
|
|
15
|
+
* backend (a device-bridge / capacitor / AOSP topology owns transcription),
|
|
16
|
+
* fall back to the `useModel` provider chain for the transcript text; word
|
|
17
|
+
* timings are unavailable on that path (`words: []`).
|
|
18
|
+
*/
|
|
19
|
+
export declare function transcribeWavWithWords(runtime: AgentRuntime, audioWav: Uint8Array, signal?: AbortSignal): Promise<LocalAsrTranscript>;
|
|
20
|
+
//# sourceMappingURL=local-inference-asr-transcribe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-inference-asr-transcribe.d.ts","sourceRoot":"","sources":["../../src/routes/local-inference-asr-transcribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,mBAAmB,CAAC;AAE3E,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;CACvB;AA+BD;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAc7B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP routes for the local-inference / model management feature.
|
|
3
|
+
*
|
|
4
|
+
* Route shape and auth follow the established `*-compat-routes.ts` pattern:
|
|
5
|
+
* - `handleLocalInferenceCompatRoutes` returns `true` when it handles a
|
|
6
|
+
* request and `false` to pass through to the next handler.
|
|
7
|
+
* - Regular reads use `ensureCompatApiAuthorized`.
|
|
8
|
+
* - Mutating routes (download start/cancel, active switch, uninstall)
|
|
9
|
+
* use `ensureCompatSensitiveRouteAuthorized`.
|
|
10
|
+
* - SSE allows `?token=...` as an alternative to the auth header, via
|
|
11
|
+
* `isStreamAuthorized`.
|
|
12
|
+
*/
|
|
13
|
+
import type http from "node:http";
|
|
14
|
+
import { type CompatRuntimeState } from "./compat-helpers";
|
|
15
|
+
export declare function handleLocalInferenceCompatRoutes(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
|
|
16
|
+
//# sourceMappingURL=local-inference-compat-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-inference-compat-routes.d.ts","sourceRoot":"","sources":["../../src/routes/local-inference-compat-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AA2BlC,OAAO,EACN,KAAK,kBAAkB,EASvB,MAAM,kBAAkB,CAAC;AAoK1B,wBAAsB,gCAAgC,CACrD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACvB,OAAO,CAAC,OAAO,CAAC,CA4iBlB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type http from "node:http";
|
|
2
|
+
import { type CompatRuntimeState } from "./compat-helpers";
|
|
3
|
+
export declare function sanitizeLocalInferenceSpeechText(input: string): string;
|
|
4
|
+
export declare function normalizeAudioBytes(value: unknown): Uint8Array;
|
|
5
|
+
export declare function sniffAudioContentType(bytes: Uint8Array): string;
|
|
6
|
+
export declare function handleLocalInferenceTtsRoute(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
|
|
7
|
+
//# sourceMappingURL=local-inference-tts-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-inference-tts-route.d.ts","sourceRoot":"","sources":["../../src/routes/local-inference-tts-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACN,KAAK,kBAAkB,EAIvB,MAAM,kBAAkB,CAAC;AAS1B,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAatE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAW9D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CA0B/D;AA0DD,wBAAsB,4BAA4B,CACjD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACvB,OAAO,CAAC,OAAO,CAAC,CAiGlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-pcm-turn-route.d.ts","sourceRoot":"","sources":["../../src/routes/native-pcm-turn-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAyElC,wBAAsB,wBAAwB,CAC7C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACtB,OAAO,CAAC,OAAO,CAAC,CA4ClB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transcript audio persistence (#8789).
|
|
3
|
+
*
|
|
4
|
+
* The transcript create route runs in plugin-local-inference, which cannot
|
|
5
|
+
* import the agent-internal media store (`packages/agent/src/api/media-store.ts`
|
|
6
|
+
* is not exported). But that store is just a content-addressed write under
|
|
7
|
+
* `<stateDir>/media/<sha256>.<ext>`, served by the agent's `serveMediaFile` at
|
|
8
|
+
* `/api/media/<sha256>.<ext>` (with HTTP Range, so `<audio>` scrubbing works).
|
|
9
|
+
* Writing the session WAV the same way — via core's `resolveStateDir` — lands it
|
|
10
|
+
* in the exact dir the agent already serves, so transcript audio plays back
|
|
11
|
+
* with zero extra wiring. Idempotent (sha256 filename).
|
|
12
|
+
*/
|
|
13
|
+
/** Persist mono PCM16 WAV bytes; returns the served `/api/media/<hash>.wav` URL. */
|
|
14
|
+
export declare function persistTranscriptAudioWav(wav: Buffer): string;
|
|
15
|
+
//# sourceMappingURL=transcript-audio-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcript-audio-store.d.ts","sourceRoot":"","sources":["../../src/routes/transcript-audio-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,oFAAoF;AACpF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transcript HTTP routes (#8789) — `/api/transcripts*`, served as rawPath plugin
|
|
3
|
+
* routes (on `runtime.routes`, dispatched by both the upstream agent server and
|
|
4
|
+
* app-core) so the Transcripts view + the recording pipeline have a backend.
|
|
5
|
+
* Audio is served by the existing content-addressed media store via each
|
|
6
|
+
* record's `audioUrl`, so no separate audio route is needed.
|
|
7
|
+
*
|
|
8
|
+
* Private routes: the host dispatcher answers 401 for unauthenticated callers.
|
|
9
|
+
*/
|
|
10
|
+
import type { Route, UUID } from "@elizaos/core";
|
|
11
|
+
import { type Transcript, type TranscriptScope, type TranscriptSegment, type TranscriptSource } from "@elizaos/shared/transcripts";
|
|
12
|
+
/** The body a recording session POSTs to create a transcript record. */
|
|
13
|
+
export interface CreateTranscriptRequest {
|
|
14
|
+
/** Optional — the route derives these from the agent context when absent (the
|
|
15
|
+
* shell client doesn't carry world/room/entity ids). */
|
|
16
|
+
worldId?: UUID;
|
|
17
|
+
roomId?: UUID;
|
|
18
|
+
entityId?: UUID;
|
|
19
|
+
title?: string;
|
|
20
|
+
source?: TranscriptSource;
|
|
21
|
+
scope?: TranscriptScope;
|
|
22
|
+
segments: TranscriptSegment[];
|
|
23
|
+
audioUrl?: string;
|
|
24
|
+
audioContentType?: string;
|
|
25
|
+
/** Base64 WAV bytes — persisted to the media store; sets audioUrl. */
|
|
26
|
+
audioBase64?: string;
|
|
27
|
+
createdAt?: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Build a full {@link Transcript} from a create request — derives duration +
|
|
31
|
+
* speaker count from the segments, defaults title/scope/status. Pure (id + now
|
|
32
|
+
* injected) so it is unit-testable.
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildTranscriptFromRequest(body: CreateTranscriptRequest, id: string, now: number): Transcript;
|
|
35
|
+
/** The body a transcript editor PUTs to persist a user edit. */
|
|
36
|
+
export interface UpdateTranscriptRequest {
|
|
37
|
+
worldId?: UUID;
|
|
38
|
+
roomId?: UUID;
|
|
39
|
+
entityId?: UUID;
|
|
40
|
+
title?: string;
|
|
41
|
+
segments?: TranscriptSegment[];
|
|
42
|
+
}
|
|
43
|
+
export declare const transcriptsRoutes: Route[];
|
|
44
|
+
//# sourceMappingURL=transcripts-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcripts-routes.d.ts","sourceRoot":"","sources":["../../src/routes/transcripts-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACX,KAAK,EAGL,IAAI,EACJ,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGrB,MAAM,6BAA6B,CAAC;AAWrC,wEAAwE;AACxE,MAAM,WAAW,uBAAuB;IACvC;6DACyD;IACzD,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,uBAAuB,EAC7B,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,GACT,UAAU,CAiBZ;AAsCD,gEAAgE;AAChE,MAAM,WAAW,uBAAuB;IACvC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AA6DD,eAAO,MAAM,iBAAiB,EAAE,KAAK,EAMpC,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice first-run HTTP routes.
|
|
3
|
+
*
|
|
4
|
+
* The flow (R2-speaker.md §6):
|
|
5
|
+
*
|
|
6
|
+
* POST /api/voice/first-run/profile/start
|
|
7
|
+
* → { sessionId, script: ScriptStep[], embeddingModel }
|
|
8
|
+
*
|
|
9
|
+
* POST /api/voice/first-run/profile/append?id=<sessionId>
|
|
10
|
+
* Content-Type: application/octet-stream
|
|
11
|
+
* Body: PCM (Float32, 16 kHz, mono) for one capture window
|
|
12
|
+
* → { sessionId, samplesReceived, totalSamples, durationMs }
|
|
13
|
+
*
|
|
14
|
+
* POST /api/voice/first-run/profile/finalize?id=<sessionId>&entityId=<id>
|
|
15
|
+
* → { profileId, entityId, samples, durationMs }
|
|
16
|
+
*
|
|
17
|
+
* POST /api/voice/first-run/complete
|
|
18
|
+
* Body: { entityId: string }
|
|
19
|
+
* → { ownerEntityId, settingsWritten: ["ELIZA_ADMIN_ENTITY_ID"] }
|
|
20
|
+
*
|
|
21
|
+
* Sessions are in-memory. They expire after 30 minutes of inactivity.
|
|
22
|
+
* The encoder is loaded lazily; the route handlers return a structured
|
|
23
|
+
* 503 if the native GGML library is missing.
|
|
24
|
+
*
|
|
25
|
+
* Audio storage: when the user grants `audioRefs` consent, sample WAVs
|
|
26
|
+
* land under `$ELIZA_STATE_DIR/voice-profiles/audio/<profileId>/...`.
|
|
27
|
+
* Otherwise nothing is written to disk except the centroid + variance.
|
|
28
|
+
*/
|
|
29
|
+
import type * as http from "node:http";
|
|
30
|
+
import { VoiceProfileStore } from "../services/voice/profile-store";
|
|
31
|
+
import { type SpeakerEncoder } from "../services/voice/speaker/encoder";
|
|
32
|
+
/** Verbatim first-run script (R2-speaker.md §6.2). */
|
|
33
|
+
export interface FirstRunScriptStep {
|
|
34
|
+
id: string;
|
|
35
|
+
role: "consent" | "calibration" | "phonetic" | "prosody" | "quiet" | "open";
|
|
36
|
+
prompt: string;
|
|
37
|
+
expectedDurationMs: number;
|
|
38
|
+
requiresUserSpeech: boolean;
|
|
39
|
+
}
|
|
40
|
+
export declare const FIRST_RUN_SCRIPT: ReadonlyArray<FirstRunScriptStep>;
|
|
41
|
+
/**
|
|
42
|
+
* Encoder factory. By default the route handlers load the WeSpeaker
|
|
43
|
+
* ResNet34-LM speaker encoder through the fused `libelizainference`
|
|
44
|
+
* `eliza_inference_speaker_*` ABI — the sole on-device speaker runtime.
|
|
45
|
+
* Tests inject a fake encoder via `setVoiceFirstRunEncoderFactory()`.
|
|
46
|
+
*/
|
|
47
|
+
export type EncoderFactory = () => Promise<SpeakerEncoder>;
|
|
48
|
+
export declare function setVoiceFirstRunEncoderFactory(factory: EncoderFactory | null): void;
|
|
49
|
+
export declare function setVoiceFirstRunProfileStore(store: VoiceProfileStore | null): void;
|
|
50
|
+
/** Settings-write hook. The runtime overrides this with `runtime.setSetting`. */
|
|
51
|
+
type SettingsWriter = (key: string, value: string) => void | Promise<void>;
|
|
52
|
+
export declare function setVoiceFirstRunSettingsWriter(writer: SettingsWriter | null): void;
|
|
53
|
+
/**
|
|
54
|
+
* Mount-point: returns `true` if the request was handled, `false` if
|
|
55
|
+
* the path is not one of the voice-first-run routes (so the caller
|
|
56
|
+
* can fall through to the next handler).
|
|
57
|
+
*/
|
|
58
|
+
export declare function handleVoiceFirstRunRoutes(req: http.IncomingMessage, res: http.ServerResponse): Promise<boolean>;
|
|
59
|
+
/** Test helper: clear in-memory sessions so a test starts clean. */
|
|
60
|
+
export declare function __resetVoiceFirstRunSessions(): void;
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=voice-first-run-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-first-run-routes.d.ts","sourceRoot":"","sources":["../../src/routes/voice-first-run-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAWvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAEN,KAAK,cAAc,EAMnB,MAAM,mCAAmC,CAAC;AAG3C,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CA4E9D,CAAC;AA2BF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;AAK3D,wBAAgB,8BAA8B,CAC7C,OAAO,EAAE,cAAc,GAAG,IAAI,GAC5B,IAAI,CAGN;AAyCD,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAC7B,IAAI,CAEN;AAWD,iFAAiF;AACjF,KAAK,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAG3E,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,cAAc,GAAG,IAAI,GAC3B,IAAI,CAEN;AAyCD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC9C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACtB,OAAO,CAAC,OAAO,CAAC,CAgOlB;AAED,oEAAoE;AACpE,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local-runtime compat routes for the voice sub-model auto-updater
|
|
3
|
+
* (R5-versioning §3 + §4 + §5).
|
|
4
|
+
*
|
|
5
|
+
* Mirrors the signed Cloud catalog endpoint
|
|
6
|
+
* (`cloud/apps/api/v1/voice-models/catalog/route.ts`) for the on-device
|
|
7
|
+
* surface so the UI can talk to the local runtime without depending on
|
|
8
|
+
* Cloud being reachable. The endpoints expose:
|
|
9
|
+
*
|
|
10
|
+
* GET /api/local-inference/voice-models
|
|
11
|
+
* → { installations: VoiceModelInstallationView[] }
|
|
12
|
+
* Resolves currently-installed versions by reading the bundle voice
|
|
13
|
+
* directory (`<state-dir>/models/voice/`) and matching filenames
|
|
14
|
+
* against `VOICE_MODEL_VERSIONS`.
|
|
15
|
+
*
|
|
16
|
+
* GET /api/local-inference/voice-models/check
|
|
17
|
+
* → { lastCheckedAt, statuses: VoiceModelStatus[] }
|
|
18
|
+
* Invokes `VoiceModelUpdater.check()` which walks the cascade
|
|
19
|
+
* (Cloud → GitHub → HF) and returns a per-id decision.
|
|
20
|
+
*
|
|
21
|
+
* POST /api/local-inference/voice-models/:id/update
|
|
22
|
+
* → { ok: true, finalPath, sha256, sizeBytes }
|
|
23
|
+
* Triggers `downloadVoiceModel()` for the named id, gated on
|
|
24
|
+
* `NetworkPolicy` evaluation per R5 §4. Refuses when the policy
|
|
25
|
+
* decision is not `allow=true`.
|
|
26
|
+
*
|
|
27
|
+
* POST /api/local-inference/voice-models/:id/pin
|
|
28
|
+
* Body: { pinned: boolean }
|
|
29
|
+
* → { ok: true, id, pinned }
|
|
30
|
+
* Toggles the on-disk pin file so the auto-updater skips this id.
|
|
31
|
+
*
|
|
32
|
+
* GET /api/local-inference/voice-models/preferences
|
|
33
|
+
* → { preferences: NetworkPolicyPreferences, isOwner: boolean }
|
|
34
|
+
*
|
|
35
|
+
* POST /api/local-inference/voice-models/preferences
|
|
36
|
+
* Body: Partial<NetworkPolicyPreferences>
|
|
37
|
+
* → { ok: true, preferences }
|
|
38
|
+
* Writes the user's Wi-Fi/cellular/metered policy preferences.
|
|
39
|
+
* Per R5 §5.4 the cellular + metered toggles are OWNER-only — the
|
|
40
|
+
* route returns 403 if a non-OWNER caller tries to flip them.
|
|
41
|
+
*
|
|
42
|
+
* Preferences land at
|
|
43
|
+
* `<state-dir>/local-inference/voice-update-prefs.json`; the pin set is
|
|
44
|
+
* stored as a sibling `voice-update-pins.json`.
|
|
45
|
+
*/
|
|
46
|
+
import type * as http from "node:http";
|
|
47
|
+
import { type VoiceModelId } from "@elizaos/shared";
|
|
48
|
+
import { downloadVoiceModel, VoiceModelUpdater } from "../services/voice-model-updater";
|
|
49
|
+
export interface VoiceModelInstallationView {
|
|
50
|
+
readonly id: VoiceModelId;
|
|
51
|
+
readonly installedVersion: string | null;
|
|
52
|
+
readonly pinned: boolean;
|
|
53
|
+
readonly lastError: string | null;
|
|
54
|
+
}
|
|
55
|
+
export declare function resolveInstalledVersions(dir?: string): Promise<Map<VoiceModelId, string>>;
|
|
56
|
+
export declare function setVoiceModelsUpdater(updater: VoiceModelUpdater | null): void;
|
|
57
|
+
type DownloadFn = typeof downloadVoiceModel;
|
|
58
|
+
export declare function setVoiceModelDownloader(fn: DownloadFn | null): void;
|
|
59
|
+
export declare function setVoiceModelsBundleVersionForTest(bundleVersion: string | null): void;
|
|
60
|
+
export declare function handleVoiceModelsRoutes(req: http.IncomingMessage, res: http.ServerResponse): Promise<boolean>;
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=voice-models-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-models-routes.d.ts","sourceRoot":"","sources":["../../src/routes/voice-models-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAGH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAQvC,OAAO,EAIN,KAAK,YAAY,EAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,kBAAkB,EAGlB,iBAAiB,EACjB,MAAM,iCAAiC,CAAC;AAUzC,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAgKD,wBAAsB,wBAAwB,CAC7C,GAAG,GAAE,MAAyB,GAC5B,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAmBpC;AAQD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAE7E;AAYD,KAAK,UAAU,GAAG,OAAO,kBAAkB,CAAC;AAG5C,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAEnE;AAYD,wBAAgB,kCAAkC,CACjD,aAAa,EAAE,MAAM,GAAG,IAAI,GAC1B,IAAI,CAEN;AAWD,wBAAsB,uBAAuB,CAC5C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACtB,OAAO,CAAC,OAAO,CAAC,CAsNlB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin-route registration for the voice-profile HTTP surface (issue #8234).
|
|
3
|
+
*
|
|
4
|
+
* `handleVoiceSpeakerProfileRoutes` (bind/unbind a recognized voice to an
|
|
5
|
+
* elizaOS entity) and `handleVoiceProfilesManagementRoutes` (the server half
|
|
6
|
+
* of the `VoiceProfileSection` management UI) are prefix dispatchers, but the
|
|
7
|
+
* only server mount of `handleLocalInferenceRoutes` is gated behind
|
|
8
|
+
* `/api/local-inference*` path prefixes — so neither the `/v1/voice/
|
|
9
|
+
* speaker-profiles` nor the `/api/voice/profiles` namespace was reachable
|
|
10
|
+
* over HTTP. Registering them as `rawPath` routes on the plugin object puts
|
|
11
|
+
* them on `runtime.routes`, which both the upstream agent server and the
|
|
12
|
+
* app-core dashboard server dispatch.
|
|
13
|
+
*
|
|
14
|
+
* Every route is private: the host dispatcher answers 401 for
|
|
15
|
+
* unauthenticated callers before the handler runs.
|
|
16
|
+
*/
|
|
17
|
+
import { type Route } from "@elizaos/core";
|
|
18
|
+
export declare const voiceProfilePluginRoutes: Route[];
|
|
19
|
+
//# sourceMappingURL=voice-profile-plugin-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-profile-plugin-routes.d.ts","sourceRoot":"","sources":["../../src/routes/voice-profile-plugin-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAqC1D,eAAO,MAAM,wBAAwB,EAAE,KAAK,EAkF3C,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice-profile management routes — `/api/voice/profiles*`.
|
|
3
|
+
*
|
|
4
|
+
* These back the `VoiceProfilesClient` / `VoiceProfileSection` UI: list,
|
|
5
|
+
* rename / relationship / retention edits, delete, bulk delete, merge, split,
|
|
6
|
+
* export, sample-audio preview, and entity binding. They operate on the
|
|
7
|
+
* `VoiceProfileStore` (recognized-speaker centroids), mapping each record to
|
|
8
|
+
* the UI's `VoiceProfile` DTO.
|
|
9
|
+
*
|
|
10
|
+
* Distinct from `/v1/voice/profiles` (the OmniVoice TTS preset catalog in
|
|
11
|
+
* `services/voice/voice-profile-routes.ts`). The OWNER is the profile bound to
|
|
12
|
+
* `ELIZA_ADMIN_ENTITY_ID`.
|
|
13
|
+
*
|
|
14
|
+
* Routes:
|
|
15
|
+
* GET /api/voice/profiles → { profiles: VoiceProfileDto[] }
|
|
16
|
+
* PATCH /api/voice/profiles/:id { displayName?, relationshipLabel?, retentionDays? }
|
|
17
|
+
* DELETE /api/voice/profiles/:id → { deleted }
|
|
18
|
+
* DELETE /api/voice/profiles[?includeOwner=] → { deleted: number }
|
|
19
|
+
* POST /api/voice/profiles/:id/merge { intoId }
|
|
20
|
+
* POST /api/voice/profiles/:id/split { utteranceIds }
|
|
21
|
+
* POST /api/voice/profiles/:id/bind { entityId, label? }
|
|
22
|
+
* POST /api/voice/profiles/:id/unbind
|
|
23
|
+
* POST /api/voice/profiles/export → { downloadUrl }
|
|
24
|
+
* GET /api/voice/profiles/:id/sample → audio/wav (consent-gated; 404 if absent)
|
|
25
|
+
*
|
|
26
|
+
* Route handlers in this plugin do not hold an `IAgentRuntime`, so bind here
|
|
27
|
+
* persists `entityId` at the profile level. The relationship-graph edge is
|
|
28
|
+
* materialised separately via the `VOICE_TURN_OBSERVED` → merge-engine seam
|
|
29
|
+
* (see runtime/voice-entity-binding.ts and the IDENTIFY_SPEAKER action).
|
|
30
|
+
*/
|
|
31
|
+
import type * as http from "node:http";
|
|
32
|
+
import { VoiceProfileStore } from "../services/voice/profile-store.js";
|
|
33
|
+
export declare function setVoiceProfilesManagementStore(store: VoiceProfileStore | null): void;
|
|
34
|
+
type Cohort = "owner" | "family" | "guest" | "unknown";
|
|
35
|
+
type Source = "first-run" | "auto-clustered" | "manual";
|
|
36
|
+
export interface VoiceProfileDto {
|
|
37
|
+
id: string;
|
|
38
|
+
entityId: string | null;
|
|
39
|
+
displayName: string;
|
|
40
|
+
relationshipLabel: string | null;
|
|
41
|
+
isOwner: boolean;
|
|
42
|
+
embeddingCount: number;
|
|
43
|
+
firstHeardAtMs: number;
|
|
44
|
+
lastHeardAtMs: number;
|
|
45
|
+
cohort: Cohort;
|
|
46
|
+
source: Source;
|
|
47
|
+
retentionDays: number | null;
|
|
48
|
+
samplePreviewUri: string | null;
|
|
49
|
+
}
|
|
50
|
+
export declare function handleVoiceProfilesManagementRoutes(req: http.IncomingMessage, res: http.ServerResponse): Promise<boolean>;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=voice-profiles-management-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-profiles-management-routes.d.ts","sourceRoot":"","sources":["../../src/routes/voice-profiles-management-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AASvC,OAAO,EAEN,iBAAiB,EACjB,MAAM,oCAAoC,CAAC;AAQ5C,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAC7B,IAAI,CAEN;AAsBD,KAAK,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AACvD,KAAK,MAAM,GAAG,WAAW,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAyFD,wBAAsB,mCAAmC,CACxD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACtB,OAAO,CAAC,OAAO,CAAC,CAuClB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Speaker voice-profile binding routes.
|
|
3
|
+
*
|
|
4
|
+
* These operate on the `VoiceProfileStore` — the content-addressed store of
|
|
5
|
+
* WeSpeaker centroids that the attribution pipeline matches against (one
|
|
6
|
+
* `vp_<sha>` record per recognized voice). This is a *different* surface from
|
|
7
|
+
* the OmniVoice preset catalog in `services/voice/voice-profile-routes.ts`
|
|
8
|
+
* (which manages TTS preset `.bin` files under `/v1/voice/profiles`).
|
|
9
|
+
*
|
|
10
|
+
* The attribution pipeline can resolve *which* voice is speaking, but a freshly
|
|
11
|
+
* clustered profile carries `entityId: null` until something binds it to a real
|
|
12
|
+
* elizaOS `Entity`. Without a binding the speaker is never persisted to the
|
|
13
|
+
* relationship graph and the OWNER-crown in the UI never lights up outside
|
|
14
|
+
* tests. The store already supports `bindEntity` / `unbindEntity`; these routes
|
|
15
|
+
* are the runtime path that calls them.
|
|
16
|
+
*
|
|
17
|
+
* Routes:
|
|
18
|
+
* GET /v1/voice/speaker-profiles
|
|
19
|
+
* → { profiles: SpeakerProfileSummary[] }
|
|
20
|
+
*
|
|
21
|
+
* POST /v1/voice/speaker-profiles/:id/bind
|
|
22
|
+
* Body (JSON): { entityId: string, label?: string }
|
|
23
|
+
* → SpeakerProfileSummary (entityId now non-null)
|
|
24
|
+
*
|
|
25
|
+
* POST /v1/voice/speaker-profiles/:id/unbind
|
|
26
|
+
* → SpeakerProfileSummary (entityId now null)
|
|
27
|
+
*
|
|
28
|
+
* The caller supplies the `entityId` of an existing elizaOS entity (e.g. a
|
|
29
|
+
* contact the user picks in the voice-management UI, or the OWNER entity from
|
|
30
|
+
* first-run). These handlers do not mint entities or relationship rows: route
|
|
31
|
+
* handlers in this plugin do not hold an `IAgentRuntime` reference (see
|
|
32
|
+
* `family-member-route.ts`). They bind the speaker centroid to an entity id the
|
|
33
|
+
* store persists, which the attribution pipeline then resolves on the next
|
|
34
|
+
* recognition.
|
|
35
|
+
*/
|
|
36
|
+
import type * as http from "node:http";
|
|
37
|
+
import { VoiceProfileStore } from "../services/voice/profile-store.js";
|
|
38
|
+
export declare function setVoiceSpeakerProfileStore(store: VoiceProfileStore | null): void;
|
|
39
|
+
export interface SpeakerProfileSummary {
|
|
40
|
+
profileId: string;
|
|
41
|
+
entityId: string | null;
|
|
42
|
+
label: string | null;
|
|
43
|
+
embeddingModel: string;
|
|
44
|
+
sampleCount: number;
|
|
45
|
+
confidence: number;
|
|
46
|
+
firstObservedAt: string;
|
|
47
|
+
lastObservedAt: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Handle `/v1/voice/speaker-profiles*` requests.
|
|
51
|
+
*
|
|
52
|
+
* Returns `true` when the request was handled (success or error response
|
|
53
|
+
* written), `false` when the path does not match so the caller can fall
|
|
54
|
+
* through to the next handler.
|
|
55
|
+
*/
|
|
56
|
+
export declare function handleVoiceSpeakerProfileRoutes(req: http.IncomingMessage, res: http.ServerResponse): Promise<boolean>;
|
|
57
|
+
//# sourceMappingURL=voice-speaker-profile-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-speaker-profile-routes.d.ts","sourceRoot":"","sources":["../../src/routes/voice-speaker-profile-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AASvC,OAAO,EAEN,iBAAiB,EACjB,MAAM,oCAAoC,CAAC;AAQ5C,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAC7B,IAAI,CAEN;AAeD,MAAM,WAAW,qBAAqB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACvB;AAyBD;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CACpD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACtB,OAAO,CAAC,OAAO,CAAC,CA+ElB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Callback for reporting download/init progress.
|
|
3
|
+
* @param phase - Current phase: "checking", "downloading", "loading", "ready"
|
|
4
|
+
* @param detail - Human-readable detail (e.g. "45% of 95 MB")
|
|
5
|
+
*/
|
|
6
|
+
export type EmbeddingProgressCallback = (phase: "checking" | "downloading" | "loading" | "ready", detail?: string) => void;
|
|
7
|
+
/**
|
|
8
|
+
* Callback for raw download byte progress.
|
|
9
|
+
* @param downloaded - Bytes received so far
|
|
10
|
+
* @param total - Total bytes expected (null if Content-Length unavailable)
|
|
11
|
+
*/
|
|
12
|
+
export type DownloadProgressCallback = (downloaded: number, total: number | null) => void;
|
|
13
|
+
export interface EmbeddingManagerConfig {
|
|
14
|
+
/** GGUF model filename (default: detected hardware preset) */
|
|
15
|
+
model?: string;
|
|
16
|
+
/** HuggingFace repo for auto-download (default: detected hardware preset repo) */
|
|
17
|
+
modelRepo?: string;
|
|
18
|
+
/** Embedding dimensions (default: detected hardware preset dimensions) */
|
|
19
|
+
dimensions?: number;
|
|
20
|
+
/** GPU layers: "auto" | "max" | number (default: detected hardware preset gpuLayers) */
|
|
21
|
+
gpuLayers?: "auto" | "max" | number;
|
|
22
|
+
/** Model context window in tokens (default: detected hardware preset contextSize) */
|
|
23
|
+
contextSize?: number;
|
|
24
|
+
/** Idle timeout in ms before unloading model (default: 1800000 = 30 min, 0 = never unload) */
|
|
25
|
+
idleTimeoutMs?: number;
|
|
26
|
+
/** Models directory (default: <stateDir>/models) */
|
|
27
|
+
modelsDir?: string;
|
|
28
|
+
/** Optional callback for reporting initialization progress phases. */
|
|
29
|
+
onProgress?: EmbeddingProgressCallback;
|
|
30
|
+
}
|
|
31
|
+
export interface EmbeddingManagerStats {
|
|
32
|
+
lastUsedAt: number | null;
|
|
33
|
+
isLoaded: boolean;
|
|
34
|
+
model: string;
|
|
35
|
+
gpuLayers: string | number;
|
|
36
|
+
dimensions: number;
|
|
37
|
+
}
|
|
38
|
+
export declare const DEFAULT_IDLE_TIMEOUT_MS: number;
|
|
39
|
+
export declare const DEFAULT_MODELS_DIR: string;
|
|
40
|
+
export declare const EMBEDDING_META_PATH: string;
|
|
41
|
+
export declare function getLogger(): {
|
|
42
|
+
info: (...a: unknown[]) => void;
|
|
43
|
+
warn: (...a: unknown[]) => void;
|
|
44
|
+
error: (...a: unknown[]) => void;
|
|
45
|
+
debug: (...a: unknown[]) => void;
|
|
46
|
+
};
|
|
47
|
+
interface EmbeddingMeta {
|
|
48
|
+
model: string;
|
|
49
|
+
dimensions: number;
|
|
50
|
+
lastChanged: string;
|
|
51
|
+
}
|
|
52
|
+
export declare function readEmbeddingMeta(): EmbeddingMeta | null;
|
|
53
|
+
export declare function checkDimensionMigration(model: string, dimensions: number): void;
|
|
54
|
+
export declare function safeUnlink(filepath: string): void;
|
|
55
|
+
export declare function getErrorMessage(error: unknown): string;
|
|
56
|
+
export declare function isCorruptedModelLoadError(error: unknown): boolean;
|
|
57
|
+
/** Known TEXT_EMBEDDING GGUFs the framework may warm up (same filenames as HuggingFace repos). */
|
|
58
|
+
export interface WarmupReuseEmbeddingCandidate {
|
|
59
|
+
readonly model: string;
|
|
60
|
+
readonly modelRepo: string;
|
|
61
|
+
readonly dimensions: number;
|
|
62
|
+
readonly contextSize: number;
|
|
63
|
+
readonly gpuLayers: string;
|
|
64
|
+
}
|
|
65
|
+
/** True if a sanitized GGUF with this basename exists under `modelsDir`. */
|
|
66
|
+
export declare function embeddingGgufFilePresent(modelsDir: string, filename: string): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* When the configured embedding file is missing, reuse only the compact,
|
|
69
|
+
* SQL-safe embedding GGUF already on disk. The framework intentionally avoids
|
|
70
|
+
* reviving legacy larger defaults from MODELS_DIR because they would reintroduce
|
|
71
|
+
* dimension mismatches and unnecessary RAM/download cost.
|
|
72
|
+
*/
|
|
73
|
+
export declare function findExistingEmbeddingModelForWarmupReuse(modelsDir: string): WarmupReuseEmbeddingCandidate | null;
|
|
74
|
+
export declare function isEmbeddingWarmupReuseDisabled(): boolean;
|
|
75
|
+
export declare function ensureModel(modelsDir: string, repo: string, filename: string, force?: boolean, onProgress?: EmbeddingProgressCallback): Promise<string>;
|
|
76
|
+
export {};
|
|
77
|
+
//# sourceMappingURL=embedding-manager-support.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-manager-support.d.ts","sourceRoot":"","sources":["../../src/runtime/embedding-manager-support.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,CACvC,KAAK,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,EACvD,MAAM,CAAC,EAAE,MAAM,KACX,IAAI,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,KAChB,IAAI,CAAC;AAEV,MAAM,WAAW,sBAAsB;IACtC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,UAAU,CAAC,EAAE,yBAAyB,CAAC;CACvC;AAED,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AACtD,eAAO,MAAM,kBAAkB,QAAyC,CAAC;AAIzE,eAAO,MAAM,mBAAmB,QAEqB,CAAC;AAWtD,wBAAgB,SAAS;UAPhB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI;UACzB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI;WACxB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI;WACzB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI;EAkBlC;AAED,UAAU,aAAa;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CASxD;AAaD,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GAChB,IAAI,CAgBN;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMjD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAYtD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQjE;AA+ED,kGAAkG;AAClG,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAcD,4EAA4E;AAC5E,wBAAgB,wBAAwB,CACvC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACd,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,wCAAwC,CACvD,SAAS,EAAE,MAAM,GACf,6BAA6B,GAAG,IAAI,CAWtC;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAIxD;AAkJD,wBAAsB,WAAW,CAChC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,OAAO,EACf,UAAU,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,MAAM,CAAC,CAuCjB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type EmbeddingTier = "fallback" | "standard" | "performance";
|
|
2
|
+
export interface EmbeddingPreset {
|
|
3
|
+
tier: EmbeddingTier;
|
|
4
|
+
label: string;
|
|
5
|
+
description: string;
|
|
6
|
+
model: string;
|
|
7
|
+
modelRepo: string;
|
|
8
|
+
dimensions: number;
|
|
9
|
+
gpuLayers: "auto" | 0;
|
|
10
|
+
contextSize: number;
|
|
11
|
+
downloadSizeMB: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const EMBEDDING_PRESETS: Record<EmbeddingTier, EmbeddingPreset>;
|
|
14
|
+
export declare function detectEmbeddingTier(): EmbeddingTier;
|
|
15
|
+
export declare function detectEmbeddingPreset(): EmbeddingPreset;
|
|
16
|
+
//# sourceMappingURL=embedding-presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-presets.d.ts","sourceRoot":"","sources":["../../src/runtime/embedding-presets.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACvB;AAaD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,eAAe,CAqCpE,CAAC;AAIF,wBAAgB,mBAAmB,IAAI,aAAa,CAQnD;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether to prefetch the local GGUF embedding model before runtime boot.
|
|
3
|
+
*
|
|
4
|
+
* Chat/inference provider (what you pick in first-run) is separate from
|
|
5
|
+
* **embeddings** (vector memory / RAG). By default the framework keeps
|
|
6
|
+
* `@elizaos/plugin-local-inference` loaded because API-based model plugins do
|
|
7
|
+
* not implement TEXT_EMBEDDING — so a local model was historically always
|
|
8
|
+
* warmed up. When Eliza Cloud is connected with **cloud embeddings** enabled,
|
|
9
|
+
* the cloud plugin handles embeddings instead; skipping warmup avoids a large
|
|
10
|
+
* download unrelated to “local inference” for chat.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isLocalEmbeddingDisabledByEnv(): boolean;
|
|
13
|
+
export declare function shouldWarmupLocalEmbeddingModel(): boolean;
|
|
14
|
+
//# sourceMappingURL=embedding-warmup-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-warmup-policy.d.ts","sourceRoot":"","sources":["../../src/runtime/embedding-warmup-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,wBAAgB,6BAA6B,IAAI,OAAO,CAEvD;AAED,wBAAgB,+BAA+B,IAAI,OAAO,CAuBzD"}
|