@elizaos/plugin-local-inference 2.0.3-beta.2 → 2.0.3-beta.4
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/README.md +84 -10
- package/dist/actions/generate-media.d.ts.map +1 -0
- package/dist/actions/identify-speaker.d.ts.map +1 -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.map +1 -0
- package/dist/index.js +39647 -0
- package/dist/index.js.map +217 -0
- package/{src → dist}/local-inference-routes.d.ts +9 -0
- package/dist/local-inference-routes.d.ts.map +1 -0
- package/dist/provider.d.ts.map +1 -0
- package/{src → dist}/routes/compat-helpers.d.ts +1 -1
- package/dist/routes/compat-helpers.d.ts.map +1 -0
- package/dist/routes/family-member-route.d.ts.map +1 -0
- package/{src → dist}/routes/index.d.ts +1 -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/{src → dist}/routes/live-diarization-route.d.ts +7 -0
- package/dist/routes/live-diarization-route.d.ts.map +1 -0
- package/dist/routes/local-inference-asr-route.d.ts.map +1 -0
- package/dist/routes/local-inference-asr-transcribe.d.ts.map +1 -0
- package/dist/routes/local-inference-compat-routes.d.ts.map +1 -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.map +1 -0
- package/{src → dist}/routes/transcripts-routes.d.ts +8 -0
- package/dist/routes/transcripts-routes.d.ts.map +1 -0
- package/dist/routes/voice-first-run-routes.d.ts.map +1 -0
- package/dist/routes/voice-models-routes.d.ts.map +1 -0
- package/dist/routes/voice-profile-plugin-routes.d.ts.map +1 -0
- package/dist/routes/voice-profiles-management-routes.d.ts.map +1 -0
- package/dist/routes/voice-speaker-profile-routes.d.ts.map +1 -0
- package/dist/runtime/embedding-manager-support.d.ts.map +1 -0
- package/dist/runtime/embedding-presets.d.ts.map +1 -0
- package/dist/runtime/embedding-warmup-policy.d.ts.map +1 -0
- package/{src → dist}/runtime/ensure-local-inference-handler.d.ts +8 -0
- package/dist/runtime/ensure-local-inference-handler.d.ts.map +1 -0
- package/{src → dist}/runtime/index.d.ts +1 -1
- 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/{src → dist}/runtime/voice-entity-binding.d.ts +10 -0
- package/dist/runtime/voice-entity-binding.d.ts.map +1 -0
- package/{src → dist}/services/active-model.d.ts +28 -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/{src → dist}/services/assignments.d.ts +16 -3
- 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/{src → dist}/services/backend.d.ts +110 -16
- package/dist/services/backend.d.ts.map +1 -0
- package/{src → dist}/services/bionic-host-loader.d.ts +21 -0
- package/dist/services/bionic-host-loader.d.ts.map +1 -0
- package/dist/services/bundled-models.d.ts.map +1 -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.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.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.map +1 -0
- package/{src → dist}/services/desktop-fused-ffi-backend-runtime.d.ts +22 -6
- package/dist/services/desktop-fused-ffi-backend-runtime.d.ts.map +1 -0
- package/dist/services/device-bridge.d.ts.map +1 -0
- package/dist/services/device-resource-metrics.d.ts.map +1 -0
- package/{src → dist}/services/device-tier.d.ts +19 -1
- package/dist/services/device-tier.d.ts.map +1 -0
- package/{src → dist}/services/downloader.d.ts +16 -4
- package/dist/services/downloader.d.ts.map +1 -0
- package/{src → dist}/services/engine.d.ts +43 -4
- 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.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/{src → dist}/services/ffi-streaming-backend.d.ts +28 -7
- package/dist/services/ffi-streaming-backend.d.ts.map +1 -0
- package/{src → dist}/services/ffi-streaming-runner.d.ts +24 -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.map +1 -0
- package/dist/services/handler-registry.d.ts.map +1 -0
- package/dist/services/hardware.d.ts.map +1 -0
- package/dist/services/image-description-runtime.d.ts.map +1 -0
- package/dist/services/imagegen/aosp-unavailable.d.ts.map +1 -0
- package/dist/services/imagegen/backend-selector.d.ts.map +1 -0
- package/dist/services/imagegen/coreml-unavailable.d.ts.map +1 -0
- package/dist/services/imagegen/errors.d.ts.map +1 -0
- package/dist/services/imagegen/index.d.ts.map +1 -0
- package/dist/services/imagegen/mflux.d.ts.map +1 -0
- package/{src → dist}/services/imagegen/sd-cpp.d.ts +1 -0
- package/dist/services/imagegen/sd-cpp.d.ts.map +1 -0
- package/dist/services/imagegen/tensorrt-unavailable.d.ts.map +1 -0
- package/dist/services/imagegen/types.d.ts.map +1 -0
- package/{src → dist}/services/index.d.ts +3 -1
- 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.map +1 -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.map +1 -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.map +1 -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/{src → dist}/services/manifest/schema.d.ts +196 -6
- package/dist/services/manifest/schema.d.ts.map +1 -0
- package/{src → dist}/services/manifest/types.d.ts +3 -1
- package/dist/services/manifest/types.d.ts.map +1 -0
- package/dist/services/manifest/validator.d.ts.map +1 -0
- package/{src → dist}/services/memory-arbiter.d.ts +33 -3
- 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/{src → dist}/services/memory-monitor.d.ts +6 -0
- package/dist/services/memory-monitor.d.ts.map +1 -0
- package/dist/services/memory-pressure.d.ts.map +1 -0
- package/dist/services/mtp-doctor.d.ts.map +1 -0
- package/dist/services/network-policy.d.ts.map +1 -0
- package/dist/services/paths.d.ts.map +1 -0
- package/dist/services/planner-skeleton.d.ts.map +1 -0
- package/dist/services/providers.d.ts.map +1 -0
- package/dist/services/ram-budget.d.ts.map +1 -0
- package/dist/services/readiness.d.ts.map +1 -0
- package/dist/services/recommendation.d.ts.map +1 -0
- package/{src → dist}/services/registry.d.ts +11 -13
- package/dist/services/registry.d.ts.map +1 -0
- package/{src → dist}/services/router-handler.d.ts +2 -2
- package/dist/services/router-handler.d.ts.map +1 -0
- package/{src → dist}/services/routing-policy.d.ts +32 -9
- package/dist/services/routing-policy.d.ts.map +1 -0
- package/dist/services/routing-preferences.d.ts.map +1 -0
- package/dist/services/runtime-target.d.ts.map +1 -0
- package/{src → dist}/services/service.d.ts +1 -1
- package/dist/services/service.d.ts.map +1 -0
- package/dist/services/session-pool.d.ts.map +1 -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.map +1 -0
- package/dist/services/system-memory.d.ts.map +1 -0
- package/{src → dist}/services/types.d.ts +1 -1
- package/dist/services/types.d.ts.map +1 -0
- package/dist/services/verify-on-device.d.ts.map +1 -0
- package/dist/services/verify.d.ts.map +1 -0
- package/dist/services/vision/aosp-unavailable.d.ts.map +1 -0
- package/dist/services/vision/capacitor-llama.d.ts.map +1 -0
- package/dist/services/vision/cloud-fallback.d.ts.map +1 -0
- package/dist/services/vision/hash.d.ts.map +1 -0
- package/{src → dist}/services/vision/index.d.ts +1 -1
- package/dist/services/vision/index.d.ts.map +1 -0
- package/dist/services/vision/llama-server.d.ts.map +1 -0
- package/{src → dist}/services/vision/types.d.ts +13 -4
- package/dist/services/vision/types.d.ts.map +1 -0
- package/dist/services/vision/vast-fallback.d.ts.map +1 -0
- package/{src → dist}/services/vision-embedding-cache.d.ts +1 -1
- 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/{src → dist}/services/voice/audio-frame-consumer.d.ts +82 -0
- package/dist/services/voice/audio-frame-consumer.d.ts.map +1 -0
- package/dist/services/voice/barge-in.d.ts.map +1 -0
- package/dist/services/voice/cancellation-coordinator.d.ts.map +1 -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.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/{src → dist}/services/voice/eliza1-eot-scorer.d.ts +8 -8
- 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/{src → dist}/services/voice/embedding.d.ts +2 -3
- package/dist/services/voice/embedding.d.ts.map +1 -0
- package/dist/services/voice/emotion-attribution.d.ts.map +1 -0
- package/{src → dist}/services/voice/engine-bridge.d.ts +8 -5
- package/dist/services/voice/engine-bridge.d.ts.map +1 -0
- package/{src → dist}/services/voice/eot-classifier-ggml.d.ts +22 -22
- package/dist/services/voice/eot-classifier-ggml.d.ts.map +1 -0
- package/{src → dist}/services/voice/eot-classifier.d.ts +9 -12
- package/dist/services/voice/eot-classifier.d.ts.map +1 -0
- package/{src → dist}/services/voice/errors.d.ts +1 -1
- package/dist/services/voice/errors.d.ts.map +1 -0
- package/{src → dist}/services/voice/expressive-tags.d.ts +5 -5
- package/dist/services/voice/expressive-tags.d.ts.map +1 -0
- package/{src → dist}/services/voice/ffi-bindings.d.ts +26 -4
- package/dist/services/voice/ffi-bindings.d.ts.map +1 -0
- package/dist/services/voice/first-line-cache.d.ts.map +1 -0
- package/{src → dist}/services/voice/fused-eot-scorer.d.ts +6 -6
- package/dist/services/voice/fused-eot-scorer.d.ts.map +1 -0
- package/{src → dist}/services/voice/index.d.ts +8 -3
- 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/{src → dist}/services/voice/kokoro/kokoro-backend.d.ts +15 -0
- package/dist/services/voice/kokoro/kokoro-backend.d.ts.map +1 -0
- package/{src → dist}/services/voice/kokoro/kokoro-engine-discovery.d.ts +1 -1
- package/dist/services/voice/kokoro/kokoro-engine-discovery.d.ts.map +1 -0
- package/{src → dist}/services/voice/kokoro/kokoro-ffi-runtime.d.ts +3 -3
- package/dist/services/voice/kokoro/kokoro-ffi-runtime.d.ts.map +1 -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.map +1 -0
- package/{src → dist}/services/voice/kokoro/pick-runtime.d.ts +1 -1
- 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.map +1 -0
- package/dist/services/voice/kokoro/voice-presets.d.ts.map +1 -0
- package/dist/services/voice/kokoro/voices.d.ts.map +1 -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/{src → dist}/services/voice/mic-source.d.ts +1 -1
- 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.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/{src → dist}/services/voice/partial-stabilizer.d.ts +1 -1
- package/dist/services/voice/partial-stabilizer.d.ts.map +1 -0
- package/dist/services/voice/phoneme-tokenizer.d.ts.map +1 -0
- package/dist/services/voice/phrase-cache.d.ts.map +1 -0
- package/dist/services/voice/phrase-chunker.d.ts.map +1 -0
- package/dist/services/voice/pipeline-impls.d.ts.map +1 -0
- package/dist/services/voice/pipeline.d.ts.map +1 -0
- package/dist/services/voice/prefill-client.d.ts.map +1 -0
- package/dist/services/voice/prefix-preserving-queue.d.ts.map +1 -0
- package/dist/services/voice/profile-store.d.ts.map +1 -0
- package/dist/services/voice/ring-buffer.d.ts.map +1 -0
- package/dist/services/voice/rollback-queue.d.ts.map +1 -0
- package/dist/services/voice/samantha-preset-placeholder.d.ts.map +1 -0
- package/dist/services/voice/samantha-preset-regenerator.d.ts.map +1 -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/{src → dist}/services/voice/shared-resources.d.ts +14 -0
- package/dist/services/voice/shared-resources.d.ts.map +1 -0
- package/dist/services/voice/speaker/attribution-pipeline.d.ts.map +1 -0
- package/dist/services/voice/speaker/diarizer-fused.d.ts.map +1 -0
- package/dist/services/voice/speaker/diarizer.d.ts.map +1 -0
- package/dist/services/voice/speaker/encoder-fused.d.ts.map +1 -0
- package/dist/services/voice/speaker/encoder-ggml.d.ts.map +1 -0
- package/dist/services/voice/speaker/encoder.d.ts.map +1 -0
- package/dist/services/voice/speaker-imprint.d.ts.map +1 -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.map +1 -0
- package/{src → dist}/services/voice/transcriber.d.ts +4 -4
- package/dist/services/voice/transcriber.d.ts.map +1 -0
- package/dist/services/voice/transcript-knowledge.d.ts.map +1 -0
- package/{src → dist}/services/voice/transcript-service.d.ts +20 -1
- package/dist/services/voice/transcript-service.d.ts.map +1 -0
- package/{src → dist}/services/voice/transcript-store.d.ts +12 -1
- package/dist/services/voice/transcript-store.d.ts.map +1 -0
- package/dist/services/voice/turn-controller.d.ts.map +1 -0
- package/{src → dist}/services/voice/types.d.ts +6 -6
- package/dist/services/voice/types.d.ts.map +1 -0
- package/{src → dist}/services/voice/vad.d.ts +6 -5
- package/dist/services/voice/vad.d.ts.map +1 -0
- package/dist/services/voice/voice-budget.d.ts.map +1 -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/{src → dist}/services/voice/voice-preset-format.d.ts +2 -2
- package/dist/services/voice/voice-preset-format.d.ts.map +1 -0
- package/dist/services/voice/voice-profile-artifact.d.ts.map +1 -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.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/{src → dist}/services/voice/wake-word-ggml.d.ts +8 -9
- package/dist/services/voice/wake-word-ggml.d.ts.map +1 -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.map +1 -0
- package/dist/services/voice-model-updater.d.ts.map +1 -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 +28 -9
- package/registry-entry.json +137 -0
- package/src/adapters/capacitor-llama/__tests__/voice-turn.test.ts +293 -0
- package/src/adapters/capacitor-llama/environment.ts +1 -1
- package/src/adapters/capacitor-llama/index.ts +28 -4
- package/src/adapters/capacitor-llama/native-voice-capture.ts +140 -0
- package/src/adapters/capacitor-llama/text-streaming.ts +2 -2
- package/src/adapters/capacitor-llama/voice-turn.ts +178 -0
- package/src/backends/apple-foundation.ts +1 -1
- package/src/local-inference-routes.test.ts +57 -11
- package/src/local-inference-routes.ts +90 -8
- package/src/provider.ts +32 -3
- package/src/routes/compat-helpers.ts +2 -1
- package/src/routes/index.ts +1 -0
- package/src/routes/live-diarization-route.test.ts +134 -0
- package/src/routes/live-diarization-route.ts +79 -3
- package/src/routes/local-inference-asr-route.test.ts +43 -2
- package/src/routes/local-inference-asr-route.ts +7 -4
- package/src/routes/local-inference-asr-transcribe.test.ts +4 -4
- package/src/routes/local-inference-asr-transcribe.ts +1 -1
- package/src/routes/local-inference-compat-routes.test.ts +3 -3
- package/src/routes/local-inference-compat-routes.ts +23 -56
- package/src/routes/native-pcm-turn-route.test.ts +136 -0
- package/src/routes/native-pcm-turn-route.ts +121 -0
- package/src/routes/transcripts-routes.test.ts +51 -0
- package/src/routes/transcripts-routes.ts +35 -3
- package/src/runtime/bionic-wire-encoding.test.ts +147 -0
- package/src/runtime/ensure-local-inference-handler.test.ts +203 -5
- package/src/runtime/ensure-local-inference-handler.ts +203 -11
- package/src/runtime/index.ts +4 -1
- package/src/runtime/mobile-local-inference-gate.test.ts +85 -2
- package/src/runtime/mobile-local-inference-gate.ts +60 -5
- package/src/runtime/voice-entity-binding.transcript.test.ts +29 -0
- package/src/runtime/voice-entity-binding.ts +46 -6
- package/src/runtime/voice-speaker-entity-contract.test.ts +149 -0
- package/src/services/README.md +2 -2
- package/src/services/__tests__/backend-selector.precedence.test.ts +333 -0
- package/src/services/active-model-context-fit.test.ts +125 -0
- package/src/services/active-model.ts +211 -8
- package/src/services/asr-provenance.ts +68 -0
- package/src/services/assignment-validation.test.ts +118 -0
- package/src/services/assignments.test.ts +26 -0
- package/src/services/assignments.ts +52 -4
- package/src/services/backend.test.ts +84 -0
- package/src/services/backend.ts +198 -19
- package/src/services/bionic-host-loader.test.ts +94 -1
- package/src/services/bionic-host-loader.ts +72 -0
- package/src/services/cache-bridge.test.ts +7 -7
- package/src/services/catalog.test.ts +32 -11
- package/src/services/catalog.ts +6 -0
- package/src/services/cloud-fallback.ts +1 -1
- package/src/services/context-fit.test.ts +121 -0
- package/src/services/context-fit.ts +113 -0
- package/src/services/desktop-fused-ffi-backend-runtime.ts +99 -7
- package/src/services/device-tier.test.ts +89 -2
- package/src/services/device-tier.ts +103 -11
- package/src/services/downloader.test.ts +199 -58
- package/src/services/downloader.ts +141 -27
- package/src/services/engine-direct-bundle.test.ts +38 -6
- package/src/services/engine.ts +291 -104
- package/src/services/ensure-local-artifacts.ts +1 -1
- package/src/services/ffi-llm-streaming-abi.ts +6 -3
- package/src/services/ffi-streaming-backend.ts +44 -8
- package/src/services/ffi-streaming-runner.test.ts +163 -3
- package/src/services/ffi-streaming-runner.ts +54 -1
- package/src/services/ffi-unload-ordering.test.ts +5 -1
- package/src/services/fused-eliza1-no-regression.test.ts +144 -0
- package/src/services/hardware.test.ts +7 -2
- package/src/services/hardware.ts +28 -0
- package/src/services/imagegen/backend-selector.test.ts +190 -0
- package/src/services/imagegen/sd-cpp.ts +6 -9
- package/src/services/index.ts +18 -0
- package/src/services/ios-llama-streaming.ts +1 -1
- package/src/services/kv-spill.ts +6 -5
- 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/manifest/eliza-1.manifest.v1.json +84 -2
- package/src/services/manifest/index.ts +6 -0
- package/src/services/manifest/manifest.test.ts +156 -54
- package/src/services/manifest/schema.ts +160 -52
- package/src/services/manifest/types.ts +6 -0
- package/src/services/manifest/validator.ts +91 -25
- package/src/services/memory-arbiter.test.ts +139 -0
- package/src/services/memory-arbiter.ts +81 -15
- package/src/services/memory-benchmark.test.ts +91 -0
- package/src/services/memory-benchmark.ts +354 -0
- package/src/services/memory-monitor.test.ts +24 -0
- package/src/services/memory-monitor.ts +12 -0
- package/src/services/mtp-doctor.ts +10 -2
- package/src/services/network-policy.ts +5 -5
- package/src/services/ram-budget-cache.test.ts +2 -1
- package/src/services/ram-budget.ts +0 -0
- package/src/services/recommendation.test.ts +216 -0
- package/src/services/registry.ts +25 -19
- package/src/services/required-kernels-gate.test.ts +64 -0
- package/src/services/router-handler.ts +43 -24
- package/src/services/routing-policy.test.ts +211 -23
- package/src/services/routing-policy.ts +92 -22
- package/src/services/service.test.ts +3 -3
- package/src/services/service.ts +22 -7
- package/src/services/transcription-priority.test.ts +2 -2
- package/src/services/types.ts +4 -0
- package/src/services/verify-on-device.test.ts +2 -2
- package/src/services/vision/hash.ts +1 -1
- package/src/services/vision/index.ts +2 -2
- package/src/services/vision/llama-server.ts +1 -1
- package/src/services/vision/types.ts +13 -4
- package/src/services/vision-embedding-cache.ts +1 -1
- package/src/services/voice/VOICE_WORKBENCH.md +71 -26
- package/src/services/voice/__fixtures__/voice-workbench-logic-baseline.json +180 -0
- package/src/services/voice/__test-helpers__/synthetic-speech.ts +72 -2
- package/src/services/voice/__tests__/eliza1-eot-scorer.test.ts +29 -29
- package/src/services/voice/__tests__/streaming-asr.test.ts +1 -1
- 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 +6 -8
- package/src/services/voice/audio-frame-consumer.test.ts +327 -1
- package/src/services/voice/audio-frame-consumer.ts +165 -5
- package/src/services/voice/barge-in.ts +2 -3
- 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 +2 -2
- package/src/services/voice/e2e-harness.ts +175 -16
- 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 +22 -22
- package/src/services/voice/embedding.ts +2 -3
- package/src/services/voice/engine-bridge-transcript-join.test.ts +278 -0
- package/src/services/voice/engine-bridge.ts +151 -110
- package/src/services/voice/eot-classifier-ggml.ts +42 -39
- package/src/services/voice/eot-classifier.test.ts +98 -0
- package/src/services/voice/eot-classifier.ts +11 -122
- package/src/services/voice/errors.ts +2 -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 +8 -8
- package/src/services/voice/ffi-bindings.test.ts +10 -3
- package/src/services/voice/ffi-bindings.ts +177 -15
- package/src/services/voice/fused-eot-scorer.ts +17 -13
- package/src/services/voice/index.ts +33 -12
- package/src/services/voice/kokoro/__tests__/kokoro-backend.test.ts +112 -1
- package/src/services/voice/kokoro/__tests__/kokoro-engine-bridge.real.test.ts +88 -3
- package/src/services/voice/kokoro/__tests__/runtime-selection.test.ts +37 -201
- package/src/services/voice/kokoro/kokoro-backend.ts +16 -0
- package/src/services/voice/kokoro/kokoro-engine-discovery.ts +1 -1
- package/src/services/voice/kokoro/kokoro-ffi-runtime.ts +3 -3
- package/src/services/voice/kokoro/pick-runtime.ts +1 -1
- package/src/services/voice/kokoro/runtime-selection.ts +28 -201
- package/src/services/voice/live-diarization-session.echo.test.ts +232 -0
- package/src/services/voice/live-diarization-session.ts +335 -2
- 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.ts +1 -1
- 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/partial-stabilizer.ts +1 -1
- package/src/services/voice/pipeline.ts +3 -4
- 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/samantha-preset-regenerator.wav.test.ts +90 -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 +23 -0
- package/src/services/voice/speaker/attribution-pipeline.test.ts +221 -0
- package/src/services/voice/speaker/attribution-pipeline.ts +85 -22
- package/src/services/voice/speaker/encoder-ggml.test.ts +59 -0
- package/src/services/voice/transcriber.asr-backend.test.ts +76 -0
- package/src/services/voice/transcriber.ts +4 -4
- package/src/services/voice/transcript-service.test.ts +58 -0
- package/src/services/voice/transcript-service.ts +64 -0
- package/src/services/voice/transcript-store.test.ts +36 -0
- package/src/services/voice/transcript-store.ts +32 -0
- package/src/services/voice/types.ts +7 -7
- package/src/services/voice/vad.test.ts +33 -15
- package/src/services/voice/vad.ts +25 -20
- package/src/services/voice/voice-budget.test.ts +0 -3
- package/src/services/voice/voice-budget.ts +6 -6
- package/src/services/voice/voice-duet.test.ts +1 -1
- 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 +17 -4
- package/src/services/voice/voice-scenario.test.ts +159 -0
- package/src/services/voice/voice-scenario.ts +133 -7
- package/src/services/voice/voice-scenario.turn-helpers.test.ts +77 -0
- package/src/services/voice/voice-workbench-report.ts +58 -17
- package/src/services/voice/wake-word-ggml.ts +12 -13
- 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-prewarm.ts +1 -1
- package/src/voice-workbench.ts +71 -0
- package/src/actions/generate-media.d.ts.map +0 -1
- package/src/actions/identify-speaker.d.ts.map +0 -1
- package/src/actions/transcription-control.d.ts.map +0 -1
- package/src/index.d.ts.map +0 -1
- package/src/local-inference-routes.d.ts.map +0 -1
- package/src/provider.d.ts.map +0 -1
- package/src/routes/compat-helpers.d.ts.map +0 -1
- package/src/routes/family-member-route.d.ts.map +0 -1
- package/src/routes/index.d.ts.map +0 -1
- package/src/routes/live-diarization-route.d.ts.map +0 -1
- package/src/routes/local-inference-asr-route.d.ts.map +0 -1
- package/src/routes/local-inference-asr-transcribe.d.ts.map +0 -1
- package/src/routes/local-inference-compat-routes.d.ts.map +0 -1
- package/src/routes/local-inference-tts-route.d.ts.map +0 -1
- package/src/routes/transcript-audio-store.d.ts.map +0 -1
- package/src/routes/transcripts-routes.d.ts.map +0 -1
- package/src/routes/voice-first-run-routes.d.ts.map +0 -1
- package/src/routes/voice-models-routes.d.ts.map +0 -1
- package/src/routes/voice-profile-plugin-routes.d.ts.map +0 -1
- package/src/routes/voice-profiles-management-routes.d.ts.map +0 -1
- package/src/routes/voice-speaker-profile-routes.d.ts.map +0 -1
- package/src/runtime/embedding-manager-support.d.ts.map +0 -1
- package/src/runtime/embedding-presets.d.ts.map +0 -1
- package/src/runtime/embedding-warmup-policy.d.ts.map +0 -1
- package/src/runtime/ensure-local-inference-handler.d.ts.map +0 -1
- package/src/runtime/index.d.ts.map +0 -1
- package/src/runtime/mobile-local-inference-gate.d.ts +0 -31
- package/src/runtime/mobile-local-inference-gate.d.ts.map +0 -1
- package/src/runtime/voice-entity-binding.d.ts.map +0 -1
- package/src/services/active-model.d.ts.map +0 -1
- package/src/services/assignments.d.ts.map +0 -1
- package/src/services/backend.d.ts.map +0 -1
- package/src/services/bionic-host-loader.d.ts.map +0 -1
- package/src/services/bundled-models.d.ts.map +0 -1
- package/src/services/cache-bridge.d.ts.map +0 -1
- package/src/services/catalog.d.ts +0 -10
- package/src/services/catalog.d.ts.map +0 -1
- package/src/services/checkpoint-client.d.ts.map +0 -1
- package/src/services/cloud-fallback.d.ts.map +0 -1
- package/src/services/conversation-registry.d.ts.map +0 -1
- package/src/services/desktop-fused-ffi-backend-runtime.d.ts.map +0 -1
- package/src/services/device-bridge.d.ts.map +0 -1
- package/src/services/device-resource-metrics.d.ts.map +0 -1
- package/src/services/device-tier.d.ts.map +0 -1
- package/src/services/downloader.d.ts.map +0 -1
- package/src/services/engine.d.ts.map +0 -1
- package/src/services/external-scanner.d.ts.map +0 -1
- package/src/services/ffi-streaming-backend.d.ts.map +0 -1
- package/src/services/ffi-streaming-runner.d.ts.map +0 -1
- package/src/services/gpu-detect.d.ts.map +0 -1
- package/src/services/handler-registry.d.ts.map +0 -1
- package/src/services/hardware.d.ts.map +0 -1
- package/src/services/hf-search.d.ts +0 -26
- package/src/services/hf-search.d.ts.map +0 -1
- package/src/services/hf-search.test.ts +0 -69
- package/src/services/hf-search.ts +0 -420
- package/src/services/image-description-runtime.d.ts.map +0 -1
- package/src/services/imagegen/aosp-unavailable.d.ts.map +0 -1
- package/src/services/imagegen/backend-selector.d.ts.map +0 -1
- package/src/services/imagegen/coreml-unavailable.d.ts.map +0 -1
- package/src/services/imagegen/errors.d.ts.map +0 -1
- package/src/services/imagegen/index.d.ts.map +0 -1
- package/src/services/imagegen/mflux.d.ts.map +0 -1
- package/src/services/imagegen/sd-cpp.d.ts.map +0 -1
- package/src/services/imagegen/tensorrt-unavailable.d.ts.map +0 -1
- package/src/services/imagegen/types.d.ts.map +0 -1
- package/src/services/index.d.ts.map +0 -1
- package/src/services/inference-capabilities.d.ts.map +0 -1
- package/src/services/inference-telemetry.d.ts.map +0 -1
- package/src/services/kv-spill.d.ts.map +0 -1
- package/src/services/latency-trace.d.ts.map +0 -1
- package/src/services/llm-streaming-binding.d.ts.map +0 -1
- package/src/services/load-args.d.ts.map +0 -1
- package/src/services/manifest/index.d.ts +0 -4
- package/src/services/manifest/index.d.ts.map +0 -1
- package/src/services/manifest/schema.d.ts.map +0 -1
- package/src/services/manifest/types.d.ts.map +0 -1
- package/src/services/manifest/validator.d.ts.map +0 -1
- package/src/services/memory-arbiter.d.ts.map +0 -1
- package/src/services/memory-monitor.d.ts.map +0 -1
- package/src/services/memory-pressure.d.ts.map +0 -1
- package/src/services/mtp-doctor.d.ts.map +0 -1
- package/src/services/network-policy.d.ts.map +0 -1
- package/src/services/paths.d.ts.map +0 -1
- package/src/services/planner-skeleton.d.ts.map +0 -1
- package/src/services/providers.d.ts.map +0 -1
- package/src/services/ram-budget.d.ts.map +0 -1
- package/src/services/readiness.d.ts.map +0 -1
- package/src/services/recommendation.d.ts.map +0 -1
- package/src/services/registry.d.ts.map +0 -1
- package/src/services/router-handler.d.ts.map +0 -1
- package/src/services/routing-policy.d.ts.map +0 -1
- package/src/services/routing-preferences.d.ts.map +0 -1
- package/src/services/runtime-target.d.ts.map +0 -1
- package/src/services/service.d.ts.map +0 -1
- package/src/services/session-pool.d.ts.map +0 -1
- package/src/services/structured-output/deterministic-repair.d.ts.map +0 -1
- package/src/services/structured-output.d.ts.map +0 -1
- package/src/services/system-memory.d.ts.map +0 -1
- package/src/services/types.d.ts.map +0 -1
- package/src/services/verify-on-device.d.ts.map +0 -1
- package/src/services/verify.d.ts.map +0 -1
- package/src/services/vision/aosp-unavailable.d.ts.map +0 -1
- package/src/services/vision/capacitor-llama.d.ts.map +0 -1
- package/src/services/vision/cloud-fallback.d.ts.map +0 -1
- package/src/services/vision/hash.d.ts.map +0 -1
- package/src/services/vision/index.d.ts.map +0 -1
- package/src/services/vision/llama-server.d.ts.map +0 -1
- package/src/services/vision/types.d.ts.map +0 -1
- package/src/services/vision/vast-fallback.d.ts.map +0 -1
- package/src/services/vision-embedding-cache.d.ts.map +0 -1
- package/src/services/voice/audio-frame-consumer.d.ts.map +0 -1
- package/src/services/voice/barge-in.d.ts.map +0 -1
- package/src/services/voice/cancellation-coordinator.d.ts.map +0 -1
- package/src/services/voice/checkpoint-manager.d.ts.map +0 -1
- package/src/services/voice/eager-context-builder.d.ts.map +0 -1
- package/src/services/voice/eliza1-eot-scorer.d.ts.map +0 -1
- package/src/services/voice/embedding.d.ts.map +0 -1
- package/src/services/voice/emotion-attribution.d.ts.map +0 -1
- package/src/services/voice/engine-bridge.d.ts.map +0 -1
- package/src/services/voice/eot-classifier-ggml.d.ts.map +0 -1
- package/src/services/voice/eot-classifier.d.ts.map +0 -1
- package/src/services/voice/errors.d.ts.map +0 -1
- package/src/services/voice/expressive-tags.d.ts.map +0 -1
- package/src/services/voice/ffi-bindings.d.ts.map +0 -1
- package/src/services/voice/first-line-cache.d.ts.map +0 -1
- package/src/services/voice/fused-eot-scorer.d.ts.map +0 -1
- package/src/services/voice/index.d.ts.map +0 -1
- package/src/services/voice/kokoro/kokoro-backend.d.ts.map +0 -1
- package/src/services/voice/kokoro/kokoro-engine-discovery.d.ts.map +0 -1
- package/src/services/voice/kokoro/kokoro-ffi-runtime.d.ts.map +0 -1
- package/src/services/voice/kokoro/kokoro-runtime.d.ts.map +0 -1
- package/src/services/voice/kokoro/phonemizer.d.ts.map +0 -1
- package/src/services/voice/kokoro/pick-runtime.d.ts.map +0 -1
- package/src/services/voice/kokoro/runtime-selection.d.ts +0 -92
- package/src/services/voice/kokoro/runtime-selection.d.ts.map +0 -1
- package/src/services/voice/kokoro/types.d.ts.map +0 -1
- package/src/services/voice/kokoro/voice-presets.d.ts.map +0 -1
- package/src/services/voice/kokoro/voices.d.ts.map +0 -1
- package/src/services/voice/lifecycle.d.ts.map +0 -1
- package/src/services/voice/live-diarization-session.d.ts +0 -96
- package/src/services/voice/live-diarization-session.d.ts.map +0 -1
- package/src/services/voice/mic-source.d.ts.map +0 -1
- package/src/services/voice/optimistic-policy.d.ts.map +0 -1
- package/src/services/voice/partial-stabilizer.d.ts.map +0 -1
- package/src/services/voice/phoneme-tokenizer.d.ts.map +0 -1
- package/src/services/voice/phrase-cache.d.ts.map +0 -1
- package/src/services/voice/phrase-chunker.d.ts.map +0 -1
- package/src/services/voice/pipeline-impls.d.ts.map +0 -1
- package/src/services/voice/pipeline.d.ts.map +0 -1
- package/src/services/voice/prefill-client.d.ts.map +0 -1
- package/src/services/voice/prefix-preserving-queue.d.ts.map +0 -1
- package/src/services/voice/profile-store.d.ts.map +0 -1
- package/src/services/voice/ring-buffer.d.ts.map +0 -1
- package/src/services/voice/rollback-queue.d.ts.map +0 -1
- package/src/services/voice/samantha-preset-placeholder.d.ts.map +0 -1
- package/src/services/voice/samantha-preset-regenerator.d.ts.map +0 -1
- package/src/services/voice/scheduler.d.ts.map +0 -1
- package/src/services/voice/shared-resources.d.ts.map +0 -1
- package/src/services/voice/speaker/attribution-pipeline.d.ts.map +0 -1
- package/src/services/voice/speaker/diarizer-fused.d.ts.map +0 -1
- package/src/services/voice/speaker/diarizer.d.ts.map +0 -1
- package/src/services/voice/speaker/encoder-fused.d.ts.map +0 -1
- package/src/services/voice/speaker/encoder-ggml.d.ts.map +0 -1
- package/src/services/voice/speaker/encoder.d.ts.map +0 -1
- package/src/services/voice/speaker-imprint.d.ts.map +0 -1
- package/src/services/voice/speaker-preset-cache.d.ts.map +0 -1
- package/src/services/voice/system-audio-sink.d.ts.map +0 -1
- package/src/services/voice/transcriber.d.ts.map +0 -1
- package/src/services/voice/transcript-knowledge.d.ts.map +0 -1
- package/src/services/voice/transcript-service.d.ts.map +0 -1
- package/src/services/voice/transcript-store.d.ts.map +0 -1
- package/src/services/voice/turn-controller.d.ts.map +0 -1
- package/src/services/voice/types.d.ts.map +0 -1
- package/src/services/voice/vad.d.ts.map +0 -1
- package/src/services/voice/voice-budget.d.ts.map +0 -1
- package/src/services/voice/voice-emotion-classifier.d.ts.map +0 -1
- package/src/services/voice/voice-preset-format.d.ts.map +0 -1
- package/src/services/voice/voice-profile-artifact.d.ts.map +0 -1
- package/src/services/voice/voice-profile-routes.d.ts.map +0 -1
- package/src/services/voice/voice-settings.d.ts +0 -82
- package/src/services/voice/voice-settings.d.ts.map +0 -1
- package/src/services/voice/voice-settings.ts +0 -172
- package/src/services/voice/voice-state-machine.d.ts.map +0 -1
- package/src/services/voice/wake-word-ggml.d.ts.map +0 -1
- package/src/services/voice/wake-word.d.ts.map +0 -1
- package/src/services/voice/wrap-with-first-line-cache.d.ts.map +0 -1
- package/src/services/voice-model-updater.d.ts.map +0 -1
- package/src/services/voice-prewarm.d.ts.map +0 -1
- /package/{src → dist}/actions/generate-media.d.ts +0 -0
- /package/{src → dist}/actions/identify-speaker.d.ts +0 -0
- /package/{src → dist}/actions/transcription-control.d.ts +0 -0
- /package/{src → dist}/index.d.ts +0 -0
- /package/{src → dist}/provider.d.ts +0 -0
- /package/{src → dist}/routes/family-member-route.d.ts +0 -0
- /package/{src → dist}/routes/local-inference-asr-route.d.ts +0 -0
- /package/{src → dist}/routes/local-inference-asr-transcribe.d.ts +0 -0
- /package/{src → dist}/routes/local-inference-compat-routes.d.ts +0 -0
- /package/{src → dist}/routes/local-inference-tts-route.d.ts +0 -0
- /package/{src → dist}/routes/transcript-audio-store.d.ts +0 -0
- /package/{src → dist}/routes/voice-first-run-routes.d.ts +0 -0
- /package/{src → dist}/routes/voice-models-routes.d.ts +0 -0
- /package/{src → dist}/routes/voice-profile-plugin-routes.d.ts +0 -0
- /package/{src → dist}/routes/voice-profiles-management-routes.d.ts +0 -0
- /package/{src → dist}/routes/voice-speaker-profile-routes.d.ts +0 -0
- /package/{src → dist}/runtime/embedding-manager-support.d.ts +0 -0
- /package/{src → dist}/runtime/embedding-presets.d.ts +0 -0
- /package/{src → dist}/runtime/embedding-warmup-policy.d.ts +0 -0
- /package/{src → dist}/services/bundled-models.d.ts +0 -0
- /package/{src → dist}/services/cache-bridge.d.ts +0 -0
- /package/{src → dist}/services/checkpoint-client.d.ts +0 -0
- /package/{src → dist}/services/cloud-fallback.d.ts +0 -0
- /package/{src → dist}/services/conversation-registry.d.ts +0 -0
- /package/{src → dist}/services/device-bridge.d.ts +0 -0
- /package/{src → dist}/services/device-resource-metrics.d.ts +0 -0
- /package/{src → dist}/services/external-scanner.d.ts +0 -0
- /package/{src → dist}/services/gpu-detect.d.ts +0 -0
- /package/{src → dist}/services/handler-registry.d.ts +0 -0
- /package/{src → dist}/services/hardware.d.ts +0 -0
- /package/{src → dist}/services/image-description-runtime.d.ts +0 -0
- /package/{src → dist}/services/imagegen/aosp-unavailable.d.ts +0 -0
- /package/{src → dist}/services/imagegen/backend-selector.d.ts +0 -0
- /package/{src → dist}/services/imagegen/coreml-unavailable.d.ts +0 -0
- /package/{src → dist}/services/imagegen/errors.d.ts +0 -0
- /package/{src → dist}/services/imagegen/index.d.ts +0 -0
- /package/{src → dist}/services/imagegen/mflux.d.ts +0 -0
- /package/{src → dist}/services/imagegen/tensorrt-unavailable.d.ts +0 -0
- /package/{src → dist}/services/imagegen/types.d.ts +0 -0
- /package/{src → dist}/services/inference-capabilities.d.ts +0 -0
- /package/{src → dist}/services/inference-telemetry.d.ts +0 -0
- /package/{src → dist}/services/kv-spill.d.ts +0 -0
- /package/{src → dist}/services/latency-trace.d.ts +0 -0
- /package/{src → dist}/services/llm-streaming-binding.d.ts +0 -0
- /package/{src → dist}/services/load-args.d.ts +0 -0
- /package/{src → dist}/services/manifest/validator.d.ts +0 -0
- /package/{src → dist}/services/memory-pressure.d.ts +0 -0
- /package/{src → dist}/services/mtp-doctor.d.ts +0 -0
- /package/{src → dist}/services/network-policy.d.ts +0 -0
- /package/{src → dist}/services/paths.d.ts +0 -0
- /package/{src → dist}/services/planner-skeleton.d.ts +0 -0
- /package/{src → dist}/services/providers.d.ts +0 -0
- /package/{src → dist}/services/ram-budget.d.ts +0 -0
- /package/{src → dist}/services/readiness.d.ts +0 -0
- /package/{src → dist}/services/recommendation.d.ts +0 -0
- /package/{src → dist}/services/routing-preferences.d.ts +0 -0
- /package/{src → dist}/services/runtime-target.d.ts +0 -0
- /package/{src → dist}/services/session-pool.d.ts +0 -0
- /package/{src → dist}/services/structured-output/deterministic-repair.d.ts +0 -0
- /package/{src → dist}/services/structured-output.d.ts +0 -0
- /package/{src → dist}/services/system-memory.d.ts +0 -0
- /package/{src → dist}/services/verify-on-device.d.ts +0 -0
- /package/{src → dist}/services/verify.d.ts +0 -0
- /package/{src → dist}/services/vision/aosp-unavailable.d.ts +0 -0
- /package/{src → dist}/services/vision/capacitor-llama.d.ts +0 -0
- /package/{src → dist}/services/vision/cloud-fallback.d.ts +0 -0
- /package/{src → dist}/services/vision/hash.d.ts +0 -0
- /package/{src → dist}/services/vision/llama-server.d.ts +0 -0
- /package/{src → dist}/services/vision/vast-fallback.d.ts +0 -0
- /package/{src → dist}/services/voice/barge-in.d.ts +0 -0
- /package/{src → dist}/services/voice/cancellation-coordinator.d.ts +0 -0
- /package/{src → dist}/services/voice/checkpoint-manager.d.ts +0 -0
- /package/{src → dist}/services/voice/eager-context-builder.d.ts +0 -0
- /package/{src → dist}/services/voice/emotion-attribution.d.ts +0 -0
- /package/{src → dist}/services/voice/first-line-cache.d.ts +0 -0
- /package/{src → dist}/services/voice/kokoro/kokoro-runtime.d.ts +0 -0
- /package/{src → dist}/services/voice/kokoro/phonemizer.d.ts +0 -0
- /package/{src → dist}/services/voice/kokoro/types.d.ts +0 -0
- /package/{src → dist}/services/voice/kokoro/voice-presets.d.ts +0 -0
- /package/{src → dist}/services/voice/kokoro/voices.d.ts +0 -0
- /package/{src → dist}/services/voice/lifecycle.d.ts +0 -0
- /package/{src → dist}/services/voice/optimistic-policy.d.ts +0 -0
- /package/{src → dist}/services/voice/phoneme-tokenizer.d.ts +0 -0
- /package/{src → dist}/services/voice/phrase-cache.d.ts +0 -0
- /package/{src → dist}/services/voice/phrase-chunker.d.ts +0 -0
- /package/{src → dist}/services/voice/pipeline-impls.d.ts +0 -0
- /package/{src → dist}/services/voice/pipeline.d.ts +0 -0
- /package/{src → dist}/services/voice/prefill-client.d.ts +0 -0
- /package/{src → dist}/services/voice/prefix-preserving-queue.d.ts +0 -0
- /package/{src → dist}/services/voice/profile-store.d.ts +0 -0
- /package/{src → dist}/services/voice/ring-buffer.d.ts +0 -0
- /package/{src → dist}/services/voice/rollback-queue.d.ts +0 -0
- /package/{src → dist}/services/voice/samantha-preset-placeholder.d.ts +0 -0
- /package/{src → dist}/services/voice/samantha-preset-regenerator.d.ts +0 -0
- /package/{src → dist}/services/voice/scheduler.d.ts +0 -0
- /package/{src → dist}/services/voice/speaker/attribution-pipeline.d.ts +0 -0
- /package/{src → dist}/services/voice/speaker/diarizer-fused.d.ts +0 -0
- /package/{src → dist}/services/voice/speaker/diarizer.d.ts +0 -0
- /package/{src → dist}/services/voice/speaker/encoder-fused.d.ts +0 -0
- /package/{src → dist}/services/voice/speaker/encoder-ggml.d.ts +0 -0
- /package/{src → dist}/services/voice/speaker/encoder.d.ts +0 -0
- /package/{src → dist}/services/voice/speaker-imprint.d.ts +0 -0
- /package/{src → dist}/services/voice/speaker-preset-cache.d.ts +0 -0
- /package/{src → dist}/services/voice/system-audio-sink.d.ts +0 -0
- /package/{src → dist}/services/voice/transcript-knowledge.d.ts +0 -0
- /package/{src → dist}/services/voice/turn-controller.d.ts +0 -0
- /package/{src → dist}/services/voice/voice-budget.d.ts +0 -0
- /package/{src → dist}/services/voice/voice-emotion-classifier.d.ts +0 -0
- /package/{src → dist}/services/voice/voice-profile-artifact.d.ts +0 -0
- /package/{src → dist}/services/voice/voice-profile-routes.d.ts +0 -0
- /package/{src → dist}/services/voice/voice-state-machine.d.ts +0 -0
- /package/{src → dist}/services/voice/wake-word.d.ts +0 -0
- /package/{src → dist}/services/voice/wrap-with-first-line-cache.d.ts +0 -0
- /package/{src → dist}/services/voice-model-updater.d.ts +0 -0
- /package/{src → dist}/services/voice-prewarm.d.ts +0 -0
|
@@ -15,9 +15,13 @@
|
|
|
15
15
|
// layers map but are not the same enum.
|
|
16
16
|
// - The schema URL `https://elizaos.ai/schemas/eliza-1.manifest.v1.json` is
|
|
17
17
|
// exported as a JSON Schema sibling file in this directory.
|
|
18
|
-
// - Eliza-1 speculative decoding is native llama.cpp MTP.
|
|
19
|
-
//
|
|
20
|
-
//
|
|
18
|
+
// - Eliza-1 speculative decoding is native llama.cpp MTP. Post-cutover (#9033)
|
|
19
|
+
// every Gemma 4 tier is SEPARATE-DRAFTER: it ships a dedicated drafter GGUF at
|
|
20
|
+
// `mtp/drafter-<tier>.gguf` in `files.mtp` (loaded `-md … --spec-type
|
|
21
|
+
// draft-mtp`), with its own `lineage.drafter`, and declares top-level
|
|
22
|
+
// `mtp: "separate-drafter"`. (The legacy embedded-draft-head shape carried the
|
|
23
|
+
// draft head inside the primary text GGUF with `files.mtp` empty; no shipped
|
|
24
|
+
// Gemma tier uses it.) AGENTS.md §1/§3 require MTP on every tier.
|
|
21
25
|
// - Per-sub-model versioning (kokoro, omnivoice, turn-detector, voice-emotion,
|
|
22
26
|
// diarizer, speaker-encoder, vad, wakeword, embedding, asr) lives in
|
|
23
27
|
// `packages/shared/src/local-inference/voice-models.ts` and the matching
|
|
@@ -26,25 +30,31 @@
|
|
|
26
30
|
// auto-updater walks.
|
|
27
31
|
|
|
28
32
|
import type { LocalRuntimeKernel } from "@elizaos/shared";
|
|
29
|
-
import
|
|
33
|
+
import z from "zod";
|
|
30
34
|
|
|
31
35
|
export const ELIZA_1_MANIFEST_SCHEMA_VERSION = "1" as const;
|
|
32
36
|
export const ELIZA_1_MANIFEST_SCHEMA_URL =
|
|
33
37
|
"https://elizaos.ai/schemas/eliza-1.manifest.v1.json" as const;
|
|
34
38
|
|
|
35
|
-
// The shared Eliza-1
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
// The shared Eliza-1 tokenizer (Gemma 4 SentencePiece, 262144-entry vocab),
|
|
40
|
+
// exported so runtime code can assert it. The cutover (#9033) moved eliza-1 to
|
|
41
|
+
// Gemma 4 bases, whose tokenizer family the bundle builder stamps as "gemma4".
|
|
42
|
+
export const ELIZA_1_TOKENIZER_FAMILY = "gemma4" as const;
|
|
43
|
+
export const ELIZA_1_TOKENIZER_VOCAB_SIZE = 262_144 as const;
|
|
44
|
+
|
|
45
|
+
// MTP (speculative-decode) bundle mode. Gemma 4 uses a SEPARATE drafter GGUF
|
|
46
|
+
// (`mtp/drafter-<tier>.gguf`, loaded `-md … --spec-type draft-mtp`); the older
|
|
47
|
+
// embedded-draft-head shape carried the draft head inside the primary text
|
|
48
|
+
// GGUF. AGENTS.md §1/§3 require MTP on every tier.
|
|
49
|
+
export const ELIZA_1_MTP_MODES = [
|
|
50
|
+
"separate-drafter",
|
|
51
|
+
"embedded-draft-head",
|
|
52
|
+
] as const;
|
|
53
|
+
export type Eliza1MtpMode = (typeof ELIZA_1_MTP_MODES)[number];
|
|
38
54
|
|
|
39
55
|
// Tiers — size-ordered across the active Eliza-1 bundles. 2b is the
|
|
40
56
|
// smallest/entry tier.
|
|
41
|
-
export const ELIZA_1_TIERS = [
|
|
42
|
-
"2b",
|
|
43
|
-
"4b",
|
|
44
|
-
"9b",
|
|
45
|
-
"27b",
|
|
46
|
-
"27b-256k",
|
|
47
|
-
] as const;
|
|
57
|
+
export const ELIZA_1_TIERS = ["2b", "4b", "9b", "27b", "27b-256k"] as const;
|
|
48
58
|
export type Eliza1Tier = (typeof ELIZA_1_TIERS)[number];
|
|
49
59
|
|
|
50
60
|
// Manifest-level kernel capability names. Per AGENTS.md §3:
|
|
@@ -121,24 +131,41 @@ export const ELIZA_1_BACKENDS = [
|
|
|
121
131
|
] as const;
|
|
122
132
|
export type Eliza1Backend = (typeof ELIZA_1_BACKENDS)[number];
|
|
123
133
|
|
|
124
|
-
// Required-kernel set per tier. Mirrors the active Eliza-1 release
|
|
125
|
-
//
|
|
126
|
-
// -
|
|
127
|
-
//
|
|
128
|
-
//
|
|
129
|
-
//
|
|
130
|
-
//
|
|
131
|
-
//
|
|
132
|
-
//
|
|
133
|
-
//
|
|
134
|
+
// Required-kernel set per tier. Mirrors the active Gemma 4 Eliza-1 release
|
|
135
|
+
// policy:
|
|
136
|
+
// - Every tier requires only the geometry-agnostic GGUF weight-quant
|
|
137
|
+
// (`turboquant_q4`). Weight quant operates on (out_features, in_features)
|
|
138
|
+
// matmul tensors and is independent of attention head geometry, so it
|
|
139
|
+
// applies to Gemma's dense MQA backbone unchanged.
|
|
140
|
+
// - The KV-cache kernels (`qjl`, `polarquant`, `turbo3_tcq`, and the
|
|
141
|
+
// `turbo3`/`turbo4` runtime handles) are 128-element FWHT-group kernels
|
|
142
|
+
// that are head_dim-coupled. They do NOT match Gemma's MQA geometry
|
|
143
|
+
// (n_head_kv=1) with dual head dims (512 global / 256 SWA), so Gemma 4
|
|
144
|
+
// ships stock q8_0 KV and these kernels are OPTIONAL, never required.
|
|
145
|
+
// They stay compiled into the shared lib for legacy non-Gemma tiers and the
|
|
146
|
+
// shared OmniVoice/ASR FFI symbols, but no Gemma tier declares them
|
|
147
|
+
// required.
|
|
134
148
|
export const REQUIRED_KERNELS_BY_TIER: Readonly<
|
|
135
149
|
Record<Eliza1Tier, ReadonlyArray<Eliza1Kernel>>
|
|
136
150
|
> = {
|
|
137
|
-
"2b": ["turboquant_q4"
|
|
138
|
-
"4b": ["turboquant_q4"
|
|
139
|
-
"9b": ["turboquant_q4"
|
|
140
|
-
"27b": ["turboquant_q4"
|
|
141
|
-
"27b-256k": ["turboquant_q4"
|
|
151
|
+
"2b": ["turboquant_q4"],
|
|
152
|
+
"4b": ["turboquant_q4"],
|
|
153
|
+
"9b": ["turboquant_q4"],
|
|
154
|
+
"27b": ["turboquant_q4"],
|
|
155
|
+
"27b-256k": ["turboquant_q4"],
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
// KV-cache kernels that remain available but are NOT required for any Gemma 4
|
|
159
|
+
// tier (head_dim=128/FWHT-group coupled; Gemma uses stock q8_0 KV). Surfaced
|
|
160
|
+
// as the optional kernel set for every tier.
|
|
161
|
+
export const OPTIONAL_KERNELS_BY_TIER: Readonly<
|
|
162
|
+
Record<Eliza1Tier, ReadonlyArray<Eliza1Kernel>>
|
|
163
|
+
> = {
|
|
164
|
+
"2b": ["qjl", "polarquant", "turbo3_tcq"],
|
|
165
|
+
"4b": ["qjl", "polarquant", "turbo3_tcq"],
|
|
166
|
+
"9b": ["qjl", "polarquant", "turbo3_tcq"],
|
|
167
|
+
"27b": ["qjl", "polarquant", "turbo3_tcq"],
|
|
168
|
+
"27b-256k": ["qjl", "polarquant", "turbo3_tcq"],
|
|
142
169
|
};
|
|
143
170
|
|
|
144
171
|
// Backends each tier is expected to support on shipped hardware.
|
|
@@ -183,7 +210,7 @@ export const Eliza1LineageSchema = z.object({
|
|
|
183
210
|
// Voice Wave 2 (2026-05-14): semantic end-of-turn detector lineage. When
|
|
184
211
|
// `files.turn` ships the bundled `livekit/turn-detector` ONNX (the
|
|
185
212
|
// ≤1.7B-tier `v1.2.2-en` SmolLM2 distill or the ≥4B-tier `v0.4.1-intl`
|
|
186
|
-
//
|
|
213
|
+
// multilingual detector), this records the upstream repo + license. Apache-2.0
|
|
187
214
|
// fallback path is `latishab/turnsense`.
|
|
188
215
|
turn: lineageEntry.optional(),
|
|
189
216
|
// Voice Wave 2 (2026-05-14): acoustic-prosody emotion classifier lineage.
|
|
@@ -198,6 +225,22 @@ export const Eliza1LineageSchema = z.object({
|
|
|
198
225
|
emotion: lineageEntry.optional(),
|
|
199
226
|
});
|
|
200
227
|
|
|
228
|
+
// Runtime class a text artifact is served by. Defaults to GGUF/llama.cpp when
|
|
229
|
+
// absent, so every existing manifest round-trips unchanged.
|
|
230
|
+
// - `llama-cpp` — a `.gguf` served by the fused libelizainference llama.cpp
|
|
231
|
+
// path (the default).
|
|
232
|
+
// - `litert-lm` — a `.litertlm` single-file bundle served by the in-process
|
|
233
|
+
// LiteRT-LM backend (Android NPU / GPU delegate). The C-side
|
|
234
|
+
// `llm_backend_select` probes `<bundleRoot>/text/*.litertlm` and routes to
|
|
235
|
+
// it; the TS loader passes `ELIZA_LLM_BACKEND=litert-lm` when this entry is
|
|
236
|
+
// selected. See `tools/omnivoice/src/backends/litert-backend.cpp`.
|
|
237
|
+
export const ELIZA_1_TEXT_RUNTIME_CLASSES = ["llama-cpp", "litert-lm"] as const;
|
|
238
|
+
export type Eliza1TextRuntimeClass =
|
|
239
|
+
(typeof ELIZA_1_TEXT_RUNTIME_CLASSES)[number];
|
|
240
|
+
export const Eliza1TextRuntimeClassEnumSchema = z.enum(
|
|
241
|
+
ELIZA_1_TEXT_RUNTIME_CLASSES,
|
|
242
|
+
);
|
|
243
|
+
|
|
201
244
|
export const Eliza1FileEntrySchema = z.object({
|
|
202
245
|
path: z.string().min(1),
|
|
203
246
|
sha256,
|
|
@@ -205,6 +248,29 @@ export const Eliza1FileEntrySchema = z.object({
|
|
|
205
248
|
// largest variant that fits the device's RAM budget. Other file kinds
|
|
206
249
|
// never have ctx.
|
|
207
250
|
ctx: z.number().int().min(131072, "must be at least 128k").optional(),
|
|
251
|
+
// Optional runtime-class discriminator on a `files.text` entry. Absent ⇒
|
|
252
|
+
// `llama-cpp` (GGUF, the default). A `.litertlm` text artifact declares
|
|
253
|
+
// `runtimeClass: "litert-lm"` so the loader can route it to the LiteRT-LM
|
|
254
|
+
// backend without re-deriving the runtime from the filename.
|
|
255
|
+
runtimeClass: Eliza1TextRuntimeClassEnumSchema.optional(),
|
|
256
|
+
});
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* A platform-targeted native-lib file in the bundle's `lib[]` set. The fused
|
|
260
|
+
* `libelizainference` ships as a SET (the fused lib + its ggml/llama/mtmd
|
|
261
|
+
* sibling backends), one set per platform `target`. The downloader fetches ONLY
|
|
262
|
+
* the entries whose `target` matches the host (see `../lib-target.ts`
|
|
263
|
+
* `resolveHostLibTargets`) into `<bundleRoot>/lib/`, where the desktop FFI
|
|
264
|
+
* runtime resolves them with no env wiring via `resolveFusedLibraryPath`
|
|
265
|
+
* (path #2 — bundle-local lib). `target` is free-form (e.g. "win-x64-cpu",
|
|
266
|
+
* "linux-x64-cuda", "darwin-arm64-metal") so new targets need no schema bump;
|
|
267
|
+
* `name` overrides the staged filename (defaults to the basename of `path`).
|
|
268
|
+
*/
|
|
269
|
+
export const Eliza1LibFileEntrySchema = z.object({
|
|
270
|
+
path: z.string().min(1),
|
|
271
|
+
sha256,
|
|
272
|
+
target: z.string().min(1),
|
|
273
|
+
name: z.string().min(1).optional(),
|
|
208
274
|
});
|
|
209
275
|
|
|
210
276
|
export const Eliza1FilesSchema = z.object({
|
|
@@ -215,12 +281,11 @@ export const Eliza1FilesSchema = z.object({
|
|
|
215
281
|
mtp: z.array(Eliza1FileEntrySchema),
|
|
216
282
|
cache: z.array(Eliza1FileEntrySchema).min(1),
|
|
217
283
|
// Wave-6 (2026-05-10): the omni bundle ships a per-bundle dedicated
|
|
218
|
-
// embedding model
|
|
219
|
-
//
|
|
220
|
-
//
|
|
221
|
-
//
|
|
222
|
-
//
|
|
223
|
-
// and a tier may ship without wake-word support.
|
|
284
|
+
// embedding model on non-lite tiers, a Silero-VAD GGUF, and an optional
|
|
285
|
+
// openWakeWord GGUF (the combined GGUF carries the mel filterbank + speech
|
|
286
|
+
// embedding model + every per-phrase head). All three are optional in the
|
|
287
|
+
// schema — the 2b entry tier intentionally omits the dedicated embedding
|
|
288
|
+
// (pools from text backbone) and a tier may ship without wake-word support.
|
|
224
289
|
//
|
|
225
290
|
// Schema-level optionality: empty array = "this bundle does not
|
|
226
291
|
// ship this component"; the validator enforces tier-specific
|
|
@@ -243,12 +308,12 @@ export const Eliza1FilesSchema = z.object({
|
|
|
243
308
|
// `stage_turn_detector` in
|
|
244
309
|
// `packages/training/scripts/manifest/stage_eliza1_bundle_assets.py`):
|
|
245
310
|
// 2b ships the EN-only SmolLM2-135M distill; 4b/9b/27b ship the
|
|
246
|
-
// multilingual
|
|
311
|
+
// multilingual detector.
|
|
247
312
|
turn: z.array(Eliza1FileEntrySchema).optional(),
|
|
248
313
|
// Eliza-1 EOT LoRA adapter — optional, complements `turn`. When
|
|
249
314
|
// present, the runtime layers this adapter onto the in-process
|
|
250
315
|
// drafter at voice-session start (`voice/eliza1-eot-scorer.ts`) so
|
|
251
|
-
// P(
|
|
316
|
+
// P(`<end_of_turn>`) calibration matches a fine-tuned EOT head without
|
|
252
317
|
// shipping a second base model. When both `turn` and `eotLoraAdapter`
|
|
253
318
|
// are present the operator picks via `ELIZA_VOICE_EOT_BACKEND` or
|
|
254
319
|
// `startVoiceSession({ useEliza1Eot })`. Training recipe:
|
|
@@ -265,6 +330,16 @@ export const Eliza1FilesSchema = z.object({
|
|
|
265
330
|
// dominated by the LM, not this small head); a 2b entry bundle may still
|
|
266
331
|
// choose to omit it to save the cold-start cost.
|
|
267
332
|
emotion: z.array(Eliza1FileEntrySchema).optional(),
|
|
333
|
+
// Fused libelizainference native-lib SET, per platform target (#9105 /
|
|
334
|
+
// local-inference bundle delivery). Optional — when present the downloader
|
|
335
|
+
// stages the host-matching target's files into `<bundleRoot>/lib/`, which the
|
|
336
|
+
// desktop FFI runtime resolves with no env wiring (`resolveFusedLibraryPath`
|
|
337
|
+
// path #2). CPU baseline is always safe (GGML_CPU is built into the fused
|
|
338
|
+
// lib); GPU targets (`…-cuda` / `…-metal`) are opt-in. This is the bundle
|
|
339
|
+
// path that makes local inference work in a compiled desktop app without a
|
|
340
|
+
// separate lib download; absent ⇒ the runtime falls back to a host-staged
|
|
341
|
+
// `<stateDir>/local-inference/lib` (dev) and otherwise to cloud.
|
|
342
|
+
lib: z.array(Eliza1LibFileEntrySchema).optional(),
|
|
268
343
|
});
|
|
269
344
|
|
|
270
345
|
export const Eliza1KernelEnumSchema = z.enum(ELIZA_1_KERNELS);
|
|
@@ -296,7 +371,12 @@ export const Eliza1RecipeKernelPinsSchema = z.object({
|
|
|
296
371
|
perBlockTolerance: z.number().positive(),
|
|
297
372
|
});
|
|
298
373
|
|
|
299
|
-
|
|
374
|
+
// Generic speculative-decode capability metadata (drafter-agnostic). Covers
|
|
375
|
+
// Gemma 4's separate-drafter MTP, an embedded draft head, or an EAGLE3 head —
|
|
376
|
+
// the shape only records the capability/spec-type/draft model, never the
|
|
377
|
+
// specific drafter family. `specType` names the runtime spec method (e.g.
|
|
378
|
+
// `draft-mtp`, `draft-eagle3`); `model` names the drafter/head artifact.
|
|
379
|
+
export const Eliza1SpecDecodeKernelSchema = z
|
|
300
380
|
.object({
|
|
301
381
|
enabled: z.boolean().optional(),
|
|
302
382
|
capability: z.string().min(1).optional(),
|
|
@@ -318,8 +398,12 @@ export const Eliza1KernelsSchema = z.object({
|
|
|
318
398
|
cpu: Eliza1VerifiedBackendStatusSchema,
|
|
319
399
|
}),
|
|
320
400
|
recipeManifest: z.record(z.string(), Eliza1RecipeKernelPinsSchema).optional(),
|
|
321
|
-
// Optional
|
|
322
|
-
|
|
401
|
+
// Optional speculative-decode capability metadata (canonical key).
|
|
402
|
+
specDecode: Eliza1SpecDecodeKernelSchema.optional(),
|
|
403
|
+
// Back-compat alias accepted for one release: pre-cutover manifests emit
|
|
404
|
+
// the same capability object under `eagle3`. New producers stamp
|
|
405
|
+
// `specDecode`; the validator reads `specDecode ?? eagle3`.
|
|
406
|
+
eagle3: Eliza1SpecDecodeKernelSchema.optional(),
|
|
323
407
|
});
|
|
324
408
|
|
|
325
409
|
// Wave-6: voice surface declares which expressive features the bundled
|
|
@@ -345,24 +429,27 @@ export const Eliza1VoiceSchema = z.object({
|
|
|
345
429
|
capabilities: z.array(z.enum(ELIZA_1_VOICE_CAPABILITIES)).default(["tts"]),
|
|
346
430
|
});
|
|
347
431
|
|
|
348
|
-
|
|
432
|
+
// Generic speculative-decode eval metadata (drafter-agnostic): records the
|
|
433
|
+
// accepted/drafted acceptance rate and the spec-decode-on ÷ baseline speedup
|
|
434
|
+
// for whatever drafter the bundle ships (MTP separate drafter, EAGLE3 head, …).
|
|
435
|
+
const Eliza1SpecDecodeEvalSchema = z
|
|
349
436
|
.object({
|
|
350
437
|
/** accepted/drafted; null or absent when not measured. */
|
|
351
438
|
acceptanceRate: z.number().min(0).max(1).nullable().optional(),
|
|
352
|
-
/**
|
|
439
|
+
/** spec-decode-on tok/s ÷ baseline tok/s; null or absent when not measured. */
|
|
353
440
|
speedup: z.number().nonnegative().nullable().optional(),
|
|
354
441
|
/** Preferred spelling for pass/fail status. */
|
|
355
442
|
passed: z.boolean().optional(),
|
|
356
443
|
/** Back-compat spelling accepted for manifest producers that emit `pass`. */
|
|
357
444
|
pass: z.boolean().optional(),
|
|
358
|
-
/** Human-readable reason when the
|
|
445
|
+
/** Human-readable reason when the spec-decode eval was not run or failed. */
|
|
359
446
|
failure: z.string().min(1).optional(),
|
|
360
447
|
})
|
|
361
|
-
.superRefine((
|
|
448
|
+
.superRefine((specDecode, ctx) => {
|
|
362
449
|
if (
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
450
|
+
specDecode.pass !== undefined &&
|
|
451
|
+
specDecode.passed !== undefined &&
|
|
452
|
+
specDecode.pass !== specDecode.passed
|
|
366
453
|
) {
|
|
367
454
|
ctx.addIssue({
|
|
368
455
|
code: "custom",
|
|
@@ -370,10 +457,10 @@ const Eliza1Eagle3EvalSchema = z
|
|
|
370
457
|
path: ["pass"],
|
|
371
458
|
});
|
|
372
459
|
}
|
|
373
|
-
const passed =
|
|
460
|
+
const passed = specDecode.passed ?? specDecode.pass;
|
|
374
461
|
if (
|
|
375
462
|
passed === true &&
|
|
376
|
-
(
|
|
463
|
+
(specDecode.acceptanceRate == null || specDecode.speedup == null)
|
|
377
464
|
) {
|
|
378
465
|
ctx.addIssue({
|
|
379
466
|
code: "custom",
|
|
@@ -435,8 +522,12 @@ export const Eliza1EvalsSchema = z.object({
|
|
|
435
522
|
passed: z.boolean(),
|
|
436
523
|
})
|
|
437
524
|
.optional(),
|
|
438
|
-
// Optional
|
|
439
|
-
|
|
525
|
+
// Optional speculative-decode bench metadata (canonical key).
|
|
526
|
+
specDecode: Eliza1SpecDecodeEvalSchema.optional(),
|
|
527
|
+
// Back-compat alias accepted for one release: pre-cutover manifests emit
|
|
528
|
+
// the same bench object under `eagle3`. The validator reads
|
|
529
|
+
// `specDecode ?? eagle3`.
|
|
530
|
+
eagle3: Eliza1SpecDecodeEvalSchema.optional(),
|
|
440
531
|
// Voice Wave 2 (2026-05-14): semantic end-of-turn detector eval gates.
|
|
441
532
|
// Required when `files.turn` is non-empty (validator enforces). Thresholds
|
|
442
533
|
// applied by `eval_turn_detector.py` in `packages/training/scripts/turn_detector/`:
|
|
@@ -578,6 +669,15 @@ export const Eliza1ProvenanceSchema = z.object({
|
|
|
578
669
|
),
|
|
579
670
|
});
|
|
580
671
|
|
|
672
|
+
// Gemma 4 cutover (schemaVersion 2): the shared tokenizer identity the
|
|
673
|
+
// publish-side builder stamps onto every bundle. The contract validator pins
|
|
674
|
+
// `family` to `ELIZA_1_TOKENIZER_FAMILY` and `vocabSize` to
|
|
675
|
+
// `ELIZA_1_TOKENIZER_VOCAB_SIZE` when this block is present.
|
|
676
|
+
export const Eliza1TokenizerSchema = z.object({
|
|
677
|
+
family: z.string().min(1),
|
|
678
|
+
vocabSize: z.number().int().positive(),
|
|
679
|
+
});
|
|
680
|
+
|
|
581
681
|
export const Eliza1ManifestSchema = z
|
|
582
682
|
.object({
|
|
583
683
|
$schema: z.literal(ELIZA_1_MANIFEST_SCHEMA_URL).optional(),
|
|
@@ -628,6 +728,14 @@ export const Eliza1ManifestSchema = z
|
|
|
628
728
|
textQuant: z
|
|
629
729
|
.union([z.string().min(1), z.record(z.string(), z.unknown())])
|
|
630
730
|
.optional(),
|
|
731
|
+
// Gemma 4 cutover (schemaVersion 2) identity fields, stamped by the
|
|
732
|
+
// publish-side bundle builder. Optional so legacy v1 (pre-cutover)
|
|
733
|
+
// manifests still round-trip; the contract validator enforces their
|
|
734
|
+
// values when present.
|
|
735
|
+
schemaVersion: z.union([z.literal("2"), z.literal(2)]).optional(),
|
|
736
|
+
tokenizer: Eliza1TokenizerSchema.optional(),
|
|
737
|
+
kv: z.string().min(1).optional(),
|
|
738
|
+
mtp: z.enum(ELIZA_1_MTP_MODES).optional(),
|
|
631
739
|
})
|
|
632
740
|
// The id MUST encode the tier so catalogs can derive tier from id without
|
|
633
741
|
// re-reading the manifest. Example: `id: "eliza-1-9b"`.
|
|
@@ -15,10 +15,12 @@ import type {
|
|
|
15
15
|
Eliza1FilesSchema,
|
|
16
16
|
Eliza1KernelEnumSchema,
|
|
17
17
|
Eliza1KernelsSchema,
|
|
18
|
+
Eliza1LibFileEntrySchema,
|
|
18
19
|
Eliza1LineageSchema,
|
|
19
20
|
Eliza1ManifestSchema,
|
|
20
21
|
Eliza1ProvenanceSchema,
|
|
21
22
|
Eliza1RamBudgetSchema,
|
|
23
|
+
Eliza1TextRuntimeClassEnumSchema,
|
|
22
24
|
Eliza1TierEnumSchema,
|
|
23
25
|
Eliza1VerifiedBackendStatusSchema,
|
|
24
26
|
Eliza1VoiceSchema,
|
|
@@ -27,7 +29,11 @@ import type {
|
|
|
27
29
|
export type Eliza1Tier = z.infer<typeof Eliza1TierEnumSchema>;
|
|
28
30
|
export type Eliza1Kernel = z.infer<typeof Eliza1KernelEnumSchema>;
|
|
29
31
|
export type Eliza1Backend = z.infer<typeof Eliza1BackendEnumSchema>;
|
|
32
|
+
export type Eliza1TextRuntimeClass = z.infer<
|
|
33
|
+
typeof Eliza1TextRuntimeClassEnumSchema
|
|
34
|
+
>;
|
|
30
35
|
export type Eliza1FileEntry = z.infer<typeof Eliza1FileEntrySchema>;
|
|
36
|
+
export type Eliza1LibFileEntry = z.infer<typeof Eliza1LibFileEntrySchema>;
|
|
31
37
|
export type Eliza1Files = z.infer<typeof Eliza1FilesSchema>;
|
|
32
38
|
export type Eliza1Lineage = z.infer<typeof Eliza1LineageSchema>;
|
|
33
39
|
export type Eliza1Kernels = z.infer<typeof Eliza1KernelsSchema>;
|
|
@@ -23,6 +23,12 @@
|
|
|
23
23
|
// `packages/training/scripts/manifest/eliza1_manifest.py`.
|
|
24
24
|
|
|
25
25
|
import {
|
|
26
|
+
collectQwenAsrProvenanceBlockers,
|
|
27
|
+
QWEN_PROVENANCE_RE,
|
|
28
|
+
} from "../asr-provenance";
|
|
29
|
+
import {
|
|
30
|
+
ELIZA_1_TOKENIZER_FAMILY,
|
|
31
|
+
ELIZA_1_TOKENIZER_VOCAB_SIZE,
|
|
26
32
|
Eliza1ManifestSchema,
|
|
27
33
|
EMOTION_CLASSIFIER_IEMOCAP_F1_THRESHOLD,
|
|
28
34
|
EMOTION_CLASSIFIER_MEAN_LATENCY_MS_LIMIT,
|
|
@@ -230,6 +236,37 @@ function collectContractErrors(
|
|
|
230
236
|
)) ||
|
|
231
237
|
(releaseState !== undefined && STRICT_RELEASE_STATES.has(releaseState));
|
|
232
238
|
|
|
239
|
+
// Gemma 4 cutover: a release-shaped (strict/defaultEligible) bundle must be
|
|
240
|
+
// the real Gemma-4 base, never the Qwen3.5 / local-standin placeholder the
|
|
241
|
+
// pre-cutover bundles shipped. Block a stand-in from defining the default.
|
|
242
|
+
if (strictRelease) {
|
|
243
|
+
const textBase = m.lineage.text.base;
|
|
244
|
+
if (
|
|
245
|
+
/^local-standin:/i.test(textBase) ||
|
|
246
|
+
QWEN_PROVENANCE_RE.test(textBase)
|
|
247
|
+
) {
|
|
248
|
+
errors.push(
|
|
249
|
+
`lineage.text.base: a strict/defaultEligible release must ship the real Gemma-4 base, not a stand-in (${textBase})`,
|
|
250
|
+
);
|
|
251
|
+
}
|
|
252
|
+
errors.push(...collectQwenAsrProvenanceBlockers(m));
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// Tokenizer identity: when the bundle stamps the Gemma 4 tokenizer block
|
|
256
|
+
// (schemaVersion 2), it must be the shared Gemma 4 tokenizer.
|
|
257
|
+
if (m.tokenizer) {
|
|
258
|
+
if (m.tokenizer.family !== ELIZA_1_TOKENIZER_FAMILY) {
|
|
259
|
+
errors.push(
|
|
260
|
+
`tokenizer.family: expected ${ELIZA_1_TOKENIZER_FAMILY}, got ${m.tokenizer.family}`,
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
if (m.tokenizer.vocabSize !== ELIZA_1_TOKENIZER_VOCAB_SIZE) {
|
|
264
|
+
errors.push(
|
|
265
|
+
`tokenizer.vocabSize: expected ${ELIZA_1_TOKENIZER_VOCAB_SIZE}, got ${m.tokenizer.vocabSize}`,
|
|
266
|
+
);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
233
270
|
// Required-kernel coverage.
|
|
234
271
|
const declaredRequired = new Set<Eliza1Kernel>(m.kernels.required);
|
|
235
272
|
const tierRequired = REQUIRED_KERNELS_BY_TIER[m.tier];
|
|
@@ -256,18 +293,12 @@ function collectContractErrors(
|
|
|
256
293
|
}
|
|
257
294
|
}
|
|
258
295
|
|
|
259
|
-
//
|
|
260
|
-
//
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
if (!declaredRequired.has("turbo3_tcq")) {
|
|
266
|
-
errors.push(
|
|
267
|
-
"kernels.required: text variant with ctx > 64k requires turbo3_tcq",
|
|
268
|
-
);
|
|
269
|
-
}
|
|
270
|
-
}
|
|
296
|
+
// Gemma 4 cutover (#9033): long-context KV is handled by Gemma's native
|
|
297
|
+
// windowed-SWA + shared-KV at stock q8_0, so the legacy turbo3_tcq trellis
|
|
298
|
+
// KV-cache kernel is no longer a required long-context kernel — it is an
|
|
299
|
+
// optional (head_dim=128) accelerator the Gemma stock-KV path doesn't use.
|
|
300
|
+
// Required kernels are governed by REQUIRED_KERNELS_BY_TIER (turboquant_q4
|
|
301
|
+
// weight-quant), checked above; nothing extra is gated on context length.
|
|
271
302
|
|
|
272
303
|
const visionEnabled = VISION_TIERS.has(m.tier);
|
|
273
304
|
if (visionEnabled) {
|
|
@@ -280,11 +311,37 @@ function collectContractErrors(
|
|
|
280
311
|
|
|
281
312
|
const mtpEnabled = MTP_TIERS.has(m.tier);
|
|
282
313
|
if (mtpEnabled) {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
314
|
+
// Gemma 4 MTP is separate-drafter: every MTP tier bundles a dedicated
|
|
315
|
+
// drafter GGUF at `mtp/drafter-<tier>.gguf` (loaded by llama.cpp as
|
|
316
|
+
// `-md mtp/drafter-<tier>.gguf --spec-type draft-mtp`). A strict release
|
|
317
|
+
// that omits the drafter is not release-shaped (AGENTS.md §1/§3 require
|
|
318
|
+
// MTP on every tier); a candidate/staging bundle may still be
|
|
319
|
+
// materialized without it. The legacy embedded-draft-head shape — no
|
|
320
|
+
// shipped Gemma tier uses it — is honored only when the manifest
|
|
321
|
+
// explicitly declares `mtp: "embedded-draft-head"`.
|
|
322
|
+
if (m.mtp === "embedded-draft-head") {
|
|
323
|
+
if (m.files.mtp.length > 0) {
|
|
324
|
+
errors.push(
|
|
325
|
+
`files.mtp: must be empty for embedded-draft-head MTP tier ${m.tier}`,
|
|
326
|
+
);
|
|
327
|
+
}
|
|
328
|
+
} else {
|
|
329
|
+
const expectedDrafterPath = `mtp/drafter-${m.tier}.gguf`;
|
|
330
|
+
if (m.files.mtp.length === 0) {
|
|
331
|
+
if (strictRelease) {
|
|
332
|
+
errors.push(
|
|
333
|
+
`files.mtp: MTP drafter not bundled — separate-drafter tier ${m.tier} must ship ${expectedDrafterPath}`,
|
|
334
|
+
);
|
|
335
|
+
}
|
|
336
|
+
} else {
|
|
337
|
+
for (const [i, entry] of m.files.mtp.entries()) {
|
|
338
|
+
if (entry.path !== expectedDrafterPath) {
|
|
339
|
+
errors.push(
|
|
340
|
+
`files.mtp[${i}].path: separate-drafter tier ${m.tier} must bundle the drafter at ${expectedDrafterPath}, got ${entry.path}`,
|
|
341
|
+
);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
288
345
|
}
|
|
289
346
|
if (!m.evals.mtp) {
|
|
290
347
|
errors.push(`evals.mtp: required for MTP-enabled tier ${m.tier}`);
|
|
@@ -394,6 +451,13 @@ function collectContractErrors(
|
|
|
394
451
|
errors.push(`files.${slot}: required when lineage.${slot} is present`);
|
|
395
452
|
}
|
|
396
453
|
}
|
|
454
|
+
// Gemma 4 separate-drafter MTP: the bundled drafter GGUF carries its own
|
|
455
|
+
// lineage, governed by the same files<->lineage consistency rule as every
|
|
456
|
+
// other component slot above. (Embedded-draft-head bundles ship no separate
|
|
457
|
+
// drafter, so both files.mtp and lineage.drafter are empty — also satisfied.)
|
|
458
|
+
if (m.files.mtp.length > 0 && !m.lineage.drafter) {
|
|
459
|
+
errors.push("lineage.drafter: required when files.mtp is non-empty");
|
|
460
|
+
}
|
|
397
461
|
if (m.lineage.drafter && m.files.mtp.length === 0) {
|
|
398
462
|
errors.push("files.mtp: required when lineage.drafter is present");
|
|
399
463
|
}
|
|
@@ -526,17 +590,19 @@ function collectContractErrors(
|
|
|
526
590
|
}
|
|
527
591
|
}
|
|
528
592
|
|
|
529
|
-
//
|
|
530
|
-
//
|
|
531
|
-
//
|
|
532
|
-
|
|
533
|
-
|
|
593
|
+
// Speculative-decode bench metadata is always optional. When present, it may
|
|
594
|
+
// record a not-run/failure state; only a passing claim must include measured
|
|
595
|
+
// acceptance/speedup values. The canonical key is `specDecode`; `eagle3` is
|
|
596
|
+
// the back-compat alias accepted for one release.
|
|
597
|
+
const specDecodeEval = m.evals.specDecode ?? m.evals.eagle3;
|
|
598
|
+
if (specDecodeEval) {
|
|
599
|
+
const specDecodePassed = specDecodeEval.passed ?? specDecodeEval.pass;
|
|
534
600
|
if (
|
|
535
|
-
|
|
536
|
-
(
|
|
601
|
+
specDecodePassed === true &&
|
|
602
|
+
(specDecodeEval.acceptanceRate == null || specDecodeEval.speedup == null)
|
|
537
603
|
) {
|
|
538
604
|
errors.push(
|
|
539
|
-
"evals.
|
|
605
|
+
"evals.specDecode: passed=true requires measured acceptanceRate and speedup",
|
|
540
606
|
);
|
|
541
607
|
}
|
|
542
608
|
}
|