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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (893) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +157 -0
  3. package/dist/actions/generate-media.d.ts +59 -0
  4. package/dist/actions/generate-media.d.ts.map +1 -0
  5. package/dist/actions/identify-speaker.d.ts +23 -0
  6. package/dist/actions/identify-speaker.d.ts.map +1 -0
  7. package/dist/actions/transcription-control.d.ts +29 -0
  8. package/dist/actions/transcription-control.d.ts.map +1 -0
  9. package/dist/adapters/capacitor-llama/environment.d.ts +12 -0
  10. package/dist/adapters/capacitor-llama/environment.d.ts.map +1 -0
  11. package/dist/adapters/capacitor-llama/index.browser.d.ts +9 -0
  12. package/dist/adapters/capacitor-llama/index.browser.d.ts.map +1 -0
  13. package/dist/adapters/capacitor-llama/index.d.ts +18 -0
  14. package/dist/adapters/capacitor-llama/index.d.ts.map +1 -0
  15. package/dist/adapters/capacitor-llama/loader.d.ts +35 -0
  16. package/dist/adapters/capacitor-llama/loader.d.ts.map +1 -0
  17. package/dist/adapters/capacitor-llama/native-voice-capture.d.ts +70 -0
  18. package/dist/adapters/capacitor-llama/native-voice-capture.d.ts.map +1 -0
  19. package/dist/adapters/capacitor-llama/structured-output.d.ts +62 -0
  20. package/dist/adapters/capacitor-llama/structured-output.d.ts.map +1 -0
  21. package/dist/adapters/capacitor-llama/text-streaming.d.ts +24 -0
  22. package/dist/adapters/capacitor-llama/text-streaming.d.ts.map +1 -0
  23. package/dist/adapters/capacitor-llama/types.d.ts +338 -0
  24. package/dist/adapters/capacitor-llama/types.d.ts.map +1 -0
  25. package/dist/adapters/capacitor-llama/voice-turn.d.ts +86 -0
  26. package/dist/adapters/capacitor-llama/voice-turn.d.ts.map +1 -0
  27. package/dist/backends/apple-foundation.d.ts +56 -0
  28. package/dist/backends/apple-foundation.d.ts.map +1 -0
  29. package/dist/index.d.ts +8 -37
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +38979 -430
  32. package/dist/index.js.map +217 -0
  33. package/dist/local-inference-routes.d.ts +47 -0
  34. package/dist/local-inference-routes.d.ts.map +1 -0
  35. package/dist/provider.d.ts +21 -0
  36. package/dist/provider.d.ts.map +1 -0
  37. package/dist/routes/compat-helpers.d.ts +18 -0
  38. package/dist/routes/compat-helpers.d.ts.map +1 -0
  39. package/dist/routes/family-member-route.d.ts +62 -0
  40. package/dist/routes/family-member-route.d.ts.map +1 -0
  41. package/dist/routes/index.d.ts +20 -0
  42. package/dist/routes/index.d.ts.map +1 -0
  43. package/dist/routes/index.js +42040 -0
  44. package/dist/routes/index.js.map +236 -0
  45. package/dist/routes/live-diarization-route.d.ts +33 -0
  46. package/dist/routes/live-diarization-route.d.ts.map +1 -0
  47. package/dist/routes/local-inference-asr-route.d.ts +4 -0
  48. package/dist/routes/local-inference-asr-route.d.ts.map +1 -0
  49. package/dist/routes/local-inference-asr-transcribe.d.ts +20 -0
  50. package/dist/routes/local-inference-asr-transcribe.d.ts.map +1 -0
  51. package/dist/routes/local-inference-compat-routes.d.ts +16 -0
  52. package/dist/routes/local-inference-compat-routes.d.ts.map +1 -0
  53. package/dist/routes/local-inference-tts-route.d.ts +7 -0
  54. package/dist/routes/local-inference-tts-route.d.ts.map +1 -0
  55. package/dist/routes/native-pcm-turn-route.d.ts +3 -0
  56. package/dist/routes/native-pcm-turn-route.d.ts.map +1 -0
  57. package/dist/routes/transcript-audio-store.d.ts +15 -0
  58. package/dist/routes/transcript-audio-store.d.ts.map +1 -0
  59. package/dist/routes/transcripts-routes.d.ts +44 -0
  60. package/dist/routes/transcripts-routes.d.ts.map +1 -0
  61. package/dist/routes/voice-first-run-routes.d.ts +62 -0
  62. package/dist/routes/voice-first-run-routes.d.ts.map +1 -0
  63. package/dist/routes/voice-models-routes.d.ts +62 -0
  64. package/dist/routes/voice-models-routes.d.ts.map +1 -0
  65. package/dist/routes/voice-profile-plugin-routes.d.ts +19 -0
  66. package/dist/routes/voice-profile-plugin-routes.d.ts.map +1 -0
  67. package/dist/routes/voice-profiles-management-routes.d.ts +52 -0
  68. package/dist/routes/voice-profiles-management-routes.d.ts.map +1 -0
  69. package/dist/routes/voice-speaker-profile-routes.d.ts +57 -0
  70. package/dist/routes/voice-speaker-profile-routes.d.ts.map +1 -0
  71. package/dist/runtime/embedding-manager-support.d.ts +77 -0
  72. package/dist/runtime/embedding-manager-support.d.ts.map +1 -0
  73. package/dist/runtime/embedding-presets.d.ts +16 -0
  74. package/dist/runtime/embedding-presets.d.ts.map +1 -0
  75. package/dist/runtime/embedding-warmup-policy.d.ts +14 -0
  76. package/dist/runtime/embedding-warmup-policy.d.ts.map +1 -0
  77. package/dist/runtime/ensure-local-inference-handler.d.ts +70 -0
  78. package/dist/runtime/ensure-local-inference-handler.d.ts.map +1 -0
  79. package/dist/runtime/index.d.ts +15 -0
  80. package/dist/runtime/index.d.ts.map +1 -0
  81. package/dist/runtime/index.js +38768 -0
  82. package/dist/runtime/index.js.map +217 -0
  83. package/dist/runtime/mobile-local-inference-gate.d.ts +63 -0
  84. package/dist/runtime/mobile-local-inference-gate.d.ts.map +1 -0
  85. package/dist/runtime/voice-entity-binding.d.ts +113 -0
  86. package/dist/runtime/voice-entity-binding.d.ts.map +1 -0
  87. package/dist/services/active-model.d.ts +310 -0
  88. package/dist/services/active-model.d.ts.map +1 -0
  89. package/dist/services/asr-provenance.d.ts +5 -0
  90. package/dist/services/asr-provenance.d.ts.map +1 -0
  91. package/dist/services/assignments.d.ts +84 -0
  92. package/dist/services/assignments.d.ts.map +1 -0
  93. package/dist/services/backend-selector.d.ts +55 -0
  94. package/dist/services/backend-selector.d.ts.map +1 -0
  95. package/dist/services/backend.d.ts +440 -0
  96. package/dist/services/backend.d.ts.map +1 -0
  97. package/dist/services/bionic-host-loader.d.ts +67 -0
  98. package/dist/services/bionic-host-loader.d.ts.map +1 -0
  99. package/dist/services/bundled-models.d.ts +34 -0
  100. package/dist/services/bundled-models.d.ts.map +1 -0
  101. package/dist/services/cache-bridge.d.ts +206 -0
  102. package/dist/services/cache-bridge.d.ts.map +1 -0
  103. package/dist/services/catalog.d.ts +10 -0
  104. package/dist/services/catalog.d.ts.map +1 -0
  105. package/dist/services/checkpoint-client.d.ts +109 -0
  106. package/dist/services/checkpoint-client.d.ts.map +1 -0
  107. package/dist/services/checkpoint-manager.d.ts +217 -0
  108. package/dist/services/checkpoint-manager.d.ts.map +1 -0
  109. package/dist/services/cloud-fallback.d.ts +102 -0
  110. package/dist/services/cloud-fallback.d.ts.map +1 -0
  111. package/dist/services/context-fit.d.ts +36 -0
  112. package/dist/services/context-fit.d.ts.map +1 -0
  113. package/dist/services/conversation-registry.d.ts +142 -0
  114. package/dist/services/conversation-registry.d.ts.map +1 -0
  115. package/dist/services/desktop-fused-ffi-backend-runtime.d.ts +111 -0
  116. package/dist/services/desktop-fused-ffi-backend-runtime.d.ts.map +1 -0
  117. package/dist/services/device-bridge.d.ts +188 -0
  118. package/dist/services/device-bridge.d.ts.map +1 -0
  119. package/dist/services/device-resource-metrics.d.ts +149 -0
  120. package/dist/services/device-resource-metrics.d.ts.map +1 -0
  121. package/dist/services/device-tier.d.ts +133 -0
  122. package/dist/services/device-tier.d.ts.map +1 -0
  123. package/dist/services/downloader.d.ts +94 -0
  124. package/dist/services/downloader.d.ts.map +1 -0
  125. package/dist/services/engine.d.ts +579 -0
  126. package/dist/services/engine.d.ts.map +1 -0
  127. package/dist/services/ensure-local-artifacts.d.ts +82 -0
  128. package/dist/services/ensure-local-artifacts.d.ts.map +1 -0
  129. package/dist/services/external-scanner.d.ts +17 -0
  130. package/dist/services/external-scanner.d.ts.map +1 -0
  131. package/dist/services/ffi-llm-mock.d.ts +90 -0
  132. package/dist/services/ffi-llm-mock.d.ts.map +1 -0
  133. package/dist/services/ffi-llm-streaming-abi.d.ts +318 -0
  134. package/dist/services/ffi-llm-streaming-abi.d.ts.map +1 -0
  135. package/dist/services/ffi-streaming-backend.d.ts +201 -0
  136. package/dist/services/ffi-streaming-backend.d.ts.map +1 -0
  137. package/dist/services/ffi-streaming-runner.d.ts +146 -0
  138. package/dist/services/ffi-streaming-runner.d.ts.map +1 -0
  139. package/dist/services/gpu-autotune.d.ts +150 -0
  140. package/dist/services/gpu-autotune.d.ts.map +1 -0
  141. package/dist/services/gpu-detect.d.ts +56 -0
  142. package/dist/services/gpu-detect.d.ts.map +1 -0
  143. package/dist/services/handler-registry.d.ts +72 -0
  144. package/dist/services/handler-registry.d.ts.map +1 -0
  145. package/dist/services/hardware.d.ts +63 -0
  146. package/dist/services/hardware.d.ts.map +1 -0
  147. package/dist/services/image-description-runtime.d.ts +14 -0
  148. package/dist/services/image-description-runtime.d.ts.map +1 -0
  149. package/dist/services/imagegen/aosp-unavailable.d.ts +134 -0
  150. package/dist/services/imagegen/aosp-unavailable.d.ts.map +1 -0
  151. package/dist/services/imagegen/backend-selector.d.ts +118 -0
  152. package/dist/services/imagegen/backend-selector.d.ts.map +1 -0
  153. package/dist/services/imagegen/coreml-unavailable.d.ts +105 -0
  154. package/dist/services/imagegen/coreml-unavailable.d.ts.map +1 -0
  155. package/dist/services/imagegen/errors.d.ts +16 -0
  156. package/dist/services/imagegen/errors.d.ts.map +1 -0
  157. package/dist/services/imagegen/index.d.ts +58 -0
  158. package/dist/services/imagegen/index.d.ts.map +1 -0
  159. package/dist/services/imagegen/mflux.d.ts +74 -0
  160. package/dist/services/imagegen/mflux.d.ts.map +1 -0
  161. package/dist/services/imagegen/sd-cpp.d.ts +181 -0
  162. package/dist/services/imagegen/sd-cpp.d.ts.map +1 -0
  163. package/dist/services/imagegen/tensorrt-unavailable.d.ts +83 -0
  164. package/dist/services/imagegen/tensorrt-unavailable.d.ts.map +1 -0
  165. package/dist/services/imagegen/types.d.ts +181 -0
  166. package/dist/services/imagegen/types.d.ts.map +1 -0
  167. package/dist/services/index.d.ts +31 -0
  168. package/dist/services/index.d.ts.map +1 -0
  169. package/dist/services/index.js +39453 -0
  170. package/dist/services/index.js.map +227 -0
  171. package/dist/services/inference-capabilities.d.ts +132 -0
  172. package/dist/services/inference-capabilities.d.ts.map +1 -0
  173. package/dist/services/inference-telemetry.d.ts +59 -0
  174. package/dist/services/inference-telemetry.d.ts.map +1 -0
  175. package/dist/services/ios-llama-streaming.d.ts +119 -0
  176. package/dist/services/ios-llama-streaming.d.ts.map +1 -0
  177. package/dist/services/kv-spill.d.ts +189 -0
  178. package/dist/services/kv-spill.d.ts.map +1 -0
  179. package/dist/services/latency-trace.d.ts +346 -0
  180. package/dist/services/latency-trace.d.ts.map +1 -0
  181. package/dist/services/lib-target.d.ts +55 -0
  182. package/dist/services/lib-target.d.ts.map +1 -0
  183. package/dist/services/live-signals.d.ts +86 -0
  184. package/dist/services/live-signals.d.ts.map +1 -0
  185. package/dist/services/llama-server-metrics.d.ts +114 -0
  186. package/dist/services/llama-server-metrics.d.ts.map +1 -0
  187. package/dist/services/llm-streaming-binding.d.ts +96 -0
  188. package/dist/services/llm-streaming-binding.d.ts.map +1 -0
  189. package/dist/services/load-args.d.ts +82 -0
  190. package/dist/services/load-args.d.ts.map +1 -0
  191. package/dist/services/manifest/index.d.ts +4 -0
  192. package/dist/services/manifest/index.d.ts.map +1 -0
  193. package/dist/services/manifest/schema.d.ts +903 -0
  194. package/dist/services/manifest/schema.d.ts.map +1 -0
  195. package/dist/services/manifest/types.d.ts +32 -0
  196. package/dist/services/manifest/types.d.ts.map +1 -0
  197. package/dist/services/manifest/validator.d.ts +66 -0
  198. package/dist/services/manifest/validator.d.ts.map +1 -0
  199. package/dist/services/memory-arbiter.d.ts +348 -0
  200. package/dist/services/memory-arbiter.d.ts.map +1 -0
  201. package/dist/services/memory-benchmark.d.ts +76 -0
  202. package/dist/services/memory-benchmark.d.ts.map +1 -0
  203. package/dist/services/memory-monitor.d.ts +128 -0
  204. package/dist/services/memory-monitor.d.ts.map +1 -0
  205. package/dist/services/memory-pressure.d.ts +130 -0
  206. package/dist/services/memory-pressure.d.ts.map +1 -0
  207. package/dist/services/mtp-doctor.d.ts +13 -0
  208. package/dist/services/mtp-doctor.d.ts.map +1 -0
  209. package/dist/services/network-policy.d.ts +127 -0
  210. package/dist/services/network-policy.d.ts.map +1 -0
  211. package/dist/services/paths.d.ts +6 -0
  212. package/dist/services/paths.d.ts.map +1 -0
  213. package/dist/services/planner-skeleton.d.ts +124 -0
  214. package/dist/services/planner-skeleton.d.ts.map +1 -0
  215. package/dist/services/providers.d.ts +38 -0
  216. package/dist/services/providers.d.ts.map +1 -0
  217. package/dist/services/ram-budget.d.ts +110 -0
  218. package/dist/services/ram-budget.d.ts.map +1 -0
  219. package/dist/services/readiness.d.ts +9 -0
  220. package/dist/services/readiness.d.ts.map +1 -0
  221. package/dist/services/recommendation.d.ts +111 -0
  222. package/dist/services/recommendation.d.ts.map +1 -0
  223. package/dist/services/registry.d.ts +33 -0
  224. package/dist/services/registry.d.ts.map +1 -0
  225. package/dist/services/router-handler.d.ts +92 -0
  226. package/dist/services/router-handler.d.ts.map +1 -0
  227. package/dist/services/routing-policy.d.ts +92 -0
  228. package/dist/services/routing-policy.d.ts.map +1 -0
  229. package/dist/services/routing-preferences.d.ts +8 -0
  230. package/dist/services/routing-preferences.d.ts.map +1 -0
  231. package/dist/services/runtime-target.d.ts +98 -0
  232. package/dist/services/runtime-target.d.ts.map +1 -0
  233. package/dist/services/service.d.ts +128 -0
  234. package/dist/services/service.d.ts.map +1 -0
  235. package/dist/services/session-pool.d.ts +72 -0
  236. package/dist/services/session-pool.d.ts.map +1 -0
  237. package/dist/services/structured-output/deterministic-repair.d.ts +23 -0
  238. package/dist/services/structured-output/deterministic-repair.d.ts.map +1 -0
  239. package/dist/services/structured-output/index.d.ts +2 -0
  240. package/dist/services/structured-output/index.d.ts.map +1 -0
  241. package/dist/services/structured-output.d.ts +311 -0
  242. package/dist/services/structured-output.d.ts.map +1 -0
  243. package/dist/services/system-memory.d.ts +33 -0
  244. package/dist/services/system-memory.d.ts.map +1 -0
  245. package/dist/services/types.d.ts +19 -0
  246. package/dist/services/types.d.ts.map +1 -0
  247. package/dist/services/verify-on-device.d.ts +34 -0
  248. package/dist/services/verify-on-device.d.ts.map +1 -0
  249. package/dist/services/verify.d.ts +8 -0
  250. package/dist/services/verify.d.ts.map +1 -0
  251. package/dist/services/vision/aosp-unavailable.d.ts +115 -0
  252. package/dist/services/vision/aosp-unavailable.d.ts.map +1 -0
  253. package/dist/services/vision/capacitor-llama.d.ts +99 -0
  254. package/dist/services/vision/capacitor-llama.d.ts.map +1 -0
  255. package/dist/services/vision/cloud-fallback.d.ts +47 -0
  256. package/dist/services/vision/cloud-fallback.d.ts.map +1 -0
  257. package/dist/services/vision/hash.d.ts +71 -0
  258. package/dist/services/vision/hash.d.ts.map +1 -0
  259. package/dist/services/vision/index.d.ts +95 -0
  260. package/dist/services/vision/index.d.ts.map +1 -0
  261. package/dist/services/vision/llama-server.d.ts +73 -0
  262. package/dist/services/vision/llama-server.d.ts.map +1 -0
  263. package/dist/services/vision/types.d.ts +162 -0
  264. package/dist/services/vision/types.d.ts.map +1 -0
  265. package/dist/services/vision/vast-fallback.d.ts +18 -0
  266. package/dist/services/vision/vast-fallback.d.ts.map +1 -0
  267. package/dist/services/vision-embedding-cache.d.ts +98 -0
  268. package/dist/services/vision-embedding-cache.d.ts.map +1 -0
  269. package/dist/services/voice/__test-helpers__/fake-ffi.d.ts +27 -0
  270. package/dist/services/voice/__test-helpers__/fake-ffi.d.ts.map +1 -0
  271. package/dist/services/voice/__test-helpers__/synthetic-speech.d.ts +66 -0
  272. package/dist/services/voice/__test-helpers__/synthetic-speech.d.ts.map +1 -0
  273. package/dist/services/voice/acoustic-speaker-attribution.d.ts +61 -0
  274. package/dist/services/voice/acoustic-speaker-attribution.d.ts.map +1 -0
  275. package/dist/services/voice/audio-frame-consumer.d.ts +294 -0
  276. package/dist/services/voice/audio-frame-consumer.d.ts.map +1 -0
  277. package/dist/services/voice/barge-in.d.ts +112 -0
  278. package/dist/services/voice/barge-in.d.ts.map +1 -0
  279. package/dist/services/voice/cancellation-coordinator.d.ts +127 -0
  280. package/dist/services/voice/cancellation-coordinator.d.ts.map +1 -0
  281. package/dist/services/voice/checkpoint-manager.d.ts +199 -0
  282. package/dist/services/voice/checkpoint-manager.d.ts.map +1 -0
  283. package/dist/services/voice/checkpoint-policy.d.ts +178 -0
  284. package/dist/services/voice/checkpoint-policy.d.ts.map +1 -0
  285. package/dist/services/voice/corpus-augment.d.ts +111 -0
  286. package/dist/services/voice/corpus-augment.d.ts.map +1 -0
  287. package/dist/services/voice/corpus-generator.d.ts +134 -0
  288. package/dist/services/voice/corpus-generator.d.ts.map +1 -0
  289. package/dist/services/voice/diarization-error-rate.d.ts +40 -0
  290. package/dist/services/voice/diarization-error-rate.d.ts.map +1 -0
  291. package/dist/services/voice/e2e-harness.d.ts +297 -0
  292. package/dist/services/voice/e2e-harness.d.ts.map +1 -0
  293. package/dist/services/voice/eager-context-builder.d.ts +170 -0
  294. package/dist/services/voice/eager-context-builder.d.ts.map +1 -0
  295. package/dist/services/voice/echo-delay.d.ts +67 -0
  296. package/dist/services/voice/echo-delay.d.ts.map +1 -0
  297. package/dist/services/voice/echo-metrics.d.ts +7 -0
  298. package/dist/services/voice/echo-metrics.d.ts.map +1 -0
  299. package/dist/services/voice/echo-reference-buffer.d.ts +65 -0
  300. package/dist/services/voice/echo-reference-buffer.d.ts.map +1 -0
  301. package/dist/services/voice/eliza1-eot-scorer.d.ts +124 -0
  302. package/dist/services/voice/eliza1-eot-scorer.d.ts.map +1 -0
  303. package/dist/services/voice/embedding-server.d.ts +37 -0
  304. package/dist/services/voice/embedding-server.d.ts.map +1 -0
  305. package/dist/services/voice/embedding.d.ts +132 -0
  306. package/dist/services/voice/embedding.d.ts.map +1 -0
  307. package/dist/services/voice/emotion-attribution.d.ts +68 -0
  308. package/dist/services/voice/emotion-attribution.d.ts.map +1 -0
  309. package/dist/services/voice/engine-bridge.d.ts +762 -0
  310. package/dist/services/voice/engine-bridge.d.ts.map +1 -0
  311. package/dist/services/voice/eot-classifier-ggml.d.ts +179 -0
  312. package/dist/services/voice/eot-classifier-ggml.d.ts.map +1 -0
  313. package/dist/services/voice/eot-classifier.d.ts +211 -0
  314. package/dist/services/voice/eot-classifier.d.ts.map +1 -0
  315. package/dist/services/voice/errors.d.ts +20 -0
  316. package/dist/services/voice/errors.d.ts.map +1 -0
  317. package/dist/services/voice/expressive-tags.d.ts +158 -0
  318. package/dist/services/voice/expressive-tags.d.ts.map +1 -0
  319. package/dist/services/voice/ffi-bindings.d.ts +696 -0
  320. package/dist/services/voice/ffi-bindings.d.ts.map +1 -0
  321. package/dist/services/voice/first-line-cache.d.ts +181 -0
  322. package/dist/services/voice/first-line-cache.d.ts.map +1 -0
  323. package/dist/services/voice/fused-eot-scorer.d.ts +51 -0
  324. package/dist/services/voice/fused-eot-scorer.d.ts.map +1 -0
  325. package/dist/services/voice/index.d.ts +96 -0
  326. package/dist/services/voice/index.d.ts.map +1 -0
  327. package/dist/services/voice/kokoro/index.d.ts +24 -0
  328. package/dist/services/voice/kokoro/index.d.ts.map +1 -0
  329. package/dist/services/voice/kokoro/kokoro-backend.d.ts +87 -0
  330. package/dist/services/voice/kokoro/kokoro-backend.d.ts.map +1 -0
  331. package/dist/services/voice/kokoro/kokoro-engine-discovery.d.ts +58 -0
  332. package/dist/services/voice/kokoro/kokoro-engine-discovery.d.ts.map +1 -0
  333. package/dist/services/voice/kokoro/kokoro-ffi-runtime.d.ts +75 -0
  334. package/dist/services/voice/kokoro/kokoro-ffi-runtime.d.ts.map +1 -0
  335. package/dist/services/voice/kokoro/kokoro-runtime.d.ts +100 -0
  336. package/dist/services/voice/kokoro/kokoro-runtime.d.ts.map +1 -0
  337. package/dist/services/voice/kokoro/phoneme-stream.d.ts +51 -0
  338. package/dist/services/voice/kokoro/phoneme-stream.d.ts.map +1 -0
  339. package/dist/services/voice/kokoro/phonemizer.d.ts +50 -0
  340. package/dist/services/voice/kokoro/phonemizer.d.ts.map +1 -0
  341. package/dist/services/voice/kokoro/pick-runtime.d.ts +61 -0
  342. package/dist/services/voice/kokoro/pick-runtime.d.ts.map +1 -0
  343. package/dist/services/voice/kokoro/runtime-selection.d.ts +31 -0
  344. package/dist/services/voice/kokoro/runtime-selection.d.ts.map +1 -0
  345. package/dist/services/voice/kokoro/types.d.ts +82 -0
  346. package/dist/services/voice/kokoro/types.d.ts.map +1 -0
  347. package/dist/services/voice/kokoro/voice-presets.d.ts +23 -0
  348. package/dist/services/voice/kokoro/voice-presets.d.ts.map +1 -0
  349. package/dist/services/voice/kokoro/voices.d.ts +30 -0
  350. package/dist/services/voice/kokoro/voices.d.ts.map +1 -0
  351. package/dist/services/voice/lifecycle.d.ts +135 -0
  352. package/dist/services/voice/lifecycle.d.ts.map +1 -0
  353. package/dist/services/voice/live-diarization-session.d.ts +196 -0
  354. package/dist/services/voice/live-diarization-session.d.ts.map +1 -0
  355. package/dist/services/voice/metric-math.d.ts +10 -0
  356. package/dist/services/voice/metric-math.d.ts.map +1 -0
  357. package/dist/services/voice/mic-source.d.ts +136 -0
  358. package/dist/services/voice/mic-source.d.ts.map +1 -0
  359. package/dist/services/voice/nlms-echo-canceller.d.ts +137 -0
  360. package/dist/services/voice/nlms-echo-canceller.d.ts.map +1 -0
  361. package/dist/services/voice/optimistic-policy.d.ts +109 -0
  362. package/dist/services/voice/optimistic-policy.d.ts.map +1 -0
  363. package/dist/services/voice/optimistic-rollback.d.ts +151 -0
  364. package/dist/services/voice/optimistic-rollback.d.ts.map +1 -0
  365. package/dist/services/voice/partial-stabilizer.d.ts +73 -0
  366. package/dist/services/voice/partial-stabilizer.d.ts.map +1 -0
  367. package/dist/services/voice/phoneme-tokenizer.d.ts +49 -0
  368. package/dist/services/voice/phoneme-tokenizer.d.ts.map +1 -0
  369. package/dist/services/voice/phrase-cache.d.ts +76 -0
  370. package/dist/services/voice/phrase-cache.d.ts.map +1 -0
  371. package/dist/services/voice/phrase-chunker.d.ts +62 -0
  372. package/dist/services/voice/phrase-chunker.d.ts.map +1 -0
  373. package/dist/services/voice/pipeline-impls.d.ts +151 -0
  374. package/dist/services/voice/pipeline-impls.d.ts.map +1 -0
  375. package/dist/services/voice/pipeline.d.ts +216 -0
  376. package/dist/services/voice/pipeline.d.ts.map +1 -0
  377. package/dist/services/voice/prefill-client.d.ts +123 -0
  378. package/dist/services/voice/prefill-client.d.ts.map +1 -0
  379. package/dist/services/voice/prefix-preserving-queue.d.ts +113 -0
  380. package/dist/services/voice/prefix-preserving-queue.d.ts.map +1 -0
  381. package/dist/services/voice/profile-store.d.ts +248 -0
  382. package/dist/services/voice/profile-store.d.ts.map +1 -0
  383. package/dist/services/voice/ring-buffer.d.ts +40 -0
  384. package/dist/services/voice/ring-buffer.d.ts.map +1 -0
  385. package/dist/services/voice/rollback-queue.d.ts +24 -0
  386. package/dist/services/voice/rollback-queue.d.ts.map +1 -0
  387. package/dist/services/voice/samantha-preset-placeholder.d.ts +67 -0
  388. package/dist/services/voice/samantha-preset-placeholder.d.ts.map +1 -0
  389. package/dist/services/voice/samantha-preset-regenerator.d.ts +87 -0
  390. package/dist/services/voice/samantha-preset-regenerator.d.ts.map +1 -0
  391. package/dist/services/voice/scheduler.d.ts +146 -0
  392. package/dist/services/voice/scheduler.d.ts.map +1 -0
  393. package/dist/services/voice/self-voice-imprint.d.ts +33 -0
  394. package/dist/services/voice/self-voice-imprint.d.ts.map +1 -0
  395. package/dist/services/voice/shared-resources.d.ts +204 -0
  396. package/dist/services/voice/shared-resources.d.ts.map +1 -0
  397. package/dist/services/voice/speaker/attribution-pipeline.d.ts +74 -0
  398. package/dist/services/voice/speaker/attribution-pipeline.d.ts.map +1 -0
  399. package/dist/services/voice/speaker/diarizer-fused.d.ts +59 -0
  400. package/dist/services/voice/speaker/diarizer-fused.d.ts.map +1 -0
  401. package/dist/services/voice/speaker/diarizer.d.ts +75 -0
  402. package/dist/services/voice/speaker/diarizer.d.ts.map +1 -0
  403. package/dist/services/voice/speaker/encoder-fused.d.ts +60 -0
  404. package/dist/services/voice/speaker/encoder-fused.d.ts.map +1 -0
  405. package/dist/services/voice/speaker/encoder-ggml.d.ts +33 -0
  406. package/dist/services/voice/speaker/encoder-ggml.d.ts.map +1 -0
  407. package/dist/services/voice/speaker/encoder.d.ts +37 -0
  408. package/dist/services/voice/speaker/encoder.d.ts.map +1 -0
  409. package/dist/services/voice/speaker-imprint.d.ts +83 -0
  410. package/dist/services/voice/speaker-imprint.d.ts.map +1 -0
  411. package/dist/services/voice/speaker-preset-cache.d.ts +77 -0
  412. package/dist/services/voice/speaker-preset-cache.d.ts.map +1 -0
  413. package/dist/services/voice/streaming-asr/streaming-pipeline-adapter.d.ts +160 -0
  414. package/dist/services/voice/streaming-asr/streaming-pipeline-adapter.d.ts.map +1 -0
  415. package/dist/services/voice/system-audio-sink.d.ts +73 -0
  416. package/dist/services/voice/system-audio-sink.d.ts.map +1 -0
  417. package/dist/services/voice/transcriber.d.ts +244 -0
  418. package/dist/services/voice/transcriber.d.ts.map +1 -0
  419. package/dist/services/voice/transcript-knowledge.d.ts +37 -0
  420. package/dist/services/voice/transcript-knowledge.d.ts.map +1 -0
  421. package/dist/services/voice/transcript-service.d.ts +60 -0
  422. package/dist/services/voice/transcript-service.d.ts.map +1 -0
  423. package/dist/services/voice/transcript-store.d.ts +64 -0
  424. package/dist/services/voice/transcript-store.d.ts.map +1 -0
  425. package/dist/services/voice/turn-controller.d.ts +183 -0
  426. package/dist/services/voice/turn-controller.d.ts.map +1 -0
  427. package/dist/services/voice/types.d.ts +643 -0
  428. package/dist/services/voice/types.d.ts.map +1 -0
  429. package/dist/services/voice/vad.d.ts +283 -0
  430. package/dist/services/voice/vad.d.ts.map +1 -0
  431. package/dist/services/voice/voice-budget.d.ts +241 -0
  432. package/dist/services/voice/voice-budget.d.ts.map +1 -0
  433. package/dist/services/voice/voice-emotion-classifier.d.ts +95 -0
  434. package/dist/services/voice/voice-emotion-classifier.d.ts.map +1 -0
  435. package/dist/services/voice/voice-preload-predictor.d.ts +76 -0
  436. package/dist/services/voice/voice-preload-predictor.d.ts.map +1 -0
  437. package/dist/services/voice/voice-preset-format.d.ts +158 -0
  438. package/dist/services/voice/voice-preset-format.d.ts.map +1 -0
  439. package/dist/services/voice/voice-profile-artifact.d.ts +116 -0
  440. package/dist/services/voice/voice-profile-artifact.d.ts.map +1 -0
  441. package/dist/services/voice/voice-profile-routes.d.ts +83 -0
  442. package/dist/services/voice/voice-profile-routes.d.ts.map +1 -0
  443. package/dist/services/voice/voice-scenario.d.ts +131 -0
  444. package/dist/services/voice/voice-scenario.d.ts.map +1 -0
  445. package/dist/services/voice/voice-state-machine.d.ts +364 -0
  446. package/dist/services/voice/voice-state-machine.d.ts.map +1 -0
  447. package/dist/services/voice/voice-workbench-report.d.ts +117 -0
  448. package/dist/services/voice/voice-workbench-report.d.ts.map +1 -0
  449. package/dist/services/voice/wake-word-ggml.d.ts +100 -0
  450. package/dist/services/voice/wake-word-ggml.d.ts.map +1 -0
  451. package/dist/services/voice/wake-word.d.ts +255 -0
  452. package/dist/services/voice/wake-word.d.ts.map +1 -0
  453. package/dist/services/voice/wav-codec.d.ts +11 -0
  454. package/dist/services/voice/wav-codec.d.ts.map +1 -0
  455. package/dist/services/voice/workbench-entrypoint.d.ts +42 -0
  456. package/dist/services/voice/workbench-entrypoint.d.ts.map +1 -0
  457. package/dist/services/voice/workbench-headless-runner.d.ts +102 -0
  458. package/dist/services/voice/workbench-headless-runner.d.ts.map +1 -0
  459. package/dist/services/voice/workbench-logic-services.d.ts +36 -0
  460. package/dist/services/voice/workbench-logic-services.d.ts.map +1 -0
  461. package/dist/services/voice/workbench-real-services.d.ts +17 -0
  462. package/dist/services/voice/workbench-real-services.d.ts.map +1 -0
  463. package/dist/services/voice/workbench-scenarios.d.ts +24 -0
  464. package/dist/services/voice/workbench-scenarios.d.ts.map +1 -0
  465. package/dist/services/voice/wrap-with-first-line-cache.d.ts +70 -0
  466. package/dist/services/voice/wrap-with-first-line-cache.d.ts.map +1 -0
  467. package/dist/services/voice-model-updater.d.ts +240 -0
  468. package/dist/services/voice-model-updater.d.ts.map +1 -0
  469. package/dist/services/voice-prewarm.d.ts +3 -0
  470. package/dist/services/voice-prewarm.d.ts.map +1 -0
  471. package/dist/voice-workbench.d.ts +18 -0
  472. package/dist/voice-workbench.d.ts.map +1 -0
  473. package/dist/voice-workbench.js +5259 -0
  474. package/dist/voice-workbench.js.map +34 -0
  475. package/package.json +101 -15
  476. package/registry-entry.json +137 -0
  477. package/src/actions/generate-media.ts +647 -0
  478. package/src/actions/identify-speaker.ts +171 -0
  479. package/src/actions/transcription-control.test.ts +100 -0
  480. package/src/actions/transcription-control.ts +127 -0
  481. package/src/adapters/capacitor-llama/__tests__/compat-behavior.test.ts +218 -0
  482. package/src/adapters/capacitor-llama/__tests__/index.test.ts +68 -0
  483. package/src/adapters/capacitor-llama/__tests__/structured-output.test.ts +215 -0
  484. package/src/adapters/capacitor-llama/__tests__/text-streaming.test.ts +174 -0
  485. package/src/adapters/capacitor-llama/__tests__/voice-turn.test.ts +293 -0
  486. package/src/adapters/capacitor-llama/environment.ts +71 -0
  487. package/src/adapters/capacitor-llama/index.browser.ts +83 -0
  488. package/src/adapters/capacitor-llama/index.ts +831 -0
  489. package/src/adapters/capacitor-llama/loader.ts +109 -0
  490. package/src/adapters/capacitor-llama/native-voice-capture.ts +140 -0
  491. package/src/adapters/capacitor-llama/structured-output.ts +165 -0
  492. package/src/adapters/capacitor-llama/text-streaming.ts +227 -0
  493. package/src/adapters/capacitor-llama/types.ts +374 -0
  494. package/src/adapters/capacitor-llama/voice-turn.ts +178 -0
  495. package/src/backends/apple-foundation.ts +127 -0
  496. package/src/index.ts +62 -0
  497. package/src/local-inference-routes.test.ts +390 -0
  498. package/src/local-inference-routes.ts +1625 -0
  499. package/src/provider.ts +1111 -0
  500. package/src/routes/compat-helpers.ts +275 -0
  501. package/src/routes/family-member-route.ts +353 -0
  502. package/src/routes/index.ts +61 -0
  503. package/src/routes/live-diarization-route.test.ts +347 -0
  504. package/src/routes/live-diarization-route.ts +198 -0
  505. package/src/routes/local-inference-asr-route.test.ts +246 -0
  506. package/src/routes/local-inference-asr-route.ts +166 -0
  507. package/src/routes/local-inference-asr-transcribe.test.ts +118 -0
  508. package/src/routes/local-inference-asr-transcribe.ts +97 -0
  509. package/src/routes/local-inference-compat-routes.test.ts +485 -0
  510. package/src/routes/local-inference-compat-routes.ts +775 -0
  511. package/src/routes/local-inference-tts-route.test.ts +179 -0
  512. package/src/routes/local-inference-tts-route.ts +230 -0
  513. package/src/routes/native-pcm-turn-route.test.ts +136 -0
  514. package/src/routes/native-pcm-turn-route.ts +121 -0
  515. package/src/routes/transcript-audio-store.ts +27 -0
  516. package/src/routes/transcripts-routes.test.ts +195 -0
  517. package/src/routes/transcripts-routes.ts +191 -0
  518. package/src/routes/voice-first-run-routes.ts +524 -0
  519. package/src/routes/voice-models-routes.ts +554 -0
  520. package/src/routes/voice-profile-plugin-routes.ts +138 -0
  521. package/src/routes/voice-profiles-management-routes.ts +476 -0
  522. package/src/routes/voice-speaker-profile-routes.ts +199 -0
  523. package/src/runtime/aosp-llama-loader-selection.test.ts +80 -0
  524. package/src/runtime/bionic-wire-encoding.test.ts +147 -0
  525. package/src/runtime/capacitor-llama.d.ts +25 -0
  526. package/src/runtime/embedding-manager-support.ts +497 -0
  527. package/src/runtime/embedding-presets.ts +81 -0
  528. package/src/runtime/embedding-warmup-policy.test.ts +53 -0
  529. package/src/runtime/embedding-warmup-policy.ts +48 -0
  530. package/src/runtime/ensure-local-inference-handler.test.ts +726 -0
  531. package/src/runtime/ensure-local-inference-handler.ts +1640 -0
  532. package/src/runtime/index.ts +36 -0
  533. package/src/runtime/mobile-local-inference-gate.test.ts +152 -0
  534. package/src/runtime/mobile-local-inference-gate.ts +99 -0
  535. package/src/runtime/voice-entity-binding.transcript.test.ts +98 -0
  536. package/src/runtime/voice-entity-binding.ts +368 -0
  537. package/src/runtime/voice-speaker-entity-contract.test.ts +149 -0
  538. package/src/services/README.md +71 -0
  539. package/src/services/__tests__/backend-selector.precedence.test.ts +333 -0
  540. package/src/services/__tests__/backend-selector.test.ts +101 -0
  541. package/src/services/__tests__/checkpoint-manager.test.ts +376 -0
  542. package/src/services/__tests__/gpu-autotune.test.ts +400 -0
  543. package/src/services/__tests__/llm-streaming-binding.test.ts +85 -0
  544. package/src/services/__tests__/planner-grammar.test.ts +372 -0
  545. package/src/services/__tests__/runtime-target.test.ts +176 -0
  546. package/src/services/active-model-context-fit.test.ts +125 -0
  547. package/src/services/active-model-switch-rollback.test.ts +183 -0
  548. package/src/services/active-model.ts +1416 -0
  549. package/src/services/asr-provenance.ts +68 -0
  550. package/src/services/assignment-validation.test.ts +118 -0
  551. package/src/services/assignments.test.ts +106 -0
  552. package/src/services/assignments.ts +278 -0
  553. package/src/services/backend-selector.ts +95 -0
  554. package/src/services/backend.test.ts +84 -0
  555. package/src/services/backend.ts +791 -0
  556. package/src/services/bionic-host-loader.test.ts +226 -0
  557. package/src/services/bionic-host-loader.ts +252 -0
  558. package/src/services/bundled-models.ts +129 -0
  559. package/src/services/cache-bridge.test.ts +516 -0
  560. package/src/services/cache-bridge.ts +423 -0
  561. package/src/services/catalog.test.ts +259 -0
  562. package/src/services/catalog.ts +33 -0
  563. package/src/services/checkpoint-client.ts +258 -0
  564. package/src/services/checkpoint-manager.ts +474 -0
  565. package/src/services/cloud-fallback.ts +230 -0
  566. package/src/services/context-fit.test.ts +121 -0
  567. package/src/services/context-fit.ts +113 -0
  568. package/src/services/conversation-registry.test.ts +235 -0
  569. package/src/services/conversation-registry.ts +264 -0
  570. package/src/services/desktop-fused-ffi-backend-runtime.ts +431 -0
  571. package/src/services/device-bridge.ts +1237 -0
  572. package/src/services/device-resource-metrics.test.ts +98 -0
  573. package/src/services/device-resource-metrics.ts +346 -0
  574. package/src/services/device-tier.test.ts +458 -0
  575. package/src/services/device-tier.ts +502 -0
  576. package/src/services/downloader.test.ts +888 -0
  577. package/src/services/downloader.ts +1039 -0
  578. package/src/services/engine-direct-bundle.test.ts +90 -0
  579. package/src/services/engine-streaming.test.ts +80 -0
  580. package/src/services/engine.ts +2096 -0
  581. package/src/services/ensure-local-artifacts.integration.test.ts +273 -0
  582. package/src/services/ensure-local-artifacts.test.ts +368 -0
  583. package/src/services/ensure-local-artifacts.ts +351 -0
  584. package/src/services/external-scanner.ts +312 -0
  585. package/src/services/ffi-llm-mock.ts +354 -0
  586. package/src/services/ffi-llm-streaming-abi.ts +445 -0
  587. package/src/services/ffi-streaming-backend.ts +418 -0
  588. package/src/services/ffi-streaming-runner.test.ts +220 -0
  589. package/src/services/ffi-streaming-runner.ts +407 -0
  590. package/src/services/ffi-unload-ordering.test.ts +166 -0
  591. package/src/services/fused-eliza1-no-regression.test.ts +144 -0
  592. package/src/services/gpu-autotune.ts +534 -0
  593. package/src/services/gpu-detect.ts +139 -0
  594. package/src/services/handler-registry.ts +240 -0
  595. package/src/services/hardware.test.ts +236 -0
  596. package/src/services/hardware.ts +438 -0
  597. package/src/services/image-description-runtime.test.ts +61 -0
  598. package/src/services/image-description-runtime.ts +118 -0
  599. package/src/services/imagegen/aosp-unavailable.ts +229 -0
  600. package/src/services/imagegen/backend-selector.test.ts +190 -0
  601. package/src/services/imagegen/backend-selector.ts +277 -0
  602. package/src/services/imagegen/coreml-unavailable.ts +237 -0
  603. package/src/services/imagegen/errors.ts +40 -0
  604. package/src/services/imagegen/index.ts +144 -0
  605. package/src/services/imagegen/mflux.ts +313 -0
  606. package/src/services/imagegen/sd-cpp.ts +715 -0
  607. package/src/services/imagegen/tensorrt-unavailable.ts +295 -0
  608. package/src/services/imagegen/types.ts +193 -0
  609. package/src/services/index.ts +229 -0
  610. package/src/services/inference-capabilities.test.ts +75 -0
  611. package/src/services/inference-capabilities.ts +204 -0
  612. package/src/services/inference-telemetry.ts +143 -0
  613. package/src/services/ios-llama-streaming.ts +248 -0
  614. package/src/services/kv-spill.test.ts +222 -0
  615. package/src/services/kv-spill.ts +357 -0
  616. package/src/services/latency-trace.test.ts +266 -0
  617. package/src/services/latency-trace.ts +844 -0
  618. package/src/services/lib-target.test.ts +145 -0
  619. package/src/services/lib-target.ts +102 -0
  620. package/src/services/live-signals.test.ts +132 -0
  621. package/src/services/live-signals.ts +177 -0
  622. package/src/services/llama-server-metrics.test.ts +168 -0
  623. package/src/services/llama-server-metrics.ts +304 -0
  624. package/src/services/llm-streaming-binding.ts +136 -0
  625. package/src/services/load-args.ts +81 -0
  626. package/src/services/manifest/eliza-1.manifest.v1.json +790 -0
  627. package/src/services/manifest/index.ts +72 -0
  628. package/src/services/manifest/manifest.test.ts +791 -0
  629. package/src/services/manifest/schema.ts +761 -0
  630. package/src/services/manifest/types.ts +61 -0
  631. package/src/services/manifest/validator.ts +633 -0
  632. package/src/services/memory-arbiter.test.ts +558 -0
  633. package/src/services/memory-arbiter.ts +991 -0
  634. package/src/services/memory-benchmark.test.ts +91 -0
  635. package/src/services/memory-benchmark.ts +354 -0
  636. package/src/services/memory-monitor.test.ts +232 -0
  637. package/src/services/memory-monitor.ts +309 -0
  638. package/src/services/memory-pressure.ts +414 -0
  639. package/src/services/mtp-doctor.ts +86 -0
  640. package/src/services/network-policy.ts +346 -0
  641. package/src/services/paths.ts +25 -0
  642. package/src/services/planner-skeleton.ts +175 -0
  643. package/src/services/providers.ts +507 -0
  644. package/src/services/ram-budget-cache.test.ts +164 -0
  645. package/src/services/ram-budget.ts +309 -0
  646. package/src/services/readiness.test.ts +87 -0
  647. package/src/services/readiness.ts +238 -0
  648. package/src/services/recommendation.test.ts +216 -0
  649. package/src/services/recommendation.ts +671 -0
  650. package/src/services/registry.ts +157 -0
  651. package/src/services/required-kernels-gate.test.ts +64 -0
  652. package/src/services/router-handler.test.ts +45 -0
  653. package/src/services/router-handler.ts +426 -0
  654. package/src/services/routing-policy.test.ts +352 -0
  655. package/src/services/routing-policy.ts +367 -0
  656. package/src/services/routing-preferences.ts +17 -0
  657. package/src/services/runtime-target.ts +154 -0
  658. package/src/services/service.test.ts +223 -0
  659. package/src/services/service.ts +750 -0
  660. package/src/services/session-pool.ts +153 -0
  661. package/src/services/structured-output/deterministic-repair.test.ts +169 -0
  662. package/src/services/structured-output/deterministic-repair.ts +443 -0
  663. package/src/services/structured-output/index.ts +4 -0
  664. package/src/services/structured-output.test.ts +483 -0
  665. package/src/services/structured-output.ts +712 -0
  666. package/src/services/system-memory.test.ts +47 -0
  667. package/src/services/system-memory.ts +67 -0
  668. package/src/services/transcription-priority.test.ts +211 -0
  669. package/src/services/types.ts +59 -0
  670. package/src/services/verify-on-device.test.ts +87 -0
  671. package/src/services/verify-on-device.ts +127 -0
  672. package/src/services/verify.ts +13 -0
  673. package/src/services/vision/aosp-unavailable.ts +163 -0
  674. package/src/services/vision/capacitor-llama.ts +255 -0
  675. package/src/services/vision/cloud-fallback.test.ts +243 -0
  676. package/src/services/vision/cloud-fallback.ts +268 -0
  677. package/src/services/vision/fallback-chain.test.ts +86 -0
  678. package/src/services/vision/hash.ts +157 -0
  679. package/src/services/vision/index.ts +251 -0
  680. package/src/services/vision/llama-server.ts +177 -0
  681. package/src/services/vision/types.ts +163 -0
  682. package/src/services/vision/vast-fallback.ts +127 -0
  683. package/src/services/vision-embedding-cache.ts +189 -0
  684. package/src/services/voice/VOICE_WORKBENCH.md +133 -0
  685. package/src/services/voice/__fixtures__/voice-workbench-logic-baseline.json +180 -0
  686. package/src/services/voice/__test-helpers__/fake-ffi.ts +94 -0
  687. package/src/services/voice/__test-helpers__/synthetic-speech.ts +194 -0
  688. package/src/services/voice/__tests__/checkpoint-manager.test.ts +241 -0
  689. package/src/services/voice/__tests__/checkpoint-policy.test.ts +270 -0
  690. package/src/services/voice/__tests__/eager-context-builder.test.ts +257 -0
  691. package/src/services/voice/__tests__/eliza1-eot-scorer.test.ts +288 -0
  692. package/src/services/voice/__tests__/eot-classifier.test.ts +431 -0
  693. package/src/services/voice/__tests__/optimistic-rollback.test.ts +312 -0
  694. package/src/services/voice/__tests__/prefill-client.test.ts +266 -0
  695. package/src/services/voice/__tests__/prefix-preserving-queue.test.ts +208 -0
  696. package/src/services/voice/__tests__/streaming-asr.test.ts +450 -0
  697. package/src/services/voice/__tests__/streaming-transcriber.test.ts +339 -0
  698. package/src/services/voice/__tests__/turn-detector-resolver.test.ts +195 -0
  699. package/src/services/voice/__tests__/voice-state-machine-prefill.test.ts +275 -0
  700. package/src/services/voice/__tests__/voice-state-machine.test.ts +354 -0
  701. package/src/services/voice/acoustic-speaker-attribution.test.ts +165 -0
  702. package/src/services/voice/acoustic-speaker-attribution.ts +336 -0
  703. package/src/services/voice/asr-timed.real.test.ts +139 -0
  704. package/src/services/voice/audio-frame-consumer.test.ts +669 -0
  705. package/src/services/voice/audio-frame-consumer.ts +651 -0
  706. package/src/services/voice/barge-in.test.ts +244 -0
  707. package/src/services/voice/barge-in.ts +335 -0
  708. package/src/services/voice/cancellation-coordinator.test.ts +196 -0
  709. package/src/services/voice/cancellation-coordinator.ts +269 -0
  710. package/src/services/voice/checkpoint-manager.ts +401 -0
  711. package/src/services/voice/checkpoint-policy.ts +336 -0
  712. package/src/services/voice/composite-eot-classifier.test.ts +59 -0
  713. package/src/services/voice/corpus-augment.test.ts +276 -0
  714. package/src/services/voice/corpus-augment.ts +451 -0
  715. package/src/services/voice/corpus-generator.test.ts +201 -0
  716. package/src/services/voice/corpus-generator.ts +413 -0
  717. package/src/services/voice/diarization-error-rate.greedy.test.ts +140 -0
  718. package/src/services/voice/diarization-error-rate.test.ts +100 -0
  719. package/src/services/voice/diarization-error-rate.ts +249 -0
  720. package/src/services/voice/e2e-harness.der.test.ts +94 -0
  721. package/src/services/voice/e2e-harness.respond-eot-entity.test.ts +277 -0
  722. package/src/services/voice/e2e-harness.security-echo.test.ts +103 -0
  723. package/src/services/voice/e2e-harness.test.ts +182 -0
  724. package/src/services/voice/e2e-harness.ts +902 -0
  725. package/src/services/voice/eager-context-builder.ts +262 -0
  726. package/src/services/voice/echo-delay.test.ts +118 -0
  727. package/src/services/voice/echo-delay.ts +135 -0
  728. package/src/services/voice/echo-metrics.test.ts +17 -0
  729. package/src/services/voice/echo-metrics.ts +20 -0
  730. package/src/services/voice/echo-reference-buffer.test.ts +86 -0
  731. package/src/services/voice/echo-reference-buffer.ts +165 -0
  732. package/src/services/voice/eliza1-eot-scorer.ts +242 -0
  733. package/src/services/voice/embedding-server.ts +200 -0
  734. package/src/services/voice/embedding.test.ts +131 -0
  735. package/src/services/voice/embedding.ts +242 -0
  736. package/src/services/voice/emotion-attribution.test.ts +129 -0
  737. package/src/services/voice/emotion-attribution.ts +361 -0
  738. package/src/services/voice/engine-bridge-cancellation.test.ts +422 -0
  739. package/src/services/voice/engine-bridge-transcript-join.test.ts +278 -0
  740. package/src/services/voice/engine-bridge.test.ts +384 -0
  741. package/src/services/voice/engine-bridge.ts +2343 -0
  742. package/src/services/voice/eot-classifier-ggml.ts +569 -0
  743. package/src/services/voice/eot-classifier.test.ts +98 -0
  744. package/src/services/voice/eot-classifier.ts +422 -0
  745. package/src/services/voice/errors.ts +34 -0
  746. package/src/services/voice/expressive-tags.asr.test.ts +77 -0
  747. package/src/services/voice/expressive-tags.test.ts +102 -0
  748. package/src/services/voice/expressive-tags.ts +405 -0
  749. package/src/services/voice/ffi-bindings.test.ts +735 -0
  750. package/src/services/voice/ffi-bindings.ts +3387 -0
  751. package/src/services/voice/first-line-cache.ts +725 -0
  752. package/src/services/voice/fused-eot-scorer.ts +139 -0
  753. package/src/services/voice/index.ts +502 -0
  754. package/src/services/voice/kokoro/__tests__/kokoro-backend.test.ts +262 -0
  755. package/src/services/voice/kokoro/__tests__/kokoro-engine-bridge.real.test.ts +236 -0
  756. package/src/services/voice/kokoro/__tests__/kokoro-engine-bridge.test.ts +60 -0
  757. package/src/services/voice/kokoro/__tests__/kokoro-engine-discovery.test.ts +277 -0
  758. package/src/services/voice/kokoro/__tests__/kokoro-ffi-runtime.test.ts +235 -0
  759. package/src/services/voice/kokoro/__tests__/kokoro-runtime.test.ts +95 -0
  760. package/src/services/voice/kokoro/__tests__/phonemizer.test.ts +53 -0
  761. package/src/services/voice/kokoro/__tests__/runtime-selection.test.ts +67 -0
  762. package/src/services/voice/kokoro/__tests__/voices.test.ts +57 -0
  763. package/src/services/voice/kokoro/index.ts +79 -0
  764. package/src/services/voice/kokoro/kokoro-backend.ts +223 -0
  765. package/src/services/voice/kokoro/kokoro-engine-discovery.ts +177 -0
  766. package/src/services/voice/kokoro/kokoro-ffi-runtime.ts +233 -0
  767. package/src/services/voice/kokoro/kokoro-runtime.ts +170 -0
  768. package/src/services/voice/kokoro/phoneme-stream.ts +123 -0
  769. package/src/services/voice/kokoro/phonemizer.ts +344 -0
  770. package/src/services/voice/kokoro/pick-runtime.test.ts +91 -0
  771. package/src/services/voice/kokoro/pick-runtime.ts +130 -0
  772. package/src/services/voice/kokoro/runtime-selection.ts +64 -0
  773. package/src/services/voice/kokoro/types.ts +95 -0
  774. package/src/services/voice/kokoro/voice-presets.ts +129 -0
  775. package/src/services/voice/kokoro/voices.ts +64 -0
  776. package/src/services/voice/lifecycle.test.ts +315 -0
  777. package/src/services/voice/lifecycle.ts +301 -0
  778. package/src/services/voice/live-diarization-session.echo.test.ts +232 -0
  779. package/src/services/voice/live-diarization-session.ts +622 -0
  780. package/src/services/voice/metric-math.test.ts +61 -0
  781. package/src/services/voice/metric-math.ts +25 -0
  782. package/src/services/voice/mic-source.test.ts +210 -0
  783. package/src/services/voice/mic-source.ts +503 -0
  784. package/src/services/voice/nlms-echo-canceller.test.ts +244 -0
  785. package/src/services/voice/nlms-echo-canceller.ts +317 -0
  786. package/src/services/voice/optimistic-policy.power-source.test.ts +36 -0
  787. package/src/services/voice/optimistic-policy.test.ts +101 -0
  788. package/src/services/voice/optimistic-policy.ts +192 -0
  789. package/src/services/voice/optimistic-rollback.ts +343 -0
  790. package/src/services/voice/partial-stabilizer.test.ts +68 -0
  791. package/src/services/voice/partial-stabilizer.ts +140 -0
  792. package/src/services/voice/phoneme-tokenizer.ts +158 -0
  793. package/src/services/voice/phrase-cache.test.ts +242 -0
  794. package/src/services/voice/phrase-cache.ts +186 -0
  795. package/src/services/voice/phrase-chunker.test.ts +239 -0
  796. package/src/services/voice/phrase-chunker.ts +281 -0
  797. package/src/services/voice/pipeline-impls.l6.test.ts +110 -0
  798. package/src/services/voice/pipeline-impls.test.ts +292 -0
  799. package/src/services/voice/pipeline-impls.ts +315 -0
  800. package/src/services/voice/pipeline.ts +504 -0
  801. package/src/services/voice/prefill-client.ts +316 -0
  802. package/src/services/voice/prefix-preserving-queue.ts +162 -0
  803. package/src/services/voice/profile-store.ts +887 -0
  804. package/src/services/voice/real-audio-decode.test.ts +148 -0
  805. package/src/services/voice/research/VOICE_8785_ASSESSMENT.md +141 -0
  806. package/src/services/voice/research/VOICE_PIPELINE_RESEARCH_2026.md +117 -0
  807. package/src/services/voice/research/VOICE_VALIDATION_RUNBOOK.md +135 -0
  808. package/src/services/voice/ring-buffer.test.ts +129 -0
  809. package/src/services/voice/ring-buffer.ts +123 -0
  810. package/src/services/voice/rollback-queue.ts +74 -0
  811. package/src/services/voice/samantha-preset-placeholder.test.ts +97 -0
  812. package/src/services/voice/samantha-preset-placeholder.ts +148 -0
  813. package/src/services/voice/samantha-preset-regenerator.ts +393 -0
  814. package/src/services/voice/samantha-preset-regenerator.wav.test.ts +90 -0
  815. package/src/services/voice/scheduler.t2.test.ts +141 -0
  816. package/src/services/voice/scheduler.ts +927 -0
  817. package/src/services/voice/self-voice-imprint.test.ts +59 -0
  818. package/src/services/voice/self-voice-imprint.ts +102 -0
  819. package/src/services/voice/shared-resources.ts +343 -0
  820. package/src/services/voice/speaker/attribution-pipeline.test.ts +221 -0
  821. package/src/services/voice/speaker/attribution-pipeline.ts +449 -0
  822. package/src/services/voice/speaker/diarizer-fused.real.test.ts +100 -0
  823. package/src/services/voice/speaker/diarizer-fused.ts +154 -0
  824. package/src/services/voice/speaker/diarizer.ts +218 -0
  825. package/src/services/voice/speaker/encoder-fused.real.test.ts +113 -0
  826. package/src/services/voice/speaker/encoder-fused.ts +138 -0
  827. package/src/services/voice/speaker/encoder-ggml.test.ts +59 -0
  828. package/src/services/voice/speaker/encoder-ggml.ts +79 -0
  829. package/src/services/voice/speaker/encoder.ts +105 -0
  830. package/src/services/voice/speaker-imprint.test.ts +185 -0
  831. package/src/services/voice/speaker-imprint.ts +312 -0
  832. package/src/services/voice/speaker-preset-cache.test.ts +154 -0
  833. package/src/services/voice/speaker-preset-cache.ts +195 -0
  834. package/src/services/voice/streaming-asr/streaming-pipeline-adapter.ts +292 -0
  835. package/src/services/voice/system-audio-sink.test.ts +29 -0
  836. package/src/services/voice/system-audio-sink.ts +366 -0
  837. package/src/services/voice/transcriber.asr-backend.test.ts +76 -0
  838. package/src/services/voice/transcriber.test.ts +392 -0
  839. package/src/services/voice/transcriber.ts +704 -0
  840. package/src/services/voice/transcript-knowledge.test.ts +68 -0
  841. package/src/services/voice/transcript-knowledge.ts +75 -0
  842. package/src/services/voice/transcript-service.test.ts +195 -0
  843. package/src/services/voice/transcript-service.ts +205 -0
  844. package/src/services/voice/transcript-store.test.ts +189 -0
  845. package/src/services/voice/transcript-store.ts +164 -0
  846. package/src/services/voice/turn-controller.test.ts +575 -0
  847. package/src/services/voice/turn-controller.ts +596 -0
  848. package/src/services/voice/types.ts +699 -0
  849. package/src/services/voice/vad.test.ts +498 -0
  850. package/src/services/voice/vad.ts +832 -0
  851. package/src/services/voice/vad.v1-v4.test.ts +222 -0
  852. package/src/services/voice/voice-budget.test.ts +415 -0
  853. package/src/services/voice/voice-budget.ts +635 -0
  854. package/src/services/voice/voice-duet.test.ts +375 -0
  855. package/src/services/voice/voice-emotion-classifier.test.ts +210 -0
  856. package/src/services/voice/voice-emotion-classifier.ts +273 -0
  857. package/src/services/voice/voice-hardening.fuzz.test.ts +116 -0
  858. package/src/services/voice/voice-preload-predictor.test.ts +130 -0
  859. package/src/services/voice/voice-preload-predictor.ts +113 -0
  860. package/src/services/voice/voice-preset-format.fuzz.test.ts +89 -0
  861. package/src/services/voice/voice-preset-format.test.ts +75 -0
  862. package/src/services/voice/voice-preset-format.ts +713 -0
  863. package/src/services/voice/voice-preset-generator.test.ts +89 -0
  864. package/src/services/voice/voice-profile-artifact.test.ts +138 -0
  865. package/src/services/voice/voice-profile-artifact.ts +518 -0
  866. package/src/services/voice/voice-profile-routes.test.ts +429 -0
  867. package/src/services/voice/voice-profile-routes.ts +425 -0
  868. package/src/services/voice/voice-scenario.test.ts +159 -0
  869. package/src/services/voice/voice-scenario.ts +280 -0
  870. package/src/services/voice/voice-scenario.turn-helpers.test.ts +77 -0
  871. package/src/services/voice/voice-state-machine.ts +727 -0
  872. package/src/services/voice/voice-workbench-report.test.ts +168 -0
  873. package/src/services/voice/voice-workbench-report.ts +367 -0
  874. package/src/services/voice/voice-workbench.test.ts +158 -0
  875. package/src/services/voice/voice.test.ts +1070 -0
  876. package/src/services/voice/wake-word-ggml.ts +319 -0
  877. package/src/services/voice/wake-word.test.ts +298 -0
  878. package/src/services/voice/wake-word.ts +554 -0
  879. package/src/services/voice/wav-codec.fuzz.test.ts +59 -0
  880. package/src/services/voice/wav-codec.test.ts +32 -0
  881. package/src/services/voice/wav-codec.ts +101 -0
  882. package/src/services/voice/workbench-entrypoint.test.ts +55 -0
  883. package/src/services/voice/workbench-entrypoint.ts +88 -0
  884. package/src/services/voice/workbench-headless-runner.test.ts +162 -0
  885. package/src/services/voice/workbench-headless-runner.ts +396 -0
  886. package/src/services/voice/workbench-logic-services.test.ts +225 -0
  887. package/src/services/voice/workbench-logic-services.ts +184 -0
  888. package/src/services/voice/workbench-real-services.ts +629 -0
  889. package/src/services/voice/workbench-scenarios.ts +407 -0
  890. package/src/services/voice/wrap-with-first-line-cache.ts +267 -0
  891. package/src/services/voice-model-updater.ts +724 -0
  892. package/src/services/voice-prewarm.ts +51 -0
  893. package/src/voice-workbench.ts +71 -0
@@ -0,0 +1,33 @@
1
+ /**
2
+ * `/api/voice/audio-frames` — WebView → agent transport for live on-device
3
+ * speaker diarization.
4
+ *
5
+ * The Android `audioFrame` PCM stream is captured in the Capacitor WebView but
6
+ * the bun:ffi voice libs run in the agent process. The WebView batches frames
7
+ * (~49 fps) and POSTs them here; this route feeds them to the single
8
+ * {@link LiveDiarizationSession}, which runs the real ggml VAD / encoder /
9
+ * diarizer / attribution pipeline and emits VOICE_TURN_OBSERVED.
10
+ *
11
+ * Routes:
12
+ * POST /api/voice/audio-frames body: { frames: AudioFrameEvent[],
13
+ * flush?: boolean }
14
+ * → { ok, framesReceived, turnsObserved }
15
+ * POST /api/voice/playback-frames body: { frames?: AudioFrameEvent[],
16
+ * reset?: boolean }
17
+ * → { ok, framesPushed }
18
+ * The agent's own TTS playback (far-end) in the same base64 LE-s16 16 kHz
19
+ * mono wire format, streamed in real time so the session's NLMS canceller
20
+ * removes the agent's echo before VAD/attribution (#9455/#9583). Send
21
+ * `reset: true` when playback stops / on barge-in.
22
+ * GET /api/voice/audio-frames/status → LiveDiarizationStatus (device evidence)
23
+ *
24
+ * Auth follows the compat pattern: trusted-loopback OR the compat API token.
25
+ * The WebView reaches this over 127.0.0.1 (trusted local), matching the rest of
26
+ * the on-device agent surface.
27
+ */
28
+ import type http from "node:http";
29
+ import { type CompatRuntimeState } from "./compat-helpers.js";
30
+ /** Reset the module-level session (tests + capture teardown). */
31
+ export declare function resetLiveDiarizationSession(): Promise<void>;
32
+ export declare function handleLiveDiarizationRoute(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
33
+ //# sourceMappingURL=live-diarization-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-diarization-route.d.ts","sourceRoot":"","sources":["../../src/routes/live-diarization-route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AASlC,OAAO,EACN,KAAK,kBAAkB,EAKvB,MAAM,qBAAqB,CAAC;AA2C7B,iEAAiE;AACjE,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAIjE;AAgBD,wBAAsB,0BAA0B,CAC/C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACvB,OAAO,CAAC,OAAO,CAAC,CAsFlB"}
@@ -0,0 +1,4 @@
1
+ import type http from "node:http";
2
+ import { type CompatRuntimeState } from "./compat-helpers";
3
+ export declare function handleLocalInferenceAsrRoute(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
4
+ //# sourceMappingURL=local-inference-asr-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-inference-asr-route.d.ts","sourceRoot":"","sources":["../../src/routes/local-inference-asr-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EACN,KAAK,kBAAkB,EAIvB,MAAM,kBAAkB,CAAC;AA4E1B,wBAAsB,4BAA4B,CACjD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACvB,OAAO,CAAC,OAAO,CAAC,CA6ElB"}
@@ -0,0 +1,20 @@
1
+ import { type AgentRuntime } from "@elizaos/core";
2
+ import { type AsrWordTiming } from "../services/voice";
3
+ /** A transcript plus optional per-word timings (ms from audio start). */
4
+ export interface LocalAsrTranscript {
5
+ text: string;
6
+ words: AsrWordTiming[];
7
+ }
8
+ /**
9
+ * Transcribe WAV audio to text + per-word timings.
10
+ *
11
+ * The primary path is the single fused libelizainference FFI pipe
12
+ * (`transcribePcmTimed`, ASR ABI v12) — the cross-platform on-device runtime
13
+ * that emits per-word `[startMs,endMs)` timings the transcript player
14
+ * highlights against. When the in-process engine is not the active local
15
+ * backend (a device-bridge / capacitor / AOSP topology owns transcription),
16
+ * fall back to the `useModel` provider chain for the transcript text; word
17
+ * timings are unavailable on that path (`words: []`).
18
+ */
19
+ export declare function transcribeWavWithWords(runtime: AgentRuntime, audioWav: Uint8Array, signal?: AbortSignal): Promise<LocalAsrTranscript>;
20
+ //# sourceMappingURL=local-inference-asr-transcribe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-inference-asr-transcribe.d.ts","sourceRoot":"","sources":["../../src/routes/local-inference-asr-transcribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,mBAAmB,CAAC;AAE3E,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;CACvB;AA+BD;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAc7B"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * HTTP routes for the local-inference / model management feature.
3
+ *
4
+ * Route shape and auth follow the established `*-compat-routes.ts` pattern:
5
+ * - `handleLocalInferenceCompatRoutes` returns `true` when it handles a
6
+ * request and `false` to pass through to the next handler.
7
+ * - Regular reads use `ensureCompatApiAuthorized`.
8
+ * - Mutating routes (download start/cancel, active switch, uninstall)
9
+ * use `ensureCompatSensitiveRouteAuthorized`.
10
+ * - SSE allows `?token=...` as an alternative to the auth header, via
11
+ * `isStreamAuthorized`.
12
+ */
13
+ import type http from "node:http";
14
+ import { type CompatRuntimeState } from "./compat-helpers";
15
+ export declare function handleLocalInferenceCompatRoutes(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
16
+ //# sourceMappingURL=local-inference-compat-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-inference-compat-routes.d.ts","sourceRoot":"","sources":["../../src/routes/local-inference-compat-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AA2BlC,OAAO,EACN,KAAK,kBAAkB,EASvB,MAAM,kBAAkB,CAAC;AAoK1B,wBAAsB,gCAAgC,CACrD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACvB,OAAO,CAAC,OAAO,CAAC,CA4iBlB"}
@@ -0,0 +1,7 @@
1
+ import type http from "node:http";
2
+ import { type CompatRuntimeState } from "./compat-helpers";
3
+ export declare function sanitizeLocalInferenceSpeechText(input: string): string;
4
+ export declare function normalizeAudioBytes(value: unknown): Uint8Array;
5
+ export declare function sniffAudioContentType(bytes: Uint8Array): string;
6
+ export declare function handleLocalInferenceTtsRoute(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
7
+ //# sourceMappingURL=local-inference-tts-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-inference-tts-route.d.ts","sourceRoot":"","sources":["../../src/routes/local-inference-tts-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACN,KAAK,kBAAkB,EAIvB,MAAM,kBAAkB,CAAC;AAS1B,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAatE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAW9D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CA0B/D;AA0DD,wBAAsB,4BAA4B,CACjD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACvB,OAAO,CAAC,OAAO,CAAC,CAiGlB"}
@@ -0,0 +1,3 @@
1
+ import type http from "node:http";
2
+ export declare function handleNativePcmTurnRoute(req: http.IncomingMessage, res: http.ServerResponse): Promise<boolean>;
3
+ //# sourceMappingURL=native-pcm-turn-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-pcm-turn-route.d.ts","sourceRoot":"","sources":["../../src/routes/native-pcm-turn-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAyElC,wBAAsB,wBAAwB,CAC7C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACtB,OAAO,CAAC,OAAO,CAAC,CA4ClB"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Transcript audio persistence (#8789).
3
+ *
4
+ * The transcript create route runs in plugin-local-inference, which cannot
5
+ * import the agent-internal media store (`packages/agent/src/api/media-store.ts`
6
+ * is not exported). But that store is just a content-addressed write under
7
+ * `<stateDir>/media/<sha256>.<ext>`, served by the agent's `serveMediaFile` at
8
+ * `/api/media/<sha256>.<ext>` (with HTTP Range, so `<audio>` scrubbing works).
9
+ * Writing the session WAV the same way — via core's `resolveStateDir` — lands it
10
+ * in the exact dir the agent already serves, so transcript audio plays back
11
+ * with zero extra wiring. Idempotent (sha256 filename).
12
+ */
13
+ /** Persist mono PCM16 WAV bytes; returns the served `/api/media/<hash>.wav` URL. */
14
+ export declare function persistTranscriptAudioWav(wav: Buffer): string;
15
+ //# sourceMappingURL=transcript-audio-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript-audio-store.d.ts","sourceRoot":"","sources":["../../src/routes/transcript-audio-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,oFAAoF;AACpF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7D"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Transcript HTTP routes (#8789) — `/api/transcripts*`, served as rawPath plugin
3
+ * routes (on `runtime.routes`, dispatched by both the upstream agent server and
4
+ * app-core) so the Transcripts view + the recording pipeline have a backend.
5
+ * Audio is served by the existing content-addressed media store via each
6
+ * record's `audioUrl`, so no separate audio route is needed.
7
+ *
8
+ * Private routes: the host dispatcher answers 401 for unauthenticated callers.
9
+ */
10
+ import type { Route, UUID } from "@elizaos/core";
11
+ import { type Transcript, type TranscriptScope, type TranscriptSegment, type TranscriptSource } from "@elizaos/shared/transcripts";
12
+ /** The body a recording session POSTs to create a transcript record. */
13
+ export interface CreateTranscriptRequest {
14
+ /** Optional — the route derives these from the agent context when absent (the
15
+ * shell client doesn't carry world/room/entity ids). */
16
+ worldId?: UUID;
17
+ roomId?: UUID;
18
+ entityId?: UUID;
19
+ title?: string;
20
+ source?: TranscriptSource;
21
+ scope?: TranscriptScope;
22
+ segments: TranscriptSegment[];
23
+ audioUrl?: string;
24
+ audioContentType?: string;
25
+ /** Base64 WAV bytes — persisted to the media store; sets audioUrl. */
26
+ audioBase64?: string;
27
+ createdAt?: number;
28
+ }
29
+ /**
30
+ * Build a full {@link Transcript} from a create request — derives duration +
31
+ * speaker count from the segments, defaults title/scope/status. Pure (id + now
32
+ * injected) so it is unit-testable.
33
+ */
34
+ export declare function buildTranscriptFromRequest(body: CreateTranscriptRequest, id: string, now: number): Transcript;
35
+ /** The body a transcript editor PUTs to persist a user edit. */
36
+ export interface UpdateTranscriptRequest {
37
+ worldId?: UUID;
38
+ roomId?: UUID;
39
+ entityId?: UUID;
40
+ title?: string;
41
+ segments?: TranscriptSegment[];
42
+ }
43
+ export declare const transcriptsRoutes: Route[];
44
+ //# sourceMappingURL=transcripts-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcripts-routes.d.ts","sourceRoot":"","sources":["../../src/routes/transcripts-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACX,KAAK,EAGL,IAAI,EACJ,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGrB,MAAM,6BAA6B,CAAC;AAWrC,wEAAwE;AACxE,MAAM,WAAW,uBAAuB;IACvC;6DACyD;IACzD,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,uBAAuB,EAC7B,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,GACT,UAAU,CAiBZ;AAsCD,gEAAgE;AAChE,MAAM,WAAW,uBAAuB;IACvC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AA6DD,eAAO,MAAM,iBAAiB,EAAE,KAAK,EAMpC,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Voice first-run HTTP routes.
3
+ *
4
+ * The flow (R2-speaker.md §6):
5
+ *
6
+ * POST /api/voice/first-run/profile/start
7
+ * → { sessionId, script: ScriptStep[], embeddingModel }
8
+ *
9
+ * POST /api/voice/first-run/profile/append?id=<sessionId>
10
+ * Content-Type: application/octet-stream
11
+ * Body: PCM (Float32, 16 kHz, mono) for one capture window
12
+ * → { sessionId, samplesReceived, totalSamples, durationMs }
13
+ *
14
+ * POST /api/voice/first-run/profile/finalize?id=<sessionId>&entityId=<id>
15
+ * → { profileId, entityId, samples, durationMs }
16
+ *
17
+ * POST /api/voice/first-run/complete
18
+ * Body: { entityId: string }
19
+ * → { ownerEntityId, settingsWritten: ["ELIZA_ADMIN_ENTITY_ID"] }
20
+ *
21
+ * Sessions are in-memory. They expire after 30 minutes of inactivity.
22
+ * The encoder is loaded lazily; the route handlers return a structured
23
+ * 503 if the native GGML library is missing.
24
+ *
25
+ * Audio storage: when the user grants `audioRefs` consent, sample WAVs
26
+ * land under `$ELIZA_STATE_DIR/voice-profiles/audio/<profileId>/...`.
27
+ * Otherwise nothing is written to disk except the centroid + variance.
28
+ */
29
+ import type * as http from "node:http";
30
+ import { VoiceProfileStore } from "../services/voice/profile-store";
31
+ import { type SpeakerEncoder } from "../services/voice/speaker/encoder";
32
+ /** Verbatim first-run script (R2-speaker.md §6.2). */
33
+ export interface FirstRunScriptStep {
34
+ id: string;
35
+ role: "consent" | "calibration" | "phonetic" | "prosody" | "quiet" | "open";
36
+ prompt: string;
37
+ expectedDurationMs: number;
38
+ requiresUserSpeech: boolean;
39
+ }
40
+ export declare const FIRST_RUN_SCRIPT: ReadonlyArray<FirstRunScriptStep>;
41
+ /**
42
+ * Encoder factory. By default the route handlers load the WeSpeaker
43
+ * ResNet34-LM speaker encoder through the fused `libelizainference`
44
+ * `eliza_inference_speaker_*` ABI — the sole on-device speaker runtime.
45
+ * Tests inject a fake encoder via `setVoiceFirstRunEncoderFactory()`.
46
+ */
47
+ export type EncoderFactory = () => Promise<SpeakerEncoder>;
48
+ export declare function setVoiceFirstRunEncoderFactory(factory: EncoderFactory | null): void;
49
+ export declare function setVoiceFirstRunProfileStore(store: VoiceProfileStore | null): void;
50
+ /** Settings-write hook. The runtime overrides this with `runtime.setSetting`. */
51
+ type SettingsWriter = (key: string, value: string) => void | Promise<void>;
52
+ export declare function setVoiceFirstRunSettingsWriter(writer: SettingsWriter | null): void;
53
+ /**
54
+ * Mount-point: returns `true` if the request was handled, `false` if
55
+ * the path is not one of the voice-first-run routes (so the caller
56
+ * can fall through to the next handler).
57
+ */
58
+ export declare function handleVoiceFirstRunRoutes(req: http.IncomingMessage, res: http.ServerResponse): Promise<boolean>;
59
+ /** Test helper: clear in-memory sessions so a test starts clean. */
60
+ export declare function __resetVoiceFirstRunSessions(): void;
61
+ export {};
62
+ //# sourceMappingURL=voice-first-run-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-first-run-routes.d.ts","sourceRoot":"","sources":["../../src/routes/voice-first-run-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAWvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAEN,KAAK,cAAc,EAMnB,MAAM,mCAAmC,CAAC;AAG3C,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CA4E9D,CAAC;AA2BF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;AAK3D,wBAAgB,8BAA8B,CAC7C,OAAO,EAAE,cAAc,GAAG,IAAI,GAC5B,IAAI,CAGN;AAyCD,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAC7B,IAAI,CAEN;AAWD,iFAAiF;AACjF,KAAK,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAG3E,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,cAAc,GAAG,IAAI,GAC3B,IAAI,CAEN;AAyCD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC9C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACtB,OAAO,CAAC,OAAO,CAAC,CAgOlB;AAED,oEAAoE;AACpE,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Local-runtime compat routes for the voice sub-model auto-updater
3
+ * (R5-versioning §3 + §4 + §5).
4
+ *
5
+ * Mirrors the signed Cloud catalog endpoint
6
+ * (`cloud/apps/api/v1/voice-models/catalog/route.ts`) for the on-device
7
+ * surface so the UI can talk to the local runtime without depending on
8
+ * Cloud being reachable. The endpoints expose:
9
+ *
10
+ * GET /api/local-inference/voice-models
11
+ * → { installations: VoiceModelInstallationView[] }
12
+ * Resolves currently-installed versions by reading the bundle voice
13
+ * directory (`<state-dir>/models/voice/`) and matching filenames
14
+ * against `VOICE_MODEL_VERSIONS`.
15
+ *
16
+ * GET /api/local-inference/voice-models/check
17
+ * → { lastCheckedAt, statuses: VoiceModelStatus[] }
18
+ * Invokes `VoiceModelUpdater.check()` which walks the cascade
19
+ * (Cloud → GitHub → HF) and returns a per-id decision.
20
+ *
21
+ * POST /api/local-inference/voice-models/:id/update
22
+ * → { ok: true, finalPath, sha256, sizeBytes }
23
+ * Triggers `downloadVoiceModel()` for the named id, gated on
24
+ * `NetworkPolicy` evaluation per R5 §4. Refuses when the policy
25
+ * decision is not `allow=true`.
26
+ *
27
+ * POST /api/local-inference/voice-models/:id/pin
28
+ * Body: { pinned: boolean }
29
+ * → { ok: true, id, pinned }
30
+ * Toggles the on-disk pin file so the auto-updater skips this id.
31
+ *
32
+ * GET /api/local-inference/voice-models/preferences
33
+ * → { preferences: NetworkPolicyPreferences, isOwner: boolean }
34
+ *
35
+ * POST /api/local-inference/voice-models/preferences
36
+ * Body: Partial<NetworkPolicyPreferences>
37
+ * → { ok: true, preferences }
38
+ * Writes the user's Wi-Fi/cellular/metered policy preferences.
39
+ * Per R5 §5.4 the cellular + metered toggles are OWNER-only — the
40
+ * route returns 403 if a non-OWNER caller tries to flip them.
41
+ *
42
+ * Preferences land at
43
+ * `<state-dir>/local-inference/voice-update-prefs.json`; the pin set is
44
+ * stored as a sibling `voice-update-pins.json`.
45
+ */
46
+ import type * as http from "node:http";
47
+ import { type VoiceModelId } from "@elizaos/shared";
48
+ import { downloadVoiceModel, VoiceModelUpdater } from "../services/voice-model-updater";
49
+ export interface VoiceModelInstallationView {
50
+ readonly id: VoiceModelId;
51
+ readonly installedVersion: string | null;
52
+ readonly pinned: boolean;
53
+ readonly lastError: string | null;
54
+ }
55
+ export declare function resolveInstalledVersions(dir?: string): Promise<Map<VoiceModelId, string>>;
56
+ export declare function setVoiceModelsUpdater(updater: VoiceModelUpdater | null): void;
57
+ type DownloadFn = typeof downloadVoiceModel;
58
+ export declare function setVoiceModelDownloader(fn: DownloadFn | null): void;
59
+ export declare function setVoiceModelsBundleVersionForTest(bundleVersion: string | null): void;
60
+ export declare function handleVoiceModelsRoutes(req: http.IncomingMessage, res: http.ServerResponse): Promise<boolean>;
61
+ export {};
62
+ //# sourceMappingURL=voice-models-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-models-routes.d.ts","sourceRoot":"","sources":["../../src/routes/voice-models-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAGH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAQvC,OAAO,EAIN,KAAK,YAAY,EAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,kBAAkB,EAGlB,iBAAiB,EACjB,MAAM,iCAAiC,CAAC;AAUzC,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAgKD,wBAAsB,wBAAwB,CAC7C,GAAG,GAAE,MAAyB,GAC5B,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAmBpC;AAQD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAE7E;AAYD,KAAK,UAAU,GAAG,OAAO,kBAAkB,CAAC;AAG5C,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAEnE;AAYD,wBAAgB,kCAAkC,CACjD,aAAa,EAAE,MAAM,GAAG,IAAI,GAC1B,IAAI,CAEN;AAWD,wBAAsB,uBAAuB,CAC5C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACtB,OAAO,CAAC,OAAO,CAAC,CAsNlB"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Plugin-route registration for the voice-profile HTTP surface (issue #8234).
3
+ *
4
+ * `handleVoiceSpeakerProfileRoutes` (bind/unbind a recognized voice to an
5
+ * elizaOS entity) and `handleVoiceProfilesManagementRoutes` (the server half
6
+ * of the `VoiceProfileSection` management UI) are prefix dispatchers, but the
7
+ * only server mount of `handleLocalInferenceRoutes` is gated behind
8
+ * `/api/local-inference*` path prefixes — so neither the `/v1/voice/
9
+ * speaker-profiles` nor the `/api/voice/profiles` namespace was reachable
10
+ * over HTTP. Registering them as `rawPath` routes on the plugin object puts
11
+ * them on `runtime.routes`, which both the upstream agent server and the
12
+ * app-core dashboard server dispatch.
13
+ *
14
+ * Every route is private: the host dispatcher answers 401 for
15
+ * unauthenticated callers before the handler runs.
16
+ */
17
+ import { type Route } from "@elizaos/core";
18
+ export declare const voiceProfilePluginRoutes: Route[];
19
+ //# sourceMappingURL=voice-profile-plugin-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-profile-plugin-routes.d.ts","sourceRoot":"","sources":["../../src/routes/voice-profile-plugin-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAqC1D,eAAO,MAAM,wBAAwB,EAAE,KAAK,EAkF3C,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Voice-profile management routes — `/api/voice/profiles*`.
3
+ *
4
+ * These back the `VoiceProfilesClient` / `VoiceProfileSection` UI: list,
5
+ * rename / relationship / retention edits, delete, bulk delete, merge, split,
6
+ * export, sample-audio preview, and entity binding. They operate on the
7
+ * `VoiceProfileStore` (recognized-speaker centroids), mapping each record to
8
+ * the UI's `VoiceProfile` DTO.
9
+ *
10
+ * Distinct from `/v1/voice/profiles` (the OmniVoice TTS preset catalog in
11
+ * `services/voice/voice-profile-routes.ts`). The OWNER is the profile bound to
12
+ * `ELIZA_ADMIN_ENTITY_ID`.
13
+ *
14
+ * Routes:
15
+ * GET /api/voice/profiles → { profiles: VoiceProfileDto[] }
16
+ * PATCH /api/voice/profiles/:id { displayName?, relationshipLabel?, retentionDays? }
17
+ * DELETE /api/voice/profiles/:id → { deleted }
18
+ * DELETE /api/voice/profiles[?includeOwner=] → { deleted: number }
19
+ * POST /api/voice/profiles/:id/merge { intoId }
20
+ * POST /api/voice/profiles/:id/split { utteranceIds }
21
+ * POST /api/voice/profiles/:id/bind { entityId, label? }
22
+ * POST /api/voice/profiles/:id/unbind
23
+ * POST /api/voice/profiles/export → { downloadUrl }
24
+ * GET /api/voice/profiles/:id/sample → audio/wav (consent-gated; 404 if absent)
25
+ *
26
+ * Route handlers in this plugin do not hold an `IAgentRuntime`, so bind here
27
+ * persists `entityId` at the profile level. The relationship-graph edge is
28
+ * materialised separately via the `VOICE_TURN_OBSERVED` → merge-engine seam
29
+ * (see runtime/voice-entity-binding.ts and the IDENTIFY_SPEAKER action).
30
+ */
31
+ import type * as http from "node:http";
32
+ import { VoiceProfileStore } from "../services/voice/profile-store.js";
33
+ export declare function setVoiceProfilesManagementStore(store: VoiceProfileStore | null): void;
34
+ type Cohort = "owner" | "family" | "guest" | "unknown";
35
+ type Source = "first-run" | "auto-clustered" | "manual";
36
+ export interface VoiceProfileDto {
37
+ id: string;
38
+ entityId: string | null;
39
+ displayName: string;
40
+ relationshipLabel: string | null;
41
+ isOwner: boolean;
42
+ embeddingCount: number;
43
+ firstHeardAtMs: number;
44
+ lastHeardAtMs: number;
45
+ cohort: Cohort;
46
+ source: Source;
47
+ retentionDays: number | null;
48
+ samplePreviewUri: string | null;
49
+ }
50
+ export declare function handleVoiceProfilesManagementRoutes(req: http.IncomingMessage, res: http.ServerResponse): Promise<boolean>;
51
+ export {};
52
+ //# sourceMappingURL=voice-profiles-management-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-profiles-management-routes.d.ts","sourceRoot":"","sources":["../../src/routes/voice-profiles-management-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AASvC,OAAO,EAEN,iBAAiB,EACjB,MAAM,oCAAoC,CAAC;AAQ5C,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAC7B,IAAI,CAEN;AAsBD,KAAK,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AACvD,KAAK,MAAM,GAAG,WAAW,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAyFD,wBAAsB,mCAAmC,CACxD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACtB,OAAO,CAAC,OAAO,CAAC,CAuClB"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Speaker voice-profile binding routes.
3
+ *
4
+ * These operate on the `VoiceProfileStore` — the content-addressed store of
5
+ * WeSpeaker centroids that the attribution pipeline matches against (one
6
+ * `vp_<sha>` record per recognized voice). This is a *different* surface from
7
+ * the OmniVoice preset catalog in `services/voice/voice-profile-routes.ts`
8
+ * (which manages TTS preset `.bin` files under `/v1/voice/profiles`).
9
+ *
10
+ * The attribution pipeline can resolve *which* voice is speaking, but a freshly
11
+ * clustered profile carries `entityId: null` until something binds it to a real
12
+ * elizaOS `Entity`. Without a binding the speaker is never persisted to the
13
+ * relationship graph and the OWNER-crown in the UI never lights up outside
14
+ * tests. The store already supports `bindEntity` / `unbindEntity`; these routes
15
+ * are the runtime path that calls them.
16
+ *
17
+ * Routes:
18
+ * GET /v1/voice/speaker-profiles
19
+ * → { profiles: SpeakerProfileSummary[] }
20
+ *
21
+ * POST /v1/voice/speaker-profiles/:id/bind
22
+ * Body (JSON): { entityId: string, label?: string }
23
+ * → SpeakerProfileSummary (entityId now non-null)
24
+ *
25
+ * POST /v1/voice/speaker-profiles/:id/unbind
26
+ * → SpeakerProfileSummary (entityId now null)
27
+ *
28
+ * The caller supplies the `entityId` of an existing elizaOS entity (e.g. a
29
+ * contact the user picks in the voice-management UI, or the OWNER entity from
30
+ * first-run). These handlers do not mint entities or relationship rows: route
31
+ * handlers in this plugin do not hold an `IAgentRuntime` reference (see
32
+ * `family-member-route.ts`). They bind the speaker centroid to an entity id the
33
+ * store persists, which the attribution pipeline then resolves on the next
34
+ * recognition.
35
+ */
36
+ import type * as http from "node:http";
37
+ import { VoiceProfileStore } from "../services/voice/profile-store.js";
38
+ export declare function setVoiceSpeakerProfileStore(store: VoiceProfileStore | null): void;
39
+ export interface SpeakerProfileSummary {
40
+ profileId: string;
41
+ entityId: string | null;
42
+ label: string | null;
43
+ embeddingModel: string;
44
+ sampleCount: number;
45
+ confidence: number;
46
+ firstObservedAt: string;
47
+ lastObservedAt: string;
48
+ }
49
+ /**
50
+ * Handle `/v1/voice/speaker-profiles*` requests.
51
+ *
52
+ * Returns `true` when the request was handled (success or error response
53
+ * written), `false` when the path does not match so the caller can fall
54
+ * through to the next handler.
55
+ */
56
+ export declare function handleVoiceSpeakerProfileRoutes(req: http.IncomingMessage, res: http.ServerResponse): Promise<boolean>;
57
+ //# sourceMappingURL=voice-speaker-profile-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-speaker-profile-routes.d.ts","sourceRoot":"","sources":["../../src/routes/voice-speaker-profile-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AASvC,OAAO,EAEN,iBAAiB,EACjB,MAAM,oCAAoC,CAAC;AAQ5C,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAC7B,IAAI,CAEN;AAeD,MAAM,WAAW,qBAAqB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACvB;AAyBD;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CACpD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACtB,OAAO,CAAC,OAAO,CAAC,CA+ElB"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Callback for reporting download/init progress.
3
+ * @param phase - Current phase: "checking", "downloading", "loading", "ready"
4
+ * @param detail - Human-readable detail (e.g. "45% of 95 MB")
5
+ */
6
+ export type EmbeddingProgressCallback = (phase: "checking" | "downloading" | "loading" | "ready", detail?: string) => void;
7
+ /**
8
+ * Callback for raw download byte progress.
9
+ * @param downloaded - Bytes received so far
10
+ * @param total - Total bytes expected (null if Content-Length unavailable)
11
+ */
12
+ export type DownloadProgressCallback = (downloaded: number, total: number | null) => void;
13
+ export interface EmbeddingManagerConfig {
14
+ /** GGUF model filename (default: detected hardware preset) */
15
+ model?: string;
16
+ /** HuggingFace repo for auto-download (default: detected hardware preset repo) */
17
+ modelRepo?: string;
18
+ /** Embedding dimensions (default: detected hardware preset dimensions) */
19
+ dimensions?: number;
20
+ /** GPU layers: "auto" | "max" | number (default: detected hardware preset gpuLayers) */
21
+ gpuLayers?: "auto" | "max" | number;
22
+ /** Model context window in tokens (default: detected hardware preset contextSize) */
23
+ contextSize?: number;
24
+ /** Idle timeout in ms before unloading model (default: 1800000 = 30 min, 0 = never unload) */
25
+ idleTimeoutMs?: number;
26
+ /** Models directory (default: <stateDir>/models) */
27
+ modelsDir?: string;
28
+ /** Optional callback for reporting initialization progress phases. */
29
+ onProgress?: EmbeddingProgressCallback;
30
+ }
31
+ export interface EmbeddingManagerStats {
32
+ lastUsedAt: number | null;
33
+ isLoaded: boolean;
34
+ model: string;
35
+ gpuLayers: string | number;
36
+ dimensions: number;
37
+ }
38
+ export declare const DEFAULT_IDLE_TIMEOUT_MS: number;
39
+ export declare const DEFAULT_MODELS_DIR: string;
40
+ export declare const EMBEDDING_META_PATH: string;
41
+ export declare function getLogger(): {
42
+ info: (...a: unknown[]) => void;
43
+ warn: (...a: unknown[]) => void;
44
+ error: (...a: unknown[]) => void;
45
+ debug: (...a: unknown[]) => void;
46
+ };
47
+ interface EmbeddingMeta {
48
+ model: string;
49
+ dimensions: number;
50
+ lastChanged: string;
51
+ }
52
+ export declare function readEmbeddingMeta(): EmbeddingMeta | null;
53
+ export declare function checkDimensionMigration(model: string, dimensions: number): void;
54
+ export declare function safeUnlink(filepath: string): void;
55
+ export declare function getErrorMessage(error: unknown): string;
56
+ export declare function isCorruptedModelLoadError(error: unknown): boolean;
57
+ /** Known TEXT_EMBEDDING GGUFs the framework may warm up (same filenames as HuggingFace repos). */
58
+ export interface WarmupReuseEmbeddingCandidate {
59
+ readonly model: string;
60
+ readonly modelRepo: string;
61
+ readonly dimensions: number;
62
+ readonly contextSize: number;
63
+ readonly gpuLayers: string;
64
+ }
65
+ /** True if a sanitized GGUF with this basename exists under `modelsDir`. */
66
+ export declare function embeddingGgufFilePresent(modelsDir: string, filename: string): boolean;
67
+ /**
68
+ * When the configured embedding file is missing, reuse only the compact,
69
+ * SQL-safe embedding GGUF already on disk. The framework intentionally avoids
70
+ * reviving legacy larger defaults from MODELS_DIR because they would reintroduce
71
+ * dimension mismatches and unnecessary RAM/download cost.
72
+ */
73
+ export declare function findExistingEmbeddingModelForWarmupReuse(modelsDir: string): WarmupReuseEmbeddingCandidate | null;
74
+ export declare function isEmbeddingWarmupReuseDisabled(): boolean;
75
+ export declare function ensureModel(modelsDir: string, repo: string, filename: string, force?: boolean, onProgress?: EmbeddingProgressCallback): Promise<string>;
76
+ export {};
77
+ //# sourceMappingURL=embedding-manager-support.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-manager-support.d.ts","sourceRoot":"","sources":["../../src/runtime/embedding-manager-support.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,CACvC,KAAK,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,EACvD,MAAM,CAAC,EAAE,MAAM,KACX,IAAI,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,KAChB,IAAI,CAAC;AAEV,MAAM,WAAW,sBAAsB;IACtC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,UAAU,CAAC,EAAE,yBAAyB,CAAC;CACvC;AAED,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AACtD,eAAO,MAAM,kBAAkB,QAAyC,CAAC;AAIzE,eAAO,MAAM,mBAAmB,QAEqB,CAAC;AAWtD,wBAAgB,SAAS;UAPhB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI;UACzB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI;WACxB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI;WACzB,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI;EAkBlC;AAED,UAAU,aAAa;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CASxD;AAaD,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GAChB,IAAI,CAgBN;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMjD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAYtD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQjE;AA+ED,kGAAkG;AAClG,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAcD,4EAA4E;AAC5E,wBAAgB,wBAAwB,CACvC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACd,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,wCAAwC,CACvD,SAAS,EAAE,MAAM,GACf,6BAA6B,GAAG,IAAI,CAWtC;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAIxD;AAkJD,wBAAsB,WAAW,CAChC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,OAAO,EACf,UAAU,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,MAAM,CAAC,CAuCjB"}
@@ -0,0 +1,16 @@
1
+ export type EmbeddingTier = "fallback" | "standard" | "performance";
2
+ export interface EmbeddingPreset {
3
+ tier: EmbeddingTier;
4
+ label: string;
5
+ description: string;
6
+ model: string;
7
+ modelRepo: string;
8
+ dimensions: number;
9
+ gpuLayers: "auto" | 0;
10
+ contextSize: number;
11
+ downloadSizeMB: number;
12
+ }
13
+ export declare const EMBEDDING_PRESETS: Record<EmbeddingTier, EmbeddingPreset>;
14
+ export declare function detectEmbeddingTier(): EmbeddingTier;
15
+ export declare function detectEmbeddingPreset(): EmbeddingPreset;
16
+ //# sourceMappingURL=embedding-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-presets.d.ts","sourceRoot":"","sources":["../../src/runtime/embedding-presets.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACvB;AAaD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,eAAe,CAqCpE,CAAC;AAIF,wBAAgB,mBAAmB,IAAI,aAAa,CAQnD;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Whether to prefetch the local GGUF embedding model before runtime boot.
3
+ *
4
+ * Chat/inference provider (what you pick in first-run) is separate from
5
+ * **embeddings** (vector memory / RAG). By default the framework keeps
6
+ * `@elizaos/plugin-local-inference` loaded because API-based model plugins do
7
+ * not implement TEXT_EMBEDDING — so a local model was historically always
8
+ * warmed up. When Eliza Cloud is connected with **cloud embeddings** enabled,
9
+ * the cloud plugin handles embeddings instead; skipping warmup avoids a large
10
+ * download unrelated to “local inference” for chat.
11
+ */
12
+ export declare function isLocalEmbeddingDisabledByEnv(): boolean;
13
+ export declare function shouldWarmupLocalEmbeddingModel(): boolean;
14
+ //# sourceMappingURL=embedding-warmup-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-warmup-policy.d.ts","sourceRoot":"","sources":["../../src/runtime/embedding-warmup-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,wBAAgB,6BAA6B,IAAI,OAAO,CAEvD;AAED,wBAAgB,+BAA+B,IAAI,OAAO,CAuBzD"}