@elizaos/plugin-local-inference 2.0.0-beta.1 → 2.0.11-beta.7
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 +83 -0
- package/package.json +81 -15
- package/src/actions/generate-media.d.ts +59 -0
- package/src/actions/generate-media.d.ts.map +1 -0
- package/src/actions/generate-media.ts +647 -0
- package/src/actions/identify-speaker.d.ts +23 -0
- package/src/actions/identify-speaker.d.ts.map +1 -0
- package/src/actions/identify-speaker.ts +171 -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/environment.ts +71 -0
- package/src/adapters/capacitor-llama/index.browser.ts +83 -0
- package/src/adapters/capacitor-llama/index.ts +807 -0
- package/src/adapters/capacitor-llama/loader.ts +109 -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/backends/apple-foundation.ts +127 -0
- package/src/index.d.ts +7 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.ts +54 -0
- package/src/local-inference-routes.d.ts +38 -0
- package/src/local-inference-routes.d.ts.map +1 -0
- package/src/local-inference-routes.test.ts +344 -0
- package/src/local-inference-routes.ts +1543 -0
- package/src/provider.d.ts +21 -0
- package/src/provider.d.ts.map +1 -0
- package/src/provider.ts +1171 -0
- package/src/routes/compat-helpers.d.ts +18 -0
- package/src/routes/compat-helpers.d.ts.map +1 -0
- package/src/routes/compat-helpers.ts +274 -0
- package/src/routes/family-member-route.d.ts +62 -0
- package/src/routes/family-member-route.d.ts.map +1 -0
- package/src/routes/family-member-route.ts +353 -0
- package/src/routes/index.d.ts +19 -0
- package/src/routes/index.d.ts.map +1 -0
- package/src/routes/index.ts +60 -0
- package/src/routes/live-diarization-route.d.ts +26 -0
- package/src/routes/live-diarization-route.d.ts.map +1 -0
- package/src/routes/live-diarization-route.test.ts +213 -0
- package/src/routes/live-diarization-route.ts +122 -0
- package/src/routes/local-inference-asr-route.d.ts +4 -0
- package/src/routes/local-inference-asr-route.d.ts.map +1 -0
- package/src/routes/local-inference-asr-route.test.ts +190 -0
- package/src/routes/local-inference-asr-route.ts +213 -0
- package/src/routes/local-inference-compat-routes.d.ts +16 -0
- package/src/routes/local-inference-compat-routes.d.ts.map +1 -0
- package/src/routes/local-inference-compat-routes.test.ts +423 -0
- package/src/routes/local-inference-compat-routes.ts +782 -0
- package/src/routes/local-inference-tts-route.d.ts +7 -0
- package/src/routes/local-inference-tts-route.d.ts.map +1 -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/voice-first-run-routes.d.ts +62 -0
- package/src/routes/voice-first-run-routes.d.ts.map +1 -0
- package/src/routes/voice-first-run-routes.ts +524 -0
- package/src/routes/voice-models-routes.d.ts +62 -0
- package/src/routes/voice-models-routes.d.ts.map +1 -0
- package/src/routes/voice-models-routes.ts +554 -0
- package/src/routes/voice-profile-plugin-routes.d.ts +19 -0
- package/src/routes/voice-profile-plugin-routes.d.ts.map +1 -0
- package/src/routes/voice-profile-plugin-routes.ts +138 -0
- package/src/routes/voice-profiles-management-routes.d.ts +52 -0
- package/src/routes/voice-profiles-management-routes.d.ts.map +1 -0
- package/src/routes/voice-profiles-management-routes.ts +476 -0
- package/src/routes/voice-speaker-profile-routes.d.ts +57 -0
- package/src/routes/voice-speaker-profile-routes.d.ts.map +1 -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/capacitor-llama.d.ts +25 -0
- package/src/runtime/embedding-manager-support.d.ts +77 -0
- package/src/runtime/embedding-manager-support.d.ts.map +1 -0
- package/src/runtime/embedding-manager-support.ts +497 -0
- package/src/runtime/embedding-presets.d.ts +16 -0
- package/src/runtime/embedding-presets.d.ts.map +1 -0
- package/src/runtime/embedding-presets.ts +81 -0
- package/src/runtime/embedding-warmup-policy.d.ts +14 -0
- package/src/runtime/embedding-warmup-policy.d.ts.map +1 -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.d.ts +53 -0
- package/src/runtime/ensure-local-inference-handler.d.ts.map +1 -0
- package/src/runtime/ensure-local-inference-handler.test.ts +528 -0
- package/src/runtime/ensure-local-inference-handler.ts +1398 -0
- package/src/runtime/index.d.ts +14 -0
- package/src/runtime/index.d.ts.map +1 -0
- package/src/runtime/index.ts +27 -0
- package/src/runtime/mobile-local-inference-gate.d.ts +31 -0
- package/src/runtime/mobile-local-inference-gate.d.ts.map +1 -0
- package/src/runtime/mobile-local-inference-gate.test.ts +69 -0
- package/src/runtime/mobile-local-inference-gate.ts +44 -0
- package/src/runtime/voice-entity-binding.d.ts +103 -0
- package/src/runtime/voice-entity-binding.d.ts.map +1 -0
- package/src/runtime/voice-entity-binding.transcript.test.ts +69 -0
- package/src/runtime/voice-entity-binding.ts +328 -0
- package/src/services/README.md +71 -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-switch-rollback.test.ts +183 -0
- package/src/services/active-model.d.ts +282 -0
- package/src/services/active-model.d.ts.map +1 -0
- package/src/services/active-model.ts +1213 -0
- package/src/services/asr/errors.d.ts +21 -0
- package/src/services/asr/errors.d.ts.map +1 -0
- package/src/services/asr/errors.ts +50 -0
- package/src/services/asr/hash.d.ts +28 -0
- package/src/services/asr/hash.d.ts.map +1 -0
- package/src/services/asr/hash.ts +49 -0
- package/src/services/asr/index.d.ts +76 -0
- package/src/services/asr/index.d.ts.map +1 -0
- package/src/services/asr/index.ts +178 -0
- package/src/services/asr/types.d.ts +91 -0
- package/src/services/asr/types.d.ts.map +1 -0
- package/src/services/asr/types.ts +95 -0
- package/src/services/assignments.d.ts +71 -0
- package/src/services/assignments.d.ts.map +1 -0
- package/src/services/assignments.test.ts +80 -0
- package/src/services/assignments.ts +230 -0
- package/src/services/backend-selector.ts +95 -0
- package/src/services/backend.d.ts +346 -0
- package/src/services/backend.d.ts.map +1 -0
- package/src/services/backend.ts +612 -0
- package/src/services/bundled-models.d.ts +34 -0
- package/src/services/bundled-models.d.ts.map +1 -0
- package/src/services/bundled-models.ts +129 -0
- package/src/services/cache-bridge.d.ts +206 -0
- package/src/services/cache-bridge.d.ts.map +1 -0
- package/src/services/cache-bridge.test.ts +516 -0
- package/src/services/cache-bridge.ts +423 -0
- package/src/services/catalog.d.ts +10 -0
- package/src/services/catalog.d.ts.map +1 -0
- package/src/services/catalog.test.ts +240 -0
- package/src/services/catalog.ts +27 -0
- package/src/services/checkpoint-client.d.ts +109 -0
- package/src/services/checkpoint-client.d.ts.map +1 -0
- package/src/services/checkpoint-client.ts +258 -0
- package/src/services/checkpoint-manager.ts +474 -0
- package/src/services/cloud-fallback.d.ts +102 -0
- package/src/services/cloud-fallback.d.ts.map +1 -0
- package/src/services/cloud-fallback.ts +230 -0
- package/src/services/conversation-registry.d.ts +142 -0
- package/src/services/conversation-registry.d.ts.map +1 -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.d.ts +92 -0
- package/src/services/desktop-fused-ffi-backend-runtime.d.ts.map +1 -0
- package/src/services/desktop-fused-ffi-backend-runtime.ts +333 -0
- package/src/services/device-bridge.d.ts +188 -0
- package/src/services/device-bridge.d.ts.map +1 -0
- package/src/services/device-bridge.ts +1237 -0
- package/src/services/device-resource-metrics.d.ts +149 -0
- package/src/services/device-resource-metrics.d.ts.map +1 -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.d.ts +115 -0
- package/src/services/device-tier.d.ts.map +1 -0
- package/src/services/device-tier.test.ts +371 -0
- package/src/services/device-tier.ts +410 -0
- package/src/services/downloader.d.ts +82 -0
- package/src/services/downloader.d.ts.map +1 -0
- package/src/services/downloader.test.ts +724 -0
- package/src/services/downloader.ts +899 -0
- package/src/services/engine-direct-bundle.test.ts +58 -0
- package/src/services/engine-streaming.test.ts +80 -0
- package/src/services/engine.d.ts +534 -0
- package/src/services/engine.d.ts.map +1 -0
- package/src/services/engine.ts +1891 -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.d.ts +17 -0
- package/src/services/external-scanner.d.ts.map +1 -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 +442 -0
- package/src/services/ffi-streaming-backend.d.ts +180 -0
- package/src/services/ffi-streaming-backend.d.ts.map +1 -0
- package/src/services/ffi-streaming-backend.ts +382 -0
- package/src/services/ffi-streaming-runner.d.ts +122 -0
- package/src/services/ffi-streaming-runner.d.ts.map +1 -0
- package/src/services/ffi-streaming-runner.test.ts +60 -0
- package/src/services/ffi-streaming-runner.ts +354 -0
- package/src/services/ffi-unload-ordering.test.ts +162 -0
- package/src/services/gpu-autotune.ts +534 -0
- package/src/services/gpu-detect.ts +139 -0
- package/src/services/handler-registry.d.ts +72 -0
- package/src/services/handler-registry.d.ts.map +1 -0
- package/src/services/handler-registry.ts +240 -0
- package/src/services/hardware.d.ts +63 -0
- package/src/services/hardware.d.ts.map +1 -0
- package/src/services/hardware.test.ts +183 -0
- package/src/services/hardware.ts +404 -0
- package/src/services/hf-search.d.ts +26 -0
- package/src/services/hf-search.d.ts.map +1 -0
- package/src/services/hf-search.test.ts +69 -0
- package/src/services/hf-search.ts +420 -0
- package/src/services/image-description-runtime.d.ts +14 -0
- package/src/services/image-description-runtime.d.ts.map +1 -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.d.ts +134 -0
- package/src/services/imagegen/aosp-unavailable.d.ts.map +1 -0
- package/src/services/imagegen/aosp-unavailable.ts +229 -0
- package/src/services/imagegen/backend-selector.d.ts +118 -0
- package/src/services/imagegen/backend-selector.d.ts.map +1 -0
- package/src/services/imagegen/backend-selector.ts +281 -0
- package/src/services/imagegen/coreml-unavailable.d.ts +105 -0
- package/src/services/imagegen/coreml-unavailable.d.ts.map +1 -0
- package/src/services/imagegen/coreml-unavailable.ts +237 -0
- package/src/services/imagegen/errors.d.ts +16 -0
- package/src/services/imagegen/errors.d.ts.map +1 -0
- package/src/services/imagegen/errors.ts +40 -0
- package/src/services/imagegen/index.d.ts +58 -0
- package/src/services/imagegen/index.d.ts.map +1 -0
- package/src/services/imagegen/index.ts +144 -0
- package/src/services/imagegen/mflux.d.ts +74 -0
- package/src/services/imagegen/mflux.d.ts.map +1 -0
- package/src/services/imagegen/mflux.ts +313 -0
- package/src/services/imagegen/sd-cpp.d.ts +180 -0
- package/src/services/imagegen/sd-cpp.d.ts.map +1 -0
- package/src/services/imagegen/sd-cpp.ts +718 -0
- package/src/services/imagegen/tensorrt-unavailable.d.ts +83 -0
- package/src/services/imagegen/tensorrt-unavailable.d.ts.map +1 -0
- package/src/services/imagegen/tensorrt-unavailable.ts +295 -0
- package/src/services/imagegen/types.d.ts +181 -0
- package/src/services/imagegen/types.d.ts.map +1 -0
- package/src/services/imagegen/types.ts +193 -0
- package/src/services/index.d.ts +30 -0
- package/src/services/index.d.ts.map +1 -0
- package/src/services/index.ts +225 -0
- package/src/services/inference-capabilities.d.ts +132 -0
- package/src/services/inference-capabilities.d.ts.map +1 -0
- package/src/services/inference-capabilities.test.ts +75 -0
- package/src/services/inference-capabilities.ts +204 -0
- package/src/services/inference-telemetry.d.ts +59 -0
- package/src/services/inference-telemetry.d.ts.map +1 -0
- package/src/services/inference-telemetry.ts +143 -0
- package/src/services/ios-llama-streaming.ts +248 -0
- package/src/services/kv-spill.d.ts +189 -0
- package/src/services/kv-spill.d.ts.map +1 -0
- package/src/services/kv-spill.test.ts +222 -0
- package/src/services/kv-spill.ts +356 -0
- package/src/services/latency-trace.d.ts +346 -0
- package/src/services/latency-trace.d.ts.map +1 -0
- package/src/services/latency-trace.test.ts +266 -0
- package/src/services/latency-trace.ts +844 -0
- package/src/services/llama-server-metrics.ts +304 -0
- package/src/services/llm-streaming-binding.d.ts +96 -0
- package/src/services/llm-streaming-binding.d.ts.map +1 -0
- package/src/services/llm-streaming-binding.ts +136 -0
- package/src/services/load-args.d.ts +82 -0
- package/src/services/load-args.d.ts.map +1 -0
- package/src/services/load-args.ts +81 -0
- package/src/services/manifest/eliza-1.manifest.v1.json +708 -0
- package/src/services/manifest/index.d.ts +4 -0
- package/src/services/manifest/index.d.ts.map +1 -0
- package/src/services/manifest/index.ts +66 -0
- package/src/services/manifest/manifest.test.ts +693 -0
- package/src/services/manifest/schema.d.ts +715 -0
- package/src/services/manifest/schema.d.ts.map +1 -0
- package/src/services/manifest/schema.ts +655 -0
- package/src/services/manifest/types.d.ts +30 -0
- package/src/services/manifest/types.d.ts.map +1 -0
- package/src/services/manifest/types.ts +55 -0
- package/src/services/manifest/validator.d.ts +66 -0
- package/src/services/manifest/validator.d.ts.map +1 -0
- package/src/services/manifest/validator.ts +569 -0
- package/src/services/memory-arbiter.d.ts +343 -0
- package/src/services/memory-arbiter.d.ts.map +1 -0
- package/src/services/memory-arbiter.test.ts +419 -0
- package/src/services/memory-arbiter.ts +1000 -0
- package/src/services/memory-monitor.d.ts +119 -0
- package/src/services/memory-monitor.d.ts.map +1 -0
- package/src/services/memory-monitor.test.ts +208 -0
- package/src/services/memory-monitor.ts +296 -0
- package/src/services/memory-pressure.d.ts +127 -0
- package/src/services/memory-pressure.d.ts.map +1 -0
- package/src/services/memory-pressure.ts +413 -0
- package/src/services/mtp-doctor.d.ts +13 -0
- package/src/services/mtp-doctor.d.ts.map +1 -0
- package/src/services/mtp-doctor.ts +78 -0
- package/src/services/network-policy.d.ts +127 -0
- package/src/services/network-policy.d.ts.map +1 -0
- package/src/services/network-policy.ts +346 -0
- package/src/services/paths.d.ts +6 -0
- package/src/services/paths.d.ts.map +1 -0
- package/src/services/paths.ts +25 -0
- package/src/services/planner-skeleton.d.ts +124 -0
- package/src/services/planner-skeleton.d.ts.map +1 -0
- package/src/services/planner-skeleton.ts +175 -0
- package/src/services/providers.d.ts +38 -0
- package/src/services/providers.d.ts.map +1 -0
- package/src/services/providers.ts +507 -0
- package/src/services/ram-budget-cache.test.ts +163 -0
- package/src/services/ram-budget.d.ts +110 -0
- package/src/services/ram-budget.d.ts.map +1 -0
- package/src/services/ram-budget.ts +0 -0
- package/src/services/readiness.d.ts +9 -0
- package/src/services/readiness.d.ts.map +1 -0
- package/src/services/readiness.test.ts +87 -0
- package/src/services/readiness.ts +238 -0
- package/src/services/recommendation.d.ts +111 -0
- package/src/services/recommendation.d.ts.map +1 -0
- package/src/services/recommendation.ts +672 -0
- package/src/services/registry.d.ts +35 -0
- package/src/services/registry.d.ts.map +1 -0
- package/src/services/registry.ts +151 -0
- package/src/services/router-handler.d.ts +92 -0
- package/src/services/router-handler.d.ts.map +1 -0
- package/src/services/router-handler.test.ts +45 -0
- package/src/services/router-handler.ts +376 -0
- package/src/services/routing-policy.d.ts +55 -0
- package/src/services/routing-policy.d.ts.map +1 -0
- package/src/services/routing-policy.ts +228 -0
- package/src/services/routing-preferences.d.ts +8 -0
- package/src/services/routing-preferences.d.ts.map +1 -0
- package/src/services/routing-preferences.ts +15 -0
- package/src/services/runtime-target.d.ts +98 -0
- package/src/services/runtime-target.d.ts.map +1 -0
- package/src/services/runtime-target.ts +154 -0
- package/src/services/service.d.ts +128 -0
- package/src/services/service.d.ts.map +1 -0
- package/src/services/service.test.ts +223 -0
- package/src/services/service.ts +735 -0
- package/src/services/session-pool.d.ts +72 -0
- package/src/services/session-pool.d.ts.map +1 -0
- package/src/services/session-pool.ts +153 -0
- package/src/services/structured-output/deterministic-repair.d.ts +23 -0
- package/src/services/structured-output/deterministic-repair.d.ts.map +1 -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.d.ts +311 -0
- package/src/services/structured-output.d.ts.map +1 -0
- package/src/services/structured-output.test.ts +483 -0
- package/src/services/structured-output.ts +712 -0
- package/src/services/transcription-priority.test.ts +211 -0
- package/src/services/tts/errors.ts +46 -0
- package/src/services/tts/index.ts +214 -0
- package/src/services/tts/tts-audio-cache.ts +235 -0
- package/src/services/tts/types.ts +157 -0
- package/src/services/types.d.ts +19 -0
- package/src/services/types.d.ts.map +1 -0
- package/src/services/types.ts +55 -0
- package/src/services/verify-on-device.d.ts +34 -0
- package/src/services/verify-on-device.d.ts.map +1 -0
- package/src/services/verify-on-device.test.ts +87 -0
- package/src/services/verify-on-device.ts +127 -0
- package/src/services/verify.d.ts +8 -0
- package/src/services/verify.d.ts.map +1 -0
- package/src/services/verify.ts +13 -0
- package/src/services/vision/aosp-unavailable.d.ts +115 -0
- package/src/services/vision/aosp-unavailable.d.ts.map +1 -0
- package/src/services/vision/aosp-unavailable.ts +163 -0
- package/src/services/vision/capacitor-llama.d.ts +99 -0
- package/src/services/vision/capacitor-llama.d.ts.map +1 -0
- package/src/services/vision/capacitor-llama.ts +255 -0
- package/src/services/vision/cloud-fallback.d.ts +47 -0
- package/src/services/vision/cloud-fallback.d.ts.map +1 -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.d.ts +71 -0
- package/src/services/vision/hash.d.ts.map +1 -0
- package/src/services/vision/hash.ts +157 -0
- package/src/services/vision/index.d.ts +95 -0
- package/src/services/vision/index.d.ts.map +1 -0
- package/src/services/vision/index.ts +251 -0
- package/src/services/vision/llama-server.d.ts +73 -0
- package/src/services/vision/llama-server.d.ts.map +1 -0
- package/src/services/vision/llama-server.ts +177 -0
- package/src/services/vision/types.d.ts +153 -0
- package/src/services/vision/types.d.ts.map +1 -0
- package/src/services/vision/types.ts +154 -0
- package/src/services/vision/vast-fallback.d.ts +18 -0
- package/src/services/vision/vast-fallback.d.ts.map +1 -0
- package/src/services/vision/vast-fallback.ts +127 -0
- package/src/services/vision-embedding-cache.d.ts +98 -0
- package/src/services/vision-embedding-cache.d.ts.map +1 -0
- package/src/services/vision-embedding-cache.ts +189 -0
- package/src/services/voice/VOICE_WORKBENCH.md +88 -0
- package/src/services/voice/__test-helpers__/fake-ffi.ts +92 -0
- package/src/services/voice/__test-helpers__/synthetic-speech.ts +124 -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 +197 -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/audio-frame-consumer.d.ts +212 -0
- package/src/services/voice/audio-frame-consumer.d.ts.map +1 -0
- package/src/services/voice/audio-frame-consumer.test.ts +343 -0
- package/src/services/voice/audio-frame-consumer.ts +491 -0
- package/src/services/voice/barge-in.d.ts +112 -0
- package/src/services/voice/barge-in.d.ts.map +1 -0
- package/src/services/voice/barge-in.test.ts +244 -0
- package/src/services/voice/barge-in.ts +336 -0
- package/src/services/voice/cancellation-coordinator.d.ts +127 -0
- package/src/services/voice/cancellation-coordinator.d.ts.map +1 -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.d.ts +199 -0
- package/src/services/voice/checkpoint-manager.d.ts.map +1 -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/e2e-harness.test.ts +182 -0
- package/src/services/voice/e2e-harness.ts +743 -0
- package/src/services/voice/eager-context-builder.d.ts +170 -0
- package/src/services/voice/eager-context-builder.d.ts.map +1 -0
- package/src/services/voice/eager-context-builder.ts +262 -0
- package/src/services/voice/eliza1-eot-scorer.d.ts +124 -0
- package/src/services/voice/eliza1-eot-scorer.d.ts.map +1 -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.d.ts +133 -0
- package/src/services/voice/embedding.d.ts.map +1 -0
- package/src/services/voice/embedding.test.ts +148 -0
- package/src/services/voice/embedding.ts +244 -0
- package/src/services/voice/emotion-attribution.d.ts +68 -0
- package/src/services/voice/emotion-attribution.d.ts.map +1 -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.d.ts +746 -0
- package/src/services/voice/engine-bridge.d.ts.map +1 -0
- package/src/services/voice/engine-bridge.test.ts +384 -0
- package/src/services/voice/engine-bridge.ts +2226 -0
- package/src/services/voice/eot-classifier-ggml.d.ts +179 -0
- package/src/services/voice/eot-classifier-ggml.d.ts.map +1 -0
- package/src/services/voice/eot-classifier-ggml.ts +566 -0
- package/src/services/voice/eot-classifier.d.ts +214 -0
- package/src/services/voice/eot-classifier.d.ts.map +1 -0
- package/src/services/voice/eot-classifier.ts +533 -0
- package/src/services/voice/errors.d.ts +20 -0
- package/src/services/voice/errors.d.ts.map +1 -0
- package/src/services/voice/errors.ts +32 -0
- package/src/services/voice/expressive-tags.d.ts +158 -0
- package/src/services/voice/expressive-tags.d.ts.map +1 -0
- package/src/services/voice/expressive-tags.ts +405 -0
- package/src/services/voice/ffi-bindings.d.ts +636 -0
- package/src/services/voice/ffi-bindings.d.ts.map +1 -0
- package/src/services/voice/ffi-bindings.test.ts +671 -0
- package/src/services/voice/ffi-bindings.ts +3050 -0
- package/src/services/voice/first-line-cache.d.ts +181 -0
- package/src/services/voice/first-line-cache.d.ts.map +1 -0
- package/src/services/voice/first-line-cache.ts +725 -0
- package/src/services/voice/fused-eot-scorer.d.ts +51 -0
- package/src/services/voice/fused-eot-scorer.d.ts.map +1 -0
- package/src/services/voice/fused-eot-scorer.ts +135 -0
- package/src/services/voice/index.d.ts +91 -0
- package/src/services/voice/index.d.ts.map +1 -0
- package/src/services/voice/index.ts +481 -0
- package/src/services/voice/kokoro/__tests__/kokoro-backend.test.ts +151 -0
- package/src/services/voice/kokoro/__tests__/kokoro-engine-bridge.real.test.ts +151 -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 +231 -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.d.ts +72 -0
- package/src/services/voice/kokoro/kokoro-backend.d.ts.map +1 -0
- package/src/services/voice/kokoro/kokoro-backend.ts +207 -0
- package/src/services/voice/kokoro/kokoro-engine-discovery.d.ts +58 -0
- package/src/services/voice/kokoro/kokoro-engine-discovery.d.ts.map +1 -0
- package/src/services/voice/kokoro/kokoro-engine-discovery.ts +177 -0
- package/src/services/voice/kokoro/kokoro-ffi-runtime.d.ts +75 -0
- package/src/services/voice/kokoro/kokoro-ffi-runtime.d.ts.map +1 -0
- package/src/services/voice/kokoro/kokoro-ffi-runtime.ts +233 -0
- package/src/services/voice/kokoro/kokoro-runtime.d.ts +100 -0
- package/src/services/voice/kokoro/kokoro-runtime.d.ts.map +1 -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.d.ts +50 -0
- package/src/services/voice/kokoro/phonemizer.d.ts.map +1 -0
- package/src/services/voice/kokoro/phonemizer.ts +344 -0
- package/src/services/voice/kokoro/pick-runtime.d.ts +61 -0
- package/src/services/voice/kokoro/pick-runtime.d.ts.map +1 -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.d.ts +92 -0
- package/src/services/voice/kokoro/runtime-selection.d.ts.map +1 -0
- package/src/services/voice/kokoro/runtime-selection.ts +237 -0
- package/src/services/voice/kokoro/types.d.ts +82 -0
- package/src/services/voice/kokoro/types.d.ts.map +1 -0
- package/src/services/voice/kokoro/types.ts +95 -0
- package/src/services/voice/kokoro/voice-presets.d.ts +23 -0
- package/src/services/voice/kokoro/voice-presets.d.ts.map +1 -0
- package/src/services/voice/kokoro/voice-presets.ts +129 -0
- package/src/services/voice/kokoro/voices.d.ts +30 -0
- package/src/services/voice/kokoro/voices.d.ts.map +1 -0
- package/src/services/voice/kokoro/voices.ts +64 -0
- package/src/services/voice/lifecycle.d.ts +135 -0
- package/src/services/voice/lifecycle.d.ts.map +1 -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.d.ts +96 -0
- package/src/services/voice/live-diarization-session.d.ts.map +1 -0
- package/src/services/voice/live-diarization-session.ts +289 -0
- package/src/services/voice/mic-source.d.ts +136 -0
- package/src/services/voice/mic-source.d.ts.map +1 -0
- package/src/services/voice/mic-source.test.ts +210 -0
- package/src/services/voice/mic-source.ts +503 -0
- package/src/services/voice/optimistic-policy.d.ts +109 -0
- package/src/services/voice/optimistic-policy.d.ts.map +1 -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.d.ts +73 -0
- package/src/services/voice/partial-stabilizer.d.ts.map +1 -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.d.ts +49 -0
- package/src/services/voice/phoneme-tokenizer.d.ts.map +1 -0
- package/src/services/voice/phoneme-tokenizer.ts +158 -0
- package/src/services/voice/phrase-cache.d.ts +76 -0
- package/src/services/voice/phrase-cache.d.ts.map +1 -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.d.ts +62 -0
- package/src/services/voice/phrase-chunker.d.ts.map +1 -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.d.ts +151 -0
- package/src/services/voice/pipeline-impls.d.ts.map +1 -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.d.ts +216 -0
- package/src/services/voice/pipeline.d.ts.map +1 -0
- package/src/services/voice/pipeline.ts +505 -0
- package/src/services/voice/prefill-client.d.ts +123 -0
- package/src/services/voice/prefill-client.d.ts.map +1 -0
- package/src/services/voice/prefill-client.ts +316 -0
- package/src/services/voice/prefix-preserving-queue.d.ts +113 -0
- package/src/services/voice/prefix-preserving-queue.d.ts.map +1 -0
- package/src/services/voice/prefix-preserving-queue.ts +162 -0
- package/src/services/voice/profile-store.d.ts +248 -0
- package/src/services/voice/profile-store.d.ts.map +1 -0
- package/src/services/voice/profile-store.ts +887 -0
- package/src/services/voice/ring-buffer.d.ts +40 -0
- package/src/services/voice/ring-buffer.d.ts.map +1 -0
- package/src/services/voice/ring-buffer.ts +105 -0
- package/src/services/voice/rollback-queue.d.ts +24 -0
- package/src/services/voice/rollback-queue.d.ts.map +1 -0
- package/src/services/voice/rollback-queue.ts +74 -0
- package/src/services/voice/samantha-preset-placeholder.d.ts +67 -0
- package/src/services/voice/samantha-preset-placeholder.d.ts.map +1 -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.d.ts +87 -0
- package/src/services/voice/samantha-preset-regenerator.d.ts.map +1 -0
- package/src/services/voice/samantha-preset-regenerator.ts +393 -0
- package/src/services/voice/scheduler.d.ts +146 -0
- package/src/services/voice/scheduler.d.ts.map +1 -0
- package/src/services/voice/scheduler.t2.test.ts +141 -0
- package/src/services/voice/scheduler.ts +927 -0
- package/src/services/voice/shared-resources.d.ts +190 -0
- package/src/services/voice/shared-resources.d.ts.map +1 -0
- package/src/services/voice/shared-resources.ts +320 -0
- package/src/services/voice/speaker/attribution-pipeline.d.ts +74 -0
- package/src/services/voice/speaker/attribution-pipeline.d.ts.map +1 -0
- package/src/services/voice/speaker/attribution-pipeline.ts +386 -0
- package/src/services/voice/speaker/diarizer-fused.d.ts +59 -0
- package/src/services/voice/speaker/diarizer-fused.d.ts.map +1 -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.d.ts +75 -0
- package/src/services/voice/speaker/diarizer.d.ts.map +1 -0
- package/src/services/voice/speaker/diarizer.ts +218 -0
- package/src/services/voice/speaker/encoder-fused.d.ts +60 -0
- package/src/services/voice/speaker/encoder-fused.d.ts.map +1 -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.d.ts +33 -0
- package/src/services/voice/speaker/encoder-ggml.d.ts.map +1 -0
- package/src/services/voice/speaker/encoder-ggml.ts +79 -0
- package/src/services/voice/speaker/encoder.d.ts +37 -0
- package/src/services/voice/speaker/encoder.d.ts.map +1 -0
- package/src/services/voice/speaker/encoder.ts +105 -0
- package/src/services/voice/speaker-imprint.d.ts +83 -0
- package/src/services/voice/speaker-imprint.d.ts.map +1 -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.d.ts +77 -0
- package/src/services/voice/speaker-preset-cache.d.ts.map +1 -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.d.ts +73 -0
- package/src/services/voice/system-audio-sink.d.ts.map +1 -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.d.ts +244 -0
- package/src/services/voice/transcriber.d.ts.map +1 -0
- package/src/services/voice/transcriber.test.ts +392 -0
- package/src/services/voice/transcriber.ts +704 -0
- package/src/services/voice/turn-controller.d.ts +183 -0
- package/src/services/voice/turn-controller.d.ts.map +1 -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.d.ts +643 -0
- package/src/services/voice/types.d.ts.map +1 -0
- package/src/services/voice/types.ts +699 -0
- package/src/services/voice/vad.d.ts +282 -0
- package/src/services/voice/vad.d.ts.map +1 -0
- package/src/services/voice/vad.test.ts +480 -0
- package/src/services/voice/vad.ts +827 -0
- package/src/services/voice/vad.v1-v4.test.ts +222 -0
- package/src/services/voice/voice-budget.d.ts +241 -0
- package/src/services/voice/voice-budget.d.ts.map +1 -0
- package/src/services/voice/voice-budget.test.ts +420 -0
- package/src/services/voice/voice-budget.ts +656 -0
- package/src/services/voice/voice-duet.test.ts +375 -0
- package/src/services/voice/voice-emotion-classifier.d.ts +95 -0
- package/src/services/voice/voice-emotion-classifier.d.ts.map +1 -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-preset-format.d.ts +158 -0
- package/src/services/voice/voice-preset-format.d.ts.map +1 -0
- package/src/services/voice/voice-preset-format.ts +700 -0
- package/src/services/voice/voice-preset-generator.test.ts +89 -0
- package/src/services/voice/voice-profile-artifact.d.ts +116 -0
- package/src/services/voice/voice-profile-artifact.d.ts.map +1 -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.d.ts +83 -0
- package/src/services/voice/voice-profile-routes.d.ts.map +1 -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.ts +154 -0
- package/src/services/voice/voice-settings.d.ts +82 -0
- package/src/services/voice/voice-settings.d.ts.map +1 -0
- package/src/services/voice/voice-settings.ts +172 -0
- package/src/services/voice/voice-state-machine.d.ts +364 -0
- package/src/services/voice/voice-state-machine.d.ts.map +1 -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 +326 -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.d.ts +101 -0
- package/src/services/voice/wake-word-ggml.d.ts.map +1 -0
- package/src/services/voice/wake-word-ggml.ts +320 -0
- package/src/services/voice/wake-word.d.ts +255 -0
- package/src/services/voice/wake-word.d.ts.map +1 -0
- package/src/services/voice/wake-word.test.ts +298 -0
- package/src/services/voice/wake-word.ts +554 -0
- package/src/services/voice/wrap-with-first-line-cache.d.ts +70 -0
- package/src/services/voice/wrap-with-first-line-cache.d.ts.map +1 -0
- package/src/services/voice/wrap-with-first-line-cache.ts +267 -0
- package/src/services/voice-model-updater.d.ts +240 -0
- package/src/services/voice-model-updater.d.ts.map +1 -0
- package/src/services/voice-model-updater.ts +724 -0
- package/src/services/voice-prewarm.d.ts +3 -0
- package/src/services/voice-prewarm.d.ts.map +1 -0
- package/src/services/voice-prewarm.ts +51 -0
- package/dist/index.d.ts +0 -37
- package/dist/index.js +0 -1098
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured-output / forced-span / prefill plumbing for the local-inference
|
|
3
|
+
* engine path.
|
|
4
|
+
*
|
|
5
|
+
* The canonical contract lives in `@elizaos/core` `GenerateTextParams`
|
|
6
|
+
* (`prefill`, `responseSkeleton`, `grammar`, `streamStructured`) and is
|
|
7
|
+
* threaded through `useModel` → router. This module is the
|
|
8
|
+
* local-inference-layer mirror of the relevant subset plus the GBNF
|
|
9
|
+
* compilation that turns a `ResponseSkeleton` into a *lazy* grammar so the
|
|
10
|
+
* model only ever samples the free positions of the response envelope
|
|
11
|
+
* (single-value enums collapse to literals — no tokens spent on the scaffold).
|
|
12
|
+
*
|
|
13
|
+
* Nothing here is local-model-specific in shape; cloud adapters never read
|
|
14
|
+
* these fields. There is no fallback path — adapters that can't honour
|
|
15
|
+
* `grammar` / `prefill` / `responseSkeleton` ignore them, full stop.
|
|
16
|
+
*/
|
|
17
|
+
import type { JSONSchema, ResponseSkeleton, ResponseSkeletonSpan, SpanSamplerPlan } from "@elizaos/core";
|
|
18
|
+
export { repairStructuredOutput, type StructuredOutputRepairOptions, type StructuredOutputRepairResult, type StructuredOutputRepairStatus, StructuredOutputRepairStream, } from "./structured-output/deterministic-repair";
|
|
19
|
+
export type { ResponseSkeleton, ResponseSkeletonSpan, SpanSamplerPlan };
|
|
20
|
+
/**
|
|
21
|
+
* GBNF grammar fragment ready for a llama-server request body. `lazy` grammars
|
|
22
|
+
* only kick in once a trigger word/sequence appears in the stream
|
|
23
|
+
* (llama.cpp's `grammar_lazy` + `grammar_triggers`) — that lets the model
|
|
24
|
+
* free-run the prose `replyText` and only constrain the structured scaffold
|
|
25
|
+
* once the envelope boundary is reached.
|
|
26
|
+
*/
|
|
27
|
+
export interface GbnfGrammar {
|
|
28
|
+
/** GBNF source. */
|
|
29
|
+
source: string;
|
|
30
|
+
/** When true, the server applies the grammar lazily (`grammar_lazy: true`). */
|
|
31
|
+
lazy?: boolean;
|
|
32
|
+
/** Trigger words that activate a lazy grammar (`grammar_triggers`). */
|
|
33
|
+
triggers?: ReadonlyArray<string>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Local-inference mirror of the structured-output extensions on
|
|
37
|
+
* `GenerateTextParams`. Threaded `useModel` → router → local handler →
|
|
38
|
+
* engine → FFI runtime.
|
|
39
|
+
*/
|
|
40
|
+
export interface StructuredGenerateParams {
|
|
41
|
+
/**
|
|
42
|
+
* Assistant-turn prefill — a partial assistant message the model should
|
|
43
|
+
* *continue* rather than start fresh. On llama-server this is sent as a
|
|
44
|
+
* trailing assistant message with `continue_final_message` / the
|
|
45
|
+
* `assistant` chat-template prefix; the capacitor-llama path seeds the
|
|
46
|
+
* prompt text and re-prepends the prefill to the result.
|
|
47
|
+
*/
|
|
48
|
+
prefill?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Forced response skeleton. When set the engine compiles it to a lazy GBNF
|
|
51
|
+
* (single-value enums → literals) so the model only samples the free
|
|
52
|
+
* positions of the envelope.
|
|
53
|
+
*/
|
|
54
|
+
responseSkeleton?: ResponseSkeleton;
|
|
55
|
+
/** Optional whole-response JSON schema from `GenerateTextParams`. */
|
|
56
|
+
responseSchema?: JSONSchema;
|
|
57
|
+
/**
|
|
58
|
+
* Explicit GBNF grammar string. When both `grammar` and `responseSkeleton`
|
|
59
|
+
* are present, the explicit `grammar` wins.
|
|
60
|
+
*/
|
|
61
|
+
grammar?: string;
|
|
62
|
+
/**
|
|
63
|
+
* When true, the engine streams per-token chunks back via `onTextChunk`
|
|
64
|
+
* (and structured-field events) instead of returning the whole string in
|
|
65
|
+
* one shot.
|
|
66
|
+
*/
|
|
67
|
+
streamStructured?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* The eliza harness schema for this call — the compact descriptor bundling
|
|
70
|
+
* the response skeleton, a pre-built grammar (optional), the derived
|
|
71
|
+
* deterministic-token {@link ElizaPrefillPlan}, and the short/long name maps.
|
|
72
|
+
* When present, guided structured decode is *on* for this call: the engine
|
|
73
|
+
* sends the grammar AND the prefill plan, and seeds the leading literal run
|
|
74
|
+
* as an assistant-turn prefill. Absent → guided decode is off (the engine
|
|
75
|
+
* may still honour a bare `grammar` / `responseSkeleton`, but never emits a
|
|
76
|
+
* prefill plan). This is the off-by-default switch for the deterministic
|
|
77
|
+
* short-circuit.
|
|
78
|
+
*/
|
|
79
|
+
elizaSchema?: ElizaHarnessSchema;
|
|
80
|
+
/**
|
|
81
|
+
* Per-span sampler overrides for the {@link responseSkeleton}. When set,
|
|
82
|
+
* the engine emits `eliza_span_samplers` on the llama-server request body so
|
|
83
|
+
* the fork-side server swaps to argmax (`llama_sampler_init_greedy()`) at
|
|
84
|
+
* the indicated enum / number / boolean positions. Stock llama-server
|
|
85
|
+
* ignores the field — the grammar still constrains the same tokens, we
|
|
86
|
+
* just lose the argmax determinism guarantee on that path.
|
|
87
|
+
*
|
|
88
|
+
* Producer: `@elizaos/core` `buildSpanSamplerPlan(skeleton)`.
|
|
89
|
+
*/
|
|
90
|
+
spanSamplerPlan?: SpanSamplerPlan;
|
|
91
|
+
/**
|
|
92
|
+
* Per-request chat-template thinking control for reasoning-capable local
|
|
93
|
+
* models. `off` maps to `chat_template_kwargs.enable_thinking=false` for
|
|
94
|
+
* response-handler/direct-reply calls that must emit user-visible text, while
|
|
95
|
+
* planner/action calls can omit this and use the catalog/server default.
|
|
96
|
+
*/
|
|
97
|
+
thinking?: "auto" | "on" | "off";
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Collapse a skeleton: `enum` spans with exactly one value (or zero values)
|
|
101
|
+
* become `literal` spans (C4). Adjacent literals stay separate spans — the
|
|
102
|
+
* compiler merges them in the root rule.
|
|
103
|
+
*/
|
|
104
|
+
export declare function collapseSkeleton(skeleton: ResponseSkeleton): ResponseSkeleton;
|
|
105
|
+
/**
|
|
106
|
+
* Compile a `ResponseSkeleton` to a *lazy* GBNF grammar. The grammar's `root`
|
|
107
|
+
* rule is the concatenation of every span:
|
|
108
|
+
* - `literal` spans → GBNF string literals (the JSON key/glue scaffold),
|
|
109
|
+
* - `enum` spans (≥2 values) → an alternation of quoted-string literals,
|
|
110
|
+
* - `free-string` spans → a quoted JSON string rule,
|
|
111
|
+
* - `free-json` spans → the recursive JSON-value rule.
|
|
112
|
+
*
|
|
113
|
+
* The grammar runs *lazily* when the skeleton opens with a literal (the
|
|
114
|
+
* trigger word) — generation free-runs until that literal is seen, then the
|
|
115
|
+
* grammar pins the rest of the envelope. That keeps the prose prefix
|
|
116
|
+
* unconstrained while forcing the JSON scaffold.
|
|
117
|
+
*
|
|
118
|
+
* Returns `null` when the skeleton has no free spans (nothing for the model to
|
|
119
|
+
* sample — the caller should just emit the literal text and skip generation).
|
|
120
|
+
*/
|
|
121
|
+
export declare function compileSkeletonToGbnf(skeletonInput: ResponseSkeleton): GbnfGrammar | null;
|
|
122
|
+
/**
|
|
123
|
+
* Resolve the GBNF grammar to apply for a generation call. Precedence: an
|
|
124
|
+
* explicit `grammar` string on the params, then a compiled `responseSkeleton`.
|
|
125
|
+
* Returns null when neither is set.
|
|
126
|
+
*/
|
|
127
|
+
export declare function resolveGrammarForParams(params: StructuredGenerateParams | undefined): GbnfGrammar | null;
|
|
128
|
+
/**
|
|
129
|
+
* Build the OpenAI-/llama-server-compatible request-body fragment for a
|
|
130
|
+
* grammar. Returns `grammar` + (when lazy) `grammar_lazy` / `grammar_triggers`.
|
|
131
|
+
* Recent llama.cpp accepts these on both `/v1/chat/completions` and
|
|
132
|
+
* `/completion`.
|
|
133
|
+
*/
|
|
134
|
+
export declare function grammarRequestFields(grammar: GbnfGrammar): Record<string, unknown>;
|
|
135
|
+
/**
|
|
136
|
+
* Split a skeleton's leading literal run off as an assistant-turn prefill
|
|
137
|
+
* candidate, returning that prefix plus the remaining spans. Used by the
|
|
138
|
+
* multi-call infill fallback (emit prefix as a prefill, generate the first
|
|
139
|
+
* free span, then loop).
|
|
140
|
+
*/
|
|
141
|
+
export declare function splitSkeletonAtFirstFree(skeleton: ResponseSkeleton): {
|
|
142
|
+
prefixLiteral: string;
|
|
143
|
+
rest: ResponseSkeletonSpan[];
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* One deterministically-forced byte run in an {@link ElizaPrefillPlan}. The
|
|
147
|
+
* runs alternate with the free (sampled) spans, so a run is unambiguously
|
|
148
|
+
* anchored by *position* in that alternation rather than by an absolute byte
|
|
149
|
+
* offset (the sampled spans have unknown length at plan time):
|
|
150
|
+
*
|
|
151
|
+
* run[0] free[0] run[1] free[1] … run[n] (n = number of free spans)
|
|
152
|
+
*
|
|
153
|
+
* `afterFreeSpan` is `-1` for the leading run (before any free span — the
|
|
154
|
+
* assistant-turn prefill), then `0, 1, 2, …` for the run that follows free
|
|
155
|
+
* span 0, 1, 2, … . The server resumes sampling after writing each run; once
|
|
156
|
+
* the matching free span is sampled it writes the next run's token ids without
|
|
157
|
+
* a forward pass and advances the decoder to the next free span.
|
|
158
|
+
*/
|
|
159
|
+
export interface PrefillRun {
|
|
160
|
+
/**
|
|
161
|
+
* Index of the free span this run *follows*. `-1` = the leading run (the
|
|
162
|
+
* prefill); `k >= 0` = the run after free span `k`. The last run (`n`) is the
|
|
163
|
+
* tail scaffold (closing braces) after the final free span.
|
|
164
|
+
*/
|
|
165
|
+
afterFreeSpan: number;
|
|
166
|
+
/** The deterministically-forced bytes. */
|
|
167
|
+
text: string;
|
|
168
|
+
/**
|
|
169
|
+
* Optional pre-tokenized token IDs for this run. When provided at compile time
|
|
170
|
+
* via a tokenizer callback, the FFI runtime can use these directly without
|
|
171
|
+
* re-tokenizing, improving latency.
|
|
172
|
+
*/
|
|
173
|
+
tokenIds?: number[];
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Compact descriptor of the deterministic structure of a constrained decode:
|
|
177
|
+
* the ordered runs of bytes that are fixed (so the server can prefill their
|
|
178
|
+
* token ids and skip the forward passes) interleaved with the count of free
|
|
179
|
+
* positions, plus the leading literal run that should be seeded as an
|
|
180
|
+
* assistant-turn prefill (`prefix`). Sent on the request as `eliza_prefill_plan`.
|
|
181
|
+
*
|
|
182
|
+
* Purely a speedup hint — a server that ignores it produces the identical
|
|
183
|
+
* output because the lazy GBNF already forces the same bytes.
|
|
184
|
+
*/
|
|
185
|
+
export interface ElizaPrefillPlan {
|
|
186
|
+
/**
|
|
187
|
+
* The leading deterministic run — emitted as an assistant-turn prefill so
|
|
188
|
+
* the model never samples it. Empty when the skeleton opens with a free span.
|
|
189
|
+
*/
|
|
190
|
+
prefix: string;
|
|
191
|
+
/**
|
|
192
|
+
* Deterministic byte runs alternating with the free spans (see
|
|
193
|
+
* {@link PrefillRun}), in output order, including the prefix run when
|
|
194
|
+
* non-empty.
|
|
195
|
+
*/
|
|
196
|
+
runs: PrefillRun[];
|
|
197
|
+
/** Number of free (sampled) spans in the skeleton. `runs.length` is `freeCount + 1` minus the leading run when the skeleton starts free. */
|
|
198
|
+
freeCount: number;
|
|
199
|
+
/**
|
|
200
|
+
* Opaque cache key (mirrors the skeleton's `id`) so the server can cache the
|
|
201
|
+
* tokenised form of the runs across turns when the structure is unchanged.
|
|
202
|
+
*/
|
|
203
|
+
id?: string;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Compute the {@link ElizaPrefillPlan} for a response skeleton: walk the spans,
|
|
207
|
+
* accumulating consecutive `literal` spans (and single-value enums collapsed to
|
|
208
|
+
* literals) into deterministic byte runs and counting the free spans. Adjacent
|
|
209
|
+
* literals merge into one run. Returns `null` when the skeleton has no
|
|
210
|
+
* deterministic runs at all (nothing to prefill).
|
|
211
|
+
*
|
|
212
|
+
* Invariant the consumer relies on: concatenating the runs interleaved with the
|
|
213
|
+
* (eventually-sampled) free-span values, in order, reproduces a byte-identical
|
|
214
|
+
* JSON document to what the lazy GBNF from {@link compileSkeletonToGbnf} would
|
|
215
|
+
* have produced. The tests assert this.
|
|
216
|
+
*/
|
|
217
|
+
export declare function compilePrefillPlan(skeletonInput: ResponseSkeleton, tokenize?: (text: string) => number[]): ElizaPrefillPlan | null;
|
|
218
|
+
/**
|
|
219
|
+
* Build the request-body fragment carrying the prefill plan. The server reads
|
|
220
|
+
* `eliza_prefill_plan` (a tolerant extension — old binaries ignore it and the
|
|
221
|
+
* grammar still forces the same bytes). Returns `{}` when there is no plan.
|
|
222
|
+
*/
|
|
223
|
+
export declare function prefillPlanRequestFields(plan: ElizaPrefillPlan | null): Record<string, unknown>;
|
|
224
|
+
/**
|
|
225
|
+
* Build the request-body fragment carrying per-span sampler overrides. The
|
|
226
|
+
* fork-side llama-server reads `eliza_span_samplers` (a tolerant extension —
|
|
227
|
+
* old binaries ignore it; the grammar still constrains the same tokens, we
|
|
228
|
+
* just lose the per-span argmax determinism guarantee on the legacy path).
|
|
229
|
+
*
|
|
230
|
+
* Wire schema (snake_case for OpenAI body conventions):
|
|
231
|
+
* {
|
|
232
|
+
* overrides: [
|
|
233
|
+
* { span_index: number, temperature: number, top_k?: number, top_p?: number }
|
|
234
|
+
* ],
|
|
235
|
+
* strict?: boolean
|
|
236
|
+
* }
|
|
237
|
+
*
|
|
238
|
+
* Returns `{}` when there is no plan or no overrides — keep the wire surface
|
|
239
|
+
* narrow so a stock server never has to skip past empty fork extensions.
|
|
240
|
+
*/
|
|
241
|
+
export declare function spanSamplerPlanRequestFields(plan: SpanSamplerPlan | undefined | null): Record<string, unknown>;
|
|
242
|
+
/**
|
|
243
|
+
* The compact, engine-facing descriptor for a structured output the agent loop
|
|
244
|
+
* wants forced. It is the bundle of (a) a {@link ResponseSkeleton} (which
|
|
245
|
+
* compiles to a lazy GBNF for the constrained-decode path), (b) the derived
|
|
246
|
+
* {@link ElizaPrefillPlan} (the deterministic-token short-circuit), and (c) the
|
|
247
|
+
* short-name ↔ long-name maps so the on-wire/decoded form uses canonical short
|
|
248
|
+
* action ids / enum values and the runtime expands them for the caller.
|
|
249
|
+
*
|
|
250
|
+
* Producers: `@elizaos/core` `buildPlannerActionGrammar` / `buildResponseGrammar`
|
|
251
|
+
* wrapped by {@link elizaHarnessSchemaFromSkeleton}. Consumer: the local engine
|
|
252
|
+
* (`ffi-streaming-backend.ts` / `engine.ts`).
|
|
253
|
+
*/
|
|
254
|
+
export interface ElizaHarnessSchema {
|
|
255
|
+
/** Structure-forcing description; compiles to a lazy GBNF. */
|
|
256
|
+
skeleton: ResponseSkeleton;
|
|
257
|
+
/** Pre-built GBNF (wins over compiling the skeleton), when the producer made one. */
|
|
258
|
+
grammar?: string;
|
|
259
|
+
/** Deterministic-token short-circuit derived from the skeleton. */
|
|
260
|
+
prefillPlan: ElizaPrefillPlan | null;
|
|
261
|
+
/**
|
|
262
|
+
* Canonical short id → human-facing long name (display label), for any
|
|
263
|
+
* closed enum the descriptor pins (action ids, known enum values). The wire
|
|
264
|
+
* form is the short id; callers that want the long name look it up here.
|
|
265
|
+
* Empty when nothing needs expanding.
|
|
266
|
+
*/
|
|
267
|
+
longNames: Record<string, string>;
|
|
268
|
+
/** Cache key (the skeleton's id). */
|
|
269
|
+
id?: string;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Wrap a {@link ResponseSkeleton} (+ optional pre-built grammar + name map)
|
|
273
|
+
* into an {@link ElizaHarnessSchema}, computing the prefill plan. This is the
|
|
274
|
+
* single place the prefill plan is derived so producers don't each reimplement
|
|
275
|
+
* it.
|
|
276
|
+
*/
|
|
277
|
+
export declare function elizaHarnessSchemaFromSkeleton(input: {
|
|
278
|
+
skeleton: ResponseSkeleton;
|
|
279
|
+
grammar?: string;
|
|
280
|
+
longNames?: Record<string, string>;
|
|
281
|
+
tokenize?: (text: string) => number[];
|
|
282
|
+
}): ElizaHarnessSchema;
|
|
283
|
+
/**
|
|
284
|
+
* Expand a canonical short id decoded out of a constrained generation back to
|
|
285
|
+
* its human-facing long name (display label), using the descriptor's
|
|
286
|
+
* {@link ElizaHarnessSchema.longNames} map (sourced from the action catalog).
|
|
287
|
+
* Identity when there is no mapping — the canonical action ids
|
|
288
|
+
* (`normalizeActionName` results, e.g. `SEND_MESSAGE`) are already the on-wire
|
|
289
|
+
* form, so this is only meaningful when a producer registered a separate
|
|
290
|
+
* display label.
|
|
291
|
+
*/
|
|
292
|
+
export declare function expandShortName(schema: ElizaHarnessSchema | undefined, shortId: string): string;
|
|
293
|
+
/**
|
|
294
|
+
* Invert {@link expandShortName}: given a (possibly long) name the caller
|
|
295
|
+
* supplied, return the canonical short id the wire form expects. Identity when
|
|
296
|
+
* the name is already a known short id or no mapping matches.
|
|
297
|
+
*/
|
|
298
|
+
export declare function canonicalizeShortName(schema: ElizaHarnessSchema | undefined, name: string): string;
|
|
299
|
+
/**
|
|
300
|
+
* Resolve the GBNF + prefill plan + assistant-turn prefill to apply for a
|
|
301
|
+
* generation call given the structured params. Precedence for the grammar:
|
|
302
|
+
* an explicit `grammar` string, then a harness schema's `grammar`, then
|
|
303
|
+
* compiling the harness schema's / params' `responseSkeleton`. The prefill plan
|
|
304
|
+
* is only present when a harness schema is supplied (off by default).
|
|
305
|
+
*/
|
|
306
|
+
export declare function resolveGuidedDecodeForParams(params: StructuredGenerateParams | undefined): {
|
|
307
|
+
grammar: GbnfGrammar | null;
|
|
308
|
+
prefillPlan: ElizaPrefillPlan | null;
|
|
309
|
+
prefill: string | null;
|
|
310
|
+
};
|
|
311
|
+
//# sourceMappingURL=structured-output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structured-output.d.ts","sourceRoot":"","sources":["structured-output.ts"],"names":[],"mappings":"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"}
|