@elizaos/app-core 2.0.0-beta.2 → 2.0.3-beta.2

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 (1537) hide show
  1. package/agent-bridge.d.ts +27 -0
  2. package/agent-bridge.d.ts.map +1 -0
  3. package/agent-bridge.js +26 -0
  4. package/api/__tests__/sandbox-test-helpers.js +1 -1
  5. package/api/auth/audit.js +1 -1
  6. package/api/auth/auth-context.js +1 -1
  7. package/api/auth/bootstrap-token.js +2 -2
  8. package/api/auth/index.d.ts +9 -10
  9. package/api/auth/index.d.ts.map +1 -1
  10. package/api/auth/index.js +9 -10
  11. package/api/auth/passwords.js +2 -2
  12. package/api/auth/sensitive-rate-limit.d.ts +1 -4
  13. package/api/auth/sensitive-rate-limit.d.ts.map +1 -1
  14. package/api/auth/sensitive-rate-limit.js +6 -6
  15. package/api/auth/sessions.js +2 -2
  16. package/api/auth-bootstrap-routes.d.ts +6 -13
  17. package/api/auth-bootstrap-routes.d.ts.map +1 -1
  18. package/api/auth-bootstrap-routes.js +14 -27
  19. package/api/auth-pairing-routes.d.ts +17 -0
  20. package/api/auth-pairing-routes.d.ts.map +1 -0
  21. package/api/auth-pairing-routes.js +300 -0
  22. package/api/auth-session-routes.d.ts.map +1 -1
  23. package/api/auth-session-routes.js +36 -15
  24. package/api/auth.d.ts +12 -19
  25. package/api/auth.d.ts.map +1 -1
  26. package/api/auth.js +32 -27
  27. package/api/automations-compat-routes.d.ts.map +1 -1
  28. package/api/automations-compat-routes.js +5 -5
  29. package/api/background-tasks-routes.d.ts +4 -0
  30. package/api/background-tasks-routes.d.ts.map +1 -0
  31. package/api/background-tasks-routes.js +63 -0
  32. package/api/catalog-routes.js +3 -3
  33. package/api/cloud-pair-route.d.ts +26 -0
  34. package/api/cloud-pair-route.d.ts.map +1 -0
  35. package/api/cloud-pair-route.js +222 -0
  36. package/api/cloud-voice-routes.d.ts +52 -0
  37. package/api/cloud-voice-routes.d.ts.map +1 -0
  38. package/api/cloud-voice-routes.js +50 -0
  39. package/api/compat-route-shared.d.ts +2 -2
  40. package/api/compat-route-shared.d.ts.map +1 -1
  41. package/api/compat-route-shared.js +11 -7
  42. package/api/credential-resolver.d.ts +2 -2
  43. package/api/credential-resolver.d.ts.map +1 -1
  44. package/api/credential-resolver.js +8 -2
  45. package/api/database-rows-compat-routes.d.ts.map +1 -1
  46. package/api/database-rows-compat-routes.js +69 -31
  47. package/api/dev-boot-history.d.ts +26 -0
  48. package/api/dev-boot-history.d.ts.map +1 -0
  49. package/api/dev-boot-history.js +69 -0
  50. package/api/dev-compat-routes.d.ts +5 -0
  51. package/api/dev-compat-routes.d.ts.map +1 -1
  52. package/api/dev-compat-routes.js +127 -4
  53. package/api/dev-console-log.d.ts +2 -2
  54. package/api/dev-console-log.d.ts.map +1 -1
  55. package/api/dev-console-log.js +8 -5
  56. package/api/dev-route-catalog.d.ts +58 -0
  57. package/api/dev-route-catalog.d.ts.map +1 -0
  58. package/api/dev-route-catalog.js +457 -0
  59. package/api/dev-stack.d.ts.map +1 -1
  60. package/api/dev-stack.js +6 -9
  61. package/api/first-run-routes.d.ts +4 -0
  62. package/api/first-run-routes.d.ts.map +1 -0
  63. package/api/first-run-routes.js +208 -0
  64. package/api/first-run-tts-route.d.ts +19 -0
  65. package/api/first-run-tts-route.d.ts.map +1 -0
  66. package/api/first-run-tts-route.js +59 -0
  67. package/api/internal-routes.d.ts +23 -0
  68. package/api/internal-routes.d.ts.map +1 -0
  69. package/api/internal-routes.js +203 -0
  70. package/api/ios-local-agent-transport.d.ts +36 -0
  71. package/api/ios-local-agent-transport.d.ts.map +1 -0
  72. package/api/ios-local-agent-transport.js +566 -0
  73. package/api/onboarding-voice-lines.d.ts +23 -0
  74. package/api/onboarding-voice-lines.d.ts.map +1 -0
  75. package/api/onboarding-voice-lines.js +8 -0
  76. package/api/perf-instrument.d.ts +43 -0
  77. package/api/perf-instrument.d.ts.map +1 -0
  78. package/api/perf-instrument.js +113 -0
  79. package/api/response.d.ts.map +1 -1
  80. package/api/response.js +14 -14
  81. package/api/runtime-mode-routes.d.ts.map +1 -1
  82. package/api/runtime-mode-routes.js +2 -2
  83. package/api/secrets-inventory-routes.js +2 -2
  84. package/api/secrets-manager-routes.d.ts +1 -1
  85. package/api/secrets-manager-routes.d.ts.map +1 -1
  86. package/api/secrets-manager-routes.js +9 -10
  87. package/api/sensitive-request-routes.d.ts.map +1 -1
  88. package/api/sensitive-request-routes.js +5 -5
  89. package/api/sensitive-request-store.d.ts +12 -3
  90. package/api/sensitive-request-store.d.ts.map +1 -1
  91. package/api/server-cors.d.ts.map +1 -1
  92. package/api/server-cors.js +13 -2
  93. package/api/server-first-run-helpers.d.ts +26 -0
  94. package/api/server-first-run-helpers.d.ts.map +1 -0
  95. package/api/server-first-run-helpers.js +271 -0
  96. package/api/server-security.js +1 -1
  97. package/api/server-startup.d.ts.map +1 -1
  98. package/api/server-startup.js +3 -4
  99. package/api/server-wallet-trade.js +1 -1
  100. package/api/server.d.ts +4 -4
  101. package/api/server.d.ts.map +1 -1
  102. package/api/server.js +222 -88
  103. package/api/setup-contract.d.ts +63 -0
  104. package/api/setup-contract.d.ts.map +1 -0
  105. package/api/setup-contract.js +39 -0
  106. package/api/training-benchmarks.d.ts +97 -0
  107. package/api/training-benchmarks.d.ts.map +1 -0
  108. package/api/training-benchmarks.js +307 -0
  109. package/api/workbench-compat-routes.js +2 -2
  110. package/benchmark/cerebras-autowire.d.ts +28 -0
  111. package/benchmark/cerebras-autowire.d.ts.map +1 -0
  112. package/benchmark/cerebras-autowire.js +62 -0
  113. package/benchmark/lifeops-bench-handler.d.ts +36 -0
  114. package/benchmark/lifeops-bench-handler.d.ts.map +1 -1
  115. package/benchmark/lifeops-bench-handler.js +63 -1
  116. package/benchmark/lifeops-fake-backend.d.ts +39 -0
  117. package/benchmark/lifeops-fake-backend.d.ts.map +1 -1
  118. package/benchmark/lifeops-fake-backend.js +993 -21
  119. package/benchmark/mock-plugin.d.ts.map +1 -1
  120. package/benchmark/mock-plugin.js +0 -24
  121. package/benchmark/plugin.d.ts +2 -1
  122. package/benchmark/plugin.d.ts.map +1 -1
  123. package/benchmark/plugin.js +989 -68
  124. package/benchmark/replay-capture.d.ts +2 -2
  125. package/benchmark/replay-capture.d.ts.map +1 -1
  126. package/benchmark/replay-capture.js +3 -3
  127. package/benchmark/server-utils.d.ts +162 -9
  128. package/benchmark/server-utils.d.ts.map +1 -1
  129. package/benchmark/server-utils.js +625 -62
  130. package/benchmark/server.d.ts.map +1 -1
  131. package/benchmark/server.js +1962 -118
  132. package/boot-profile.d.ts +3 -0
  133. package/boot-profile.d.ts.map +1 -0
  134. package/boot-profile.js +30 -0
  135. package/browser.d.ts +23 -1
  136. package/browser.d.ts.map +1 -1
  137. package/browser.js +20 -1
  138. package/cli/argv.js +1 -1
  139. package/cli/banner.js +1 -1
  140. package/cli/command-format.js +2 -2
  141. package/cli/doctor/checks.d.ts.map +1 -1
  142. package/cli/doctor/checks.js +6 -6
  143. package/cli/plugins-cli.d.ts.map +1 -1
  144. package/cli/plugins-cli.js +77 -32
  145. package/cli/profile.d.ts.map +1 -1
  146. package/cli/profile.js +5 -4
  147. package/cli/program/build-program.js +4 -4
  148. package/cli/program/command-registry.d.ts.map +1 -1
  149. package/cli/program/command-registry.js +13 -11
  150. package/cli/program/help.js +5 -5
  151. package/cli/program/preaction.js +5 -5
  152. package/cli/program/register.auth.d.ts.map +1 -1
  153. package/cli/program/register.auth.js +6 -12
  154. package/cli/program/register.capability-router.d.ts +29 -0
  155. package/cli/program/register.capability-router.d.ts.map +1 -0
  156. package/cli/program/register.capability-router.js +568 -0
  157. package/cli/program/register.config.js +1 -1
  158. package/cli/program/register.configure.d.ts.map +1 -1
  159. package/cli/program/register.configure.js +1 -1
  160. package/cli/program/register.dashboard.d.ts.map +1 -1
  161. package/cli/program/register.dashboard.js +6 -7
  162. package/cli/program/register.db.d.ts.map +1 -1
  163. package/cli/program/register.db.js +3 -4
  164. package/cli/program/register.doctor.js +7 -7
  165. package/cli/program/register.setup.d.ts.map +1 -1
  166. package/cli/program/register.setup.js +14 -10
  167. package/cli/program/register.start.d.ts.map +1 -1
  168. package/cli/program/register.start.js +5 -3
  169. package/cli/program/register.subclis.js +3 -3
  170. package/cli/program/register.update.d.ts +6 -0
  171. package/cli/program/register.update.d.ts.map +1 -1
  172. package/cli/program/register.update.js +58 -6
  173. package/cli/program.js +1 -1
  174. package/cli/run-main.js +4 -4
  175. package/config/app-config.d.ts +2 -0
  176. package/config/app-config.d.ts.map +1 -0
  177. package/config/app-config.js +1 -0
  178. package/connectors/capacitor-jsc.d.ts.map +1 -1
  179. package/connectors/capacitor-jsc.js +16 -10
  180. package/connectors/capacitor-quickjs.d.ts.map +1 -1
  181. package/connectors/capacitor-quickjs.js +18 -13
  182. package/connectors/capacitor-sqlite.d.ts.map +1 -1
  183. package/connectors/capacitor-sqlite.js +27 -12
  184. package/dispatch/approval-queue.d.ts +37 -0
  185. package/dispatch/approval-queue.d.ts.map +1 -0
  186. package/dispatch/approval-queue.js +25 -0
  187. package/dispatch/channel-registry.d.ts +30 -0
  188. package/dispatch/channel-registry.d.ts.map +1 -0
  189. package/dispatch/channel-registry.js +22 -0
  190. package/dispatch/connector-registry.d.ts +39 -0
  191. package/dispatch/connector-registry.d.ts.map +1 -0
  192. package/dispatch/connector-registry.js +24 -0
  193. package/dispatch/index.d.ts +14 -0
  194. package/dispatch/index.d.ts.map +1 -0
  195. package/dispatch/index.js +13 -0
  196. package/dispatch/send-policy.d.ts +36 -0
  197. package/dispatch/send-policy.d.ts.map +1 -0
  198. package/dispatch/send-policy.js +16 -0
  199. package/entry.js +28 -11
  200. package/first-run/first-run-config.d.ts +55 -0
  201. package/first-run/first-run-config.d.ts.map +1 -0
  202. package/first-run/first-run-config.js +178 -0
  203. package/first-run/runtime-target.d.ts +4 -0
  204. package/first-run/runtime-target.d.ts.map +1 -0
  205. package/first-run/runtime-target.js +13 -0
  206. package/index.d.ts +16 -3
  207. package/index.d.ts.map +1 -1
  208. package/index.js +57 -33
  209. package/package.json +159 -50
  210. package/packaging/debian/apt-repo-config/README.md +18 -0
  211. package/packaging/debian/apt-repo-config/conf/distributions +11 -0
  212. package/packaging/flatpak/README.md +26 -16
  213. package/packaging/flatpak/ai.elizaos.App.metainfo.xml +17 -12
  214. package/packaging/flatpak/ai.elizaos.App.store.yml +5 -5
  215. package/packaging/flatpak/ai.elizaos.App.yml +10 -24
  216. package/packaging/flatpak/elizaos-app-wrapper.store.sh +2 -2
  217. package/packaging/flatpak/generate-sources.sh +74 -0
  218. package/packaging/flatpak/node-sources.json +7930 -0
  219. package/packaging/inno/build-inno.ps1 +34 -9
  220. package/packaging/msix/AppxManifest.store.xml +1 -1
  221. package/packaging/msix/README.md +39 -19
  222. package/packaging/msix/build-msix.ps1 +44 -14
  223. package/packaging/snap/snapcraft.yaml +22 -21
  224. package/packaging/test-packaging.sh +2 -2
  225. package/permissions/types.d.ts +1 -1
  226. package/permissions/types.js +1 -1
  227. package/platform/elizaos-agent-browser-stub.d.ts +144 -0
  228. package/platform/elizaos-agent-browser-stub.d.ts.map +1 -0
  229. package/platform/elizaos-agent-browser-stub.js +158 -0
  230. package/platform/elizaos-plugin-elizacloud-browser-stub.d.ts +34 -0
  231. package/platform/elizaos-plugin-elizacloud-browser-stub.d.ts.map +1 -0
  232. package/platform/elizaos-plugin-elizacloud-browser-stub.js +51 -0
  233. package/platform/empty-node-module.d.ts +148 -0
  234. package/platform/empty-node-module.d.ts.map +1 -1
  235. package/platform/empty-node-module.js +140 -3
  236. package/platform/ios-runtime-backends.d.ts +83 -0
  237. package/platform/ios-runtime-backends.d.ts.map +1 -0
  238. package/platform/ios-runtime-backends.js +133 -0
  239. package/platform/ios-runtime-bridge.d.ts +15 -0
  240. package/platform/ios-runtime-bridge.d.ts.map +1 -0
  241. package/platform/ios-runtime-bridge.js +527 -0
  242. package/platform/native-library-policy.d.ts +23 -0
  243. package/platform/native-library-policy.d.ts.map +1 -0
  244. package/platform/native-library-policy.js +112 -0
  245. package/platform/native-plugin-entrypoints.d.ts +19 -0
  246. package/platform/native-plugin-entrypoints.d.ts.map +1 -0
  247. package/platform/native-plugin-entrypoints.js +29 -0
  248. package/platforms/android/README.md +68 -10
  249. package/platforms/android/app/build.gradle +268 -3
  250. package/platforms/android/app/capacitor.build.gradle +18 -1
  251. package/platforms/android/app/proguard-rules.pro +17 -2
  252. package/platforms/android/app/src/androidTest/java/ai/elizaos/app/ElizaOsInstrumentedTest.java +1 -1
  253. package/platforms/android/app/src/main/AndroidManifest.xml +335 -18
  254. package/platforms/android/app/src/main/assets/runners/eliza-tasks.js +177 -0
  255. package/platforms/android/app/src/main/elizavoice-jni/CMakeLists.txt +100 -0
  256. package/platforms/android/app/src/main/elizavoice-jni/elizavoice-jni.cpp +1485 -0
  257. package/platforms/android/app/src/main/java/ai/elizaos/app/AgentPlugin.java +111 -171
  258. package/platforms/android/app/src/main/java/ai/elizaos/app/AndroidVirtualizationBridge.java +284 -0
  259. package/platforms/android/app/src/main/java/ai/elizaos/app/BatteryOptimizationPlugin.java +95 -0
  260. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAccessibilityService.java +55 -0
  261. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAgentService.java +1255 -141
  262. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAndroidSystemBridge.java +83 -0
  263. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAssistActivity.java +50 -1
  264. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaBionicInferenceServer.java +400 -0
  265. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaBootReceiver.java +90 -8
  266. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaBrowserActivity.java +2 -2
  267. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaCalendarActivity.java +1 -1
  268. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaCameraActivity.java +1 -1
  269. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaClockActivity.java +2 -2
  270. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaContactsActivity.java +1 -1
  271. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaDialActivity.java +1 -1
  272. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaInCallService.java +1 -1
  273. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaMmsReceiver.java +1 -1
  274. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaNativeBridge.java +22 -0
  275. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaNotificationListenerService.java +45 -0
  276. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaQuickActionsWidgetProvider.java +68 -0
  277. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaShareActivity.java +132 -0
  278. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaSmsComposeActivity.java +1 -1
  279. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaSmsGatewayService.java +268 -0
  280. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaSmsReceiver.java +12 -1
  281. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaTasksWorker.java +194 -0
  282. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoiceCaptureService.java +198 -0
  283. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoiceNative.java +220 -0
  284. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoicePlugin.java +498 -0
  285. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoiceTileService.java +39 -0
  286. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaWorkScheduler.java +60 -0
  287. package/platforms/android/app/src/main/java/ai/elizaos/app/GatewayConnectionService.java +53 -19
  288. package/platforms/android/app/src/main/java/ai/elizaos/app/MainActivity.java +160 -33
  289. package/platforms/android/app/src/main/java/ai/elizaos/app/ResourceProbePlugin.java +169 -0
  290. package/platforms/android/app/src/main/java/ai/elizaos/app/VoiceCapturePlugin.java +119 -0
  291. package/platforms/android/app/src/main/res/drawable/eliza_widget_background.xml +10 -0
  292. package/platforms/android/app/src/main/res/drawable/eliza_widget_button_background.xml +13 -0
  293. package/platforms/android/app/src/main/res/drawable/splash.png +0 -0
  294. package/platforms/android/app/src/main/res/drawable-land-hdpi/splash.png +0 -0
  295. package/platforms/android/app/src/main/res/drawable-land-mdpi/splash.png +0 -0
  296. package/platforms/android/app/src/main/res/drawable-land-xhdpi/splash.png +0 -0
  297. package/platforms/android/app/src/main/res/drawable-land-xxhdpi/splash.png +0 -0
  298. package/platforms/android/app/src/main/res/drawable-land-xxxhdpi/splash.png +0 -0
  299. package/platforms/android/app/src/main/res/drawable-port-hdpi/splash.png +0 -0
  300. package/platforms/android/app/src/main/res/drawable-port-mdpi/splash.png +0 -0
  301. package/platforms/android/app/src/main/res/drawable-port-xhdpi/splash.png +0 -0
  302. package/platforms/android/app/src/main/res/drawable-port-xxhdpi/splash.png +0 -0
  303. package/platforms/android/app/src/main/res/drawable-port-xxxhdpi/splash.png +0 -0
  304. package/platforms/android/app/src/main/res/layout/eliza_quick_actions_widget.xml +86 -0
  305. package/platforms/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +2 -1
  306. package/platforms/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +2 -1
  307. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  308. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  309. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png +0 -0
  310. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  311. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  312. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  313. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png +0 -0
  314. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  315. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  316. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  317. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png +0 -0
  318. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  319. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  320. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  321. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png +0 -0
  322. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  323. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  324. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  325. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png +0 -0
  326. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  327. package/platforms/android/app/src/main/res/values/android_app_actions.xml +48 -0
  328. package/platforms/android/app/src/main/res/values/colors.xml +8 -0
  329. package/platforms/android/app/src/main/res/values/ic_launcher_background.xml +2 -2
  330. package/platforms/android/app/src/main/res/values/strings.xml +2 -2
  331. package/platforms/android/app/src/main/res/values/styles.xml +25 -1
  332. package/platforms/android/app/src/main/res/xml/eliza_accessibility_service.xml +9 -0
  333. package/platforms/android/app/src/main/res/xml/eliza_quick_actions_widget.xml +13 -0
  334. package/platforms/android/app/src/main/res/xml/shortcuts.xml +121 -0
  335. package/platforms/android/build.gradle +2 -2
  336. package/platforms/android/capacitor-cordova-android-plugins/build.gradle +9 -3
  337. package/platforms/android/capacitor-cordova-android-plugins/cordova.variables.gradle +6 -2
  338. package/platforms/android/capacitor-cordova-android-plugins/src/main/AndroidManifest.xml +7 -2
  339. package/platforms/android/capacitor-cordova-android-plugins/src/main/java/.gitkeep +0 -1
  340. package/platforms/android/capacitor.settings.gradle +66 -16
  341. package/platforms/android/gradle.properties +1 -0
  342. package/platforms/android/update-manifest/generate-manifest.mjs +97 -0
  343. package/platforms/android/update-manifest/schema.json +26 -0
  344. package/platforms/apple-store-entitlements.reviewed.json +155 -0
  345. package/platforms/electrobun/.generated/brand-config.json +3 -2
  346. package/platforms/electrobun/LICENSE +21 -0
  347. package/platforms/electrobun/README.md +15 -1
  348. package/platforms/electrobun/assets/appIcon.icns +0 -0
  349. package/platforms/electrobun/assets/appIcon.ico +0 -0
  350. package/platforms/electrobun/assets/appIcon.iconset/icon_128x128.png +0 -0
  351. package/platforms/electrobun/assets/appIcon.iconset/icon_128x128@2x.png +0 -0
  352. package/platforms/electrobun/assets/appIcon.iconset/icon_16x16.png +0 -0
  353. package/platforms/electrobun/assets/appIcon.iconset/icon_16x16@2x.png +0 -0
  354. package/platforms/electrobun/assets/appIcon.iconset/icon_256x256.png +0 -0
  355. package/platforms/electrobun/assets/appIcon.iconset/icon_256x256@2x.png +0 -0
  356. package/platforms/electrobun/assets/appIcon.iconset/icon_32x32.png +0 -0
  357. package/platforms/electrobun/assets/appIcon.iconset/icon_32x32@2x.png +0 -0
  358. package/platforms/electrobun/assets/appIcon.iconset/icon_512x512.png +0 -0
  359. package/platforms/electrobun/assets/brand-config.json +6 -6
  360. package/platforms/electrobun/biome.json +9 -9
  361. package/platforms/electrobun/docs/capability-collapse-matrix.json +318 -0
  362. package/platforms/electrobun/docs/capability-collapse-matrix.md +129 -0
  363. package/platforms/electrobun/docs/capability-routing.md +86 -0
  364. package/platforms/electrobun/docs/convergence-audit.json +3505 -0
  365. package/platforms/electrobun/docs/convergence-audit.md +694 -0
  366. package/platforms/electrobun/docs/database-boot-policy.md +90 -0
  367. package/platforms/electrobun/docs/riscv64-port.md +175 -0
  368. package/platforms/electrobun/docs/startup-first-run-cleanup.md +18 -0
  369. package/platforms/electrobun/docs/trace-first-annotations.md +52 -0
  370. package/platforms/electrobun/docs/ui-boundary-audit.json +580 -0
  371. package/platforms/electrobun/docs/ui-boundary-audit.md +257 -0
  372. package/platforms/electrobun/electrobun.config.ts +592 -364
  373. package/platforms/electrobun/entitlements/JUSTIFICATIONS.md +141 -0
  374. package/platforms/electrobun/entitlements/README.md +34 -6
  375. package/platforms/electrobun/entitlements/mas-bun.entitlements +15 -0
  376. package/platforms/electrobun/entitlements/mas.entitlements +6 -4
  377. package/platforms/electrobun/native/macos/window-effects.mm +1522 -0
  378. package/platforms/electrobun/package.json +18 -12
  379. package/platforms/electrobun/remotes/fs/README.md +70 -0
  380. package/platforms/electrobun/remotes/fs/electrobun.config.ts +38 -0
  381. package/platforms/electrobun/remotes/fs/package.json +12 -0
  382. package/platforms/electrobun/remotes/fs/plugin.json +25 -0
  383. package/platforms/electrobun/remotes/fs/src/bun/errors.ts +57 -0
  384. package/platforms/electrobun/remotes/fs/src/bun/file-limits.ts +50 -0
  385. package/platforms/electrobun/remotes/fs/src/bun/fs-service.ts +389 -0
  386. package/platforms/electrobun/remotes/fs/src/bun/path-guard.ts +270 -0
  387. package/platforms/electrobun/remotes/fs/src/bun/protocol.ts +149 -0
  388. package/platforms/electrobun/remotes/fs/src/bun/worker.ts +174 -0
  389. package/platforms/electrobun/remotes/fs/src/dev/phase5-smoke.ts +171 -0
  390. package/platforms/electrobun/remotes/fs/src/web/index.html +8 -0
  391. package/platforms/electrobun/remotes/git/README.md +75 -0
  392. package/platforms/electrobun/remotes/git/electrobun.config.ts +44 -0
  393. package/platforms/electrobun/remotes/git/package.json +12 -0
  394. package/platforms/electrobun/remotes/git/plugin.json +31 -0
  395. package/platforms/electrobun/remotes/git/src/bun/errors.ts +69 -0
  396. package/platforms/electrobun/remotes/git/src/bun/git-command.ts +156 -0
  397. package/platforms/electrobun/remotes/git/src/bun/git-service.ts +446 -0
  398. package/platforms/electrobun/remotes/git/src/bun/operation-history.ts +124 -0
  399. package/platforms/electrobun/remotes/git/src/bun/protocol.ts +252 -0
  400. package/platforms/electrobun/remotes/git/src/bun/worker.ts +316 -0
  401. package/platforms/electrobun/remotes/git/src/dev/phase7-smoke.ts +141 -0
  402. package/platforms/electrobun/remotes/git/src/web/index.html +8 -0
  403. package/platforms/electrobun/remotes/local-model/README.md +138 -0
  404. package/platforms/electrobun/remotes/local-model/electrobun.config.ts +46 -0
  405. package/platforms/electrobun/remotes/local-model/package.json +12 -0
  406. package/platforms/electrobun/remotes/local-model/plugin.json +33 -0
  407. package/platforms/electrobun/remotes/local-model/src/bun/download-state.ts +115 -0
  408. package/platforms/electrobun/remotes/local-model/src/bun/eliza1-catalog.ts +405 -0
  409. package/platforms/electrobun/remotes/local-model/src/bun/errors.ts +74 -0
  410. package/platforms/electrobun/remotes/local-model/src/bun/hf-eliza1-client.ts +169 -0
  411. package/platforms/electrobun/remotes/local-model/src/bun/local-inference-api-client.ts +245 -0
  412. package/platforms/electrobun/remotes/local-model/src/bun/model-service.ts +490 -0
  413. package/platforms/electrobun/remotes/local-model/src/bun/protocol.ts +301 -0
  414. package/platforms/electrobun/remotes/local-model/src/bun/worker.ts +248 -0
  415. package/platforms/electrobun/remotes/local-model/src/dev/phase8-smoke.ts +116 -0
  416. package/platforms/electrobun/remotes/local-model/src/web/index.html +13 -0
  417. package/platforms/electrobun/remotes/pty/README.md +65 -0
  418. package/platforms/electrobun/remotes/pty/electrobun.config.ts +47 -0
  419. package/platforms/electrobun/remotes/pty/package.json +12 -0
  420. package/platforms/electrobun/remotes/pty/plugin.json +34 -0
  421. package/platforms/electrobun/remotes/pty/src/bun/errors.ts +57 -0
  422. package/platforms/electrobun/remotes/pty/src/bun/output-buffer.ts +127 -0
  423. package/platforms/electrobun/remotes/pty/src/bun/protocol.ts +192 -0
  424. package/platforms/electrobun/remotes/pty/src/bun/pty-service.ts +562 -0
  425. package/platforms/electrobun/remotes/pty/src/bun/worker.ts +218 -0
  426. package/platforms/electrobun/remotes/pty/src/dev/phase6-smoke.ts +127 -0
  427. package/platforms/electrobun/remotes/pty/src/web/index.html +8 -0
  428. package/platforms/electrobun/remotes/runtime/README.md +370 -0
  429. package/platforms/electrobun/remotes/runtime/electrobun.config.ts +48 -0
  430. package/platforms/electrobun/remotes/runtime/package.json +14 -0
  431. package/platforms/electrobun/remotes/runtime/plugin.json +30 -0
  432. package/platforms/electrobun/remotes/runtime/src/bun/api-client.ts +620 -0
  433. package/platforms/electrobun/remotes/runtime/src/bun/errors.ts +45 -0
  434. package/platforms/electrobun/remotes/runtime/src/bun/log-buffer.ts +33 -0
  435. package/platforms/electrobun/remotes/runtime/src/bun/protocol.ts +366 -0
  436. package/platforms/electrobun/remotes/runtime/src/bun/route-discovery.ts +419 -0
  437. package/platforms/electrobun/remotes/runtime/src/bun/runtime-manager.ts +423 -0
  438. package/platforms/electrobun/remotes/runtime/src/bun/sse-parser.ts +99 -0
  439. package/platforms/electrobun/remotes/runtime/src/bun/stream-manager.ts +887 -0
  440. package/platforms/electrobun/remotes/runtime/src/bun/worker.ts +1231 -0
  441. package/platforms/electrobun/remotes/runtime/src/dev/phase1-smoke.ts +34 -0
  442. package/platforms/electrobun/remotes/runtime/src/dev/phase2-smoke.ts +86 -0
  443. package/platforms/electrobun/remotes/runtime/src/dev/phase3-smoke.ts +141 -0
  444. package/platforms/electrobun/remotes/runtime/src/web/index.css +187 -0
  445. package/platforms/electrobun/remotes/runtime/src/web/index.html +76 -0
  446. package/platforms/electrobun/remotes/runtime/src/web/index.ts +192 -0
  447. package/platforms/electrobun/remotes/surface/README.md +201 -0
  448. package/platforms/electrobun/remotes/surface/electrobun.config.ts +38 -0
  449. package/platforms/electrobun/remotes/surface/package.json +12 -0
  450. package/platforms/electrobun/remotes/surface/plugin.json +28 -0
  451. package/platforms/electrobun/remotes/surface/src/bun/worker.ts +132 -0
  452. package/platforms/electrobun/remotes/surface/src/dev/phase4-smoke.ts +566 -0
  453. package/platforms/electrobun/remotes/surface/src/protocol/event-types.ts +84 -0
  454. package/platforms/electrobun/remotes/surface/src/protocol/runtime-client.ts +673 -0
  455. package/platforms/electrobun/remotes/surface/src/web/app.ts +595 -0
  456. package/platforms/electrobun/remotes/surface/src/web/index.css +460 -0
  457. package/platforms/electrobun/remotes/surface/src/web/index.html +466 -0
  458. package/platforms/electrobun/remotes/surface/src/web/index.ts +5 -0
  459. package/platforms/electrobun/remotes/surface/src/web/render.ts +455 -0
  460. package/platforms/electrobun/remotes/surface/src/web/state.ts +427 -0
  461. package/platforms/electrobun/scripts/build-macos-effects.sh +4 -0
  462. package/platforms/electrobun/scripts/ensure-build-folder.ts +28 -0
  463. package/platforms/electrobun/scripts/ensure-whisper-gguf.sh +55 -0
  464. package/platforms/electrobun/scripts/ensure-whisper-model.sh +22 -80
  465. package/platforms/electrobun/scripts/generate-convergence-audit.ts +1203 -0
  466. package/platforms/electrobun/scripts/local-adhoc-sign-macos.ts +159 -159
  467. package/platforms/electrobun/scripts/postwrap-diagnostics.ts +424 -339
  468. package/platforms/electrobun/scripts/postwrap-sign-runtime-macos.ts +302 -271
  469. package/platforms/electrobun/scripts/smoke-test-windows.ps1 +17 -16
  470. package/platforms/electrobun/scripts/smoke-test.sh +5 -7
  471. package/platforms/electrobun/scripts/sync-web-assets.mjs +13 -13
  472. package/platforms/electrobun/scripts/verify-rpc-handlers.ts +109 -110
  473. package/platforms/electrobun/scripts/verify-windows-installer-proof.ps1 +3 -8
  474. package/platforms/electrobun/src/__stubs__/bun-ffi.ts +31 -31
  475. package/platforms/electrobun/src/__stubs__/electrobun-bun.ts +1 -1
  476. package/platforms/electrobun/src/agent-ready-state.ts +8 -8
  477. package/platforms/electrobun/src/agent-reset-from-main.test.ts +162 -0
  478. package/platforms/electrobun/src/agent-reset-from-main.ts +62 -62
  479. package/platforms/electrobun/src/agent-status-rpc.test.ts +95 -0
  480. package/platforms/electrobun/src/agent-status-rpc.ts +156 -0
  481. package/platforms/electrobun/src/api-base.test.ts +247 -0
  482. package/platforms/electrobun/src/api-base.ts +202 -93
  483. package/platforms/electrobun/src/application-menu-action-registry.ts +9 -9
  484. package/platforms/electrobun/src/application-menu.ts +348 -348
  485. package/platforms/electrobun/src/background-notice.ts +36 -36
  486. package/platforms/electrobun/src/boot-progress.test.ts +188 -0
  487. package/platforms/electrobun/src/boot-progress.ts +111 -0
  488. package/platforms/electrobun/src/brand-config.test.ts +39 -0
  489. package/platforms/electrobun/src/brand-config.ts +141 -129
  490. package/platforms/electrobun/src/bridge/browser-tabs-renderer-registry.ts +28 -28
  491. package/platforms/electrobun/src/bridge/electrobun-boot-config.ts +42 -0
  492. package/platforms/electrobun/src/bridge/electrobun-crypto-ready.ts +120 -0
  493. package/platforms/electrobun/src/bridge/electrobun-direct-rpc.ts +342 -357
  494. package/platforms/electrobun/src/bridge/electrobun-stub.ts +13 -13
  495. package/platforms/electrobun/src/browser-workspace-bridge-server.ts +285 -243
  496. package/platforms/electrobun/src/cloud-auth-window.ts +136 -136
  497. package/platforms/electrobun/src/cloud-disconnect-from-main.ts +90 -90
  498. package/platforms/electrobun/src/config-and-auth-rpc.test.ts +256 -0
  499. package/platforms/electrobun/src/config-and-auth-rpc.ts +302 -0
  500. package/platforms/electrobun/src/conversations-and-character-rpc.test.ts +185 -0
  501. package/platforms/electrobun/src/conversations-and-character-rpc.ts +131 -0
  502. package/platforms/electrobun/src/dashboard-rpc.test.ts +200 -0
  503. package/platforms/electrobun/src/dashboard-rpc.ts +344 -0
  504. package/platforms/electrobun/src/database/database-lock.ts +141 -0
  505. package/platforms/electrobun/src/database/database-mode.ts +149 -0
  506. package/platforms/electrobun/src/database/database-recovery.ts +72 -0
  507. package/platforms/electrobun/src/database/database-snapshot.ts +190 -0
  508. package/platforms/electrobun/src/database/database.test.ts +196 -0
  509. package/platforms/electrobun/src/database/index.ts +5 -0
  510. package/platforms/electrobun/src/database/pglite-paths.ts +100 -0
  511. package/platforms/electrobun/src/desktop-deep-link-events.test.ts +30 -0
  512. package/platforms/electrobun/src/desktop-deep-link-events.ts +17 -0
  513. package/platforms/electrobun/src/desktop-http-request.test.ts +73 -73
  514. package/platforms/electrobun/src/desktop-http-request.ts +85 -85
  515. package/platforms/electrobun/src/desktop-pill-config.test.ts +27 -0
  516. package/platforms/electrobun/src/desktop-pill-config.ts +40 -0
  517. package/platforms/electrobun/src/desktop-test-bridge-server.ts +204 -204
  518. package/platforms/electrobun/src/desktop-tray-config.test.ts +87 -0
  519. package/platforms/electrobun/src/desktop-tray-config.ts +84 -0
  520. package/platforms/electrobun/src/devtools-layout.ts +41 -41
  521. package/platforms/electrobun/src/diagnostic-format.test.ts +71 -0
  522. package/platforms/electrobun/src/diagnostic-format.ts +75 -36
  523. package/platforms/electrobun/src/dynamic-view-rpc-schema.test.ts +37 -0
  524. package/platforms/electrobun/src/dynamic-views/README.md +44 -0
  525. package/platforms/electrobun/src/dynamic-views/demo/agent-run-trace.html +135 -0
  526. package/platforms/electrobun/src/dynamic-views/errors.ts +29 -0
  527. package/platforms/electrobun/src/dynamic-views/host.test.ts +353 -0
  528. package/platforms/electrobun/src/dynamic-views/host.ts +332 -0
  529. package/platforms/electrobun/src/dynamic-views/index.ts +57 -0
  530. package/platforms/electrobun/src/dynamic-views/kiosk-canvas.ts +89 -0
  531. package/platforms/electrobun/src/dynamic-views/registry.test.ts +139 -0
  532. package/platforms/electrobun/src/dynamic-views/registry.ts +196 -0
  533. package/platforms/electrobun/src/dynamic-views/session-manager.test.ts +355 -0
  534. package/platforms/electrobun/src/dynamic-views/session-manager.ts +348 -0
  535. package/platforms/electrobun/src/dynamic-views/types.ts +105 -0
  536. package/platforms/electrobun/src/electrobun-boot-config.test.ts +50 -0
  537. package/platforms/electrobun/src/electrobun-config.test.ts +62 -0
  538. package/platforms/electrobun/src/electrobun-crypto-ready.test.ts +65 -0
  539. package/platforms/electrobun/src/electrobun-window-options.ts +25 -0
  540. package/platforms/electrobun/src/extension-rpc.test.ts +88 -0
  541. package/platforms/electrobun/src/extension-rpc.ts +102 -0
  542. package/platforms/electrobun/src/fatal-shutdown.test.ts +10 -10
  543. package/platforms/electrobun/src/fatal-shutdown.ts +1 -1
  544. package/platforms/electrobun/src/first-party-remotes.test.ts +169 -0
  545. package/platforms/electrobun/src/first-party-remotes.ts +297 -0
  546. package/platforms/electrobun/src/first-run-rpc.test.ts +192 -0
  547. package/platforms/electrobun/src/first-run-rpc.ts +146 -0
  548. package/platforms/electrobun/src/floating-chat-window.ts +181 -181
  549. package/platforms/electrobun/src/inbox-rpc.test.ts +123 -0
  550. package/platforms/electrobun/src/inbox-rpc.ts +158 -0
  551. package/platforms/electrobun/src/index.ts +2555 -2096
  552. package/platforms/electrobun/src/kiosk-mode.ts +50 -0
  553. package/platforms/electrobun/src/launch/index.ts +4 -0
  554. package/platforms/electrobun/src/launch/launch-dynamic-view.ts +37 -0
  555. package/platforms/electrobun/src/launch/launch-orchestrator.test.ts +224 -0
  556. package/platforms/electrobun/src/launch/launch-orchestrator.ts +456 -0
  557. package/platforms/electrobun/src/launch/launch-store.test.ts +97 -0
  558. package/platforms/electrobun/src/launch/launch-store.ts +134 -0
  559. package/platforms/electrobun/src/launch/types.ts +103 -0
  560. package/platforms/electrobun/src/launch/views/launch-diagnostics.html +205 -0
  561. package/platforms/electrobun/src/lifecycle/agent-ready-publish.test.ts +50 -0
  562. package/platforms/electrobun/src/lifecycle/agent-ready-publish.ts +27 -0
  563. package/platforms/electrobun/src/lifecycle/api-base-owner.ts +42 -31
  564. package/platforms/electrobun/src/lifecycle/desktop-session-prime.ts +44 -44
  565. package/platforms/electrobun/src/logger.ts +14 -14
  566. package/platforms/electrobun/src/main-window-runtime.ts +83 -83
  567. package/platforms/electrobun/src/main-window-session.test.ts +109 -0
  568. package/platforms/electrobun/src/main-window-session.ts +87 -51
  569. package/platforms/electrobun/src/menu-reset-from-main.ts +158 -158
  570. package/platforms/electrobun/src/native/agent-env.test.ts +52 -0
  571. package/platforms/electrobun/src/native/agent-runtime-layout.test.ts +42 -0
  572. package/platforms/electrobun/src/native/agent-state-dir.test.ts +91 -0
  573. package/platforms/electrobun/src/native/agent.ts +2122 -1682
  574. package/platforms/electrobun/src/native/auth-bridge.test.ts +67 -0
  575. package/platforms/electrobun/src/native/auth-bridge.ts +464 -360
  576. package/platforms/electrobun/src/native/browser-workspace.ts +723 -471
  577. package/platforms/electrobun/src/native/camera.ts +50 -50
  578. package/platforms/electrobun/src/native/canvas.ts +444 -445
  579. package/platforms/electrobun/src/native/credentials.ts +673 -616
  580. package/platforms/electrobun/src/native/desktop-window.test.ts +300 -0
  581. package/platforms/electrobun/src/native/desktop.ts +2196 -2156
  582. package/platforms/electrobun/src/native/editor-bridge.ts +201 -201
  583. package/platforms/electrobun/src/native/file-watcher.ts +154 -154
  584. package/platforms/electrobun/src/native/gateway.ts +179 -180
  585. package/platforms/electrobun/src/native/gpu-window.ts +256 -256
  586. package/platforms/electrobun/src/native/index.ts +76 -74
  587. package/platforms/electrobun/src/native/location.test.ts +44 -0
  588. package/platforms/electrobun/src/native/location.ts +90 -80
  589. package/platforms/electrobun/src/native/loopback-port.ts +60 -60
  590. package/platforms/electrobun/src/native/mac-window-effects.ts +166 -104
  591. package/platforms/electrobun/src/native/music-player.ts +38 -38
  592. package/platforms/electrobun/src/native/permissions-shared.ts +249 -150
  593. package/platforms/electrobun/src/native/permissions.ts +301 -208
  594. package/platforms/electrobun/src/native/power-state.ts +129 -129
  595. package/platforms/electrobun/src/native/remote-plugin-host.test.ts +1394 -0
  596. package/platforms/electrobun/src/native/remote-plugin-host.ts +1531 -0
  597. package/platforms/electrobun/src/native/screencapture.ts +667 -573
  598. package/platforms/electrobun/src/native/steward.ts +207 -204
  599. package/platforms/electrobun/src/native/swabble.ts +68 -324
  600. package/platforms/electrobun/src/native/talkmode.ts +253 -422
  601. package/platforms/electrobun/src/native/webgpu-browser-support.test.ts +18 -0
  602. package/platforms/electrobun/src/native/webgpu-browser-support.ts +165 -147
  603. package/platforms/electrobun/src/native/whisper-env.test.ts +71 -0
  604. package/platforms/electrobun/src/native/whisper-env.ts +68 -0
  605. package/platforms/electrobun/src/native-onboarding.ts +270 -0
  606. package/platforms/electrobun/src/onboarding-overlay-window.ts +141 -0
  607. package/platforms/electrobun/src/persisted-deployment.ts +91 -0
  608. package/platforms/electrobun/src/pill-window.test.ts +91 -0
  609. package/platforms/electrobun/src/pill-window.ts +99 -0
  610. package/platforms/electrobun/src/preload-validation.ts +44 -44
  611. package/platforms/electrobun/src/preload.js +1 -1
  612. package/platforms/electrobun/src/print-electrobun-dev-settings-banner.ts +120 -120
  613. package/platforms/electrobun/src/renderer-api-proxy.test.ts +73 -0
  614. package/platforms/electrobun/src/renderer-api-proxy.ts +86 -0
  615. package/platforms/electrobun/src/renderer-static.test.ts +53 -0
  616. package/platforms/electrobun/src/renderer-static.ts +144 -57
  617. package/platforms/electrobun/src/rpc-handler-slices.ts +121 -0
  618. package/platforms/electrobun/src/rpc-handlers.test.ts +267 -0
  619. package/platforms/electrobun/src/rpc-handlers.ts +1306 -913
  620. package/platforms/electrobun/src/rpc-parse-utils.ts +57 -0
  621. package/platforms/electrobun/src/rpc-port-resolver.test.ts +45 -0
  622. package/platforms/electrobun/src/rpc-port-resolver.ts +31 -0
  623. package/platforms/electrobun/src/rpc-schema.ts +2556 -1619
  624. package/platforms/electrobun/src/runtime-layout.ts +105 -105
  625. package/platforms/electrobun/src/runtime-permissions.ts +95 -95
  626. package/platforms/electrobun/src/runtime-rpc.test.ts +126 -0
  627. package/platforms/electrobun/src/runtime-rpc.ts +237 -0
  628. package/platforms/electrobun/src/screenshot-dev-server.ts +87 -87
  629. package/platforms/electrobun/src/settings-mutations-rpc.test.ts +193 -0
  630. package/platforms/electrobun/src/settings-mutations-rpc.ts +220 -0
  631. package/platforms/electrobun/src/startup-trace.ts +274 -270
  632. package/platforms/electrobun/src/subscription-rpc.test.ts +89 -0
  633. package/platforms/electrobun/src/subscription-rpc.ts +192 -0
  634. package/platforms/electrobun/src/surface-windows.test.ts +355 -0
  635. package/platforms/electrobun/src/surface-windows.ts +410 -410
  636. package/platforms/electrobun/src/trace/README.md +73 -0
  637. package/platforms/electrobun/src/trace/errors.ts +21 -0
  638. package/platforms/electrobun/src/trace/index.ts +40 -0
  639. package/platforms/electrobun/src/trace/trace-dynamic-view.ts +40 -0
  640. package/platforms/electrobun/src/trace/trace-host-requests.ts +473 -0
  641. package/platforms/electrobun/src/trace/trace-service.test.ts +186 -0
  642. package/platforms/electrobun/src/trace/trace-service.ts +324 -0
  643. package/platforms/electrobun/src/trace/trace-store.test.ts +141 -0
  644. package/platforms/electrobun/src/trace/trace-store.ts +551 -0
  645. package/platforms/electrobun/src/trace/types.ts +250 -0
  646. package/platforms/electrobun/src/trace/views/agent-run-trace.html +311 -0
  647. package/platforms/electrobun/src/types/web-speech.d.ts +28 -28
  648. package/platforms/electrobun/src/types.ts +5 -5
  649. package/platforms/electrobun/src/update-availability.test.ts +72 -0
  650. package/platforms/electrobun/src/update-availability.ts +90 -0
  651. package/platforms/electrobun/src/update-rpc.test.ts +83 -0
  652. package/platforms/electrobun/src/update-rpc.ts +123 -0
  653. package/platforms/electrobun/src/voice/README.md +184 -0
  654. package/platforms/electrobun/src/voice/errors.ts +42 -0
  655. package/platforms/electrobun/src/voice/index.ts +78 -0
  656. package/platforms/electrobun/src/voice/types.ts +316 -0
  657. package/platforms/electrobun/src/voice/voice-host-requests.ts +259 -0
  658. package/platforms/electrobun/src/voice/voice-latency-budget.test.ts +66 -0
  659. package/platforms/electrobun/src/voice/voice-latency-budget.ts +243 -0
  660. package/platforms/electrobun/src/voice/voice-live-validation.test.ts +352 -0
  661. package/platforms/electrobun/src/voice/voice-live-validation.ts +838 -0
  662. package/platforms/electrobun/src/voice/voice-pipeline.ts +250 -0
  663. package/platforms/electrobun/src/voice/voice-playback-adapter.ts +31 -0
  664. package/platforms/electrobun/src/voice/voice-runtime-adapter.test.ts +213 -0
  665. package/platforms/electrobun/src/voice/voice-runtime-adapter.ts +686 -0
  666. package/platforms/electrobun/src/voice/voice-service.test.ts +561 -0
  667. package/platforms/electrobun/src/voice/voice-service.ts +1027 -0
  668. package/platforms/electrobun/src/voice/voice-stream-coordinator.test.ts +115 -0
  669. package/platforms/electrobun/src/voice/voice-stream-coordinator.ts +270 -0
  670. package/platforms/electrobun/src/voice/voice-trace.ts +97 -0
  671. package/platforms/electrobun/src/voice/voice-tts-chunker.test.ts +91 -0
  672. package/platforms/electrobun/src/voice/voice-tts-chunker.ts +194 -0
  673. package/platforms/electrobun/src/windows-cef-profile.ts +88 -88
  674. package/platforms/electrobun/tsconfig.json +73 -13
  675. package/platforms/electrobun/update-channels.json +22 -0
  676. package/platforms/electrobun/vitest.electrobun.config.ts +72 -42
  677. package/platforms/ios/App/App/App.entitlements +4 -0
  678. package/platforms/ios/App/App/AppDelegate.swift +80 -18
  679. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ios-marketing-1024.png +0 -0
  680. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-20x20@1x.png +0 -0
  681. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-20x20@2x.png +0 -0
  682. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-29x29@1x.png +0 -0
  683. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-29x29@2x.png +0 -0
  684. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-40x40@1x.png +0 -0
  685. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-40x40@2x.png +0 -0
  686. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-76x76@1x.png +0 -0
  687. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-76x76@2x.png +0 -0
  688. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-83_5x83_5@2x.png +0 -0
  689. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-20x20@2x.png +0 -0
  690. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-20x20@3x.png +0 -0
  691. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-29x29@2x.png +0 -0
  692. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-29x29@3x.png +0 -0
  693. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-40x40@2x.png +0 -0
  694. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-40x40@3x.png +0 -0
  695. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-60x60@2x.png +0 -0
  696. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-60x60@3x.png +0 -0
  697. package/platforms/ios/App/App/Base.lproj/LaunchScreen.storyboard +1 -4
  698. package/platforms/ios/App/App/ComputerUseBridge.swift +589 -0
  699. package/platforms/ios/App/App/DeviceActivityMonitorExtension/DeviceActivityMonitorExtension.entitlements +12 -0
  700. package/platforms/ios/App/App/DeviceActivityMonitorExtension/DeviceActivityMonitorExtension.swift +34 -0
  701. package/platforms/ios/App/App/DeviceActivityMonitorExtension/Info.plist +29 -0
  702. package/platforms/ios/App/App/DeviceActivityReportExtension/DeviceActivityReportExtension.entitlements +12 -0
  703. package/platforms/ios/App/App/DeviceActivityReportExtension/DeviceActivityReportExtension.swift +53 -0
  704. package/platforms/ios/App/App/DeviceActivityReportExtension/Info.plist +27 -0
  705. package/platforms/ios/App/App/ElizaAppIntents.swift +183 -0
  706. package/platforms/ios/App/App/ElizaIntentPlugin.swift +342 -5
  707. package/platforms/ios/App/App/Info.plist +17 -1
  708. package/platforms/ios/App/App/runners/eliza-tasks.js +177 -0
  709. package/platforms/ios/App/App.xcodeproj/project.pbxproj +262 -6
  710. package/platforms/ios/App/BroadcastExtension/SampleHandler.swift +100 -0
  711. package/platforms/ios/App/Podfile +5 -0
  712. package/platforms/ios/App/Podfile.lock +83 -59
  713. package/register-runtime-hooks.js +11 -5
  714. package/registry/app-registry.d.ts +14 -0
  715. package/registry/app-registry.d.ts.map +1 -0
  716. package/registry/app-registry.js +29 -0
  717. package/registry/entries/apps/app-polymarket.json +31 -0
  718. package/registry/entries/apps/clawville.json +27 -0
  719. package/registry/entries/apps/companion.json +28 -0
  720. package/registry/entries/apps/database-viewer.json +27 -0
  721. package/registry/entries/apps/defense-of-the-agents.json +27 -0
  722. package/registry/entries/apps/documents.json +30 -0
  723. package/registry/entries/apps/feed.json +27 -0
  724. package/registry/entries/apps/hyperliquid.json +31 -0
  725. package/registry/entries/apps/log-viewer.json +27 -0
  726. package/registry/entries/apps/memory-viewer.json +27 -0
  727. package/registry/entries/apps/model-tester.json +31 -0
  728. package/registry/entries/apps/plugin-viewer.json +27 -0
  729. package/registry/entries/apps/relationship-viewer.json +27 -0
  730. package/registry/entries/apps/runtime-debugger.json +27 -0
  731. package/registry/entries/apps/shopify.json +31 -0
  732. package/registry/entries/apps/skills-viewer.json +27 -0
  733. package/registry/entries/apps/steward.json +31 -0
  734. package/registry/entries/apps/training.json +54 -0
  735. package/registry/entries/apps/trajectory-viewer.json +27 -0
  736. package/registry/entries/apps/vincent.json +31 -0
  737. package/registry/entries/connectors/bluebubbles.json +99 -0
  738. package/registry/entries/connectors/bluesky.json +173 -0
  739. package/registry/entries/connectors/discord.json +119 -0
  740. package/registry/entries/connectors/farcaster.json +174 -0
  741. package/registry/entries/connectors/feishu.json +79 -0
  742. package/registry/entries/connectors/google-chat.json +120 -0
  743. package/registry/entries/connectors/google.json +82 -0
  744. package/registry/entries/connectors/imessage.json +96 -0
  745. package/registry/entries/connectors/instagram.json +64 -0
  746. package/registry/entries/connectors/line.json +86 -0
  747. package/registry/entries/connectors/matrix.json +94 -0
  748. package/registry/entries/connectors/mattermost.json +110 -0
  749. package/registry/entries/connectors/msteams.json +104 -0
  750. package/registry/entries/connectors/nextcloud-talk.json +104 -0
  751. package/registry/entries/connectors/nostr.json +70 -0
  752. package/registry/entries/connectors/signal.json +81 -0
  753. package/registry/entries/connectors/slack.json +102 -0
  754. package/registry/entries/connectors/telegram.json +71 -0
  755. package/registry/entries/connectors/tlon.json +94 -0
  756. package/registry/entries/connectors/twitch.json +110 -0
  757. package/registry/entries/connectors/whatsapp.json +113 -0
  758. package/registry/entries/connectors/x.json +231 -0
  759. package/registry/entries/connectors/zalo.json +112 -0
  760. package/registry/entries/connectors/zalouser.json +122 -0
  761. package/registry/entries/plugins/agent-orchestrator.json +33 -0
  762. package/registry/entries/plugins/agent-skills.json +72 -0
  763. package/registry/entries/plugins/anthropic.json +73 -0
  764. package/registry/entries/plugins/app-control.json +23 -0
  765. package/registry/entries/plugins/auto-trader.json +203 -0
  766. package/registry/entries/plugins/background-runner.json +26 -0
  767. package/registry/entries/plugins/blooio.json +102 -0
  768. package/registry/entries/plugins/browser.json +75 -0
  769. package/registry/entries/plugins/cli.json +40 -0
  770. package/registry/entries/plugins/clipboard.json +44 -0
  771. package/registry/entries/plugins/coding-tools.json +71 -0
  772. package/registry/entries/plugins/commands.json +63 -0
  773. package/registry/entries/plugins/computeruse.json +74 -0
  774. package/registry/entries/plugins/copilot-proxy.json +93 -0
  775. package/registry/entries/plugins/directives.json +63 -0
  776. package/registry/entries/plugins/edge-tts.json +97 -0
  777. package/registry/entries/plugins/elevenlabs.json +169 -0
  778. package/registry/entries/plugins/elizacloud.json +208 -0
  779. package/registry/entries/plugins/evm.json +134 -0
  780. package/registry/entries/plugins/experience.json +34 -0
  781. package/registry/entries/plugins/facewear.json +131 -0
  782. package/registry/entries/plugins/form.json +26 -0
  783. package/registry/entries/plugins/github.json +93 -0
  784. package/registry/entries/plugins/gmail-watch.json +25 -0
  785. package/registry/entries/plugins/goals.json +77 -0
  786. package/registry/entries/plugins/google-genai.json +106 -0
  787. package/registry/entries/plugins/groq.json +93 -0
  788. package/registry/entries/plugins/hedera.json +48 -0
  789. package/registry/entries/plugins/inmemorydb.json +25 -0
  790. package/registry/entries/plugins/linear.json +51 -0
  791. package/registry/entries/plugins/local-inference.json +137 -0
  792. package/registry/entries/plugins/local-storage.json +36 -0
  793. package/registry/entries/plugins/localdb.json +25 -0
  794. package/registry/entries/plugins/mcp.json +44 -0
  795. package/registry/entries/plugins/memory.json +124 -0
  796. package/registry/entries/plugins/minecraft.json +79 -0
  797. package/registry/entries/plugins/moltbook.json +83 -0
  798. package/registry/entries/plugins/music.json +155 -0
  799. package/registry/entries/plugins/mysticism.json +48 -0
  800. package/registry/entries/plugins/nearai.json +82 -0
  801. package/registry/entries/plugins/ngrok.json +69 -0
  802. package/registry/entries/plugins/ollama.json +96 -0
  803. package/registry/entries/plugins/openai.json +189 -0
  804. package/registry/entries/plugins/openrouter.json +188 -0
  805. package/registry/entries/plugins/pdf.json +26 -0
  806. package/registry/entries/plugins/plugin-manager.json +23 -0
  807. package/registry/entries/plugins/prose.json +48 -0
  808. package/registry/entries/plugins/rlm.json +26 -0
  809. package/registry/entries/plugins/roblox.json +88 -0
  810. package/registry/entries/plugins/rss.json +64 -0
  811. package/registry/entries/plugins/s3-storage.json +91 -0
  812. package/registry/entries/plugins/scheduling.json +35 -0
  813. package/registry/entries/plugins/shell.json +94 -0
  814. package/registry/entries/plugins/social-alpha.json +72 -0
  815. package/registry/entries/plugins/tailscale.json +81 -0
  816. package/registry/entries/plugins/tee.json +53 -0
  817. package/registry/entries/plugins/todos.json +26 -0
  818. package/registry/entries/plugins/trajectory-logger.json +33 -0
  819. package/registry/entries/plugins/trust.json +39 -0
  820. package/registry/entries/plugins/tts.json +71 -0
  821. package/registry/entries/plugins/tunnel.json +45 -0
  822. package/registry/entries/plugins/twilio.json +168 -0
  823. package/registry/entries/plugins/vercel-ai-gateway.json +128 -0
  824. package/registry/entries/plugins/video.json +23 -0
  825. package/registry/entries/plugins/vision.json +43 -0
  826. package/registry/entries/plugins/webhooks.json +23 -0
  827. package/registry/entries/plugins/workflow.json +25 -0
  828. package/registry/entries/plugins/xai.json +75 -0
  829. package/registry/index.d.ts +2 -1
  830. package/registry/index.d.ts.map +1 -1
  831. package/registry/index.js +46 -12
  832. package/registry/loader.d.ts +2 -1
  833. package/registry/loader.d.ts.map +1 -1
  834. package/registry/loader.js +49 -2
  835. package/registry/schema.d.ts +244 -34
  836. package/registry/schema.d.ts.map +1 -1
  837. package/registry/schema.js +36 -0
  838. package/runtime/android-avf-microdroid-bridge.d.ts +29 -0
  839. package/runtime/android-avf-microdroid-bridge.d.ts.map +1 -0
  840. package/runtime/android-avf-microdroid-bridge.js +149 -0
  841. package/runtime/api-dev-settings-banner.d.ts.map +1 -1
  842. package/runtime/api-dev-settings-banner.js +5 -13
  843. package/runtime/app-core-runtime-hooks.d.ts +21 -0
  844. package/runtime/app-core-runtime-hooks.d.ts.map +1 -0
  845. package/runtime/app-core-runtime-hooks.js +10 -0
  846. package/runtime/autonomy-policy.d.ts +2 -0
  847. package/runtime/autonomy-policy.d.ts.map +1 -0
  848. package/runtime/autonomy-policy.js +4 -0
  849. package/runtime/desktop/AppWindowRenderer.d.ts +17 -0
  850. package/runtime/desktop/AppWindowRenderer.d.ts.map +1 -0
  851. package/runtime/desktop/AppWindowRenderer.js +360 -0
  852. package/runtime/desktop/DesktopSurfaceNavigationRuntime.d.ts +2 -0
  853. package/runtime/desktop/DesktopSurfaceNavigationRuntime.d.ts.map +1 -0
  854. package/runtime/desktop/DesktopSurfaceNavigationRuntime.js +41 -0
  855. package/runtime/desktop/DesktopTrayRuntime.d.ts +2 -0
  856. package/runtime/desktop/DesktopTrayRuntime.d.ts.map +1 -0
  857. package/runtime/desktop/DesktopTrayRuntime.js +174 -0
  858. package/runtime/desktop/DetachedShellRoot.d.ts +10 -0
  859. package/runtime/desktop/DetachedShellRoot.d.ts.map +1 -0
  860. package/runtime/desktop/DetachedShellRoot.js +111 -0
  861. package/runtime/desktop/index.d.ts +6 -0
  862. package/runtime/desktop/index.d.ts.map +1 -0
  863. package/runtime/desktop/index.js +5 -0
  864. package/runtime/desktop/tray-menu.d.ts +20 -0
  865. package/runtime/desktop/tray-menu.d.ts.map +1 -0
  866. package/runtime/desktop/tray-menu.js +143 -0
  867. package/runtime/dev-server.d.ts +1 -1
  868. package/runtime/dev-server.d.ts.map +1 -1
  869. package/runtime/dev-server.js +93 -17
  870. package/runtime/eliza.d.ts +75 -1
  871. package/runtime/eliza.d.ts.map +1 -1
  872. package/runtime/eliza.js +596 -122
  873. package/runtime/ensure-text-to-speech-handler.d.ts.map +1 -1
  874. package/runtime/ensure-text-to-speech-handler.js +10 -3
  875. package/runtime/mobile-safe-runtime.d.ts +181 -2
  876. package/runtime/mobile-safe-runtime.d.ts.map +1 -1
  877. package/runtime/mobile-safe-runtime.js +1019 -12
  878. package/runtime/mode/remote-forwarder.d.ts.map +1 -1
  879. package/runtime/mode/remote-forwarder.js +2 -2
  880. package/runtime/mode/route-mode-guard.d.ts +1 -2
  881. package/runtime/mode/route-mode-guard.d.ts.map +1 -1
  882. package/runtime/mode/route-mode-guard.js +4 -5
  883. package/runtime/mode/route-mode-matrix.d.ts.map +1 -1
  884. package/runtime/mode/route-mode-matrix.js +14 -1
  885. package/runtime/mode/runtime-mode.d.ts +1 -1
  886. package/runtime/mode/runtime-mode.d.ts.map +1 -1
  887. package/runtime/mode/runtime-mode.js +15 -4
  888. package/runtime/runtime-bootstrap-policy.d.ts.map +1 -1
  889. package/runtime/runtime-bootstrap-policy.js +14 -2
  890. package/runtime/telegram-standalone-handler.d.ts.map +1 -1
  891. package/runtime/telegram-standalone-handler.js +10 -9
  892. package/runtime/tts-cache-wiring.d.ts +29 -0
  893. package/runtime/tts-cache-wiring.d.ts.map +1 -0
  894. package/runtime/tts-cache-wiring.js +114 -0
  895. package/runtime/voice-warmup.d.ts +81 -0
  896. package/runtime/voice-warmup.d.ts.map +1 -0
  897. package/runtime/voice-warmup.js +111 -0
  898. package/scripts/android-sms-gateway-template.test.mjs +1014 -0
  899. package/scripts/aosp/README.md +19 -15
  900. package/scripts/aosp/compile-libllama.mjs +1344 -248
  901. package/scripts/aosp/compile-shim.mjs +47 -18
  902. package/scripts/aosp/deploy-pixel.mjs +405 -0
  903. package/scripts/aosp/lib/load-variant-config.mjs +3 -3
  904. package/scripts/aosp/llama-cpp-patches/README.md +8 -8
  905. package/scripts/aosp/llama-cpp-patches/apply-patches.mjs +23 -6
  906. package/scripts/aosp/llama-cpp-patches/polarquant/README.md +37 -0
  907. package/scripts/aosp/llama-cpp-patches/qjl/README.md +37 -0
  908. package/scripts/aosp/seccomp-shim/sigsys-handler-arm64.c +169 -0
  909. package/scripts/aosp/seccomp-shim/sigsys-handler-riscv64.c +217 -0
  910. package/scripts/aosp/smoke-cuttlefish.mjs +34 -4
  911. package/scripts/aosp/stage-default-models.mjs +49 -18
  912. package/scripts/aosp/variant-config-schema.ts +2 -2
  913. package/scripts/assert-required-bundled-packages.test.ts +534 -0
  914. package/scripts/audit-apple-store-sandbox.mjs +146 -0
  915. package/scripts/audit-live-test-surface.mjs +5 -2
  916. package/scripts/build-capacitor-app.mjs +21 -0
  917. package/scripts/build-flatpak.mjs +5 -5
  918. package/scripts/build-helpers/arm64-simd.mjs +72 -0
  919. package/scripts/build-helpers/omnivoice-merged.mjs +87 -0
  920. package/scripts/build-helpers/verify-fused-symbols.mjs +567 -0
  921. package/scripts/build-image.sh +4 -2
  922. package/scripts/build-llama-cpp-mtp.mjs +487 -0
  923. package/scripts/build-native-plugins.mjs +230 -18
  924. package/scripts/build-patched-electrobun-cli.mjs +68 -10
  925. package/scripts/build-win.mjs +1 -1
  926. package/scripts/bun-riscv64/Dockerfile +418 -0
  927. package/scripts/bun-riscv64/README.md +316 -0
  928. package/scripts/bun-riscv64/build.sh +469 -0
  929. package/scripts/bun-riscv64/bun-patches/0001-config-add-riscv64-arch.patch +74 -0
  930. package/scripts/bun-riscv64/bun-patches/0002-flags-add-riscv64-march-mabi.patch +16 -0
  931. package/scripts/bun-riscv64/bun-patches/0003-zig-add-riscv64-target-triple-and-cpu.patch +26 -0
  932. package/scripts/bun-riscv64/bun-patches/0004-webkit-force-local-mode-on-riscv64.patch +33 -0
  933. package/scripts/bun-riscv64/bun-patches/0005-tinycc-disable-on-riscv64.patch +16 -0
  934. package/scripts/bun-riscv64/bun-patches/0006-build-add-riscv64-cli-validation.patch +15 -0
  935. package/scripts/bun-riscv64/bun-patches/0007-deps-per-dep-riscv64-checks.patch +24 -0
  936. package/scripts/bun-riscv64/bun-patches/0008-source-stabilize-riscv64-musl-build.patch +226 -0
  937. package/scripts/bun-riscv64/bun-patches/0009-disable-wasm-streaming-hooks-for-c-loop.patch +162 -0
  938. package/scripts/bun-riscv64/bun-patches/0010-disable-inspector-profiler-for-riscv64-c-loop.patch +80 -0
  939. package/scripts/bun-riscv64/bun-patches/0011-process-arch-add-riscv64.patch +23 -0
  940. package/scripts/bun-riscv64/bun-patches/0012-cpu-features-add-riscv64-fallback.patch +13 -0
  941. package/scripts/bun-riscv64/bun-patches/0013-disable-console-inspector-hooks-for-riscv64-c-loop.patch +43 -0
  942. package/scripts/bun-riscv64/bun-patches/0014-disable-custom-inspector-dispatchers-on-riscv64.patch +127 -0
  943. package/scripts/bun-riscv64/bun-patches/0015-disable-jsc-profiler-builtins-on-riscv64.patch +75 -0
  944. package/scripts/bun-riscv64/bun-patches/0016-node-vm-disable-jit-cached-data-on-riscv64-c-loop.patch +96 -0
  945. package/scripts/bun-riscv64/bun-patches/0017-disable-performance-domjit-signature-on-riscv64-c-loop.patch +34 -0
  946. package/scripts/bun-riscv64/bun-patches/0018-fix-serialized-script-identifier-big-endian-path.patch +19 -0
  947. package/scripts/bun-riscv64/bun-patches/0019-add-wtf-timer-fire-bridge-for-c-loop.patch +24 -0
  948. package/scripts/bun-riscv64/bun-patches/0020-run-riscv64-smoke-test-under-qemu.patch +13 -0
  949. package/scripts/bun-riscv64/bun-patches/0021-fix-riscv64-linux-open-flags.patch +25 -0
  950. package/scripts/bun-riscv64/bun-patches/0022-zlib-riscv64-generic-kernels.patch +25 -0
  951. package/scripts/bun-riscv64/bun-patches/README.md +127 -0
  952. package/scripts/bun-riscv64/bun-version.json +202 -0
  953. package/scripts/bun-riscv64/run-build.sh +162 -0
  954. package/scripts/bun-riscv64/rust-core/0001-riscv64-rust-core-port.patch +868 -0
  955. package/scripts/bun-riscv64/rust-core/0002-second-wave-riscv64-source-gaps.patch +130 -0
  956. package/scripts/bun-riscv64/rust-core/0003-third-wave-riscv64-crash-handler-gaps.patch +78 -0
  957. package/scripts/bun-riscv64/rust-core/0004-rust-target-cpu-riscv64.patch +39 -0
  958. package/scripts/bun-riscv64/rust-core/0005-fifth-wave-riscv64-source-gaps.patch +96 -0
  959. package/scripts/bun-riscv64/rust-core/0006-cpp-wasm-and-inspector-guards-riscv64.patch +91 -0
  960. package/scripts/bun-riscv64/rust-core/0007-bun-alloc-max-align-t-riscv64.patch +36 -0
  961. package/scripts/bun-riscv64/rust-core/0008-workspace-lints-warn-not-deny-riscv64.patch +75 -0
  962. package/scripts/bun-riscv64/rust-core/0009-zigglobalobject-wasm-streaming-guards-riscv64.patch +109 -0
  963. package/scripts/bun-riscv64/rust-core/0010-tcc-externs-stub-on-riscv64.patch +62 -0
  964. package/scripts/bun-riscv64/rust-core/0011-clippy-ptr-cast-lints-warn-riscv64.patch +61 -0
  965. package/scripts/bun-riscv64/rust-core/README.md +80 -0
  966. package/scripts/bun-riscv64/rust-core/webkit-patches/0003-disable-dfg-ftl-on-riscv64.patch +60 -0
  967. package/scripts/bun-riscv64/rust-core/webkit-patches/0004-riscv64-do-not-force-wasm-in-c-loop.patch +31 -0
  968. package/scripts/bun-riscv64/rust-core/webkit-patches/0005-domjit-effect-allow-no-dfg-c-loop.patch +40 -0
  969. package/scripts/bun-riscv64/rust-core/webkit-patches/0006-disable-usewasm-when-webassembly-compiled-out.patch +33 -0
  970. package/scripts/bun-riscv64/rust-core/webkit-patches/0007-restore-dropped-includes-and-llint-fwd-decl.patch +31 -0
  971. package/scripts/bun-riscv64/validate.sh +264 -0
  972. package/scripts/bun-riscv64/webkit-patches/0001-cherry-pick-llint-riscv64.recipe +155 -0
  973. package/scripts/bun-riscv64/webkit-patches/0002-cherry-pick-baseline-jit-riscv64.recipe +40 -0
  974. package/scripts/bun-riscv64/webkit-patches/0003-disable-dfg-ftl-on-riscv64.patch +60 -0
  975. package/scripts/bun-riscv64/webkit-patches/0004-riscv64-do-not-force-wasm-in-c-loop.patch +31 -0
  976. package/scripts/bun-riscv64/webkit-patches/0005-domjit-effect-allow-no-dfg-c-loop.patch +40 -0
  977. package/scripts/bun-riscv64/webkit-patches/0006-disable-usewasm-when-webassembly-compiled-out.patch +33 -0
  978. package/scripts/bun-riscv64/webkit-patches/0007-restore-dropped-includes-and-llint-fwd-decl.patch +72 -0
  979. package/scripts/bun-riscv64/webkit-patches/README.md +146 -0
  980. package/scripts/check-homepage-public-readiness.mjs +353 -0
  981. package/scripts/check-homepage-release-data.mjs +110 -0
  982. package/scripts/check-i18n.mjs +2 -1
  983. package/scripts/check-real-local-chat.ts +147 -0
  984. package/scripts/check-real-local-provisioning.ts +104 -0
  985. package/scripts/check-real-local-reset.ts +249 -0
  986. package/scripts/check-sms-gateway-completion-audit.mjs +428 -0
  987. package/scripts/check-sms-gateway-readiness.mjs +266 -0
  988. package/scripts/clean-repo.mjs +5 -5
  989. package/scripts/codesign-mas.mjs +222 -16
  990. package/scripts/collect-docker-runtime-deps.mjs +229 -0
  991. package/scripts/continue-sms-gateway-work.mjs +121 -0
  992. package/scripts/copy-runtime-node-modules.ts +903 -195
  993. package/scripts/deploy-cloud-api-production-gateway.mjs +52 -0
  994. package/scripts/desktop-build.mjs +655 -101
  995. package/scripts/dev-platform.mjs +346 -102
  996. package/scripts/dev-startup-smoke.mjs +248 -0
  997. package/scripts/dev-ui.mjs +418 -176
  998. package/scripts/disable-local-eliza-workspace.mjs +35 -0
  999. package/scripts/docker-ci-smoke.sh +440 -96
  1000. package/scripts/docker-entrypoint.sh +62 -1
  1001. package/scripts/docker-entrypoint.test.ts +283 -0
  1002. package/scripts/ensure-avatars.mjs +2 -2
  1003. package/scripts/ensure-electrobun-core.mjs +1 -1
  1004. package/scripts/ensure-generated-core-proto-js.mjs +1 -1
  1005. package/scripts/ensure-type-package-aliases.mjs +62 -5
  1006. package/scripts/ensure-vision-deps.mjs +20 -1
  1007. package/scripts/entry.ts +1 -1
  1008. package/scripts/ffi-stub/Makefile +64 -0
  1009. package/scripts/ffi-stub/README.md +391 -0
  1010. package/scripts/ffi-stub/asr-ffi-smoke.ts +139 -0
  1011. package/scripts/ffi-stub/ffi-stub.c +539 -0
  1012. package/scripts/ffi-stub/ffi.h +538 -0
  1013. package/scripts/ffi-stub/libelizainference_stub.so +0 -0
  1014. package/scripts/ffi-stub/tts-stream-ffi-smoke.ts +349 -0
  1015. package/scripts/generate-first-run-voicelines.mjs +194 -0
  1016. package/scripts/generate-plugin-index.js +4 -3
  1017. package/scripts/generate-static-asset-manifest.mjs +1 -1
  1018. package/scripts/i18n-dynamic-keys.json +5 -5
  1019. package/scripts/init-submodules.mjs +2 -2
  1020. package/scripts/install-android-sms-gateway.md +177 -0
  1021. package/scripts/install-android-sms-gateway.mjs +1088 -0
  1022. package/scripts/ios-xcframework/README.md +74 -72
  1023. package/scripts/ios-xcframework/build-xcframework.mjs +204 -43
  1024. package/scripts/ios-xcframework/run-physical-device-smoke.mjs +1943 -0
  1025. package/scripts/ios-xcframework/runtime-symbol-shim.c +450 -0
  1026. package/scripts/kernel-patches/cpu-polar-kernels.mjs +441 -0
  1027. package/scripts/kernel-patches/cpu-simd-kernels.mjs +253 -0
  1028. package/scripts/kernel-patches/cpu-thread-parallelism.mjs +368 -0
  1029. package/scripts/kernel-patches/cuda-kernels.mjs +117 -0
  1030. package/scripts/kernel-patches/metal-kernels.mjs +1698 -109
  1031. package/scripts/kernel-patches/server-omnivoice-route.mjs +718 -0
  1032. package/scripts/kernel-patches/server-structured-output.mjs +279 -0
  1033. package/scripts/kernel-patches/vulkan-dispatch-log.mjs +166 -0
  1034. package/scripts/kernel-patches/vulkan-dispatch-log.test.mjs +50 -0
  1035. package/scripts/kernel-patches/vulkan-dispatch-patches/01-vulkan-shaders-gen.patch +30 -16
  1036. package/scripts/kernel-patches/vulkan-dispatch-patches/02-ggml-vulkan-pipelines.patch +75 -30
  1037. package/scripts/kernel-patches/vulkan-kernels.mjs +800 -49
  1038. package/scripts/lib/agent-source-watcher.mjs +174 -0
  1039. package/scripts/lib/agent-source-watcher.test.mjs +184 -0
  1040. package/scripts/lib/api-supervisor.mjs +78 -9
  1041. package/scripts/lib/api-supervisor.test.mjs +121 -0
  1042. package/scripts/lib/app-dir.mjs +2 -16
  1043. package/scripts/lib/apple-entitlement-audit.mjs +655 -0
  1044. package/scripts/lib/apple-entitlement-audit.test.mjs +144 -0
  1045. package/scripts/lib/bun-version-guard.mjs +13 -13
  1046. package/scripts/lib/capacitor-plugin-build-needed.mjs +4 -3
  1047. package/scripts/lib/capacitor-plugin-names.mjs +30 -14
  1048. package/scripts/lib/desktop-preflight.mjs +9 -5
  1049. package/scripts/lib/desktop-startup-embedding-warmup-policy.mjs +51 -0
  1050. package/scripts/lib/desktop-startup-embedding-warmup-policy.test.mjs +55 -0
  1051. package/scripts/lib/duet-bridge.d.mts +63 -0
  1052. package/scripts/lib/duet-bridge.mjs +193 -0
  1053. package/scripts/lib/node-path-env.mjs +4 -2
  1054. package/scripts/lib/orchestrator-desktop-dev-banner.mjs +12 -3
  1055. package/scripts/lib/patch-bun-exports.mjs +90 -27
  1056. package/scripts/lib/patch-bun-exports.test.mjs +79 -0
  1057. package/scripts/lib/renderer-build-action.mjs +35 -0
  1058. package/scripts/lib/renderer-build-action.test.mjs +70 -0
  1059. package/scripts/lib/stage-android-agent.mjs +748 -99
  1060. package/scripts/lib/sync-eliza-env-aliases.mjs +3 -25
  1061. package/scripts/lib/ui-smoke-stub-decision.mjs +33 -0
  1062. package/scripts/lib/ui-smoke-stub-decision.test.mjs +46 -0
  1063. package/scripts/lib/vite-renderer-dist-stale.mjs +5 -0
  1064. package/scripts/lib/voice-latency-report.mjs +154 -0
  1065. package/scripts/lifeops-prompt-benchmark.ts +21 -12
  1066. package/scripts/link-docker-local-app-packages.mjs +103 -36
  1067. package/scripts/local-stt-bench.ts +192 -0
  1068. package/scripts/maintain-cloud-api-production-gateway.mjs +54 -0
  1069. package/scripts/mas-smoke.mjs +459 -0
  1070. package/scripts/mas-smoke.test.mjs +220 -0
  1071. package/scripts/mobile-auth-simulator-smoke.mjs +0 -1
  1072. package/scripts/normalize-eliza-capture.ts +97 -0
  1073. package/scripts/omnivoice-fuse/prepare.mjs +2543 -23
  1074. package/scripts/pack-upstreams.mjs +65 -5
  1075. package/scripts/package-electrobun-linux.mjs +303 -0
  1076. package/scripts/patch-deps.mjs +5 -3
  1077. package/scripts/patches/llama-asr-word-timestamps.patch +218 -0
  1078. package/scripts/patches/llama-mobile-kokoro-tts.patch +480 -0
  1079. package/scripts/playwright-ui-live-stack.ts +194 -49
  1080. package/scripts/playwright-ui-smoke-api-stub.mjs +3501 -109
  1081. package/scripts/pre-review-local.mjs +2 -2
  1082. package/scripts/prepare-ios-cocoapods.sh +41 -3
  1083. package/scripts/release-check.ts +180 -84
  1084. package/scripts/release-workflow-drift.test.ts +57 -0
  1085. package/scripts/relink-workspace-packages-to-dist.mjs +21 -4
  1086. package/scripts/rt.mjs +16 -1
  1087. package/scripts/run-biome-check.mjs +1 -1
  1088. package/scripts/run-coding-agent-e2e.mjs +3 -3
  1089. package/scripts/run-eliza-app-core-script.mjs +34 -0
  1090. package/scripts/run-local-plugin-live-smoke.mjs +71 -2
  1091. package/scripts/run-mobile-build-android-app-actions.test.mjs +426 -0
  1092. package/scripts/run-mobile-build.mjs +4757 -607
  1093. package/scripts/run-node-runtime.mjs +184 -7
  1094. package/scripts/run-node-runtime.test.mjs +167 -0
  1095. package/scripts/run-node-tsx.mjs +80 -33
  1096. package/scripts/run-node.mjs +41 -1
  1097. package/scripts/run-production-build.mjs +34 -27
  1098. package/scripts/run-release-check.mjs +19 -0
  1099. package/scripts/run-release-contract-suite.mjs +107 -14
  1100. package/scripts/run-ui-smoke-playwright-suite.mjs +0 -2
  1101. package/scripts/runtime-package-manifest.ts +21 -3
  1102. package/scripts/setup-upstreams.mjs +42 -1
  1103. package/scripts/sms-gateway-status.mjs +194 -0
  1104. package/scripts/stage-android-agent.test.mjs +97 -0
  1105. package/scripts/stage-desktop-fused-lib.mjs +424 -0
  1106. package/scripts/stage-elizavoice-lib.mjs +363 -0
  1107. package/scripts/startup-integration-script-drift.test.ts +82 -4
  1108. package/scripts/streaming-pipeline-bench.ts +543 -0
  1109. package/scripts/sync-homepage-porkbun-dns.mjs +262 -0
  1110. package/scripts/test-sms-gateway-software.mjs +100 -0
  1111. package/scripts/type-audit.mjs +1 -1
  1112. package/scripts/validate-bluebubbles-outbound.mjs +293 -0
  1113. package/scripts/validate-cdn-assets.mjs +15 -7
  1114. package/scripts/validate-regression-matrix.mjs +109 -8
  1115. package/scripts/verify-android-sms-gateway-e2e.mjs +362 -0
  1116. package/scripts/verify-bluebubbles-gateway-e2e.mjs +191 -0
  1117. package/scripts/verify-bluebubbles-inbound-readiness.mjs +88 -0
  1118. package/scripts/verify-cloud-api-production-deploy.mjs +87 -0
  1119. package/scripts/verify-cloud-sms-onboarding-flow.mjs +336 -0
  1120. package/scripts/voice/freeze-voice.mjs +521 -0
  1121. package/scripts/voice-attribution-smoke.ts +538 -0
  1122. package/scripts/voice-create-profile.mjs +379 -0
  1123. package/scripts/voice-duet.mjs +1355 -0
  1124. package/scripts/voice-e2e-hardware.ts +871 -0
  1125. package/scripts/voice-interactive.mjs +1750 -0
  1126. package/scripts/voice-latency-report.mjs +96 -0
  1127. package/scripts/voice-latency-report.test.ts +176 -0
  1128. package/scripts/voice-preset/build-default-voice-preset.mjs +249 -0
  1129. package/scripts/voice-preset/build-onboarding-voice.mjs +281 -0
  1130. package/scripts/watch-sms-gateway-readiness.mjs +303 -0
  1131. package/scripts/write-homepage-release-data.mjs +458 -26
  1132. package/security/agent-vault-id.d.ts +1 -1
  1133. package/security/agent-vault-id.js +1 -1
  1134. package/security/hydrate-wallet-keys-from-platform-store.d.ts.map +1 -1
  1135. package/security/hydrate-wallet-keys-from-platform-store.js +23 -14
  1136. package/security/platform-secure-store-node.d.ts +2 -2
  1137. package/security/platform-secure-store-node.js +3 -3
  1138. package/security/wallet-os-store-actions.d.ts +0 -9
  1139. package/security/wallet-os-store-actions.d.ts.map +1 -1
  1140. package/security/wallet-os-store-actions.js +3 -10
  1141. package/services/account-pool.d.ts +23 -14
  1142. package/services/account-pool.d.ts.map +1 -1
  1143. package/services/account-pool.js +86 -24
  1144. package/services/account-usage.d.ts.map +1 -1
  1145. package/services/account-usage.js +2 -5
  1146. package/services/ambient-audio/consent.d.ts +9 -0
  1147. package/services/ambient-audio/consent.d.ts.map +1 -0
  1148. package/services/ambient-audio/consent.js +28 -0
  1149. package/services/ambient-audio/index.d.ts +7 -0
  1150. package/services/ambient-audio/index.d.ts.map +1 -0
  1151. package/services/ambient-audio/index.js +4 -0
  1152. package/services/ambient-audio/replay-buffer.d.ts +14 -0
  1153. package/services/ambient-audio/replay-buffer.d.ts.map +1 -0
  1154. package/services/ambient-audio/replay-buffer.js +66 -0
  1155. package/services/ambient-audio/response-gate.d.ts +3 -0
  1156. package/services/ambient-audio/response-gate.d.ts.map +1 -0
  1157. package/services/ambient-audio/response-gate.js +33 -0
  1158. package/services/ambient-audio/service.d.ts +22 -0
  1159. package/services/ambient-audio/service.d.ts.map +1 -0
  1160. package/services/ambient-audio/service.js +47 -0
  1161. package/services/ambient-audio/types.d.ts +42 -0
  1162. package/services/ambient-audio/types.d.ts.map +1 -0
  1163. package/services/app-updates/update-policy.d.ts +64 -0
  1164. package/services/app-updates/update-policy.d.ts.map +1 -0
  1165. package/services/app-updates/update-policy.js +228 -0
  1166. package/services/auth-store.d.ts +37 -1
  1167. package/services/auth-store.d.ts.map +1 -1
  1168. package/services/auth-store.js +59 -26
  1169. package/services/cloud-jwks-store.d.ts +3 -3
  1170. package/services/cloud-jwks-store.d.ts.map +1 -1
  1171. package/services/cloud-jwks-store.js +5 -8
  1172. package/services/coding-account-bridge.d.ts +71 -0
  1173. package/services/coding-account-bridge.d.ts.map +1 -0
  1174. package/services/coding-account-bridge.js +267 -0
  1175. package/services/connector-target-catalog.d.ts +10 -3
  1176. package/services/connector-target-catalog.d.ts.map +1 -1
  1177. package/services/connector-target-catalog.js +7 -4
  1178. package/services/credential-tunnel-service.d.ts +66 -0
  1179. package/services/credential-tunnel-service.d.ts.map +1 -0
  1180. package/services/credential-tunnel-service.js +227 -0
  1181. package/services/github-credentials.d.ts +1 -1
  1182. package/services/github-credentials.js +1 -1
  1183. package/services/inference-abort.d.ts +47 -0
  1184. package/services/inference-abort.d.ts.map +1 -0
  1185. package/services/inference-abort.js +76 -0
  1186. package/services/persistence.d.ts +2 -3
  1187. package/services/persistence.d.ts.map +1 -1
  1188. package/services/persistence.js +2 -3
  1189. package/services/phrase-chunked-tts.d.ts +136 -0
  1190. package/services/phrase-chunked-tts.d.ts.map +1 -0
  1191. package/services/phrase-chunked-tts.js +208 -0
  1192. package/services/sandbox-registry.d.ts +78 -0
  1193. package/services/sandbox-registry.d.ts.map +1 -0
  1194. package/services/sandbox-registry.js +323 -0
  1195. package/services/secrets-manager-installer.d.ts +8 -1
  1196. package/services/secrets-manager-installer.d.ts.map +1 -1
  1197. package/services/secrets-manager-installer.js +27 -2
  1198. package/services/sensitive-requests/cloud-link-adapter.d.ts +15 -0
  1199. package/services/sensitive-requests/cloud-link-adapter.d.ts.map +1 -0
  1200. package/services/sensitive-requests/cloud-link-adapter.js +73 -0
  1201. package/services/sensitive-requests/index.d.ts +27 -0
  1202. package/services/sensitive-requests/index.d.ts.map +1 -0
  1203. package/services/sensitive-requests/index.js +51 -0
  1204. package/services/sensitive-requests/instruct-dm-only-adapter.d.ts +14 -0
  1205. package/services/sensitive-requests/instruct-dm-only-adapter.d.ts.map +1 -0
  1206. package/services/sensitive-requests/instruct-dm-only-adapter.js +22 -0
  1207. package/services/sensitive-requests/owner-app-inline-adapter.d.ts +3 -0
  1208. package/services/sensitive-requests/owner-app-inline-adapter.d.ts.map +1 -0
  1209. package/services/sensitive-requests/owner-app-inline-adapter.js +146 -0
  1210. package/services/sensitive-requests/owner-app-oauth-adapter.d.ts +3 -0
  1211. package/services/sensitive-requests/owner-app-oauth-adapter.d.ts.map +1 -0
  1212. package/services/sensitive-requests/owner-app-oauth-adapter.js +156 -0
  1213. package/services/sensitive-requests/public-link-adapter.d.ts +14 -0
  1214. package/services/sensitive-requests/public-link-adapter.d.ts.map +1 -0
  1215. package/services/sensitive-requests/public-link-adapter.js +86 -0
  1216. package/services/sensitive-requests/tunnel-link-adapter.d.ts +17 -0
  1217. package/services/sensitive-requests/tunnel-link-adapter.d.ts.map +1 -0
  1218. package/services/sensitive-requests/tunnel-link-adapter.js +38 -0
  1219. package/services/steward-credentials.d.ts +1 -1
  1220. package/services/steward-credentials.d.ts.map +1 -1
  1221. package/services/steward-credentials.js +10 -6
  1222. package/services/steward-sidecar/health-check.d.ts.map +1 -1
  1223. package/services/steward-sidecar/health-check.js +4 -3
  1224. package/services/steward-sidecar/process-management.d.ts +1 -1
  1225. package/services/steward-sidecar/process-management.d.ts.map +1 -1
  1226. package/services/steward-sidecar/process-management.js +9 -3
  1227. package/services/steward-sidecar/types.d.ts +1 -1
  1228. package/services/steward-sidecar/types.d.ts.map +1 -1
  1229. package/services/steward-sidecar/wallet-setup.d.ts.map +1 -1
  1230. package/services/steward-sidecar/wallet-setup.js +8 -7
  1231. package/services/steward-sidecar.d.ts +2 -2
  1232. package/services/steward-sidecar.d.ts.map +1 -1
  1233. package/services/steward-sidecar.js +27 -19
  1234. package/services/task-host-capabilities.d.ts +60 -0
  1235. package/services/task-host-capabilities.d.ts.map +1 -0
  1236. package/services/task-host-capabilities.js +122 -0
  1237. package/services/tool-call-cache/index.d.ts +2 -2
  1238. package/services/tool-call-cache/index.d.ts.map +1 -1
  1239. package/services/tool-call-cache/index.js +1 -1
  1240. package/services/trigger-event-bridge.js +1 -1
  1241. package/services/tunnel-to-mobile/index.d.ts +2 -0
  1242. package/services/tunnel-to-mobile/index.d.ts.map +1 -0
  1243. package/services/tunnel-to-mobile/index.js +1 -0
  1244. package/services/tunnel-to-mobile/tunnel-to-mobile-client.d.ts +105 -0
  1245. package/services/tunnel-to-mobile/tunnel-to-mobile-client.d.ts.map +1 -0
  1246. package/services/tunnel-to-mobile/tunnel-to-mobile-client.js +190 -0
  1247. package/services/vault-bootstrap.d.ts.map +1 -1
  1248. package/services/vault-bootstrap.js +48 -21
  1249. package/services/vault-mirror.d.ts +1 -1
  1250. package/services/vault-mirror.d.ts.map +1 -1
  1251. package/services/vault-mirror.js +29 -6
  1252. package/services/voice-profiles/diarization-pipeline.d.ts +6 -0
  1253. package/services/voice-profiles/diarization-pipeline.d.ts.map +1 -0
  1254. package/services/voice-profiles/diarization-pipeline.js +20 -0
  1255. package/services/voice-profiles/index.d.ts +12 -0
  1256. package/services/voice-profiles/index.d.ts.map +1 -0
  1257. package/services/voice-profiles/index.js +5 -0
  1258. package/services/voice-profiles/nickname-evaluator.d.ts +14 -0
  1259. package/services/voice-profiles/nickname-evaluator.d.ts.map +1 -0
  1260. package/services/voice-profiles/nickname-evaluator.js +46 -0
  1261. package/services/voice-profiles/owner-confidence.d.ts +10 -0
  1262. package/services/voice-profiles/owner-confidence.d.ts.map +1 -0
  1263. package/services/voice-profiles/owner-confidence.js +38 -0
  1264. package/services/voice-profiles/private-challenge.d.ts +20 -0
  1265. package/services/voice-profiles/private-challenge.d.ts.map +1 -0
  1266. package/services/voice-profiles/private-challenge.js +44 -0
  1267. package/services/voice-profiles/store.d.ts +21 -0
  1268. package/services/voice-profiles/store.d.ts.map +1 -0
  1269. package/services/voice-profiles/store.js +50 -0
  1270. package/services/voice-profiles/types.d.ts +38 -0
  1271. package/services/voice-profiles/types.d.ts.map +1 -0
  1272. package/services/voice-profiles/types.js +1 -0
  1273. package/styles/electrobun-mac-window-drag.css +4 -4
  1274. package/test/helpers/__tests__/live-agent-test.smoke.test.ts +43 -70
  1275. package/test/helpers/browser-mocks.ts +2 -2
  1276. package/test/helpers/conditional-tests.ts +2 -2
  1277. package/test/helpers/i18n.ts +1 -1
  1278. package/test/helpers/live-agent-test.ts +537 -551
  1279. package/test/helpers/live-provider.test.ts +4 -4
  1280. package/test/helpers/live-provider.ts +41 -7
  1281. package/test/helpers/live-runtime-server.ts +4 -4
  1282. package/test/helpers/pglite-runtime.ts +1 -1
  1283. package/test/helpers/real-runtime.ts +72 -20
  1284. package/test/helpers/trajectory-harness.ts +11 -7
  1285. package/test/scripts/start-eliza-live.ts +9 -0
  1286. package/test/scripts/test-parallel.mjs +1 -1
  1287. package/test/scripts/test-root-unit.mjs +6 -7
  1288. package/ui-compat.d.ts +13 -2
  1289. package/ui-compat.d.ts.map +1 -1
  1290. package/ui-compat.js +19 -3
  1291. package/api/auth-pairing-compat-routes.d.ts +0 -17
  1292. package/api/auth-pairing-compat-routes.d.ts.map +0 -1
  1293. package/api/auth-pairing-compat-routes.js +0 -301
  1294. package/api/local-inference-compat-routes.d.ts +0 -16
  1295. package/api/local-inference-compat-routes.d.ts.map +0 -1
  1296. package/api/local-inference-compat-routes.js +0 -617
  1297. package/api/onboarding-compat-routes.d.ts +0 -4
  1298. package/api/onboarding-compat-routes.d.ts.map +0 -1
  1299. package/api/onboarding-compat-routes.js +0 -207
  1300. package/api/plugins-compat-routes.d.ts +0 -103
  1301. package/api/plugins-compat-routes.d.ts.map +0 -1
  1302. package/api/plugins-compat-routes.js +0 -1181
  1303. package/api/server-onboarding-compat.d.ts +0 -31
  1304. package/api/server-onboarding-compat.d.ts.map +0 -1
  1305. package/api/server-onboarding-compat.js +0 -283
  1306. package/benchmark/cua-routes.d.ts +0 -10
  1307. package/benchmark/cua-routes.d.ts.map +0 -1
  1308. package/benchmark/cua-routes.js +0 -179
  1309. package/benchmark/mock-plugin-base.d.ts +0 -9
  1310. package/benchmark/mock-plugin-base.d.ts.map +0 -1
  1311. package/benchmark/mock-plugin-base.js +0 -325
  1312. package/cli/parse-duration.d.ts +0 -5
  1313. package/cli/parse-duration.d.ts.map +0 -1
  1314. package/cli/parse-duration.js +0 -27
  1315. package/patches/llama-cpp-capacitor@0.1.5.patch +0 -2387
  1316. package/platform/agent-browser-stub.d.ts +0 -27
  1317. package/platform/agent-browser-stub.d.ts.map +0 -1
  1318. package/platform/agent-browser-stub.js +0 -16
  1319. package/platforms/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java +0 -26
  1320. package/platforms/android/app/src/main/res/drawable/ic_launcher_background.xml +0 -170
  1321. package/platforms/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +0 -34
  1322. package/platforms/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java +0 -18
  1323. package/platforms/electrobun/assets/appIcon.iconset/icon_512x512@2x.png +0 -0
  1324. package/platforms/electrobun/assets/appIcon.png +0 -0
  1325. package/platforms/electrobun/scripts/build-whisper-universal.sh +0 -137
  1326. package/platforms/electrobun/scripts/build-whisper.sh +0 -95
  1327. package/platforms/electrobun/src/libMacWindowEffects.dylib +0 -0
  1328. package/platforms/electrobun/src/native/whisper.ts +0 -280
  1329. package/platforms/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png +0 -0
  1330. package/platforms/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png +0 -0
  1331. package/platforms/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png +0 -0
  1332. package/registry/generate-apps.d.ts +0 -2
  1333. package/registry/generate-apps.d.ts.map +0 -1
  1334. package/registry/generate-apps.js +0 -338
  1335. package/registry/generate.d.ts +0 -2
  1336. package/registry/generate.d.ts.map +0 -1
  1337. package/registry/generate.js +0 -506
  1338. package/runtime/embedding-manager-support.d.ts +0 -77
  1339. package/runtime/embedding-manager-support.d.ts.map +0 -1
  1340. package/runtime/embedding-manager-support.js +0 -309
  1341. package/runtime/embedding-presets.d.ts +0 -5
  1342. package/runtime/embedding-presets.d.ts.map +0 -1
  1343. package/runtime/embedding-presets.js +0 -47
  1344. package/runtime/embedding-warmup-policy.d.ts +0 -13
  1345. package/runtime/embedding-warmup-policy.d.ts.map +0 -1
  1346. package/runtime/embedding-warmup-policy.js +0 -33
  1347. package/runtime/ensure-local-inference-handler.d.ts +0 -25
  1348. package/runtime/ensure-local-inference-handler.d.ts.map +0 -1
  1349. package/runtime/ensure-local-inference-handler.js +0 -389
  1350. package/runtime/mobile-local-inference-gate.d.ts +0 -21
  1351. package/runtime/mobile-local-inference-gate.d.ts.map +0 -1
  1352. package/runtime/mobile-local-inference-gate.js +0 -24
  1353. package/scripts/aosp/avd-test.mjs +0 -403
  1354. package/scripts/aosp/boot-validate.mjs +0 -536
  1355. package/scripts/aosp/build-aosp.mjs +0 -448
  1356. package/scripts/aosp/build-bootanimation.mjs +0 -178
  1357. package/scripts/aosp/capture-screens.mjs +0 -325
  1358. package/scripts/aosp/e2e-validate.mjs +0 -225
  1359. package/scripts/aosp/lint-init-rc.mjs +0 -258
  1360. package/scripts/aosp/llama-shim/eliza_llama_shim.c +0 -276
  1361. package/scripts/aosp/sim.mjs +0 -277
  1362. package/scripts/aosp/sync-to-aosp.mjs +0 -134
  1363. package/scripts/aosp/validate.mjs +0 -1273
  1364. package/scripts/build-llama-cpp-dflash.mjs +0 -1866
  1365. package/scripts/generate-onboarding-voicelines.mjs +0 -194
  1366. package/scripts/generated/static-asset-manifest.json +0 -4
  1367. package/scripts/normalize-parallax-capture.ts +0 -97
  1368. package/scripts/omnivoice-fuse/Makefile +0 -44
  1369. package/scripts/omnivoice-fuse/README.md +0 -266
  1370. package/scripts/omnivoice-fuse/cmake-graft.mjs +0 -180
  1371. package/scripts/omnivoice-fuse/ffi-stub.c +0 -222
  1372. package/scripts/omnivoice-fuse/ffi.h +0 -158
  1373. package/scripts/omnivoice-fuse/libelizainference_stub.dylib +0 -0
  1374. package/scripts/omnivoice-fuse/verify-symbols.mjs +0 -138
  1375. package/security/cloud-secret-store.d.ts +0 -34
  1376. package/security/cloud-secret-store.d.ts.map +0 -1
  1377. package/security/cloud-secret-store.js +0 -65
  1378. package/security/export-guard.d.ts +0 -34
  1379. package/security/export-guard.d.ts.map +0 -1
  1380. package/security/export-guard.js +0 -127
  1381. package/services/local-inference/__stress__/cache-stress-helpers.d.ts +0 -76
  1382. package/services/local-inference/__stress__/cache-stress-helpers.d.ts.map +0 -1
  1383. package/services/local-inference/__stress__/cache-stress-helpers.js +0 -238
  1384. package/services/local-inference/active-model.d.ts +0 -180
  1385. package/services/local-inference/active-model.d.ts.map +0 -1
  1386. package/services/local-inference/active-model.js +0 -362
  1387. package/services/local-inference/assignments.d.ts +0 -58
  1388. package/services/local-inference/assignments.d.ts.map +0 -1
  1389. package/services/local-inference/assignments.js +0 -179
  1390. package/services/local-inference/backend.d.ts +0 -200
  1391. package/services/local-inference/backend.d.ts.map +0 -1
  1392. package/services/local-inference/backend.js +0 -242
  1393. package/services/local-inference/bundled-models.d.ts +0 -34
  1394. package/services/local-inference/bundled-models.d.ts.map +0 -1
  1395. package/services/local-inference/bundled-models.js +0 -104
  1396. package/services/local-inference/cache-bridge.d.ts +0 -184
  1397. package/services/local-inference/cache-bridge.d.ts.map +0 -1
  1398. package/services/local-inference/cache-bridge.js +0 -333
  1399. package/services/local-inference/catalog.d.ts +0 -57
  1400. package/services/local-inference/catalog.d.ts.map +0 -1
  1401. package/services/local-inference/catalog.js +0 -262
  1402. package/services/local-inference/conversation-registry.d.ts +0 -122
  1403. package/services/local-inference/conversation-registry.d.ts.map +0 -1
  1404. package/services/local-inference/conversation-registry.js +0 -182
  1405. package/services/local-inference/device-bridge.d.ts +0 -139
  1406. package/services/local-inference/device-bridge.d.ts.map +0 -1
  1407. package/services/local-inference/device-bridge.js +0 -774
  1408. package/services/local-inference/dflash-doctor.d.ts +0 -27
  1409. package/services/local-inference/dflash-doctor.d.ts.map +0 -1
  1410. package/services/local-inference/dflash-doctor.js +0 -149
  1411. package/services/local-inference/dflash-server.d.ts +0 -248
  1412. package/services/local-inference/dflash-server.d.ts.map +0 -1
  1413. package/services/local-inference/dflash-server.js +0 -1076
  1414. package/services/local-inference/downloader.d.ts +0 -48
  1415. package/services/local-inference/downloader.d.ts.map +0 -1
  1416. package/services/local-inference/downloader.js +0 -688
  1417. package/services/local-inference/engine.d.ts +0 -282
  1418. package/services/local-inference/engine.d.ts.map +0 -1
  1419. package/services/local-inference/engine.js +0 -743
  1420. package/services/local-inference/external-scanner.d.ts +0 -17
  1421. package/services/local-inference/external-scanner.d.ts.map +0 -1
  1422. package/services/local-inference/external-scanner.js +0 -261
  1423. package/services/local-inference/handler-registry.d.ts +0 -72
  1424. package/services/local-inference/handler-registry.d.ts.map +0 -1
  1425. package/services/local-inference/handler-registry.js +0 -159
  1426. package/services/local-inference/hardware.d.ts +0 -26
  1427. package/services/local-inference/hardware.d.ts.map +0 -1
  1428. package/services/local-inference/hardware.js +0 -139
  1429. package/services/local-inference/hf-search.d.ts +0 -19
  1430. package/services/local-inference/hf-search.d.ts.map +0 -1
  1431. package/services/local-inference/hf-search.js +0 -169
  1432. package/services/local-inference/index.d.ts +0 -10
  1433. package/services/local-inference/index.d.ts.map +0 -1
  1434. package/services/local-inference/index.js +0 -7
  1435. package/services/local-inference/llama-server-metrics.d.ts +0 -108
  1436. package/services/local-inference/llama-server-metrics.d.ts.map +0 -1
  1437. package/services/local-inference/llama-server-metrics.js +0 -175
  1438. package/services/local-inference/manifest/index.d.ts +0 -4
  1439. package/services/local-inference/manifest/index.d.ts.map +0 -1
  1440. package/services/local-inference/manifest/index.js +0 -5
  1441. package/services/local-inference/manifest/schema.d.ts +0 -419
  1442. package/services/local-inference/manifest/schema.d.ts.map +0 -1
  1443. package/services/local-inference/manifest/schema.js +0 -227
  1444. package/services/local-inference/manifest/types.d.ts +0 -23
  1445. package/services/local-inference/manifest/types.d.ts.map +0 -1
  1446. package/services/local-inference/manifest/types.js +0 -5
  1447. package/services/local-inference/manifest/validator.d.ts +0 -43
  1448. package/services/local-inference/manifest/validator.d.ts.map +0 -1
  1449. package/services/local-inference/manifest/validator.js +0 -180
  1450. package/services/local-inference/paths.d.ts +0 -8
  1451. package/services/local-inference/paths.d.ts.map +0 -1
  1452. package/services/local-inference/paths.js +0 -7
  1453. package/services/local-inference/providers.d.ts +0 -61
  1454. package/services/local-inference/providers.d.ts.map +0 -1
  1455. package/services/local-inference/providers.js +0 -334
  1456. package/services/local-inference/ram-budget.d.ts +0 -57
  1457. package/services/local-inference/ram-budget.d.ts.map +0 -1
  1458. package/services/local-inference/ram-budget.js +0 -107
  1459. package/services/local-inference/readiness.d.ts +0 -9
  1460. package/services/local-inference/readiness.d.ts.map +0 -1
  1461. package/services/local-inference/readiness.js +0 -153
  1462. package/services/local-inference/recommendation.d.ts +0 -62
  1463. package/services/local-inference/recommendation.d.ts.map +0 -1
  1464. package/services/local-inference/recommendation.js +0 -309
  1465. package/services/local-inference/registry.d.ts +0 -35
  1466. package/services/local-inference/registry.d.ts.map +0 -1
  1467. package/services/local-inference/registry.js +0 -117
  1468. package/services/local-inference/router-handler.d.ts +0 -51
  1469. package/services/local-inference/router-handler.d.ts.map +0 -1
  1470. package/services/local-inference/router-handler.js +0 -165
  1471. package/services/local-inference/routing-policy.d.ts +0 -55
  1472. package/services/local-inference/routing-policy.d.ts.map +0 -1
  1473. package/services/local-inference/routing-policy.js +0 -195
  1474. package/services/local-inference/routing-preferences.d.ts +0 -8
  1475. package/services/local-inference/routing-preferences.d.ts.map +0 -1
  1476. package/services/local-inference/routing-preferences.js +0 -7
  1477. package/services/local-inference/service.d.ts +0 -88
  1478. package/services/local-inference/service.d.ts.map +0 -1
  1479. package/services/local-inference/service.js +0 -210
  1480. package/services/local-inference/session-pool.d.ts +0 -72
  1481. package/services/local-inference/session-pool.d.ts.map +0 -1
  1482. package/services/local-inference/session-pool.js +0 -125
  1483. package/services/local-inference/types.d.ts +0 -309
  1484. package/services/local-inference/types.d.ts.map +0 -1
  1485. package/services/local-inference/types.js +0 -23
  1486. package/services/local-inference/verify.d.ts +0 -8
  1487. package/services/local-inference/verify.d.ts.map +0 -1
  1488. package/services/local-inference/verify.js +0 -7
  1489. package/services/local-inference/voice/barge-in.d.ts +0 -15
  1490. package/services/local-inference/voice/barge-in.d.ts.map +0 -1
  1491. package/services/local-inference/voice/barge-in.js +0 -20
  1492. package/services/local-inference/voice/engine-bridge.d.ts +0 -256
  1493. package/services/local-inference/voice/engine-bridge.d.ts.map +0 -1
  1494. package/services/local-inference/voice/engine-bridge.js +0 -398
  1495. package/services/local-inference/voice/ffi-bindings.d.ts +0 -114
  1496. package/services/local-inference/voice/ffi-bindings.d.ts.map +0 -1
  1497. package/services/local-inference/voice/ffi-bindings.js +0 -281
  1498. package/services/local-inference/voice/index.d.ts +0 -51
  1499. package/services/local-inference/voice/index.d.ts.map +0 -1
  1500. package/services/local-inference/voice/index.js +0 -50
  1501. package/services/local-inference/voice/lifecycle.d.ts +0 -135
  1502. package/services/local-inference/voice/lifecycle.d.ts.map +0 -1
  1503. package/services/local-inference/voice/lifecycle.js +0 -189
  1504. package/services/local-inference/voice/phoneme-tokenizer.d.ts +0 -58
  1505. package/services/local-inference/voice/phoneme-tokenizer.d.ts.map +0 -1
  1506. package/services/local-inference/voice/phoneme-tokenizer.js +0 -53
  1507. package/services/local-inference/voice/phrase-cache.d.ts +0 -24
  1508. package/services/local-inference/voice/phrase-cache.d.ts.map +0 -1
  1509. package/services/local-inference/voice/phrase-cache.js +0 -32
  1510. package/services/local-inference/voice/phrase-chunker.d.ts +0 -20
  1511. package/services/local-inference/voice/phrase-chunker.d.ts.map +0 -1
  1512. package/services/local-inference/voice/phrase-chunker.js +0 -85
  1513. package/services/local-inference/voice/ring-buffer.d.ts +0 -40
  1514. package/services/local-inference/voice/ring-buffer.d.ts.map +0 -1
  1515. package/services/local-inference/voice/ring-buffer.js +0 -85
  1516. package/services/local-inference/voice/rollback-queue.d.ts +0 -24
  1517. package/services/local-inference/voice/rollback-queue.d.ts.map +0 -1
  1518. package/services/local-inference/voice/rollback-queue.js +0 -49
  1519. package/services/local-inference/voice/scheduler.d.ts +0 -47
  1520. package/services/local-inference/voice/scheduler.d.ts.map +0 -1
  1521. package/services/local-inference/voice/scheduler.js +0 -123
  1522. package/services/local-inference/voice/shared-resources.d.ts +0 -119
  1523. package/services/local-inference/voice/shared-resources.d.ts.map +0 -1
  1524. package/services/local-inference/voice/shared-resources.js +0 -83
  1525. package/services/local-inference/voice/speaker-preset-cache.d.ts +0 -28
  1526. package/services/local-inference/voice/speaker-preset-cache.d.ts.map +0 -1
  1527. package/services/local-inference/voice/speaker-preset-cache.js +0 -44
  1528. package/services/local-inference/voice/types.d.ts +0 -80
  1529. package/services/local-inference/voice/types.d.ts.map +0 -1
  1530. package/services/local-inference/voice/voice-preset-format.d.ts +0 -56
  1531. package/services/local-inference/voice/voice-preset-format.d.ts.map +0 -1
  1532. package/services/local-inference/voice/voice-preset-format.js +0 -184
  1533. package/services/plugin-installer.d.ts +0 -22
  1534. package/services/plugin-installer.d.ts.map +0 -1
  1535. package/services/plugin-installer.js +0 -41
  1536. package/test/scripts/task-agent-live-smoke.ts +0 -1335
  1537. /package/services/{local-inference/voice → ambient-audio}/types.js +0 -0
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Per-runtime in-flight inference AbortController registry.
3
+ *
4
+ * Wave 3C's `useAppLifecycleEvents` hook (`packages/ui/src/state/
5
+ * useAppLifecycleEvents.ts`) fires `chatAbortRef.current?.abort()` on
6
+ * `APP_PAUSE_EVENT` to cancel UI-side streams before iOS suspends the
7
+ * WKWebView. That covers the UI's fetch streams. This module covers the
8
+ * runtime side: inference paths internal to the agent (the AOSP llama FFI
9
+ * adapter, the cloud-fallback wrapper, and local model calls) can register
10
+ * their `AbortController` here so a single hook can
11
+ * abort ALL of them at once on pause / shutdown / account switch.
12
+ *
13
+ * Contract:
14
+ * - `trackInflight(runtime, ctrl)` returns a disposer. Callers MUST call
15
+ * the disposer in their `finally` block so completed calls don't keep
16
+ * references alive.
17
+ * - `abortInflightInference(runtime)` calls `.abort()` on every tracked
18
+ * controller for the runtime and clears the set. Returns the count so
19
+ * the caller can log how many were canceled.
20
+ * - WeakMap-keyed by runtime so per-account or test-runtime instances
21
+ * don't leak across each other.
22
+ */
23
+ import type { IAgentRuntime } from "@elizaos/core";
24
+ /**
25
+ * Register a fresh `AbortController` with the runtime's in-flight set.
26
+ * Returns a disposer that removes the controller from the set; callers
27
+ * MUST invoke it in the finally block so completed calls are GC'd.
28
+ */
29
+ export declare function trackInflight(runtime: IAgentRuntime, controller: AbortController): () => void;
30
+ /**
31
+ * Abort every in-flight inference controller for the runtime. Called by
32
+ * the UI on `APP_PAUSE_EVENT` and by other shutdown paths (account
33
+ * switch, hard logout, runtime teardown).
34
+ *
35
+ * Returns `{aborted}` so the caller can emit a structured log line.
36
+ * Idempotent — calling on a runtime with no in-flight work returns
37
+ * `{aborted: 0}` and does nothing.
38
+ */
39
+ export declare function abortInflightInference(runtime: IAgentRuntime): {
40
+ aborted: number;
41
+ };
42
+ /**
43
+ * Inspect the current in-flight count without aborting. Used by
44
+ * diagnostics endpoints (e.g. `/api/health` extension) and tests.
45
+ */
46
+ export declare function getInflightInferenceCount(runtime: IAgentRuntime): number;
47
+ //# sourceMappingURL=inference-abort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inference-abort.d.ts","sourceRoot":"","sources":["../../../../../src/services/inference-abort.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,eAAe,GAC1B,MAAM,IAAI,CAUZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG;IAC9D,OAAO,EAAE,MAAM,CAAC;CACjB,CAWA;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAExE"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Per-runtime in-flight inference AbortController registry.
3
+ *
4
+ * Wave 3C's `useAppLifecycleEvents` hook (`packages/ui/src/state/
5
+ * useAppLifecycleEvents.ts`) fires `chatAbortRef.current?.abort()` on
6
+ * `APP_PAUSE_EVENT` to cancel UI-side streams before iOS suspends the
7
+ * WKWebView. That covers the UI's fetch streams. This module covers the
8
+ * runtime side: inference paths internal to the agent (the AOSP llama FFI
9
+ * adapter, the cloud-fallback wrapper, and local model calls) can register
10
+ * their `AbortController` here so a single hook can
11
+ * abort ALL of them at once on pause / shutdown / account switch.
12
+ *
13
+ * Contract:
14
+ * - `trackInflight(runtime, ctrl)` returns a disposer. Callers MUST call
15
+ * the disposer in their `finally` block so completed calls don't keep
16
+ * references alive.
17
+ * - `abortInflightInference(runtime)` calls `.abort()` on every tracked
18
+ * controller for the runtime and clears the set. Returns the count so
19
+ * the caller can log how many were canceled.
20
+ * - WeakMap-keyed by runtime so per-account or test-runtime instances
21
+ * don't leak across each other.
22
+ */
23
+ const trackers = new WeakMap();
24
+ /**
25
+ * Register a fresh `AbortController` with the runtime's in-flight set.
26
+ * Returns a disposer that removes the controller from the set; callers
27
+ * MUST invoke it in the finally block so completed calls are GC'd.
28
+ */
29
+ export function trackInflight(runtime, controller) {
30
+ let set = trackers.get(runtime);
31
+ if (!set) {
32
+ set = new Set();
33
+ trackers.set(runtime, set);
34
+ }
35
+ set.add(controller);
36
+ return () => {
37
+ set.delete(controller);
38
+ };
39
+ }
40
+ /**
41
+ * Abort every in-flight inference controller for the runtime. Called by
42
+ * the UI on `APP_PAUSE_EVENT` and by other shutdown paths (account
43
+ * switch, hard logout, runtime teardown).
44
+ *
45
+ * Returns `{aborted}` so the caller can emit a structured log line.
46
+ * Idempotent — calling on a runtime with no in-flight work returns
47
+ * `{aborted: 0}` and does nothing.
48
+ */
49
+ export function abortInflightInference(runtime) {
50
+ const set = trackers.get(runtime);
51
+ if (!set || set.size === 0) {
52
+ return { aborted: 0 };
53
+ }
54
+ const count = set.size;
55
+ for (const controller of set) {
56
+ controller.abort();
57
+ }
58
+ set.clear();
59
+ return { aborted: count };
60
+ }
61
+ /**
62
+ * Inspect the current in-flight count without aborting. Used by
63
+ * diagnostics endpoints (e.g. `/api/health` extension) and tests.
64
+ */
65
+ export function getInflightInferenceCount(runtime) {
66
+ return trackers.get(runtime)?.size ?? 0;
67
+ }
68
+ /**
69
+ * Test-only reset. Wipes the runtime's tracker entirely. Do NOT call
70
+ * from production code.
71
+ *
72
+ * @internal
73
+ */
74
+ export function __resetInflightInferenceForTests(runtime) {
75
+ trackers.delete(runtime);
76
+ }
@@ -10,9 +10,8 @@
10
10
  * Preferences when it isn't (e.g. older mobile shells that haven't shipped
11
11
  * the SQLite plugin yet, or web preview).
12
12
  *
13
- * Token storage MUST go through Keychain on iOS — handled by a separate
14
- * follow-up identified in the prior security review and intentionally NOT
15
- * touched here.
13
+ * Token storage MUST go through Keychain on iOS — handled separately by
14
+ * `platform-secure-store-node.ts`.
16
15
  */
17
16
  export interface PersistenceAdapter {
18
17
  readonly kind: "ios-preferences" | "ios-sqlite" | "web-localstorage";
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../../../src/services/persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,YAAY,GAAG,kBAAkB,CAAC;IACrE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,0DAA0D;IAC1D,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC3B;AAmFD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,iBAAiB,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrD,yBAAyB,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC9D;AAeD;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,GAAE,cAA+B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAK7B;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../../../src/services/persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,YAAY,GAAG,kBAAkB,CAAC;IACrE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,0DAA0D;IAC1D,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC3B;AAmFD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,iBAAiB,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrD,yBAAyB,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC9D;AAeD;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,GAAE,cAA+B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAK7B;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
@@ -10,9 +10,8 @@
10
10
  * Preferences when it isn't (e.g. older mobile shells that haven't shipped
11
11
  * the SQLite plugin yet, or web preview).
12
12
  *
13
- * Token storage MUST go through Keychain on iOS — handled by a separate
14
- * follow-up identified in the prior security review and intentionally NOT
15
- * touched here.
13
+ * Token storage MUST go through Keychain on iOS — handled separately by
14
+ * `platform-secure-store-node.ts`.
16
15
  */
17
16
  import { isSqliteAvailable, openDatabase, } from "../connectors/capacitor-sqlite.js";
18
17
  class IosPreferencesAdapter {
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Stream-driven phrase-chunked TTS adapter.
3
+ *
4
+ * Wraps any TTS handler (Edge TTS, ElevenLabs, OpenAI, omnivoice — anything
5
+ * that takes a string and returns audio) so that a streaming LLM response
6
+ * can be spoken out progressively: the first sentence/clause hits TTS as
7
+ * soon as the chunker accepts a boundary, then subsequent phrases follow
8
+ * while the LLM is still emitting tokens.
9
+ *
10
+ * Why this lives in app-core: the canonical phrase boundary policy
11
+ * (`PhraseChunker` — commas/semicolons/colons + 30-word cap + 700 ms time
12
+ * budget) is owned by the local-inference voice subsystem. This adapter
13
+ * makes that policy reusable from the REMOTE chat→TTS path (Discord,
14
+ * dashboard SSE→synthesis, phone) where the LLM streams text but the TTS
15
+ * backend only accepts complete strings.
16
+ *
17
+ * Latency contract:
18
+ * - First TTS call fires on the first punctuation boundary OR on the
19
+ * max-token cap (default 30 words), whichever lands first.
20
+ * - If the producer stalls between tokens for >= the time-budget window
21
+ * (default 700 ms), the in-flight phrase is force-flushed so audio
22
+ * never waits on a slow upstream.
23
+ * - `finish()` drains the tail phrase exactly once.
24
+ *
25
+ * This module is intentionally side-effect free: callers supply the TTS
26
+ * function and the audio sink. We don't decode, we don't queue audio —
27
+ * we just hand sentence-sized strings to the TTS function in order.
28
+ */
29
+ export interface AcceptedToken {
30
+ index: number;
31
+ text: string;
32
+ id?: number;
33
+ acceptedAt: number;
34
+ }
35
+ export interface Phrase {
36
+ id: number;
37
+ text: string;
38
+ fromIndex: number;
39
+ toIndex: number;
40
+ terminator: "punctuation" | "max-cap" | "phoneme-stream";
41
+ }
42
+ export interface PhraseChunkerConfig {
43
+ maxTokensPerPhrase?: number;
44
+ sentenceTerminators?: ReadonlySet<string>;
45
+ chunkOn?: "punctuation" | "phoneme-stream";
46
+ phonemesPerChunk?: number;
47
+ maxAccumulationMs?: number;
48
+ }
49
+ export interface PhraseChunkedTtsOptions {
50
+ /** Phrase chunker configuration. See `PhraseChunkerConfig`. */
51
+ chunker?: PhraseChunkerConfig;
52
+ /**
53
+ * Optional clock override for tests. Defaults to `performance.now()`.
54
+ */
55
+ clock?: () => number;
56
+ /**
57
+ * Called once per phrase that's been handed to the TTS handler, after
58
+ * the handler resolves. Receives the phrase + TTS output. Use this to
59
+ * push audio into your sink (HTTP chunked transfer, MediaSource, Discord
60
+ * AudioPlayer, etc.).
61
+ */
62
+ onAudio?: (phrase: Phrase, audio: unknown) => void | Promise<void>;
63
+ /**
64
+ * Called when the chunker emits a phrase but BEFORE the TTS handler is
65
+ * invoked. Use for tracing — e.g. `markVoiceLatency(roomId, "phrase-1-to-tts")`.
66
+ */
67
+ onPhraseEmit?: (phrase: Phrase) => void;
68
+ /**
69
+ * Called when a TTS handler call rejects. Default: rethrow on
70
+ * `finish()`. Set to `"swallow"` to log + continue (next phrase still
71
+ * goes to TTS). The handler error itself is passed for logging.
72
+ */
73
+ onTtsError?: (phrase: Phrase, err: unknown) => "swallow" | "fail";
74
+ }
75
+ export type TtsHandler = (text: string) => Promise<unknown> | unknown;
76
+ /**
77
+ * A phrase-chunked TTS pipeline. Push raw streaming chunks via `push()`;
78
+ * call `finish()` after the LLM stream ends to flush the tail phrase and
79
+ * await all in-flight TTS calls.
80
+ *
81
+ * Usage:
82
+ * const pipe = new PhraseChunkedTts(ttsHandler, { onAudio: writeToSink });
83
+ * for await (const chunk of llmStream) pipe.push(chunk);
84
+ * await pipe.finish();
85
+ */
86
+ export declare class PhraseChunkedTts {
87
+ private readonly chunker;
88
+ private readonly clock;
89
+ private readonly tts;
90
+ private readonly opts;
91
+ private tokenIndex;
92
+ /** In-flight TTS promises so `finish()` can await playback ordering. */
93
+ private readonly inflight;
94
+ private timeBudgetTimer;
95
+ private firstError;
96
+ private closed;
97
+ constructor(tts: TtsHandler, opts?: PhraseChunkedTtsOptions);
98
+ /**
99
+ * Pre-load the PhraseChunker class from plugin-local-inference. Must be
100
+ * called (and awaited) before the first `new PhraseChunkedTts()` when the
101
+ * module has not been statically imported. Idempotent — safe to call
102
+ * multiple times concurrently.
103
+ */
104
+ static load(): Promise<void>;
105
+ /**
106
+ * Push a streaming LLM chunk. May span multiple words. Phrase boundaries
107
+ * are detected by the chunker; when one fires, the phrase text is handed
108
+ * to the TTS handler immediately (its returned promise is tracked).
109
+ */
110
+ push(chunk: string): void;
111
+ /**
112
+ * Drain the tail phrase (if any) and await all in-flight TTS calls.
113
+ * Returns when every dispatched phrase has resolved or rejected. After
114
+ * `finish()` the pipeline cannot be reused.
115
+ */
116
+ finish(): Promise<void>;
117
+ /** Cancel without awaiting in-flight TTS. Safe to call after `finish()`. */
118
+ cancel(): void;
119
+ private dispatchPhrase;
120
+ /**
121
+ * Re-arm the time-budget timer. The chunker has an internal time-budget
122
+ * flush, but it only checks at `push()` time — a producer that goes
123
+ * silent before pushing the next token would stall an in-flight phrase
124
+ * forever. The timer polls the chunker once the budget window elapses
125
+ * with no new pushes.
126
+ */
127
+ private scheduleTimeBudget;
128
+ }
129
+ /**
130
+ * One-shot helper: drive an async iterable of text chunks through
131
+ * `PhraseChunkedTts`. Returns when the iterable is exhausted and all TTS
132
+ * calls have settled. Exists so SSE/streaming callers don't have to write
133
+ * the for-await boilerplate.
134
+ */
135
+ export declare function speakStreamingText(source: AsyncIterable<string>, tts: TtsHandler, opts?: PhraseChunkedTtsOptions): Promise<void>;
136
+ //# sourceMappingURL=phrase-chunked-tts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phrase-chunked-tts.d.ts","sourceRoot":"","sources":["../../../../../src/services/phrase-chunked-tts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,GAAG,SAAS,GAAG,gBAAgB,CAAC;CAC1D;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA0CD,MAAM,WAAW,uBAAuB;IACtC,+DAA+D;IAC/D,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,SAAS,GAAG,MAAM,CAAC;CACnE;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEtE;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAC/C,OAAO,CAAC,UAAU,CAAK;IACvB,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,MAAM,CAAS;gBAEX,GAAG,EAAE,UAAU,EAAE,IAAI,GAAE,uBAA4B;IAY/D;;;;;OAKG;WACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAiBzB;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7B,4EAA4E;IAC5E,MAAM,IAAI,IAAI;IASd,OAAO,CAAC,cAAc;IAmBtB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;CAyB3B;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,GAAG,EAAE,UAAU,EACf,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -0,0 +1,208 @@
1
+ /**
2
+ * Stream-driven phrase-chunked TTS adapter.
3
+ *
4
+ * Wraps any TTS handler (Edge TTS, ElevenLabs, OpenAI, omnivoice — anything
5
+ * that takes a string and returns audio) so that a streaming LLM response
6
+ * can be spoken out progressively: the first sentence/clause hits TTS as
7
+ * soon as the chunker accepts a boundary, then subsequent phrases follow
8
+ * while the LLM is still emitting tokens.
9
+ *
10
+ * Why this lives in app-core: the canonical phrase boundary policy
11
+ * (`PhraseChunker` — commas/semicolons/colons + 30-word cap + 700 ms time
12
+ * budget) is owned by the local-inference voice subsystem. This adapter
13
+ * makes that policy reusable from the REMOTE chat→TTS path (Discord,
14
+ * dashboard SSE→synthesis, phone) where the LLM streams text but the TTS
15
+ * backend only accepts complete strings.
16
+ *
17
+ * Latency contract:
18
+ * - First TTS call fires on the first punctuation boundary OR on the
19
+ * max-token cap (default 30 words), whichever lands first.
20
+ * - If the producer stalls between tokens for >= the time-budget window
21
+ * (default 700 ms), the in-flight phrase is force-flushed so audio
22
+ * never waits on a slow upstream.
23
+ * - `finish()` drains the tail phrase exactly once.
24
+ *
25
+ * This module is intentionally side-effect free: callers supply the TTS
26
+ * function and the audio sink. We don't decode, we don't queue audio —
27
+ * we just hand sentence-sized strings to the TTS function in order.
28
+ */
29
+ // Lazy module reference — avoids a static boundary violation while preserving
30
+ // synchronous construction semantics for callers that supply the PhraseChunker
31
+ // class via `PhraseChunkedTtsOptions.chunkerClass` (used in tests).
32
+ let _PhraseChunkerClass;
33
+ let _servicesImport;
34
+ function requirePhraseChunker() {
35
+ if (_PhraseChunkerClass)
36
+ return _PhraseChunkerClass;
37
+ throw new Error("PhraseChunker class unavailable — call await PhraseChunkedTts.load() before constructing instances, or provide chunkerClass in options.");
38
+ }
39
+ /** Pre-warm the PhraseChunker class. Called automatically when the first
40
+ * PhraseChunkedTts is instantiated if the class is not already loaded. */
41
+ async function ensurePhraseChunkerLoaded() {
42
+ if (_PhraseChunkerClass)
43
+ return;
44
+ _servicesImport ??= import("@elizaos/plugin-local-inference/services");
45
+ const mod = await _servicesImport;
46
+ _PhraseChunkerClass = mod.PhraseChunker;
47
+ }
48
+ /**
49
+ * A phrase-chunked TTS pipeline. Push raw streaming chunks via `push()`;
50
+ * call `finish()` after the LLM stream ends to flush the tail phrase and
51
+ * await all in-flight TTS calls.
52
+ *
53
+ * Usage:
54
+ * const pipe = new PhraseChunkedTts(ttsHandler, { onAudio: writeToSink });
55
+ * for await (const chunk of llmStream) pipe.push(chunk);
56
+ * await pipe.finish();
57
+ */
58
+ export class PhraseChunkedTts {
59
+ chunker;
60
+ clock;
61
+ tts;
62
+ opts;
63
+ tokenIndex = 0;
64
+ /** In-flight TTS promises so `finish()` can await playback ordering. */
65
+ inflight = [];
66
+ timeBudgetTimer = null;
67
+ firstError = null;
68
+ closed = false;
69
+ constructor(tts, opts = {}) {
70
+ this.tts = tts;
71
+ this.opts = opts;
72
+ this.clock = opts.clock ?? (() => globalThis.performance.now());
73
+ const Chunker = requirePhraseChunker();
74
+ this.chunker = new Chunker(opts.chunker ?? { chunkOn: "punctuation" }, null, this.clock);
75
+ }
76
+ /**
77
+ * Pre-load the PhraseChunker class from plugin-local-inference. Must be
78
+ * called (and awaited) before the first `new PhraseChunkedTts()` when the
79
+ * module has not been statically imported. Idempotent — safe to call
80
+ * multiple times concurrently.
81
+ */
82
+ static async load() {
83
+ await ensurePhraseChunkerLoaded();
84
+ }
85
+ /**
86
+ * Push a streaming LLM chunk. May span multiple words. Phrase boundaries
87
+ * are detected by the chunker; when one fires, the phrase text is handed
88
+ * to the TTS handler immediately (its returned promise is tracked).
89
+ */
90
+ push(chunk) {
91
+ if (this.closed) {
92
+ throw new Error("PhraseChunkedTts.push() called after finish()");
93
+ }
94
+ if (!chunk)
95
+ return;
96
+ const token = {
97
+ index: this.tokenIndex++,
98
+ text: chunk,
99
+ acceptedAt: this.clock(),
100
+ };
101
+ const phrase = this.chunker.push(token);
102
+ if (phrase) {
103
+ this.dispatchPhrase(phrase);
104
+ }
105
+ this.scheduleTimeBudget();
106
+ }
107
+ /**
108
+ * Drain the tail phrase (if any) and await all in-flight TTS calls.
109
+ * Returns when every dispatched phrase has resolved or rejected. After
110
+ * `finish()` the pipeline cannot be reused.
111
+ */
112
+ async finish() {
113
+ if (this.closed)
114
+ return;
115
+ this.closed = true;
116
+ if (this.timeBudgetTimer) {
117
+ clearTimeout(this.timeBudgetTimer);
118
+ this.timeBudgetTimer = null;
119
+ }
120
+ const tail = this.chunker.flushPending();
121
+ if (tail)
122
+ this.dispatchPhrase(tail);
123
+ // Settle every TTS call; rethrow the first error if any (unless caller
124
+ // chose to swallow).
125
+ await Promise.all(this.inflight.map((p) => p.catch(() => undefined)));
126
+ if (this.firstError !== null)
127
+ throw this.firstError;
128
+ }
129
+ /** Cancel without awaiting in-flight TTS. Safe to call after `finish()`. */
130
+ cancel() {
131
+ this.closed = true;
132
+ if (this.timeBudgetTimer) {
133
+ clearTimeout(this.timeBudgetTimer);
134
+ this.timeBudgetTimer = null;
135
+ }
136
+ this.chunker.reset();
137
+ }
138
+ dispatchPhrase(phrase) {
139
+ this.opts.onPhraseEmit?.(phrase);
140
+ const ttsCall = Promise.resolve()
141
+ .then(() => this.tts(phrase.text))
142
+ .then(async (audio) => {
143
+ if (this.opts.onAudio) {
144
+ await this.opts.onAudio(phrase, audio);
145
+ }
146
+ return audio;
147
+ })
148
+ .catch((err) => {
149
+ const mode = this.opts.onTtsError?.(phrase, err) ?? "fail";
150
+ if (mode === "swallow")
151
+ return undefined;
152
+ if (this.firstError === null)
153
+ this.firstError = err;
154
+ return undefined;
155
+ });
156
+ this.inflight.push(ttsCall);
157
+ }
158
+ /**
159
+ * Re-arm the time-budget timer. The chunker has an internal time-budget
160
+ * flush, but it only checks at `push()` time — a producer that goes
161
+ * silent before pushing the next token would stall an in-flight phrase
162
+ * forever. The timer polls the chunker once the budget window elapses
163
+ * with no new pushes.
164
+ */
165
+ scheduleTimeBudget() {
166
+ if (this.closed)
167
+ return;
168
+ if (this.timeBudgetTimer) {
169
+ clearTimeout(this.timeBudgetTimer);
170
+ this.timeBudgetTimer = null;
171
+ }
172
+ const msUntil = this.chunker.msUntilTimeBudget();
173
+ if (!Number.isFinite(msUntil) || msUntil <= 0) {
174
+ // Already past the budget — flush now.
175
+ const flushed = this.chunker.flushIfTimeBudgetExceeded();
176
+ if (flushed)
177
+ this.dispatchPhrase(flushed);
178
+ return;
179
+ }
180
+ this.timeBudgetTimer = setTimeout(() => {
181
+ this.timeBudgetTimer = null;
182
+ const flushed = this.chunker.flushIfTimeBudgetExceeded();
183
+ if (flushed)
184
+ this.dispatchPhrase(flushed);
185
+ }, Math.max(1, Math.ceil(msUntil)));
186
+ // Don't keep the event loop alive for a stalled chunker.
187
+ const t = this.timeBudgetTimer;
188
+ if (t?.unref)
189
+ t.unref();
190
+ }
191
+ }
192
+ /**
193
+ * One-shot helper: drive an async iterable of text chunks through
194
+ * `PhraseChunkedTts`. Returns when the iterable is exhausted and all TTS
195
+ * calls have settled. Exists so SSE/streaming callers don't have to write
196
+ * the for-await boilerplate.
197
+ */
198
+ export async function speakStreamingText(source, tts, opts = {}) {
199
+ await ensurePhraseChunkerLoaded();
200
+ const pipe = new PhraseChunkedTts(tts, opts);
201
+ try {
202
+ for await (const chunk of source)
203
+ pipe.push(chunk);
204
+ }
205
+ finally {
206
+ await pipe.finish();
207
+ }
208
+ }
@@ -0,0 +1,78 @@
1
+ /**
2
+ * SandboxRegistry — self-registers the sandbox container in the shared Redis
3
+ * so the multi-tenant gateways (`gateway-discord`, `gateway-webhook`) can
4
+ * resolve `agent_id -> server URL` and forward inbound platform messages here.
5
+ *
6
+ * This is a deliberate duplicate of `packages/agent/src/runtime/sandbox-registry.ts`:
7
+ * the published cloud image runs the agent runtime entrypoint, which cannot
8
+ * import `@elizaos/app-core` without an `agent -> app-core -> agent` cycle, so
9
+ * the agent copy is the one that executes in a provisioned container. Keep the
10
+ * two copies in lock-step.
11
+ *
12
+ * Two Redis keys are written with a short TTL; a periodic heartbeat refreshes
13
+ * the TTL while the sandbox is alive, and `unregister()` deletes them on
14
+ * graceful shutdown if they still point at this sandbox. If the container
15
+ * crashes, the keys expire naturally and the gateways stop routing to a dead
16
+ * address.
17
+ *
18
+ * server:<serverName>:url = <serverUrl> (resolver address)
19
+ * agent:<agentId>:server = <serverName> (agent -> server pointer)
20
+ *
21
+ * Two transports are supported, selected by the URL scheme so the same
22
+ * registry works before and after the managed Redis is migrated off Upstash:
23
+ * - `http(s)://` — Upstash REST API via `fetch` (the pipeline endpoint
24
+ * applies both SET-with-EX commands atomically server-side).
25
+ * - `redis(s)://` — native RESP over a TCP socket (e.g. a Railway Redis
26
+ * public proxy). Auth is carried inline in the URL, so no separate token
27
+ * is required.
28
+ */
29
+ export interface SandboxRegistryConfig {
30
+ redisUrl: string;
31
+ /**
32
+ * Bearer token for the Upstash REST transport. Not required (and ignored)
33
+ * for a `redis://` / `rediss://` URL, which carries auth inline.
34
+ */
35
+ redisToken?: string;
36
+ agentId: string;
37
+ serverName: string;
38
+ serverUrl: string;
39
+ /** TTL for both Redis keys in seconds. Keep this at least 3x the heartbeat interval so one missed tick does not expire a healthy sandbox. */
40
+ ttlSeconds: number;
41
+ }
42
+ export declare class SandboxRegistry {
43
+ private readonly config;
44
+ private heartbeatTimer;
45
+ private readonly tcp;
46
+ constructor(config: SandboxRegistryConfig);
47
+ register(): Promise<void>;
48
+ refresh(): Promise<void>;
49
+ unregister(): Promise<void>;
50
+ startHeartbeat(intervalMs: number): void;
51
+ stopHeartbeat(): void;
52
+ /**
53
+ * Atomic two-key write. Both keys must succeed together — partial state
54
+ * would let gateways resolve `agent:X:server` to a stale `server:Y:url`
55
+ * value or miss a routing entry whose other half was just renewed. REST uses
56
+ * the Upstash pipeline endpoint; TCP pipelines both commands on one socket.
57
+ */
58
+ private writeKeys;
59
+ private get;
60
+ private command;
61
+ private pipeline;
62
+ /**
63
+ * Execute one or more commands over a native RESP/TCP connection and return
64
+ * the per-command replies (AUTH/SELECT preamble replies are stripped). One
65
+ * short-lived connection per call keeps the lifecycle trivial — the registry
66
+ * only writes twice per heartbeat, so connection churn is negligible.
67
+ */
68
+ private tcpExec;
69
+ }
70
+ /**
71
+ * Reads the SANDBOX_REGISTRY_* and SANDBOX_* env vars and returns a fully
72
+ * wired `SandboxRegistry`, or `null` if the sandbox context is not
73
+ * configured (e.g. local dev, non-Hetzner deployment). Caller must call
74
+ * `register()` and `startHeartbeat(...)` after a successful boot. A `redis://`
75
+ * URL needs no token (auth is inline); a `http(s)://` Upstash URL requires one.
76
+ */
77
+ export declare function buildSandboxRegistryFromEnv(env?: NodeJS.ProcessEnv, ttlSeconds?: number): SandboxRegistry | null;
78
+ //# sourceMappingURL=sandbox-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-registry.d.ts","sourceRoot":"","sources":["../../../../../src/services/sandbox-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAiBH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,6IAA6I;IAC7I,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,eAAe;IAId,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;gBAED,MAAM,EAAE,qBAAqB;IAIpD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAOzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBjC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAmBxC,aAAa,IAAI,IAAI;IAOrB;;;;;OAKG;YACW,SAAS;YAST,GAAG;YAKH,OAAO;YAuBP,QAAQ;IA0BtB;;;;;OAKG;YACW,OAAO;CA6DtB;AAoFD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,UAAU,SAAK,GACd,eAAe,GAAG,IAAI,CA0BxB"}