@elizaos/ui 2.0.3-beta.2 → 2.0.3-beta.4

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 (1719) hide show
  1. package/App.d.ts +6 -1
  2. package/App.d.ts.map +1 -1
  3. package/App.js +250 -49
  4. package/agent-surface/AgentSurfaceContext.d.ts +1 -1
  5. package/agent-surface/AgentSurfaceContext.hooks.d.ts +2 -2
  6. package/agent-surface/__e2e__/real-view-fixture.d.ts +21 -0
  7. package/agent-surface/__e2e__/real-view-fixture.d.ts.map +1 -0
  8. package/agent-surface/__e2e__/real-view-fixture.js +54 -0
  9. package/agent-surface/capabilities.d.ts +2 -2
  10. package/agent-surface/components.d.ts +1 -1
  11. package/agent-surface/element-reporter.hooks.d.ts +1 -1
  12. package/agent-surface/index.d.ts +10 -10
  13. package/agent-surface/registry.d.ts +1 -1
  14. package/agent-surface/useAgentElement.d.ts +1 -1
  15. package/api/android-native-agent-transport.d.ts +1 -1
  16. package/api/client-agent.d.ts +16 -2
  17. package/api/client-agent.d.ts.map +1 -1
  18. package/api/client-agent.js +13 -3
  19. package/api/client-approvals.d.ts +16 -0
  20. package/api/client-approvals.d.ts.map +1 -0
  21. package/api/client-approvals.js +4 -0
  22. package/api/client-automations.d.ts +1 -1
  23. package/api/client-background.d.ts +15 -0
  24. package/api/client-background.d.ts.map +1 -0
  25. package/api/client-background.js +10 -0
  26. package/api/client-base.d.ts +13 -3
  27. package/api/client-base.d.ts.map +1 -1
  28. package/api/client-base.js +99 -6
  29. package/api/client-browser-workspace.d.ts +1 -1
  30. package/api/client-chat.d.ts +8 -3
  31. package/api/client-chat.d.ts.map +1 -1
  32. package/api/client-chat.js +13 -4
  33. package/api/client-cloud.d.ts +3 -3
  34. package/api/client-cloud.d.ts.map +1 -1
  35. package/api/client-cloud.js +19 -13
  36. package/api/client-files.d.ts +36 -0
  37. package/api/client-files.d.ts.map +1 -0
  38. package/api/client-files.js +19 -0
  39. package/api/client-local-inference.d.ts +52 -6
  40. package/api/client-local-inference.d.ts.map +1 -1
  41. package/api/client-local-inference.js +78 -5
  42. package/api/client-skills.d.ts +3 -3
  43. package/api/client-transcripts.d.ts +8 -0
  44. package/api/client-transcripts.d.ts.map +1 -1
  45. package/api/client-transcripts.js +6 -0
  46. package/api/client-types-chat.d.ts +53 -2
  47. package/api/client-types-chat.d.ts.map +1 -1
  48. package/api/client-types-cloud.d.ts +3 -151
  49. package/api/client-types-cloud.d.ts.map +1 -1
  50. package/api/client-types-config.d.ts +13 -6
  51. package/api/client-types-config.d.ts.map +1 -1
  52. package/api/client-types-core.d.ts +1 -1
  53. package/api/client-types-feed.d.ts +0 -14
  54. package/api/client-types-feed.d.ts.map +1 -1
  55. package/api/client-types.d.ts +8 -8
  56. package/api/client-wallet.d.ts +3 -3
  57. package/api/client-workflow.d.ts +1 -1
  58. package/api/client.d.ts +31 -27
  59. package/api/client.d.ts.map +1 -1
  60. package/api/client.js +3 -0
  61. package/api/desktop-http-transport.d.ts +1 -1
  62. package/api/desktop-http-transport.d.ts.map +1 -1
  63. package/api/desktop-http-transport.js +29 -1
  64. package/api/i18n-locale-client.d.ts +1 -1
  65. package/api/index.d.ts +2 -2
  66. package/api/ios-local-agent-kernel.d.ts +1 -1
  67. package/api/ios-local-agent-kernel.d.ts.map +1 -1
  68. package/api/ios-local-agent-kernel.js +97 -22
  69. package/api/ios-local-agent-transport.d.ts +1 -1
  70. package/api/ios-local-agent-transport.d.ts.map +1 -1
  71. package/api/ios-local-agent-transport.js +1 -7
  72. package/api/ittp-agent-transport.d.ts +1 -1
  73. package/api/native-cloud-http-transport.d.ts +1 -1
  74. package/api/native-cloud-http-transport.d.ts.map +1 -1
  75. package/api/native-cloud-http-transport.js +7 -0
  76. package/app-navigate-view.d.ts +1 -1
  77. package/app-navigate-view.d.ts.map +1 -1
  78. package/app-navigate-view.js +1 -4
  79. package/app-shell-components.d.ts +26 -27
  80. package/app-shell-components.d.ts.map +1 -1
  81. package/app-shell-components.js +3 -1
  82. package/app-shell-registry.d.ts +12 -1
  83. package/app-shell-registry.d.ts.map +1 -1
  84. package/backgrounds/AppBackground.d.ts +16 -0
  85. package/backgrounds/AppBackground.d.ts.map +1 -0
  86. package/backgrounds/AppBackground.js +30 -0
  87. package/backgrounds/ImageBackground.d.ts +12 -0
  88. package/backgrounds/ImageBackground.d.ts.map +1 -0
  89. package/backgrounds/ImageBackground.js +15 -0
  90. package/backgrounds/ShaderBackground.d.ts +12 -0
  91. package/backgrounds/ShaderBackground.d.ts.map +1 -0
  92. package/backgrounds/ShaderBackground.js +39 -0
  93. package/backgrounds/index.d.ts +7 -3
  94. package/backgrounds/index.d.ts.map +1 -1
  95. package/backgrounds/index.js +4 -0
  96. package/backgrounds/useBackgroundApplyChannel.d.ts +21 -0
  97. package/backgrounds/useBackgroundApplyChannel.d.ts.map +1 -0
  98. package/backgrounds/useBackgroundApplyChannel.js +53 -0
  99. package/bridge/capacitor-bridge.d.ts +1 -1
  100. package/bridge/index.d.ts +6 -6
  101. package/bridge/native-notifications.d.ts.map +1 -1
  102. package/bridge/native-notifications.js +6 -1
  103. package/bridge/native-plugins.d.ts +20 -1
  104. package/bridge/native-plugins.d.ts.map +1 -1
  105. package/bridge/plugin-bridge.d.ts +1 -1
  106. package/browser.d.ts +131 -131
  107. package/cache-telemetry.d.ts +2 -0
  108. package/cache-telemetry.d.ts.map +1 -1
  109. package/character/character-draft-helpers.d.ts +1 -1
  110. package/character-catalog.d.ts +1 -1
  111. package/chat/coding-agent-session-state.d.ts +1 -1
  112. package/chat/index.d.ts +24 -4
  113. package/chat/index.d.ts.map +1 -1
  114. package/chat/index.js +59 -6
  115. package/chat/slash-menu.d.ts +37 -2
  116. package/chat/slash-menu.d.ts.map +1 -1
  117. package/chat/slash-menu.js +220 -0
  118. package/chat/useSlashCommandController.d.ts +35 -2
  119. package/chat/useSlashCommandController.d.ts.map +1 -1
  120. package/chat/useSlashCommandController.js +64 -8
  121. package/cloud/account-security/AccountRoute.js +1 -1
  122. package/cloud/account-security/PermissionsRoute.js +1 -1
  123. package/cloud/account-security/SecurityRoute.js +1 -1
  124. package/cloud/account-security/components/account-details.d.ts +1 -1
  125. package/cloud/account-security/components/account-page-client.d.ts +1 -1
  126. package/cloud/account-security/components/organization-info.d.ts +1 -1
  127. package/cloud/account-security/components/profile-form.d.ts +1 -1
  128. package/cloud/account-security/components/profile-form.js +2 -2
  129. package/cloud/account-security/data/use-session-auth.d.ts +1 -1
  130. package/cloud/account-security/index.d.ts +8 -8
  131. package/cloud/admin/ModerationPage.js +1 -1
  132. package/cloud/admin/RedemptionsPage.js +2 -2
  133. package/cloud/admin/RpcStatusPage.js +1 -1
  134. package/cloud/admin/index.d.ts +6 -6
  135. package/cloud/analytics/_components/filters.js +1 -1
  136. package/cloud/analytics/_components/model-breakdown.js +2 -2
  137. package/cloud/analytics/_components/projections-chart.js +2 -2
  138. package/cloud/analytics/_components/provider-breakdown.js +2 -2
  139. package/cloud/analytics/index.d.ts +3 -3
  140. package/cloud/api-explorer/ApiExplorerPage.js +2 -2
  141. package/cloud/api-explorer/api-tester.d.ts.map +1 -1
  142. package/cloud/api-explorer/api-tester.js +15 -8
  143. package/cloud/api-explorer/auth-manager.d.ts +1 -1
  144. package/cloud/api-explorer/auth-manager.js +1 -1
  145. package/cloud/api-explorer/index.d.ts +5 -5
  146. package/cloud/api-explorer/use-session-auth.d.ts +1 -1
  147. package/cloud/api-keys/ApiKeysRoute.js +1 -1
  148. package/cloud/api-keys/ApiKeysView.d.ts +1 -1
  149. package/cloud/api-keys/ApiKeysView.js +5 -5
  150. package/cloud/api-keys/index.d.ts +6 -6
  151. package/cloud/applications/ApplicationDetailPage.js +1 -1
  152. package/cloud/applications/ApplicationsPage.js +1 -1
  153. package/cloud/applications/components/app-analytics.d.ts.map +1 -1
  154. package/cloud/applications/components/app-analytics.js +12 -20
  155. package/cloud/applications/components/app-details-tabs.d.ts +1 -1
  156. package/cloud/applications/components/app-details-tabs.js +1 -1
  157. package/cloud/applications/components/app-domains.d.ts.map +1 -1
  158. package/cloud/applications/components/app-domains.js +5 -2
  159. package/cloud/applications/components/app-overview.d.ts +1 -1
  160. package/cloud/applications/components/app-overview.d.ts.map +1 -1
  161. package/cloud/applications/components/app-overview.js +120 -3
  162. package/cloud/applications/components/app-promote.d.ts +1 -1
  163. package/cloud/applications/components/app-promote.d.ts.map +1 -1
  164. package/cloud/applications/components/app-promote.js +13 -4
  165. package/cloud/applications/components/app-settings.d.ts +1 -1
  166. package/cloud/applications/components/app-settings.js +5 -5
  167. package/cloud/applications/components/apps-table.d.ts +1 -1
  168. package/cloud/applications/components/create-app-dialog.js +1 -1
  169. package/cloud/applications/components/withdraw-dialog.js +1 -1
  170. package/cloud/applications/index.d.ts +5 -5
  171. package/cloud/applications/lib/apps.d.ts +25 -0
  172. package/cloud/applications/lib/apps.d.ts.map +1 -1
  173. package/cloud/applications/lib/apps.js +17 -1
  174. package/cloud/approvals/ApprovalsRoute.js +1 -1
  175. package/cloud/approvals/index.d.ts +3 -3
  176. package/cloud/approvals/lib/approvals.d.ts.map +1 -1
  177. package/cloud/approvals/lib/approvals.js +1 -1
  178. package/cloud/billing/components/billing-tab.d.ts +1 -1
  179. package/cloud/billing/components/direct-crypto-credit-card.d.ts +1 -1
  180. package/cloud/billing/components/direct-crypto-credit-card.js +1 -1
  181. package/cloud/billing/components/invoice-detail-client.d.ts +1 -1
  182. package/cloud/billing/components/payment-waiting-overlay.js +1 -1
  183. package/cloud/billing/data/billing-data.d.ts +2 -2
  184. package/cloud/billing/index.d.ts +9 -9
  185. package/cloud/billing/use-session-auth.d.ts +1 -1
  186. package/cloud/connectors/index.d.ts +10 -10
  187. package/cloud/documents/DocumentsRoute.js +2 -2
  188. package/cloud/documents/index.d.ts +7 -7
  189. package/cloud/documents/lib/agents.d.ts.map +1 -1
  190. package/cloud/documents/lib/agents.js +1 -1
  191. package/cloud/handoff/cloud-handoff-supervisor.d.ts +1 -1
  192. package/cloud/handoff/run-cloud-agent-handoff.d.ts +18 -0
  193. package/cloud/handoff/run-cloud-agent-handoff.d.ts.map +1 -0
  194. package/cloud/handoff/run-cloud-agent-handoff.js +51 -0
  195. package/cloud/index.d.ts +4 -4
  196. package/cloud/instances/AgentChatPage.js +2 -2
  197. package/cloud/instances/AgentDetailPage.js +1 -1
  198. package/cloud/instances/AgentsPage.js +1 -1
  199. package/cloud/instances/MyAgentsPage.js +1 -1
  200. package/cloud/instances/components/agent-actions.js +1 -1
  201. package/cloud/instances/components/agent-card.d.ts +3 -1
  202. package/cloud/instances/components/agent-card.d.ts.map +1 -1
  203. package/cloud/instances/components/agent-card.js +10 -6
  204. package/cloud/instances/components/character-filters.d.ts +1 -1
  205. package/cloud/instances/components/character-filters.js +1 -1
  206. package/cloud/instances/components/character-library-grid.d.ts +1 -1
  207. package/cloud/instances/components/create-eliza-agent-dialog.js +3 -3
  208. package/cloud/instances/components/docker-logs-viewer.d.ts.map +1 -1
  209. package/cloud/instances/components/docker-logs-viewer.js +13 -12
  210. package/cloud/instances/components/eliza-agent-backups-panel.js +2 -2
  211. package/cloud/instances/components/eliza-agents-table.js +1 -1
  212. package/cloud/instances/components/eliza-wallet-section.d.ts.map +1 -1
  213. package/cloud/instances/components/eliza-wallet-section.js +3 -5
  214. package/cloud/instances/components/my-agents.d.ts.map +1 -1
  215. package/cloud/instances/components/my-agents.js +5 -5
  216. package/cloud/instances/index.d.ts +6 -6
  217. package/cloud/instances/lib/i18n.d.ts +1 -1
  218. package/cloud/instances/lib/use-job-poller.d.ts.map +1 -1
  219. package/cloud/instances/lib/use-job-poller.js +4 -0
  220. package/cloud/instances/lib/use-sandbox-status-poll.d.ts.map +1 -1
  221. package/cloud/instances/lib/use-sandbox-status-poll.js +6 -0
  222. package/cloud/instances/lib/use-session-auth.d.ts +1 -1
  223. package/cloud/join/index.d.ts +5 -5
  224. package/cloud/lib/auth-query.d.ts +19 -0
  225. package/cloud/lib/auth-query.d.ts.map +1 -0
  226. package/cloud/{documents/lib → lib}/auth-query.js +7 -5
  227. package/cloud/lib/format-usd.d.ts +9 -0
  228. package/cloud/lib/format-usd.d.ts.map +1 -0
  229. package/cloud/lib/format-usd.js +16 -0
  230. package/cloud/lib/use-copy-feedback.d.ts +5 -0
  231. package/cloud/lib/use-copy-feedback.d.ts.map +1 -0
  232. package/cloud/{instances/lib → lib}/use-copy-feedback.js +2 -0
  233. package/cloud/lib/use-document-title.d.ts +2 -0
  234. package/cloud/lib/use-document-title.d.ts.map +1 -0
  235. package/cloud/{admin → lib}/use-document-title.js +4 -5
  236. package/cloud/lib/use-session-auth.d.ts +31 -0
  237. package/cloud/lib/use-session-auth.d.ts.map +1 -0
  238. package/cloud/{applications/lib → lib}/use-session-auth.js +14 -11
  239. package/cloud/mcps/McpDetailDrawer.d.ts +1 -1
  240. package/cloud/mcps/McpEditorDialog.d.ts +1 -1
  241. package/cloud/mcps/McpsView.d.ts.map +1 -1
  242. package/cloud/mcps/McpsView.js +20 -13
  243. package/cloud/mcps/index.d.ts +10 -10
  244. package/cloud/mcps/lib/mcp-mutations.d.ts +1 -1
  245. package/cloud/mcps/lib/use-mcps.d.ts +1 -1
  246. package/cloud/monetization/affiliates/AffiliatesRoute.js +1 -1
  247. package/cloud/monetization/affiliates/use-dashboard-referral-me.d.ts +1 -1
  248. package/cloud/monetization/earnings/EarningsPageClient.js +1 -1
  249. package/cloud/monetization/earnings/EarningsRoute.js +1 -1
  250. package/cloud/monetization/index.d.ts +8 -8
  251. package/cloud/organization/data/use-organization.d.ts +1 -1
  252. package/cloud/organization/index.d.ts +11 -11
  253. package/cloud/organization/members-list.d.ts +1 -1
  254. package/cloud/organization/members-tab.d.ts +1 -1
  255. package/cloud/organization/organization-general-tab.d.ts +1 -1
  256. package/cloud/organization/organization-tab.d.ts +1 -1
  257. package/cloud/organization/pending-invites-list.d.ts +1 -1
  258. package/cloud/public-pages/index.d.ts +21 -21
  259. package/cloud/public-pages/lib/use-session-auth.d.ts +1 -1
  260. package/cloud/public-pages/pages/auth/cli-login-page.d.ts.map +1 -1
  261. package/cloud/public-pages/pages/auth/cli-login-page.js +46 -9
  262. package/cloud/public-pages/pages/bsc-page.js +5 -5
  263. package/cloud/public-pages/pages/login/steward-login-section.js +2 -2
  264. package/cloud/public-pages/pages/payment/app-charge-page.js +1 -1
  265. package/cloud/public-pages/pages/payment/payment-request-page.js +1 -1
  266. package/cloud/register-all.d.ts +5 -5
  267. package/cloud/settings/index.d.ts +4 -4
  268. package/cloud/settings/sections.js +1 -1
  269. package/cloud/shell/CloudI18nProvider.d.ts +1 -1
  270. package/cloud/shell/StewardProvider.d.ts +1 -31
  271. package/cloud/shell/StewardProvider.d.ts.map +1 -1
  272. package/cloud/shell/StewardProvider.js +3 -122
  273. package/cloud/shell/StewardProviderRuntime.d.ts.map +1 -1
  274. package/cloud/shell/StewardProviderRuntime.js +17 -7
  275. package/cloud/shell/StewardProviderShared.d.ts +27 -0
  276. package/cloud/shell/StewardProviderShared.d.ts.map +1 -0
  277. package/cloud/shell/StewardProviderShared.js +112 -0
  278. package/cloud-ui/components/ai-elements/index.d.ts +3 -3
  279. package/cloud-ui/components/ai-elements/memoized-chat-message.d.ts +1 -1
  280. package/cloud-ui/components/ai-elements/memoized-chat-message.d.ts.map +1 -1
  281. package/cloud-ui/components/ai-elements/memoized-chat-message.js +162 -139
  282. package/cloud-ui/components/analytics/cost-alerts.d.ts +1 -1
  283. package/cloud-ui/components/analytics/cost-insights-card.d.ts +1 -1
  284. package/cloud-ui/components/analytics/index.d.ts +3 -3
  285. package/cloud-ui/components/auth/authorize-content.js +1 -1
  286. package/cloud-ui/components/brand/brand-button.d.ts +1 -1
  287. package/cloud-ui/components/brand/brand-button.js +1 -1
  288. package/cloud-ui/components/brand/brand-tabs-responsive.d.ts.map +1 -1
  289. package/cloud-ui/components/brand/brand-tabs-responsive.js +1 -1
  290. package/cloud-ui/components/brand/brand-tabs.d.ts.map +1 -1
  291. package/cloud-ui/components/brand/brand-tabs.js +2 -2
  292. package/cloud-ui/components/brand/index.d.ts +21 -21
  293. package/cloud-ui/components/brand/lock-on-button.d.ts +2 -2
  294. package/cloud-ui/components/brand/lock-on-button.variants.d.ts +1 -1
  295. package/cloud-ui/components/brand/lock-on-button.variants.js +1 -1
  296. package/cloud-ui/components/code/code-display.d.ts +1 -1
  297. package/cloud-ui/components/code/code-display.d.ts.map +1 -1
  298. package/cloud-ui/components/code/code-display.js +11 -9
  299. package/cloud-ui/components/code/index.d.ts +3 -3
  300. package/cloud-ui/components/data-list/apps-list-view.js +1 -1
  301. package/cloud-ui/components/data-list/index.d.ts +8 -8
  302. package/cloud-ui/components/data-list/list-action-menu.js +1 -1
  303. package/cloud-ui/components/docs/api-parameter-select.js +1 -1
  304. package/cloud-ui/components/docs/api-route-explorer-client.d.ts +1 -1
  305. package/cloud-ui/components/docs/api-route-explorer-client.js +1 -1
  306. package/cloud-ui/components/docs/docs-layout.d.ts +1 -1
  307. package/cloud-ui/components/docs/index.d.ts +11 -11
  308. package/cloud-ui/components/drawer.js +1 -1
  309. package/cloud-ui/components/image-gen/index.d.ts +4 -4
  310. package/cloud-ui/components/image-gen/prompt-input.js +1 -1
  311. package/cloud-ui/components/layout/dashboard-route-page.d.ts +1 -1
  312. package/cloud-ui/components/layout/dashboard-sidebar-item.d.ts +1 -1
  313. package/cloud-ui/components/layout/dashboard-sidebar-section.d.ts +1 -1
  314. package/cloud-ui/components/layout/dashboard-sidebar.d.ts +1 -1
  315. package/cloud-ui/components/layout/dashboard-sidebar.js +1 -1
  316. package/cloud-ui/components/layout/index.d.ts +11 -11
  317. package/cloud-ui/components/log-viewer.d.ts +1 -1
  318. package/cloud-ui/components/log-viewer.d.ts.map +1 -1
  319. package/cloud-ui/components/log-viewer.js +5 -2
  320. package/cloud-ui/components/monetization/animated-counter.d.ts.map +1 -1
  321. package/cloud-ui/components/monetization/animated-counter.js +4 -2
  322. package/cloud-ui/components/monetization/index.d.ts +4 -4
  323. package/cloud-ui/components/primitives.d.ts +57 -57
  324. package/cloud-ui/components/product-switcher.js +1 -1
  325. package/cloud-ui/components/resizable.d.ts.map +1 -1
  326. package/cloud-ui/components/resizable.js +23 -3
  327. package/cloud-ui/components/share/index.d.ts +1 -1
  328. package/cloud-ui/components/theme/index.d.ts +3 -3
  329. package/cloud-ui/components/theme/theme-provider.d.ts +2 -2
  330. package/cloud-ui/components/timeline.d.ts.map +1 -1
  331. package/cloud-ui/components/timeline.js +6 -6
  332. package/cloud-ui/components/voice/index.d.ts +8 -8
  333. package/cloud-ui/index.d.ts +30 -30
  334. package/cloud-ui/lib/utils.d.ts +1 -1
  335. package/companion/desktop-bar/CompanionBar.d.ts +1 -1
  336. package/companion/desktop-bar/CompanionBar.d.ts.map +1 -1
  337. package/companion/desktop-bar/CompanionBar.js +11 -8
  338. package/companion/desktop-bar/index.d.ts +6 -6
  339. package/companion/desktop-bar/platform/electrobun-tray.d.ts +19 -0
  340. package/companion/desktop-bar/platform/electrobun-tray.d.ts.map +1 -1
  341. package/companion/desktop-bar/platform/index.d.ts +2 -2
  342. package/companion/desktop-bar/platform/index.d.ts.map +1 -1
  343. package/companion/desktop-bar/platform/web-fallback.d.ts +1 -1
  344. package/companion/desktop-bar/useKeyboardShortcuts.d.ts +1 -1
  345. package/components/accounts/AccountCard.d.ts +1 -1
  346. package/components/accounts/AccountCard.js +2 -2
  347. package/components/accounts/AccountList.js +2 -2
  348. package/components/accounts/AddAccountDialog.d.ts.map +1 -1
  349. package/components/accounts/AddAccountDialog.js +11 -3
  350. package/components/accounts/RotationStrategyPicker.d.ts +1 -1
  351. package/components/accounts/RotationStrategyPicker.js +2 -2
  352. package/components/apps/AppWindowRenderer.d.ts.map +1 -1
  353. package/components/apps/AppWindowRenderer.helpers.d.ts +1 -1
  354. package/components/apps/AppWindowRenderer.js +23 -10
  355. package/components/apps/AppsCatalogGrid.d.ts +1 -1
  356. package/components/apps/AppsCatalogGrid.d.ts.map +1 -1
  357. package/components/apps/AppsCatalogGrid.js +16 -23
  358. package/components/apps/AppsSidebar.d.ts +1 -1
  359. package/components/apps/AppsSidebar.d.ts.map +1 -1
  360. package/components/apps/AppsSidebar.js +22 -11
  361. package/components/apps/GameView.d.ts.map +1 -1
  362. package/components/apps/GameView.helpers.d.ts +1 -1
  363. package/components/apps/GameView.js +55 -20
  364. package/components/apps/GameViewOverlay.d.ts.map +1 -1
  365. package/components/apps/GameViewOverlay.js +38 -4
  366. package/components/apps/RunningAppsRow.d.ts +1 -1
  367. package/components/apps/RunningAppsRow.d.ts.map +1 -1
  368. package/components/apps/RunningAppsRow.js +12 -10
  369. package/components/apps/app-identity.helpers.d.ts +1 -1
  370. package/components/apps/app-identity.js +1 -1
  371. package/components/apps/catalog-loader.d.ts +1 -1
  372. package/components/apps/extensions/registry.d.ts +2 -2
  373. package/components/apps/extensions/surface.d.ts +2 -2
  374. package/components/apps/extensions/surface.d.ts.map +1 -1
  375. package/components/apps/extensions/surface.helpers.d.ts +2 -2
  376. package/components/apps/extensions/surface.js +9 -9
  377. package/components/apps/extensions/types.d.ts +1 -1
  378. package/components/apps/helpers.d.ts +8 -5
  379. package/components/apps/helpers.d.ts.map +1 -1
  380. package/components/apps/helpers.js +5 -10
  381. package/components/apps/home-grid-apps.d.ts +2 -2
  382. package/components/apps/internal-tool-apps.d.ts +2 -2
  383. package/components/apps/internal-tool-apps.d.ts.map +1 -1
  384. package/components/apps/internal-tool-apps.js +18 -8
  385. package/components/apps/launch-history.d.ts +1 -1
  386. package/components/apps/load-apps-catalog.d.ts +1 -1
  387. package/components/apps/overlay-app-registry.d.ts +5 -2
  388. package/components/apps/overlay-app-registry.d.ts.map +1 -1
  389. package/components/apps/overlay-app-registry.js +3 -6
  390. package/components/apps/run-attention.d.ts +1 -1
  391. package/components/apps/surfaces/registry.d.ts +1 -1
  392. package/components/apps/useRegistryCatalog.d.ts +1 -1
  393. package/components/apps/viewer-auth.d.ts +1 -1
  394. package/components/auth/LoginView.d.ts +1 -1
  395. package/components/auth/LoginView.js +1 -1
  396. package/components/character/CharacterEditor.d.ts +4 -1
  397. package/components/character/CharacterEditor.d.ts.map +1 -1
  398. package/components/character/CharacterEditor.js +54 -14
  399. package/components/character/CharacterEditorPanels.d.ts +1 -1
  400. package/components/character/CharacterEditorPanels.d.ts.map +1 -1
  401. package/components/character/CharacterEditorPanels.js +10 -12
  402. package/components/character/CharacterExperienceWorkspace.d.ts +1 -1
  403. package/components/character/CharacterExperienceWorkspace.d.ts.map +1 -1
  404. package/components/character/CharacterExperienceWorkspace.js +10 -10
  405. package/components/character/CharacterHubView.d.ts +4 -2
  406. package/components/character/CharacterHubView.d.ts.map +1 -1
  407. package/components/character/CharacterHubView.js +57 -201
  408. package/components/character/CharacterOverviewSection.d.ts +1 -1
  409. package/components/character/CharacterOverviewSection.js +1 -1
  410. package/components/character/CharacterPersonalityTimeline.d.ts +1 -1
  411. package/components/character/CharacterRoster.d.ts.map +1 -1
  412. package/components/character/CharacterRoster.helpers.d.ts +1 -1
  413. package/components/character/CharacterRoster.js +2 -10
  414. package/components/character/MusicLibraryCharacterWidget.d.ts +1 -1
  415. package/components/character/character-editor-helpers.d.ts +2 -2
  416. package/components/character/character-hub-helpers.d.ts +2 -2
  417. package/components/character/character-voice-config.d.ts +2 -2
  418. package/components/character/useCharacterHubData.d.ts +41 -0
  419. package/components/character/useCharacterHubData.d.ts.map +1 -0
  420. package/components/character/useCharacterHubData.js +112 -0
  421. package/components/chat/AccountRequiredCard.d.ts +1 -1
  422. package/components/chat/AgentActivityBox.d.ts +1 -1
  423. package/components/chat/AgentActivityBox.d.ts.map +1 -1
  424. package/components/chat/AgentActivityBox.js +28 -17
  425. package/components/chat/AppsSection.d.ts.map +1 -1
  426. package/components/chat/AppsSection.js +13 -14
  427. package/components/chat/ConnectorAccountPicker.d.ts +1 -1
  428. package/components/chat/InlineWidgetText.d.ts +6 -0
  429. package/components/chat/InlineWidgetText.d.ts.map +1 -0
  430. package/components/chat/InlineWidgetText.js +99 -0
  431. package/components/chat/MessageAttachments.d.ts +22 -3
  432. package/components/chat/MessageAttachments.d.ts.map +1 -1
  433. package/components/chat/MessageAttachments.js +381 -14
  434. package/components/chat/MessageContent.d.ts +17 -2
  435. package/components/chat/MessageContent.d.ts.map +1 -1
  436. package/components/chat/MessageContent.js +163 -467
  437. package/components/chat/SaveCommandModal.js +2 -2
  438. package/components/chat/TasksEventsPanel.d.ts +1 -1
  439. package/components/chat/TasksEventsPanel.js +2 -2
  440. package/components/chat/TranscriptViewerOverlay.d.ts +32 -0
  441. package/components/chat/TranscriptViewerOverlay.d.ts.map +1 -0
  442. package/components/chat/TranscriptViewerOverlay.js +329 -0
  443. package/components/chat/WidgetVisibilityPanel.d.ts +3 -3
  444. package/components/chat/WidgetVisibilityPanel.d.ts.map +1 -1
  445. package/components/chat/WidgetVisibilityPanel.helpers.d.ts +1 -1
  446. package/components/chat/connector-send-as.d.ts +1 -1
  447. package/components/chat/message-choice-parser.d.ts +1 -1
  448. package/components/chat/message-choice-parser.d.ts.map +1 -1
  449. package/components/chat/message-choice-parser.js +1 -1
  450. package/components/chat/message-parser-helpers.d.ts +139 -0
  451. package/components/chat/message-parser-helpers.d.ts.map +1 -0
  452. package/components/chat/message-parser-helpers.js +490 -0
  453. package/components/chat/widgets/ChoiceWidget.js +1 -1
  454. package/components/chat/widgets/agent-orchestrator-accounts-view.d.ts +3 -3
  455. package/components/chat/widgets/agent-orchestrator.d.ts +1 -1
  456. package/components/chat/widgets/agent-orchestrator.d.ts.map +1 -1
  457. package/components/chat/widgets/agent-orchestrator.js +60 -39
  458. package/components/chat/widgets/browser-launch-widget.d.ts +19 -0
  459. package/components/chat/widgets/browser-launch-widget.d.ts.map +1 -0
  460. package/components/chat/widgets/browser-launch-widget.js +38 -0
  461. package/components/chat/widgets/browser-status.d.ts +1 -1
  462. package/components/chat/widgets/browser-status.d.ts.map +1 -1
  463. package/components/chat/widgets/browser-status.helpers.d.ts +1 -1
  464. package/components/chat/widgets/browser-status.js +17 -27
  465. package/components/chat/widgets/calendar-upcoming.d.ts +17 -0
  466. package/components/chat/widgets/calendar-upcoming.d.ts.map +1 -0
  467. package/components/chat/widgets/calendar-upcoming.js +149 -0
  468. package/components/chat/widgets/credential-request-widget.d.ts +40 -0
  469. package/components/chat/widgets/credential-request-widget.d.ts.map +1 -0
  470. package/components/chat/widgets/credential-request-widget.js +52 -0
  471. package/components/chat/widgets/finances-alerts.d.ts +17 -0
  472. package/components/chat/widgets/finances-alerts.d.ts.map +1 -0
  473. package/components/chat/widgets/finances-alerts.js +214 -0
  474. package/components/chat/widgets/followups.d.ts +1 -1
  475. package/components/chat/widgets/form-request.d.ts +1 -1
  476. package/components/chat/widgets/goals-attention.d.ts +17 -0
  477. package/components/chat/widgets/goals-attention.d.ts.map +1 -0
  478. package/components/chat/widgets/goals-attention.js +155 -0
  479. package/components/chat/widgets/health-sleep.d.ts +18 -0
  480. package/components/chat/widgets/health-sleep.d.ts.map +1 -0
  481. package/components/chat/widgets/health-sleep.js +159 -0
  482. package/components/chat/widgets/home-widget-card.d.ts +47 -0
  483. package/components/chat/widgets/home-widget-card.d.ts.map +1 -0
  484. package/components/chat/widgets/home-widget-card.js +62 -0
  485. package/components/chat/widgets/inbox-unread.d.ts +10 -0
  486. package/components/chat/widgets/inbox-unread.d.ts.map +1 -0
  487. package/components/chat/widgets/inbox-unread.js +119 -0
  488. package/components/chat/widgets/inline-registry.d.ts +1 -1
  489. package/components/chat/widgets/messages.d.ts +8 -0
  490. package/components/chat/widgets/messages.d.ts.map +1 -0
  491. package/components/chat/widgets/messages.js +38 -0
  492. package/components/chat/widgets/music-player.d.ts +1 -1
  493. package/components/chat/widgets/music-player.helpers.d.ts +1 -1
  494. package/components/chat/widgets/needs-attention.d.ts +22 -0
  495. package/components/chat/widgets/needs-attention.d.ts.map +1 -0
  496. package/components/chat/widgets/needs-attention.js +109 -0
  497. package/components/chat/widgets/notifications.d.ts +9 -0
  498. package/components/chat/widgets/notifications.d.ts.map +1 -0
  499. package/components/chat/widgets/notifications.js +42 -0
  500. package/components/chat/widgets/orchestrator-grilling-card.d.ts +24 -0
  501. package/components/chat/widgets/orchestrator-grilling-card.d.ts.map +1 -0
  502. package/components/chat/widgets/orchestrator-grilling-card.js +57 -0
  503. package/components/chat/widgets/relationships-attention.d.ts +18 -0
  504. package/components/chat/widgets/relationships-attention.d.ts.map +1 -0
  505. package/components/chat/widgets/relationships-attention.js +135 -0
  506. package/components/chat/widgets/shared.js +2 -2
  507. package/components/chat/widgets/task-widget.js +1 -1
  508. package/components/chat/widgets/todo.d.ts +1 -1
  509. package/components/chat/widgets/todo.d.ts.map +1 -1
  510. package/components/chat/widgets/todo.js +39 -10
  511. package/components/chat/widgets/topic-chips-bar.d.ts +23 -0
  512. package/components/chat/widgets/topic-chips-bar.d.ts.map +1 -0
  513. package/components/chat/widgets/topic-chips-bar.js +22 -0
  514. package/components/chat/widgets/topic-grouped-transcript.d.ts +20 -0
  515. package/components/chat/widgets/topic-grouped-transcript.d.ts.map +1 -0
  516. package/components/chat/widgets/topic-grouped-transcript.js +45 -0
  517. package/components/chat/widgets/types.d.ts +5 -2
  518. package/components/chat/widgets/types.d.ts.map +1 -1
  519. package/components/chat/widgets/use-inline-widget-context.d.ts +18 -0
  520. package/components/chat/widgets/use-inline-widget-context.d.ts.map +1 -0
  521. package/components/chat/widgets/use-inline-widget-context.js +46 -0
  522. package/components/cloud/CloudSourceControls.js +2 -2
  523. package/components/cloud/CloudStatusBadge.js +2 -2
  524. package/components/cloud/FlaminaGuide.d.ts +1 -1
  525. package/components/cloud/FlaminaGuide.d.ts.map +1 -1
  526. package/components/cloud/FlaminaGuide.js +10 -5
  527. package/components/companion/injected.d.ts +1 -1
  528. package/components/companion/injected.hooks.d.ts +1 -1
  529. package/components/composites/chat/ChatVoiceStatusBar.d.ts +2 -2
  530. package/components/composites/chat/ChatVoiceStatusBar.js +1 -1
  531. package/components/composites/chat/ContinuousChatToggle.d.ts +1 -1
  532. package/components/composites/chat/ContinuousChatToggle.js +1 -1
  533. package/components/composites/chat/chat-attachment-strip.d.ts +1 -1
  534. package/components/composites/chat/chat-attachment-strip.js +1 -1
  535. package/components/composites/chat/chat-composer-shell.d.ts +1 -1
  536. package/components/composites/chat/chat-composer.d.ts +10 -4
  537. package/components/composites/chat/chat-composer.d.ts.map +1 -1
  538. package/components/composites/chat/chat-composer.js +14 -14
  539. package/components/composites/chat/chat-conversation-item.d.ts +2 -2
  540. package/components/composites/chat/chat-conversation-item.d.ts.map +1 -1
  541. package/components/composites/chat/chat-conversation-item.js +8 -8
  542. package/components/composites/chat/chat-empty-state.d.ts +1 -1
  543. package/components/composites/chat/chat-message-actions.d.ts +1 -1
  544. package/components/composites/chat/chat-message.d.ts +10 -2
  545. package/components/composites/chat/chat-message.d.ts.map +1 -1
  546. package/components/composites/chat/chat-message.js +4 -2
  547. package/components/composites/chat/chat-source.d.ts +2 -2
  548. package/components/composites/chat/chat-source.helpers.d.ts +1 -1
  549. package/components/composites/chat/chat-thread-layout.d.ts +1 -1
  550. package/components/composites/chat/chat-thread-layout.d.ts.map +1 -1
  551. package/components/composites/chat/chat-thread-layout.js +2 -2
  552. package/components/composites/chat/chat-transcript.d.ts +6 -2
  553. package/components/composites/chat/chat-transcript.d.ts.map +1 -1
  554. package/components/composites/chat/chat-transcript.js +18 -3
  555. package/components/composites/chat/chat-types.d.ts +2 -0
  556. package/components/composites/chat/chat-types.d.ts.map +1 -1
  557. package/components/composites/chat/chat-typing-indicator.d.ts +1 -1
  558. package/components/composites/chat/index.d.ts +16 -16
  559. package/components/composites/chat/permission-card.d.ts +1 -1
  560. package/components/composites/chat/permission-card.render.d.ts +2 -2
  561. package/components/composites/code/DiffReviewPanel.d.ts +1 -1
  562. package/components/composites/code/index.d.ts +1 -1
  563. package/components/composites/form-field/index.d.ts +1 -1
  564. package/components/composites/index.d.ts +29 -29
  565. package/components/composites/page-panel/index.d.ts +19 -19
  566. package/components/composites/page-panel/page-panel-collapsible-section.d.ts +1 -1
  567. package/components/composites/page-panel/page-panel-collapsible-section.d.ts.map +1 -1
  568. package/components/composites/page-panel/page-panel-collapsible-section.js +2 -2
  569. package/components/composites/page-panel/page-panel-empty.d.ts +1 -1
  570. package/components/composites/page-panel/page-panel-empty.d.ts.map +1 -1
  571. package/components/composites/page-panel/page-panel-empty.js +4 -4
  572. package/components/composites/page-panel/page-panel-feature-empty.d.ts +1 -1
  573. package/components/composites/page-panel/page-panel-frame.d.ts +1 -1
  574. package/components/composites/page-panel/page-panel-frame.d.ts.map +1 -1
  575. package/components/composites/page-panel/page-panel-frame.js +1 -1
  576. package/components/composites/page-panel/page-panel-header.d.ts +1 -1
  577. package/components/composites/page-panel/page-panel-header.d.ts.map +1 -1
  578. package/components/composites/page-panel/page-panel-header.js +9 -9
  579. package/components/composites/page-panel/page-panel-loading.d.ts +1 -1
  580. package/components/composites/page-panel/page-panel-loading.d.ts.map +1 -1
  581. package/components/composites/page-panel/page-panel-loading.js +3 -3
  582. package/components/composites/page-panel/page-panel-root.d.ts +2 -2
  583. package/components/composites/page-panel/page-panel-root.js +7 -7
  584. package/components/composites/page-panel/page-panel-toolbar.d.ts +1 -1
  585. package/components/composites/page-panel/page-panel-types.d.ts +1 -1
  586. package/components/composites/search/index.d.ts +1 -1
  587. package/components/composites/search/searchbar.js +1 -1
  588. package/components/composites/sidebar/index.d.ts +10 -10
  589. package/components/composites/sidebar/sidebar-auto-rail.d.ts +1 -1
  590. package/components/composites/sidebar/sidebar-body.d.ts +1 -1
  591. package/components/composites/sidebar/sidebar-collapsed-rail.d.ts +1 -1
  592. package/components/composites/sidebar/sidebar-content.js +3 -3
  593. package/components/composites/sidebar/sidebar-header-stack.d.ts +1 -1
  594. package/components/composites/sidebar/sidebar-header.d.ts +1 -1
  595. package/components/composites/sidebar/sidebar-panel.d.ts +1 -1
  596. package/components/composites/sidebar/sidebar-root.d.ts +1 -1
  597. package/components/composites/sidebar/sidebar-root.d.ts.map +1 -1
  598. package/components/composites/sidebar/sidebar-root.js +34 -8
  599. package/components/composites/sidebar/sidebar-scroll-region.d.ts +1 -1
  600. package/components/composites/skills/index.d.ts +1 -1
  601. package/components/composites/trajectories/index.d.ts +7 -7
  602. package/components/composites/trajectories/trajectory-code-block.d.ts.map +1 -1
  603. package/components/composites/trajectories/trajectory-code-block.js +3 -2
  604. package/components/composites/trajectories/trajectory-pipeline-graph.js +3 -3
  605. package/components/config-ui/config-control-primitives.helpers.js +2 -2
  606. package/components/config-ui/config-field.d.ts +1 -1
  607. package/components/config-ui/config-field.helpers.d.ts +1 -1
  608. package/components/config-ui/config-field.helpers.d.ts.map +1 -1
  609. package/components/config-ui/config-field.helpers.js +33 -20
  610. package/components/config-ui/config-field.js +2 -2
  611. package/components/config-ui/config-renderer.d.ts +2 -2
  612. package/components/config-ui/config-renderer.helpers.d.ts +2 -2
  613. package/components/config-ui/config-renderer.js +6 -6
  614. package/components/config-ui/index.d.ts +7 -7
  615. package/components/config-ui/ui-renderer.d.ts +1 -1
  616. package/components/config-ui/ui-renderer.d.ts.map +1 -1
  617. package/components/config-ui/ui-renderer.helpers.d.ts +1 -1
  618. package/components/config-ui/ui-renderer.js +15 -8
  619. package/components/connectors/BlueBubblesStatusPanel.d.ts.map +1 -1
  620. package/components/connectors/BlueBubblesStatusPanel.js +11 -24
  621. package/components/connectors/ConnectorAccountAuditList.d.ts.map +1 -1
  622. package/components/connectors/ConnectorAccountAuditList.js +19 -32
  623. package/components/connectors/ConnectorAccountCard.d.ts +1 -1
  624. package/components/connectors/ConnectorAccountList.d.ts +2 -2
  625. package/components/connectors/ConnectorAccountPrivacySelector.d.ts +1 -1
  626. package/components/connectors/ConnectorAccountPurposeSelector.d.ts +1 -1
  627. package/components/connectors/ConnectorModeSelector.d.ts +1 -1
  628. package/components/connectors/ConnectorModeSelector.helpers.d.ts +1 -1
  629. package/components/connectors/ConnectorModeSelector.hooks.d.ts +1 -1
  630. package/components/connectors/ConnectorModeSelector.js +2 -2
  631. package/components/connectors/ConnectorQrPairingOverlay.js +2 -2
  632. package/components/connectors/DiscordLocalConnectorPanel.js +2 -2
  633. package/components/connectors/IMessageStatusPanel.js +2 -2
  634. package/components/connectors/SignalQrOverlay.js +2 -2
  635. package/components/connectors/TelegramAccountConnectorPanel.js +4 -4
  636. package/components/connectors/TelegramBotSetupPanel.js +3 -3
  637. package/components/connectors/WhatsAppQrOverlay.js +2 -2
  638. package/components/connectors/XRPairingPanel.d.ts.map +1 -1
  639. package/components/connectors/XRPairingPanel.js +6 -3
  640. package/components/connectors/connector-account-options.d.ts +1 -1
  641. package/components/conversations/ConversationRenameDialog.d.ts.map +1 -1
  642. package/components/conversations/ConversationRenameDialog.js +4 -2
  643. package/components/conversations/ConversationsSidebar.d.ts.map +1 -1
  644. package/components/conversations/ConversationsSidebar.js +18 -3
  645. package/components/conversations/conversation-sidebar-model.d.ts +2 -2
  646. package/components/conversations/conversation-utils.d.ts +1 -1
  647. package/components/custom-actions/CustomActionEditor.js +2 -2
  648. package/components/custom-actions/CustomActionsPanel.d.ts.map +1 -1
  649. package/components/custom-actions/CustomActionsPanel.js +16 -5
  650. package/components/custom-actions/CustomActionsView.js +3 -3
  651. package/components/custom-actions/custom-action-form.d.ts +4 -4
  652. package/components/custom-actions/custom-action-form.d.ts.map +1 -1
  653. package/components/custom-actions/custom-action-form.js +2 -2
  654. package/components/desktop/DesktopTabBar.d.ts +2 -2
  655. package/components/desktop/DesktopTabBar.js +4 -4
  656. package/components/index.d.ts +161 -156
  657. package/components/index.d.ts.map +1 -1
  658. package/components/index.js +9 -1
  659. package/components/local-inference/ActiveModelBar.d.ts +1 -1
  660. package/components/local-inference/DeviceBridgeStatus.d.ts +1 -1
  661. package/components/local-inference/DevicesPanel.d.ts +1 -1
  662. package/components/local-inference/DownloadProgress.d.ts +1 -1
  663. package/components/local-inference/DownloadProgress.d.ts.map +1 -1
  664. package/components/local-inference/DownloadProgress.js +1 -3
  665. package/components/local-inference/DownloadQueue.d.ts +8 -2
  666. package/components/local-inference/DownloadQueue.d.ts.map +1 -1
  667. package/components/local-inference/DownloadQueue.js +3 -3
  668. package/components/local-inference/FirstRunOffer.d.ts +1 -1
  669. package/components/local-inference/HardwareBadge.d.ts +1 -1
  670. package/components/local-inference/LocalInferencePanel.d.ts +1 -1
  671. package/components/local-inference/LocalInferencePanel.d.ts.map +1 -1
  672. package/components/local-inference/LocalInferencePanel.js +18 -51
  673. package/components/local-inference/ModelCard.d.ts +1 -1
  674. package/components/local-inference/ModelCard.d.ts.map +1 -1
  675. package/components/local-inference/ModelCard.js +6 -5
  676. package/components/local-inference/ModelHubView.d.ts +1 -1
  677. package/components/local-inference/ModelHubView.d.ts.map +1 -1
  678. package/components/local-inference/ModelHubView.js +10 -6
  679. package/components/local-inference/RoutingMatrix.d.ts.map +1 -1
  680. package/components/local-inference/RoutingMatrix.js +115 -40
  681. package/components/local-inference/SlotAssignments.d.ts +1 -1
  682. package/components/local-inference/SlotAssignments.d.ts.map +1 -1
  683. package/components/local-inference/SlotAssignments.js +27 -10
  684. package/components/local-inference/hub-utils.d.ts +2 -1
  685. package/components/local-inference/hub-utils.d.ts.map +1 -1
  686. package/components/local-inference/hub-utils.js +2 -0
  687. package/components/local-inference/runtime-class-ui.d.ts +44 -0
  688. package/components/local-inference/runtime-class-ui.d.ts.map +1 -0
  689. package/components/local-inference/runtime-class-ui.js +61 -0
  690. package/components/local-inference/slot-metadata.d.ts +1 -1
  691. package/components/local-inference/useDeviceBridgeStatus.d.ts +1 -1
  692. package/components/local-inference/useDeviceBridgeStatus.d.ts.map +1 -1
  693. package/components/local-inference/useDeviceBridgeStatus.js +17 -12
  694. package/components/local-inference/useHomeModelStatus.d.ts +1 -1
  695. package/components/local-inference/useHomeModelStatus.d.ts.map +1 -1
  696. package/components/local-inference/useHomeModelStatus.js +15 -10
  697. package/components/pages/AppDetailsView.d.ts +1 -1
  698. package/components/pages/AppDetailsView.d.ts.map +1 -1
  699. package/components/pages/AppDetailsView.helpers.d.ts +1 -1
  700. package/components/pages/AppDetailsView.js +15 -3
  701. package/components/pages/AppsPageView.d.ts.map +1 -1
  702. package/components/pages/AppsPageView.js +7 -2
  703. package/components/pages/AppsView.d.ts.map +1 -1
  704. package/components/pages/AppsView.js +35 -8
  705. package/components/pages/AutomationsFeed.d.ts +1 -1
  706. package/components/pages/AutomationsFeed.d.ts.map +1 -1
  707. package/components/pages/AutomationsFeed.js +3 -7
  708. package/components/pages/BackgroundView.d.ts +10 -0
  709. package/components/pages/BackgroundView.d.ts.map +1 -0
  710. package/components/pages/BackgroundView.js +14 -0
  711. package/components/pages/BrowserWorkspaceView.d.ts.map +1 -1
  712. package/components/pages/BrowserWorkspaceView.js +13 -8
  713. package/components/pages/CameraPageView.js +2 -2
  714. package/components/pages/ChatView.d.ts +1 -1
  715. package/components/pages/ChatView.d.ts.map +1 -1
  716. package/components/pages/ChatView.js +186 -29
  717. package/components/pages/ConfigPageView.d.ts.map +1 -1
  718. package/components/pages/ConfigPageView.js +11 -2
  719. package/components/pages/DatabasePageView.d.ts.map +1 -1
  720. package/components/pages/DatabasePageView.js +4 -2
  721. package/components/pages/DatabaseView.d.ts.map +1 -1
  722. package/components/pages/DatabaseView.js +14 -12
  723. package/components/pages/DocumentsView.d.ts +2 -2
  724. package/components/pages/DocumentsView.d.ts.map +1 -1
  725. package/components/pages/DocumentsView.js +20 -20
  726. package/components/pages/ElizaCloudDashboard.d.ts.map +1 -1
  727. package/components/pages/ElizaCloudDashboard.js +20 -2
  728. package/components/pages/ElizaOsAppsView.d.ts.map +1 -1
  729. package/components/pages/ElizaOsAppsView.js +29 -22
  730. package/components/pages/FilesView.d.ts +15 -0
  731. package/components/pages/FilesView.d.ts.map +1 -0
  732. package/components/pages/FilesView.js +201 -0
  733. package/components/pages/GeneratedViewHero.js +1 -1
  734. package/components/pages/HeartbeatForm.d.ts +3 -3
  735. package/components/pages/HeartbeatsView.d.ts.map +1 -1
  736. package/components/pages/HeartbeatsView.js +21 -6
  737. package/components/pages/LogsView.d.ts +0 -6
  738. package/components/pages/LogsView.d.ts.map +1 -1
  739. package/components/pages/LogsView.js +41 -25
  740. package/components/pages/MediaGalleryView.d.ts.map +1 -1
  741. package/components/pages/MediaGalleryView.js +59 -11
  742. package/components/pages/MemoryDetailPanel.d.ts +1 -1
  743. package/components/pages/MemoryDetailPanel.d.ts.map +1 -1
  744. package/components/pages/MemoryDetailPanel.js +8 -3
  745. package/components/pages/MemoryViewerView.d.ts.map +1 -1
  746. package/components/pages/MemoryViewerView.js +33 -24
  747. package/components/pages/PluginCard.d.ts +2 -2
  748. package/components/pages/PluginCard.d.ts.map +1 -1
  749. package/components/pages/PluginCard.js +6 -5
  750. package/components/pages/PluginConfigForm.d.ts +1 -1
  751. package/components/pages/PluginConfigForm.js +2 -2
  752. package/components/pages/PluginVisual.d.ts +1 -1
  753. package/components/pages/PluginsView.d.ts +1 -1
  754. package/components/pages/PluginsView.d.ts.map +1 -1
  755. package/components/pages/PluginsView.js +33 -13
  756. package/components/pages/RelationshipsGraphPanel.d.ts +1 -1
  757. package/components/pages/RelationshipsGraphPanel.js +2 -2
  758. package/components/pages/RelationshipsIdentityCluster.d.ts +1 -1
  759. package/components/pages/ReleaseCenterView.d.ts.map +1 -1
  760. package/components/pages/ReleaseCenterView.js +11 -9
  761. package/components/pages/RuntimeView.d.ts.map +1 -1
  762. package/components/pages/RuntimeView.js +13 -12
  763. package/components/pages/SecretsView.d.ts.map +1 -1
  764. package/components/pages/SecretsView.js +21 -18
  765. package/components/pages/SettingsView.d.ts.map +1 -1
  766. package/components/pages/SettingsView.js +34 -14
  767. package/components/pages/SkillsView.d.ts.map +1 -1
  768. package/components/pages/SkillsView.js +47 -11
  769. package/components/pages/Springboard.d.ts +49 -0
  770. package/components/pages/Springboard.d.ts.map +1 -0
  771. package/components/pages/Springboard.js +238 -0
  772. package/components/pages/SpringboardSurface.d.ts +6 -0
  773. package/components/pages/SpringboardSurface.d.ts.map +1 -0
  774. package/components/pages/SpringboardSurface.js +120 -0
  775. package/components/pages/SqlEditorPanel.d.ts +1 -1
  776. package/components/pages/SqlEditorPanel.js +5 -5
  777. package/components/pages/StreamView.d.ts.map +1 -1
  778. package/components/pages/StreamView.js +6 -7
  779. package/components/pages/TaskEditor.d.ts +3 -3
  780. package/components/pages/TrajectoriesView.d.ts.map +1 -1
  781. package/components/pages/TrajectoriesView.js +9 -9
  782. package/components/pages/TrajectoryDetailView.d.ts.map +1 -1
  783. package/components/pages/TrajectoryDetailView.js +58 -39
  784. package/components/pages/WorkflowEditor.d.ts +1 -1
  785. package/components/pages/WorkflowEditor.d.ts.map +1 -1
  786. package/components/pages/WorkflowEditor.js +13 -22
  787. package/components/pages/WorkflowGraphViewer.d.ts +1 -1
  788. package/components/pages/WorkflowGraphViewer.d.ts.map +1 -1
  789. package/components/pages/WorkflowGraphViewer.js +9 -11
  790. package/components/pages/__e2e__/background-fixture.d.ts +2 -0
  791. package/components/pages/__e2e__/background-fixture.d.ts.map +1 -0
  792. package/components/pages/__e2e__/background-fixture.js +84 -0
  793. package/components/pages/__e2e__/springboard-fixture.d.ts +2 -0
  794. package/components/pages/__e2e__/springboard-fixture.d.ts.map +1 -0
  795. package/components/pages/__e2e__/springboard-fixture.js +103 -0
  796. package/components/pages/automation-conversations.d.ts +1 -1
  797. package/components/pages/automations-missing-creds.d.ts +1 -1
  798. package/components/pages/background-image.d.ts +10 -0
  799. package/components/pages/background-image.d.ts.map +1 -0
  800. package/components/pages/background-image.js +61 -0
  801. package/components/pages/browser-workspace-wallet.d.ts +1 -1
  802. package/components/pages/chat-view-hooks.d.ts +5 -5
  803. package/components/pages/cloud-dashboard-utils.d.ts +1 -1
  804. package/components/pages/config-page-sections.d.ts +1 -1
  805. package/components/pages/config-page-sections.d.ts.map +1 -1
  806. package/components/pages/config-page-sections.js +4 -3
  807. package/components/pages/database-utils.d.ts +2 -1
  808. package/components/pages/database-utils.d.ts.map +1 -1
  809. package/components/pages/database-utils.js +38 -25
  810. package/components/pages/documents-detail.d.ts.map +1 -1
  811. package/components/pages/documents-detail.helpers.d.ts +1 -1
  812. package/components/pages/documents-detail.js +55 -8
  813. package/components/pages/documents-upload.d.ts +1 -1
  814. package/components/pages/documents-upload.d.ts.map +1 -1
  815. package/components/pages/documents-upload.helpers.d.ts +1 -1
  816. package/components/pages/documents-upload.js +5 -3
  817. package/components/pages/heartbeat-utils.d.ts +2 -2
  818. package/components/pages/help/HelpView.js +2 -2
  819. package/components/pages/help/help-content.d.ts.map +1 -1
  820. package/components/pages/help/help-content.js +7 -5
  821. package/components/pages/page-scoped-conversations.d.ts +3 -3
  822. package/components/pages/page-scoped-conversations.d.ts.map +1 -1
  823. package/components/pages/page-scoped-conversations.js +1 -18
  824. package/components/pages/plugin-list-utils.d.ts +3 -3
  825. package/components/pages/plugin-list-utils.d.ts.map +1 -1
  826. package/components/pages/plugin-list-utils.js +6 -2
  827. package/components/pages/plugin-view-connectors.d.ts +2 -2
  828. package/components/pages/plugin-view-connectors.d.ts.map +1 -1
  829. package/components/pages/plugin-view-connectors.js +7 -2
  830. package/components/pages/plugin-view-dialogs.d.ts +3 -9
  831. package/components/pages/plugin-view-dialogs.d.ts.map +1 -1
  832. package/components/pages/plugin-view-dialogs.js +1 -1
  833. package/components/pages/plugin-view-modal.d.ts +2 -2
  834. package/components/pages/plugin-view-sidebar.d.ts +2 -2
  835. package/components/pages/relationships/RelationshipsCandidateMergesPanel.d.ts +1 -1
  836. package/components/pages/relationships/RelationshipsPersonPanels.d.ts +1 -1
  837. package/components/pages/relationships/RelationshipsPersonPanels.js +1 -1
  838. package/components/pages/relationships/RelationshipsSidebar.d.ts +1 -1
  839. package/components/pages/relationships/RelationshipsWorkspaceView.d.ts.map +1 -1
  840. package/components/pages/relationships/RelationshipsWorkspaceView.js +5 -4
  841. package/components/pages/relationships/relationships-utils.d.ts +1 -1
  842. package/components/pages/skill-detail-panel.d.ts.map +1 -1
  843. package/components/pages/skill-detail-panel.js +25 -3
  844. package/components/pages/skill-marketplace.d.ts +2 -2
  845. package/components/pages/skill-marketplace.d.ts.map +1 -1
  846. package/components/pages/skill-marketplace.js +3 -3
  847. package/components/pages/tutorial/TutorialNarrator.d.ts.map +1 -1
  848. package/components/pages/tutorial/TutorialNarrator.js +3 -2
  849. package/components/pages/tutorial/TutorialOverlay.d.ts.map +1 -1
  850. package/components/pages/tutorial/TutorialOverlay.js +3 -2
  851. package/components/pages/tutorial/TutorialSpotlight.js +3 -3
  852. package/components/pages/tutorial/TutorialView.d.ts.map +1 -1
  853. package/components/pages/tutorial/TutorialView.js +3 -5
  854. package/components/pages/useBrowserWorkspaceWalletBridge.d.ts +2 -2
  855. package/components/pages/workflow-action-handoff.d.ts +1 -1
  856. package/components/permissions/StreamingPermissions.d.ts +1 -1
  857. package/components/permissions/StreamingPermissions.d.ts.map +1 -1
  858. package/components/permissions/StreamingPermissions.js +5 -6
  859. package/components/plugins/showcase-data.d.ts +1 -1
  860. package/components/policy-controls/ApprovedAddressesSection.d.ts +1 -1
  861. package/components/policy-controls/ApprovedAddressesSection.helpers.d.ts +1 -1
  862. package/components/policy-controls/AutoApproveSection.d.ts +1 -1
  863. package/components/policy-controls/AutoApproveSection.helpers.d.ts +1 -1
  864. package/components/policy-controls/RateLimitSection.d.ts +1 -1
  865. package/components/policy-controls/RateLimitSection.helpers.d.ts +1 -1
  866. package/components/policy-controls/SpendingLimitSection.d.ts +1 -1
  867. package/components/policy-controls/SpendingLimitSection.helpers.d.ts +1 -1
  868. package/components/policy-controls/TimeWindowSection.d.ts +1 -1
  869. package/components/policy-controls/TimeWindowSection.helpers.d.ts +1 -1
  870. package/components/policy-controls/constants.d.ts +1 -1
  871. package/components/policy-controls/helpers.d.ts +1 -1
  872. package/components/policy-controls/index.d.ts +14 -14
  873. package/components/primitives/index.d.ts +27 -27
  874. package/components/release-center/sections.d.ts +1 -1
  875. package/components/release-center/sections.js +7 -7
  876. package/components/release-center/shared.js +2 -2
  877. package/components/settings/AdvancedSection.d.ts.map +1 -1
  878. package/components/settings/AdvancedSection.js +20 -4
  879. package/components/settings/AdvancedToggle.js +1 -1
  880. package/components/settings/ApiKeyConfig.d.ts +2 -2
  881. package/components/settings/ApiKeyConfig.js +2 -2
  882. package/components/settings/AppPermissionsSection.d.ts.map +1 -1
  883. package/components/settings/AppPermissionsSection.js +7 -12
  884. package/components/settings/AppearanceSettingsSection.d.ts.map +1 -1
  885. package/components/settings/AppearanceSettingsSection.js +34 -5
  886. package/components/settings/AppsManagementSection.d.ts.map +1 -1
  887. package/components/settings/AppsManagementSection.js +42 -33
  888. package/components/settings/BackgroundSettingsControls.d.ts +5 -0
  889. package/components/settings/BackgroundSettingsControls.d.ts.map +1 -0
  890. package/components/settings/BackgroundSettingsControls.js +118 -0
  891. package/components/settings/CapabilitiesSection.d.ts.map +1 -1
  892. package/components/settings/CapabilitiesSection.js +115 -13
  893. package/components/settings/CloudAgentsSection.d.ts.map +1 -1
  894. package/components/settings/CloudAgentsSection.js +33 -13
  895. package/components/settings/ConnectorsSection.d.ts.map +1 -1
  896. package/components/settings/ConnectorsSection.js +8 -6
  897. package/components/settings/DesktopWorkspaceDisplay.d.ts +2 -3
  898. package/components/settings/DesktopWorkspaceDisplay.d.ts.map +1 -1
  899. package/components/settings/DesktopWorkspaceDisplay.hooks.d.ts +3 -4
  900. package/components/settings/DesktopWorkspaceDisplay.hooks.d.ts.map +1 -1
  901. package/components/settings/DesktopWorkspaceSection.d.ts.map +1 -1
  902. package/components/settings/DesktopWorkspaceSection.js +4 -2
  903. package/components/settings/IdentitySettingsSection.d.ts.map +1 -1
  904. package/components/settings/IdentitySettingsSection.js +13 -3
  905. package/components/settings/LoadContentPackForm.js +2 -2
  906. package/components/settings/LoadedPacksList.d.ts.map +1 -1
  907. package/components/settings/LoadedPacksList.js +8 -10
  908. package/components/settings/PermissionsSection.d.ts.map +1 -1
  909. package/components/settings/PermissionsSection.js +10 -32
  910. package/components/settings/PolicyControlsView.d.ts.map +1 -1
  911. package/components/settings/PolicyControlsView.js +8 -10
  912. package/components/settings/ProviderCard.d.ts +3 -5
  913. package/components/settings/ProviderCard.d.ts.map +1 -1
  914. package/components/settings/ProviderCard.js +4 -6
  915. package/components/settings/ProviderPanels.d.ts +4 -15
  916. package/components/settings/ProviderPanels.d.ts.map +1 -1
  917. package/components/settings/ProviderPanels.js +11 -17
  918. package/components/settings/ProviderRoutingPanel.d.ts +1 -1
  919. package/components/settings/ProviderRoutingPanel.d.ts.map +1 -1
  920. package/components/settings/ProviderRoutingPanel.js +4 -8
  921. package/components/settings/ProviderSwitcher.d.ts +1 -1
  922. package/components/settings/ProviderSwitcher.d.ts.map +1 -1
  923. package/components/settings/ProviderSwitcher.js +31 -32
  924. package/components/settings/RemotePluginHostSection.d.ts.map +1 -1
  925. package/components/settings/RemotePluginHostSection.js +13 -27
  926. package/components/settings/RuntimeSettingsSection.d.ts.map +1 -1
  927. package/components/settings/RuntimeSettingsSection.js +7 -18
  928. package/components/settings/SecretsManagerSection.d.ts +1 -1
  929. package/components/settings/SecretsManagerSection.d.ts.map +1 -1
  930. package/components/settings/SecretsManagerSection.js +3 -3
  931. package/components/settings/SecuritySettingsSection.d.ts.map +1 -1
  932. package/components/settings/SecuritySettingsSection.js +49 -57
  933. package/components/settings/SubscriptionStatus.d.ts +1 -1
  934. package/components/settings/SubscriptionStatus.js +4 -4
  935. package/components/settings/VaultInventoryPanel.d.ts +1 -1
  936. package/components/settings/VaultInventoryPanel.d.ts.map +1 -1
  937. package/components/settings/VaultInventoryPanel.js +26 -22
  938. package/components/settings/VoiceConfigView.d.ts.map +1 -1
  939. package/components/settings/VoiceConfigView.helpers.d.ts +1 -1
  940. package/components/settings/VoiceConfigView.js +25 -21
  941. package/components/settings/VoiceProfileSection.d.ts +2 -4
  942. package/components/settings/VoiceProfileSection.d.ts.map +1 -1
  943. package/components/settings/VoiceProfileSection.js +57 -34
  944. package/components/settings/VoiceSection.d.ts +8 -7
  945. package/components/settings/VoiceSection.d.ts.map +1 -1
  946. package/components/settings/VoiceSection.helpers.d.ts +1 -1
  947. package/components/settings/VoiceSection.helpers.d.ts.map +1 -1
  948. package/components/settings/VoiceSection.helpers.js +0 -1
  949. package/components/settings/VoiceSection.js +21 -57
  950. package/components/settings/VoiceSectionMount.d.ts.map +1 -1
  951. package/components/settings/VoiceSectionMount.js +16 -7
  952. package/components/settings/VoiceTierBanner.d.ts.map +1 -1
  953. package/components/settings/VoiceTierBanner.helpers.d.ts +1 -1
  954. package/components/settings/VoiceTierBanner.js +13 -19
  955. package/components/settings/WalletKeysSection.d.ts.map +1 -1
  956. package/components/settings/WalletKeysSection.js +3 -9
  957. package/components/settings/cloud-model-schema.d.ts +3 -3
  958. package/components/settings/desktop-workspace-audit-config.d.ts +1 -1
  959. package/components/settings/permission-controls.d.ts +2 -2
  960. package/components/settings/permission-controls.hooks.d.ts +1 -1
  961. package/components/settings/permission-controls.js +3 -3
  962. package/components/settings/permission-types.d.ts +1 -1
  963. package/components/settings/permission-types.js +8 -8
  964. package/components/settings/settings-agent-rows.d.ts +26 -2
  965. package/components/settings/settings-agent-rows.d.ts.map +1 -1
  966. package/components/settings/settings-agent-rows.js +29 -1
  967. package/components/settings/settings-control-primitives.d.ts +1 -1
  968. package/components/settings/settings-layout.d.ts +9 -3
  969. package/components/settings/settings-layout.d.ts.map +1 -1
  970. package/components/settings/settings-layout.js +8 -6
  971. package/components/settings/settings-section-registry.d.ts +19 -1
  972. package/components/settings/settings-section-registry.d.ts.map +1 -1
  973. package/components/settings/settings-sections.d.ts +3 -3
  974. package/components/settings/settings-sections.d.ts.map +1 -1
  975. package/components/settings/settings-sections.js +11 -4
  976. package/components/settings/useCloudModelConfig.d.ts +2 -2
  977. package/components/settings/useDesktopWindowControls.d.ts +3 -4
  978. package/components/settings/useDesktopWindowControls.d.ts.map +1 -1
  979. package/components/settings/useProviderBootstrap.d.ts +2 -2
  980. package/components/settings/useProviderEntries.d.ts +4 -4
  981. package/components/settings/useProviderSelection.d.ts +1 -1
  982. package/components/settings/useProviderSelection.d.ts.map +1 -1
  983. package/components/settings/useProviderSelection.js +9 -5
  984. package/components/settings/vault-tabs/OverviewTab.d.ts +1 -1
  985. package/components/settings/vault-tabs/OverviewTab.d.ts.map +1 -1
  986. package/components/settings/vault-tabs/OverviewTab.js +7 -1
  987. package/components/settings/vault-tabs/RoutingTab.d.ts +1 -1
  988. package/components/settings/vault-tabs/RoutingTab.d.ts.map +1 -1
  989. package/components/settings/vault-tabs/RoutingTab.js +41 -14
  990. package/components/settings/vault-tabs/SecretsTab.d.ts +1 -1
  991. package/components/settings/vault-tabs/SecretsTab.d.ts.map +1 -1
  992. package/components/settings/vault-tabs/SecretsTab.js +3 -1
  993. package/components/setup/BootstrapStep.d.ts +1 -1
  994. package/components/setup/BootstrapStep.d.ts.map +1 -1
  995. package/components/setup/BootstrapStep.js +1 -2
  996. package/components/setup/setup-classes.d.ts +2 -2
  997. package/components/setup/setup-classes.d.ts.map +1 -1
  998. package/components/setup/setup-classes.js +2 -2
  999. package/components/shared/AppPageSidebar.d.ts +1 -1
  1000. package/components/shared/AppPageSidebar.js +1 -1
  1001. package/components/shared/CollapsibleSidebarSection.js +1 -1
  1002. package/components/shared/LanguageDropdown.d.ts +1 -1
  1003. package/components/shared/LanguageDropdown.d.ts.map +1 -1
  1004. package/components/shared/LanguageDropdown.helpers.d.ts +1 -1
  1005. package/components/shared/LanguageDropdown.js +4 -7
  1006. package/components/shared/ThemeToggle.d.ts +1 -1
  1007. package/components/shared/ThemeToggle.js +2 -2
  1008. package/components/shared/confirm-delete-control.js +2 -2
  1009. package/components/shell/ActionBanner.d.ts.map +1 -1
  1010. package/components/shell/ActionBanner.js +3 -2
  1011. package/components/shell/AssistantOverlay.d.ts +1 -1
  1012. package/components/shell/AssistantOverlay.js +3 -3
  1013. package/components/shell/BugReportModal.d.ts.map +1 -1
  1014. package/components/shell/BugReportModal.js +6 -5
  1015. package/components/shell/ChatSurface.d.ts +1 -1
  1016. package/components/shell/ChatSurface.d.ts.map +1 -1
  1017. package/components/shell/ChatSurface.js +7 -2
  1018. package/components/shell/CloudHandoffBanner.d.ts +3 -2
  1019. package/components/shell/CloudHandoffBanner.d.ts.map +1 -1
  1020. package/components/shell/CloudHandoffBanner.js +9 -10
  1021. package/components/shell/CommandPalette.d.ts.map +1 -1
  1022. package/components/shell/CommandPalette.js +57 -5
  1023. package/components/shell/ComputerUseApprovalOverlay.d.ts.map +1 -1
  1024. package/components/shell/ComputerUseApprovalOverlay.js +10 -8
  1025. package/components/shell/ConnectionFailedBanner.d.ts.map +1 -1
  1026. package/components/shell/ConnectionFailedBanner.js +8 -3
  1027. package/components/shell/ConnectionLostOverlay.d.ts.map +1 -1
  1028. package/components/shell/ConnectionLostOverlay.js +7 -2
  1029. package/components/shell/ContinuousChatOverlay.d.ts +2 -2
  1030. package/components/shell/ContinuousChatOverlay.d.ts.map +1 -1
  1031. package/components/shell/ContinuousChatOverlay.js +620 -168
  1032. package/components/shell/HomePill.d.ts +1 -1
  1033. package/components/shell/HomePill.js +1 -1
  1034. package/components/shell/HomeScreen.d.ts +18 -6
  1035. package/components/shell/HomeScreen.d.ts.map +1 -1
  1036. package/components/shell/HomeScreen.js +84 -94
  1037. package/components/shell/HomeSpringboardSurface.d.ts +21 -0
  1038. package/components/shell/HomeSpringboardSurface.d.ts.map +1 -0
  1039. package/components/shell/HomeSpringboardSurface.js +134 -0
  1040. package/components/shell/KioskViewCanvas.d.ts +1 -1
  1041. package/components/shell/LoadingScreen.d.ts +1 -1
  1042. package/components/shell/LoadingScreen.d.ts.map +1 -1
  1043. package/components/shell/LoadingScreen.js +29 -6
  1044. package/components/shell/NotificationCenter.d.ts.map +1 -1
  1045. package/components/shell/NotificationCenter.js +52 -20
  1046. package/components/shell/PairingCommandHint.d.ts.map +1 -1
  1047. package/components/shell/PairingCommandHint.js +4 -2
  1048. package/components/shell/PairingView.d.ts.map +1 -1
  1049. package/components/shell/PairingView.js +11 -2
  1050. package/components/shell/RestartBanner.d.ts.map +1 -1
  1051. package/components/shell/RestartBanner.js +9 -3
  1052. package/components/shell/ShellControllerContext.hooks.d.ts +1 -1
  1053. package/components/shell/ShellHeaderControls.d.ts +3 -3
  1054. package/components/shell/ShellHeaderControls.d.ts.map +1 -1
  1055. package/components/shell/ShellHeaderControls.js +2 -2
  1056. package/components/shell/ShellOverlays.d.ts +1 -1
  1057. package/components/shell/ShellOverlays.d.ts.map +1 -1
  1058. package/components/shell/ShellOverlays.js +19 -4
  1059. package/components/shell/ShortcutsOverlay.d.ts.map +1 -1
  1060. package/components/shell/ShortcutsOverlay.js +10 -3
  1061. package/components/shell/SlashCommandMenu.d.ts +2 -2
  1062. package/components/shell/SlashCommandMenu.d.ts.map +1 -1
  1063. package/components/shell/SlashCommandMenu.js +2 -2
  1064. package/components/shell/StartupFailureView.d.ts +1 -1
  1065. package/components/shell/StartupFailureView.js +3 -3
  1066. package/components/shell/StartupShell.d.ts +1 -1
  1067. package/components/shell/StartupShell.d.ts.map +1 -1
  1068. package/components/shell/StartupShell.js +18 -6
  1069. package/components/shell/SystemWarningBanner.d.ts.map +1 -1
  1070. package/components/shell/SystemWarningBanner.js +5 -3
  1071. package/components/shell/TopicChipsBar.d.ts +14 -0
  1072. package/components/shell/TopicChipsBar.d.ts.map +1 -0
  1073. package/components/shell/TopicChipsBar.js +18 -0
  1074. package/components/shell/TopicGroup.d.ts +21 -0
  1075. package/components/shell/TopicGroup.d.ts.map +1 -0
  1076. package/components/shell/TopicGroup.js +30 -0
  1077. package/components/shell/__e2e__/chat-ambient-fixture.js +2 -2
  1078. package/components/shell/__e2e__/chat-sheet-fixture.js +13 -1
  1079. package/components/shell/__e2e__/chatux-gesture-fixture.d.ts +13 -0
  1080. package/components/shell/__e2e__/chatux-gesture-fixture.d.ts.map +1 -0
  1081. package/components/shell/__e2e__/chatux-gesture-fixture.js +65 -0
  1082. package/components/shell/__e2e__/home-screen-fixture.api-stub.d.ts +97 -9
  1083. package/components/shell/__e2e__/home-screen-fixture.api-stub.d.ts.map +1 -1
  1084. package/components/shell/__e2e__/home-screen-fixture.api-stub.js +30 -9
  1085. package/components/shell/__e2e__/home-screen-fixture.catalog-stub.d.ts +20 -0
  1086. package/components/shell/__e2e__/home-screen-fixture.catalog-stub.d.ts.map +1 -0
  1087. package/components/shell/__e2e__/home-screen-fixture.catalog-stub.js +23 -0
  1088. package/components/shell/__e2e__/home-screen-fixture.core-stub.d.ts +3 -0
  1089. package/components/shell/__e2e__/home-screen-fixture.core-stub.d.ts.map +1 -0
  1090. package/components/shell/__e2e__/home-screen-fixture.core-stub.js +6 -0
  1091. package/components/shell/__e2e__/home-screen-fixture.js +10 -2
  1092. package/components/shell/__e2e__/home-screen-fixture.platform-stub.d.ts +3 -0
  1093. package/components/shell/__e2e__/home-screen-fixture.platform-stub.d.ts.map +1 -0
  1094. package/components/shell/__e2e__/home-screen-fixture.platform-stub.js +6 -0
  1095. package/components/shell/__e2e__/home-screen-fixture.view-kinds-stub.d.ts +5 -0
  1096. package/components/shell/__e2e__/home-screen-fixture.view-kinds-stub.d.ts.map +1 -0
  1097. package/components/shell/__e2e__/home-screen-fixture.view-kinds-stub.js +3 -0
  1098. package/components/shell/__e2e__/home-screen-fixture.views-stub.d.ts +7 -0
  1099. package/components/shell/__e2e__/home-screen-fixture.views-stub.d.ts.map +1 -1
  1100. package/components/shell/__e2e__/home-screen-fixture.views-stub.js +68 -3
  1101. package/components/shell/first-run-theme.d.ts +1 -1
  1102. package/components/shell/glass-composer.helpers.d.ts +2 -2
  1103. package/components/shell/glass-composer.helpers.d.ts.map +1 -1
  1104. package/components/shell/glass-composer.helpers.js +2 -2
  1105. package/components/shell/glass-composer.js +1 -1
  1106. package/components/shell/home-springboard-events.d.ts +7 -0
  1107. package/components/shell/home-springboard-events.d.ts.map +1 -0
  1108. package/components/shell/home-springboard-events.js +6 -0
  1109. package/components/shell/shell-state.d.ts +24 -1
  1110. package/components/shell/shell-state.d.ts.map +1 -1
  1111. package/components/shell/shell-state.js +19 -1
  1112. package/components/shell/startup-shell-types.d.ts +1 -1
  1113. package/components/shell/topic-grouping.d.ts +39 -0
  1114. package/components/shell/topic-grouping.d.ts.map +1 -0
  1115. package/components/shell/topic-grouping.js +81 -0
  1116. package/components/shell/use-conversation-reset.d.ts +14 -0
  1117. package/components/shell/use-conversation-reset.d.ts.map +1 -0
  1118. package/components/shell/use-conversation-reset.js +25 -0
  1119. package/components/shell/use-pull-gesture.d.ts +32 -7
  1120. package/components/shell/use-pull-gesture.d.ts.map +1 -1
  1121. package/components/shell/use-pull-gesture.js +146 -21
  1122. package/components/shell/usePromptSuggestions.d.ts +3 -3
  1123. package/components/shell/usePromptSuggestions.js +1 -1
  1124. package/components/shell/useShellController.d.ts +42 -19
  1125. package/components/shell/useShellController.d.ts.map +1 -1
  1126. package/components/shell/useShellController.js +189 -15
  1127. package/components/shell/useShellVoiceOutput.d.ts +1 -1
  1128. package/components/steward/injected.d.ts +1 -1
  1129. package/components/stream/StatusBar.js +5 -7
  1130. package/components/tool-events/ToolCallEventLog.d.ts +1 -1
  1131. package/components/tool-events/ToolCallEventLog.helpers.d.ts +2 -2
  1132. package/components/training/JobDetailPanel.js +2 -2
  1133. package/components/training/TrainingDashboard.js +1 -1
  1134. package/components/training/hooks/useTrainingApi.d.ts +1 -1
  1135. package/components/training/injected.d.ts +1 -1
  1136. package/components/transcripts/TranscriptBody.d.ts.map +1 -1
  1137. package/components/transcripts/TranscriptBody.js +14 -6
  1138. package/components/transcripts/index.d.ts +4 -4
  1139. package/components/ui/admin-dialog.d.ts +2 -2
  1140. package/components/ui/admin-dialog.js +2 -2
  1141. package/components/ui/badge.js +1 -1
  1142. package/components/ui/button.js +1 -1
  1143. package/components/ui/calendar.d.ts +1 -1
  1144. package/components/ui/calendar.js +3 -3
  1145. package/components/ui/carousel.d.ts +1 -1
  1146. package/components/ui/chart.js +1 -1
  1147. package/components/ui/checkbox.js +1 -1
  1148. package/components/ui/code-block.js +1 -1
  1149. package/components/ui/confirm-dialog.hooks.d.ts +1 -1
  1150. package/components/ui/connection-status.d.ts.map +1 -1
  1151. package/components/ui/connection-status.js +6 -6
  1152. package/components/ui/copy-button.d.ts.map +1 -1
  1153. package/components/ui/copy-button.js +10 -1
  1154. package/components/ui/dialog.js +1 -1
  1155. package/components/ui/dropdown-menu.js +4 -4
  1156. package/components/ui/field-switch.js +1 -1
  1157. package/components/ui/form-select.d.ts +1 -1
  1158. package/components/ui/form-select.js +2 -2
  1159. package/components/ui/grid.d.ts +1 -1
  1160. package/components/ui/input-group.d.ts +1 -1
  1161. package/components/ui/input-group.js +4 -4
  1162. package/components/ui/input.js +3 -3
  1163. package/components/ui/new-action-button.d.ts +1 -1
  1164. package/components/ui/pagination.d.ts +1 -1
  1165. package/components/ui/scroll-area.js +1 -1
  1166. package/components/ui/select.js +2 -2
  1167. package/components/ui/settings-controls.d.ts +6 -6
  1168. package/components/ui/settings-controls.d.ts.map +1 -1
  1169. package/components/ui/settings-controls.js +9 -9
  1170. package/components/ui/slider.js +1 -1
  1171. package/components/ui/stack.d.ts +2 -2
  1172. package/components/ui/status-badge.helpers.d.ts +1 -1
  1173. package/components/ui/switch.js +1 -1
  1174. package/components/ui/tabs.d.ts.map +1 -1
  1175. package/components/ui/tabs.js +2 -2
  1176. package/components/ui/textarea.js +3 -3
  1177. package/components/ui/toggle.js +1 -1
  1178. package/components/ui/tooltip-extended.js +1 -1
  1179. package/components/views/DynamicViewLoader.d.ts +12 -0
  1180. package/components/views/DynamicViewLoader.d.ts.map +1 -1
  1181. package/components/views/DynamicViewLoader.js +82 -18
  1182. package/components/views/ShellViewAgentSurface.d.ts +1 -1
  1183. package/components/views/TerminalPluginView.d.ts.map +1 -1
  1184. package/components/views/TerminalPluginView.js +0 -1
  1185. package/components/views/ViewIcon.d.ts.map +1 -1
  1186. package/components/views/ViewIcon.js +22 -4
  1187. package/components/views/ViewTileImage.d.ts +25 -0
  1188. package/components/views/ViewTileImage.d.ts.map +1 -0
  1189. package/components/views/ViewTileImage.js +52 -0
  1190. package/components/views/view-interact-registry.d.ts +1 -1
  1191. package/components/workspace/AppWorkspaceChrome.d.ts +12 -1
  1192. package/components/workspace/AppWorkspaceChrome.d.ts.map +1 -1
  1193. package/components/workspace/AppWorkspaceChrome.js +3 -3
  1194. package/config/boot-config-store.d.ts +9 -8
  1195. package/config/boot-config-store.d.ts.map +1 -1
  1196. package/config/boot-config-store.js +1 -50
  1197. package/config/branding-react.hooks.d.ts +1 -1
  1198. package/config/branding.d.ts +2 -2
  1199. package/config/config-catalog.d.ts +10 -366
  1200. package/config/config-catalog.d.ts.map +1 -1
  1201. package/config/config-catalog.js +10 -705
  1202. package/config/index.d.ts +7 -7
  1203. package/content-packs/index.d.ts +3 -3
  1204. package/events/index.d.ts +33 -63
  1205. package/events/index.d.ts.map +1 -1
  1206. package/events/index.js +41 -37
  1207. package/first-run/AgentPicker.d.ts +8 -2
  1208. package/first-run/AgentPicker.d.ts.map +1 -1
  1209. package/first-run/AgentPicker.js +4 -4
  1210. package/first-run/CompactOnboarding.d.ts.map +1 -1
  1211. package/first-run/CompactOnboarding.js +2 -2
  1212. package/first-run/deep-link-handler.d.ts +1 -1
  1213. package/first-run/ensure-store-build-workspace-folder.d.ts +1 -1
  1214. package/first-run/first-run-config.d.ts +1 -1
  1215. package/first-run/first-run.d.ts +3 -3
  1216. package/first-run/mobile-runtime-mode.d.ts +1 -1
  1217. package/first-run/pre-seed-local-runtime.d.ts +1 -1
  1218. package/first-run/setup-steps.d.ts +1 -1
  1219. package/first-run/use-first-run-controller.d.ts +3 -3
  1220. package/first-run/use-first-run-controller.d.ts.map +1 -1
  1221. package/first-run/use-first-run-controller.js +64 -68
  1222. package/genui/actions.d.ts +1 -1
  1223. package/genui/index.d.ts +8 -8
  1224. package/genui/modes.d.ts +1 -1
  1225. package/genui/pipe.d.ts +1 -1
  1226. package/genui/renderer.d.ts +1 -1
  1227. package/genui/starter-pack-demo.d.ts +1 -1
  1228. package/genui/streaming.d.ts +1 -1
  1229. package/genui/use-json-render-message.d.ts +1 -1
  1230. package/genui/use-ui-stream.d.ts +1 -1
  1231. package/genui/use-ui-stream.d.ts.map +1 -1
  1232. package/genui/use-ui-stream.js +5 -5
  1233. package/genui/validator.d.ts +1 -1
  1234. package/hooks/BugReportProvider.d.ts +1 -1
  1235. package/hooks/frame-budget.d.ts +124 -0
  1236. package/hooks/frame-budget.d.ts.map +1 -0
  1237. package/hooks/frame-budget.js +183 -0
  1238. package/hooks/index.d.ts +27 -24
  1239. package/hooks/index.d.ts.map +1 -1
  1240. package/hooks/index.js +3 -0
  1241. package/hooks/resource-cache.d.ts.map +1 -1
  1242. package/hooks/resource-cache.js +36 -0
  1243. package/hooks/useAccounts.d.ts +2 -4
  1244. package/hooks/useAccounts.d.ts.map +1 -1
  1245. package/hooks/useAccounts.js +6 -4
  1246. package/hooks/useActivityEvents.d.ts +12 -0
  1247. package/hooks/useActivityEvents.d.ts.map +1 -1
  1248. package/hooks/useActivityEvents.js +48 -69
  1249. package/hooks/useAuthStatus.d.ts +1 -1
  1250. package/hooks/useAuthStatus.d.ts.map +1 -1
  1251. package/hooks/useAuthStatus.js +19 -1
  1252. package/hooks/useAvailableViews.d.ts +17 -3
  1253. package/hooks/useAvailableViews.d.ts.map +1 -1
  1254. package/hooks/useAvailableViews.js +89 -10
  1255. package/hooks/useCachedResource.d.ts +1 -1
  1256. package/hooks/useCloudHandoffPhase.d.ts +1 -1
  1257. package/hooks/useCloudHandoffPhase.d.ts.map +1 -1
  1258. package/hooks/useCloudHandoffPhase.js +15 -9
  1259. package/hooks/useConnectorAccounts.d.ts +2 -4
  1260. package/hooks/useConnectorAccounts.d.ts.map +1 -1
  1261. package/hooks/useConnectorAccounts.js +1 -1
  1262. package/hooks/useConnectorReconnect.d.ts +1 -1
  1263. package/hooks/useConnectorSendAsAccount.d.ts +3 -5
  1264. package/hooks/useConnectorSendAsAccount.d.ts.map +1 -1
  1265. package/hooks/useContextMenu.d.ts +1 -1
  1266. package/hooks/useContextMenu.d.ts.map +1 -1
  1267. package/hooks/useContextMenu.js +6 -2
  1268. package/hooks/useContinuousChat.d.ts +2 -2
  1269. package/hooks/useDefaultProviderPresets.d.ts +1 -1
  1270. package/hooks/useDesktopTabs.d.ts +1 -1
  1271. package/hooks/useDesktopTabs.d.ts.map +1 -1
  1272. package/hooks/useDesktopTabs.js +27 -9
  1273. package/hooks/useFrameBudgetMonitor.d.ts +30 -0
  1274. package/hooks/useFrameBudgetMonitor.d.ts.map +1 -0
  1275. package/hooks/useFrameBudgetMonitor.js +105 -0
  1276. package/hooks/useKeyboardShortcuts.d.ts +4 -0
  1277. package/hooks/useKeyboardShortcuts.d.ts.map +1 -1
  1278. package/hooks/useKeyboardShortcuts.js +19 -11
  1279. package/hooks/useLayoutShiftMonitor.d.ts +43 -0
  1280. package/hooks/useLayoutShiftMonitor.d.ts.map +1 -0
  1281. package/hooks/useLayoutShiftMonitor.js +128 -0
  1282. package/hooks/useNow.d.ts +10 -0
  1283. package/hooks/useNow.d.ts.map +1 -0
  1284. package/hooks/useNow.js +18 -0
  1285. package/hooks/useRuntimeMode.d.ts +1 -1
  1286. package/hooks/useSignalPairing.d.ts +2 -2
  1287. package/hooks/useViewCatalog.d.ts +2 -2
  1288. package/hooks/useViewCatalog.js +5 -5
  1289. package/hooks/useViewEvent.d.ts +1 -1
  1290. package/hooks/useVoiceChat.d.ts +17 -6
  1291. package/hooks/useVoiceChat.d.ts.map +1 -1
  1292. package/hooks/useVoiceChat.js +49 -2
  1293. package/hooks/useWhatsAppPairing.d.ts +2 -2
  1294. package/hooks/view-catalog.d.ts +37 -5
  1295. package/hooks/view-catalog.d.ts.map +1 -1
  1296. package/hooks/view-catalog.js +75 -5
  1297. package/i18n/index.d.ts +1 -1
  1298. package/i18n/locales/en.json +65 -21
  1299. package/i18n/locales/es.json +15 -16
  1300. package/i18n/locales/ja.json +15 -16
  1301. package/i18n/locales/ko.json +15 -16
  1302. package/i18n/locales/pt.json +15 -16
  1303. package/i18n/locales/tl.json +15 -16
  1304. package/i18n/locales/vi.json +15 -16
  1305. package/i18n/locales/zh-CN.json +15 -16
  1306. package/i18n/region.d.ts +1 -1
  1307. package/index.d.ts +146 -138
  1308. package/index.d.ts.map +1 -1
  1309. package/index.js +12 -2
  1310. package/layouts/chat-panel-layout/index.d.ts +1 -1
  1311. package/layouts/content-layout/index.d.ts +1 -1
  1312. package/layouts/index.d.ts +4 -4
  1313. package/layouts/page-layout/index.d.ts +4 -4
  1314. package/layouts/page-layout/page-layout-mobile-drawer.d.ts +1 -1
  1315. package/layouts/page-layout/page-layout-types.d.ts +2 -2
  1316. package/layouts/page-layout/page-layout.d.ts +1 -1
  1317. package/layouts/workspace-layout/index.d.ts +3 -3
  1318. package/layouts/workspace-layout/workspace-layout-types.d.ts +1 -1
  1319. package/layouts/workspace-layout/workspace-layout.d.ts +1 -1
  1320. package/layouts/workspace-layout/workspace-layout.d.ts.map +1 -1
  1321. package/layouts/workspace-layout/workspace-layout.js +2 -1
  1322. package/navigation/index.d.ts +4 -4
  1323. package/navigation/index.d.ts.map +1 -1
  1324. package/navigation/index.js +26 -16
  1325. package/package.json +26 -10
  1326. package/perf/PerfOverlay.d.ts +21 -0
  1327. package/perf/PerfOverlay.d.ts.map +1 -0
  1328. package/perf/PerfOverlay.js +90 -0
  1329. package/perf/perf-hud-control.d.ts +21 -0
  1330. package/perf/perf-hud-control.d.ts.map +1 -0
  1331. package/perf/perf-hud-control.js +98 -0
  1332. package/platform/assistant-launch-payload.d.ts.map +1 -1
  1333. package/platform/assistant-launch-payload.js +0 -3
  1334. package/platform/cloud-preference-patch.d.ts +1 -1
  1335. package/platform/desktop-permissions-client.d.ts +1 -1
  1336. package/platform/first-run-reset.d.ts +1 -1
  1337. package/platform/index.d.ts +14 -14
  1338. package/platform/init.d.ts +1 -1
  1339. package/platform/mobile-permissions-client.d.ts +1 -1
  1340. package/platform/platform-guards.d.ts +8 -0
  1341. package/platform/platform-guards.d.ts.map +1 -1
  1342. package/platform/platform-guards.js +2 -4
  1343. package/platform/types.d.ts +1 -1
  1344. package/platform/window-shell.d.ts +1 -1
  1345. package/retained-lazy.d.ts +1 -2
  1346. package/retained-lazy.d.ts.map +1 -1
  1347. package/services/app-updates/update-policy.d.ts +1 -1
  1348. package/services/app-updates/update-policy.d.ts.map +1 -1
  1349. package/services/app-updates/update-policy.js +1 -1
  1350. package/services/local-inference/active-model.d.ts +3 -3
  1351. package/services/local-inference/assignments.d.ts +6 -8
  1352. package/services/local-inference/assignments.d.ts.map +1 -1
  1353. package/services/local-inference/assignments.js +31 -14
  1354. package/services/local-inference/catalog-policy.d.ts +2 -1
  1355. package/services/local-inference/catalog-policy.d.ts.map +1 -1
  1356. package/services/local-inference/catalog-policy.js +6 -0
  1357. package/services/local-inference/catalog.d.ts +1 -1
  1358. package/services/local-inference/catalog.d.ts.map +1 -1
  1359. package/services/local-inference/catalog.js +1 -1
  1360. package/services/local-inference/custom-search.d.ts +2 -1
  1361. package/services/local-inference/custom-search.d.ts.map +1 -1
  1362. package/services/local-inference/custom-search.js +13 -21
  1363. package/services/local-inference/device-bridge.d.ts +1 -1
  1364. package/services/local-inference/downloader.d.ts +6 -5
  1365. package/services/local-inference/downloader.d.ts.map +1 -1
  1366. package/services/local-inference/downloader.js +9 -5
  1367. package/services/local-inference/engine.d.ts +1 -1
  1368. package/services/local-inference/external-scanner.d.ts +1 -1
  1369. package/services/local-inference/hardware.d.ts +2 -2
  1370. package/services/local-inference/hf-search.d.ts +5 -20
  1371. package/services/local-inference/hf-search.d.ts.map +1 -1
  1372. package/services/local-inference/hf-search.js +14 -272
  1373. package/services/local-inference/home-model-status.d.ts +1 -1
  1374. package/services/local-inference/index.d.ts +10 -10
  1375. package/services/local-inference/readiness.d.ts +1 -1
  1376. package/services/local-inference/recommendation.d.ts +1 -1
  1377. package/services/local-inference/registry.d.ts +11 -13
  1378. package/services/local-inference/registry.d.ts.map +1 -1
  1379. package/services/local-inference/registry.js +18 -17
  1380. package/services/local-inference/routing-policy.d.ts +6 -2
  1381. package/services/local-inference/routing-policy.d.ts.map +1 -1
  1382. package/services/local-inference/routing-policy.js +36 -8
  1383. package/services/local-inference/service.d.ts +6 -6
  1384. package/services/local-inference/service.d.ts.map +1 -1
  1385. package/services/local-inference/service.js +19 -8
  1386. package/services/local-inference/token-tree.d.ts +1 -1
  1387. package/slots/task-coordinator-slots.d.ts +2 -2
  1388. package/spatial/context.d.ts +1 -1
  1389. package/spatial/dom.d.ts +9 -3
  1390. package/spatial/dom.d.ts.map +1 -1
  1391. package/spatial/dom.js +13 -3
  1392. package/spatial/evaluate.d.ts +1 -1
  1393. package/spatial/index.d.ts +6 -6
  1394. package/spatial/primitives.d.ts +3 -3
  1395. package/spatial/primitives.d.ts.map +1 -1
  1396. package/spatial/primitives.js +10 -7
  1397. package/spatial/tui/engine.d.ts +1 -1
  1398. package/spatial/tui/index.d.ts +3 -3
  1399. package/spatial/tui/index.d.ts.map +1 -1
  1400. package/spatial/tui/index.js +2 -2
  1401. package/spatial/tui/renderer.d.ts +9 -2
  1402. package/spatial/tui/renderer.d.ts.map +1 -1
  1403. package/spatial/tui/renderer.js +47 -2
  1404. package/state/AppContext.d.ts +1 -1
  1405. package/state/AppContext.d.ts.map +1 -1
  1406. package/state/AppContext.js +83 -30
  1407. package/state/ChatComposerContext.hooks.d.ts +1 -1
  1408. package/state/ChatTurnStatusContext.hooks.d.ts +27 -0
  1409. package/state/ChatTurnStatusContext.hooks.d.ts.map +1 -0
  1410. package/state/ChatTurnStatusContext.hooks.js +24 -0
  1411. package/state/CompanionSceneConfigContext.hooks.d.ts +3 -3
  1412. package/state/ConversationMessagesContext.hooks.d.ts +26 -0
  1413. package/state/ConversationMessagesContext.hooks.d.ts.map +1 -0
  1414. package/state/ConversationMessagesContext.hooks.js +22 -0
  1415. package/state/PtySessionsContext.hooks.d.ts +1 -1
  1416. package/state/TranslationContext.hooks.d.ts +1 -1
  1417. package/state/TranslationProvider.d.ts +2 -2
  1418. package/state/action-notice.d.ts +31 -1
  1419. package/state/action-notice.d.ts.map +1 -1
  1420. package/state/action-notice.js +27 -1
  1421. package/state/agent-profiles.d.ts +10 -2
  1422. package/state/agent-profiles.d.ts.map +1 -1
  1423. package/state/agent-profiles.js +20 -0
  1424. package/state/agent-runtime-target.d.ts +2 -2
  1425. package/state/app-store.d.ts +52 -0
  1426. package/state/app-store.d.ts.map +1 -0
  1427. package/state/app-store.js +169 -0
  1428. package/state/autonomy.d.ts +1 -1
  1429. package/state/chat-conversation-guards.d.ts +1 -1
  1430. package/state/chat-conversation-guards.d.ts.map +1 -1
  1431. package/state/chat-conversation-guards.js +0 -1
  1432. package/state/complete-reset-local-state-after-wipe.d.ts +1 -1
  1433. package/state/conversation-message-filter.d.ts +1 -1
  1434. package/state/first-run-bootstrap.d.ts +1 -1
  1435. package/state/first-run-restart.d.ts +1 -1
  1436. package/state/handle-reset-applied-from-main.d.ts +2 -2
  1437. package/state/index.d.ts +24 -18
  1438. package/state/index.d.ts.map +1 -1
  1439. package/state/index.js +6 -0
  1440. package/state/internal.d.ts +11 -11
  1441. package/state/notifications/navigate-deep-link.d.ts +27 -0
  1442. package/state/notifications/navigate-deep-link.d.ts.map +1 -0
  1443. package/state/notifications/navigate-deep-link.js +48 -0
  1444. package/state/notifications/notification-store.d.ts +2 -2
  1445. package/state/notifications/notification-store.d.ts.map +1 -1
  1446. package/state/notifications/notification-store.js +4 -4
  1447. package/state/parsers.d.ts +3 -3
  1448. package/state/parsers.d.ts.map +1 -1
  1449. package/state/parsers.js +9 -3
  1450. package/state/persistence.d.ts +23 -8
  1451. package/state/persistence.d.ts.map +1 -1
  1452. package/state/persistence.js +86 -4
  1453. package/state/screen-capture-bridge.d.ts +8 -0
  1454. package/state/screen-capture-bridge.d.ts.map +1 -0
  1455. package/state/screen-capture-bridge.js +124 -0
  1456. package/state/setup-resume.d.ts +2 -2
  1457. package/state/shell-routing.d.ts +3 -3
  1458. package/state/shell-surface-store.d.ts +50 -0
  1459. package/state/shell-surface-store.d.ts.map +1 -0
  1460. package/state/shell-surface-store.js +130 -0
  1461. package/state/springboard-layout.d.ts +85 -0
  1462. package/state/springboard-layout.d.ts.map +1 -0
  1463. package/state/springboard-layout.js +180 -0
  1464. package/state/startup-coordinator.d.ts +1 -1
  1465. package/state/startup-phase-hydrate.d.ts +5 -5
  1466. package/state/startup-phase-hydrate.d.ts.map +1 -1
  1467. package/state/startup-phase-hydrate.js +6 -0
  1468. package/state/startup-phase-poll.d.ts +8 -8
  1469. package/state/startup-phase-restore.d.ts +22 -6
  1470. package/state/startup-phase-restore.d.ts.map +1 -1
  1471. package/state/startup-phase-restore.js +91 -1
  1472. package/state/startup-phase-runtime.d.ts +3 -3
  1473. package/state/startup-telemetry.d.ts +73 -0
  1474. package/state/startup-telemetry.d.ts.map +1 -0
  1475. package/state/startup-telemetry.js +139 -0
  1476. package/state/types.d.ts +36 -12
  1477. package/state/types.d.ts.map +1 -1
  1478. package/state/types.js +13 -0
  1479. package/state/ui-preferences.d.ts +39 -0
  1480. package/state/ui-preferences.d.ts.map +1 -1
  1481. package/state/ui-preferences.js +30 -1
  1482. package/state/use-startup-shell-controller.d.ts +8 -1
  1483. package/state/use-startup-shell-controller.d.ts.map +1 -1
  1484. package/state/use-startup-shell-controller.js +63 -3
  1485. package/state/useApp.d.ts +1 -1
  1486. package/state/useAppLifecycleEvents.d.ts +1 -1
  1487. package/state/useAppProviderEffects.d.ts +3 -3
  1488. package/state/useBackgroundConfig.d.ts +16 -0
  1489. package/state/useBackgroundConfig.d.ts.map +1 -0
  1490. package/state/useBackgroundConfig.js +21 -0
  1491. package/state/useCharacterState.d.ts +2 -2
  1492. package/state/useChatCallbacks.d.ts +40 -7
  1493. package/state/useChatCallbacks.d.ts.map +1 -1
  1494. package/state/useChatCallbacks.js +218 -132
  1495. package/state/useChatLifecycle.d.ts +12 -4
  1496. package/state/useChatLifecycle.d.ts.map +1 -1
  1497. package/state/useChatLifecycle.js +26 -2
  1498. package/state/useChatSend.d.ts +7 -4
  1499. package/state/useChatSend.d.ts.map +1 -1
  1500. package/state/useChatSend.js +126 -21
  1501. package/state/useChatState.d.ts +4 -4
  1502. package/state/useContentPack.d.ts.map +1 -1
  1503. package/state/useContentPack.js +12 -2
  1504. package/state/useDataLoaders.d.ts +6 -5
  1505. package/state/useDataLoaders.d.ts.map +1 -1
  1506. package/state/useDataLoaders.js +99 -5
  1507. package/state/useDeveloperMode.d.ts.map +1 -1
  1508. package/state/useDeveloperMode.js +48 -8
  1509. package/state/useDisplayPreferences.d.ts +6 -2
  1510. package/state/useDisplayPreferences.d.ts.map +1 -1
  1511. package/state/useDisplayPreferences.js +40 -2
  1512. package/state/useFirstRunCallbacks.d.ts +8 -8
  1513. package/state/useFirstRunState.d.ts +3 -3
  1514. package/state/useLifecycleState.d.ts +9 -2
  1515. package/state/useLifecycleState.d.ts.map +1 -1
  1516. package/state/useLifecycleState.js +26 -1
  1517. package/state/useLogsState.d.ts +1 -1
  1518. package/state/useMiscUiState.d.ts +1 -1
  1519. package/state/useNavigationState.d.ts +2 -2
  1520. package/state/usePluginsSkillsState.d.ts +3 -3
  1521. package/state/usePreviewMode.d.ts +4 -0
  1522. package/state/usePreviewMode.d.ts.map +1 -0
  1523. package/state/usePreviewMode.js +93 -0
  1524. package/state/useStartupCoordinator.d.ts +5 -5
  1525. package/state/useStartupCoordinator.d.ts.map +1 -1
  1526. package/state/useStartupCoordinator.js +9 -0
  1527. package/state/useStreamingText.d.ts +1 -1
  1528. package/state/useTriggersState.d.ts +1 -1
  1529. package/state/useViewKinds.d.ts +19 -0
  1530. package/state/useViewKinds.d.ts.map +1 -0
  1531. package/state/useViewKinds.js +28 -0
  1532. package/state/useWalletState.d.ts +3 -3
  1533. package/state/vrm.d.ts +1 -1
  1534. package/storybook/home-widget-decorator.d.ts +21 -0
  1535. package/storybook/home-widget-decorator.d.ts.map +1 -0
  1536. package/storybook/home-widget-decorator.js +53 -0
  1537. package/storybook/mock-providers.d.ts +2 -2
  1538. package/storybook/mock-providers.d.ts.map +1 -1
  1539. package/storybook/mock-providers.helpers.d.ts +1 -1
  1540. package/storybook/mock-providers.js +20 -1
  1541. package/styles/base.css +66 -32
  1542. package/styles/brand-gold.css +0 -7
  1543. package/styles/styles.css +10 -5
  1544. package/testing/layout-stability.d.ts +67 -0
  1545. package/testing/layout-stability.d.ts.map +1 -0
  1546. package/testing/layout-stability.js +106 -0
  1547. package/testing/render-counter.d.ts +56 -0
  1548. package/testing/render-counter.d.ts.map +1 -0
  1549. package/testing/render-counter.js +62 -0
  1550. package/themes/presets.d.ts.map +1 -1
  1551. package/themes/presets.js +17 -15
  1552. package/utils/attachment-url.d.ts +42 -0
  1553. package/utils/attachment-url.d.ts.map +1 -0
  1554. package/utils/attachment-url.js +130 -0
  1555. package/utils/cloud-agent-base.d.ts +0 -1
  1556. package/utils/cloud-agent-base.d.ts.map +1 -1
  1557. package/utils/cloud-agent-base.js +0 -8
  1558. package/utils/download-share.d.ts +65 -0
  1559. package/utils/download-share.d.ts.map +1 -0
  1560. package/utils/download-share.js +292 -0
  1561. package/utils/event-source.d.ts +17 -0
  1562. package/utils/event-source.d.ts.map +1 -0
  1563. package/utils/event-source.js +36 -0
  1564. package/utils/image-attachment.d.ts +156 -4
  1565. package/utils/image-attachment.d.ts.map +1 -1
  1566. package/utils/image-attachment.js +193 -4
  1567. package/utils/index.d.ts +33 -33
  1568. package/utils/workflow-executions.d.ts +1 -1
  1569. package/utils/workflow-json.d.ts +1 -1
  1570. package/view-telemetry.d.ts +30 -0
  1571. package/view-telemetry.d.ts.map +1 -0
  1572. package/view-telemetry.js +47 -0
  1573. package/views/view-interact-protocol.d.ts +6 -0
  1574. package/views/view-interact-protocol.d.ts.map +1 -1
  1575. package/views/view-interact-protocol.js +6 -0
  1576. package/voice/audio-frame-diarization-harness.d.ts +5 -0
  1577. package/voice/audio-frame-diarization-harness.d.ts.map +1 -1
  1578. package/voice/audio-frame-pump.d.ts +1 -1
  1579. package/voice/character-voice-config.d.ts +2 -2
  1580. package/voice/end-of-turn.d.ts +14 -11
  1581. package/voice/end-of-turn.d.ts.map +1 -1
  1582. package/voice/end-of-turn.js +14 -119
  1583. package/voice/index.d.ts +11 -10
  1584. package/voice/index.d.ts.map +1 -1
  1585. package/voice/index.js +1 -0
  1586. package/voice/jni-voice-harness.d.ts +19 -4
  1587. package/voice/jni-voice-harness.d.ts.map +1 -1
  1588. package/voice/jni-voice-harness.js +45 -10
  1589. package/voice/jni-voice-pipeline.d.ts +27 -3
  1590. package/voice/jni-voice-pipeline.d.ts.map +1 -1
  1591. package/voice/jni-voice-pipeline.js +40 -2
  1592. package/voice/local-asr-capture.js +1 -1
  1593. package/voice/local-asr-transcribe.d.ts +2 -2
  1594. package/voice/local-asr-transcribe.d.ts.map +1 -1
  1595. package/voice/local-asr-transcribe.js +3 -3
  1596. package/voice/playback-frame-pump.d.ts +49 -0
  1597. package/voice/playback-frame-pump.d.ts.map +1 -0
  1598. package/voice/playback-frame-pump.js +387 -0
  1599. package/voice/should-respond.d.ts +7 -32
  1600. package/voice/should-respond.d.ts.map +1 -1
  1601. package/voice/should-respond.js +7 -68
  1602. package/voice/useVoiceConfig.d.ts +1 -1
  1603. package/voice/voice-capture-factory.d.ts +2 -2
  1604. package/voice/voice-capture-factory.js +3 -3
  1605. package/voice/voice-chat-playback.d.ts +1 -1
  1606. package/voice/voice-chat-types.d.ts +2 -2
  1607. package/voice/voice-provider-defaults.d.ts +8 -5
  1608. package/voice/voice-provider-defaults.d.ts.map +1 -1
  1609. package/voice/voice-provider-defaults.js +17 -10
  1610. package/voice/voice-selftest/VoiceSelfTestShell.d.ts +11 -0
  1611. package/voice/voice-selftest/VoiceSelfTestShell.d.ts.map +1 -1
  1612. package/voice/voice-selftest/VoiceSelfTestShell.js +1 -4
  1613. package/voice/voice-selftest/VoiceWorkbenchShell.d.ts +29 -0
  1614. package/voice/voice-selftest/VoiceWorkbenchShell.d.ts.map +1 -0
  1615. package/voice/voice-selftest/VoiceWorkbenchShell.js +133 -0
  1616. package/voice/voice-selftest/timing.d.ts +8 -0
  1617. package/voice/voice-selftest/timing.d.ts.map +1 -0
  1618. package/voice/voice-selftest/timing.js +7 -0
  1619. package/voice/voice-selftest/voice-selftest-harness.d.ts +1 -1
  1620. package/voice/voice-selftest/voice-selftest-harness.d.ts.map +1 -1
  1621. package/voice/voice-selftest/voice-selftest-harness.js +1 -2
  1622. package/voice/voice-selftest/voice-workbench-player.d.ts +139 -0
  1623. package/voice/voice-selftest/voice-workbench-player.d.ts.map +1 -0
  1624. package/voice/voice-selftest/voice-workbench-player.js +401 -0
  1625. package/voice/voice-turn-signal.d.ts +15 -26
  1626. package/voice/voice-turn-signal.d.ts.map +1 -1
  1627. package/voice/voice-turn-signal.js +7 -51
  1628. package/widgets/WidgetHost.d.ts +10 -4
  1629. package/widgets/WidgetHost.d.ts.map +1 -1
  1630. package/widgets/WidgetHost.js +149 -30
  1631. package/widgets/__fixtures__/home-widget-mock-data.d.ts +89 -0
  1632. package/widgets/__fixtures__/home-widget-mock-data.d.ts.map +1 -0
  1633. package/widgets/__fixtures__/home-widget-mock-data.js +388 -0
  1634. package/widgets/home-attention-store.d.ts +40 -0
  1635. package/widgets/home-attention-store.d.ts.map +1 -0
  1636. package/widgets/home-attention-store.js +84 -0
  1637. package/widgets/home-priority.d.ts +136 -0
  1638. package/widgets/home-priority.d.ts.map +1 -0
  1639. package/widgets/home-priority.js +276 -0
  1640. package/widgets/index.d.ts +10 -7
  1641. package/widgets/index.d.ts.map +1 -1
  1642. package/widgets/index.js +4 -2
  1643. package/widgets/registry-store.d.ts +9 -11
  1644. package/widgets/registry-store.d.ts.map +1 -1
  1645. package/widgets/registry-store.js +8 -12
  1646. package/widgets/registry.d.ts +16 -4
  1647. package/widgets/registry.d.ts.map +1 -1
  1648. package/widgets/registry.js +432 -8
  1649. package/widgets/types.d.ts +12 -4
  1650. package/widgets/types.d.ts.map +1 -1
  1651. package/widgets/types.js +7 -1
  1652. package/widgets/useChatSidebarVisibility.d.ts +6 -3
  1653. package/widgets/useChatSidebarVisibility.d.ts.map +1 -1
  1654. package/widgets/useChatSidebarVisibility.js +15 -11
  1655. package/widgets/visibility.d.ts +16 -10
  1656. package/widgets/visibility.d.ts.map +1 -1
  1657. package/widgets/visibility.js +25 -13
  1658. package/api/agent-client-type-shim.d.ts +0 -24
  1659. package/api/agent-client-type-shim.d.ts.map +0 -1
  1660. package/api/agent-client-type-shim.js +0 -1
  1661. package/cloud/account-security/use-document-title.d.ts +0 -10
  1662. package/cloud/account-security/use-document-title.d.ts.map +0 -1
  1663. package/cloud/account-security/use-document-title.js +0 -20
  1664. package/cloud/admin/lib/format-usd.d.ts +0 -11
  1665. package/cloud/admin/lib/format-usd.d.ts.map +0 -1
  1666. package/cloud/admin/lib/format-usd.js +0 -18
  1667. package/cloud/admin/use-document-title.d.ts +0 -10
  1668. package/cloud/admin/use-document-title.d.ts.map +0 -1
  1669. package/cloud/api-explorer/use-document-title.d.ts +0 -11
  1670. package/cloud/api-explorer/use-document-title.d.ts.map +0 -1
  1671. package/cloud/api-explorer/use-document-title.js +0 -21
  1672. package/cloud/api-keys/use-document-title.d.ts +0 -10
  1673. package/cloud/api-keys/use-document-title.d.ts.map +0 -1
  1674. package/cloud/api-keys/use-document-title.js +0 -20
  1675. package/cloud/applications/lib/auth-query.d.ts +0 -14
  1676. package/cloud/applications/lib/auth-query.d.ts.map +0 -1
  1677. package/cloud/applications/lib/auth-query.js +0 -18
  1678. package/cloud/applications/lib/use-copy-feedback.d.ts +0 -9
  1679. package/cloud/applications/lib/use-copy-feedback.d.ts.map +0 -1
  1680. package/cloud/applications/lib/use-copy-feedback.js +0 -13
  1681. package/cloud/applications/lib/use-session-auth.d.ts +0 -28
  1682. package/cloud/applications/lib/use-session-auth.d.ts.map +0 -1
  1683. package/cloud/approvals/lib/auth-query.d.ts +0 -18
  1684. package/cloud/approvals/lib/auth-query.d.ts.map +0 -1
  1685. package/cloud/approvals/lib/auth-query.js +0 -22
  1686. package/cloud/approvals/lib/use-session-auth.d.ts +0 -28
  1687. package/cloud/approvals/lib/use-session-auth.d.ts.map +0 -1
  1688. package/cloud/approvals/lib/use-session-auth.js +0 -97
  1689. package/cloud/documents/lib/auth-query.d.ts +0 -17
  1690. package/cloud/documents/lib/auth-query.d.ts.map +0 -1
  1691. package/cloud/documents/lib/use-session-auth.d.ts +0 -27
  1692. package/cloud/documents/lib/use-session-auth.d.ts.map +0 -1
  1693. package/cloud/documents/lib/use-session-auth.js +0 -96
  1694. package/cloud/documents/use-document-title.d.ts +0 -11
  1695. package/cloud/documents/use-document-title.d.ts.map +0 -1
  1696. package/cloud/documents/use-document-title.js +0 -21
  1697. package/cloud/instances/lib/format-bytes.d.ts +0 -19
  1698. package/cloud/instances/lib/format-bytes.d.ts.map +0 -1
  1699. package/cloud/instances/lib/format-bytes.js +0 -25
  1700. package/cloud/instances/lib/use-copy-feedback.d.ts +0 -9
  1701. package/cloud/instances/lib/use-copy-feedback.d.ts.map +0 -1
  1702. package/cloud/instances/lib/use-document-title.d.ts +0 -13
  1703. package/cloud/instances/lib/use-document-title.d.ts.map +0 -1
  1704. package/cloud/instances/lib/use-document-title.js +0 -23
  1705. package/cloud/monetization/lib/format-usd.d.ts +0 -12
  1706. package/cloud/monetization/lib/format-usd.d.ts.map +0 -1
  1707. package/cloud/monetization/lib/format-usd.js +0 -19
  1708. package/cloud/monetization/use-document-title.d.ts +0 -10
  1709. package/cloud/monetization/use-document-title.d.ts.map +0 -1
  1710. package/cloud/monetization/use-document-title.js +0 -20
  1711. package/components/local-inference/CustomModelSearch.d.ts +0 -19
  1712. package/components/local-inference/CustomModelSearch.d.ts.map +0 -1
  1713. package/components/local-inference/CustomModelSearch.js +0 -128
  1714. package/components/pages/ViewCatalog.d.ts +0 -10
  1715. package/components/pages/ViewCatalog.d.ts.map +0 -1
  1716. package/components/pages/ViewCatalog.js +0 -600
  1717. package/components/shell/ChatAmbientBackground.d.ts +0 -8
  1718. package/components/shell/ChatAmbientBackground.d.ts.map +0 -1
  1719. package/components/shell/ChatAmbientBackground.js +0 -51
@@ -1,414 +1,77 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { stripAssistantStageDirections } from "@elizaos/shared";
3
2
  import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
4
3
  import { client } from "../../api/client.js";
5
4
  import { splitLeadingSlashCommand } from "../../chat/slash-menu.js";
6
5
  import { useRenderGuard } from "../../hooks/useRenderGuard.js";
7
6
  import { isDesktopPlatform, isNative } from "../../platform/index.js";
8
7
  import { createMobileSignalsPermissionsRegistry, openMobilePermissionSettings, } from "../../platform/mobile-permissions-client.js";
8
+ import { useAppSelectorShallow } from "../../state/index.js";
9
9
  import { useChatComposer } from "../../state/ChatComposerContext.hooks.js";
10
- import { useApp } from "../../state/useApp.js";
11
- import { PermissionCard } from "../composites/chat/permission-card.js";
12
- import { createClientPermissionsRegistry, parsePermissionRequestFromText, } from "../composites/chat/permission-card.helpers.js";
10
+ import { createClientPermissionsRegistry, } from "../composites/chat/permission-card.helpers.js";
11
+ import { renderPermissionCardFromPayload } from "../composites/chat/permission-card.render.js";
13
12
  import { ConfigRenderer } from "../config-ui/config-renderer.js";
14
13
  import { defaultRegistry } from "../config-ui/config-renderer.helpers.js";
15
14
  import { UiRenderer } from "../config-ui/ui-renderer.js";
16
- import { paramsToSchema } from "../pages/plugin-list-utils.js";
17
15
  import { Button } from "../ui/button.js";
16
+ import { CodeBlock } from "../ui/code-block.js";
18
17
  import { MessageAttachments } from "./MessageAttachments.js";
18
+ import { buildInlinePluginConfigModel, isSafeNormalizedPluginId, normalizePluginId, parseSegments, sensitiveRequestStatusLabel, splitInlineCode, } from "./message-parser-helpers.js";
19
19
  import { ThinkingBlock } from "./ThinkingBlock.js";
20
20
  // Side effect: registers the built-in inline widgets (choice/followups/form/task).
21
21
  import "./widgets/inline-builtins.js";
22
- import { getInlineWidget, getInlineWidgets, } from "./widgets/inline-registry.js";
23
- /** Reject prototype-pollution keys that should never be traversed or rendered. */
24
- const BLOCKED_IDS = new Set(["__proto__", "constructor", "prototype"]);
25
- const SAFE_PLUGIN_ID_RE = /^[\w-]+$/;
26
- function createSafeRecord() {
27
- return Object.create(null);
28
- }
29
- function sanitizePatchValue(value) {
30
- if (Array.isArray(value)) {
31
- return value.map((item) => sanitizePatchValue(item));
32
- }
33
- if (!value || typeof value !== "object") {
34
- return value;
35
- }
36
- const safe = createSafeRecord();
37
- for (const [key, nestedValue] of Object.entries(value)) {
38
- if (BLOCKED_IDS.has(key))
39
- continue;
40
- safe[key] = sanitizePatchValue(nestedValue);
41
- }
42
- return safe;
43
- }
44
- function isSafeNormalizedPluginId(id) {
45
- return !BLOCKED_IDS.has(id) && SAFE_PLUGIN_ID_RE.test(id);
46
- }
22
+ import { getInlineWidget } from "./widgets/inline-registry.js";
23
+ import { useInlineWidgetContext } from "./widgets/use-inline-widget-context.js";
47
24
  /**
48
- * Render a plain-text message body. When the message is a user-typed slash
49
- * command (e.g. `/imagine a cat`), the leading `/command` token is rendered in
50
- * bold so it reads as a command in the transcript — matching the inline
51
- * autocomplete the composer shows while typing.
25
+ * Render a text run, wrapping any inline `` `code` `` spans in the CodeBlock
26
+ * inline primitive so they keep their place in the sentence. Returns the raw
27
+ * string unchanged when there is no backticked span (the common case).
52
28
  */
53
- function MessageTextBody({ text, boldSlashCommand, }) {
54
- const slash = boldSlashCommand ? splitLeadingSlashCommand(text) : null;
55
- return (_jsx("div", { className: "whitespace-pre-wrap", children: slash ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "font-bold text-txt", "data-testid": "slash-command-token", children: slash.command }), slash.rest] })) : (text) }));
56
- }
57
- // ── Detection ───────────────────────────────────────────────────────
58
- const CONFIG_RE = /\[CONFIG:([@\w][\w@./:-]*)\]/g;
59
- const FENCED_JSON_RE = /```(?:json)?\s*\n([\s\S]*?)```/g;
60
- const HIDDEN_TAG_BLOCK_RE = /<(think|analysis|reasoning|tool_calls?|tools?)\b[^>]*>[\s\S]*?(?:<\/\1>|$)/gi;
61
29
  /**
62
- * Strip trailing partial hidden tags at the end of a streaming text chunk.
63
- * During streaming, the buffer may end mid-tag (e.g. `"Hello<thi"`,
64
- * `"Hello</respon"`, or just `"Hello<"`). These fragments are not
65
- * user-facing content and must be hidden from both the display and voice
66
- * pipelines.
30
+ * An OAuth authorizationUrl is an agent/cloud-supplied field that flows into
31
+ * window.open(). A hosted consent screen is always https, so require https and
32
+ * reject anything else — a `javascript:`/`data:` value would otherwise execute
33
+ * in the opened window. `new URL()` also normalizes away control-char scheme
34
+ * obfuscation (e.g. `java\tscript:`).
67
35
  */
68
- const TRAILING_PARTIAL_TAG_RE = /<\/?[a-zA-Z][^>]*$|<\/?$/s;
69
- function normalizeDisplayText(text) {
70
- // Bound input length to keep the regex passes linear in adversarial cases.
71
- const MAX_DISPLAY_LEN = 200_000;
72
- let normalized = text.length > MAX_DISPLAY_LEN ? text.slice(0, MAX_DISPLAY_LEN) : text;
73
- // Hide hidden reasoning/tool blocks from chat bubbles.
74
- normalized = normalized.replace(HIDDEN_TAG_BLOCK_RE, " ");
75
- // During streaming, a chunk may end mid-tag (e.g. "<thi").
76
- // Strip any unterminated opening or closing tag at the very end so the
77
- // user never sees hidden-tag fragments while tokens arrive.
78
- normalized = normalized.replace(TRAILING_PARTIAL_TAG_RE, "");
79
- normalized = stripAssistantStageDirections(normalized);
80
- return normalized.trim();
81
- }
82
- function tryParse(s) {
83
- try {
84
- return JSON.parse(s);
85
- }
86
- catch {
87
- return null;
88
- }
89
- }
90
- function isUiSpec(obj) {
91
- if (!obj || typeof obj !== "object")
36
+ function isHttpsAuthorizationUrl(url) {
37
+ if (typeof url !== "string" || url.length === 0)
92
38
  return false;
93
- const c = obj;
94
- return (typeof c.root === "string" &&
95
- typeof c.elements === "object" &&
96
- c.elements !== null);
97
- }
98
- // ── JSONL patch support (Chat Mode) ─────────────────────────────────
99
- /**
100
- * Quick pre-check: does this line look like a JSON patch object?
101
- * Handles both compact `{"op":` and spaced `{ "op":` formats.
102
- */
103
- function looksLikePatch(trimmed) {
104
- if (!trimmed.startsWith("{"))
105
- return false;
106
- return trimmed.includes('"op"') && trimmed.includes('"path"');
107
- }
108
- /** Try to parse a single line as an RFC 6902 JSON Patch operation. */
109
- function tryParsePatch(line) {
110
- const t = line.trim();
111
- if (!looksLikePatch(t))
112
- return null;
113
39
  try {
114
- const obj = JSON.parse(t);
115
- if (typeof obj.op === "string" && typeof obj.path === "string")
116
- return obj;
117
- return null;
40
+ return new URL(url).protocol === "https:";
118
41
  }
119
42
  catch {
120
- return null;
43
+ return false;
121
44
  }
122
45
  }
123
- /**
124
- * Apply a list of RFC 6902 patches to build a UiSpec.
125
- *
126
- * Only handles the paths the catalog emits:
127
- * /root → spec.root
128
- * /elements/<id> → spec.elements[id]
129
- * /state/<key> → spec.state[key]
130
- * /state → spec.state (whole object)
131
- */
132
- function compilePatches(patches) {
133
- const spec = { elements: {}, state: createSafeRecord() };
134
- for (const patch of patches) {
135
- if (patch.op !== "add" && patch.op !== "replace")
136
- continue;
137
- const { path, value } = patch;
138
- const parts = path.split("/").filter(Boolean);
139
- if (parts.length === 0)
140
- continue;
141
- if (parts[0] === "root" && parts.length === 1) {
142
- spec.root = value;
143
- }
144
- else if (parts[0] === "elements" && parts.length === 2) {
145
- spec.elements[parts[1]] = value;
146
- }
147
- else if (parts[0] === "state" && parts.length === 1) {
148
- const nextState = sanitizePatchValue(value);
149
- spec.state =
150
- nextState && typeof nextState === "object" && !Array.isArray(nextState)
151
- ? nextState
152
- : createSafeRecord();
153
- }
154
- else if (parts[0] === "state" && parts.length >= 2) {
155
- // Nested state path: /state/key or /state/key/subkey
156
- let cursor = spec.state;
157
- let blockedPath = false;
158
- for (let i = 1; i < parts.length - 1; i++) {
159
- const k = parts[i];
160
- if (BLOCKED_IDS.has(k)) {
161
- blockedPath = true;
162
- break;
163
- }
164
- if (!cursor[k] ||
165
- typeof cursor[k] !== "object" ||
166
- Array.isArray(cursor[k])) {
167
- cursor[k] = createSafeRecord();
168
- }
169
- cursor = cursor[k];
170
- }
171
- if (blockedPath)
172
- continue;
173
- const leaf = parts[parts.length - 1];
174
- if (BLOCKED_IDS.has(leaf))
175
- continue;
176
- cursor[leaf] = sanitizePatchValue(value);
177
- }
178
- }
179
- return isUiSpec(spec) ? spec : null;
46
+ function renderInlineText(text) {
47
+ if (!text.includes("`"))
48
+ return text;
49
+ const parts = splitInlineCode(text);
50
+ if (parts.length === 1 && parts[0].kind === "text")
51
+ return text;
52
+ // Key by the part's character offset in the source run (not the array index)
53
+ // so keys stay stable across re-renders and don't trip noArrayIndexKey.
54
+ let offset = 0;
55
+ return parts.map((part) => {
56
+ const content = part.kind === "code" ? part.code : part.text;
57
+ const key = `${part.kind}:${offset}`;
58
+ offset += content.length;
59
+ return part.kind === "code" ? (_jsx(CodeBlock, { variant: "inline", value: part.code, "data-testid": "inline-code" }, key)) : (_jsx("span", { children: part.text }, key));
60
+ });
180
61
  }
181
62
  /**
182
- * Scan `text` for blocks of consecutive JSONL patch lines and return
183
- * their character regions plus the compiled UiSpec.
184
- *
185
- * A patch block is a run of lines where each non-empty line parses as a
186
- * valid PatchOp. A single empty line between patch lines is allowed.
63
+ * Render a plain-text message body. When the message is a user-typed slash
64
+ * command (e.g. `/imagine a cat`), the leading `/command` token is rendered in
65
+ * bold so it reads as a command in the transcript — matching the inline
66
+ * autocomplete the composer shows while typing. Inline `` `code` `` spans render
67
+ * in the inline code primitive while staying in the flow of the sentence.
187
68
  */
188
- function findPatchRegions(text) {
189
- const results = [];
190
- const lines = text.split("\n");
191
- let blockStart = -1;
192
- let blockEnd = 0;
193
- let patches = [];
194
- let rawLines = [];
195
- let pos = 0;
196
- const flush = () => {
197
- if (patches.length >= 1) {
198
- const spec = compilePatches(patches);
199
- if (spec) {
200
- results.push({
201
- start: blockStart,
202
- end: blockEnd,
203
- spec,
204
- raw: rawLines.join("\n"),
205
- });
206
- }
207
- }
208
- blockStart = -1;
209
- patches = [];
210
- rawLines = [];
211
- };
212
- for (let i = 0; i < lines.length; i++) {
213
- const line = lines[i];
214
- // +1 for the newline that split() consumed (except the very last line)
215
- const lineLen = line.length + (i < lines.length - 1 ? 1 : 0);
216
- const trimmed = line.trim();
217
- if (looksLikePatch(trimmed)) {
218
- const patch = tryParsePatch(trimmed);
219
- if (patch) {
220
- if (blockStart === -1)
221
- blockStart = pos;
222
- patches.push(patch);
223
- rawLines.push(line);
224
- blockEnd = pos + lineLen;
225
- pos += lineLen;
226
- continue;
227
- }
228
- }
229
- // Empty line: peek ahead to see if the next non-empty line is a patch
230
- if (trimmed.length === 0 && blockStart !== -1) {
231
- const nextPatch = lines.slice(i + 1).find((l) => l.trim().length > 0);
232
- if (nextPatch && tryParsePatch(nextPatch) !== null) {
233
- // Allow the gap and keep going
234
- pos += lineLen;
235
- continue;
236
- }
237
- }
238
- // Non-patch content — flush any open block
239
- if (blockStart !== -1)
240
- flush();
241
- pos += lineLen;
242
- }
243
- if (blockStart !== -1)
244
- flush();
245
- return results;
246
- }
247
- function parseSegments(text, analysisMode) {
248
- // If analysis mode is enabled, we parse the raw text to extract XML blocks,
249
- // otherwise we use the normalized text which strips them.
250
- const targetText = analysisMode ? text : normalizeDisplayText(text);
251
- if (!targetText)
252
- return [{ kind: "text", text: "" }];
253
- const permissionRequest = analysisMode
254
- ? null
255
- : parsePermissionRequestFromText(targetText);
256
- if (permissionRequest) {
257
- const segments = [];
258
- if (permissionRequest.display.trim()) {
259
- segments.push({ kind: "text", text: permissionRequest.display });
260
- }
261
- segments.push({ kind: "permission", payload: permissionRequest.payload });
262
- return segments;
263
- }
264
- // Build a list of match regions sorted by position
265
- const regions = [];
266
- if (analysisMode) {
267
- const XML_RE = /<(thought|analysis|reasoning|tool_calls?|tools?|action|providers?|response|text)\b[^>]*>([\s\S]*?)(?:<\/\1>|$)/gi;
268
- let m = XML_RE.exec(targetText);
269
- while (m !== null) {
270
- regions.push({
271
- start: m.index,
272
- end: m.index + m[0].length,
273
- segment: {
274
- kind: "analysis-xml",
275
- tag: m[1].toLowerCase(),
276
- content: m[2],
277
- },
278
- });
279
- m = XML_RE.exec(targetText);
280
- }
281
- }
282
- // 1. Find [CONFIG:pluginId] markers
283
- CONFIG_RE.lastIndex = 0;
284
- let m = CONFIG_RE.exec(targetText);
285
- while (m !== null) {
286
- regions.push({
287
- start: m.index,
288
- end: m.index + m[0].length,
289
- segment: { kind: "config", pluginId: m[1] },
290
- });
291
- m = CONFIG_RE.exec(targetText);
292
- }
293
- // 1b. Registry-driven inline widgets (choice/followups/form/task and any
294
- // plugin-registered marker). Each widget owns its parsing semantics; we only
295
- // collect the regions and tag them with the widget kind for render dispatch.
296
- for (const widget of getInlineWidgets()) {
297
- for (const match of widget.parse(targetText)) {
298
- regions.push({
299
- start: match.start,
300
- end: match.end,
301
- segment: {
302
- kind: "widget",
303
- widgetKind: widget.kind,
304
- data: match.data,
305
- },
306
- });
307
- }
308
- }
309
- // 2. Find fenced JSON that is a UiSpec (Generate Mode / legacy format)
310
- FENCED_JSON_RE.lastIndex = 0;
311
- m = FENCED_JSON_RE.exec(targetText);
312
- while (m !== null) {
313
- const json = m[1].trim();
314
- const parsed = tryParse(json);
315
- if (parsed && isUiSpec(parsed)) {
316
- regions.push({
317
- start: m.index,
318
- end: m.index + m[0].length,
319
- segment: { kind: "ui-spec", spec: parsed, raw: json },
320
- });
321
- }
322
- m = FENCED_JSON_RE.exec(targetText);
323
- }
324
- // 3. Find inline JSONL patch blocks (Chat Mode)
325
- for (const patch of findPatchRegions(targetText)) {
326
- // Skip if this region overlaps with an already-found fenced block
327
- const overlaps = regions.some((r) => patch.start < r.end && patch.end > r.start);
328
- if (!overlaps) {
329
- regions.push({
330
- start: patch.start,
331
- end: patch.end,
332
- segment: { kind: "ui-spec", spec: patch.spec, raw: patch.raw },
333
- });
334
- }
335
- }
336
- // No special content found — return plain text
337
- if (regions.length === 0) {
338
- return [{ kind: "text", text: targetText }];
339
- }
340
- // Sort by start position, then interleave with text segments
341
- regions.sort((a, b) => a.start - b.start);
342
- const segments = [];
343
- let cursor = 0;
344
- for (const r of regions) {
345
- // Skip overlapping regions
346
- if (r.start < cursor)
347
- continue;
348
- // Push preceding text
349
- if (r.start > cursor) {
350
- const t = targetText.slice(cursor, r.start);
351
- if (t.trim())
352
- segments.push({ kind: "text", text: t });
353
- }
354
- segments.push(r.segment);
355
- cursor = r.end;
356
- }
357
- // Trailing text
358
- if (cursor < targetText.length) {
359
- const t = targetText.slice(cursor);
360
- if (t.trim())
361
- segments.push({ kind: "text", text: t });
362
- }
363
- return segments;
69
+ function MessageTextBody({ text, boldSlashCommand, }) {
70
+ const slash = boldSlashCommand ? splitLeadingSlashCommand(text) : null;
71
+ return (_jsx("div", { className: "whitespace-pre-wrap", children: slash ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "font-bold text-txt", "data-testid": "slash-command-token", children: slash.command }), renderInlineText(slash.rest)] })) : (renderInlineText(text)) }));
364
72
  }
365
73
  // ── InlinePluginConfig ──────────────────────────────────────────────
366
- /** Normalize plugin ID: strip @scope/plugin- prefix so both "discord" and "@elizaos/plugin-discord" resolve. */
367
- function normalizePluginId(id) {
368
- return id.replace(/^@[^/]+\/plugin-/, "");
369
- }
370
- function buildInlinePluginConfigModel(plugin, values) {
371
- const pluginParams = plugin?.parameters ?? [];
372
- const hasConfigurableParams = pluginParams.length > 0;
373
- if (!hasConfigurableParams || !plugin?.id) {
374
- return {
375
- hasConfigurableParams: false,
376
- hints: {},
377
- mergedValues: values,
378
- schema: null,
379
- setKeys: new Set(),
380
- };
381
- }
382
- const auto = paramsToSchema(pluginParams, plugin.id);
383
- if (plugin.configUiHints) {
384
- for (const [key, serverHint] of Object.entries(plugin.configUiHints)) {
385
- auto.hints[key] = { ...auto.hints[key], ...serverHint };
386
- }
387
- }
388
- const initialValues = {};
389
- const setKeys = new Set();
390
- for (const param of pluginParams) {
391
- if (param.isSet) {
392
- setKeys.add(param.key);
393
- }
394
- if (param.isSet && !param.sensitive && param.currentValue != null) {
395
- initialValues[param.key] = param.currentValue;
396
- }
397
- }
398
- for (const [key, value] of Object.entries(values)) {
399
- if (value != null && value !== "") {
400
- setKeys.add(key);
401
- }
402
- }
403
- return {
404
- hasConfigurableParams: true,
405
- hints: auto.hints,
406
- mergedValues: { ...initialValues, ...values },
407
- schema: auto.schema,
408
- setKeys,
409
- };
410
- }
411
- function InlinePluginConfig({ pluginId: rawPluginId }) {
74
+ export function InlinePluginConfig({ pluginId: rawPluginId, }) {
412
75
  const pluginId = normalizePluginId(rawPluginId);
413
76
  const [plugin, setPlugin] = useState(null);
414
77
  const [loading, setLoading] = useState(true);
@@ -420,7 +83,11 @@ function InlinePluginConfig({ pluginId: rawPluginId }) {
420
83
  const [dismissed, setDismissed] = useState(false);
421
84
  const mountedRef = useRef(true);
422
85
  const refreshTimerRef = useRef(null);
423
- const { setActionNotice, loadPlugins, t } = useApp();
86
+ const { setActionNotice, loadPlugins, t } = useAppSelectorShallow((s) => ({
87
+ setActionNotice: s.setActionNotice,
88
+ loadPlugins: s.loadPlugins,
89
+ t: s.t,
90
+ }));
424
91
  // Track mount state — reset to true on each mount (needed for StrictMode
425
92
  // which unmounts/remounts and would leave the ref false otherwise).
426
93
  useEffect(() => {
@@ -595,9 +262,11 @@ function InlinePluginConfig({ pluginId: rawPluginId }) {
595
262
  }) })), saved && _jsx("span", { className: "text-xs text-ok", children: t("common.saved") }), error && _jsx("span", { className: "text-xs text-danger", children: error })] })] }));
596
263
  }
597
264
  // ── UiSpec block ────────────────────────────────────────────────────
598
- function UiSpecBlock({ spec, raw }) {
599
- const { t } = useApp();
600
- const { sendActionMessage } = useApp();
265
+ export function MessageUiSpecBlock({ spec, raw, }) {
266
+ const { t, sendActionMessage } = useAppSelectorShallow((s) => ({
267
+ t: s.t,
268
+ sendActionMessage: s.sendActionMessage,
269
+ }));
601
270
  const [showRaw, setShowRaw] = useState(false);
602
271
  const handleAction = useCallback((action, params) => {
603
272
  // Plugin actions are handled directly via the API instead of
@@ -647,23 +316,7 @@ function UiSpecBlock({ spec, raw }) {
647
316
  defaultValue: "View JSON",
648
317
  }) })] }), showRaw && (_jsx("div", { className: "px-3 py-2 bg-card overflow-x-auto", children: _jsx("pre", { className: "text-2xs text-muted font-mono whitespace-pre-wrap break-words m-0", children: raw }) })), _jsx("div", { className: "p-3", children: _jsx(UiRenderer, { spec: spec, onAction: handleAction }) })] }));
649
318
  }
650
- function sensitiveRequestStatusLabel(status) {
651
- switch (status) {
652
- case "saved":
653
- case "submitted":
654
- case "fulfilled":
655
- return "Saved";
656
- case "expired":
657
- return "Expired";
658
- case "cancelled":
659
- return "Cancelled";
660
- case "failed":
661
- return "Failed";
662
- default:
663
- return "Pending";
664
- }
665
- }
666
- function SensitiveRequestBlock({ request, }) {
319
+ export function SensitiveRequestBlock({ request, }) {
667
320
  const [status, setStatus] = useState(request.status);
668
321
  const [values, setValues] = useState({});
669
322
  const [saving, setSaving] = useState(false);
@@ -683,8 +336,7 @@ function SensitiveRequestBlock({ request, }) {
683
336
  fields.length > 0;
684
337
  const canStartOAuth = status === "pending" &&
685
338
  request.form?.kind === "oauth" &&
686
- typeof request.form.authorizationUrl === "string" &&
687
- request.form.authorizationUrl.length > 0;
339
+ isHttpsAuthorizationUrl(request.form.authorizationUrl);
688
340
  const canSubmit = fields.every((field) => {
689
341
  if (!field.required)
690
342
  return true;
@@ -718,6 +370,43 @@ function SensitiveRequestBlock({ request, }) {
718
370
  }, [canCollectSecret, canSubmit, fields, values]);
719
371
  return (_jsxs("div", { "data-testid": "sensitive-request", className: "my-2 border border-border bg-card p-3 text-sm space-y-3", children: [_jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsx("div", { className: "font-medium", children: request.key }), _jsx("div", { "data-testid": "sensitive-request-status", className: "text-xs text-muted", children: sensitiveRequestStatusLabel(status) })] }), request.reason && (_jsx("div", { className: "text-xs text-muted", children: request.reason })), request.delivery?.instruction && (_jsx("div", { className: "text-xs text-muted", children: request.delivery.instruction })), canCollectSecret && (_jsxs("form", { className: "space-y-3", onSubmit: handleSubmit, children: [fields.map((field) => {
720
372
  const label = field.label ?? field.name;
373
+ const isUpload = field.input === "image" || field.input === "file";
374
+ if (isUpload) {
375
+ const accept = field.mimeTypes && field.mimeTypes.length > 0
376
+ ? field.mimeTypes.join(",")
377
+ : field.input === "image"
378
+ ? "image/*"
379
+ : undefined;
380
+ const hasValue = Boolean(values[field.name]);
381
+ return (_jsxs("label", { className: "block text-xs space-y-1", children: [_jsx("span", { className: "font-medium", children: label }), _jsx("input", { "aria-label": label, "data-testid": `sensitive-request-file-${field.name}`, className: "w-full border border-border bg-bg px-2 py-1.5 text-sm", type: "file", accept: accept,
382
+ // Mobile: prefer the rear camera for image capture (2FA QR/seed).
383
+ capture: field.input === "image" ? "environment" : undefined, required: field.required && !hasValue, onChange: (event) => {
384
+ const file = event.currentTarget.files?.[0];
385
+ if (!file) {
386
+ setValues((previous) => {
387
+ const next = { ...previous };
388
+ delete next[field.name];
389
+ return next;
390
+ });
391
+ return;
392
+ }
393
+ if (field.maxBytes && file.size > field.maxBytes) {
394
+ setError(`${label} is too large (max ${Math.round(field.maxBytes / 1024)} KB).`);
395
+ event.currentTarget.value = "";
396
+ return;
397
+ }
398
+ const reader = new FileReader();
399
+ reader.onload = () => {
400
+ setError(null);
401
+ setValues((previous) => ({
402
+ ...previous,
403
+ [field.name]: String(reader.result ?? ""),
404
+ }));
405
+ };
406
+ reader.onerror = () => setError(`Could not read ${label}.`);
407
+ reader.readAsDataURL(file);
408
+ } })] }, field.name));
409
+ }
721
410
  return (_jsxs("label", { className: "block text-xs space-y-1", children: [_jsx("span", { className: "font-medium", children: label }), _jsx("input", { "aria-label": label, className: "w-full border border-border bg-bg px-2 py-1.5 text-sm", type: field.input === "secret" ? "password" : "text", value: values[field.name] ?? "", onChange: (event) => {
722
411
  const nextValue = event.currentTarget.value;
723
412
  setValues((previous) => ({
@@ -727,8 +416,12 @@ function SensitiveRequestBlock({ request, }) {
727
416
  }, required: field.required })] }, field.name));
728
417
  }), _jsx(Button, { type: "submit", size: "sm", disabled: saving || !canSubmit, "data-testid": "sensitive-request-submit", children: saving ? "Saving..." : (request.form?.submitLabel ?? "Save") })] })), canStartOAuth && request.form?.kind === "oauth" && (_jsx(OAuthRequestPanel, { form: request.form, authorizing: authorizing, onStart: () => {
729
418
  const url = request.form?.authorizationUrl;
730
- if (!url)
419
+ // Re-validate at the sink (defense-in-depth): only an https consent
420
+ // URL may reach window.open.
421
+ if (!isHttpsAuthorizationUrl(url)) {
422
+ setError("Invalid authorization URL.");
731
423
  return;
424
+ }
732
425
  try {
733
426
  // SECURITY: we never embed the authorizationUrl in chat text.
734
427
  // It is only opened in a popup. We deliberately do NOT pass
@@ -764,6 +457,32 @@ function SensitiveRequestBlock({ request, }) {
764
457
  }
765
458
  } })), error && _jsx("div", { className: "text-xs text-danger", children: error })] }));
766
459
  }
460
+ export function MessagePermissionCard({ payload, }) {
461
+ const { sendActionMessage } = useAppSelectorShallow((s) => ({
462
+ sendActionMessage: s.sendActionMessage,
463
+ }));
464
+ const permissionRegistry = useMemo(() => isNative && !isDesktopPlatform()
465
+ ? createMobileSignalsPermissionsRegistry(undefined, client)
466
+ : createClientPermissionsRegistry(client), []);
467
+ const handlePermissionFallback = useCallback((feature, permission) => {
468
+ void sendActionMessage(`__permission_card__:use_fallback feature=${feature} permission=${permission}`);
469
+ }, [sendActionMessage]);
470
+ const handlePermissionGranted = useCallback((feature, permission) => {
471
+ void sendActionMessage(`__permission_card__:granted feature=${feature} permission=${permission}`);
472
+ }, [sendActionMessage]);
473
+ return renderPermissionCardFromPayload(payload, {
474
+ registry: permissionRegistry,
475
+ onOpenSettings: async (permission) => {
476
+ if (isNative && !isDesktopPlatform()) {
477
+ await openMobilePermissionSettings(permission);
478
+ return;
479
+ }
480
+ await client.openPermissionSettings(permission);
481
+ },
482
+ onFallback: ({ feature, permission }) => handlePermissionFallback(feature, permission),
483
+ onGranted: () => handlePermissionGranted(payload.feature, payload.permission),
484
+ });
485
+ }
767
486
  function OAuthRequestPanel({ form, authorizing, onStart, }) {
768
487
  const provider = form.provider ?? "provider";
769
488
  const label = form.submitLabel ?? `Connect ${provider}`;
@@ -772,8 +491,11 @@ function OAuthRequestPanel({ form, authorizing, onStart, }) {
772
491
  // ── Main component ──────────────────────────────────────────────────
773
492
  export function MessageContent({ message, analysisMode = false, }) {
774
493
  useRenderGuard(`MessageContent:${message.id ?? "unknown"}`);
775
- const app = useApp();
776
- const { sendActionMessage } = app;
494
+ const { sendActionMessage, setTab, handleChatRetry } = useAppSelectorShallow((s) => ({
495
+ sendActionMessage: s.sendActionMessage,
496
+ setTab: s.setTab,
497
+ handleChatRetry: s.handleChatRetry,
498
+ }));
777
499
  // Composer prefill for followup `prompt` chips. Outside the chat provider,
778
500
  // `useChatComposer` returns an inert setter, so this is safe everywhere.
779
501
  const { setChatInput } = useChatComposer();
@@ -789,50 +511,14 @@ export function MessageContent({ message, analysisMode = false, }) {
789
511
  return [{ kind: "text", text: message.text }];
790
512
  }
791
513
  }, [message.text, analysisMode]);
792
- const handleChoice = useCallback((value) => {
793
- void sendActionMessage(value);
794
- }, [sendActionMessage]);
795
- // Followup `navigate` chip: deliver the passive view-switch SUGGESTION as the
796
- // same `eliza:navigate:view` event the VIEWS action uses. A `/`-prefixed
797
- // payload is a viewPath; anything else is treated as a viewId.
798
- const handleNavigate = useCallback((payload) => {
799
- if (typeof window === "undefined")
800
- return;
801
- const detail = payload.startsWith("/")
802
- ? { viewPath: payload }
803
- : { viewId: payload };
804
- window.dispatchEvent(new CustomEvent("eliza:navigate:view", { detail }));
805
- }, []);
806
- // Followup `prompt` chip: prefill the composer (falls back to send inside the
807
- // widget when no composer is mounted).
808
- const handlePrompt = useCallback((payload) => {
809
- setChatInput(payload);
810
- }, [setChatInput]);
811
- // Generic in-chat form submit: send the structured result back as a message
812
- // through the existing action-message pipeline.
813
- const handleFormSubmit = useCallback((formId, values) => {
814
- void sendActionMessage(`[form:submit ${formId}] ${JSON.stringify(values)}`);
815
- }, [sendActionMessage]);
816
- // Handlers handed to every inline widget at render. Self-contained widgets
817
- // (the task card) ignore them; interactive ones drive the chat surface.
818
- const inlineWidgetCtx = useMemo(() => ({
819
- sendAction: handleChoice,
820
- navigate: handleNavigate,
821
- prefillComposer: handlePrompt,
822
- submitForm: handleFormSubmit,
823
- }), [handleChoice, handleNavigate, handlePrompt, handleFormSubmit]);
824
- const permissionRegistry = useMemo(() => isNative && !isDesktopPlatform()
825
- ? createMobileSignalsPermissionsRegistry(undefined, client)
826
- : createClientPermissionsRegistry(client), []);
827
- const handlePermissionFallback = useCallback((feature, permission) => {
828
- void sendActionMessage(`__permission_card__:use_fallback feature=${feature} permission=${permission}`);
829
- }, [sendActionMessage]);
830
- const handlePermissionGranted = useCallback((feature, permission) => {
831
- void sendActionMessage(`__permission_card__:granted feature=${feature} permission=${permission}`);
832
- }, [sendActionMessage]);
514
+ // Handlers handed to every inline widget at render: the SAME shared contract
515
+ // the overlay surface (InlineWidgetText) uses, so a CHOICE pick / FOLLOWUPS
516
+ // chip / FORM submit behaves identically on both. Self-contained widgets (the
517
+ // task card) ignore them; interactive ones drive the chat surface.
518
+ const inlineWidgetCtx = useInlineWidgetContext(sendActionMessage, setChatInput);
833
519
  const handleOpenSettings = useCallback(() => {
834
- app.setTab?.("settings");
835
- }, [app.setTab]);
520
+ setTab?.("settings");
521
+ }, [setTab]);
836
522
  const handleDownloadDefaultLocalModel = useCallback(async () => {
837
523
  const modelId = message.localInference?.modelId;
838
524
  if (!modelId) {
@@ -880,6 +566,18 @@ export function MessageContent({ message, analysisMode = false, }) {
880
566
  if (message.failureKind === "no_provider") {
881
567
  return (_jsxs("div", { className: "border border-warn/30 bg-warn/5 rounded-sm p-3 text-sm", children: [_jsx("div", { className: "font-medium mb-1", children: "Connect a provider to chat" }), _jsx("div", { className: "text-muted whitespace-pre-wrap mb-2", children: message.text }), _jsx(Button, { type: "button", size: "sm", onClick: handleOpenSettings, children: "Open Settings" })] }));
882
568
  }
569
+ // Transient server failures (the agent was rate-limited or the provider had a
570
+ // hiccup) render the graceful message plus a one-tap Retry that resends the
571
+ // preceding user turn, so a stalled turn isn't a dead end the user has to
572
+ // retype. `no_provider`/`insufficient_credits` are excluded — a retry can't
573
+ // fix those (they have their own Settings / billing affordances).
574
+ if (message.failureKind === "rate_limited" ||
575
+ message.failureKind === "provider_issue") {
576
+ return (_jsxs("div", { className: "border border-warn/30 bg-warn/5 rounded-sm p-3 text-sm", children: [_jsx("div", { className: "text-muted whitespace-pre-wrap mb-2", children: message.text }), _jsx(Button, { type: "button", size: "sm", onClick: () => {
577
+ if (message.id)
578
+ handleChatRetry(message.id);
579
+ }, children: "Retry" })] }));
580
+ }
883
581
  // Fast path: single plain-text segment (most messages)
884
582
  if (segments.length === 1 && segments[0].kind === "text") {
885
583
  return (_jsx(MessageTextBody, { text: segments[0].text, boldSlashCommand: message.role === "user" }));
@@ -894,20 +592,24 @@ export function MessageContent({ message, analysisMode = false, }) {
894
592
  return segments.map((seg) => {
895
593
  const baseKey = seg.kind === "text"
896
594
  ? `text:${seg.text.slice(0, 80)}`
897
- : seg.kind === "config"
898
- ? `config:${seg.pluginId}`
899
- : seg.kind === "widget"
900
- ? (getInlineWidget(seg.widgetKind)?.keyFor?.(seg.data) ??
901
- `widget:${seg.widgetKind}`)
902
- : seg.kind === "permission"
903
- ? `permission:${seg.payload.feature}`
904
- : seg.kind === "analysis-xml"
905
- ? `analysis:${seg.tag}`
906
- : `ui:${seg.raw.slice(0, 80)}`;
595
+ : seg.kind === "code"
596
+ ? `code:${seg.code.slice(0, 80)}`
597
+ : seg.kind === "config"
598
+ ? `config:${seg.pluginId}`
599
+ : seg.kind === "widget"
600
+ ? (getInlineWidget(seg.widgetKind)?.keyFor?.(seg.data) ??
601
+ `widget:${seg.widgetKind}`)
602
+ : seg.kind === "permission"
603
+ ? `permission:${seg.payload.feature}`
604
+ : seg.kind === "analysis-xml"
605
+ ? `analysis:${seg.tag}`
606
+ : `ui:${seg.raw.slice(0, 80)}`;
907
607
  const segmentKey = nextKey(baseKey);
908
608
  switch (seg.kind) {
909
609
  case "text":
910
610
  return (_jsx(MessageTextBody, { text: seg.text, boldSlashCommand: message.role === "user" }, segmentKey));
611
+ case "code":
612
+ return (_jsx(CodeBlock, { className: "my-2", value: seg.code, wrap: true, copyable: true, "data-testid": "code-block", ...(seg.lang ? { "data-lang": seg.lang } : {}) }, segmentKey));
911
613
  case "analysis-xml":
912
614
  return (_jsxs("div", { className: "my-2 border border-accent/20 rounded-sm bg-accent/5 overflow-hidden", children: [_jsxs("div", { className: "bg-accent/10 px-3 py-1 text-xs font-mono font-bold text-accent uppercase tracking-wider", children: ["<", seg.tag, ">"] }), _jsx("pre", { className: "px-3 py-2 text-xs font-mono whitespace-pre-wrap break-words text-muted m-0 overflow-x-auto", children: seg.content.trim() })] }, segmentKey));
913
615
  case "config":
@@ -916,7 +618,7 @@ export function MessageContent({ message, analysisMode = false, }) {
916
618
  }
917
619
  return (_jsx(InlinePluginConfig, { pluginId: seg.pluginId }, segmentKey));
918
620
  case "ui-spec":
919
- return (_jsx(UiSpecBlock, { spec: seg.spec, raw: seg.raw }, segmentKey));
621
+ return (_jsx(MessageUiSpecBlock, { spec: seg.spec, raw: seg.raw }, segmentKey));
920
622
  case "widget": {
921
623
  const widget = getInlineWidget(seg.widgetKind);
922
624
  return widget
@@ -924,13 +626,7 @@ export function MessageContent({ message, analysisMode = false, }) {
924
626
  : null;
925
627
  }
926
628
  case "permission":
927
- return (_jsx(PermissionCard, { permission: seg.payload.permission, reason: seg.payload.reason, feature: seg.payload.feature, fallbackOffered: seg.payload.fallbackOffered, fallbackLabel: seg.payload.fallbackLabel, registry: permissionRegistry, onOpenSettings: async (permission) => {
928
- if (isNative && !isDesktopPlatform()) {
929
- await openMobilePermissionSettings(permission);
930
- return;
931
- }
932
- await client.openPermissionSettings(permission);
933
- }, onFallback: ({ feature, permission }) => handlePermissionFallback(feature, permission), onGranted: () => handlePermissionGranted(seg.payload.feature, seg.payload.permission) }, segmentKey));
629
+ return (_jsx(MessagePermissionCard, { payload: seg.payload }, segmentKey));
934
630
  default:
935
631
  return null;
936
632
  }