@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,181 @@
1
+ /**
2
+ * stable-diffusion.cpp image-gen backend (WS3) — Linux + Windows
3
+ * (CPU/CUDA/Vulkan), and Android NDK builds reuse the same binary via
4
+ * `plugin-aosp-local-inference`'s JNI bridge.
5
+ *
6
+ * Why a child-process backend (and not a Node binding):
7
+ *
8
+ * - stable-diffusion.cpp ships a single CLI binary (`sd`) per build
9
+ * flavour (CPU / CUDA / Vulkan / Metal). Linking it as a Node addon
10
+ * would require maintaining a parallel build matrix to llama.cpp;
11
+ * we instead reuse the same binary shipped by the bundle installer.
12
+ * - The CLI is stable across versions for monolithic SD checkpoints
13
+ * (`--model …` / `--prompt …` / `-o …`) and split diffusion assets
14
+ * (`--diffusion-model …` plus companion encoders / VAE), so contract
15
+ * drift is unlikely.
16
+ * - Diffusion runs in seconds, not milliseconds; the subprocess
17
+ * spawn cost is negligible relative to inference time.
18
+ *
19
+ * Binary resolution order:
20
+ *
21
+ * 1. `opts.binaryPath` (test injection, explicit override).
22
+ * 2. `process.env.SD_CPP_BIN` (operator override).
23
+ * 3. `${MODELS_DIR}/bin/sd` (default install path; the bundle drops
24
+ * the binary here on first activation of an image-gen tier).
25
+ *
26
+ * Availability is checked at load time by spawning the binary with
27
+ * `--version`. CUDA loads also require explicit capability evidence from
28
+ * an adjacent manifest, `--help`, or `--version`; a Linux NVIDIA GPU alone
29
+ * is not evidence that the installed binary was compiled with CUDA.
30
+ *
31
+ * Accelerator flags (from `ImageGenLoadArgs.accelerator`):
32
+ *
33
+ * - `"cuda"` → no extra flag; relies on the CUDA-built binary.
34
+ * - `"vulkan"` → `--backend vulkan0` (works on AMD + Intel + NV Vulkan paths).
35
+ * - `"cpu"` → `--backend cpu --params-backend cpu` (forces CPU).
36
+ * - `"auto"` → no extra flag; the binary's own auto-detection runs.
37
+ *
38
+ * GPU validation status (this host has no GPU):
39
+ * The contract here is binary surface only. CUDA / Vulkan smoke tests
40
+ * run on real hardware as part of the WS5 e2e gate; documented at the
41
+ * bottom of `__tests__/imagegen-handler.test.ts`.
42
+ *
43
+ * Publishing pipeline (per platform):
44
+ *
45
+ * Linux x86_64 (CUDA):
46
+ * git clone https://github.com/leejet/stable-diffusion.cpp && cd stable-diffusion.cpp \
47
+ * && cmake -B build -DSD_CUDA=ON -DCMAKE_BUILD_TYPE=Release \
48
+ * && cmake --build build --config Release -j
49
+ * Strip + tar; sign: not required (Linux). Drop into
50
+ * releases.elizaos.ai/sd-cpp/<version>/linux-x86_64-cuda/sd.tar.zst.
51
+ * Linux x86_64 (Vulkan):
52
+ * cmake -B build -DSD_VULKAN=ON -DCMAKE_BUILD_TYPE=Release && cmake --build build -j
53
+ * Linux x86_64 (CPU):
54
+ * cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build -j
55
+ * Windows x86_64 (CUDA):
56
+ * Same cmake invocation under MSVC 2022; produces sd.exe. Sign with the
57
+ * Eliza Labs EV cert (signtool sign /tr ...); submit to Microsoft
58
+ * SmartScreen if a new cert. Drop into releases.elizaos.ai/sd-cpp/
59
+ * <version>/windows-x86_64-cuda/sd.exe.
60
+ * Windows x86_64 (Vulkan, CPU): mirror the CUDA build with the matching
61
+ * cmake -DSD_VULKAN=ON / -DCMAKE_BUILD_TYPE=Release flags.
62
+ * Android (arm64-v8a JNI): cross-compile through the NDK against the
63
+ * same upstream; not consumed directly here — `plugin-aosp-local-inference`
64
+ * wraps it as `libstable-diffusion-jni.so` and the AOSP backend (see
65
+ * `aosp-unavailable.ts`) calls into it via the eliza-llama-shim FFI surface.
66
+ * macOS (Metal): cmake -B build -DSD_METAL=ON; codesign with the Eliza
67
+ * Labs Developer ID Application cert and notarize via `xcrun notarytool
68
+ * submit ...`; staple. Drop into releases.elizaos.ai/sd-cpp/<version>/
69
+ * darwin-{arm64,x86_64}/sd. macOS Apple Silicon prefers `mflux` over
70
+ * sd-cpp (see `mflux.ts`), but sd-cpp Metal is the fallback.
71
+ * Linux riscv64 (CPU): unavailable as a shipped binary. Cross-compile via
72
+ * `zig cc --target=riscv64-linux-musl` (same toolchain
73
+ * packages/app-core/scripts/aosp/compile-libllama.mjs uses; see also
74
+ * `native/build-omnivoice.mjs` for the omnivoice / ggml precedent).
75
+ * There is no Node/host build script for sd-cpp in this repo — sd-cpp
76
+ * is a child-process backend wrapping a precompiled `sd` binary
77
+ * fetched from releases.elizaos.ai. Wiring riscv64 is a CDN-side
78
+ * artifact addition (drop a `releases.elizaos.ai/sd-cpp/<version>/
79
+ * linux-riscv64-cpu/sd` build); no build-matrix entry needs to land
80
+ * here. Until then, the riscv64 binary-resolution attempt simply
81
+ * surfaces the same `ImageGenBackendUnavailableError("sd-cpp", ...)`
82
+ * it surfaces today on any host where the bundle installer did not
83
+ * stage `sd` — i.e. image-gen is silently disabled on riscv64
84
+ * (acceptable: the eliza-1 phone tier does not require image-gen).
85
+ */
86
+ import { ImageGenBackendUnavailableError } from "./errors";
87
+ import type { ImageGenBackend, ImageGenLoadArgs } from "./types";
88
+ /**
89
+ * Optional test seam. Production code uses Node's `child_process.spawn`;
90
+ * tests inject a fake to drive deterministic outputs without forking.
91
+ */
92
+ export type SdCppSpawnLike = (command: string, args: readonly string[], options?: {
93
+ signal?: AbortSignal;
94
+ cwd?: string;
95
+ }) => {
96
+ stdout: AsyncIterable<Buffer> | NodeJS.ReadableStream | null;
97
+ stderr: AsyncIterable<Buffer> | NodeJS.ReadableStream | null;
98
+ on(event: "exit", listener: (code: number | null) => void): unknown;
99
+ on(event: "close", listener: (code: number | null) => void): unknown;
100
+ on(event: "error", listener: (err: Error) => void): unknown;
101
+ kill?(signal?: NodeJS.Signals): void;
102
+ };
103
+ export interface SdCppBackendOptions {
104
+ loadArgs: ImageGenLoadArgs;
105
+ /** Catalog key — copied into `ImageGenResult.metadata.model`. */
106
+ modelKey: string;
107
+ /** Override the binary path. Useful for tests. */
108
+ binaryPath?: string;
109
+ /**
110
+ * Override the on-disk output directory. Defaults to a fresh dir
111
+ * under `os.tmpdir()`. Tests can pin this so the deterministic
112
+ * fixture is read from a known path.
113
+ */
114
+ outputDir?: string;
115
+ /** Spawn implementation. Defaults to Node's `child_process.spawn`. */
116
+ spawnImpl?: SdCppSpawnLike;
117
+ /**
118
+ * For tests: instead of running the binary, write `fakeImageBytes`
119
+ * to the output file and return it. When set, `binaryPath` and
120
+ * version-probing are skipped.
121
+ */
122
+ fakeImageBytes?: Uint8Array;
123
+ /**
124
+ * For tests: override `Date.now` so timing assertions are stable.
125
+ */
126
+ now?: () => number;
127
+ }
128
+ /**
129
+ * Load (or in this case, "smoke-check") the sd-cpp backend. The binary
130
+ * lives out-of-process; "loading" is verifying it exists and runs.
131
+ * The actual model weights are passed per-call as either `--model <path>`
132
+ * or `--diffusion-model <path>`, so the same binary serves multiple
133
+ * GGUFs without an explicit unload step.
134
+ */
135
+ export declare function loadSdCppImageGenBackend(opts: SdCppBackendOptions): Promise<ImageGenBackend>;
136
+ interface SdCppCommandResult {
137
+ code: number | null;
138
+ stdout: string;
139
+ stderr: string;
140
+ }
141
+ type SdCppAccelerator = NonNullable<ImageGenLoadArgs["accelerator"]>;
142
+ export interface SdCppCapabilities {
143
+ version: string | null;
144
+ accelerators: readonly SdCppAccelerator[];
145
+ evidence: readonly string[];
146
+ }
147
+ export declare function probeSdCppCapabilitiesFromBinary(binary: string, versionResult?: SdCppCommandResult, spawnImpl?: SdCppSpawnLike): Promise<SdCppCapabilities>;
148
+ export declare function buildArgs(input: {
149
+ modelPath: string;
150
+ splitDiffusionModel?: boolean;
151
+ vae?: string;
152
+ llm?: string;
153
+ prompt: string;
154
+ negativePrompt?: string;
155
+ width: number;
156
+ height: number;
157
+ steps: number;
158
+ guidanceScale: number;
159
+ seed: number;
160
+ scheduler?: string;
161
+ output: string;
162
+ accelerator?: ImageGenLoadArgs["accelerator"];
163
+ }): string[];
164
+ /** 31-bit positive integer — sd-cpp stores seed as int32. */
165
+ export declare function pickSeed(): number;
166
+ /** Resolve a caller-supplied seed or pick a random one. */
167
+ export declare function resolveSeed(seed: number | undefined): number;
168
+ export declare const PNG_SIGNATURE: readonly [137, 80, 78, 71, 13, 10, 26, 10];
169
+ /**
170
+ * Assert `bytes` begins with the PNG magic number. `label` is the
171
+ * `[imagegen/<backend>]` prefix used in the error message.
172
+ */
173
+ export declare function assertPngOutput(bytes: Uint8Array, label: string, errorCode: ConstructorParameters<typeof ImageGenBackendUnavailableError>[1]): void;
174
+ /**
175
+ * Wrap Node's `spawn` in the narrower `SdCppSpawnLike` shape that the
176
+ * subprocess backends share. The cast is centralised here so call sites
177
+ * don't each need their own `as unknown as` escape.
178
+ */
179
+ export declare function defaultSpawn(spawnImpl: SdCppSpawnLike | undefined): SdCppSpawnLike;
180
+ export {};
181
+ //# sourceMappingURL=sd-cpp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-cpp.d.ts","sourceRoot":"","sources":["../../../src/services/imagegen/sd-cpp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * TensorRT image-gen backend contract (WS3) — Windows NVIDIA.
3
+ *
4
+ * On Windows NVIDIA hosts, packaged `imagegen.exe` (built against
5
+ * TensorRT 10.x with the Demo Diffusion plan) is the fastest path —
6
+ * `nvidia/Stable-Diffusion-3.5-Medium-TensorRT` and the SDXL Turbo
7
+ * TensorRT plans give a 2–4× speedup over sd-cpp + CUDA on the same
8
+ * hardware.
9
+ *
10
+ * Why a child-process backend (and not TensorRT bindings):
11
+ * - TensorRT runtime is C++; a Node binding would require shipping a
12
+ * CUDA toolkit and a TensorRT runtime DLL on every Windows install,
13
+ * plus rebuilding when CUDA versions change.
14
+ * - The packaged `imagegen.exe` is a thin wrapper around the official
15
+ * Demo Diffusion sample. The bundle installer drops it at
16
+ * `${MODELS_DIR}/bin/imagegen.exe` alongside the TensorRT plan files.
17
+ * - Subprocess cost is negligible relative to inference time (≈10ms
18
+ * spawn vs ≈400ms inference).
19
+ *
20
+ * Binary resolution:
21
+ * 1. `opts.binaryPath` (test injection).
22
+ * 2. `process.env.IMAGEGEN_TRT_BIN` (operator override).
23
+ * 3. `${MODELS_DIR}/bin/imagegen.exe`.
24
+ *
25
+ * Plan file resolution:
26
+ * The packaged binary expects a `--plan <path>` flag pointing at the
27
+ * prebuilt TensorRT engine for the active resolution. The catalog
28
+ * binds tier → plan; the installer materializes them under
29
+ * `${MODELS_DIR}/imagegen/trt-plans/<modelKey>/`.
30
+ *
31
+ * Until the bundle installer + packaged binary land for Windows NVIDIA,
32
+ * `loadTensorRtImageGenBackend` throws `ImageGenBackendUnavailableError`
33
+ * and the selector falls through to sd-cpp.
34
+ *
35
+ * Publishing pipeline (Windows x86_64 NVIDIA only):
36
+ *
37
+ * Build (`imagegen.exe`):
38
+ * git clone https://github.com/NVIDIA/TensorRT && cd TensorRT/demo/Diffusion
39
+ * # Build against TensorRT 10.x + CUDA 12.x
40
+ * pip install -r requirements.txt
41
+ * python build.py --hf-token <ci-secret> \
42
+ * --version 1.5 --denoising-steps 20 \
43
+ * --build-static-batch --output-dir ../../../build/imagegen-sd15
44
+ * # Thin wrapper produces imagegen.exe linking against
45
+ * # nvinfer_10.dll + cudart64_12.dll; pyinstaller-onefile produces a
46
+ * # 35-MB executable next to the static .plan files.
47
+ * Build TensorRT plan (per resolution, per model):
48
+ * trtexec --onnx=unet.onnx --saveEngine=unet.plan --fp16 \
49
+ * --minShapes=sample:1x4x64x64 --optShapes=sample:1x4x64x64 \
50
+ * --maxShapes=sample:1x4x64x64
51
+ * # Drop plan files under imagegen/trt-plans/<modelKey>/{unet,vae,clip}.plan.
52
+ * Sign:
53
+ * signtool sign /tr http://timestamp.digicert.com /td sha256 \
54
+ * /fd sha256 /sha1 <eliza-labs-cert-thumbprint> imagegen.exe
55
+ * # SmartScreen reputation builds over the first ~1000 installs;
56
+ * # submit to Microsoft Defender Bytes-for-Bots if a new cert.
57
+ * Drop:
58
+ * releases.elizaos.ai/imagegen-trt/<version>/windows-x86_64/imagegen.exe
59
+ * releases.elizaos.ai/imagegen-trt/<version>/windows-x86_64/plans/
60
+ * sd-1.5-512x512/{unet,vae,clip}.plan
61
+ * sdxl-turbo-1024x1024/{unet,vae,clip}.plan
62
+ * The bundle installer writes the binary to
63
+ * `${MODELS_DIR}/bin/imagegen.exe` and the plans under
64
+ * `${MODELS_DIR}/imagegen/trt-plans/<modelKey>/`.
65
+ *
66
+ * Notarization:
67
+ * N/A on Windows; SmartScreen reputation replaces the macOS notarize
68
+ * step. Authenticode-signed binaries with a valid EV cert clear without
69
+ * warning on first launch.
70
+ */
71
+ import { type SdCppSpawnLike } from "./sd-cpp";
72
+ import type { ImageGenBackend, ImageGenLoadArgs } from "./types";
73
+ export interface TensorRtBackendOptions {
74
+ loadArgs: ImageGenLoadArgs;
75
+ modelKey: string;
76
+ binaryPath?: string;
77
+ outputDir?: string;
78
+ spawnImpl?: SdCppSpawnLike;
79
+ fakeImageBytes?: Uint8Array;
80
+ now?: () => number;
81
+ }
82
+ export declare function loadTensorRtImageGenBackend(opts: TensorRtBackendOptions): Promise<ImageGenBackend>;
83
+ //# sourceMappingURL=tensorrt-unavailable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tensorrt-unavailable.d.ts","sourceRoot":"","sources":["../../../src/services/imagegen/tensorrt-unavailable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAMH,OAAO,EAIN,KAAK,cAAc,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACX,eAAe,EACf,gBAAgB,EAEhB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACnB;AAID,wBAAsB,2BAA2B,CAChD,IAAI,EAAE,sBAAsB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAmI1B"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Local image-generation (diffusion) types — WS3 deliverable.
3
+ *
4
+ * Two layers live here, mirroring the WS2 vision-describe split:
5
+ *
6
+ * 1. The **request/result** contract every WS3 backend implements
7
+ * (`ImageGenRequest`, `ImageGenResult`). Callers pass a text prompt
8
+ * and optional knobs; backends return PNG (or JPEG) bytes + metadata.
9
+ *
10
+ * 2. The **backend** interface (`ImageGenBackend`) that the
11
+ * `MemoryArbiter` (WS1) registers as a capability handler. One
12
+ * backend per per-platform diffusion runtime:
13
+ *
14
+ * - `sd-cpp` — stable-diffusion.cpp child-process binary
15
+ * (Linux + Windows + Android JNI).
16
+ * - `mflux` — MLX `mflux` Python venv (macOS Apple Silicon).
17
+ * - `coreml` — Capacitor bridge to Swift `apple/ml-stable-diffusion`
18
+ * (iOS only).
19
+ * - `tensorrt` — packaged `imagegen.exe` / `trtexec` wrapper
20
+ * (Windows NVIDIA).
21
+ * - `aosp` — bun:ffi to `eliza_llama_imagegen_*` symbols in
22
+ * libeliza-llama-shim (Android JNI; unavailable until shim ships).
23
+ * - `fake` — deterministic in-process backend used by tests.
24
+ *
25
+ * All backends implement the same `load → generate → dispose` shape so the
26
+ * arbiter can swap between them without caring how the diffusion runtime
27
+ * is wired.
28
+ *
29
+ * Cache contract:
30
+ *
31
+ * Image-gen requests do NOT go through `hashVisionInput` (that's the
32
+ * WS2 projector-token cache, which lives on image *inputs*). The
33
+ * request-side keying space is prompt + seed + steps + scheduler + …;
34
+ * if a cache lands here later it gets its own namespace (`hashImageGenRequest`)
35
+ * to avoid collisions with the WS2 vision-embedding cache. For now the
36
+ * capability has no result cache — diffusion is intrinsically expensive
37
+ * and most callers want a fresh sample, not a cached one.
38
+ */
39
+ /** Output container the backend writes. PNG is default; JPEG is opt-in. */
40
+ export type ImageGenMimeType = "image/png" | "image/jpeg";
41
+ /**
42
+ * Caller request to `generate`. All fields except `prompt` are optional —
43
+ * backends apply per-runtime defaults for missing knobs.
44
+ *
45
+ * Knob semantics (consistent across backends):
46
+ *
47
+ * - `width` / `height`: pixel resolution. Default 512×512 (SD 1.5 family) /
48
+ * 1024×1024 (SDXL / FLUX / Z-Image). Backends round to the nearest
49
+ * multiple of 8 (SD) or 16 (SDXL) when needed.
50
+ * - `steps`: denoising step count. 4 for FLUX schnell / Z-Image-Turbo
51
+ * (single-pass Turbo schedulers); 20 for SD 1.5 Euler-A; 25 for SDXL.
52
+ * - `guidanceScale`: classifier-free guidance. Ignored by FLUX schnell
53
+ * (CFG-free). 7.5 default for SD 1.5; 4.0 default for SDXL.
54
+ * - `seed`: PRNG seed. -1 / omitted → random; the backend returns the
55
+ * actual seed used in `ImageGenResult.seed` so the caller can replay.
56
+ * - `scheduler`: sampler name (`"euler-a"`, `"dpm++-2m"`, `"ddim"`,
57
+ * `"euler"`). Backends accept the strings their underlying runtime
58
+ * supports; unknown values raise `ImageGenBackendUnavailableError`.
59
+ */
60
+ export interface ImageGenRequest {
61
+ prompt: string;
62
+ negativePrompt?: string;
63
+ width?: number;
64
+ height?: number;
65
+ steps?: number;
66
+ guidanceScale?: number;
67
+ seed?: number;
68
+ scheduler?: string;
69
+ signal?: AbortSignal;
70
+ /**
71
+ * Optional per-step progress callback. Called once per denoising step
72
+ * with `{ step, total }`. Backends that can't surface step-level
73
+ * progress (Core ML batch fused path, TensorRT static engine) MAY
74
+ * call this once with `step === total` at completion instead of
75
+ * per-step. Never required.
76
+ */
77
+ onProgressChunk?: (progress: {
78
+ step: number;
79
+ total: number;
80
+ }) => void;
81
+ }
82
+ /**
83
+ * Backend response. `image` is the raw bytes (PNG by default); `mime`
84
+ * identifies the container. The metadata block carries enough state for
85
+ * the caller to attach to a chat turn, log to trajectories, or feed the
86
+ * result back into a vision-describe for the same agent.
87
+ */
88
+ export interface ImageGenResult {
89
+ image: Uint8Array;
90
+ mime: ImageGenMimeType;
91
+ /**
92
+ * The actual seed the diffusion run used. Always populated — the
93
+ * backend MUST resolve a random seed before sampling and report it
94
+ * here. This is what makes a generation reproducible.
95
+ */
96
+ seed: number;
97
+ metadata: {
98
+ /** The model id (catalog key) the run used (`"imagegen-sd-1_5-q5_0"`, etc.). */
99
+ model: string;
100
+ /** Echo of the prompt that was sampled. */
101
+ prompt: string;
102
+ /** Echo of the step count actually used (post-default-resolve). */
103
+ steps: number;
104
+ /** Echo of CFG actually applied. 0 for CFG-free models (FLUX schnell). */
105
+ guidanceScale: number;
106
+ /** End-to-end wall-clock time inside the backend. */
107
+ inferenceTimeMs: number;
108
+ };
109
+ }
110
+ /**
111
+ * Per-load arguments for an image-gen backend. The arbiter's
112
+ * `load(modelKey)` only carries an opaque key; the binding resolves that
113
+ * key to real model+vae+clip+t5 paths through this struct, which
114
+ * `createImageGenCapabilityRegistration` populates from the catalog +
115
+ * `ELIZA_1_BUNDLE_EXTRAS.json`.
116
+ *
117
+ * Some diffusion families are single-file GGUFs once quantized, such as
118
+ * SD 1.5 Q5_0. Others stay split: stable-diffusion.cpp runs Z-Image
119
+ * with `--diffusion-model` plus separate Qwen LLM text encoder and VAE
120
+ * files. The optional paths below carry those companion assets.
121
+ */
122
+ export interface ImageGenLoadArgs {
123
+ /** Absolute path to the primary diffusion weights (GGUF / mlpackage / engine). */
124
+ modelPath: string;
125
+ /**
126
+ * Treat `modelPath` as a stable-diffusion.cpp `--diffusion-model` rather
127
+ * than a monolithic `--model`. Required for Z-Image/Flux-style split
128
+ * diffusion bundles.
129
+ */
130
+ splitDiffusionModel?: boolean;
131
+ /** Optional split VAE path. */
132
+ vae?: string;
133
+ /** Optional split CLIP-L / CLIP-G path. */
134
+ clip?: string;
135
+ /** Optional split T5 / Gemma text encoder path. */
136
+ t5?: string;
137
+ /** Optional split LLM text encoder path, e.g. Qwen3 for Z-Image. */
138
+ llm?: string;
139
+ /**
140
+ * Backend-specific acceleration hint. Accepts:
141
+ * - `"auto"` (default) — let the binding decide.
142
+ * - `"cpu"` — force CPU.
143
+ * - `"cuda"` / `"vulkan"` / `"metal"` / `"coreml"` / `"qnn"` /
144
+ * `"tensorrt"` — request a specific accelerator. Unsupported
145
+ * requests fall back to `auto`.
146
+ */
147
+ accelerator?: "auto" | "cpu" | "cuda" | "vulkan" | "metal" | "coreml" | "qnn" | "tensorrt";
148
+ /** Cancel a slow load (model file read + weight upload). */
149
+ signal?: AbortSignal;
150
+ }
151
+ /**
152
+ * The contract every WS3 backend implements. The shape is intentionally
153
+ * narrow: the arbiter only ever calls `generate`. `dispose` is wrapped
154
+ * by the arbiter's `unload` so the backend can free GPU/VRAM and drop
155
+ * file descriptors / kill subprocesses on eviction.
156
+ */
157
+ export interface ImageGenBackend {
158
+ /** Stable identifier — matches the backend module name. */
159
+ readonly id: "sd-cpp" | "mflux" | "coreml" | "tensorrt" | "aosp" | "fake";
160
+ /**
161
+ * Best-effort capability check. Implementations return `false` for
162
+ * requests whose `width`/`height`/`scheduler` aren't supported by
163
+ * the loaded weights, so the arbiter can fall through to the next
164
+ * registered backend (selector order). Default backends accept
165
+ * anything reasonable; `supports` mostly matters for `coreml`
166
+ * (fixed resolution per `.mlpackage`) and `tensorrt` (fixed engine
167
+ * shape).
168
+ */
169
+ supports(request: ImageGenRequest): boolean;
170
+ generate(request: ImageGenRequest): Promise<ImageGenResult>;
171
+ /** Release the loaded weights / subprocess. Idempotent. */
172
+ dispose(): Promise<void>;
173
+ }
174
+ /**
175
+ * Capability handler loader. The arbiter calls it with a model key
176
+ * (e.g. `"imagegen-sd-1_5-q5_0"`); the implementation resolves to a
177
+ * real `ImageGenLoadArgs` from `ELIZA_1_BUNDLE_EXTRAS.json` + the
178
+ * installed bundle and returns a live backend.
179
+ */
180
+ export type ImageGenBackendLoader = (modelKey: string) => Promise<ImageGenBackend>;
181
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/imagegen/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACtE;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACT,gFAAgF;QAChF,KAAK,EAAE,MAAM,CAAC;QACd,2CAA2C;QAC3C,MAAM,EAAE,MAAM,CAAC;QACf,mEAAmE;QACnE,KAAK,EAAE,MAAM,CAAC;QACd,0EAA0E;QAC1E,aAAa,EAAE,MAAM,CAAC;QACtB,qDAAqD;QACrD,eAAe,EAAE,MAAM,CAAC;KACxB,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAChC,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,+BAA+B;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,WAAW,CAAC,EACT,MAAM,GACN,KAAK,GACL,MAAM,GACN,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,KAAK,GACL,UAAU,CAAC;IACd,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1E;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5D,2DAA2D;IAC3D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,CACnC,QAAQ,EAAE,MAAM,KACZ,OAAO,CAAC,eAAe,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ export type { LocalInferenceLoader } from "./active-model";
2
+ export { assertVoiceBundleFitsHost, VoiceBundleDoesNotFitError, } from "./active-model";
3
+ export { type BackendDecision, BackendDispatcher, type BackendId, type BackendOverride, type BackendPlan, decideBackend, ELIZA_LLM_BACKEND_ENV, type GenerateArgs as BackendGenerateArgs, type GenerateResult, type LocalInferenceBackend, litertBackendSupported, readBackendOverride, resolveCatalogForPlan, } from "./backend";
4
+ export { ELIZA_1_PLACEHOLDER_IDS, FIRST_RUN_DEFAULT_MODEL_ID, findCatalogModel, MODEL_CATALOG, } from "./catalog";
5
+ export { type CloudCandidate, type CloudFallbackOptions, classifyLocalError, type FallbackReason, findCloudCandidate, type LocalGenerateOutcome, makeCloudFallbackHandler, } from "./cloud-fallback";
6
+ export { computeRuntimeContextFit, type RuntimeContextFit, type RuntimeContextFitInput, } from "./context-fit";
7
+ export { buildDeviceResourceMetricsDevPayload, type DeviceBridgeStatus, type DeviceGenerationMetrics, type DeviceResourceMetricsDevPayload, deviceBridge, } from "./device-bridge";
8
+ export { type BatterySummary, DeviceResourceMetrics, type DeviceResourceSummary, type DeviceThermalState, type GenerationObservation, type LowPowerSummary, type ResourceSample, type RssSummary, type ThermalSummary, type ThermalTransition, } from "./device-resource-metrics";
9
+ export { classifyDeviceTier, DEVICE_TIER_ORDER, DEVICE_TIER_THRESHOLDS, type DeviceTier, type DeviceTierAssessment, effectiveModelMemoryGb, type RecommendedMode, TIER_WARNING_COPY, totalRamMb, } from "./device-tier";
10
+ export { LocalInferenceEngine, localInferenceEngine, resolveIdleUnloadMs, resolveMaxConcurrentSpeculativeResponses, } from "./engine";
11
+ export { type HandlerRegistration, handlerRegistry, type PublicRegistration, toPublicRegistration, } from "./handler-registry";
12
+ export { assessFit, probeHardware } from "./hardware";
13
+ export { createImageDescriptionRuntime, type ImageDescriptionRuntime, type ImageDescriptionRuntimeOptions, } from "./image-description-runtime";
14
+ export { type CapabilityProbes, defaultsForNoBinding, type InferenceCapabilities, probeCapabilities, type ResourceSnapshot, type ThermalState, type ThermalThrottleDecision, thermalThrottleDecision, } from "./inference-capabilities";
15
+ export { InferenceTelemetry, inferenceTelemetry, type TelemetryTags, } from "./inference-telemetry";
16
+ export { estimateQuantizedKvBytesPerToken, KV_SPILL_MIN_CONTEXT, type KvGeometry, type KvRestoreClass, type KvSpillPlan, KvSpillUnsupportedError, planKvSpill, } from "./kv-spill";
17
+ export { buildVoiceLatencyDevPayload, EndToEndLatencyTracer, endVoiceLatencyTurn, type HistogramSummary, LATENCY_DERIVED_KEYS, type LatencyCheckpoint, type LatencyDerived, type LatencyDerivedKey, type LatencyTrace, markVoiceLatency, type TracerOptions, VOICE_CHECKPOINTS, type VoiceCheckpoint, type VoiceLatencyDevPayload, voiceLatencyTracer, } from "./latency-trace";
18
+ export * from "./manifest/index";
19
+ export { type ArbiterCapability, type ArbiterEvent, type ArbiterEventListener, type ArbiterHandle, type CapabilityRegistration, getMemoryArbiter, MemoryArbiter, type MemoryArbiterOptions, setMemoryArbiter, tryGetMemoryArbiter, } from "./memory-arbiter";
20
+ export { buildMemoryBenchmarkPlan, buildMemoryBenchmarkReport, type MemoryBenchmarkLoadResult, type MemoryBenchmarkModelPlan, type MemoryBenchmarkOptions, type MemoryBenchmarkReport, runMemoryBenchmark, summarizeMemoryBenchmark, } from "./memory-benchmark";
21
+ export { type CapacitorPressureSource, capacitorPressureSource, compositePressureSource, type MemoryPressureEvent, type MemoryPressureLevel, type MemoryPressureListener, type MemoryPressureSource, nodeOsPressureSource, } from "./memory-pressure";
22
+ export { type MtpDoctorCheck, type MtpDoctorCheckStatus, type MtpDoctorReport, runMtpDoctor, } from "./mtp-doctor";
23
+ export { buildPlanActionsSkeleton, buildPlannerGuidedDecode, type PlannerAction, type PlannerGuidedDecode, planActionParameterSchema, } from "./planner-skeleton";
24
+ export { buildTextGenerationReadiness } from "./readiness";
25
+ export { assessCatalogModelFit, type BundleDefaultEligibility, canBundleBeDefaultOnDevice, catalogDownloadSizeBytes, catalogDownloadSizeGb, chooseSmallerFallbackModel, classifyRecommendationPlatform, deviceCapsFromProbe, type RecommendationPlatformClass, type RecommendedModelSelection, recommendForFirstRun, selectBestQuantizationVariant, selectRecommendedModelForSlot, selectRecommendedModels, } from "./recommendation";
26
+ export { type InferenceRuntimeMode, type InferenceRuntimeModeInput, inferencePlatformClass, inferenceRuntimeMode, isCapacitorNativeRuntime, readRuntimeModeEnvOverride, type SupportedHostPlatform, } from "./runtime-target";
27
+ export { LocalInferenceService, localInferenceService } from "./service";
28
+ export type { ActiveModelState, CatalogModel, DownloadEvent, DownloadJob, DownloadState, HardwareFitLevel, HardwareProbe, InstalledModel, LocalInferenceDownloadStatus, LocalInferenceReadiness, LocalInferenceSlotReadiness, LocalRuntimeAcceleration, LocalRuntimeBackend, LocalRuntimeKernel, LocalRuntimeOptimizations, ModelBucket, ModelCategory, ModelHubSnapshot, TextGenerationSlot, } from "./types";
29
+ export { VisionEmbeddingCache, type VisionEmbeddingCacheConfig, type VisionEmbeddingEntry, } from "./vision-embedding-cache";
30
+ export * from "./voice/index";
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"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"}