@elizaos/app-core 2.0.0-beta.2 → 2.0.11-beta.5

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 (1534) 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 +447 -0
  59. package/api/dev-stack.d.ts.map +1 -1
  60. package/api/dev-stack.js +6 -9
  61. package/api/first-run-routes.d.ts +4 -0
  62. package/api/first-run-routes.d.ts.map +1 -0
  63. package/api/first-run-routes.js +208 -0
  64. package/api/first-run-tts-route.d.ts +19 -0
  65. package/api/first-run-tts-route.d.ts.map +1 -0
  66. package/api/first-run-tts-route.js +59 -0
  67. package/api/internal-routes.d.ts +23 -0
  68. package/api/internal-routes.d.ts.map +1 -0
  69. package/api/internal-routes.js +203 -0
  70. package/api/ios-local-agent-transport.d.ts +36 -0
  71. package/api/ios-local-agent-transport.d.ts.map +1 -0
  72. package/api/ios-local-agent-transport.js +566 -0
  73. package/api/onboarding-voice-lines.d.ts +23 -0
  74. package/api/onboarding-voice-lines.d.ts.map +1 -0
  75. package/api/onboarding-voice-lines.js +8 -0
  76. package/api/perf-instrument.d.ts +43 -0
  77. package/api/perf-instrument.d.ts.map +1 -0
  78. package/api/perf-instrument.js +113 -0
  79. package/api/response.d.ts.map +1 -1
  80. package/api/response.js +14 -14
  81. package/api/runtime-mode-routes.d.ts.map +1 -1
  82. package/api/runtime-mode-routes.js +2 -2
  83. package/api/secrets-inventory-routes.js +2 -2
  84. package/api/secrets-manager-routes.d.ts +1 -1
  85. package/api/secrets-manager-routes.d.ts.map +1 -1
  86. package/api/secrets-manager-routes.js +9 -10
  87. package/api/sensitive-request-routes.d.ts.map +1 -1
  88. package/api/sensitive-request-routes.js +5 -5
  89. package/api/sensitive-request-store.d.ts +12 -3
  90. package/api/sensitive-request-store.d.ts.map +1 -1
  91. package/api/server-cors.d.ts.map +1 -1
  92. package/api/server-cors.js +13 -2
  93. package/api/server-first-run-helpers.d.ts +26 -0
  94. package/api/server-first-run-helpers.d.ts.map +1 -0
  95. package/api/server-first-run-helpers.js +271 -0
  96. package/api/server-security.js +1 -1
  97. package/api/server-startup.d.ts.map +1 -1
  98. package/api/server-startup.js +3 -4
  99. package/api/server-wallet-trade.js +1 -1
  100. package/api/server.d.ts +4 -4
  101. package/api/server.d.ts.map +1 -1
  102. package/api/server.js +222 -88
  103. package/api/setup-contract.d.ts +63 -0
  104. package/api/setup-contract.d.ts.map +1 -0
  105. package/api/setup-contract.js +39 -0
  106. package/api/training-benchmarks.d.ts +97 -0
  107. package/api/training-benchmarks.d.ts.map +1 -0
  108. package/api/training-benchmarks.js +307 -0
  109. package/api/workbench-compat-routes.js +2 -2
  110. package/benchmark/cerebras-autowire.d.ts +28 -0
  111. package/benchmark/cerebras-autowire.d.ts.map +1 -0
  112. package/benchmark/cerebras-autowire.js +62 -0
  113. package/benchmark/lifeops-bench-handler.d.ts +36 -0
  114. package/benchmark/lifeops-bench-handler.d.ts.map +1 -1
  115. package/benchmark/lifeops-bench-handler.js +63 -1
  116. package/benchmark/lifeops-fake-backend.d.ts +39 -0
  117. package/benchmark/lifeops-fake-backend.d.ts.map +1 -1
  118. package/benchmark/lifeops-fake-backend.js +993 -21
  119. package/benchmark/mock-plugin.d.ts.map +1 -1
  120. package/benchmark/mock-plugin.js +0 -24
  121. package/benchmark/plugin.d.ts +2 -1
  122. package/benchmark/plugin.d.ts.map +1 -1
  123. package/benchmark/plugin.js +989 -68
  124. package/benchmark/replay-capture.d.ts +2 -2
  125. package/benchmark/replay-capture.d.ts.map +1 -1
  126. package/benchmark/replay-capture.js +3 -3
  127. package/benchmark/server-utils.d.ts +162 -9
  128. package/benchmark/server-utils.d.ts.map +1 -1
  129. package/benchmark/server-utils.js +625 -62
  130. package/benchmark/server.d.ts.map +1 -1
  131. package/benchmark/server.js +1962 -118
  132. package/boot-profile.d.ts +3 -0
  133. package/boot-profile.d.ts.map +1 -0
  134. package/boot-profile.js +30 -0
  135. package/browser.d.ts +23 -1
  136. package/browser.d.ts.map +1 -1
  137. package/browser.js +20 -1
  138. package/cli/argv.js +1 -1
  139. package/cli/banner.js +1 -1
  140. package/cli/command-format.js +2 -2
  141. package/cli/doctor/checks.d.ts.map +1 -1
  142. package/cli/doctor/checks.js +6 -6
  143. package/cli/plugins-cli.d.ts.map +1 -1
  144. package/cli/plugins-cli.js +77 -32
  145. package/cli/profile.d.ts.map +1 -1
  146. package/cli/profile.js +5 -4
  147. package/cli/program/build-program.js +4 -4
  148. package/cli/program/command-registry.d.ts.map +1 -1
  149. package/cli/program/command-registry.js +13 -11
  150. package/cli/program/help.js +5 -5
  151. package/cli/program/preaction.js +5 -5
  152. package/cli/program/register.auth.d.ts.map +1 -1
  153. package/cli/program/register.auth.js +6 -12
  154. package/cli/program/register.capability-router.d.ts +29 -0
  155. package/cli/program/register.capability-router.d.ts.map +1 -0
  156. package/cli/program/register.capability-router.js +568 -0
  157. package/cli/program/register.config.js +1 -1
  158. package/cli/program/register.configure.d.ts.map +1 -1
  159. package/cli/program/register.configure.js +1 -1
  160. package/cli/program/register.dashboard.d.ts.map +1 -1
  161. package/cli/program/register.dashboard.js +6 -7
  162. package/cli/program/register.db.d.ts.map +1 -1
  163. package/cli/program/register.db.js +3 -4
  164. package/cli/program/register.doctor.js +7 -7
  165. package/cli/program/register.setup.d.ts.map +1 -1
  166. package/cli/program/register.setup.js +14 -10
  167. package/cli/program/register.start.d.ts.map +1 -1
  168. package/cli/program/register.start.js +5 -3
  169. package/cli/program/register.subclis.js +3 -3
  170. package/cli/program/register.update.d.ts +6 -0
  171. package/cli/program/register.update.d.ts.map +1 -1
  172. package/cli/program/register.update.js +58 -6
  173. package/cli/program.js +1 -1
  174. package/cli/run-main.js +4 -4
  175. package/config/app-config.d.ts +2 -0
  176. package/config/app-config.d.ts.map +1 -0
  177. package/config/app-config.js +1 -0
  178. package/connectors/capacitor-jsc.d.ts.map +1 -1
  179. package/connectors/capacitor-jsc.js +16 -10
  180. package/connectors/capacitor-quickjs.d.ts.map +1 -1
  181. package/connectors/capacitor-quickjs.js +18 -13
  182. package/connectors/capacitor-sqlite.d.ts.map +1 -1
  183. package/connectors/capacitor-sqlite.js +27 -12
  184. package/dispatch/approval-queue.d.ts +37 -0
  185. package/dispatch/approval-queue.d.ts.map +1 -0
  186. package/dispatch/approval-queue.js +25 -0
  187. package/dispatch/channel-registry.d.ts +30 -0
  188. package/dispatch/channel-registry.d.ts.map +1 -0
  189. package/dispatch/channel-registry.js +22 -0
  190. package/dispatch/connector-registry.d.ts +39 -0
  191. package/dispatch/connector-registry.d.ts.map +1 -0
  192. package/dispatch/connector-registry.js +24 -0
  193. package/dispatch/index.d.ts +14 -0
  194. package/dispatch/index.d.ts.map +1 -0
  195. package/dispatch/index.js +13 -0
  196. package/dispatch/send-policy.d.ts +36 -0
  197. package/dispatch/send-policy.d.ts.map +1 -0
  198. package/dispatch/send-policy.js +16 -0
  199. package/entry.js +28 -11
  200. package/first-run/first-run-config.d.ts +55 -0
  201. package/first-run/first-run-config.d.ts.map +1 -0
  202. package/first-run/first-run-config.js +178 -0
  203. package/first-run/runtime-target.d.ts +4 -0
  204. package/first-run/runtime-target.d.ts.map +1 -0
  205. package/first-run/runtime-target.js +13 -0
  206. package/index.d.ts +16 -3
  207. package/index.d.ts.map +1 -1
  208. package/index.js +57 -33
  209. package/package.json +159 -50
  210. package/packaging/debian/apt-repo-config/README.md +18 -0
  211. package/packaging/debian/apt-repo-config/conf/distributions +11 -0
  212. package/packaging/flatpak/README.md +26 -16
  213. package/packaging/flatpak/ai.elizaos.App.metainfo.xml +17 -12
  214. package/packaging/flatpak/ai.elizaos.App.store.yml +5 -5
  215. package/packaging/flatpak/ai.elizaos.App.yml +10 -24
  216. package/packaging/flatpak/elizaos-app-wrapper.store.sh +2 -2
  217. package/packaging/flatpak/generate-sources.sh +74 -0
  218. package/packaging/flatpak/node-sources.json +7930 -0
  219. package/packaging/inno/build-inno.ps1 +34 -9
  220. package/packaging/msix/AppxManifest.store.xml +1 -1
  221. package/packaging/msix/README.md +39 -19
  222. package/packaging/msix/build-msix.ps1 +44 -14
  223. package/packaging/snap/snapcraft.yaml +22 -21
  224. package/packaging/test-packaging.sh +2 -2
  225. package/permissions/types.d.ts +1 -1
  226. package/permissions/types.js +1 -1
  227. package/platform/elizaos-agent-browser-stub.d.ts +144 -0
  228. package/platform/elizaos-agent-browser-stub.d.ts.map +1 -0
  229. package/platform/elizaos-agent-browser-stub.js +158 -0
  230. package/platform/elizaos-plugin-elizacloud-browser-stub.d.ts +34 -0
  231. package/platform/elizaos-plugin-elizacloud-browser-stub.d.ts.map +1 -0
  232. package/platform/elizaos-plugin-elizacloud-browser-stub.js +51 -0
  233. package/platform/empty-node-module.d.ts +148 -0
  234. package/platform/empty-node-module.d.ts.map +1 -1
  235. package/platform/empty-node-module.js +140 -3
  236. package/platform/ios-runtime-backends.d.ts +83 -0
  237. package/platform/ios-runtime-backends.d.ts.map +1 -0
  238. package/platform/ios-runtime-backends.js +133 -0
  239. package/platform/ios-runtime-bridge.d.ts +15 -0
  240. package/platform/ios-runtime-bridge.d.ts.map +1 -0
  241. package/platform/ios-runtime-bridge.js +527 -0
  242. package/platform/native-library-policy.d.ts +23 -0
  243. package/platform/native-library-policy.d.ts.map +1 -0
  244. package/platform/native-library-policy.js +112 -0
  245. package/platform/native-plugin-entrypoints.d.ts +19 -0
  246. package/platform/native-plugin-entrypoints.d.ts.map +1 -0
  247. package/platform/native-plugin-entrypoints.js +29 -0
  248. package/platforms/android/README.md +68 -10
  249. package/platforms/android/app/build.gradle +268 -3
  250. package/platforms/android/app/capacitor.build.gradle +18 -1
  251. package/platforms/android/app/proguard-rules.pro +17 -2
  252. package/platforms/android/app/src/androidTest/java/ai/elizaos/app/ElizaOsInstrumentedTest.java +1 -1
  253. package/platforms/android/app/src/main/AndroidManifest.xml +334 -17
  254. package/platforms/android/app/src/main/assets/runners/eliza-tasks.js +177 -0
  255. package/platforms/android/app/src/main/elizavoice-jni/CMakeLists.txt +75 -0
  256. package/platforms/android/app/src/main/elizavoice-jni/elizavoice-jni.cpp +1045 -0
  257. package/platforms/android/app/src/main/java/ai/elizaos/app/AgentPlugin.java +111 -171
  258. package/platforms/android/app/src/main/java/ai/elizaos/app/AndroidVirtualizationBridge.java +284 -0
  259. package/platforms/android/app/src/main/java/ai/elizaos/app/BatteryOptimizationPlugin.java +95 -0
  260. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAccessibilityService.java +55 -0
  261. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAgentService.java +1198 -141
  262. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAndroidSystemBridge.java +83 -0
  263. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAssistActivity.java +50 -1
  264. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaBootReceiver.java +90 -8
  265. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaBrowserActivity.java +2 -2
  266. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaCalendarActivity.java +1 -1
  267. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaCameraActivity.java +1 -1
  268. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaClockActivity.java +2 -2
  269. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaContactsActivity.java +1 -1
  270. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaDialActivity.java +1 -1
  271. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaInCallService.java +1 -1
  272. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaMmsReceiver.java +1 -1
  273. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaNativeBridge.java +22 -0
  274. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaNotificationListenerService.java +45 -0
  275. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaQuickActionsWidgetProvider.java +68 -0
  276. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaShareActivity.java +132 -0
  277. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaSmsComposeActivity.java +1 -1
  278. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaSmsGatewayService.java +268 -0
  279. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaSmsReceiver.java +12 -1
  280. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaTasksWorker.java +194 -0
  281. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoiceCaptureService.java +198 -0
  282. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoiceNative.java +160 -0
  283. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoicePlugin.java +450 -0
  284. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoiceTileService.java +39 -0
  285. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaWorkScheduler.java +60 -0
  286. package/platforms/android/app/src/main/java/ai/elizaos/app/GatewayConnectionService.java +53 -19
  287. package/platforms/android/app/src/main/java/ai/elizaos/app/MainActivity.java +160 -33
  288. package/platforms/android/app/src/main/java/ai/elizaos/app/ResourceProbePlugin.java +169 -0
  289. package/platforms/android/app/src/main/java/ai/elizaos/app/VoiceCapturePlugin.java +119 -0
  290. package/platforms/android/app/src/main/res/drawable/eliza_widget_background.xml +10 -0
  291. package/platforms/android/app/src/main/res/drawable/eliza_widget_button_background.xml +13 -0
  292. package/platforms/android/app/src/main/res/drawable/splash.png +0 -0
  293. package/platforms/android/app/src/main/res/drawable-land-hdpi/splash.png +0 -0
  294. package/platforms/android/app/src/main/res/drawable-land-mdpi/splash.png +0 -0
  295. package/platforms/android/app/src/main/res/drawable-land-xhdpi/splash.png +0 -0
  296. package/platforms/android/app/src/main/res/drawable-land-xxhdpi/splash.png +0 -0
  297. package/platforms/android/app/src/main/res/drawable-land-xxxhdpi/splash.png +0 -0
  298. package/platforms/android/app/src/main/res/drawable-port-hdpi/splash.png +0 -0
  299. package/platforms/android/app/src/main/res/drawable-port-mdpi/splash.png +0 -0
  300. package/platforms/android/app/src/main/res/drawable-port-xhdpi/splash.png +0 -0
  301. package/platforms/android/app/src/main/res/drawable-port-xxhdpi/splash.png +0 -0
  302. package/platforms/android/app/src/main/res/drawable-port-xxxhdpi/splash.png +0 -0
  303. package/platforms/android/app/src/main/res/layout/eliza_quick_actions_widget.xml +86 -0
  304. package/platforms/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +2 -1
  305. package/platforms/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +2 -1
  306. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  307. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  308. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png +0 -0
  309. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  310. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  311. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  312. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png +0 -0
  313. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  314. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  315. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  316. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png +0 -0
  317. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  318. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  319. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  320. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png +0 -0
  321. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  322. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  323. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  324. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png +0 -0
  325. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  326. package/platforms/android/app/src/main/res/values/android_app_actions.xml +48 -0
  327. package/platforms/android/app/src/main/res/values/colors.xml +8 -0
  328. package/platforms/android/app/src/main/res/values/ic_launcher_background.xml +2 -2
  329. package/platforms/android/app/src/main/res/values/strings.xml +2 -2
  330. package/platforms/android/app/src/main/res/values/styles.xml +25 -1
  331. package/platforms/android/app/src/main/res/xml/eliza_accessibility_service.xml +9 -0
  332. package/platforms/android/app/src/main/res/xml/eliza_quick_actions_widget.xml +13 -0
  333. package/platforms/android/app/src/main/res/xml/shortcuts.xml +121 -0
  334. package/platforms/android/build.gradle +2 -2
  335. package/platforms/android/capacitor-cordova-android-plugins/build.gradle +9 -3
  336. package/platforms/android/capacitor-cordova-android-plugins/cordova.variables.gradle +6 -2
  337. package/platforms/android/capacitor-cordova-android-plugins/src/main/AndroidManifest.xml +7 -2
  338. package/platforms/android/capacitor-cordova-android-plugins/src/main/java/.gitkeep +0 -1
  339. package/platforms/android/capacitor.settings.gradle +66 -16
  340. package/platforms/android/gradle.properties +1 -0
  341. package/platforms/android/update-manifest/generate-manifest.mjs +97 -0
  342. package/platforms/android/update-manifest/schema.json +26 -0
  343. package/platforms/apple-store-entitlements.reviewed.json +155 -0
  344. package/platforms/electrobun/.generated/brand-config.json +3 -2
  345. package/platforms/electrobun/LICENSE +21 -0
  346. package/platforms/electrobun/README.md +15 -1
  347. package/platforms/electrobun/assets/appIcon.icns +0 -0
  348. package/platforms/electrobun/assets/appIcon.ico +0 -0
  349. package/platforms/electrobun/assets/appIcon.iconset/icon_128x128.png +0 -0
  350. package/platforms/electrobun/assets/appIcon.iconset/icon_128x128@2x.png +0 -0
  351. package/platforms/electrobun/assets/appIcon.iconset/icon_16x16.png +0 -0
  352. package/platforms/electrobun/assets/appIcon.iconset/icon_16x16@2x.png +0 -0
  353. package/platforms/electrobun/assets/appIcon.iconset/icon_256x256.png +0 -0
  354. package/platforms/electrobun/assets/appIcon.iconset/icon_256x256@2x.png +0 -0
  355. package/platforms/electrobun/assets/appIcon.iconset/icon_32x32.png +0 -0
  356. package/platforms/electrobun/assets/appIcon.iconset/icon_32x32@2x.png +0 -0
  357. package/platforms/electrobun/assets/appIcon.iconset/icon_512x512.png +0 -0
  358. package/platforms/electrobun/assets/brand-config.json +6 -6
  359. package/platforms/electrobun/biome.json +9 -9
  360. package/platforms/electrobun/docs/capability-collapse-matrix.json +318 -0
  361. package/platforms/electrobun/docs/capability-collapse-matrix.md +129 -0
  362. package/platforms/electrobun/docs/capability-routing.md +86 -0
  363. package/platforms/electrobun/docs/convergence-audit.json +3505 -0
  364. package/platforms/electrobun/docs/convergence-audit.md +694 -0
  365. package/platforms/electrobun/docs/database-boot-policy.md +90 -0
  366. package/platforms/electrobun/docs/riscv64-port.md +175 -0
  367. package/platforms/electrobun/docs/startup-first-run-cleanup.md +18 -0
  368. package/platforms/electrobun/docs/trace-first-annotations.md +52 -0
  369. package/platforms/electrobun/docs/ui-boundary-audit.json +580 -0
  370. package/platforms/electrobun/docs/ui-boundary-audit.md +257 -0
  371. package/platforms/electrobun/electrobun.config.ts +592 -364
  372. package/platforms/electrobun/entitlements/JUSTIFICATIONS.md +141 -0
  373. package/platforms/electrobun/entitlements/README.md +34 -6
  374. package/platforms/electrobun/entitlements/mas-bun.entitlements +15 -0
  375. package/platforms/electrobun/entitlements/mas.entitlements +6 -4
  376. package/platforms/electrobun/native/macos/window-effects.mm +1522 -0
  377. package/platforms/electrobun/package.json +18 -12
  378. package/platforms/electrobun/remotes/fs/README.md +70 -0
  379. package/platforms/electrobun/remotes/fs/electrobun.config.ts +38 -0
  380. package/platforms/electrobun/remotes/fs/package.json +12 -0
  381. package/platforms/electrobun/remotes/fs/plugin.json +25 -0
  382. package/platforms/electrobun/remotes/fs/src/bun/errors.ts +57 -0
  383. package/platforms/electrobun/remotes/fs/src/bun/file-limits.ts +50 -0
  384. package/platforms/electrobun/remotes/fs/src/bun/fs-service.ts +389 -0
  385. package/platforms/electrobun/remotes/fs/src/bun/path-guard.ts +270 -0
  386. package/platforms/electrobun/remotes/fs/src/bun/protocol.ts +149 -0
  387. package/platforms/electrobun/remotes/fs/src/bun/worker.ts +174 -0
  388. package/platforms/electrobun/remotes/fs/src/dev/phase5-smoke.ts +171 -0
  389. package/platforms/electrobun/remotes/fs/src/web/index.html +8 -0
  390. package/platforms/electrobun/remotes/git/README.md +75 -0
  391. package/platforms/electrobun/remotes/git/electrobun.config.ts +44 -0
  392. package/platforms/electrobun/remotes/git/package.json +12 -0
  393. package/platforms/electrobun/remotes/git/plugin.json +31 -0
  394. package/platforms/electrobun/remotes/git/src/bun/errors.ts +69 -0
  395. package/platforms/electrobun/remotes/git/src/bun/git-command.ts +156 -0
  396. package/platforms/electrobun/remotes/git/src/bun/git-service.ts +446 -0
  397. package/platforms/electrobun/remotes/git/src/bun/operation-history.ts +124 -0
  398. package/platforms/electrobun/remotes/git/src/bun/protocol.ts +252 -0
  399. package/platforms/electrobun/remotes/git/src/bun/worker.ts +316 -0
  400. package/platforms/electrobun/remotes/git/src/dev/phase7-smoke.ts +141 -0
  401. package/platforms/electrobun/remotes/git/src/web/index.html +8 -0
  402. package/platforms/electrobun/remotes/local-model/README.md +138 -0
  403. package/platforms/electrobun/remotes/local-model/electrobun.config.ts +46 -0
  404. package/platforms/electrobun/remotes/local-model/package.json +12 -0
  405. package/platforms/electrobun/remotes/local-model/plugin.json +33 -0
  406. package/platforms/electrobun/remotes/local-model/src/bun/download-state.ts +115 -0
  407. package/platforms/electrobun/remotes/local-model/src/bun/eliza1-catalog.ts +425 -0
  408. package/platforms/electrobun/remotes/local-model/src/bun/errors.ts +74 -0
  409. package/platforms/electrobun/remotes/local-model/src/bun/hf-eliza1-client.ts +169 -0
  410. package/platforms/electrobun/remotes/local-model/src/bun/local-inference-api-client.ts +245 -0
  411. package/platforms/electrobun/remotes/local-model/src/bun/model-service.ts +490 -0
  412. package/platforms/electrobun/remotes/local-model/src/bun/protocol.ts +301 -0
  413. package/platforms/electrobun/remotes/local-model/src/bun/worker.ts +248 -0
  414. package/platforms/electrobun/remotes/local-model/src/dev/phase8-smoke.ts +117 -0
  415. package/platforms/electrobun/remotes/local-model/src/web/index.html +13 -0
  416. package/platforms/electrobun/remotes/pty/README.md +65 -0
  417. package/platforms/electrobun/remotes/pty/electrobun.config.ts +47 -0
  418. package/platforms/electrobun/remotes/pty/package.json +12 -0
  419. package/platforms/electrobun/remotes/pty/plugin.json +34 -0
  420. package/platforms/electrobun/remotes/pty/src/bun/errors.ts +57 -0
  421. package/platforms/electrobun/remotes/pty/src/bun/output-buffer.ts +127 -0
  422. package/platforms/electrobun/remotes/pty/src/bun/protocol.ts +192 -0
  423. package/platforms/electrobun/remotes/pty/src/bun/pty-service.ts +562 -0
  424. package/platforms/electrobun/remotes/pty/src/bun/worker.ts +218 -0
  425. package/platforms/electrobun/remotes/pty/src/dev/phase6-smoke.ts +127 -0
  426. package/platforms/electrobun/remotes/pty/src/web/index.html +8 -0
  427. package/platforms/electrobun/remotes/runtime/README.md +370 -0
  428. package/platforms/electrobun/remotes/runtime/electrobun.config.ts +48 -0
  429. package/platforms/electrobun/remotes/runtime/package.json +14 -0
  430. package/platforms/electrobun/remotes/runtime/plugin.json +30 -0
  431. package/platforms/electrobun/remotes/runtime/src/bun/api-client.ts +620 -0
  432. package/platforms/electrobun/remotes/runtime/src/bun/errors.ts +45 -0
  433. package/platforms/electrobun/remotes/runtime/src/bun/log-buffer.ts +33 -0
  434. package/platforms/electrobun/remotes/runtime/src/bun/protocol.ts +366 -0
  435. package/platforms/electrobun/remotes/runtime/src/bun/route-discovery.ts +419 -0
  436. package/platforms/electrobun/remotes/runtime/src/bun/runtime-manager.ts +423 -0
  437. package/platforms/electrobun/remotes/runtime/src/bun/sse-parser.ts +99 -0
  438. package/platforms/electrobun/remotes/runtime/src/bun/stream-manager.ts +887 -0
  439. package/platforms/electrobun/remotes/runtime/src/bun/worker.ts +1231 -0
  440. package/platforms/electrobun/remotes/runtime/src/dev/phase1-smoke.ts +34 -0
  441. package/platforms/electrobun/remotes/runtime/src/dev/phase2-smoke.ts +86 -0
  442. package/platforms/electrobun/remotes/runtime/src/dev/phase3-smoke.ts +141 -0
  443. package/platforms/electrobun/remotes/runtime/src/web/index.css +187 -0
  444. package/platforms/electrobun/remotes/runtime/src/web/index.html +76 -0
  445. package/platforms/electrobun/remotes/runtime/src/web/index.ts +192 -0
  446. package/platforms/electrobun/remotes/surface/README.md +201 -0
  447. package/platforms/electrobun/remotes/surface/electrobun.config.ts +38 -0
  448. package/platforms/electrobun/remotes/surface/package.json +12 -0
  449. package/platforms/electrobun/remotes/surface/plugin.json +28 -0
  450. package/platforms/electrobun/remotes/surface/src/bun/worker.ts +132 -0
  451. package/platforms/electrobun/remotes/surface/src/dev/phase4-smoke.ts +566 -0
  452. package/platforms/electrobun/remotes/surface/src/protocol/event-types.ts +84 -0
  453. package/platforms/electrobun/remotes/surface/src/protocol/runtime-client.ts +673 -0
  454. package/platforms/electrobun/remotes/surface/src/web/app.ts +595 -0
  455. package/platforms/electrobun/remotes/surface/src/web/index.css +460 -0
  456. package/platforms/electrobun/remotes/surface/src/web/index.html +466 -0
  457. package/platforms/electrobun/remotes/surface/src/web/index.ts +5 -0
  458. package/platforms/electrobun/remotes/surface/src/web/render.ts +455 -0
  459. package/platforms/electrobun/remotes/surface/src/web/state.ts +427 -0
  460. package/platforms/electrobun/scripts/build-macos-effects.sh +4 -0
  461. package/platforms/electrobun/scripts/ensure-build-folder.ts +28 -0
  462. package/platforms/electrobun/scripts/ensure-whisper-gguf.sh +55 -0
  463. package/platforms/electrobun/scripts/ensure-whisper-model.sh +22 -80
  464. package/platforms/electrobun/scripts/generate-convergence-audit.ts +1203 -0
  465. package/platforms/electrobun/scripts/local-adhoc-sign-macos.ts +159 -159
  466. package/platforms/electrobun/scripts/postwrap-diagnostics.ts +424 -339
  467. package/platforms/electrobun/scripts/postwrap-sign-runtime-macos.ts +302 -271
  468. package/platforms/electrobun/scripts/smoke-test-windows.ps1 +17 -16
  469. package/platforms/electrobun/scripts/smoke-test.sh +5 -7
  470. package/platforms/electrobun/scripts/sync-web-assets.mjs +13 -13
  471. package/platforms/electrobun/scripts/verify-rpc-handlers.ts +109 -110
  472. package/platforms/electrobun/scripts/verify-windows-installer-proof.ps1 +3 -8
  473. package/platforms/electrobun/src/__stubs__/bun-ffi.ts +31 -31
  474. package/platforms/electrobun/src/__stubs__/electrobun-bun.ts +1 -1
  475. package/platforms/electrobun/src/agent-ready-state.ts +8 -8
  476. package/platforms/electrobun/src/agent-reset-from-main.test.ts +162 -0
  477. package/platforms/electrobun/src/agent-reset-from-main.ts +62 -62
  478. package/platforms/electrobun/src/agent-status-rpc.test.ts +95 -0
  479. package/platforms/electrobun/src/agent-status-rpc.ts +156 -0
  480. package/platforms/electrobun/src/api-base.test.ts +247 -0
  481. package/platforms/electrobun/src/api-base.ts +202 -93
  482. package/platforms/electrobun/src/application-menu-action-registry.ts +9 -9
  483. package/platforms/electrobun/src/application-menu.ts +348 -348
  484. package/platforms/electrobun/src/background-notice.ts +36 -36
  485. package/platforms/electrobun/src/boot-progress.test.ts +188 -0
  486. package/platforms/electrobun/src/boot-progress.ts +111 -0
  487. package/platforms/electrobun/src/brand-config.test.ts +39 -0
  488. package/platforms/electrobun/src/brand-config.ts +141 -129
  489. package/platforms/electrobun/src/bridge/browser-tabs-renderer-registry.ts +28 -28
  490. package/platforms/electrobun/src/bridge/electrobun-boot-config.ts +42 -0
  491. package/platforms/electrobun/src/bridge/electrobun-crypto-ready.ts +120 -0
  492. package/platforms/electrobun/src/bridge/electrobun-direct-rpc.ts +342 -357
  493. package/platforms/electrobun/src/bridge/electrobun-stub.ts +13 -13
  494. package/platforms/electrobun/src/browser-workspace-bridge-server.ts +285 -243
  495. package/platforms/electrobun/src/cloud-auth-window.ts +136 -136
  496. package/platforms/electrobun/src/cloud-disconnect-from-main.ts +90 -90
  497. package/platforms/electrobun/src/config-and-auth-rpc.test.ts +256 -0
  498. package/platforms/electrobun/src/config-and-auth-rpc.ts +302 -0
  499. package/platforms/electrobun/src/conversations-and-character-rpc.test.ts +185 -0
  500. package/platforms/electrobun/src/conversations-and-character-rpc.ts +131 -0
  501. package/platforms/electrobun/src/dashboard-rpc.test.ts +200 -0
  502. package/platforms/electrobun/src/dashboard-rpc.ts +344 -0
  503. package/platforms/electrobun/src/database/database-lock.ts +141 -0
  504. package/platforms/electrobun/src/database/database-mode.ts +149 -0
  505. package/platforms/electrobun/src/database/database-recovery.ts +72 -0
  506. package/platforms/electrobun/src/database/database-snapshot.ts +190 -0
  507. package/platforms/electrobun/src/database/database.test.ts +196 -0
  508. package/platforms/electrobun/src/database/index.ts +5 -0
  509. package/platforms/electrobun/src/database/pglite-paths.ts +100 -0
  510. package/platforms/electrobun/src/desktop-deep-link-events.test.ts +30 -0
  511. package/platforms/electrobun/src/desktop-deep-link-events.ts +17 -0
  512. package/platforms/electrobun/src/desktop-http-request.test.ts +73 -73
  513. package/platforms/electrobun/src/desktop-http-request.ts +85 -85
  514. package/platforms/electrobun/src/desktop-pill-config.test.ts +27 -0
  515. package/platforms/electrobun/src/desktop-pill-config.ts +40 -0
  516. package/platforms/electrobun/src/desktop-test-bridge-server.ts +204 -204
  517. package/platforms/electrobun/src/desktop-tray-config.test.ts +87 -0
  518. package/platforms/electrobun/src/desktop-tray-config.ts +84 -0
  519. package/platforms/electrobun/src/devtools-layout.ts +41 -41
  520. package/platforms/electrobun/src/diagnostic-format.test.ts +71 -0
  521. package/platforms/electrobun/src/diagnostic-format.ts +75 -36
  522. package/platforms/electrobun/src/dynamic-view-rpc-schema.test.ts +37 -0
  523. package/platforms/electrobun/src/dynamic-views/README.md +44 -0
  524. package/platforms/electrobun/src/dynamic-views/demo/agent-run-trace.html +135 -0
  525. package/platforms/electrobun/src/dynamic-views/errors.ts +29 -0
  526. package/platforms/electrobun/src/dynamic-views/host.test.ts +353 -0
  527. package/platforms/electrobun/src/dynamic-views/host.ts +332 -0
  528. package/platforms/electrobun/src/dynamic-views/index.ts +57 -0
  529. package/platforms/electrobun/src/dynamic-views/kiosk-canvas.ts +89 -0
  530. package/platforms/electrobun/src/dynamic-views/registry.test.ts +139 -0
  531. package/platforms/electrobun/src/dynamic-views/registry.ts +196 -0
  532. package/platforms/electrobun/src/dynamic-views/session-manager.test.ts +355 -0
  533. package/platforms/electrobun/src/dynamic-views/session-manager.ts +348 -0
  534. package/platforms/electrobun/src/dynamic-views/types.ts +105 -0
  535. package/platforms/electrobun/src/electrobun-boot-config.test.ts +50 -0
  536. package/platforms/electrobun/src/electrobun-config.test.ts +62 -0
  537. package/platforms/electrobun/src/electrobun-crypto-ready.test.ts +65 -0
  538. package/platforms/electrobun/src/electrobun-window-options.ts +25 -0
  539. package/platforms/electrobun/src/extension-rpc.test.ts +88 -0
  540. package/platforms/electrobun/src/extension-rpc.ts +102 -0
  541. package/platforms/electrobun/src/fatal-shutdown.test.ts +10 -10
  542. package/platforms/electrobun/src/fatal-shutdown.ts +1 -1
  543. package/platforms/electrobun/src/first-party-remotes.test.ts +169 -0
  544. package/platforms/electrobun/src/first-party-remotes.ts +297 -0
  545. package/platforms/electrobun/src/first-run-rpc.test.ts +192 -0
  546. package/platforms/electrobun/src/first-run-rpc.ts +146 -0
  547. package/platforms/electrobun/src/floating-chat-window.ts +181 -181
  548. package/platforms/electrobun/src/inbox-rpc.test.ts +123 -0
  549. package/platforms/electrobun/src/inbox-rpc.ts +158 -0
  550. package/platforms/electrobun/src/index.ts +2555 -2096
  551. package/platforms/electrobun/src/kiosk-mode.ts +50 -0
  552. package/platforms/electrobun/src/launch/index.ts +4 -0
  553. package/platforms/electrobun/src/launch/launch-dynamic-view.ts +37 -0
  554. package/platforms/electrobun/src/launch/launch-orchestrator.test.ts +224 -0
  555. package/platforms/electrobun/src/launch/launch-orchestrator.ts +456 -0
  556. package/platforms/electrobun/src/launch/launch-store.test.ts +97 -0
  557. package/platforms/electrobun/src/launch/launch-store.ts +134 -0
  558. package/platforms/electrobun/src/launch/types.ts +103 -0
  559. package/platforms/electrobun/src/launch/views/launch-diagnostics.html +205 -0
  560. package/platforms/electrobun/src/lifecycle/agent-ready-publish.test.ts +50 -0
  561. package/platforms/electrobun/src/lifecycle/agent-ready-publish.ts +27 -0
  562. package/platforms/electrobun/src/lifecycle/api-base-owner.ts +42 -31
  563. package/platforms/electrobun/src/lifecycle/desktop-session-prime.ts +44 -44
  564. package/platforms/electrobun/src/logger.ts +14 -14
  565. package/platforms/electrobun/src/main-window-runtime.ts +83 -83
  566. package/platforms/electrobun/src/main-window-session.test.ts +109 -0
  567. package/platforms/electrobun/src/main-window-session.ts +87 -51
  568. package/platforms/electrobun/src/menu-reset-from-main.ts +158 -158
  569. package/platforms/electrobun/src/native/agent-env.test.ts +52 -0
  570. package/platforms/electrobun/src/native/agent-runtime-layout.test.ts +42 -0
  571. package/platforms/electrobun/src/native/agent-state-dir.test.ts +91 -0
  572. package/platforms/electrobun/src/native/agent.ts +2122 -1682
  573. package/platforms/electrobun/src/native/auth-bridge.test.ts +67 -0
  574. package/platforms/electrobun/src/native/auth-bridge.ts +464 -360
  575. package/platforms/electrobun/src/native/browser-workspace.ts +723 -471
  576. package/platforms/electrobun/src/native/camera.ts +50 -50
  577. package/platforms/electrobun/src/native/canvas.ts +444 -445
  578. package/platforms/electrobun/src/native/credentials.ts +673 -616
  579. package/platforms/electrobun/src/native/desktop-window.test.ts +300 -0
  580. package/platforms/electrobun/src/native/desktop.ts +2196 -2156
  581. package/platforms/electrobun/src/native/editor-bridge.ts +201 -201
  582. package/platforms/electrobun/src/native/file-watcher.ts +154 -154
  583. package/platforms/electrobun/src/native/gateway.ts +179 -180
  584. package/platforms/electrobun/src/native/gpu-window.ts +256 -256
  585. package/platforms/electrobun/src/native/index.ts +76 -74
  586. package/platforms/electrobun/src/native/location.test.ts +44 -0
  587. package/platforms/electrobun/src/native/location.ts +90 -80
  588. package/platforms/electrobun/src/native/loopback-port.ts +60 -60
  589. package/platforms/electrobun/src/native/mac-window-effects.ts +166 -104
  590. package/platforms/electrobun/src/native/music-player.ts +38 -38
  591. package/platforms/electrobun/src/native/permissions-shared.ts +249 -150
  592. package/platforms/electrobun/src/native/permissions.ts +301 -208
  593. package/platforms/electrobun/src/native/power-state.ts +129 -129
  594. package/platforms/electrobun/src/native/remote-plugin-host.test.ts +1394 -0
  595. package/platforms/electrobun/src/native/remote-plugin-host.ts +1531 -0
  596. package/platforms/electrobun/src/native/screencapture.ts +667 -573
  597. package/platforms/electrobun/src/native/steward.ts +207 -204
  598. package/platforms/electrobun/src/native/swabble.ts +68 -324
  599. package/platforms/electrobun/src/native/talkmode.ts +253 -422
  600. package/platforms/electrobun/src/native/webgpu-browser-support.test.ts +18 -0
  601. package/platforms/electrobun/src/native/webgpu-browser-support.ts +165 -147
  602. package/platforms/electrobun/src/native/whisper-env.test.ts +71 -0
  603. package/platforms/electrobun/src/native/whisper-env.ts +68 -0
  604. package/platforms/electrobun/src/native-onboarding.ts +270 -0
  605. package/platforms/electrobun/src/onboarding-overlay-window.ts +141 -0
  606. package/platforms/electrobun/src/persisted-deployment.ts +91 -0
  607. package/platforms/electrobun/src/pill-window.test.ts +91 -0
  608. package/platforms/electrobun/src/pill-window.ts +99 -0
  609. package/platforms/electrobun/src/preload-validation.ts +44 -44
  610. package/platforms/electrobun/src/preload.js +1 -1
  611. package/platforms/electrobun/src/print-electrobun-dev-settings-banner.ts +120 -120
  612. package/platforms/electrobun/src/renderer-api-proxy.test.ts +73 -0
  613. package/platforms/electrobun/src/renderer-api-proxy.ts +86 -0
  614. package/platforms/electrobun/src/renderer-static.test.ts +53 -0
  615. package/platforms/electrobun/src/renderer-static.ts +144 -57
  616. package/platforms/electrobun/src/rpc-handler-slices.ts +121 -0
  617. package/platforms/electrobun/src/rpc-handlers.test.ts +267 -0
  618. package/platforms/electrobun/src/rpc-handlers.ts +1306 -913
  619. package/platforms/electrobun/src/rpc-parse-utils.ts +57 -0
  620. package/platforms/electrobun/src/rpc-port-resolver.test.ts +45 -0
  621. package/platforms/electrobun/src/rpc-port-resolver.ts +31 -0
  622. package/platforms/electrobun/src/rpc-schema.ts +2556 -1619
  623. package/platforms/electrobun/src/runtime-layout.ts +105 -105
  624. package/platforms/electrobun/src/runtime-permissions.ts +95 -95
  625. package/platforms/electrobun/src/runtime-rpc.test.ts +126 -0
  626. package/platforms/electrobun/src/runtime-rpc.ts +237 -0
  627. package/platforms/electrobun/src/screenshot-dev-server.ts +87 -87
  628. package/platforms/electrobun/src/settings-mutations-rpc.test.ts +193 -0
  629. package/platforms/electrobun/src/settings-mutations-rpc.ts +220 -0
  630. package/platforms/electrobun/src/startup-trace.ts +274 -270
  631. package/platforms/electrobun/src/subscription-rpc.test.ts +89 -0
  632. package/platforms/electrobun/src/subscription-rpc.ts +192 -0
  633. package/platforms/electrobun/src/surface-windows.test.ts +355 -0
  634. package/platforms/electrobun/src/surface-windows.ts +410 -410
  635. package/platforms/electrobun/src/trace/README.md +73 -0
  636. package/platforms/electrobun/src/trace/errors.ts +21 -0
  637. package/platforms/electrobun/src/trace/index.ts +40 -0
  638. package/platforms/electrobun/src/trace/trace-dynamic-view.ts +40 -0
  639. package/platforms/electrobun/src/trace/trace-host-requests.ts +473 -0
  640. package/platforms/electrobun/src/trace/trace-service.test.ts +186 -0
  641. package/platforms/electrobun/src/trace/trace-service.ts +324 -0
  642. package/platforms/electrobun/src/trace/trace-store.test.ts +141 -0
  643. package/platforms/electrobun/src/trace/trace-store.ts +551 -0
  644. package/platforms/electrobun/src/trace/types.ts +250 -0
  645. package/platforms/electrobun/src/trace/views/agent-run-trace.html +311 -0
  646. package/platforms/electrobun/src/types/web-speech.d.ts +28 -28
  647. package/platforms/electrobun/src/types.ts +5 -5
  648. package/platforms/electrobun/src/update-availability.test.ts +72 -0
  649. package/platforms/electrobun/src/update-availability.ts +90 -0
  650. package/platforms/electrobun/src/update-rpc.test.ts +83 -0
  651. package/platforms/electrobun/src/update-rpc.ts +123 -0
  652. package/platforms/electrobun/src/voice/README.md +184 -0
  653. package/platforms/electrobun/src/voice/errors.ts +42 -0
  654. package/platforms/electrobun/src/voice/index.ts +78 -0
  655. package/platforms/electrobun/src/voice/types.ts +316 -0
  656. package/platforms/electrobun/src/voice/voice-host-requests.ts +259 -0
  657. package/platforms/electrobun/src/voice/voice-latency-budget.test.ts +66 -0
  658. package/platforms/electrobun/src/voice/voice-latency-budget.ts +243 -0
  659. package/platforms/electrobun/src/voice/voice-live-validation.test.ts +352 -0
  660. package/platforms/electrobun/src/voice/voice-live-validation.ts +838 -0
  661. package/platforms/electrobun/src/voice/voice-pipeline.ts +250 -0
  662. package/platforms/electrobun/src/voice/voice-playback-adapter.ts +31 -0
  663. package/platforms/electrobun/src/voice/voice-runtime-adapter.test.ts +213 -0
  664. package/platforms/electrobun/src/voice/voice-runtime-adapter.ts +686 -0
  665. package/platforms/electrobun/src/voice/voice-service.test.ts +561 -0
  666. package/platforms/electrobun/src/voice/voice-service.ts +1027 -0
  667. package/platforms/electrobun/src/voice/voice-stream-coordinator.test.ts +115 -0
  668. package/platforms/electrobun/src/voice/voice-stream-coordinator.ts +270 -0
  669. package/platforms/electrobun/src/voice/voice-trace.ts +97 -0
  670. package/platforms/electrobun/src/voice/voice-tts-chunker.test.ts +91 -0
  671. package/platforms/electrobun/src/voice/voice-tts-chunker.ts +194 -0
  672. package/platforms/electrobun/src/windows-cef-profile.ts +88 -88
  673. package/platforms/electrobun/tsconfig.json +73 -13
  674. package/platforms/electrobun/update-channels.json +22 -0
  675. package/platforms/electrobun/vitest.electrobun.config.ts +72 -42
  676. package/platforms/ios/App/App/App.entitlements +4 -0
  677. package/platforms/ios/App/App/AppDelegate.swift +80 -18
  678. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ios-marketing-1024.png +0 -0
  679. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-20x20@1x.png +0 -0
  680. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-20x20@2x.png +0 -0
  681. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-29x29@1x.png +0 -0
  682. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-29x29@2x.png +0 -0
  683. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-40x40@1x.png +0 -0
  684. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-40x40@2x.png +0 -0
  685. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-76x76@1x.png +0 -0
  686. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-76x76@2x.png +0 -0
  687. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-ipad-83_5x83_5@2x.png +0 -0
  688. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-20x20@2x.png +0 -0
  689. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-20x20@3x.png +0 -0
  690. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-29x29@2x.png +0 -0
  691. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-29x29@3x.png +0 -0
  692. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-40x40@2x.png +0 -0
  693. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-40x40@3x.png +0 -0
  694. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-60x60@2x.png +0 -0
  695. package/platforms/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-iphone-60x60@3x.png +0 -0
  696. package/platforms/ios/App/App/Base.lproj/LaunchScreen.storyboard +1 -4
  697. package/platforms/ios/App/App/ComputerUseBridge.swift +589 -0
  698. package/platforms/ios/App/App/DeviceActivityMonitorExtension/DeviceActivityMonitorExtension.entitlements +12 -0
  699. package/platforms/ios/App/App/DeviceActivityMonitorExtension/DeviceActivityMonitorExtension.swift +34 -0
  700. package/platforms/ios/App/App/DeviceActivityMonitorExtension/Info.plist +29 -0
  701. package/platforms/ios/App/App/DeviceActivityReportExtension/DeviceActivityReportExtension.entitlements +12 -0
  702. package/platforms/ios/App/App/DeviceActivityReportExtension/DeviceActivityReportExtension.swift +53 -0
  703. package/platforms/ios/App/App/DeviceActivityReportExtension/Info.plist +27 -0
  704. package/platforms/ios/App/App/ElizaAppIntents.swift +183 -0
  705. package/platforms/ios/App/App/ElizaIntentPlugin.swift +342 -5
  706. package/platforms/ios/App/App/Info.plist +17 -1
  707. package/platforms/ios/App/App/runners/eliza-tasks.js +177 -0
  708. package/platforms/ios/App/App.xcodeproj/project.pbxproj +262 -6
  709. package/platforms/ios/App/BroadcastExtension/SampleHandler.swift +100 -0
  710. package/platforms/ios/App/Podfile +5 -0
  711. package/platforms/ios/App/Podfile.lock +83 -59
  712. package/register-runtime-hooks.js +11 -5
  713. package/registry/app-registry.d.ts +14 -0
  714. package/registry/app-registry.d.ts.map +1 -0
  715. package/registry/app-registry.js +29 -0
  716. package/registry/entries/apps/app-polymarket.json +31 -0
  717. package/registry/entries/apps/clawville.json +27 -0
  718. package/registry/entries/apps/companion.json +28 -0
  719. package/registry/entries/apps/database-viewer.json +27 -0
  720. package/registry/entries/apps/defense-of-the-agents.json +27 -0
  721. package/registry/entries/apps/documents.json +30 -0
  722. package/registry/entries/apps/feed.json +27 -0
  723. package/registry/entries/apps/hyperliquid.json +31 -0
  724. package/registry/entries/apps/log-viewer.json +27 -0
  725. package/registry/entries/apps/memory-viewer.json +27 -0
  726. package/registry/entries/apps/model-tester.json +31 -0
  727. package/registry/entries/apps/plugin-viewer.json +27 -0
  728. package/registry/entries/apps/relationship-viewer.json +27 -0
  729. package/registry/entries/apps/runtime-debugger.json +27 -0
  730. package/registry/entries/apps/shopify.json +31 -0
  731. package/registry/entries/apps/skills-viewer.json +27 -0
  732. package/registry/entries/apps/steward.json +31 -0
  733. package/registry/entries/apps/training.json +54 -0
  734. package/registry/entries/apps/trajectory-viewer.json +27 -0
  735. package/registry/entries/apps/vincent.json +31 -0
  736. package/registry/entries/connectors/bluebubbles.json +99 -0
  737. package/registry/entries/connectors/bluesky.json +173 -0
  738. package/registry/entries/connectors/discord.json +119 -0
  739. package/registry/entries/connectors/farcaster.json +174 -0
  740. package/registry/entries/connectors/feishu.json +79 -0
  741. package/registry/entries/connectors/google-chat.json +120 -0
  742. package/registry/entries/connectors/google.json +82 -0
  743. package/registry/entries/connectors/imessage.json +96 -0
  744. package/registry/entries/connectors/instagram.json +64 -0
  745. package/registry/entries/connectors/line.json +86 -0
  746. package/registry/entries/connectors/matrix.json +94 -0
  747. package/registry/entries/connectors/mattermost.json +110 -0
  748. package/registry/entries/connectors/msteams.json +104 -0
  749. package/registry/entries/connectors/nextcloud-talk.json +104 -0
  750. package/registry/entries/connectors/nostr.json +70 -0
  751. package/registry/entries/connectors/signal.json +81 -0
  752. package/registry/entries/connectors/slack.json +102 -0
  753. package/registry/entries/connectors/telegram.json +71 -0
  754. package/registry/entries/connectors/tlon.json +94 -0
  755. package/registry/entries/connectors/twitch.json +110 -0
  756. package/registry/entries/connectors/whatsapp.json +113 -0
  757. package/registry/entries/connectors/x.json +231 -0
  758. package/registry/entries/connectors/zalo.json +112 -0
  759. package/registry/entries/connectors/zalouser.json +122 -0
  760. package/registry/entries/plugins/agent-orchestrator.json +33 -0
  761. package/registry/entries/plugins/agent-skills.json +72 -0
  762. package/registry/entries/plugins/anthropic.json +73 -0
  763. package/registry/entries/plugins/app-control.json +23 -0
  764. package/registry/entries/plugins/auto-trader.json +203 -0
  765. package/registry/entries/plugins/background-runner.json +26 -0
  766. package/registry/entries/plugins/blooio.json +102 -0
  767. package/registry/entries/plugins/browser.json +75 -0
  768. package/registry/entries/plugins/cli.json +40 -0
  769. package/registry/entries/plugins/clipboard.json +44 -0
  770. package/registry/entries/plugins/coding-tools.json +71 -0
  771. package/registry/entries/plugins/commands.json +63 -0
  772. package/registry/entries/plugins/computeruse.json +74 -0
  773. package/registry/entries/plugins/copilot-proxy.json +93 -0
  774. package/registry/entries/plugins/directives.json +63 -0
  775. package/registry/entries/plugins/edge-tts.json +97 -0
  776. package/registry/entries/plugins/elevenlabs.json +169 -0
  777. package/registry/entries/plugins/elizacloud.json +208 -0
  778. package/registry/entries/plugins/evm.json +134 -0
  779. package/registry/entries/plugins/experience.json +34 -0
  780. package/registry/entries/plugins/facewear.json +131 -0
  781. package/registry/entries/plugins/form.json +26 -0
  782. package/registry/entries/plugins/github.json +93 -0
  783. package/registry/entries/plugins/gmail-watch.json +25 -0
  784. package/registry/entries/plugins/goals.json +77 -0
  785. package/registry/entries/plugins/google-genai.json +106 -0
  786. package/registry/entries/plugins/groq.json +93 -0
  787. package/registry/entries/plugins/hedera.json +48 -0
  788. package/registry/entries/plugins/inmemorydb.json +25 -0
  789. package/registry/entries/plugins/linear.json +51 -0
  790. package/registry/entries/plugins/local-inference.json +142 -0
  791. package/registry/entries/plugins/local-storage.json +36 -0
  792. package/registry/entries/plugins/localdb.json +25 -0
  793. package/registry/entries/plugins/mcp.json +44 -0
  794. package/registry/entries/plugins/memory.json +124 -0
  795. package/registry/entries/plugins/minecraft.json +79 -0
  796. package/registry/entries/plugins/moltbook.json +83 -0
  797. package/registry/entries/plugins/music.json +155 -0
  798. package/registry/entries/plugins/mysticism.json +48 -0
  799. package/registry/entries/plugins/nearai.json +82 -0
  800. package/registry/entries/plugins/ngrok.json +69 -0
  801. package/registry/entries/plugins/ollama.json +96 -0
  802. package/registry/entries/plugins/openai.json +189 -0
  803. package/registry/entries/plugins/openrouter.json +188 -0
  804. package/registry/entries/plugins/pdf.json +26 -0
  805. package/registry/entries/plugins/plugin-manager.json +23 -0
  806. package/registry/entries/plugins/prose.json +48 -0
  807. package/registry/entries/plugins/rlm.json +26 -0
  808. package/registry/entries/plugins/roblox.json +88 -0
  809. package/registry/entries/plugins/rss.json +64 -0
  810. package/registry/entries/plugins/s3-storage.json +91 -0
  811. package/registry/entries/plugins/scheduling.json +35 -0
  812. package/registry/entries/plugins/shell.json +94 -0
  813. package/registry/entries/plugins/social-alpha.json +72 -0
  814. package/registry/entries/plugins/tailscale.json +81 -0
  815. package/registry/entries/plugins/tee.json +53 -0
  816. package/registry/entries/plugins/todos.json +26 -0
  817. package/registry/entries/plugins/trajectory-logger.json +33 -0
  818. package/registry/entries/plugins/trust.json +39 -0
  819. package/registry/entries/plugins/tts.json +71 -0
  820. package/registry/entries/plugins/tunnel.json +45 -0
  821. package/registry/entries/plugins/twilio.json +168 -0
  822. package/registry/entries/plugins/vercel-ai-gateway.json +128 -0
  823. package/registry/entries/plugins/video.json +23 -0
  824. package/registry/entries/plugins/vision.json +43 -0
  825. package/registry/entries/plugins/webhooks.json +23 -0
  826. package/registry/entries/plugins/workflow.json +25 -0
  827. package/registry/entries/plugins/xai.json +75 -0
  828. package/registry/index.d.ts +2 -1
  829. package/registry/index.d.ts.map +1 -1
  830. package/registry/index.js +46 -12
  831. package/registry/loader.d.ts +2 -1
  832. package/registry/loader.d.ts.map +1 -1
  833. package/registry/loader.js +49 -2
  834. package/registry/schema.d.ts +244 -34
  835. package/registry/schema.d.ts.map +1 -1
  836. package/registry/schema.js +36 -0
  837. package/runtime/android-avf-microdroid-bridge.d.ts +29 -0
  838. package/runtime/android-avf-microdroid-bridge.d.ts.map +1 -0
  839. package/runtime/android-avf-microdroid-bridge.js +149 -0
  840. package/runtime/api-dev-settings-banner.d.ts.map +1 -1
  841. package/runtime/api-dev-settings-banner.js +5 -13
  842. package/runtime/app-core-runtime-hooks.d.ts +21 -0
  843. package/runtime/app-core-runtime-hooks.d.ts.map +1 -0
  844. package/runtime/app-core-runtime-hooks.js +10 -0
  845. package/runtime/autonomy-policy.d.ts +2 -0
  846. package/runtime/autonomy-policy.d.ts.map +1 -0
  847. package/runtime/autonomy-policy.js +4 -0
  848. package/runtime/desktop/AppWindowRenderer.d.ts +17 -0
  849. package/runtime/desktop/AppWindowRenderer.d.ts.map +1 -0
  850. package/runtime/desktop/AppWindowRenderer.js +360 -0
  851. package/runtime/desktop/DesktopSurfaceNavigationRuntime.d.ts +2 -0
  852. package/runtime/desktop/DesktopSurfaceNavigationRuntime.d.ts.map +1 -0
  853. package/runtime/desktop/DesktopSurfaceNavigationRuntime.js +41 -0
  854. package/runtime/desktop/DesktopTrayRuntime.d.ts +2 -0
  855. package/runtime/desktop/DesktopTrayRuntime.d.ts.map +1 -0
  856. package/runtime/desktop/DesktopTrayRuntime.js +174 -0
  857. package/runtime/desktop/DetachedShellRoot.d.ts +10 -0
  858. package/runtime/desktop/DetachedShellRoot.d.ts.map +1 -0
  859. package/runtime/desktop/DetachedShellRoot.js +111 -0
  860. package/runtime/desktop/index.d.ts +6 -0
  861. package/runtime/desktop/index.d.ts.map +1 -0
  862. package/runtime/desktop/index.js +5 -0
  863. package/runtime/desktop/tray-menu.d.ts +20 -0
  864. package/runtime/desktop/tray-menu.d.ts.map +1 -0
  865. package/runtime/desktop/tray-menu.js +143 -0
  866. package/runtime/dev-server.d.ts +1 -1
  867. package/runtime/dev-server.d.ts.map +1 -1
  868. package/runtime/dev-server.js +93 -17
  869. package/runtime/eliza.d.ts +75 -1
  870. package/runtime/eliza.d.ts.map +1 -1
  871. package/runtime/eliza.js +596 -122
  872. package/runtime/ensure-text-to-speech-handler.d.ts.map +1 -1
  873. package/runtime/ensure-text-to-speech-handler.js +10 -3
  874. package/runtime/mobile-safe-runtime.d.ts +181 -2
  875. package/runtime/mobile-safe-runtime.d.ts.map +1 -1
  876. package/runtime/mobile-safe-runtime.js +1019 -12
  877. package/runtime/mode/remote-forwarder.d.ts.map +1 -1
  878. package/runtime/mode/remote-forwarder.js +2 -2
  879. package/runtime/mode/route-mode-guard.d.ts +1 -2
  880. package/runtime/mode/route-mode-guard.d.ts.map +1 -1
  881. package/runtime/mode/route-mode-guard.js +4 -5
  882. package/runtime/mode/route-mode-matrix.d.ts.map +1 -1
  883. package/runtime/mode/route-mode-matrix.js +14 -1
  884. package/runtime/mode/runtime-mode.d.ts +1 -1
  885. package/runtime/mode/runtime-mode.d.ts.map +1 -1
  886. package/runtime/mode/runtime-mode.js +15 -4
  887. package/runtime/runtime-bootstrap-policy.d.ts.map +1 -1
  888. package/runtime/runtime-bootstrap-policy.js +14 -2
  889. package/runtime/telegram-standalone-handler.d.ts.map +1 -1
  890. package/runtime/telegram-standalone-handler.js +10 -9
  891. package/runtime/tts-cache-wiring.d.ts +29 -0
  892. package/runtime/tts-cache-wiring.d.ts.map +1 -0
  893. package/runtime/tts-cache-wiring.js +114 -0
  894. package/runtime/voice-warmup.d.ts +81 -0
  895. package/runtime/voice-warmup.d.ts.map +1 -0
  896. package/runtime/voice-warmup.js +111 -0
  897. package/scripts/android-sms-gateway-template.test.mjs +1014 -0
  898. package/scripts/aosp/README.md +19 -15
  899. package/scripts/aosp/compile-libllama.mjs +1344 -248
  900. package/scripts/aosp/compile-shim.mjs +47 -18
  901. package/scripts/aosp/deploy-pixel.mjs +405 -0
  902. package/scripts/aosp/lib/load-variant-config.mjs +3 -3
  903. package/scripts/aosp/llama-cpp-patches/README.md +8 -8
  904. package/scripts/aosp/llama-cpp-patches/apply-patches.mjs +23 -6
  905. package/scripts/aosp/llama-cpp-patches/polarquant/README.md +37 -0
  906. package/scripts/aosp/llama-cpp-patches/qjl/README.md +37 -0
  907. package/scripts/aosp/seccomp-shim/sigsys-handler-arm64.c +169 -0
  908. package/scripts/aosp/seccomp-shim/sigsys-handler-riscv64.c +217 -0
  909. package/scripts/aosp/smoke-cuttlefish.mjs +34 -4
  910. package/scripts/aosp/stage-default-models.mjs +18 -18
  911. package/scripts/aosp/variant-config-schema.ts +2 -2
  912. package/scripts/assert-required-bundled-packages.test.ts +534 -0
  913. package/scripts/audit-apple-store-sandbox.mjs +146 -0
  914. package/scripts/audit-live-test-surface.mjs +5 -2
  915. package/scripts/build-capacitor-app.mjs +21 -0
  916. package/scripts/build-flatpak.mjs +5 -5
  917. package/scripts/build-helpers/arm64-simd.mjs +72 -0
  918. package/scripts/build-helpers/omnivoice-merged.mjs +87 -0
  919. package/scripts/build-helpers/verify-fused-symbols.mjs +567 -0
  920. package/scripts/build-image.sh +1 -1
  921. package/scripts/build-llama-cpp-mtp.mjs +487 -0
  922. package/scripts/build-native-plugins.mjs +230 -18
  923. package/scripts/build-patched-electrobun-cli.mjs +68 -10
  924. package/scripts/build-win.mjs +1 -1
  925. package/scripts/bun-riscv64/Dockerfile +418 -0
  926. package/scripts/bun-riscv64/README.md +316 -0
  927. package/scripts/bun-riscv64/build.sh +469 -0
  928. package/scripts/bun-riscv64/bun-patches/0001-config-add-riscv64-arch.patch +74 -0
  929. package/scripts/bun-riscv64/bun-patches/0002-flags-add-riscv64-march-mabi.patch +16 -0
  930. package/scripts/bun-riscv64/bun-patches/0003-zig-add-riscv64-target-triple-and-cpu.patch +26 -0
  931. package/scripts/bun-riscv64/bun-patches/0004-webkit-force-local-mode-on-riscv64.patch +33 -0
  932. package/scripts/bun-riscv64/bun-patches/0005-tinycc-disable-on-riscv64.patch +16 -0
  933. package/scripts/bun-riscv64/bun-patches/0006-build-add-riscv64-cli-validation.patch +15 -0
  934. package/scripts/bun-riscv64/bun-patches/0007-deps-per-dep-riscv64-checks.patch +24 -0
  935. package/scripts/bun-riscv64/bun-patches/0008-source-stabilize-riscv64-musl-build.patch +226 -0
  936. package/scripts/bun-riscv64/bun-patches/0009-disable-wasm-streaming-hooks-for-c-loop.patch +162 -0
  937. package/scripts/bun-riscv64/bun-patches/0010-disable-inspector-profiler-for-riscv64-c-loop.patch +80 -0
  938. package/scripts/bun-riscv64/bun-patches/0011-process-arch-add-riscv64.patch +23 -0
  939. package/scripts/bun-riscv64/bun-patches/0012-cpu-features-add-riscv64-fallback.patch +13 -0
  940. package/scripts/bun-riscv64/bun-patches/0013-disable-console-inspector-hooks-for-riscv64-c-loop.patch +43 -0
  941. package/scripts/bun-riscv64/bun-patches/0014-disable-custom-inspector-dispatchers-on-riscv64.patch +127 -0
  942. package/scripts/bun-riscv64/bun-patches/0015-disable-jsc-profiler-builtins-on-riscv64.patch +75 -0
  943. package/scripts/bun-riscv64/bun-patches/0016-node-vm-disable-jit-cached-data-on-riscv64-c-loop.patch +96 -0
  944. package/scripts/bun-riscv64/bun-patches/0017-disable-performance-domjit-signature-on-riscv64-c-loop.patch +34 -0
  945. package/scripts/bun-riscv64/bun-patches/0018-fix-serialized-script-identifier-big-endian-path.patch +19 -0
  946. package/scripts/bun-riscv64/bun-patches/0019-add-wtf-timer-fire-bridge-for-c-loop.patch +24 -0
  947. package/scripts/bun-riscv64/bun-patches/0020-run-riscv64-smoke-test-under-qemu.patch +13 -0
  948. package/scripts/bun-riscv64/bun-patches/0021-fix-riscv64-linux-open-flags.patch +25 -0
  949. package/scripts/bun-riscv64/bun-patches/0022-zlib-riscv64-generic-kernels.patch +25 -0
  950. package/scripts/bun-riscv64/bun-patches/README.md +127 -0
  951. package/scripts/bun-riscv64/bun-version.json +202 -0
  952. package/scripts/bun-riscv64/run-build.sh +162 -0
  953. package/scripts/bun-riscv64/rust-core/0001-riscv64-rust-core-port.patch +868 -0
  954. package/scripts/bun-riscv64/rust-core/0002-second-wave-riscv64-source-gaps.patch +130 -0
  955. package/scripts/bun-riscv64/rust-core/0003-third-wave-riscv64-crash-handler-gaps.patch +78 -0
  956. package/scripts/bun-riscv64/rust-core/0004-rust-target-cpu-riscv64.patch +39 -0
  957. package/scripts/bun-riscv64/rust-core/0005-fifth-wave-riscv64-source-gaps.patch +96 -0
  958. package/scripts/bun-riscv64/rust-core/0006-cpp-wasm-and-inspector-guards-riscv64.patch +91 -0
  959. package/scripts/bun-riscv64/rust-core/0007-bun-alloc-max-align-t-riscv64.patch +36 -0
  960. package/scripts/bun-riscv64/rust-core/0008-workspace-lints-warn-not-deny-riscv64.patch +75 -0
  961. package/scripts/bun-riscv64/rust-core/0009-zigglobalobject-wasm-streaming-guards-riscv64.patch +109 -0
  962. package/scripts/bun-riscv64/rust-core/0010-tcc-externs-stub-on-riscv64.patch +62 -0
  963. package/scripts/bun-riscv64/rust-core/0011-clippy-ptr-cast-lints-warn-riscv64.patch +61 -0
  964. package/scripts/bun-riscv64/rust-core/README.md +80 -0
  965. package/scripts/bun-riscv64/rust-core/webkit-patches/0003-disable-dfg-ftl-on-riscv64.patch +60 -0
  966. package/scripts/bun-riscv64/rust-core/webkit-patches/0004-riscv64-do-not-force-wasm-in-c-loop.patch +31 -0
  967. package/scripts/bun-riscv64/rust-core/webkit-patches/0005-domjit-effect-allow-no-dfg-c-loop.patch +40 -0
  968. package/scripts/bun-riscv64/rust-core/webkit-patches/0006-disable-usewasm-when-webassembly-compiled-out.patch +33 -0
  969. package/scripts/bun-riscv64/rust-core/webkit-patches/0007-restore-dropped-includes-and-llint-fwd-decl.patch +31 -0
  970. package/scripts/bun-riscv64/validate.sh +264 -0
  971. package/scripts/bun-riscv64/webkit-patches/0001-cherry-pick-llint-riscv64.recipe +155 -0
  972. package/scripts/bun-riscv64/webkit-patches/0002-cherry-pick-baseline-jit-riscv64.recipe +40 -0
  973. package/scripts/bun-riscv64/webkit-patches/0003-disable-dfg-ftl-on-riscv64.patch +60 -0
  974. package/scripts/bun-riscv64/webkit-patches/0004-riscv64-do-not-force-wasm-in-c-loop.patch +31 -0
  975. package/scripts/bun-riscv64/webkit-patches/0005-domjit-effect-allow-no-dfg-c-loop.patch +40 -0
  976. package/scripts/bun-riscv64/webkit-patches/0006-disable-usewasm-when-webassembly-compiled-out.patch +33 -0
  977. package/scripts/bun-riscv64/webkit-patches/0007-restore-dropped-includes-and-llint-fwd-decl.patch +72 -0
  978. package/scripts/bun-riscv64/webkit-patches/README.md +146 -0
  979. package/scripts/check-homepage-public-readiness.mjs +353 -0
  980. package/scripts/check-homepage-release-data.mjs +110 -0
  981. package/scripts/check-i18n.mjs +2 -1
  982. package/scripts/check-real-local-chat.ts +147 -0
  983. package/scripts/check-real-local-provisioning.ts +104 -0
  984. package/scripts/check-real-local-reset.ts +249 -0
  985. package/scripts/check-sms-gateway-completion-audit.mjs +428 -0
  986. package/scripts/check-sms-gateway-readiness.mjs +266 -0
  987. package/scripts/clean-repo.mjs +5 -5
  988. package/scripts/codesign-mas.mjs +222 -16
  989. package/scripts/collect-docker-runtime-deps.mjs +229 -0
  990. package/scripts/continue-sms-gateway-work.mjs +121 -0
  991. package/scripts/copy-runtime-node-modules.ts +903 -195
  992. package/scripts/deploy-cloud-api-production-gateway.mjs +52 -0
  993. package/scripts/desktop-build.mjs +655 -101
  994. package/scripts/dev-platform.mjs +346 -102
  995. package/scripts/dev-startup-smoke.mjs +248 -0
  996. package/scripts/dev-ui.mjs +418 -176
  997. package/scripts/disable-local-eliza-workspace.mjs +35 -0
  998. package/scripts/docker-ci-smoke.sh +298 -96
  999. package/scripts/docker-entrypoint.sh +62 -1
  1000. package/scripts/docker-entrypoint.test.ts +283 -0
  1001. package/scripts/ensure-avatars.mjs +2 -2
  1002. package/scripts/ensure-electrobun-core.mjs +1 -1
  1003. package/scripts/ensure-generated-core-proto-js.mjs +1 -1
  1004. package/scripts/ensure-type-package-aliases.mjs +62 -5
  1005. package/scripts/ensure-vision-deps.mjs +20 -1
  1006. package/scripts/entry.ts +1 -1
  1007. package/scripts/ffi-stub/Makefile +64 -0
  1008. package/scripts/ffi-stub/README.md +391 -0
  1009. package/scripts/ffi-stub/asr-ffi-smoke.ts +139 -0
  1010. package/scripts/ffi-stub/ffi-stub.c +539 -0
  1011. package/scripts/ffi-stub/ffi.h +538 -0
  1012. package/scripts/ffi-stub/libelizainference_stub.so +0 -0
  1013. package/scripts/ffi-stub/tts-stream-ffi-smoke.ts +349 -0
  1014. package/scripts/generate-first-run-voicelines.mjs +194 -0
  1015. package/scripts/generate-plugin-index.js +4 -3
  1016. package/scripts/generate-static-asset-manifest.mjs +1 -1
  1017. package/scripts/i18n-dynamic-keys.json +5 -5
  1018. package/scripts/init-submodules.mjs +2 -2
  1019. package/scripts/install-android-sms-gateway.md +177 -0
  1020. package/scripts/install-android-sms-gateway.mjs +1088 -0
  1021. package/scripts/ios-xcframework/README.md +74 -72
  1022. package/scripts/ios-xcframework/build-xcframework.mjs +204 -43
  1023. package/scripts/ios-xcframework/run-physical-device-smoke.mjs +1943 -0
  1024. package/scripts/ios-xcframework/runtime-symbol-shim.c +450 -0
  1025. package/scripts/kernel-patches/cpu-polar-kernels.mjs +441 -0
  1026. package/scripts/kernel-patches/cpu-simd-kernels.mjs +253 -0
  1027. package/scripts/kernel-patches/cpu-thread-parallelism.mjs +368 -0
  1028. package/scripts/kernel-patches/cuda-kernels.mjs +117 -0
  1029. package/scripts/kernel-patches/metal-kernels.mjs +1698 -109
  1030. package/scripts/kernel-patches/server-omnivoice-route.mjs +718 -0
  1031. package/scripts/kernel-patches/server-structured-output.mjs +279 -0
  1032. package/scripts/kernel-patches/vulkan-dispatch-log.mjs +166 -0
  1033. package/scripts/kernel-patches/vulkan-dispatch-log.test.mjs +50 -0
  1034. package/scripts/kernel-patches/vulkan-dispatch-patches/01-vulkan-shaders-gen.patch +30 -16
  1035. package/scripts/kernel-patches/vulkan-dispatch-patches/02-ggml-vulkan-pipelines.patch +75 -30
  1036. package/scripts/kernel-patches/vulkan-kernels.mjs +800 -49
  1037. package/scripts/lib/agent-source-watcher.mjs +174 -0
  1038. package/scripts/lib/agent-source-watcher.test.mjs +184 -0
  1039. package/scripts/lib/api-supervisor.mjs +78 -9
  1040. package/scripts/lib/api-supervisor.test.mjs +121 -0
  1041. package/scripts/lib/app-dir.mjs +2 -16
  1042. package/scripts/lib/apple-entitlement-audit.mjs +655 -0
  1043. package/scripts/lib/apple-entitlement-audit.test.mjs +144 -0
  1044. package/scripts/lib/bun-version-guard.mjs +13 -13
  1045. package/scripts/lib/capacitor-plugin-build-needed.mjs +4 -3
  1046. package/scripts/lib/capacitor-plugin-names.mjs +30 -14
  1047. package/scripts/lib/desktop-preflight.mjs +9 -5
  1048. package/scripts/lib/desktop-startup-embedding-warmup-policy.mjs +51 -0
  1049. package/scripts/lib/desktop-startup-embedding-warmup-policy.test.mjs +55 -0
  1050. package/scripts/lib/duet-bridge.d.mts +63 -0
  1051. package/scripts/lib/duet-bridge.mjs +193 -0
  1052. package/scripts/lib/node-path-env.mjs +4 -2
  1053. package/scripts/lib/orchestrator-desktop-dev-banner.mjs +12 -3
  1054. package/scripts/lib/patch-bun-exports.mjs +90 -27
  1055. package/scripts/lib/patch-bun-exports.test.mjs +79 -0
  1056. package/scripts/lib/renderer-build-action.mjs +35 -0
  1057. package/scripts/lib/renderer-build-action.test.mjs +70 -0
  1058. package/scripts/lib/stage-android-agent.mjs +748 -99
  1059. package/scripts/lib/sync-eliza-env-aliases.mjs +3 -25
  1060. package/scripts/lib/ui-smoke-stub-decision.mjs +33 -0
  1061. package/scripts/lib/ui-smoke-stub-decision.test.mjs +46 -0
  1062. package/scripts/lib/vite-renderer-dist-stale.mjs +5 -0
  1063. package/scripts/lib/voice-latency-report.mjs +154 -0
  1064. package/scripts/lifeops-prompt-benchmark.ts +21 -12
  1065. package/scripts/link-docker-local-app-packages.mjs +89 -36
  1066. package/scripts/local-stt-bench.ts +192 -0
  1067. package/scripts/maintain-cloud-api-production-gateway.mjs +54 -0
  1068. package/scripts/mas-smoke.mjs +459 -0
  1069. package/scripts/mas-smoke.test.mjs +220 -0
  1070. package/scripts/mobile-auth-simulator-smoke.mjs +0 -1
  1071. package/scripts/normalize-eliza-capture.ts +97 -0
  1072. package/scripts/omnivoice-fuse/prepare.mjs +2543 -23
  1073. package/scripts/pack-upstreams.mjs +65 -5
  1074. package/scripts/package-electrobun-linux.mjs +303 -0
  1075. package/scripts/patch-deps.mjs +5 -3
  1076. package/scripts/patches/llama-mobile-kokoro-tts.patch +480 -0
  1077. package/scripts/playwright-ui-live-stack.ts +194 -49
  1078. package/scripts/playwright-ui-smoke-api-stub.mjs +3501 -109
  1079. package/scripts/pre-review-local.mjs +2 -2
  1080. package/scripts/prepare-ios-cocoapods.sh +41 -3
  1081. package/scripts/release-check.ts +180 -84
  1082. package/scripts/release-workflow-drift.test.ts +57 -0
  1083. package/scripts/relink-workspace-packages-to-dist.mjs +21 -4
  1084. package/scripts/rt.mjs +16 -1
  1085. package/scripts/run-biome-check.mjs +1 -1
  1086. package/scripts/run-coding-agent-e2e.mjs +3 -3
  1087. package/scripts/run-eliza-app-core-script.mjs +34 -0
  1088. package/scripts/run-local-plugin-live-smoke.mjs +71 -2
  1089. package/scripts/run-mobile-build-android-app-actions.test.mjs +426 -0
  1090. package/scripts/run-mobile-build.mjs +4757 -607
  1091. package/scripts/run-node-runtime.mjs +184 -7
  1092. package/scripts/run-node-runtime.test.mjs +167 -0
  1093. package/scripts/run-node-tsx.mjs +80 -33
  1094. package/scripts/run-node.mjs +41 -1
  1095. package/scripts/run-production-build.mjs +34 -27
  1096. package/scripts/run-release-check.mjs +19 -0
  1097. package/scripts/run-release-contract-suite.mjs +107 -14
  1098. package/scripts/run-ui-smoke-playwright-suite.mjs +0 -2
  1099. package/scripts/runtime-package-manifest.ts +21 -3
  1100. package/scripts/setup-upstreams.mjs +42 -1
  1101. package/scripts/sms-gateway-status.mjs +194 -0
  1102. package/scripts/stage-android-agent.test.mjs +97 -0
  1103. package/scripts/stage-elizavoice-lib.mjs +203 -0
  1104. package/scripts/startup-integration-script-drift.test.ts +82 -4
  1105. package/scripts/streaming-pipeline-bench.ts +543 -0
  1106. package/scripts/sync-homepage-porkbun-dns.mjs +262 -0
  1107. package/scripts/test-sms-gateway-software.mjs +100 -0
  1108. package/scripts/type-audit.mjs +1 -1
  1109. package/scripts/validate-bluebubbles-outbound.mjs +293 -0
  1110. package/scripts/validate-cdn-assets.mjs +15 -7
  1111. package/scripts/validate-regression-matrix.mjs +109 -8
  1112. package/scripts/verify-android-sms-gateway-e2e.mjs +362 -0
  1113. package/scripts/verify-bluebubbles-gateway-e2e.mjs +191 -0
  1114. package/scripts/verify-bluebubbles-inbound-readiness.mjs +88 -0
  1115. package/scripts/verify-cloud-api-production-deploy.mjs +87 -0
  1116. package/scripts/verify-cloud-sms-onboarding-flow.mjs +336 -0
  1117. package/scripts/voice/freeze-voice.mjs +521 -0
  1118. package/scripts/voice-attribution-smoke.ts +538 -0
  1119. package/scripts/voice-create-profile.mjs +379 -0
  1120. package/scripts/voice-duet.mjs +1355 -0
  1121. package/scripts/voice-e2e-hardware.ts +871 -0
  1122. package/scripts/voice-interactive.mjs +1750 -0
  1123. package/scripts/voice-latency-report.mjs +96 -0
  1124. package/scripts/voice-latency-report.test.ts +176 -0
  1125. package/scripts/voice-preset/build-default-voice-preset.mjs +249 -0
  1126. package/scripts/voice-preset/build-onboarding-voice.mjs +281 -0
  1127. package/scripts/watch-sms-gateway-readiness.mjs +303 -0
  1128. package/scripts/write-homepage-release-data.mjs +458 -26
  1129. package/security/agent-vault-id.d.ts +1 -1
  1130. package/security/agent-vault-id.js +1 -1
  1131. package/security/hydrate-wallet-keys-from-platform-store.d.ts.map +1 -1
  1132. package/security/hydrate-wallet-keys-from-platform-store.js +23 -14
  1133. package/security/platform-secure-store-node.d.ts +2 -2
  1134. package/security/platform-secure-store-node.js +3 -3
  1135. package/security/wallet-os-store-actions.d.ts +0 -9
  1136. package/security/wallet-os-store-actions.d.ts.map +1 -1
  1137. package/security/wallet-os-store-actions.js +3 -10
  1138. package/services/account-pool.d.ts +23 -14
  1139. package/services/account-pool.d.ts.map +1 -1
  1140. package/services/account-pool.js +86 -24
  1141. package/services/account-usage.d.ts.map +1 -1
  1142. package/services/account-usage.js +2 -5
  1143. package/services/ambient-audio/consent.d.ts +9 -0
  1144. package/services/ambient-audio/consent.d.ts.map +1 -0
  1145. package/services/ambient-audio/consent.js +28 -0
  1146. package/services/ambient-audio/index.d.ts +7 -0
  1147. package/services/ambient-audio/index.d.ts.map +1 -0
  1148. package/services/ambient-audio/index.js +4 -0
  1149. package/services/ambient-audio/replay-buffer.d.ts +14 -0
  1150. package/services/ambient-audio/replay-buffer.d.ts.map +1 -0
  1151. package/services/ambient-audio/replay-buffer.js +66 -0
  1152. package/services/ambient-audio/response-gate.d.ts +3 -0
  1153. package/services/ambient-audio/response-gate.d.ts.map +1 -0
  1154. package/services/ambient-audio/response-gate.js +33 -0
  1155. package/services/ambient-audio/service.d.ts +22 -0
  1156. package/services/ambient-audio/service.d.ts.map +1 -0
  1157. package/services/ambient-audio/service.js +47 -0
  1158. package/services/ambient-audio/types.d.ts +42 -0
  1159. package/services/ambient-audio/types.d.ts.map +1 -0
  1160. package/services/app-updates/update-policy.d.ts +64 -0
  1161. package/services/app-updates/update-policy.d.ts.map +1 -0
  1162. package/services/app-updates/update-policy.js +228 -0
  1163. package/services/auth-store.d.ts +37 -1
  1164. package/services/auth-store.d.ts.map +1 -1
  1165. package/services/auth-store.js +59 -26
  1166. package/services/cloud-jwks-store.d.ts +3 -3
  1167. package/services/cloud-jwks-store.d.ts.map +1 -1
  1168. package/services/cloud-jwks-store.js +5 -8
  1169. package/services/coding-account-bridge.d.ts +71 -0
  1170. package/services/coding-account-bridge.d.ts.map +1 -0
  1171. package/services/coding-account-bridge.js +267 -0
  1172. package/services/connector-target-catalog.d.ts +10 -3
  1173. package/services/connector-target-catalog.d.ts.map +1 -1
  1174. package/services/connector-target-catalog.js +7 -4
  1175. package/services/credential-tunnel-service.d.ts +66 -0
  1176. package/services/credential-tunnel-service.d.ts.map +1 -0
  1177. package/services/credential-tunnel-service.js +227 -0
  1178. package/services/github-credentials.d.ts +1 -1
  1179. package/services/github-credentials.js +1 -1
  1180. package/services/inference-abort.d.ts +47 -0
  1181. package/services/inference-abort.d.ts.map +1 -0
  1182. package/services/inference-abort.js +76 -0
  1183. package/services/persistence.d.ts +2 -3
  1184. package/services/persistence.d.ts.map +1 -1
  1185. package/services/persistence.js +2 -3
  1186. package/services/phrase-chunked-tts.d.ts +136 -0
  1187. package/services/phrase-chunked-tts.d.ts.map +1 -0
  1188. package/services/phrase-chunked-tts.js +208 -0
  1189. package/services/sandbox-registry.d.ts +78 -0
  1190. package/services/sandbox-registry.d.ts.map +1 -0
  1191. package/services/sandbox-registry.js +323 -0
  1192. package/services/secrets-manager-installer.d.ts +8 -1
  1193. package/services/secrets-manager-installer.d.ts.map +1 -1
  1194. package/services/secrets-manager-installer.js +27 -2
  1195. package/services/sensitive-requests/cloud-link-adapter.d.ts +15 -0
  1196. package/services/sensitive-requests/cloud-link-adapter.d.ts.map +1 -0
  1197. package/services/sensitive-requests/cloud-link-adapter.js +73 -0
  1198. package/services/sensitive-requests/index.d.ts +27 -0
  1199. package/services/sensitive-requests/index.d.ts.map +1 -0
  1200. package/services/sensitive-requests/index.js +51 -0
  1201. package/services/sensitive-requests/instruct-dm-only-adapter.d.ts +14 -0
  1202. package/services/sensitive-requests/instruct-dm-only-adapter.d.ts.map +1 -0
  1203. package/services/sensitive-requests/instruct-dm-only-adapter.js +22 -0
  1204. package/services/sensitive-requests/owner-app-inline-adapter.d.ts +3 -0
  1205. package/services/sensitive-requests/owner-app-inline-adapter.d.ts.map +1 -0
  1206. package/services/sensitive-requests/owner-app-inline-adapter.js +146 -0
  1207. package/services/sensitive-requests/owner-app-oauth-adapter.d.ts +3 -0
  1208. package/services/sensitive-requests/owner-app-oauth-adapter.d.ts.map +1 -0
  1209. package/services/sensitive-requests/owner-app-oauth-adapter.js +156 -0
  1210. package/services/sensitive-requests/public-link-adapter.d.ts +14 -0
  1211. package/services/sensitive-requests/public-link-adapter.d.ts.map +1 -0
  1212. package/services/sensitive-requests/public-link-adapter.js +86 -0
  1213. package/services/sensitive-requests/tunnel-link-adapter.d.ts +17 -0
  1214. package/services/sensitive-requests/tunnel-link-adapter.d.ts.map +1 -0
  1215. package/services/sensitive-requests/tunnel-link-adapter.js +38 -0
  1216. package/services/steward-credentials.d.ts +1 -1
  1217. package/services/steward-credentials.d.ts.map +1 -1
  1218. package/services/steward-credentials.js +10 -6
  1219. package/services/steward-sidecar/health-check.d.ts.map +1 -1
  1220. package/services/steward-sidecar/health-check.js +4 -3
  1221. package/services/steward-sidecar/process-management.d.ts +1 -1
  1222. package/services/steward-sidecar/process-management.d.ts.map +1 -1
  1223. package/services/steward-sidecar/process-management.js +9 -3
  1224. package/services/steward-sidecar/types.d.ts +1 -1
  1225. package/services/steward-sidecar/types.d.ts.map +1 -1
  1226. package/services/steward-sidecar/wallet-setup.d.ts.map +1 -1
  1227. package/services/steward-sidecar/wallet-setup.js +8 -7
  1228. package/services/steward-sidecar.d.ts +2 -2
  1229. package/services/steward-sidecar.d.ts.map +1 -1
  1230. package/services/steward-sidecar.js +27 -19
  1231. package/services/task-host-capabilities.d.ts +60 -0
  1232. package/services/task-host-capabilities.d.ts.map +1 -0
  1233. package/services/task-host-capabilities.js +122 -0
  1234. package/services/tool-call-cache/index.d.ts +2 -2
  1235. package/services/tool-call-cache/index.d.ts.map +1 -1
  1236. package/services/tool-call-cache/index.js +1 -1
  1237. package/services/trigger-event-bridge.js +1 -1
  1238. package/services/tunnel-to-mobile/index.d.ts +2 -0
  1239. package/services/tunnel-to-mobile/index.d.ts.map +1 -0
  1240. package/services/tunnel-to-mobile/index.js +1 -0
  1241. package/services/tunnel-to-mobile/tunnel-to-mobile-client.d.ts +105 -0
  1242. package/services/tunnel-to-mobile/tunnel-to-mobile-client.d.ts.map +1 -0
  1243. package/services/tunnel-to-mobile/tunnel-to-mobile-client.js +190 -0
  1244. package/services/vault-bootstrap.d.ts.map +1 -1
  1245. package/services/vault-bootstrap.js +48 -21
  1246. package/services/vault-mirror.d.ts +1 -1
  1247. package/services/vault-mirror.d.ts.map +1 -1
  1248. package/services/vault-mirror.js +29 -6
  1249. package/services/voice-profiles/diarization-pipeline.d.ts +6 -0
  1250. package/services/voice-profiles/diarization-pipeline.d.ts.map +1 -0
  1251. package/services/voice-profiles/diarization-pipeline.js +20 -0
  1252. package/services/voice-profiles/index.d.ts +12 -0
  1253. package/services/voice-profiles/index.d.ts.map +1 -0
  1254. package/services/voice-profiles/index.js +5 -0
  1255. package/services/voice-profiles/nickname-evaluator.d.ts +14 -0
  1256. package/services/voice-profiles/nickname-evaluator.d.ts.map +1 -0
  1257. package/services/voice-profiles/nickname-evaluator.js +46 -0
  1258. package/services/voice-profiles/owner-confidence.d.ts +10 -0
  1259. package/services/voice-profiles/owner-confidence.d.ts.map +1 -0
  1260. package/services/voice-profiles/owner-confidence.js +38 -0
  1261. package/services/voice-profiles/private-challenge.d.ts +20 -0
  1262. package/services/voice-profiles/private-challenge.d.ts.map +1 -0
  1263. package/services/voice-profiles/private-challenge.js +44 -0
  1264. package/services/voice-profiles/store.d.ts +21 -0
  1265. package/services/voice-profiles/store.d.ts.map +1 -0
  1266. package/services/voice-profiles/store.js +50 -0
  1267. package/services/voice-profiles/types.d.ts +38 -0
  1268. package/services/voice-profiles/types.d.ts.map +1 -0
  1269. package/services/voice-profiles/types.js +1 -0
  1270. package/styles/electrobun-mac-window-drag.css +4 -4
  1271. package/test/helpers/__tests__/live-agent-test.smoke.test.ts +43 -70
  1272. package/test/helpers/browser-mocks.ts +2 -2
  1273. package/test/helpers/conditional-tests.ts +2 -2
  1274. package/test/helpers/i18n.ts +1 -1
  1275. package/test/helpers/live-agent-test.ts +537 -551
  1276. package/test/helpers/live-provider.test.ts +4 -4
  1277. package/test/helpers/live-provider.ts +41 -7
  1278. package/test/helpers/live-runtime-server.ts +4 -4
  1279. package/test/helpers/pglite-runtime.ts +1 -1
  1280. package/test/helpers/real-runtime.ts +54 -15
  1281. package/test/helpers/trajectory-harness.ts +11 -7
  1282. package/test/scripts/start-eliza-live.ts +9 -0
  1283. package/test/scripts/test-parallel.mjs +1 -1
  1284. package/test/scripts/test-root-unit.mjs +6 -7
  1285. package/ui-compat.d.ts +13 -2
  1286. package/ui-compat.d.ts.map +1 -1
  1287. package/ui-compat.js +19 -3
  1288. package/api/auth-pairing-compat-routes.d.ts +0 -17
  1289. package/api/auth-pairing-compat-routes.d.ts.map +0 -1
  1290. package/api/auth-pairing-compat-routes.js +0 -301
  1291. package/api/local-inference-compat-routes.d.ts +0 -16
  1292. package/api/local-inference-compat-routes.d.ts.map +0 -1
  1293. package/api/local-inference-compat-routes.js +0 -617
  1294. package/api/onboarding-compat-routes.d.ts +0 -4
  1295. package/api/onboarding-compat-routes.d.ts.map +0 -1
  1296. package/api/onboarding-compat-routes.js +0 -207
  1297. package/api/plugins-compat-routes.d.ts +0 -103
  1298. package/api/plugins-compat-routes.d.ts.map +0 -1
  1299. package/api/plugins-compat-routes.js +0 -1181
  1300. package/api/server-onboarding-compat.d.ts +0 -31
  1301. package/api/server-onboarding-compat.d.ts.map +0 -1
  1302. package/api/server-onboarding-compat.js +0 -283
  1303. package/benchmark/cua-routes.d.ts +0 -10
  1304. package/benchmark/cua-routes.d.ts.map +0 -1
  1305. package/benchmark/cua-routes.js +0 -179
  1306. package/benchmark/mock-plugin-base.d.ts +0 -9
  1307. package/benchmark/mock-plugin-base.d.ts.map +0 -1
  1308. package/benchmark/mock-plugin-base.js +0 -325
  1309. package/cli/parse-duration.d.ts +0 -5
  1310. package/cli/parse-duration.d.ts.map +0 -1
  1311. package/cli/parse-duration.js +0 -27
  1312. package/patches/llama-cpp-capacitor@0.1.5.patch +0 -2387
  1313. package/platform/agent-browser-stub.d.ts +0 -27
  1314. package/platform/agent-browser-stub.d.ts.map +0 -1
  1315. package/platform/agent-browser-stub.js +0 -16
  1316. package/platforms/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java +0 -26
  1317. package/platforms/android/app/src/main/res/drawable/ic_launcher_background.xml +0 -170
  1318. package/platforms/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +0 -34
  1319. package/platforms/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java +0 -18
  1320. package/platforms/electrobun/assets/appIcon.iconset/icon_512x512@2x.png +0 -0
  1321. package/platforms/electrobun/assets/appIcon.png +0 -0
  1322. package/platforms/electrobun/scripts/build-whisper-universal.sh +0 -137
  1323. package/platforms/electrobun/scripts/build-whisper.sh +0 -95
  1324. package/platforms/electrobun/src/libMacWindowEffects.dylib +0 -0
  1325. package/platforms/electrobun/src/native/whisper.ts +0 -280
  1326. package/platforms/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png +0 -0
  1327. package/platforms/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png +0 -0
  1328. package/platforms/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png +0 -0
  1329. package/registry/generate-apps.d.ts +0 -2
  1330. package/registry/generate-apps.d.ts.map +0 -1
  1331. package/registry/generate-apps.js +0 -338
  1332. package/registry/generate.d.ts +0 -2
  1333. package/registry/generate.d.ts.map +0 -1
  1334. package/registry/generate.js +0 -506
  1335. package/runtime/embedding-manager-support.d.ts +0 -77
  1336. package/runtime/embedding-manager-support.d.ts.map +0 -1
  1337. package/runtime/embedding-manager-support.js +0 -309
  1338. package/runtime/embedding-presets.d.ts +0 -5
  1339. package/runtime/embedding-presets.d.ts.map +0 -1
  1340. package/runtime/embedding-presets.js +0 -47
  1341. package/runtime/embedding-warmup-policy.d.ts +0 -13
  1342. package/runtime/embedding-warmup-policy.d.ts.map +0 -1
  1343. package/runtime/embedding-warmup-policy.js +0 -33
  1344. package/runtime/ensure-local-inference-handler.d.ts +0 -25
  1345. package/runtime/ensure-local-inference-handler.d.ts.map +0 -1
  1346. package/runtime/ensure-local-inference-handler.js +0 -389
  1347. package/runtime/mobile-local-inference-gate.d.ts +0 -21
  1348. package/runtime/mobile-local-inference-gate.d.ts.map +0 -1
  1349. package/runtime/mobile-local-inference-gate.js +0 -24
  1350. package/scripts/aosp/avd-test.mjs +0 -403
  1351. package/scripts/aosp/boot-validate.mjs +0 -536
  1352. package/scripts/aosp/build-aosp.mjs +0 -448
  1353. package/scripts/aosp/build-bootanimation.mjs +0 -178
  1354. package/scripts/aosp/capture-screens.mjs +0 -325
  1355. package/scripts/aosp/e2e-validate.mjs +0 -225
  1356. package/scripts/aosp/lint-init-rc.mjs +0 -258
  1357. package/scripts/aosp/llama-shim/eliza_llama_shim.c +0 -276
  1358. package/scripts/aosp/sim.mjs +0 -277
  1359. package/scripts/aosp/sync-to-aosp.mjs +0 -134
  1360. package/scripts/aosp/validate.mjs +0 -1273
  1361. package/scripts/build-llama-cpp-dflash.mjs +0 -1866
  1362. package/scripts/generate-onboarding-voicelines.mjs +0 -194
  1363. package/scripts/generated/static-asset-manifest.json +0 -4
  1364. package/scripts/normalize-parallax-capture.ts +0 -97
  1365. package/scripts/omnivoice-fuse/Makefile +0 -44
  1366. package/scripts/omnivoice-fuse/README.md +0 -266
  1367. package/scripts/omnivoice-fuse/cmake-graft.mjs +0 -180
  1368. package/scripts/omnivoice-fuse/ffi-stub.c +0 -222
  1369. package/scripts/omnivoice-fuse/ffi.h +0 -158
  1370. package/scripts/omnivoice-fuse/libelizainference_stub.dylib +0 -0
  1371. package/scripts/omnivoice-fuse/verify-symbols.mjs +0 -138
  1372. package/security/cloud-secret-store.d.ts +0 -34
  1373. package/security/cloud-secret-store.d.ts.map +0 -1
  1374. package/security/cloud-secret-store.js +0 -65
  1375. package/security/export-guard.d.ts +0 -34
  1376. package/security/export-guard.d.ts.map +0 -1
  1377. package/security/export-guard.js +0 -127
  1378. package/services/local-inference/__stress__/cache-stress-helpers.d.ts +0 -76
  1379. package/services/local-inference/__stress__/cache-stress-helpers.d.ts.map +0 -1
  1380. package/services/local-inference/__stress__/cache-stress-helpers.js +0 -238
  1381. package/services/local-inference/active-model.d.ts +0 -180
  1382. package/services/local-inference/active-model.d.ts.map +0 -1
  1383. package/services/local-inference/active-model.js +0 -362
  1384. package/services/local-inference/assignments.d.ts +0 -58
  1385. package/services/local-inference/assignments.d.ts.map +0 -1
  1386. package/services/local-inference/assignments.js +0 -179
  1387. package/services/local-inference/backend.d.ts +0 -200
  1388. package/services/local-inference/backend.d.ts.map +0 -1
  1389. package/services/local-inference/backend.js +0 -242
  1390. package/services/local-inference/bundled-models.d.ts +0 -34
  1391. package/services/local-inference/bundled-models.d.ts.map +0 -1
  1392. package/services/local-inference/bundled-models.js +0 -104
  1393. package/services/local-inference/cache-bridge.d.ts +0 -184
  1394. package/services/local-inference/cache-bridge.d.ts.map +0 -1
  1395. package/services/local-inference/cache-bridge.js +0 -333
  1396. package/services/local-inference/catalog.d.ts +0 -57
  1397. package/services/local-inference/catalog.d.ts.map +0 -1
  1398. package/services/local-inference/catalog.js +0 -262
  1399. package/services/local-inference/conversation-registry.d.ts +0 -122
  1400. package/services/local-inference/conversation-registry.d.ts.map +0 -1
  1401. package/services/local-inference/conversation-registry.js +0 -182
  1402. package/services/local-inference/device-bridge.d.ts +0 -139
  1403. package/services/local-inference/device-bridge.d.ts.map +0 -1
  1404. package/services/local-inference/device-bridge.js +0 -774
  1405. package/services/local-inference/dflash-doctor.d.ts +0 -27
  1406. package/services/local-inference/dflash-doctor.d.ts.map +0 -1
  1407. package/services/local-inference/dflash-doctor.js +0 -149
  1408. package/services/local-inference/dflash-server.d.ts +0 -248
  1409. package/services/local-inference/dflash-server.d.ts.map +0 -1
  1410. package/services/local-inference/dflash-server.js +0 -1076
  1411. package/services/local-inference/downloader.d.ts +0 -48
  1412. package/services/local-inference/downloader.d.ts.map +0 -1
  1413. package/services/local-inference/downloader.js +0 -688
  1414. package/services/local-inference/engine.d.ts +0 -282
  1415. package/services/local-inference/engine.d.ts.map +0 -1
  1416. package/services/local-inference/engine.js +0 -743
  1417. package/services/local-inference/external-scanner.d.ts +0 -17
  1418. package/services/local-inference/external-scanner.d.ts.map +0 -1
  1419. package/services/local-inference/external-scanner.js +0 -261
  1420. package/services/local-inference/handler-registry.d.ts +0 -72
  1421. package/services/local-inference/handler-registry.d.ts.map +0 -1
  1422. package/services/local-inference/handler-registry.js +0 -159
  1423. package/services/local-inference/hardware.d.ts +0 -26
  1424. package/services/local-inference/hardware.d.ts.map +0 -1
  1425. package/services/local-inference/hardware.js +0 -139
  1426. package/services/local-inference/hf-search.d.ts +0 -19
  1427. package/services/local-inference/hf-search.d.ts.map +0 -1
  1428. package/services/local-inference/hf-search.js +0 -169
  1429. package/services/local-inference/index.d.ts +0 -10
  1430. package/services/local-inference/index.d.ts.map +0 -1
  1431. package/services/local-inference/index.js +0 -7
  1432. package/services/local-inference/llama-server-metrics.d.ts +0 -108
  1433. package/services/local-inference/llama-server-metrics.d.ts.map +0 -1
  1434. package/services/local-inference/llama-server-metrics.js +0 -175
  1435. package/services/local-inference/manifest/index.d.ts +0 -4
  1436. package/services/local-inference/manifest/index.d.ts.map +0 -1
  1437. package/services/local-inference/manifest/index.js +0 -5
  1438. package/services/local-inference/manifest/schema.d.ts +0 -419
  1439. package/services/local-inference/manifest/schema.d.ts.map +0 -1
  1440. package/services/local-inference/manifest/schema.js +0 -227
  1441. package/services/local-inference/manifest/types.d.ts +0 -23
  1442. package/services/local-inference/manifest/types.d.ts.map +0 -1
  1443. package/services/local-inference/manifest/types.js +0 -5
  1444. package/services/local-inference/manifest/validator.d.ts +0 -43
  1445. package/services/local-inference/manifest/validator.d.ts.map +0 -1
  1446. package/services/local-inference/manifest/validator.js +0 -180
  1447. package/services/local-inference/paths.d.ts +0 -8
  1448. package/services/local-inference/paths.d.ts.map +0 -1
  1449. package/services/local-inference/paths.js +0 -7
  1450. package/services/local-inference/providers.d.ts +0 -61
  1451. package/services/local-inference/providers.d.ts.map +0 -1
  1452. package/services/local-inference/providers.js +0 -334
  1453. package/services/local-inference/ram-budget.d.ts +0 -57
  1454. package/services/local-inference/ram-budget.d.ts.map +0 -1
  1455. package/services/local-inference/ram-budget.js +0 -107
  1456. package/services/local-inference/readiness.d.ts +0 -9
  1457. package/services/local-inference/readiness.d.ts.map +0 -1
  1458. package/services/local-inference/readiness.js +0 -153
  1459. package/services/local-inference/recommendation.d.ts +0 -62
  1460. package/services/local-inference/recommendation.d.ts.map +0 -1
  1461. package/services/local-inference/recommendation.js +0 -309
  1462. package/services/local-inference/registry.d.ts +0 -35
  1463. package/services/local-inference/registry.d.ts.map +0 -1
  1464. package/services/local-inference/registry.js +0 -117
  1465. package/services/local-inference/router-handler.d.ts +0 -51
  1466. package/services/local-inference/router-handler.d.ts.map +0 -1
  1467. package/services/local-inference/router-handler.js +0 -165
  1468. package/services/local-inference/routing-policy.d.ts +0 -55
  1469. package/services/local-inference/routing-policy.d.ts.map +0 -1
  1470. package/services/local-inference/routing-policy.js +0 -195
  1471. package/services/local-inference/routing-preferences.d.ts +0 -8
  1472. package/services/local-inference/routing-preferences.d.ts.map +0 -1
  1473. package/services/local-inference/routing-preferences.js +0 -7
  1474. package/services/local-inference/service.d.ts +0 -88
  1475. package/services/local-inference/service.d.ts.map +0 -1
  1476. package/services/local-inference/service.js +0 -210
  1477. package/services/local-inference/session-pool.d.ts +0 -72
  1478. package/services/local-inference/session-pool.d.ts.map +0 -1
  1479. package/services/local-inference/session-pool.js +0 -125
  1480. package/services/local-inference/types.d.ts +0 -309
  1481. package/services/local-inference/types.d.ts.map +0 -1
  1482. package/services/local-inference/types.js +0 -23
  1483. package/services/local-inference/verify.d.ts +0 -8
  1484. package/services/local-inference/verify.d.ts.map +0 -1
  1485. package/services/local-inference/verify.js +0 -7
  1486. package/services/local-inference/voice/barge-in.d.ts +0 -15
  1487. package/services/local-inference/voice/barge-in.d.ts.map +0 -1
  1488. package/services/local-inference/voice/barge-in.js +0 -20
  1489. package/services/local-inference/voice/engine-bridge.d.ts +0 -256
  1490. package/services/local-inference/voice/engine-bridge.d.ts.map +0 -1
  1491. package/services/local-inference/voice/engine-bridge.js +0 -398
  1492. package/services/local-inference/voice/ffi-bindings.d.ts +0 -114
  1493. package/services/local-inference/voice/ffi-bindings.d.ts.map +0 -1
  1494. package/services/local-inference/voice/ffi-bindings.js +0 -281
  1495. package/services/local-inference/voice/index.d.ts +0 -51
  1496. package/services/local-inference/voice/index.d.ts.map +0 -1
  1497. package/services/local-inference/voice/index.js +0 -50
  1498. package/services/local-inference/voice/lifecycle.d.ts +0 -135
  1499. package/services/local-inference/voice/lifecycle.d.ts.map +0 -1
  1500. package/services/local-inference/voice/lifecycle.js +0 -189
  1501. package/services/local-inference/voice/phoneme-tokenizer.d.ts +0 -58
  1502. package/services/local-inference/voice/phoneme-tokenizer.d.ts.map +0 -1
  1503. package/services/local-inference/voice/phoneme-tokenizer.js +0 -53
  1504. package/services/local-inference/voice/phrase-cache.d.ts +0 -24
  1505. package/services/local-inference/voice/phrase-cache.d.ts.map +0 -1
  1506. package/services/local-inference/voice/phrase-cache.js +0 -32
  1507. package/services/local-inference/voice/phrase-chunker.d.ts +0 -20
  1508. package/services/local-inference/voice/phrase-chunker.d.ts.map +0 -1
  1509. package/services/local-inference/voice/phrase-chunker.js +0 -85
  1510. package/services/local-inference/voice/ring-buffer.d.ts +0 -40
  1511. package/services/local-inference/voice/ring-buffer.d.ts.map +0 -1
  1512. package/services/local-inference/voice/ring-buffer.js +0 -85
  1513. package/services/local-inference/voice/rollback-queue.d.ts +0 -24
  1514. package/services/local-inference/voice/rollback-queue.d.ts.map +0 -1
  1515. package/services/local-inference/voice/rollback-queue.js +0 -49
  1516. package/services/local-inference/voice/scheduler.d.ts +0 -47
  1517. package/services/local-inference/voice/scheduler.d.ts.map +0 -1
  1518. package/services/local-inference/voice/scheduler.js +0 -123
  1519. package/services/local-inference/voice/shared-resources.d.ts +0 -119
  1520. package/services/local-inference/voice/shared-resources.d.ts.map +0 -1
  1521. package/services/local-inference/voice/shared-resources.js +0 -83
  1522. package/services/local-inference/voice/speaker-preset-cache.d.ts +0 -28
  1523. package/services/local-inference/voice/speaker-preset-cache.d.ts.map +0 -1
  1524. package/services/local-inference/voice/speaker-preset-cache.js +0 -44
  1525. package/services/local-inference/voice/types.d.ts +0 -80
  1526. package/services/local-inference/voice/types.d.ts.map +0 -1
  1527. package/services/local-inference/voice/voice-preset-format.d.ts +0 -56
  1528. package/services/local-inference/voice/voice-preset-format.d.ts.map +0 -1
  1529. package/services/local-inference/voice/voice-preset-format.js +0 -184
  1530. package/services/plugin-installer.d.ts +0 -22
  1531. package/services/plugin-installer.d.ts.map +0 -1
  1532. package/services/plugin-installer.js +0 -41
  1533. package/test/scripts/task-agent-live-smoke.ts +0 -1335
  1534. /package/services/{local-inference/voice → ambient-audio}/types.js +0 -0
@@ -13,427 +13,524 @@
13
13
  */
14
14
 
15
15
  import type {
16
- BrowserWorkspaceSnapshot,
17
- BrowserWorkspaceTab,
18
- NavigateBrowserWorkspaceTabRequest,
19
- OpenBrowserWorkspaceTabRequest,
20
- } from "@elizaos/plugin-browser";
16
+ InstalledRemotePluginSnapshot,
17
+ JsonValue,
18
+ RemotePluginListEntry,
19
+ RemotePluginPermissionGrant,
20
+ RemotePluginStoreSnapshot,
21
+ } from "@elizaos/plugin-remote-manifest";
21
22
  import type { RPCSchema } from "electrobun/bun";
23
+ import type {
24
+ DatabaseBackupResult,
25
+ DatabaseResetResult,
26
+ DatabaseSnapshot,
27
+ } from "./database";
28
+ import type { KioskViewEvent } from "./dynamic-views/kiosk-canvas";
29
+ import type {
30
+ DynamicViewCloseParams,
31
+ DynamicViewManifest,
32
+ DynamicViewOpenParams,
33
+ DynamicViewPushParams,
34
+ DynamicViewRegisterParams,
35
+ DynamicViewSession,
36
+ DynamicViewUnregisterParams,
37
+ } from "./dynamic-views/types";
38
+ import type {
39
+ LaunchBugReportBundleInfo,
40
+ LaunchEventsTailParams,
41
+ LaunchEventsTailResult,
42
+ LaunchSnapshot,
43
+ } from "./launch/types";
44
+ import type {
45
+ TraceEvent,
46
+ TraceRecordEventParams,
47
+ TraceSearchParams,
48
+ TraceSession,
49
+ TraceSessionStatus,
50
+ TraceStartSessionParams,
51
+ TraceSummary,
52
+ TraceTailParams,
53
+ TraceTailResult,
54
+ } from "./trace/types";
55
+ import type {
56
+ VoiceComponentSnapshot,
57
+ VoiceInjectTranscriptParams,
58
+ VoiceInterruptParams,
59
+ VoiceLatencySummary,
60
+ VoicePipelineSnapshot,
61
+ VoiceSpeakParams,
62
+ VoiceStartParams,
63
+ VoiceStopParams,
64
+ VoiceSynthesisResult,
65
+ VoiceSynthesizeSpeechParams,
66
+ VoiceTranscribeAudioParams,
67
+ VoiceTurn,
68
+ } from "./voice/types";
22
69
 
23
70
  // ============================================================================
24
71
  // Shared Types
25
72
  // ============================================================================
26
73
 
74
+ type BrowserWorkspaceMode = "cloud" | "desktop" | "web";
75
+ type BrowserWorkspaceTabKind = "internal" | "standard";
76
+
77
+ export interface BrowserWorkspaceTab {
78
+ id: string;
79
+ title: string;
80
+ url: string;
81
+ partition: string;
82
+ kind?: BrowserWorkspaceTabKind;
83
+ visible: boolean;
84
+ createdAt: string;
85
+ updatedAt: string;
86
+ lastFocusedAt: string | null;
87
+ liveViewUrl?: string | null;
88
+ interactiveLiveViewUrl?: string | null;
89
+ provider?: string | null;
90
+ status?: string | null;
91
+ }
92
+
93
+ export interface BrowserWorkspaceSnapshot {
94
+ mode: BrowserWorkspaceMode;
95
+ tabs: BrowserWorkspaceTab[];
96
+ }
97
+
98
+ export interface OpenBrowserWorkspaceTabRequest {
99
+ url?: string;
100
+ title?: string;
101
+ show?: boolean;
102
+ partition?: string;
103
+ connectorProvider?: string;
104
+ connectorAccountId?: string;
105
+ kind?: BrowserWorkspaceTabKind;
106
+ width?: number;
107
+ height?: number;
108
+ }
109
+
110
+ export interface NavigateBrowserWorkspaceTabRequest {
111
+ id: string;
112
+ url: string;
113
+ partition?: string;
114
+ }
115
+
27
116
  // -- Desktop --
28
117
  export type ExistingElizaInstallSource =
29
- | "config-path-env"
30
- | "state-dir-env"
31
- | "default-state-dir";
118
+ | "config-path-env"
119
+ | "state-dir-env"
120
+ | "default-state-dir"
121
+ | "legacy-dot-state-dir";
32
122
 
33
123
  export interface ExistingElizaInstallInfo {
34
- detected: boolean;
35
- stateDir: string;
36
- configPath: string;
37
- configExists: boolean;
38
- stateDirExists: boolean;
39
- hasStateEntries: boolean;
40
- source: ExistingElizaInstallSource;
124
+ detected: boolean;
125
+ stateDir: string;
126
+ configPath: string;
127
+ configExists: boolean;
128
+ stateDirExists: boolean;
129
+ hasStateEntries: boolean;
130
+ source: ExistingElizaInstallSource;
41
131
  }
42
132
 
43
133
  export interface StateDirMigrationResult {
44
- ok: boolean;
45
- migrated: boolean;
46
- fromPath: string;
47
- toPath: string;
48
- error?: string;
49
- skippedReason?: "same-path" | "source-missing" | "source-not-directory";
134
+ ok: boolean;
135
+ migrated: boolean;
136
+ fromPath: string;
137
+ toPath: string;
138
+ error?: string;
139
+ skippedReason?: "same-path" | "source-missing" | "source-not-directory";
50
140
  }
51
141
 
52
142
  export interface TrayMenuItem {
53
- id: string;
54
- label?: string;
55
- type?: "normal" | "separator" | "checkbox" | "radio";
56
- checked?: boolean;
57
- enabled?: boolean;
58
- visible?: boolean;
59
- icon?: string;
60
- accelerator?: string;
61
- submenu?: TrayMenuItem[];
143
+ id: string;
144
+ label?: string;
145
+ type?: "normal" | "separator" | "checkbox" | "radio";
146
+ checked?: boolean;
147
+ enabled?: boolean;
148
+ visible?: boolean;
149
+ icon?: string;
150
+ accelerator?: string;
151
+ submenu?: TrayMenuItem[];
62
152
  }
63
153
 
64
154
  export interface TrayOptions {
65
- icon: string;
66
- tooltip?: string;
67
- title?: string;
68
- menu?: TrayMenuItem[];
155
+ icon: string;
156
+ tooltip?: string;
157
+ title?: string;
158
+ menu?: TrayMenuItem[];
69
159
  }
70
160
 
71
161
  export interface ShortcutOptions {
72
- id: string;
73
- accelerator: string;
74
- enabled?: boolean;
162
+ id: string;
163
+ accelerator: string;
164
+ enabled?: boolean;
75
165
  }
76
166
 
77
167
  export interface NotificationOptions {
78
- title: string;
79
- body?: string;
80
- icon?: string;
81
- silent?: boolean;
82
- urgency?: "normal" | "critical" | "low";
168
+ title: string;
169
+ body?: string;
170
+ icon?: string;
171
+ silent?: boolean;
172
+ urgency?: "normal" | "critical" | "low";
83
173
  }
84
174
 
85
175
  export interface DesktopHttpRequestOptions {
86
- url: string;
87
- method?: string;
88
- headers?: Record<string, string>;
89
- body?: string | null;
90
- timeoutMs?: number;
176
+ url: string;
177
+ method?: string;
178
+ headers?: Record<string, string>;
179
+ body?: string | null;
180
+ timeoutMs?: number;
91
181
  }
92
182
 
93
183
  export interface DesktopHttpRequestResult {
94
- status: number;
95
- statusText?: string;
96
- headers?: Record<string, string>;
97
- body?: string | null;
184
+ status: number;
185
+ statusText?: string;
186
+ headers?: Record<string, string>;
187
+ body?: string | null;
98
188
  }
99
189
 
100
190
  export interface WindowBounds {
101
- x: number;
102
- y: number;
103
- width: number;
104
- height: number;
191
+ x: number;
192
+ y: number;
193
+ width: number;
194
+ height: number;
105
195
  }
106
196
 
107
197
  export interface WindowOptions {
108
- width?: number;
109
- height?: number;
110
- x?: number;
111
- y?: number;
112
- minWidth?: number;
113
- minHeight?: number;
114
- maxWidth?: number;
115
- maxHeight?: number;
116
- resizable?: boolean;
117
- alwaysOnTop?: boolean;
118
- fullscreen?: boolean;
119
- opacity?: number;
120
- title?: string;
198
+ width?: number;
199
+ height?: number;
200
+ x?: number;
201
+ y?: number;
202
+ minWidth?: number;
203
+ minHeight?: number;
204
+ maxWidth?: number;
205
+ maxHeight?: number;
206
+ resizable?: boolean;
207
+ alwaysOnTop?: boolean;
208
+ fullscreen?: boolean;
209
+ opacity?: number;
210
+ title?: string;
121
211
  }
122
212
 
123
213
  export interface DesktopManagedWindowSnapshot {
124
- id: string;
125
- surface: string;
126
- title: string;
127
- singleton: boolean;
128
- alwaysOnTop: boolean;
214
+ id: string;
215
+ surface: string;
216
+ title: string;
217
+ singleton: boolean;
218
+ alwaysOnTop: boolean;
129
219
  }
130
220
 
131
221
  export interface ClipboardWriteOptions {
132
- text?: string;
133
- html?: string;
134
- image?: string;
135
- rtf?: string;
222
+ text?: string;
223
+ html?: string;
224
+ image?: string;
225
+ rtf?: string;
136
226
  }
137
227
 
138
228
  export interface ClipboardReadResult {
139
- text?: string;
140
- html?: string;
141
- rtf?: string;
142
- hasImage: boolean;
229
+ text?: string;
230
+ html?: string;
231
+ rtf?: string;
232
+ hasImage: boolean;
143
233
  }
144
234
 
145
235
  export interface VersionInfo {
146
- version: string;
147
- name: string;
148
- runtime: string;
236
+ version: string;
237
+ name: string;
238
+ runtime: string;
149
239
  }
150
240
 
151
241
  export interface DesktopBuildInfo {
152
- platform: string;
153
- arch: string;
154
- defaultRenderer: "native" | "cef";
155
- availableRenderers: Array<"native" | "cef">;
156
- cefVersion?: string;
157
- bunVersion?: string;
158
- runtime?: Record<string, unknown>;
242
+ platform: string;
243
+ arch: string;
244
+ defaultRenderer: "native" | "cef";
245
+ availableRenderers: Array<"native" | "cef">;
246
+ cefVersion?: string;
247
+ bunVersion?: string;
248
+ runtime?: Record<string, unknown>;
159
249
  }
160
250
 
161
251
  export interface DesktopUpdaterSnapshot {
162
- currentVersion: string;
163
- currentHash?: string;
164
- channel?: string;
165
- baseUrl?: string;
166
- appBundlePath?: string | null;
167
- canAutoUpdate: boolean;
168
- autoUpdateDisabledReason?: string | null;
169
- updateAvailable: boolean;
170
- updateReady: boolean;
171
- latestVersion?: string | null;
172
- latestHash?: string | null;
173
- error?: string | null;
174
- lastStatus?: {
175
- status: string;
176
- message: string;
177
- timestamp: number;
178
- } | null;
252
+ currentVersion: string;
253
+ currentHash?: string;
254
+ channel?: string;
255
+ baseUrl?: string;
256
+ appBundlePath?: string | null;
257
+ canAutoUpdate: boolean;
258
+ autoUpdateDisabledReason?: string | null;
259
+ updateAvailable: boolean;
260
+ updateReady: boolean;
261
+ latestVersion?: string | null;
262
+ latestHash?: string | null;
263
+ error?: string | null;
264
+ lastStatus?: {
265
+ status: string;
266
+ message: string;
267
+ timestamp: number;
268
+ } | null;
179
269
  }
180
270
 
181
271
  export type DesktopSessionStorageType =
182
- | "cookies"
183
- | "localStorage"
184
- | "sessionStorage"
185
- | "indexedDB"
186
- | "webSQL"
187
- | "cache"
188
- | "all";
272
+ | "cookies"
273
+ | "localStorage"
274
+ | "sessionStorage"
275
+ | "indexedDB"
276
+ | "webSQL"
277
+ | "cache"
278
+ | "all";
189
279
 
190
280
  export interface DesktopSessionCookie {
191
- name: string;
192
- value?: string;
193
- domain?: string;
194
- path?: string;
195
- secure?: boolean;
196
- httpOnly?: boolean;
197
- session?: boolean;
198
- expirationDate?: number;
281
+ name: string;
282
+ value?: string;
283
+ domain?: string;
284
+ path?: string;
285
+ secure?: boolean;
286
+ httpOnly?: boolean;
287
+ session?: boolean;
288
+ expirationDate?: number;
199
289
  }
200
290
 
201
291
  export interface DesktopSessionSnapshot {
202
- partition: string;
203
- persistent: boolean;
204
- cookieCount: number;
205
- cookies: DesktopSessionCookie[];
292
+ partition: string;
293
+ persistent: boolean;
294
+ cookieCount: number;
295
+ cookies: DesktopSessionCookie[];
206
296
  }
207
297
 
208
298
  export interface DesktopReleaseNotesWindowInfo {
209
- url: string;
210
- windowId: number | null;
211
- webviewId: number | null;
299
+ url: string;
300
+ windowId: number | null;
301
+ webviewId: number | null;
212
302
  }
213
303
 
214
304
  export interface PowerState {
215
- onBattery: boolean;
216
- idleState: "active" | "idle" | "locked" | "unknown";
217
- idleTime: number;
305
+ onBattery: boolean;
306
+ idleState: "active" | "idle" | "locked" | "unknown";
307
+ idleTime: number;
218
308
  }
219
309
 
220
310
  export interface TrayClickEvent {
221
- x: number;
222
- y: number;
223
- button: string;
224
- modifiers: { alt: boolean; shift: boolean; ctrl: boolean; meta: boolean };
311
+ x: number;
312
+ y: number;
313
+ button: string;
314
+ modifiers: { alt: boolean; shift: boolean; ctrl: boolean; meta: boolean };
225
315
  }
226
316
 
227
317
  // -- Gateway --
228
318
  export interface GatewayEndpoint {
229
- stableId: string;
230
- name: string;
231
- host: string;
232
- port: number;
233
- lanHost?: string;
234
- tailnetDns?: string;
235
- gatewayPort?: number;
236
- canvasPort?: number;
237
- tlsEnabled: boolean;
238
- tlsFingerprintSha256?: string;
239
- isLocal: boolean;
319
+ stableId: string;
320
+ name: string;
321
+ host: string;
322
+ port: number;
323
+ lanHost?: string;
324
+ tailnetDns?: string;
325
+ gatewayPort?: number;
326
+ canvasPort?: number;
327
+ tlsEnabled: boolean;
328
+ tlsFingerprintSha256?: string;
329
+ isLocal: boolean;
240
330
  }
241
331
 
242
332
  export interface DiscoveryOptions {
243
- serviceType?: string;
244
- timeout?: number;
333
+ serviceType?: string;
334
+ timeout?: number;
245
335
  }
246
336
 
247
337
  export interface DiscoveryResult {
248
- gateways: GatewayEndpoint[];
249
- status: string;
338
+ gateways: GatewayEndpoint[];
339
+ status: string;
250
340
  }
251
341
 
252
342
  // -- Permissions --
253
343
  export type {
254
- PermissionId,
255
- PermissionState,
256
- PermissionStatus,
344
+ PermissionId,
345
+ PermissionState,
346
+ PermissionStatus,
257
347
  } from "@elizaos/shared";
258
348
 
259
- import type { PermissionId, PermissionState } from "@elizaos/shared";
349
+ import type {
350
+ PermissionId,
351
+ PermissionState,
352
+ AgentAutomationMode as SharedAgentAutomationMode,
353
+ TradePermissionMode as SharedTradePermissionMode,
354
+ TriggerHealthSnapshot as SharedTriggerHealthSnapshot,
355
+ SubscriptionStatusResponse,
356
+ } from "@elizaos/shared";
260
357
 
261
358
  export type SystemPermissionId = PermissionId;
262
359
 
263
360
  /** Local variant uses an index signature (the canonical contract uses explicit keys). */
264
361
  export interface AllPermissionsState {
265
- [key: string]: PermissionState;
362
+ [key: string]: PermissionState;
266
363
  }
267
364
 
268
365
  // -- Canvas --
269
366
  export interface CanvasWindowOptions {
270
- url?: string;
271
- width?: number;
272
- height?: number;
273
- x?: number;
274
- y?: number;
275
- title?: string;
276
- transparent?: boolean;
277
- alwaysOnTop?: boolean;
367
+ url?: string;
368
+ width?: number;
369
+ height?: number;
370
+ x?: number;
371
+ y?: number;
372
+ title?: string;
373
+ transparent?: boolean;
374
+ alwaysOnTop?: boolean;
278
375
  }
279
376
 
280
377
  export interface CanvasWindowInfo {
281
- id: string;
282
- url: string;
283
- bounds: WindowBounds;
284
- title: string;
285
- alwaysOnTop: boolean;
378
+ id: string;
379
+ url: string;
380
+ bounds: WindowBounds;
381
+ title: string;
382
+ alwaysOnTop: boolean;
286
383
  }
287
384
 
288
385
  // -- GPU Window / GPU View --
289
386
  export interface GpuWindowInfo {
290
- id: string;
291
- frame: WindowBounds;
292
- /** Native numeric id of the embedded WGPUView (GpuWindow.wgpuViewId). */
293
- wgpuViewId?: number | null;
387
+ id: string;
388
+ frame: WindowBounds;
389
+ /** Native numeric id of the embedded WGPUView (GpuWindow.wgpuViewId). */
390
+ wgpuViewId?: number | null;
294
391
  }
295
392
 
296
393
  export interface GpuViewInfo {
297
- id: string;
298
- frame: WindowBounds;
299
- /** Native numeric id of the WGPUView (WGPUView.id). */
300
- viewId?: number | null;
394
+ id: string;
395
+ frame: WindowBounds;
396
+ /** Native numeric id of the WGPUView (WGPUView.id). */
397
+ viewId?: number | null;
301
398
  }
302
399
 
303
400
  // -- Steward Sidecar --
304
401
  export interface StewardRpcStatus {
305
- state: "stopped" | "starting" | "running" | "error" | "restarting";
306
- port: number | null;
307
- pid: number | null;
308
- error: string | null;
309
- restartCount: number;
310
- walletAddress: string | null;
311
- agentId: string | null;
312
- tenantId: string | null;
313
- startedAt: number | null;
402
+ state: "stopped" | "starting" | "running" | "error" | "restarting";
403
+ port: number | null;
404
+ pid: number | null;
405
+ error: string | null;
406
+ restartCount: number;
407
+ walletAddress: string | null;
408
+ agentId: string | null;
409
+ tenantId: string | null;
410
+ startedAt: number | null;
314
411
  }
315
412
 
316
413
  // -- Camera --
317
414
  export interface CameraDevice {
318
- deviceId: string;
319
- label: string;
320
- kind: string;
415
+ deviceId: string;
416
+ label: string;
417
+ kind: string;
321
418
  }
322
419
 
323
420
  // -- Credentials Auto-Detection --
324
421
  export interface DetectedProvider {
325
- id: string;
326
- source: string;
327
- apiKey?: string;
328
- authMode?: string;
329
- cliInstalled: boolean;
330
- status: "valid" | "invalid" | "unchecked" | "error";
331
- statusDetail?: string;
422
+ id: string;
423
+ source: string;
424
+ apiKey?: string;
425
+ authMode?: string;
426
+ cliInstalled: boolean;
427
+ status: "valid" | "invalid" | "unchecked" | "error";
428
+ statusDetail?: string;
332
429
  }
333
430
 
334
431
  // -- Screencapture --
335
432
  export interface ScreenSource {
336
- id: string;
337
- name: string;
338
- thumbnail: string;
339
- appIcon?: string;
433
+ id: string;
434
+ name: string;
435
+ thumbnail: string;
436
+ appIcon?: string;
340
437
  }
341
438
 
342
439
  // -- Native Editor Bridge --
343
440
  export type NativeEditorId =
344
- | "vscode"
345
- | "cursor"
346
- | "windsurf"
347
- | "antigravity"
348
- | "zed"
349
- | "sublime";
441
+ | "vscode"
442
+ | "cursor"
443
+ | "windsurf"
444
+ | "antigravity"
445
+ | "zed"
446
+ | "sublime";
350
447
 
351
448
  export interface NativeEditorInfo {
352
- id: NativeEditorId;
353
- label: string;
354
- installed: boolean;
355
- command: string;
449
+ id: NativeEditorId;
450
+ label: string;
451
+ installed: boolean;
452
+ command: string;
356
453
  }
357
454
 
358
455
  export interface EditorSession {
359
- editorId: NativeEditorId;
360
- workspacePath: string;
361
- startedAt: number;
456
+ editorId: NativeEditorId;
457
+ workspacePath: string;
458
+ startedAt: number;
362
459
  }
363
460
 
364
461
  // -- Workspace File Watcher --
365
462
  export type FileChangeEventType =
366
- | "created"
367
- | "modified"
368
- | "deleted"
369
- | "renamed";
463
+ | "created"
464
+ | "modified"
465
+ | "deleted"
466
+ | "renamed";
370
467
 
371
468
  export interface FileChangeEvent {
372
- watchId: string;
373
- type: FileChangeEventType;
374
- filePath: string;
375
- relativePath: string;
376
- timestamp: number;
469
+ watchId: string;
470
+ type: FileChangeEventType;
471
+ filePath: string;
472
+ relativePath: string;
473
+ timestamp: number;
377
474
  }
378
475
 
379
476
  export interface WatchStatus {
380
- watchId: string;
381
- watchPath: string;
382
- active: boolean;
383
- startedAt: number;
384
- eventCount: number;
477
+ watchId: string;
478
+ watchPath: string;
479
+ active: boolean;
480
+ startedAt: number;
481
+ eventCount: number;
385
482
  }
386
483
 
387
484
  // -- Floating Chat Window --
388
485
  export interface FloatingChatStatus {
389
- open: boolean;
390
- visible: boolean;
391
- contextId: string | null;
392
- bounds: WindowBounds | null;
486
+ open: boolean;
487
+ visible: boolean;
488
+ contextId: string | null;
489
+ bounds: WindowBounds | null;
393
490
  }
394
491
 
395
492
  // -- TalkMode --
396
493
  export type TalkModeState =
397
- | "idle"
398
- | "listening"
399
- | "processing"
400
- | "speaking"
401
- | "error";
494
+ | "idle"
495
+ | "listening"
496
+ | "processing"
497
+ | "speaking"
498
+ | "error";
402
499
 
403
500
  export interface TalkModeConfig {
404
- engine?: "whisper" | "web";
405
- modelSize?: string;
406
- language?: string;
407
- voiceId?: string;
501
+ engine?: "web";
502
+ modelSize?: string;
503
+ language?: string;
504
+ voiceId?: string;
408
505
  }
409
506
 
410
507
  // -- Music player (plugin-music-player HTTP routes) --
411
508
  /** Resolved HTTP URLs for plugin-music-player routes (agent process, not under /api). */
412
509
  export interface MusicPlayerDesktopPlaybackUrls {
413
- ok: boolean;
414
- reason?: string;
415
- apiBase?: string;
416
- guildId?: string;
417
- streamUrl?: string;
418
- nowPlayingUrl?: string;
419
- queueUrl?: string;
510
+ ok: boolean;
511
+ reason?: string;
512
+ apiBase?: string;
513
+ guildId?: string;
514
+ streamUrl?: string;
515
+ nowPlayingUrl?: string;
516
+ queueUrl?: string;
420
517
  }
421
518
 
422
519
  // -- File Dialog --
423
520
  export interface FileDialogOptions {
424
- title?: string;
425
- defaultPath?: string;
426
- /** Comma-separated file extensions, e.g. "png,jpg" or "*" for all */
427
- allowedFileTypes?: string;
428
- canChooseFiles?: boolean;
429
- canChooseDirectory?: boolean;
430
- allowsMultipleSelection?: boolean;
431
- buttonLabel?: string;
521
+ title?: string;
522
+ defaultPath?: string;
523
+ /** Comma-separated file extensions, e.g. "png,jpg" or "*" for all */
524
+ allowedFileTypes?: string;
525
+ canChooseFiles?: boolean;
526
+ canChooseDirectory?: boolean;
527
+ allowsMultipleSelection?: boolean;
528
+ buttonLabel?: string;
432
529
  }
433
530
 
434
531
  export interface FileDialogResult {
435
- canceled: boolean;
436
- filePaths: string[];
532
+ canceled: boolean;
533
+ filePaths: string[];
437
534
  }
438
535
 
439
536
  /**
@@ -447,88 +544,542 @@ export interface FileDialogResult {
447
544
  * persist it verbatim.
448
545
  */
449
546
  export interface WorkspaceFolderPickResult {
450
- canceled: boolean;
451
- path: string;
452
- bookmark: string | null;
547
+ canceled: boolean;
548
+ path: string;
549
+ bookmark: string | null;
453
550
  }
454
551
 
455
552
  export interface WorkspaceFolderBookmarkResolveResult {
456
- ok: boolean;
457
- path: string;
458
- stale?: boolean;
459
- error?: string;
553
+ ok: boolean;
554
+ path: string;
555
+ stale?: boolean;
556
+ error?: string;
460
557
  }
461
558
 
462
559
  // -- Screen / Display --
463
560
  export interface DisplayBounds {
464
- x: number;
465
- y: number;
466
- width: number;
467
- height: number;
561
+ x: number;
562
+ y: number;
563
+ width: number;
564
+ height: number;
468
565
  }
469
566
 
470
567
  export interface DisplayInfo {
471
- id: number;
472
- bounds: DisplayBounds;
473
- workArea: DisplayBounds;
474
- scaleFactor: number;
475
- isPrimary: boolean;
568
+ id: number;
569
+ bounds: DisplayBounds;
570
+ workArea: DisplayBounds;
571
+ scaleFactor: number;
572
+ isPrimary: boolean;
476
573
  }
477
574
 
478
575
  export interface CursorPosition {
479
- x: number;
480
- y: number;
576
+ x: number;
577
+ y: number;
481
578
  }
482
579
 
483
580
  // -- Message Box (native alert/confirm/prompt) --
484
581
  export interface MessageBoxOptions {
485
- type?: "info" | "warning" | "error" | "question";
486
- title?: string;
487
- message: string;
488
- detail?: string;
489
- buttons?: string[];
490
- defaultId?: number;
491
- cancelId?: number;
582
+ type?: "info" | "warning" | "error" | "question";
583
+ title?: string;
584
+ message: string;
585
+ detail?: string;
586
+ buttons?: string[];
587
+ defaultId?: number;
588
+ cancelId?: number;
492
589
  }
493
590
 
494
591
  export interface MessageBoxResult {
495
- response: number;
592
+ response: number;
496
593
  }
497
594
 
498
595
  export interface EmbeddedAgentStatus {
499
- state: "not_started" | "starting" | "running" | "stopped" | "error";
500
- agentName: string | null;
501
- port: number | null;
502
- startedAt: number | null;
503
- error: string | null;
596
+ state: "not_started" | "starting" | "running" | "stopped" | "error";
597
+ agentName: string | null;
598
+ port: number | null;
599
+ startedAt: number | null;
600
+ error: string | null;
601
+ }
602
+
603
+ export type AgentStatusState =
604
+ | "not_started"
605
+ | "starting"
606
+ | "running"
607
+ | "stopped"
608
+ | "restarting"
609
+ | "error";
610
+
611
+ export interface AgentCloudStatusSnapshot {
612
+ connectionStatus: string;
613
+ activeAgentId: string | null;
614
+ cloudProvisioned: boolean;
615
+ hasApiKey: boolean;
616
+ }
617
+
618
+ export interface AgentStatusSnapshot {
619
+ state: AgentStatusState;
620
+ agentName: string;
621
+ model?: string;
622
+ uptime?: number;
623
+ startedAt?: number;
624
+ port?: number;
625
+ pendingRestart?: boolean;
626
+ pendingRestartReasons?: readonly string[];
627
+ startup?: Record<string, unknown>;
628
+ cloud?: AgentCloudStatusSnapshot;
629
+ }
630
+
631
+ export type AgentAutomationMode = SharedAgentAutomationMode;
632
+ export type TradePermissionMode = SharedTradePermissionMode;
633
+
634
+ export type SettingsConfigSnapshot = Record<string, unknown>;
635
+
636
+ export interface AgentAutomationModeSnapshot {
637
+ mode: AgentAutomationMode;
638
+ options: AgentAutomationMode[];
639
+ }
640
+
641
+ export interface TradePermissionModeSnapshot {
642
+ mode: TradePermissionMode;
643
+ tradePermissionMode: TradePermissionMode;
644
+ options?: TradePermissionMode[];
645
+ ok?: boolean;
646
+ canUserLocalExecute?: boolean;
647
+ canAgentAutoTrade?: boolean;
648
+ }
649
+
650
+ export interface AgentSelfStatusSnapshot {
651
+ generatedAt: string;
652
+ state: AgentStatusState;
653
+ agentName: string;
654
+ model: string | null;
655
+ provider: string | null;
656
+ automationMode: AgentAutomationMode;
657
+ tradePermissionMode: TradePermissionMode;
658
+ shellEnabled: boolean;
659
+ wallet: {
660
+ walletSource: "local" | "managed" | "none";
661
+ evmAddress: string | null;
662
+ evmAddressShort: string | null;
663
+ solanaAddress: string | null;
664
+ solanaAddressShort: string | null;
665
+ hasWallet: boolean;
666
+ hasEvm: boolean;
667
+ hasSolana: boolean;
668
+ localSignerAvailable: boolean;
669
+ managedBscRpcReady: boolean;
670
+ rpcReady: boolean;
671
+ pluginEvmLoaded: boolean;
672
+ pluginEvmRequired: boolean;
673
+ executionReady: boolean;
674
+ executionBlockedReason: string | null;
675
+ };
676
+ plugins: {
677
+ totalActive: number;
678
+ active: string[];
679
+ aiProviders: string[];
680
+ connectors: string[];
681
+ };
682
+ capabilities: {
683
+ canTrade: boolean;
684
+ canLocalTrade: boolean;
685
+ canAutoTrade: boolean;
686
+ canUseBrowser: boolean;
687
+ canUseComputer: boolean;
688
+ canRunTerminal: boolean;
689
+ canInstallPlugins: boolean;
690
+ canConfigurePlugins: boolean;
691
+ canConfigureConnectors: boolean;
692
+ };
693
+ registrySummary?: string;
694
+ }
695
+
696
+ export type AgentUpdateReleaseChannel = "stable" | "beta" | "nightly";
697
+
698
+ export interface AgentUpdateStatusSnapshot {
699
+ currentVersion: string;
700
+ channel: AgentUpdateReleaseChannel;
701
+ installMethod: string;
702
+ updateAvailable: boolean;
703
+ latestVersion: string | null;
704
+ channels: Record<AgentUpdateReleaseChannel, string | null>;
705
+ distTags: Record<AgentUpdateReleaseChannel, string>;
706
+ lastCheckAt: string | null;
707
+ error: string | null;
708
+ }
709
+
710
+ export interface ExtensionStatusSnapshot {
711
+ relayReachable: boolean;
712
+ relayPort: number;
713
+ extensionPath: string | null;
714
+ chromeBuildPath?: string | null;
715
+ chromePackagePath?: string | null;
716
+ safariWebExtensionPath?: string | null;
717
+ safariAppPath?: string | null;
718
+ safariPackagePath?: string | null;
719
+ releaseManifest?: Record<string, unknown> | null;
720
+ }
721
+
722
+ export interface RuntimeDebugSnapshotParams {
723
+ depth?: number;
724
+ maxArrayLength?: number;
725
+ maxObjectEntries?: number;
726
+ maxStringLength?: number;
727
+ }
728
+
729
+ export interface RuntimeDebugSerializeSettings {
730
+ maxDepth: number;
731
+ maxArrayLength: number;
732
+ maxObjectEntries: number;
733
+ maxStringLength: number;
734
+ }
735
+
736
+ export interface RuntimeOrderItem {
737
+ index: number;
738
+ name: string;
739
+ className: string;
740
+ id: string | null;
741
+ }
742
+
743
+ export interface RuntimeServiceOrderItem {
744
+ index: number;
745
+ serviceType: string;
746
+ count: number;
747
+ instances: RuntimeOrderItem[];
748
+ }
749
+
750
+ export interface RuntimeDebugSnapshot {
751
+ runtimeAvailable: boolean;
752
+ generatedAt: number;
753
+ settings: RuntimeDebugSerializeSettings;
754
+ meta: {
755
+ agentId?: string;
756
+ agentState: AgentStatusState;
757
+ agentName: string;
758
+ model: string | null;
759
+ pluginCount: number;
760
+ actionCount: number;
761
+ providerCount: number;
762
+ evaluatorCount: number;
763
+ serviceTypeCount: number;
764
+ serviceCount: number;
765
+ };
766
+ order: {
767
+ plugins: RuntimeOrderItem[];
768
+ actions: RuntimeOrderItem[];
769
+ providers: RuntimeOrderItem[];
770
+ evaluators: RuntimeOrderItem[];
771
+ services: RuntimeServiceOrderItem[];
772
+ };
773
+ sections: {
774
+ runtime: unknown;
775
+ plugins: unknown;
776
+ actions: unknown;
777
+ providers: unknown;
778
+ evaluators: unknown;
779
+ services: unknown;
780
+ };
781
+ }
782
+
783
+ export type TriggerHealthSnapshot = SharedTriggerHealthSnapshot;
784
+
785
+ export interface CorePluginEntry {
786
+ npmName: string;
787
+ id: string;
788
+ name: string;
789
+ isCore: boolean;
790
+ loaded: boolean;
791
+ enabled: boolean;
792
+ }
793
+
794
+ export interface CorePluginsSnapshot {
795
+ core: CorePluginEntry[];
796
+ optional: CorePluginEntry[];
797
+ }
798
+
799
+ export type RemotePluginWorkerState =
800
+ | "stopped"
801
+ | "starting"
802
+ | "running"
803
+ | "error";
804
+
805
+ export interface RemotePluginWorkerStatus {
806
+ id: string;
807
+ state: RemotePluginWorkerState;
808
+ startedAt: number | null;
809
+ stoppedAt: number | null;
810
+ error: string | null;
811
+ }
812
+
813
+ export interface RemotePluginInstallFromDirectoryRequest {
814
+ sourceDir: string;
815
+ devMode?: boolean;
816
+ permissionsGranted?: RemotePluginPermissionGrant;
817
+ currentHash?: string | null;
818
+ }
819
+
820
+ export interface RemotePluginUninstallResult {
821
+ removed: boolean;
822
+ remotePlugin: RemotePluginListEntry | null;
823
+ }
824
+
825
+ export interface RemotePluginLogsSnapshot {
826
+ id: string;
827
+ path: string;
828
+ text: string;
829
+ truncated: boolean;
830
+ }
831
+
832
+ export interface RemotePluginInvokeWorkerRequest {
833
+ id: string;
834
+ method: string;
835
+ params?: JsonValue;
836
+ windowId?: string;
837
+ }
838
+
839
+ export interface RemotePluginTailWorkerEventsRequest {
840
+ id: string;
841
+ afterSequence?: number;
842
+ limit?: number;
843
+ }
844
+
845
+ export interface RemotePluginWorkerEventRecord {
846
+ remotePluginId: string;
847
+ sequence: number;
848
+ name: string;
849
+ payload: JsonValue | null;
850
+ timestamp: string;
851
+ }
852
+
853
+ export interface RemotePluginWorkerEventsTailSnapshot {
854
+ id: string;
855
+ events: RemotePluginWorkerEventRecord[];
856
+ nextSequence: number;
857
+ minimumSequence: number | null;
858
+ gapBeforeSequence: number | null;
504
859
  }
505
860
 
506
861
  export interface DesktopStartupDiagnostics {
507
- state: "not_started" | "starting" | "running" | "stopped" | "error";
508
- phase: string;
509
- updatedAt: string;
510
- lastError: string | null;
511
- agentName: string | null;
512
- port: number | null;
513
- startedAt: number | null;
514
- platform: string;
515
- arch: string;
516
- configDir: string;
517
- logPath: string;
518
- statusPath: string;
519
- logTail: string;
520
- appVersion?: string;
521
- appRuntime?: string;
522
- packaged?: boolean;
523
- locale?: string;
862
+ state: "not_started" | "starting" | "running" | "stopped" | "error";
863
+ phase: string;
864
+ updatedAt: string;
865
+ lastError: string | null;
866
+ agentName: string | null;
867
+ port: number | null;
868
+ startedAt: number | null;
869
+ platform: string;
870
+ arch: string;
871
+ configDir: string;
872
+ logPath: string;
873
+ statusPath: string;
874
+ database: DatabaseSnapshot;
875
+ logTail: string;
876
+ appVersion?: string;
877
+ appRuntime?: string;
878
+ packaged?: boolean;
879
+ locale?: string;
880
+ }
881
+
882
+ export interface DatabaseRecoveryPreview {
883
+ snapshot: DatabaseSnapshot;
884
+ actions: DatabaseSnapshot["recoveryActions"];
524
885
  }
525
886
 
887
+ export type DatabaseResetPgliteResult = DatabaseResetResult & {
888
+ restarted: boolean;
889
+ };
890
+
526
891
  export interface DesktopBugReportBundleInfo {
527
- directory: string;
528
- reportMarkdownPath: string;
529
- reportJsonPath: string;
530
- startupLogPath: string | null;
531
- startupStatusPath: string | null;
892
+ directory: string;
893
+ reportMarkdownPath: string;
894
+ reportJsonPath: string;
895
+ startupLogPath: string | null;
896
+ startupStatusPath: string | null;
897
+ }
898
+
899
+ /**
900
+ * Typed response for `getFirstRunStatus` — the renderer's first-boot
901
+ * gate, currently fetched over HTTP at `/api/first-run/status`. Server
902
+ * source: `eliza/packages/agent/src/api/first-run-routes.ts`.
903
+ */
904
+ export interface FirstRunStatusSnapshot {
905
+ complete: boolean;
906
+ cloudProvisioned?: boolean;
907
+ }
908
+
909
+ /**
910
+ * Typed response for `getFirstRunOptions` — provider/model catalogs +
911
+ * style presets used by the first-run UI. Mirrors the first-run options
912
+ * structure in `@elizaos/shared/contracts/firstRun`, narrowed to the
913
+ * subset the server actually returns at `/api/first-run/options`
914
+ * (server source: `first-run-routes.ts:328`). Fields are kept structural
915
+ * (`unknown`/`Record<string, unknown>`) for items whose shape lives
916
+ * deeper inside the shared contracts — the typed boundary lives at the
917
+ * RPC envelope, the underlying option records pass through.
918
+ */
919
+ export interface FirstRunOptionsSnapshot {
920
+ names: string[];
921
+ styles: ReadonlyArray<Record<string, unknown>>;
922
+ providers: ReadonlyArray<Record<string, unknown>>;
923
+ cloudProviders: ReadonlyArray<Record<string, unknown>>;
924
+ models: {
925
+ nano?: ReadonlyArray<Record<string, unknown>>;
926
+ small?: ReadonlyArray<Record<string, unknown>>;
927
+ medium?: ReadonlyArray<Record<string, unknown>>;
928
+ large?: ReadonlyArray<Record<string, unknown>>;
929
+ mega?: ReadonlyArray<Record<string, unknown>>;
930
+ };
931
+ openrouterModels?: ReadonlyArray<Record<string, unknown>>;
932
+ inventoryProviders: ReadonlyArray<Record<string, unknown>>;
933
+ sharedStyleRules: string;
934
+ githubOAuthAvailable?: boolean;
935
+ }
936
+
937
+ /**
938
+ * Typed response for `getConfig` — the agent's redacted in-memory
939
+ * config object. Same data as `GET /api/config`. Shape is permissive
940
+ * (`Record<string, unknown>`) because the config tree is dynamic and
941
+ * driven by user/plugin settings; consumers narrow per-field at use
942
+ * site as they always have.
943
+ */
944
+ export type ConfigSnapshot = Record<string, unknown>;
945
+
946
+ export interface ConfigSchemaSnapshot {
947
+ schema: Record<string, unknown>;
948
+ uiHints: Record<string, unknown>;
949
+ version: string;
950
+ generatedAt: string;
951
+ }
952
+
953
+ /**
954
+ * Typed response for `listConversations` — matches `GET /api/conversations`.
955
+ * Items pass through as `Record<string, unknown>`; consumers downcast
956
+ * to the existing `Conversation` type at use site. Keeps the typed
957
+ * RPC boundary independent of the chat-domain types in @elizaos/ui.
958
+ */
959
+ export interface ConversationsListSnapshot {
960
+ conversations: ReadonlyArray<Record<string, unknown>>;
961
+ }
962
+
963
+ export interface ConversationMessagesSnapshot {
964
+ messages: ReadonlyArray<Record<string, unknown>>;
965
+ }
966
+
967
+ export interface InboxMessagesParams {
968
+ limit?: number;
969
+ sources?: readonly string[];
970
+ roomId?: string;
971
+ roomSource?: string;
972
+ }
973
+
974
+ export interface InboxMessagesSnapshot {
975
+ messages: ReadonlyArray<Record<string, unknown>>;
976
+ count: number;
977
+ }
978
+
979
+ export interface InboxChatsParams {
980
+ sources?: readonly string[];
981
+ }
982
+
983
+ export interface InboxChatsSnapshot {
984
+ chats: ReadonlyArray<Record<string, unknown>>;
985
+ count: number;
986
+ }
987
+
988
+ export interface InboxSourcesSnapshot {
989
+ sources: readonly string[];
990
+ }
991
+
992
+ /**
993
+ * Typed response for `getCharacter` — matches `GET /api/character`.
994
+ * Dynamic record because the character config is plugin-extensible.
995
+ */
996
+ export type CharacterSnapshot = Record<string, unknown>;
997
+
998
+ /**
999
+ * Typed response for `getAuthStatus` — pairing/auth gate state for
1000
+ * the polling-backend startup phase. Mirrors `GET /api/auth/status`
1001
+ * on the agent. `required` decides whether to prompt for pairing;
1002
+ * `pairingEnabled` + `expiresAt` drive the pairing code UI.
1003
+ */
1004
+ export interface AuthStatusSnapshot {
1005
+ required: boolean;
1006
+ pairingEnabled: boolean;
1007
+ expiresAt: number | null;
1008
+ /** Optional fields the server sometimes adds; preserved verbatim. */
1009
+ authenticated?: boolean;
1010
+ loginRequired?: boolean;
1011
+ bootstrapRequired?: boolean;
1012
+ localAccess?: boolean;
1013
+ passwordConfigured?: boolean;
1014
+ }
1015
+
1016
+ /**
1017
+ * Typed response for `getAuthMe` — current session identity + access
1018
+ * mode. On 401 the server returns a structured reason instead of the
1019
+ * full identity payload; the snapshot keeps both shapes addressable
1020
+ * by the optional `unauthorized` discriminator.
1021
+ */
1022
+ export interface AuthMeSnapshot {
1023
+ /** When the request is authenticated. */
1024
+ identity?: {
1025
+ id: string;
1026
+ displayName: string;
1027
+ kind: string;
1028
+ };
1029
+ session?: {
1030
+ id: string;
1031
+ kind: string;
1032
+ expiresAt: number | null;
1033
+ };
1034
+ access?: {
1035
+ mode: string;
1036
+ passwordConfigured: boolean;
1037
+ ownerConfigured: boolean;
1038
+ };
1039
+ /** Present iff the upstream returned 401. */
1040
+ unauthorized?: {
1041
+ reason: string;
1042
+ access: {
1043
+ mode: string;
1044
+ passwordConfigured: boolean;
1045
+ ownerConfigured: boolean;
1046
+ };
1047
+ };
1048
+ }
1049
+
1050
+ /**
1051
+ * Aggregated boot/startup snapshot returned by `bootProgress`.
1052
+ *
1053
+ * This is the typed counterpart to the renderer's current HTTP polling
1054
+ * loop against `/api/health` + `/api/dev/stack`. Same data, but the
1055
+ * contract is enforced at compile time on both sides of the Electrobun
1056
+ * native bridge — no Zod schema drift, no port allocation, no
1057
+ * frontend↔backend disconnect when the API child restarts.
1058
+ *
1059
+ * `phase` corresponds to the agent's runtime startup state machine
1060
+ * (`pre_boot` → `loading_plugins` → `db_init` → `running` → terminal
1061
+ * states). The renderer can either poll `bootProgress` or — once the
1062
+ * message channel migration lands — subscribe to push updates.
1063
+ */
1064
+ export interface BootProgressSnapshot {
1065
+ /** Top-level agent process lifecycle (same enum as EmbeddedAgentStatus.state). */
1066
+ state: "not_started" | "starting" | "running" | "stopped" | "error";
1067
+ /** Fine-grained runtime startup phase. `null` until the agent answers. */
1068
+ phase: string | null;
1069
+ /** Last error message produced by the agent process. `null` when clean. */
1070
+ lastError: string | null;
1071
+ /** Count of plugins that loaded successfully. `null` until first health response. */
1072
+ pluginsLoaded: number | null;
1073
+ /** Count of plugins that failed to load. `null` until first health response. */
1074
+ pluginsFailed: number | null;
1075
+ /** Database state from the runtime's perspective. `null` until ready. */
1076
+ database: "ok" | "unknown" | "error" | null;
1077
+ /** Cached from EmbeddedAgentStatus — kept here so renderers don't need two RPCs. */
1078
+ agentName: string | null;
1079
+ port: number | null;
1080
+ startedAt: number | null;
1081
+ /** Wall-clock time the snapshot was assembled, ISO 8601. */
1082
+ updatedAt: string;
532
1083
  }
533
1084
 
534
1085
  // ============================================================================
@@ -536,989 +1087,1315 @@ export interface DesktopBugReportBundleInfo {
536
1087
  // ============================================================================
537
1088
 
538
1089
  export type ElizaDesktopRPCSchema = {
539
- bun: RPCSchema<{
540
- requests: {
541
- // ---- Agent ----
542
- agentStart: { params: undefined; response: EmbeddedAgentStatus };
543
- agentStop: { params: undefined; response: { ok: true } };
544
- agentRestart: { params: undefined; response: EmbeddedAgentStatus };
545
- agentRestartClearLocalDb: {
546
- params: undefined;
547
- response: EmbeddedAgentStatus;
548
- };
549
- agentStatus: { params: undefined; response: EmbeddedAgentStatus };
550
- agentInspectExistingInstall: {
551
- params: undefined;
552
- response: ExistingElizaInstallInfo;
553
- };
554
- agentMigrateStateDir: {
555
- params: { fromPath: string };
556
- response: StateDirMigrationResult;
557
- };
558
- agentPostReset: {
559
- params: { apiBase?: string; bearerToken?: string } | undefined | null;
560
- response: { ok: boolean; error?: string };
561
- };
562
- agentPostCloudDisconnect: {
563
- params: { apiBase?: string; bearerToken?: string } | undefined | null;
564
- response: { ok: boolean; error?: string };
565
- };
566
- /** Native confirm + main POST (renderer bridge/fetch can stall after a sheet). */
567
- agentCloudDisconnectWithConfirm: {
568
- params: { apiBase?: string; bearerToken?: string } | undefined | null;
569
- response:
570
- | { cancelled: true }
571
- | { ok: true }
572
- | { ok: false; error: string };
573
- };
574
-
575
- // ---- Renderer diagnostics ----
576
- rendererReportDiagnostic: {
577
- params:
578
- | {
579
- level?: "log" | "info" | "warn" | "error";
580
- source?: string;
581
- message?: string;
582
- details?: unknown;
583
- }
584
- | undefined
585
- | null;
586
- response: { ok: true };
587
- };
588
-
589
- // ---- Desktop: Tray ----
590
- desktopCreateTray: { params: TrayOptions; response: undefined };
591
- desktopUpdateTray: { params: Partial<TrayOptions>; response: undefined };
592
- desktopDestroyTray: { params: undefined; response: undefined };
593
- desktopSetTrayMenu: {
594
- params: { menu: TrayMenuItem[] };
595
- response: undefined;
596
- };
597
-
598
- // ---- Desktop: Shortcuts ----
599
- desktopRegisterShortcut: {
600
- params: ShortcutOptions;
601
- response: { success: boolean };
602
- };
603
- desktopUnregisterShortcut: {
604
- params: { id: string };
605
- response: undefined;
606
- };
607
- desktopUnregisterAllShortcuts: { params: undefined; response: undefined };
608
- desktopIsShortcutRegistered: {
609
- params: { accelerator: string };
610
- response: { registered: boolean };
611
- };
612
-
613
- // ---- Desktop: Auto Launch ----
614
- desktopSetAutoLaunch: {
615
- params: { enabled: boolean; openAsHidden?: boolean };
616
- response: undefined;
617
- };
618
- desktopGetAutoLaunchStatus: {
619
- params: undefined;
620
- response: { enabled: boolean; openAsHidden: boolean };
621
- };
622
-
623
- // ---- Desktop: Window ----
624
- desktopSetWindowOptions: { params: WindowOptions; response: undefined };
625
- desktopGetWindowBounds: { params: undefined; response: WindowBounds };
626
- desktopSetWindowBounds: { params: WindowBounds; response: undefined };
627
- desktopMinimizeWindow: { params: undefined; response: undefined };
628
- desktopUnminimizeWindow: { params: undefined; response: undefined };
629
- desktopMaximizeWindow: { params: undefined; response: undefined };
630
- desktopUnmaximizeWindow: { params: undefined; response: undefined };
631
- desktopCloseWindow: { params: undefined; response: undefined };
632
- desktopShowWindow: { params: undefined; response: undefined };
633
- desktopHideWindow: { params: undefined; response: undefined };
634
- desktopFocusWindow: { params: undefined; response: undefined };
635
- desktopIsWindowMaximized: {
636
- params: undefined;
637
- response: { maximized: boolean };
638
- };
639
- desktopIsWindowMinimized: {
640
- params: undefined;
641
- response: { minimized: boolean };
642
- };
643
- desktopIsWindowVisible: {
644
- params: undefined;
645
- response: { visible: boolean };
646
- };
647
- desktopIsWindowFocused: {
648
- params: undefined;
649
- response: { focused: boolean };
650
- };
651
- desktopSetAlwaysOnTop: {
652
- params: { flag: boolean; level?: string };
653
- response: undefined;
654
- };
655
- desktopSetFullscreen: { params: { flag: boolean }; response: undefined };
656
- desktopSetOpacity: { params: { opacity: number }; response: undefined };
657
-
658
- // ---- Desktop: Notifications ----
659
- desktopShowNotification: {
660
- params: NotificationOptions;
661
- response: { id: string };
662
- };
663
- desktopCloseNotification: { params: { id: string }; response: undefined };
664
- desktopShowBackgroundNotice: {
665
- params: undefined;
666
- response: { shown: boolean };
667
- };
668
-
669
- // ---- Desktop: Power ----
670
- desktopGetPowerState: { params: undefined; response: PowerState };
671
-
672
- // ---- Screen ----
673
- desktopGetPrimaryDisplay: { params: undefined; response: DisplayInfo };
674
- desktopGetAllDisplays: {
675
- params: undefined;
676
- response: { displays: DisplayInfo[] };
677
- };
678
- desktopGetCursorPosition: { params: undefined; response: CursorPosition };
679
-
680
- // ---- Desktop: Message Box ----
681
- desktopShowMessageBox: {
682
- params: MessageBoxOptions;
683
- response: MessageBoxResult;
684
- };
685
-
686
- // ---- Desktop: App ----
687
- desktopQuit: { params: undefined; response: undefined };
688
- desktopRelaunch: { params: undefined; response: undefined };
689
- desktopApplyUpdate: { params: undefined; response: undefined };
690
- desktopCheckForUpdates: {
691
- params: undefined;
692
- response: DesktopUpdaterSnapshot;
693
- };
694
- desktopGetUpdaterState: {
695
- params: undefined;
696
- response: DesktopUpdaterSnapshot;
697
- };
698
- desktopGetVersion: { params: undefined; response: VersionInfo };
699
- desktopGetBuildInfo: { params: undefined; response: DesktopBuildInfo };
700
- desktopIsPackaged: { params: undefined; response: { packaged: boolean } };
701
- desktopGetDockIconVisibility: {
702
- params: undefined;
703
- response: { visible: boolean };
704
- };
705
- desktopSetDockIconVisibility: {
706
- params: { visible: boolean };
707
- response: { visible: boolean };
708
- };
709
- desktopGetPath: {
710
- params: { name: string };
711
- response: { path: string };
712
- };
713
- desktopGetStartupDiagnostics: {
714
- params: undefined;
715
- response: DesktopStartupDiagnostics;
716
- };
717
- desktopGetRuntimeMode: {
718
- params: undefined;
719
- response: {
720
- mode: "local" | "external" | "disabled";
721
- externalApiBase?: string | null;
722
- externalApiSource?: string | null;
723
- };
724
- };
725
- desktopHttpRequest: {
726
- params: DesktopHttpRequestOptions;
727
- response: DesktopHttpRequestResult;
728
- };
729
- desktopOpenLogsFolder: { params: undefined; response: undefined };
730
- desktopCreateBugReportBundle: {
731
- params: {
732
- reportMarkdown: string;
733
- reportJson: Record<string, unknown>;
734
- prefix?: string;
735
- };
736
- response: DesktopBugReportBundleInfo;
737
- };
738
- desktopBeep: { params: undefined; response: undefined };
739
- desktopShowSelectionContextMenu: {
740
- params: { text: string };
741
- response: { shown: boolean };
742
- };
743
- desktopGetSessionSnapshot: {
744
- params: { partition: string };
745
- response: DesktopSessionSnapshot;
746
- };
747
- desktopClearSessionData: {
748
- params: {
749
- partition: string;
750
- storageTypes?: DesktopSessionStorageType[] | "all";
751
- clearCookies?: boolean;
752
- };
753
- response: DesktopSessionSnapshot;
754
- };
755
- desktopGetWebGpuBrowserStatus: {
756
- params: undefined;
757
- response: {
758
- available: boolean;
759
- reason: string;
760
- renderer: string;
761
- chromeBetaPath: string | null;
762
- downloadUrl: string | null;
763
- };
764
- };
765
- desktopOpenReleaseNotesWindow: {
766
- params: { url: string; title?: string };
767
- response: DesktopReleaseNotesWindowInfo;
768
- };
769
- desktopOpenSettingsWindow: {
770
- params: { tabHint?: string } | undefined;
771
- response: undefined;
772
- };
773
- desktopOpenSurfaceWindow: {
774
- params: {
775
- surface:
776
- | "chat"
777
- | "browser"
778
- | "release"
779
- | "triggers"
780
- | "plugins"
781
- | "connectors"
782
- | "cloud";
783
- browse?: string;
784
- alwaysOnTop?: boolean;
785
- };
786
- response: DesktopManagedWindowSnapshot | null;
787
- };
788
- desktopOpenAppWindow: {
789
- params: {
790
- slug?: string;
791
- title: string;
792
- path: string;
793
- alwaysOnTop?: boolean;
794
- };
795
- response: DesktopManagedWindowSnapshot | null;
796
- };
797
- desktopSetManagedWindowAlwaysOnTop: {
798
- params: { id: string; flag: boolean };
799
- response: { success: boolean };
800
- };
801
-
802
- // ---- Browser Workspace ----
803
- browserWorkspaceGetSnapshot: {
804
- params: undefined;
805
- response: BrowserWorkspaceSnapshot;
806
- };
807
- browserWorkspaceOpenTab: {
808
- params: OpenBrowserWorkspaceTabRequest;
809
- response: { tab: BrowserWorkspaceTab };
810
- };
811
- browserWorkspaceNavigateTab: {
812
- params: NavigateBrowserWorkspaceTabRequest;
813
- response: { tab: BrowserWorkspaceTab };
814
- };
815
- browserWorkspaceShowTab: {
816
- params: { id: string };
817
- response: { tab: BrowserWorkspaceTab };
818
- };
819
- browserWorkspaceHideTab: {
820
- params: { id: string };
821
- response: { tab: BrowserWorkspaceTab };
822
- };
823
- browserWorkspaceCloseTab: {
824
- params: { id: string };
825
- response: { closed: boolean };
826
- };
827
- browserWorkspaceSnapshotTab: {
828
- params: { id: string };
829
- response: { data: string };
830
- };
831
-
832
- // ---- Desktop: Clipboard ----
833
- desktopWriteToClipboard: {
834
- params: ClipboardWriteOptions;
835
- response: undefined;
836
- };
837
- desktopReadFromClipboard: {
838
- params: undefined;
839
- response: ClipboardReadResult;
840
- };
841
- desktopClearClipboard: { params: undefined; response: undefined };
842
- desktopClipboardAvailableFormats: {
843
- params: undefined;
844
- response: { formats: string[] };
845
- };
846
-
847
- // ---- Desktop: Shell ----
848
- desktopOpenExternal: { params: { url: string }; response: undefined };
849
- desktopShowItemInFolder: {
850
- params: { path: string };
851
- response: undefined;
852
- };
853
- desktopOpenPath: { params: { path: string }; response: undefined };
854
-
855
- // ---- Desktop: File Dialogs ----
856
- desktopShowOpenDialog: {
857
- params: FileDialogOptions;
858
- response: FileDialogResult;
859
- };
860
- desktopShowSaveDialog: {
861
- params: FileDialogOptions;
862
- response: FileDialogResult;
863
- };
864
- desktopPickWorkspaceFolder: {
865
- params: { defaultPath?: string; promptTitle?: string };
866
- response: WorkspaceFolderPickResult;
867
- };
868
- desktopResolveWorkspaceFolderBookmark: {
869
- params: { bookmark: string };
870
- response: WorkspaceFolderBookmarkResolveResult;
871
- };
872
- desktopReleaseWorkspaceFolderBookmarks: {
873
- params: undefined;
874
- response: { ok: true };
875
- };
876
-
877
- // ---- Gateway ----
878
- gatewayStartDiscovery: {
879
- params: DiscoveryOptions | undefined;
880
- response: DiscoveryResult;
881
- };
882
- gatewayStopDiscovery: { params: undefined; response: undefined };
883
- gatewayIsDiscovering: {
884
- params: undefined;
885
- response: { isDiscovering: boolean };
886
- };
887
- gatewayGetDiscoveredGateways: {
888
- params: undefined;
889
- response: { gateways: GatewayEndpoint[] };
890
- };
891
-
892
- // ---- Permissions ----
893
- permissionsCheck: {
894
- params: { id: SystemPermissionId; forceRefresh?: boolean };
895
- response: PermissionState;
896
- };
897
- permissionsCheckFeature: {
898
- params: { featureId: string };
899
- response: { granted: boolean; missing: SystemPermissionId[] };
900
- };
901
- permissionsRequest: {
902
- params: { id: SystemPermissionId };
903
- response: PermissionState;
904
- };
905
- permissionsGetAll: {
906
- params: { forceRefresh?: boolean };
907
- response: AllPermissionsState;
908
- };
909
- permissionsGetPlatform: { params: undefined; response: string };
910
- permissionsIsShellEnabled: { params: undefined; response: boolean };
911
- permissionsSetShellEnabled: {
912
- params: { enabled: boolean };
913
- response: PermissionState;
914
- };
915
- permissionsClearCache: { params: undefined; response: undefined };
916
- permissionsOpenSettings: {
917
- params: { id: SystemPermissionId };
918
- response: undefined;
919
- };
920
-
921
- // ---- Location ----
922
- locationGetCurrentPosition: {
923
- params: undefined;
924
- response: {
925
- latitude: number;
926
- longitude: number;
927
- accuracy: number;
928
- timestamp: number;
929
- } | null;
930
- };
931
- locationWatchPosition: {
932
- params: { interval?: number };
933
- response: { watchId: string };
934
- };
935
- locationClearWatch: { params: { watchId: string }; response: undefined };
936
- locationGetLastKnownLocation: {
937
- params: undefined;
938
- response: {
939
- latitude: number;
940
- longitude: number;
941
- accuracy: number;
942
- timestamp: number;
943
- } | null;
944
- };
945
-
946
- // ---- Camera (graceful stubs) ----
947
- cameraGetDevices: {
948
- params: undefined;
949
- response: { devices: CameraDevice[]; available: boolean };
950
- };
951
- cameraStartPreview: {
952
- params: { deviceId?: string };
953
- response: { available: boolean; reason?: string };
954
- };
955
- cameraStopPreview: { params: undefined; response: undefined };
956
- cameraSwitchCamera: {
957
- params: { deviceId: string };
958
- response: { available: boolean };
959
- };
960
- cameraCapturePhoto: {
961
- params: undefined;
962
- response: { available: boolean; data?: string };
963
- };
964
- cameraStartRecording: {
965
- params: undefined;
966
- response: { available: boolean };
967
- };
968
- cameraStopRecording: {
969
- params: undefined;
970
- response: { available: boolean; path?: string };
971
- };
972
- cameraGetRecordingState: {
973
- params: undefined;
974
- response: { recording: boolean; duration: number };
975
- };
976
- cameraCheckPermissions: {
977
- params: undefined;
978
- response: { status: string };
979
- };
980
- cameraRequestPermissions: {
981
- params: undefined;
982
- response: { status: string };
983
- };
984
-
985
- // ---- Canvas ----
986
- canvasCreateWindow: {
987
- params: CanvasWindowOptions;
988
- response: { id: string };
989
- };
990
- canvasDestroyWindow: { params: { id: string }; response: undefined };
991
- canvasNavigate: {
992
- params: { id: string; url: string };
993
- response: { available: boolean; reason?: string };
994
- };
995
- /**
996
- * PRIVILEGED: Executes arbitrary JavaScript in a canvas BrowserWindow.
997
- * This is intentionally unrestricted for agent computer-use capabilities.
998
- * Security relies on canvas windows being isolated from user-facing content.
999
- * Any XSS in the main webview could invoke this on canvas windows.
1000
- */
1001
- canvasEval: {
1002
- params: { id: string; script: string };
1003
- response: unknown;
1004
- };
1005
- canvasSnapshot: {
1006
- params: { id: string; format?: string; quality?: number };
1007
- response: { data: string } | null;
1008
- };
1009
- canvasA2uiPush: {
1010
- params: { id: string; payload: unknown };
1011
- response: undefined;
1012
- };
1013
- canvasA2uiReset: { params: { id: string }; response: undefined };
1014
- canvasShow: { params: { id: string }; response: undefined };
1015
- canvasHide: { params: { id: string }; response: undefined };
1016
- canvasResize: {
1017
- params: { id: string; width: number; height: number };
1018
- response: undefined;
1019
- };
1020
- canvasFocus: { params: { id: string }; response: undefined };
1021
- canvasGetBounds: {
1022
- params: { id: string };
1023
- response: WindowBounds;
1024
- };
1025
- canvasSetBounds: {
1026
- params: { id: string } & WindowBounds;
1027
- response: undefined;
1028
- };
1029
- canvasSetAlwaysOnTop: {
1030
- params: { id: string; flag: boolean };
1031
- response: { success: boolean };
1032
- };
1033
- canvasListWindows: {
1034
- params: undefined;
1035
- response: { windows: CanvasWindowInfo[] };
1036
- };
1037
-
1038
- // ---- Game ----
1039
- /** Opens a game client URL in a dedicated isolated BrowserWindow. */
1040
- gameOpenWindow: {
1041
- params: { url: string; title?: string; alwaysOnTop?: boolean };
1042
- response: { id: string };
1043
- };
1044
-
1045
- // ---- Screencapture (graceful stubs) ----
1046
- screencaptureGetSources: {
1047
- params: undefined;
1048
- response: { sources: ScreenSource[]; available: boolean };
1049
- };
1050
- screencaptureTakeScreenshot: {
1051
- params: undefined;
1052
- response: { available: boolean; data?: string };
1053
- };
1054
- screencaptureCaptureWindow: {
1055
- params: { windowId?: string };
1056
- response: { available: boolean; data?: string };
1057
- };
1058
- screencaptureStartRecording: {
1059
- params: undefined;
1060
- response: { available: boolean; reason?: string };
1061
- };
1062
- screencaptureStopRecording: {
1063
- params: undefined;
1064
- response: { available: boolean; path?: string };
1065
- };
1066
- screencapturePauseRecording: {
1067
- params: undefined;
1068
- response: { available: boolean };
1069
- };
1070
- screencaptureResumeRecording: {
1071
- params: undefined;
1072
- response: { available: boolean };
1073
- };
1074
- screencaptureGetRecordingState: {
1075
- params: undefined;
1076
- response: { recording: boolean; duration: number; paused: boolean };
1077
- };
1078
- screencaptureStartFrameCapture: {
1079
- params: {
1080
- fps?: number;
1081
- quality?: number;
1082
- apiBase?: string;
1083
- endpoint?: string;
1084
- gameUrl?: string;
1085
- };
1086
- response: { available: boolean; reason?: string };
1087
- };
1088
- screencaptureStopFrameCapture: {
1089
- params: undefined;
1090
- response: { available: boolean };
1091
- };
1092
- screencaptureIsFrameCaptureActive: {
1093
- params: undefined;
1094
- response: { active: boolean };
1095
- };
1096
- screencaptureSaveScreenshot: {
1097
- params: { data: string; filename?: string };
1098
- response: { available: boolean; path?: string };
1099
- };
1100
- screencaptureSwitchSource: {
1101
- params: { sourceId: string };
1102
- response: { available: boolean };
1103
- };
1104
- screencaptureSetCaptureTarget: {
1105
- params: { webviewId?: string };
1106
- response: { available: boolean };
1107
- };
1108
-
1109
- // ---- Swabble (wake word) ----
1110
- swabbleStart: {
1111
- params: {
1112
- config?: {
1113
- triggers?: string[];
1114
- minPostTriggerGap?: number;
1115
- minCommandLength?: number;
1116
- modelSize?: "tiny" | "base" | "small" | "medium" | "large";
1117
- enabled?: boolean;
1118
- };
1119
- };
1120
- response: { started: boolean; error?: string };
1121
- };
1122
- swabbleStop: { params: undefined; response: undefined };
1123
- swabbleIsListening: {
1124
- params: undefined;
1125
- response: { listening: boolean };
1126
- };
1127
- swabbleGetConfig: {
1128
- params: undefined;
1129
- response: Record<string, unknown>;
1130
- };
1131
- swabbleUpdateConfig: {
1132
- params: Record<string, unknown>;
1133
- response: undefined;
1134
- };
1135
- swabbleIsWhisperAvailable: {
1136
- params: undefined;
1137
- response: { available: boolean };
1138
- };
1139
- swabbleAudioChunk: { params: { data: string }; response: undefined };
1140
-
1141
- // ---- TalkMode ----
1142
- talkmodeStart: {
1143
- params: undefined;
1144
- response: { available: boolean; reason?: string };
1145
- };
1146
- talkmodeStop: { params: undefined; response: undefined };
1147
- talkmodeSpeak: {
1148
- params: { text: string; directive?: Record<string, unknown> };
1149
- response: undefined;
1150
- };
1151
- talkmodeStopSpeaking: { params: undefined; response: undefined };
1152
- talkmodeGetState: {
1153
- params: undefined;
1154
- response: { state: TalkModeState };
1155
- };
1156
- talkmodeIsEnabled: { params: undefined; response: { enabled: boolean } };
1157
- talkmodeIsSpeaking: {
1158
- params: undefined;
1159
- response: { speaking: boolean };
1160
- };
1161
- talkmodeGetWhisperInfo: {
1162
- params: undefined;
1163
- response: { available: boolean; modelSize?: string };
1164
- };
1165
- talkmodeIsWhisperAvailable: {
1166
- params: undefined;
1167
- response: { available: boolean };
1168
- };
1169
- talkmodeUpdateConfig: { params: TalkModeConfig; response: undefined };
1170
- talkmodeAudioChunk: { params: { data: string }; response: undefined };
1171
-
1172
- // ---- Music player (elizaOS plugin-music-player HTTP routes on agent) ----
1173
- musicPlayerGetDesktopPlaybackUrls: {
1174
- params: { guildId?: string };
1175
- response: MusicPlayerDesktopPlaybackUrls;
1176
- };
1177
-
1178
- // ---- Context Menu ----
1179
- contextMenuAskAgent: {
1180
- params: { text: string };
1181
- response: undefined;
1182
- };
1183
- contextMenuCreateSkill: {
1184
- params: { text: string };
1185
- response: undefined;
1186
- };
1187
- contextMenuQuoteInChat: {
1188
- params: { text: string };
1189
- response: undefined;
1190
- };
1191
- contextMenuSaveAsCommand: {
1192
- params: { text: string };
1193
- response: undefined;
1194
- };
1195
-
1196
- // ---- Credentials Auto-Detection ----
1197
- credentialsScanProviders: {
1198
- params: { context: "onboarding" | "tray-refresh" };
1199
- response: { providers: DetectedProvider[] };
1200
- };
1201
- credentialsScanAndValidate: {
1202
- params: { context: "onboarding" | "tray-refresh" };
1203
- response: { providers: DetectedProvider[] };
1204
- };
1205
-
1206
- // ---- GPU Window ----
1207
- gpuWindowCreate: {
1208
- params: {
1209
- id?: string;
1210
- title?: string;
1211
- x?: number;
1212
- y?: number;
1213
- width?: number;
1214
- height?: number;
1215
- transparent?: boolean;
1216
- alwaysOnTop?: boolean;
1217
- titleBarStyle?: "hidden" | "hiddenInset" | "default";
1218
- };
1219
- response: GpuWindowInfo;
1220
- };
1221
- gpuWindowDestroy: { params: { id: string }; response: undefined };
1222
- gpuWindowShow: { params: { id: string }; response: undefined };
1223
- gpuWindowHide: { params: { id: string }; response: undefined };
1224
- gpuWindowSetBounds: {
1225
- params: { id: string } & WindowBounds;
1226
- response: undefined;
1227
- };
1228
- gpuWindowGetInfo: {
1229
- params: { id: string };
1230
- response: GpuWindowInfo | null;
1231
- };
1232
- gpuWindowList: {
1233
- params: undefined;
1234
- response: { windows: GpuWindowInfo[] };
1235
- };
1236
-
1237
- // ---- GPU View ----
1238
- gpuViewCreate: {
1239
- params: {
1240
- id?: string;
1241
- windowId: number;
1242
- x?: number;
1243
- y?: number;
1244
- width?: number;
1245
- height?: number;
1246
- autoResize?: boolean;
1247
- transparent?: boolean;
1248
- passthrough?: boolean;
1249
- };
1250
- response: GpuViewInfo;
1251
- };
1252
- gpuViewDestroy: { params: { id: string }; response: undefined };
1253
- gpuViewSetFrame: {
1254
- params: { id: string } & WindowBounds;
1255
- response: undefined;
1256
- };
1257
- gpuViewSetTransparent: {
1258
- params: { id: string; transparent: boolean };
1259
- response: undefined;
1260
- };
1261
- gpuViewSetHidden: {
1262
- params: { id: string; hidden: boolean };
1263
- response: undefined;
1264
- };
1265
- gpuViewGetNativeHandle: {
1266
- params: { id: string };
1267
- response: { handle: unknown } | null;
1268
- };
1269
- gpuViewList: {
1270
- params: undefined;
1271
- response: { views: GpuViewInfo[] };
1272
- };
1273
-
1274
- // ---- Native Editor Bridge ----
1275
- editorBridgeListEditors: {
1276
- params: undefined;
1277
- response: { editors: NativeEditorInfo[] };
1278
- };
1279
- editorBridgeOpenInEditor: {
1280
- params: { editorId: NativeEditorId; workspacePath: string };
1281
- response: EditorSession;
1282
- };
1283
- editorBridgeGetSession: {
1284
- params: undefined;
1285
- response: EditorSession | null;
1286
- };
1287
- editorBridgeClearSession: {
1288
- params: undefined;
1289
- response: undefined;
1290
- };
1291
-
1292
- // ---- Workspace File Watcher ----
1293
- fileWatcherStart: {
1294
- params: { watchPath: string };
1295
- response: { watchId: string };
1296
- };
1297
- fileWatcherStop: {
1298
- params: { watchId: string };
1299
- response: { stopped: boolean };
1300
- };
1301
- fileWatcherStopAll: {
1302
- params: undefined;
1303
- response: undefined;
1304
- };
1305
- fileWatcherList: {
1306
- params: undefined;
1307
- response: { watches: WatchStatus[] };
1308
- };
1309
- fileWatcherGetStatus: {
1310
- params: { watchId: string };
1311
- response: WatchStatus | null;
1312
- };
1313
-
1314
- // ---- Floating Chat Window ----
1315
- floatingChatOpen: {
1316
- params: { contextId?: string; x?: number; y?: number };
1317
- response: FloatingChatStatus;
1318
- };
1319
- floatingChatShow: {
1320
- params: undefined;
1321
- response: FloatingChatStatus;
1322
- };
1323
- floatingChatHide: {
1324
- params: undefined;
1325
- response: FloatingChatStatus;
1326
- };
1327
- floatingChatClose: {
1328
- params: undefined;
1329
- response: FloatingChatStatus;
1330
- };
1331
- floatingChatSetContext: {
1332
- params: { contextId: string | null };
1333
- response: FloatingChatStatus;
1334
- };
1335
- floatingChatGetStatus: {
1336
- params: undefined;
1337
- response: FloatingChatStatus;
1338
- };
1339
-
1340
- // ---- Steward Sidecar ----
1341
- stewardGetStatus: {
1342
- params: undefined;
1343
- response: StewardRpcStatus;
1344
- };
1345
- stewardIsLocalEnabled: {
1346
- params: undefined;
1347
- response: { enabled: boolean };
1348
- };
1349
- stewardStart: {
1350
- params: undefined;
1351
- response: StewardRpcStatus;
1352
- };
1353
- stewardRestart: {
1354
- params: undefined;
1355
- response: StewardRpcStatus;
1356
- };
1357
- stewardReset: {
1358
- params: undefined;
1359
- response: StewardRpcStatus;
1360
- };
1361
- };
1362
- // biome-ignore lint/complexity/noBannedTypes: empty message schema placeholder for future audio streaming
1363
- messages: {
1364
- // Messages the webview sends TO bun (rare - most communication
1365
- // is request/response). Audio chunks for streaming could go here.
1366
- };
1367
- }>;
1368
- webview: RPCSchema<{
1369
- requests: {
1370
- // Built-in: evaluateJavascriptWithResponse is added by Electroview.
1371
-
1372
- // Browser Workspace bun delegates evaluate/get-tab-rect to the
1373
- // renderer, which holds the <electrobun-webview> tag refs and runs the
1374
- // request against the matching tab. The rect is in CSS pixels relative
1375
- // to the renderer viewport; bun adds the main-window origin and runs
1376
- // the OS screencapture itself.
1377
- browserWorkspaceRendererEvaluate: {
1378
- params: { id: string; script: string; timeoutMs: number };
1379
- response: { ok: boolean; result?: unknown; error?: string };
1380
- };
1381
- browserWorkspaceRendererGetTabRect: {
1382
- params: { id: string };
1383
- response: {
1384
- x: number;
1385
- y: number;
1386
- width: number;
1387
- height: number;
1388
- } | null;
1389
- };
1390
- };
1391
- messages: {
1392
- // Push events FROM bun TO webview
1393
-
1394
- // Gateway
1395
- gatewayDiscovery: {
1396
- type: "found" | "updated" | "lost";
1397
- gateway: GatewayEndpoint;
1398
- };
1399
-
1400
- // Permissions
1401
- permissionsChanged: { id: string };
1402
-
1403
- // Desktop: Tray events
1404
- desktopTrayMenuClick: {
1405
- itemId: string;
1406
- checked?: boolean;
1407
- /** Present when `itemId === "menu-reset-applied"` (main-process reset). */
1408
- agentStatus?: Record<string, unknown> | null;
1409
- };
1410
- desktopTrayClick: TrayClickEvent;
1411
-
1412
- // Desktop: Shortcut events
1413
- desktopShortcutPressed: { id: string; accelerator: string };
1414
-
1415
- // Desktop: Window events
1416
- desktopWindowFocus: undefined;
1417
- desktopWindowBlur: undefined;
1418
- desktopWindowMaximize: undefined;
1419
- desktopWindowUnmaximize: undefined;
1420
- desktopWindowClose: undefined;
1421
- desktopShutdownStarted: { reason: string };
1422
- desktopManagedWindowsChanged: {
1423
- windows: DesktopManagedWindowSnapshot[];
1424
- };
1425
-
1426
- // Canvas: Window events
1427
- canvasWindowEvent: {
1428
- windowId: string;
1429
- event: string;
1430
- data?: unknown;
1431
- };
1432
-
1433
- // TalkMode: Audio/state push events
1434
- talkmodeAudioChunkPush: { data: string };
1435
- talkmodeStateChanged: { state: TalkModeState };
1436
- talkmodeSpeakComplete: undefined;
1437
- talkmodeTranscript: {
1438
- text: string;
1439
- segments: Array<{ text: string; start: number; end: number }>;
1440
- };
1441
- talkmodeError: {
1442
- code: string;
1443
- message: string;
1444
- recoverable: boolean;
1445
- };
1446
-
1447
- // Swabble: Wake word detection
1448
- swabbleWakeWord: {
1449
- trigger: string;
1450
- command: string;
1451
- transcript: string;
1452
- };
1453
- swabbleStateChanged: { listening: boolean };
1454
- swabbleTranscript: {
1455
- transcript: string;
1456
- segments: Array<{
1457
- text: string;
1458
- start: number;
1459
- duration: number;
1460
- isFinal: boolean;
1461
- }>;
1462
- isFinal: boolean;
1463
- confidence?: number;
1464
- };
1465
- swabbleError: {
1466
- code: string;
1467
- message: string;
1468
- recoverable: boolean;
1469
- };
1470
- // Swabble: audio chunk fallback (whisper.cpp binary missing)
1471
- swabbleAudioChunkPush: { data: string };
1472
-
1473
- // Context menu push events (Bun pushes to renderer after processing)
1474
- contextMenuAskAgent: { text: string };
1475
- contextMenuCreateSkill: { text: string };
1476
- contextMenuQuoteInChat: { text: string };
1477
- contextMenuSaveAsCommand: { text: string };
1478
-
1479
- // Workspace file change push events
1480
- workspaceFileChanged: FileChangeEvent;
1481
-
1482
- // Editor bridge push events
1483
- editorSessionChanged: EditorSession | null;
1484
-
1485
- // Floating chat push events
1486
- floatingChatStatusChanged: FloatingChatStatus;
1487
-
1488
- // API Base injection
1489
- apiBaseUpdate: { base: string; token?: string };
1490
-
1491
- // Share target
1492
- shareTargetReceived: { url: string; text?: string };
1493
-
1494
- // Location push events
1495
- locationUpdate: {
1496
- latitude: number;
1497
- longitude: number;
1498
- accuracy: number;
1499
- timestamp: number;
1500
- };
1501
-
1502
- // Desktop: Update events
1503
- desktopUpdateAvailable: { version: string; releaseNotes?: string };
1504
- desktopUpdateReady: { version: string };
1505
-
1506
- // GPU Window push events
1507
- gpuWindowClosed: { id: string };
1508
-
1509
- // Steward sidecar status push
1510
- stewardStatusUpdate: StewardRpcStatus;
1511
-
1512
- // WebGPU browser support status
1513
- webGpuBrowserStatus: {
1514
- available: boolean;
1515
- reason: string;
1516
- renderer: string;
1517
- chromeBetaPath: string | null;
1518
- downloadUrl: string | null;
1519
- };
1520
- };
1521
- }>;
1090
+ bun: RPCSchema<{
1091
+ requests: {
1092
+ // ---- Agent ----
1093
+ agentStart: { params: undefined; response: EmbeddedAgentStatus };
1094
+ agentStop: { params: undefined; response: { ok: true } };
1095
+ agentRestart: { params: undefined; response: EmbeddedAgentStatus };
1096
+ agentRestartClearLocalDb: {
1097
+ params: undefined;
1098
+ response: EmbeddedAgentStatus;
1099
+ };
1100
+ agentStatus: { params: undefined; response: EmbeddedAgentStatus };
1101
+ getAgentStatus: { params: undefined; response: AgentStatusSnapshot };
1102
+ getUpdateStatus: {
1103
+ params: { force?: boolean } | undefined;
1104
+ response: AgentUpdateStatusSnapshot;
1105
+ };
1106
+ getExtensionStatus: {
1107
+ params: undefined;
1108
+ response: ExtensionStatusSnapshot;
1109
+ };
1110
+ getSubscriptionStatus: {
1111
+ params: undefined;
1112
+ response: SubscriptionStatusResponse;
1113
+ };
1114
+ getRuntimeSnapshot: {
1115
+ params: RuntimeDebugSnapshotParams | undefined;
1116
+ response: RuntimeDebugSnapshot;
1117
+ };
1118
+ getAgentSelfStatus: {
1119
+ params: undefined;
1120
+ response: AgentSelfStatusSnapshot;
1121
+ };
1122
+ getTriggerHealth: {
1123
+ params: undefined;
1124
+ response: TriggerHealthSnapshot;
1125
+ };
1126
+ getCorePlugins: {
1127
+ params: undefined;
1128
+ response: CorePluginsSnapshot;
1129
+ };
1130
+ remotePluginGetStoreRoot: {
1131
+ params: undefined;
1132
+ response: { storeRoot: string };
1133
+ };
1134
+ remotePluginList: {
1135
+ params: undefined;
1136
+ response: { remotePlugins: RemotePluginListEntry[] };
1137
+ };
1138
+ remotePluginGetStoreSnapshot: {
1139
+ params: undefined;
1140
+ response: RemotePluginStoreSnapshot;
1141
+ };
1142
+ remotePluginGet: {
1143
+ params: { id: string };
1144
+ response: InstalledRemotePluginSnapshot | null;
1145
+ };
1146
+ remotePluginInstallFromDirectory: {
1147
+ params: RemotePluginInstallFromDirectoryRequest;
1148
+ response: InstalledRemotePluginSnapshot;
1149
+ };
1150
+ remotePluginUninstall: {
1151
+ params: { id: string };
1152
+ response: RemotePluginUninstallResult;
1153
+ };
1154
+ remotePluginStartWorker: {
1155
+ params: { id: string };
1156
+ response: RemotePluginWorkerStatus;
1157
+ };
1158
+ remotePluginStopWorker: {
1159
+ params: { id: string };
1160
+ response: RemotePluginWorkerStatus;
1161
+ };
1162
+ remotePluginGetWorkerStatus: {
1163
+ params: { id: string };
1164
+ response: RemotePluginWorkerStatus | null;
1165
+ };
1166
+ remotePluginListWorkerStatuses: {
1167
+ params: undefined;
1168
+ response: { workers: RemotePluginWorkerStatus[] };
1169
+ };
1170
+ remotePluginGetLogs: {
1171
+ params: { id: string; maxBytes?: number };
1172
+ response: RemotePluginLogsSnapshot;
1173
+ };
1174
+ remotePluginInvokeWorker: {
1175
+ params: RemotePluginInvokeWorkerRequest;
1176
+ response: JsonValue | null;
1177
+ };
1178
+ remotePluginTailWorkerEvents: {
1179
+ params: RemotePluginTailWorkerEventsRequest;
1180
+ response: RemotePluginWorkerEventsTailSnapshot;
1181
+ };
1182
+ dynamicViewRegister: {
1183
+ params: DynamicViewRegisterParams;
1184
+ response: DynamicViewManifest;
1185
+ };
1186
+ dynamicViewUnregister: {
1187
+ params: DynamicViewUnregisterParams;
1188
+ response: { removed: boolean };
1189
+ };
1190
+ dynamicViewList: {
1191
+ params: undefined;
1192
+ response: { views: DynamicViewManifest[] };
1193
+ };
1194
+ dynamicViewOpen: {
1195
+ params: DynamicViewOpenParams;
1196
+ response: DynamicViewSession;
1197
+ };
1198
+ dynamicViewClose: {
1199
+ params: DynamicViewCloseParams;
1200
+ response: DynamicViewSession;
1201
+ };
1202
+ dynamicViewPush: {
1203
+ params: DynamicViewPushParams;
1204
+ response: { ok: true };
1205
+ };
1206
+ dynamicViewSessions: {
1207
+ params: undefined;
1208
+ response: { sessions: DynamicViewSession[] };
1209
+ };
1210
+ traceSessionStart: {
1211
+ params: TraceStartSessionParams;
1212
+ response: TraceSession;
1213
+ };
1214
+ traceSessionComplete: {
1215
+ params: {
1216
+ sessionId: string;
1217
+ metadata?: Record<string, JsonValue>;
1218
+ };
1219
+ response: TraceSession;
1220
+ };
1221
+ traceSessionCancel: {
1222
+ params: { sessionId: string; reason?: string };
1223
+ response: TraceSession;
1224
+ };
1225
+ traceSessionError: {
1226
+ params: { sessionId: string; error: string; details?: JsonValue };
1227
+ response: TraceSession;
1228
+ };
1229
+ traceEventRecord: {
1230
+ params: TraceRecordEventParams;
1231
+ response: TraceEvent;
1232
+ };
1233
+ traceSessionList: {
1234
+ params:
1235
+ | {
1236
+ limit?: number;
1237
+ status?: TraceSessionStatus;
1238
+ }
1239
+ | undefined;
1240
+ response: { sessions: TraceSession[] };
1241
+ };
1242
+ traceSessionGet: {
1243
+ params: { sessionId: string };
1244
+ response: TraceSession;
1245
+ };
1246
+ traceSessionSummary: {
1247
+ params: { sessionId: string };
1248
+ response: TraceSummary;
1249
+ };
1250
+ traceEventsTail: {
1251
+ params: TraceTailParams;
1252
+ response: TraceTailResult;
1253
+ };
1254
+ traceEventsSearch: {
1255
+ params: TraceSearchParams | undefined;
1256
+ response: { events: TraceEvent[] };
1257
+ };
1258
+ traceViewOpen: {
1259
+ params: { sessionId: string };
1260
+ response: { session: TraceSession; dynamicViewSessionId: string };
1261
+ };
1262
+ voiceStatus: {
1263
+ params: undefined;
1264
+ response: VoicePipelineSnapshot;
1265
+ };
1266
+ voiceComponents: {
1267
+ params: undefined;
1268
+ response: { components: VoiceComponentSnapshot[] };
1269
+ };
1270
+ voiceStart: {
1271
+ params: VoiceStartParams | undefined;
1272
+ response: VoicePipelineSnapshot;
1273
+ };
1274
+ voiceStop: {
1275
+ params: VoiceStopParams | undefined;
1276
+ response: VoicePipelineSnapshot;
1277
+ };
1278
+ voiceInterrupt: {
1279
+ params: VoiceInterruptParams | undefined;
1280
+ response: VoicePipelineSnapshot;
1281
+ };
1282
+ voiceInjectTranscript: {
1283
+ params: VoiceInjectTranscriptParams;
1284
+ response: VoiceTurn;
1285
+ };
1286
+ voiceSpeak: {
1287
+ params: VoiceSpeakParams;
1288
+ response: VoiceTurn;
1289
+ };
1290
+ voiceTranscribeAudio: {
1291
+ params: VoiceTranscribeAudioParams;
1292
+ response: VoiceTurn;
1293
+ };
1294
+ voiceSynthesizeSpeech: {
1295
+ params: VoiceSynthesizeSpeechParams;
1296
+ response: VoiceSynthesisResult;
1297
+ };
1298
+ voiceLatency: {
1299
+ params: undefined;
1300
+ response: VoiceLatencySummary;
1301
+ };
1302
+ voiceRecentTurns: {
1303
+ params: { limit?: number } | undefined;
1304
+ response: { turns: VoiceTurn[] };
1305
+ };
1306
+ /**
1307
+ * Aggregated boot/startup snapshot. Combines `agentStatus` with the
1308
+ * `/api/health` plugin/db counters and the in-process runtime phase.
1309
+ * Renderer should call this in the polling-backend startup phase
1310
+ * instead of hitting `/api/health` over HTTP — typed end-to-end,
1311
+ * no port shifts, no schema drift.
1312
+ */
1313
+ bootProgress: { params: undefined; response: BootProgressSnapshot };
1314
+ launchProgress: { params: undefined; response: LaunchSnapshot };
1315
+ launchEventsTail: {
1316
+ params: LaunchEventsTailParams | undefined;
1317
+ response: LaunchEventsTailResult;
1318
+ };
1319
+ launchRetry: { params: undefined; response: LaunchSnapshot };
1320
+ launchOpenDiagnosticsView: {
1321
+ params: undefined;
1322
+ response: { sessionId: string };
1323
+ };
1324
+ launchCreateBugReportBundle: {
1325
+ params: undefined;
1326
+ response: LaunchBugReportBundleInfo;
1327
+ };
1328
+ databaseStatus: {
1329
+ params: undefined;
1330
+ response: DatabaseSnapshot;
1331
+ };
1332
+ databaseRecoveryPreview: {
1333
+ params: undefined;
1334
+ response: DatabaseRecoveryPreview;
1335
+ };
1336
+ databaseBackupPglite: {
1337
+ params: undefined;
1338
+ response: DatabaseBackupResult;
1339
+ };
1340
+ databaseResetPglite: {
1341
+ params: { restart?: boolean } | undefined;
1342
+ response: DatabaseResetPgliteResult;
1343
+ };
1344
+ /**
1345
+ * Typed counterpart to `client.getFirstRunStatus()` — the
1346
+ * renderer's first-boot gate. Same data as
1347
+ * `GET /api/first-run/status`; same transitional carrier as
1348
+ * bootProgress (in-process HTTP fetch today, in-process state
1349
+ * read once the agent runtime merges into this Bun process).
1350
+ */
1351
+ getFirstRunStatus: {
1352
+ params: undefined;
1353
+ response: FirstRunStatusSnapshot;
1354
+ };
1355
+ /**
1356
+ * Typed counterpart to `client.getFirstRunOptions()` — provider
1357
+ * + model catalogs the first-run UI hydrates from. Same data as
1358
+ * `GET /api/first-run/options`.
1359
+ */
1360
+ getFirstRunOptions: {
1361
+ params: undefined;
1362
+ response: FirstRunOptionsSnapshot;
1363
+ };
1364
+ /**
1365
+ * Typed counterpart to `client.getConfig()` — the agent's
1366
+ * redacted in-memory config. Same data as `GET /api/config`.
1367
+ */
1368
+ getConfig: { params: undefined; response: ConfigSnapshot };
1369
+ updateConfig: {
1370
+ params: SettingsConfigSnapshot;
1371
+ response: SettingsConfigSnapshot;
1372
+ };
1373
+ getConfigSchema: { params: undefined; response: ConfigSchemaSnapshot };
1374
+ getAgentAutomationMode: {
1375
+ params: undefined;
1376
+ response: AgentAutomationModeSnapshot;
1377
+ };
1378
+ setAgentAutomationMode: {
1379
+ params: { mode: AgentAutomationMode };
1380
+ response: AgentAutomationModeSnapshot;
1381
+ };
1382
+ getTradePermissionMode: {
1383
+ params: undefined;
1384
+ response: TradePermissionModeSnapshot;
1385
+ };
1386
+ setTradePermissionMode: {
1387
+ params: { mode: TradePermissionMode };
1388
+ response: TradePermissionModeSnapshot;
1389
+ };
1390
+ /**
1391
+ * Typed counterpart to `client.getAuthStatus()` — pairing/auth
1392
+ * gate state. Same data as `GET /api/auth/status`. The
1393
+ * polling-backend startup phase calls this to decide between
1394
+ * "no auth needed" and "show pairing/login view".
1395
+ */
1396
+ getAuthStatus: { params: undefined; response: AuthStatusSnapshot };
1397
+ /**
1398
+ * Typed counterpart to `client.getAuthMe()` — current session
1399
+ * identity + access mode. Same data as `GET /api/auth/me`.
1400
+ */
1401
+ getAuthMe: { params: undefined; response: AuthMeSnapshot };
1402
+ /**
1403
+ * Typed counterpart to `client.listConversations()` — drives
1404
+ * the conversations sidebar. Same data as `GET /api/conversations`.
1405
+ * Polled by ConversationsSidebar via useIntervalWhenDocumentVisible.
1406
+ */
1407
+ listConversations: {
1408
+ params: undefined;
1409
+ response: ConversationsListSnapshot;
1410
+ };
1411
+ getConversationMessages: {
1412
+ params: { id: string };
1413
+ response: ConversationMessagesSnapshot;
1414
+ };
1415
+ getInboxMessages: {
1416
+ params: InboxMessagesParams | undefined;
1417
+ response: InboxMessagesSnapshot;
1418
+ };
1419
+ getInboxChats: {
1420
+ params: InboxChatsParams | undefined;
1421
+ response: InboxChatsSnapshot;
1422
+ };
1423
+ getInboxSources: {
1424
+ params: undefined;
1425
+ response: InboxSourcesSnapshot;
1426
+ };
1427
+ /**
1428
+ * Typed counterpart to `client.getCharacter()` — the agent's
1429
+ * current character config. Same data as `GET /api/character`.
1430
+ */
1431
+ getCharacter: { params: undefined; response: CharacterSnapshot };
1432
+ agentInspectExistingInstall: {
1433
+ params: undefined;
1434
+ response: ExistingElizaInstallInfo;
1435
+ };
1436
+ agentMigrateStateDir: {
1437
+ params: { fromPath: string };
1438
+ response: StateDirMigrationResult;
1439
+ };
1440
+ agentPostReset: {
1441
+ params: { apiBase?: string; bearerToken?: string } | undefined | null;
1442
+ response: { ok: boolean; error?: string };
1443
+ };
1444
+ agentPostCloudDisconnect: {
1445
+ params: { apiBase?: string; bearerToken?: string } | undefined | null;
1446
+ response: { ok: boolean; error?: string };
1447
+ };
1448
+ /** Native confirm + main POST (renderer bridge/fetch can stall after a sheet). */
1449
+ agentCloudDisconnectWithConfirm: {
1450
+ params: { apiBase?: string; bearerToken?: string } | undefined | null;
1451
+ response:
1452
+ | { cancelled: true }
1453
+ | { ok: true }
1454
+ | { ok: false; error: string };
1455
+ };
1456
+
1457
+ // ---- Renderer diagnostics ----
1458
+ rendererReportDiagnostic: {
1459
+ params:
1460
+ | {
1461
+ level?: "log" | "info" | "warn" | "error";
1462
+ source?: string;
1463
+ message?: string;
1464
+ details?: unknown;
1465
+ }
1466
+ | undefined
1467
+ | null;
1468
+ response: { ok: true };
1469
+ };
1470
+
1471
+ // ---- Desktop: Tray ----
1472
+ desktopCreateTray: { params: TrayOptions; response: undefined };
1473
+ desktopUpdateTray: { params: Partial<TrayOptions>; response: undefined };
1474
+ desktopDestroyTray: { params: undefined; response: undefined };
1475
+ desktopSetTrayMenu: {
1476
+ params: { menu: TrayMenuItem[] };
1477
+ response: undefined;
1478
+ };
1479
+
1480
+ // ---- Desktop: Shortcuts ----
1481
+ desktopRegisterShortcut: {
1482
+ params: ShortcutOptions;
1483
+ response: { success: boolean };
1484
+ };
1485
+ desktopUnregisterShortcut: {
1486
+ params: { id: string };
1487
+ response: undefined;
1488
+ };
1489
+ desktopUnregisterAllShortcuts: { params: undefined; response: undefined };
1490
+ desktopIsShortcutRegistered: {
1491
+ params: { accelerator: string };
1492
+ response: { registered: boolean };
1493
+ };
1494
+
1495
+ // ---- Desktop: Auto Launch ----
1496
+ desktopSetAutoLaunch: {
1497
+ params: { enabled: boolean; openAsHidden?: boolean };
1498
+ response: undefined;
1499
+ };
1500
+ desktopGetAutoLaunchStatus: {
1501
+ params: undefined;
1502
+ response: { enabled: boolean; openAsHidden: boolean };
1503
+ };
1504
+
1505
+ // ---- Desktop: Window ----
1506
+ desktopSetWindowOptions: { params: WindowOptions; response: undefined };
1507
+ desktopGetWindowBounds: { params: undefined; response: WindowBounds };
1508
+ desktopSetWindowBounds: { params: WindowBounds; response: undefined };
1509
+ desktopMinimizeWindow: { params: undefined; response: undefined };
1510
+ desktopUnminimizeWindow: { params: undefined; response: undefined };
1511
+ desktopMaximizeWindow: { params: undefined; response: undefined };
1512
+ desktopUnmaximizeWindow: { params: undefined; response: undefined };
1513
+ desktopCloseWindow: { params: undefined; response: undefined };
1514
+ desktopShowWindow: { params: undefined; response: undefined };
1515
+ desktopHideWindow: { params: undefined; response: undefined };
1516
+ desktopFocusWindow: { params: undefined; response: undefined };
1517
+ desktopIsWindowMaximized: {
1518
+ params: undefined;
1519
+ response: { maximized: boolean };
1520
+ };
1521
+ desktopIsWindowMinimized: {
1522
+ params: undefined;
1523
+ response: { minimized: boolean };
1524
+ };
1525
+ desktopIsWindowVisible: {
1526
+ params: undefined;
1527
+ response: { visible: boolean };
1528
+ };
1529
+ desktopIsWindowFocused: {
1530
+ params: undefined;
1531
+ response: { focused: boolean };
1532
+ };
1533
+ desktopSetAlwaysOnTop: {
1534
+ params: { flag: boolean; level?: string };
1535
+ response: undefined;
1536
+ };
1537
+ desktopSetFullscreen: { params: { flag: boolean }; response: undefined };
1538
+ desktopSetOpacity: { params: { opacity: number }; response: undefined };
1539
+
1540
+ // ---- Desktop: Notifications ----
1541
+ desktopShowNotification: {
1542
+ params: NotificationOptions;
1543
+ response: { id: string };
1544
+ };
1545
+ desktopCloseNotification: { params: { id: string }; response: undefined };
1546
+ desktopShowBackgroundNotice: {
1547
+ params: undefined;
1548
+ response: { shown: boolean };
1549
+ };
1550
+
1551
+ // ---- Desktop: Power ----
1552
+ desktopGetPowerState: { params: undefined; response: PowerState };
1553
+
1554
+ // ---- Screen ----
1555
+ desktopGetPrimaryDisplay: { params: undefined; response: DisplayInfo };
1556
+ desktopGetAllDisplays: {
1557
+ params: undefined;
1558
+ response: { displays: DisplayInfo[] };
1559
+ };
1560
+ desktopGetCursorPosition: { params: undefined; response: CursorPosition };
1561
+
1562
+ // ---- Desktop: Message Box ----
1563
+ desktopShowMessageBox: {
1564
+ params: MessageBoxOptions;
1565
+ response: MessageBoxResult;
1566
+ };
1567
+
1568
+ // ---- Desktop: App ----
1569
+ desktopQuit: { params: undefined; response: undefined };
1570
+ desktopRelaunch: { params: undefined; response: undefined };
1571
+ desktopApplyUpdate: { params: undefined; response: undefined };
1572
+ desktopCheckForUpdates: {
1573
+ params: undefined;
1574
+ response: DesktopUpdaterSnapshot;
1575
+ };
1576
+ desktopGetUpdaterState: {
1577
+ params: undefined;
1578
+ response: DesktopUpdaterSnapshot;
1579
+ };
1580
+ desktopGetVersion: { params: undefined; response: VersionInfo };
1581
+ desktopGetBuildInfo: { params: undefined; response: DesktopBuildInfo };
1582
+ desktopIsPackaged: { params: undefined; response: { packaged: boolean } };
1583
+ desktopGetDockIconVisibility: {
1584
+ params: undefined;
1585
+ response: { visible: boolean };
1586
+ };
1587
+ desktopSetDockIconVisibility: {
1588
+ params: { visible: boolean };
1589
+ response: { visible: boolean };
1590
+ };
1591
+ desktopGetPath: {
1592
+ params: { name: string };
1593
+ response: { path: string };
1594
+ };
1595
+ desktopGetStartupDiagnostics: {
1596
+ params: undefined;
1597
+ response: DesktopStartupDiagnostics;
1598
+ };
1599
+ desktopGetRuntimeMode: {
1600
+ params: undefined;
1601
+ response: {
1602
+ mode: "local" | "external" | "disabled";
1603
+ externalApiBase?: string | null;
1604
+ externalApiSource?: string | null;
1605
+ };
1606
+ };
1607
+ desktopHttpRequest: {
1608
+ params: DesktopHttpRequestOptions;
1609
+ response: DesktopHttpRequestResult;
1610
+ };
1611
+ desktopOpenLogsFolder: { params: undefined; response: undefined };
1612
+ desktopCreateBugReportBundle: {
1613
+ params: {
1614
+ reportMarkdown: string;
1615
+ reportJson: Record<string, unknown>;
1616
+ prefix?: string;
1617
+ };
1618
+ response: DesktopBugReportBundleInfo;
1619
+ };
1620
+ desktopBeep: { params: undefined; response: undefined };
1621
+ desktopShowSelectionContextMenu: {
1622
+ params: { text: string };
1623
+ response: { shown: boolean };
1624
+ };
1625
+ desktopGetSessionSnapshot: {
1626
+ params: { partition: string };
1627
+ response: DesktopSessionSnapshot;
1628
+ };
1629
+ desktopClearSessionData: {
1630
+ params: {
1631
+ partition: string;
1632
+ storageTypes?: DesktopSessionStorageType[] | "all";
1633
+ clearCookies?: boolean;
1634
+ };
1635
+ response: DesktopSessionSnapshot;
1636
+ };
1637
+ desktopGetWebGpuBrowserStatus: {
1638
+ params: undefined;
1639
+ response: {
1640
+ available: boolean;
1641
+ reason: string;
1642
+ renderer: string;
1643
+ chromeBetaPath: string | null;
1644
+ downloadUrl: string | null;
1645
+ };
1646
+ };
1647
+ desktopOpenReleaseNotesWindow: {
1648
+ params: { url: string; title?: string };
1649
+ response: DesktopReleaseNotesWindowInfo;
1650
+ };
1651
+ desktopOpenSettingsWindow: {
1652
+ params: { tabHint?: string } | undefined;
1653
+ response: undefined;
1654
+ };
1655
+ desktopOpenSurfaceWindow: {
1656
+ params: {
1657
+ surface:
1658
+ | "chat"
1659
+ | "browser"
1660
+ | "release"
1661
+ | "triggers"
1662
+ | "plugins"
1663
+ | "connectors"
1664
+ | "cloud";
1665
+ browse?: string;
1666
+ alwaysOnTop?: boolean;
1667
+ };
1668
+ response: DesktopManagedWindowSnapshot | null;
1669
+ };
1670
+ desktopOpenAppWindow: {
1671
+ params: {
1672
+ slug?: string;
1673
+ title: string;
1674
+ path: string;
1675
+ alwaysOnTop?: boolean;
1676
+ };
1677
+ response: DesktopManagedWindowSnapshot | null;
1678
+ };
1679
+ desktopSetManagedWindowAlwaysOnTop: {
1680
+ params: { id: string; flag: boolean };
1681
+ response: { success: boolean };
1682
+ };
1683
+
1684
+ // ---- Browser Workspace ----
1685
+ browserWorkspaceGetSnapshot: {
1686
+ params: undefined;
1687
+ response: BrowserWorkspaceSnapshot;
1688
+ };
1689
+ browserWorkspaceOpenTab: {
1690
+ params: OpenBrowserWorkspaceTabRequest;
1691
+ response: { tab: BrowserWorkspaceTab };
1692
+ };
1693
+ browserWorkspaceNavigateTab: {
1694
+ params: NavigateBrowserWorkspaceTabRequest;
1695
+ response: { tab: BrowserWorkspaceTab };
1696
+ };
1697
+ browserWorkspaceShowTab: {
1698
+ params: { id: string };
1699
+ response: { tab: BrowserWorkspaceTab };
1700
+ };
1701
+ browserWorkspaceHideTab: {
1702
+ params: { id: string };
1703
+ response: { tab: BrowserWorkspaceTab };
1704
+ };
1705
+ browserWorkspaceCloseTab: {
1706
+ params: { id: string };
1707
+ response: { closed: boolean };
1708
+ };
1709
+ browserWorkspaceSnapshotTab: {
1710
+ params: { id: string };
1711
+ response: { data: string };
1712
+ };
1713
+
1714
+ // ---- Desktop: Clipboard ----
1715
+ desktopWriteToClipboard: {
1716
+ params: ClipboardWriteOptions;
1717
+ response: undefined;
1718
+ };
1719
+ desktopReadFromClipboard: {
1720
+ params: undefined;
1721
+ response: ClipboardReadResult;
1722
+ };
1723
+ desktopClearClipboard: { params: undefined; response: undefined };
1724
+ desktopClipboardAvailableFormats: {
1725
+ params: undefined;
1726
+ response: { formats: string[] };
1727
+ };
1728
+
1729
+ // ---- Desktop: Shell ----
1730
+ desktopOpenExternal: { params: { url: string }; response: undefined };
1731
+ desktopShowItemInFolder: {
1732
+ params: { path: string };
1733
+ response: undefined;
1734
+ };
1735
+ desktopOpenPath: { params: { path: string }; response: undefined };
1736
+
1737
+ // ---- Desktop: File Dialogs ----
1738
+ desktopShowOpenDialog: {
1739
+ params: FileDialogOptions;
1740
+ response: FileDialogResult;
1741
+ };
1742
+ desktopShowSaveDialog: {
1743
+ params: FileDialogOptions;
1744
+ response: FileDialogResult;
1745
+ };
1746
+ desktopPickWorkspaceFolder: {
1747
+ params: { defaultPath?: string; promptTitle?: string };
1748
+ response: WorkspaceFolderPickResult;
1749
+ };
1750
+ desktopResolveWorkspaceFolderBookmark: {
1751
+ params: { bookmark: string };
1752
+ response: WorkspaceFolderBookmarkResolveResult;
1753
+ };
1754
+ desktopReleaseWorkspaceFolderBookmarks: {
1755
+ params: undefined;
1756
+ response: { ok: true };
1757
+ };
1758
+
1759
+ // ---- Gateway ----
1760
+ gatewayStartDiscovery: {
1761
+ params: DiscoveryOptions | undefined;
1762
+ response: DiscoveryResult;
1763
+ };
1764
+ gatewayStopDiscovery: { params: undefined; response: undefined };
1765
+ gatewayIsDiscovering: {
1766
+ params: undefined;
1767
+ response: { isDiscovering: boolean };
1768
+ };
1769
+ gatewayGetDiscoveredGateways: {
1770
+ params: undefined;
1771
+ response: { gateways: GatewayEndpoint[] };
1772
+ };
1773
+
1774
+ // ---- Permissions ----
1775
+ permissionsCheck: {
1776
+ params: { id: SystemPermissionId; forceRefresh?: boolean };
1777
+ response: PermissionState;
1778
+ };
1779
+ permissionsCheckFeature: {
1780
+ params: { featureId: string };
1781
+ response: { granted: boolean; missing: SystemPermissionId[] };
1782
+ };
1783
+ permissionsRequest: {
1784
+ params: { id: SystemPermissionId };
1785
+ response: PermissionState;
1786
+ };
1787
+ permissionsGetAll: {
1788
+ params: { forceRefresh?: boolean };
1789
+ response: AllPermissionsState;
1790
+ };
1791
+ permissionsGetPlatform: { params: undefined; response: string };
1792
+ permissionsIsShellEnabled: { params: undefined; response: boolean };
1793
+ permissionsSetShellEnabled: {
1794
+ params: { enabled: boolean };
1795
+ response: PermissionState;
1796
+ };
1797
+ permissionsClearCache: { params: undefined; response: undefined };
1798
+ permissionsOpenSettings: {
1799
+ params: { id: SystemPermissionId };
1800
+ response: undefined;
1801
+ };
1802
+
1803
+ // ---- Location ----
1804
+ locationGetCurrentPosition: {
1805
+ params: undefined;
1806
+ response: {
1807
+ latitude: number;
1808
+ longitude: number;
1809
+ accuracy: number;
1810
+ timestamp: number;
1811
+ } | null;
1812
+ };
1813
+ locationWatchPosition: {
1814
+ params: { interval?: number };
1815
+ response: { watchId: string };
1816
+ };
1817
+ locationClearWatch: { params: { watchId: string }; response: undefined };
1818
+ locationGetLastKnownLocation: {
1819
+ params: undefined;
1820
+ response: {
1821
+ latitude: number;
1822
+ longitude: number;
1823
+ accuracy: number;
1824
+ timestamp: number;
1825
+ } | null;
1826
+ };
1827
+
1828
+ // ---- Camera (graceful stubs) ----
1829
+ cameraGetDevices: {
1830
+ params: undefined;
1831
+ response: { devices: CameraDevice[]; available: boolean };
1832
+ };
1833
+ cameraStartPreview: {
1834
+ params: { deviceId?: string };
1835
+ response: { available: boolean; reason?: string };
1836
+ };
1837
+ cameraStopPreview: { params: undefined; response: undefined };
1838
+ cameraSwitchCamera: {
1839
+ params: { deviceId: string };
1840
+ response: { available: boolean };
1841
+ };
1842
+ cameraCapturePhoto: {
1843
+ params: undefined;
1844
+ response: { available: boolean; data?: string };
1845
+ };
1846
+ cameraStartRecording: {
1847
+ params: undefined;
1848
+ response: { available: boolean };
1849
+ };
1850
+ cameraStopRecording: {
1851
+ params: undefined;
1852
+ response: { available: boolean; path?: string };
1853
+ };
1854
+ cameraGetRecordingState: {
1855
+ params: undefined;
1856
+ response: { recording: boolean; duration: number };
1857
+ };
1858
+ cameraCheckPermissions: {
1859
+ params: undefined;
1860
+ response: { status: string };
1861
+ };
1862
+ cameraRequestPermissions: {
1863
+ params: undefined;
1864
+ response: { status: string };
1865
+ };
1866
+
1867
+ // ---- Canvas ----
1868
+ canvasCreateWindow: {
1869
+ params: CanvasWindowOptions;
1870
+ response: { id: string };
1871
+ };
1872
+ canvasDestroyWindow: { params: { id: string }; response: undefined };
1873
+ canvasNavigate: {
1874
+ params: { id: string; url: string };
1875
+ response: { available: boolean; reason?: string };
1876
+ };
1877
+ /**
1878
+ * PRIVILEGED: Executes arbitrary JavaScript in a canvas BrowserWindow.
1879
+ * This is intentionally unrestricted for agent computer-use capabilities.
1880
+ * Security relies on canvas windows being isolated from user-facing content.
1881
+ * Any XSS in the main webview could invoke this on canvas windows.
1882
+ */
1883
+ canvasEval: {
1884
+ params: { id: string; script: string };
1885
+ response: unknown;
1886
+ };
1887
+ canvasSnapshot: {
1888
+ params: { id: string; format?: string; quality?: number };
1889
+ response: { data: string } | null;
1890
+ };
1891
+ canvasA2uiPush: {
1892
+ params: { id: string; payload: unknown };
1893
+ response: undefined;
1894
+ };
1895
+ canvasA2uiReset: { params: { id: string }; response: undefined };
1896
+ canvasShow: { params: { id: string }; response: undefined };
1897
+ canvasHide: { params: { id: string }; response: undefined };
1898
+ canvasResize: {
1899
+ params: { id: string; width: number; height: number };
1900
+ response: undefined;
1901
+ };
1902
+ canvasFocus: { params: { id: string }; response: undefined };
1903
+ canvasGetBounds: {
1904
+ params: { id: string };
1905
+ response: WindowBounds;
1906
+ };
1907
+ canvasSetBounds: {
1908
+ params: { id: string } & WindowBounds;
1909
+ response: undefined;
1910
+ };
1911
+ canvasSetAlwaysOnTop: {
1912
+ params: { id: string; flag: boolean };
1913
+ response: { success: boolean };
1914
+ };
1915
+ canvasListWindows: {
1916
+ params: undefined;
1917
+ response: { windows: CanvasWindowInfo[] };
1918
+ };
1919
+
1920
+ // ---- Game ----
1921
+ /** Opens a game client URL in a dedicated isolated BrowserWindow. */
1922
+ gameOpenWindow: {
1923
+ params: { url: string; title?: string; alwaysOnTop?: boolean };
1924
+ response: { id: string };
1925
+ };
1926
+
1927
+ // ---- Screencapture (graceful stubs) ----
1928
+ screencaptureGetSources: {
1929
+ params: undefined;
1930
+ response: { sources: ScreenSource[]; available: boolean };
1931
+ };
1932
+ screencaptureTakeScreenshot: {
1933
+ params: undefined;
1934
+ response: { available: boolean; data?: string };
1935
+ };
1936
+ screencaptureCaptureWindow: {
1937
+ params: { windowId?: string };
1938
+ response: { available: boolean; data?: string };
1939
+ };
1940
+ screencaptureStartRecording: {
1941
+ params: undefined;
1942
+ response: { available: boolean; reason?: string };
1943
+ };
1944
+ screencaptureStopRecording: {
1945
+ params: undefined;
1946
+ response: { available: boolean; path?: string };
1947
+ };
1948
+ screencapturePauseRecording: {
1949
+ params: undefined;
1950
+ response: { available: boolean };
1951
+ };
1952
+ screencaptureResumeRecording: {
1953
+ params: undefined;
1954
+ response: { available: boolean };
1955
+ };
1956
+ screencaptureGetRecordingState: {
1957
+ params: undefined;
1958
+ response: { recording: boolean; duration: number; paused: boolean };
1959
+ };
1960
+ screencaptureStartFrameCapture: {
1961
+ params: {
1962
+ fps?: number;
1963
+ quality?: number;
1964
+ apiBase?: string;
1965
+ endpoint?: string;
1966
+ gameUrl?: string;
1967
+ };
1968
+ response: { available: boolean; reason?: string };
1969
+ };
1970
+ screencaptureStopFrameCapture: {
1971
+ params: undefined;
1972
+ response: { available: boolean };
1973
+ };
1974
+ screencaptureIsFrameCaptureActive: {
1975
+ params: undefined;
1976
+ response: { active: boolean };
1977
+ };
1978
+ screencaptureSaveScreenshot: {
1979
+ params: { data: string; filename?: string };
1980
+ response: { available: boolean; path?: string };
1981
+ };
1982
+ screencaptureSwitchSource: {
1983
+ params: { sourceId: string };
1984
+ response: { available: boolean };
1985
+ };
1986
+ screencaptureSetCaptureTarget: {
1987
+ params: { webviewId?: string };
1988
+ response: { available: boolean };
1989
+ };
1990
+
1991
+ // ---- Swabble (wake word) ----
1992
+ swabbleStart: {
1993
+ params: {
1994
+ config?: {
1995
+ triggers?: string[];
1996
+ minPostTriggerGap?: number;
1997
+ minCommandLength?: number;
1998
+ modelSize?: "tiny" | "base" | "small" | "medium" | "large";
1999
+ enabled?: boolean;
2000
+ };
2001
+ };
2002
+ response: { started: boolean; error?: string };
2003
+ };
2004
+ swabbleStop: { params: undefined; response: undefined };
2005
+ swabbleIsListening: {
2006
+ params: undefined;
2007
+ response: { listening: boolean };
2008
+ };
2009
+ swabbleGetConfig: {
2010
+ params: undefined;
2011
+ response: Record<string, unknown>;
2012
+ };
2013
+ swabbleUpdateConfig: {
2014
+ params: Record<string, unknown>;
2015
+ response: undefined;
2016
+ };
2017
+ swabbleAudioChunk: { params: { data: string }; response: undefined };
2018
+
2019
+ // ---- TalkMode ----
2020
+ talkmodeStart: {
2021
+ params: undefined;
2022
+ response: { available: boolean; reason?: string };
2023
+ };
2024
+ talkmodeStop: { params: undefined; response: undefined };
2025
+ talkmodeSpeak: {
2026
+ params: { text: string; directive?: Record<string, unknown> };
2027
+ response: undefined;
2028
+ };
2029
+ talkmodeStopSpeaking: { params: undefined; response: undefined };
2030
+ talkmodeGetState: {
2031
+ params: undefined;
2032
+ response: { state: TalkModeState };
2033
+ };
2034
+ talkmodeIsEnabled: { params: undefined; response: { enabled: boolean } };
2035
+ talkmodeIsSpeaking: {
2036
+ params: undefined;
2037
+ response: { speaking: boolean };
2038
+ };
2039
+ talkmodeUpdateConfig: { params: TalkModeConfig; response: undefined };
2040
+ talkmodeAudioChunk: { params: { data: string }; response: undefined };
2041
+
2042
+ // ---- Music player (elizaOS plugin-music-player HTTP routes on agent) ----
2043
+ musicPlayerGetDesktopPlaybackUrls: {
2044
+ params: { guildId?: string };
2045
+ response: MusicPlayerDesktopPlaybackUrls;
2046
+ };
2047
+
2048
+ // ---- Context Menu ----
2049
+ contextMenuAskAgent: {
2050
+ params: { text: string };
2051
+ response: undefined;
2052
+ };
2053
+ contextMenuCreateSkill: {
2054
+ params: { text: string };
2055
+ response: undefined;
2056
+ };
2057
+ contextMenuQuoteInChat: {
2058
+ params: { text: string };
2059
+ response: undefined;
2060
+ };
2061
+ contextMenuSaveAsCommand: {
2062
+ params: { text: string };
2063
+ response: undefined;
2064
+ };
2065
+
2066
+ // ---- Credentials Auto-Detection ----
2067
+ credentialsScanProviders: {
2068
+ params: { context: "first-run" | "tray-refresh" };
2069
+ response: { providers: DetectedProvider[] };
2070
+ };
2071
+ credentialsScanAndValidate: {
2072
+ params: { context: "first-run" | "tray-refresh" };
2073
+ response: { providers: DetectedProvider[] };
2074
+ };
2075
+
2076
+ // ---- GPU Window ----
2077
+ gpuWindowCreate: {
2078
+ params: {
2079
+ id?: string;
2080
+ title?: string;
2081
+ x?: number;
2082
+ y?: number;
2083
+ width?: number;
2084
+ height?: number;
2085
+ transparent?: boolean;
2086
+ alwaysOnTop?: boolean;
2087
+ titleBarStyle?: "hidden" | "hiddenInset" | "default";
2088
+ };
2089
+ response: GpuWindowInfo;
2090
+ };
2091
+ gpuWindowDestroy: { params: { id: string }; response: undefined };
2092
+ gpuWindowShow: { params: { id: string }; response: undefined };
2093
+ gpuWindowHide: { params: { id: string }; response: undefined };
2094
+ gpuWindowSetBounds: {
2095
+ params: { id: string } & WindowBounds;
2096
+ response: undefined;
2097
+ };
2098
+ gpuWindowGetInfo: {
2099
+ params: { id: string };
2100
+ response: GpuWindowInfo | null;
2101
+ };
2102
+ gpuWindowList: {
2103
+ params: undefined;
2104
+ response: { windows: GpuWindowInfo[] };
2105
+ };
2106
+
2107
+ // ---- GPU View ----
2108
+ gpuViewCreate: {
2109
+ params: {
2110
+ id?: string;
2111
+ windowId: number;
2112
+ x?: number;
2113
+ y?: number;
2114
+ width?: number;
2115
+ height?: number;
2116
+ autoResize?: boolean;
2117
+ transparent?: boolean;
2118
+ passthrough?: boolean;
2119
+ };
2120
+ response: GpuViewInfo;
2121
+ };
2122
+ gpuViewDestroy: { params: { id: string }; response: undefined };
2123
+ gpuViewSetFrame: {
2124
+ params: { id: string } & WindowBounds;
2125
+ response: undefined;
2126
+ };
2127
+ gpuViewSetTransparent: {
2128
+ params: { id: string; transparent: boolean };
2129
+ response: undefined;
2130
+ };
2131
+ gpuViewSetHidden: {
2132
+ params: { id: string; hidden: boolean };
2133
+ response: undefined;
2134
+ };
2135
+ gpuViewGetNativeHandle: {
2136
+ params: { id: string };
2137
+ response: { handle: unknown } | null;
2138
+ };
2139
+ gpuViewList: {
2140
+ params: undefined;
2141
+ response: { views: GpuViewInfo[] };
2142
+ };
2143
+
2144
+ // ---- Native Editor Bridge ----
2145
+ editorBridgeListEditors: {
2146
+ params: undefined;
2147
+ response: { editors: NativeEditorInfo[] };
2148
+ };
2149
+ editorBridgeOpenInEditor: {
2150
+ params: { editorId: NativeEditorId; workspacePath: string };
2151
+ response: EditorSession;
2152
+ };
2153
+ editorBridgeGetSession: {
2154
+ params: undefined;
2155
+ response: EditorSession | null;
2156
+ };
2157
+ editorBridgeClearSession: {
2158
+ params: undefined;
2159
+ response: undefined;
2160
+ };
2161
+
2162
+ // ---- Workspace File Watcher ----
2163
+ fileWatcherStart: {
2164
+ params: { watchPath: string };
2165
+ response: { watchId: string };
2166
+ };
2167
+ fileWatcherStop: {
2168
+ params: { watchId: string };
2169
+ response: { stopped: boolean };
2170
+ };
2171
+ fileWatcherStopAll: {
2172
+ params: undefined;
2173
+ response: undefined;
2174
+ };
2175
+ fileWatcherList: {
2176
+ params: undefined;
2177
+ response: { watches: WatchStatus[] };
2178
+ };
2179
+ fileWatcherGetStatus: {
2180
+ params: { watchId: string };
2181
+ response: WatchStatus | null;
2182
+ };
2183
+
2184
+ // ---- Floating Chat Window ----
2185
+ floatingChatOpen: {
2186
+ params: { contextId?: string; x?: number; y?: number };
2187
+ response: FloatingChatStatus;
2188
+ };
2189
+ floatingChatShow: {
2190
+ params: undefined;
2191
+ response: FloatingChatStatus;
2192
+ };
2193
+ floatingChatHide: {
2194
+ params: undefined;
2195
+ response: FloatingChatStatus;
2196
+ };
2197
+ floatingChatClose: {
2198
+ params: undefined;
2199
+ response: FloatingChatStatus;
2200
+ };
2201
+ floatingChatSetContext: {
2202
+ params: { contextId: string | null };
2203
+ response: FloatingChatStatus;
2204
+ };
2205
+ floatingChatGetStatus: {
2206
+ params: undefined;
2207
+ response: FloatingChatStatus;
2208
+ };
2209
+
2210
+ // ---- Steward Sidecar ----
2211
+ stewardGetStatus: {
2212
+ params: undefined;
2213
+ response: StewardRpcStatus;
2214
+ };
2215
+ stewardIsLocalEnabled: {
2216
+ params: undefined;
2217
+ response: { enabled: boolean };
2218
+ };
2219
+ stewardStart: {
2220
+ params: undefined;
2221
+ response: StewardRpcStatus;
2222
+ };
2223
+ stewardRestart: {
2224
+ params: undefined;
2225
+ response: StewardRpcStatus;
2226
+ };
2227
+ stewardReset: {
2228
+ params: undefined;
2229
+ response: StewardRpcStatus;
2230
+ };
2231
+ };
2232
+ // biome-ignore lint/complexity/noBannedTypes: empty message schema placeholder for future audio streaming
2233
+ messages: {
2234
+ // Messages the webview sends TO bun (rare - most communication
2235
+ // is request/response). Audio chunks for streaming could go here.
2236
+ };
2237
+ }>;
2238
+ webview: RPCSchema<{
2239
+ requests: {
2240
+ // Built-in: evaluateJavascriptWithResponse is added by Electroview.
2241
+
2242
+ // Browser Workspace — bun delegates evaluate/get-tab-rect to the
2243
+ // renderer, which holds the <electrobun-webview> tag refs and runs the
2244
+ // request against the matching tab. The rect is in CSS pixels relative
2245
+ // to the renderer viewport; bun adds the main-window origin and runs
2246
+ // the OS screencapture itself.
2247
+ browserWorkspaceRendererEvaluate: {
2248
+ params: { id: string; script: string; timeoutMs: number };
2249
+ response: { ok: boolean; result?: unknown; error?: string };
2250
+ };
2251
+ browserWorkspaceRendererGetTabRect: {
2252
+ params: { id: string };
2253
+ response: {
2254
+ x: number;
2255
+ y: number;
2256
+ width: number;
2257
+ height: number;
2258
+ } | null;
2259
+ };
2260
+ };
2261
+ messages: {
2262
+ // Push events FROM bun TO webview
2263
+
2264
+ // Gateway
2265
+ gatewayDiscovery: {
2266
+ type: "found" | "updated" | "lost";
2267
+ gateway: GatewayEndpoint;
2268
+ };
2269
+
2270
+ // Permissions
2271
+ permissionsChanged: { id: string };
2272
+
2273
+ // Desktop: Tray events
2274
+ desktopTrayMenuClick: {
2275
+ itemId: string;
2276
+ checked?: boolean;
2277
+ /** Present when `itemId === "menu-reset-applied"` (main-process reset). */
2278
+ agentStatus?: Record<string, unknown> | null;
2279
+ };
2280
+ desktopTrayClick: TrayClickEvent;
2281
+
2282
+ // Desktop: Shortcut events
2283
+ desktopShortcutPressed: { id: string; accelerator: string };
2284
+
2285
+ // Desktop: Window events
2286
+ desktopWindowFocus: undefined;
2287
+ desktopWindowBlur: undefined;
2288
+ desktopWindowMaximize: undefined;
2289
+ desktopWindowUnmaximize: undefined;
2290
+ desktopWindowClose: undefined;
2291
+ desktopShutdownStarted: { reason: string };
2292
+ desktopManagedWindowsChanged: {
2293
+ windows: DesktopManagedWindowSnapshot[];
2294
+ };
2295
+ remotePluginStoreChanged: { snapshot: RemotePluginStoreSnapshot };
2296
+ remotePluginWorkerChanged: { status: RemotePluginWorkerStatus };
2297
+
2298
+ // Canvas: Window events
2299
+ canvasWindowEvent: {
2300
+ windowId: string;
2301
+ event: string;
2302
+ data?: unknown;
2303
+ };
2304
+
2305
+ // Kiosk: in-window dynamic-view surface events. In kiosk shell mode the
2306
+ // dynamic-view session manager pushes these instead of opening native
2307
+ // canvas windows; the KioskShell mounts/unmounts each surface in-canvas.
2308
+ kioskViewEvent: KioskViewEvent;
2309
+
2310
+ // TalkMode: Audio/state push events
2311
+ talkmodeAudioChunkPush: { data: string };
2312
+ talkmodeStateChanged: { state: TalkModeState };
2313
+ talkmodeSpeakComplete: undefined;
2314
+ talkmodeTranscript: {
2315
+ text: string;
2316
+ segments: Array<{ text: string; start: number; end: number }>;
2317
+ };
2318
+ talkmodeError: {
2319
+ code: string;
2320
+ message: string;
2321
+ recoverable: boolean;
2322
+ };
2323
+
2324
+ // Swabble: Wake word detection
2325
+ swabbleWakeWord: {
2326
+ trigger: string;
2327
+ command: string;
2328
+ transcript: string;
2329
+ };
2330
+ swabbleStateChanged: { listening: boolean };
2331
+ swabbleTranscript: {
2332
+ transcript: string;
2333
+ segments: Array<{
2334
+ text: string;
2335
+ start: number;
2336
+ duration: number;
2337
+ isFinal: boolean;
2338
+ }>;
2339
+ isFinal: boolean;
2340
+ confidence?: number;
2341
+ };
2342
+ swabbleError: {
2343
+ code: string;
2344
+ message: string;
2345
+ recoverable: boolean;
2346
+ };
2347
+ // Swabble: audio chunk fallback (native ASR unavailable)
2348
+ swabbleAudioChunkPush: { data: string };
2349
+
2350
+ // Context menu push events (Bun pushes to renderer after processing)
2351
+ contextMenuAskAgent: { text: string };
2352
+ contextMenuCreateSkill: { text: string };
2353
+ contextMenuQuoteInChat: { text: string };
2354
+ contextMenuSaveAsCommand: { text: string };
2355
+
2356
+ // Workspace file change push events
2357
+ workspaceFileChanged: FileChangeEvent;
2358
+
2359
+ // Editor bridge push events
2360
+ editorSessionChanged: EditorSession | null;
2361
+
2362
+ // Floating chat push events
2363
+ floatingChatStatusChanged: FloatingChatStatus;
2364
+
2365
+ // API Base injection
2366
+ apiBaseUpdate: { base: string; token?: string };
2367
+
2368
+ // Share target
2369
+ shareTargetReceived: { url: string; text?: string };
2370
+
2371
+ // Location push events
2372
+ locationUpdate: {
2373
+ latitude: number;
2374
+ longitude: number;
2375
+ accuracy: number;
2376
+ timestamp: number;
2377
+ };
2378
+
2379
+ // Desktop: Update events
2380
+ desktopUpdateAvailable: { version: string; releaseNotes?: string };
2381
+ desktopUpdateReady: { version: string };
2382
+
2383
+ // GPU Window push events
2384
+ gpuWindowClosed: { id: string };
2385
+
2386
+ // Steward sidecar status push
2387
+ stewardStatusUpdate: StewardRpcStatus;
2388
+
2389
+ // WebGPU browser support status
2390
+ webGpuBrowserStatus: {
2391
+ available: boolean;
2392
+ reason: string;
2393
+ renderer: string;
2394
+ chromeBetaPath: string | null;
2395
+ downloadUrl: string | null;
2396
+ };
2397
+ };
2398
+ }>;
1522
2399
  };
1523
2400
 
1524
2401
  // ============================================================================
@@ -1530,277 +2407,334 @@ export type ElizaDesktopRPCSchema = {
1530
2407
  * method names. Used by the renderer bridge for backward compatibility.
1531
2408
  */
1532
2409
  export const CHANNEL_TO_RPC_METHOD: Record<string, string> = {
1533
- // Agent
1534
- "agent:start": "agentStart",
1535
- "agent:stop": "agentStop",
1536
- "agent:restart": "agentRestart",
1537
- "agent:restartClearLocalDb": "agentRestartClearLocalDb",
1538
- "agent:status": "agentStatus",
1539
- "agent:inspectExistingInstall": "agentInspectExistingInstall",
1540
- "agent:migrateStateDir": "agentMigrateStateDir",
1541
- "agent:postReset": "agentPostReset",
1542
- "agent:postCloudDisconnect": "agentPostCloudDisconnect",
1543
- "agent:cloudDisconnectWithConfirm": "agentCloudDisconnectWithConfirm",
1544
-
1545
- // Desktop: Tray
1546
- "desktop:createTray": "desktopCreateTray",
1547
- "desktop:updateTray": "desktopUpdateTray",
1548
- "desktop:destroyTray": "desktopDestroyTray",
1549
- "desktop:setTrayMenu": "desktopSetTrayMenu",
1550
-
1551
- // Desktop: Shortcuts
1552
- "desktop:registerShortcut": "desktopRegisterShortcut",
1553
- "desktop:unregisterShortcut": "desktopUnregisterShortcut",
1554
- "desktop:unregisterAllShortcuts": "desktopUnregisterAllShortcuts",
1555
- "desktop:isShortcutRegistered": "desktopIsShortcutRegistered",
1556
-
1557
- // Desktop: Auto Launch
1558
- "desktop:setAutoLaunch": "desktopSetAutoLaunch",
1559
- "desktop:getAutoLaunchStatus": "desktopGetAutoLaunchStatus",
1560
-
1561
- // Desktop: Window
1562
- "desktop:setWindowOptions": "desktopSetWindowOptions",
1563
- "desktop:getWindowBounds": "desktopGetWindowBounds",
1564
- "desktop:setWindowBounds": "desktopSetWindowBounds",
1565
- "desktop:minimizeWindow": "desktopMinimizeWindow",
1566
- "desktop:unminimizeWindow": "desktopUnminimizeWindow",
1567
- "desktop:maximizeWindow": "desktopMaximizeWindow",
1568
- "desktop:unmaximizeWindow": "desktopUnmaximizeWindow",
1569
- "desktop:closeWindow": "desktopCloseWindow",
1570
- "desktop:showWindow": "desktopShowWindow",
1571
- "desktop:hideWindow": "desktopHideWindow",
1572
- "desktop:focusWindow": "desktopFocusWindow",
1573
- "desktop:isWindowMaximized": "desktopIsWindowMaximized",
1574
- "desktop:isWindowMinimized": "desktopIsWindowMinimized",
1575
- "desktop:isWindowVisible": "desktopIsWindowVisible",
1576
- "desktop:isWindowFocused": "desktopIsWindowFocused",
1577
- "desktop:setAlwaysOnTop": "desktopSetAlwaysOnTop",
1578
- "desktop:setFullscreen": "desktopSetFullscreen",
1579
- "desktop:setOpacity": "desktopSetOpacity",
1580
-
1581
- // Desktop: Notifications
1582
- "desktop:showNotification": "desktopShowNotification",
1583
- "desktop:closeNotification": "desktopCloseNotification",
1584
- "desktop:showBackgroundNotice": "desktopShowBackgroundNotice",
1585
-
1586
- // Desktop: Power
1587
- "desktop:getPowerState": "desktopGetPowerState",
1588
-
1589
- // Desktop: Screen
1590
- "desktop:getPrimaryDisplay": "desktopGetPrimaryDisplay",
1591
- "desktop:getAllDisplays": "desktopGetAllDisplays",
1592
- "desktop:getCursorPosition": "desktopGetCursorPosition",
1593
-
1594
- // Desktop: Message Box
1595
- "desktop:showMessageBox": "desktopShowMessageBox",
1596
-
1597
- // Desktop: App
1598
- "desktop:quit": "desktopQuit",
1599
- "desktop:relaunch": "desktopRelaunch",
1600
- "desktop:applyUpdate": "desktopApplyUpdate",
1601
- "desktop:checkForUpdates": "desktopCheckForUpdates",
1602
- "desktop:getUpdaterState": "desktopGetUpdaterState",
1603
- "desktop:getVersion": "desktopGetVersion",
1604
- "desktop:getBuildInfo": "desktopGetBuildInfo",
1605
- "desktop:isPackaged": "desktopIsPackaged",
1606
- "desktop:getDockIconVisibility": "desktopGetDockIconVisibility",
1607
- "desktop:setDockIconVisibility": "desktopSetDockIconVisibility",
1608
- "desktop:getPath": "desktopGetPath",
1609
- "desktop:getStartupDiagnostics": "desktopGetStartupDiagnostics",
1610
- "desktop:getRuntimeMode": "desktopGetRuntimeMode",
1611
- "desktop:openLogsFolder": "desktopOpenLogsFolder",
1612
- "desktop:createBugReportBundle": "desktopCreateBugReportBundle",
1613
- "desktop:beep": "desktopBeep",
1614
- "desktop:showSelectionContextMenu": "desktopShowSelectionContextMenu",
1615
- "desktop:getSessionSnapshot": "desktopGetSessionSnapshot",
1616
- "desktop:clearSessionData": "desktopClearSessionData",
1617
- "desktop:getWebGpuBrowserStatus": "desktopGetWebGpuBrowserStatus",
1618
- "desktop:openReleaseNotesWindow": "desktopOpenReleaseNotesWindow",
1619
- "desktop:openSettingsWindow": "desktopOpenSettingsWindow",
1620
- "desktop:openSurfaceWindow": "desktopOpenSurfaceWindow",
1621
- "desktop:openAppWindow": "desktopOpenAppWindow",
1622
- "desktop:setManagedWindowAlwaysOnTop": "desktopSetManagedWindowAlwaysOnTop",
1623
-
1624
- // Browser Workspace
1625
- "browser-workspace:getSnapshot": "browserWorkspaceGetSnapshot",
1626
- "browser-workspace:openTab": "browserWorkspaceOpenTab",
1627
- "browser-workspace:navigateTab": "browserWorkspaceNavigateTab",
1628
- "browser-workspace:showTab": "browserWorkspaceShowTab",
1629
- "browser-workspace:hideTab": "browserWorkspaceHideTab",
1630
- "browser-workspace:closeTab": "browserWorkspaceCloseTab",
1631
- "browser-workspace:snapshotTab": "browserWorkspaceSnapshotTab",
1632
-
1633
- // Desktop: Clipboard
1634
- "desktop:writeToClipboard": "desktopWriteToClipboard",
1635
- "desktop:readFromClipboard": "desktopReadFromClipboard",
1636
- "desktop:clearClipboard": "desktopClearClipboard",
1637
- "desktop:clipboardAvailableFormats": "desktopClipboardAvailableFormats",
1638
-
1639
- // Desktop: Shell
1640
- "desktop:openExternal": "desktopOpenExternal",
1641
- "desktop:showItemInFolder": "desktopShowItemInFolder",
1642
- "desktop:openPath": "desktopOpenPath",
1643
-
1644
- // Desktop: File Dialogs
1645
- "desktop:showOpenDialog": "desktopShowOpenDialog",
1646
- "desktop:showSaveDialog": "desktopShowSaveDialog",
1647
- "desktop:pickWorkspaceFolder": "desktopPickWorkspaceFolder",
1648
- "desktop:resolveWorkspaceFolderBookmark":
1649
- "desktopResolveWorkspaceFolderBookmark",
1650
- "desktop:releaseWorkspaceFolderBookmarks":
1651
- "desktopReleaseWorkspaceFolderBookmarks",
1652
-
1653
- // Gateway
1654
- "gateway:startDiscovery": "gatewayStartDiscovery",
1655
- "gateway:stopDiscovery": "gatewayStopDiscovery",
1656
- "gateway:isDiscovering": "gatewayIsDiscovering",
1657
- "gateway:getDiscoveredGateways": "gatewayGetDiscoveredGateways",
1658
-
1659
- // Permissions
1660
- "permissions:check": "permissionsCheck",
1661
- "permissions:checkFeature": "permissionsCheckFeature",
1662
- "permissions:request": "permissionsRequest",
1663
- "permissions:getAll": "permissionsGetAll",
1664
- "permissions:getPlatform": "permissionsGetPlatform",
1665
- "permissions:isShellEnabled": "permissionsIsShellEnabled",
1666
- "permissions:setShellEnabled": "permissionsSetShellEnabled",
1667
- "permissions:clearCache": "permissionsClearCache",
1668
- "permissions:openSettings": "permissionsOpenSettings",
1669
-
1670
- // Location
1671
- "location:getCurrentPosition": "locationGetCurrentPosition",
1672
- "location:watchPosition": "locationWatchPosition",
1673
- "location:clearWatch": "locationClearWatch",
1674
- "location:getLastKnownLocation": "locationGetLastKnownLocation",
1675
-
1676
- // Camera
1677
- "camera:getDevices": "cameraGetDevices",
1678
- "camera:startPreview": "cameraStartPreview",
1679
- "camera:stopPreview": "cameraStopPreview",
1680
- "camera:switchCamera": "cameraSwitchCamera",
1681
- "camera:capturePhoto": "cameraCapturePhoto",
1682
- "camera:startRecording": "cameraStartRecording",
1683
- "camera:stopRecording": "cameraStopRecording",
1684
- "camera:getRecordingState": "cameraGetRecordingState",
1685
- "camera:checkPermissions": "cameraCheckPermissions",
1686
- "camera:requestPermissions": "cameraRequestPermissions",
1687
-
1688
- // Canvas
1689
- "canvas:createWindow": "canvasCreateWindow",
1690
- "canvas:destroyWindow": "canvasDestroyWindow",
1691
- "canvas:navigate": "canvasNavigate",
1692
- "canvas:eval": "canvasEval",
1693
- "canvas:snapshot": "canvasSnapshot",
1694
- "canvas:a2uiPush": "canvasA2uiPush",
1695
- "canvas:a2uiReset": "canvasA2uiReset",
1696
- "canvas:show": "canvasShow",
1697
- "canvas:hide": "canvasHide",
1698
- "canvas:resize": "canvasResize",
1699
- "canvas:focus": "canvasFocus",
1700
- "canvas:getBounds": "canvasGetBounds",
1701
- "canvas:setBounds": "canvasSetBounds",
1702
- "canvas:setAlwaysOnTop": "canvasSetAlwaysOnTop",
1703
- "canvas:listWindows": "canvasListWindows",
1704
-
1705
- // Game
1706
- "game:openWindow": "gameOpenWindow",
1707
-
1708
- // Screencapture
1709
- "screencapture:getSources": "screencaptureGetSources",
1710
- "screencapture:takeScreenshot": "screencaptureTakeScreenshot",
1711
- "screencapture:captureWindow": "screencaptureCaptureWindow",
1712
- "screencapture:startRecording": "screencaptureStartRecording",
1713
- "screencapture:stopRecording": "screencaptureStopRecording",
1714
- "screencapture:pauseRecording": "screencapturePauseRecording",
1715
- "screencapture:resumeRecording": "screencaptureResumeRecording",
1716
- "screencapture:getRecordingState": "screencaptureGetRecordingState",
1717
- "screencapture:startFrameCapture": "screencaptureStartFrameCapture",
1718
- "screencapture:stopFrameCapture": "screencaptureStopFrameCapture",
1719
- "screencapture:isFrameCaptureActive": "screencaptureIsFrameCaptureActive",
1720
- "screencapture:saveScreenshot": "screencaptureSaveScreenshot",
1721
- "screencapture:switchSource": "screencaptureSwitchSource",
1722
- "screencapture:setCaptureTarget": "screencaptureSetCaptureTarget",
1723
-
1724
- // Swabble
1725
- "swabble:start": "swabbleStart",
1726
- "swabble:stop": "swabbleStop",
1727
- "swabble:isListening": "swabbleIsListening",
1728
- "swabble:getConfig": "swabbleGetConfig",
1729
- "swabble:updateConfig": "swabbleUpdateConfig",
1730
- "swabble:isWhisperAvailable": "swabbleIsWhisperAvailable",
1731
- "swabble:audioChunk": "swabbleAudioChunk",
1732
-
1733
- // TalkMode
1734
- "talkmode:start": "talkmodeStart",
1735
- "talkmode:stop": "talkmodeStop",
1736
- "talkmode:speak": "talkmodeSpeak",
1737
- "talkmode:stopSpeaking": "talkmodeStopSpeaking",
1738
- "talkmode:getState": "talkmodeGetState",
1739
- "talkmode:isEnabled": "talkmodeIsEnabled",
1740
- "talkmode:isSpeaking": "talkmodeIsSpeaking",
1741
- "talkmode:getWhisperInfo": "talkmodeGetWhisperInfo",
1742
- "talkmode:isWhisperAvailable": "talkmodeIsWhisperAvailable",
1743
- "talkmode:updateConfig": "talkmodeUpdateConfig",
1744
- "talkmode:audioChunk": "talkmodeAudioChunk",
1745
-
1746
- // Music player (desktop)
1747
- "musicPlayer:getDesktopPlaybackUrls": "musicPlayerGetDesktopPlaybackUrls",
1748
-
1749
- // Context Menu
1750
- "contextMenu:askAgent": "contextMenuAskAgent",
1751
- "contextMenu:createSkill": "contextMenuCreateSkill",
1752
- "contextMenu:quoteInChat": "contextMenuQuoteInChat",
1753
- "contextMenu:saveAsCommand": "contextMenuSaveAsCommand",
1754
-
1755
- // Credentials
1756
- "credentials:scanProviders": "credentialsScanProviders",
1757
- "credentials:scanAndValidate": "credentialsScanAndValidate",
1758
-
1759
- // GPU Window
1760
- "gpuWindow:create": "gpuWindowCreate",
1761
- "gpuWindow:destroy": "gpuWindowDestroy",
1762
- "gpuWindow:show": "gpuWindowShow",
1763
- "gpuWindow:hide": "gpuWindowHide",
1764
- "gpuWindow:setBounds": "gpuWindowSetBounds",
1765
- "gpuWindow:getInfo": "gpuWindowGetInfo",
1766
- "gpuWindow:list": "gpuWindowList",
1767
-
1768
- // GPU View
1769
- "gpuView:create": "gpuViewCreate",
1770
- "gpuView:destroy": "gpuViewDestroy",
1771
- "gpuView:setFrame": "gpuViewSetFrame",
1772
- "gpuView:setTransparent": "gpuViewSetTransparent",
1773
- "gpuView:setHidden": "gpuViewSetHidden",
1774
- "gpuView:getNativeHandle": "gpuViewGetNativeHandle",
1775
- "gpuView:list": "gpuViewList",
1776
-
1777
- // Steward Sidecar
1778
- "steward:getStatus": "stewardGetStatus",
1779
- "steward:isLocalEnabled": "stewardIsLocalEnabled",
1780
- "steward:start": "stewardStart",
1781
- "steward:restart": "stewardRestart",
1782
- "steward:reset": "stewardReset",
1783
-
1784
- // Native Editor Bridge
1785
- "editorBridge:listEditors": "editorBridgeListEditors",
1786
- "editorBridge:openInEditor": "editorBridgeOpenInEditor",
1787
- "editorBridge:getSession": "editorBridgeGetSession",
1788
- "editorBridge:clearSession": "editorBridgeClearSession",
1789
-
1790
- // Workspace File Watcher
1791
- "fileWatcher:start": "fileWatcherStart",
1792
- "fileWatcher:stop": "fileWatcherStop",
1793
- "fileWatcher:stopAll": "fileWatcherStopAll",
1794
- "fileWatcher:list": "fileWatcherList",
1795
- "fileWatcher:getStatus": "fileWatcherGetStatus",
1796
-
1797
- // Floating Chat Window
1798
- "floatingChat:open": "floatingChatOpen",
1799
- "floatingChat:show": "floatingChatShow",
1800
- "floatingChat:hide": "floatingChatHide",
1801
- "floatingChat:close": "floatingChatClose",
1802
- "floatingChat:setContext": "floatingChatSetContext",
1803
- "floatingChat:getStatus": "floatingChatGetStatus",
2410
+ // Agent
2411
+ "agent:start": "agentStart",
2412
+ "agent:stop": "agentStop",
2413
+ "agent:restart": "agentRestart",
2414
+ "agent:restartClearLocalDb": "agentRestartClearLocalDb",
2415
+ "agent:status": "agentStatus",
2416
+ "agent:inspectExistingInstall": "agentInspectExistingInstall",
2417
+ "agent:migrateStateDir": "agentMigrateStateDir",
2418
+ "agent:postReset": "agentPostReset",
2419
+ "agent:postCloudDisconnect": "agentPostCloudDisconnect",
2420
+ "agent:cloudDisconnectWithConfirm": "agentCloudDisconnectWithConfirm",
2421
+ "agent:getConfig": "getConfig",
2422
+ "agent:updateConfig": "updateConfig",
2423
+ "agent:getConfigSchema": "getConfigSchema",
2424
+ "agent:getAgentAutomationMode": "getAgentAutomationMode",
2425
+ "agent:setAgentAutomationMode": "setAgentAutomationMode",
2426
+ "agent:getTradePermissionMode": "getTradePermissionMode",
2427
+ "agent:setTradePermissionMode": "setTradePermissionMode",
2428
+
2429
+ // Desktop: Tray
2430
+ "desktop:createTray": "desktopCreateTray",
2431
+ "desktop:updateTray": "desktopUpdateTray",
2432
+ "desktop:destroyTray": "desktopDestroyTray",
2433
+ "desktop:setTrayMenu": "desktopSetTrayMenu",
2434
+
2435
+ // Desktop: Shortcuts
2436
+ "desktop:registerShortcut": "desktopRegisterShortcut",
2437
+ "desktop:unregisterShortcut": "desktopUnregisterShortcut",
2438
+ "desktop:unregisterAllShortcuts": "desktopUnregisterAllShortcuts",
2439
+ "desktop:isShortcutRegistered": "desktopIsShortcutRegistered",
2440
+
2441
+ // Desktop: Auto Launch
2442
+ "desktop:setAutoLaunch": "desktopSetAutoLaunch",
2443
+ "desktop:getAutoLaunchStatus": "desktopGetAutoLaunchStatus",
2444
+
2445
+ // Desktop: Window
2446
+ "desktop:setWindowOptions": "desktopSetWindowOptions",
2447
+ "desktop:getWindowBounds": "desktopGetWindowBounds",
2448
+ "desktop:setWindowBounds": "desktopSetWindowBounds",
2449
+ "desktop:minimizeWindow": "desktopMinimizeWindow",
2450
+ "desktop:unminimizeWindow": "desktopUnminimizeWindow",
2451
+ "desktop:maximizeWindow": "desktopMaximizeWindow",
2452
+ "desktop:unmaximizeWindow": "desktopUnmaximizeWindow",
2453
+ "desktop:closeWindow": "desktopCloseWindow",
2454
+ "desktop:showWindow": "desktopShowWindow",
2455
+ "desktop:hideWindow": "desktopHideWindow",
2456
+ "desktop:focusWindow": "desktopFocusWindow",
2457
+ "desktop:isWindowMaximized": "desktopIsWindowMaximized",
2458
+ "desktop:isWindowMinimized": "desktopIsWindowMinimized",
2459
+ "desktop:isWindowVisible": "desktopIsWindowVisible",
2460
+ "desktop:isWindowFocused": "desktopIsWindowFocused",
2461
+ "desktop:setAlwaysOnTop": "desktopSetAlwaysOnTop",
2462
+ "desktop:setFullscreen": "desktopSetFullscreen",
2463
+ "desktop:setOpacity": "desktopSetOpacity",
2464
+
2465
+ // Desktop: Notifications
2466
+ "desktop:showNotification": "desktopShowNotification",
2467
+ "desktop:closeNotification": "desktopCloseNotification",
2468
+ "desktop:showBackgroundNotice": "desktopShowBackgroundNotice",
2469
+
2470
+ // Desktop: Power
2471
+ "desktop:getPowerState": "desktopGetPowerState",
2472
+
2473
+ // Desktop: Screen
2474
+ "desktop:getPrimaryDisplay": "desktopGetPrimaryDisplay",
2475
+ "desktop:getAllDisplays": "desktopGetAllDisplays",
2476
+ "desktop:getCursorPosition": "desktopGetCursorPosition",
2477
+
2478
+ // Desktop: Message Box
2479
+ "desktop:showMessageBox": "desktopShowMessageBox",
2480
+
2481
+ // Desktop: App
2482
+ "desktop:quit": "desktopQuit",
2483
+ "desktop:relaunch": "desktopRelaunch",
2484
+ "desktop:applyUpdate": "desktopApplyUpdate",
2485
+ "desktop:checkForUpdates": "desktopCheckForUpdates",
2486
+ "desktop:getUpdaterState": "desktopGetUpdaterState",
2487
+ "desktop:getVersion": "desktopGetVersion",
2488
+ "desktop:getBuildInfo": "desktopGetBuildInfo",
2489
+ "desktop:isPackaged": "desktopIsPackaged",
2490
+ "desktop:getDockIconVisibility": "desktopGetDockIconVisibility",
2491
+ "desktop:setDockIconVisibility": "desktopSetDockIconVisibility",
2492
+ "desktop:getPath": "desktopGetPath",
2493
+ "desktop:getStartupDiagnostics": "desktopGetStartupDiagnostics",
2494
+ "launch:progress": "launchProgress",
2495
+ "launch:eventsTail": "launchEventsTail",
2496
+ "launch:retry": "launchRetry",
2497
+ "launch:openDiagnosticsView": "launchOpenDiagnosticsView",
2498
+ "launch:createBugReportBundle": "launchCreateBugReportBundle",
2499
+ "database:status": "databaseStatus",
2500
+ "database:recoveryPreview": "databaseRecoveryPreview",
2501
+ "database:backupPglite": "databaseBackupPglite",
2502
+ "database:resetPglite": "databaseResetPglite",
2503
+ "desktop:getRuntimeMode": "desktopGetRuntimeMode",
2504
+ "desktop:openLogsFolder": "desktopOpenLogsFolder",
2505
+ "desktop:createBugReportBundle": "desktopCreateBugReportBundle",
2506
+ "desktop:beep": "desktopBeep",
2507
+ "desktop:showSelectionContextMenu": "desktopShowSelectionContextMenu",
2508
+ "desktop:getSessionSnapshot": "desktopGetSessionSnapshot",
2509
+ "desktop:clearSessionData": "desktopClearSessionData",
2510
+ "desktop:getWebGpuBrowserStatus": "desktopGetWebGpuBrowserStatus",
2511
+ "desktop:openReleaseNotesWindow": "desktopOpenReleaseNotesWindow",
2512
+ "desktop:openSettingsWindow": "desktopOpenSettingsWindow",
2513
+ "desktop:openSurfaceWindow": "desktopOpenSurfaceWindow",
2514
+ "desktop:openAppWindow": "desktopOpenAppWindow",
2515
+ "desktop:setManagedWindowAlwaysOnTop": "desktopSetManagedWindowAlwaysOnTop",
2516
+
2517
+ // Remote Plugins
2518
+ "remote-plugin:getStoreRoot": "remotePluginGetStoreRoot",
2519
+ "remote-plugin:list": "remotePluginList",
2520
+ "remote-plugin:getStoreSnapshot": "remotePluginGetStoreSnapshot",
2521
+ "remote-plugin:get": "remotePluginGet",
2522
+ "remote-plugin:installFromDirectory": "remotePluginInstallFromDirectory",
2523
+ "remote-plugin:uninstall": "remotePluginUninstall",
2524
+ "remote-plugin:startWorker": "remotePluginStartWorker",
2525
+ "remote-plugin:stopWorker": "remotePluginStopWorker",
2526
+ "remote-plugin:getWorkerStatus": "remotePluginGetWorkerStatus",
2527
+ "remote-plugin:listWorkerStatuses": "remotePluginListWorkerStatuses",
2528
+ "remote-plugin:getLogs": "remotePluginGetLogs",
2529
+ "remote-plugin:invokeWorker": "remotePluginInvokeWorker",
2530
+ "remote-plugin:tailWorkerEvents": "remotePluginTailWorkerEvents",
2531
+ "dynamic-view:register": "dynamicViewRegister",
2532
+ "dynamic-view:unregister": "dynamicViewUnregister",
2533
+ "dynamic-view:list": "dynamicViewList",
2534
+ "dynamic-view:open": "dynamicViewOpen",
2535
+ "dynamic-view:close": "dynamicViewClose",
2536
+ "dynamic-view:push": "dynamicViewPush",
2537
+ "dynamic-view:sessions": "dynamicViewSessions",
2538
+ "trace:sessionStart": "traceSessionStart",
2539
+ "trace:sessionComplete": "traceSessionComplete",
2540
+ "trace:sessionCancel": "traceSessionCancel",
2541
+ "trace:sessionError": "traceSessionError",
2542
+ "trace:eventRecord": "traceEventRecord",
2543
+ "trace:sessionList": "traceSessionList",
2544
+ "trace:sessionGet": "traceSessionGet",
2545
+ "trace:sessionSummary": "traceSessionSummary",
2546
+ "trace:eventsTail": "traceEventsTail",
2547
+ "trace:eventsSearch": "traceEventsSearch",
2548
+ "trace:viewOpen": "traceViewOpen",
2549
+ "voice:status": "voiceStatus",
2550
+ "voice:components": "voiceComponents",
2551
+ "voice:start": "voiceStart",
2552
+ "voice:stop": "voiceStop",
2553
+ "voice:interrupt": "voiceInterrupt",
2554
+ "voice:injectTranscript": "voiceInjectTranscript",
2555
+ "voice:speak": "voiceSpeak",
2556
+ "voice:transcribeAudio": "voiceTranscribeAudio",
2557
+ "voice:synthesizeSpeech": "voiceSynthesizeSpeech",
2558
+ "voice:latency": "voiceLatency",
2559
+ "voice:recentTurns": "voiceRecentTurns",
2560
+
2561
+ // Browser Workspace
2562
+ "browser-workspace:getSnapshot": "browserWorkspaceGetSnapshot",
2563
+ "browser-workspace:openTab": "browserWorkspaceOpenTab",
2564
+ "browser-workspace:navigateTab": "browserWorkspaceNavigateTab",
2565
+ "browser-workspace:showTab": "browserWorkspaceShowTab",
2566
+ "browser-workspace:hideTab": "browserWorkspaceHideTab",
2567
+ "browser-workspace:closeTab": "browserWorkspaceCloseTab",
2568
+ "browser-workspace:snapshotTab": "browserWorkspaceSnapshotTab",
2569
+
2570
+ // Desktop: Clipboard
2571
+ "desktop:writeToClipboard": "desktopWriteToClipboard",
2572
+ "desktop:readFromClipboard": "desktopReadFromClipboard",
2573
+ "desktop:clearClipboard": "desktopClearClipboard",
2574
+ "desktop:clipboardAvailableFormats": "desktopClipboardAvailableFormats",
2575
+
2576
+ // Desktop: Shell
2577
+ "desktop:openExternal": "desktopOpenExternal",
2578
+ "desktop:showItemInFolder": "desktopShowItemInFolder",
2579
+ "desktop:openPath": "desktopOpenPath",
2580
+
2581
+ // Desktop: File Dialogs
2582
+ "desktop:showOpenDialog": "desktopShowOpenDialog",
2583
+ "desktop:showSaveDialog": "desktopShowSaveDialog",
2584
+ "desktop:pickWorkspaceFolder": "desktopPickWorkspaceFolder",
2585
+ "desktop:resolveWorkspaceFolderBookmark":
2586
+ "desktopResolveWorkspaceFolderBookmark",
2587
+ "desktop:releaseWorkspaceFolderBookmarks":
2588
+ "desktopReleaseWorkspaceFolderBookmarks",
2589
+
2590
+ // Gateway
2591
+ "gateway:startDiscovery": "gatewayStartDiscovery",
2592
+ "gateway:stopDiscovery": "gatewayStopDiscovery",
2593
+ "gateway:isDiscovering": "gatewayIsDiscovering",
2594
+ "gateway:getDiscoveredGateways": "gatewayGetDiscoveredGateways",
2595
+
2596
+ // Permissions
2597
+ "permissions:check": "permissionsCheck",
2598
+ "permissions:checkFeature": "permissionsCheckFeature",
2599
+ "permissions:request": "permissionsRequest",
2600
+ "permissions:getAll": "permissionsGetAll",
2601
+ "permissions:getPlatform": "permissionsGetPlatform",
2602
+ "permissions:isShellEnabled": "permissionsIsShellEnabled",
2603
+ "permissions:setShellEnabled": "permissionsSetShellEnabled",
2604
+ "permissions:clearCache": "permissionsClearCache",
2605
+ "permissions:openSettings": "permissionsOpenSettings",
2606
+
2607
+ // Location
2608
+ "location:getCurrentPosition": "locationGetCurrentPosition",
2609
+ "location:watchPosition": "locationWatchPosition",
2610
+ "location:clearWatch": "locationClearWatch",
2611
+ "location:getLastKnownLocation": "locationGetLastKnownLocation",
2612
+
2613
+ // Camera
2614
+ "camera:getDevices": "cameraGetDevices",
2615
+ "camera:startPreview": "cameraStartPreview",
2616
+ "camera:stopPreview": "cameraStopPreview",
2617
+ "camera:switchCamera": "cameraSwitchCamera",
2618
+ "camera:capturePhoto": "cameraCapturePhoto",
2619
+ "camera:startRecording": "cameraStartRecording",
2620
+ "camera:stopRecording": "cameraStopRecording",
2621
+ "camera:getRecordingState": "cameraGetRecordingState",
2622
+ "camera:checkPermissions": "cameraCheckPermissions",
2623
+ "camera:requestPermissions": "cameraRequestPermissions",
2624
+
2625
+ // Canvas
2626
+ "canvas:createWindow": "canvasCreateWindow",
2627
+ "canvas:destroyWindow": "canvasDestroyWindow",
2628
+ "canvas:navigate": "canvasNavigate",
2629
+ "canvas:eval": "canvasEval",
2630
+ "canvas:snapshot": "canvasSnapshot",
2631
+ "canvas:a2uiPush": "canvasA2uiPush",
2632
+ "canvas:a2uiReset": "canvasA2uiReset",
2633
+ "canvas:show": "canvasShow",
2634
+ "canvas:hide": "canvasHide",
2635
+ "canvas:resize": "canvasResize",
2636
+ "canvas:focus": "canvasFocus",
2637
+ "canvas:getBounds": "canvasGetBounds",
2638
+ "canvas:setBounds": "canvasSetBounds",
2639
+ "canvas:setAlwaysOnTop": "canvasSetAlwaysOnTop",
2640
+ "canvas:listWindows": "canvasListWindows",
2641
+
2642
+ // Game
2643
+ "game:openWindow": "gameOpenWindow",
2644
+
2645
+ // Screencapture
2646
+ "screencapture:getSources": "screencaptureGetSources",
2647
+ "screencapture:takeScreenshot": "screencaptureTakeScreenshot",
2648
+ "screencapture:captureWindow": "screencaptureCaptureWindow",
2649
+ "screencapture:startRecording": "screencaptureStartRecording",
2650
+ "screencapture:stopRecording": "screencaptureStopRecording",
2651
+ "screencapture:pauseRecording": "screencapturePauseRecording",
2652
+ "screencapture:resumeRecording": "screencaptureResumeRecording",
2653
+ "screencapture:getRecordingState": "screencaptureGetRecordingState",
2654
+ "screencapture:startFrameCapture": "screencaptureStartFrameCapture",
2655
+ "screencapture:stopFrameCapture": "screencaptureStopFrameCapture",
2656
+ "screencapture:isFrameCaptureActive": "screencaptureIsFrameCaptureActive",
2657
+ "screencapture:saveScreenshot": "screencaptureSaveScreenshot",
2658
+ "screencapture:switchSource": "screencaptureSwitchSource",
2659
+ "screencapture:setCaptureTarget": "screencaptureSetCaptureTarget",
2660
+
2661
+ // Swabble
2662
+ "swabble:start": "swabbleStart",
2663
+ "swabble:stop": "swabbleStop",
2664
+ "swabble:isListening": "swabbleIsListening",
2665
+ "swabble:getConfig": "swabbleGetConfig",
2666
+ "swabble:updateConfig": "swabbleUpdateConfig",
2667
+ "swabble:audioChunk": "swabbleAudioChunk",
2668
+
2669
+ // TalkMode
2670
+ "talkmode:start": "talkmodeStart",
2671
+ "talkmode:stop": "talkmodeStop",
2672
+ "talkmode:speak": "talkmodeSpeak",
2673
+ "talkmode:stopSpeaking": "talkmodeStopSpeaking",
2674
+ "talkmode:getState": "talkmodeGetState",
2675
+ "talkmode:isEnabled": "talkmodeIsEnabled",
2676
+ "talkmode:isSpeaking": "talkmodeIsSpeaking",
2677
+ "talkmode:updateConfig": "talkmodeUpdateConfig",
2678
+ "talkmode:audioChunk": "talkmodeAudioChunk",
2679
+
2680
+ // Music player (desktop)
2681
+ "musicPlayer:getDesktopPlaybackUrls": "musicPlayerGetDesktopPlaybackUrls",
2682
+
2683
+ // Context Menu
2684
+ "contextMenu:askAgent": "contextMenuAskAgent",
2685
+ "contextMenu:createSkill": "contextMenuCreateSkill",
2686
+ "contextMenu:quoteInChat": "contextMenuQuoteInChat",
2687
+ "contextMenu:saveAsCommand": "contextMenuSaveAsCommand",
2688
+
2689
+ // Credentials
2690
+ "credentials:scanProviders": "credentialsScanProviders",
2691
+ "credentials:scanAndValidate": "credentialsScanAndValidate",
2692
+
2693
+ // GPU Window
2694
+ "gpuWindow:create": "gpuWindowCreate",
2695
+ "gpuWindow:destroy": "gpuWindowDestroy",
2696
+ "gpuWindow:show": "gpuWindowShow",
2697
+ "gpuWindow:hide": "gpuWindowHide",
2698
+ "gpuWindow:setBounds": "gpuWindowSetBounds",
2699
+ "gpuWindow:getInfo": "gpuWindowGetInfo",
2700
+ "gpuWindow:list": "gpuWindowList",
2701
+
2702
+ // GPU View
2703
+ "gpuView:create": "gpuViewCreate",
2704
+ "gpuView:destroy": "gpuViewDestroy",
2705
+ "gpuView:setFrame": "gpuViewSetFrame",
2706
+ "gpuView:setTransparent": "gpuViewSetTransparent",
2707
+ "gpuView:setHidden": "gpuViewSetHidden",
2708
+ "gpuView:getNativeHandle": "gpuViewGetNativeHandle",
2709
+ "gpuView:list": "gpuViewList",
2710
+
2711
+ // Steward Sidecar
2712
+ "steward:getStatus": "stewardGetStatus",
2713
+ "steward:isLocalEnabled": "stewardIsLocalEnabled",
2714
+ "steward:start": "stewardStart",
2715
+ "steward:restart": "stewardRestart",
2716
+ "steward:reset": "stewardReset",
2717
+
2718
+ // Native Editor Bridge
2719
+ "editorBridge:listEditors": "editorBridgeListEditors",
2720
+ "editorBridge:openInEditor": "editorBridgeOpenInEditor",
2721
+ "editorBridge:getSession": "editorBridgeGetSession",
2722
+ "editorBridge:clearSession": "editorBridgeClearSession",
2723
+
2724
+ // Workspace File Watcher
2725
+ "fileWatcher:start": "fileWatcherStart",
2726
+ "fileWatcher:stop": "fileWatcherStop",
2727
+ "fileWatcher:stopAll": "fileWatcherStopAll",
2728
+ "fileWatcher:list": "fileWatcherList",
2729
+ "fileWatcher:getStatus": "fileWatcherGetStatus",
2730
+
2731
+ // Floating Chat Window
2732
+ "floatingChat:open": "floatingChatOpen",
2733
+ "floatingChat:show": "floatingChatShow",
2734
+ "floatingChat:hide": "floatingChatHide",
2735
+ "floatingChat:close": "floatingChatClose",
2736
+ "floatingChat:setContext": "floatingChatSetContext",
2737
+ "floatingChat:getStatus": "floatingChatGetStatus",
1804
2738
  };
1805
2739
 
1806
2740
  /**
@@ -1808,63 +2742,66 @@ export const CHANNEL_TO_RPC_METHOD: Record<string, string> = {
1808
2742
  * Used by the renderer bridge to subscribe to push events.
1809
2743
  */
1810
2744
  export const PUSH_CHANNEL_TO_RPC_MESSAGE: Record<string, string> = {
1811
- "agent:status": "agentStatusUpdate",
1812
- "gateway:discovery": "gatewayDiscovery",
1813
- "permissions:changed": "permissionsChanged",
1814
- "desktop:trayMenuClick": "desktopTrayMenuClick",
1815
- "desktop:trayClick": "desktopTrayClick",
1816
- "desktop:shortcutPressed": "desktopShortcutPressed",
1817
- "desktop:windowFocus": "desktopWindowFocus",
1818
- "desktop:windowBlur": "desktopWindowBlur",
1819
- "desktop:windowMaximize": "desktopWindowMaximize",
1820
- "desktop:windowUnmaximize": "desktopWindowUnmaximize",
1821
- "desktop:windowClose": "desktopWindowClose",
1822
- "desktop:shutdownStarted": "desktopShutdownStarted",
1823
- "desktop:managedWindowsChanged": "desktopManagedWindowsChanged",
1824
- "canvas:windowEvent": "canvasWindowEvent",
1825
- "talkmode:audioChunkPush": "talkmodeAudioChunkPush",
1826
- "talkmode:stateChanged": "talkmodeStateChanged",
1827
- "talkmode:speakComplete": "talkmodeSpeakComplete",
1828
- "talkmode:transcript": "talkmodeTranscript",
1829
- "talkmode:error": "talkmodeError",
1830
- "swabble:wakeWord": "swabbleWakeWord",
1831
- "swabble:stateChange": "swabbleStateChanged",
1832
- "swabble:transcript": "swabbleTranscript",
1833
- "swabble:error": "swabbleError",
1834
- "swabble:audioChunkPush": "swabbleAudioChunkPush",
1835
- "contextMenu:askAgent": "contextMenuAskAgent",
1836
- "contextMenu:createSkill": "contextMenuCreateSkill",
1837
- "contextMenu:quoteInChat": "contextMenuQuoteInChat",
1838
- "contextMenu:saveAsCommand": "contextMenuSaveAsCommand",
1839
- apiBaseUpdate: "apiBaseUpdate",
1840
- shareTargetReceived: "shareTargetReceived",
1841
- "location:update": "locationUpdate",
1842
- "desktop:updateAvailable": "desktopUpdateAvailable",
1843
- "desktop:updateReady": "desktopUpdateReady",
1844
-
1845
- // GPU Window push events
1846
- "gpuWindow:closed": "gpuWindowClosed",
1847
-
1848
- // Steward sidecar
1849
- stewardStatusUpdate: "stewardStatusUpdate",
1850
-
1851
- // WebGPU browser support
1852
- "webgpu:browserStatus": "webGpuBrowserStatus",
1853
-
1854
- // Workspace file watcher
1855
- "fileWatcher:fileChanged": "workspaceFileChanged",
1856
-
1857
- // Editor bridge
1858
- "editorBridge:sessionChanged": "editorSessionChanged",
1859
-
1860
- // Floating chat
1861
- "floatingChat:statusChanged": "floatingChatStatusChanged",
2745
+ "agent:status": "agentStatusUpdate",
2746
+ "gateway:discovery": "gatewayDiscovery",
2747
+ "permissions:changed": "permissionsChanged",
2748
+ "desktop:trayMenuClick": "desktopTrayMenuClick",
2749
+ "desktop:trayClick": "desktopTrayClick",
2750
+ "desktop:shortcutPressed": "desktopShortcutPressed",
2751
+ "desktop:windowFocus": "desktopWindowFocus",
2752
+ "desktop:windowBlur": "desktopWindowBlur",
2753
+ "desktop:windowMaximize": "desktopWindowMaximize",
2754
+ "desktop:windowUnmaximize": "desktopWindowUnmaximize",
2755
+ "desktop:windowClose": "desktopWindowClose",
2756
+ "desktop:shutdownStarted": "desktopShutdownStarted",
2757
+ "desktop:managedWindowsChanged": "desktopManagedWindowsChanged",
2758
+ "remote-plugin:storeChanged": "remotePluginStoreChanged",
2759
+ "remote-plugin:workerChanged": "remotePluginWorkerChanged",
2760
+ "canvas:windowEvent": "canvasWindowEvent",
2761
+ "kiosk:viewEvent": "kioskViewEvent",
2762
+ "talkmode:audioChunkPush": "talkmodeAudioChunkPush",
2763
+ "talkmode:stateChanged": "talkmodeStateChanged",
2764
+ "talkmode:speakComplete": "talkmodeSpeakComplete",
2765
+ "talkmode:transcript": "talkmodeTranscript",
2766
+ "talkmode:error": "talkmodeError",
2767
+ "swabble:wakeWord": "swabbleWakeWord",
2768
+ "swabble:stateChange": "swabbleStateChanged",
2769
+ "swabble:transcript": "swabbleTranscript",
2770
+ "swabble:error": "swabbleError",
2771
+ "swabble:audioChunkPush": "swabbleAudioChunkPush",
2772
+ "contextMenu:askAgent": "contextMenuAskAgent",
2773
+ "contextMenu:createSkill": "contextMenuCreateSkill",
2774
+ "contextMenu:quoteInChat": "contextMenuQuoteInChat",
2775
+ "contextMenu:saveAsCommand": "contextMenuSaveAsCommand",
2776
+ apiBaseUpdate: "apiBaseUpdate",
2777
+ shareTargetReceived: "shareTargetReceived",
2778
+ "location:update": "locationUpdate",
2779
+ "desktop:updateAvailable": "desktopUpdateAvailable",
2780
+ "desktop:updateReady": "desktopUpdateReady",
2781
+
2782
+ // GPU Window push events
2783
+ "gpuWindow:closed": "gpuWindowClosed",
2784
+
2785
+ // Steward sidecar
2786
+ stewardStatusUpdate: "stewardStatusUpdate",
2787
+
2788
+ // WebGPU browser support
2789
+ "webgpu:browserStatus": "webGpuBrowserStatus",
2790
+
2791
+ // Workspace file watcher
2792
+ "fileWatcher:fileChanged": "workspaceFileChanged",
2793
+
2794
+ // Editor bridge
2795
+ "editorBridge:sessionChanged": "editorSessionChanged",
2796
+
2797
+ // Floating chat
2798
+ "floatingChat:statusChanged": "floatingChatStatusChanged",
1862
2799
  };
1863
2800
 
1864
2801
  /**
1865
2802
  * Reverse mapping: RPC message name → legacy desktop push channel name.
1866
2803
  */
1867
2804
  export const RPC_MESSAGE_TO_PUSH_CHANNEL: Record<string, string> =
1868
- Object.fromEntries(
1869
- Object.entries(PUSH_CHANNEL_TO_RPC_MESSAGE).map(([k, v]) => [v, k]),
1870
- );
2805
+ Object.fromEntries(
2806
+ Object.entries(PUSH_CHANNEL_TO_RPC_MESSAGE).map(([k, v]) => [v, k]),
2807
+ );