@elizaos/app-core 2.0.0-beta.3 → 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 (1533) 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.js +5 -5
  88. package/api/server-cors.d.ts.map +1 -1
  89. package/api/server-cors.js +13 -2
  90. package/api/server-first-run-helpers.d.ts +26 -0
  91. package/api/server-first-run-helpers.d.ts.map +1 -0
  92. package/api/server-first-run-helpers.js +271 -0
  93. package/api/server-security.js +1 -1
  94. package/api/server-startup.d.ts.map +1 -1
  95. package/api/server-startup.js +3 -4
  96. package/api/server-wallet-trade.js +1 -1
  97. package/api/server.d.ts +4 -4
  98. package/api/server.d.ts.map +1 -1
  99. package/api/server.js +222 -88
  100. package/api/setup-contract.d.ts +63 -0
  101. package/api/setup-contract.d.ts.map +1 -0
  102. package/api/setup-contract.js +39 -0
  103. package/api/training-benchmarks.d.ts +97 -0
  104. package/api/training-benchmarks.d.ts.map +1 -0
  105. package/api/training-benchmarks.js +307 -0
  106. package/api/workbench-compat-routes.js +2 -2
  107. package/benchmark/cerebras-autowire.d.ts +28 -0
  108. package/benchmark/cerebras-autowire.d.ts.map +1 -0
  109. package/benchmark/cerebras-autowire.js +62 -0
  110. package/benchmark/lifeops-bench-handler.d.ts +36 -0
  111. package/benchmark/lifeops-bench-handler.d.ts.map +1 -1
  112. package/benchmark/lifeops-bench-handler.js +63 -1
  113. package/benchmark/lifeops-fake-backend.d.ts +39 -0
  114. package/benchmark/lifeops-fake-backend.d.ts.map +1 -1
  115. package/benchmark/lifeops-fake-backend.js +993 -21
  116. package/benchmark/mock-plugin.d.ts.map +1 -1
  117. package/benchmark/mock-plugin.js +0 -24
  118. package/benchmark/plugin.d.ts +2 -1
  119. package/benchmark/plugin.d.ts.map +1 -1
  120. package/benchmark/plugin.js +989 -68
  121. package/benchmark/replay-capture.d.ts +2 -2
  122. package/benchmark/replay-capture.d.ts.map +1 -1
  123. package/benchmark/replay-capture.js +3 -3
  124. package/benchmark/server-utils.d.ts +162 -9
  125. package/benchmark/server-utils.d.ts.map +1 -1
  126. package/benchmark/server-utils.js +625 -62
  127. package/benchmark/server.d.ts.map +1 -1
  128. package/benchmark/server.js +1962 -118
  129. package/boot-profile.d.ts +3 -0
  130. package/boot-profile.d.ts.map +1 -0
  131. package/boot-profile.js +30 -0
  132. package/browser.d.ts +23 -1
  133. package/browser.d.ts.map +1 -1
  134. package/browser.js +20 -1
  135. package/cli/argv.js +1 -1
  136. package/cli/banner.js +1 -1
  137. package/cli/command-format.js +2 -2
  138. package/cli/doctor/checks.d.ts.map +1 -1
  139. package/cli/doctor/checks.js +6 -6
  140. package/cli/plugins-cli.d.ts.map +1 -1
  141. package/cli/plugins-cli.js +77 -32
  142. package/cli/profile.d.ts.map +1 -1
  143. package/cli/profile.js +5 -4
  144. package/cli/program/build-program.js +4 -4
  145. package/cli/program/command-registry.d.ts.map +1 -1
  146. package/cli/program/command-registry.js +13 -11
  147. package/cli/program/help.js +5 -5
  148. package/cli/program/preaction.js +5 -5
  149. package/cli/program/register.auth.d.ts.map +1 -1
  150. package/cli/program/register.auth.js +6 -12
  151. package/cli/program/register.capability-router.d.ts +29 -0
  152. package/cli/program/register.capability-router.d.ts.map +1 -0
  153. package/cli/program/register.capability-router.js +568 -0
  154. package/cli/program/register.config.js +1 -1
  155. package/cli/program/register.configure.d.ts.map +1 -1
  156. package/cli/program/register.configure.js +1 -1
  157. package/cli/program/register.dashboard.d.ts.map +1 -1
  158. package/cli/program/register.dashboard.js +6 -7
  159. package/cli/program/register.db.d.ts.map +1 -1
  160. package/cli/program/register.db.js +3 -4
  161. package/cli/program/register.doctor.js +7 -7
  162. package/cli/program/register.setup.d.ts.map +1 -1
  163. package/cli/program/register.setup.js +14 -10
  164. package/cli/program/register.start.d.ts.map +1 -1
  165. package/cli/program/register.start.js +5 -3
  166. package/cli/program/register.subclis.js +3 -3
  167. package/cli/program/register.update.d.ts +6 -0
  168. package/cli/program/register.update.d.ts.map +1 -1
  169. package/cli/program/register.update.js +58 -6
  170. package/cli/program.js +1 -1
  171. package/cli/run-main.js +4 -4
  172. package/config/app-config.d.ts +2 -0
  173. package/config/app-config.d.ts.map +1 -0
  174. package/config/app-config.js +1 -0
  175. package/connectors/capacitor-jsc.d.ts.map +1 -1
  176. package/connectors/capacitor-jsc.js +16 -10
  177. package/connectors/capacitor-quickjs.d.ts.map +1 -1
  178. package/connectors/capacitor-quickjs.js +18 -13
  179. package/connectors/capacitor-sqlite.d.ts.map +1 -1
  180. package/connectors/capacitor-sqlite.js +27 -12
  181. package/dispatch/approval-queue.d.ts +37 -0
  182. package/dispatch/approval-queue.d.ts.map +1 -0
  183. package/dispatch/approval-queue.js +25 -0
  184. package/dispatch/channel-registry.d.ts +30 -0
  185. package/dispatch/channel-registry.d.ts.map +1 -0
  186. package/dispatch/channel-registry.js +22 -0
  187. package/dispatch/connector-registry.d.ts +39 -0
  188. package/dispatch/connector-registry.d.ts.map +1 -0
  189. package/dispatch/connector-registry.js +24 -0
  190. package/dispatch/index.d.ts +14 -0
  191. package/dispatch/index.d.ts.map +1 -0
  192. package/dispatch/index.js +13 -0
  193. package/dispatch/send-policy.d.ts +36 -0
  194. package/dispatch/send-policy.d.ts.map +1 -0
  195. package/dispatch/send-policy.js +16 -0
  196. package/entry.js +28 -11
  197. package/first-run/first-run-config.d.ts +55 -0
  198. package/first-run/first-run-config.d.ts.map +1 -0
  199. package/first-run/first-run-config.js +178 -0
  200. package/first-run/runtime-target.d.ts +4 -0
  201. package/first-run/runtime-target.d.ts.map +1 -0
  202. package/first-run/runtime-target.js +13 -0
  203. package/index.d.ts +16 -3
  204. package/index.d.ts.map +1 -1
  205. package/index.js +57 -33
  206. package/package.json +159 -50
  207. package/packaging/debian/apt-repo-config/README.md +18 -0
  208. package/packaging/debian/apt-repo-config/conf/distributions +11 -0
  209. package/packaging/flatpak/README.md +26 -16
  210. package/packaging/flatpak/ai.elizaos.App.metainfo.xml +17 -12
  211. package/packaging/flatpak/ai.elizaos.App.store.yml +5 -5
  212. package/packaging/flatpak/ai.elizaos.App.yml +10 -24
  213. package/packaging/flatpak/elizaos-app-wrapper.store.sh +2 -2
  214. package/packaging/flatpak/generate-sources.sh +74 -0
  215. package/packaging/flatpak/node-sources.json +7930 -0
  216. package/packaging/inno/build-inno.ps1 +34 -9
  217. package/packaging/msix/AppxManifest.store.xml +1 -1
  218. package/packaging/msix/README.md +39 -19
  219. package/packaging/msix/build-msix.ps1 +44 -14
  220. package/packaging/snap/snapcraft.yaml +22 -21
  221. package/packaging/test-packaging.sh +2 -2
  222. package/permissions/types.d.ts +1 -1
  223. package/permissions/types.js +1 -1
  224. package/platform/elizaos-agent-browser-stub.d.ts +144 -0
  225. package/platform/elizaos-agent-browser-stub.d.ts.map +1 -0
  226. package/platform/elizaos-agent-browser-stub.js +158 -0
  227. package/platform/elizaos-plugin-elizacloud-browser-stub.d.ts +34 -0
  228. package/platform/elizaos-plugin-elizacloud-browser-stub.d.ts.map +1 -0
  229. package/platform/elizaos-plugin-elizacloud-browser-stub.js +51 -0
  230. package/platform/empty-node-module.d.ts +148 -0
  231. package/platform/empty-node-module.d.ts.map +1 -1
  232. package/platform/empty-node-module.js +140 -3
  233. package/platform/ios-runtime-backends.d.ts +83 -0
  234. package/platform/ios-runtime-backends.d.ts.map +1 -0
  235. package/platform/ios-runtime-backends.js +133 -0
  236. package/platform/ios-runtime-bridge.d.ts +15 -0
  237. package/platform/ios-runtime-bridge.d.ts.map +1 -0
  238. package/platform/ios-runtime-bridge.js +527 -0
  239. package/platform/native-library-policy.d.ts +23 -0
  240. package/platform/native-library-policy.d.ts.map +1 -0
  241. package/platform/native-library-policy.js +112 -0
  242. package/platform/native-plugin-entrypoints.d.ts +19 -0
  243. package/platform/native-plugin-entrypoints.d.ts.map +1 -0
  244. package/platform/native-plugin-entrypoints.js +29 -0
  245. package/platforms/android/README.md +68 -10
  246. package/platforms/android/app/build.gradle +268 -3
  247. package/platforms/android/app/capacitor.build.gradle +18 -1
  248. package/platforms/android/app/proguard-rules.pro +17 -2
  249. package/platforms/android/app/src/androidTest/java/ai/elizaos/app/ElizaOsInstrumentedTest.java +1 -1
  250. package/platforms/android/app/src/main/AndroidManifest.xml +335 -18
  251. package/platforms/android/app/src/main/assets/runners/eliza-tasks.js +177 -0
  252. package/platforms/android/app/src/main/elizavoice-jni/CMakeLists.txt +100 -0
  253. package/platforms/android/app/src/main/elizavoice-jni/elizavoice-jni.cpp +1485 -0
  254. package/platforms/android/app/src/main/java/ai/elizaos/app/AgentPlugin.java +111 -171
  255. package/platforms/android/app/src/main/java/ai/elizaos/app/AndroidVirtualizationBridge.java +284 -0
  256. package/platforms/android/app/src/main/java/ai/elizaos/app/BatteryOptimizationPlugin.java +95 -0
  257. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAccessibilityService.java +55 -0
  258. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAgentService.java +1255 -141
  259. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAndroidSystemBridge.java +83 -0
  260. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAssistActivity.java +50 -1
  261. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaBionicInferenceServer.java +400 -0
  262. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaBootReceiver.java +90 -8
  263. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaBrowserActivity.java +2 -2
  264. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaCalendarActivity.java +1 -1
  265. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaCameraActivity.java +1 -1
  266. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaClockActivity.java +2 -2
  267. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaContactsActivity.java +1 -1
  268. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaDialActivity.java +1 -1
  269. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaInCallService.java +1 -1
  270. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaMmsReceiver.java +1 -1
  271. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaNativeBridge.java +22 -0
  272. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaNotificationListenerService.java +45 -0
  273. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaQuickActionsWidgetProvider.java +68 -0
  274. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaShareActivity.java +132 -0
  275. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaSmsComposeActivity.java +1 -1
  276. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaSmsGatewayService.java +268 -0
  277. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaSmsReceiver.java +12 -1
  278. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaTasksWorker.java +194 -0
  279. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoiceCaptureService.java +198 -0
  280. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoiceNative.java +220 -0
  281. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoicePlugin.java +498 -0
  282. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoiceTileService.java +39 -0
  283. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaWorkScheduler.java +60 -0
  284. package/platforms/android/app/src/main/java/ai/elizaos/app/GatewayConnectionService.java +53 -19
  285. package/platforms/android/app/src/main/java/ai/elizaos/app/MainActivity.java +160 -33
  286. package/platforms/android/app/src/main/java/ai/elizaos/app/ResourceProbePlugin.java +169 -0
  287. package/platforms/android/app/src/main/java/ai/elizaos/app/VoiceCapturePlugin.java +119 -0
  288. package/platforms/android/app/src/main/res/drawable/eliza_widget_background.xml +10 -0
  289. package/platforms/android/app/src/main/res/drawable/eliza_widget_button_background.xml +13 -0
  290. package/platforms/android/app/src/main/res/drawable/splash.png +0 -0
  291. package/platforms/android/app/src/main/res/drawable-land-hdpi/splash.png +0 -0
  292. package/platforms/android/app/src/main/res/drawable-land-mdpi/splash.png +0 -0
  293. package/platforms/android/app/src/main/res/drawable-land-xhdpi/splash.png +0 -0
  294. package/platforms/android/app/src/main/res/drawable-land-xxhdpi/splash.png +0 -0
  295. package/platforms/android/app/src/main/res/drawable-land-xxxhdpi/splash.png +0 -0
  296. package/platforms/android/app/src/main/res/drawable-port-hdpi/splash.png +0 -0
  297. package/platforms/android/app/src/main/res/drawable-port-mdpi/splash.png +0 -0
  298. package/platforms/android/app/src/main/res/drawable-port-xhdpi/splash.png +0 -0
  299. package/platforms/android/app/src/main/res/drawable-port-xxhdpi/splash.png +0 -0
  300. package/platforms/android/app/src/main/res/drawable-port-xxxhdpi/splash.png +0 -0
  301. package/platforms/android/app/src/main/res/layout/eliza_quick_actions_widget.xml +86 -0
  302. package/platforms/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +2 -1
  303. package/platforms/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +2 -1
  304. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  305. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  306. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png +0 -0
  307. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  308. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  309. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  310. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png +0 -0
  311. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  312. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  313. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  314. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png +0 -0
  315. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  316. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  317. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  318. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png +0 -0
  319. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  320. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  321. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  322. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png +0 -0
  323. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  324. package/platforms/android/app/src/main/res/values/android_app_actions.xml +48 -0
  325. package/platforms/android/app/src/main/res/values/colors.xml +8 -0
  326. package/platforms/android/app/src/main/res/values/ic_launcher_background.xml +2 -2
  327. package/platforms/android/app/src/main/res/values/strings.xml +2 -2
  328. package/platforms/android/app/src/main/res/values/styles.xml +25 -1
  329. package/platforms/android/app/src/main/res/xml/eliza_accessibility_service.xml +9 -0
  330. package/platforms/android/app/src/main/res/xml/eliza_quick_actions_widget.xml +13 -0
  331. package/platforms/android/app/src/main/res/xml/shortcuts.xml +121 -0
  332. package/platforms/android/build.gradle +2 -2
  333. package/platforms/android/capacitor-cordova-android-plugins/build.gradle +9 -3
  334. package/platforms/android/capacitor-cordova-android-plugins/cordova.variables.gradle +6 -2
  335. package/platforms/android/capacitor-cordova-android-plugins/src/main/AndroidManifest.xml +7 -2
  336. package/platforms/android/capacitor-cordova-android-plugins/src/main/java/.gitkeep +0 -1
  337. package/platforms/android/capacitor.settings.gradle +66 -16
  338. package/platforms/android/gradle.properties +1 -0
  339. package/platforms/android/update-manifest/generate-manifest.mjs +97 -0
  340. package/platforms/android/update-manifest/schema.json +26 -0
  341. package/platforms/apple-store-entitlements.reviewed.json +155 -0
  342. package/platforms/electrobun/.generated/brand-config.json +3 -2
  343. package/platforms/electrobun/LICENSE +21 -0
  344. package/platforms/electrobun/README.md +15 -1
  345. package/platforms/electrobun/assets/appIcon.icns +0 -0
  346. package/platforms/electrobun/assets/appIcon.ico +0 -0
  347. package/platforms/electrobun/assets/appIcon.iconset/icon_128x128.png +0 -0
  348. package/platforms/electrobun/assets/appIcon.iconset/icon_128x128@2x.png +0 -0
  349. package/platforms/electrobun/assets/appIcon.iconset/icon_16x16.png +0 -0
  350. package/platforms/electrobun/assets/appIcon.iconset/icon_16x16@2x.png +0 -0
  351. package/platforms/electrobun/assets/appIcon.iconset/icon_256x256.png +0 -0
  352. package/platforms/electrobun/assets/appIcon.iconset/icon_256x256@2x.png +0 -0
  353. package/platforms/electrobun/assets/appIcon.iconset/icon_32x32.png +0 -0
  354. package/platforms/electrobun/assets/appIcon.iconset/icon_32x32@2x.png +0 -0
  355. package/platforms/electrobun/assets/appIcon.iconset/icon_512x512.png +0 -0
  356. package/platforms/electrobun/assets/brand-config.json +6 -6
  357. package/platforms/electrobun/biome.json +9 -9
  358. package/platforms/electrobun/docs/capability-collapse-matrix.json +318 -0
  359. package/platforms/electrobun/docs/capability-collapse-matrix.md +129 -0
  360. package/platforms/electrobun/docs/capability-routing.md +86 -0
  361. package/platforms/electrobun/docs/convergence-audit.json +3505 -0
  362. package/platforms/electrobun/docs/convergence-audit.md +694 -0
  363. package/platforms/electrobun/docs/database-boot-policy.md +90 -0
  364. package/platforms/electrobun/docs/riscv64-port.md +175 -0
  365. package/platforms/electrobun/docs/startup-first-run-cleanup.md +18 -0
  366. package/platforms/electrobun/docs/trace-first-annotations.md +52 -0
  367. package/platforms/electrobun/docs/ui-boundary-audit.json +580 -0
  368. package/platforms/electrobun/docs/ui-boundary-audit.md +257 -0
  369. package/platforms/electrobun/electrobun.config.ts +592 -364
  370. package/platforms/electrobun/entitlements/JUSTIFICATIONS.md +141 -0
  371. package/platforms/electrobun/entitlements/README.md +34 -6
  372. package/platforms/electrobun/entitlements/mas-bun.entitlements +15 -0
  373. package/platforms/electrobun/entitlements/mas.entitlements +6 -4
  374. package/platforms/electrobun/native/macos/window-effects.mm +1522 -0
  375. package/platforms/electrobun/package.json +18 -12
  376. package/platforms/electrobun/remotes/fs/README.md +70 -0
  377. package/platforms/electrobun/remotes/fs/electrobun.config.ts +38 -0
  378. package/platforms/electrobun/remotes/fs/package.json +12 -0
  379. package/platforms/electrobun/remotes/fs/plugin.json +25 -0
  380. package/platforms/electrobun/remotes/fs/src/bun/errors.ts +57 -0
  381. package/platforms/electrobun/remotes/fs/src/bun/file-limits.ts +50 -0
  382. package/platforms/electrobun/remotes/fs/src/bun/fs-service.ts +389 -0
  383. package/platforms/electrobun/remotes/fs/src/bun/path-guard.ts +270 -0
  384. package/platforms/electrobun/remotes/fs/src/bun/protocol.ts +149 -0
  385. package/platforms/electrobun/remotes/fs/src/bun/worker.ts +174 -0
  386. package/platforms/electrobun/remotes/fs/src/dev/phase5-smoke.ts +171 -0
  387. package/platforms/electrobun/remotes/fs/src/web/index.html +8 -0
  388. package/platforms/electrobun/remotes/git/README.md +75 -0
  389. package/platforms/electrobun/remotes/git/electrobun.config.ts +44 -0
  390. package/platforms/electrobun/remotes/git/package.json +12 -0
  391. package/platforms/electrobun/remotes/git/plugin.json +31 -0
  392. package/platforms/electrobun/remotes/git/src/bun/errors.ts +69 -0
  393. package/platforms/electrobun/remotes/git/src/bun/git-command.ts +156 -0
  394. package/platforms/electrobun/remotes/git/src/bun/git-service.ts +446 -0
  395. package/platforms/electrobun/remotes/git/src/bun/operation-history.ts +124 -0
  396. package/platforms/electrobun/remotes/git/src/bun/protocol.ts +252 -0
  397. package/platforms/electrobun/remotes/git/src/bun/worker.ts +316 -0
  398. package/platforms/electrobun/remotes/git/src/dev/phase7-smoke.ts +141 -0
  399. package/platforms/electrobun/remotes/git/src/web/index.html +8 -0
  400. package/platforms/electrobun/remotes/local-model/README.md +138 -0
  401. package/platforms/electrobun/remotes/local-model/electrobun.config.ts +46 -0
  402. package/platforms/electrobun/remotes/local-model/package.json +12 -0
  403. package/platforms/electrobun/remotes/local-model/plugin.json +33 -0
  404. package/platforms/electrobun/remotes/local-model/src/bun/download-state.ts +115 -0
  405. package/platforms/electrobun/remotes/local-model/src/bun/eliza1-catalog.ts +405 -0
  406. package/platforms/electrobun/remotes/local-model/src/bun/errors.ts +74 -0
  407. package/platforms/electrobun/remotes/local-model/src/bun/hf-eliza1-client.ts +169 -0
  408. package/platforms/electrobun/remotes/local-model/src/bun/local-inference-api-client.ts +245 -0
  409. package/platforms/electrobun/remotes/local-model/src/bun/model-service.ts +490 -0
  410. package/platforms/electrobun/remotes/local-model/src/bun/protocol.ts +301 -0
  411. package/platforms/electrobun/remotes/local-model/src/bun/worker.ts +248 -0
  412. package/platforms/electrobun/remotes/local-model/src/dev/phase8-smoke.ts +116 -0
  413. package/platforms/electrobun/remotes/local-model/src/web/index.html +13 -0
  414. package/platforms/electrobun/remotes/pty/README.md +65 -0
  415. package/platforms/electrobun/remotes/pty/electrobun.config.ts +47 -0
  416. package/platforms/electrobun/remotes/pty/package.json +12 -0
  417. package/platforms/electrobun/remotes/pty/plugin.json +34 -0
  418. package/platforms/electrobun/remotes/pty/src/bun/errors.ts +57 -0
  419. package/platforms/electrobun/remotes/pty/src/bun/output-buffer.ts +127 -0
  420. package/platforms/electrobun/remotes/pty/src/bun/protocol.ts +192 -0
  421. package/platforms/electrobun/remotes/pty/src/bun/pty-service.ts +562 -0
  422. package/platforms/electrobun/remotes/pty/src/bun/worker.ts +218 -0
  423. package/platforms/electrobun/remotes/pty/src/dev/phase6-smoke.ts +127 -0
  424. package/platforms/electrobun/remotes/pty/src/web/index.html +8 -0
  425. package/platforms/electrobun/remotes/runtime/README.md +370 -0
  426. package/platforms/electrobun/remotes/runtime/electrobun.config.ts +48 -0
  427. package/platforms/electrobun/remotes/runtime/package.json +14 -0
  428. package/platforms/electrobun/remotes/runtime/plugin.json +30 -0
  429. package/platforms/electrobun/remotes/runtime/src/bun/api-client.ts +620 -0
  430. package/platforms/electrobun/remotes/runtime/src/bun/errors.ts +45 -0
  431. package/platforms/electrobun/remotes/runtime/src/bun/log-buffer.ts +33 -0
  432. package/platforms/electrobun/remotes/runtime/src/bun/protocol.ts +366 -0
  433. package/platforms/electrobun/remotes/runtime/src/bun/route-discovery.ts +419 -0
  434. package/platforms/electrobun/remotes/runtime/src/bun/runtime-manager.ts +423 -0
  435. package/platforms/electrobun/remotes/runtime/src/bun/sse-parser.ts +99 -0
  436. package/platforms/electrobun/remotes/runtime/src/bun/stream-manager.ts +887 -0
  437. package/platforms/electrobun/remotes/runtime/src/bun/worker.ts +1231 -0
  438. package/platforms/electrobun/remotes/runtime/src/dev/phase1-smoke.ts +34 -0
  439. package/platforms/electrobun/remotes/runtime/src/dev/phase2-smoke.ts +86 -0
  440. package/platforms/electrobun/remotes/runtime/src/dev/phase3-smoke.ts +141 -0
  441. package/platforms/electrobun/remotes/runtime/src/web/index.css +187 -0
  442. package/platforms/electrobun/remotes/runtime/src/web/index.html +76 -0
  443. package/platforms/electrobun/remotes/runtime/src/web/index.ts +192 -0
  444. package/platforms/electrobun/remotes/surface/README.md +201 -0
  445. package/platforms/electrobun/remotes/surface/electrobun.config.ts +38 -0
  446. package/platforms/electrobun/remotes/surface/package.json +12 -0
  447. package/platforms/electrobun/remotes/surface/plugin.json +28 -0
  448. package/platforms/electrobun/remotes/surface/src/bun/worker.ts +132 -0
  449. package/platforms/electrobun/remotes/surface/src/dev/phase4-smoke.ts +566 -0
  450. package/platforms/electrobun/remotes/surface/src/protocol/event-types.ts +84 -0
  451. package/platforms/electrobun/remotes/surface/src/protocol/runtime-client.ts +673 -0
  452. package/platforms/electrobun/remotes/surface/src/web/app.ts +595 -0
  453. package/platforms/electrobun/remotes/surface/src/web/index.css +460 -0
  454. package/platforms/electrobun/remotes/surface/src/web/index.html +466 -0
  455. package/platforms/electrobun/remotes/surface/src/web/index.ts +5 -0
  456. package/platforms/electrobun/remotes/surface/src/web/render.ts +455 -0
  457. package/platforms/electrobun/remotes/surface/src/web/state.ts +427 -0
  458. package/platforms/electrobun/scripts/build-macos-effects.sh +4 -0
  459. package/platforms/electrobun/scripts/ensure-build-folder.ts +28 -0
  460. package/platforms/electrobun/scripts/ensure-whisper-gguf.sh +55 -0
  461. package/platforms/electrobun/scripts/ensure-whisper-model.sh +22 -80
  462. package/platforms/electrobun/scripts/generate-convergence-audit.ts +1203 -0
  463. package/platforms/electrobun/scripts/local-adhoc-sign-macos.ts +159 -159
  464. package/platforms/electrobun/scripts/postwrap-diagnostics.ts +424 -339
  465. package/platforms/electrobun/scripts/postwrap-sign-runtime-macos.ts +302 -271
  466. package/platforms/electrobun/scripts/smoke-test-windows.ps1 +17 -16
  467. package/platforms/electrobun/scripts/smoke-test.sh +5 -7
  468. package/platforms/electrobun/scripts/sync-web-assets.mjs +13 -13
  469. package/platforms/electrobun/scripts/verify-rpc-handlers.ts +109 -110
  470. package/platforms/electrobun/scripts/verify-windows-installer-proof.ps1 +3 -8
  471. package/platforms/electrobun/src/__stubs__/bun-ffi.ts +31 -31
  472. package/platforms/electrobun/src/__stubs__/electrobun-bun.ts +1 -1
  473. package/platforms/electrobun/src/agent-ready-state.ts +8 -8
  474. package/platforms/electrobun/src/agent-reset-from-main.test.ts +162 -0
  475. package/platforms/electrobun/src/agent-reset-from-main.ts +62 -62
  476. package/platforms/electrobun/src/agent-status-rpc.test.ts +95 -0
  477. package/platforms/electrobun/src/agent-status-rpc.ts +156 -0
  478. package/platforms/electrobun/src/api-base.test.ts +247 -0
  479. package/platforms/electrobun/src/api-base.ts +202 -93
  480. package/platforms/electrobun/src/application-menu-action-registry.ts +9 -9
  481. package/platforms/electrobun/src/application-menu.ts +348 -348
  482. package/platforms/electrobun/src/background-notice.ts +36 -36
  483. package/platforms/electrobun/src/boot-progress.test.ts +188 -0
  484. package/platforms/electrobun/src/boot-progress.ts +111 -0
  485. package/platforms/electrobun/src/brand-config.test.ts +39 -0
  486. package/platforms/electrobun/src/brand-config.ts +141 -129
  487. package/platforms/electrobun/src/bridge/browser-tabs-renderer-registry.ts +28 -28
  488. package/platforms/electrobun/src/bridge/electrobun-boot-config.ts +42 -0
  489. package/platforms/electrobun/src/bridge/electrobun-crypto-ready.ts +120 -0
  490. package/platforms/electrobun/src/bridge/electrobun-direct-rpc.ts +342 -357
  491. package/platforms/electrobun/src/bridge/electrobun-stub.ts +13 -13
  492. package/platforms/electrobun/src/browser-workspace-bridge-server.ts +285 -243
  493. package/platforms/electrobun/src/cloud-auth-window.ts +136 -136
  494. package/platforms/electrobun/src/cloud-disconnect-from-main.ts +90 -90
  495. package/platforms/electrobun/src/config-and-auth-rpc.test.ts +256 -0
  496. package/platforms/electrobun/src/config-and-auth-rpc.ts +302 -0
  497. package/platforms/electrobun/src/conversations-and-character-rpc.test.ts +185 -0
  498. package/platforms/electrobun/src/conversations-and-character-rpc.ts +131 -0
  499. package/platforms/electrobun/src/dashboard-rpc.test.ts +200 -0
  500. package/platforms/electrobun/src/dashboard-rpc.ts +344 -0
  501. package/platforms/electrobun/src/database/database-lock.ts +141 -0
  502. package/platforms/electrobun/src/database/database-mode.ts +149 -0
  503. package/platforms/electrobun/src/database/database-recovery.ts +72 -0
  504. package/platforms/electrobun/src/database/database-snapshot.ts +190 -0
  505. package/platforms/electrobun/src/database/database.test.ts +196 -0
  506. package/platforms/electrobun/src/database/index.ts +5 -0
  507. package/platforms/electrobun/src/database/pglite-paths.ts +100 -0
  508. package/platforms/electrobun/src/desktop-deep-link-events.test.ts +30 -0
  509. package/platforms/electrobun/src/desktop-deep-link-events.ts +17 -0
  510. package/platforms/electrobun/src/desktop-http-request.test.ts +73 -73
  511. package/platforms/electrobun/src/desktop-http-request.ts +85 -85
  512. package/platforms/electrobun/src/desktop-pill-config.test.ts +27 -0
  513. package/platforms/electrobun/src/desktop-pill-config.ts +40 -0
  514. package/platforms/electrobun/src/desktop-test-bridge-server.ts +204 -204
  515. package/platforms/electrobun/src/desktop-tray-config.test.ts +87 -0
  516. package/platforms/electrobun/src/desktop-tray-config.ts +84 -0
  517. package/platforms/electrobun/src/devtools-layout.ts +41 -41
  518. package/platforms/electrobun/src/diagnostic-format.test.ts +71 -0
  519. package/platforms/electrobun/src/diagnostic-format.ts +75 -36
  520. package/platforms/electrobun/src/dynamic-view-rpc-schema.test.ts +37 -0
  521. package/platforms/electrobun/src/dynamic-views/README.md +44 -0
  522. package/platforms/electrobun/src/dynamic-views/demo/agent-run-trace.html +135 -0
  523. package/platforms/electrobun/src/dynamic-views/errors.ts +29 -0
  524. package/platforms/electrobun/src/dynamic-views/host.test.ts +353 -0
  525. package/platforms/electrobun/src/dynamic-views/host.ts +332 -0
  526. package/platforms/electrobun/src/dynamic-views/index.ts +57 -0
  527. package/platforms/electrobun/src/dynamic-views/kiosk-canvas.ts +89 -0
  528. package/platforms/electrobun/src/dynamic-views/registry.test.ts +139 -0
  529. package/platforms/electrobun/src/dynamic-views/registry.ts +196 -0
  530. package/platforms/electrobun/src/dynamic-views/session-manager.test.ts +355 -0
  531. package/platforms/electrobun/src/dynamic-views/session-manager.ts +348 -0
  532. package/platforms/electrobun/src/dynamic-views/types.ts +105 -0
  533. package/platforms/electrobun/src/electrobun-boot-config.test.ts +50 -0
  534. package/platforms/electrobun/src/electrobun-config.test.ts +62 -0
  535. package/platforms/electrobun/src/electrobun-crypto-ready.test.ts +65 -0
  536. package/platforms/electrobun/src/electrobun-window-options.ts +25 -0
  537. package/platforms/electrobun/src/extension-rpc.test.ts +88 -0
  538. package/platforms/electrobun/src/extension-rpc.ts +102 -0
  539. package/platforms/electrobun/src/fatal-shutdown.test.ts +10 -10
  540. package/platforms/electrobun/src/fatal-shutdown.ts +1 -1
  541. package/platforms/electrobun/src/first-party-remotes.test.ts +169 -0
  542. package/platforms/electrobun/src/first-party-remotes.ts +297 -0
  543. package/platforms/electrobun/src/first-run-rpc.test.ts +192 -0
  544. package/platforms/electrobun/src/first-run-rpc.ts +146 -0
  545. package/platforms/electrobun/src/floating-chat-window.ts +181 -181
  546. package/platforms/electrobun/src/inbox-rpc.test.ts +123 -0
  547. package/platforms/electrobun/src/inbox-rpc.ts +158 -0
  548. package/platforms/electrobun/src/index.ts +2555 -2096
  549. package/platforms/electrobun/src/kiosk-mode.ts +50 -0
  550. package/platforms/electrobun/src/launch/index.ts +4 -0
  551. package/platforms/electrobun/src/launch/launch-dynamic-view.ts +37 -0
  552. package/platforms/electrobun/src/launch/launch-orchestrator.test.ts +224 -0
  553. package/platforms/electrobun/src/launch/launch-orchestrator.ts +456 -0
  554. package/platforms/electrobun/src/launch/launch-store.test.ts +97 -0
  555. package/platforms/electrobun/src/launch/launch-store.ts +134 -0
  556. package/platforms/electrobun/src/launch/types.ts +103 -0
  557. package/platforms/electrobun/src/launch/views/launch-diagnostics.html +205 -0
  558. package/platforms/electrobun/src/lifecycle/agent-ready-publish.test.ts +50 -0
  559. package/platforms/electrobun/src/lifecycle/agent-ready-publish.ts +27 -0
  560. package/platforms/electrobun/src/lifecycle/api-base-owner.ts +42 -31
  561. package/platforms/electrobun/src/lifecycle/desktop-session-prime.ts +44 -44
  562. package/platforms/electrobun/src/logger.ts +14 -14
  563. package/platforms/electrobun/src/main-window-runtime.ts +83 -83
  564. package/platforms/electrobun/src/main-window-session.test.ts +109 -0
  565. package/platforms/electrobun/src/main-window-session.ts +87 -51
  566. package/platforms/electrobun/src/menu-reset-from-main.ts +158 -158
  567. package/platforms/electrobun/src/native/agent-env.test.ts +52 -0
  568. package/platforms/electrobun/src/native/agent-runtime-layout.test.ts +42 -0
  569. package/platforms/electrobun/src/native/agent-state-dir.test.ts +91 -0
  570. package/platforms/electrobun/src/native/agent.ts +2122 -1682
  571. package/platforms/electrobun/src/native/auth-bridge.test.ts +67 -0
  572. package/platforms/electrobun/src/native/auth-bridge.ts +464 -360
  573. package/platforms/electrobun/src/native/browser-workspace.ts +723 -471
  574. package/platforms/electrobun/src/native/camera.ts +50 -50
  575. package/platforms/electrobun/src/native/canvas.ts +444 -445
  576. package/platforms/electrobun/src/native/credentials.ts +673 -616
  577. package/platforms/electrobun/src/native/desktop-window.test.ts +300 -0
  578. package/platforms/electrobun/src/native/desktop.ts +2196 -2156
  579. package/platforms/electrobun/src/native/editor-bridge.ts +201 -201
  580. package/platforms/electrobun/src/native/file-watcher.ts +154 -154
  581. package/platforms/electrobun/src/native/gateway.ts +179 -180
  582. package/platforms/electrobun/src/native/gpu-window.ts +256 -256
  583. package/platforms/electrobun/src/native/index.ts +76 -74
  584. package/platforms/electrobun/src/native/location.test.ts +44 -0
  585. package/platforms/electrobun/src/native/location.ts +90 -80
  586. package/platforms/electrobun/src/native/loopback-port.ts +60 -60
  587. package/platforms/electrobun/src/native/mac-window-effects.ts +166 -104
  588. package/platforms/electrobun/src/native/music-player.ts +38 -38
  589. package/platforms/electrobun/src/native/permissions-shared.ts +249 -150
  590. package/platforms/electrobun/src/native/permissions.ts +301 -208
  591. package/platforms/electrobun/src/native/power-state.ts +129 -129
  592. package/platforms/electrobun/src/native/remote-plugin-host.test.ts +1394 -0
  593. package/platforms/electrobun/src/native/remote-plugin-host.ts +1531 -0
  594. package/platforms/electrobun/src/native/screencapture.ts +667 -573
  595. package/platforms/electrobun/src/native/steward.ts +207 -204
  596. package/platforms/electrobun/src/native/swabble.ts +68 -324
  597. package/platforms/electrobun/src/native/talkmode.ts +253 -422
  598. package/platforms/electrobun/src/native/webgpu-browser-support.test.ts +18 -0
  599. package/platforms/electrobun/src/native/webgpu-browser-support.ts +165 -147
  600. package/platforms/electrobun/src/native/whisper-env.test.ts +71 -0
  601. package/platforms/electrobun/src/native/whisper-env.ts +68 -0
  602. package/platforms/electrobun/src/native-onboarding.ts +270 -0
  603. package/platforms/electrobun/src/onboarding-overlay-window.ts +141 -0
  604. package/platforms/electrobun/src/persisted-deployment.ts +91 -0
  605. package/platforms/electrobun/src/pill-window.test.ts +91 -0
  606. package/platforms/electrobun/src/pill-window.ts +99 -0
  607. package/platforms/electrobun/src/preload-validation.ts +44 -44
  608. package/platforms/electrobun/src/preload.js +1 -1
  609. package/platforms/electrobun/src/print-electrobun-dev-settings-banner.ts +120 -120
  610. package/platforms/electrobun/src/renderer-api-proxy.test.ts +73 -0
  611. package/platforms/electrobun/src/renderer-api-proxy.ts +86 -0
  612. package/platforms/electrobun/src/renderer-static.test.ts +53 -0
  613. package/platforms/electrobun/src/renderer-static.ts +144 -57
  614. package/platforms/electrobun/src/rpc-handler-slices.ts +121 -0
  615. package/platforms/electrobun/src/rpc-handlers.test.ts +267 -0
  616. package/platforms/electrobun/src/rpc-handlers.ts +1306 -913
  617. package/platforms/electrobun/src/rpc-parse-utils.ts +57 -0
  618. package/platforms/electrobun/src/rpc-port-resolver.test.ts +45 -0
  619. package/platforms/electrobun/src/rpc-port-resolver.ts +31 -0
  620. package/platforms/electrobun/src/rpc-schema.ts +2556 -1619
  621. package/platforms/electrobun/src/runtime-layout.ts +105 -105
  622. package/platforms/electrobun/src/runtime-permissions.ts +95 -95
  623. package/platforms/electrobun/src/runtime-rpc.test.ts +126 -0
  624. package/platforms/electrobun/src/runtime-rpc.ts +237 -0
  625. package/platforms/electrobun/src/screenshot-dev-server.ts +87 -87
  626. package/platforms/electrobun/src/settings-mutations-rpc.test.ts +193 -0
  627. package/platforms/electrobun/src/settings-mutations-rpc.ts +220 -0
  628. package/platforms/electrobun/src/startup-trace.ts +274 -270
  629. package/platforms/electrobun/src/subscription-rpc.test.ts +89 -0
  630. package/platforms/electrobun/src/subscription-rpc.ts +192 -0
  631. package/platforms/electrobun/src/surface-windows.test.ts +355 -0
  632. package/platforms/electrobun/src/surface-windows.ts +410 -410
  633. package/platforms/electrobun/src/trace/README.md +73 -0
  634. package/platforms/electrobun/src/trace/errors.ts +21 -0
  635. package/platforms/electrobun/src/trace/index.ts +40 -0
  636. package/platforms/electrobun/src/trace/trace-dynamic-view.ts +40 -0
  637. package/platforms/electrobun/src/trace/trace-host-requests.ts +473 -0
  638. package/platforms/electrobun/src/trace/trace-service.test.ts +186 -0
  639. package/platforms/electrobun/src/trace/trace-service.ts +324 -0
  640. package/platforms/electrobun/src/trace/trace-store.test.ts +141 -0
  641. package/platforms/electrobun/src/trace/trace-store.ts +551 -0
  642. package/platforms/electrobun/src/trace/types.ts +250 -0
  643. package/platforms/electrobun/src/trace/views/agent-run-trace.html +311 -0
  644. package/platforms/electrobun/src/types/web-speech.d.ts +28 -28
  645. package/platforms/electrobun/src/types.ts +5 -5
  646. package/platforms/electrobun/src/update-availability.test.ts +72 -0
  647. package/platforms/electrobun/src/update-availability.ts +90 -0
  648. package/platforms/electrobun/src/update-rpc.test.ts +83 -0
  649. package/platforms/electrobun/src/update-rpc.ts +123 -0
  650. package/platforms/electrobun/src/voice/README.md +184 -0
  651. package/platforms/electrobun/src/voice/errors.ts +42 -0
  652. package/platforms/electrobun/src/voice/index.ts +78 -0
  653. package/platforms/electrobun/src/voice/types.ts +316 -0
  654. package/platforms/electrobun/src/voice/voice-host-requests.ts +259 -0
  655. package/platforms/electrobun/src/voice/voice-latency-budget.test.ts +66 -0
  656. package/platforms/electrobun/src/voice/voice-latency-budget.ts +243 -0
  657. package/platforms/electrobun/src/voice/voice-live-validation.test.ts +352 -0
  658. package/platforms/electrobun/src/voice/voice-live-validation.ts +838 -0
  659. package/platforms/electrobun/src/voice/voice-pipeline.ts +250 -0
  660. package/platforms/electrobun/src/voice/voice-playback-adapter.ts +31 -0
  661. package/platforms/electrobun/src/voice/voice-runtime-adapter.test.ts +213 -0
  662. package/platforms/electrobun/src/voice/voice-runtime-adapter.ts +686 -0
  663. package/platforms/electrobun/src/voice/voice-service.test.ts +561 -0
  664. package/platforms/electrobun/src/voice/voice-service.ts +1027 -0
  665. package/platforms/electrobun/src/voice/voice-stream-coordinator.test.ts +115 -0
  666. package/platforms/electrobun/src/voice/voice-stream-coordinator.ts +270 -0
  667. package/platforms/electrobun/src/voice/voice-trace.ts +97 -0
  668. package/platforms/electrobun/src/voice/voice-tts-chunker.test.ts +91 -0
  669. package/platforms/electrobun/src/voice/voice-tts-chunker.ts +194 -0
  670. package/platforms/electrobun/src/windows-cef-profile.ts +88 -88
  671. package/platforms/electrobun/tsconfig.json +73 -13
  672. package/platforms/electrobun/update-channels.json +22 -0
  673. package/platforms/electrobun/vitest.electrobun.config.ts +72 -42
  674. package/platforms/ios/App/App/App.entitlements +4 -0
  675. package/platforms/ios/App/App/AppDelegate.swift +80 -18
  676. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ios-marketing-1024.png +0 -0
  677. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-20x20@1x.png +0 -0
  678. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-20x20@2x.png +0 -0
  679. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-29x29@1x.png +0 -0
  680. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-29x29@2x.png +0 -0
  681. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-40x40@1x.png +0 -0
  682. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-40x40@2x.png +0 -0
  683. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-76x76@1x.png +0 -0
  684. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-76x76@2x.png +0 -0
  685. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-83_5x83_5@2x.png +0 -0
  686. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-20x20@2x.png +0 -0
  687. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-20x20@3x.png +0 -0
  688. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-29x29@2x.png +0 -0
  689. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-29x29@3x.png +0 -0
  690. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-40x40@2x.png +0 -0
  691. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-40x40@3x.png +0 -0
  692. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-60x60@2x.png +0 -0
  693. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-60x60@3x.png +0 -0
  694. package/platforms/ios/App/App/Base.lproj/LaunchScreen.storyboard +1 -4
  695. package/platforms/ios/App/App/ComputerUseBridge.swift +589 -0
  696. package/platforms/ios/App/App/DeviceActivityMonitorExtension/DeviceActivityMonitorExtension.entitlements +12 -0
  697. package/platforms/ios/App/App/DeviceActivityMonitorExtension/DeviceActivityMonitorExtension.swift +34 -0
  698. package/platforms/ios/App/App/DeviceActivityMonitorExtension/Info.plist +29 -0
  699. package/platforms/ios/App/App/DeviceActivityReportExtension/DeviceActivityReportExtension.entitlements +12 -0
  700. package/platforms/ios/App/App/DeviceActivityReportExtension/DeviceActivityReportExtension.swift +53 -0
  701. package/platforms/ios/App/App/DeviceActivityReportExtension/Info.plist +27 -0
  702. package/platforms/ios/App/App/ElizaAppIntents.swift +183 -0
  703. package/platforms/ios/App/App/ElizaIntentPlugin.swift +342 -5
  704. package/platforms/ios/App/App/Info.plist +17 -1
  705. package/platforms/ios/App/App/runners/eliza-tasks.js +177 -0
  706. package/platforms/ios/App/App.xcodeproj/project.pbxproj +262 -6
  707. package/platforms/ios/App/BroadcastExtension/SampleHandler.swift +100 -0
  708. package/platforms/ios/App/Podfile +5 -0
  709. package/platforms/ios/App/Podfile.lock +83 -59
  710. package/register-runtime-hooks.js +11 -5
  711. package/registry/app-registry.d.ts +14 -0
  712. package/registry/app-registry.d.ts.map +1 -0
  713. package/registry/app-registry.js +29 -0
  714. package/registry/entries/apps/app-polymarket.json +31 -0
  715. package/registry/entries/apps/clawville.json +27 -0
  716. package/registry/entries/apps/companion.json +28 -0
  717. package/registry/entries/apps/database-viewer.json +27 -0
  718. package/registry/entries/apps/defense-of-the-agents.json +27 -0
  719. package/registry/entries/apps/documents.json +30 -0
  720. package/registry/entries/apps/feed.json +27 -0
  721. package/registry/entries/apps/hyperliquid.json +31 -0
  722. package/registry/entries/apps/log-viewer.json +27 -0
  723. package/registry/entries/apps/memory-viewer.json +27 -0
  724. package/registry/entries/apps/model-tester.json +31 -0
  725. package/registry/entries/apps/plugin-viewer.json +27 -0
  726. package/registry/entries/apps/relationship-viewer.json +27 -0
  727. package/registry/entries/apps/runtime-debugger.json +27 -0
  728. package/registry/entries/apps/shopify.json +31 -0
  729. package/registry/entries/apps/skills-viewer.json +27 -0
  730. package/registry/entries/apps/steward.json +31 -0
  731. package/registry/entries/apps/training.json +54 -0
  732. package/registry/entries/apps/trajectory-viewer.json +27 -0
  733. package/registry/entries/apps/vincent.json +31 -0
  734. package/registry/entries/connectors/bluebubbles.json +99 -0
  735. package/registry/entries/connectors/bluesky.json +173 -0
  736. package/registry/entries/connectors/discord.json +119 -0
  737. package/registry/entries/connectors/farcaster.json +174 -0
  738. package/registry/entries/connectors/feishu.json +79 -0
  739. package/registry/entries/connectors/google-chat.json +120 -0
  740. package/registry/entries/connectors/google.json +82 -0
  741. package/registry/entries/connectors/imessage.json +96 -0
  742. package/registry/entries/connectors/instagram.json +64 -0
  743. package/registry/entries/connectors/line.json +86 -0
  744. package/registry/entries/connectors/matrix.json +94 -0
  745. package/registry/entries/connectors/mattermost.json +110 -0
  746. package/registry/entries/connectors/msteams.json +104 -0
  747. package/registry/entries/connectors/nextcloud-talk.json +104 -0
  748. package/registry/entries/connectors/nostr.json +70 -0
  749. package/registry/entries/connectors/signal.json +81 -0
  750. package/registry/entries/connectors/slack.json +102 -0
  751. package/registry/entries/connectors/telegram.json +71 -0
  752. package/registry/entries/connectors/tlon.json +94 -0
  753. package/registry/entries/connectors/twitch.json +110 -0
  754. package/registry/entries/connectors/whatsapp.json +113 -0
  755. package/registry/entries/connectors/x.json +231 -0
  756. package/registry/entries/connectors/zalo.json +112 -0
  757. package/registry/entries/connectors/zalouser.json +122 -0
  758. package/registry/entries/plugins/agent-orchestrator.json +33 -0
  759. package/registry/entries/plugins/agent-skills.json +72 -0
  760. package/registry/entries/plugins/anthropic.json +73 -0
  761. package/registry/entries/plugins/app-control.json +23 -0
  762. package/registry/entries/plugins/auto-trader.json +203 -0
  763. package/registry/entries/plugins/background-runner.json +26 -0
  764. package/registry/entries/plugins/blooio.json +102 -0
  765. package/registry/entries/plugins/browser.json +75 -0
  766. package/registry/entries/plugins/cli.json +40 -0
  767. package/registry/entries/plugins/clipboard.json +44 -0
  768. package/registry/entries/plugins/coding-tools.json +71 -0
  769. package/registry/entries/plugins/commands.json +63 -0
  770. package/registry/entries/plugins/computeruse.json +74 -0
  771. package/registry/entries/plugins/copilot-proxy.json +93 -0
  772. package/registry/entries/plugins/directives.json +63 -0
  773. package/registry/entries/plugins/edge-tts.json +97 -0
  774. package/registry/entries/plugins/elevenlabs.json +169 -0
  775. package/registry/entries/plugins/elizacloud.json +208 -0
  776. package/registry/entries/plugins/evm.json +134 -0
  777. package/registry/entries/plugins/experience.json +34 -0
  778. package/registry/entries/plugins/facewear.json +131 -0
  779. package/registry/entries/plugins/form.json +26 -0
  780. package/registry/entries/plugins/github.json +93 -0
  781. package/registry/entries/plugins/gmail-watch.json +25 -0
  782. package/registry/entries/plugins/goals.json +77 -0
  783. package/registry/entries/plugins/google-genai.json +106 -0
  784. package/registry/entries/plugins/groq.json +93 -0
  785. package/registry/entries/plugins/hedera.json +48 -0
  786. package/registry/entries/plugins/inmemorydb.json +25 -0
  787. package/registry/entries/plugins/linear.json +51 -0
  788. package/registry/entries/plugins/local-inference.json +137 -0
  789. package/registry/entries/plugins/local-storage.json +36 -0
  790. package/registry/entries/plugins/localdb.json +25 -0
  791. package/registry/entries/plugins/mcp.json +44 -0
  792. package/registry/entries/plugins/memory.json +124 -0
  793. package/registry/entries/plugins/minecraft.json +79 -0
  794. package/registry/entries/plugins/moltbook.json +83 -0
  795. package/registry/entries/plugins/music.json +155 -0
  796. package/registry/entries/plugins/mysticism.json +48 -0
  797. package/registry/entries/plugins/nearai.json +82 -0
  798. package/registry/entries/plugins/ngrok.json +69 -0
  799. package/registry/entries/plugins/ollama.json +96 -0
  800. package/registry/entries/plugins/openai.json +189 -0
  801. package/registry/entries/plugins/openrouter.json +188 -0
  802. package/registry/entries/plugins/pdf.json +26 -0
  803. package/registry/entries/plugins/plugin-manager.json +23 -0
  804. package/registry/entries/plugins/prose.json +48 -0
  805. package/registry/entries/plugins/rlm.json +26 -0
  806. package/registry/entries/plugins/roblox.json +88 -0
  807. package/registry/entries/plugins/rss.json +64 -0
  808. package/registry/entries/plugins/s3-storage.json +91 -0
  809. package/registry/entries/plugins/scheduling.json +35 -0
  810. package/registry/entries/plugins/shell.json +94 -0
  811. package/registry/entries/plugins/social-alpha.json +72 -0
  812. package/registry/entries/plugins/tailscale.json +81 -0
  813. package/registry/entries/plugins/tee.json +53 -0
  814. package/registry/entries/plugins/todos.json +26 -0
  815. package/registry/entries/plugins/trajectory-logger.json +33 -0
  816. package/registry/entries/plugins/trust.json +39 -0
  817. package/registry/entries/plugins/tts.json +71 -0
  818. package/registry/entries/plugins/tunnel.json +45 -0
  819. package/registry/entries/plugins/twilio.json +168 -0
  820. package/registry/entries/plugins/vercel-ai-gateway.json +128 -0
  821. package/registry/entries/plugins/video.json +23 -0
  822. package/registry/entries/plugins/vision.json +43 -0
  823. package/registry/entries/plugins/webhooks.json +23 -0
  824. package/registry/entries/plugins/workflow.json +25 -0
  825. package/registry/entries/plugins/xai.json +75 -0
  826. package/registry/index.d.ts +2 -1
  827. package/registry/index.d.ts.map +1 -1
  828. package/registry/index.js +46 -12
  829. package/registry/loader.d.ts +2 -1
  830. package/registry/loader.d.ts.map +1 -1
  831. package/registry/loader.js +49 -2
  832. package/registry/schema.d.ts +244 -34
  833. package/registry/schema.d.ts.map +1 -1
  834. package/registry/schema.js +36 -0
  835. package/runtime/android-avf-microdroid-bridge.d.ts +29 -0
  836. package/runtime/android-avf-microdroid-bridge.d.ts.map +1 -0
  837. package/runtime/android-avf-microdroid-bridge.js +149 -0
  838. package/runtime/api-dev-settings-banner.d.ts.map +1 -1
  839. package/runtime/api-dev-settings-banner.js +5 -13
  840. package/runtime/app-core-runtime-hooks.d.ts +21 -0
  841. package/runtime/app-core-runtime-hooks.d.ts.map +1 -0
  842. package/runtime/app-core-runtime-hooks.js +10 -0
  843. package/runtime/autonomy-policy.d.ts +2 -0
  844. package/runtime/autonomy-policy.d.ts.map +1 -0
  845. package/runtime/autonomy-policy.js +4 -0
  846. package/runtime/desktop/AppWindowRenderer.d.ts +17 -0
  847. package/runtime/desktop/AppWindowRenderer.d.ts.map +1 -0
  848. package/runtime/desktop/AppWindowRenderer.js +360 -0
  849. package/runtime/desktop/DesktopSurfaceNavigationRuntime.d.ts +2 -0
  850. package/runtime/desktop/DesktopSurfaceNavigationRuntime.d.ts.map +1 -0
  851. package/runtime/desktop/DesktopSurfaceNavigationRuntime.js +41 -0
  852. package/runtime/desktop/DesktopTrayRuntime.d.ts +2 -0
  853. package/runtime/desktop/DesktopTrayRuntime.d.ts.map +1 -0
  854. package/runtime/desktop/DesktopTrayRuntime.js +174 -0
  855. package/runtime/desktop/DetachedShellRoot.d.ts +10 -0
  856. package/runtime/desktop/DetachedShellRoot.d.ts.map +1 -0
  857. package/runtime/desktop/DetachedShellRoot.js +111 -0
  858. package/runtime/desktop/index.d.ts +6 -0
  859. package/runtime/desktop/index.d.ts.map +1 -0
  860. package/runtime/desktop/index.js +5 -0
  861. package/runtime/desktop/tray-menu.d.ts +20 -0
  862. package/runtime/desktop/tray-menu.d.ts.map +1 -0
  863. package/runtime/desktop/tray-menu.js +143 -0
  864. package/runtime/dev-server.d.ts +1 -1
  865. package/runtime/dev-server.d.ts.map +1 -1
  866. package/runtime/dev-server.js +93 -17
  867. package/runtime/eliza.d.ts +75 -1
  868. package/runtime/eliza.d.ts.map +1 -1
  869. package/runtime/eliza.js +596 -122
  870. package/runtime/ensure-text-to-speech-handler.d.ts.map +1 -1
  871. package/runtime/ensure-text-to-speech-handler.js +10 -3
  872. package/runtime/mobile-safe-runtime.d.ts +181 -2
  873. package/runtime/mobile-safe-runtime.d.ts.map +1 -1
  874. package/runtime/mobile-safe-runtime.js +1019 -12
  875. package/runtime/mode/remote-forwarder.d.ts.map +1 -1
  876. package/runtime/mode/remote-forwarder.js +2 -2
  877. package/runtime/mode/route-mode-guard.d.ts +1 -2
  878. package/runtime/mode/route-mode-guard.d.ts.map +1 -1
  879. package/runtime/mode/route-mode-guard.js +4 -5
  880. package/runtime/mode/route-mode-matrix.d.ts.map +1 -1
  881. package/runtime/mode/route-mode-matrix.js +14 -1
  882. package/runtime/mode/runtime-mode.d.ts +1 -1
  883. package/runtime/mode/runtime-mode.js +1 -1
  884. package/runtime/runtime-bootstrap-policy.d.ts.map +1 -1
  885. package/runtime/runtime-bootstrap-policy.js +14 -2
  886. package/runtime/telegram-standalone-handler.d.ts.map +1 -1
  887. package/runtime/telegram-standalone-handler.js +10 -9
  888. package/runtime/tts-cache-wiring.d.ts +29 -0
  889. package/runtime/tts-cache-wiring.d.ts.map +1 -0
  890. package/runtime/tts-cache-wiring.js +114 -0
  891. package/runtime/voice-warmup.d.ts +81 -0
  892. package/runtime/voice-warmup.d.ts.map +1 -0
  893. package/runtime/voice-warmup.js +111 -0
  894. package/scripts/android-sms-gateway-template.test.mjs +1014 -0
  895. package/scripts/aosp/README.md +19 -15
  896. package/scripts/aosp/compile-libllama.mjs +1344 -248
  897. package/scripts/aosp/compile-shim.mjs +47 -18
  898. package/scripts/aosp/deploy-pixel.mjs +405 -0
  899. package/scripts/aosp/lib/load-variant-config.mjs +3 -3
  900. package/scripts/aosp/llama-cpp-patches/README.md +8 -8
  901. package/scripts/aosp/llama-cpp-patches/apply-patches.mjs +23 -6
  902. package/scripts/aosp/llama-cpp-patches/polarquant/README.md +37 -0
  903. package/scripts/aosp/llama-cpp-patches/qjl/README.md +37 -0
  904. package/scripts/aosp/seccomp-shim/sigsys-handler-arm64.c +169 -0
  905. package/scripts/aosp/seccomp-shim/sigsys-handler-riscv64.c +217 -0
  906. package/scripts/aosp/smoke-cuttlefish.mjs +34 -4
  907. package/scripts/aosp/stage-default-models.mjs +49 -18
  908. package/scripts/aosp/variant-config-schema.ts +2 -2
  909. package/scripts/assert-required-bundled-packages.test.ts +534 -0
  910. package/scripts/audit-apple-store-sandbox.mjs +146 -0
  911. package/scripts/audit-live-test-surface.mjs +5 -2
  912. package/scripts/build-capacitor-app.mjs +21 -0
  913. package/scripts/build-flatpak.mjs +5 -5
  914. package/scripts/build-helpers/arm64-simd.mjs +72 -0
  915. package/scripts/build-helpers/omnivoice-merged.mjs +87 -0
  916. package/scripts/build-helpers/verify-fused-symbols.mjs +567 -0
  917. package/scripts/build-image.sh +4 -2
  918. package/scripts/build-llama-cpp-mtp.mjs +487 -0
  919. package/scripts/build-native-plugins.mjs +230 -18
  920. package/scripts/build-patched-electrobun-cli.mjs +68 -10
  921. package/scripts/build-win.mjs +1 -1
  922. package/scripts/bun-riscv64/Dockerfile +418 -0
  923. package/scripts/bun-riscv64/README.md +316 -0
  924. package/scripts/bun-riscv64/build.sh +469 -0
  925. package/scripts/bun-riscv64/bun-patches/0001-config-add-riscv64-arch.patch +74 -0
  926. package/scripts/bun-riscv64/bun-patches/0002-flags-add-riscv64-march-mabi.patch +16 -0
  927. package/scripts/bun-riscv64/bun-patches/0003-zig-add-riscv64-target-triple-and-cpu.patch +26 -0
  928. package/scripts/bun-riscv64/bun-patches/0004-webkit-force-local-mode-on-riscv64.patch +33 -0
  929. package/scripts/bun-riscv64/bun-patches/0005-tinycc-disable-on-riscv64.patch +16 -0
  930. package/scripts/bun-riscv64/bun-patches/0006-build-add-riscv64-cli-validation.patch +15 -0
  931. package/scripts/bun-riscv64/bun-patches/0007-deps-per-dep-riscv64-checks.patch +24 -0
  932. package/scripts/bun-riscv64/bun-patches/0008-source-stabilize-riscv64-musl-build.patch +226 -0
  933. package/scripts/bun-riscv64/bun-patches/0009-disable-wasm-streaming-hooks-for-c-loop.patch +162 -0
  934. package/scripts/bun-riscv64/bun-patches/0010-disable-inspector-profiler-for-riscv64-c-loop.patch +80 -0
  935. package/scripts/bun-riscv64/bun-patches/0011-process-arch-add-riscv64.patch +23 -0
  936. package/scripts/bun-riscv64/bun-patches/0012-cpu-features-add-riscv64-fallback.patch +13 -0
  937. package/scripts/bun-riscv64/bun-patches/0013-disable-console-inspector-hooks-for-riscv64-c-loop.patch +43 -0
  938. package/scripts/bun-riscv64/bun-patches/0014-disable-custom-inspector-dispatchers-on-riscv64.patch +127 -0
  939. package/scripts/bun-riscv64/bun-patches/0015-disable-jsc-profiler-builtins-on-riscv64.patch +75 -0
  940. package/scripts/bun-riscv64/bun-patches/0016-node-vm-disable-jit-cached-data-on-riscv64-c-loop.patch +96 -0
  941. package/scripts/bun-riscv64/bun-patches/0017-disable-performance-domjit-signature-on-riscv64-c-loop.patch +34 -0
  942. package/scripts/bun-riscv64/bun-patches/0018-fix-serialized-script-identifier-big-endian-path.patch +19 -0
  943. package/scripts/bun-riscv64/bun-patches/0019-add-wtf-timer-fire-bridge-for-c-loop.patch +24 -0
  944. package/scripts/bun-riscv64/bun-patches/0020-run-riscv64-smoke-test-under-qemu.patch +13 -0
  945. package/scripts/bun-riscv64/bun-patches/0021-fix-riscv64-linux-open-flags.patch +25 -0
  946. package/scripts/bun-riscv64/bun-patches/0022-zlib-riscv64-generic-kernels.patch +25 -0
  947. package/scripts/bun-riscv64/bun-patches/README.md +127 -0
  948. package/scripts/bun-riscv64/bun-version.json +202 -0
  949. package/scripts/bun-riscv64/run-build.sh +162 -0
  950. package/scripts/bun-riscv64/rust-core/0001-riscv64-rust-core-port.patch +868 -0
  951. package/scripts/bun-riscv64/rust-core/0002-second-wave-riscv64-source-gaps.patch +130 -0
  952. package/scripts/bun-riscv64/rust-core/0003-third-wave-riscv64-crash-handler-gaps.patch +78 -0
  953. package/scripts/bun-riscv64/rust-core/0004-rust-target-cpu-riscv64.patch +39 -0
  954. package/scripts/bun-riscv64/rust-core/0005-fifth-wave-riscv64-source-gaps.patch +96 -0
  955. package/scripts/bun-riscv64/rust-core/0006-cpp-wasm-and-inspector-guards-riscv64.patch +91 -0
  956. package/scripts/bun-riscv64/rust-core/0007-bun-alloc-max-align-t-riscv64.patch +36 -0
  957. package/scripts/bun-riscv64/rust-core/0008-workspace-lints-warn-not-deny-riscv64.patch +75 -0
  958. package/scripts/bun-riscv64/rust-core/0009-zigglobalobject-wasm-streaming-guards-riscv64.patch +109 -0
  959. package/scripts/bun-riscv64/rust-core/0010-tcc-externs-stub-on-riscv64.patch +62 -0
  960. package/scripts/bun-riscv64/rust-core/0011-clippy-ptr-cast-lints-warn-riscv64.patch +61 -0
  961. package/scripts/bun-riscv64/rust-core/README.md +80 -0
  962. package/scripts/bun-riscv64/rust-core/webkit-patches/0003-disable-dfg-ftl-on-riscv64.patch +60 -0
  963. package/scripts/bun-riscv64/rust-core/webkit-patches/0004-riscv64-do-not-force-wasm-in-c-loop.patch +31 -0
  964. package/scripts/bun-riscv64/rust-core/webkit-patches/0005-domjit-effect-allow-no-dfg-c-loop.patch +40 -0
  965. package/scripts/bun-riscv64/rust-core/webkit-patches/0006-disable-usewasm-when-webassembly-compiled-out.patch +33 -0
  966. package/scripts/bun-riscv64/rust-core/webkit-patches/0007-restore-dropped-includes-and-llint-fwd-decl.patch +31 -0
  967. package/scripts/bun-riscv64/validate.sh +264 -0
  968. package/scripts/bun-riscv64/webkit-patches/0001-cherry-pick-llint-riscv64.recipe +155 -0
  969. package/scripts/bun-riscv64/webkit-patches/0002-cherry-pick-baseline-jit-riscv64.recipe +40 -0
  970. package/scripts/bun-riscv64/webkit-patches/0003-disable-dfg-ftl-on-riscv64.patch +60 -0
  971. package/scripts/bun-riscv64/webkit-patches/0004-riscv64-do-not-force-wasm-in-c-loop.patch +31 -0
  972. package/scripts/bun-riscv64/webkit-patches/0005-domjit-effect-allow-no-dfg-c-loop.patch +40 -0
  973. package/scripts/bun-riscv64/webkit-patches/0006-disable-usewasm-when-webassembly-compiled-out.patch +33 -0
  974. package/scripts/bun-riscv64/webkit-patches/0007-restore-dropped-includes-and-llint-fwd-decl.patch +72 -0
  975. package/scripts/bun-riscv64/webkit-patches/README.md +146 -0
  976. package/scripts/check-homepage-public-readiness.mjs +353 -0
  977. package/scripts/check-homepage-release-data.mjs +110 -0
  978. package/scripts/check-i18n.mjs +2 -1
  979. package/scripts/check-real-local-chat.ts +147 -0
  980. package/scripts/check-real-local-provisioning.ts +104 -0
  981. package/scripts/check-real-local-reset.ts +249 -0
  982. package/scripts/check-sms-gateway-completion-audit.mjs +428 -0
  983. package/scripts/check-sms-gateway-readiness.mjs +266 -0
  984. package/scripts/clean-repo.mjs +5 -5
  985. package/scripts/codesign-mas.mjs +222 -16
  986. package/scripts/collect-docker-runtime-deps.mjs +229 -0
  987. package/scripts/continue-sms-gateway-work.mjs +121 -0
  988. package/scripts/copy-runtime-node-modules.ts +903 -195
  989. package/scripts/deploy-cloud-api-production-gateway.mjs +52 -0
  990. package/scripts/desktop-build.mjs +655 -101
  991. package/scripts/dev-platform.mjs +346 -102
  992. package/scripts/dev-startup-smoke.mjs +248 -0
  993. package/scripts/dev-ui.mjs +418 -176
  994. package/scripts/disable-local-eliza-workspace.mjs +35 -0
  995. package/scripts/docker-ci-smoke.sh +440 -96
  996. package/scripts/docker-entrypoint.sh +62 -1
  997. package/scripts/docker-entrypoint.test.ts +283 -0
  998. package/scripts/ensure-avatars.mjs +2 -2
  999. package/scripts/ensure-electrobun-core.mjs +1 -1
  1000. package/scripts/ensure-generated-core-proto-js.mjs +1 -1
  1001. package/scripts/ensure-type-package-aliases.mjs +62 -5
  1002. package/scripts/ensure-vision-deps.mjs +20 -1
  1003. package/scripts/entry.ts +1 -1
  1004. package/scripts/ffi-stub/Makefile +64 -0
  1005. package/scripts/ffi-stub/README.md +391 -0
  1006. package/scripts/ffi-stub/asr-ffi-smoke.ts +139 -0
  1007. package/scripts/ffi-stub/ffi-stub.c +539 -0
  1008. package/scripts/ffi-stub/ffi.h +538 -0
  1009. package/scripts/ffi-stub/libelizainference_stub.so +0 -0
  1010. package/scripts/ffi-stub/tts-stream-ffi-smoke.ts +349 -0
  1011. package/scripts/generate-first-run-voicelines.mjs +194 -0
  1012. package/scripts/generate-plugin-index.js +4 -3
  1013. package/scripts/generate-static-asset-manifest.mjs +1 -1
  1014. package/scripts/i18n-dynamic-keys.json +5 -5
  1015. package/scripts/init-submodules.mjs +2 -2
  1016. package/scripts/install-android-sms-gateway.md +177 -0
  1017. package/scripts/install-android-sms-gateway.mjs +1088 -0
  1018. package/scripts/ios-xcframework/README.md +74 -72
  1019. package/scripts/ios-xcframework/build-xcframework.mjs +204 -43
  1020. package/scripts/ios-xcframework/run-physical-device-smoke.mjs +1943 -0
  1021. package/scripts/ios-xcframework/runtime-symbol-shim.c +450 -0
  1022. package/scripts/kernel-patches/cpu-polar-kernels.mjs +441 -0
  1023. package/scripts/kernel-patches/cpu-simd-kernels.mjs +253 -0
  1024. package/scripts/kernel-patches/cpu-thread-parallelism.mjs +368 -0
  1025. package/scripts/kernel-patches/cuda-kernels.mjs +117 -0
  1026. package/scripts/kernel-patches/metal-kernels.mjs +1698 -109
  1027. package/scripts/kernel-patches/server-omnivoice-route.mjs +718 -0
  1028. package/scripts/kernel-patches/server-structured-output.mjs +279 -0
  1029. package/scripts/kernel-patches/vulkan-dispatch-log.mjs +166 -0
  1030. package/scripts/kernel-patches/vulkan-dispatch-log.test.mjs +50 -0
  1031. package/scripts/kernel-patches/vulkan-dispatch-patches/01-vulkan-shaders-gen.patch +30 -16
  1032. package/scripts/kernel-patches/vulkan-dispatch-patches/02-ggml-vulkan-pipelines.patch +75 -30
  1033. package/scripts/kernel-patches/vulkan-kernels.mjs +800 -49
  1034. package/scripts/lib/agent-source-watcher.mjs +174 -0
  1035. package/scripts/lib/agent-source-watcher.test.mjs +184 -0
  1036. package/scripts/lib/api-supervisor.mjs +78 -9
  1037. package/scripts/lib/api-supervisor.test.mjs +121 -0
  1038. package/scripts/lib/app-dir.mjs +2 -16
  1039. package/scripts/lib/apple-entitlement-audit.mjs +655 -0
  1040. package/scripts/lib/apple-entitlement-audit.test.mjs +144 -0
  1041. package/scripts/lib/bun-version-guard.mjs +13 -13
  1042. package/scripts/lib/capacitor-plugin-build-needed.mjs +4 -3
  1043. package/scripts/lib/capacitor-plugin-names.mjs +30 -14
  1044. package/scripts/lib/desktop-preflight.mjs +9 -5
  1045. package/scripts/lib/desktop-startup-embedding-warmup-policy.mjs +51 -0
  1046. package/scripts/lib/desktop-startup-embedding-warmup-policy.test.mjs +55 -0
  1047. package/scripts/lib/duet-bridge.d.mts +63 -0
  1048. package/scripts/lib/duet-bridge.mjs +193 -0
  1049. package/scripts/lib/node-path-env.mjs +4 -2
  1050. package/scripts/lib/orchestrator-desktop-dev-banner.mjs +12 -3
  1051. package/scripts/lib/patch-bun-exports.mjs +90 -27
  1052. package/scripts/lib/patch-bun-exports.test.mjs +79 -0
  1053. package/scripts/lib/renderer-build-action.mjs +35 -0
  1054. package/scripts/lib/renderer-build-action.test.mjs +70 -0
  1055. package/scripts/lib/stage-android-agent.mjs +748 -99
  1056. package/scripts/lib/sync-eliza-env-aliases.mjs +3 -25
  1057. package/scripts/lib/ui-smoke-stub-decision.mjs +33 -0
  1058. package/scripts/lib/ui-smoke-stub-decision.test.mjs +46 -0
  1059. package/scripts/lib/vite-renderer-dist-stale.mjs +5 -0
  1060. package/scripts/lib/voice-latency-report.mjs +154 -0
  1061. package/scripts/lifeops-prompt-benchmark.ts +21 -12
  1062. package/scripts/link-docker-local-app-packages.mjs +103 -36
  1063. package/scripts/local-stt-bench.ts +192 -0
  1064. package/scripts/maintain-cloud-api-production-gateway.mjs +54 -0
  1065. package/scripts/mas-smoke.mjs +459 -0
  1066. package/scripts/mas-smoke.test.mjs +220 -0
  1067. package/scripts/mobile-auth-simulator-smoke.mjs +0 -1
  1068. package/scripts/normalize-eliza-capture.ts +97 -0
  1069. package/scripts/omnivoice-fuse/prepare.mjs +2543 -23
  1070. package/scripts/pack-upstreams.mjs +65 -5
  1071. package/scripts/package-electrobun-linux.mjs +303 -0
  1072. package/scripts/patch-deps.mjs +5 -3
  1073. package/scripts/patches/llama-asr-word-timestamps.patch +218 -0
  1074. package/scripts/patches/llama-mobile-kokoro-tts.patch +480 -0
  1075. package/scripts/playwright-ui-live-stack.ts +194 -49
  1076. package/scripts/playwright-ui-smoke-api-stub.mjs +3501 -109
  1077. package/scripts/pre-review-local.mjs +2 -2
  1078. package/scripts/prepare-ios-cocoapods.sh +41 -3
  1079. package/scripts/release-check.ts +180 -84
  1080. package/scripts/release-workflow-drift.test.ts +57 -0
  1081. package/scripts/relink-workspace-packages-to-dist.mjs +21 -4
  1082. package/scripts/rt.mjs +16 -1
  1083. package/scripts/run-biome-check.mjs +1 -1
  1084. package/scripts/run-coding-agent-e2e.mjs +3 -3
  1085. package/scripts/run-eliza-app-core-script.mjs +34 -0
  1086. package/scripts/run-local-plugin-live-smoke.mjs +71 -2
  1087. package/scripts/run-mobile-build-android-app-actions.test.mjs +426 -0
  1088. package/scripts/run-mobile-build.mjs +4757 -607
  1089. package/scripts/run-node-runtime.mjs +184 -7
  1090. package/scripts/run-node-runtime.test.mjs +167 -0
  1091. package/scripts/run-node-tsx.mjs +80 -33
  1092. package/scripts/run-node.mjs +41 -1
  1093. package/scripts/run-production-build.mjs +34 -27
  1094. package/scripts/run-release-check.mjs +19 -0
  1095. package/scripts/run-release-contract-suite.mjs +107 -14
  1096. package/scripts/run-ui-smoke-playwright-suite.mjs +0 -2
  1097. package/scripts/runtime-package-manifest.ts +21 -3
  1098. package/scripts/setup-upstreams.mjs +42 -1
  1099. package/scripts/sms-gateway-status.mjs +194 -0
  1100. package/scripts/stage-android-agent.test.mjs +97 -0
  1101. package/scripts/stage-desktop-fused-lib.mjs +424 -0
  1102. package/scripts/stage-elizavoice-lib.mjs +363 -0
  1103. package/scripts/startup-integration-script-drift.test.ts +82 -4
  1104. package/scripts/streaming-pipeline-bench.ts +543 -0
  1105. package/scripts/sync-homepage-porkbun-dns.mjs +262 -0
  1106. package/scripts/test-sms-gateway-software.mjs +100 -0
  1107. package/scripts/type-audit.mjs +1 -1
  1108. package/scripts/validate-bluebubbles-outbound.mjs +293 -0
  1109. package/scripts/validate-cdn-assets.mjs +15 -7
  1110. package/scripts/validate-regression-matrix.mjs +109 -8
  1111. package/scripts/verify-android-sms-gateway-e2e.mjs +362 -0
  1112. package/scripts/verify-bluebubbles-gateway-e2e.mjs +191 -0
  1113. package/scripts/verify-bluebubbles-inbound-readiness.mjs +88 -0
  1114. package/scripts/verify-cloud-api-production-deploy.mjs +87 -0
  1115. package/scripts/verify-cloud-sms-onboarding-flow.mjs +336 -0
  1116. package/scripts/voice/freeze-voice.mjs +521 -0
  1117. package/scripts/voice-attribution-smoke.ts +538 -0
  1118. package/scripts/voice-create-profile.mjs +379 -0
  1119. package/scripts/voice-duet.mjs +1355 -0
  1120. package/scripts/voice-e2e-hardware.ts +871 -0
  1121. package/scripts/voice-interactive.mjs +1750 -0
  1122. package/scripts/voice-latency-report.mjs +96 -0
  1123. package/scripts/voice-latency-report.test.ts +176 -0
  1124. package/scripts/voice-preset/build-default-voice-preset.mjs +249 -0
  1125. package/scripts/voice-preset/build-onboarding-voice.mjs +281 -0
  1126. package/scripts/watch-sms-gateway-readiness.mjs +303 -0
  1127. package/scripts/write-homepage-release-data.mjs +458 -26
  1128. package/security/agent-vault-id.d.ts +1 -1
  1129. package/security/agent-vault-id.js +1 -1
  1130. package/security/hydrate-wallet-keys-from-platform-store.d.ts.map +1 -1
  1131. package/security/hydrate-wallet-keys-from-platform-store.js +23 -14
  1132. package/security/platform-secure-store-node.d.ts +2 -2
  1133. package/security/platform-secure-store-node.js +3 -3
  1134. package/security/wallet-os-store-actions.d.ts +0 -9
  1135. package/security/wallet-os-store-actions.d.ts.map +1 -1
  1136. package/security/wallet-os-store-actions.js +3 -10
  1137. package/services/account-pool.d.ts +23 -14
  1138. package/services/account-pool.d.ts.map +1 -1
  1139. package/services/account-pool.js +86 -24
  1140. package/services/account-usage.d.ts.map +1 -1
  1141. package/services/account-usage.js +2 -5
  1142. package/services/ambient-audio/consent.d.ts +9 -0
  1143. package/services/ambient-audio/consent.d.ts.map +1 -0
  1144. package/services/ambient-audio/consent.js +28 -0
  1145. package/services/ambient-audio/index.d.ts +7 -0
  1146. package/services/ambient-audio/index.d.ts.map +1 -0
  1147. package/services/ambient-audio/index.js +4 -0
  1148. package/services/ambient-audio/replay-buffer.d.ts +14 -0
  1149. package/services/ambient-audio/replay-buffer.d.ts.map +1 -0
  1150. package/services/ambient-audio/replay-buffer.js +66 -0
  1151. package/services/ambient-audio/response-gate.d.ts +3 -0
  1152. package/services/ambient-audio/response-gate.d.ts.map +1 -0
  1153. package/services/ambient-audio/response-gate.js +33 -0
  1154. package/services/ambient-audio/service.d.ts +22 -0
  1155. package/services/ambient-audio/service.d.ts.map +1 -0
  1156. package/services/ambient-audio/service.js +47 -0
  1157. package/services/ambient-audio/types.d.ts +42 -0
  1158. package/services/ambient-audio/types.d.ts.map +1 -0
  1159. package/services/app-updates/update-policy.d.ts +64 -0
  1160. package/services/app-updates/update-policy.d.ts.map +1 -0
  1161. package/services/app-updates/update-policy.js +228 -0
  1162. package/services/auth-store.d.ts +37 -1
  1163. package/services/auth-store.d.ts.map +1 -1
  1164. package/services/auth-store.js +59 -26
  1165. package/services/cloud-jwks-store.d.ts +3 -3
  1166. package/services/cloud-jwks-store.d.ts.map +1 -1
  1167. package/services/cloud-jwks-store.js +5 -8
  1168. package/services/coding-account-bridge.d.ts +71 -0
  1169. package/services/coding-account-bridge.d.ts.map +1 -0
  1170. package/services/coding-account-bridge.js +267 -0
  1171. package/services/connector-target-catalog.d.ts +10 -3
  1172. package/services/connector-target-catalog.d.ts.map +1 -1
  1173. package/services/connector-target-catalog.js +7 -4
  1174. package/services/credential-tunnel-service.d.ts +66 -0
  1175. package/services/credential-tunnel-service.d.ts.map +1 -0
  1176. package/services/credential-tunnel-service.js +227 -0
  1177. package/services/github-credentials.d.ts +1 -1
  1178. package/services/github-credentials.js +1 -1
  1179. package/services/inference-abort.d.ts +47 -0
  1180. package/services/inference-abort.d.ts.map +1 -0
  1181. package/services/inference-abort.js +76 -0
  1182. package/services/persistence.d.ts +2 -3
  1183. package/services/persistence.d.ts.map +1 -1
  1184. package/services/persistence.js +2 -3
  1185. package/services/phrase-chunked-tts.d.ts +136 -0
  1186. package/services/phrase-chunked-tts.d.ts.map +1 -0
  1187. package/services/phrase-chunked-tts.js +208 -0
  1188. package/services/sandbox-registry.d.ts +78 -0
  1189. package/services/sandbox-registry.d.ts.map +1 -0
  1190. package/services/sandbox-registry.js +323 -0
  1191. package/services/secrets-manager-installer.d.ts +8 -1
  1192. package/services/secrets-manager-installer.d.ts.map +1 -1
  1193. package/services/secrets-manager-installer.js +27 -2
  1194. package/services/sensitive-requests/cloud-link-adapter.d.ts +15 -0
  1195. package/services/sensitive-requests/cloud-link-adapter.d.ts.map +1 -0
  1196. package/services/sensitive-requests/cloud-link-adapter.js +73 -0
  1197. package/services/sensitive-requests/index.d.ts +27 -0
  1198. package/services/sensitive-requests/index.d.ts.map +1 -0
  1199. package/services/sensitive-requests/index.js +51 -0
  1200. package/services/sensitive-requests/instruct-dm-only-adapter.d.ts +14 -0
  1201. package/services/sensitive-requests/instruct-dm-only-adapter.d.ts.map +1 -0
  1202. package/services/sensitive-requests/instruct-dm-only-adapter.js +22 -0
  1203. package/services/sensitive-requests/owner-app-inline-adapter.d.ts +3 -0
  1204. package/services/sensitive-requests/owner-app-inline-adapter.d.ts.map +1 -0
  1205. package/services/sensitive-requests/owner-app-inline-adapter.js +146 -0
  1206. package/services/sensitive-requests/owner-app-oauth-adapter.d.ts +3 -0
  1207. package/services/sensitive-requests/owner-app-oauth-adapter.d.ts.map +1 -0
  1208. package/services/sensitive-requests/owner-app-oauth-adapter.js +156 -0
  1209. package/services/sensitive-requests/public-link-adapter.d.ts +14 -0
  1210. package/services/sensitive-requests/public-link-adapter.d.ts.map +1 -0
  1211. package/services/sensitive-requests/public-link-adapter.js +86 -0
  1212. package/services/sensitive-requests/tunnel-link-adapter.d.ts +17 -0
  1213. package/services/sensitive-requests/tunnel-link-adapter.d.ts.map +1 -0
  1214. package/services/sensitive-requests/tunnel-link-adapter.js +38 -0
  1215. package/services/steward-credentials.d.ts +1 -1
  1216. package/services/steward-credentials.d.ts.map +1 -1
  1217. package/services/steward-credentials.js +10 -6
  1218. package/services/steward-sidecar/health-check.d.ts.map +1 -1
  1219. package/services/steward-sidecar/health-check.js +4 -3
  1220. package/services/steward-sidecar/process-management.d.ts +1 -1
  1221. package/services/steward-sidecar/process-management.d.ts.map +1 -1
  1222. package/services/steward-sidecar/process-management.js +9 -3
  1223. package/services/steward-sidecar/types.d.ts +1 -1
  1224. package/services/steward-sidecar/types.d.ts.map +1 -1
  1225. package/services/steward-sidecar/wallet-setup.d.ts.map +1 -1
  1226. package/services/steward-sidecar/wallet-setup.js +8 -7
  1227. package/services/steward-sidecar.d.ts +2 -2
  1228. package/services/steward-sidecar.d.ts.map +1 -1
  1229. package/services/steward-sidecar.js +27 -19
  1230. package/services/task-host-capabilities.d.ts +60 -0
  1231. package/services/task-host-capabilities.d.ts.map +1 -0
  1232. package/services/task-host-capabilities.js +122 -0
  1233. package/services/tool-call-cache/index.d.ts +2 -2
  1234. package/services/tool-call-cache/index.d.ts.map +1 -1
  1235. package/services/tool-call-cache/index.js +1 -1
  1236. package/services/trigger-event-bridge.js +1 -1
  1237. package/services/tunnel-to-mobile/index.d.ts +2 -0
  1238. package/services/tunnel-to-mobile/index.d.ts.map +1 -0
  1239. package/services/tunnel-to-mobile/index.js +1 -0
  1240. package/services/tunnel-to-mobile/tunnel-to-mobile-client.d.ts +105 -0
  1241. package/services/tunnel-to-mobile/tunnel-to-mobile-client.d.ts.map +1 -0
  1242. package/services/tunnel-to-mobile/tunnel-to-mobile-client.js +190 -0
  1243. package/services/vault-bootstrap.d.ts.map +1 -1
  1244. package/services/vault-bootstrap.js +48 -21
  1245. package/services/vault-mirror.d.ts +1 -1
  1246. package/services/vault-mirror.d.ts.map +1 -1
  1247. package/services/vault-mirror.js +29 -6
  1248. package/services/voice-profiles/diarization-pipeline.d.ts +6 -0
  1249. package/services/voice-profiles/diarization-pipeline.d.ts.map +1 -0
  1250. package/services/voice-profiles/diarization-pipeline.js +20 -0
  1251. package/services/voice-profiles/index.d.ts +12 -0
  1252. package/services/voice-profiles/index.d.ts.map +1 -0
  1253. package/services/voice-profiles/index.js +5 -0
  1254. package/services/voice-profiles/nickname-evaluator.d.ts +14 -0
  1255. package/services/voice-profiles/nickname-evaluator.d.ts.map +1 -0
  1256. package/services/voice-profiles/nickname-evaluator.js +46 -0
  1257. package/services/voice-profiles/owner-confidence.d.ts +10 -0
  1258. package/services/voice-profiles/owner-confidence.d.ts.map +1 -0
  1259. package/services/voice-profiles/owner-confidence.js +38 -0
  1260. package/services/voice-profiles/private-challenge.d.ts +20 -0
  1261. package/services/voice-profiles/private-challenge.d.ts.map +1 -0
  1262. package/services/voice-profiles/private-challenge.js +44 -0
  1263. package/services/voice-profiles/store.d.ts +21 -0
  1264. package/services/voice-profiles/store.d.ts.map +1 -0
  1265. package/services/voice-profiles/store.js +50 -0
  1266. package/services/voice-profiles/types.d.ts +38 -0
  1267. package/services/voice-profiles/types.d.ts.map +1 -0
  1268. package/services/voice-profiles/types.js +1 -0
  1269. package/styles/electrobun-mac-window-drag.css +4 -4
  1270. package/test/helpers/__tests__/live-agent-test.smoke.test.ts +43 -70
  1271. package/test/helpers/browser-mocks.ts +2 -2
  1272. package/test/helpers/conditional-tests.ts +2 -2
  1273. package/test/helpers/i18n.ts +1 -1
  1274. package/test/helpers/live-agent-test.ts +537 -551
  1275. package/test/helpers/live-provider.test.ts +4 -4
  1276. package/test/helpers/live-provider.ts +41 -7
  1277. package/test/helpers/live-runtime-server.ts +4 -4
  1278. package/test/helpers/pglite-runtime.ts +1 -1
  1279. package/test/helpers/real-runtime.ts +72 -20
  1280. package/test/helpers/trajectory-harness.ts +11 -7
  1281. package/test/scripts/start-eliza-live.ts +9 -0
  1282. package/test/scripts/test-parallel.mjs +1 -1
  1283. package/test/scripts/test-root-unit.mjs +6 -7
  1284. package/ui-compat.d.ts +13 -2
  1285. package/ui-compat.d.ts.map +1 -1
  1286. package/ui-compat.js +19 -3
  1287. package/api/auth-pairing-compat-routes.d.ts +0 -17
  1288. package/api/auth-pairing-compat-routes.d.ts.map +0 -1
  1289. package/api/auth-pairing-compat-routes.js +0 -301
  1290. package/api/local-inference-compat-routes.d.ts +0 -16
  1291. package/api/local-inference-compat-routes.d.ts.map +0 -1
  1292. package/api/local-inference-compat-routes.js +0 -617
  1293. package/api/onboarding-compat-routes.d.ts +0 -4
  1294. package/api/onboarding-compat-routes.d.ts.map +0 -1
  1295. package/api/onboarding-compat-routes.js +0 -207
  1296. package/api/plugins-compat-routes.d.ts +0 -103
  1297. package/api/plugins-compat-routes.d.ts.map +0 -1
  1298. package/api/plugins-compat-routes.js +0 -1181
  1299. package/api/server-onboarding-compat.d.ts +0 -31
  1300. package/api/server-onboarding-compat.d.ts.map +0 -1
  1301. package/api/server-onboarding-compat.js +0 -283
  1302. package/benchmark/cua-routes.d.ts +0 -10
  1303. package/benchmark/cua-routes.d.ts.map +0 -1
  1304. package/benchmark/cua-routes.js +0 -179
  1305. package/benchmark/mock-plugin-base.d.ts +0 -9
  1306. package/benchmark/mock-plugin-base.d.ts.map +0 -1
  1307. package/benchmark/mock-plugin-base.js +0 -325
  1308. package/cli/parse-duration.d.ts +0 -5
  1309. package/cli/parse-duration.d.ts.map +0 -1
  1310. package/cli/parse-duration.js +0 -27
  1311. package/patches/llama-cpp-capacitor@0.1.5.patch +0 -2387
  1312. package/platform/agent-browser-stub.d.ts +0 -27
  1313. package/platform/agent-browser-stub.d.ts.map +0 -1
  1314. package/platform/agent-browser-stub.js +0 -16
  1315. package/platforms/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java +0 -26
  1316. package/platforms/android/app/src/main/res/drawable/ic_launcher_background.xml +0 -170
  1317. package/platforms/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +0 -34
  1318. package/platforms/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java +0 -18
  1319. package/platforms/electrobun/assets/appIcon.iconset/icon_512x512@2x.png +0 -0
  1320. package/platforms/electrobun/assets/appIcon.png +0 -0
  1321. package/platforms/electrobun/scripts/build-whisper-universal.sh +0 -137
  1322. package/platforms/electrobun/scripts/build-whisper.sh +0 -95
  1323. package/platforms/electrobun/src/libMacWindowEffects.dylib +0 -0
  1324. package/platforms/electrobun/src/native/whisper.ts +0 -280
  1325. package/platforms/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png +0 -0
  1326. package/platforms/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png +0 -0
  1327. package/platforms/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png +0 -0
  1328. package/registry/generate-apps.d.ts +0 -2
  1329. package/registry/generate-apps.d.ts.map +0 -1
  1330. package/registry/generate-apps.js +0 -338
  1331. package/registry/generate.d.ts +0 -2
  1332. package/registry/generate.d.ts.map +0 -1
  1333. package/registry/generate.js +0 -506
  1334. package/runtime/embedding-manager-support.d.ts +0 -77
  1335. package/runtime/embedding-manager-support.d.ts.map +0 -1
  1336. package/runtime/embedding-manager-support.js +0 -309
  1337. package/runtime/embedding-presets.d.ts +0 -5
  1338. package/runtime/embedding-presets.d.ts.map +0 -1
  1339. package/runtime/embedding-presets.js +0 -47
  1340. package/runtime/embedding-warmup-policy.d.ts +0 -13
  1341. package/runtime/embedding-warmup-policy.d.ts.map +0 -1
  1342. package/runtime/embedding-warmup-policy.js +0 -33
  1343. package/runtime/ensure-local-inference-handler.d.ts +0 -25
  1344. package/runtime/ensure-local-inference-handler.d.ts.map +0 -1
  1345. package/runtime/ensure-local-inference-handler.js +0 -389
  1346. package/runtime/mobile-local-inference-gate.d.ts +0 -21
  1347. package/runtime/mobile-local-inference-gate.d.ts.map +0 -1
  1348. package/runtime/mobile-local-inference-gate.js +0 -24
  1349. package/scripts/aosp/avd-test.mjs +0 -403
  1350. package/scripts/aosp/boot-validate.mjs +0 -536
  1351. package/scripts/aosp/build-aosp.mjs +0 -448
  1352. package/scripts/aosp/build-bootanimation.mjs +0 -178
  1353. package/scripts/aosp/capture-screens.mjs +0 -325
  1354. package/scripts/aosp/e2e-validate.mjs +0 -225
  1355. package/scripts/aosp/lint-init-rc.mjs +0 -258
  1356. package/scripts/aosp/llama-shim/eliza_llama_shim.c +0 -276
  1357. package/scripts/aosp/sim.mjs +0 -277
  1358. package/scripts/aosp/sync-to-aosp.mjs +0 -134
  1359. package/scripts/aosp/validate.mjs +0 -1273
  1360. package/scripts/build-llama-cpp-dflash.mjs +0 -1866
  1361. package/scripts/generate-onboarding-voicelines.mjs +0 -194
  1362. package/scripts/generated/static-asset-manifest.json +0 -4
  1363. package/scripts/normalize-parallax-capture.ts +0 -97
  1364. package/scripts/omnivoice-fuse/Makefile +0 -44
  1365. package/scripts/omnivoice-fuse/README.md +0 -266
  1366. package/scripts/omnivoice-fuse/cmake-graft.mjs +0 -180
  1367. package/scripts/omnivoice-fuse/ffi-stub.c +0 -222
  1368. package/scripts/omnivoice-fuse/ffi.h +0 -158
  1369. package/scripts/omnivoice-fuse/libelizainference_stub.dylib +0 -0
  1370. package/scripts/omnivoice-fuse/verify-symbols.mjs +0 -138
  1371. package/security/cloud-secret-store.d.ts +0 -34
  1372. package/security/cloud-secret-store.d.ts.map +0 -1
  1373. package/security/cloud-secret-store.js +0 -65
  1374. package/security/export-guard.d.ts +0 -34
  1375. package/security/export-guard.d.ts.map +0 -1
  1376. package/security/export-guard.js +0 -127
  1377. package/services/local-inference/__stress__/cache-stress-helpers.d.ts +0 -76
  1378. package/services/local-inference/__stress__/cache-stress-helpers.d.ts.map +0 -1
  1379. package/services/local-inference/__stress__/cache-stress-helpers.js +0 -238
  1380. package/services/local-inference/active-model.d.ts +0 -180
  1381. package/services/local-inference/active-model.d.ts.map +0 -1
  1382. package/services/local-inference/active-model.js +0 -362
  1383. package/services/local-inference/assignments.d.ts +0 -58
  1384. package/services/local-inference/assignments.d.ts.map +0 -1
  1385. package/services/local-inference/assignments.js +0 -179
  1386. package/services/local-inference/backend.d.ts +0 -200
  1387. package/services/local-inference/backend.d.ts.map +0 -1
  1388. package/services/local-inference/backend.js +0 -242
  1389. package/services/local-inference/bundled-models.d.ts +0 -34
  1390. package/services/local-inference/bundled-models.d.ts.map +0 -1
  1391. package/services/local-inference/bundled-models.js +0 -104
  1392. package/services/local-inference/cache-bridge.d.ts +0 -184
  1393. package/services/local-inference/cache-bridge.d.ts.map +0 -1
  1394. package/services/local-inference/cache-bridge.js +0 -333
  1395. package/services/local-inference/catalog.d.ts +0 -57
  1396. package/services/local-inference/catalog.d.ts.map +0 -1
  1397. package/services/local-inference/catalog.js +0 -262
  1398. package/services/local-inference/conversation-registry.d.ts +0 -122
  1399. package/services/local-inference/conversation-registry.d.ts.map +0 -1
  1400. package/services/local-inference/conversation-registry.js +0 -182
  1401. package/services/local-inference/device-bridge.d.ts +0 -139
  1402. package/services/local-inference/device-bridge.d.ts.map +0 -1
  1403. package/services/local-inference/device-bridge.js +0 -774
  1404. package/services/local-inference/dflash-doctor.d.ts +0 -27
  1405. package/services/local-inference/dflash-doctor.d.ts.map +0 -1
  1406. package/services/local-inference/dflash-doctor.js +0 -149
  1407. package/services/local-inference/dflash-server.d.ts +0 -248
  1408. package/services/local-inference/dflash-server.d.ts.map +0 -1
  1409. package/services/local-inference/dflash-server.js +0 -1076
  1410. package/services/local-inference/downloader.d.ts +0 -48
  1411. package/services/local-inference/downloader.d.ts.map +0 -1
  1412. package/services/local-inference/downloader.js +0 -688
  1413. package/services/local-inference/engine.d.ts +0 -282
  1414. package/services/local-inference/engine.d.ts.map +0 -1
  1415. package/services/local-inference/engine.js +0 -743
  1416. package/services/local-inference/external-scanner.d.ts +0 -17
  1417. package/services/local-inference/external-scanner.d.ts.map +0 -1
  1418. package/services/local-inference/external-scanner.js +0 -261
  1419. package/services/local-inference/handler-registry.d.ts +0 -72
  1420. package/services/local-inference/handler-registry.d.ts.map +0 -1
  1421. package/services/local-inference/handler-registry.js +0 -159
  1422. package/services/local-inference/hardware.d.ts +0 -26
  1423. package/services/local-inference/hardware.d.ts.map +0 -1
  1424. package/services/local-inference/hardware.js +0 -139
  1425. package/services/local-inference/hf-search.d.ts +0 -19
  1426. package/services/local-inference/hf-search.d.ts.map +0 -1
  1427. package/services/local-inference/hf-search.js +0 -169
  1428. package/services/local-inference/index.d.ts +0 -10
  1429. package/services/local-inference/index.d.ts.map +0 -1
  1430. package/services/local-inference/index.js +0 -7
  1431. package/services/local-inference/llama-server-metrics.d.ts +0 -108
  1432. package/services/local-inference/llama-server-metrics.d.ts.map +0 -1
  1433. package/services/local-inference/llama-server-metrics.js +0 -175
  1434. package/services/local-inference/manifest/index.d.ts +0 -4
  1435. package/services/local-inference/manifest/index.d.ts.map +0 -1
  1436. package/services/local-inference/manifest/index.js +0 -5
  1437. package/services/local-inference/manifest/schema.d.ts +0 -419
  1438. package/services/local-inference/manifest/schema.d.ts.map +0 -1
  1439. package/services/local-inference/manifest/schema.js +0 -227
  1440. package/services/local-inference/manifest/types.d.ts +0 -23
  1441. package/services/local-inference/manifest/types.d.ts.map +0 -1
  1442. package/services/local-inference/manifest/types.js +0 -5
  1443. package/services/local-inference/manifest/validator.d.ts +0 -43
  1444. package/services/local-inference/manifest/validator.d.ts.map +0 -1
  1445. package/services/local-inference/manifest/validator.js +0 -187
  1446. package/services/local-inference/paths.d.ts +0 -8
  1447. package/services/local-inference/paths.d.ts.map +0 -1
  1448. package/services/local-inference/paths.js +0 -7
  1449. package/services/local-inference/providers.d.ts +0 -61
  1450. package/services/local-inference/providers.d.ts.map +0 -1
  1451. package/services/local-inference/providers.js +0 -334
  1452. package/services/local-inference/ram-budget.d.ts +0 -57
  1453. package/services/local-inference/ram-budget.d.ts.map +0 -1
  1454. package/services/local-inference/ram-budget.js +0 -107
  1455. package/services/local-inference/readiness.d.ts +0 -9
  1456. package/services/local-inference/readiness.d.ts.map +0 -1
  1457. package/services/local-inference/readiness.js +0 -153
  1458. package/services/local-inference/recommendation.d.ts +0 -62
  1459. package/services/local-inference/recommendation.d.ts.map +0 -1
  1460. package/services/local-inference/recommendation.js +0 -309
  1461. package/services/local-inference/registry.d.ts +0 -35
  1462. package/services/local-inference/registry.d.ts.map +0 -1
  1463. package/services/local-inference/registry.js +0 -117
  1464. package/services/local-inference/router-handler.d.ts +0 -51
  1465. package/services/local-inference/router-handler.d.ts.map +0 -1
  1466. package/services/local-inference/router-handler.js +0 -165
  1467. package/services/local-inference/routing-policy.d.ts +0 -55
  1468. package/services/local-inference/routing-policy.d.ts.map +0 -1
  1469. package/services/local-inference/routing-policy.js +0 -195
  1470. package/services/local-inference/routing-preferences.d.ts +0 -8
  1471. package/services/local-inference/routing-preferences.d.ts.map +0 -1
  1472. package/services/local-inference/routing-preferences.js +0 -7
  1473. package/services/local-inference/service.d.ts +0 -88
  1474. package/services/local-inference/service.d.ts.map +0 -1
  1475. package/services/local-inference/service.js +0 -210
  1476. package/services/local-inference/session-pool.d.ts +0 -72
  1477. package/services/local-inference/session-pool.d.ts.map +0 -1
  1478. package/services/local-inference/session-pool.js +0 -125
  1479. package/services/local-inference/types.d.ts +0 -309
  1480. package/services/local-inference/types.d.ts.map +0 -1
  1481. package/services/local-inference/types.js +0 -23
  1482. package/services/local-inference/verify.d.ts +0 -8
  1483. package/services/local-inference/verify.d.ts.map +0 -1
  1484. package/services/local-inference/verify.js +0 -7
  1485. package/services/local-inference/voice/barge-in.d.ts +0 -15
  1486. package/services/local-inference/voice/barge-in.d.ts.map +0 -1
  1487. package/services/local-inference/voice/barge-in.js +0 -20
  1488. package/services/local-inference/voice/engine-bridge.d.ts +0 -256
  1489. package/services/local-inference/voice/engine-bridge.d.ts.map +0 -1
  1490. package/services/local-inference/voice/engine-bridge.js +0 -398
  1491. package/services/local-inference/voice/ffi-bindings.d.ts +0 -114
  1492. package/services/local-inference/voice/ffi-bindings.d.ts.map +0 -1
  1493. package/services/local-inference/voice/ffi-bindings.js +0 -281
  1494. package/services/local-inference/voice/index.d.ts +0 -51
  1495. package/services/local-inference/voice/index.d.ts.map +0 -1
  1496. package/services/local-inference/voice/index.js +0 -50
  1497. package/services/local-inference/voice/lifecycle.d.ts +0 -135
  1498. package/services/local-inference/voice/lifecycle.d.ts.map +0 -1
  1499. package/services/local-inference/voice/lifecycle.js +0 -189
  1500. package/services/local-inference/voice/phoneme-tokenizer.d.ts +0 -58
  1501. package/services/local-inference/voice/phoneme-tokenizer.d.ts.map +0 -1
  1502. package/services/local-inference/voice/phoneme-tokenizer.js +0 -53
  1503. package/services/local-inference/voice/phrase-cache.d.ts +0 -24
  1504. package/services/local-inference/voice/phrase-cache.d.ts.map +0 -1
  1505. package/services/local-inference/voice/phrase-cache.js +0 -32
  1506. package/services/local-inference/voice/phrase-chunker.d.ts +0 -20
  1507. package/services/local-inference/voice/phrase-chunker.d.ts.map +0 -1
  1508. package/services/local-inference/voice/phrase-chunker.js +0 -85
  1509. package/services/local-inference/voice/ring-buffer.d.ts +0 -40
  1510. package/services/local-inference/voice/ring-buffer.d.ts.map +0 -1
  1511. package/services/local-inference/voice/ring-buffer.js +0 -85
  1512. package/services/local-inference/voice/rollback-queue.d.ts +0 -24
  1513. package/services/local-inference/voice/rollback-queue.d.ts.map +0 -1
  1514. package/services/local-inference/voice/rollback-queue.js +0 -49
  1515. package/services/local-inference/voice/scheduler.d.ts +0 -47
  1516. package/services/local-inference/voice/scheduler.d.ts.map +0 -1
  1517. package/services/local-inference/voice/scheduler.js +0 -123
  1518. package/services/local-inference/voice/shared-resources.d.ts +0 -119
  1519. package/services/local-inference/voice/shared-resources.d.ts.map +0 -1
  1520. package/services/local-inference/voice/shared-resources.js +0 -83
  1521. package/services/local-inference/voice/speaker-preset-cache.d.ts +0 -28
  1522. package/services/local-inference/voice/speaker-preset-cache.d.ts.map +0 -1
  1523. package/services/local-inference/voice/speaker-preset-cache.js +0 -44
  1524. package/services/local-inference/voice/types.d.ts +0 -80
  1525. package/services/local-inference/voice/types.d.ts.map +0 -1
  1526. package/services/local-inference/voice/voice-preset-format.d.ts +0 -56
  1527. package/services/local-inference/voice/voice-preset-format.d.ts.map +0 -1
  1528. package/services/local-inference/voice/voice-preset-format.js +0 -184
  1529. package/services/plugin-installer.d.ts +0 -22
  1530. package/services/plugin-installer.d.ts.map +0 -1
  1531. package/services/plugin-installer.js +0 -41
  1532. package/test/scripts/task-agent-live-smoke.ts +0 -1335
  1533. /package/services/{local-inference/voice → ambient-audio}/types.js +0 -0
@@ -14,6 +14,8 @@ import android.os.IBinder;
14
14
 
15
15
  import androidx.core.app.NotificationCompat;
16
16
 
17
+ import ai.elizaos.app.R;
18
+
17
19
  /**
18
20
  * Foreground service that keeps the Android process alive so the Capacitor
19
21
  * gateway plugin can maintain its WebSocket connection while the app is in
@@ -29,11 +31,17 @@ public class GatewayConnectionService extends Service {
29
31
  private static final int NOTIFICATION_ID = 1;
30
32
 
31
33
  // Intent actions
32
- private static final String ACTION_STOP = "ai.elizaos.app.action.STOP_GATEWAY";
33
- private static final String ACTION_UPDATE_STATUS = "ai.elizaos.app.action.UPDATE_STATUS";
34
+ private static final String ACTION_STOP = "app.eliza.action.STOP_GATEWAY";
35
+ private static final String ACTION_UPDATE_STATUS = "app.eliza.action.UPDATE_STATUS";
34
36
 
35
37
  // Extras
36
38
  private static final String EXTRA_STATUS = "status";
39
+ private static final String EXTRA_STOP_SOURCE = "stopSource";
40
+ private static final String STOP_SOURCE_NOTIFICATION = "notification";
41
+
42
+ // Mirrors @capacitor/preferences default group and MOBILE_RUNTIME_MODE_STORAGE_KEY.
43
+ private static final String CAPACITOR_PREFS_GROUP = "CapacitorStorage";
44
+ private static final String RUNTIME_MODE_KEY = "eliza:mobile-runtime-mode";
37
45
 
38
46
  // Connection status constants — kept in sync with JS plugin events.
39
47
  public static final String STATUS_CONNECTED = "connected";
@@ -49,7 +57,7 @@ public class GatewayConnectionService extends Service {
49
57
  super.onCreate();
50
58
  ensureNotificationChannel();
51
59
 
52
- Notification notification = buildNotification("elizaOS Gateway", "Starting…");
60
+ Notification notification = buildNotification("Eliza Gateway", "Starting…");
53
61
 
54
62
  // API 34+ requires explicit foreground service type when calling startForeground().
55
63
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
@@ -68,6 +76,10 @@ public class GatewayConnectionService extends Service {
68
76
  if (intent != null) {
69
77
  String action = intent.getAction();
70
78
  if (ACTION_STOP.equals(action)) {
79
+ if (isNotificationStop(intent) && isCloudRuntimeModeLocked()) {
80
+ updateNotification();
81
+ return START_STICKY;
82
+ }
71
83
  stopSelf();
72
84
  return START_NOT_STICKY;
73
85
  }
@@ -111,7 +123,7 @@ public class GatewayConnectionService extends Service {
111
123
  "Gateway Connection",
112
124
  NotificationManager.IMPORTANCE_LOW
113
125
  );
114
- channel.setDescription("Shows elizaOS gateway connection status");
126
+ channel.setDescription("Shows Eliza gateway connection status");
115
127
  channel.setShowBadge(false);
116
128
 
117
129
  NotificationManager mgr = getSystemService(NotificationManager.class);
@@ -129,24 +141,46 @@ public class GatewayConnectionService extends Service {
129
141
  PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE
130
142
  );
131
143
 
132
- // "Disconnect" action in the notification.
133
- Intent stopIntent = new Intent(this, GatewayConnectionService.class);
134
- stopIntent.setAction(ACTION_STOP);
135
- PendingIntent stopPending = PendingIntent.getService(
136
- this, 2, stopIntent,
137
- PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE
138
- );
139
-
140
- return new NotificationCompat.Builder(this, CHANNEL_ID)
144
+ NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
141
145
  .setSmallIcon(R.mipmap.ic_launcher)
142
146
  .setContentTitle(title)
143
147
  .setContentText(text)
144
148
  .setContentIntent(launchPending)
145
149
  .setOngoing(true)
146
150
  .setOnlyAlertOnce(true)
147
- .setForegroundServiceBehavior(NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE)
148
- .addAction(0, "Disconnect", stopPending)
149
- .build();
151
+ .setForegroundServiceBehavior(NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE);
152
+
153
+ if (!isCloudRuntimeModeLocked()) {
154
+ // "Disconnect" is only safe in local/non-cloud modes.
155
+ Intent stopIntent = new Intent(this, GatewayConnectionService.class);
156
+ stopIntent.setAction(ACTION_STOP);
157
+ stopIntent.putExtra(EXTRA_STOP_SOURCE, STOP_SOURCE_NOTIFICATION);
158
+ PendingIntent stopPending = PendingIntent.getService(
159
+ this, 2, stopIntent,
160
+ PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE
161
+ );
162
+ builder.addAction(0, "Disconnect", stopPending);
163
+ }
164
+
165
+ return builder.build();
166
+ }
167
+
168
+ private boolean isNotificationStop(Intent intent) {
169
+ return STOP_SOURCE_NOTIFICATION.equals(intent.getStringExtra(EXTRA_STOP_SOURCE));
170
+ }
171
+
172
+ private boolean isCloudRuntimeModeLocked() {
173
+ String mode = readRuntimeMode();
174
+ return "cloud".equals(mode) || "cloud-hybrid".equals(mode);
175
+ }
176
+
177
+ private String readRuntimeMode() {
178
+ try {
179
+ return getSharedPreferences(CAPACITOR_PREFS_GROUP, Context.MODE_PRIVATE)
180
+ .getString(RUNTIME_MODE_KEY, null);
181
+ } catch (Exception e) {
182
+ return null;
183
+ }
150
184
  }
151
185
 
152
186
  /** Push an updated notification to reflect the current connection status. */
@@ -156,15 +190,15 @@ public class GatewayConnectionService extends Service {
156
190
 
157
191
  switch (currentStatus) {
158
192
  case STATUS_CONNECTED:
159
- title = "elizaOS Gateway · Connected";
193
+ title = "Eliza Gateway · Connected";
160
194
  text = "WebSocket connection active";
161
195
  break;
162
196
  case STATUS_RECONNECTING:
163
- title = "elizaOS Gateway · Reconnecting";
197
+ title = "Eliza Gateway · Reconnecting";
164
198
  text = "Attempting to restore connection…";
165
199
  break;
166
200
  default:
167
- title = "elizaOS Gateway";
201
+ title = "Eliza Gateway";
168
202
  text = "Disconnected";
169
203
  break;
170
204
  }
@@ -5,19 +5,28 @@ import android.content.pm.PackageManager;
5
5
  import android.os.Build;
6
6
  import android.os.Bundle;
7
7
  import android.util.Log;
8
+ import android.view.WindowManager;
8
9
  import android.webkit.WebSettings;
9
10
  import android.webkit.WebView;
10
11
 
11
12
  import androidx.core.content.ContextCompat;
13
+ import androidx.core.splashscreen.SplashScreen;
14
+ import androidx.core.view.ViewCompat;
15
+ import androidx.core.view.WindowCompat;
16
+ import androidx.core.view.WindowInsetsCompat;
17
+ import androidx.core.view.WindowInsetsControllerCompat;
12
18
 
13
19
  import com.getcapacitor.BridgeActivity;
14
20
 
21
+ import ai.elizaos.app.BuildConfig;
22
+
15
23
  import java.lang.reflect.Method;
16
24
 
17
25
  public class MainActivity extends BridgeActivity {
18
26
 
19
27
  private static final String TAG = "ElizaMainActivity";
20
- private static final int REQUEST_NOTIFICATION_PERMISSION = 1001;
28
+
29
+ private static final int REQUEST_CODE_POST_NOTIFICATIONS = 1001;
21
30
 
22
31
  /**
23
32
  * One UA marker entry. The MainActivity reads `systemProp` via
@@ -52,11 +61,18 @@ public class MainActivity extends BridgeActivity {
52
61
  */
53
62
  private static final UserAgentMarker[] BRAND_USER_AGENT_MARKERS = new UserAgentMarker[] {
54
63
  new UserAgentMarker("ro.elizaos.product", "ElizaOS/"),
55
- // BRAND_USER_AGENT_MARKERS_INJECTION_POINT
56
64
  };
57
65
 
58
66
  @Override
59
67
  protected void onCreate(Bundle savedInstanceState) {
68
+ // Install the AndroidX splash screen BEFORE super.onCreate so it swaps
69
+ // the launch theme (AppTheme.NoActionBarLaunch / Theme.SplashScreen) to
70
+ // the activity's postSplashScreenTheme (AppTheme.NoActionBar). Without
71
+ // it the splash theme persists and Android renders a native AppCompat
72
+ // action bar — the orange "Eliza" top bar with splash.png stretched
73
+ // across it — above the Capacitor WebView.
74
+ SplashScreen.installSplashScreen(this);
75
+
60
76
  // Per Android docs, must precede the first WebView instantiation.
61
77
  // BridgeActivity.super.onCreate constructs the Capacitor WebView,
62
78
  // so the toggle is set first to stay race-proof against future
@@ -66,31 +82,44 @@ public class MainActivity extends BridgeActivity {
66
82
  }
67
83
 
68
84
  registerPlugin(AgentPlugin.class);
85
+ registerPlugin(BatteryOptimizationPlugin.class);
86
+ registerPlugin(VoiceCapturePlugin.class);
87
+ registerPlugin(ElizaVoicePlugin.class);
88
+ registerPlugin(ResourceProbePlugin.class);
69
89
  super.onCreate(savedInstanceState);
70
90
 
71
- // The Capacitor WebView serves the renderer at https://localhost
72
- // (its default secure-context origin); the on-device Eliza agent
73
- // listens at http://127.0.0.1:31337. Without this knob the WebView
74
- // blocks every fetch to the loopback agent as a mixed-content
75
- // upgrade, surfacing in the UI as "Backend Timeout: /api/auth/status
76
- // - Failed to fetch" even though the agent is up. Granting
77
- // MIXED_CONTENT_ALWAYS_ALLOW only matters for loopback in this app
78
- // the network_security_config still pins the WebView's allowed
79
- // cleartext hosts, and the Capacitor server.hostname locks the
80
- // page origin.
91
+ // Keep the screen on while the agent app is in the foreground.
92
+ // Voice turns (ASR LLM → TTS) on local-runtime builds regularly
93
+ // take 1-5 seconds; screen-off mid-turn breaks the "is the agent
94
+ // still working?" feedback and confuses the user. The flag is
95
+ // window-scoped Android releases it automatically when the window
96
+ // is no longer visible (app moved to background or fully covered),
97
+ // so background instances don't drain battery. Same flag set by
98
+ // every video / voice-calling app (Snapchat, YouTube, Zoom, Meet).
99
+ getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
100
+
101
+ // Hide the bottom system navigation bar (the white gesture pill) for a
102
+ // clean, full-bleed agent home — iOS-style. We hide ONLY the navigation
103
+ // bars, never the status bar (the system clock/battery stay). Transient-
104
+ // by-swipe so the user can still reveal it with an edge swipe; re-applied
105
+ // in onWindowFocusChanged so it stays hidden after dialogs / resume.
106
+ applyImmersiveNavigationBar();
107
+
81
108
  if (getBridge() != null && getBridge().getWebView() != null) {
82
109
  WebSettings settings = getBridge().getWebView().getSettings();
83
- settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
110
+ settings.setMixedContentMode(resolveMixedContentMode());
84
111
  applyBrandUserAgentMarkers(settings);
85
112
  // Synchronous fast path for the on-device agent bearer that
86
113
  // bypasses Capacitor's plugin executor. See ElizaNativeBridge
87
114
  // for the dead-Handler bug it works around.
88
115
  getBridge().getWebView().addJavascriptInterface(
89
- new ElizaNativeBridge(), ElizaNativeBridge.JS_NAME);
116
+ new ElizaNativeBridge(this), ElizaNativeBridge.JS_NAME);
117
+ ElizaAndroidSystemBridge.install(getBridge().getWebView(), this);
118
+ publishGestureInset();
90
119
  }
91
120
 
92
121
  // Auto-start the local Eliza agent runtime as a foreground service.
93
- // shouldAutoStart() returns true on branded devices (AOSP/MiladyOS
122
+ // shouldAutoStart() returns true on branded devices (AOSP/ElizaOS
94
123
  // the device IS the agent) and on stock Android only when the user
95
124
  // picked Local mode in onboarding. Cloud/Remote modes skip this so
96
125
  // we don't burn battery on a service they never call. The boot
@@ -98,7 +127,121 @@ public class MainActivity extends BridgeActivity {
98
127
  // the user opens the app.
99
128
  if (ElizaAgentService.shouldAutoStart(this)) {
100
129
  ElizaAgentService.start(this);
130
+ // Ask for notification consent only once the user (or the device
131
+ // image) has actually committed to running the on-device agent.
132
+ // A fresh stock install auto-starts the service so the dashboard
133
+ // has something to talk to, but the user has chosen nothing yet —
134
+ // cold-asking there is the first-run nag we want to avoid
135
+ // (iOS-style: ask only when there is a reason). The foreground
136
+ // service still runs without the grant; its notification is just
137
+ // suppressed until later granted in settings or on a later launch
138
+ // once a runtime mode is persisted.
139
+ if (ElizaAgentService.hasCommittedRuntimeChoice(this)) {
140
+ requestPostNotificationsIfNeeded();
141
+ }
101
142
  }
143
+
144
+ ElizaWorkScheduler.enqueuePeriodic(getApplicationContext());
145
+ }
146
+
147
+ @Override
148
+ public void onWindowFocusChanged(boolean hasFocus) {
149
+ super.onWindowFocusChanged(hasFocus);
150
+ // The system restores the nav bar after dialogs / resume; re-hide it
151
+ // whenever we regain focus so the full-bleed home stays clean.
152
+ if (hasFocus) {
153
+ applyImmersiveNavigationBar();
154
+ }
155
+ }
156
+
157
+ /**
158
+ * Hide the bottom navigation bar (gesture pill) while keeping the status
159
+ * bar. Uses the AndroidX controller so it is correct across API levels;
160
+ * transient-by-swipe so the bar is still reachable.
161
+ */
162
+ private void applyImmersiveNavigationBar() {
163
+ try {
164
+ WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
165
+ WindowInsetsControllerCompat controller =
166
+ WindowCompat.getInsetsController(
167
+ getWindow(), getWindow().getDecorView());
168
+ if (controller != null) {
169
+ controller.hide(WindowInsetsCompat.Type.navigationBars());
170
+ controller.setSystemBarsBehavior(
171
+ WindowInsetsControllerCompat
172
+ .BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);
173
+ // The status bar stays visible over the live orange ambient
174
+ // home, so its icons must be light (white). Paired with the
175
+ // transparent android:statusBarColor in styles.xml, the orange
176
+ // draws full-bleed under the clock/battery — no flat band.
177
+ controller.setAppearanceLightStatusBars(false);
178
+ }
179
+ } catch (Exception e) {
180
+ Log.w(TAG, "Failed to apply immersive navigation bar", e);
181
+ }
182
+ }
183
+
184
+ /**
185
+ * Publish the bottom gesture-navigation inset (the home-pill zone apps must
186
+ * not put critical UI under) to the WebView as the CSS var
187
+ * `--android-gesture-inset-bottom`. We hide the navigation bar, which zeroes
188
+ * `env(safe-area-inset-bottom)`, so the floating chat composer would
189
+ * otherwise sit on top of the gesture-home zone. The renderer folds this var
190
+ * into its bottom clearance via max(); it defaults to 0px off-Android.
191
+ */
192
+ private void publishGestureInset() {
193
+ final WebView webView = getBridge() != null ? getBridge().getWebView() : null;
194
+ if (webView == null) {
195
+ return;
196
+ }
197
+ ViewCompat.setOnApplyWindowInsetsListener(
198
+ getWindow().getDecorView(),
199
+ (v, insets) -> {
200
+ int px = insets
201
+ .getInsets(WindowInsetsCompat.Type.mandatorySystemGestures())
202
+ .bottom;
203
+ float dp = px / getResources().getDisplayMetrics().density;
204
+ String js =
205
+ "document.documentElement.style.setProperty("
206
+ + "'--android-gesture-inset-bottom','" + dp + "px')";
207
+ webView.post(() -> webView.evaluateJavascript(js, null));
208
+ return insets;
209
+ });
210
+ ViewCompat.requestApplyInsets(getWindow().getDecorView());
211
+ }
212
+
213
+ private static int resolveMixedContentMode() {
214
+ // The local/AOSP app serves the renderer from Capacitor's
215
+ // https://localhost origin while the on-device agent listens on
216
+ // http://127.0.0.1:31337. Debug sideload builds and privileged AOSP
217
+ // builds need that loopback bridge; cloud/Play rewrites this
218
+ // activity and keeps mixed content blocked.
219
+ if (BuildConfig.DEBUG || BuildConfig.AOSP_BUILD) {
220
+ return WebSettings.MIXED_CONTENT_ALWAYS_ALLOW;
221
+ }
222
+ return WebSettings.MIXED_CONTENT_NEVER_ALLOW;
223
+ }
224
+
225
+ /**
226
+ * On API 33+ (Tiramisu) Android requires runtime consent for posting
227
+ * notifications. The foreground gateway service already declares the
228
+ * permission in the manifest, but without runtime grant its notification
229
+ * is suppressed. We request it lazily and non-blockingly here — if the
230
+ * user denies, the FGS still runs and pushes notifications only when
231
+ * later re-granted in system settings.
232
+ */
233
+ private void requestPostNotificationsIfNeeded() {
234
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
235
+ return;
236
+ }
237
+ int state = ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS);
238
+ if (state == PackageManager.PERMISSION_GRANTED) {
239
+ return;
240
+ }
241
+ requestPermissions(
242
+ new String[] { Manifest.permission.POST_NOTIFICATIONS },
243
+ REQUEST_CODE_POST_NOTIFICATIONS
244
+ );
102
245
  }
103
246
 
104
247
  @Override
@@ -134,8 +277,8 @@ public class MainActivity extends BridgeActivity {
134
277
  * Iterate over `BRAND_USER_AGENT_MARKERS` and append each marker's
135
278
  * `<uaPrefix><tag>` token to the WebView's User-Agent when the
136
279
  * named system property is non-empty. On stock Android no marker
137
- * matches and the UA is left untouched, preserving the
138
- * RuntimeGate picker. Idempotent — already-present markers aren't
280
+ * matches and the UA is left untouched, preserving first-run runtime
281
+ * setup. Idempotent — already-present markers aren't
139
282
  * duplicated.
140
283
  *
141
284
  * The framework's default `ro.elizaos.product` → `ElizaOS/` entry
@@ -183,20 +326,4 @@ public class MainActivity extends BridgeActivity {
183
326
  }
184
327
  }
185
328
 
186
- /**
187
- * On Android 13+ (API 33), POST_NOTIFICATIONS is a runtime permission.
188
- * Without it, the foreground service notification is silently suppressed.
189
- */
190
- private void requestNotificationPermissionIfNeeded() {
191
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
192
- return;
193
- }
194
- int result = ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS);
195
- if (result != PackageManager.PERMISSION_GRANTED) {
196
- requestPermissions(
197
- new String[]{ Manifest.permission.POST_NOTIFICATIONS },
198
- REQUEST_NOTIFICATION_PERMISSION
199
- );
200
- }
201
- }
202
329
  }
@@ -0,0 +1,169 @@
1
+ package ai.elizaos.app;
2
+
3
+ import android.app.ActivityManager;
4
+ import android.content.Context;
5
+ import android.os.BatteryManager;
6
+ import android.os.Build;
7
+ import android.os.Debug;
8
+ import android.os.PowerManager;
9
+ import android.system.Os;
10
+ import android.system.OsConstants;
11
+
12
+ import com.getcapacitor.JSObject;
13
+ import com.getcapacitor.Plugin;
14
+ import com.getcapacitor.PluginCall;
15
+ import com.getcapacitor.PluginMethod;
16
+ import com.getcapacitor.annotation.CapacitorPlugin;
17
+
18
+ import org.json.JSONObject;
19
+
20
+ import java.io.IOException;
21
+ import java.nio.charset.StandardCharsets;
22
+ import java.nio.file.Files;
23
+ import java.nio.file.Paths;
24
+
25
+ /**
26
+ * Capacitor plugin that surfaces a live device-resource snapshot to JS for the
27
+ * Mobile Resource Workbench (issue #8800) — the Android parity of the iOS
28
+ * {@code ElizaIntent.getResourceSnapshot}.
29
+ *
30
+ * <p>Reads:
31
+ * <ul>
32
+ * <li><b>thermalState</b> — {@link PowerManager#getCurrentThermalStatus()}
33
+ * (API 29+), mapped to the shared {@code nominal/fair/serious/critical}
34
+ * model; {@code "unknown"} on older OSes.</li>
35
+ * <li><b>battery</b> — {@link BatteryManager} level (%), charge counter (µAh),
36
+ * instantaneous current (µA), and charging flag.</li>
37
+ * <li><b>memory</b> — {@link Debug#getMemoryInfo} total PSS (the app's real
38
+ * footprint) plus {@link ActivityManager.MemoryInfo} device available RAM.</li>
39
+ * <li><b>cpuTimeMs</b> — process user+system jiffies from {@code /proc/self/stat}
40
+ * converted via {@code sysconf(_SC_CLK_TCK)}.</li>
41
+ * <li><b>lowPowerMode</b> — {@link PowerManager#isPowerSaveMode()}.</li>
42
+ * </ul>
43
+ *
44
+ * <p>Every value the OS cannot provide is returned as JSON {@code null}, never a
45
+ * fabricated zero (AGENTS.md §3/§7).
46
+ */
47
+ @CapacitorPlugin(name = "ResourceProbe")
48
+ public class ResourceProbePlugin extends Plugin {
49
+
50
+ @PluginMethod
51
+ public void getResourceSnapshot(PluginCall call) {
52
+ Context context = getContext();
53
+ JSObject result = new JSObject();
54
+ result.put("platform", "android");
55
+
56
+ result.put("thermalState", readThermalState(context));
57
+ result.put("lowPowerMode", readPowerSaveMode(context));
58
+
59
+ BatteryManager bm = (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE);
60
+ result.put("batteryLevelPct", readBatteryProperty(bm, BatteryManager.BATTERY_PROPERTY_CAPACITY));
61
+ result.put("batteryChargeMicroAmpHours",
62
+ readBatteryProperty(bm, BatteryManager.BATTERY_PROPERTY_CHARGE_COUNTER));
63
+ result.put("batteryCurrentMicroAmps",
64
+ readBatteryProperty(bm, BatteryManager.BATTERY_PROPERTY_CURRENT_NOW));
65
+ result.put("isCharging", bm != null && bm.isCharging());
66
+
67
+ result.put("residentMemoryMb", readTotalPssMb());
68
+ result.put("availableRamMb", readAvailableRamMb(context));
69
+ result.put("cpuTimeMs", readProcessCpuTimeMs());
70
+
71
+ result.put("capturedAtMs", System.currentTimeMillis());
72
+ call.resolve(result);
73
+ }
74
+
75
+ private static String readThermalState(Context context) {
76
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
77
+ return "unknown";
78
+ }
79
+ PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
80
+ if (pm == null) {
81
+ return "unknown";
82
+ }
83
+ switch (pm.getCurrentThermalStatus()) {
84
+ case PowerManager.THERMAL_STATUS_NONE:
85
+ return "nominal";
86
+ case PowerManager.THERMAL_STATUS_LIGHT:
87
+ case PowerManager.THERMAL_STATUS_MODERATE:
88
+ return "fair";
89
+ case PowerManager.THERMAL_STATUS_SEVERE:
90
+ case PowerManager.THERMAL_STATUS_CRITICAL:
91
+ return "serious";
92
+ case PowerManager.THERMAL_STATUS_EMERGENCY:
93
+ case PowerManager.THERMAL_STATUS_SHUTDOWN:
94
+ return "critical";
95
+ default:
96
+ return "unknown";
97
+ }
98
+ }
99
+
100
+ private static Object readPowerSaveMode(Context context) {
101
+ PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
102
+ return pm != null ? (Object) pm.isPowerSaveMode() : JSONObject.NULL;
103
+ }
104
+
105
+ /** A BatteryManager integer property, or JSON null when unavailable/sentinel. */
106
+ private static Object readBatteryProperty(BatteryManager bm, int property) {
107
+ if (bm == null) {
108
+ return JSONObject.NULL;
109
+ }
110
+ int value = bm.getIntProperty(property);
111
+ // BatteryManager returns Integer.MIN_VALUE for unsupported properties.
112
+ return value == Integer.MIN_VALUE ? JSONObject.NULL : (Object) value;
113
+ }
114
+
115
+ /** Total PSS of this process in MB, or JSON null when the probe fails. */
116
+ private static Object readTotalPssMb() {
117
+ try {
118
+ Debug.MemoryInfo info = new Debug.MemoryInfo();
119
+ Debug.getMemoryInfo(info);
120
+ // getTotalPss() is in KB.
121
+ return info.getTotalPss() / 1024.0;
122
+ } catch (RuntimeException e) {
123
+ return JSONObject.NULL;
124
+ }
125
+ }
126
+
127
+ private static Object readAvailableRamMb(Context context) {
128
+ ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
129
+ if (am == null) {
130
+ return JSONObject.NULL;
131
+ }
132
+ ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();
133
+ am.getMemoryInfo(info);
134
+ return info.availMem / 1_048_576.0;
135
+ }
136
+
137
+ /**
138
+ * Process user+system CPU time in ms from {@code /proc/self/stat} fields 14
139
+ * (utime) and 15 (stime), in clock ticks, converted via
140
+ * {@code sysconf(_SC_CLK_TCK)}.
141
+ */
142
+ private static Object readProcessCpuTimeMs() {
143
+ try {
144
+ byte[] raw = Files.readAllBytes(Paths.get("/proc/self/stat"));
145
+ String stat = new String(raw, StandardCharsets.UTF_8);
146
+ // The comm field (2nd) is parenthesised and may contain spaces; split
147
+ // after the closing ')' so the remaining fields are space-delimited.
148
+ int close = stat.lastIndexOf(')');
149
+ if (close < 0 || close + 2 > stat.length()) {
150
+ return JSONObject.NULL;
151
+ }
152
+ String[] fields = stat.substring(close + 2).trim().split("\\s+");
153
+ // After comm, field index 0 is "state"; utime is field 14 and stime
154
+ // field 15 in the 1-based proc layout → indices 11 and 12 here.
155
+ if (fields.length < 13) {
156
+ return JSONObject.NULL;
157
+ }
158
+ long utime = Long.parseLong(fields[11]);
159
+ long stime = Long.parseLong(fields[12]);
160
+ long ticksPerSecond = Os.sysconf(OsConstants._SC_CLK_TCK);
161
+ if (ticksPerSecond <= 0) {
162
+ ticksPerSecond = 100; // POSIX-conventional default on Android
163
+ }
164
+ return ((utime + stime) * 1000.0) / ticksPerSecond;
165
+ } catch (IOException | RuntimeException e) {
166
+ return JSONObject.NULL;
167
+ }
168
+ }
169
+ }