@elizaos/ui 2.0.0-alpha.85 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1995) hide show
  1. package/App.d.ts +6 -0
  2. package/App.d.ts.map +1 -0
  3. package/App.js +593 -0
  4. package/api/agent-client-type-shim.d.ts +106 -0
  5. package/api/agent-client-type-shim.d.ts.map +1 -0
  6. package/api/agent-client-type-shim.js +1 -0
  7. package/api/android-native-agent-transport.d.ts +21 -0
  8. package/api/android-native-agent-transport.d.ts.map +1 -0
  9. package/api/android-native-agent-transport.js +113 -0
  10. package/api/auth/sessions.d.ts +4 -0
  11. package/api/auth/sessions.d.ts.map +1 -0
  12. package/api/auth/sessions.js +5 -0
  13. package/api/auth-client.d.ts +130 -0
  14. package/api/auth-client.d.ts.map +1 -0
  15. package/api/auth-client.js +286 -0
  16. package/api/client-agent.d.ts +730 -0
  17. package/api/client-agent.d.ts.map +1 -0
  18. package/api/client-agent.js +1669 -0
  19. package/api/client-automations.d.ts +8 -0
  20. package/api/client-automations.d.ts.map +1 -0
  21. package/api/client-automations.js +7 -0
  22. package/api/client-base.d.ts +89 -0
  23. package/api/client-base.d.ts.map +1 -0
  24. package/api/client-base.js +827 -0
  25. package/api/client-browser-workspace.d.ts +25 -0
  26. package/api/client-browser-workspace.d.ts.map +1 -0
  27. package/api/client-browser-workspace.js +98 -0
  28. package/api/client-chat.d.ts +389 -0
  29. package/api/client-chat.d.ts.map +1 -0
  30. package/api/client-chat.js +601 -0
  31. package/api/client-cloud.d.ts +292 -0
  32. package/api/client-cloud.d.ts.map +1 -0
  33. package/api/client-cloud.js +1395 -0
  34. package/api/client-computeruse.d.ts +32 -0
  35. package/api/client-computeruse.d.ts.map +1 -0
  36. package/api/client-computeruse.js +16 -0
  37. package/api/client-imessage.d.ts +68 -0
  38. package/api/client-imessage.d.ts.map +1 -0
  39. package/api/client-imessage.js +74 -0
  40. package/api/client-local-inference.d.ts +62 -0
  41. package/api/client-local-inference.d.ts.map +1 -0
  42. package/api/client-local-inference.js +87 -0
  43. package/api/client-skills.d.ts +475 -0
  44. package/api/client-skills.d.ts.map +1 -0
  45. package/api/client-skills.js +608 -0
  46. package/api/client-types-babylon.d.ts +254 -0
  47. package/api/client-types-babylon.d.ts.map +1 -0
  48. package/api/client-types-babylon.js +2 -0
  49. package/api/client-types-character.d.ts +39 -0
  50. package/api/client-types-character.d.ts.map +1 -0
  51. package/api/client-types-character.js +1 -0
  52. package/api/client-types-chat.d.ts +562 -0
  53. package/api/client-types-chat.d.ts.map +1 -0
  54. package/api/client-types-chat.js +17 -0
  55. package/api/client-types-cloud.d.ts +941 -0
  56. package/api/client-types-cloud.d.ts.map +1 -0
  57. package/api/client-types-cloud.js +57 -0
  58. package/api/client-types-config.d.ts +613 -0
  59. package/api/client-types-config.d.ts.map +1 -0
  60. package/api/client-types-config.js +5 -0
  61. package/api/client-types-core.d.ts +438 -0
  62. package/api/client-types-core.d.ts.map +1 -0
  63. package/api/client-types-core.js +31 -0
  64. package/api/client-types-experience.d.ts +97 -0
  65. package/api/client-types-experience.d.ts.map +1 -0
  66. package/api/client-types-experience.js +1 -0
  67. package/api/client-types-relationships.d.ts +181 -0
  68. package/api/client-types-relationships.d.ts.map +1 -0
  69. package/api/client-types-relationships.js +1 -0
  70. package/api/client-types-steward.d.ts +85 -0
  71. package/api/client-types-steward.d.ts.map +1 -0
  72. package/api/client-types-steward.js +9 -0
  73. package/api/client-types.d.ts +9 -0
  74. package/api/client-types.d.ts.map +1 -0
  75. package/api/client-types.js +12 -0
  76. package/api/client-vault.d.ts +53 -0
  77. package/api/client-vault.d.ts.map +1 -0
  78. package/api/client-vault.js +48 -0
  79. package/api/client-wallet.d.ts +130 -0
  80. package/api/client-wallet.d.ts.map +1 -0
  81. package/api/client-wallet.js +228 -0
  82. package/api/client-workflow.d.ts +26 -0
  83. package/api/client-workflow.d.ts.map +1 -0
  84. package/api/client-workflow.js +70 -0
  85. package/api/client.d.ts +39 -0
  86. package/api/client.d.ts.map +1 -0
  87. package/api/client.js +37 -0
  88. package/api/csrf-client.d.ts +21 -0
  89. package/api/csrf-client.d.ts.map +1 -0
  90. package/api/csrf-client.js +70 -0
  91. package/api/desktop-http-transport.d.ts +3 -0
  92. package/api/desktop-http-transport.d.ts.map +1 -0
  93. package/api/desktop-http-transport.js +72 -0
  94. package/api/index.d.ts +2 -0
  95. package/api/index.d.ts.map +1 -0
  96. package/api/index.js +1 -0
  97. package/api/ios-local-agent-kernel.d.ts +4 -0
  98. package/api/ios-local-agent-kernel.d.ts.map +1 -0
  99. package/api/ios-local-agent-kernel.js +2108 -0
  100. package/api/ios-local-agent-transport.d.ts +5 -0
  101. package/api/ios-local-agent-transport.d.ts.map +1 -0
  102. package/api/ios-local-agent-transport.js +28 -0
  103. package/api/ittp-agent-transport.d.ts +14 -0
  104. package/api/ittp-agent-transport.d.ts.map +1 -0
  105. package/api/ittp-agent-transport.js +15 -0
  106. package/api/native-cloud-http-transport.d.ts +3 -0
  107. package/api/native-cloud-http-transport.d.ts.map +1 -0
  108. package/api/native-cloud-http-transport.js +75 -0
  109. package/api/request-timeout.d.ts +2 -0
  110. package/api/request-timeout.d.ts.map +1 -0
  111. package/api/request-timeout.js +22 -0
  112. package/api/response.d.ts +12 -0
  113. package/api/response.d.ts.map +1 -0
  114. package/api/response.js +36 -0
  115. package/api/runtime-mode-client.d.ts +23 -0
  116. package/api/runtime-mode-client.d.ts.map +1 -0
  117. package/api/runtime-mode-client.js +54 -0
  118. package/api/transport.d.ts +7 -0
  119. package/api/transport.d.ts.map +1 -0
  120. package/api/transport.js +5 -0
  121. package/app-shell-components.d.ts +50 -0
  122. package/app-shell-components.d.ts.map +1 -0
  123. package/app-shell-components.js +48 -0
  124. package/app-shell-registry.d.ts +29 -0
  125. package/app-shell-registry.d.ts.map +1 -0
  126. package/app-shell-registry.js +21 -0
  127. package/bridge/capacitor-bridge.d.ts +153 -0
  128. package/bridge/capacitor-bridge.d.ts.map +1 -0
  129. package/bridge/capacitor-bridge.js +195 -0
  130. package/bridge/electrobun-rpc.d.ts +85 -0
  131. package/bridge/electrobun-rpc.d.ts.map +1 -0
  132. package/bridge/electrobun-rpc.js +114 -0
  133. package/bridge/electrobun-runtime.d.ts +3 -0
  134. package/bridge/electrobun-runtime.d.ts.map +1 -0
  135. package/bridge/electrobun-runtime.js +45 -0
  136. package/bridge/gateway-discovery.d.ts +17 -0
  137. package/bridge/gateway-discovery.d.ts.map +1 -0
  138. package/bridge/gateway-discovery.js +49 -0
  139. package/bridge/index.d.ts +7 -0
  140. package/bridge/index.d.ts.map +1 -0
  141. package/bridge/index.js +6 -0
  142. package/bridge/native-plugins.d.ts +504 -0
  143. package/bridge/native-plugins.d.ts.map +1 -0
  144. package/bridge/native-plugins.js +67 -0
  145. package/bridge/plugin-bridge.d.ts +133 -0
  146. package/bridge/plugin-bridge.d.ts.map +1 -0
  147. package/bridge/plugin-bridge.js +241 -0
  148. package/bridge/storage-bridge.d.ts +39 -0
  149. package/bridge/storage-bridge.d.ts.map +1 -0
  150. package/bridge/storage-bridge.js +142 -0
  151. package/browser.d.ts +72 -0
  152. package/browser.d.ts.map +1 -0
  153. package/browser.js +68 -0
  154. package/build-variant.d.ts +16 -0
  155. package/build-variant.d.ts.map +1 -0
  156. package/build-variant.js +31 -0
  157. package/character/character-draft-helpers.d.ts +35 -0
  158. package/character/character-draft-helpers.d.ts.map +1 -0
  159. package/character/character-draft-helpers.js +270 -0
  160. package/character-catalog.d.ts +7 -0
  161. package/character-catalog.d.ts.map +1 -0
  162. package/character-catalog.js +29 -0
  163. package/chat/coding-agent-session-state.d.ts +16 -0
  164. package/chat/coding-agent-session-state.d.ts.map +1 -0
  165. package/chat/coding-agent-session-state.js +27 -0
  166. package/chat/index.d.ts +65 -0
  167. package/chat/index.d.ts.map +1 -0
  168. package/chat/index.js +225 -0
  169. package/components/accounts/AccountCard.d.ts +30 -0
  170. package/components/accounts/AccountCard.d.ts.map +1 -0
  171. package/components/accounts/AccountCard.js +159 -0
  172. package/components/accounts/AccountList.d.ts +15 -0
  173. package/components/accounts/AccountList.d.ts.map +1 -0
  174. package/components/accounts/AccountList.js +75 -0
  175. package/components/accounts/AddAccountDialog.d.ts +33 -0
  176. package/components/accounts/AddAccountDialog.d.ts.map +1 -0
  177. package/components/accounts/AddAccountDialog.js +396 -0
  178. package/components/accounts/EditableAccountLabel.d.ts +11 -0
  179. package/components/accounts/EditableAccountLabel.d.ts.map +1 -0
  180. package/components/accounts/EditableAccountLabel.js +45 -0
  181. package/components/accounts/RotationStrategyPicker.d.ts +16 -0
  182. package/components/accounts/RotationStrategyPicker.d.ts.map +1 -0
  183. package/components/accounts/RotationStrategyPicker.js +45 -0
  184. package/components/apps/AppsCatalogGrid.d.ts +14 -0
  185. package/components/apps/AppsCatalogGrid.d.ts.map +1 -0
  186. package/components/apps/AppsCatalogGrid.js +208 -0
  187. package/components/apps/AppsSidebar.d.ts +22 -0
  188. package/components/apps/AppsSidebar.d.ts.map +1 -0
  189. package/components/apps/AppsSidebar.js +98 -0
  190. package/components/apps/GameView.d.ts +18 -0
  191. package/components/apps/GameView.d.ts.map +1 -0
  192. package/components/apps/GameView.js +1133 -0
  193. package/components/apps/GameViewOverlay.d.ts +2 -0
  194. package/components/apps/GameViewOverlay.d.ts.map +1 -0
  195. package/components/apps/GameViewOverlay.js +120 -0
  196. package/components/apps/RunningAppsRow.d.ts +12 -0
  197. package/components/apps/RunningAppsRow.d.ts.map +1 -0
  198. package/components/apps/RunningAppsRow.js +35 -0
  199. package/components/apps/app-identity.d.ts +32 -0
  200. package/components/apps/app-identity.d.ts.map +1 -0
  201. package/components/apps/app-identity.js +182 -0
  202. package/components/apps/apps-cache.d.ts +5 -0
  203. package/components/apps/apps-cache.d.ts.map +1 -0
  204. package/components/apps/apps-cache.js +47 -0
  205. package/components/apps/catalog-loader.d.ts +7 -0
  206. package/components/apps/catalog-loader.d.ts.map +1 -0
  207. package/components/apps/catalog-loader.js +47 -0
  208. package/components/apps/extensions/registry.d.ts +12 -0
  209. package/components/apps/extensions/registry.d.ts.map +1 -0
  210. package/components/apps/extensions/registry.js +23 -0
  211. package/components/apps/extensions/surface.d.ts +34 -0
  212. package/components/apps/extensions/surface.d.ts.map +1 -0
  213. package/components/apps/extensions/surface.js +96 -0
  214. package/components/apps/extensions/types.d.ts +7 -0
  215. package/components/apps/extensions/types.d.ts.map +1 -0
  216. package/components/apps/extensions/types.js +1 -0
  217. package/components/apps/helpers.d.ts +58 -0
  218. package/components/apps/helpers.d.ts.map +1 -0
  219. package/components/apps/helpers.js +379 -0
  220. package/components/apps/internal-tool-apps.d.ts +18 -0
  221. package/components/apps/internal-tool-apps.d.ts.map +1 -0
  222. package/components/apps/internal-tool-apps.js +173 -0
  223. package/components/apps/launch-history.d.ts +16 -0
  224. package/components/apps/launch-history.d.ts.map +1 -0
  225. package/components/apps/launch-history.js +77 -0
  226. package/components/apps/load-apps-catalog.d.ts +13 -0
  227. package/components/apps/load-apps-catalog.d.ts.map +1 -0
  228. package/components/apps/load-apps-catalog.js +67 -0
  229. package/components/apps/overlay-app-api.d.ts +67 -0
  230. package/components/apps/overlay-app-api.d.ts.map +1 -0
  231. package/components/apps/overlay-app-api.js +8 -0
  232. package/components/apps/overlay-app-registry.d.ts +55 -0
  233. package/components/apps/overlay-app-registry.d.ts.map +1 -0
  234. package/components/apps/overlay-app-registry.js +108 -0
  235. package/components/apps/per-app-config.d.ts +19 -0
  236. package/components/apps/per-app-config.d.ts.map +1 -0
  237. package/components/apps/per-app-config.js +99 -0
  238. package/components/apps/run-attention.d.ts +3 -0
  239. package/components/apps/run-attention.d.ts.map +1 -0
  240. package/components/apps/run-attention.js +77 -0
  241. package/components/apps/surfaces/GameOperatorShell.d.ts +47 -0
  242. package/components/apps/surfaces/GameOperatorShell.d.ts.map +1 -0
  243. package/components/apps/surfaces/GameOperatorShell.js +42 -0
  244. package/components/apps/surfaces/registry.d.ts +11 -0
  245. package/components/apps/surfaces/registry.d.ts.map +1 -0
  246. package/components/apps/surfaces/registry.js +23 -0
  247. package/components/apps/surfaces/types.d.ts +10 -0
  248. package/components/apps/surfaces/types.d.ts.map +1 -0
  249. package/components/apps/surfaces/types.js +1 -0
  250. package/components/apps/useRegistryCatalog.d.ts +14 -0
  251. package/components/apps/useRegistryCatalog.d.ts.map +1 -0
  252. package/components/apps/useRegistryCatalog.js +52 -0
  253. package/components/apps/viewer-auth.d.ts +7 -0
  254. package/components/apps/viewer-auth.d.ts.map +1 -0
  255. package/components/apps/viewer-auth.js +55 -0
  256. package/components/auth/LoginView.d.ts +17 -0
  257. package/components/auth/LoginView.d.ts.map +1 -0
  258. package/components/auth/LoginView.js +62 -0
  259. package/components/character/CharacterEditor.d.ts +12 -0
  260. package/components/character/CharacterEditor.d.ts.map +1 -0
  261. package/components/character/CharacterEditor.js +885 -0
  262. package/components/character/CharacterEditorPanels.d.ts +35 -0
  263. package/components/character/CharacterEditorPanels.d.ts.map +1 -0
  264. package/components/character/CharacterEditorPanels.js +250 -0
  265. package/components/character/CharacterExperienceWorkspace.d.ts +11 -0
  266. package/components/character/CharacterExperienceWorkspace.d.ts.map +1 -0
  267. package/components/character/CharacterExperienceWorkspace.js +453 -0
  268. package/components/character/CharacterHubView.d.ts +22 -0
  269. package/components/character/CharacterHubView.d.ts.map +1 -0
  270. package/components/character/CharacterHubView.js +695 -0
  271. package/components/character/CharacterLearnedSkillsSection.d.ts +2 -0
  272. package/components/character/CharacterLearnedSkillsSection.d.ts.map +1 -0
  273. package/components/character/CharacterLearnedSkillsSection.js +76 -0
  274. package/components/character/CharacterOverviewSection.d.ts +27 -0
  275. package/components/character/CharacterOverviewSection.d.ts.map +1 -0
  276. package/components/character/CharacterOverviewSection.js +36 -0
  277. package/components/character/CharacterPersonalityTimeline.d.ts +5 -0
  278. package/components/character/CharacterPersonalityTimeline.d.ts.map +1 -0
  279. package/components/character/CharacterPersonalityTimeline.js +33 -0
  280. package/components/character/CharacterRelationshipsSection.d.ts +7 -0
  281. package/components/character/CharacterRelationshipsSection.d.ts.map +1 -0
  282. package/components/character/CharacterRelationshipsSection.js +4 -0
  283. package/components/character/CharacterRoster.d.ts +32 -0
  284. package/components/character/CharacterRoster.d.ts.map +1 -0
  285. package/components/character/CharacterRoster.js +111 -0
  286. package/components/character/MusicLibraryCharacterWidget.d.ts +3 -0
  287. package/components/character/MusicLibraryCharacterWidget.d.ts.map +1 -0
  288. package/components/character/MusicLibraryCharacterWidget.js +27 -0
  289. package/components/character/character-editor-helpers.d.ts +42 -0
  290. package/components/character/character-editor-helpers.d.ts.map +1 -0
  291. package/components/character/character-editor-helpers.js +58 -0
  292. package/components/character/character-greeting.d.ts +5 -0
  293. package/components/character/character-greeting.d.ts.map +1 -0
  294. package/components/character/character-greeting.js +22 -0
  295. package/components/character/character-hub-helpers.d.ts +14 -0
  296. package/components/character/character-hub-helpers.d.ts.map +1 -0
  297. package/components/character/character-hub-helpers.js +140 -0
  298. package/components/character/character-hub-types.d.ts +60 -0
  299. package/components/character/character-hub-types.d.ts.map +1 -0
  300. package/components/character/character-hub-types.js +1 -0
  301. package/components/character/character-voice-config.d.ts +33 -0
  302. package/components/character/character-voice-config.d.ts.map +1 -0
  303. package/components/character/character-voice-config.js +95 -0
  304. package/components/chat/AccountRequiredCard.d.ts +19 -0
  305. package/components/chat/AccountRequiredCard.d.ts.map +1 -0
  306. package/components/chat/AccountRequiredCard.js +35 -0
  307. package/components/chat/AgentActivityBox.d.ts +8 -0
  308. package/components/chat/AgentActivityBox.d.ts.map +1 -0
  309. package/components/chat/AgentActivityBox.js +33 -0
  310. package/components/chat/AppsSection.d.ts +13 -0
  311. package/components/chat/AppsSection.d.ts.map +1 -0
  312. package/components/chat/AppsSection.js +198 -0
  313. package/components/chat/ConnectorAccountPicker.d.ts +16 -0
  314. package/components/chat/ConnectorAccountPicker.d.ts.map +1 -0
  315. package/components/chat/ConnectorAccountPicker.js +65 -0
  316. package/components/chat/MessageContent.d.ts +42 -0
  317. package/components/chat/MessageContent.d.ts.map +1 -0
  318. package/components/chat/MessageContent.js +831 -0
  319. package/components/chat/SaveCommandModal.d.ts +9 -0
  320. package/components/chat/SaveCommandModal.d.ts.map +1 -0
  321. package/components/chat/SaveCommandModal.js +59 -0
  322. package/components/chat/TasksEventsPanel.d.ts +30 -0
  323. package/components/chat/TasksEventsPanel.d.ts.map +1 -0
  324. package/components/chat/TasksEventsPanel.js +139 -0
  325. package/components/chat/WidgetVisibilityPanel.d.ts +25 -0
  326. package/components/chat/WidgetVisibilityPanel.d.ts.map +1 -0
  327. package/components/chat/WidgetVisibilityPanel.js +30 -0
  328. package/components/chat/chat-source-registration.d.ts +1 -0
  329. package/components/chat/chat-source-registration.d.ts.map +1 -0
  330. package/components/chat/chat-source-registration.js +1 -0
  331. package/components/chat/connector-send-as.d.ts +40 -0
  332. package/components/chat/connector-send-as.d.ts.map +1 -0
  333. package/components/chat/connector-send-as.js +95 -0
  334. package/components/chat/message-choice-parser.d.ts +20 -0
  335. package/components/chat/message-choice-parser.d.ts.map +1 -0
  336. package/components/chat/message-choice-parser.js +53 -0
  337. package/components/chat/widgets/ChoiceWidget.d.ts +24 -0
  338. package/components/chat/widgets/ChoiceWidget.d.ts.map +1 -0
  339. package/components/chat/widgets/ChoiceWidget.js +38 -0
  340. package/components/chat/widgets/agent-orchestrator.d.ts +20 -0
  341. package/components/chat/widgets/agent-orchestrator.d.ts.map +1 -0
  342. package/components/chat/widgets/agent-orchestrator.js +273 -0
  343. package/components/chat/widgets/browser-status.d.ts +14 -0
  344. package/components/chat/widgets/browser-status.d.ts.map +1 -0
  345. package/components/chat/widgets/browser-status.js +109 -0
  346. package/components/chat/widgets/music-player.d.ts +4 -0
  347. package/components/chat/widgets/music-player.d.ts.map +1 -0
  348. package/components/chat/widgets/music-player.js +133 -0
  349. package/components/chat/widgets/registry.d.ts +8 -0
  350. package/components/chat/widgets/registry.d.ts.map +1 -0
  351. package/components/chat/widgets/registry.js +7 -0
  352. package/components/chat/widgets/shared.d.ts +17 -0
  353. package/components/chat/widgets/shared.d.ts.map +1 -0
  354. package/components/chat/widgets/shared.js +8 -0
  355. package/components/chat/widgets/todo.d.ts +3 -0
  356. package/components/chat/widgets/todo.d.ts.map +1 -0
  357. package/components/chat/widgets/todo.js +109 -0
  358. package/components/chat/widgets/types.d.ts +16 -0
  359. package/components/chat/widgets/types.d.ts.map +1 -0
  360. package/components/chat/widgets/types.js +1 -0
  361. package/components/cloud/CloudSourceControls.d.ts +13 -0
  362. package/components/cloud/CloudSourceControls.d.ts.map +1 -0
  363. package/components/cloud/CloudSourceControls.js +19 -0
  364. package/components/cloud/CloudStatusBadge.d.ts +33 -0
  365. package/components/cloud/CloudStatusBadge.d.ts.map +1 -0
  366. package/components/cloud/CloudStatusBadge.js +98 -0
  367. package/components/cloud/FlaminaGuide.d.ts +10 -0
  368. package/components/cloud/FlaminaGuide.d.ts.map +1 -0
  369. package/components/cloud/FlaminaGuide.js +86 -0
  370. package/components/cloud/StripeEmbeddedCheckout.d.ts +24 -0
  371. package/components/cloud/StripeEmbeddedCheckout.d.ts.map +1 -0
  372. package/components/cloud/StripeEmbeddedCheckout.js +101 -0
  373. package/components/companion/injected.d.ts +9 -0
  374. package/components/companion/injected.d.ts.map +1 -0
  375. package/components/companion/injected.js +22 -0
  376. package/components/composites/chat/chat-attachment-strip.d.ts +9 -0
  377. package/components/composites/chat/chat-attachment-strip.d.ts.map +1 -0
  378. package/components/composites/chat/chat-attachment-strip.js +8 -0
  379. package/components/composites/chat/chat-bubble.d.ts +14 -0
  380. package/components/composites/chat/chat-bubble.d.ts.map +1 -0
  381. package/components/composites/chat/chat-bubble.js +7 -0
  382. package/components/composites/chat/chat-composer-shell.d.ts +14 -0
  383. package/components/composites/chat/chat-composer-shell.d.ts.map +1 -0
  384. package/components/composites/chat/chat-composer-shell.js +25 -0
  385. package/components/composites/chat/chat-composer.d.ts +45 -0
  386. package/components/composites/chat/chat-composer.d.ts.map +1 -0
  387. package/components/composites/chat/chat-composer.js +297 -0
  388. package/components/composites/chat/chat-conversation-item.d.ts +21 -0
  389. package/components/composites/chat/chat-conversation-item.d.ts.map +1 -0
  390. package/components/composites/chat/chat-conversation-item.js +118 -0
  391. package/components/composites/chat/chat-conversation-rename-dialog.d.ts +22 -0
  392. package/components/composites/chat/chat-conversation-rename-dialog.d.ts.map +1 -0
  393. package/components/composites/chat/chat-conversation-rename-dialog.js +14 -0
  394. package/components/composites/chat/chat-empty-state.d.ts +19 -0
  395. package/components/composites/chat/chat-empty-state.d.ts.map +1 -0
  396. package/components/composites/chat/chat-empty-state.js +8 -0
  397. package/components/composites/chat/chat-message-actions.d.ts +14 -0
  398. package/components/composites/chat/chat-message-actions.d.ts.map +1 -0
  399. package/components/composites/chat/chat-message-actions.js +10 -0
  400. package/components/composites/chat/chat-message.d.ts +18 -0
  401. package/components/composites/chat/chat-message.d.ts.map +1 -0
  402. package/components/composites/chat/chat-message.js +267 -0
  403. package/components/composites/chat/chat-sidebar.d.ts +54 -0
  404. package/components/composites/chat/chat-sidebar.d.ts.map +1 -0
  405. package/components/composites/chat/chat-sidebar.js +64 -0
  406. package/components/composites/chat/chat-source.d.ts +23 -0
  407. package/components/composites/chat/chat-source.d.ts.map +1 -0
  408. package/components/composites/chat/chat-source.js +60 -0
  409. package/components/composites/chat/chat-thread-layout.d.ts +22 -0
  410. package/components/composites/chat/chat-thread-layout.d.ts.map +1 -0
  411. package/components/composites/chat/chat-thread-layout.js +37 -0
  412. package/components/composites/chat/chat-transcript.d.ts +19 -0
  413. package/components/composites/chat/chat-transcript.d.ts.map +1 -0
  414. package/components/composites/chat/chat-transcript.js +88 -0
  415. package/components/composites/chat/chat-types.d.ts +91 -0
  416. package/components/composites/chat/chat-types.d.ts.map +1 -0
  417. package/components/composites/chat/chat-types.js +1 -0
  418. package/components/composites/chat/chat-typing-indicator.d.ts +10 -0
  419. package/components/composites/chat/chat-typing-indicator.d.ts.map +1 -0
  420. package/components/composites/chat/chat-typing-indicator.js +10 -0
  421. package/components/composites/chat/create-task-popover.d.ts +13 -0
  422. package/components/composites/chat/create-task-popover.d.ts.map +1 -0
  423. package/components/composites/chat/create-task-popover.js +44 -0
  424. package/components/composites/chat/index.d.ts +18 -0
  425. package/components/composites/chat/index.d.ts.map +1 -0
  426. package/components/composites/chat/index.js +17 -0
  427. package/components/composites/chat/permission-card.d.ts +92 -0
  428. package/components/composites/chat/permission-card.d.ts.map +1 -0
  429. package/components/composites/chat/permission-card.js +254 -0
  430. package/components/composites/form-field/form-field.d.ts +14 -0
  431. package/components/composites/form-field/form-field.d.ts.map +1 -0
  432. package/components/composites/form-field/form-field.js +8 -0
  433. package/components/composites/form-field/index.d.ts +2 -0
  434. package/components/composites/form-field/index.d.ts.map +1 -0
  435. package/components/composites/form-field/index.js +1 -0
  436. package/components/composites/index.d.ts +26 -0
  437. package/components/composites/index.d.ts.map +1 -0
  438. package/components/composites/index.js +25 -0
  439. package/components/composites/page-panel/index.d.ts +29 -0
  440. package/components/composites/page-panel/index.d.ts.map +1 -0
  441. package/components/composites/page-panel/index.js +28 -0
  442. package/components/composites/page-panel/page-panel-collapsible-section.d.ts +4 -0
  443. package/components/composites/page-panel/page-panel-collapsible-section.d.ts.map +1 -0
  444. package/components/composites/page-panel/page-panel-collapsible-section.js +60 -0
  445. package/components/composites/page-panel/page-panel-empty.d.ts +3 -0
  446. package/components/composites/page-panel/page-panel-empty.d.ts.map +1 -0
  447. package/components/composites/page-panel/page-panel-empty.js +15 -0
  448. package/components/composites/page-panel/page-panel-frame.d.ts +5 -0
  449. package/components/composites/page-panel/page-panel-frame.d.ts.map +1 -0
  450. package/components/composites/page-panel/page-panel-frame.js +9 -0
  451. package/components/composites/page-panel/page-panel-header.d.ts +7 -0
  452. package/components/composites/page-panel/page-panel-header.d.ts.map +1 -0
  453. package/components/composites/page-panel/page-panel-header.js +30 -0
  454. package/components/composites/page-panel/page-panel-loading.d.ts +3 -0
  455. package/components/composites/page-panel/page-panel-loading.d.ts.map +1 -0
  456. package/components/composites/page-panel/page-panel-loading.js +13 -0
  457. package/components/composites/page-panel/page-panel-root.d.ts +7 -0
  458. package/components/composites/page-panel/page-panel-root.d.ts.map +1 -0
  459. package/components/composites/page-panel/page-panel-root.js +17 -0
  460. package/components/composites/page-panel/page-panel-toolbar.d.ts +4 -0
  461. package/components/composites/page-panel/page-panel-toolbar.d.ts.map +1 -0
  462. package/components/composites/page-panel/page-panel-toolbar.js +6 -0
  463. package/components/composites/page-panel/page-panel-types.d.ts +66 -0
  464. package/components/composites/page-panel/page-panel-types.d.ts.map +1 -0
  465. package/components/composites/page-panel/page-panel-types.js +1 -0
  466. package/components/composites/search/index.d.ts +3 -0
  467. package/components/composites/search/index.d.ts.map +1 -0
  468. package/components/composites/search/index.js +2 -0
  469. package/components/composites/search/search-input.d.ts.map +1 -0
  470. package/components/{ui → composites/search}/search-input.js +3 -2
  471. package/components/{ui/search-bar.d.ts → composites/search/searchbar.d.ts} +8 -7
  472. package/components/composites/search/searchbar.d.ts.map +1 -0
  473. package/components/composites/search/searchbar.js +25 -0
  474. package/components/composites/sidebar/index.d.ts +11 -0
  475. package/components/composites/sidebar/index.d.ts.map +1 -0
  476. package/components/composites/sidebar/index.js +10 -0
  477. package/components/composites/sidebar/sidebar-auto-rail.d.ts +15 -0
  478. package/components/composites/sidebar/sidebar-auto-rail.d.ts.map +1 -0
  479. package/components/composites/sidebar/sidebar-auto-rail.js +292 -0
  480. package/components/composites/sidebar/sidebar-body.d.ts +4 -0
  481. package/components/composites/sidebar/sidebar-body.d.ts.map +1 -0
  482. package/components/composites/sidebar/sidebar-body.js +7 -0
  483. package/components/composites/sidebar/sidebar-collapsed-rail.d.ts +11 -0
  484. package/components/composites/sidebar/sidebar-collapsed-rail.d.ts.map +1 -0
  485. package/components/composites/sidebar/sidebar-collapsed-rail.js +13 -0
  486. package/components/composites/sidebar/sidebar-content.d.ts +78 -0
  487. package/components/composites/sidebar/sidebar-content.d.ts.map +1 -0
  488. package/components/composites/sidebar/sidebar-content.js +94 -0
  489. package/components/composites/sidebar/sidebar-filter-bar.d.ts +3 -0
  490. package/components/composites/sidebar/sidebar-filter-bar.d.ts.map +1 -0
  491. package/components/composites/sidebar/sidebar-filter-bar.js +14 -0
  492. package/components/composites/sidebar/sidebar-header-stack.d.ts +3 -0
  493. package/components/composites/sidebar/sidebar-header-stack.d.ts.map +1 -0
  494. package/components/composites/sidebar/sidebar-header-stack.js +6 -0
  495. package/components/composites/sidebar/sidebar-header.d.ts +9 -0
  496. package/components/composites/sidebar/sidebar-header.d.ts.map +1 -0
  497. package/components/composites/sidebar/sidebar-header.js +6 -0
  498. package/components/composites/sidebar/sidebar-panel.d.ts +3 -0
  499. package/components/composites/sidebar/sidebar-panel.d.ts.map +1 -0
  500. package/components/composites/sidebar/sidebar-panel.js +18 -0
  501. package/components/composites/sidebar/sidebar-root.d.ts +4 -0
  502. package/components/composites/sidebar/sidebar-root.d.ts.map +1 -0
  503. package/components/composites/sidebar/sidebar-root.js +491 -0
  504. package/components/composites/sidebar/sidebar-scroll-region.d.ts +3 -0
  505. package/components/composites/sidebar/sidebar-scroll-region.d.ts.map +1 -0
  506. package/components/composites/sidebar/sidebar-scroll-region.js +18 -0
  507. package/components/composites/sidebar/sidebar-types.d.ts +77 -0
  508. package/components/composites/sidebar/sidebar-types.d.ts.map +1 -0
  509. package/components/composites/sidebar/sidebar-types.js +1 -0
  510. package/components/composites/skills/index.d.ts +2 -0
  511. package/components/composites/skills/index.d.ts.map +1 -0
  512. package/components/composites/skills/index.js +1 -0
  513. package/components/composites/skills/skill-sidebar-item.d.ts +16 -0
  514. package/components/composites/skills/skill-sidebar-item.d.ts.map +1 -0
  515. package/components/composites/skills/skill-sidebar-item.js +7 -0
  516. package/components/composites/trajectories/index.d.ts +8 -0
  517. package/components/composites/trajectories/index.d.ts.map +1 -0
  518. package/components/composites/trajectories/index.js +7 -0
  519. package/components/composites/trajectories/trajectory-cache-stats.d.ts +14 -0
  520. package/components/composites/trajectories/trajectory-cache-stats.d.ts.map +1 -0
  521. package/components/composites/trajectories/trajectory-cache-stats.js +5 -0
  522. package/components/composites/trajectories/trajectory-code-block.d.ts +13 -0
  523. package/components/composites/trajectories/trajectory-code-block.d.ts.map +1 -0
  524. package/components/composites/trajectories/trajectory-code-block.js +13 -0
  525. package/components/composites/trajectories/trajectory-context-diff-list.d.ts +18 -0
  526. package/components/composites/trajectories/trajectory-context-diff-list.d.ts.map +1 -0
  527. package/components/composites/trajectories/trajectory-context-diff-list.js +9 -0
  528. package/components/composites/trajectories/trajectory-event-timeline.d.ts +19 -0
  529. package/components/composites/trajectories/trajectory-event-timeline.d.ts.map +1 -0
  530. package/components/composites/trajectories/trajectory-event-timeline.js +21 -0
  531. package/components/composites/trajectories/trajectory-llm-call-card.d.ts +34 -0
  532. package/components/composites/trajectories/trajectory-llm-call-card.d.ts.map +1 -0
  533. package/components/composites/trajectories/trajectory-llm-call-card.js +14 -0
  534. package/components/composites/trajectories/trajectory-pipeline-graph.d.ts +26 -0
  535. package/components/composites/trajectories/trajectory-pipeline-graph.d.ts.map +1 -0
  536. package/components/composites/trajectories/trajectory-pipeline-graph.js +46 -0
  537. package/components/composites/trajectories/trajectory-sidebar-item.d.ts +15 -0
  538. package/components/composites/trajectories/trajectory-sidebar-item.d.ts.map +1 -0
  539. package/components/composites/trajectories/trajectory-sidebar-item.js +8 -0
  540. package/components/config-ui/config-control-primitives.d.ts +14 -0
  541. package/components/config-ui/config-control-primitives.d.ts.map +1 -0
  542. package/components/config-ui/config-control-primitives.js +22 -0
  543. package/components/config-ui/config-field.d.ts +58 -0
  544. package/components/config-ui/config-field.d.ts.map +1 -0
  545. package/components/config-ui/config-field.js +874 -0
  546. package/components/config-ui/config-renderer.d.ts +164 -0
  547. package/components/config-ui/config-renderer.d.ts.map +1 -0
  548. package/components/config-ui/config-renderer.js +396 -0
  549. package/components/config-ui/index.d.ts +5 -0
  550. package/components/config-ui/index.d.ts.map +1 -0
  551. package/components/config-ui/index.js +4 -0
  552. package/components/config-ui/ui-renderer.d.ts +15 -0
  553. package/components/config-ui/ui-renderer.d.ts.map +1 -0
  554. package/components/config-ui/ui-renderer.js +826 -0
  555. package/components/connectors/BlueBubblesStatusPanel.d.ts +2 -0
  556. package/components/connectors/BlueBubblesStatusPanel.d.ts.map +1 -0
  557. package/components/connectors/BlueBubblesStatusPanel.js +61 -0
  558. package/components/connectors/ConnectorAccountAuditList.d.ts +8 -0
  559. package/components/connectors/ConnectorAccountAuditList.d.ts.map +1 -0
  560. package/components/connectors/ConnectorAccountAuditList.js +58 -0
  561. package/components/connectors/ConnectorAccountCard.d.ts +17 -0
  562. package/components/connectors/ConnectorAccountCard.d.ts.map +1 -0
  563. package/components/connectors/ConnectorAccountCard.js +80 -0
  564. package/components/connectors/ConnectorAccountList.d.ts +13 -0
  565. package/components/connectors/ConnectorAccountList.d.ts.map +1 -0
  566. package/components/connectors/ConnectorAccountList.js +82 -0
  567. package/components/connectors/ConnectorAccountPrivacySelector.d.ts +13 -0
  568. package/components/connectors/ConnectorAccountPrivacySelector.d.ts.map +1 -0
  569. package/components/connectors/ConnectorAccountPrivacySelector.js +66 -0
  570. package/components/connectors/ConnectorAccountPurposeSelector.d.ts +12 -0
  571. package/components/connectors/ConnectorAccountPurposeSelector.d.ts.map +1 -0
  572. package/components/connectors/ConnectorAccountPurposeSelector.js +51 -0
  573. package/components/connectors/ConnectorAccountSetupScope.d.ts +8 -0
  574. package/components/connectors/ConnectorAccountSetupScope.d.ts.map +1 -0
  575. package/components/connectors/ConnectorAccountSetupScope.js +25 -0
  576. package/components/connectors/ConnectorModeSelector.d.ts +37 -0
  577. package/components/connectors/ConnectorModeSelector.d.ts.map +1 -0
  578. package/components/connectors/ConnectorModeSelector.js +257 -0
  579. package/components/connectors/ConnectorSetupPanel.d.ts +12 -0
  580. package/components/connectors/ConnectorSetupPanel.d.ts.map +1 -0
  581. package/components/connectors/ConnectorSetupPanel.js +110 -0
  582. package/components/connectors/DiscordLocalConnectorPanel.d.ts +2 -0
  583. package/components/connectors/DiscordLocalConnectorPanel.d.ts.map +1 -0
  584. package/components/connectors/DiscordLocalConnectorPanel.js +249 -0
  585. package/components/connectors/IMessageStatusPanel.d.ts +2 -0
  586. package/components/connectors/IMessageStatusPanel.d.ts.map +1 -0
  587. package/components/connectors/IMessageStatusPanel.js +63 -0
  588. package/components/connectors/SignalQrOverlay.d.ts +7 -0
  589. package/components/connectors/SignalQrOverlay.d.ts.map +1 -0
  590. package/components/connectors/SignalQrOverlay.js +64 -0
  591. package/components/connectors/TelegramAccountConnectorPanel.d.ts +2 -0
  592. package/components/connectors/TelegramAccountConnectorPanel.d.ts.map +1 -0
  593. package/components/connectors/TelegramAccountConnectorPanel.js +202 -0
  594. package/components/connectors/TelegramBotSetupPanel.d.ts +2 -0
  595. package/components/connectors/TelegramBotSetupPanel.d.ts.map +1 -0
  596. package/components/connectors/TelegramBotSetupPanel.js +81 -0
  597. package/components/connectors/WhatsAppQrOverlay.d.ts +9 -0
  598. package/components/connectors/WhatsAppQrOverlay.d.ts.map +1 -0
  599. package/components/connectors/WhatsAppQrOverlay.js +54 -0
  600. package/components/connectors/connector-account-options.d.ts +42 -0
  601. package/components/connectors/connector-account-options.d.ts.map +1 -0
  602. package/components/connectors/connector-account-options.js +209 -0
  603. package/components/conversations/ConversationRenameDialog.d.ts +9 -0
  604. package/components/conversations/ConversationRenameDialog.d.ts.map +1 -0
  605. package/components/conversations/ConversationRenameDialog.js +46 -0
  606. package/components/conversations/ConversationsSidebar.d.ts +9 -0
  607. package/components/conversations/ConversationsSidebar.d.ts.map +1 -0
  608. package/components/conversations/ConversationsSidebar.js +557 -0
  609. package/components/conversations/brand-icons.d.ts +12 -0
  610. package/components/conversations/brand-icons.d.ts.map +1 -0
  611. package/components/conversations/brand-icons.js +52 -0
  612. package/components/conversations/conversation-sidebar-model.d.ts +66 -0
  613. package/components/conversations/conversation-sidebar-model.d.ts.map +1 -0
  614. package/components/conversations/conversation-sidebar-model.js +343 -0
  615. package/components/conversations/conversation-utils.d.ts +9 -0
  616. package/components/conversations/conversation-utils.d.ts.map +1 -0
  617. package/components/conversations/conversation-utils.js +144 -0
  618. package/components/custom-actions/CustomActionEditor.d.ts +10 -0
  619. package/components/custom-actions/CustomActionEditor.d.ts.map +1 -0
  620. package/components/custom-actions/CustomActionEditor.js +385 -0
  621. package/components/custom-actions/CustomActionsPanel.d.ts +9 -0
  622. package/components/custom-actions/CustomActionsPanel.d.ts.map +1 -0
  623. package/components/custom-actions/CustomActionsPanel.js +158 -0
  624. package/components/custom-actions/CustomActionsView.d.ts +2 -0
  625. package/components/custom-actions/CustomActionsView.d.ts.map +1 -0
  626. package/components/custom-actions/CustomActionsView.js +144 -0
  627. package/components/custom-actions/custom-action-form.d.ts +44 -0
  628. package/components/custom-actions/custom-action-form.d.ts.map +1 -0
  629. package/components/custom-actions/custom-action-form.js +237 -0
  630. package/components/index.d.ts +109 -0
  631. package/components/index.d.ts.map +1 -0
  632. package/components/index.js +110 -0
  633. package/components/local-inference/ActiveModelBar.d.ts +10 -0
  634. package/components/local-inference/ActiveModelBar.d.ts.map +1 -0
  635. package/components/local-inference/ActiveModelBar.js +19 -0
  636. package/components/local-inference/DeviceBridgeStatus.d.ts +2 -0
  637. package/components/local-inference/DeviceBridgeStatus.d.ts.map +1 -0
  638. package/components/local-inference/DeviceBridgeStatus.js +39 -0
  639. package/components/local-inference/DevicesPanel.d.ts +8 -0
  640. package/components/local-inference/DevicesPanel.d.ts.map +1 -0
  641. package/components/local-inference/DevicesPanel.js +44 -0
  642. package/components/local-inference/DownloadProgress.d.ts +7 -0
  643. package/components/local-inference/DownloadProgress.d.ts.map +1 -0
  644. package/components/local-inference/DownloadProgress.js +8 -0
  645. package/components/local-inference/DownloadQueue.d.ts +15 -0
  646. package/components/local-inference/DownloadQueue.d.ts.map +1 -0
  647. package/components/local-inference/DownloadQueue.js +21 -0
  648. package/components/local-inference/FirstRunOffer.d.ts +11 -0
  649. package/components/local-inference/FirstRunOffer.d.ts.map +1 -0
  650. package/components/local-inference/FirstRunOffer.js +39 -0
  651. package/components/local-inference/HardwareBadge.d.ts +7 -0
  652. package/components/local-inference/HardwareBadge.d.ts.map +1 -0
  653. package/components/local-inference/HardwareBadge.js +10 -0
  654. package/components/local-inference/HuggingFaceSearch.d.ts +22 -0
  655. package/components/local-inference/HuggingFaceSearch.d.ts.map +1 -0
  656. package/components/local-inference/HuggingFaceSearch.js +68 -0
  657. package/components/local-inference/LocalInferencePanel.d.ts +5 -0
  658. package/components/local-inference/LocalInferencePanel.d.ts.map +1 -0
  659. package/components/local-inference/LocalInferencePanel.js +225 -0
  660. package/components/local-inference/ModelCard.d.ts +20 -0
  661. package/components/local-inference/ModelCard.d.ts.map +1 -0
  662. package/components/local-inference/ModelCard.js +21 -0
  663. package/components/local-inference/ModelHubView.d.ts +18 -0
  664. package/components/local-inference/ModelHubView.d.ts.map +1 -0
  665. package/components/local-inference/ModelHubView.js +40 -0
  666. package/components/local-inference/ProvidersList.d.ts +2 -0
  667. package/components/local-inference/ProvidersList.d.ts.map +1 -0
  668. package/components/local-inference/ProvidersList.js +51 -0
  669. package/components/local-inference/RoutingMatrix.d.ts +2 -0
  670. package/components/local-inference/RoutingMatrix.d.ts.map +1 -0
  671. package/components/local-inference/RoutingMatrix.js +98 -0
  672. package/components/local-inference/SlotAssignments.d.ts +15 -0
  673. package/components/local-inference/SlotAssignments.d.ts.map +1 -0
  674. package/components/local-inference/SlotAssignments.js +48 -0
  675. package/components/local-inference/hub-utils.d.ts +27 -0
  676. package/components/local-inference/hub-utils.d.ts.map +1 -0
  677. package/components/local-inference/hub-utils.js +87 -0
  678. package/components/onboarding/BootstrapStep.d.ts +35 -0
  679. package/components/onboarding/BootstrapStep.d.ts.map +1 -0
  680. package/components/onboarding/BootstrapStep.js +151 -0
  681. package/components/onboarding/PasswordSetupStep.d.ts +28 -0
  682. package/components/onboarding/PasswordSetupStep.d.ts.map +1 -0
  683. package/components/onboarding/PasswordSetupStep.js +82 -0
  684. package/components/onboarding/onboarding-form-primitives.d.ts +54 -0
  685. package/components/onboarding/onboarding-form-primitives.d.ts.map +1 -0
  686. package/components/onboarding/onboarding-form-primitives.js +55 -0
  687. package/components/onboarding/onboarding-step-chrome.d.ts +40 -0
  688. package/components/onboarding/onboarding-step-chrome.d.ts.map +1 -0
  689. package/components/onboarding/onboarding-step-chrome.js +74 -0
  690. package/components/pages/AppDetailsView.d.ts +34 -0
  691. package/components/pages/AppDetailsView.d.ts.map +1 -0
  692. package/components/pages/AppDetailsView.js +350 -0
  693. package/components/pages/AppsPageView.d.ts +12 -0
  694. package/components/pages/AppsPageView.d.ts.map +1 -0
  695. package/components/pages/AppsPageView.js +58 -0
  696. package/components/pages/AppsView.d.ts +3 -0
  697. package/components/pages/AppsView.d.ts.map +1 -0
  698. package/components/pages/AppsView.js +840 -0
  699. package/components/pages/AutomationsChatPane.d.ts +19 -0
  700. package/components/pages/AutomationsChatPane.d.ts.map +1 -0
  701. package/components/pages/AutomationsChatPane.js +15 -0
  702. package/components/pages/AutomationsFeed.d.ts +38 -0
  703. package/components/pages/AutomationsFeed.d.ts.map +1 -0
  704. package/components/pages/AutomationsFeed.js +278 -0
  705. package/components/pages/BrowserWorkspaceView.d.ts +17 -0
  706. package/components/pages/BrowserWorkspaceView.d.ts.map +1 -0
  707. package/components/pages/BrowserWorkspaceView.js +1586 -0
  708. package/components/pages/ChatModalView.d.ts +13 -0
  709. package/components/pages/ChatModalView.d.ts.map +1 -0
  710. package/components/pages/ChatModalView.js +17 -0
  711. package/components/pages/ChatPanelLayout.d.ts +11 -0
  712. package/components/pages/ChatPanelLayout.d.ts.map +1 -0
  713. package/components/pages/ChatPanelLayout.js +37 -0
  714. package/components/pages/ChatView.d.ts +24 -0
  715. package/components/pages/ChatView.d.ts.map +1 -0
  716. package/components/pages/ChatView.js +630 -0
  717. package/components/pages/ConfigPageView.d.ts +12 -0
  718. package/components/pages/ConfigPageView.d.ts.map +1 -0
  719. package/components/pages/ConfigPageView.js +297 -0
  720. package/components/pages/ConnectorsPageView.d.ts +8 -0
  721. package/components/pages/ConnectorsPageView.d.ts.map +1 -0
  722. package/components/pages/ConnectorsPageView.js +8 -0
  723. package/components/pages/DatabasePageView.d.ts +5 -0
  724. package/components/pages/DatabasePageView.d.ts.map +1 -0
  725. package/components/pages/DatabasePageView.js +33 -0
  726. package/components/pages/DatabaseView.d.ts +6 -0
  727. package/components/pages/DatabaseView.d.ts.map +1 -0
  728. package/components/pages/DatabaseView.js +247 -0
  729. package/components/pages/DocumentsView.d.ts +12 -0
  730. package/components/pages/DocumentsView.d.ts.map +1 -0
  731. package/components/pages/DocumentsView.js +660 -0
  732. package/components/pages/ElizaCloudDashboard.d.ts +2 -0
  733. package/components/pages/ElizaCloudDashboard.d.ts.map +1 -0
  734. package/components/pages/ElizaCloudDashboard.js +486 -0
  735. package/components/pages/ElizaOsAppsView.d.ts +4 -0
  736. package/components/pages/ElizaOsAppsView.d.ts.map +1 -0
  737. package/components/pages/ElizaOsAppsView.js +618 -0
  738. package/components/pages/HeartbeatForm.d.ts +56 -0
  739. package/components/pages/HeartbeatForm.d.ts.map +1 -0
  740. package/components/pages/HeartbeatForm.js +215 -0
  741. package/components/pages/HeartbeatsView.d.ts +3 -0
  742. package/components/pages/HeartbeatsView.d.ts.map +1 -0
  743. package/components/pages/HeartbeatsView.js +399 -0
  744. package/components/pages/HomePlaceholderView.d.ts +16 -0
  745. package/components/pages/HomePlaceholderView.d.ts.map +1 -0
  746. package/components/pages/HomePlaceholderView.js +17 -0
  747. package/components/pages/LogsView.d.ts +12 -0
  748. package/components/pages/LogsView.d.ts.map +1 -0
  749. package/components/pages/LogsView.js +90 -0
  750. package/components/pages/MediaGalleryView.d.ts +6 -0
  751. package/components/pages/MediaGalleryView.d.ts.map +1 -0
  752. package/components/pages/MediaGalleryView.js +273 -0
  753. package/components/pages/MemoryDetailPanel.d.ts +5 -0
  754. package/components/pages/MemoryDetailPanel.d.ts.map +1 -0
  755. package/components/pages/MemoryDetailPanel.js +17 -0
  756. package/components/pages/MemoryViewerView.d.ts +5 -0
  757. package/components/pages/MemoryViewerView.d.ts.map +1 -0
  758. package/components/pages/MemoryViewerView.js +234 -0
  759. package/components/pages/PageScopedChatPane.d.ts +51 -0
  760. package/components/pages/PageScopedChatPane.d.ts.map +1 -0
  761. package/components/pages/PageScopedChatPane.js +586 -0
  762. package/components/pages/PluginCard.d.ts +36 -0
  763. package/components/pages/PluginCard.d.ts.map +1 -0
  764. package/components/pages/PluginCard.js +128 -0
  765. package/components/pages/PluginConfigForm.d.ts +29 -0
  766. package/components/pages/PluginConfigForm.d.ts.map +1 -0
  767. package/components/pages/PluginConfigForm.js +133 -0
  768. package/components/pages/PluginsPageView.d.ts +9 -0
  769. package/components/pages/PluginsPageView.d.ts.map +1 -0
  770. package/components/pages/PluginsPageView.js +5 -0
  771. package/components/pages/PluginsView.d.ts +11 -0
  772. package/components/pages/PluginsView.d.ts.map +1 -0
  773. package/components/pages/PluginsView.js +813 -0
  774. package/components/pages/RelationshipsGraphPanel.d.ts +8 -0
  775. package/components/pages/RelationshipsGraphPanel.d.ts.map +1 -0
  776. package/components/pages/RelationshipsGraphPanel.js +696 -0
  777. package/components/pages/RelationshipsIdentityCluster.d.ts +5 -0
  778. package/components/pages/RelationshipsIdentityCluster.d.ts.map +1 -0
  779. package/components/pages/RelationshipsIdentityCluster.js +17 -0
  780. package/components/pages/RelationshipsView.d.ts +5 -0
  781. package/components/pages/RelationshipsView.d.ts.map +1 -0
  782. package/components/pages/RelationshipsView.js +5 -0
  783. package/components/pages/ReleaseCenterView.d.ts +2 -0
  784. package/components/pages/ReleaseCenterView.d.ts.map +1 -0
  785. package/components/pages/ReleaseCenterView.js +216 -0
  786. package/components/pages/RuntimeView.d.ts +5 -0
  787. package/components/pages/RuntimeView.d.ts.map +1 -0
  788. package/components/pages/RuntimeView.js +283 -0
  789. package/components/pages/SecretsView.d.ts +5 -0
  790. package/components/pages/SecretsView.d.ts.map +1 -0
  791. package/components/pages/SecretsView.js +245 -0
  792. package/components/pages/SettingsView.d.ts +6 -0
  793. package/components/pages/SettingsView.d.ts.map +1 -0
  794. package/components/pages/SettingsView.js +526 -0
  795. package/components/pages/SkillsView.d.ts +6 -0
  796. package/components/pages/SkillsView.d.ts.map +1 -0
  797. package/components/pages/SkillsView.js +205 -0
  798. package/components/pages/SqlEditorPanel.d.ts +13 -0
  799. package/components/pages/SqlEditorPanel.d.ts.map +1 -0
  800. package/components/pages/SqlEditorPanel.js +19 -0
  801. package/components/pages/StreamView.d.ts +4 -0
  802. package/components/pages/StreamView.d.ts.map +1 -0
  803. package/components/pages/StreamView.js +113 -0
  804. package/components/pages/TaskEditor.d.ts +39 -0
  805. package/components/pages/TaskEditor.d.ts.map +1 -0
  806. package/components/pages/TaskEditor.js +71 -0
  807. package/components/pages/TasksPageView.d.ts +2 -0
  808. package/components/pages/TasksPageView.d.ts.map +1 -0
  809. package/components/pages/TasksPageView.js +10 -0
  810. package/components/pages/TrajectoriesView.d.ts +9 -0
  811. package/components/pages/TrajectoriesView.d.ts.map +1 -0
  812. package/components/pages/TrajectoriesView.js +282 -0
  813. package/components/pages/TrajectoryDetailView.d.ts +7 -0
  814. package/components/pages/TrajectoryDetailView.d.ts.map +1 -0
  815. package/components/pages/TrajectoryDetailView.js +410 -0
  816. package/components/pages/VectorBrowserView.d.ts +13 -0
  817. package/components/pages/VectorBrowserView.d.ts.map +1 -0
  818. package/components/pages/VectorBrowserView.js +863 -0
  819. package/components/pages/WorkflowEditor.d.ts +26 -0
  820. package/components/pages/WorkflowEditor.d.ts.map +1 -0
  821. package/components/pages/WorkflowEditor.js +156 -0
  822. package/components/pages/WorkflowGraphViewer.d.ts +13 -0
  823. package/components/pages/WorkflowGraphViewer.d.ts.map +1 -0
  824. package/components/pages/WorkflowGraphViewer.js +378 -0
  825. package/components/pages/automation-conversations.d.ts +16 -0
  826. package/components/pages/automation-conversations.d.ts.map +1 -0
  827. package/components/pages/automation-conversations.js +204 -0
  828. package/components/pages/automations-missing-creds.d.ts +25 -0
  829. package/components/pages/automations-missing-creds.d.ts.map +1 -0
  830. package/components/pages/automations-missing-creds.js +39 -0
  831. package/components/pages/browser-wallet-consent-format.d.ts +20 -0
  832. package/components/pages/browser-wallet-consent-format.d.ts.map +1 -0
  833. package/components/pages/browser-wallet-consent-format.js +76 -0
  834. package/components/pages/browser-workspace-wallet.d.ts +80 -0
  835. package/components/pages/browser-workspace-wallet.d.ts.map +1 -0
  836. package/components/pages/browser-workspace-wallet.js +135 -0
  837. package/components/pages/chat-view-hooks.d.ts +65 -0
  838. package/components/pages/chat-view-hooks.d.ts.map +1 -0
  839. package/components/pages/chat-view-hooks.js +531 -0
  840. package/components/pages/cloud-dashboard-utils.d.ts +91 -0
  841. package/components/pages/cloud-dashboard-utils.d.ts.map +1 -0
  842. package/components/pages/cloud-dashboard-utils.js +284 -0
  843. package/components/pages/config-page-sections.d.ts +86 -0
  844. package/components/pages/config-page-sections.d.ts.map +1 -0
  845. package/components/pages/config-page-sections.js +205 -0
  846. package/components/pages/database-utils.d.ts +30 -0
  847. package/components/pages/database-utils.d.ts.map +1 -0
  848. package/components/pages/database-utils.js +133 -0
  849. package/components/pages/documents-detail.d.ts +9 -0
  850. package/components/pages/documents-detail.d.ts.map +1 -0
  851. package/components/pages/documents-detail.js +168 -0
  852. package/components/pages/documents-upload.d.ts +31 -0
  853. package/components/pages/documents-upload.d.ts.map +1 -0
  854. package/components/pages/documents-upload.js +178 -0
  855. package/components/pages/heartbeat-utils.d.ts +105 -0
  856. package/components/pages/heartbeat-utils.d.ts.map +1 -0
  857. package/components/pages/heartbeat-utils.js +368 -0
  858. package/components/pages/page-scoped-conversations.d.ts +62 -0
  859. package/components/pages/page-scoped-conversations.d.ts.map +1 -0
  860. package/components/pages/page-scoped-conversations.js +271 -0
  861. package/components/pages/plugin-list-utils.d.ts +67 -0
  862. package/components/pages/plugin-list-utils.d.ts.map +1 -0
  863. package/components/pages/plugin-list-utils.js +665 -0
  864. package/components/pages/plugin-view-connectors.d.ts +57 -0
  865. package/components/pages/plugin-view-connectors.d.ts.map +1 -0
  866. package/components/pages/plugin-view-connectors.js +371 -0
  867. package/components/pages/plugin-view-dialogs.d.ts +36 -0
  868. package/components/pages/plugin-view-dialogs.d.ts.map +1 -0
  869. package/components/pages/plugin-view-dialogs.js +63 -0
  870. package/components/pages/plugin-view-modal.d.ts +34 -0
  871. package/components/pages/plugin-view-modal.d.ts.map +1 -0
  872. package/components/pages/plugin-view-modal.js +29 -0
  873. package/components/pages/plugin-view-sidebar.d.ts +36 -0
  874. package/components/pages/plugin-view-sidebar.d.ts.map +1 -0
  875. package/components/pages/plugin-view-sidebar.js +42 -0
  876. package/components/pages/relationships/RelationshipsActivityFeed.d.ts +2 -0
  877. package/components/pages/relationships/RelationshipsActivityFeed.d.ts.map +1 -0
  878. package/components/pages/relationships/RelationshipsActivityFeed.js +85 -0
  879. package/components/pages/relationships/RelationshipsCandidateMergesPanel.d.ts +6 -0
  880. package/components/pages/relationships/RelationshipsCandidateMergesPanel.d.ts.map +1 -0
  881. package/components/pages/relationships/RelationshipsCandidateMergesPanel.js +73 -0
  882. package/components/pages/relationships/RelationshipsPersonPanels.d.ts +30 -0
  883. package/components/pages/relationships/RelationshipsPersonPanels.d.ts.map +1 -0
  884. package/components/pages/relationships/RelationshipsPersonPanels.js +319 -0
  885. package/components/pages/relationships/RelationshipsSidebar.d.ts +10 -0
  886. package/components/pages/relationships/RelationshipsSidebar.d.ts.map +1 -0
  887. package/components/pages/relationships/RelationshipsSidebar.js +16 -0
  888. package/components/pages/relationships/RelationshipsWorkspaceView.d.ts +7 -0
  889. package/components/pages/relationships/RelationshipsWorkspaceView.d.ts.map +1 -0
  890. package/components/pages/relationships/RelationshipsWorkspaceView.js +130 -0
  891. package/components/pages/relationships/relationships-utils.d.ts +16 -0
  892. package/components/pages/relationships/relationships-utils.d.ts.map +1 -0
  893. package/components/pages/relationships/relationships-utils.js +105 -0
  894. package/components/pages/skill-detail-panel.d.ts +13 -0
  895. package/components/pages/skill-detail-panel.d.ts.map +1 -0
  896. package/components/pages/skill-detail-panel.js +161 -0
  897. package/components/pages/skill-marketplace.d.ts +38 -0
  898. package/components/pages/skill-marketplace.d.ts.map +1 -0
  899. package/components/pages/skill-marketplace.js +114 -0
  900. package/components/pages/useBrowserWorkspaceWalletBridge.d.ts +43 -0
  901. package/components/pages/useBrowserWorkspaceWalletBridge.d.ts.map +1 -0
  902. package/components/pages/useBrowserWorkspaceWalletBridge.js +362 -0
  903. package/components/pages/vector-browser-utils.d.ts +50 -0
  904. package/components/pages/vector-browser-utils.d.ts.map +1 -0
  905. package/components/pages/vector-browser-utils.js +243 -0
  906. package/components/pages/workflow-graph-events.d.ts +15 -0
  907. package/components/pages/workflow-graph-events.d.ts.map +1 -0
  908. package/components/pages/workflow-graph-events.js +17 -0
  909. package/components/permissions/PermissionIcon.d.ts +4 -0
  910. package/components/permissions/PermissionIcon.d.ts.map +1 -0
  911. package/components/permissions/PermissionIcon.js +22 -0
  912. package/components/permissions/StreamingPermissions.d.ts +21 -0
  913. package/components/permissions/StreamingPermissions.d.ts.map +1 -0
  914. package/components/permissions/StreamingPermissions.js +255 -0
  915. package/components/plugins/showcase-data.d.ts +4 -0
  916. package/components/plugins/showcase-data.d.ts.map +1 -0
  917. package/components/plugins/showcase-data.js +461 -0
  918. package/components/policy-controls/ApprovedAddressesSection.d.ts +7 -0
  919. package/components/policy-controls/ApprovedAddressesSection.d.ts.map +1 -0
  920. package/components/policy-controls/ApprovedAddressesSection.js +74 -0
  921. package/components/policy-controls/AutoApproveSection.d.ts +7 -0
  922. package/components/policy-controls/AutoApproveSection.d.ts.map +1 -0
  923. package/components/policy-controls/AutoApproveSection.js +14 -0
  924. package/components/policy-controls/PolicyToggle.d.ts +15 -0
  925. package/components/policy-controls/PolicyToggle.d.ts.map +1 -0
  926. package/components/policy-controls/PolicyToggle.js +12 -0
  927. package/components/policy-controls/RateLimitSection.d.ts +7 -0
  928. package/components/policy-controls/RateLimitSection.d.ts.map +1 -0
  929. package/components/policy-controls/RateLimitSection.js +11 -0
  930. package/components/policy-controls/SpendingLimitSection.d.ts +7 -0
  931. package/components/policy-controls/SpendingLimitSection.d.ts.map +1 -0
  932. package/components/policy-controls/SpendingLimitSection.js +15 -0
  933. package/components/policy-controls/TimeWindowSection.d.ts +7 -0
  934. package/components/policy-controls/TimeWindowSection.d.ts.map +1 -0
  935. package/components/policy-controls/TimeWindowSection.js +40 -0
  936. package/components/policy-controls/constants.d.ts +11 -0
  937. package/components/policy-controls/constants.d.ts.map +1 -0
  938. package/components/policy-controls/constants.js +41 -0
  939. package/components/policy-controls/helpers.d.ts +13 -0
  940. package/components/policy-controls/helpers.d.ts.map +1 -0
  941. package/components/policy-controls/helpers.js +43 -0
  942. package/components/policy-controls/index.d.ts +10 -0
  943. package/components/policy-controls/index.d.ts.map +1 -0
  944. package/components/policy-controls/index.js +9 -0
  945. package/components/policy-controls/types.d.ts +58 -0
  946. package/components/policy-controls/types.d.ts.map +1 -0
  947. package/components/policy-controls/types.js +7 -0
  948. package/components/primitives/index.d.ts +24 -0
  949. package/components/primitives/index.d.ts.map +1 -0
  950. package/components/primitives/index.js +23 -0
  951. package/components/release-center/sections.d.ts +49 -0
  952. package/components/release-center/sections.d.ts.map +1 -0
  953. package/components/release-center/sections.js +79 -0
  954. package/components/release-center/shared.d.ts +13 -0
  955. package/components/release-center/shared.d.ts.map +1 -0
  956. package/components/release-center/shared.js +38 -0
  957. package/components/release-center/types.d.ts +79 -0
  958. package/components/release-center/types.d.ts.map +1 -0
  959. package/components/release-center/types.js +5 -0
  960. package/components/settings/ApiKeyConfig.d.ts +36 -0
  961. package/components/settings/ApiKeyConfig.d.ts.map +1 -0
  962. package/components/settings/ApiKeyConfig.js +148 -0
  963. package/components/settings/AppearanceSettingsSection.d.ts +2 -0
  964. package/components/settings/AppearanceSettingsSection.d.ts.map +1 -0
  965. package/components/settings/AppearanceSettingsSection.js +253 -0
  966. package/components/settings/AppsManagementSection.d.ts +12 -0
  967. package/components/settings/AppsManagementSection.d.ts.map +1 -0
  968. package/components/settings/AppsManagementSection.js +285 -0
  969. package/components/settings/CapabilitiesSection.d.ts +2 -0
  970. package/components/settings/CapabilitiesSection.d.ts.map +1 -0
  971. package/components/settings/CapabilitiesSection.js +97 -0
  972. package/components/settings/CloudInstancePanel.d.ts +2 -0
  973. package/components/settings/CloudInstancePanel.d.ts.map +1 -0
  974. package/components/settings/CloudInstancePanel.js +48 -0
  975. package/components/settings/DesktopWorkspaceSection.d.ts +7 -0
  976. package/components/settings/DesktopWorkspaceSection.d.ts.map +1 -0
  977. package/components/settings/DesktopWorkspaceSection.js +503 -0
  978. package/components/settings/IdentitySettingsSection.d.ts +2 -0
  979. package/components/settings/IdentitySettingsSection.d.ts.map +1 -0
  980. package/components/settings/IdentitySettingsSection.js +310 -0
  981. package/components/settings/PermissionsSection.d.ts +2 -0
  982. package/components/settings/PermissionsSection.d.ts.map +1 -0
  983. package/components/settings/PermissionsSection.js +156 -0
  984. package/components/settings/PolicyControlsView.d.ts +2 -0
  985. package/components/settings/PolicyControlsView.d.ts.map +1 -0
  986. package/components/settings/PolicyControlsView.js +232 -0
  987. package/components/settings/ProviderSwitcher.d.ts +22 -0
  988. package/components/settings/ProviderSwitcher.d.ts.map +1 -0
  989. package/components/settings/ProviderSwitcher.js +657 -0
  990. package/components/settings/RuntimeSettingsSection.d.ts +10 -0
  991. package/components/settings/RuntimeSettingsSection.d.ts.map +1 -0
  992. package/components/settings/RuntimeSettingsSection.js +173 -0
  993. package/components/settings/SecretsManagerSection.d.ts +21 -0
  994. package/components/settings/SecretsManagerSection.d.ts.map +1 -0
  995. package/components/settings/SecretsManagerSection.js +339 -0
  996. package/components/settings/SecuritySettingsSection.d.ts +2 -0
  997. package/components/settings/SecuritySettingsSection.d.ts.map +1 -0
  998. package/components/settings/SecuritySettingsSection.js +381 -0
  999. package/components/settings/SubscriptionStatus.d.ts +33 -0
  1000. package/components/settings/SubscriptionStatus.d.ts.map +1 -0
  1001. package/components/settings/SubscriptionStatus.js +291 -0
  1002. package/components/settings/VaultInventoryPanel.d.ts +61 -0
  1003. package/components/settings/VaultInventoryPanel.d.ts.map +1 -0
  1004. package/components/settings/VaultInventoryPanel.js +283 -0
  1005. package/components/settings/VoiceConfigView.d.ts +5 -0
  1006. package/components/settings/VoiceConfigView.d.ts.map +1 -0
  1007. package/components/settings/VoiceConfigView.js +505 -0
  1008. package/components/settings/WalletKeysSection.d.ts +19 -0
  1009. package/components/settings/WalletKeysSection.d.ts.map +1 -0
  1010. package/components/settings/WalletKeysSection.js +167 -0
  1011. package/components/settings/cloud-model-schema.d.ts +26 -0
  1012. package/components/settings/cloud-model-schema.d.ts.map +1 -0
  1013. package/components/settings/cloud-model-schema.js +108 -0
  1014. package/components/settings/permission-controls.d.ts +37 -0
  1015. package/components/settings/permission-controls.d.ts.map +1 -0
  1016. package/components/settings/permission-controls.js +480 -0
  1017. package/components/settings/permission-types.d.ts +44 -0
  1018. package/components/settings/permission-types.d.ts.map +1 -0
  1019. package/components/settings/permission-types.js +319 -0
  1020. package/components/settings/settings-control-primitives.d.ts +11 -0
  1021. package/components/settings/settings-control-primitives.d.ts.map +1 -0
  1022. package/components/settings/settings-control-primitives.js +14 -0
  1023. package/components/settings/vault-tabs/LoginsTab.d.ts +9 -0
  1024. package/components/settings/vault-tabs/LoginsTab.d.ts.map +1 -0
  1025. package/components/settings/vault-tabs/LoginsTab.js +189 -0
  1026. package/components/settings/vault-tabs/OverviewTab.d.ts +60 -0
  1027. package/components/settings/vault-tabs/OverviewTab.d.ts.map +1 -0
  1028. package/components/settings/vault-tabs/OverviewTab.js +260 -0
  1029. package/components/settings/vault-tabs/RoutingTab.d.ts +22 -0
  1030. package/components/settings/vault-tabs/RoutingTab.d.ts.map +1 -0
  1031. package/components/settings/vault-tabs/RoutingTab.js +175 -0
  1032. package/components/settings/vault-tabs/SecretsTab.d.ts +17 -0
  1033. package/components/settings/vault-tabs/SecretsTab.d.ts.map +1 -0
  1034. package/components/settings/vault-tabs/SecretsTab.js +11 -0
  1035. package/components/settings/vault-tabs/types.d.ts +105 -0
  1036. package/components/settings/vault-tabs/types.d.ts.map +1 -0
  1037. package/components/settings/vault-tabs/types.js +8 -0
  1038. package/components/shared/AppPageSidebar.d.ts +12 -0
  1039. package/components/shared/AppPageSidebar.d.ts.map +1 -0
  1040. package/components/shared/AppPageSidebar.js +119 -0
  1041. package/components/shared/CollapsibleSidebarSection.d.ts +19 -0
  1042. package/components/shared/CollapsibleSidebarSection.d.ts.map +1 -0
  1043. package/components/shared/CollapsibleSidebarSection.js +12 -0
  1044. package/components/shared/LanguageDropdown.d.ts +24 -0
  1045. package/components/shared/LanguageDropdown.d.ts.map +1 -0
  1046. package/components/shared/LanguageDropdown.js +37 -0
  1047. package/components/shared/ThemeToggle.d.ts +14 -0
  1048. package/components/shared/ThemeToggle.d.ts.map +1 -0
  1049. package/components/shared/ThemeToggle.js +14 -0
  1050. package/components/shared/confirm-delete-control.d.ts +19 -0
  1051. package/components/shared/confirm-delete-control.d.ts.map +1 -0
  1052. package/components/shared/confirm-delete-control.js +19 -0
  1053. package/components/shell/BugReportModal.d.ts +2 -0
  1054. package/components/shell/BugReportModal.d.ts.map +1 -0
  1055. package/components/shell/BugReportModal.js +366 -0
  1056. package/components/shell/CommandPalette.d.ts +2 -0
  1057. package/components/shell/CommandPalette.d.ts.map +1 -0
  1058. package/components/shell/CommandPalette.js +185 -0
  1059. package/components/shell/ComputerUseApprovalOverlay.d.ts +2 -0
  1060. package/components/shell/ComputerUseApprovalOverlay.d.ts.map +1 -0
  1061. package/components/shell/ComputerUseApprovalOverlay.js +171 -0
  1062. package/components/shell/ConnectionFailedBanner.d.ts +6 -0
  1063. package/components/shell/ConnectionFailedBanner.d.ts.map +1 -0
  1064. package/components/shell/ConnectionFailedBanner.js +23 -0
  1065. package/components/shell/ConnectionLostOverlay.d.ts +2 -0
  1066. package/components/shell/ConnectionLostOverlay.d.ts.map +1 -0
  1067. package/components/shell/ConnectionLostOverlay.js +49 -0
  1068. package/components/shell/DnaLoader.d.ts +8 -0
  1069. package/components/shell/DnaLoader.d.ts.map +1 -0
  1070. package/components/shell/DnaLoader.js +50 -0
  1071. package/components/shell/Header.d.ts +12 -0
  1072. package/components/shell/Header.d.ts.map +1 -0
  1073. package/components/shell/Header.js +316 -0
  1074. package/components/shell/LoadingScreen.d.ts +13 -0
  1075. package/components/shell/LoadingScreen.d.ts.map +1 -0
  1076. package/components/shell/LoadingScreen.js +86 -0
  1077. package/components/shell/PairingCommandHint.d.ts +4 -0
  1078. package/components/shell/PairingCommandHint.d.ts.map +1 -0
  1079. package/components/shell/PairingCommandHint.js +68 -0
  1080. package/components/shell/PairingView.d.ts +2 -0
  1081. package/components/shell/PairingView.d.ts.map +1 -0
  1082. package/components/shell/PairingView.js +43 -0
  1083. package/components/shell/RestartBanner.d.ts +2 -0
  1084. package/components/shell/RestartBanner.d.ts.map +1 -0
  1085. package/components/shell/RestartBanner.js +39 -0
  1086. package/components/shell/RuntimeGate.d.ts +51 -0
  1087. package/components/shell/RuntimeGate.d.ts.map +1 -0
  1088. package/components/shell/RuntimeGate.js +1293 -0
  1089. package/components/shell/ShellHeaderControls.d.ts +44 -0
  1090. package/components/shell/ShellHeaderControls.d.ts.map +1 -0
  1091. package/components/shell/ShellHeaderControls.js +80 -0
  1092. package/components/shell/ShellOverlays.d.ts +5 -0
  1093. package/components/shell/ShellOverlays.d.ts.map +1 -0
  1094. package/components/shell/ShellOverlays.js +15 -0
  1095. package/components/shell/ShortcutsOverlay.d.ts +2 -0
  1096. package/components/shell/ShortcutsOverlay.d.ts.map +1 -0
  1097. package/components/shell/ShortcutsOverlay.js +58 -0
  1098. package/components/shell/SplashServerChooser.d.ts +14 -0
  1099. package/components/shell/SplashServerChooser.d.ts.map +1 -0
  1100. package/components/shell/SplashServerChooser.js +23 -0
  1101. package/components/shell/StartupFailureView.d.ts +8 -0
  1102. package/components/shell/StartupFailureView.d.ts.map +1 -0
  1103. package/components/shell/StartupFailureView.js +148 -0
  1104. package/components/shell/StartupShell.d.ts +12 -0
  1105. package/components/shell/StartupShell.d.ts.map +1 -0
  1106. package/components/shell/StartupShell.js +234 -0
  1107. package/components/shell/SystemWarningBanner.d.ts +6 -0
  1108. package/components/shell/SystemWarningBanner.d.ts.map +1 -0
  1109. package/components/shell/SystemWarningBanner.js +44 -0
  1110. package/components/shell/onboarding-theme.d.ts +6 -0
  1111. package/components/shell/onboarding-theme.d.ts.map +1 -0
  1112. package/components/shell/onboarding-theme.js +29 -0
  1113. package/components/shell/pairing-command.d.ts +9 -0
  1114. package/components/shell/pairing-command.d.ts.map +1 -0
  1115. package/components/shell/pairing-command.js +48 -0
  1116. package/components/steward/injected.d.ts +5 -0
  1117. package/components/steward/injected.d.ts.map +1 -0
  1118. package/components/steward/injected.js +14 -0
  1119. package/components/stream/StatusBar.d.ts +10 -0
  1120. package/components/stream/StatusBar.d.ts.map +1 -0
  1121. package/components/stream/StatusBar.js +65 -0
  1122. package/components/stream/helpers.d.ts +15 -0
  1123. package/components/stream/helpers.d.ts.map +1 -0
  1124. package/components/stream/helpers.js +16 -0
  1125. package/components/tool-events/ToolCallEventLog.d.ts +10 -0
  1126. package/components/tool-events/ToolCallEventLog.d.ts.map +1 -0
  1127. package/components/tool-events/ToolCallEventLog.js +81 -0
  1128. package/components/training/InferenceEndpointPanel.d.ts +2 -0
  1129. package/components/training/InferenceEndpointPanel.d.ts.map +1 -0
  1130. package/components/training/InferenceEndpointPanel.js +63 -0
  1131. package/components/training/JobDetailPanel.d.ts +7 -0
  1132. package/components/training/JobDetailPanel.d.ts.map +1 -0
  1133. package/components/training/JobDetailPanel.js +74 -0
  1134. package/components/training/TrainingDashboard.d.ts +2 -0
  1135. package/components/training/TrainingDashboard.d.ts.map +1 -0
  1136. package/components/training/TrainingDashboard.js +86 -0
  1137. package/components/training/hooks/useTrainingApi.d.ts +59 -0
  1138. package/components/training/hooks/useTrainingApi.d.ts.map +1 -0
  1139. package/components/training/hooks/useTrainingApi.js +343 -0
  1140. package/components/training/injected.d.ts +3 -0
  1141. package/components/training/injected.d.ts.map +1 -0
  1142. package/components/training/injected.js +8 -0
  1143. package/components/training/types.d.ts +56 -0
  1144. package/components/training/types.d.ts.map +1 -0
  1145. package/components/training/types.js +1 -0
  1146. package/components/ui/admin-dialog.d.ts +50 -0
  1147. package/components/ui/admin-dialog.d.ts.map +1 -0
  1148. package/components/ui/admin-dialog.js +48 -0
  1149. package/components/ui/badge.d.ts +1 -1
  1150. package/components/ui/badge.d.ts.map +1 -1
  1151. package/components/ui/badge.js +1 -1
  1152. package/components/ui/banner.d.ts +1 -1
  1153. package/components/ui/banner.d.ts.map +1 -1
  1154. package/components/ui/banner.js +3 -2
  1155. package/components/ui/button.d.ts +1 -1
  1156. package/components/ui/button.d.ts.map +1 -1
  1157. package/components/ui/button.js +13 -11
  1158. package/components/ui/card.d.ts +8 -2
  1159. package/components/ui/card.d.ts.map +1 -1
  1160. package/components/ui/card.js +18 -3
  1161. package/components/ui/checkbox.d.ts.map +1 -1
  1162. package/components/ui/checkbox.js +1 -1
  1163. package/components/ui/confirm-delete.d.ts +9 -1
  1164. package/components/ui/confirm-delete.d.ts.map +1 -1
  1165. package/components/ui/confirm-delete.js +8 -5
  1166. package/components/ui/confirm-dialog.d.ts +28 -4
  1167. package/components/ui/confirm-dialog.d.ts.map +1 -1
  1168. package/components/ui/confirm-dialog.js +59 -24
  1169. package/components/ui/connection-status.d.ts +6 -0
  1170. package/components/ui/connection-status.d.ts.map +1 -1
  1171. package/components/ui/connection-status.js +21 -21
  1172. package/components/ui/copy-button.d.ts.map +1 -1
  1173. package/components/ui/copy-button.js +1 -1
  1174. package/components/ui/dialog.d.ts +6 -1
  1175. package/components/ui/dialog.d.ts.map +1 -1
  1176. package/components/ui/dialog.js +5 -4
  1177. package/components/ui/drawer-sheet.d.ts +19 -0
  1178. package/components/ui/drawer-sheet.d.ts.map +1 -0
  1179. package/components/ui/drawer-sheet.js +21 -0
  1180. package/components/ui/dropdown-menu.d.ts.map +1 -1
  1181. package/components/ui/dropdown-menu.js +1 -1
  1182. package/components/ui/empty-state.d.ts.map +1 -1
  1183. package/components/ui/empty-state.js +1 -1
  1184. package/components/ui/error-boundary.d.ts +4 -0
  1185. package/components/ui/error-boundary.d.ts.map +1 -1
  1186. package/components/ui/error-boundary.js +2 -2
  1187. package/components/ui/field-switch.d.ts +8 -0
  1188. package/components/ui/field-switch.d.ts.map +1 -0
  1189. package/components/ui/field-switch.js +10 -0
  1190. package/components/ui/field.d.ts +12 -0
  1191. package/components/ui/field.d.ts.map +1 -0
  1192. package/components/ui/field.js +21 -0
  1193. package/components/ui/form-select.d.ts +14 -0
  1194. package/components/ui/form-select.d.ts.map +1 -0
  1195. package/components/ui/form-select.js +9 -0
  1196. package/components/ui/grid.d.ts +1 -1
  1197. package/components/ui/grid.d.ts.map +1 -1
  1198. package/components/ui/grid.js +1 -1
  1199. package/components/ui/input.d.ts +8 -2
  1200. package/components/ui/input.d.ts.map +1 -1
  1201. package/components/ui/input.js +24 -4
  1202. package/components/ui/label.d.ts +1 -2
  1203. package/components/ui/label.d.ts.map +1 -1
  1204. package/components/ui/label.js +3 -4
  1205. package/components/ui/new-action-button.d.ts +7 -0
  1206. package/components/ui/new-action-button.d.ts.map +1 -0
  1207. package/components/ui/new-action-button.js +13 -0
  1208. package/components/ui/popover.d.ts.map +1 -1
  1209. package/components/ui/popover.js +1 -1
  1210. package/components/ui/save-footer.d.ts.map +1 -1
  1211. package/components/ui/save-footer.js +3 -2
  1212. package/components/ui/section-card.d.ts.map +1 -1
  1213. package/components/ui/section-card.js +4 -3
  1214. package/components/ui/segmented-control.d.ts +18 -0
  1215. package/components/ui/segmented-control.d.ts.map +1 -0
  1216. package/components/ui/segmented-control.js +10 -0
  1217. package/components/ui/select.d.ts.map +1 -1
  1218. package/components/ui/select.js +8 -7
  1219. package/components/ui/separator.d.ts.map +1 -1
  1220. package/components/ui/separator.js +1 -1
  1221. package/components/ui/settings-controls.d.ts +41 -0
  1222. package/components/ui/settings-controls.d.ts.map +1 -0
  1223. package/components/ui/settings-controls.js +60 -0
  1224. package/components/ui/skeleton.d.ts +7 -14
  1225. package/components/ui/skeleton.d.ts.map +1 -1
  1226. package/components/ui/skeleton.js +9 -22
  1227. package/components/ui/slider.d.ts.map +1 -1
  1228. package/components/ui/slider.js +1 -1
  1229. package/components/ui/spinner.d.ts.map +1 -1
  1230. package/components/ui/spinner.js +1 -1
  1231. package/components/ui/stack.d.ts +3 -3
  1232. package/components/ui/stack.d.ts.map +1 -1
  1233. package/components/ui/stack.js +1 -1
  1234. package/components/ui/status-badge.d.ts +11 -10
  1235. package/components/ui/status-badge.d.ts.map +1 -1
  1236. package/components/ui/status-badge.js +59 -32
  1237. package/components/ui/switch.d.ts.map +1 -1
  1238. package/components/ui/switch.js +3 -3
  1239. package/components/ui/tabs.d.ts.map +1 -1
  1240. package/components/ui/tabs.js +1 -1
  1241. package/components/ui/tag-editor.d.ts +4 -16
  1242. package/components/ui/tag-editor.d.ts.map +1 -1
  1243. package/components/ui/tag-editor.js +31 -29
  1244. package/components/ui/textarea.d.ts +8 -2
  1245. package/components/ui/textarea.d.ts.map +1 -1
  1246. package/components/ui/textarea.js +24 -4
  1247. package/components/ui/tooltip-extended.d.ts +8 -68
  1248. package/components/ui/tooltip-extended.d.ts.map +1 -1
  1249. package/components/ui/tooltip-extended.js +15 -124
  1250. package/components/ui/tooltip.d.ts +10 -0
  1251. package/components/ui/tooltip.d.ts.map +1 -1
  1252. package/components/ui/tooltip.js +6 -3
  1253. package/components/ui/typography.d.ts +1 -1
  1254. package/components/ui/typography.d.ts.map +1 -1
  1255. package/components/ui/typography.js +2 -2
  1256. package/components/workspace/AppWorkspaceChrome.d.ts +62 -0
  1257. package/components/workspace/AppWorkspaceChrome.d.ts.map +1 -0
  1258. package/components/workspace/AppWorkspaceChrome.js +227 -0
  1259. package/config/allowed-hosts.d.ts +8 -0
  1260. package/config/allowed-hosts.d.ts.map +1 -0
  1261. package/config/allowed-hosts.js +43 -0
  1262. package/config/api-key-prefix-hints.d.ts +25 -0
  1263. package/config/api-key-prefix-hints.d.ts.map +1 -0
  1264. package/config/api-key-prefix-hints.js +26 -0
  1265. package/config/app-config.d.ts +273 -0
  1266. package/config/app-config.d.ts.map +1 -0
  1267. package/config/app-config.js +31 -0
  1268. package/config/boot-config-react.d.ts +5 -0
  1269. package/config/boot-config-react.d.ts.map +1 -0
  1270. package/config/boot-config-react.js +7 -0
  1271. package/config/boot-config-store.d.ts +265 -0
  1272. package/config/boot-config-store.d.ts.map +1 -0
  1273. package/config/boot-config-store.js +143 -0
  1274. package/config/boot-config.d.ts +6 -0
  1275. package/config/boot-config.d.ts.map +1 -0
  1276. package/config/boot-config.js +5 -0
  1277. package/config/branding-react.d.ts +4 -0
  1278. package/config/branding-react.d.ts.map +1 -0
  1279. package/config/branding-react.js +11 -0
  1280. package/config/branding.d.ts +69 -0
  1281. package/config/branding.d.ts.map +1 -0
  1282. package/config/branding.js +23 -0
  1283. package/config/cloud-only.d.ts +6 -0
  1284. package/config/cloud-only.d.ts.map +1 -0
  1285. package/config/cloud-only.js +15 -0
  1286. package/config/config-catalog.d.ts +371 -0
  1287. package/config/config-catalog.d.ts.map +1 -0
  1288. package/config/config-catalog.js +709 -0
  1289. package/config/index.d.ts +9 -0
  1290. package/config/index.d.ts.map +1 -0
  1291. package/config/index.js +11 -0
  1292. package/config/plugin-ui-spec.d.ts +42 -0
  1293. package/config/plugin-ui-spec.d.ts.map +1 -0
  1294. package/config/plugin-ui-spec.js +256 -0
  1295. package/config/ui-spec.d.ts +164 -0
  1296. package/config/ui-spec.d.ts.map +1 -0
  1297. package/config/ui-spec.js +13 -0
  1298. package/content-packs/apply-pack.d.ts +33 -0
  1299. package/content-packs/apply-pack.d.ts.map +1 -0
  1300. package/content-packs/apply-pack.js +96 -0
  1301. package/content-packs/bundled-packs.d.ts +14 -0
  1302. package/content-packs/bundled-packs.d.ts.map +1 -0
  1303. package/content-packs/bundled-packs.js +106 -0
  1304. package/content-packs/index.d.ts +4 -0
  1305. package/content-packs/index.d.ts.map +1 -0
  1306. package/content-packs/index.js +3 -0
  1307. package/content-packs/load-pack.d.ts +34 -0
  1308. package/content-packs/load-pack.d.ts.map +1 -0
  1309. package/content-packs/load-pack.js +151 -0
  1310. package/desktop-runtime/AppWindowRenderer.d.ts +17 -0
  1311. package/desktop-runtime/AppWindowRenderer.d.ts.map +1 -0
  1312. package/desktop-runtime/AppWindowRenderer.js +327 -0
  1313. package/desktop-runtime/DesktopOnboardingRuntime.d.ts +9 -0
  1314. package/desktop-runtime/DesktopOnboardingRuntime.d.ts.map +1 -0
  1315. package/desktop-runtime/DesktopOnboardingRuntime.js +10 -0
  1316. package/desktop-runtime/DesktopSurfaceNavigationRuntime.d.ts +2 -0
  1317. package/desktop-runtime/DesktopSurfaceNavigationRuntime.d.ts.map +1 -0
  1318. package/desktop-runtime/DesktopSurfaceNavigationRuntime.js +48 -0
  1319. package/desktop-runtime/DesktopTrayRuntime.d.ts +11 -0
  1320. package/desktop-runtime/DesktopTrayRuntime.d.ts.map +1 -0
  1321. package/desktop-runtime/DesktopTrayRuntime.js +265 -0
  1322. package/desktop-runtime/DetachedShellRoot.d.ts +10 -0
  1323. package/desktop-runtime/DetachedShellRoot.d.ts.map +1 -0
  1324. package/desktop-runtime/DetachedShellRoot.js +114 -0
  1325. package/desktop-runtime/index.d.ts +6 -0
  1326. package/desktop-runtime/index.d.ts.map +1 -0
  1327. package/desktop-runtime/index.js +5 -0
  1328. package/events/index.d.ts +62 -0
  1329. package/events/index.d.ts.map +1 -0
  1330. package/events/index.js +51 -0
  1331. package/hooks/index.d.ts +20 -0
  1332. package/hooks/index.d.ts.map +1 -0
  1333. package/hooks/index.js +19 -0
  1334. package/hooks/useAccounts.d.ts +41 -0
  1335. package/hooks/useAccounts.d.ts.map +1 -0
  1336. package/hooks/useAccounts.js +250 -0
  1337. package/hooks/useActivityEvents.d.ts +20 -0
  1338. package/hooks/useActivityEvents.d.ts.map +1 -0
  1339. package/hooks/useActivityEvents.js +145 -0
  1340. package/hooks/useAuthStatus.d.ts +49 -0
  1341. package/hooks/useAuthStatus.d.ts.map +1 -0
  1342. package/hooks/useAuthStatus.js +90 -0
  1343. package/hooks/useAutomationDeepLink.d.ts +29 -0
  1344. package/hooks/useAutomationDeepLink.d.ts.map +1 -0
  1345. package/hooks/useAutomationDeepLink.js +63 -0
  1346. package/hooks/useBugReport.d.ts +26 -0
  1347. package/hooks/useBugReport.d.ts.map +1 -0
  1348. package/hooks/useBugReport.js +28 -0
  1349. package/hooks/useChatAvatarVoiceBridge.d.ts +12 -0
  1350. package/hooks/useChatAvatarVoiceBridge.d.ts.map +1 -0
  1351. package/hooks/useChatAvatarVoiceBridge.js +21 -0
  1352. package/hooks/useConnectorAccounts.d.ts +39 -0
  1353. package/hooks/useConnectorAccounts.d.ts.map +1 -0
  1354. package/hooks/useConnectorAccounts.js +268 -0
  1355. package/hooks/useConnectorSendAsAccount.d.ts +28 -0
  1356. package/hooks/useConnectorSendAsAccount.d.ts.map +1 -0
  1357. package/hooks/useConnectorSendAsAccount.js +61 -0
  1358. package/hooks/useContextMenu.d.ts +17 -0
  1359. package/hooks/useContextMenu.d.ts.map +1 -0
  1360. package/hooks/useContextMenu.js +142 -0
  1361. package/hooks/useDebouncedValue.d.ts +7 -0
  1362. package/hooks/useDebouncedValue.d.ts.map +1 -0
  1363. package/hooks/useDebouncedValue.js +14 -0
  1364. package/hooks/useDocumentVisibility.d.ts +3 -0
  1365. package/hooks/useDocumentVisibility.d.ts.map +1 -0
  1366. package/hooks/useDocumentVisibility.js +28 -0
  1367. package/hooks/useKeyboardShortcuts.d.ts +22 -0
  1368. package/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  1369. package/hooks/useKeyboardShortcuts.js +64 -0
  1370. package/hooks/useLinkedSidebarSelection.d.ts +16 -0
  1371. package/hooks/useLinkedSidebarSelection.d.ts.map +1 -0
  1372. package/hooks/useLinkedSidebarSelection.js +117 -0
  1373. package/hooks/useMediaQuery.d.ts +4 -0
  1374. package/hooks/useMediaQuery.d.ts.map +1 -0
  1375. package/hooks/useMediaQuery.js +30 -0
  1376. package/hooks/useRenderGuard.d.ts +17 -0
  1377. package/hooks/useRenderGuard.d.ts.map +1 -0
  1378. package/hooks/useRenderGuard.js +36 -0
  1379. package/hooks/useRuntimeMode.d.ts +46 -0
  1380. package/hooks/useRuntimeMode.d.ts.map +1 -0
  1381. package/hooks/useRuntimeMode.js +81 -0
  1382. package/hooks/useSecretsManagerModal.d.ts +49 -0
  1383. package/hooks/useSecretsManagerModal.d.ts.map +1 -0
  1384. package/hooks/useSecretsManagerModal.js +101 -0
  1385. package/hooks/useSecretsManagerShortcut.d.ts +36 -0
  1386. package/hooks/useSecretsManagerShortcut.d.ts.map +1 -0
  1387. package/hooks/useSecretsManagerShortcut.js +80 -0
  1388. package/hooks/useSignalPairing.d.ts +12 -0
  1389. package/hooks/useSignalPairing.d.ts.map +1 -0
  1390. package/hooks/useSignalPairing.js +130 -0
  1391. package/hooks/useStreamPopoutNavigation.d.ts +3 -0
  1392. package/hooks/useStreamPopoutNavigation.d.ts.map +1 -0
  1393. package/hooks/useStreamPopoutNavigation.js +4 -0
  1394. package/hooks/useTimeout.d.ts +5 -0
  1395. package/hooks/useTimeout.d.ts.map +1 -0
  1396. package/hooks/useTimeout.js +26 -0
  1397. package/hooks/useVoiceChat.d.ts +37 -0
  1398. package/hooks/useVoiceChat.d.ts.map +1 -0
  1399. package/hooks/useVoiceChat.js +1311 -0
  1400. package/hooks/useWhatsAppPairing.d.ts +12 -0
  1401. package/hooks/useWhatsAppPairing.d.ts.map +1 -0
  1402. package/hooks/useWhatsAppPairing.js +96 -0
  1403. package/hooks/useWorkflowGenerationState.d.ts +20 -0
  1404. package/hooks/useWorkflowGenerationState.d.ts.map +1 -0
  1405. package/hooks/useWorkflowGenerationState.js +43 -0
  1406. package/i18n/index.d.ts +7 -0
  1407. package/i18n/index.d.ts.map +1 -0
  1408. package/i18n/index.js +60 -0
  1409. package/i18n/locales/en.json +3293 -0
  1410. package/i18n/locales/es.json +3293 -0
  1411. package/i18n/locales/ko.json +3293 -0
  1412. package/i18n/locales/pt.json +3293 -0
  1413. package/i18n/locales/tl.json +3293 -0
  1414. package/i18n/locales/vi.json +3293 -0
  1415. package/i18n/locales/zh-CN.json +3293 -0
  1416. package/i18n/messages.d.ts +6 -0
  1417. package/i18n/messages.d.ts.map +1 -0
  1418. package/i18n/messages.js +26 -0
  1419. package/index.d.ts +39 -40
  1420. package/index.d.ts.map +1 -1
  1421. package/index.js +40 -43
  1422. package/layouts/chat-panel-layout/chat-panel-layout.d.ts +11 -0
  1423. package/layouts/chat-panel-layout/chat-panel-layout.d.ts.map +1 -0
  1424. package/layouts/chat-panel-layout/chat-panel-layout.js +37 -0
  1425. package/layouts/chat-panel-layout/index.d.ts +2 -0
  1426. package/layouts/chat-panel-layout/index.d.ts.map +1 -0
  1427. package/layouts/chat-panel-layout/index.js +1 -0
  1428. package/layouts/content-layout/content-layout.d.ts +21 -0
  1429. package/layouts/content-layout/content-layout.d.ts.map +1 -0
  1430. package/layouts/content-layout/content-layout.js +5 -0
  1431. package/layouts/content-layout/index.d.ts +2 -0
  1432. package/layouts/content-layout/index.d.ts.map +1 -0
  1433. package/layouts/content-layout/index.js +1 -0
  1434. package/layouts/index.d.ts +5 -0
  1435. package/layouts/index.d.ts.map +1 -0
  1436. package/layouts/index.js +4 -0
  1437. package/layouts/page-layout/index.d.ts +5 -0
  1438. package/layouts/page-layout/index.d.ts.map +1 -0
  1439. package/layouts/page-layout/index.js +4 -0
  1440. package/layouts/page-layout/page-layout-header.d.ts +287 -0
  1441. package/layouts/page-layout/page-layout-header.d.ts.map +1 -0
  1442. package/layouts/page-layout/page-layout-header.js +8 -0
  1443. package/layouts/page-layout/page-layout-mobile-drawer.d.ts +3 -0
  1444. package/layouts/page-layout/page-layout-mobile-drawer.d.ts.map +1 -0
  1445. package/layouts/page-layout/page-layout-mobile-drawer.js +37 -0
  1446. package/layouts/page-layout/page-layout-types.d.ts +15 -0
  1447. package/layouts/page-layout/page-layout-types.d.ts.map +1 -0
  1448. package/layouts/page-layout/page-layout-types.js +1 -0
  1449. package/layouts/page-layout/page-layout.d.ts +3 -0
  1450. package/layouts/page-layout/page-layout.d.ts.map +1 -0
  1451. package/layouts/page-layout/page-layout.js +5 -0
  1452. package/layouts/workspace-layout/index.d.ts +4 -0
  1453. package/layouts/workspace-layout/index.d.ts.map +1 -0
  1454. package/layouts/workspace-layout/index.js +3 -0
  1455. package/layouts/workspace-layout/workspace-layout-types.d.ts +19 -0
  1456. package/layouts/workspace-layout/workspace-layout-types.d.ts.map +1 -0
  1457. package/layouts/workspace-layout/workspace-layout-types.js +1 -0
  1458. package/layouts/workspace-layout/workspace-layout.d.ts +3 -0
  1459. package/layouts/workspace-layout/workspace-layout.d.ts.map +1 -0
  1460. package/layouts/workspace-layout/workspace-layout.js +65 -0
  1461. package/layouts/workspace-layout/workspace-mobile-sidebar-controls.d.ts +13 -0
  1462. package/layouts/workspace-layout/workspace-mobile-sidebar-controls.d.ts.map +1 -0
  1463. package/layouts/workspace-layout/workspace-mobile-sidebar-controls.js +5 -0
  1464. package/lib/floating-layers.d.ts +17 -0
  1465. package/lib/floating-layers.d.ts.map +1 -0
  1466. package/lib/floating-layers.js +19 -0
  1467. package/lib/utils.d.ts +0 -3
  1468. package/lib/utils.d.ts.map +1 -1
  1469. package/lib/utils.js +0 -3
  1470. package/navigation/index.d.ts +70 -0
  1471. package/navigation/index.d.ts.map +1 -0
  1472. package/navigation/index.js +409 -0
  1473. package/navigation/main-tab.d.ts +58 -0
  1474. package/navigation/main-tab.d.ts.map +1 -0
  1475. package/navigation/main-tab.js +76 -0
  1476. package/onboarding/auto-download-recommended.d.ts +30 -0
  1477. package/onboarding/auto-download-recommended.d.ts.map +1 -0
  1478. package/onboarding/auto-download-recommended.js +105 -0
  1479. package/onboarding/flow.d.ts +66 -0
  1480. package/onboarding/flow.d.ts.map +1 -0
  1481. package/onboarding/flow.js +100 -0
  1482. package/onboarding/local-agent-token.d.ts +6 -0
  1483. package/onboarding/local-agent-token.d.ts.map +1 -0
  1484. package/onboarding/local-agent-token.js +79 -0
  1485. package/onboarding/mobile-runtime-mode.d.ts +19 -0
  1486. package/onboarding/mobile-runtime-mode.d.ts.map +1 -0
  1487. package/onboarding/mobile-runtime-mode.js +91 -0
  1488. package/onboarding/pre-seed-local-runtime.d.ts +53 -0
  1489. package/onboarding/pre-seed-local-runtime.d.ts.map +1 -0
  1490. package/onboarding/pre-seed-local-runtime.js +111 -0
  1491. package/onboarding/probe-local-agent.d.ts +51 -0
  1492. package/onboarding/probe-local-agent.d.ts.map +1 -0
  1493. package/onboarding/probe-local-agent.js +235 -0
  1494. package/onboarding/reload-into-runtime-picker.d.ts +25 -0
  1495. package/onboarding/reload-into-runtime-picker.d.ts.map +1 -0
  1496. package/onboarding/reload-into-runtime-picker.js +45 -0
  1497. package/onboarding/server-target.d.ts +4 -0
  1498. package/onboarding/server-target.d.ts.map +1 -0
  1499. package/onboarding/server-target.js +13 -0
  1500. package/onboarding-config.d.ts +61 -0
  1501. package/onboarding-config.d.ts.map +1 -0
  1502. package/onboarding-config.js +172 -0
  1503. package/package.json +33 -15
  1504. package/platform/android-runtime.d.ts +33 -0
  1505. package/platform/android-runtime.d.ts.map +1 -0
  1506. package/platform/android-runtime.js +61 -0
  1507. package/platform/browser-launch.d.ts +10 -0
  1508. package/platform/browser-launch.d.ts.map +1 -0
  1509. package/platform/browser-launch.js +147 -0
  1510. package/platform/cloud-preference-patch.d.ts +11 -0
  1511. package/platform/cloud-preference-patch.d.ts.map +1 -0
  1512. package/platform/cloud-preference-patch.js +85 -0
  1513. package/platform/desktop-permissions-client.d.ts +3 -0
  1514. package/platform/desktop-permissions-client.d.ts.map +1 -0
  1515. package/platform/desktop-permissions-client.js +246 -0
  1516. package/platform/empty-node-module.d.ts +58 -0
  1517. package/platform/empty-node-module.d.ts.map +1 -0
  1518. package/platform/empty-node-module.js +46 -0
  1519. package/platform/index.d.ts +12 -0
  1520. package/platform/index.d.ts.map +1 -0
  1521. package/platform/index.js +16 -0
  1522. package/platform/init.d.ts +73 -0
  1523. package/platform/init.d.ts.map +1 -0
  1524. package/platform/init.js +204 -0
  1525. package/platform/ios-runtime.d.ts +16 -0
  1526. package/platform/ios-runtime.d.ts.map +1 -0
  1527. package/platform/ios-runtime.js +81 -0
  1528. package/platform/is-native-server.d.ts +14 -0
  1529. package/platform/is-native-server.d.ts.map +1 -0
  1530. package/platform/is-native-server.js +16 -0
  1531. package/platform/onboarding-reset.d.ts +11 -0
  1532. package/platform/onboarding-reset.d.ts.map +1 -0
  1533. package/platform/onboarding-reset.js +127 -0
  1534. package/platform/types.d.ts +28 -0
  1535. package/platform/types.d.ts.map +1 -0
  1536. package/platform/types.js +1 -0
  1537. package/platform/window-shell.d.ts +28 -0
  1538. package/platform/window-shell.d.ts.map +1 -0
  1539. package/platform/window-shell.js +73 -0
  1540. package/providers/index.d.ts +26 -0
  1541. package/providers/index.d.ts.map +1 -0
  1542. package/providers/index.js +115 -0
  1543. package/services/local-inference/active-model.d.ts +180 -0
  1544. package/services/local-inference/active-model.d.ts.map +1 -0
  1545. package/services/local-inference/active-model.js +362 -0
  1546. package/services/local-inference/assignments.d.ts +58 -0
  1547. package/services/local-inference/assignments.d.ts.map +1 -0
  1548. package/services/local-inference/assignments.js +179 -0
  1549. package/services/local-inference/bundled-models.d.ts +34 -0
  1550. package/services/local-inference/bundled-models.d.ts.map +1 -0
  1551. package/services/local-inference/bundled-models.js +104 -0
  1552. package/services/local-inference/catalog.d.ts +55 -0
  1553. package/services/local-inference/catalog.d.ts.map +1 -0
  1554. package/services/local-inference/catalog.js +271 -0
  1555. package/services/local-inference/device-bridge.d.ts +138 -0
  1556. package/services/local-inference/device-bridge.d.ts.map +1 -0
  1557. package/services/local-inference/device-bridge.js +773 -0
  1558. package/services/local-inference/dflash-doctor.d.ts +22 -0
  1559. package/services/local-inference/dflash-doctor.d.ts.map +1 -0
  1560. package/services/local-inference/dflash-doctor.js +139 -0
  1561. package/services/local-inference/dflash-server.d.ts +76 -0
  1562. package/services/local-inference/dflash-server.d.ts.map +1 -0
  1563. package/services/local-inference/dflash-server.js +451 -0
  1564. package/services/local-inference/downloader.d.ts +48 -0
  1565. package/services/local-inference/downloader.d.ts.map +1 -0
  1566. package/services/local-inference/downloader.js +688 -0
  1567. package/services/local-inference/engine.d.ts +54 -0
  1568. package/services/local-inference/engine.d.ts.map +1 -0
  1569. package/services/local-inference/engine.js +223 -0
  1570. package/services/local-inference/external-scanner.d.ts +17 -0
  1571. package/services/local-inference/external-scanner.d.ts.map +1 -0
  1572. package/services/local-inference/external-scanner.js +261 -0
  1573. package/services/local-inference/handler-registry.d.ts +72 -0
  1574. package/services/local-inference/handler-registry.d.ts.map +1 -0
  1575. package/services/local-inference/handler-registry.js +163 -0
  1576. package/services/local-inference/hardware.d.ts +26 -0
  1577. package/services/local-inference/hardware.d.ts.map +1 -0
  1578. package/services/local-inference/hardware.js +149 -0
  1579. package/services/local-inference/hf-search.d.ts +19 -0
  1580. package/services/local-inference/hf-search.d.ts.map +1 -0
  1581. package/services/local-inference/hf-search.js +169 -0
  1582. package/services/local-inference/index.d.ts +9 -0
  1583. package/services/local-inference/index.d.ts.map +1 -0
  1584. package/services/local-inference/index.js +6 -0
  1585. package/services/local-inference/paths.d.ts +8 -0
  1586. package/services/local-inference/paths.d.ts.map +1 -0
  1587. package/services/local-inference/paths.js +7 -0
  1588. package/services/local-inference/providers.d.ts +61 -0
  1589. package/services/local-inference/providers.d.ts.map +1 -0
  1590. package/services/local-inference/providers.js +306 -0
  1591. package/services/local-inference/readiness.d.ts +9 -0
  1592. package/services/local-inference/readiness.d.ts.map +1 -0
  1593. package/services/local-inference/readiness.js +153 -0
  1594. package/services/local-inference/recommendation.d.ts +46 -0
  1595. package/services/local-inference/recommendation.d.ts.map +1 -0
  1596. package/services/local-inference/recommendation.js +260 -0
  1597. package/services/local-inference/registry.d.ts +35 -0
  1598. package/services/local-inference/registry.d.ts.map +1 -0
  1599. package/services/local-inference/registry.js +117 -0
  1600. package/services/local-inference/routing-policy.d.ts +55 -0
  1601. package/services/local-inference/routing-policy.d.ts.map +1 -0
  1602. package/services/local-inference/routing-policy.js +195 -0
  1603. package/services/local-inference/routing-preferences.d.ts +8 -0
  1604. package/services/local-inference/routing-preferences.d.ts.map +1 -0
  1605. package/services/local-inference/routing-preferences.js +7 -0
  1606. package/services/local-inference/service.d.ts +59 -0
  1607. package/services/local-inference/service.d.ts.map +1 -0
  1608. package/services/local-inference/service.js +185 -0
  1609. package/services/local-inference/types.d.ts +239 -0
  1610. package/services/local-inference/types.d.ts.map +1 -0
  1611. package/services/local-inference/types.js +21 -0
  1612. package/services/local-inference/verify.d.ts +8 -0
  1613. package/services/local-inference/verify.d.ts.map +1 -0
  1614. package/services/local-inference/verify.js +7 -0
  1615. package/shell-params.d.ts +12 -0
  1616. package/shell-params.d.ts.map +1 -0
  1617. package/shell-params.js +21 -0
  1618. package/slots/task-coordinator-slots.d.ts +39 -0
  1619. package/slots/task-coordinator-slots.d.ts.map +1 -0
  1620. package/slots/task-coordinator-slots.js +21 -0
  1621. package/state/AppContext.d.ts +13 -0
  1622. package/state/AppContext.d.ts.map +1 -0
  1623. package/state/AppContext.js +1750 -0
  1624. package/state/ChatComposerContext.d.ts +28 -0
  1625. package/state/ChatComposerContext.d.ts.map +1 -0
  1626. package/state/ChatComposerContext.js +30 -0
  1627. package/state/CompanionSceneConfigContext.d.ts +27 -0
  1628. package/state/CompanionSceneConfigContext.d.ts.map +1 -0
  1629. package/state/CompanionSceneConfigContext.js +32 -0
  1630. package/state/PtySessionsContext.d.ts +15 -0
  1631. package/state/PtySessionsContext.d.ts.map +1 -0
  1632. package/state/PtySessionsContext.js +15 -0
  1633. package/state/TranslationContext.d.ts +37 -0
  1634. package/state/TranslationContext.d.ts.map +1 -0
  1635. package/state/TranslationContext.js +63 -0
  1636. package/state/action-notice.d.ts +7 -0
  1637. package/state/action-notice.d.ts.map +1 -0
  1638. package/state/action-notice.js +1 -0
  1639. package/state/agent-profile-types.d.ts +29 -0
  1640. package/state/agent-profile-types.d.ts.map +1 -0
  1641. package/state/agent-profile-types.js +1 -0
  1642. package/state/agent-profiles.d.ts +16 -0
  1643. package/state/agent-profiles.d.ts.map +1 -0
  1644. package/state/agent-profiles.js +119 -0
  1645. package/state/agent-runtime-target.d.ts +14 -0
  1646. package/state/agent-runtime-target.d.ts.map +1 -0
  1647. package/state/agent-runtime-target.js +50 -0
  1648. package/state/agent-startup-timing.d.ts +15 -0
  1649. package/state/agent-startup-timing.d.ts.map +1 -0
  1650. package/state/agent-startup-timing.js +28 -0
  1651. package/state/autonomy.d.ts +48 -0
  1652. package/state/autonomy.d.ts.map +1 -0
  1653. package/state/autonomy.js +336 -0
  1654. package/state/chat-conversation-guards.d.ts +6 -0
  1655. package/state/chat-conversation-guards.d.ts.map +1 -0
  1656. package/state/chat-conversation-guards.js +47 -0
  1657. package/state/complete-reset-local-state-after-wipe.d.ts +52 -0
  1658. package/state/complete-reset-local-state-after-wipe.d.ts.map +1 -0
  1659. package/state/complete-reset-local-state-after-wipe.js +24 -0
  1660. package/state/config-readers.d.ts +7 -0
  1661. package/state/config-readers.d.ts.map +1 -0
  1662. package/state/config-readers.js +8 -0
  1663. package/state/connector-deeplink.d.ts +30 -0
  1664. package/state/connector-deeplink.d.ts.map +1 -0
  1665. package/state/connector-deeplink.js +46 -0
  1666. package/state/handle-reset-applied-from-main.d.ts +31 -0
  1667. package/state/handle-reset-applied-from-main.d.ts.map +1 -0
  1668. package/state/handle-reset-applied-from-main.js +38 -0
  1669. package/state/index.d.ts +16 -0
  1670. package/state/index.d.ts.map +1 -0
  1671. package/state/index.js +15 -0
  1672. package/state/internal.d.ts +9 -0
  1673. package/state/internal.d.ts.map +1 -0
  1674. package/state/internal.js +9 -0
  1675. package/state/navigation-events.d.ts +12 -0
  1676. package/state/navigation-events.d.ts.map +1 -0
  1677. package/state/navigation-events.js +25 -0
  1678. package/state/onboarding-bootstrap.d.ts +28 -0
  1679. package/state/onboarding-bootstrap.d.ts.map +1 -0
  1680. package/state/onboarding-bootstrap.js +76 -0
  1681. package/state/onboarding-restart.d.ts +8 -0
  1682. package/state/onboarding-restart.d.ts.map +1 -0
  1683. package/state/onboarding-restart.js +8 -0
  1684. package/state/onboarding-resume.d.ts +9 -0
  1685. package/state/onboarding-resume.d.ts.map +1 -0
  1686. package/state/onboarding-resume.js +93 -0
  1687. package/state/parsers.d.ts +33 -0
  1688. package/state/parsers.d.ts.map +1 -0
  1689. package/state/parsers.js +354 -0
  1690. package/state/persistence.d.ts +111 -0
  1691. package/state/persistence.d.ts.map +1 -0
  1692. package/state/persistence.js +794 -0
  1693. package/state/shell-routing.d.ts +12 -0
  1694. package/state/shell-routing.d.ts.map +1 -0
  1695. package/state/shell-routing.js +21 -0
  1696. package/state/startup-coordinator.d.ts +158 -0
  1697. package/state/startup-coordinator.d.ts.map +1 -0
  1698. package/state/startup-coordinator.js +284 -0
  1699. package/state/startup-phase-hydrate.d.ts +74 -0
  1700. package/state/startup-phase-hydrate.d.ts.map +1 -0
  1701. package/state/startup-phase-hydrate.js +482 -0
  1702. package/state/startup-phase-poll.d.ts +61 -0
  1703. package/state/startup-phase-poll.d.ts.map +1 -0
  1704. package/state/startup-phase-poll.js +303 -0
  1705. package/state/startup-phase-restore.d.ts +55 -0
  1706. package/state/startup-phase-restore.d.ts.map +1 -0
  1707. package/state/startup-phase-restore.js +344 -0
  1708. package/state/startup-phase-runtime.d.ts +36 -0
  1709. package/state/startup-phase-runtime.d.ts.map +1 -0
  1710. package/state/startup-phase-runtime.js +152 -0
  1711. package/state/types.d.ts +652 -0
  1712. package/state/types.d.ts.map +1 -0
  1713. package/state/types.js +63 -0
  1714. package/state/ui-preferences.d.ts +3 -0
  1715. package/state/ui-preferences.d.ts.map +1 -0
  1716. package/state/ui-preferences.js +1 -0
  1717. package/state/useApp.d.ts +4 -0
  1718. package/state/useApp.d.ts.map +1 -0
  1719. package/state/useApp.js +32 -0
  1720. package/state/useAppProviderEffects.d.ts +24 -0
  1721. package/state/useAppProviderEffects.d.ts.map +1 -0
  1722. package/state/useAppProviderEffects.js +122 -0
  1723. package/state/useAppShellState.d.ts +34 -0
  1724. package/state/useAppShellState.d.ts.map +1 -0
  1725. package/state/useAppShellState.js +81 -0
  1726. package/state/useCharacterState.d.ts +52 -0
  1727. package/state/useCharacterState.d.ts.map +1 -0
  1728. package/state/useCharacterState.js +208 -0
  1729. package/state/useChatCallbacks.d.ts +170 -0
  1730. package/state/useChatCallbacks.d.ts.map +1 -0
  1731. package/state/useChatCallbacks.js +790 -0
  1732. package/state/useChatLifecycle.d.ts +104 -0
  1733. package/state/useChatLifecycle.d.ts.map +1 -0
  1734. package/state/useChatLifecycle.js +751 -0
  1735. package/state/useChatSend.d.ts +83 -0
  1736. package/state/useChatSend.d.ts.map +1 -0
  1737. package/state/useChatSend.js +951 -0
  1738. package/state/useChatState.d.ts +144 -0
  1739. package/state/useChatState.d.ts.map +1 -0
  1740. package/state/useChatState.js +251 -0
  1741. package/state/useCloudState.d.ts +73 -0
  1742. package/state/useCloudState.d.ts.map +1 -0
  1743. package/state/useCloudState.js +668 -0
  1744. package/state/useDataLoaders.d.ts +88 -0
  1745. package/state/useDataLoaders.d.ts.map +1 -0
  1746. package/state/useDataLoaders.js +394 -0
  1747. package/state/useDeveloperMode.d.ts +4 -0
  1748. package/state/useDeveloperMode.d.ts.map +1 -0
  1749. package/state/useDeveloperMode.js +54 -0
  1750. package/state/useDisplayPreferences.d.ts +23 -0
  1751. package/state/useDisplayPreferences.d.ts.map +1 -0
  1752. package/state/useDisplayPreferences.js +64 -0
  1753. package/state/useExportImportState.d.ts +32 -0
  1754. package/state/useExportImportState.d.ts.map +1 -0
  1755. package/state/useExportImportState.js +140 -0
  1756. package/state/useLifecycleState.d.ts +123 -0
  1757. package/state/useLifecycleState.d.ts.map +1 -0
  1758. package/state/useLifecycleState.js +258 -0
  1759. package/state/useLogsState.d.ts +24 -0
  1760. package/state/useLogsState.d.ts.map +1 -0
  1761. package/state/useLogsState.js +87 -0
  1762. package/state/useMiscUiState.d.ts +89 -0
  1763. package/state/useMiscUiState.d.ts.map +1 -0
  1764. package/state/useMiscUiState.js +154 -0
  1765. package/state/useNavigationState.d.ts +29 -0
  1766. package/state/useNavigationState.d.ts.map +1 -0
  1767. package/state/useNavigationState.js +122 -0
  1768. package/state/useOnboardingCallbacks.d.ts +100 -0
  1769. package/state/useOnboardingCallbacks.d.ts.map +1 -0
  1770. package/state/useOnboardingCallbacks.js +804 -0
  1771. package/state/useOnboardingCompat.d.ts +61 -0
  1772. package/state/useOnboardingCompat.d.ts.map +1 -0
  1773. package/state/useOnboardingCompat.js +110 -0
  1774. package/state/useOnboardingState.d.ts +126 -0
  1775. package/state/useOnboardingState.d.ts.map +1 -0
  1776. package/state/useOnboardingState.js +263 -0
  1777. package/state/usePairingState.d.ts +22 -0
  1778. package/state/usePairingState.d.ts.map +1 -0
  1779. package/state/usePairingState.js +73 -0
  1780. package/state/usePluginsSkillsState.d.ts +142 -0
  1781. package/state/usePluginsSkillsState.d.ts.map +1 -0
  1782. package/state/usePluginsSkillsState.js +630 -0
  1783. package/state/useStartupCoordinator.d.ts +40 -0
  1784. package/state/useStartupCoordinator.d.ts.map +1 -0
  1785. package/state/useStartupCoordinator.js +194 -0
  1786. package/state/useTriggersState.d.ts +29 -0
  1787. package/state/useTriggersState.d.ts.map +1 -0
  1788. package/state/useTriggersState.js +198 -0
  1789. package/state/useVincentState.d.ts +3 -0
  1790. package/state/useVincentState.d.ts.map +1 -0
  1791. package/state/useVincentState.js +13 -0
  1792. package/state/useWalletState.d.ts +97 -0
  1793. package/state/useWalletState.d.ts.map +1 -0
  1794. package/state/useWalletState.js +533 -0
  1795. package/state/vrm.d.ts +10 -0
  1796. package/state/vrm.d.ts.map +1 -0
  1797. package/state/vrm.js +70 -0
  1798. package/stories/layout-story-fixtures.d.ts +14 -0
  1799. package/stories/layout-story-fixtures.d.ts.map +1 -0
  1800. package/stories/layout-story-fixtures.js +33 -0
  1801. package/styles/base.css +330 -0
  1802. package/styles/brand-gold.css +471 -0
  1803. package/styles/electrobun-mac-window-drag.css +106 -0
  1804. package/styles/onboarding-game.css +568 -0
  1805. package/styles/styles.css +420 -0
  1806. package/styles/theme.css +70 -194
  1807. package/styles/xterm.css +241 -0
  1808. package/terminal/links.d.ts +9 -0
  1809. package/terminal/links.d.ts.map +1 -0
  1810. package/terminal/links.js +20 -0
  1811. package/terminal/palette.d.ts +11 -0
  1812. package/terminal/palette.d.ts.map +1 -0
  1813. package/terminal/palette.js +12 -0
  1814. package/terminal/theme.d.ts +17 -0
  1815. package/terminal/theme.d.ts.map +1 -0
  1816. package/terminal/theme.js +24 -0
  1817. package/themes/apply-theme.d.ts +24 -0
  1818. package/themes/apply-theme.d.ts.map +1 -0
  1819. package/themes/apply-theme.js +130 -0
  1820. package/types/index.d.ts +655 -0
  1821. package/types/index.d.ts.map +1 -0
  1822. package/types/index.js +4 -0
  1823. package/utils/asset-url.d.ts +24 -0
  1824. package/utils/asset-url.d.ts.map +1 -0
  1825. package/utils/asset-url.js +150 -0
  1826. package/utils/assistant-text.d.ts +2 -0
  1827. package/utils/assistant-text.d.ts.map +1 -0
  1828. package/utils/assistant-text.js +167 -0
  1829. package/utils/automation-feed-filter.d.ts +12 -0
  1830. package/utils/automation-feed-filter.d.ts.map +1 -0
  1831. package/utils/automation-feed-filter.js +21 -0
  1832. package/utils/browser-tab-kit-types.d.ts +81 -0
  1833. package/utils/browser-tab-kit-types.d.ts.map +1 -0
  1834. package/utils/browser-tab-kit-types.js +22 -0
  1835. package/utils/browser-tabs-renderer-registry.d.ts +56 -0
  1836. package/utils/browser-tabs-renderer-registry.d.ts.map +1 -0
  1837. package/utils/browser-tabs-renderer-registry.js +1223 -0
  1838. package/utils/character-message-examples.d.ts +7 -0
  1839. package/utils/character-message-examples.d.ts.map +1 -0
  1840. package/utils/character-message-examples.js +122 -0
  1841. package/utils/clipboard.d.ts +2 -0
  1842. package/utils/clipboard.d.ts.map +1 -0
  1843. package/utils/clipboard.js +38 -0
  1844. package/utils/cloud-status.d.ts +3 -0
  1845. package/utils/cloud-status.d.ts.map +1 -0
  1846. package/utils/cloud-status.js +10 -0
  1847. package/utils/cron-format.d.ts +32 -0
  1848. package/utils/cron-format.d.ts.map +1 -0
  1849. package/utils/cron-format.js +96 -0
  1850. package/utils/desktop-bug-report.d.ts +35 -0
  1851. package/utils/desktop-bug-report.d.ts.map +1 -0
  1852. package/utils/desktop-bug-report.js +47 -0
  1853. package/utils/desktop-dialogs.d.ts +24 -0
  1854. package/utils/desktop-dialogs.d.ts.map +1 -0
  1855. package/utils/desktop-dialogs.js +165 -0
  1856. package/utils/desktop-workspace.d.ts +86 -0
  1857. package/utils/desktop-workspace.d.ts.map +1 -0
  1858. package/utils/desktop-workspace.js +162 -0
  1859. package/utils/documents-upload-image.d.ts +27 -0
  1860. package/utils/documents-upload-image.d.ts.map +1 -0
  1861. package/utils/documents-upload-image.js +146 -0
  1862. package/utils/eliza-cloud-model-route.d.ts +3 -0
  1863. package/utils/eliza-cloud-model-route.d.ts.map +1 -0
  1864. package/utils/eliza-cloud-model-route.js +9 -0
  1865. package/utils/eliza-globals.d.ts +13 -0
  1866. package/utils/eliza-globals.d.ts.map +1 -0
  1867. package/utils/eliza-globals.js +48 -0
  1868. package/utils/eliza-root.d.ts +9 -0
  1869. package/utils/eliza-root.d.ts.map +1 -0
  1870. package/utils/eliza-root.js +101 -0
  1871. package/utils/env.d.ts +29 -0
  1872. package/utils/env.d.ts.map +1 -0
  1873. package/utils/env.js +49 -0
  1874. package/utils/errors.d.ts +13 -0
  1875. package/utils/errors.d.ts.map +1 -0
  1876. package/utils/errors.js +25 -0
  1877. package/utils/exec-safety.d.ts +2 -0
  1878. package/utils/exec-safety.d.ts.map +1 -0
  1879. package/utils/exec-safety.js +21 -0
  1880. package/utils/format.d.ts +66 -0
  1881. package/utils/format.d.ts.map +1 -0
  1882. package/utils/format.js +121 -0
  1883. package/utils/globals.d.ts +7 -0
  1884. package/utils/globals.d.ts.map +1 -0
  1885. package/utils/globals.js +47 -0
  1886. package/utils/index.d.ts +34 -0
  1887. package/utils/index.d.ts.map +1 -0
  1888. package/utils/index.js +33 -0
  1889. package/utils/labels.d.ts +6 -0
  1890. package/utils/labels.d.ts.map +1 -0
  1891. package/utils/labels.js +41 -0
  1892. package/utils/log-prefix.d.ts +2 -0
  1893. package/utils/log-prefix.d.ts.map +1 -0
  1894. package/utils/log-prefix.js +53 -0
  1895. package/utils/name-tokens.d.ts +24 -0
  1896. package/utils/name-tokens.d.ts.map +1 -0
  1897. package/utils/name-tokens.js +36 -0
  1898. package/utils/namespace-defaults.d.ts +6 -0
  1899. package/utils/namespace-defaults.d.ts.map +1 -0
  1900. package/utils/namespace-defaults.js +15 -0
  1901. package/utils/number-parsing.d.ts +26 -0
  1902. package/utils/number-parsing.d.ts.map +1 -0
  1903. package/utils/number-parsing.js +51 -0
  1904. package/utils/openExternalUrl.d.ts +22 -0
  1905. package/utils/openExternalUrl.d.ts.map +1 -0
  1906. package/utils/openExternalUrl.js +108 -0
  1907. package/utils/owner-name.d.ts +3 -0
  1908. package/utils/owner-name.d.ts.map +1 -0
  1909. package/utils/owner-name.js +7 -0
  1910. package/utils/rate-limiter.d.ts +32 -0
  1911. package/utils/rate-limiter.d.ts.map +1 -0
  1912. package/utils/rate-limiter.js +52 -0
  1913. package/utils/serialise.d.ts +12 -0
  1914. package/utils/serialise.d.ts.map +1 -0
  1915. package/utils/serialise.js +21 -0
  1916. package/utils/sql-compat.d.ts +10 -0
  1917. package/utils/sql-compat.d.ts.map +1 -0
  1918. package/utils/sql-compat.js +111 -0
  1919. package/utils/streaming-text.d.ts +9 -0
  1920. package/utils/streaming-text.d.ts.map +1 -0
  1921. package/utils/streaming-text.js +112 -0
  1922. package/utils/subscription-auth.d.ts +9 -0
  1923. package/utils/subscription-auth.d.ts.map +1 -0
  1924. package/utils/subscription-auth.js +48 -0
  1925. package/utils/task-schedule.d.ts +14 -0
  1926. package/utils/task-schedule.d.ts.map +1 -0
  1927. package/utils/task-schedule.js +36 -0
  1928. package/utils/trajectory-format.d.ts +6 -0
  1929. package/utils/trajectory-format.d.ts.map +1 -0
  1930. package/utils/trajectory-format.js +43 -0
  1931. package/utils/tts-debug.d.ts +9 -0
  1932. package/utils/tts-debug.d.ts.map +1 -0
  1933. package/utils/tts-debug.js +69 -0
  1934. package/utils/workflow-json.d.ts +44 -0
  1935. package/utils/workflow-json.d.ts.map +1 -0
  1936. package/utils/workflow-json.js +127 -0
  1937. package/voice/character-voice-config.d.ts +9 -0
  1938. package/voice/character-voice-config.d.ts.map +1 -0
  1939. package/voice/character-voice-config.js +83 -0
  1940. package/voice/index.d.ts +3 -0
  1941. package/voice/index.d.ts.map +1 -0
  1942. package/voice/index.js +2 -0
  1943. package/voice/types.d.ts +3 -0
  1944. package/voice/types.d.ts.map +1 -0
  1945. package/voice/types.js +1 -0
  1946. package/voice/voice-chat-playback.d.ts +32 -0
  1947. package/voice/voice-chat-playback.d.ts.map +1 -0
  1948. package/voice/voice-chat-playback.js +209 -0
  1949. package/voice/voice-chat-recording.d.ts +6 -0
  1950. package/voice/voice-chat-recording.d.ts.map +1 -0
  1951. package/voice/voice-chat-recording.js +46 -0
  1952. package/voice/voice-chat-types.d.ts +193 -0
  1953. package/voice/voice-chat-types.d.ts.map +1 -0
  1954. package/voice/voice-chat-types.js +194 -0
  1955. package/widgets/WidgetHost.d.ts +32 -0
  1956. package/widgets/WidgetHost.d.ts.map +1 -0
  1957. package/widgets/WidgetHost.js +62 -0
  1958. package/widgets/index.d.ts +7 -0
  1959. package/widgets/index.d.ts.map +1 -0
  1960. package/widgets/index.js +3 -0
  1961. package/widgets/registry-store.d.ts +23 -0
  1962. package/widgets/registry-store.d.ts.map +1 -0
  1963. package/widgets/registry-store.js +34 -0
  1964. package/widgets/registry.d.ts +44 -0
  1965. package/widgets/registry.d.ts.map +1 -0
  1966. package/widgets/registry.js +177 -0
  1967. package/widgets/types.d.ts +39 -0
  1968. package/widgets/types.d.ts.map +1 -0
  1969. package/widgets/types.js +1 -0
  1970. package/widgets/useChatSidebarVisibility.d.ts +16 -0
  1971. package/widgets/useChatSidebarVisibility.d.ts.map +1 -0
  1972. package/widgets/useChatSidebarVisibility.js +54 -0
  1973. package/widgets/visibility.d.ts +55 -0
  1974. package/widgets/visibility.d.ts.map +1 -0
  1975. package/widgets/visibility.js +90 -0
  1976. package/LICENSE +0 -21
  1977. package/components/ui/chat-atoms.d.ts +0 -26
  1978. package/components/ui/chat-atoms.d.ts.map +0 -1
  1979. package/components/ui/chat-atoms.js +0 -17
  1980. package/components/ui/search-bar.d.ts.map +0 -1
  1981. package/components/ui/search-bar.js +0 -19
  1982. package/components/ui/search-input.d.ts.map +0 -1
  1983. package/components/ui/sonner.d.ts +0 -5
  1984. package/components/ui/sonner.d.ts.map +0 -1
  1985. package/components/ui/sonner.js +0 -15
  1986. package/components/ui/tag-input.d.ts +0 -19
  1987. package/components/ui/tag-input.d.ts.map +0 -1
  1988. package/components/ui/tag-input.js +0 -28
  1989. package/components/ui/themed-select.d.ts +0 -27
  1990. package/components/ui/themed-select.d.ts.map +0 -1
  1991. package/components/ui/themed-select.js +0 -57
  1992. package/lib/button-styles.d.ts +0 -12
  1993. package/lib/button-styles.d.ts.map +0 -1
  1994. package/lib/button-styles.js +0 -11
  1995. /package/components/{ui → composites/search}/search-input.d.ts +0 -0
@@ -0,0 +1,2108 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
9
+ import { asRecord } from "@elizaos/shared";
10
+ import { getBootConfig } from "../config/boot-config-store.js";
11
+ import { findCatalogModel, MODEL_CATALOG, } from "../services/local-inference/catalog.js";
12
+ import { assessCatalogModelFit, catalogDownloadSizeGb, chooseSmallerFallbackModel, selectRecommendedModelForSlot, } from "../services/local-inference/recommendation.js";
13
+ import { AGENT_MODEL_SLOTS } from "../services/local-inference/types.js";
14
+ const STORAGE_PREFIX = "eliza:ios-local-agent";
15
+ const CONVERSATIONS_KEY = `${STORAGE_PREFIX}:conversations:v1`;
16
+ const ACTIVE_MODEL_KEY = `${STORAGE_PREFIX}:active-model:v1`;
17
+ const ASSIGNMENTS_KEY = `${STORAGE_PREFIX}:assignments:v1`;
18
+ const BROWSER_WORKSPACE_KEY = `${STORAGE_PREFIX}:browser-workspace:v1`;
19
+ const WALLET_MARKET_OVERVIEW_KEY = `${STORAGE_PREFIX}:wallet-market-overview:v1`;
20
+ const BUNDLE_INDEX_KEY = `${STORAGE_PREFIX}:eliza-1-bundles:v1`;
21
+ const AGENT_NAME = "Eliza";
22
+ const DEFAULT_SYSTEM_PROMPT = "You are Eliza, a private on-device assistant. Answer directly and concisely.";
23
+ const DEFAULT_CLOUD_MARKET_PREVIEW_BASE_URL = "https://www.elizacloud.ai";
24
+ const CLOUD_WALLET_MARKET_OVERVIEW_PATH = "/market/preview/wallet-overview";
25
+ const WALLET_MARKET_OVERVIEW_CACHE_TTL_MS = 120_000;
26
+ const WALLET_MARKET_OVERVIEW_FETCH_TIMEOUT_MS = 8_000;
27
+ const COINGECKO_MARKET_LIMIT = 80;
28
+ const MARKET_PRICE_IDS = ["bitcoin", "ethereum", "solana"];
29
+ const MARKET_PRICE_ID_SET = new Set(MARKET_PRICE_IDS);
30
+ const STABLE_ASSET_IDS = new Set([
31
+ "tether",
32
+ "usd-coin",
33
+ "binance-usd",
34
+ "first-digital-usd",
35
+ "dai",
36
+ "ethena-usde",
37
+ "true-usd",
38
+ "usds",
39
+ ]);
40
+ const STABLE_ASSET_SYMBOLS = new Set([
41
+ "usdt",
42
+ "usdc",
43
+ "busd",
44
+ "fdusd",
45
+ "dai",
46
+ "usde",
47
+ "tusd",
48
+ "usds",
49
+ ]);
50
+ const EMPTY_ROUTING_PREFERENCES = {
51
+ preferredProvider: {},
52
+ policy: {},
53
+ };
54
+ const EMPTY_WALLET_ADDRESSES = {
55
+ evmAddress: null,
56
+ solanaAddress: null,
57
+ };
58
+ const EMPTY_WALLET_RPC_SELECTIONS = {
59
+ evm: "eliza-cloud",
60
+ bsc: "eliza-cloud",
61
+ solana: "eliza-cloud",
62
+ };
63
+ let startedAt = Date.now();
64
+ let running = false;
65
+ let activeState = readActiveModelState();
66
+ const downloads = new Map();
67
+ let llamaAdapterPromise = null;
68
+ let llamaCppPromise = null;
69
+ let loadedRuntimeSignature = null;
70
+ function storage() {
71
+ try {
72
+ return typeof window === "undefined" ? null : window.localStorage;
73
+ }
74
+ catch {
75
+ return null;
76
+ }
77
+ }
78
+ function removeStorageItem(key) {
79
+ try {
80
+ storage()?.removeItem(key);
81
+ }
82
+ catch {
83
+ /* localStorage unavailable */
84
+ }
85
+ }
86
+ function resetIosLocalAgentState() {
87
+ for (const key of [
88
+ CONVERSATIONS_KEY,
89
+ ACTIVE_MODEL_KEY,
90
+ ASSIGNMENTS_KEY,
91
+ BROWSER_WORKSPACE_KEY,
92
+ WALLET_MARKET_OVERVIEW_KEY,
93
+ BUNDLE_INDEX_KEY,
94
+ ]) {
95
+ removeStorageItem(key);
96
+ }
97
+ downloads.clear();
98
+ activeState = readActiveModelState();
99
+ loadedRuntimeSignature = null;
100
+ running = true;
101
+ startedAt = Date.now();
102
+ }
103
+ function nowIso() {
104
+ return new Date().toISOString();
105
+ }
106
+ function randomId(prefix) {
107
+ const random = globalThis.crypto?.randomUUID?.() ??
108
+ `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
109
+ return `${prefix}-${random}`;
110
+ }
111
+ function readJson(key, fallback) {
112
+ try {
113
+ const raw = storage()?.getItem(key);
114
+ if (!raw)
115
+ return fallback;
116
+ return JSON.parse(raw);
117
+ }
118
+ catch {
119
+ return fallback;
120
+ }
121
+ }
122
+ function writeJson(key, value) {
123
+ try {
124
+ storage()?.setItem(key, JSON.stringify(value));
125
+ }
126
+ catch {
127
+ // localStorage can be unavailable in embedded shells.
128
+ }
129
+ }
130
+ function readBundleIndex() {
131
+ return readJson(BUNDLE_INDEX_KEY, {});
132
+ }
133
+ function writeBundleRecord(record) {
134
+ const current = readBundleIndex();
135
+ current[record.modelId] = record;
136
+ writeJson(BUNDLE_INDEX_KEY, current);
137
+ }
138
+ function stringFromUnknown(value) {
139
+ return typeof value === "string" && value.trim().length > 0 ? value : null;
140
+ }
141
+ function numberFromUnknown(value) {
142
+ if (typeof value === "number" && Number.isFinite(value))
143
+ return value;
144
+ if (typeof value !== "string" || value.trim().length === 0)
145
+ return null;
146
+ const parsed = Number.parseFloat(value);
147
+ return Number.isFinite(parsed) ? parsed : null;
148
+ }
149
+ function integerFromUnknown(value) {
150
+ const parsed = numberFromUnknown(value);
151
+ if (parsed === null)
152
+ return null;
153
+ return Number.isInteger(parsed) ? parsed : Math.round(parsed);
154
+ }
155
+ function readStore() {
156
+ const parsed = readJson(CONVERSATIONS_KEY, {
157
+ conversations: [],
158
+ });
159
+ return {
160
+ conversations: Array.isArray(parsed.conversations)
161
+ ? parsed.conversations
162
+ : [],
163
+ };
164
+ }
165
+ function writeStore(store) {
166
+ writeJson(CONVERSATIONS_KEY, store);
167
+ }
168
+ function readBrowserWorkspaceStore() {
169
+ const parsed = readJson(BROWSER_WORKSPACE_KEY, {
170
+ tabs: [],
171
+ });
172
+ return {
173
+ tabs: Array.isArray(parsed.tabs) ? parsed.tabs : [],
174
+ };
175
+ }
176
+ function writeBrowserWorkspaceStore(store) {
177
+ writeJson(BROWSER_WORKSPACE_KEY, store);
178
+ }
179
+ function normalizeBrowserWorkspaceUrl(rawUrl) {
180
+ const value = typeof rawUrl === "string" ? rawUrl.trim() : "";
181
+ if (!value)
182
+ return "about:blank";
183
+ if (value === "about:blank")
184
+ return value;
185
+ return /^[a-zA-Z][a-zA-Z\d+.-]*:/.test(value) ? value : `https://${value}`;
186
+ }
187
+ function normalizeBrowserWorkspaceKind(value) {
188
+ return value === "internal" || value === "standard" ? value : undefined;
189
+ }
190
+ function browserWorkspaceSnapshot() {
191
+ return {
192
+ mode: "web",
193
+ tabs: readBrowserWorkspaceStore().tabs,
194
+ };
195
+ }
196
+ async function openBrowserWorkspaceTab(request) {
197
+ const body = await requestJson(request);
198
+ const now = nowIso();
199
+ const show = body.show !== false;
200
+ const tab = {
201
+ id: randomId("btab"),
202
+ title: typeof body.title === "string" && body.title.trim()
203
+ ? body.title.trim()
204
+ : "New tab",
205
+ url: normalizeBrowserWorkspaceUrl(body.url),
206
+ partition: typeof body.partition === "string" && body.partition.trim()
207
+ ? body.partition.trim()
208
+ : "persist:eliza-browser-user",
209
+ visible: show,
210
+ createdAt: now,
211
+ updatedAt: now,
212
+ lastFocusedAt: show ? now : null,
213
+ };
214
+ const kind = normalizeBrowserWorkspaceKind(body.kind);
215
+ if (kind)
216
+ tab.kind = kind;
217
+ const store = readBrowserWorkspaceStore();
218
+ const tabs = show
219
+ ? store.tabs.map((entry) => ({ ...entry, visible: false }))
220
+ : store.tabs;
221
+ tabs.push(tab);
222
+ writeBrowserWorkspaceStore({ tabs });
223
+ return json({ tab });
224
+ }
225
+ async function handleBrowserWorkspaceTabRoute(request, pathname) {
226
+ const method = request.method.toUpperCase();
227
+ const match = pathname.match(/^\/api\/browser-workspace\/tabs\/([^/]+)(?:\/(navigate|show|hide|snapshot))?$/);
228
+ if (!match)
229
+ return null;
230
+ const tabId = decodeURIComponent(match[1]).trim();
231
+ const action = match[2] ?? null;
232
+ const store = readBrowserWorkspaceStore();
233
+ const index = store.tabs.findIndex((tab) => tab.id === tabId);
234
+ if (index < 0) {
235
+ return json({ error: "Browser tab not found" }, 404);
236
+ }
237
+ if (!action && method === "DELETE") {
238
+ store.tabs.splice(index, 1);
239
+ writeBrowserWorkspaceStore(store);
240
+ return json({ closed: true });
241
+ }
242
+ if (action === "snapshot" && method === "GET") {
243
+ return json({ data: "" });
244
+ }
245
+ if (action === "show" && method === "POST") {
246
+ const now = nowIso();
247
+ store.tabs = store.tabs.map((tab) => tab.id === tabId
248
+ ? { ...tab, visible: true, updatedAt: now, lastFocusedAt: now }
249
+ : { ...tab, visible: false });
250
+ writeBrowserWorkspaceStore(store);
251
+ return json({ tab: store.tabs[index] });
252
+ }
253
+ if (action === "hide" && method === "POST") {
254
+ const now = nowIso();
255
+ store.tabs[index] = {
256
+ ...store.tabs[index],
257
+ visible: false,
258
+ updatedAt: now,
259
+ };
260
+ writeBrowserWorkspaceStore(store);
261
+ return json({ tab: store.tabs[index] });
262
+ }
263
+ if (action === "navigate" && method === "POST") {
264
+ const body = await requestJson(request);
265
+ const now = nowIso();
266
+ const url = normalizeBrowserWorkspaceUrl(body.url);
267
+ store.tabs[index] = {
268
+ ...store.tabs[index],
269
+ url,
270
+ title: url === "about:blank" ? "New tab" : store.tabs[index].title,
271
+ updatedAt: now,
272
+ lastFocusedAt: now,
273
+ visible: true,
274
+ };
275
+ store.tabs = store.tabs.map((tab) => tab.id === tabId ? store.tabs[index] : { ...tab, visible: false });
276
+ writeBrowserWorkspaceStore(store);
277
+ return json({ tab: store.tabs.find((tab) => tab.id === tabId) });
278
+ }
279
+ return null;
280
+ }
281
+ function readActiveModelState() {
282
+ const parsed = readJson(ACTIVE_MODEL_KEY, {});
283
+ if (parsed.status === "ready" &&
284
+ typeof parsed.modelId === "string" &&
285
+ parsed.modelId.trim()) {
286
+ return {
287
+ modelId: parsed.modelId.trim(),
288
+ loadedAt: typeof parsed.loadedAt === "string" ? parsed.loadedAt : nowIso(),
289
+ status: "ready",
290
+ };
291
+ }
292
+ return { modelId: null, loadedAt: null, status: "idle" };
293
+ }
294
+ function writeActiveModelState(state) {
295
+ activeState = state;
296
+ writeJson(ACTIVE_MODEL_KEY, state);
297
+ }
298
+ function readAssignments() {
299
+ return readJson(ASSIGNMENTS_KEY, {});
300
+ }
301
+ function writeAssignments(assignments) {
302
+ writeJson(ASSIGNMENTS_KEY, assignments);
303
+ }
304
+ function isAgentModelSlot(value) {
305
+ return AGENT_MODEL_SLOTS.includes(value);
306
+ }
307
+ async function capacitorLlamaProviderStatus() {
308
+ const available = Boolean(await loadCapacitorLlama());
309
+ return {
310
+ id: "capacitor-llama",
311
+ label: "Eliza-1 on-device runtime (mobile)",
312
+ kind: "local",
313
+ description: "Runs Eliza-1 natively inside the iOS app.",
314
+ supportedSlots: ["TEXT_SMALL", "TEXT_LARGE"],
315
+ configureHref: null,
316
+ enableState: {
317
+ enabled: available,
318
+ reason: available
319
+ ? "Native Capacitor runtime detected"
320
+ : "Native Eliza-1 runtime unavailable",
321
+ },
322
+ registeredSlots: activeState.status === "ready" ? ["TEXT_SMALL", "TEXT_LARGE"] : [],
323
+ };
324
+ }
325
+ function localConfig() {
326
+ return {
327
+ meta: { onboardingComplete: true },
328
+ ui: {},
329
+ cloud: {
330
+ enabled: false,
331
+ connectionStatus: "disconnected",
332
+ cloudProvisioned: false,
333
+ },
334
+ };
335
+ }
336
+ function localCharacter() {
337
+ return {
338
+ name: AGENT_NAME,
339
+ bio: ["Private on-device assistant"],
340
+ lore: [],
341
+ knowledge: [],
342
+ messageExamples: [],
343
+ postExamples: [],
344
+ topics: [],
345
+ style: { all: [], chat: [], post: [] },
346
+ adjectives: [],
347
+ };
348
+ }
349
+ function localWalletConfig() {
350
+ return {
351
+ ...EMPTY_WALLET_ADDRESSES,
352
+ selectedRpcProviders: EMPTY_WALLET_RPC_SELECTIONS,
353
+ walletNetwork: "mainnet",
354
+ legacyCustomChains: [],
355
+ alchemyKeySet: false,
356
+ infuraKeySet: false,
357
+ ankrKeySet: false,
358
+ nodeRealBscRpcSet: false,
359
+ quickNodeBscRpcSet: false,
360
+ managedBscRpcReady: false,
361
+ cloudManagedAccess: false,
362
+ evmBalanceReady: false,
363
+ ethereumBalanceReady: false,
364
+ baseBalanceReady: false,
365
+ bscBalanceReady: false,
366
+ avalancheBalanceReady: false,
367
+ solanaBalanceReady: false,
368
+ heliusKeySet: false,
369
+ birdeyeKeySet: false,
370
+ evmChains: [
371
+ "Ethereum",
372
+ "Base",
373
+ "Arbitrum",
374
+ "Optimism",
375
+ "Polygon",
376
+ "BSC",
377
+ "Avalanche",
378
+ ],
379
+ walletSource: "none",
380
+ automationMode: "connectors-only",
381
+ pluginEvmLoaded: false,
382
+ pluginEvmRequired: false,
383
+ executionReady: false,
384
+ executionBlockedReason: "No wallet is configured for local iOS mode.",
385
+ evmSigningCapability: "none",
386
+ evmSigningReason: "No wallet is configured for local iOS mode.",
387
+ solanaSigningAvailable: false,
388
+ wallets: [],
389
+ };
390
+ }
391
+ function isWalletMarketOverviewSource(value) {
392
+ const record = asRecord(value);
393
+ return (record !== null &&
394
+ typeof record.providerId === "string" &&
395
+ typeof record.providerName === "string" &&
396
+ typeof record.providerUrl === "string" &&
397
+ typeof record.available === "boolean" &&
398
+ typeof record.stale === "boolean" &&
399
+ (record.error === null ||
400
+ record.error === undefined ||
401
+ typeof record.error === "string"));
402
+ }
403
+ function isWalletMarketOverview(value) {
404
+ const record = asRecord(value);
405
+ const sources = asRecord(record?.sources);
406
+ return (record !== null &&
407
+ typeof record.generatedAt === "string" &&
408
+ typeof record.cacheTtlSeconds === "number" &&
409
+ typeof record.stale === "boolean" &&
410
+ sources !== null &&
411
+ isWalletMarketOverviewSource(sources.prices) &&
412
+ isWalletMarketOverviewSource(sources.movers) &&
413
+ isWalletMarketOverviewSource(sources.predictions) &&
414
+ Array.isArray(record.prices) &&
415
+ Array.isArray(record.movers) &&
416
+ Array.isArray(record.predictions));
417
+ }
418
+ function readCachedWalletMarketOverview() {
419
+ const parsed = readJson(WALLET_MARKET_OVERVIEW_KEY, null);
420
+ if (!parsed ||
421
+ typeof parsed.expiresAt !== "number" ||
422
+ !isWalletMarketOverview(parsed.response)) {
423
+ return null;
424
+ }
425
+ return parsed;
426
+ }
427
+ function writeCachedWalletMarketOverview(response) {
428
+ const cacheTtlSeconds = typeof response.cacheTtlSeconds === "number" && response.cacheTtlSeconds > 0
429
+ ? response.cacheTtlSeconds
430
+ : Math.floor(WALLET_MARKET_OVERVIEW_CACHE_TTL_MS / 1000);
431
+ writeJson(WALLET_MARKET_OVERVIEW_KEY, {
432
+ response,
433
+ expiresAt: Date.now() + cacheTtlSeconds * 1000,
434
+ });
435
+ }
436
+ function staleWalletMarketOverview(response) {
437
+ const sources = asRecord(response.sources) ?? {};
438
+ const markStale = (value) => {
439
+ const source = asRecord(value);
440
+ return source ? { ...source, stale: true } : value;
441
+ };
442
+ return {
443
+ ...response,
444
+ stale: true,
445
+ sources: {
446
+ prices: markStale(sources.prices),
447
+ movers: markStale(sources.movers),
448
+ predictions: markStale(sources.predictions),
449
+ },
450
+ };
451
+ }
452
+ function normalizeCloudMarketPreviewBaseUrl(rawBaseUrl) {
453
+ try {
454
+ const parsed = new URL(rawBaseUrl);
455
+ parsed.hash = "";
456
+ parsed.search = "";
457
+ parsed.pathname = parsed.pathname.replace(/\/+$/, "");
458
+ if (!parsed.pathname || parsed.pathname === "/") {
459
+ parsed.pathname = "/api/v1";
460
+ }
461
+ else if (!parsed.pathname.endsWith("/api/v1")) {
462
+ parsed.pathname = `${parsed.pathname}/api/v1`;
463
+ }
464
+ return parsed.toString().replace(/\/+$/, "");
465
+ }
466
+ catch {
467
+ return `${DEFAULT_CLOUD_MARKET_PREVIEW_BASE_URL}/api/v1`;
468
+ }
469
+ }
470
+ function resolveCloudWalletMarketOverviewUrl() {
471
+ const rawBase = getBootConfig().cloudApiBase;
472
+ const cloudApiBase = typeof rawBase === "string"
473
+ ? rawBase
474
+ : DEFAULT_CLOUD_MARKET_PREVIEW_BASE_URL;
475
+ return `${normalizeCloudMarketPreviewBaseUrl(cloudApiBase)}${CLOUD_WALLET_MARKET_OVERVIEW_PATH}`;
476
+ }
477
+ async function fetchJsonWithTimeout(url) {
478
+ const controller = new AbortController();
479
+ const timeout = globalThis.setTimeout(() => {
480
+ controller.abort();
481
+ }, WALLET_MARKET_OVERVIEW_FETCH_TIMEOUT_MS);
482
+ try {
483
+ const response = await fetch(url, {
484
+ method: "GET",
485
+ headers: { accept: "application/json" },
486
+ signal: controller.signal,
487
+ });
488
+ if (!response.ok) {
489
+ throw new Error(`Market feed responded ${response.status}`);
490
+ }
491
+ return response.json();
492
+ }
493
+ finally {
494
+ globalThis.clearTimeout(timeout);
495
+ }
496
+ }
497
+ function mapCoinGeckoMarket(input) {
498
+ const record = asRecord(input);
499
+ if (!record)
500
+ return null;
501
+ const id = stringFromUnknown(record.id);
502
+ const symbol = stringFromUnknown(record.symbol);
503
+ const name = stringFromUnknown(record.name);
504
+ const currentPriceUsd = numberFromUnknown(record.current_price);
505
+ const change24hPct = numberFromUnknown(record.price_change_percentage_24h);
506
+ if (!id ||
507
+ !symbol ||
508
+ !name ||
509
+ currentPriceUsd === null ||
510
+ change24hPct === null) {
511
+ return null;
512
+ }
513
+ return {
514
+ id,
515
+ symbol: symbol.toUpperCase(),
516
+ name,
517
+ currentPriceUsd,
518
+ change24hPct,
519
+ marketCapRank: integerFromUnknown(record.market_cap_rank),
520
+ imageUrl: stringFromUnknown(record.image),
521
+ };
522
+ }
523
+ function isStableAsset(market) {
524
+ const id = market.id.toLowerCase();
525
+ const symbol = market.symbol.toLowerCase();
526
+ return STABLE_ASSET_IDS.has(id) || STABLE_ASSET_SYMBOLS.has(symbol);
527
+ }
528
+ function buildLocalPriceSnapshots(markets) {
529
+ const byId = new Map(markets.map((market) => [market.id, market]));
530
+ return MARKET_PRICE_IDS.reduce((items, id) => {
531
+ const market = byId.get(id);
532
+ if (!market)
533
+ return items;
534
+ items.push({
535
+ id: market.id,
536
+ symbol: market.symbol,
537
+ name: market.name,
538
+ priceUsd: market.currentPriceUsd,
539
+ change24hPct: market.change24hPct,
540
+ imageUrl: market.imageUrl,
541
+ });
542
+ return items;
543
+ }, []);
544
+ }
545
+ function buildLocalMovers(markets) {
546
+ return markets
547
+ .filter((market) => !MARKET_PRICE_ID_SET.has(market.id))
548
+ .filter((market) => !isStableAsset(market))
549
+ .filter((market) => market.marketCapRank === null || market.marketCapRank <= 200)
550
+ .sort((left, right) => Math.abs(right.change24hPct) - Math.abs(left.change24hPct))
551
+ .slice(0, 6)
552
+ .map((market) => ({
553
+ id: market.id,
554
+ symbol: market.symbol,
555
+ name: market.name,
556
+ priceUsd: market.currentPriceUsd,
557
+ change24hPct: market.change24hPct,
558
+ marketCapRank: market.marketCapRank,
559
+ imageUrl: market.imageUrl,
560
+ }));
561
+ }
562
+ async function fetchCoinGeckoWalletMarketOverview() {
563
+ const url = new URL("https://api.coingecko.com/api/v3/coins/markets");
564
+ url.searchParams.set("vs_currency", "usd");
565
+ url.searchParams.set("order", "market_cap_desc");
566
+ url.searchParams.set("per_page", String(COINGECKO_MARKET_LIMIT));
567
+ url.searchParams.set("page", "1");
568
+ url.searchParams.set("price_change_percentage", "24h");
569
+ const payload = await fetchJsonWithTimeout(url);
570
+ if (!Array.isArray(payload)) {
571
+ throw new Error("CoinGecko payload was not an array");
572
+ }
573
+ const markets = payload
574
+ .map(mapCoinGeckoMarket)
575
+ .filter((market) => market !== null);
576
+ const coinGeckoSource = {
577
+ providerId: "coingecko",
578
+ providerName: "CoinGecko",
579
+ providerUrl: "https://www.coingecko.com/",
580
+ available: true,
581
+ stale: false,
582
+ error: null,
583
+ };
584
+ return {
585
+ generatedAt: nowIso(),
586
+ cacheTtlSeconds: Math.floor(WALLET_MARKET_OVERVIEW_CACHE_TTL_MS / 1000),
587
+ stale: false,
588
+ sources: {
589
+ prices: coinGeckoSource,
590
+ movers: coinGeckoSource,
591
+ predictions: {
592
+ providerId: "polymarket",
593
+ providerName: "Polymarket",
594
+ providerUrl: "https://polymarket.com/",
595
+ available: false,
596
+ stale: false,
597
+ error: "Polymarket preview requires the Eliza Cloud market feed.",
598
+ },
599
+ },
600
+ prices: buildLocalPriceSnapshots(markets),
601
+ movers: buildLocalMovers(markets),
602
+ predictions: [],
603
+ };
604
+ }
605
+ let walletMarketOverviewInFlight = null;
606
+ async function refreshWalletMarketOverview() {
607
+ if (!walletMarketOverviewInFlight) {
608
+ walletMarketOverviewInFlight = (async () => {
609
+ const cloudPayload = await fetchJsonWithTimeout(resolveCloudWalletMarketOverviewUrl()).catch(() => fetchCoinGeckoWalletMarketOverview());
610
+ if (!isWalletMarketOverview(cloudPayload)) {
611
+ throw new Error("Wallet market feed returned an invalid response");
612
+ }
613
+ writeCachedWalletMarketOverview(cloudPayload);
614
+ return cloudPayload;
615
+ })().finally(() => {
616
+ walletMarketOverviewInFlight = null;
617
+ });
618
+ }
619
+ return walletMarketOverviewInFlight;
620
+ }
621
+ function emptyWalletMarketOverview(error = "Market data is unavailable in local iOS mode.") {
622
+ const unavailable = (providerId, providerName, providerUrl) => ({
623
+ providerId,
624
+ providerName,
625
+ providerUrl,
626
+ available: false,
627
+ stale: false,
628
+ error,
629
+ });
630
+ return {
631
+ generatedAt: nowIso(),
632
+ cacheTtlSeconds: 0,
633
+ stale: false,
634
+ sources: {
635
+ prices: unavailable("coingecko", "CoinGecko", "https://www.coingecko.com"),
636
+ movers: unavailable("coingecko", "CoinGecko", "https://www.coingecko.com"),
637
+ predictions: unavailable("polymarket", "Polymarket", "https://polymarket.com"),
638
+ },
639
+ prices: [],
640
+ movers: [],
641
+ predictions: [],
642
+ };
643
+ }
644
+ async function localWalletMarketOverview() {
645
+ if (typeof window === "undefined") {
646
+ return emptyWalletMarketOverview();
647
+ }
648
+ const cached = readCachedWalletMarketOverview();
649
+ if (cached) {
650
+ if (cached.expiresAt > Date.now()) {
651
+ return cached.response;
652
+ }
653
+ void refreshWalletMarketOverview();
654
+ return staleWalletMarketOverview(cached.response);
655
+ }
656
+ try {
657
+ return await refreshWalletMarketOverview();
658
+ }
659
+ catch (error) {
660
+ return emptyWalletMarketOverview(error instanceof Error ? error.message : "Market data is unavailable.");
661
+ }
662
+ }
663
+ function emptyWalletTradingProfile(url) {
664
+ const windowParam = url.searchParams.get("window");
665
+ const sourceParam = url.searchParams.get("source");
666
+ const selectedWindow = windowParam === "24h" ||
667
+ windowParam === "7d" ||
668
+ windowParam === "30d" ||
669
+ windowParam === "all"
670
+ ? windowParam
671
+ : "30d";
672
+ const selectedSource = sourceParam === "agent" || sourceParam === "manual" || sourceParam === "all"
673
+ ? sourceParam
674
+ : "all";
675
+ return {
676
+ window: selectedWindow,
677
+ source: selectedSource,
678
+ generatedAt: nowIso(),
679
+ summary: {
680
+ totalSwaps: 0,
681
+ buyCount: 0,
682
+ sellCount: 0,
683
+ settledCount: 0,
684
+ successCount: 0,
685
+ revertedCount: 0,
686
+ tradeWinRate: null,
687
+ txSuccessRate: null,
688
+ winningTrades: 0,
689
+ evaluatedTrades: 0,
690
+ realizedPnlBnb: "0",
691
+ volumeBnb: "0",
692
+ },
693
+ pnlSeries: [],
694
+ tokenBreakdown: [],
695
+ recentSwaps: [],
696
+ };
697
+ }
698
+ function json(data, status = 200) {
699
+ return new Response(JSON.stringify(data), {
700
+ status,
701
+ headers: {
702
+ "content-type": "application/json; charset=utf-8",
703
+ "cache-control": "no-store",
704
+ },
705
+ });
706
+ }
707
+ function textEventStream(events) {
708
+ const body = events
709
+ .map((event) => `data: ${JSON.stringify(event)}\n\n`)
710
+ .join("");
711
+ return new Response(body, {
712
+ headers: {
713
+ "content-type": "text/event-stream; charset=utf-8",
714
+ "cache-control": "no-store",
715
+ },
716
+ });
717
+ }
718
+ async function requestJson(request) {
719
+ const text = await request.text();
720
+ if (!text.trim())
721
+ return {};
722
+ const parsed = JSON.parse(text);
723
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
724
+ return {};
725
+ return parsed;
726
+ }
727
+ async function loadCapacitorLlama() {
728
+ llamaAdapterPromise ??= (async () => {
729
+ try {
730
+ const packageName = "@elizaos/capacitor-llama";
731
+ const mod = (await import(__rewriteRelativeImportExtension(
732
+ /* @vite-ignore */ packageName)));
733
+ return mod?.capacitorLlama ?? null;
734
+ }
735
+ catch {
736
+ return null;
737
+ }
738
+ })();
739
+ return llamaAdapterPromise;
740
+ }
741
+ async function loadLlamaCpp() {
742
+ llamaCppPromise ??= (async () => {
743
+ try {
744
+ const packageName = "llama-cpp-capacitor";
745
+ return (await import(__rewriteRelativeImportExtension(/* @vite-ignore */ packageName)));
746
+ }
747
+ catch {
748
+ return null;
749
+ }
750
+ })();
751
+ return llamaCppPromise;
752
+ }
753
+ function modelFilename(model) {
754
+ return `${model.id.replace(/[^a-zA-Z0-9._-]/g, "_")}.gguf`;
755
+ }
756
+ function buildHuggingFaceResolveUrlForPath(model, filePath) {
757
+ const encodedPath = filePath
758
+ .split("/")
759
+ .map((segment) => encodeURIComponent(segment))
760
+ .join("/");
761
+ return `https://huggingface.co/${model.hfRepo}/resolve/main/${encodedPath}?download=true`;
762
+ }
763
+ function buildHuggingFaceResolveUrl(model) {
764
+ return buildHuggingFaceResolveUrlForPath(model, model.ggufFile);
765
+ }
766
+ function basename(filePath) {
767
+ return filePath.split(/[\\/]/).filter(Boolean).pop() ?? filePath;
768
+ }
769
+ function dirname(filePath) {
770
+ const index = Math.max(filePath.lastIndexOf("/"), filePath.lastIndexOf("\\"));
771
+ return index > 0 ? filePath.slice(0, index) : undefined;
772
+ }
773
+ function commonBundleRoot(paths) {
774
+ const dirs = [...paths]
775
+ .map(dirname)
776
+ .filter((dir) => Boolean(dir));
777
+ if (dirs.length === 0)
778
+ return undefined;
779
+ const [first, ...rest] = dirs;
780
+ return rest.every((dir) => dir === first) ? first : undefined;
781
+ }
782
+ function iosBundleFilename(model, filePath) {
783
+ if (filePath === model.bundleManifestFile) {
784
+ return `${model.id.replace(/[^a-zA-Z0-9._-]/g, "_")}.manifest.json`;
785
+ }
786
+ const name = basename(filePath);
787
+ if (/\.gguf$/i.test(name))
788
+ return name;
789
+ const safePath = filePath.replace(/[^a-zA-Z0-9._-]/g, "_");
790
+ return `${model.id.replace(/[^a-zA-Z0-9._-]/g, "_")}__${safePath}`;
791
+ }
792
+ function parseIosBundleManifest(input, model) {
793
+ if (!input || typeof input !== "object") {
794
+ throw new Error("Invalid Eliza-1 manifest: expected object");
795
+ }
796
+ const raw = input;
797
+ if (raw.id !== model.id) {
798
+ throw new Error(`Invalid Eliza-1 manifest id for ${model.id}`);
799
+ }
800
+ if (raw.defaultEligible !== true || typeof raw.version !== "string") {
801
+ throw new Error("Invalid Eliza-1 manifest metadata");
802
+ }
803
+ if (!raw.files || typeof raw.files !== "object") {
804
+ throw new Error("Invalid Eliza-1 manifest files");
805
+ }
806
+ for (const kind of [
807
+ "text",
808
+ "voice",
809
+ "asr",
810
+ "vision",
811
+ "dflash",
812
+ "cache",
813
+ ]) {
814
+ if (!Array.isArray(raw.files[kind])) {
815
+ throw new Error(`Invalid Eliza-1 manifest files.${kind}`);
816
+ }
817
+ }
818
+ if (!raw.files.text.some((entry) => entry.path === model.ggufFile)) {
819
+ throw new Error(`Eliza-1 manifest missing text file ${model.ggufFile}`);
820
+ }
821
+ const drafterId = model.runtime?.dflash?.drafterModelId;
822
+ const drafter = drafterId ? findCatalogModel(drafterId) : undefined;
823
+ if (drafter &&
824
+ !raw.files.dflash.some((entry) => entry.path === drafter.ggufFile)) {
825
+ throw new Error(`Eliza-1 manifest missing DFlash file ${drafter.ggufFile}`);
826
+ }
827
+ return raw;
828
+ }
829
+ function collectIosBundleFiles(manifest) {
830
+ const files = new Map();
831
+ for (const entries of [
832
+ manifest.files.text,
833
+ manifest.files.voice,
834
+ manifest.files.asr,
835
+ manifest.files.vision,
836
+ manifest.files.dflash,
837
+ manifest.files.cache,
838
+ manifest.files.embedding ?? [],
839
+ manifest.files.vad ?? [],
840
+ manifest.files.wakeword ?? [],
841
+ ]) {
842
+ for (const entry of entries)
843
+ files.set(entry.path, entry);
844
+ }
845
+ return [...files.values()];
846
+ }
847
+ function catalogForAvailableModel(model) {
848
+ const haystack = `${model.name ?? ""} ${model.path ?? ""}`.toLowerCase();
849
+ const filenameCandidates = [model.name, model.path?.split(/[\\/]/).pop()]
850
+ .filter((value) => Boolean(value))
851
+ .map((value) => value.toLowerCase());
852
+ const fileMatch = MODEL_CATALOG.find((candidate) => {
853
+ const file = candidate.ggufFile.split("/").pop()?.toLowerCase() ?? "";
854
+ return file.length > 0 && filenameCandidates.includes(file);
855
+ });
856
+ if (fileMatch)
857
+ return fileMatch;
858
+ return [...MODEL_CATALOG]
859
+ .sort((a, b) => b.id.length - a.id.length)
860
+ .find((candidate) => haystack.includes(candidate.id.toLowerCase()));
861
+ }
862
+ function mobileRecommendedBucket(totalRamGb) {
863
+ if (totalRamGb >= 32)
864
+ return "xl";
865
+ if (totalRamGb >= 16)
866
+ return "large";
867
+ if (totalRamGb >= 12)
868
+ return "mid";
869
+ return "small";
870
+ }
871
+ function positiveFiniteNumber(value) {
872
+ return typeof value === "number" && Number.isFinite(value) && value > 0
873
+ ? value
874
+ : null;
875
+ }
876
+ function fallbackMobileTotalRamGb(platform) {
877
+ const browserMemory = typeof navigator === "undefined"
878
+ ? null
879
+ : positiveFiniteNumber(navigator.deviceMemory);
880
+ if (browserMemory)
881
+ return browserMemory;
882
+ return platform === "ios" ? 8 : 4;
883
+ }
884
+ function normalizeMobilePlatform(platform) {
885
+ return platform === "android" ? "android" : "ios";
886
+ }
887
+ function gpuBackendForMobile(platform, backend) {
888
+ if (backend === "vulkan")
889
+ return "vulkan";
890
+ return platform === "android" ? "vulkan" : "metal";
891
+ }
892
+ function mobileContextSize(hardware, catalog) {
893
+ const target = catalog?.runtime?.dflash?.contextSize ?? 4096;
894
+ if (hardware.totalRamGb >= 12)
895
+ return Math.min(target, 8192);
896
+ if (hardware.totalRamGb >= 8)
897
+ return Math.min(target, 6144);
898
+ return Math.min(target, 4096);
899
+ }
900
+ function mobileThreadCount(hardware) {
901
+ if (!Number.isFinite(hardware.cpuCores) || hardware.cpuCores <= 0)
902
+ return 0;
903
+ return Math.max(2, Math.min(Math.floor(hardware.cpuCores) - 1, 6));
904
+ }
905
+ function companionInstalled(installed, modelId) {
906
+ return installed.find((entry) => entry.id === modelId);
907
+ }
908
+ async function listInstalledModels() {
909
+ const llama = await loadLlamaCpp();
910
+ const result = await llama?.getAvailableModels?.().catch(() => []);
911
+ const models = Array.isArray(result) ? result : (result?.models ?? []);
912
+ const installedAt = nowIso();
913
+ const bundles = readBundleIndex();
914
+ return models
915
+ .filter((model) => typeof model.path === "string" && model.path.length > 0)
916
+ .map((model) => {
917
+ const catalog = catalogForAvailableModel(model);
918
+ const id = catalog?.id ??
919
+ (model.name || model.path || randomId("model")).replace(/\.gguf$/i, "");
920
+ const bundle = catalog?.companionForModelId
921
+ ? bundles[catalog.companionForModelId]
922
+ : catalog
923
+ ? bundles[catalog.id]
924
+ : undefined;
925
+ return {
926
+ id,
927
+ displayName: catalog?.displayName ?? model.name ?? id,
928
+ path: model.path,
929
+ sizeBytes: typeof model.size === "number" ? model.size : 0,
930
+ ...(bundle?.bundleRoot ? { bundleRoot: bundle.bundleRoot } : {}),
931
+ ...(bundle?.manifestPath ? { manifestPath: bundle.manifestPath } : {}),
932
+ ...(bundle?.bundleVersion
933
+ ? { bundleVersion: bundle.bundleVersion }
934
+ : {}),
935
+ ...(typeof bundle?.bundleSizeBytes === "number"
936
+ ? { bundleSizeBytes: bundle.bundleSizeBytes }
937
+ : {}),
938
+ ...(catalog?.hfRepo ? { hfRepo: catalog.hfRepo } : {}),
939
+ installedAt,
940
+ lastUsedAt: activeState.modelId === id ? activeState.loadedAt : null,
941
+ source: catalog ? "eliza-download" : "external-scan",
942
+ ...(catalog?.runtimeRole ? { runtimeRole: catalog.runtimeRole } : {}),
943
+ ...(catalog?.companionForModelId
944
+ ? { companionFor: catalog.companionForModelId }
945
+ : {}),
946
+ };
947
+ });
948
+ }
949
+ async function hardwareProbe() {
950
+ const llama = await loadCapacitorLlama();
951
+ const hardware = await llama?.getHardwareInfo?.().catch(() => null);
952
+ const cpuCores = hardware?.cpuCores ?? navigator.hardwareConcurrency ?? 0;
953
+ const platform = normalizeMobilePlatform(hardware?.platform);
954
+ const totalRamGb = positiveFiniteNumber(hardware?.totalRamGb) ??
955
+ fallbackMobileTotalRamGb(platform);
956
+ const availableRamGb = positiveFiniteNumber(hardware?.availableRamGb) ?? totalRamGb;
957
+ const gpu = hardware?.gpu?.available && hardware.gpuSupported !== false
958
+ ? {
959
+ backend: gpuBackendForMobile(platform, hardware.gpu.backend),
960
+ totalVramGb: 0,
961
+ freeVramGb: 0,
962
+ }
963
+ : null;
964
+ return {
965
+ totalRamGb,
966
+ freeRamGb: availableRamGb,
967
+ gpu,
968
+ cpuCores,
969
+ platform: platform,
970
+ arch: "arm64",
971
+ appleSilicon: true,
972
+ recommendedBucket: mobileRecommendedBucket(totalRamGb),
973
+ source: "os-fallback",
974
+ mobile: {
975
+ platform,
976
+ ...(hardware?.deviceModel ? { deviceModel: hardware.deviceModel } : {}),
977
+ ...(hardware?.machineId ? { machineId: hardware.machineId } : {}),
978
+ ...(hardware?.osVersion ? { osVersion: hardware.osVersion } : {}),
979
+ ...(typeof hardware?.isSimulator === "boolean"
980
+ ? { isSimulator: hardware.isSimulator }
981
+ : {}),
982
+ availableRamGb,
983
+ ...(typeof hardware?.freeStorageGb === "number"
984
+ ? { freeStorageGb: hardware.freeStorageGb }
985
+ : {}),
986
+ ...(typeof hardware?.lowPowerMode === "boolean"
987
+ ? { lowPowerMode: hardware.lowPowerMode }
988
+ : {}),
989
+ ...(hardware?.thermalState
990
+ ? { thermalState: hardware.thermalState }
991
+ : {}),
992
+ gpuSupported: hardware?.gpuSupported ?? Boolean(gpu),
993
+ dflashSupported: hardware?.dflashSupported ?? false,
994
+ dflashReason: hardware?.dflashReason ??
995
+ "native runtime has not reported DFlash drafter support",
996
+ source: hardware?.source ?? "adapter-fallback",
997
+ },
998
+ };
999
+ }
1000
+ function buildMobileLoadOptions(model, installed, hardware) {
1001
+ const catalog = findCatalogModel(model.id);
1002
+ const options = {
1003
+ modelPath: model.path,
1004
+ contextSize: mobileContextSize(hardware, catalog),
1005
+ useGpu: hardware.mobile?.gpuSupported !== false,
1006
+ maxThreads: mobileThreadCount(hardware),
1007
+ };
1008
+ const dflash = catalog?.runtime?.dflash;
1009
+ if (!dflash)
1010
+ return options;
1011
+ if (hardware.mobile?.dflashSupported !== true)
1012
+ return options;
1013
+ const drafter = companionInstalled(installed, dflash.drafterModelId);
1014
+ if (!drafter)
1015
+ return options;
1016
+ return {
1017
+ ...options,
1018
+ draftModelPath: drafter.path,
1019
+ draftContextSize: dflash.draftContextSize,
1020
+ draftMin: dflash.draftMin,
1021
+ draftMax: dflash.draftMax,
1022
+ speculativeSamples: Math.min(dflash.draftMax, 4),
1023
+ mobileSpeculative: true,
1024
+ cacheTypeK: catalog.runtime?.kvCache?.typeK,
1025
+ cacheTypeV: catalog.runtime?.kvCache?.typeV,
1026
+ disableThinking: dflash.disableThinking,
1027
+ };
1028
+ }
1029
+ function runtimeSignature(options) {
1030
+ return [
1031
+ options.modelPath,
1032
+ options.contextSize ?? "",
1033
+ options.draftModelPath ?? "",
1034
+ options.draftContextSize ?? "",
1035
+ options.speculativeSamples ?? "",
1036
+ options.cacheTypeK ?? "",
1037
+ options.cacheTypeV ?? "",
1038
+ ].join("|");
1039
+ }
1040
+ async function validateMobileModelFit(model) {
1041
+ if (model.runtimeRole === "dflash-drafter")
1042
+ return null;
1043
+ const hardware = await hardwareProbe();
1044
+ const fit = assessCatalogModelFit(hardware, model, MODEL_CATALOG);
1045
+ if (fit === "wontfit") {
1046
+ return `${model.displayName} is above this device's local inference minspec. Switch to a smaller model.`;
1047
+ }
1048
+ const freeStorageGb = hardware.mobile?.freeStorageGb;
1049
+ if (typeof freeStorageGb === "number" && freeStorageGb > 0) {
1050
+ const requiredGb = catalogDownloadSizeGb(model, MODEL_CATALOG);
1051
+ if (requiredGb > freeStorageGb * 0.9) {
1052
+ return `Not enough free storage for ${model.displayName}: needs about ${requiredGb.toFixed(1)} GB including companions, ${freeStorageGb.toFixed(1)} GB available.`;
1053
+ }
1054
+ }
1055
+ return null;
1056
+ }
1057
+ async function ensureActiveModelLoaded() {
1058
+ if (activeState.status !== "ready" || !activeState.modelId) {
1059
+ throw new Error("No local model is active. Install and activate a GGUF model first.");
1060
+ }
1061
+ const installed = await listInstalledModels();
1062
+ const model = installed.find((entry) => entry.id === activeState.modelId);
1063
+ if (!model) {
1064
+ writeActiveModelState({
1065
+ modelId: activeState.modelId,
1066
+ loadedAt: null,
1067
+ status: "error",
1068
+ error: "Active model file is missing",
1069
+ });
1070
+ throw new Error("Active model file is missing");
1071
+ }
1072
+ const llama = await loadCapacitorLlama();
1073
+ if (!llama?.load || !llama.generate) {
1074
+ throw new Error("Capacitor llama runtime is not available on this build.");
1075
+ }
1076
+ const hardware = await hardwareProbe();
1077
+ const loadOptions = buildMobileLoadOptions(model, installed, hardware);
1078
+ const signature = runtimeSignature(loadOptions);
1079
+ const loaded = await llama.isLoaded?.().catch(() => null);
1080
+ if (loaded?.loaded &&
1081
+ loaded.modelPath === model.path &&
1082
+ loadedRuntimeSignature === signature) {
1083
+ return;
1084
+ }
1085
+ await llama.load(loadOptions);
1086
+ loadedRuntimeSignature = signature;
1087
+ }
1088
+ function emptyUsage(modelId) {
1089
+ return {
1090
+ promptTokens: 0,
1091
+ completionTokens: 0,
1092
+ totalTokens: 0,
1093
+ ...(modelId ? { model: modelId } : {}),
1094
+ };
1095
+ }
1096
+ async function localModelStatusReply(text) {
1097
+ const intent = classifyLocalModelIntent(text);
1098
+ if (activeState.status === "ready" && intent !== "status")
1099
+ return null;
1100
+ const hardware = await hardwareProbe();
1101
+ const activeCatalog = activeState.modelId
1102
+ ? findCatalogModel(activeState.modelId)
1103
+ : null;
1104
+ let model = activeCatalog ??
1105
+ selectRecommendedModelForSlot("TEXT_LARGE", hardware, MODEL_CATALOG).model;
1106
+ if (!model) {
1107
+ return {
1108
+ text: "I could not find a local model that fits this device.",
1109
+ usage: emptyUsage(activeState.modelId),
1110
+ localInference: {
1111
+ intent: intent ?? "status",
1112
+ status: "failed",
1113
+ activeModelId: activeState.modelId,
1114
+ error: "No fitting local model in catalog",
1115
+ },
1116
+ };
1117
+ }
1118
+ if (intent === "switch_smaller") {
1119
+ const smaller = chooseSmallerFallbackModel(model.id, hardware, "TEXT_LARGE", MODEL_CATALOG);
1120
+ if (smaller)
1121
+ model = smaller;
1122
+ const validationError = await validateMobileModelFit(model);
1123
+ if (validationError) {
1124
+ return {
1125
+ text: validationError,
1126
+ usage: emptyUsage(model.id),
1127
+ localInference: {
1128
+ intent,
1129
+ status: validationError.toLowerCase().includes("storage")
1130
+ ? "no_space"
1131
+ : "failed",
1132
+ modelId: model.id,
1133
+ activeModelId: activeState.modelId,
1134
+ error: validationError,
1135
+ },
1136
+ };
1137
+ }
1138
+ startDownload(model);
1139
+ }
1140
+ else if (intent === "download" ||
1141
+ intent === "redownload" ||
1142
+ activeState.status === "idle" ||
1143
+ !activeState.modelId) {
1144
+ const validationError = await validateMobileModelFit(model);
1145
+ if (validationError) {
1146
+ const smaller = chooseSmallerFallbackModel(model.id, hardware, "TEXT_LARGE", MODEL_CATALOG);
1147
+ if (smaller) {
1148
+ model = smaller;
1149
+ }
1150
+ else {
1151
+ return {
1152
+ text: validationError,
1153
+ usage: emptyUsage(model.id),
1154
+ localInference: {
1155
+ intent: intent ?? "download",
1156
+ status: validationError.toLowerCase().includes("storage")
1157
+ ? "no_space"
1158
+ : "failed",
1159
+ modelId: model.id,
1160
+ activeModelId: activeState.modelId,
1161
+ error: validationError,
1162
+ },
1163
+ };
1164
+ }
1165
+ }
1166
+ startDownload(model);
1167
+ }
1168
+ else if (intent === "cancel") {
1169
+ for (const job of aggregateDownloadJobs(model)) {
1170
+ if (["queued", "downloading"].includes(job.state)) {
1171
+ updateDownload(job, { state: "cancelled", etaMs: 0 });
1172
+ }
1173
+ }
1174
+ }
1175
+ const jobs = aggregateDownloadJobs(model);
1176
+ const progress = aggregateProgress(jobs);
1177
+ if (activeState.status === "ready") {
1178
+ return {
1179
+ text: `Local inference is ready on ${model.displayName}.`,
1180
+ usage: emptyUsage(model.id),
1181
+ localInference: {
1182
+ intent: "status",
1183
+ status: "ready",
1184
+ modelId: model.id,
1185
+ activeModelId: activeState.modelId,
1186
+ },
1187
+ };
1188
+ }
1189
+ const state = activeState.status === "loading"
1190
+ ? "loading"
1191
+ : progress.state === "failed"
1192
+ ? progress.error?.toLowerCase().includes("space")
1193
+ ? "no_space"
1194
+ : "failed"
1195
+ : progress.state === "cancelled"
1196
+ ? "cancelled"
1197
+ : progress.state === "completed"
1198
+ ? "loading"
1199
+ : progress.state === "missing"
1200
+ ? "missing"
1201
+ : "downloading";
1202
+ return {
1203
+ text: statusLine(model, jobs),
1204
+ usage: emptyUsage(model.id),
1205
+ localInference: {
1206
+ intent: intent ?? "status",
1207
+ status: state,
1208
+ modelId: model.id,
1209
+ activeModelId: activeState.modelId,
1210
+ ...(progress.error ? { error: progress.error } : {}),
1211
+ progress: {
1212
+ ...(progress.percent !== null ? { percent: progress.percent } : {}),
1213
+ receivedBytes: progress.received,
1214
+ totalBytes: progress.total ||
1215
+ Math.round(catalogDownloadSizeGb(model, MODEL_CATALOG) * 1024 ** 3),
1216
+ bytesPerSec: progress.bytesPerSec,
1217
+ etaMs: progress.etaMs,
1218
+ },
1219
+ },
1220
+ };
1221
+ }
1222
+ function buildPrompt(messages, latestText) {
1223
+ const history = messages
1224
+ .slice(-12)
1225
+ .map((message) => {
1226
+ const role = message.role === "assistant" ? "Assistant" : "User";
1227
+ return `${role}: ${message.text}`;
1228
+ })
1229
+ .join("\n");
1230
+ return `${DEFAULT_SYSTEM_PROMPT}\n\n${history}${history ? "\n" : ""}User: ${latestText}\nAssistant:`;
1231
+ }
1232
+ async function generateLocalReply(conversation, text) {
1233
+ const statusReply = await localModelStatusReply(text);
1234
+ if (statusReply)
1235
+ return statusReply;
1236
+ await ensureActiveModelLoaded();
1237
+ const llama = await loadCapacitorLlama();
1238
+ if (!llama?.generate) {
1239
+ throw new Error("Capacitor llama runtime is not available on this build.");
1240
+ }
1241
+ const prompt = buildPrompt(conversation.messages, text);
1242
+ const result = await llama.generate({
1243
+ prompt,
1244
+ maxTokens: 256,
1245
+ temperature: 0.7,
1246
+ topP: 0.9,
1247
+ stopSequences: ["\nUser:", "\nAssistant:"],
1248
+ });
1249
+ const cleaned = result.text.trim() || "I could not generate a local response.";
1250
+ return {
1251
+ text: cleaned,
1252
+ usage: {
1253
+ promptTokens: result.promptTokens,
1254
+ completionTokens: result.outputTokens,
1255
+ totalTokens: result.promptTokens + result.outputTokens,
1256
+ ...(activeState.modelId ? { model: activeState.modelId } : {}),
1257
+ },
1258
+ };
1259
+ }
1260
+ async function generateLocalGreeting() {
1261
+ const setupReply = await localModelStatusReply("download the default local model");
1262
+ if (setupReply && setupReply.localInference?.status !== "ready") {
1263
+ return setupReply;
1264
+ }
1265
+ return {
1266
+ text: "What would you like to work on?",
1267
+ usage: emptyUsage(activeState.modelId),
1268
+ ...(setupReply?.localInference
1269
+ ? { localInference: setupReply.localInference }
1270
+ : {}),
1271
+ };
1272
+ }
1273
+ function createConversation(title) {
1274
+ const createdAt = nowIso();
1275
+ const id = randomId("conv");
1276
+ return {
1277
+ id,
1278
+ roomId: id,
1279
+ title: title?.trim() || "New chat",
1280
+ createdAt,
1281
+ updatedAt: createdAt,
1282
+ messages: [],
1283
+ };
1284
+ }
1285
+ function conversationDto(conversation) {
1286
+ return {
1287
+ id: conversation.id,
1288
+ title: conversation.title,
1289
+ roomId: conversation.roomId,
1290
+ createdAt: conversation.createdAt,
1291
+ updatedAt: conversation.updatedAt,
1292
+ };
1293
+ }
1294
+ async function hubSnapshot() {
1295
+ const [installed, hardware] = await Promise.all([
1296
+ listInstalledModels(),
1297
+ hardwareProbe(),
1298
+ ]);
1299
+ return {
1300
+ catalog: MODEL_CATALOG,
1301
+ installed,
1302
+ active: activeState,
1303
+ downloads: [...downloads.values()],
1304
+ hardware,
1305
+ assignments: readAssignments(),
1306
+ };
1307
+ }
1308
+ function updateDownload(job, patch) {
1309
+ Object.assign(job, patch, { updatedAt: nowIso() });
1310
+ downloads.set(job.modelId, { ...job });
1311
+ }
1312
+ function sleep(ms) {
1313
+ return new Promise((resolve) => setTimeout(resolve, ms));
1314
+ }
1315
+ function formatGb(bytes) {
1316
+ return `${(bytes / 1024 ** 3).toFixed(1)}GB`;
1317
+ }
1318
+ function aggregateDownloadJobs(model) {
1319
+ const ids = [model.id, ...(model.companionModelIds ?? [])];
1320
+ return ids.flatMap((id) => {
1321
+ const job = downloads.get(id);
1322
+ return job ? [job] : [];
1323
+ });
1324
+ }
1325
+ function aggregateProgress(jobs) {
1326
+ if (jobs.length === 0) {
1327
+ return {
1328
+ received: 0,
1329
+ total: 0,
1330
+ percent: null,
1331
+ bytesPerSec: 0,
1332
+ etaMs: null,
1333
+ state: "missing",
1334
+ };
1335
+ }
1336
+ const received = jobs.reduce((sum, job) => sum + Math.max(0, job.received), 0);
1337
+ const total = jobs.reduce((sum, job) => sum + Math.max(0, job.total), 0);
1338
+ const bytesPerSec = jobs.reduce((sum, job) => sum + Math.max(0, job.bytesPerSec), 0);
1339
+ const failed = jobs.find((job) => job.state === "failed");
1340
+ const cancelled = jobs.find((job) => job.state === "cancelled");
1341
+ const active = jobs.find((job) => ["queued", "downloading"].includes(job.state));
1342
+ const allCompleted = jobs.every((job) => job.state === "completed");
1343
+ const etaMs = total > received && bytesPerSec > 0
1344
+ ? Math.round(((total - received) / bytesPerSec) * 1000)
1345
+ : null;
1346
+ return {
1347
+ received,
1348
+ total,
1349
+ percent: total > 0 ? Math.min(100, Math.round((received / total) * 100)) : null,
1350
+ bytesPerSec,
1351
+ etaMs,
1352
+ state: failed
1353
+ ? "failed"
1354
+ : cancelled
1355
+ ? "cancelled"
1356
+ : active
1357
+ ? active.state
1358
+ : allCompleted
1359
+ ? "completed"
1360
+ : "missing",
1361
+ ...(failed?.error ? { error: failed.error } : {}),
1362
+ };
1363
+ }
1364
+ function classifyLocalModelIntent(text) {
1365
+ const normalized = text.toLowerCase();
1366
+ if (/\b(cancel|stop|pause|abort)\b/.test(normalized))
1367
+ return "cancel";
1368
+ if (/\b(redownload|re-download|download again|fresh copy|retry download)\b/.test(normalized)) {
1369
+ return "redownload";
1370
+ }
1371
+ if (/\b(smaller|lighter|tiny|low memory|less memory|save space|not enough space)\b/.test(normalized)) {
1372
+ return "switch_smaller";
1373
+ }
1374
+ if (/\b(download|install|fetch|pull|resume|retry)\b/.test(normalized))
1375
+ return "download";
1376
+ if (/\b(status|progress|percent|percentage|eta|what.*happen|how.*long)\b/.test(normalized)) {
1377
+ return "status";
1378
+ }
1379
+ return null;
1380
+ }
1381
+ function statusLine(model, jobs, detail) {
1382
+ const progress = aggregateProgress(jobs);
1383
+ const templates = [
1384
+ () => `I'm still downloading ${model.displayName}: ${progress.percent ?? 0}% (${formatGb(progress.received)}/${formatGb(progress.total || Math.round(catalogDownloadSizeGb(model, MODEL_CATALOG) * 1024 ** 3))}). Please hold on.`,
1385
+ () => `${model.displayName} is still downloading: ${progress.percent ?? 0}% complete, ${formatGb(progress.received)} of ${formatGb(progress.total || Math.round(catalogDownloadSizeGb(model, MODEL_CATALOG) * 1024 ** 3))}.`,
1386
+ () => `Local inference is still downloading. ${model.displayName} is at ${progress.percent ?? 0}% (${formatGb(progress.received)}/${formatGb(progress.total ||
1387
+ Math.round(catalogDownloadSizeGb(model, MODEL_CATALOG) * 1024 ** 3))}).`,
1388
+ ];
1389
+ if (progress.state === "failed") {
1390
+ return `The ${model.displayName} download failed${progress.error ? `: ${progress.error}` : "."}`;
1391
+ }
1392
+ if (progress.state === "cancelled") {
1393
+ return `The ${model.displayName} download is cancelled.`;
1394
+ }
1395
+ if (detail)
1396
+ return detail;
1397
+ const index = Math.abs(Math.floor(Date.now() / 10_000)) % templates.length;
1398
+ return templates[index]();
1399
+ }
1400
+ async function queueCompanionDownloads(model) {
1401
+ if (!model.companionModelIds?.length)
1402
+ return;
1403
+ const installed = await listInstalledModels().catch(() => []);
1404
+ for (const companionId of model.companionModelIds) {
1405
+ const companion = findCatalogModel(companionId);
1406
+ if (!companion)
1407
+ continue;
1408
+ if (installed.some((entry) => entry.id === companionId))
1409
+ continue;
1410
+ const existing = downloads.get(companionId);
1411
+ if (existing &&
1412
+ existing.state !== "failed" &&
1413
+ existing.state !== "cancelled") {
1414
+ continue;
1415
+ }
1416
+ startDownload(companion);
1417
+ }
1418
+ }
1419
+ async function downloadNativeModelFile(llama, url, filename) {
1420
+ if (!llama.downloadModel) {
1421
+ throw new Error("Native Eliza-1 downloader is unavailable.");
1422
+ }
1423
+ const result = await llama.downloadModel(url, filename);
1424
+ return typeof result === "string" ? result : (result.path ?? filename);
1425
+ }
1426
+ async function downloadIosBundle(model, llama, job) {
1427
+ if (!model.bundleManifestFile) {
1428
+ throw new Error(`${model.displayName} does not declare an Eliza-1 manifest.`);
1429
+ }
1430
+ const manifestUrl = buildHuggingFaceResolveUrlForPath(model, model.bundleManifestFile);
1431
+ const manifestResponse = await fetch(manifestUrl, { redirect: "follow" });
1432
+ if (!manifestResponse.ok) {
1433
+ throw new Error(`HTTP ${manifestResponse.status} while fetching ${model.displayName} manifest`);
1434
+ }
1435
+ const manifest = parseIosBundleManifest(await manifestResponse.json(), model);
1436
+ const files = {};
1437
+ const manifestPath = await downloadNativeModelFile(llama, manifestUrl, iosBundleFilename(model, model.bundleManifestFile));
1438
+ files[model.bundleManifestFile] = manifestPath;
1439
+ const entries = collectIosBundleFiles(manifest);
1440
+ const totalSteps = Math.max(entries.length + 1, 1);
1441
+ let completedSteps = 1;
1442
+ updateDownload(job, {
1443
+ received: Math.min(job.total, Math.round((completedSteps / totalSteps) * job.total)),
1444
+ });
1445
+ for (const entry of entries) {
1446
+ const url = buildHuggingFaceResolveUrlForPath(model, entry.path);
1447
+ files[entry.path] = await downloadNativeModelFile(llama, url, iosBundleFilename(model, entry.path));
1448
+ completedSteps += 1;
1449
+ updateDownload(job, {
1450
+ received: Math.min(job.total, Math.round((completedSteps / totalSteps) * job.total)),
1451
+ });
1452
+ }
1453
+ const textPath = files[model.ggufFile];
1454
+ if (!textPath) {
1455
+ throw new Error(`Eliza-1 bundle did not install ${model.ggufFile}`);
1456
+ }
1457
+ writeBundleRecord({
1458
+ modelId: model.id,
1459
+ bundleVersion: manifest.version,
1460
+ manifestPath,
1461
+ bundleRoot: commonBundleRoot(Object.values(files)),
1462
+ bundleSizeBytes: job.total,
1463
+ files,
1464
+ installedAt: nowIso(),
1465
+ });
1466
+ return textPath;
1467
+ }
1468
+ function startDownload(model) {
1469
+ const existing = downloads.get(model.id);
1470
+ if (existing && ["queued", "downloading"].includes(existing.state)) {
1471
+ return existing;
1472
+ }
1473
+ const job = {
1474
+ jobId: randomId("download"),
1475
+ modelId: model.id,
1476
+ state: "queued",
1477
+ received: 0,
1478
+ total: Math.round(model.sizeGb * 1024 ** 3),
1479
+ bytesPerSec: 0,
1480
+ etaMs: null,
1481
+ startedAt: nowIso(),
1482
+ updatedAt: nowIso(),
1483
+ };
1484
+ downloads.set(model.id, job);
1485
+ void (async () => {
1486
+ try {
1487
+ if (model.runtimeRole !== "dflash-drafter" && !model.bundleManifestFile) {
1488
+ void queueCompanionDownloads(model);
1489
+ }
1490
+ updateDownload(job, { state: "downloading" });
1491
+ const llama = await loadLlamaCpp();
1492
+ if (!llama?.downloadModel) {
1493
+ throw new Error("Native Eliza-1 downloader is unavailable.");
1494
+ }
1495
+ if (model.bundleManifestFile && model.runtimeRole !== "dflash-drafter") {
1496
+ const textPath = await downloadIosBundle(model, llama, job);
1497
+ updateDownload(job, {
1498
+ state: "completed",
1499
+ received: job.total,
1500
+ etaMs: 0,
1501
+ });
1502
+ if (activeState.status === "idle" || !activeState.modelId) {
1503
+ await activateModel(model.id, textPath).catch(() => undefined);
1504
+ }
1505
+ return;
1506
+ }
1507
+ const downloadUrl = buildHuggingFaceResolveUrl(model);
1508
+ let polling = true;
1509
+ void (async () => {
1510
+ while (polling && ["queued", "downloading"].includes(job.state)) {
1511
+ try {
1512
+ const progress = await llama.getDownloadProgress?.(downloadUrl);
1513
+ if (progress) {
1514
+ const received = typeof progress.downloaded === "number"
1515
+ ? progress.downloaded
1516
+ : typeof progress.received === "number"
1517
+ ? progress.received
1518
+ : job.received;
1519
+ const total = typeof progress.total === "number" && progress.total > 0
1520
+ ? progress.total
1521
+ : job.total;
1522
+ const bytesPerSec = typeof progress.bytesPerSec === "number"
1523
+ ? progress.bytesPerSec
1524
+ : job.bytesPerSec;
1525
+ updateDownload(job, {
1526
+ received,
1527
+ total,
1528
+ bytesPerSec,
1529
+ etaMs: typeof progress.etaMs === "number" || progress.etaMs === null
1530
+ ? progress.etaMs
1531
+ : total > received && bytesPerSec > 0
1532
+ ? Math.round(((total - received) / bytesPerSec) * 1000)
1533
+ : job.etaMs,
1534
+ ...(progress.error ? { error: progress.error } : {}),
1535
+ });
1536
+ }
1537
+ }
1538
+ catch {
1539
+ // The native progress endpoint is best-effort; the download promise
1540
+ // remains the source of truth for completion or failure.
1541
+ }
1542
+ await sleep(1000);
1543
+ }
1544
+ })();
1545
+ let result;
1546
+ try {
1547
+ result = await llama.downloadModel(downloadUrl, modelFilename(model));
1548
+ }
1549
+ finally {
1550
+ polling = false;
1551
+ }
1552
+ const path = typeof result === "string"
1553
+ ? result
1554
+ : (result.path ?? modelFilename(model));
1555
+ updateDownload(job, {
1556
+ state: "completed",
1557
+ received: job.total,
1558
+ etaMs: 0,
1559
+ });
1560
+ if (model.runtimeRole === "dflash-drafter") {
1561
+ if (model.companionForModelId &&
1562
+ activeState.modelId === model.companionForModelId) {
1563
+ await activateModel(model.companionForModelId).catch(() => undefined);
1564
+ }
1565
+ return;
1566
+ }
1567
+ if (activeState.status === "idle" || !activeState.modelId) {
1568
+ await activateModel(model.id, path).catch(() => undefined);
1569
+ }
1570
+ }
1571
+ catch (error) {
1572
+ updateDownload(job, {
1573
+ state: "failed",
1574
+ error: error instanceof Error ? error.message : String(error),
1575
+ });
1576
+ }
1577
+ })();
1578
+ return job;
1579
+ }
1580
+ async function activateModel(modelId, knownPath) {
1581
+ const catalog = findCatalogModel(modelId);
1582
+ if (catalog?.runtimeRole === "dflash-drafter") {
1583
+ const state = {
1584
+ modelId,
1585
+ loadedAt: null,
1586
+ status: "error",
1587
+ error: `${catalog.displayName} is a DFlash drafter companion, not a standalone chat model.`,
1588
+ };
1589
+ writeActiveModelState(state);
1590
+ return state;
1591
+ }
1592
+ const installed = await listInstalledModels();
1593
+ const model = installed.find((entry) => entry.id === modelId) ??
1594
+ (knownPath
1595
+ ? {
1596
+ id: modelId,
1597
+ displayName: findCatalogModel(modelId)?.displayName ?? modelId,
1598
+ path: knownPath,
1599
+ sizeBytes: 0,
1600
+ installedAt: nowIso(),
1601
+ lastUsedAt: null,
1602
+ source: "eliza-download",
1603
+ ...(catalog?.runtimeRole ? { runtimeRole: catalog.runtimeRole } : {}),
1604
+ }
1605
+ : null);
1606
+ if (!model) {
1607
+ const state = {
1608
+ modelId,
1609
+ loadedAt: null,
1610
+ status: "error",
1611
+ error: `Model ${modelId} is not installed.`,
1612
+ };
1613
+ writeActiveModelState(state);
1614
+ return state;
1615
+ }
1616
+ writeActiveModelState({ modelId, loadedAt: null, status: "loading" });
1617
+ try {
1618
+ const llama = await loadCapacitorLlama();
1619
+ if (!llama?.load) {
1620
+ throw new Error("Capacitor llama runtime is not available on this build.");
1621
+ }
1622
+ const hardware = await hardwareProbe();
1623
+ if (catalog) {
1624
+ const fit = assessCatalogModelFit(hardware, catalog, MODEL_CATALOG);
1625
+ if (fit === "wontfit") {
1626
+ throw new Error(`${catalog.displayName} is above this device's local inference minspec. Switch to a smaller model.`);
1627
+ }
1628
+ }
1629
+ const loadOptions = buildMobileLoadOptions(model, installed, hardware);
1630
+ await llama.load(loadOptions);
1631
+ loadedRuntimeSignature = runtimeSignature(loadOptions);
1632
+ const state = {
1633
+ modelId,
1634
+ loadedAt: nowIso(),
1635
+ status: "ready",
1636
+ };
1637
+ writeActiveModelState(state);
1638
+ const assignments = readAssignments();
1639
+ writeAssignments({
1640
+ ...assignments,
1641
+ TEXT_SMALL: assignments.TEXT_SMALL ?? modelId,
1642
+ TEXT_LARGE: assignments.TEXT_LARGE ?? modelId,
1643
+ });
1644
+ return state;
1645
+ }
1646
+ catch (error) {
1647
+ const state = {
1648
+ modelId,
1649
+ loadedAt: null,
1650
+ status: "error",
1651
+ error: error instanceof Error ? error.message : String(error),
1652
+ };
1653
+ writeActiveModelState(state);
1654
+ return state;
1655
+ }
1656
+ }
1657
+ export function startIosLocalAgentKernel() {
1658
+ running = true;
1659
+ startedAt = startedAt || Date.now();
1660
+ }
1661
+ export async function handleIosLocalAgentRequest(request, _context = {}) {
1662
+ startIosLocalAgentKernel();
1663
+ const url = new URL(request.url);
1664
+ const method = request.method.toUpperCase();
1665
+ const pathname = url.pathname;
1666
+ if (method === "OPTIONS")
1667
+ return new Response(null, { status: 204 });
1668
+ if (method === "GET" && pathname === "/api/health") {
1669
+ return json({
1670
+ ready: running,
1671
+ runtime: "ok",
1672
+ database: "localStorage",
1673
+ plugins: { loaded: 0, failed: 0 },
1674
+ coordinator: "not_wired",
1675
+ connectors: {},
1676
+ uptime: Math.floor((Date.now() - startedAt) / 1000),
1677
+ agentState: running ? "running" : "not_started",
1678
+ });
1679
+ }
1680
+ if (method === "GET" && pathname === "/api/status") {
1681
+ return json({
1682
+ state: running ? "running" : "not_started",
1683
+ agentName: AGENT_NAME,
1684
+ model: activeState.status === "ready" ? activeState.modelId : null,
1685
+ startedAt,
1686
+ uptime: Date.now() - startedAt,
1687
+ cloud: {
1688
+ connectionStatus: "disconnected",
1689
+ activeAgentId: null,
1690
+ cloudProvisioned: false,
1691
+ hasApiKey: false,
1692
+ },
1693
+ pendingRestart: false,
1694
+ pendingRestartReasons: [],
1695
+ });
1696
+ }
1697
+ if (method === "POST" && pathname === "/api/agent/reset") {
1698
+ resetIosLocalAgentState();
1699
+ return json({ ok: true });
1700
+ }
1701
+ if (method === "POST" && pathname === "/api/agent/restart") {
1702
+ running = true;
1703
+ startedAt = Date.now();
1704
+ return json({
1705
+ status: {
1706
+ state: "running",
1707
+ agentName: AGENT_NAME,
1708
+ model: activeState.status === "ready" ? activeState.modelId : null,
1709
+ startedAt,
1710
+ uptime: 0,
1711
+ cloud: {
1712
+ connectionStatus: "disconnected",
1713
+ activeAgentId: null,
1714
+ cloudProvisioned: false,
1715
+ hasApiKey: false,
1716
+ },
1717
+ pendingRestart: false,
1718
+ pendingRestartReasons: [],
1719
+ },
1720
+ });
1721
+ }
1722
+ if (method === "GET" && pathname === "/api/auth/status") {
1723
+ return json({ required: false, pairingEnabled: false, expiresAt: null });
1724
+ }
1725
+ if (method === "GET" && pathname === "/api/auth/me") {
1726
+ return json({
1727
+ identity: {
1728
+ id: "local-agent",
1729
+ displayName: "Local Agent",
1730
+ kind: "machine",
1731
+ },
1732
+ session: { id: "local", kind: "local", expiresAt: null },
1733
+ access: {
1734
+ mode: "local",
1735
+ passwordConfigured: false,
1736
+ ownerConfigured: false,
1737
+ },
1738
+ });
1739
+ }
1740
+ if (method === "GET" && pathname === "/api/onboarding/status") {
1741
+ return json({
1742
+ complete: true,
1743
+ cloudProvisioned: false,
1744
+ deploymentTarget: "local",
1745
+ });
1746
+ }
1747
+ if (method === "GET" && pathname === "/api/config") {
1748
+ return json(localConfig());
1749
+ }
1750
+ if (method === "PUT" && pathname === "/api/config") {
1751
+ return json(localConfig());
1752
+ }
1753
+ if (method === "GET" && pathname === "/api/config/schema") {
1754
+ return json({ schema: {}, defaults: localConfig() });
1755
+ }
1756
+ if (method === "GET" && pathname === "/api/character") {
1757
+ return json(localCharacter());
1758
+ }
1759
+ if (method === "PUT" && pathname === "/api/character") {
1760
+ return json(localCharacter());
1761
+ }
1762
+ if (method === "GET" && pathname === "/api/wallet/addresses") {
1763
+ return json(EMPTY_WALLET_ADDRESSES);
1764
+ }
1765
+ if (method === "GET" && pathname === "/api/wallet/config") {
1766
+ return json(localWalletConfig());
1767
+ }
1768
+ if (method === "PUT" && pathname === "/api/wallet/config") {
1769
+ return json({ ok: true });
1770
+ }
1771
+ if (method === "GET" && pathname === "/api/wallet/balances") {
1772
+ return json({ evm: null, solana: null });
1773
+ }
1774
+ if (method === "GET" && pathname === "/api/wallet/nfts") {
1775
+ return json({ evm: [], solana: null });
1776
+ }
1777
+ if (method === "GET" && pathname === "/api/wallet/market-overview") {
1778
+ return json(await localWalletMarketOverview());
1779
+ }
1780
+ if (method === "GET" && pathname === "/api/wallet/trading/profile") {
1781
+ return json(emptyWalletTradingProfile(url));
1782
+ }
1783
+ if (method === "POST" && pathname === "/api/wallet/refresh-cloud") {
1784
+ return json({
1785
+ ok: false,
1786
+ warnings: ["Cloud wallet refresh is unavailable in local iOS mode."],
1787
+ });
1788
+ }
1789
+ if (method === "POST" && pathname === "/api/wallet/primary") {
1790
+ return json({ ok: false, error: "No wallet is configured." }, 400);
1791
+ }
1792
+ if (method === "GET" && pathname === "/api/browser-workspace") {
1793
+ return json(browserWorkspaceSnapshot());
1794
+ }
1795
+ if (method === "GET" && pathname === "/api/browser-workspace/tabs") {
1796
+ return json({ tabs: readBrowserWorkspaceStore().tabs });
1797
+ }
1798
+ if (method === "POST" && pathname === "/api/browser-workspace/tabs") {
1799
+ return openBrowserWorkspaceTab(request);
1800
+ }
1801
+ if (pathname.startsWith("/api/browser-workspace/tabs/")) {
1802
+ const response = await handleBrowserWorkspaceTabRoute(request, pathname);
1803
+ if (response)
1804
+ return response;
1805
+ }
1806
+ if (method === "GET" && pathname === "/api/stream/settings") {
1807
+ return json({ settings: {} });
1808
+ }
1809
+ if (method === "HEAD" && pathname.startsWith("/api/avatar/")) {
1810
+ return new Response(null, { status: 404 });
1811
+ }
1812
+ if (method === "GET" && pathname === "/api/agent/events") {
1813
+ return json({ events: [] });
1814
+ }
1815
+ if (method === "GET" && pathname === "/api/workbench/overview") {
1816
+ return json({
1817
+ tasks: [],
1818
+ triggers: [],
1819
+ todos: [],
1820
+ autonomy: { enabled: false, thinking: false, lastEventAt: null },
1821
+ });
1822
+ }
1823
+ if (method === "GET" &&
1824
+ (pathname === "/api/apps" || pathname === "/api/catalog/apps")) {
1825
+ return json([]);
1826
+ }
1827
+ if (method === "GET" && pathname === "/api/plugins") {
1828
+ return json({ plugins: [] });
1829
+ }
1830
+ if (method === "GET" && pathname === "/api/skills") {
1831
+ return json({ skills: [] });
1832
+ }
1833
+ if (method === "GET" && pathname === "/api/local-inference/hub") {
1834
+ return json(await hubSnapshot());
1835
+ }
1836
+ if (method === "GET" && pathname === "/api/local-inference/hardware") {
1837
+ return json(await hardwareProbe());
1838
+ }
1839
+ if (method === "GET" && pathname === "/api/local-inference/catalog") {
1840
+ return json({ models: MODEL_CATALOG });
1841
+ }
1842
+ if (method === "GET" && pathname === "/api/local-inference/installed") {
1843
+ return json({ models: await listInstalledModels() });
1844
+ }
1845
+ if (method === "GET" && pathname === "/api/local-inference/downloads") {
1846
+ return json({ downloads: [...downloads.values()] });
1847
+ }
1848
+ if (method === "GET" &&
1849
+ pathname === "/api/local-inference/downloads/stream") {
1850
+ return textEventStream([
1851
+ {
1852
+ type: "snapshot",
1853
+ downloads: [...downloads.values()],
1854
+ active: activeState,
1855
+ },
1856
+ ]);
1857
+ }
1858
+ if (method === "POST" && pathname === "/api/local-inference/downloads") {
1859
+ const body = await requestJson(request);
1860
+ const modelId = typeof body.modelId === "string"
1861
+ ? body.modelId
1862
+ : typeof body.spec === "object" &&
1863
+ body.spec &&
1864
+ !Array.isArray(body.spec) &&
1865
+ typeof body.spec.id === "string"
1866
+ ? body.spec.id
1867
+ : "";
1868
+ const catalog = findCatalogModel(modelId);
1869
+ if (!catalog)
1870
+ return json({ error: `Unknown model id: ${modelId}` }, 404);
1871
+ const validationError = await validateMobileModelFit(catalog);
1872
+ if (validationError)
1873
+ return json({ error: validationError }, 409);
1874
+ return json({ job: startDownload(catalog) });
1875
+ }
1876
+ const downloadMatch = pathname.match(/^\/api\/local-inference\/downloads\/([^/]+)$/);
1877
+ if (downloadMatch) {
1878
+ const modelId = decodeURIComponent(downloadMatch[1]);
1879
+ const job = downloads.get(modelId);
1880
+ if (method === "GET") {
1881
+ return job ? json({ job }) : json({ error: "Download not found" }, 404);
1882
+ }
1883
+ if (method === "DELETE") {
1884
+ if (job && ["queued", "downloading"].includes(job.state)) {
1885
+ const catalog = findCatalogModel(modelId);
1886
+ if (catalog) {
1887
+ const llama = await loadLlamaCpp();
1888
+ const cancelPath = catalog.bundleManifestFile ?? catalog.ggufFile;
1889
+ await llama
1890
+ ?.cancelDownload?.(buildHuggingFaceResolveUrlForPath(catalog, cancelPath))
1891
+ .catch(() => false);
1892
+ }
1893
+ updateDownload(job, { state: "cancelled", etaMs: 0 });
1894
+ }
1895
+ return json({ ok: true, job: downloads.get(modelId) ?? null });
1896
+ }
1897
+ }
1898
+ if (method === "GET" && pathname === "/api/local-inference/active") {
1899
+ return json(activeState);
1900
+ }
1901
+ if (method === "POST" && pathname === "/api/local-inference/active") {
1902
+ const body = await requestJson(request);
1903
+ const modelId = typeof body.modelId === "string" ? body.modelId.trim() : "";
1904
+ if (!modelId)
1905
+ return json({ error: "modelId is required" }, 400);
1906
+ return json(await activateModel(modelId));
1907
+ }
1908
+ if (method === "DELETE" && pathname === "/api/local-inference/active") {
1909
+ writeActiveModelState({ modelId: null, loadedAt: null, status: "idle" });
1910
+ loadedRuntimeSignature = null;
1911
+ return json(activeState);
1912
+ }
1913
+ if (method === "GET" && pathname === "/api/local-inference/assignments") {
1914
+ return json({ assignments: readAssignments() });
1915
+ }
1916
+ if (method === "POST" && pathname === "/api/local-inference/assignments") {
1917
+ const body = await requestJson(request);
1918
+ const slot = typeof body.slot === "string" ? body.slot : "";
1919
+ const modelId = typeof body.modelId === "string" ? body.modelId : null;
1920
+ if (!isAgentModelSlot(slot)) {
1921
+ return json({ error: "slot is required" }, 400);
1922
+ }
1923
+ const assignments = { ...readAssignments(), [slot]: modelId };
1924
+ if (modelId === null)
1925
+ delete assignments[slot];
1926
+ writeAssignments(assignments);
1927
+ return json({ assignments });
1928
+ }
1929
+ if (method === "GET" && pathname === "/api/local-inference/providers") {
1930
+ return json({ providers: [await capacitorLlamaProviderStatus()] });
1931
+ }
1932
+ if (method === "GET" && pathname === "/api/local-inference/routing") {
1933
+ return json({
1934
+ registrations: [],
1935
+ preferences: EMPTY_ROUTING_PREFERENCES,
1936
+ });
1937
+ }
1938
+ if (method === "POST" &&
1939
+ (pathname === "/api/local-inference/routing/preferred" ||
1940
+ pathname === "/api/local-inference/routing/policy")) {
1941
+ return json({
1942
+ preferences: EMPTY_ROUTING_PREFERENCES,
1943
+ });
1944
+ }
1945
+ if (method === "GET" && pathname === "/api/local-inference/device") {
1946
+ return json({
1947
+ enabled: true,
1948
+ connected: true,
1949
+ devices: [
1950
+ {
1951
+ id: "ios-local",
1952
+ label: "This iPhone",
1953
+ platform: "ios",
1954
+ connectedAt: startedAt,
1955
+ lastSeenAt: Date.now(),
1956
+ },
1957
+ ],
1958
+ });
1959
+ }
1960
+ const installedMatch = pathname.match(/^\/api\/local-inference\/installed\/([^/]+)(?:\/verify)?$/);
1961
+ if (installedMatch) {
1962
+ const id = decodeURIComponent(installedMatch[1]);
1963
+ const installed = await listInstalledModels();
1964
+ const model = installed.find((entry) => entry.id === id);
1965
+ if (!model)
1966
+ return json({ error: "Model not found" }, 404);
1967
+ if (method === "GET")
1968
+ return json({ model });
1969
+ if (method === "DELETE") {
1970
+ return json({ ok: false, error: "Uninstall is not supported on iOS yet." }, 400);
1971
+ }
1972
+ if (method === "POST" && pathname.endsWith("/verify")) {
1973
+ return json({ ok: true, model, errors: [] });
1974
+ }
1975
+ }
1976
+ if (method === "GET" && pathname === "/api/conversations") {
1977
+ const store = readStore();
1978
+ return json({
1979
+ conversations: store.conversations
1980
+ .map(conversationDto)
1981
+ .sort((a, b) => b.updatedAt.localeCompare(a.updatedAt)),
1982
+ });
1983
+ }
1984
+ if (method === "POST" && pathname === "/api/conversations") {
1985
+ const body = await requestJson(request);
1986
+ const conversation = createConversation(typeof body.title === "string" ? body.title : undefined);
1987
+ const store = readStore();
1988
+ store.conversations.unshift(conversation);
1989
+ writeStore(store);
1990
+ return json({ conversation: conversationDto(conversation) });
1991
+ }
1992
+ const greetingMatch = pathname.match(/^\/api\/conversations\/([^/]+)\/greeting$/);
1993
+ if (greetingMatch && method === "POST") {
1994
+ const greeting = await generateLocalGreeting();
1995
+ return json({
1996
+ text: greeting.text,
1997
+ agentName: AGENT_NAME,
1998
+ generated: true,
1999
+ persisted: false,
2000
+ ...(greeting.localInference
2001
+ ? { localInference: greeting.localInference }
2002
+ : {}),
2003
+ });
2004
+ }
2005
+ const messageMatch = pathname.match(/^\/api\/conversations\/([^/]+)\/messages(?:\/stream|\/truncate)?$/);
2006
+ if (messageMatch) {
2007
+ const conversationId = decodeURIComponent(messageMatch[1]);
2008
+ const store = readStore();
2009
+ const conversation = store.conversations.find((entry) => entry.id === conversationId);
2010
+ if (!conversation)
2011
+ return json({ error: "Conversation not found" }, 404);
2012
+ if (method === "GET" && pathname.endsWith("/messages")) {
2013
+ return json({ messages: conversation.messages });
2014
+ }
2015
+ if (method === "POST" && pathname.endsWith("/messages/truncate")) {
2016
+ const body = await requestJson(request);
2017
+ const messageId = typeof body.messageId === "string" ? body.messageId : null;
2018
+ if (!messageId)
2019
+ return json({ error: "messageId is required" }, 400);
2020
+ const index = conversation.messages.findIndex((m) => m.id === messageId);
2021
+ if (index < 0)
2022
+ return json({ ok: true, deletedCount: 0 });
2023
+ const inclusive = body.inclusive === true;
2024
+ const deleteFrom = inclusive ? index : index + 1;
2025
+ const deletedCount = conversation.messages.length - deleteFrom;
2026
+ conversation.messages.splice(deleteFrom);
2027
+ conversation.updatedAt = nowIso();
2028
+ writeStore(store);
2029
+ return json({ ok: true, deletedCount });
2030
+ }
2031
+ if (method === "POST") {
2032
+ const body = await requestJson(request);
2033
+ const text = typeof body.text === "string" ? body.text.trim() : "";
2034
+ if (!text)
2035
+ return json({ error: "text is required" }, 400);
2036
+ const userMessage = {
2037
+ id: randomId("msg"),
2038
+ role: "user",
2039
+ text,
2040
+ timestamp: Date.now(),
2041
+ };
2042
+ conversation.messages.push(userMessage);
2043
+ if (conversation.title === "New chat") {
2044
+ conversation.title = text.slice(0, 60) || conversation.title;
2045
+ }
2046
+ const reply = await generateLocalReply(conversation, text);
2047
+ const assistantMessage = {
2048
+ id: randomId("msg"),
2049
+ role: "assistant",
2050
+ text: reply.text,
2051
+ timestamp: Date.now(),
2052
+ ...(reply.localInference
2053
+ ? { localInference: reply.localInference }
2054
+ : {}),
2055
+ };
2056
+ conversation.messages.push(assistantMessage);
2057
+ conversation.updatedAt = nowIso();
2058
+ writeStore(store);
2059
+ if (pathname.endsWith("/stream")) {
2060
+ return textEventStream([
2061
+ { type: "token", text: reply.text, fullText: reply.text },
2062
+ {
2063
+ type: "done",
2064
+ fullText: reply.text,
2065
+ agentName: AGENT_NAME,
2066
+ usage: reply.usage,
2067
+ ...(reply.localInference
2068
+ ? { localInference: reply.localInference }
2069
+ : {}),
2070
+ },
2071
+ ]);
2072
+ }
2073
+ return json({
2074
+ text: reply.text,
2075
+ agentName: AGENT_NAME,
2076
+ blocks: [{ type: "text", text: reply.text }],
2077
+ ...(reply.localInference
2078
+ ? { localInference: reply.localInference }
2079
+ : {}),
2080
+ });
2081
+ }
2082
+ }
2083
+ const conversationMatch = pathname.match(/^\/api\/conversations\/([^/]+)$/);
2084
+ if (conversationMatch) {
2085
+ const conversationId = decodeURIComponent(conversationMatch[1]);
2086
+ const store = readStore();
2087
+ const index = store.conversations.findIndex((entry) => entry.id === conversationId);
2088
+ if (index < 0)
2089
+ return json({ error: "Conversation not found" }, 404);
2090
+ if (method === "DELETE") {
2091
+ store.conversations.splice(index, 1);
2092
+ writeStore(store);
2093
+ return json({ ok: true });
2094
+ }
2095
+ if (method === "PATCH") {
2096
+ const body = await requestJson(request);
2097
+ if (typeof body.title === "string" && body.title.trim()) {
2098
+ store.conversations[index].title = body.title.trim();
2099
+ }
2100
+ store.conversations[index].updatedAt = nowIso();
2101
+ writeStore(store);
2102
+ return json({
2103
+ conversation: conversationDto(store.conversations[index]),
2104
+ });
2105
+ }
2106
+ }
2107
+ return json({ error: "Not found" }, 404);
2108
+ }