@elizaos/plugin-local-inference 2.0.3-beta.2 → 2.0.3-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (881) hide show
  1. package/README.md +84 -10
  2. package/dist/actions/generate-media.d.ts.map +1 -0
  3. package/dist/actions/identify-speaker.d.ts.map +1 -0
  4. package/dist/actions/transcription-control.d.ts.map +1 -0
  5. package/dist/adapters/capacitor-llama/environment.d.ts +12 -0
  6. package/dist/adapters/capacitor-llama/environment.d.ts.map +1 -0
  7. package/dist/adapters/capacitor-llama/index.browser.d.ts +9 -0
  8. package/dist/adapters/capacitor-llama/index.browser.d.ts.map +1 -0
  9. package/dist/adapters/capacitor-llama/index.d.ts +18 -0
  10. package/dist/adapters/capacitor-llama/index.d.ts.map +1 -0
  11. package/dist/adapters/capacitor-llama/loader.d.ts +35 -0
  12. package/dist/adapters/capacitor-llama/loader.d.ts.map +1 -0
  13. package/dist/adapters/capacitor-llama/native-voice-capture.d.ts +70 -0
  14. package/dist/adapters/capacitor-llama/native-voice-capture.d.ts.map +1 -0
  15. package/dist/adapters/capacitor-llama/structured-output.d.ts +62 -0
  16. package/dist/adapters/capacitor-llama/structured-output.d.ts.map +1 -0
  17. package/dist/adapters/capacitor-llama/text-streaming.d.ts +24 -0
  18. package/dist/adapters/capacitor-llama/text-streaming.d.ts.map +1 -0
  19. package/dist/adapters/capacitor-llama/types.d.ts +338 -0
  20. package/dist/adapters/capacitor-llama/types.d.ts.map +1 -0
  21. package/dist/adapters/capacitor-llama/voice-turn.d.ts +86 -0
  22. package/dist/adapters/capacitor-llama/voice-turn.d.ts.map +1 -0
  23. package/dist/backends/apple-foundation.d.ts +56 -0
  24. package/dist/backends/apple-foundation.d.ts.map +1 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +39647 -0
  27. package/dist/index.js.map +217 -0
  28. package/{src → dist}/local-inference-routes.d.ts +9 -0
  29. package/dist/local-inference-routes.d.ts.map +1 -0
  30. package/dist/provider.d.ts.map +1 -0
  31. package/{src → dist}/routes/compat-helpers.d.ts +1 -1
  32. package/dist/routes/compat-helpers.d.ts.map +1 -0
  33. package/dist/routes/family-member-route.d.ts.map +1 -0
  34. package/{src → dist}/routes/index.d.ts +1 -0
  35. package/dist/routes/index.d.ts.map +1 -0
  36. package/dist/routes/index.js +42040 -0
  37. package/dist/routes/index.js.map +236 -0
  38. package/{src → dist}/routes/live-diarization-route.d.ts +7 -0
  39. package/dist/routes/live-diarization-route.d.ts.map +1 -0
  40. package/dist/routes/local-inference-asr-route.d.ts.map +1 -0
  41. package/dist/routes/local-inference-asr-transcribe.d.ts.map +1 -0
  42. package/dist/routes/local-inference-compat-routes.d.ts.map +1 -0
  43. package/dist/routes/local-inference-tts-route.d.ts.map +1 -0
  44. package/dist/routes/native-pcm-turn-route.d.ts +3 -0
  45. package/dist/routes/native-pcm-turn-route.d.ts.map +1 -0
  46. package/dist/routes/transcript-audio-store.d.ts.map +1 -0
  47. package/{src → dist}/routes/transcripts-routes.d.ts +8 -0
  48. package/dist/routes/transcripts-routes.d.ts.map +1 -0
  49. package/dist/routes/voice-first-run-routes.d.ts.map +1 -0
  50. package/dist/routes/voice-models-routes.d.ts.map +1 -0
  51. package/dist/routes/voice-profile-plugin-routes.d.ts.map +1 -0
  52. package/dist/routes/voice-profiles-management-routes.d.ts.map +1 -0
  53. package/dist/routes/voice-speaker-profile-routes.d.ts.map +1 -0
  54. package/dist/runtime/embedding-manager-support.d.ts.map +1 -0
  55. package/dist/runtime/embedding-presets.d.ts.map +1 -0
  56. package/dist/runtime/embedding-warmup-policy.d.ts.map +1 -0
  57. package/{src → dist}/runtime/ensure-local-inference-handler.d.ts +8 -0
  58. package/dist/runtime/ensure-local-inference-handler.d.ts.map +1 -0
  59. package/{src → dist}/runtime/index.d.ts +1 -1
  60. package/dist/runtime/index.d.ts.map +1 -0
  61. package/dist/runtime/index.js +38768 -0
  62. package/dist/runtime/index.js.map +217 -0
  63. package/dist/runtime/mobile-local-inference-gate.d.ts +63 -0
  64. package/dist/runtime/mobile-local-inference-gate.d.ts.map +1 -0
  65. package/{src → dist}/runtime/voice-entity-binding.d.ts +10 -0
  66. package/dist/runtime/voice-entity-binding.d.ts.map +1 -0
  67. package/{src → dist}/services/active-model.d.ts +28 -0
  68. package/dist/services/active-model.d.ts.map +1 -0
  69. package/dist/services/asr-provenance.d.ts +5 -0
  70. package/dist/services/asr-provenance.d.ts.map +1 -0
  71. package/{src → dist}/services/assignments.d.ts +16 -3
  72. package/dist/services/assignments.d.ts.map +1 -0
  73. package/dist/services/backend-selector.d.ts +55 -0
  74. package/dist/services/backend-selector.d.ts.map +1 -0
  75. package/{src → dist}/services/backend.d.ts +110 -16
  76. package/dist/services/backend.d.ts.map +1 -0
  77. package/{src → dist}/services/bionic-host-loader.d.ts +21 -0
  78. package/dist/services/bionic-host-loader.d.ts.map +1 -0
  79. package/dist/services/bundled-models.d.ts.map +1 -0
  80. package/dist/services/cache-bridge.d.ts.map +1 -0
  81. package/dist/services/catalog.d.ts +10 -0
  82. package/dist/services/catalog.d.ts.map +1 -0
  83. package/dist/services/checkpoint-client.d.ts.map +1 -0
  84. package/dist/services/checkpoint-manager.d.ts +217 -0
  85. package/dist/services/checkpoint-manager.d.ts.map +1 -0
  86. package/dist/services/cloud-fallback.d.ts.map +1 -0
  87. package/dist/services/context-fit.d.ts +36 -0
  88. package/dist/services/context-fit.d.ts.map +1 -0
  89. package/dist/services/conversation-registry.d.ts.map +1 -0
  90. package/{src → dist}/services/desktop-fused-ffi-backend-runtime.d.ts +22 -6
  91. package/dist/services/desktop-fused-ffi-backend-runtime.d.ts.map +1 -0
  92. package/dist/services/device-bridge.d.ts.map +1 -0
  93. package/dist/services/device-resource-metrics.d.ts.map +1 -0
  94. package/{src → dist}/services/device-tier.d.ts +19 -1
  95. package/dist/services/device-tier.d.ts.map +1 -0
  96. package/{src → dist}/services/downloader.d.ts +16 -4
  97. package/dist/services/downloader.d.ts.map +1 -0
  98. package/{src → dist}/services/engine.d.ts +43 -4
  99. package/dist/services/engine.d.ts.map +1 -0
  100. package/dist/services/ensure-local-artifacts.d.ts +82 -0
  101. package/dist/services/ensure-local-artifacts.d.ts.map +1 -0
  102. package/dist/services/external-scanner.d.ts.map +1 -0
  103. package/dist/services/ffi-llm-mock.d.ts +90 -0
  104. package/dist/services/ffi-llm-mock.d.ts.map +1 -0
  105. package/dist/services/ffi-llm-streaming-abi.d.ts +318 -0
  106. package/dist/services/ffi-llm-streaming-abi.d.ts.map +1 -0
  107. package/{src → dist}/services/ffi-streaming-backend.d.ts +28 -7
  108. package/dist/services/ffi-streaming-backend.d.ts.map +1 -0
  109. package/{src → dist}/services/ffi-streaming-runner.d.ts +24 -0
  110. package/dist/services/ffi-streaming-runner.d.ts.map +1 -0
  111. package/dist/services/gpu-autotune.d.ts +150 -0
  112. package/dist/services/gpu-autotune.d.ts.map +1 -0
  113. package/dist/services/gpu-detect.d.ts.map +1 -0
  114. package/dist/services/handler-registry.d.ts.map +1 -0
  115. package/dist/services/hardware.d.ts.map +1 -0
  116. package/dist/services/image-description-runtime.d.ts.map +1 -0
  117. package/dist/services/imagegen/aosp-unavailable.d.ts.map +1 -0
  118. package/dist/services/imagegen/backend-selector.d.ts.map +1 -0
  119. package/dist/services/imagegen/coreml-unavailable.d.ts.map +1 -0
  120. package/dist/services/imagegen/errors.d.ts.map +1 -0
  121. package/dist/services/imagegen/index.d.ts.map +1 -0
  122. package/dist/services/imagegen/mflux.d.ts.map +1 -0
  123. package/{src → dist}/services/imagegen/sd-cpp.d.ts +1 -0
  124. package/dist/services/imagegen/sd-cpp.d.ts.map +1 -0
  125. package/dist/services/imagegen/tensorrt-unavailable.d.ts.map +1 -0
  126. package/dist/services/imagegen/types.d.ts.map +1 -0
  127. package/{src → dist}/services/index.d.ts +3 -1
  128. package/dist/services/index.d.ts.map +1 -0
  129. package/dist/services/index.js +39453 -0
  130. package/dist/services/index.js.map +227 -0
  131. package/dist/services/inference-capabilities.d.ts.map +1 -0
  132. package/dist/services/inference-telemetry.d.ts.map +1 -0
  133. package/dist/services/ios-llama-streaming.d.ts +119 -0
  134. package/dist/services/ios-llama-streaming.d.ts.map +1 -0
  135. package/dist/services/kv-spill.d.ts.map +1 -0
  136. package/dist/services/latency-trace.d.ts.map +1 -0
  137. package/dist/services/lib-target.d.ts +55 -0
  138. package/dist/services/lib-target.d.ts.map +1 -0
  139. package/dist/services/live-signals.d.ts +86 -0
  140. package/dist/services/live-signals.d.ts.map +1 -0
  141. package/dist/services/llama-server-metrics.d.ts +114 -0
  142. package/dist/services/llama-server-metrics.d.ts.map +1 -0
  143. package/dist/services/llm-streaming-binding.d.ts.map +1 -0
  144. package/dist/services/load-args.d.ts.map +1 -0
  145. package/dist/services/manifest/index.d.ts +4 -0
  146. package/dist/services/manifest/index.d.ts.map +1 -0
  147. package/{src → dist}/services/manifest/schema.d.ts +196 -6
  148. package/dist/services/manifest/schema.d.ts.map +1 -0
  149. package/{src → dist}/services/manifest/types.d.ts +3 -1
  150. package/dist/services/manifest/types.d.ts.map +1 -0
  151. package/dist/services/manifest/validator.d.ts.map +1 -0
  152. package/{src → dist}/services/memory-arbiter.d.ts +33 -3
  153. package/dist/services/memory-arbiter.d.ts.map +1 -0
  154. package/dist/services/memory-benchmark.d.ts +76 -0
  155. package/dist/services/memory-benchmark.d.ts.map +1 -0
  156. package/{src → dist}/services/memory-monitor.d.ts +6 -0
  157. package/dist/services/memory-monitor.d.ts.map +1 -0
  158. package/dist/services/memory-pressure.d.ts.map +1 -0
  159. package/dist/services/mtp-doctor.d.ts.map +1 -0
  160. package/dist/services/network-policy.d.ts.map +1 -0
  161. package/dist/services/paths.d.ts.map +1 -0
  162. package/dist/services/planner-skeleton.d.ts.map +1 -0
  163. package/dist/services/providers.d.ts.map +1 -0
  164. package/dist/services/ram-budget.d.ts.map +1 -0
  165. package/dist/services/readiness.d.ts.map +1 -0
  166. package/dist/services/recommendation.d.ts.map +1 -0
  167. package/{src → dist}/services/registry.d.ts +11 -13
  168. package/dist/services/registry.d.ts.map +1 -0
  169. package/{src → dist}/services/router-handler.d.ts +2 -2
  170. package/dist/services/router-handler.d.ts.map +1 -0
  171. package/{src → dist}/services/routing-policy.d.ts +32 -9
  172. package/dist/services/routing-policy.d.ts.map +1 -0
  173. package/dist/services/routing-preferences.d.ts.map +1 -0
  174. package/dist/services/runtime-target.d.ts.map +1 -0
  175. package/{src → dist}/services/service.d.ts +1 -1
  176. package/dist/services/service.d.ts.map +1 -0
  177. package/dist/services/session-pool.d.ts.map +1 -0
  178. package/dist/services/structured-output/deterministic-repair.d.ts.map +1 -0
  179. package/dist/services/structured-output/index.d.ts +2 -0
  180. package/dist/services/structured-output/index.d.ts.map +1 -0
  181. package/dist/services/structured-output.d.ts.map +1 -0
  182. package/dist/services/system-memory.d.ts.map +1 -0
  183. package/{src → dist}/services/types.d.ts +1 -1
  184. package/dist/services/types.d.ts.map +1 -0
  185. package/dist/services/verify-on-device.d.ts.map +1 -0
  186. package/dist/services/verify.d.ts.map +1 -0
  187. package/dist/services/vision/aosp-unavailable.d.ts.map +1 -0
  188. package/dist/services/vision/capacitor-llama.d.ts.map +1 -0
  189. package/dist/services/vision/cloud-fallback.d.ts.map +1 -0
  190. package/dist/services/vision/hash.d.ts.map +1 -0
  191. package/{src → dist}/services/vision/index.d.ts +1 -1
  192. package/dist/services/vision/index.d.ts.map +1 -0
  193. package/dist/services/vision/llama-server.d.ts.map +1 -0
  194. package/{src → dist}/services/vision/types.d.ts +13 -4
  195. package/dist/services/vision/types.d.ts.map +1 -0
  196. package/dist/services/vision/vast-fallback.d.ts.map +1 -0
  197. package/{src → dist}/services/vision-embedding-cache.d.ts +1 -1
  198. package/dist/services/vision-embedding-cache.d.ts.map +1 -0
  199. package/dist/services/voice/__test-helpers__/fake-ffi.d.ts +27 -0
  200. package/dist/services/voice/__test-helpers__/fake-ffi.d.ts.map +1 -0
  201. package/dist/services/voice/__test-helpers__/synthetic-speech.d.ts +66 -0
  202. package/dist/services/voice/__test-helpers__/synthetic-speech.d.ts.map +1 -0
  203. package/dist/services/voice/acoustic-speaker-attribution.d.ts +61 -0
  204. package/dist/services/voice/acoustic-speaker-attribution.d.ts.map +1 -0
  205. package/{src → dist}/services/voice/audio-frame-consumer.d.ts +82 -0
  206. package/dist/services/voice/audio-frame-consumer.d.ts.map +1 -0
  207. package/dist/services/voice/barge-in.d.ts.map +1 -0
  208. package/dist/services/voice/cancellation-coordinator.d.ts.map +1 -0
  209. package/dist/services/voice/checkpoint-manager.d.ts.map +1 -0
  210. package/dist/services/voice/checkpoint-policy.d.ts +178 -0
  211. package/dist/services/voice/checkpoint-policy.d.ts.map +1 -0
  212. package/dist/services/voice/corpus-augment.d.ts +111 -0
  213. package/dist/services/voice/corpus-augment.d.ts.map +1 -0
  214. package/dist/services/voice/corpus-generator.d.ts +134 -0
  215. package/dist/services/voice/corpus-generator.d.ts.map +1 -0
  216. package/dist/services/voice/diarization-error-rate.d.ts +40 -0
  217. package/dist/services/voice/diarization-error-rate.d.ts.map +1 -0
  218. package/dist/services/voice/e2e-harness.d.ts +297 -0
  219. package/dist/services/voice/e2e-harness.d.ts.map +1 -0
  220. package/dist/services/voice/eager-context-builder.d.ts.map +1 -0
  221. package/dist/services/voice/echo-delay.d.ts +67 -0
  222. package/dist/services/voice/echo-delay.d.ts.map +1 -0
  223. package/dist/services/voice/echo-metrics.d.ts +7 -0
  224. package/dist/services/voice/echo-metrics.d.ts.map +1 -0
  225. package/dist/services/voice/echo-reference-buffer.d.ts +65 -0
  226. package/dist/services/voice/echo-reference-buffer.d.ts.map +1 -0
  227. package/{src → dist}/services/voice/eliza1-eot-scorer.d.ts +8 -8
  228. package/dist/services/voice/eliza1-eot-scorer.d.ts.map +1 -0
  229. package/dist/services/voice/embedding-server.d.ts +37 -0
  230. package/dist/services/voice/embedding-server.d.ts.map +1 -0
  231. package/{src → dist}/services/voice/embedding.d.ts +2 -3
  232. package/dist/services/voice/embedding.d.ts.map +1 -0
  233. package/dist/services/voice/emotion-attribution.d.ts.map +1 -0
  234. package/{src → dist}/services/voice/engine-bridge.d.ts +8 -5
  235. package/dist/services/voice/engine-bridge.d.ts.map +1 -0
  236. package/{src → dist}/services/voice/eot-classifier-ggml.d.ts +22 -22
  237. package/dist/services/voice/eot-classifier-ggml.d.ts.map +1 -0
  238. package/{src → dist}/services/voice/eot-classifier.d.ts +9 -12
  239. package/dist/services/voice/eot-classifier.d.ts.map +1 -0
  240. package/{src → dist}/services/voice/errors.d.ts +1 -1
  241. package/dist/services/voice/errors.d.ts.map +1 -0
  242. package/{src → dist}/services/voice/expressive-tags.d.ts +5 -5
  243. package/dist/services/voice/expressive-tags.d.ts.map +1 -0
  244. package/{src → dist}/services/voice/ffi-bindings.d.ts +26 -4
  245. package/dist/services/voice/ffi-bindings.d.ts.map +1 -0
  246. package/dist/services/voice/first-line-cache.d.ts.map +1 -0
  247. package/{src → dist}/services/voice/fused-eot-scorer.d.ts +6 -6
  248. package/dist/services/voice/fused-eot-scorer.d.ts.map +1 -0
  249. package/{src → dist}/services/voice/index.d.ts +8 -3
  250. package/dist/services/voice/index.d.ts.map +1 -0
  251. package/dist/services/voice/kokoro/index.d.ts +24 -0
  252. package/dist/services/voice/kokoro/index.d.ts.map +1 -0
  253. package/{src → dist}/services/voice/kokoro/kokoro-backend.d.ts +15 -0
  254. package/dist/services/voice/kokoro/kokoro-backend.d.ts.map +1 -0
  255. package/{src → dist}/services/voice/kokoro/kokoro-engine-discovery.d.ts +1 -1
  256. package/dist/services/voice/kokoro/kokoro-engine-discovery.d.ts.map +1 -0
  257. package/{src → dist}/services/voice/kokoro/kokoro-ffi-runtime.d.ts +3 -3
  258. package/dist/services/voice/kokoro/kokoro-ffi-runtime.d.ts.map +1 -0
  259. package/dist/services/voice/kokoro/kokoro-runtime.d.ts.map +1 -0
  260. package/dist/services/voice/kokoro/phoneme-stream.d.ts +51 -0
  261. package/dist/services/voice/kokoro/phoneme-stream.d.ts.map +1 -0
  262. package/dist/services/voice/kokoro/phonemizer.d.ts.map +1 -0
  263. package/{src → dist}/services/voice/kokoro/pick-runtime.d.ts +1 -1
  264. package/dist/services/voice/kokoro/pick-runtime.d.ts.map +1 -0
  265. package/dist/services/voice/kokoro/runtime-selection.d.ts +31 -0
  266. package/dist/services/voice/kokoro/runtime-selection.d.ts.map +1 -0
  267. package/dist/services/voice/kokoro/types.d.ts.map +1 -0
  268. package/dist/services/voice/kokoro/voice-presets.d.ts.map +1 -0
  269. package/dist/services/voice/kokoro/voices.d.ts.map +1 -0
  270. package/dist/services/voice/lifecycle.d.ts.map +1 -0
  271. package/dist/services/voice/live-diarization-session.d.ts +196 -0
  272. package/dist/services/voice/live-diarization-session.d.ts.map +1 -0
  273. package/dist/services/voice/metric-math.d.ts +10 -0
  274. package/dist/services/voice/metric-math.d.ts.map +1 -0
  275. package/{src → dist}/services/voice/mic-source.d.ts +1 -1
  276. package/dist/services/voice/mic-source.d.ts.map +1 -0
  277. package/dist/services/voice/nlms-echo-canceller.d.ts +137 -0
  278. package/dist/services/voice/nlms-echo-canceller.d.ts.map +1 -0
  279. package/dist/services/voice/optimistic-policy.d.ts.map +1 -0
  280. package/dist/services/voice/optimistic-rollback.d.ts +151 -0
  281. package/dist/services/voice/optimistic-rollback.d.ts.map +1 -0
  282. package/{src → dist}/services/voice/partial-stabilizer.d.ts +1 -1
  283. package/dist/services/voice/partial-stabilizer.d.ts.map +1 -0
  284. package/dist/services/voice/phoneme-tokenizer.d.ts.map +1 -0
  285. package/dist/services/voice/phrase-cache.d.ts.map +1 -0
  286. package/dist/services/voice/phrase-chunker.d.ts.map +1 -0
  287. package/dist/services/voice/pipeline-impls.d.ts.map +1 -0
  288. package/dist/services/voice/pipeline.d.ts.map +1 -0
  289. package/dist/services/voice/prefill-client.d.ts.map +1 -0
  290. package/dist/services/voice/prefix-preserving-queue.d.ts.map +1 -0
  291. package/dist/services/voice/profile-store.d.ts.map +1 -0
  292. package/dist/services/voice/ring-buffer.d.ts.map +1 -0
  293. package/dist/services/voice/rollback-queue.d.ts.map +1 -0
  294. package/dist/services/voice/samantha-preset-placeholder.d.ts.map +1 -0
  295. package/dist/services/voice/samantha-preset-regenerator.d.ts.map +1 -0
  296. package/dist/services/voice/scheduler.d.ts.map +1 -0
  297. package/dist/services/voice/self-voice-imprint.d.ts +33 -0
  298. package/dist/services/voice/self-voice-imprint.d.ts.map +1 -0
  299. package/{src → dist}/services/voice/shared-resources.d.ts +14 -0
  300. package/dist/services/voice/shared-resources.d.ts.map +1 -0
  301. package/dist/services/voice/speaker/attribution-pipeline.d.ts.map +1 -0
  302. package/dist/services/voice/speaker/diarizer-fused.d.ts.map +1 -0
  303. package/dist/services/voice/speaker/diarizer.d.ts.map +1 -0
  304. package/dist/services/voice/speaker/encoder-fused.d.ts.map +1 -0
  305. package/dist/services/voice/speaker/encoder-ggml.d.ts.map +1 -0
  306. package/dist/services/voice/speaker/encoder.d.ts.map +1 -0
  307. package/dist/services/voice/speaker-imprint.d.ts.map +1 -0
  308. package/dist/services/voice/speaker-preset-cache.d.ts.map +1 -0
  309. package/dist/services/voice/streaming-asr/streaming-pipeline-adapter.d.ts +160 -0
  310. package/dist/services/voice/streaming-asr/streaming-pipeline-adapter.d.ts.map +1 -0
  311. package/dist/services/voice/system-audio-sink.d.ts.map +1 -0
  312. package/{src → dist}/services/voice/transcriber.d.ts +4 -4
  313. package/dist/services/voice/transcriber.d.ts.map +1 -0
  314. package/dist/services/voice/transcript-knowledge.d.ts.map +1 -0
  315. package/{src → dist}/services/voice/transcript-service.d.ts +20 -1
  316. package/dist/services/voice/transcript-service.d.ts.map +1 -0
  317. package/{src → dist}/services/voice/transcript-store.d.ts +12 -1
  318. package/dist/services/voice/transcript-store.d.ts.map +1 -0
  319. package/dist/services/voice/turn-controller.d.ts.map +1 -0
  320. package/{src → dist}/services/voice/types.d.ts +6 -6
  321. package/dist/services/voice/types.d.ts.map +1 -0
  322. package/{src → dist}/services/voice/vad.d.ts +6 -5
  323. package/dist/services/voice/vad.d.ts.map +1 -0
  324. package/dist/services/voice/voice-budget.d.ts.map +1 -0
  325. package/dist/services/voice/voice-emotion-classifier.d.ts.map +1 -0
  326. package/dist/services/voice/voice-preload-predictor.d.ts +76 -0
  327. package/dist/services/voice/voice-preload-predictor.d.ts.map +1 -0
  328. package/{src → dist}/services/voice/voice-preset-format.d.ts +2 -2
  329. package/dist/services/voice/voice-preset-format.d.ts.map +1 -0
  330. package/dist/services/voice/voice-profile-artifact.d.ts.map +1 -0
  331. package/dist/services/voice/voice-profile-routes.d.ts.map +1 -0
  332. package/dist/services/voice/voice-scenario.d.ts +131 -0
  333. package/dist/services/voice/voice-scenario.d.ts.map +1 -0
  334. package/dist/services/voice/voice-state-machine.d.ts.map +1 -0
  335. package/dist/services/voice/voice-workbench-report.d.ts +117 -0
  336. package/dist/services/voice/voice-workbench-report.d.ts.map +1 -0
  337. package/{src → dist}/services/voice/wake-word-ggml.d.ts +8 -9
  338. package/dist/services/voice/wake-word-ggml.d.ts.map +1 -0
  339. package/dist/services/voice/wake-word.d.ts.map +1 -0
  340. package/dist/services/voice/wav-codec.d.ts +11 -0
  341. package/dist/services/voice/wav-codec.d.ts.map +1 -0
  342. package/dist/services/voice/workbench-entrypoint.d.ts +42 -0
  343. package/dist/services/voice/workbench-entrypoint.d.ts.map +1 -0
  344. package/dist/services/voice/workbench-headless-runner.d.ts +102 -0
  345. package/dist/services/voice/workbench-headless-runner.d.ts.map +1 -0
  346. package/dist/services/voice/workbench-logic-services.d.ts +36 -0
  347. package/dist/services/voice/workbench-logic-services.d.ts.map +1 -0
  348. package/dist/services/voice/workbench-real-services.d.ts +17 -0
  349. package/dist/services/voice/workbench-real-services.d.ts.map +1 -0
  350. package/dist/services/voice/workbench-scenarios.d.ts +24 -0
  351. package/dist/services/voice/workbench-scenarios.d.ts.map +1 -0
  352. package/dist/services/voice/wrap-with-first-line-cache.d.ts.map +1 -0
  353. package/dist/services/voice-model-updater.d.ts.map +1 -0
  354. package/dist/services/voice-prewarm.d.ts.map +1 -0
  355. package/dist/voice-workbench.d.ts +18 -0
  356. package/dist/voice-workbench.d.ts.map +1 -0
  357. package/dist/voice-workbench.js +5259 -0
  358. package/dist/voice-workbench.js.map +34 -0
  359. package/package.json +28 -9
  360. package/registry-entry.json +137 -0
  361. package/src/adapters/capacitor-llama/__tests__/voice-turn.test.ts +293 -0
  362. package/src/adapters/capacitor-llama/environment.ts +1 -1
  363. package/src/adapters/capacitor-llama/index.ts +28 -4
  364. package/src/adapters/capacitor-llama/native-voice-capture.ts +140 -0
  365. package/src/adapters/capacitor-llama/text-streaming.ts +2 -2
  366. package/src/adapters/capacitor-llama/voice-turn.ts +178 -0
  367. package/src/backends/apple-foundation.ts +1 -1
  368. package/src/local-inference-routes.test.ts +57 -11
  369. package/src/local-inference-routes.ts +90 -8
  370. package/src/provider.ts +32 -3
  371. package/src/routes/compat-helpers.ts +2 -1
  372. package/src/routes/index.ts +1 -0
  373. package/src/routes/live-diarization-route.test.ts +134 -0
  374. package/src/routes/live-diarization-route.ts +79 -3
  375. package/src/routes/local-inference-asr-route.test.ts +43 -2
  376. package/src/routes/local-inference-asr-route.ts +7 -4
  377. package/src/routes/local-inference-asr-transcribe.test.ts +4 -4
  378. package/src/routes/local-inference-asr-transcribe.ts +1 -1
  379. package/src/routes/local-inference-compat-routes.test.ts +3 -3
  380. package/src/routes/local-inference-compat-routes.ts +23 -56
  381. package/src/routes/native-pcm-turn-route.test.ts +136 -0
  382. package/src/routes/native-pcm-turn-route.ts +121 -0
  383. package/src/routes/transcripts-routes.test.ts +51 -0
  384. package/src/routes/transcripts-routes.ts +35 -3
  385. package/src/runtime/bionic-wire-encoding.test.ts +147 -0
  386. package/src/runtime/ensure-local-inference-handler.test.ts +203 -5
  387. package/src/runtime/ensure-local-inference-handler.ts +203 -11
  388. package/src/runtime/index.ts +4 -1
  389. package/src/runtime/mobile-local-inference-gate.test.ts +85 -2
  390. package/src/runtime/mobile-local-inference-gate.ts +60 -5
  391. package/src/runtime/voice-entity-binding.transcript.test.ts +29 -0
  392. package/src/runtime/voice-entity-binding.ts +46 -6
  393. package/src/runtime/voice-speaker-entity-contract.test.ts +149 -0
  394. package/src/services/README.md +2 -2
  395. package/src/services/__tests__/backend-selector.precedence.test.ts +333 -0
  396. package/src/services/active-model-context-fit.test.ts +125 -0
  397. package/src/services/active-model.ts +211 -8
  398. package/src/services/asr-provenance.ts +68 -0
  399. package/src/services/assignment-validation.test.ts +118 -0
  400. package/src/services/assignments.test.ts +26 -0
  401. package/src/services/assignments.ts +52 -4
  402. package/src/services/backend.test.ts +84 -0
  403. package/src/services/backend.ts +198 -19
  404. package/src/services/bionic-host-loader.test.ts +94 -1
  405. package/src/services/bionic-host-loader.ts +72 -0
  406. package/src/services/cache-bridge.test.ts +7 -7
  407. package/src/services/catalog.test.ts +32 -11
  408. package/src/services/catalog.ts +6 -0
  409. package/src/services/cloud-fallback.ts +1 -1
  410. package/src/services/context-fit.test.ts +121 -0
  411. package/src/services/context-fit.ts +113 -0
  412. package/src/services/desktop-fused-ffi-backend-runtime.ts +99 -7
  413. package/src/services/device-tier.test.ts +89 -2
  414. package/src/services/device-tier.ts +103 -11
  415. package/src/services/downloader.test.ts +199 -58
  416. package/src/services/downloader.ts +141 -27
  417. package/src/services/engine-direct-bundle.test.ts +38 -6
  418. package/src/services/engine.ts +291 -104
  419. package/src/services/ensure-local-artifacts.ts +1 -1
  420. package/src/services/ffi-llm-streaming-abi.ts +6 -3
  421. package/src/services/ffi-streaming-backend.ts +44 -8
  422. package/src/services/ffi-streaming-runner.test.ts +163 -3
  423. package/src/services/ffi-streaming-runner.ts +54 -1
  424. package/src/services/ffi-unload-ordering.test.ts +5 -1
  425. package/src/services/fused-eliza1-no-regression.test.ts +144 -0
  426. package/src/services/hardware.test.ts +7 -2
  427. package/src/services/hardware.ts +28 -0
  428. package/src/services/imagegen/backend-selector.test.ts +190 -0
  429. package/src/services/imagegen/sd-cpp.ts +6 -9
  430. package/src/services/index.ts +18 -0
  431. package/src/services/ios-llama-streaming.ts +1 -1
  432. package/src/services/kv-spill.ts +6 -5
  433. package/src/services/lib-target.test.ts +145 -0
  434. package/src/services/lib-target.ts +102 -0
  435. package/src/services/live-signals.test.ts +132 -0
  436. package/src/services/live-signals.ts +177 -0
  437. package/src/services/llama-server-metrics.test.ts +168 -0
  438. package/src/services/manifest/eliza-1.manifest.v1.json +84 -2
  439. package/src/services/manifest/index.ts +6 -0
  440. package/src/services/manifest/manifest.test.ts +156 -54
  441. package/src/services/manifest/schema.ts +160 -52
  442. package/src/services/manifest/types.ts +6 -0
  443. package/src/services/manifest/validator.ts +91 -25
  444. package/src/services/memory-arbiter.test.ts +139 -0
  445. package/src/services/memory-arbiter.ts +81 -15
  446. package/src/services/memory-benchmark.test.ts +91 -0
  447. package/src/services/memory-benchmark.ts +354 -0
  448. package/src/services/memory-monitor.test.ts +24 -0
  449. package/src/services/memory-monitor.ts +12 -0
  450. package/src/services/mtp-doctor.ts +10 -2
  451. package/src/services/network-policy.ts +5 -5
  452. package/src/services/ram-budget-cache.test.ts +2 -1
  453. package/src/services/ram-budget.ts +0 -0
  454. package/src/services/recommendation.test.ts +216 -0
  455. package/src/services/registry.ts +25 -19
  456. package/src/services/required-kernels-gate.test.ts +64 -0
  457. package/src/services/router-handler.ts +43 -24
  458. package/src/services/routing-policy.test.ts +211 -23
  459. package/src/services/routing-policy.ts +92 -22
  460. package/src/services/service.test.ts +3 -3
  461. package/src/services/service.ts +22 -7
  462. package/src/services/transcription-priority.test.ts +2 -2
  463. package/src/services/types.ts +4 -0
  464. package/src/services/verify-on-device.test.ts +2 -2
  465. package/src/services/vision/hash.ts +1 -1
  466. package/src/services/vision/index.ts +2 -2
  467. package/src/services/vision/llama-server.ts +1 -1
  468. package/src/services/vision/types.ts +13 -4
  469. package/src/services/vision-embedding-cache.ts +1 -1
  470. package/src/services/voice/VOICE_WORKBENCH.md +71 -26
  471. package/src/services/voice/__fixtures__/voice-workbench-logic-baseline.json +180 -0
  472. package/src/services/voice/__test-helpers__/synthetic-speech.ts +72 -2
  473. package/src/services/voice/__tests__/eliza1-eot-scorer.test.ts +29 -29
  474. package/src/services/voice/__tests__/streaming-asr.test.ts +1 -1
  475. package/src/services/voice/acoustic-speaker-attribution.test.ts +165 -0
  476. package/src/services/voice/acoustic-speaker-attribution.ts +336 -0
  477. package/src/services/voice/asr-timed.real.test.ts +6 -8
  478. package/src/services/voice/audio-frame-consumer.test.ts +327 -1
  479. package/src/services/voice/audio-frame-consumer.ts +165 -5
  480. package/src/services/voice/barge-in.ts +2 -3
  481. package/src/services/voice/corpus-augment.test.ts +276 -0
  482. package/src/services/voice/corpus-augment.ts +451 -0
  483. package/src/services/voice/corpus-generator.test.ts +201 -0
  484. package/src/services/voice/corpus-generator.ts +413 -0
  485. package/src/services/voice/diarization-error-rate.greedy.test.ts +140 -0
  486. package/src/services/voice/diarization-error-rate.test.ts +100 -0
  487. package/src/services/voice/diarization-error-rate.ts +249 -0
  488. package/src/services/voice/e2e-harness.der.test.ts +94 -0
  489. package/src/services/voice/e2e-harness.respond-eot-entity.test.ts +277 -0
  490. package/src/services/voice/e2e-harness.security-echo.test.ts +103 -0
  491. package/src/services/voice/e2e-harness.test.ts +2 -2
  492. package/src/services/voice/e2e-harness.ts +175 -16
  493. package/src/services/voice/echo-delay.test.ts +118 -0
  494. package/src/services/voice/echo-delay.ts +135 -0
  495. package/src/services/voice/echo-metrics.test.ts +17 -0
  496. package/src/services/voice/echo-metrics.ts +20 -0
  497. package/src/services/voice/echo-reference-buffer.test.ts +86 -0
  498. package/src/services/voice/echo-reference-buffer.ts +165 -0
  499. package/src/services/voice/eliza1-eot-scorer.ts +22 -22
  500. package/src/services/voice/embedding.ts +2 -3
  501. package/src/services/voice/engine-bridge-transcript-join.test.ts +278 -0
  502. package/src/services/voice/engine-bridge.ts +151 -110
  503. package/src/services/voice/eot-classifier-ggml.ts +42 -39
  504. package/src/services/voice/eot-classifier.test.ts +98 -0
  505. package/src/services/voice/eot-classifier.ts +11 -122
  506. package/src/services/voice/errors.ts +2 -0
  507. package/src/services/voice/expressive-tags.asr.test.ts +77 -0
  508. package/src/services/voice/expressive-tags.test.ts +102 -0
  509. package/src/services/voice/expressive-tags.ts +8 -8
  510. package/src/services/voice/ffi-bindings.test.ts +10 -3
  511. package/src/services/voice/ffi-bindings.ts +177 -15
  512. package/src/services/voice/fused-eot-scorer.ts +17 -13
  513. package/src/services/voice/index.ts +33 -12
  514. package/src/services/voice/kokoro/__tests__/kokoro-backend.test.ts +112 -1
  515. package/src/services/voice/kokoro/__tests__/kokoro-engine-bridge.real.test.ts +88 -3
  516. package/src/services/voice/kokoro/__tests__/runtime-selection.test.ts +37 -201
  517. package/src/services/voice/kokoro/kokoro-backend.ts +16 -0
  518. package/src/services/voice/kokoro/kokoro-engine-discovery.ts +1 -1
  519. package/src/services/voice/kokoro/kokoro-ffi-runtime.ts +3 -3
  520. package/src/services/voice/kokoro/pick-runtime.ts +1 -1
  521. package/src/services/voice/kokoro/runtime-selection.ts +28 -201
  522. package/src/services/voice/live-diarization-session.echo.test.ts +232 -0
  523. package/src/services/voice/live-diarization-session.ts +335 -2
  524. package/src/services/voice/metric-math.test.ts +61 -0
  525. package/src/services/voice/metric-math.ts +25 -0
  526. package/src/services/voice/mic-source.ts +1 -1
  527. package/src/services/voice/nlms-echo-canceller.test.ts +244 -0
  528. package/src/services/voice/nlms-echo-canceller.ts +317 -0
  529. package/src/services/voice/optimistic-policy.power-source.test.ts +36 -0
  530. package/src/services/voice/partial-stabilizer.ts +1 -1
  531. package/src/services/voice/pipeline.ts +3 -4
  532. package/src/services/voice/research/VOICE_8785_ASSESSMENT.md +141 -0
  533. package/src/services/voice/research/VOICE_PIPELINE_RESEARCH_2026.md +117 -0
  534. package/src/services/voice/research/VOICE_VALIDATION_RUNBOOK.md +135 -0
  535. package/src/services/voice/samantha-preset-regenerator.wav.test.ts +90 -0
  536. package/src/services/voice/self-voice-imprint.test.ts +59 -0
  537. package/src/services/voice/self-voice-imprint.ts +102 -0
  538. package/src/services/voice/shared-resources.ts +23 -0
  539. package/src/services/voice/speaker/attribution-pipeline.test.ts +221 -0
  540. package/src/services/voice/speaker/attribution-pipeline.ts +85 -22
  541. package/src/services/voice/speaker/encoder-ggml.test.ts +59 -0
  542. package/src/services/voice/transcriber.asr-backend.test.ts +76 -0
  543. package/src/services/voice/transcriber.ts +4 -4
  544. package/src/services/voice/transcript-service.test.ts +58 -0
  545. package/src/services/voice/transcript-service.ts +64 -0
  546. package/src/services/voice/transcript-store.test.ts +36 -0
  547. package/src/services/voice/transcript-store.ts +32 -0
  548. package/src/services/voice/types.ts +7 -7
  549. package/src/services/voice/vad.test.ts +33 -15
  550. package/src/services/voice/vad.ts +25 -20
  551. package/src/services/voice/voice-budget.test.ts +0 -3
  552. package/src/services/voice/voice-budget.ts +6 -6
  553. package/src/services/voice/voice-duet.test.ts +1 -1
  554. package/src/services/voice/voice-hardening.fuzz.test.ts +116 -0
  555. package/src/services/voice/voice-preload-predictor.test.ts +130 -0
  556. package/src/services/voice/voice-preload-predictor.ts +113 -0
  557. package/src/services/voice/voice-preset-format.fuzz.test.ts +89 -0
  558. package/src/services/voice/voice-preset-format.test.ts +75 -0
  559. package/src/services/voice/voice-preset-format.ts +17 -4
  560. package/src/services/voice/voice-scenario.test.ts +159 -0
  561. package/src/services/voice/voice-scenario.ts +133 -7
  562. package/src/services/voice/voice-scenario.turn-helpers.test.ts +77 -0
  563. package/src/services/voice/voice-workbench-report.ts +58 -17
  564. package/src/services/voice/wake-word-ggml.ts +12 -13
  565. package/src/services/voice/wav-codec.fuzz.test.ts +59 -0
  566. package/src/services/voice/wav-codec.test.ts +32 -0
  567. package/src/services/voice/wav-codec.ts +101 -0
  568. package/src/services/voice/workbench-entrypoint.test.ts +55 -0
  569. package/src/services/voice/workbench-entrypoint.ts +88 -0
  570. package/src/services/voice/workbench-headless-runner.test.ts +162 -0
  571. package/src/services/voice/workbench-headless-runner.ts +396 -0
  572. package/src/services/voice/workbench-logic-services.test.ts +225 -0
  573. package/src/services/voice/workbench-logic-services.ts +184 -0
  574. package/src/services/voice/workbench-real-services.ts +629 -0
  575. package/src/services/voice/workbench-scenarios.ts +407 -0
  576. package/src/services/voice-prewarm.ts +1 -1
  577. package/src/voice-workbench.ts +71 -0
  578. package/src/actions/generate-media.d.ts.map +0 -1
  579. package/src/actions/identify-speaker.d.ts.map +0 -1
  580. package/src/actions/transcription-control.d.ts.map +0 -1
  581. package/src/index.d.ts.map +0 -1
  582. package/src/local-inference-routes.d.ts.map +0 -1
  583. package/src/provider.d.ts.map +0 -1
  584. package/src/routes/compat-helpers.d.ts.map +0 -1
  585. package/src/routes/family-member-route.d.ts.map +0 -1
  586. package/src/routes/index.d.ts.map +0 -1
  587. package/src/routes/live-diarization-route.d.ts.map +0 -1
  588. package/src/routes/local-inference-asr-route.d.ts.map +0 -1
  589. package/src/routes/local-inference-asr-transcribe.d.ts.map +0 -1
  590. package/src/routes/local-inference-compat-routes.d.ts.map +0 -1
  591. package/src/routes/local-inference-tts-route.d.ts.map +0 -1
  592. package/src/routes/transcript-audio-store.d.ts.map +0 -1
  593. package/src/routes/transcripts-routes.d.ts.map +0 -1
  594. package/src/routes/voice-first-run-routes.d.ts.map +0 -1
  595. package/src/routes/voice-models-routes.d.ts.map +0 -1
  596. package/src/routes/voice-profile-plugin-routes.d.ts.map +0 -1
  597. package/src/routes/voice-profiles-management-routes.d.ts.map +0 -1
  598. package/src/routes/voice-speaker-profile-routes.d.ts.map +0 -1
  599. package/src/runtime/embedding-manager-support.d.ts.map +0 -1
  600. package/src/runtime/embedding-presets.d.ts.map +0 -1
  601. package/src/runtime/embedding-warmup-policy.d.ts.map +0 -1
  602. package/src/runtime/ensure-local-inference-handler.d.ts.map +0 -1
  603. package/src/runtime/index.d.ts.map +0 -1
  604. package/src/runtime/mobile-local-inference-gate.d.ts +0 -31
  605. package/src/runtime/mobile-local-inference-gate.d.ts.map +0 -1
  606. package/src/runtime/voice-entity-binding.d.ts.map +0 -1
  607. package/src/services/active-model.d.ts.map +0 -1
  608. package/src/services/assignments.d.ts.map +0 -1
  609. package/src/services/backend.d.ts.map +0 -1
  610. package/src/services/bionic-host-loader.d.ts.map +0 -1
  611. package/src/services/bundled-models.d.ts.map +0 -1
  612. package/src/services/cache-bridge.d.ts.map +0 -1
  613. package/src/services/catalog.d.ts +0 -10
  614. package/src/services/catalog.d.ts.map +0 -1
  615. package/src/services/checkpoint-client.d.ts.map +0 -1
  616. package/src/services/cloud-fallback.d.ts.map +0 -1
  617. package/src/services/conversation-registry.d.ts.map +0 -1
  618. package/src/services/desktop-fused-ffi-backend-runtime.d.ts.map +0 -1
  619. package/src/services/device-bridge.d.ts.map +0 -1
  620. package/src/services/device-resource-metrics.d.ts.map +0 -1
  621. package/src/services/device-tier.d.ts.map +0 -1
  622. package/src/services/downloader.d.ts.map +0 -1
  623. package/src/services/engine.d.ts.map +0 -1
  624. package/src/services/external-scanner.d.ts.map +0 -1
  625. package/src/services/ffi-streaming-backend.d.ts.map +0 -1
  626. package/src/services/ffi-streaming-runner.d.ts.map +0 -1
  627. package/src/services/gpu-detect.d.ts.map +0 -1
  628. package/src/services/handler-registry.d.ts.map +0 -1
  629. package/src/services/hardware.d.ts.map +0 -1
  630. package/src/services/hf-search.d.ts +0 -26
  631. package/src/services/hf-search.d.ts.map +0 -1
  632. package/src/services/hf-search.test.ts +0 -69
  633. package/src/services/hf-search.ts +0 -420
  634. package/src/services/image-description-runtime.d.ts.map +0 -1
  635. package/src/services/imagegen/aosp-unavailable.d.ts.map +0 -1
  636. package/src/services/imagegen/backend-selector.d.ts.map +0 -1
  637. package/src/services/imagegen/coreml-unavailable.d.ts.map +0 -1
  638. package/src/services/imagegen/errors.d.ts.map +0 -1
  639. package/src/services/imagegen/index.d.ts.map +0 -1
  640. package/src/services/imagegen/mflux.d.ts.map +0 -1
  641. package/src/services/imagegen/sd-cpp.d.ts.map +0 -1
  642. package/src/services/imagegen/tensorrt-unavailable.d.ts.map +0 -1
  643. package/src/services/imagegen/types.d.ts.map +0 -1
  644. package/src/services/index.d.ts.map +0 -1
  645. package/src/services/inference-capabilities.d.ts.map +0 -1
  646. package/src/services/inference-telemetry.d.ts.map +0 -1
  647. package/src/services/kv-spill.d.ts.map +0 -1
  648. package/src/services/latency-trace.d.ts.map +0 -1
  649. package/src/services/llm-streaming-binding.d.ts.map +0 -1
  650. package/src/services/load-args.d.ts.map +0 -1
  651. package/src/services/manifest/index.d.ts +0 -4
  652. package/src/services/manifest/index.d.ts.map +0 -1
  653. package/src/services/manifest/schema.d.ts.map +0 -1
  654. package/src/services/manifest/types.d.ts.map +0 -1
  655. package/src/services/manifest/validator.d.ts.map +0 -1
  656. package/src/services/memory-arbiter.d.ts.map +0 -1
  657. package/src/services/memory-monitor.d.ts.map +0 -1
  658. package/src/services/memory-pressure.d.ts.map +0 -1
  659. package/src/services/mtp-doctor.d.ts.map +0 -1
  660. package/src/services/network-policy.d.ts.map +0 -1
  661. package/src/services/paths.d.ts.map +0 -1
  662. package/src/services/planner-skeleton.d.ts.map +0 -1
  663. package/src/services/providers.d.ts.map +0 -1
  664. package/src/services/ram-budget.d.ts.map +0 -1
  665. package/src/services/readiness.d.ts.map +0 -1
  666. package/src/services/recommendation.d.ts.map +0 -1
  667. package/src/services/registry.d.ts.map +0 -1
  668. package/src/services/router-handler.d.ts.map +0 -1
  669. package/src/services/routing-policy.d.ts.map +0 -1
  670. package/src/services/routing-preferences.d.ts.map +0 -1
  671. package/src/services/runtime-target.d.ts.map +0 -1
  672. package/src/services/service.d.ts.map +0 -1
  673. package/src/services/session-pool.d.ts.map +0 -1
  674. package/src/services/structured-output/deterministic-repair.d.ts.map +0 -1
  675. package/src/services/structured-output.d.ts.map +0 -1
  676. package/src/services/system-memory.d.ts.map +0 -1
  677. package/src/services/types.d.ts.map +0 -1
  678. package/src/services/verify-on-device.d.ts.map +0 -1
  679. package/src/services/verify.d.ts.map +0 -1
  680. package/src/services/vision/aosp-unavailable.d.ts.map +0 -1
  681. package/src/services/vision/capacitor-llama.d.ts.map +0 -1
  682. package/src/services/vision/cloud-fallback.d.ts.map +0 -1
  683. package/src/services/vision/hash.d.ts.map +0 -1
  684. package/src/services/vision/index.d.ts.map +0 -1
  685. package/src/services/vision/llama-server.d.ts.map +0 -1
  686. package/src/services/vision/types.d.ts.map +0 -1
  687. package/src/services/vision/vast-fallback.d.ts.map +0 -1
  688. package/src/services/vision-embedding-cache.d.ts.map +0 -1
  689. package/src/services/voice/audio-frame-consumer.d.ts.map +0 -1
  690. package/src/services/voice/barge-in.d.ts.map +0 -1
  691. package/src/services/voice/cancellation-coordinator.d.ts.map +0 -1
  692. package/src/services/voice/checkpoint-manager.d.ts.map +0 -1
  693. package/src/services/voice/eager-context-builder.d.ts.map +0 -1
  694. package/src/services/voice/eliza1-eot-scorer.d.ts.map +0 -1
  695. package/src/services/voice/embedding.d.ts.map +0 -1
  696. package/src/services/voice/emotion-attribution.d.ts.map +0 -1
  697. package/src/services/voice/engine-bridge.d.ts.map +0 -1
  698. package/src/services/voice/eot-classifier-ggml.d.ts.map +0 -1
  699. package/src/services/voice/eot-classifier.d.ts.map +0 -1
  700. package/src/services/voice/errors.d.ts.map +0 -1
  701. package/src/services/voice/expressive-tags.d.ts.map +0 -1
  702. package/src/services/voice/ffi-bindings.d.ts.map +0 -1
  703. package/src/services/voice/first-line-cache.d.ts.map +0 -1
  704. package/src/services/voice/fused-eot-scorer.d.ts.map +0 -1
  705. package/src/services/voice/index.d.ts.map +0 -1
  706. package/src/services/voice/kokoro/kokoro-backend.d.ts.map +0 -1
  707. package/src/services/voice/kokoro/kokoro-engine-discovery.d.ts.map +0 -1
  708. package/src/services/voice/kokoro/kokoro-ffi-runtime.d.ts.map +0 -1
  709. package/src/services/voice/kokoro/kokoro-runtime.d.ts.map +0 -1
  710. package/src/services/voice/kokoro/phonemizer.d.ts.map +0 -1
  711. package/src/services/voice/kokoro/pick-runtime.d.ts.map +0 -1
  712. package/src/services/voice/kokoro/runtime-selection.d.ts +0 -92
  713. package/src/services/voice/kokoro/runtime-selection.d.ts.map +0 -1
  714. package/src/services/voice/kokoro/types.d.ts.map +0 -1
  715. package/src/services/voice/kokoro/voice-presets.d.ts.map +0 -1
  716. package/src/services/voice/kokoro/voices.d.ts.map +0 -1
  717. package/src/services/voice/lifecycle.d.ts.map +0 -1
  718. package/src/services/voice/live-diarization-session.d.ts +0 -96
  719. package/src/services/voice/live-diarization-session.d.ts.map +0 -1
  720. package/src/services/voice/mic-source.d.ts.map +0 -1
  721. package/src/services/voice/optimistic-policy.d.ts.map +0 -1
  722. package/src/services/voice/partial-stabilizer.d.ts.map +0 -1
  723. package/src/services/voice/phoneme-tokenizer.d.ts.map +0 -1
  724. package/src/services/voice/phrase-cache.d.ts.map +0 -1
  725. package/src/services/voice/phrase-chunker.d.ts.map +0 -1
  726. package/src/services/voice/pipeline-impls.d.ts.map +0 -1
  727. package/src/services/voice/pipeline.d.ts.map +0 -1
  728. package/src/services/voice/prefill-client.d.ts.map +0 -1
  729. package/src/services/voice/prefix-preserving-queue.d.ts.map +0 -1
  730. package/src/services/voice/profile-store.d.ts.map +0 -1
  731. package/src/services/voice/ring-buffer.d.ts.map +0 -1
  732. package/src/services/voice/rollback-queue.d.ts.map +0 -1
  733. package/src/services/voice/samantha-preset-placeholder.d.ts.map +0 -1
  734. package/src/services/voice/samantha-preset-regenerator.d.ts.map +0 -1
  735. package/src/services/voice/scheduler.d.ts.map +0 -1
  736. package/src/services/voice/shared-resources.d.ts.map +0 -1
  737. package/src/services/voice/speaker/attribution-pipeline.d.ts.map +0 -1
  738. package/src/services/voice/speaker/diarizer-fused.d.ts.map +0 -1
  739. package/src/services/voice/speaker/diarizer.d.ts.map +0 -1
  740. package/src/services/voice/speaker/encoder-fused.d.ts.map +0 -1
  741. package/src/services/voice/speaker/encoder-ggml.d.ts.map +0 -1
  742. package/src/services/voice/speaker/encoder.d.ts.map +0 -1
  743. package/src/services/voice/speaker-imprint.d.ts.map +0 -1
  744. package/src/services/voice/speaker-preset-cache.d.ts.map +0 -1
  745. package/src/services/voice/system-audio-sink.d.ts.map +0 -1
  746. package/src/services/voice/transcriber.d.ts.map +0 -1
  747. package/src/services/voice/transcript-knowledge.d.ts.map +0 -1
  748. package/src/services/voice/transcript-service.d.ts.map +0 -1
  749. package/src/services/voice/transcript-store.d.ts.map +0 -1
  750. package/src/services/voice/turn-controller.d.ts.map +0 -1
  751. package/src/services/voice/types.d.ts.map +0 -1
  752. package/src/services/voice/vad.d.ts.map +0 -1
  753. package/src/services/voice/voice-budget.d.ts.map +0 -1
  754. package/src/services/voice/voice-emotion-classifier.d.ts.map +0 -1
  755. package/src/services/voice/voice-preset-format.d.ts.map +0 -1
  756. package/src/services/voice/voice-profile-artifact.d.ts.map +0 -1
  757. package/src/services/voice/voice-profile-routes.d.ts.map +0 -1
  758. package/src/services/voice/voice-settings.d.ts +0 -82
  759. package/src/services/voice/voice-settings.d.ts.map +0 -1
  760. package/src/services/voice/voice-settings.ts +0 -172
  761. package/src/services/voice/voice-state-machine.d.ts.map +0 -1
  762. package/src/services/voice/wake-word-ggml.d.ts.map +0 -1
  763. package/src/services/voice/wake-word.d.ts.map +0 -1
  764. package/src/services/voice/wrap-with-first-line-cache.d.ts.map +0 -1
  765. package/src/services/voice-model-updater.d.ts.map +0 -1
  766. package/src/services/voice-prewarm.d.ts.map +0 -1
  767. /package/{src → dist}/actions/generate-media.d.ts +0 -0
  768. /package/{src → dist}/actions/identify-speaker.d.ts +0 -0
  769. /package/{src → dist}/actions/transcription-control.d.ts +0 -0
  770. /package/{src → dist}/index.d.ts +0 -0
  771. /package/{src → dist}/provider.d.ts +0 -0
  772. /package/{src → dist}/routes/family-member-route.d.ts +0 -0
  773. /package/{src → dist}/routes/local-inference-asr-route.d.ts +0 -0
  774. /package/{src → dist}/routes/local-inference-asr-transcribe.d.ts +0 -0
  775. /package/{src → dist}/routes/local-inference-compat-routes.d.ts +0 -0
  776. /package/{src → dist}/routes/local-inference-tts-route.d.ts +0 -0
  777. /package/{src → dist}/routes/transcript-audio-store.d.ts +0 -0
  778. /package/{src → dist}/routes/voice-first-run-routes.d.ts +0 -0
  779. /package/{src → dist}/routes/voice-models-routes.d.ts +0 -0
  780. /package/{src → dist}/routes/voice-profile-plugin-routes.d.ts +0 -0
  781. /package/{src → dist}/routes/voice-profiles-management-routes.d.ts +0 -0
  782. /package/{src → dist}/routes/voice-speaker-profile-routes.d.ts +0 -0
  783. /package/{src → dist}/runtime/embedding-manager-support.d.ts +0 -0
  784. /package/{src → dist}/runtime/embedding-presets.d.ts +0 -0
  785. /package/{src → dist}/runtime/embedding-warmup-policy.d.ts +0 -0
  786. /package/{src → dist}/services/bundled-models.d.ts +0 -0
  787. /package/{src → dist}/services/cache-bridge.d.ts +0 -0
  788. /package/{src → dist}/services/checkpoint-client.d.ts +0 -0
  789. /package/{src → dist}/services/cloud-fallback.d.ts +0 -0
  790. /package/{src → dist}/services/conversation-registry.d.ts +0 -0
  791. /package/{src → dist}/services/device-bridge.d.ts +0 -0
  792. /package/{src → dist}/services/device-resource-metrics.d.ts +0 -0
  793. /package/{src → dist}/services/external-scanner.d.ts +0 -0
  794. /package/{src → dist}/services/gpu-detect.d.ts +0 -0
  795. /package/{src → dist}/services/handler-registry.d.ts +0 -0
  796. /package/{src → dist}/services/hardware.d.ts +0 -0
  797. /package/{src → dist}/services/image-description-runtime.d.ts +0 -0
  798. /package/{src → dist}/services/imagegen/aosp-unavailable.d.ts +0 -0
  799. /package/{src → dist}/services/imagegen/backend-selector.d.ts +0 -0
  800. /package/{src → dist}/services/imagegen/coreml-unavailable.d.ts +0 -0
  801. /package/{src → dist}/services/imagegen/errors.d.ts +0 -0
  802. /package/{src → dist}/services/imagegen/index.d.ts +0 -0
  803. /package/{src → dist}/services/imagegen/mflux.d.ts +0 -0
  804. /package/{src → dist}/services/imagegen/tensorrt-unavailable.d.ts +0 -0
  805. /package/{src → dist}/services/imagegen/types.d.ts +0 -0
  806. /package/{src → dist}/services/inference-capabilities.d.ts +0 -0
  807. /package/{src → dist}/services/inference-telemetry.d.ts +0 -0
  808. /package/{src → dist}/services/kv-spill.d.ts +0 -0
  809. /package/{src → dist}/services/latency-trace.d.ts +0 -0
  810. /package/{src → dist}/services/llm-streaming-binding.d.ts +0 -0
  811. /package/{src → dist}/services/load-args.d.ts +0 -0
  812. /package/{src → dist}/services/manifest/validator.d.ts +0 -0
  813. /package/{src → dist}/services/memory-pressure.d.ts +0 -0
  814. /package/{src → dist}/services/mtp-doctor.d.ts +0 -0
  815. /package/{src → dist}/services/network-policy.d.ts +0 -0
  816. /package/{src → dist}/services/paths.d.ts +0 -0
  817. /package/{src → dist}/services/planner-skeleton.d.ts +0 -0
  818. /package/{src → dist}/services/providers.d.ts +0 -0
  819. /package/{src → dist}/services/ram-budget.d.ts +0 -0
  820. /package/{src → dist}/services/readiness.d.ts +0 -0
  821. /package/{src → dist}/services/recommendation.d.ts +0 -0
  822. /package/{src → dist}/services/routing-preferences.d.ts +0 -0
  823. /package/{src → dist}/services/runtime-target.d.ts +0 -0
  824. /package/{src → dist}/services/session-pool.d.ts +0 -0
  825. /package/{src → dist}/services/structured-output/deterministic-repair.d.ts +0 -0
  826. /package/{src → dist}/services/structured-output.d.ts +0 -0
  827. /package/{src → dist}/services/system-memory.d.ts +0 -0
  828. /package/{src → dist}/services/verify-on-device.d.ts +0 -0
  829. /package/{src → dist}/services/verify.d.ts +0 -0
  830. /package/{src → dist}/services/vision/aosp-unavailable.d.ts +0 -0
  831. /package/{src → dist}/services/vision/capacitor-llama.d.ts +0 -0
  832. /package/{src → dist}/services/vision/cloud-fallback.d.ts +0 -0
  833. /package/{src → dist}/services/vision/hash.d.ts +0 -0
  834. /package/{src → dist}/services/vision/llama-server.d.ts +0 -0
  835. /package/{src → dist}/services/vision/vast-fallback.d.ts +0 -0
  836. /package/{src → dist}/services/voice/barge-in.d.ts +0 -0
  837. /package/{src → dist}/services/voice/cancellation-coordinator.d.ts +0 -0
  838. /package/{src → dist}/services/voice/checkpoint-manager.d.ts +0 -0
  839. /package/{src → dist}/services/voice/eager-context-builder.d.ts +0 -0
  840. /package/{src → dist}/services/voice/emotion-attribution.d.ts +0 -0
  841. /package/{src → dist}/services/voice/first-line-cache.d.ts +0 -0
  842. /package/{src → dist}/services/voice/kokoro/kokoro-runtime.d.ts +0 -0
  843. /package/{src → dist}/services/voice/kokoro/phonemizer.d.ts +0 -0
  844. /package/{src → dist}/services/voice/kokoro/types.d.ts +0 -0
  845. /package/{src → dist}/services/voice/kokoro/voice-presets.d.ts +0 -0
  846. /package/{src → dist}/services/voice/kokoro/voices.d.ts +0 -0
  847. /package/{src → dist}/services/voice/lifecycle.d.ts +0 -0
  848. /package/{src → dist}/services/voice/optimistic-policy.d.ts +0 -0
  849. /package/{src → dist}/services/voice/phoneme-tokenizer.d.ts +0 -0
  850. /package/{src → dist}/services/voice/phrase-cache.d.ts +0 -0
  851. /package/{src → dist}/services/voice/phrase-chunker.d.ts +0 -0
  852. /package/{src → dist}/services/voice/pipeline-impls.d.ts +0 -0
  853. /package/{src → dist}/services/voice/pipeline.d.ts +0 -0
  854. /package/{src → dist}/services/voice/prefill-client.d.ts +0 -0
  855. /package/{src → dist}/services/voice/prefix-preserving-queue.d.ts +0 -0
  856. /package/{src → dist}/services/voice/profile-store.d.ts +0 -0
  857. /package/{src → dist}/services/voice/ring-buffer.d.ts +0 -0
  858. /package/{src → dist}/services/voice/rollback-queue.d.ts +0 -0
  859. /package/{src → dist}/services/voice/samantha-preset-placeholder.d.ts +0 -0
  860. /package/{src → dist}/services/voice/samantha-preset-regenerator.d.ts +0 -0
  861. /package/{src → dist}/services/voice/scheduler.d.ts +0 -0
  862. /package/{src → dist}/services/voice/speaker/attribution-pipeline.d.ts +0 -0
  863. /package/{src → dist}/services/voice/speaker/diarizer-fused.d.ts +0 -0
  864. /package/{src → dist}/services/voice/speaker/diarizer.d.ts +0 -0
  865. /package/{src → dist}/services/voice/speaker/encoder-fused.d.ts +0 -0
  866. /package/{src → dist}/services/voice/speaker/encoder-ggml.d.ts +0 -0
  867. /package/{src → dist}/services/voice/speaker/encoder.d.ts +0 -0
  868. /package/{src → dist}/services/voice/speaker-imprint.d.ts +0 -0
  869. /package/{src → dist}/services/voice/speaker-preset-cache.d.ts +0 -0
  870. /package/{src → dist}/services/voice/system-audio-sink.d.ts +0 -0
  871. /package/{src → dist}/services/voice/transcript-knowledge.d.ts +0 -0
  872. /package/{src → dist}/services/voice/turn-controller.d.ts +0 -0
  873. /package/{src → dist}/services/voice/voice-budget.d.ts +0 -0
  874. /package/{src → dist}/services/voice/voice-emotion-classifier.d.ts +0 -0
  875. /package/{src → dist}/services/voice/voice-profile-artifact.d.ts +0 -0
  876. /package/{src → dist}/services/voice/voice-profile-routes.d.ts +0 -0
  877. /package/{src → dist}/services/voice/voice-state-machine.d.ts +0 -0
  878. /package/{src → dist}/services/voice/wake-word.d.ts +0 -0
  879. /package/{src → dist}/services/voice/wrap-with-first-line-cache.d.ts +0 -0
  880. /package/{src → dist}/services/voice-model-updater.d.ts +0 -0
  881. /package/{src → dist}/services/voice-prewarm.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diarization-error-rate.d.ts","sourceRoot":"","sources":["../../../src/services/voice/diarization-error-rate.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,kBAAkB;IAClC;mFAC+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACzB;+DAC2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,6FAA6F;IAC7F,gBAAgB,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IAC1B,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;+EAC2E;IAC3E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAwHD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAC1C,SAAS,EAAE,SAAS,kBAAkB,EAAE,EACxC,UAAU,EAAE,SAAS,kBAAkB,EAAE,EACzC,OAAO,GAAE,UAAe,GACtB,SAAS,CAgEX;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAC9B,MAAM,EAAE,MAAM,GACZ,OAAO,CAET"}
@@ -0,0 +1,297 @@
1
+ /**
2
+ * Pure scoring and validation helpers for the local voice E2E harnesses.
3
+ *
4
+ * This file intentionally does not load models, touch the filesystem, or
5
+ * start servers. Hardware scripts feed it real measurements; unit tests can
6
+ * exercise the orchestration logic without native artifacts.
7
+ *
8
+ * Word-error-rate scoring lives in `@elizaos/shared/voice-wer` (the single
9
+ * source of truth shared with the headful self-test, #8785); it is re-exported
10
+ * here so existing `./e2e-harness` importers keep working unchanged.
11
+ */
12
+ export { normalizeWerText, wordErrorRate } from "@elizaos/shared/voice-wer";
13
+ export type VoiceE2eHarnessErrorCode = "missing-artifact" | "missing-measurement" | "invalid-measurement";
14
+ export declare class VoiceE2eHarnessError extends Error {
15
+ readonly code: VoiceE2eHarnessErrorCode;
16
+ readonly details?: unknown;
17
+ constructor(code: VoiceE2eHarnessErrorCode, message: string, details?: unknown);
18
+ }
19
+ export interface RequiredVoiceArtifact {
20
+ kind: "bundle-root" | "speaker-preset" | "tts-model" | "tts-tokenizer" | "asr-model" | "asr-mmproj" | "ffi-library" | "server-binary";
21
+ path: string;
22
+ minBytes?: number;
23
+ magic?: string;
24
+ }
25
+ export interface VoiceArtifactProbe {
26
+ exists(path: string): boolean;
27
+ size(path: string): number | null;
28
+ readMagic?(path: string, bytes: number): string | null;
29
+ }
30
+ export interface VerifiedVoiceArtifact extends RequiredVoiceArtifact {
31
+ size: number | null;
32
+ }
33
+ export declare function assertRequiredVoiceArtifacts(artifacts: ReadonlyArray<RequiredVoiceArtifact>, probe: VoiceArtifactProbe): VerifiedVoiceArtifact[];
34
+ export interface TtsAsrRoundTripInput {
35
+ referenceText: string;
36
+ hypothesisText: string;
37
+ maxWer?: number;
38
+ }
39
+ export interface TtsAsrRoundTripResult {
40
+ kind: "tts-asr-roundtrip";
41
+ referenceText: string;
42
+ hypothesisText: string;
43
+ normalizedReference: string;
44
+ normalizedHypothesis: string;
45
+ wer: number;
46
+ maxWer: number;
47
+ passed: boolean;
48
+ }
49
+ export declare function scoreTtsAsrRoundTrip(input: TtsAsrRoundTripInput): TtsAsrRoundTripResult;
50
+ export interface BargeInInterruptionInput {
51
+ voiceDetectedAtMs: number;
52
+ ttsCancelledAtMs?: number | null;
53
+ llmCancelledAtMs?: number | null;
54
+ audioDrainedAtMs?: number | null;
55
+ maxCancelMs?: number;
56
+ requireLlmCancel?: boolean;
57
+ }
58
+ export interface BargeInInterruptionResult {
59
+ kind: "barge-in-interruption";
60
+ ttsCancelMs: number | null;
61
+ llmCancelMs: number | null;
62
+ audioDrainMs: number | null;
63
+ bargeInCancelMs: number;
64
+ maxCancelMs: number;
65
+ passed: boolean;
66
+ }
67
+ export declare function scoreBargeInInterruption(input: BargeInInterruptionInput): BargeInInterruptionResult;
68
+ export interface PauseContinuationInput {
69
+ speechPauseAtMs: number;
70
+ continuationAtMs: number;
71
+ speculativeStartedAtMs?: number | null;
72
+ speculativeAbortedAtMs?: number | null;
73
+ finalRestartedAtMs?: number | null;
74
+ committedBeforeContinuationAtMs?: number | null;
75
+ maxContinuationGapMs?: number;
76
+ maxAbortAfterContinuationMs?: number;
77
+ maxRestartAfterContinuationMs?: number;
78
+ }
79
+ export interface PauseContinuationResult {
80
+ kind: "pause-continuation";
81
+ continuationGapMs: number;
82
+ speculativeStartAfterPauseMs: number | null;
83
+ abortAfterContinuationMs: number;
84
+ restartAfterContinuationMs: number;
85
+ maxContinuationGapMs: number;
86
+ passed: boolean;
87
+ }
88
+ export declare function scorePauseContinuation(input: PauseContinuationInput): PauseContinuationResult;
89
+ export interface OptimisticRollbackRestartInput {
90
+ speechPauseAtMs: number;
91
+ continuationAtMs: number;
92
+ checkpointSavedAtMs?: number | null;
93
+ speculativeStartedAtMs?: number | null;
94
+ speculativeAbortedAtMs?: number | null;
95
+ checkpointRestoredAtMs?: number | null;
96
+ restartedAtMs?: number | null;
97
+ maxRestoreAfterContinuationMs?: number;
98
+ maxRestartAfterRestoreMs?: number;
99
+ }
100
+ export interface OptimisticRollbackRestartResult {
101
+ kind: "optimistic-rollback-restart";
102
+ saveAfterPauseMs: number | null;
103
+ abortAfterContinuationMs: number;
104
+ restoreAfterContinuationMs: number;
105
+ restartAfterRestoreMs: number;
106
+ passed: boolean;
107
+ }
108
+ export declare function scoreOptimisticRollbackRestart(input: OptimisticRollbackRestartInput): OptimisticRollbackRestartResult;
109
+ export interface FirstResponseLatencyInput {
110
+ turnStartedAtMs: number;
111
+ asrFinalAtMs?: number | null;
112
+ llmFirstTokenAtMs?: number | null;
113
+ ttsFirstAudioAtMs?: number | null;
114
+ audioFirstPlayedAtMs?: number | null;
115
+ maxFirstAudioMs?: number;
116
+ }
117
+ export interface FirstResponseLatencyResult {
118
+ kind: "first-response-latency";
119
+ asrFinalMs: number | null;
120
+ firstTokenMs: number | null;
121
+ firstAudioMs: number;
122
+ firstPlayedMs: number | null;
123
+ maxFirstAudioMs: number;
124
+ passed: boolean;
125
+ }
126
+ export declare function scoreFirstResponseLatency(input: FirstResponseLatencyInput): FirstResponseLatencyResult;
127
+ export interface EotDecisionSample {
128
+ /** The classifier decided end-of-turn here (the agent may jump in). */
129
+ decided: boolean;
130
+ /** Ground truth: this point WAS a real turn boundary. */
131
+ expected: boolean;
132
+ /** Optional ms from the true boundary to the decision (decided samples). */
133
+ latencyMs?: number;
134
+ }
135
+ export interface EotDecisionResult {
136
+ kind: "eot-decision";
137
+ total: number;
138
+ /** decided where there was no real boundary (jumped in too eagerly). */
139
+ falseTriggerRate: number;
140
+ /** missed a real boundary (held when it should have ended the turn). */
141
+ falseSuppressionRate: number;
142
+ accuracy: number;
143
+ latencyP50Ms: number | null;
144
+ latencyP95Ms: number | null;
145
+ maxFalseTriggerRate: number;
146
+ passed: boolean;
147
+ }
148
+ export declare function scoreEotDecision(samples: ReadonlyArray<EotDecisionSample>, opts?: {
149
+ maxFalseTriggerRate?: number;
150
+ }): EotDecisionResult;
151
+ export interface RespondDecisionSample {
152
+ responded: boolean;
153
+ expectRespond: boolean;
154
+ }
155
+ export interface RespondDecisionResult {
156
+ kind: "respond-decision";
157
+ total: number;
158
+ accuracy: number;
159
+ /** responded when it should NOT have (talked over / answered a bystander). */
160
+ falsePositiveRate: number;
161
+ /** stayed silent when it SHOULD have replied. */
162
+ falseNegativeRate: number;
163
+ minAccuracy: number;
164
+ passed: boolean;
165
+ }
166
+ export declare function scoreRespondDecision(samples: ReadonlyArray<RespondDecisionSample>, opts?: {
167
+ minAccuracy?: number;
168
+ }): RespondDecisionResult;
169
+ export interface DiarizationSample {
170
+ predictedLabel: string | null;
171
+ expectedLabel: string;
172
+ }
173
+ export interface DiarizationResult {
174
+ kind: "diarization";
175
+ total: number;
176
+ /** Diarization error rate: fraction of turns whose speaker was wrong/missing. */
177
+ der: number;
178
+ confusions: number;
179
+ misses: number;
180
+ maxDer: number;
181
+ passed: boolean;
182
+ }
183
+ export declare function scoreDiarization(samples: ReadonlyArray<DiarizationSample>, opts?: {
184
+ maxDer?: number;
185
+ }): DiarizationResult;
186
+ /** One scored turn for timeline DER: its speech span + predicted/true speaker. */
187
+ export interface DiarizationTurnSample {
188
+ /** Ground-truth speaker label (the diarization reference). */
189
+ expectedLabel: string;
190
+ /** Predicted speaker label from a real attributor, or null when it missed. */
191
+ predictedLabel: string | null;
192
+ /** Speech-region start of this turn (ms into the stream). */
193
+ startMs: number;
194
+ /** Speech-region end of this turn (ms; must be ≥ startMs). */
195
+ endMs: number;
196
+ }
197
+ /**
198
+ * Score diarization with the frame-based, label-agnostic {@link
199
+ * computeDiarizationErrorRate} (#9147) rather than a per-turn string compare.
200
+ * The predicted labels are an arbitrary cluster-id space (the attributor never
201
+ * knows the ground-truth names) — DER finds the optimal cluster→speaker mapping,
202
+ * so a correct partition scores 0 no matter how clusters are named, and a merged
203
+ * or swapped speaker shows up as real error. `confusions`/`misses` are turn-level
204
+ * tallies derived from that optimal mapping, for the report.
205
+ */
206
+ export declare function scoreDiarizationTimeline(turns: ReadonlyArray<DiarizationTurnSample>, opts?: {
207
+ maxDer?: number;
208
+ }): DiarizationResult;
209
+ export interface EntityExtractionInput {
210
+ expected: ReadonlyArray<string>;
211
+ inferred: ReadonlyArray<string>;
212
+ }
213
+ export interface EntityExtractionResult {
214
+ kind: "entity-extraction";
215
+ precision: number;
216
+ recall: number;
217
+ f1: number;
218
+ minF1: number;
219
+ passed: boolean;
220
+ }
221
+ export declare function scoreEntityExtraction(input: EntityExtractionInput, opts?: {
222
+ minF1?: number;
223
+ }): EntityExtractionResult;
224
+ export interface VoiceEntityMatchSample {
225
+ matchedEntityId: string | null;
226
+ expectedEntityId: string;
227
+ }
228
+ export interface VoiceEntityMatchResult {
229
+ kind: "voice-entity-match";
230
+ total: number;
231
+ matchRate: number;
232
+ correct: number;
233
+ minMatchRate: number;
234
+ passed: boolean;
235
+ }
236
+ export declare function scoreVoiceEntityMatch(samples: ReadonlyArray<VoiceEntityMatchSample>, opts?: {
237
+ minMatchRate?: number;
238
+ }): VoiceEntityMatchResult;
239
+ export interface EchoRejectionSample {
240
+ /** Ground truth: this turn is the agent's own TTS echoed back through the mic. */
241
+ isAgentEcho: boolean;
242
+ /** The agent responded to (i.e. failed to suppress) this turn. */
243
+ responded: boolean;
244
+ }
245
+ export interface EchoRejectionResult {
246
+ kind: "echo-rejection";
247
+ /** Number of agent-echo turns scored. */
248
+ total: number;
249
+ /** Echo turns correctly suppressed (no response). */
250
+ rejected: number;
251
+ rejectionRate: number;
252
+ minRejectionRate: number;
253
+ passed: boolean;
254
+ }
255
+ /**
256
+ * Score self-echo rejection over the agent-echo turns only: each must be
257
+ * suppressed (no response). Real turns are scored by {@link scoreRespondDecision}
258
+ * — this isolates "did the agent talk to itself?".
259
+ */
260
+ export declare function scoreEchoRejection(samples: ReadonlyArray<EchoRejectionSample>, opts?: {
261
+ minRejectionRate?: number;
262
+ }): EchoRejectionResult;
263
+ export interface OwnerSecuritySample {
264
+ /** The system judged this turn to be the device owner. */
265
+ predictedOwner: boolean;
266
+ /** Ground truth: this turn IS the owner. */
267
+ expectedOwner: boolean;
268
+ }
269
+ export interface OwnerSecurityResult {
270
+ kind: "owner-security";
271
+ total: number;
272
+ accuracy: number;
273
+ /** Accepted a non-owner AS the owner (the dangerous false-accept). */
274
+ impostorAcceptRate: number;
275
+ /** Rejected the real owner (a friction false-reject). */
276
+ ownerRejectRate: number;
277
+ minAccuracy: number;
278
+ maxImpostorAcceptRate: number;
279
+ passed: boolean;
280
+ }
281
+ /**
282
+ * Score owner-vs-intruder gating. Passing requires both high overall accuracy
283
+ * AND an impostor-accept rate at/below the (strict, default 0) ceiling —
284
+ * letting a stranger in is the failure mode that matters for security, so it is
285
+ * gated separately from plain accuracy.
286
+ */
287
+ export declare function scoreOwnerSecurity(samples: ReadonlyArray<OwnerSecuritySample>, opts?: {
288
+ minAccuracy?: number;
289
+ maxImpostorAcceptRate?: number;
290
+ }): OwnerSecurityResult;
291
+ export type VoiceE2eCaseResult = TtsAsrRoundTripResult | BargeInInterruptionResult | PauseContinuationResult | OptimisticRollbackRestartResult | FirstResponseLatencyResult | EotDecisionResult | RespondDecisionResult | DiarizationResult | EntityExtractionResult | VoiceEntityMatchResult | EchoRejectionResult | OwnerSecurityResult;
292
+ export interface VoiceE2eSummary {
293
+ passed: boolean;
294
+ cases: VoiceE2eCaseResult[];
295
+ }
296
+ export declare function summarizeVoiceE2e(cases: ReadonlyArray<VoiceE2eCaseResult>): VoiceE2eSummary;
297
+ //# sourceMappingURL=e2e-harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2e-harness.d.ts","sourceRoot":"","sources":["../../../src/services/voice/e2e-harness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eager-context-builder.d.ts","sourceRoot":"","sources":["../../../src/services/voice/eager-context-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC9B;;;;OAIG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;OAIG;IACH,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,8DAA8D;IAC9D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,qBAAqB,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,CACrC,WAAW,EAAE,MAAM,KACf,OAAO,CAAC,cAAc,CAAC,CAAC;AAQ7B,MAAM,WAAW,0BAA0B;IAC1C,kBAAkB,EAAE,oBAAoB,CAAC;IACzC,qBAAqB,EAAE,uBAAuB,CAAC;IAC/C;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC/B,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IAErC,4EAA4E;IAC5E,OAAO,CAAC,gBAAgB,CAA8B;gBAE1C,IAAI,EAAE,0BAA0B;IAO5C;;;;;;OAMG;IACH,qBAAqB,IAAI,IAAI;IAO7B;;;;;;;OAOG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAyBzD;;;OAGG;IACH,OAAO,IAAI,OAAO;IAKlB;;;;OAIG;IACH,UAAU,IAAI,IAAI;YASJ,WAAW;CAKzB;AAMD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE;IACX,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;CAC/B,GACC,WAAW,CAkBb"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Playback→mic echo-delay calibration (#9583, follow-up to #9455).
3
+ *
4
+ * The NLMS echo canceller's adaptive taps model only the room impulse response;
5
+ * the bulk transport delay between TTS playback and the mic capture window
6
+ * (audio-HAL buffering, Bluetooth, resampling, …) should be removed FIRST so the
7
+ * finite tap span (and the adaptation budget) isn't spent modelling pure
8
+ * latency. This finds that bulk lag by normalized cross-correlation of the mic
9
+ * (near-end) against the playback reference (far-end): the lag that maximizes
10
+ * correlation is the playback→mic delay, which the caller then applies as a
11
+ * fixed pre-alignment before the adaptive filter.
12
+ *
13
+ * Pure DSP — no FFI, no device. The per-platform default delay still needs to be
14
+ * tuned on hardware, but the estimator itself is deterministic and testable.
15
+ */
16
+ export interface EchoDelayEstimate {
17
+ /** Best playback→mic delay in samples (far leads near by this much). */
18
+ lagSamples: number;
19
+ /** Peak normalized cross-correlation at that lag, in [0, 1]. */
20
+ confidence: number;
21
+ }
22
+ export interface EchoDelayOptions {
23
+ /** Largest lag to search, in samples. Default 4800 (300 ms @ 16 kHz). */
24
+ maxLagSamples?: number;
25
+ /** Smallest lag to search, in samples. Default 0. */
26
+ minLagSamples?: number;
27
+ }
28
+ /**
29
+ * Estimate the bulk playback→mic delay: the lag `d` (in samples) that best
30
+ * aligns the far-end reference into the near-end mic signal, i.e.
31
+ * `near[n] ≈ g · far[n - d]`. Returns that lag plus its normalized
32
+ * cross-correlation as a `[0, 1]` confidence.
33
+ *
34
+ * Normalized correlation is scale-invariant, so the playback gain `g` does not
35
+ * bias the result. A low confidence (e.g. `< 0.3`) means no detectable echo
36
+ * (the signals are independent) — the caller should keep its previous
37
+ * calibration rather than trust a spurious peak.
38
+ */
39
+ export declare function estimateEchoDelaySamples(near: Float32Array, far: Float32Array, options?: EchoDelayOptions): EchoDelayEstimate;
40
+ /**
41
+ * Per-platform SEED playback→mic delay, in milliseconds. This is the initial
42
+ * pre-alignment applied *before* any echo has been observed; the adaptive
43
+ * {@link estimateEchoDelaySamples} cross-correlation refines it at runtime once
44
+ * enough playback-active audio is seen. Until then a platform-appropriate seed
45
+ * converges faster than starting from zero — most visibly on iOS/macOS, where
46
+ * the CoreAudio / AVAudioEngine transport delay is small but non-zero and a
47
+ * 0-sample seed leaves the first barge-in's echo un-aligned.
48
+ *
49
+ * These are conservative starting points (they still benefit from per-device
50
+ * tuning); the goal is only to put the adaptive filter in the right ballpark on
51
+ * the first turn, not to be exact.
52
+ */
53
+ export declare const PLATFORM_PLAYBACK_DELAY_DEFAULTS: Readonly<Record<string, number>>;
54
+ /** Fallback seed (ms) for an unrecognized platform id. */
55
+ export declare const DEFAULT_PLAYBACK_DELAY_MS = 25;
56
+ /**
57
+ * Seed playback→mic delay in milliseconds for a platform id (e.g.
58
+ * `process.platform`, or the `"ios"` / `"android"` ids the mobile shells
59
+ * report). Unknown ids fall back to {@link DEFAULT_PLAYBACK_DELAY_MS}.
60
+ */
61
+ export declare function platformPlaybackDelayMs(platform: string): number;
62
+ /**
63
+ * Seed playback→mic delay in samples for a platform id. `sampleRate` defaults to
64
+ * the 16 kHz voice-pipeline rate.
65
+ */
66
+ export declare function platformPlaybackDelaySamples(platform: string, sampleRate?: number): number;
67
+ //# sourceMappingURL=echo-delay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echo-delay.d.ts","sourceRoot":"","sources":["../../../src/services/voice/echo-delay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,iBAAiB;IACjC,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAChC,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,YAAY,EACjB,OAAO,GAAE,gBAAqB,GAC5B,iBAAiB,CAoCnB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CACtD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYtB,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC3C,QAAQ,EAAE,MAAM,EAChB,UAAU,SAAS,GACjB,MAAM,CAER"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Echo-return-loss-enhancement in dB: 10*log10(sum(near^2) / sum(residual^2)).
3
+ * Higher is better. Returns +Infinity when the residual is silent and 0 when
4
+ * there is no near-end energy to enhance.
5
+ */
6
+ export declare function computeErle(nearEnd: Float32Array, residual: Float32Array): number;
7
+ //# sourceMappingURL=echo-metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echo-metrics.d.ts","sourceRoot":"","sources":["../../../src/services/voice/echo-metrics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,WAAW,CAC1B,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,YAAY,GACpB,MAAM,CAWR"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Echo-reference alignment buffer (#9583, follow-up to #9455/#9586).
3
+ *
4
+ * The NLMS echo canceller's `process(nearEnd, farEnd)` needs the far-end
5
+ * (the agent's TTS playback) **time-aligned** to the current mic frame: the
6
+ * echo in `nearEnd[t]` is the room-filtered playback from `t − delay`, where
7
+ * `delay` is the bulk playback→mic transport delay (estimated by
8
+ * {@link estimateEchoDelaySamples} in `echo-delay.ts`).
9
+ *
10
+ * The caller renders playback PCM in real time and `push()`es it here as it goes;
11
+ * per mic frame it then asks for the aligned far-end slice. This is the
12
+ * "caller must supply the reference" primitive the consumer seam was missing —
13
+ * a fixed-capacity delay line, pure logic (no FFI, no device, no audio I/O).
14
+ * Samples not yet rendered, or already evicted past capacity, are zero-filled
15
+ * (no echo reference ⇒ the adaptive filter simply has nothing to cancel there).
16
+ */
17
+ export interface EchoReferenceBufferOptions {
18
+ /**
19
+ * Ring-buffer capacity in samples. Must comfortably exceed
20
+ * `maxDelaySamples + frameLength`. Default 24000 (1.5 s @ 16 kHz).
21
+ */
22
+ capacitySamples?: number;
23
+ /** Sample rate for timestamp-based push/read helpers. Default 16000. */
24
+ sampleRateHz?: number;
25
+ }
26
+ export declare class EchoReferenceBuffer {
27
+ private readonly buffer;
28
+ private readonly valid;
29
+ private readonly capacity;
30
+ private readonly sampleRateHz;
31
+ /** Total samples ever pushed (monotonic); the logical "now" cursor. */
32
+ private pushed;
33
+ /** Timestamp mapped to absolute sample 0 for timestamp-aware playback. */
34
+ private originMs;
35
+ constructor(options?: EchoReferenceBufferOptions);
36
+ /** Append rendered playback (far-end) PCM as it is produced. */
37
+ push(playback: Float32Array): void;
38
+ /**
39
+ * Store rendered playback at its capture/render timestamp. This preserves
40
+ * real gaps between playback bursts instead of treating chunks as contiguous.
41
+ */
42
+ pushAt(timestampMs: number, playback: Float32Array): void;
43
+ /**
44
+ * The far-end reference frame aligned to a mic frame of `length` samples
45
+ * captured `delaySamples` after the corresponding playback. Returns the
46
+ * playback window `[pushed − delaySamples − length, pushed − delaySamples)`.
47
+ * Indices before the retained window (not yet pushed, or evicted past
48
+ * capacity) are zero-filled.
49
+ */
50
+ referenceFor(length: number, delaySamples: number): Float32Array;
51
+ /**
52
+ * Reference aligned to a mic frame starting at `timestampMs`.
53
+ * Returns playback `[timestampMs - delay, timestampMs - delay + length)`.
54
+ */
55
+ referenceAt(timestampMs: number, length: number, delaySamples: number): Float32Array;
56
+ /** Samples pushed so far (the monotonic stream position). */
57
+ get position(): number;
58
+ /** Drop all buffered playback (e.g. on a new turn / barge-in flush). */
59
+ reset(): void;
60
+ private sampleIndexFor;
61
+ private writeAt;
62
+ private clearRange;
63
+ private readWindow;
64
+ }
65
+ //# sourceMappingURL=echo-reference-buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echo-reference-buffer.d.ts","sourceRoot":"","sources":["../../../src/services/voice/echo-reference-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,0BAA0B;IAC1C;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,mBAAmB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,uEAAuE;IACvE,OAAO,CAAC,MAAM,CAAK;IACnB,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAuB;gBAE3B,OAAO,GAAE,0BAA+B;IAOpD,gEAAgE;IAChE,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAKlC;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI;IAgBzD;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,YAAY;IAQhE;;;OAGG;IACH,WAAW,CACV,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAClB,YAAY;IAUf,6DAA6D;IAC7D,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,wEAAwE;IACxE,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,OAAO;IAef,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,UAAU;CAYlB"}
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * Eliza-1 EOT scorer — reuses the already-loaded text model to compute
3
- * P(`<|im_end|>` next | conversation_so_far) without shipping a separate
3
+ * P(`<end_of_turn>` next | conversation_so_far) without shipping a separate
4
4
  * detector ONNX.
5
5
  *
6
6
  * The runtime keeps a `LlamaModel` resident for chat generation. Voice
7
- * EOT scoring is a single forward pass over the formatted Qwen chat
8
- * prompt with the trailing `<|im_end|>` removed. `capacitor-llama`'s
7
+ * EOT scoring is a single forward pass over the formatted Gemma chat
8
+ * prompt with the trailing `<end_of_turn>` removed. `capacitor-llama`'s
9
9
  * `LlamaContextSequence.controlledEvaluate()` returns the next-token
10
10
  * probability distribution, so we simply read the entry for the
11
- * `<|im_end|>` token id — no sampling loop, no KV-cache growth on the
11
+ * `<end_of_turn>` token id — no sampling loop, no KV-cache growth on the
12
12
  * chat session.
13
13
  *
14
14
  * A dedicated `LlamaContext` is held just for this scorer so we do not
@@ -76,7 +76,7 @@ export interface Eliza1EotScorerOptions {
76
76
  modelLabel?: string;
77
77
  }
78
78
  export interface Eliza1EotScoreResult {
79
- /** Probability of `<|im_end|>` as the next token, ∈ [0, 1]. */
79
+ /** Probability of `<end_of_turn>` as the next token, ∈ [0, 1]. */
80
80
  probability: number;
81
81
  /** Wall-clock model latency for this scoring call. */
82
82
  latencyMs: number;
@@ -97,7 +97,7 @@ export declare class Eliza1EotScorer {
97
97
  readonly modelLabel: string;
98
98
  private context;
99
99
  private sequence;
100
- private imEndTokenId;
100
+ private endOfTurnTokenId;
101
101
  private initPromise;
102
102
  /** Serializes concurrent calls — controlledEvaluate is not thread-safe per-sequence. */
103
103
  private inflight;
@@ -110,8 +110,8 @@ export declare class Eliza1EotScorer {
110
110
  private runOnce;
111
111
  }
112
112
  /**
113
- * Format the partial transcript using the Qwen chat template, with the
114
- * trailing `<|im_end|>` removed so the next predicted token *is* the
113
+ * Format the partial transcript using the Gemma chat template, with the
114
+ * trailing `<end_of_turn>` removed so the next predicted token *is* the
115
115
  * EOT signal we want to measure.
116
116
  *
117
117
  * Matches the formatting LiveKit's turn-detector uses (single user turn,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eliza1-eot-scorer.d.ts","sourceRoot":"","sources":["../../../src/services/voice/eliza1-eot-scorer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Lazy embedding `llama-server` sidecar for Eliza-1 bundles.
3
+ *
4
+ * The route resolver decides which GGUF backs embeddings. This class owns the
5
+ * process boundary: validate the GGUF at construction, start the sidecar only
6
+ * on first non-empty `embed()`, and return Matryoshka-truncated vectors.
7
+ */
8
+ import { type LocalEmbeddingRoute } from "./embedding";
9
+ interface EmbeddingServerConfig {
10
+ /** GGUF the sidecar mmaps. For the dedicated-region mode this is the `embedding/` file. */
11
+ modelPath: string;
12
+ /** Extra `llama-server` flags — the route's `embeddingServerFlags` (`--embeddings --pooling last`). */
13
+ serverFlags: ReadonlyArray<string>;
14
+ /** GPU offload: `"auto"` (= all layers) for CPU/Vulkan/CUDA hosts, `0` to force CPU. */
15
+ gpuLayers?: number | "auto";
16
+ /** Thread count for the embedding forward pass. Defaults to the host's logical core count. */
17
+ threads?: number;
18
+ }
19
+ export declare class EmbeddingServer {
20
+ private readonly config;
21
+ private child;
22
+ private baseUrl;
23
+ private starting;
24
+ constructor(config: EmbeddingServerConfig);
25
+ isRunning(): boolean;
26
+ embed(texts: string[], dim?: number): Promise<number[][]>;
27
+ private ensureStarted;
28
+ private start;
29
+ private waitUntilReady;
30
+ stop(): Promise<void>;
31
+ }
32
+ export declare function embeddingServerForRoute(route: LocalEmbeddingRoute, opts?: {
33
+ gpuLayers?: number | "auto";
34
+ threads?: number;
35
+ }): EmbeddingServer;
36
+ export {};
37
+ //# sourceMappingURL=embedding-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-server.d.ts","sourceRoot":"","sources":["../../../src/services/voice/embedding-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAEN,KAAK,mBAAmB,EAExB,MAAM,aAAa,CAAC;AAGrB,UAAU,qBAAqB;IAC9B,2FAA2F;IAC3F,SAAS,EAAE,MAAM,CAAC;IAClB,uGAAuG;IACvG,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,8FAA8F;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAA8B;gBAElC,MAAM,EAAE,qBAAqB;IAUzC,SAAS,IAAI,OAAO;IAId,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,SAAO,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAoC/C,aAAa;YAQb,KAAK;YAuCL,cAAc;IAuBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAa3B;AAED,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,mBAAmB,EAC1B,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1D,eAAe,CAWjB"}
@@ -64,9 +64,8 @@ export type LocalEmbeddingSource = {
64
64
  /**
65
65
  * The dedicated model already ships a contrastive `last`-token
66
66
  * pooling head — `--pooling last` is still passed so llama-server
67
- * doesn't fall back to the GGUF's metadata default (which for a raw
68
- * Qwen3 base is `mean`). The model's own pooling layer dominates;
69
- * this just pins the read.
67
+ * doesn't fall back to the GGUF's metadata default. The model's own
68
+ * pooling layer dominates; this just pins the read.
70
69
  */
71
70
  readonly poolingType: "last";
72
71
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../../src/services/voice/embedding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAElD,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,EAAG,IAAa,CAAC;AAEhD;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAEtD,CAAC;AAEF,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,GAAG,EAAE,MAAM,GACT,MAAM,EAAE,CAiBV;AAYD,MAAM,MAAM,oBAAoB,GAC7B;IACA,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC5B,GACD;IACA,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,sEAAsE;IACtE,QAAQ,CAAC,UAAU,EAAE,OAAO,kBAAkB,CAAC;IAC/C;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC5B,CAAC;AAaL;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,YAAY,CAEhE,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACtB,GAAG,oBAAoB,CA4BvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,EAAE,OAAO,kBAAkB,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,mBAAmB,CAoBtB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emotion-attribution.d.ts","sourceRoot":"","sources":["../../../src/services/voice/emotion-attribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,iBAAiB,EAGtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACX,4BAA4B,EAC5B,eAAe,EACf,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,6BAA6B,GACtC,MAAM,GACN,UAAU,GACV,sBAAsB,GACtB,uBAAuB,GACvB,gBAAgB,GAChB,qBAAqB,CAAC;AAEzB,MAAM,WAAW,yBAAyB;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,4BAA4B,CAAC;IACrC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,uBAAuB,CAAC;IAC9B,KAAK,CAAC,EAAE,yBAAyB,CAAC;IAClC;;;;OAIG;IACH,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACpC,MAAM,EACH,qBAAqB,GACrB,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,sBAAsB,GACtB,8BAA8B,GAC9B,gBAAgB,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,6BAA6B,CAAC;IACtC,kBAAkB,EAAE,KAAK,CAAC;IAC1B,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC1C;;;;;OAKG;IACH,GAAG,CAAC,EAAE,eAAe,CAAC;CACtB;AAoGD,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,4BAA4B,GACjC,uBAAuB,CAgKzB"}