@elizaos/ui 2.0.0-alpha.382 → 2.0.0-alpha.385

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 (777) hide show
  1. package/apps/app-companion/src/components/avatar/VrmViewer.d.ts.map +1 -1
  2. package/apps/app-companion/src/components/avatar/VrmViewer.js +2 -1
  3. package/apps/app-companion/src/components/companion/CompanionAppView.d.ts.map +1 -1
  4. package/apps/app-companion/src/components/companion/CompanionAppView.js +2 -1
  5. package/apps/app-companion/src/components/companion/CompanionView.d.ts.map +1 -1
  6. package/apps/app-companion/src/components/companion/CompanionView.js +2 -1
  7. package/apps/app-companion/src/components/companion/EmotePicker.d.ts.map +1 -1
  8. package/apps/app-companion/src/components/companion/EmotePicker.js +1 -1
  9. package/apps/app-companion/src/components/companion/scene-overlay-bridge.d.ts.map +1 -1
  10. package/apps/app-companion/src/components/companion/scene-overlay-bridge.js +2 -1
  11. package/apps/app-companion/src/index.d.ts +3 -3
  12. package/apps/app-companion/src/index.d.ts.map +1 -1
  13. package/apps/app-companion/src/index.js +3 -3
  14. package/apps/app-elizamaker/src/drop-service.d.ts +2 -2
  15. package/apps/app-elizamaker/src/drop-service.d.ts.map +1 -1
  16. package/apps/app-elizamaker/src/twitter-verify.d.ts +2 -2
  17. package/apps/app-elizamaker/src/twitter-verify.d.ts.map +1 -1
  18. package/apps/app-lifeops/src/api/client-lifeops.d.ts +1 -1
  19. package/apps/app-lifeops/src/api/client-lifeops.d.ts.map +1 -1
  20. package/apps/app-lifeops/src/contracts/index.d.ts +1 -1
  21. package/apps/app-lifeops/src/contracts/index.d.ts.map +1 -1
  22. package/apps/app-lifeops/src/contracts/index.js +1 -1
  23. package/apps/app-lifeops/src/inbox/message-fetcher.d.ts.map +1 -1
  24. package/apps/app-lifeops/src/inbox/message-fetcher.js +4 -2
  25. package/apps/app-lifeops/src/lifeops/google-managed-client.d.ts.map +1 -1
  26. package/apps/app-lifeops/src/lifeops/google-managed-client.js +4 -3
  27. package/apps/app-lifeops/src/lifeops/paypal-managed-client.d.ts.map +1 -1
  28. package/apps/app-lifeops/src/lifeops/paypal-managed-client.js +4 -3
  29. package/apps/app-lifeops/src/lifeops/plaid-managed-client.d.ts.map +1 -1
  30. package/apps/app-lifeops/src/lifeops/plaid-managed-client.js +4 -3
  31. package/apps/app-lifeops/src/lifeops/repository.d.ts +12 -1
  32. package/apps/app-lifeops/src/lifeops/repository.d.ts.map +1 -1
  33. package/apps/app-lifeops/src/lifeops/repository.js +135 -0
  34. package/apps/app-lifeops/src/lifeops/schedule-sync-client.js +1 -1
  35. package/apps/app-lifeops/src/lifeops/schema.d.ts +4587 -3791
  36. package/apps/app-lifeops/src/lifeops/schema.d.ts.map +1 -1
  37. package/apps/app-lifeops/src/lifeops/schema.js +30 -0
  38. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts +2 -0
  39. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts.map +1 -1
  40. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.js +103 -13
  41. package/apps/app-lifeops/src/routes/cloud-features-routes.d.ts.map +1 -1
  42. package/apps/app-lifeops/src/routes/cloud-features-routes.js +2 -1
  43. package/apps/app-lifeops/src/routes/travel-provider-relay-routes.d.ts.map +1 -1
  44. package/apps/app-lifeops/src/routes/travel-provider-relay-routes.js +2 -1
  45. package/package.json +1 -1
  46. package/packages/agent/src/actions/grounded-action-reply.d.ts.map +1 -1
  47. package/packages/agent/src/actions/grounded-action-reply.js +1 -1
  48. package/packages/agent/src/actions/index.d.ts +1 -0
  49. package/packages/agent/src/actions/index.d.ts.map +1 -1
  50. package/packages/agent/src/actions/index.js +1 -0
  51. package/packages/agent/src/actions/scratchpad.d.ts +7 -0
  52. package/packages/agent/src/actions/scratchpad.d.ts.map +1 -0
  53. package/packages/agent/src/actions/scratchpad.js +394 -0
  54. package/packages/agent/src/actions/settings-actions.js +1 -1
  55. package/packages/agent/src/actions/terminal.d.ts.map +1 -1
  56. package/packages/agent/src/actions/terminal.js +10 -2
  57. package/packages/agent/src/api/apps-routes.d.ts.map +1 -1
  58. package/packages/agent/src/api/apps-routes.js +171 -0
  59. package/packages/agent/src/api/binance-skill-helpers.d.ts.map +1 -1
  60. package/packages/agent/src/api/chat-routes.d.ts +3 -0
  61. package/packages/agent/src/api/chat-routes.d.ts.map +1 -1
  62. package/packages/agent/src/api/chat-routes.js +33 -14
  63. package/packages/agent/src/api/conversation-routes.js +2 -2
  64. package/packages/agent/src/api/misc-routes.d.ts.map +1 -1
  65. package/packages/agent/src/api/misc-routes.js +2 -2
  66. package/packages/agent/src/api/permissions-routes.js +1 -1
  67. package/packages/agent/src/api/plugin-routes.d.ts.map +1 -1
  68. package/packages/agent/src/api/plugin-routes.js +7 -1
  69. package/packages/agent/src/api/provider-switch-config.js +1 -1
  70. package/packages/agent/src/api/registry-service.d.ts +1 -1
  71. package/packages/agent/src/api/registry-service.d.ts.map +1 -1
  72. package/packages/agent/src/api/server-auth.d.ts.map +1 -1
  73. package/packages/agent/src/api/server-auth.js +119 -1
  74. package/packages/agent/src/api/server-helpers-auth.d.ts.map +1 -1
  75. package/packages/agent/src/api/server-helpers-auth.js +119 -1
  76. package/packages/agent/src/api/server-helpers-swarm.d.ts +1 -1
  77. package/packages/agent/src/api/server-helpers-swarm.d.ts.map +1 -1
  78. package/packages/agent/src/api/server-helpers.js +1 -1
  79. package/packages/agent/src/api/server-types.d.ts +2 -2
  80. package/packages/agent/src/api/server-types.d.ts.map +1 -1
  81. package/packages/agent/src/api/server.d.ts.map +1 -1
  82. package/packages/agent/src/api/server.js +5 -4
  83. package/packages/agent/src/api/training-backend-check.d.ts +1 -1
  84. package/packages/agent/src/api/training-backend-check.d.ts.map +1 -1
  85. package/packages/agent/src/api/training-backend-check.js +1 -1
  86. package/packages/agent/src/api/training-routes.d.ts +1 -1
  87. package/packages/agent/src/api/training-routes.d.ts.map +1 -1
  88. package/packages/agent/src/api/training-routes.js +1 -1
  89. package/packages/agent/src/api/training-service-like.d.ts +1 -1
  90. package/packages/agent/src/api/training-service-like.d.ts.map +1 -1
  91. package/packages/agent/src/api/trajectory-routes.d.ts +1 -1
  92. package/packages/agent/src/api/trajectory-routes.d.ts.map +1 -1
  93. package/packages/agent/src/api/trajectory-routes.js +1 -1
  94. package/packages/agent/src/api/wallet-capability.js +1 -1
  95. package/packages/agent/src/api/wallet-evm-balance.js +1 -1
  96. package/packages/agent/src/api/wallet.d.ts +1 -1
  97. package/packages/agent/src/api/wallet.d.ts.map +1 -1
  98. package/packages/agent/src/api/wallet.js +2 -2
  99. package/packages/agent/src/awareness/index.d.ts +2 -0
  100. package/packages/agent/src/awareness/index.d.ts.map +1 -0
  101. package/packages/agent/src/awareness/index.js +1 -0
  102. package/packages/agent/src/config/config.d.ts.map +1 -1
  103. package/packages/agent/src/config/config.js +2 -0
  104. package/packages/agent/src/config/index.d.ts +1 -0
  105. package/packages/agent/src/config/index.d.ts.map +1 -1
  106. package/packages/agent/src/config/index.js +1 -0
  107. package/packages/agent/src/config/model-metadata.d.ts +20 -0
  108. package/packages/agent/src/config/model-metadata.d.ts.map +1 -0
  109. package/packages/agent/src/config/model-metadata.js +133 -0
  110. package/packages/agent/src/config/zod-schema.core.d.ts +28 -28
  111. package/packages/agent/src/config/zod-schema.core.d.ts.map +1 -1
  112. package/packages/agent/src/config/zod-schema.core.js +16 -9
  113. package/packages/agent/src/config/zod-schema.d.ts +10 -10
  114. package/packages/agent/src/index.d.ts +6 -11
  115. package/packages/agent/src/index.d.ts.map +1 -1
  116. package/packages/agent/src/index.js +8 -10
  117. package/packages/agent/src/providers/media-provider.js +1 -1
  118. package/packages/agent/src/runtime/custom-actions.d.ts.map +1 -1
  119. package/packages/agent/src/runtime/custom-actions.js +1 -1
  120. package/packages/agent/src/runtime/eliza-plugin.d.ts.map +1 -1
  121. package/packages/agent/src/runtime/eliza-plugin.js +6 -0
  122. package/packages/agent/src/runtime/eliza.d.ts.map +1 -1
  123. package/packages/agent/src/runtime/eliza.js +7 -7
  124. package/packages/agent/src/runtime/prompt-optimization.d.ts +24 -1
  125. package/packages/agent/src/runtime/prompt-optimization.d.ts.map +1 -1
  126. package/packages/agent/src/runtime/prompt-optimization.js +292 -27
  127. package/packages/agent/src/runtime/trajectory-internals.d.ts +1 -0
  128. package/packages/agent/src/runtime/trajectory-internals.d.ts.map +1 -1
  129. package/packages/agent/src/runtime/trajectory-storage.d.ts.map +1 -1
  130. package/packages/agent/src/runtime/trajectory-storage.js +3 -0
  131. package/packages/agent/src/services/index.d.ts +4 -4
  132. package/packages/agent/src/services/index.d.ts.map +1 -1
  133. package/packages/agent/src/services/index.js +2 -2
  134. package/packages/agent/src/services/registry-client-app-meta.d.ts.map +1 -1
  135. package/packages/agent/src/services/registry-client-app-meta.js +0 -61
  136. package/packages/agent/src/services/skill-marketplace.d.ts.map +1 -1
  137. package/packages/app-core/src/App.js +1 -1
  138. package/packages/app-core/src/api/auth.js +1 -1
  139. package/packages/app-core/src/api/client-agent.d.ts +1 -2
  140. package/packages/app-core/src/api/client-agent.d.ts.map +1 -1
  141. package/packages/app-core/src/api/client-chat.d.ts +10 -1
  142. package/packages/app-core/src/api/client-chat.d.ts.map +1 -1
  143. package/packages/app-core/src/api/client-chat.js +33 -0
  144. package/packages/app-core/src/api/client-skills.d.ts.map +1 -1
  145. package/packages/app-core/src/api/client-types-chat.d.ts +1 -0
  146. package/packages/app-core/src/api/client-types-chat.d.ts.map +1 -1
  147. package/packages/app-core/src/api/client-types-config.d.ts +2 -2
  148. package/packages/app-core/src/api/client-types-config.d.ts.map +1 -1
  149. package/packages/app-core/src/api/client-wallet.d.ts +2 -4
  150. package/packages/app-core/src/api/client-wallet.d.ts.map +1 -1
  151. package/packages/app-core/src/api/client.d.ts +3 -4
  152. package/packages/app-core/src/api/client.d.ts.map +1 -1
  153. package/packages/app-core/src/api/client.js +1 -1
  154. package/packages/app-core/src/api/compat-route-shared.d.ts +1 -1
  155. package/packages/app-core/src/api/compat-route-shared.d.ts.map +1 -1
  156. package/packages/app-core/src/api/compat-route-shared.js +117 -1
  157. package/packages/app-core/src/api/server-cloud-tts.js +1 -1
  158. package/packages/app-core/src/api/trusted-local-request.d.ts +4 -0
  159. package/packages/app-core/src/api/trusted-local-request.d.ts.map +1 -0
  160. package/packages/app-core/src/api/trusted-local-request.js +176 -0
  161. package/packages/app-core/src/autonomy/index.d.ts.map +1 -1
  162. package/packages/app-core/src/autonomy/index.js +3 -1
  163. package/packages/app-core/src/components/auth/LoginView.d.ts +3 -23
  164. package/packages/app-core/src/components/auth/LoginView.d.ts.map +1 -1
  165. package/packages/app-core/src/components/auth/LoginView.js +43 -33
  166. package/packages/app-core/src/components/chat/AppsSection.d.ts.map +1 -1
  167. package/packages/app-core/src/components/chat/AppsSection.js +61 -6
  168. package/packages/app-core/src/components/chat/MessageContent.d.ts.map +1 -1
  169. package/packages/app-core/src/components/chat/MessageContent.js +26 -3
  170. package/packages/app-core/src/components/chat/message-choice-parser.d.ts +20 -0
  171. package/packages/app-core/src/components/chat/message-choice-parser.d.ts.map +1 -0
  172. package/packages/app-core/src/components/chat/message-choice-parser.js +53 -0
  173. package/packages/app-core/src/components/chat/widgets/ChoiceWidget.d.ts +24 -0
  174. package/packages/app-core/src/components/chat/widgets/ChoiceWidget.d.ts.map +1 -0
  175. package/packages/app-core/src/components/chat/widgets/ChoiceWidget.js +38 -0
  176. package/packages/app-core/src/components/connectors/ConnectorSetupPanel.js +1 -1
  177. package/packages/app-core/src/components/custom-actions/CustomActionEditor.d.ts.map +1 -1
  178. package/packages/app-core/src/components/custom-actions/CustomActionsPanel.d.ts.map +1 -1
  179. package/packages/app-core/src/components/custom-actions/CustomActionsView.d.ts.map +1 -1
  180. package/packages/app-core/src/components/custom-actions/custom-action-form.d.ts.map +1 -1
  181. package/packages/app-core/src/components/pages/BrowserWorkspaceView.js +1 -1
  182. package/packages/app-core/src/components/pages/KnowledgeView.d.ts.map +1 -1
  183. package/packages/app-core/src/components/pages/KnowledgeView.js +11 -1
  184. package/packages/app-core/src/components/pages/PluginConfigForm.d.ts.map +1 -1
  185. package/packages/app-core/src/components/pages/PluginConfigForm.js +1 -1
  186. package/packages/app-core/src/components/pages/ScratchpadView.d.ts +2 -0
  187. package/packages/app-core/src/components/pages/ScratchpadView.d.ts.map +1 -0
  188. package/packages/app-core/src/components/pages/ScratchpadView.js +364 -0
  189. package/packages/app-core/src/components/pages/SettingsView.d.ts.map +1 -1
  190. package/packages/app-core/src/components/pages/SettingsView.js +29 -5
  191. package/packages/app-core/src/components/pages/VectorBrowserView.d.ts.map +1 -1
  192. package/packages/app-core/src/components/pages/VectorBrowserView.js +1 -1
  193. package/packages/app-core/src/components/pages/config-page-sections.d.ts +1 -1
  194. package/packages/app-core/src/components/pages/config-page-sections.d.ts.map +1 -1
  195. package/packages/app-core/src/components/pages/config-page-sections.js +1 -1
  196. package/packages/app-core/src/components/pages/plugin-list-utils.d.ts +1 -1
  197. package/packages/app-core/src/components/pages/plugin-list-utils.d.ts.map +1 -1
  198. package/packages/app-core/src/components/pages/useBrowserWorkspaceWalletBridge.d.ts +1 -1
  199. package/packages/app-core/src/components/pages/useBrowserWorkspaceWalletBridge.d.ts.map +1 -1
  200. package/packages/app-core/src/components/pages/useBrowserWorkspaceWalletBridge.js +1 -1
  201. package/packages/app-core/src/components/settings/ApiKeyConfig.js +1 -1
  202. package/packages/app-core/src/components/settings/AppearanceSettingsSection.d.ts.map +1 -1
  203. package/packages/app-core/src/components/settings/AppearanceSettingsSection.js +1 -1
  204. package/packages/app-core/src/components/settings/AppsManagementSection.d.ts +12 -0
  205. package/packages/app-core/src/components/settings/AppsManagementSection.d.ts.map +1 -0
  206. package/packages/app-core/src/components/settings/AppsManagementSection.js +285 -0
  207. package/packages/app-core/src/components/settings/PermissionsSection.js +1 -1
  208. package/packages/app-core/src/components/settings/ProviderSwitcher.d.ts.map +1 -1
  209. package/packages/app-core/src/components/settings/ProviderSwitcher.js +2 -2
  210. package/packages/app-core/src/components/settings/SecuritySettingsSection.d.ts.map +1 -1
  211. package/packages/app-core/src/components/settings/SecuritySettingsSection.js +150 -33
  212. package/packages/app-core/src/components/settings/cloud-model-schema.d.ts +1 -1
  213. package/packages/app-core/src/components/settings/cloud-model-schema.d.ts.map +1 -1
  214. package/packages/app-core/src/components/shell/Header.d.ts.map +1 -1
  215. package/packages/app-core/src/components/shell/Header.js +28 -1
  216. package/packages/app-core/src/components/steward/injected.d.ts.map +1 -1
  217. package/packages/app-core/src/components/steward/injected.js +1 -1
  218. package/packages/app-core/src/components/training/injected.d.ts.map +1 -1
  219. package/packages/app-core/src/components/training/injected.js +1 -1
  220. package/packages/app-core/src/config/boot-config-store.d.ts +1 -1
  221. package/packages/app-core/src/config/boot-config-store.d.ts.map +1 -1
  222. package/packages/app-core/src/content-packs/bundled-packs.d.ts.map +1 -1
  223. package/packages/app-core/src/hooks/index.d.ts +0 -2
  224. package/packages/app-core/src/hooks/index.d.ts.map +1 -1
  225. package/packages/app-core/src/hooks/index.js +0 -2
  226. package/packages/app-core/src/hooks/useAuthStatus.d.ts +5 -0
  227. package/packages/app-core/src/hooks/useAuthStatus.d.ts.map +1 -1
  228. package/packages/app-core/src/hooks/useAuthStatus.js +41 -18
  229. package/packages/app-core/src/hooks/useSignalPairing.d.ts +1 -1
  230. package/packages/app-core/src/hooks/useSignalPairing.d.ts.map +1 -1
  231. package/packages/app-core/src/hooks/useWhatsAppPairing.d.ts +1 -1
  232. package/packages/app-core/src/hooks/useWhatsAppPairing.d.ts.map +1 -1
  233. package/packages/app-core/src/i18n/locales/en.json +0 -1
  234. package/packages/app-core/src/i18n/locales/es.json +0 -1
  235. package/packages/app-core/src/i18n/locales/ko.json +0 -1
  236. package/packages/app-core/src/i18n/locales/pt.json +0 -1
  237. package/packages/app-core/src/i18n/locales/tl.json +0 -1
  238. package/packages/app-core/src/i18n/locales/vi.json +0 -1
  239. package/packages/app-core/src/i18n/locales/zh-CN.json +0 -1
  240. package/packages/app-core/src/index.d.ts +0 -1
  241. package/packages/app-core/src/index.d.ts.map +1 -1
  242. package/packages/app-core/src/index.js +0 -1
  243. package/packages/app-core/src/runtime/channel-plugin-map.d.ts.map +1 -1
  244. package/packages/app-core/src/runtime/channel-plugin-map.js +1 -1
  245. package/packages/app-core/src/runtime/plugin-manager-guard.d.ts.map +1 -1
  246. package/packages/app-core/src/runtime/plugin-manager-guard.js +1 -1
  247. package/packages/app-core/src/services/plugin-installer.d.ts.map +1 -1
  248. package/packages/app-core/src/services/plugin-installer.js +1 -8
  249. package/packages/app-core/src/state/index.d.ts +0 -1
  250. package/packages/app-core/src/state/index.d.ts.map +1 -1
  251. package/packages/app-core/src/state/index.js +0 -1
  252. package/packages/app-core/src/state/startup-phase-restore.d.ts.map +1 -1
  253. package/packages/app-core/src/state/startup-phase-restore.js +1 -1
  254. package/packages/app-core/src/state/useOnboardingState.js +2 -2
  255. package/packages/app-core/src/state/usePluginsSkillsState.d.ts +4 -4
  256. package/packages/app-core/src/types/index.d.ts +1 -1
  257. package/packages/app-core/src/types/index.d.ts.map +1 -1
  258. package/packages/shared/src/contracts/index.d.ts +1 -0
  259. package/packages/shared/src/contracts/index.d.ts.map +1 -1
  260. package/packages/shared/src/contracts/index.js +1 -0
  261. package/packages/shared/src/contracts/scratchpad.d.ts +136 -0
  262. package/packages/shared/src/contracts/scratchpad.d.ts.map +1 -0
  263. package/packages/shared/src/contracts/scratchpad.js +90 -0
  264. package/packages/shared/src/index.d.ts +13 -13
  265. package/packages/shared/src/index.d.ts.map +1 -1
  266. package/packages/shared/src/index.js +19 -19
  267. package/packages/shared/src/spoken-text.js +1 -1
  268. package/packages/typescript/src/features/advanced-capabilities/evaluators/factExtractor.d.ts.map +1 -1
  269. package/packages/typescript/src/features/advanced-capabilities/evaluators/factExtractor.js +12 -6
  270. package/packages/typescript/src/generated/action-docs.d.ts +25 -0
  271. package/packages/typescript/src/generated/action-docs.d.ts.map +1 -1
  272. package/packages/typescript/src/generated/action-docs.js +51 -0
  273. package/packages/typescript/src/services/message.d.ts.map +1 -1
  274. package/packages/typescript/src/services/message.js +1 -3
  275. package/packages/typescript/src/types/tools.d.ts.map +1 -1
  276. package/packages/typescript/src/types/tools.js +7 -3
  277. package/apps/app-lifeops/src/action.d.ts +0 -3
  278. package/apps/app-lifeops/src/action.d.ts.map +0 -1
  279. package/apps/app-lifeops/src/action.js +0 -351
  280. package/apps/app-lifeops/src/actions/activity-report.d.ts +0 -13
  281. package/apps/app-lifeops/src/actions/activity-report.d.ts.map +0 -1
  282. package/apps/app-lifeops/src/actions/activity-report.js +0 -313
  283. package/apps/app-lifeops/src/actions/app-blocker.d.ts +0 -7
  284. package/apps/app-lifeops/src/actions/app-blocker.d.ts.map +0 -1
  285. package/apps/app-lifeops/src/actions/app-blocker.js +0 -454
  286. package/apps/app-lifeops/src/actions/approval.d.ts +0 -21
  287. package/apps/app-lifeops/src/actions/approval.d.ts.map +0 -1
  288. package/apps/app-lifeops/src/actions/approval.js +0 -342
  289. package/apps/app-lifeops/src/actions/autofill.d.ts +0 -35
  290. package/apps/app-lifeops/src/actions/autofill.d.ts.map +0 -1
  291. package/apps/app-lifeops/src/actions/autofill.js +0 -475
  292. package/apps/app-lifeops/src/actions/book-travel-executor.d.ts +0 -9
  293. package/apps/app-lifeops/src/actions/book-travel-executor.d.ts.map +0 -1
  294. package/apps/app-lifeops/src/actions/book-travel-executor.js +0 -65
  295. package/apps/app-lifeops/src/actions/book-travel.d.ts +0 -5
  296. package/apps/app-lifeops/src/actions/book-travel.d.ts.map +0 -1
  297. package/apps/app-lifeops/src/actions/book-travel.js +0 -491
  298. package/apps/app-lifeops/src/actions/calendar.d.ts +0 -19
  299. package/apps/app-lifeops/src/actions/calendar.d.ts.map +0 -1
  300. package/apps/app-lifeops/src/actions/calendar.js +0 -3189
  301. package/apps/app-lifeops/src/actions/calendly.d.ts +0 -3
  302. package/apps/app-lifeops/src/actions/calendly.d.ts.map +0 -1
  303. package/apps/app-lifeops/src/actions/calendly.js +0 -285
  304. package/apps/app-lifeops/src/actions/chat-thread-control.d.ts +0 -3
  305. package/apps/app-lifeops/src/actions/chat-thread-control.d.ts.map +0 -1
  306. package/apps/app-lifeops/src/actions/chat-thread-control.js +0 -260
  307. package/apps/app-lifeops/src/actions/checkin.d.ts +0 -8
  308. package/apps/app-lifeops/src/actions/checkin.d.ts.map +0 -1
  309. package/apps/app-lifeops/src/actions/checkin.js +0 -230
  310. package/apps/app-lifeops/src/actions/computer-use.d.ts +0 -14
  311. package/apps/app-lifeops/src/actions/computer-use.d.ts.map +0 -1
  312. package/apps/app-lifeops/src/actions/computer-use.js +0 -365
  313. package/apps/app-lifeops/src/actions/cross-channel-send.d.ts +0 -34
  314. package/apps/app-lifeops/src/actions/cross-channel-send.d.ts.map +0 -1
  315. package/apps/app-lifeops/src/actions/cross-channel-send.js +0 -964
  316. package/apps/app-lifeops/src/actions/device-bus.d.ts +0 -19
  317. package/apps/app-lifeops/src/actions/device-bus.d.ts.map +0 -1
  318. package/apps/app-lifeops/src/actions/device-bus.js +0 -386
  319. package/apps/app-lifeops/src/actions/dossier.d.ts +0 -5
  320. package/apps/app-lifeops/src/actions/dossier.d.ts.map +0 -1
  321. package/apps/app-lifeops/src/actions/dossier.js +0 -227
  322. package/apps/app-lifeops/src/actions/email-unsubscribe.d.ts +0 -5
  323. package/apps/app-lifeops/src/actions/email-unsubscribe.d.ts.map +0 -1
  324. package/apps/app-lifeops/src/actions/email-unsubscribe.js +0 -172
  325. package/apps/app-lifeops/src/actions/gmail.d.ts +0 -57
  326. package/apps/app-lifeops/src/actions/gmail.d.ts.map +0 -1
  327. package/apps/app-lifeops/src/actions/gmail.js +0 -2540
  328. package/apps/app-lifeops/src/actions/health.d.ts +0 -9
  329. package/apps/app-lifeops/src/actions/health.d.ts.map +0 -1
  330. package/apps/app-lifeops/src/actions/health.js +0 -398
  331. package/apps/app-lifeops/src/actions/inbox.d.ts +0 -5
  332. package/apps/app-lifeops/src/actions/inbox.d.ts.map +0 -1
  333. package/apps/app-lifeops/src/actions/inbox.js +0 -1244
  334. package/apps/app-lifeops/src/actions/intent-sync.d.ts +0 -5
  335. package/apps/app-lifeops/src/actions/intent-sync.d.ts.map +0 -1
  336. package/apps/app-lifeops/src/actions/intent-sync.js +0 -326
  337. package/apps/app-lifeops/src/actions/life-goal-extractor.d.ts +0 -69
  338. package/apps/app-lifeops/src/actions/life-goal-extractor.d.ts.map +0 -1
  339. package/apps/app-lifeops/src/actions/life-goal-extractor.js +0 -420
  340. package/apps/app-lifeops/src/actions/life-param-extractor.d.ts +0 -78
  341. package/apps/app-lifeops/src/actions/life-param-extractor.d.ts.map +0 -1
  342. package/apps/app-lifeops/src/actions/life-param-extractor.js +0 -431
  343. package/apps/app-lifeops/src/actions/life-recent-context.d.ts +0 -9
  344. package/apps/app-lifeops/src/actions/life-recent-context.d.ts.map +0 -1
  345. package/apps/app-lifeops/src/actions/life-recent-context.js +0 -78
  346. package/apps/app-lifeops/src/actions/life-update-extractor.d.ts +0 -27
  347. package/apps/app-lifeops/src/actions/life-update-extractor.d.ts.map +0 -1
  348. package/apps/app-lifeops/src/actions/life-update-extractor.js +0 -195
  349. package/apps/app-lifeops/src/actions/life.d.ts +0 -5
  350. package/apps/app-lifeops/src/actions/life.d.ts.map +0 -1
  351. package/apps/app-lifeops/src/actions/life.extractor.d.ts +0 -18
  352. package/apps/app-lifeops/src/actions/life.extractor.d.ts.map +0 -1
  353. package/apps/app-lifeops/src/actions/life.extractor.js +0 -363
  354. package/apps/app-lifeops/src/actions/life.js +0 -3247
  355. package/apps/app-lifeops/src/actions/lifeops-connector.d.ts +0 -5
  356. package/apps/app-lifeops/src/actions/lifeops-connector.d.ts.map +0 -1
  357. package/apps/app-lifeops/src/actions/lifeops-connector.js +0 -683
  358. package/apps/app-lifeops/src/actions/lifeops-extraction-config.d.ts +0 -16
  359. package/apps/app-lifeops/src/actions/lifeops-extraction-config.d.ts.map +0 -1
  360. package/apps/app-lifeops/src/actions/lifeops-extraction-config.js +0 -25
  361. package/apps/app-lifeops/src/actions/lifeops-google-helpers.d.ts +0 -64
  362. package/apps/app-lifeops/src/actions/lifeops-google-helpers.d.ts.map +0 -1
  363. package/apps/app-lifeops/src/actions/lifeops-google-helpers.js +0 -671
  364. package/apps/app-lifeops/src/actions/lifeops-mutate.d.ts +0 -5
  365. package/apps/app-lifeops/src/actions/lifeops-mutate.d.ts.map +0 -1
  366. package/apps/app-lifeops/src/actions/lifeops-mutate.js +0 -769
  367. package/apps/app-lifeops/src/actions/list-remote-sessions.d.ts +0 -6
  368. package/apps/app-lifeops/src/actions/list-remote-sessions.d.ts.map +0 -1
  369. package/apps/app-lifeops/src/actions/list-remote-sessions.js +0 -45
  370. package/apps/app-lifeops/src/actions/non-actionable-request.d.ts +0 -17
  371. package/apps/app-lifeops/src/actions/non-actionable-request.d.ts.map +0 -1
  372. package/apps/app-lifeops/src/actions/non-actionable-request.js +0 -25
  373. package/apps/app-lifeops/src/actions/owner-app-block.d.ts +0 -12
  374. package/apps/app-lifeops/src/actions/owner-app-block.d.ts.map +0 -1
  375. package/apps/app-lifeops/src/actions/owner-app-block.js +0 -144
  376. package/apps/app-lifeops/src/actions/owner-calendar.d.ts +0 -15
  377. package/apps/app-lifeops/src/actions/owner-calendar.d.ts.map +0 -1
  378. package/apps/app-lifeops/src/actions/owner-calendar.js +0 -762
  379. package/apps/app-lifeops/src/actions/owner-inbox.d.ts +0 -5
  380. package/apps/app-lifeops/src/actions/owner-inbox.d.ts.map +0 -1
  381. package/apps/app-lifeops/src/actions/owner-inbox.js +0 -662
  382. package/apps/app-lifeops/src/actions/owner-remote-desktop.d.ts +0 -12
  383. package/apps/app-lifeops/src/actions/owner-remote-desktop.d.ts.map +0 -1
  384. package/apps/app-lifeops/src/actions/owner-remote-desktop.js +0 -173
  385. package/apps/app-lifeops/src/actions/owner-schedule.d.ts +0 -3
  386. package/apps/app-lifeops/src/actions/owner-schedule.d.ts.map +0 -1
  387. package/apps/app-lifeops/src/actions/owner-schedule.js +0 -174
  388. package/apps/app-lifeops/src/actions/owner-screen-time.d.ts +0 -10
  389. package/apps/app-lifeops/src/actions/owner-screen-time.d.ts.map +0 -1
  390. package/apps/app-lifeops/src/actions/owner-screen-time.js +0 -213
  391. package/apps/app-lifeops/src/actions/owner-website-block.d.ts +0 -12
  392. package/apps/app-lifeops/src/actions/owner-website-block.d.ts.map +0 -1
  393. package/apps/app-lifeops/src/actions/owner-website-block.js +0 -424
  394. package/apps/app-lifeops/src/actions/password-manager.d.ts +0 -5
  395. package/apps/app-lifeops/src/actions/password-manager.d.ts.map +0 -1
  396. package/apps/app-lifeops/src/actions/password-manager.js +0 -217
  397. package/apps/app-lifeops/src/actions/payments.d.ts +0 -5
  398. package/apps/app-lifeops/src/actions/payments.d.ts.map +0 -1
  399. package/apps/app-lifeops/src/actions/payments.js +0 -236
  400. package/apps/app-lifeops/src/actions/relationships.d.ts +0 -12
  401. package/apps/app-lifeops/src/actions/relationships.d.ts.map +0 -1
  402. package/apps/app-lifeops/src/actions/relationships.js +0 -880
  403. package/apps/app-lifeops/src/actions/remote-desktop.d.ts +0 -5
  404. package/apps/app-lifeops/src/actions/remote-desktop.d.ts.map +0 -1
  405. package/apps/app-lifeops/src/actions/remote-desktop.js +0 -248
  406. package/apps/app-lifeops/src/actions/revoke-remote-session.d.ts +0 -6
  407. package/apps/app-lifeops/src/actions/revoke-remote-session.d.ts.map +0 -1
  408. package/apps/app-lifeops/src/actions/revoke-remote-session.js +0 -73
  409. package/apps/app-lifeops/src/actions/schedule-x-dm-reply.d.ts +0 -3
  410. package/apps/app-lifeops/src/actions/schedule-x-dm-reply.d.ts.map +0 -1
  411. package/apps/app-lifeops/src/actions/schedule-x-dm-reply.js +0 -134
  412. package/apps/app-lifeops/src/actions/scheduled-trigger-task.d.ts +0 -19
  413. package/apps/app-lifeops/src/actions/scheduled-trigger-task.d.ts.map +0 -1
  414. package/apps/app-lifeops/src/actions/scheduled-trigger-task.js +0 -82
  415. package/apps/app-lifeops/src/actions/scheduling.d.ts +0 -70
  416. package/apps/app-lifeops/src/actions/scheduling.d.ts.map +0 -1
  417. package/apps/app-lifeops/src/actions/scheduling.js +0 -1078
  418. package/apps/app-lifeops/src/actions/screen-time.d.ts +0 -8
  419. package/apps/app-lifeops/src/actions/screen-time.d.ts.map +0 -1
  420. package/apps/app-lifeops/src/actions/screen-time.js +0 -249
  421. package/apps/app-lifeops/src/actions/search-across-channels.d.ts +0 -13
  422. package/apps/app-lifeops/src/actions/search-across-channels.d.ts.map +0 -1
  423. package/apps/app-lifeops/src/actions/search-across-channels.js +0 -338
  424. package/apps/app-lifeops/src/actions/start-remote-session.d.ts +0 -14
  425. package/apps/app-lifeops/src/actions/start-remote-session.d.ts.map +0 -1
  426. package/apps/app-lifeops/src/actions/start-remote-session.js +0 -139
  427. package/apps/app-lifeops/src/actions/subscriptions.d.ts +0 -5
  428. package/apps/app-lifeops/src/actions/subscriptions.d.ts.map +0 -1
  429. package/apps/app-lifeops/src/actions/subscriptions.js +0 -404
  430. package/apps/app-lifeops/src/actions/timezone-normalization.d.ts +0 -4
  431. package/apps/app-lifeops/src/actions/timezone-normalization.d.ts.map +0 -1
  432. package/apps/app-lifeops/src/actions/timezone-normalization.js +0 -159
  433. package/apps/app-lifeops/src/actions/twilio-call.d.ts +0 -20
  434. package/apps/app-lifeops/src/actions/twilio-call.d.ts.map +0 -1
  435. package/apps/app-lifeops/src/actions/twilio-call.js +0 -853
  436. package/apps/app-lifeops/src/actions/update-owner-profile.d.ts +0 -5
  437. package/apps/app-lifeops/src/actions/update-owner-profile.d.ts.map +0 -1
  438. package/apps/app-lifeops/src/actions/update-owner-profile.js +0 -181
  439. package/apps/app-lifeops/src/actions/x-read.d.ts +0 -5
  440. package/apps/app-lifeops/src/actions/x-read.d.ts.map +0 -1
  441. package/apps/app-lifeops/src/actions/x-read.js +0 -561
  442. package/apps/app-lifeops/src/activity-profile/activity-tracker-service.d.ts +0 -36
  443. package/apps/app-lifeops/src/activity-profile/activity-tracker-service.d.ts.map +0 -1
  444. package/apps/app-lifeops/src/activity-profile/activity-tracker-service.js +0 -160
  445. package/apps/app-lifeops/src/activity-profile/analyzer.d.ts +0 -23
  446. package/apps/app-lifeops/src/activity-profile/analyzer.d.ts.map +0 -1
  447. package/apps/app-lifeops/src/activity-profile/analyzer.js +0 -555
  448. package/apps/app-lifeops/src/activity-profile/presence-signal-bridge-service.d.ts +0 -14
  449. package/apps/app-lifeops/src/activity-profile/presence-signal-bridge-service.d.ts.map +0 -1
  450. package/apps/app-lifeops/src/activity-profile/presence-signal-bridge-service.js +0 -133
  451. package/apps/app-lifeops/src/activity-profile/proactive-planner.d.ts +0 -71
  452. package/apps/app-lifeops/src/activity-profile/proactive-planner.d.ts.map +0 -1
  453. package/apps/app-lifeops/src/activity-profile/proactive-planner.js +0 -567
  454. package/apps/app-lifeops/src/activity-profile/proactive-worker.d.ts +0 -32
  455. package/apps/app-lifeops/src/activity-profile/proactive-worker.d.ts.map +0 -1
  456. package/apps/app-lifeops/src/activity-profile/proactive-worker.js +0 -676
  457. package/apps/app-lifeops/src/activity-profile/service.d.ts +0 -11
  458. package/apps/app-lifeops/src/activity-profile/service.d.ts.map +0 -1
  459. package/apps/app-lifeops/src/activity-profile/service.js +0 -246
  460. package/apps/app-lifeops/src/app-blocker/access.d.ts +0 -8
  461. package/apps/app-lifeops/src/app-blocker/access.d.ts.map +0 -1
  462. package/apps/app-lifeops/src/app-blocker/access.js +0 -35
  463. package/apps/app-lifeops/src/app-blocker/engine.d.ts +0 -10
  464. package/apps/app-lifeops/src/app-blocker/engine.d.ts.map +0 -1
  465. package/apps/app-lifeops/src/app-blocker/engine.js +0 -43
  466. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts +0 -3
  467. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts.map +0 -1
  468. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.js +0 -189
  469. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts +0 -2
  470. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts.map +0 -1
  471. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.js +0 -1065
  472. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts +0 -7
  473. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts.map +0 -1
  474. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.js +0 -74
  475. package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts +0 -14
  476. package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts.map +0 -1
  477. package/apps/app-lifeops/src/components/DataSourcesStrip.js +0 -36
  478. package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts +0 -23
  479. package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts.map +0 -1
  480. package/apps/app-lifeops/src/components/EventEditorDrawer.js +0 -514
  481. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts +0 -2
  482. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts.map +0 -1
  483. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.js +0 -10
  484. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts +0 -15
  485. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts.map +0 -1
  486. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.js +0 -515
  487. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts +0 -34
  488. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts.map +0 -1
  489. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.js +0 -175
  490. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts +0 -2
  491. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts.map +0 -1
  492. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.js +0 -99
  493. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts +0 -37
  494. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts.map +0 -1
  495. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.js +0 -88
  496. package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts +0 -13
  497. package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts.map +0 -1
  498. package/apps/app-lifeops/src/components/LifeOpsInboxSection.js +0 -490
  499. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts +0 -12
  500. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts.map +0 -1
  501. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.js +0 -92
  502. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts +0 -12
  503. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts.map +0 -1
  504. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.js +0 -160
  505. package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts +0 -3
  506. package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts.map +0 -1
  507. package/apps/app-lifeops/src/components/LifeOpsMoneySection.js +0 -373
  508. package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts +0 -9
  509. package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts.map +0 -1
  510. package/apps/app-lifeops/src/components/LifeOpsNavRail.js +0 -93
  511. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts +0 -4
  512. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts.map +0 -1
  513. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.js +0 -274
  514. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts +0 -7
  515. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts.map +0 -1
  516. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.js +0 -670
  517. package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts +0 -42
  518. package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts.map +0 -1
  519. package/apps/app-lifeops/src/components/LifeOpsPageSections.js +0 -166
  520. package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts +0 -2
  521. package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts.map +0 -1
  522. package/apps/app-lifeops/src/components/LifeOpsPageView.js +0 -565
  523. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts +0 -2
  524. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts.map +0 -1
  525. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.js +0 -749
  526. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts +0 -27
  527. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts.map +0 -1
  528. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.js +0 -106
  529. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts +0 -2
  530. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts.map +0 -1
  531. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.js +0 -373
  532. package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts +0 -10
  533. package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts.map +0 -1
  534. package/apps/app-lifeops/src/components/LifeOpsSectionContent.js +0 -30
  535. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts +0 -21
  536. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts.map +0 -1
  537. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.js +0 -30
  538. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts +0 -20
  539. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts.map +0 -1
  540. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.js +0 -597
  541. package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts +0 -13
  542. package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts.map +0 -1
  543. package/apps/app-lifeops/src/components/LifeOpsSetupGate.js +0 -134
  544. package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts +0 -10
  545. package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts.map +0 -1
  546. package/apps/app-lifeops/src/components/LifeOpsSleepSection.js +0 -425
  547. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts +0 -11
  548. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts.map +0 -1
  549. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.js +0 -49
  550. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts +0 -2
  551. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts.map +0 -1
  552. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.js +0 -1041
  553. package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts +0 -7
  554. package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts.map +0 -1
  555. package/apps/app-lifeops/src/components/MessagingConnectorCards.js +0 -643
  556. package/apps/app-lifeops/src/components/MissingSourceCard.d.ts +0 -9
  557. package/apps/app-lifeops/src/components/MissingSourceCard.d.ts.map +0 -1
  558. package/apps/app-lifeops/src/components/MissingSourceCard.js +0 -5
  559. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts +0 -2
  560. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts.map +0 -1
  561. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.js +0 -162
  562. package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts +0 -8
  563. package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts.map +0 -1
  564. package/apps/app-lifeops/src/components/SleepInspectionPanel.js +0 -59
  565. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts +0 -3
  566. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts.map +0 -1
  567. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.js +0 -75
  568. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts +0 -8
  569. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts.map +0 -1
  570. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.js +0 -48
  571. package/apps/app-lifeops/src/components/lifeops-labels.d.ts +0 -2
  572. package/apps/app-lifeops/src/components/lifeops-labels.d.ts.map +0 -1
  573. package/apps/app-lifeops/src/components/lifeops-labels.js +0 -5
  574. package/apps/app-lifeops/src/events/index.d.ts +0 -34
  575. package/apps/app-lifeops/src/events/index.d.ts.map +0 -1
  576. package/apps/app-lifeops/src/events/index.js +0 -23
  577. package/apps/app-lifeops/src/followup/actions/listOverdueFollowups.d.ts +0 -3
  578. package/apps/app-lifeops/src/followup/actions/listOverdueFollowups.d.ts.map +0 -1
  579. package/apps/app-lifeops/src/followup/actions/listOverdueFollowups.js +0 -48
  580. package/apps/app-lifeops/src/followup/actions/markFollowupDone.d.ts +0 -3
  581. package/apps/app-lifeops/src/followup/actions/markFollowupDone.d.ts.map +0 -1
  582. package/apps/app-lifeops/src/followup/actions/markFollowupDone.js +0 -173
  583. package/apps/app-lifeops/src/followup/actions/setFollowupThreshold.d.ts +0 -3
  584. package/apps/app-lifeops/src/followup/actions/setFollowupThreshold.d.ts.map +0 -1
  585. package/apps/app-lifeops/src/followup/actions/setFollowupThreshold.js +0 -172
  586. package/apps/app-lifeops/src/followup/followup-tracker.d.ts +0 -82
  587. package/apps/app-lifeops/src/followup/followup-tracker.d.ts.map +0 -1
  588. package/apps/app-lifeops/src/followup/followup-tracker.js +0 -279
  589. package/apps/app-lifeops/src/followup/index.d.ts +0 -5
  590. package/apps/app-lifeops/src/followup/index.d.ts.map +0 -1
  591. package/apps/app-lifeops/src/followup/index.js +0 -4
  592. package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts +0 -28
  593. package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts.map +0 -1
  594. package/apps/app-lifeops/src/hooks/useCalendarWeek.js +0 -93
  595. package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts +0 -14
  596. package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts.map +0 -1
  597. package/apps/app-lifeops/src/hooks/useDiscordConnector.js +0 -126
  598. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts +0 -29
  599. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts.map +0 -1
  600. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.js +0 -481
  601. package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts +0 -10
  602. package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts.map +0 -1
  603. package/apps/app-lifeops/src/hooks/useIMessageConnector.js +0 -50
  604. package/apps/app-lifeops/src/hooks/useInbox.d.ts +0 -34
  605. package/apps/app-lifeops/src/hooks/useInbox.d.ts.map +0 -1
  606. package/apps/app-lifeops/src/hooks/useInbox.js +0 -98
  607. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts +0 -2
  608. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts.map +0 -1
  609. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.js +0 -382
  610. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts +0 -21
  611. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts.map +0 -1
  612. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.js +0 -83
  613. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts +0 -8
  614. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +0 -1
  615. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.js +0 -60
  616. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts +0 -18
  617. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts.map +0 -1
  618. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.js +0 -66
  619. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts +0 -14
  620. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts.map +0 -1
  621. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.js +0 -79
  622. package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts +0 -18
  623. package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts.map +0 -1
  624. package/apps/app-lifeops/src/hooks/useLifeOpsSection.js +0 -78
  625. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts +0 -14
  626. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts.map +0 -1
  627. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.js +0 -160
  628. package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts +0 -16
  629. package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts.map +0 -1
  630. package/apps/app-lifeops/src/hooks/useSignalConnector.js +0 -198
  631. package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts +0 -21
  632. package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts.map +0 -1
  633. package/apps/app-lifeops/src/hooks/useTelegramConnector.js +0 -177
  634. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts +0 -8
  635. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts.map +0 -1
  636. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.js +0 -58
  637. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts +0 -12
  638. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts.map +0 -1
  639. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.js +0 -152
  640. package/apps/app-lifeops/src/inbox/config.d.ts +0 -7
  641. package/apps/app-lifeops/src/inbox/config.d.ts.map +0 -1
  642. package/apps/app-lifeops/src/inbox/config.js +0 -67
  643. package/apps/app-lifeops/src/inbox/reflection.d.ts +0 -40
  644. package/apps/app-lifeops/src/inbox/reflection.d.ts.map +0 -1
  645. package/apps/app-lifeops/src/inbox/reflection.js +0 -115
  646. package/apps/app-lifeops/src/inbox/repository.d.ts +0 -52
  647. package/apps/app-lifeops/src/inbox/repository.d.ts.map +0 -1
  648. package/apps/app-lifeops/src/inbox/repository.js +0 -262
  649. package/apps/app-lifeops/src/inbox/triage-classifier.d.ts +0 -15
  650. package/apps/app-lifeops/src/inbox/triage-classifier.d.ts.map +0 -1
  651. package/apps/app-lifeops/src/inbox/triage-classifier.js +0 -179
  652. package/apps/app-lifeops/src/index.d.ts +0 -20
  653. package/apps/app-lifeops/src/index.d.ts.map +0 -1
  654. package/apps/app-lifeops/src/index.js +0 -18
  655. package/apps/app-lifeops/src/lifeops/approval-queue.d.ts +0 -24
  656. package/apps/app-lifeops/src/lifeops/approval-queue.d.ts.map +0 -1
  657. package/apps/app-lifeops/src/lifeops/approval-queue.js +0 -500
  658. package/apps/app-lifeops/src/lifeops/approval-queue.types.d.ts +0 -166
  659. package/apps/app-lifeops/src/lifeops/approval-queue.types.d.ts.map +0 -1
  660. package/apps/app-lifeops/src/lifeops/approval-queue.types.js +0 -22
  661. package/apps/app-lifeops/src/lifeops/autofill-whitelist.d.ts +0 -15
  662. package/apps/app-lifeops/src/lifeops/autofill-whitelist.d.ts.map +0 -1
  663. package/apps/app-lifeops/src/lifeops/autofill-whitelist.js +0 -116
  664. package/apps/app-lifeops/src/lifeops/background-planner-dispatch.d.ts +0 -60
  665. package/apps/app-lifeops/src/lifeops/background-planner-dispatch.d.ts.map +0 -1
  666. package/apps/app-lifeops/src/lifeops/background-planner-dispatch.js +0 -134
  667. package/apps/app-lifeops/src/lifeops/background-planner.d.ts +0 -141
  668. package/apps/app-lifeops/src/lifeops/background-planner.d.ts.map +0 -1
  669. package/apps/app-lifeops/src/lifeops/background-planner.js +0 -377
  670. package/apps/app-lifeops/src/lifeops/calendly-client.d.ts +0 -61
  671. package/apps/app-lifeops/src/lifeops/calendly-client.d.ts.map +0 -1
  672. package/apps/app-lifeops/src/lifeops/calendly-client.js +0 -234
  673. package/apps/app-lifeops/src/lifeops/checkin/schedule-resolver.d.ts +0 -14
  674. package/apps/app-lifeops/src/lifeops/checkin/schedule-resolver.d.ts.map +0 -1
  675. package/apps/app-lifeops/src/lifeops/checkin/schedule-resolver.js +0 -27
  676. package/apps/app-lifeops/src/lifeops/cross-channel-search.d.ts +0 -88
  677. package/apps/app-lifeops/src/lifeops/cross-channel-search.d.ts.map +0 -1
  678. package/apps/app-lifeops/src/lifeops/cross-channel-search.js +0 -446
  679. package/apps/app-lifeops/src/lifeops/intent-sync.d.ts +0 -59
  680. package/apps/app-lifeops/src/lifeops/intent-sync.d.ts.map +0 -1
  681. package/apps/app-lifeops/src/lifeops/intent-sync.js +0 -305
  682. package/apps/app-lifeops/src/lifeops/notifications-push.d.ts +0 -37
  683. package/apps/app-lifeops/src/lifeops/notifications-push.d.ts.map +0 -1
  684. package/apps/app-lifeops/src/lifeops/notifications-push.js +0 -92
  685. package/apps/app-lifeops/src/lifeops/password-manager-bridge.d.ts +0 -50
  686. package/apps/app-lifeops/src/lifeops/password-manager-bridge.d.ts.map +0 -1
  687. package/apps/app-lifeops/src/lifeops/password-manager-bridge.js +0 -448
  688. package/apps/app-lifeops/src/lifeops/remote-desktop.d.ts +0 -38
  689. package/apps/app-lifeops/src/lifeops/remote-desktop.d.ts.map +0 -1
  690. package/apps/app-lifeops/src/lifeops/remote-desktop.js +0 -372
  691. package/apps/app-lifeops/src/lifeops/runtime.d.ts +0 -11
  692. package/apps/app-lifeops/src/lifeops/runtime.d.ts.map +0 -1
  693. package/apps/app-lifeops/src/lifeops/runtime.js +0 -57
  694. package/apps/app-lifeops/src/lifeops/screen-context.d.ts +0 -52
  695. package/apps/app-lifeops/src/lifeops/screen-context.d.ts.map +0 -1
  696. package/apps/app-lifeops/src/lifeops/screen-context.js +0 -349
  697. package/apps/app-lifeops/src/lifeops-route.d.ts +0 -74
  698. package/apps/app-lifeops/src/lifeops-route.d.ts.map +0 -1
  699. package/apps/app-lifeops/src/lifeops-route.js +0 -204
  700. package/apps/app-lifeops/src/platform/index.d.ts +0 -2
  701. package/apps/app-lifeops/src/platform/index.d.ts.map +0 -1
  702. package/apps/app-lifeops/src/platform/index.js +0 -1
  703. package/apps/app-lifeops/src/platform/lifeops-github.d.ts +0 -15
  704. package/apps/app-lifeops/src/platform/lifeops-github.d.ts.map +0 -1
  705. package/apps/app-lifeops/src/platform/lifeops-github.js +0 -135
  706. package/apps/app-lifeops/src/plugin.d.ts +0 -33
  707. package/apps/app-lifeops/src/plugin.d.ts.map +0 -1
  708. package/apps/app-lifeops/src/plugin.js +0 -316
  709. package/apps/app-lifeops/src/provider.d.ts +0 -4
  710. package/apps/app-lifeops/src/provider.d.ts.map +0 -1
  711. package/apps/app-lifeops/src/provider.js +0 -77
  712. package/apps/app-lifeops/src/providers/activity-profile.d.ts +0 -3
  713. package/apps/app-lifeops/src/providers/activity-profile.d.ts.map +0 -1
  714. package/apps/app-lifeops/src/providers/activity-profile.js +0 -140
  715. package/apps/app-lifeops/src/providers/app-blocker.d.ts +0 -3
  716. package/apps/app-lifeops/src/providers/app-blocker.d.ts.map +0 -1
  717. package/apps/app-lifeops/src/providers/app-blocker.js +0 -86
  718. package/apps/app-lifeops/src/providers/cross-channel-context.d.ts +0 -29
  719. package/apps/app-lifeops/src/providers/cross-channel-context.d.ts.map +0 -1
  720. package/apps/app-lifeops/src/providers/cross-channel-context.js +0 -182
  721. package/apps/app-lifeops/src/providers/inbox-triage.d.ts +0 -3
  722. package/apps/app-lifeops/src/providers/inbox-triage.d.ts.map +0 -1
  723. package/apps/app-lifeops/src/providers/inbox-triage.js +0 -90
  724. package/apps/app-lifeops/src/providers/lifeops.d.ts +0 -3
  725. package/apps/app-lifeops/src/providers/lifeops.d.ts.map +0 -1
  726. package/apps/app-lifeops/src/providers/lifeops.js +0 -197
  727. package/apps/app-lifeops/src/remote/pairing-code.d.ts +0 -39
  728. package/apps/app-lifeops/src/remote/pairing-code.d.ts.map +0 -1
  729. package/apps/app-lifeops/src/remote/pairing-code.js +0 -76
  730. package/apps/app-lifeops/src/remote/remote-session-service.d.ts +0 -107
  731. package/apps/app-lifeops/src/remote/remote-session-service.d.ts.map +0 -1
  732. package/apps/app-lifeops/src/remote/remote-session-service.js +0 -253
  733. package/apps/app-lifeops/src/service.d.ts +0 -32
  734. package/apps/app-lifeops/src/service.d.ts.map +0 -1
  735. package/apps/app-lifeops/src/service.js +0 -67
  736. package/apps/app-lifeops/src/travel-time/calendar-create.d.ts +0 -17
  737. package/apps/app-lifeops/src/travel-time/calendar-create.d.ts.map +0 -1
  738. package/apps/app-lifeops/src/travel-time/calendar-create.js +0 -21
  739. package/apps/app-lifeops/src/travel-time/service.d.ts +0 -60
  740. package/apps/app-lifeops/src/travel-time/service.d.ts.map +0 -1
  741. package/apps/app-lifeops/src/travel-time/service.js +0 -142
  742. package/apps/app-lifeops/src/utils/lifeops-url.d.ts +0 -5
  743. package/apps/app-lifeops/src/utils/lifeops-url.d.ts.map +0 -1
  744. package/apps/app-lifeops/src/utils/lifeops-url.js +0 -35
  745. package/apps/app-lifeops/src/website-blocker/chat-integration/actions/blockUntilTaskComplete.d.ts +0 -3
  746. package/apps/app-lifeops/src/website-blocker/chat-integration/actions/blockUntilTaskComplete.d.ts.map +0 -1
  747. package/apps/app-lifeops/src/website-blocker/chat-integration/actions/blockUntilTaskComplete.js +0 -246
  748. package/apps/app-lifeops/src/website-blocker/chat-integration/actions/listActiveBlocks.d.ts +0 -3
  749. package/apps/app-lifeops/src/website-blocker/chat-integration/actions/listActiveBlocks.d.ts.map +0 -1
  750. package/apps/app-lifeops/src/website-blocker/chat-integration/actions/listActiveBlocks.js +0 -83
  751. package/apps/app-lifeops/src/website-blocker/chat-integration/actions/releaseBlock.d.ts +0 -3
  752. package/apps/app-lifeops/src/website-blocker/chat-integration/actions/releaseBlock.d.ts.map +0 -1
  753. package/apps/app-lifeops/src/website-blocker/chat-integration/actions/releaseBlock.js +0 -98
  754. package/apps/app-lifeops/src/website-blocker/chat-integration/block-rule-reconciler.d.ts +0 -7
  755. package/apps/app-lifeops/src/website-blocker/chat-integration/block-rule-reconciler.d.ts.map +0 -1
  756. package/apps/app-lifeops/src/website-blocker/chat-integration/block-rule-reconciler.js +0 -111
  757. package/apps/app-lifeops/src/website-blocker/chat-integration/block-rule-schema.d.ts +0 -39
  758. package/apps/app-lifeops/src/website-blocker/chat-integration/block-rule-schema.d.ts.map +0 -1
  759. package/apps/app-lifeops/src/website-blocker/chat-integration/block-rule-schema.js +0 -123
  760. package/apps/app-lifeops/src/website-blocker/chat-integration/block-rule-service.d.ts +0 -21
  761. package/apps/app-lifeops/src/website-blocker/chat-integration/block-rule-service.d.ts.map +0 -1
  762. package/apps/app-lifeops/src/website-blocker/chat-integration/block-rule-service.js +0 -258
  763. package/apps/app-lifeops/src/website-blocker/chat-integration/index.d.ts +0 -8
  764. package/apps/app-lifeops/src/website-blocker/chat-integration/index.d.ts.map +0 -1
  765. package/apps/app-lifeops/src/website-blocker/chat-integration/index.js +0 -6
  766. package/packages/app-core/src/api/client-lifeops.d.ts +0 -35
  767. package/packages/app-core/src/api/client-lifeops.d.ts.map +0 -1
  768. package/packages/app-core/src/api/client-lifeops.js +0 -114
  769. package/packages/app-core/src/hooks/useGoogleLifeOpsConnector.d.ts +0 -20
  770. package/packages/app-core/src/hooks/useGoogleLifeOpsConnector.d.ts.map +0 -1
  771. package/packages/app-core/src/hooks/useGoogleLifeOpsConnector.js +0 -69
  772. package/packages/app-core/src/hooks/useLifeOpsAppState.d.ts +0 -21
  773. package/packages/app-core/src/hooks/useLifeOpsAppState.d.ts.map +0 -1
  774. package/packages/app-core/src/hooks/useLifeOpsAppState.js +0 -81
  775. package/packages/app-core/src/services/steward-sidecar.d.ts +0 -6
  776. package/packages/app-core/src/services/steward-sidecar.d.ts.map +0 -1
  777. package/packages/app-core/src/services/steward-sidecar.js +0 -5
@@ -1,17 +1,3 @@
1
- /**
2
- * LoginView — multi-method login for Milady.
3
- *
4
- * Four tabs, rendered in this order (password first: most common for local installs):
5
- * 1. Password — displayName + password + remember device + submit
6
- * 2. Eliza Cloud SSO — single button (disabled with tooltip until P2 backend lands)
7
- * 3. Connector — sign in via Discord / Telegram DM link (disabled until P3)
8
- * 4. Pairing code — legacy 4-4-4 pairing flow; kept through the 14-day grace window
9
- *
10
- * On a 200 from /api/auth/me the caller should redirect to "/".
11
- *
12
- * Uses @elizaos/ui primitives (Tabs, Card, Input, Label, Button) + onboarding
13
- * styles for the dark visual shell.
14
- */
15
1
  import { type AuthLoginResult } from "../../api/auth-client";
16
2
  export interface LoginViewProps {
17
3
  /**
@@ -19,17 +5,11 @@ export interface LoginViewProps {
19
5
  * main dashboard.
20
6
  */
21
7
  onLoginSuccess: () => void;
22
- /**
23
- * Whether Eliza Cloud SSO is available. When false the SSO tab button is
24
- * disabled with an explanatory tooltip.
25
- */
8
+ /** Whether Eliza Cloud SSO is available. */
26
9
  cloudEnabled?: boolean;
27
- /**
28
- * Connector bindings available for DM-link login.
29
- * Empty array → connector tab shows "no bindings" state.
30
- */
10
+ /** Connector bindings available for DM-link login. */
31
11
  connectorBindings?: ConnectorBinding[];
32
- /** Optional legacy pairing props forwarded to the pairing tab. */
12
+ /** Optional pairing props forwarded to the pairing tab. */
33
13
  pairing?: PairingTabProps;
34
14
  /** Injected login function (tests). */
35
15
  loginFn?: (params: {
@@ -1 +1 @@
1
- {"version":3,"file":"LoginView.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/auth/LoginView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAqBH,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,uBAAuB,CAAC;AAWhF,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,kEAAkE;IAClE,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,sBAAsB,GAAG,gCAAgC,CAAC;CACpE;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAsXD,wBAAgB,SAAS,CAAC,EACxB,cAAc,EACd,YAAoB,EACpB,iBAAsB,EACtB,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,cAAc,2CA6EhB"}
1
+ {"version":3,"file":"LoginView.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/auth/LoginView.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,uBAAuB,CAAC;AAWhF,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,sBAAsB,GAAG,gCAAgC,CAAC;CACpE;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAmUD,wBAAgB,SAAS,CAAC,EACxB,cAAc,EACd,YAAoB,EACpB,iBAAsB,EACtB,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,cAAc,2CA6GhB"}
@@ -1,20 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * LoginView multi-method login for Milady.
4
- *
5
- * Four tabs, rendered in this order (password first: most common for local installs):
6
- * 1. Password — displayName + password + remember device + submit
7
- * 2. Eliza Cloud SSO — single button (disabled with tooltip until P2 backend lands)
8
- * 3. Connector — sign in via Discord / Telegram DM link (disabled until P3)
9
- * 4. Pairing code — legacy 4-4-4 pairing flow; kept through the 14-day grace window
10
- *
11
- * On a 200 from /api/auth/me the caller should redirect to "/".
12
- *
13
- * Uses @elizaos/ui primitives (Tabs, Card, Input, Label, Button) + onboarding
14
- * styles for the dark visual shell.
15
- */
16
- import { Button, Card, CardContent, CardHeader, CardTitle, cn, Input, Label, Tabs, TabsContent, TabsList, TabsTrigger, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@elizaos/ui";
17
- import { useCallback, useId, useState } from "react";
2
+ import { Button, Card, CardContent, CardHeader, CardTitle, cn, Input, Label, Tabs, TabsContent, TabsList, TabsTrigger, } from "@elizaos/ui";
3
+ import { useCallback, useId, useState, } from "react";
18
4
  import { authLoginPassword } from "../../api/auth-client";
19
5
  import { OnboardingStepDivider, onboardingBodyTextShadowStyle, onboardingDescriptionClass, onboardingEyebrowClass, onboardingTitleClass, } from "../onboarding/onboarding-step-chrome";
20
6
  function PasswordTab({ onLoginSuccess, loginFn, }) {
@@ -66,25 +52,19 @@ function PasswordTab({ onLoginSuccess, loginFn, }) {
66
52
  }, disabled: isSubmitting, "aria-required": "true" })] }), _jsxs("label", { className: "flex cursor-pointer items-center gap-2 text-sm text-muted-foreground select-none", children: [_jsx("input", { type: "checkbox", checked: rememberDevice, onChange: (e) => setRememberDevice(e.target.checked), disabled: isSubmitting, className: "h-4 w-4 rounded border-border accent-primary" }), "Remember this device for 30 days"] })] }), submitState.phase === "error" && (_jsx("p", { role: "alert", className: "rounded-lg border border-[color:color-mix(in_srgb,var(--danger)_38%,transparent)] bg-[color:color-mix(in_srgb,var(--danger)_12%,transparent)] px-4 py-3 text-sm text-danger", children: submitState.message })), _jsx(Button, { type: "submit", disabled: isSubmitting || !displayName.trim() || !password, className: "w-full", children: isSubmitting ? "Signing in…" : "Sign in" })] }));
67
53
  }
68
54
  // ── SSO tab ───────────────────────────────────────────────────────────────────
69
- function SsoTab({ cloudEnabled }) {
70
- const tooltipText = "Available when Eliza Cloud is configured on this instance.";
71
- return (_jsxs("div", { className: "flex flex-col items-center gap-4 py-2", children: [_jsx("p", { className: "text-sm text-muted-foreground text-center leading-relaxed", children: "Sign in with your Eliza Cloud account. This method requires the instance to have an active Eliza Cloud connection." }), _jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { className: "w-full", children: _jsx(Button, { asChild: cloudEnabled, disabled: !cloudEnabled, className: "w-full", variant: "outline", children: cloudEnabled ? (_jsx("a", { href: "/api/auth/login/sso/start?returnTo=/", children: "Sign in with Eliza Cloud" })) : (_jsx("span", { children: "Sign in with Eliza Cloud" })) }) }) }), !cloudEnabled && _jsx(TooltipContent, { children: tooltipText })] }) })] }));
55
+ function SsoTab() {
56
+ return (_jsxs("div", { className: "flex flex-col items-center gap-4 py-2", children: [_jsx("p", { className: "text-sm text-muted-foreground text-center leading-relaxed", children: "Sign in with your Eliza Cloud account. This method requires the instance to have an active Eliza Cloud connection." }), _jsx(Button, { asChild: true, className: "w-full", variant: "outline", children: _jsx("a", { href: "/api/auth/login/sso/start?returnTo=/", children: "Sign in with Eliza Cloud" }) })] }));
72
57
  }
73
58
  // ── Connector tab ─────────────────────────────────────────────────────────────
74
59
  function ConnectorTab({ bindings }) {
75
- const hasBindings = bindings.length > 0;
76
- const unavailableTooltip = "Available when a connector owner is bound to this instance.";
77
- if (!hasBindings) {
78
- return (_jsxs("div", { className: "flex flex-col items-center gap-4 py-2", children: [_jsx("p", { className: "text-sm text-muted-foreground text-center leading-relaxed", children: "Log in via a Discord or Telegram message. This method requires a connector owner binding to be configured first." }), _jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { className: "w-full", children: _jsx(Button, { disabled: true, className: "w-full", variant: "outline", children: "Send login link" }) }) }), _jsx(TooltipContent, { children: unavailableTooltip })] }) }), _jsx("p", { className: "text-xs text-muted-foreground/60 text-center", children: "No connector bindings configured. Set up a connector in Settings to enable this method." })] }));
79
- }
80
60
  return (_jsxs("div", { className: "flex flex-col gap-4 py-2", children: [_jsx("p", { className: "text-sm text-muted-foreground leading-relaxed", children: "Choose a connector \u2014 we\u2019ll send you a one-time login link." }), _jsx("div", { className: "flex flex-col gap-2", children: bindings.map((b) => (_jsx(ConnectorLoginButton, { binding: b }, `${b.connector}:${b.displayHandle}`))) })] }));
81
61
  }
62
+ const DM_LINK_UNAVAILABLE_MESSAGE = "Login links are unavailable on this server. Use another sign-in method or contact the instance owner.";
82
63
  function ConnectorLoginButton({ binding }) {
83
64
  const [state, setState] = useState({ phase: "idle" });
84
65
  const handleClick = useCallback(async () => {
85
66
  setState({ phase: "sending" });
86
67
  try {
87
- // P3 backend route — may not exist yet. Surface 404 gracefully.
88
68
  const res = await fetch("/api/auth/login/owner/dm-link/request", {
89
69
  method: "POST",
90
70
  credentials: "include",
@@ -97,7 +77,7 @@ function ConnectorLoginButton({ binding }) {
97
77
  if (res.status === 404) {
98
78
  setState({
99
79
  phase: "error",
100
- message: "DM-link login is not yet available (backend pending).",
80
+ message: DM_LINK_UNAVAILABLE_MESSAGE,
101
81
  });
102
82
  return;
103
83
  }
@@ -126,22 +106,52 @@ function ConnectorLoginButton({ binding }) {
126
106
  // ── Pairing tab ───────────────────────────────────────────────────────────────
127
107
  function PairingTab({ pairing }) {
128
108
  const pairingCodeId = useId().replace(/:/g, "");
129
- if (!pairing) {
130
- return (_jsx("p", { className: "py-2 text-sm text-muted-foreground", children: "Pairing is not available in the current server configuration." }));
131
- }
132
109
  const code = pairing.pairingCodeInput.trim();
133
110
  return (_jsxs("form", { onSubmit: (e) => {
134
111
  e.preventDefault();
135
112
  if (code)
136
113
  pairing.onSubmit(code);
137
- }, className: "flex flex-col gap-4", children: [_jsx("p", { className: "text-sm text-muted-foreground leading-relaxed", children: "Enter the pairing code shown in your CLI or desktop app. This method will be removed after the 14-day migration grace window." }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: pairingCodeId, className: "text-xs uppercase tracking-wide text-muted-foreground", children: "Pairing code" }), _jsx(Input, { id: pairingCodeId, type: "text", placeholder: "xxxx-xxxx-xxxx", value: pairing.pairingCodeInput, onChange: (e) => pairing.onCodeChange(e.target.value), disabled: pairing.pairingBusy || !pairing.pairingEnabled, autoComplete: "off", spellCheck: false })] }), pairing.pairingError && (_jsx("p", { role: "alert", className: "text-sm text-danger", children: pairing.pairingError })), _jsx(Button, { type: "submit", disabled: pairing.pairingBusy || !pairing.pairingEnabled || !code, className: "w-full", children: pairing.pairingBusy ? "Pairing…" : "Submit code" })] }));
114
+ }, className: "flex flex-col gap-4", children: [_jsx("p", { className: "text-sm text-muted-foreground leading-relaxed", children: "Enter the pairing code shown in your CLI or desktop app." }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: pairingCodeId, className: "text-xs uppercase tracking-wide text-muted-foreground", children: "Pairing code" }), _jsx(Input, { id: pairingCodeId, type: "text", placeholder: "xxxx-xxxx-xxxx", value: pairing.pairingCodeInput, onChange: (e) => pairing.onCodeChange(e.target.value), disabled: pairing.pairingBusy, autoComplete: "off", spellCheck: false })] }), pairing.pairingError && (_jsx("p", { role: "alert", className: "text-sm text-danger", children: pairing.pairingError })), _jsx(Button, { type: "submit", disabled: pairing.pairingBusy || !code, className: "w-full", children: pairing.pairingBusy ? "Pairing…" : "Submit code" })] }));
138
115
  }
139
116
  // ── Root component ────────────────────────────────────────────────────────────
140
117
  const SCREEN_SHELL_CLASS = "relative flex min-h-screen w-full items-center justify-center overflow-hidden bg-bg px-4 py-6 font-body text-txt sm:px-6";
141
118
  const SCREEN_CARD_CLASS = "relative z-10 w-full max-w-[520px] overflow-hidden border border-border/60 bg-card/95 shadow-[0_30px_120px_rgba(0,0,0,0.35)] backdrop-blur-xl";
142
119
  export function LoginView({ onLoginSuccess, cloudEnabled = false, connectorBindings = [], pairing, loginFn, reason, }) {
143
120
  const remotePasswordMissing = reason === "remote_password_not_configured";
144
- return (_jsxs("div", { className: SCREEN_SHELL_CLASS, children: [_jsxs("div", { className: "absolute inset-0 overflow-hidden pointer-events-none", children: [_jsx("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(255,255,255,0.08),transparent_40%),linear-gradient(180deg,rgba(11,14,20,0.24),rgba(6,7,8,0.62))]" }), _jsx("div", { className: "absolute left-[-8%] top-[10%] h-[20rem] w-[20rem] rounded-full bg-[rgba(240,185,11,0.09)] blur-[100px]" }), _jsx("div", { className: "absolute bottom-[-10%] right-[-6%] h-[18rem] w-[18rem] rounded-full bg-[rgba(255,255,255,0.06)] blur-[110px]" })] }), _jsxs(Card, { className: SCREEN_CARD_CLASS, children: [_jsx(CardHeader, { className: "pb-2 pt-6 px-6", children: _jsxs("div", { className: "mb-1", children: [_jsx("p", { className: onboardingEyebrowClass, style: onboardingBodyTextShadowStyle, children: "Milady" }), _jsx(OnboardingStepDivider, {}), _jsx(CardTitle, { className: cn(onboardingTitleClass, "mt-2"), style: { textShadow: "var(--onboarding-text-shadow-strong)" }, children: "Sign in" }), _jsx("p", { className: cn(onboardingDescriptionClass, "mt-2"), style: onboardingBodyTextShadowStyle, children: remotePasswordMissing
145
- ? "Remote access is not enabled yet. Open this instance on the host machine via localhost and set a remote password in Settings."
146
- : "Choose your login method below." })] }) }), _jsx(CardContent, { className: "px-6 pb-6", children: _jsxs(Tabs, { defaultValue: "password", children: [_jsxs(TabsList, { className: "mb-5 w-full grid grid-cols-4", children: [_jsx(TabsTrigger, { value: "password", children: "Password" }), _jsx(TabsTrigger, { value: "sso", children: "Cloud" }), _jsx(TabsTrigger, { value: "connector", children: "Connector" }), _jsx(TabsTrigger, { value: "pairing", children: "Pairing" })] }), _jsx(TabsContent, { value: "password", children: remotePasswordMissing ? (_jsx("p", { className: "rounded-lg border border-border/60 bg-bg/50 px-4 py-3 text-sm leading-6 text-muted-foreground", children: "Remote password login has not been configured. Open this instance on the host machine with localhost, then set a remote password in Settings." })) : (_jsx(PasswordTab, { onLoginSuccess: onLoginSuccess, loginFn: loginFn })) }), _jsx(TabsContent, { value: "sso", children: _jsx(SsoTab, { cloudEnabled: cloudEnabled }) }), _jsx(TabsContent, { value: "connector", children: _jsx(ConnectorTab, { bindings: connectorBindings }) }), _jsx(TabsContent, { value: "pairing", children: _jsx(PairingTab, { pairing: pairing }) })] }) })] })] }));
121
+ const visibleMethods = [
122
+ {
123
+ value: "password",
124
+ label: "Password",
125
+ content: (_jsx(PasswordTab, { onLoginSuccess: onLoginSuccess, loginFn: loginFn })),
126
+ },
127
+ ];
128
+ if (cloudEnabled) {
129
+ visibleMethods.push({
130
+ value: "sso",
131
+ label: "Cloud",
132
+ content: _jsx(SsoTab, {}),
133
+ });
134
+ }
135
+ if (connectorBindings.length > 0) {
136
+ visibleMethods.push({
137
+ value: "connector",
138
+ label: "Connector",
139
+ content: _jsx(ConnectorTab, { bindings: connectorBindings }),
140
+ });
141
+ }
142
+ if (pairing?.pairingEnabled) {
143
+ visibleMethods.push({
144
+ value: "pairing",
145
+ label: "Pairing",
146
+ content: _jsx(PairingTab, { pairing: pairing }),
147
+ });
148
+ }
149
+ const loginDescription = visibleMethods.length > 1
150
+ ? "Choose your login method below."
151
+ : "Sign in with your password.";
152
+ return (_jsxs("div", { className: SCREEN_SHELL_CLASS, children: [_jsx("div", { className: "absolute inset-0 overflow-hidden pointer-events-none", children: _jsx("div", { className: "absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(255,255,255,0.08),transparent_40%),linear-gradient(180deg,rgba(11,14,20,0.24),rgba(6,7,8,0.62))]" }) }), _jsxs(Card, { className: SCREEN_CARD_CLASS, children: [_jsx(CardHeader, { className: "pb-2 pt-6 px-6", children: _jsxs("div", { className: "mb-1", children: [_jsx("p", { className: onboardingEyebrowClass, style: onboardingBodyTextShadowStyle, children: "Milady" }), _jsx(OnboardingStepDivider, {}), _jsx(CardTitle, { className: cn(onboardingTitleClass, "mt-2"), style: { textShadow: "var(--onboarding-text-shadow-strong)" }, children: remotePasswordMissing ? "Remote access blocked" : "Sign in" }), _jsx("p", { className: cn(onboardingDescriptionClass, "mt-2"), style: onboardingBodyTextShadowStyle, children: remotePasswordMissing
153
+ ? "A remote password is required before this instance can accept browser logins from another machine."
154
+ : loginDescription })] }) }), _jsx(CardContent, { className: "px-6 pb-6", children: remotePasswordMissing ? (_jsx("div", { role: "alert", className: "rounded-lg border border-border/60 bg-bg/50 px-4 py-3 text-sm leading-6 text-muted-foreground", children: "Open Milady on the host machine via localhost, then set a remote password in Settings." })) : (_jsxs(Tabs, { defaultValue: "password", children: [_jsx(TabsList, { className: "mb-5 grid w-full", style: {
155
+ gridTemplateColumns: `repeat(${visibleMethods.length}, minmax(0, 1fr))`,
156
+ }, children: visibleMethods.map((method) => (_jsx(TabsTrigger, { value: method.value, children: method.label }, method.value))) }), visibleMethods.map((method) => (_jsx(TabsContent, { value: method.value, children: method.content }, method.value)))] })) })] })] }));
147
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AppsSection.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/chat/AppsSection.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA0BvC,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,wBAAgB,WAAW,CAAC,EAAE,YAAY,EAAE,GAAE,gBAAqB,kDAkJlE"}
1
+ {"version":3,"file":"AppsSection.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/chat/AppsSection.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA0BvC,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,wBAAgB,WAAW,CAAC,EAAE,YAAY,EAAE,GAAE,gBAAqB,kDAgSlE"}
@@ -1,11 +1,12 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * Apps widget section — shown at the top of the chat widget sidebar.
4
4
  *
5
5
  * Renders running apps first (with a health-state ring), then favorited apps
6
6
  * that are not currently running. Clicking an app launches / focuses it.
7
7
  */
8
- import { LayoutGrid } from "lucide-react";
8
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@elizaos/ui";
9
+ import { LayoutGrid, MoreHorizontal } from "lucide-react";
9
10
  import { useCallback, useEffect, useMemo, useState } from "react";
10
11
  import { client } from "../../api";
11
12
  import { useApp } from "../../state";
@@ -71,6 +72,51 @@ export function AppsSection({ headerAction } = {}) {
71
72
  };
72
73
  }, [catalogApps, appRuns, favoriteApps]);
73
74
  // -------------------------------------------------------------------------
75
+ // Kebab menu actions: relaunch, edit, stop. Launch stays as the tile click.
76
+ // -------------------------------------------------------------------------
77
+ const handleRelaunch = useCallback(async (app) => {
78
+ try {
79
+ await client.fetch("/api/apps/relaunch", {
80
+ method: "POST",
81
+ body: JSON.stringify({ name: app.name }),
82
+ });
83
+ setActionNotice(`${app.displayName ?? app.name} relaunched.`, "success", 3000);
84
+ }
85
+ catch (err) {
86
+ setActionNotice(err instanceof Error
87
+ ? err.message
88
+ : t("appsview.LaunchFailed", {
89
+ name: app.displayName ?? app.name,
90
+ message: t("common.error"),
91
+ }), "error", 4000);
92
+ }
93
+ }, [setActionNotice, t]);
94
+ const handleEdit = useCallback(async (app) => {
95
+ try {
96
+ await client.fetch("/api/apps/create", {
97
+ method: "POST",
98
+ body: JSON.stringify({ intent: "edit", editTarget: app.name }),
99
+ });
100
+ setActionNotice(`Editing ${app.displayName ?? app.name}…`, "info", 3500);
101
+ }
102
+ catch (err) {
103
+ setActionNotice(err instanceof Error
104
+ ? err.message
105
+ : `Couldn't start an edit for ${app.displayName ?? app.name}.`, "error", 4000);
106
+ }
107
+ }, [setActionNotice]);
108
+ const handleStop = useCallback(async (app) => {
109
+ try {
110
+ await client.stopApp(app.name);
111
+ setActionNotice(`${app.displayName ?? app.name} stopped.`, "success", 3000);
112
+ }
113
+ catch (err) {
114
+ setActionNotice(err instanceof Error
115
+ ? err.message
116
+ : `Couldn't stop ${app.displayName ?? app.name}.`, "error", 4000);
117
+ }
118
+ }, [setActionNotice]);
119
+ // -------------------------------------------------------------------------
74
120
  // Launch handler (identical logic to FavoriteAppsBar)
75
121
  // -------------------------------------------------------------------------
76
122
  const handleLaunch = useCallback(async (app) => {
@@ -112,9 +158,18 @@ export function AppsSection({ headerAction } = {}) {
112
158
  const run = runByName.get(app.name);
113
159
  const displayName = app.displayName ?? getAppShortName(app);
114
160
  const ringClass = run ? getRunRingClass(run) : "";
115
- return (_jsx("button", { type: "button", title: displayName, "aria-label": t("chatsidebar.launchApp", {
116
- defaultValue: `Launch ${displayName}`,
117
- name: displayName,
118
- }), className: `rounded-2xl transition-transform hover:scale-105 ${ringClass}`, onClick: () => void handleLaunch(app), children: _jsx(AppIdentityTile, { app: app, active: Boolean(run), size: "sm", imageOnly: true }) }, app.name));
161
+ const isRunning = Boolean(run);
162
+ return (_jsxs("div", { className: "group relative", "data-testid": `apps-section-tile-${app.name}`, children: [_jsx("button", { type: "button", title: displayName, "aria-label": t("chatsidebar.launchApp", {
163
+ defaultValue: `Launch ${displayName}`,
164
+ name: displayName,
165
+ }), className: `rounded-2xl transition-transform hover:scale-105 ${ringClass}`, onClick: () => void handleLaunch(app), children: _jsx(AppIdentityTile, { app: app, active: isRunning, size: "sm", imageOnly: true }) }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": `Actions for ${displayName}`, "data-testid": `apps-section-kebab-${app.name}`, onClick: (event) => event.stopPropagation(), className: "absolute -right-1 -top-1 inline-flex h-5 w-5 items-center justify-center rounded-full border border-border bg-bg text-muted opacity-0 shadow-sm transition-opacity hover:text-txt focus:opacity-100 focus-visible:opacity-100 group-hover:opacity-100", children: _jsx(MoreHorizontal, { className: "h-3 w-3", "aria-hidden": true }) }) }), _jsxs(DropdownMenuContent, { align: "end", sideOffset: 4, className: "w-36", onClick: (event) => event.stopPropagation(), children: [_jsx(DropdownMenuItem, { "data-testid": `apps-section-launch-${app.name}`, onSelect: () => void handleLaunch(app), children: t("settings.sections.apps.launch", {
166
+ defaultValue: "Launch",
167
+ }) }), _jsx(DropdownMenuItem, { "data-testid": `apps-section-relaunch-${app.name}`, onSelect: () => void handleRelaunch(app), children: t("settings.sections.apps.relaunch", {
168
+ defaultValue: "Relaunch",
169
+ }) }), _jsx(DropdownMenuItem, { "data-testid": `apps-section-edit-${app.name}`, onSelect: () => void handleEdit(app), children: t("settings.sections.apps.edit", {
170
+ defaultValue: "Edit",
171
+ }) }), isRunning ? (_jsx(DropdownMenuItem, { "data-testid": `apps-section-stop-${app.name}`, className: "text-danger focus:text-danger", onSelect: () => void handleStop(app), children: t("settings.sections.apps.stop", {
172
+ defaultValue: "Stop",
173
+ }) })) : null] })] })] }, app.name));
119
174
  }) })) : null }));
120
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageContent.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/chat/MessageContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAsC5D,UAAU,mBAAmB;IAC3B,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAmDD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiCzD;AAsBD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAW1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAsDhE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAmElE;AA2FD,gHAAgH;AAChH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEpD;AA+cD,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,mBAAmB,2CA4D9D"}
1
+ {"version":3,"file":"MessageContent.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/chat/MessageContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAwC5D,UAAU,mBAAmB;IAC3B,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAyDD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkCzD;AAsBD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAW1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAsDhE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAmElE;AAyGD,gHAAgH;AAChH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEpD;AA+cD,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,mBAAmB,2CAiF9D"}
@@ -7,6 +7,8 @@ import { stripAssistantStageDirections } from "../../utils/assistant-text";
7
7
  import { ConfigRenderer, defaultRegistry } from "../config-ui/config-renderer";
8
8
  import { UiRenderer } from "../config-ui/ui-renderer";
9
9
  import { paramsToSchema } from "../pages/plugin-list-utils";
10
+ import { findChoiceRegions } from "./message-choice-parser";
11
+ import { ChoiceWidget } from "./widgets/ChoiceWidget";
10
12
  /** Reject prototype-pollution keys that should never be traversed or rendered. */
11
13
  const BLOCKED_IDS = new Set(["__proto__", "constructor", "prototype"]);
12
14
  const SAFE_PLUGIN_ID_RE = /^[\w-]+$/;
@@ -258,8 +260,8 @@ export function findPatchRegions(text) {
258
260
  return results;
259
261
  }
260
262
  /**
261
- * Parse message text for [CONFIG:id] markers, fenced UiSpec JSON, and
262
- * inline JSONL patch blocks (Chat Mode).
263
+ * Parse message text for [CONFIG:id] markers, [CHOICE:...] blocks,
264
+ * fenced UiSpec JSON, and inline JSONL patch blocks (Chat Mode).
263
265
  * Returns an array of segments for rendering.
264
266
  */
265
267
  function parseSegments(text) {
@@ -279,6 +281,19 @@ function parseSegments(text) {
279
281
  });
280
282
  m = CONFIG_RE.exec(cleaned);
281
283
  }
284
+ // 1b. Find [CHOICE:scope id=...] ... [/CHOICE] blocks
285
+ for (const choice of findChoiceRegions(cleaned)) {
286
+ regions.push({
287
+ start: choice.start,
288
+ end: choice.end,
289
+ segment: {
290
+ kind: "choice",
291
+ id: choice.id,
292
+ scope: choice.scope,
293
+ options: choice.options,
294
+ },
295
+ });
296
+ }
282
297
  // 2. Find fenced JSON that is a UiSpec (Generate Mode / legacy format)
283
298
  FENCED_JSON_RE.lastIndex = 0;
284
299
  m = FENCED_JSON_RE.exec(cleaned);
@@ -622,6 +637,7 @@ function UiSpecBlock({ spec, raw }) {
622
637
  }
623
638
  // ── Main component ──────────────────────────────────────────────────
624
639
  export function MessageContent({ message }) {
640
+ const { sendActionMessage } = useApp();
625
641
  // Parse segments — memoize to avoid re-parsing on every render
626
642
  const segments = useMemo(() => {
627
643
  try {
@@ -632,6 +648,9 @@ export function MessageContent({ message }) {
632
648
  return [{ kind: "text", text: message.text }];
633
649
  }
634
650
  }, [message.text]);
651
+ const handleChoice = useCallback((value) => {
652
+ void sendActionMessage(value);
653
+ }, [sendActionMessage]);
635
654
  // Fast path: single plain-text segment (most messages)
636
655
  if (segments.length === 1 && segments[0].kind === "text") {
637
656
  return _jsx("div", { className: "whitespace-pre-wrap", children: segments[0].text });
@@ -648,7 +667,9 @@ export function MessageContent({ message }) {
648
667
  ? `text:${seg.text.slice(0, 80)}`
649
668
  : seg.kind === "config"
650
669
  ? `config:${seg.pluginId}`
651
- : `ui:${seg.raw.slice(0, 80)}`;
670
+ : seg.kind === "choice"
671
+ ? `choice:${seg.id}`
672
+ : `ui:${seg.raw.slice(0, 80)}`;
652
673
  const segmentKey = nextKey(baseKey);
653
674
  switch (seg.kind) {
654
675
  case "text":
@@ -660,6 +681,8 @@ export function MessageContent({ message }) {
660
681
  return (_jsx(InlinePluginConfig, { pluginId: seg.pluginId }, segmentKey));
661
682
  case "ui-spec":
662
683
  return (_jsx(UiSpecBlock, { spec: seg.spec, raw: seg.raw }, segmentKey));
684
+ case "choice":
685
+ return (_jsx(ChoiceWidget, { id: seg.id, scope: seg.scope, options: seg.options, onChoose: handleChoice }, segmentKey));
663
686
  default:
664
687
  return null;
665
688
  }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Parser for `[CHOICE:<scope>(?: id=<id>)?]\n...lines...\n[/CHOICE]` blocks
3
+ * emitted by agent actions. Lives in its own module so unit tests can
4
+ * exercise the regex/option extraction without pulling the entire
5
+ * `MessageContent` React graph (which transitively imports the runtime).
6
+ */
7
+ import type { ChoiceOption } from "./widgets/ChoiceWidget";
8
+ export declare const CHOICE_RE: RegExp;
9
+ export declare function generateChoiceId(): string;
10
+ export declare function parseChoiceBody(body: string): ChoiceOption[];
11
+ export interface ChoiceMatch {
12
+ start: number;
13
+ end: number;
14
+ id: string;
15
+ scope: string;
16
+ options: ChoiceOption[];
17
+ }
18
+ /** Find every CHOICE block in `text` and return their character regions. */
19
+ export declare function findChoiceRegions(text: string): ChoiceMatch[];
20
+ //# sourceMappingURL=message-choice-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-choice-parser.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/chat/message-choice-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,eAAO,MAAM,SAAS,QAC4C,CAAC;AAEnE,wBAAgB,gBAAgB,IAAI,MAAM,CAQzC;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAa5D;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAoB7D"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Parser for `[CHOICE:<scope>(?: id=<id>)?]\n...lines...\n[/CHOICE]` blocks
3
+ * emitted by agent actions. Lives in its own module so unit tests can
4
+ * exercise the regex/option extraction without pulling the entire
5
+ * `MessageContent` React graph (which transitively imports the runtime).
6
+ */
7
+ export const CHOICE_RE = /\[CHOICE:([\w-]+)(?:\s+id=(\S+))?\]\n([\s\S]*?)\n\[\/CHOICE\]/g;
8
+ export function generateChoiceId() {
9
+ if (typeof crypto !== "undefined" &&
10
+ typeof crypto.randomUUID === "function") {
11
+ return crypto.randomUUID();
12
+ }
13
+ return `choice-${Math.random().toString(36).slice(2, 10)}-${Date.now().toString(36)}`;
14
+ }
15
+ export function parseChoiceBody(body) {
16
+ const options = [];
17
+ for (const rawLine of body.split("\n")) {
18
+ const line = rawLine.trim();
19
+ if (!line)
20
+ continue;
21
+ const eq = line.indexOf("=");
22
+ if (eq < 0)
23
+ continue;
24
+ const value = line.slice(0, eq).trim();
25
+ const label = line.slice(eq + 1).trim();
26
+ if (!value || !label)
27
+ continue;
28
+ options.push({ value, label });
29
+ }
30
+ return options;
31
+ }
32
+ /** Find every CHOICE block in `text` and return their character regions. */
33
+ export function findChoiceRegions(text) {
34
+ const results = [];
35
+ CHOICE_RE.lastIndex = 0;
36
+ let m = CHOICE_RE.exec(text);
37
+ while (m !== null) {
38
+ const scope = m[1];
39
+ const id = m[2] && m[2].length > 0 ? m[2] : generateChoiceId();
40
+ const options = parseChoiceBody(m[3]);
41
+ if (options.length > 0) {
42
+ results.push({
43
+ start: m.index,
44
+ end: m.index + m[0].length,
45
+ id,
46
+ scope,
47
+ options,
48
+ });
49
+ }
50
+ m = CHOICE_RE.exec(text);
51
+ }
52
+ return results;
53
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * ChoiceWidget — inline button row for `[CHOICE:...]` blocks emitted by
3
+ * agent actions (currently the unified APP and PLUGIN actions when they
4
+ * need the user to disambiguate intent).
5
+ *
6
+ * The widget is purely presentational: it surfaces a list of options as
7
+ * buttons and reports the selected `value` back to the caller via
8
+ * `onChoose`. After the first selection the entire row locks so the
9
+ * agent only ever sees one decision per prompt.
10
+ */
11
+ export type ChoiceOption = {
12
+ value: string;
13
+ label: string;
14
+ };
15
+ export type ChoiceWidgetProps = {
16
+ /** Stable id from the source `[CHOICE:scope id=xxx]` marker. */
17
+ id: string;
18
+ /** Scope hint from the marker, e.g. "app-create" or "plugin-create". */
19
+ scope: string;
20
+ options: ChoiceOption[];
21
+ onChoose: (value: string) => void;
22
+ };
23
+ export declare function ChoiceWidget({ id, scope, options, onChoose, }: ChoiceWidgetProps): import("react/jsx-runtime").JSX.Element | null;
24
+ //# sourceMappingURL=ChoiceWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChoiceWidget.d.ts","sourceRoot":"","sources":["../../../../../../../../app-core/src/components/chat/widgets/ChoiceWidget.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAQF,wBAAgB,YAAY,CAAC,EAC3B,EAAE,EACF,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,iBAAiB,kDA4DnB"}
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * ChoiceWidget — inline button row for `[CHOICE:...]` blocks emitted by
4
+ * agent actions (currently the unified APP and PLUGIN actions when they
5
+ * need the user to disambiguate intent).
6
+ *
7
+ * The widget is purely presentational: it surfaces a list of options as
8
+ * buttons and reports the selected `value` back to the caller via
9
+ * `onChoose`. After the first selection the entire row locks so the
10
+ * agent only ever sees one decision per prompt.
11
+ */
12
+ import { Button } from "@elizaos/ui";
13
+ import { Check } from "lucide-react";
14
+ import { useCallback, useState } from "react";
15
+ function isCancelLike(value, label) {
16
+ const v = value.toLowerCase();
17
+ const l = label.toLowerCase();
18
+ return v === "cancel" || v === "no" || v === "none" || l === "cancel";
19
+ }
20
+ export function ChoiceWidget({ id, scope, options, onChoose, }) {
21
+ const [selected, setSelected] = useState(null);
22
+ const handleChoose = useCallback((option) => {
23
+ if (selected)
24
+ return;
25
+ setSelected(option);
26
+ onChoose(option.value);
27
+ }, [onChoose, selected]);
28
+ if (options.length === 0)
29
+ return null;
30
+ return (_jsxs("fieldset", { className: "my-2 flex min-w-0 flex-wrap items-center gap-2 border-0 p-0", "aria-label": `Choose ${scope}`, "data-choice-id": id, "data-choice-scope": scope, children: [options.map((option) => {
31
+ const cancel = isCancelLike(option.value, option.label);
32
+ const isSelected = selected?.value === option.value;
33
+ const variant = cancel ? "ghost" : "outline";
34
+ return (_jsx(Button, { type: "button", variant: variant, size: "sm", disabled: selected !== null, "aria-label": option.label, "aria-pressed": isSelected, "data-testid": `choice-${option.value}`, className: cancel
35
+ ? "h-7 px-3 text-xs text-muted hover:text-txt disabled:opacity-40"
36
+ : "h-7 px-3 text-xs disabled:opacity-40", onClick: () => handleChoose(option), children: isSelected ? (_jsxs("span", { className: "inline-flex items-center gap-1", children: [_jsx(Check, { className: "h-3.5 w-3.5", "aria-hidden": true }), _jsx("span", { children: option.label })] })) : (option.label) }, option.value));
37
+ }), selected ? (_jsxs("span", { className: "text-2xs text-muted", role: "status", children: ["Selected: ", selected.label] })) : null] }));
38
+ }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { getBootConfig } from "../../config";
2
+ import { getBootConfig } from "../../config/boot-config";
3
3
  import { BlueBubblesStatusPanel } from "./BlueBubblesStatusPanel";
4
4
  import { DiscordLocalConnectorPanel } from "./DiscordLocalConnectorPanel";
5
5
  import { IMessageStatusPanel } from "./IMessageStatusPanel";
@@ -1 +1 @@
1
- {"version":3,"file":"CustomActionEditor.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/custom-actions/CustomActionEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AA2CxB,UAAU,uBAAuB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,GACR,EAAE,uBAAuB,kDAg1BzB"}
1
+ {"version":3,"file":"CustomActionEditor.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/custom-actions/CustomActionEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,gBAAgB,CAAC;AA2C3E,UAAU,uBAAuB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,GACR,EAAE,uBAAuB,kDAg1BzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomActionsPanel.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/custom-actions/CustomActionsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAOxB,UAAU,uBAAuB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AA8BD,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,YAAY,GACb,EAAE,uBAAuB,2CA8SzB"}
1
+ {"version":3,"file":"CustomActionsPanel.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/custom-actions/CustomActionsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAOtD,UAAU,uBAAuB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AA8BD,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,YAAY,GACb,EAAE,uBAAuB,2CA8SzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomActionsView.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/custom-actions/CustomActionsView.tsx"],"names":[],"mappings":"AA4BA,wBAAgB,iBAAiB,4CAyXhC"}
1
+ {"version":3,"file":"CustomActionsView.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/custom-actions/CustomActionsView.tsx"],"names":[],"mappings":"AA0BA,wBAAgB,iBAAiB,4CAyXhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"custom-action-form.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/custom-actions/custom-action-form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,eAAO,MAAM,YAAY,oDAAqD,CAAC;AAK/E,eAAO,MAAM,4BAA4B,oJAC0G,CAAC;AACpJ,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAC9D,eAAO,MAAM,oBAAoB,wGACsE,CAAC;AACxG,eAAO,MAAM,uBAAuB,oHAAwC,CAAC;AAC7E,eAAO,MAAM,2BAA2B,8HAAyC,CAAC;AAClF,eAAO,MAAM,0BAA0B,wEACgC,CAAC;AAIxE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAInE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQzD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMxD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAG1D;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,CAUxD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,EAAE,CA6B1D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAerD;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG;IACtD,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CA+JA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,IAAI,CAkBnE"}
1
+ {"version":3,"file":"custom-action-form.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/custom-actions/custom-action-form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,eAAO,MAAM,YAAY,oDAAqD,CAAC;AAK/E,eAAO,MAAM,4BAA4B,oJAC0G,CAAC;AACpJ,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAC9D,eAAO,MAAM,oBAAoB,wGACsE,CAAC;AACxG,eAAO,MAAM,uBAAuB,oHAAwC,CAAC;AAC7E,eAAO,MAAM,2BAA2B,8HAAyC,CAAC;AAClF,eAAO,MAAM,0BAA0B,wEACgC,CAAC;AAIxE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAInE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQzD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMxD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAG1D;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,CAUxD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,EAAE,CA6B1D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAerD;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG;IACtD,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CA+JA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,IAAI,CAkBnE"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { buildBrowserWorkspaceWalletState, } from "@elizaos/app-steward";
2
+ import { buildBrowserWorkspaceWalletState, } from "@elizaos/app-steward/browser-workspace-wallet";
3
3
  import { Button, Input, SidebarCollapsedActionButton, SidebarContent, SidebarPanel, SidebarScrollRegion, useIntervalWhenDocumentVisible, WorkspaceLayout, } from "@elizaos/ui";
4
4
  import { ExternalLink, FolderOpen, Plus, RefreshCw, X } from "lucide-react";
5
5
  import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"KnowledgeView.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/pages/KnowledgeView.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,6BAA6B,CAAC;AA8BrC,OAAO,EACL,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAkI5B,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EACX,OAAO,EACP,QAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,GACjB,GAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IAC7D,0BAA0B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,2CAo1BL"}
1
+ {"version":3,"file":"KnowledgeView.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/pages/KnowledgeView.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,6BAA6B,CAAC;AA+BrC,OAAO,EACL,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAoI5B,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EACX,OAAO,EACP,QAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,GACjB,GAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IAC7D,0BAA0B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,2CA+3BL"}
@@ -1,5 +1,6 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Button, PagePanel } from "@elizaos/ui";
3
+ import { BookOpen, Pencil } from "lucide-react";
3
4
  import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
4
5
  import { client } from "../../api/client";
5
6
  import { useApp } from "../../state/useApp";
@@ -9,6 +10,7 @@ import { isKnowledgeImageFile, MAX_KNOWLEDGE_IMAGE_PROCESSING_BYTES, maybeCompre
9
10
  import { ConfirmDeleteControl } from "../shared/confirm-delete-control";
10
11
  import { DocumentViewer, getKnowledgeDocumentSummary, getKnowledgeTypeLabel, } from "./knowledge-detail";
11
12
  import { BULK_UPLOAD_TARGET_BYTES, getKnowledgeUploadFilename, isSupportedKnowledgeFile, KNOWLEDGE_UPLOAD_ACCEPT, LARGE_FILE_WARNING_BYTES, MAX_BULK_REQUEST_DOCUMENTS, MAX_UPLOAD_REQUEST_BYTES, shouldReadKnowledgeFileAsText, UploadZone, } from "./knowledge-upload";
13
+ import { ScratchpadView } from "./ScratchpadView";
12
14
  // Re-export public API used by tests and other modules
13
15
  export { getKnowledgeUploadFilename, shouldReadKnowledgeFileAsText, } from "./knowledge-upload";
14
16
  /* ── Search Result Item ─────────────────────────────────────────────── */
@@ -35,6 +37,7 @@ export function KnowledgeView({ fileInputId, inModal, embedded = false, onDocume
35
37
  const { setActionNotice } = useApp();
36
38
  const setActionNoticeRef = useRef(setActionNotice);
37
39
  setActionNoticeRef.current = setActionNotice;
40
+ const [activePanel, setActivePanel] = useState("documents");
38
41
  const [searchQuery, setSearchQuery] = useState("");
39
42
  const [documents, setDocuments] = useState([]);
40
43
  const [searchResults, setSearchResults] = useState(null);
@@ -532,5 +535,12 @@ export function KnowledgeView({ fileInputId, inModal, embedded = false, onDocume
532
535
  }), title: t("knowledgeview.NoResultsFound") })), isShowingSearchResults
533
536
  ? visibleSearchResults.map((result) => (_jsx(SearchResultListItem, { result: result, active: selectedDocId === (result.documentId || result.id), onSelect: setSelectedDocId }, result.id)))
534
537
  : filteredDocuments.map((doc) => (_jsx(DocumentListItem, { doc: doc, active: selectedDocId === doc.id, onSelect: setSelectedDocId, onDelete: handleDelete, deleting: deleting === doc.id }, doc.id)))] })] })] }));
535
- return (_jsxs("div", { className: `flex flex-1 min-h-0 flex-col gap-4 ${inModal ? "min-h-0" : ""}`, "data-testid": "knowledge-view", children: [!shouldRenderSelectorRail && fileInputId ? (_jsx("input", { id: fileInputId, type: "file", className: "hidden", multiple: true, accept: KNOWLEDGE_UPLOAD_ACCEPT, onChange: handleExternalFileInputChange })) : null, isServiceLoading && (_jsxs(PagePanel, { variant: "inset", className: "flex items-center gap-2 px-0 py-3 text-sm text-muted-strong !rounded-none !border-0 !bg-transparent !shadow-none !ring-0", children: [_jsx("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-accent border-t-transparent" }), t("knowledgeview.KnowledgeServiceIs")] })), loadError && !isServiceLoading && (_jsx(PagePanel.Notice, { tone: "danger", actions: _jsx(Button, { variant: "outline", size: "sm", className: "border-danger/30 px-3 text-xs text-danger hover:bg-danger/16", onClick: () => loadData(), children: t("common.retry") }), children: loadError })), _jsxs("div", { className: "flex min-h-0 flex-1 flex-col gap-4 lg:flex-row", children: [documentContent, shouldRenderSelectorRail ? selectorRail : null] })] }));
538
+ const panelSelector = (_jsxs("div", { className: "flex items-center gap-1 rounded-lg border border-border/35 bg-bg-muted/40 p-1", children: [_jsxs("button", { type: "button", onClick: () => setActivePanel("documents"), className: `inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs font-bold transition-colors ${activePanel === "documents"
539
+ ? "bg-bg text-txt shadow-sm"
540
+ : "text-muted hover:text-txt"}`, "aria-pressed": activePanel === "documents", children: [_jsx(BookOpen, { className: "h-3.5 w-3.5", "aria-hidden": "true" }), t("knowledgeview.Documents", { defaultValue: "Documents" })] }), _jsxs("button", { type: "button", onClick: () => setActivePanel("scratchpad"), className: `inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs font-bold transition-colors ${activePanel === "scratchpad"
541
+ ? "bg-bg text-txt shadow-sm"
542
+ : "text-muted hover:text-txt"}`, "aria-pressed": activePanel === "scratchpad", children: [_jsx(Pencil, { className: "h-3.5 w-3.5", "aria-hidden": "true" }), t("knowledgeview.Scratchpad", { defaultValue: "Scratchpad" })] })] }));
543
+ return (_jsxs("div", { className: `flex flex-1 min-h-0 flex-col gap-4 ${inModal ? "min-h-0" : ""}`, "data-testid": "knowledge-view", children: [_jsx("div", { className: "flex flex-wrap items-center justify-between gap-3", children: panelSelector }), activePanel === "documents" &&
544
+ !shouldRenderSelectorRail &&
545
+ fileInputId ? (_jsx("input", { id: fileInputId, type: "file", className: "hidden", multiple: true, accept: KNOWLEDGE_UPLOAD_ACCEPT, onChange: handleExternalFileInputChange })) : null, activePanel === "documents" && isServiceLoading && (_jsxs(PagePanel, { variant: "inset", className: "flex items-center gap-2 px-0 py-3 text-sm text-muted-strong !rounded-none !border-0 !bg-transparent !shadow-none !ring-0", children: [_jsx("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-accent border-t-transparent" }), t("knowledgeview.KnowledgeServiceIs")] })), activePanel === "documents" && loadError && !isServiceLoading && (_jsx(PagePanel.Notice, { tone: "danger", actions: _jsx(Button, { variant: "outline", size: "sm", className: "border-danger/30 px-3 text-xs text-danger hover:bg-danger/16", onClick: () => loadData(), children: t("common.retry") }), children: loadError })), activePanel === "documents" ? (_jsxs("div", { className: "flex min-h-0 flex-1 flex-col gap-4 lg:flex-row", children: [documentContent, shouldRenderSelectorRail ? selectorRail : null] })) : (_jsx(ScratchpadView, {}))] }));
536
546
  }