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

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 (369) hide show
  1. package/apps/app-companion/src/components/companion/CompanionAppView.d.ts.map +1 -1
  2. package/apps/app-companion/src/components/companion/CompanionAppView.js +6 -4
  3. package/apps/app-companion/src/components/companion/CompanionView.d.ts.map +1 -1
  4. package/apps/app-companion/src/components/companion/CompanionView.js +6 -4
  5. package/apps/app-lifeops/src/api/client-lifeops.js +6 -0
  6. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts +3 -0
  7. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts.map +1 -0
  8. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.js +189 -0
  9. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts +2 -0
  10. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts.map +1 -0
  11. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.js +1065 -0
  12. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts +7 -0
  13. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts.map +1 -0
  14. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.js +71 -0
  15. package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts +14 -0
  16. package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts.map +1 -0
  17. package/apps/app-lifeops/src/components/DataSourcesStrip.js +36 -0
  18. package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts +23 -0
  19. package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts.map +1 -0
  20. package/apps/app-lifeops/src/components/EventEditorDrawer.js +514 -0
  21. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts +2 -0
  22. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts.map +1 -0
  23. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.js +10 -0
  24. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts +15 -0
  25. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts.map +1 -0
  26. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.js +515 -0
  27. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts +34 -0
  28. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts.map +1 -0
  29. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.js +175 -0
  30. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts +2 -0
  31. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts.map +1 -0
  32. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.js +99 -0
  33. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts +37 -0
  34. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts.map +1 -0
  35. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.js +88 -0
  36. package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts +13 -0
  37. package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts.map +1 -0
  38. package/apps/app-lifeops/src/components/LifeOpsInboxSection.js +490 -0
  39. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts +12 -0
  40. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts.map +1 -0
  41. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.js +92 -0
  42. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts +12 -0
  43. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts.map +1 -0
  44. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.js +160 -0
  45. package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts +3 -0
  46. package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts.map +1 -0
  47. package/apps/app-lifeops/src/components/LifeOpsMoneySection.js +373 -0
  48. package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts +9 -0
  49. package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts.map +1 -0
  50. package/apps/app-lifeops/src/components/LifeOpsNavRail.js +93 -0
  51. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts +4 -0
  52. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts.map +1 -0
  53. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.js +274 -0
  54. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts +7 -0
  55. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts.map +1 -0
  56. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.js +657 -0
  57. package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts +42 -0
  58. package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts.map +1 -0
  59. package/apps/app-lifeops/src/components/LifeOpsPageSections.js +166 -0
  60. package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts +2 -0
  61. package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts.map +1 -0
  62. package/apps/app-lifeops/src/components/LifeOpsPageView.js +566 -0
  63. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts +2 -0
  64. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts.map +1 -0
  65. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.js +749 -0
  66. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts +27 -0
  67. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts.map +1 -0
  68. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.js +106 -0
  69. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts +2 -0
  70. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts.map +1 -0
  71. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.js +373 -0
  72. package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts +10 -0
  73. package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts.map +1 -0
  74. package/apps/app-lifeops/src/components/LifeOpsSectionContent.js +30 -0
  75. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts +21 -0
  76. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts.map +1 -0
  77. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.js +30 -0
  78. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts +20 -0
  79. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts.map +1 -0
  80. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.js +597 -0
  81. package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts +13 -0
  82. package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts.map +1 -0
  83. package/apps/app-lifeops/src/components/LifeOpsSetupGate.js +134 -0
  84. package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts +10 -0
  85. package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts.map +1 -0
  86. package/apps/app-lifeops/src/components/LifeOpsSleepSection.js +425 -0
  87. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts +11 -0
  88. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts.map +1 -0
  89. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.js +49 -0
  90. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts +2 -0
  91. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts.map +1 -0
  92. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.js +1041 -0
  93. package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts +7 -0
  94. package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts.map +1 -0
  95. package/apps/app-lifeops/src/components/MessagingConnectorCards.js +643 -0
  96. package/apps/app-lifeops/src/components/MissingSourceCard.d.ts +9 -0
  97. package/apps/app-lifeops/src/components/MissingSourceCard.d.ts.map +1 -0
  98. package/apps/app-lifeops/src/components/MissingSourceCard.js +5 -0
  99. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts +2 -0
  100. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts.map +1 -0
  101. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.js +163 -0
  102. package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts +8 -0
  103. package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts.map +1 -0
  104. package/apps/app-lifeops/src/components/SleepInspectionPanel.js +59 -0
  105. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts +3 -0
  106. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts.map +1 -0
  107. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.js +75 -0
  108. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts +8 -0
  109. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts.map +1 -0
  110. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.js +48 -0
  111. package/apps/app-lifeops/src/components/lifeops-labels.d.ts +2 -0
  112. package/apps/app-lifeops/src/components/lifeops-labels.d.ts.map +1 -0
  113. package/apps/app-lifeops/src/components/lifeops-labels.js +5 -0
  114. package/apps/app-lifeops/src/events/index.d.ts +34 -0
  115. package/apps/app-lifeops/src/events/index.d.ts.map +1 -0
  116. package/apps/app-lifeops/src/events/index.js +23 -0
  117. package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts +28 -0
  118. package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts.map +1 -0
  119. package/apps/app-lifeops/src/hooks/useCalendarWeek.js +93 -0
  120. package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts +14 -0
  121. package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts.map +1 -0
  122. package/apps/app-lifeops/src/hooks/useDiscordConnector.js +126 -0
  123. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts +29 -0
  124. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts.map +1 -0
  125. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.js +481 -0
  126. package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts +10 -0
  127. package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts.map +1 -0
  128. package/apps/app-lifeops/src/hooks/useIMessageConnector.js +50 -0
  129. package/apps/app-lifeops/src/hooks/useInbox.d.ts +34 -0
  130. package/apps/app-lifeops/src/hooks/useInbox.d.ts.map +1 -0
  131. package/apps/app-lifeops/src/hooks/useInbox.js +98 -0
  132. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts +2 -0
  133. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts.map +1 -0
  134. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.js +383 -0
  135. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts +9 -0
  136. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts.map +1 -0
  137. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.js +83 -0
  138. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts +8 -0
  139. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +1 -0
  140. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.js +60 -0
  141. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts +18 -0
  142. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts.map +1 -0
  143. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.js +66 -0
  144. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts +14 -0
  145. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts.map +1 -0
  146. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.js +79 -0
  147. package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts +18 -0
  148. package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts.map +1 -0
  149. package/apps/app-lifeops/src/hooks/useLifeOpsSection.js +78 -0
  150. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts +14 -0
  151. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts.map +1 -0
  152. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.js +160 -0
  153. package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts +16 -0
  154. package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts.map +1 -0
  155. package/apps/app-lifeops/src/hooks/useSignalConnector.js +198 -0
  156. package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts +21 -0
  157. package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts.map +1 -0
  158. package/apps/app-lifeops/src/hooks/useTelegramConnector.js +177 -0
  159. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts +8 -0
  160. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts.map +1 -0
  161. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.js +58 -0
  162. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts +12 -0
  163. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts.map +1 -0
  164. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.js +152 -0
  165. package/apps/app-lifeops/src/lifeops/discord-browser-scraper.js +1 -1
  166. package/apps/app-lifeops/src/lifeops/google-gmail.d.ts.map +1 -1
  167. package/apps/app-lifeops/src/lifeops/google-gmail.js +74 -26
  168. package/apps/app-lifeops/src/lifeops/google-managed-client.d.ts.map +1 -1
  169. package/apps/app-lifeops/src/lifeops/google-managed-client.js +4 -5
  170. package/apps/app-lifeops/src/lifeops/google-oauth.d.ts.map +1 -1
  171. package/apps/app-lifeops/src/lifeops/google-oauth.js +2 -2
  172. package/apps/app-lifeops/src/lifeops/owner-profile.d.ts.map +1 -1
  173. package/apps/app-lifeops/src/lifeops/owner-profile.js +1 -1
  174. package/apps/app-lifeops/src/lifeops/paypal-managed-client.d.ts.map +1 -1
  175. package/apps/app-lifeops/src/lifeops/paypal-managed-client.js +4 -5
  176. package/apps/app-lifeops/src/lifeops/plaid-managed-client.d.ts.map +1 -1
  177. package/apps/app-lifeops/src/lifeops/plaid-managed-client.js +4 -5
  178. package/apps/app-lifeops/src/lifeops/schedule-sync-client.js +2 -2
  179. package/apps/app-lifeops/src/lifeops/service-constants.d.ts +1 -0
  180. package/apps/app-lifeops/src/lifeops/service-constants.d.ts.map +1 -1
  181. package/apps/app-lifeops/src/lifeops/service-constants.js +1 -0
  182. package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts +1 -1
  183. package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts.map +1 -1
  184. package/apps/app-lifeops/src/lifeops/service-mixin-core.js +2 -1
  185. package/apps/app-lifeops/src/lifeops/service-mixin-imessage.js +1 -1
  186. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts +3 -1
  187. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts.map +1 -1
  188. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.js +42 -13
  189. package/apps/app-lifeops/src/lifeops/service-mixin-reminders.d.ts.map +1 -1
  190. package/apps/app-lifeops/src/lifeops/service-mixin-reminders.js +3 -2
  191. package/apps/app-lifeops/src/lifeops/service-mixin-workflows.d.ts.map +1 -1
  192. package/apps/app-lifeops/src/lifeops/service-mixin-workflows.js +1 -1
  193. package/apps/app-lifeops/src/lifeops/service-normalize-calendar.d.ts.map +1 -1
  194. package/apps/app-lifeops/src/lifeops/service-normalize-calendar.js +3 -3
  195. package/apps/app-lifeops/src/lifeops/service-normalize-connector.d.ts +1 -1
  196. package/apps/app-lifeops/src/lifeops/service-normalize-connector.d.ts.map +1 -1
  197. package/apps/app-lifeops/src/lifeops/service-normalize-connector.js +2 -2
  198. package/apps/app-lifeops/src/lifeops/signal-auth.d.ts.map +1 -1
  199. package/apps/app-lifeops/src/lifeops/signal-auth.js +6 -3
  200. package/apps/app-lifeops/src/lifeops/telegram-auth.js +1 -1
  201. package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.d.ts.map +1 -1
  202. package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.js +31 -6
  203. package/apps/app-lifeops/src/lifeops/twilio.js +1 -1
  204. package/apps/app-lifeops/src/lifeops/x-poster.d.ts.map +1 -1
  205. package/apps/app-lifeops/src/lifeops/x-poster.js +13 -3
  206. package/apps/app-lifeops/src/lifeops-route.d.ts +74 -0
  207. package/apps/app-lifeops/src/lifeops-route.d.ts.map +1 -0
  208. package/apps/app-lifeops/src/lifeops-route.js +204 -0
  209. package/apps/app-lifeops/src/platform/lifeops-github.d.ts +15 -0
  210. package/apps/app-lifeops/src/platform/lifeops-github.d.ts.map +1 -0
  211. package/apps/app-lifeops/src/platform/lifeops-github.js +135 -0
  212. package/apps/app-lifeops/src/routes/cloud-features-routes.d.ts +2 -2
  213. package/apps/app-lifeops/src/routes/cloud-features-routes.d.ts.map +1 -1
  214. package/apps/app-lifeops/src/routes/cloud-features-routes.js +5 -3
  215. package/apps/app-lifeops/src/routes/lifeops-routes.d.ts.map +1 -1
  216. package/apps/app-lifeops/src/routes/lifeops-routes.js +15 -3
  217. package/apps/app-lifeops/src/routes/plugin.d.ts.map +1 -1
  218. package/apps/app-lifeops/src/routes/plugin.js +10 -1
  219. package/apps/app-lifeops/src/routes/travel-provider-relay-routes.d.ts +1 -1
  220. package/apps/app-lifeops/src/routes/travel-provider-relay-routes.d.ts.map +1 -1
  221. package/apps/app-lifeops/src/routes/travel-provider-relay-routes.js +4 -2
  222. package/apps/app-lifeops/src/routes/website-blocker-routes.d.ts +1 -1
  223. package/apps/app-lifeops/src/routes/website-blocker-routes.d.ts.map +1 -1
  224. package/apps/app-lifeops/src/ui.d.ts +11 -0
  225. package/apps/app-lifeops/src/ui.d.ts.map +1 -0
  226. package/apps/app-lifeops/src/ui.js +9 -0
  227. package/apps/app-lifeops/src/utils/lifeops-url.d.ts +5 -0
  228. package/apps/app-lifeops/src/utils/lifeops-url.d.ts.map +1 -0
  229. package/apps/app-lifeops/src/utils/lifeops-url.js +35 -0
  230. package/apps/app-lifeops/src/website-blocker/access.d.ts.map +1 -1
  231. package/apps/app-lifeops/src/website-blocker/access.js +1 -1
  232. package/apps/app-steward/src/routes/steward-compat-routes.d.ts +1 -1
  233. package/apps/app-steward/src/routes/steward-compat-routes.d.ts.map +1 -1
  234. package/apps/app-steward/src/routes/steward-compat-routes.js +3 -1
  235. package/apps/app-steward/src/routes/wallet-browser-compat-routes.d.ts +1 -1
  236. package/apps/app-steward/src/routes/wallet-browser-compat-routes.d.ts.map +1 -1
  237. package/apps/app-steward/src/routes/wallet-browser-compat-routes.js +3 -1
  238. package/apps/app-steward/src/routes/wallet-bsc-core-routes.d.ts.map +1 -1
  239. package/apps/app-steward/src/routes/wallet-bsc-core-routes.js +2 -1
  240. package/apps/app-steward/src/routes/wallet-compat-routes.d.ts +1 -1
  241. package/apps/app-steward/src/routes/wallet-compat-routes.d.ts.map +1 -1
  242. package/apps/app-steward/src/routes/wallet-compat-routes.js +3 -1
  243. package/apps/app-steward/src/routes/wallet-core-routes.d.ts.map +1 -1
  244. package/apps/app-steward/src/routes/wallet-core-routes.js +2 -1
  245. package/apps/app-steward/src/routes/wallet-trade-compat-routes.d.ts +1 -1
  246. package/apps/app-steward/src/routes/wallet-trade-compat-routes.d.ts.map +1 -1
  247. package/apps/app-steward/src/routes/wallet-trade-compat-routes.js +3 -1
  248. package/apps/app-training/src/core/dataset-generator.d.ts +1 -1
  249. package/apps/app-training/src/core/dataset-generator.d.ts.map +1 -1
  250. package/apps/app-training/src/core/roleplay-executor.d.ts +1 -1
  251. package/apps/app-training/src/core/roleplay-executor.d.ts.map +1 -1
  252. package/apps/app-training/src/core/trajectory-task-datasets.d.ts +1 -1
  253. package/apps/app-training/src/core/trajectory-task-datasets.d.ts.map +1 -1
  254. package/apps/app-training/src/index.d.ts +1 -2
  255. package/apps/app-training/src/index.d.ts.map +1 -1
  256. package/apps/app-training/src/index.js +1 -2
  257. package/apps/app-training/src/routes/training-routes.d.ts +1 -1
  258. package/apps/app-training/src/routes/training-routes.d.ts.map +1 -1
  259. package/apps/app-training/src/routes/training-routes.js +1 -1
  260. package/apps/app-training/src/routes/trajectory-routes.d.ts +1 -1
  261. package/apps/app-training/src/routes/trajectory-routes.d.ts.map +1 -1
  262. package/apps/app-training/src/routes/trajectory-routes.js +3 -1
  263. package/apps/app-training/src/services/training-service-like.d.ts +1 -1
  264. package/apps/app-training/src/services/training-service-like.d.ts.map +1 -1
  265. package/apps/app-training/src/services/training-service.d.ts +1 -1
  266. package/apps/app-training/src/services/training-service.d.ts.map +1 -1
  267. package/package.json +1 -1
  268. package/packages/agent/src/api/provider-switch-config.js +1 -1
  269. package/packages/agent/src/api/server-helpers-auth.d.ts.map +1 -1
  270. package/packages/agent/src/api/server-helpers-auth.js +5 -4
  271. package/packages/agent/src/providers/media-provider.d.ts +1 -1
  272. package/packages/agent/src/providers/media-provider.d.ts.map +1 -1
  273. package/packages/app-core/src/App.d.ts.map +1 -1
  274. package/packages/app-core/src/App.js +20 -12
  275. package/packages/app-core/src/api/auth.d.ts.map +1 -1
  276. package/packages/app-core/src/api/auth.js +5 -5
  277. package/packages/app-core/src/api/client-types-experience.d.ts +7 -0
  278. package/packages/app-core/src/api/client-types-experience.d.ts.map +1 -1
  279. package/packages/app-core/src/components/apps/helpers.d.ts +1 -1
  280. package/packages/app-core/src/components/apps/helpers.d.ts.map +1 -1
  281. package/packages/app-core/src/components/apps/helpers.js +1 -0
  282. package/packages/app-core/src/components/apps/internal-tool-apps.d.ts +11 -0
  283. package/packages/app-core/src/components/apps/internal-tool-apps.d.ts.map +1 -1
  284. package/packages/app-core/src/components/apps/internal-tool-apps.js +31 -0
  285. package/packages/app-core/src/components/apps/launch-history.d.ts +16 -0
  286. package/packages/app-core/src/components/apps/launch-history.d.ts.map +1 -0
  287. package/packages/app-core/src/components/apps/launch-history.js +77 -0
  288. package/packages/app-core/src/components/apps/per-app-config.d.ts +19 -0
  289. package/packages/app-core/src/components/apps/per-app-config.d.ts.map +1 -0
  290. package/packages/app-core/src/components/apps/per-app-config.js +99 -0
  291. package/packages/app-core/src/components/apps/useRegistryCatalog.d.ts +14 -0
  292. package/packages/app-core/src/components/apps/useRegistryCatalog.d.ts.map +1 -0
  293. package/packages/app-core/src/components/apps/useRegistryCatalog.js +52 -0
  294. package/packages/app-core/src/components/auth/LoginView.d.ts +1 -19
  295. package/packages/app-core/src/components/auth/LoginView.d.ts.map +1 -1
  296. package/packages/app-core/src/components/auth/LoginView.js +4 -99
  297. package/packages/app-core/src/components/character/CharacterExperienceWorkspace.d.ts.map +1 -1
  298. package/packages/app-core/src/components/character/CharacterExperienceWorkspace.js +14 -2
  299. package/packages/app-core/src/components/character/character-hub-helpers.d.ts.map +1 -1
  300. package/packages/app-core/src/components/character/character-hub-helpers.js +7 -0
  301. package/packages/app-core/src/components/character/character-hub-types.d.ts +7 -0
  302. package/packages/app-core/src/components/character/character-hub-types.d.ts.map +1 -1
  303. package/packages/app-core/src/components/onboarding/BootstrapStep.d.ts.map +1 -1
  304. package/packages/app-core/src/components/onboarding/BootstrapStep.js +3 -2
  305. package/packages/app-core/src/components/pages/AppDetailsView.d.ts +36 -0
  306. package/packages/app-core/src/components/pages/AppDetailsView.d.ts.map +1 -0
  307. package/packages/app-core/src/components/pages/AppDetailsView.js +289 -0
  308. package/packages/app-core/src/components/pages/AppsView.d.ts.map +1 -1
  309. package/packages/app-core/src/components/pages/AppsView.js +134 -42
  310. package/packages/app-core/src/components/shell/StartupShell.d.ts.map +1 -1
  311. package/packages/app-core/src/components/shell/StartupShell.js +2 -5
  312. package/packages/app-core/src/i18n/locales/en.json +256 -205
  313. package/packages/app-core/src/i18n/locales/es.json +256 -205
  314. package/packages/app-core/src/i18n/locales/ko.json +256 -205
  315. package/packages/app-core/src/i18n/locales/pt.json +256 -205
  316. package/packages/app-core/src/i18n/locales/tl.json +256 -205
  317. package/packages/app-core/src/i18n/locales/vi.json +256 -205
  318. package/packages/app-core/src/i18n/locales/zh-CN.json +256 -205
  319. package/packages/app-core/src/navigation/index.d.ts.map +1 -1
  320. package/packages/app-core/src/navigation/index.js +6 -0
  321. package/packages/app-core/src/shell/AppWindowRenderer.d.ts +17 -0
  322. package/packages/app-core/src/shell/AppWindowRenderer.d.ts.map +1 -0
  323. package/packages/app-core/src/shell/AppWindowRenderer.js +337 -0
  324. package/packages/app-core/src/shell/DetachedShellRoot.js +4 -1
  325. package/packages/app-core/src/shell/index.d.ts +1 -0
  326. package/packages/app-core/src/shell/index.d.ts.map +1 -1
  327. package/packages/app-core/src/shell/index.js +1 -0
  328. package/packages/app-core/src/state/startup-coordinator.d.ts.map +1 -1
  329. package/packages/app-core/src/state/startup-coordinator.js +0 -3
  330. package/packages/app-core/src/state/startup-phase-poll.d.ts.map +1 -1
  331. package/packages/app-core/src/state/startup-phase-poll.js +2 -4
  332. package/packages/app-core/src/state/usePluginsSkillsState.d.ts +6 -6
  333. package/packages/native-plugins/mobile-signals/src/definitions.d.ts +162 -0
  334. package/packages/native-plugins/mobile-signals/src/definitions.d.ts.map +1 -0
  335. package/packages/native-plugins/mobile-signals/src/definitions.js +1 -0
  336. package/packages/native-plugins/mobile-signals/src/index.d.ts +4 -0
  337. package/packages/native-plugins/mobile-signals/src/index.d.ts.map +1 -0
  338. package/packages/native-plugins/mobile-signals/src/index.js +6 -0
  339. package/packages/native-plugins/mobile-signals/src/web.d.ts +29 -0
  340. package/packages/native-plugins/mobile-signals/src/web.d.ts.map +1 -0
  341. package/packages/native-plugins/mobile-signals/src/web.js +269 -0
  342. package/packages/shared/src/app-hero-art.d.ts.map +1 -1
  343. package/packages/shared/src/app-hero-art.js +13 -0
  344. package/packages/shared/src/contracts/lifeops.d.ts +10 -0
  345. package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
  346. package/packages/shared/src/contracts/lifeops.js +5 -0
  347. package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.d.ts.map +1 -1
  348. package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.js +46 -4
  349. package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.d.ts.map +1 -1
  350. package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.js +34 -124
  351. package/packages/typescript/src/features/advanced-capabilities/experience/service.d.ts.map +1 -1
  352. package/packages/typescript/src/features/advanced-capabilities/experience/service.js +56 -0
  353. package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts +7 -0
  354. package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts.map +1 -1
  355. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts +7 -0
  356. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts.map +1 -0
  357. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.js +123 -0
  358. package/apps/app-training/src/ui/FineTuningView.d.ts +0 -5
  359. package/apps/app-training/src/ui/FineTuningView.d.ts.map +0 -1
  360. package/apps/app-training/src/ui/FineTuningView.js +0 -388
  361. package/apps/app-training/src/ui/fine-tuning-panels.d.ts +0 -111
  362. package/apps/app-training/src/ui/fine-tuning-panels.d.ts.map +0 -1
  363. package/apps/app-training/src/ui/fine-tuning-panels.js +0 -130
  364. package/apps/app-training/src/ui/index.d.ts +0 -3
  365. package/apps/app-training/src/ui/index.d.ts.map +0 -1
  366. package/apps/app-training/src/ui/index.js +0 -2
  367. package/packages/app-core/src/api/trusted-local-request.d.ts +0 -4
  368. package/packages/app-core/src/api/trusted-local-request.d.ts.map +0 -1
  369. package/packages/app-core/src/api/trusted-local-request.js +0 -176
@@ -0,0 +1,175 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useAppWorkspaceChatChrome, useChatComposer } from "@elizaos/app-core";
3
+ import { useCallback, useEffect } from "react";
4
+ import { useLifeOpsSelection, } from "./LifeOpsSelectionContext.js";
5
+ function channelLabel(channel) {
6
+ switch (channel) {
7
+ case "gmail":
8
+ return "email";
9
+ case "x_dm":
10
+ return "X DM";
11
+ case "discord":
12
+ return "Discord message";
13
+ case "telegram":
14
+ return "Telegram message";
15
+ case "signal":
16
+ return "Signal message";
17
+ case "imessage":
18
+ return "iMessage";
19
+ case "whatsapp":
20
+ return "WhatsApp message";
21
+ case "sms":
22
+ return "text message";
23
+ default:
24
+ return "message";
25
+ }
26
+ }
27
+ function formatChatDateTime(iso) {
28
+ if (!iso)
29
+ return null;
30
+ const parsed = Date.parse(iso);
31
+ if (!Number.isFinite(parsed))
32
+ return null;
33
+ return new Intl.DateTimeFormat(undefined, {
34
+ month: "short",
35
+ day: "numeric",
36
+ hour: "numeric",
37
+ minute: "2-digit",
38
+ }).format(new Date(parsed));
39
+ }
40
+ export function postToChat(text, options) {
41
+ window.dispatchEvent(new CustomEvent("milady:chat:prefill", {
42
+ detail: { text, select: options?.select ?? false },
43
+ }));
44
+ }
45
+ export function buildMessageChatPrefill(message) {
46
+ const subject = message.subject?.trim() || `${channelLabel(message.channel)}`;
47
+ const receivedAt = formatChatDateTime(message.receivedAt);
48
+ const link = message.deepLink ? ` Source: ${message.deepLink}` : "";
49
+ return [
50
+ `Help me handle this ${channelLabel(message.channel)} from ${message.sender.displayName}.`,
51
+ `Subject: ${subject}.`,
52
+ receivedAt ? `Received: ${receivedAt}.` : null,
53
+ message.snippet?.trim().length
54
+ ? `Context: ${message.snippet.trim()}`
55
+ : null,
56
+ link || null,
57
+ ]
58
+ .filter(Boolean)
59
+ .join(" ");
60
+ }
61
+ export function buildReminderChatPrefill(reminder) {
62
+ const scheduledFor = formatChatDateTime(reminder.scheduledFor);
63
+ return [
64
+ `Help me handle this reminder: ${reminder.title}.`,
65
+ scheduledFor ? `Scheduled: ${scheduledFor}.` : null,
66
+ reminder.stepLabel ? `Step: ${reminder.stepLabel}.` : null,
67
+ reminder.channel ? `Delivery: ${reminder.channel}.` : null,
68
+ ]
69
+ .filter(Boolean)
70
+ .join(" ");
71
+ }
72
+ export function buildEventChatPrefill(event) {
73
+ const startAt = formatChatDateTime(event.startAt);
74
+ const endAt = formatChatDateTime(event.endAt);
75
+ return [
76
+ `Help me with this calendar event: ${event.title}.`,
77
+ startAt ? `Starts: ${startAt}.` : null,
78
+ endAt ? `Ends: ${endAt}.` : null,
79
+ event.location ? `Location: ${event.location}.` : null,
80
+ ]
81
+ .filter(Boolean)
82
+ .join(" ");
83
+ }
84
+ export function useLifeOpsChatLauncher() {
85
+ const { select } = useLifeOpsSelection();
86
+ const chatChrome = useAppWorkspaceChatChrome();
87
+ const openLifeOpsChat = useCallback((text, selection, options) => {
88
+ select(selection ?? {});
89
+ chatChrome?.openChat();
90
+ if (typeof window === "undefined") {
91
+ postToChat(text, options);
92
+ return;
93
+ }
94
+ window.requestAnimationFrame(() => {
95
+ postToChat(text, options);
96
+ });
97
+ }, [chatChrome, select]);
98
+ const chatAboutMessage = useCallback((message) => {
99
+ openLifeOpsChat(buildMessageChatPrefill(message), {
100
+ messageId: message.id,
101
+ });
102
+ }, [openLifeOpsChat]);
103
+ const chatAboutReminder = useCallback((reminder) => {
104
+ openLifeOpsChat(buildReminderChatPrefill(reminder), {
105
+ reminderId: reminder.ownerId,
106
+ eventId: reminder.eventId ?? null,
107
+ });
108
+ }, [openLifeOpsChat]);
109
+ const chatAboutEvent = useCallback((event) => {
110
+ openLifeOpsChat(buildEventChatPrefill(event), {
111
+ eventId: event.id,
112
+ });
113
+ }, [openLifeOpsChat]);
114
+ return {
115
+ openLifeOpsChat,
116
+ chatAboutMessage,
117
+ chatAboutReminder,
118
+ chatAboutEvent,
119
+ };
120
+ }
121
+ export function useLifeOpsChatAdapter(selection) {
122
+ const { setChatInput } = useChatComposer();
123
+ useEffect(() => {
124
+ const handler = (event) => {
125
+ const detail = event.detail;
126
+ if (!detail?.text) {
127
+ return;
128
+ }
129
+ setChatInput(detail.text);
130
+ window.requestAnimationFrame(() => {
131
+ const ta = document.querySelector("[data-chat-composer-textarea]");
132
+ if (!ta)
133
+ return;
134
+ ta.focus();
135
+ if (detail.select) {
136
+ ta.select();
137
+ }
138
+ });
139
+ };
140
+ window.addEventListener("milady:chat:prefill", handler);
141
+ return () => {
142
+ window.removeEventListener("milady:chat:prefill", handler);
143
+ };
144
+ }, [setChatInput]);
145
+ useEffect(() => {
146
+ if (!selection.reminderId && !selection.eventId && !selection.messageId) {
147
+ setChatInput("");
148
+ }
149
+ }, [
150
+ selection.eventId,
151
+ selection.messageId,
152
+ selection.reminderId,
153
+ setChatInput,
154
+ ]);
155
+ let placeholder = null;
156
+ if (selection.reminderId) {
157
+ placeholder = "Ask about this reminder…";
158
+ }
159
+ else if (selection.eventId) {
160
+ placeholder = "Ask about this event…";
161
+ }
162
+ else if (selection.messageId) {
163
+ placeholder = "Ask about this message…";
164
+ }
165
+ return { placeholder };
166
+ }
167
+ export function LifeOpsChatAdapter({ children }) {
168
+ const { selection } = useLifeOpsSelection();
169
+ const { placeholder } = useLifeOpsChatAdapter(selection);
170
+ return (_jsxs("div", { className: "relative flex h-full flex-col", "data-testid": "lifeops-chat-adapter", children: [placeholder ? (_jsx("div", { className: "shrink-0 border-b border-border/12 bg-bg/60 px-4 py-1.5", children: _jsx("span", { className: "text-xs text-muted", children: placeholder }) })) : null, _jsx("div", { className: "flex min-h-0 flex-1 flex-col", children: children })] }));
171
+ }
172
+ export function buildReplyPrefill(opts) {
173
+ const link = opts.deepLink ? ` — ${opts.deepLink}` : "";
174
+ return `Please draft a reply to this ${opts.channel} message from ${opts.sender}: ${opts.snippet}${link}`;
175
+ }
@@ -0,0 +1,2 @@
1
+ export declare function LifeOpsFeatureTogglesSection(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=LifeOpsFeatureTogglesSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LifeOpsFeatureTogglesSection.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.tsx"],"names":[],"mappings":"AAWA,wBAAgB,4BAA4B,4CA4N3C"}
@@ -0,0 +1,99 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { client, useApp } from "@elizaos/app-core";
3
+ import { Button, Switch } from "@elizaos/ui";
4
+ import { Cloud, DollarSign, Loader2, LogIn, RefreshCw } from "lucide-react";
5
+ import { useCallback, useEffect, useMemo, useState } from "react";
6
+ export function LifeOpsFeatureTogglesSection() {
7
+ const { elizaCloudConnected, handleCloudLogin } = useApp();
8
+ const [features, setFeatures] = useState([]);
9
+ const [loading, setLoading] = useState(true);
10
+ const [error, setError] = useState(null);
11
+ const [busyKey, setBusyKey] = useState(null);
12
+ const [syncing, setSyncing] = useState(false);
13
+ const [syncedNote, setSyncedNote] = useState(null);
14
+ const [signInBusy, setSignInBusy] = useState(false);
15
+ const load = useCallback(async () => {
16
+ setLoading(true);
17
+ setError(null);
18
+ try {
19
+ const res = await client.fetch("/api/cloud/features");
20
+ setFeatures([...res.features]);
21
+ }
22
+ catch (err) {
23
+ setError(err instanceof Error ? err.message : String(err));
24
+ }
25
+ finally {
26
+ setLoading(false);
27
+ }
28
+ }, []);
29
+ useEffect(() => {
30
+ void load();
31
+ }, [load]);
32
+ const handleToggle = useCallback(async (feature, next) => {
33
+ if (feature.source === "cloud")
34
+ return;
35
+ setBusyKey(feature.featureKey);
36
+ setError(null);
37
+ try {
38
+ const res = await client.fetch("/api/lifeops/features/toggle", {
39
+ method: "POST",
40
+ body: JSON.stringify({
41
+ featureKey: feature.featureKey,
42
+ enabled: next,
43
+ }),
44
+ });
45
+ setFeatures((prev) => prev.map((row) => row.featureKey === feature.featureKey ? res.feature : row));
46
+ }
47
+ catch (err) {
48
+ setError(err instanceof Error ? err.message : String(err));
49
+ }
50
+ finally {
51
+ setBusyKey(null);
52
+ }
53
+ }, []);
54
+ const handleSync = useCallback(async () => {
55
+ setSyncing(true);
56
+ setSyncedNote(null);
57
+ setError(null);
58
+ try {
59
+ const res = await client.fetch("/api/cloud/features/sync", { method: "POST" });
60
+ setFeatures([...res.features]);
61
+ setSyncedNote(`Synced ${res.synced} cloud-managed feature(s).`);
62
+ }
63
+ catch (err) {
64
+ setError(err instanceof Error ? err.message : String(err));
65
+ }
66
+ finally {
67
+ setSyncing(false);
68
+ }
69
+ }, []);
70
+ const handleSignIn = useCallback(async () => {
71
+ setSignInBusy(true);
72
+ setError(null);
73
+ try {
74
+ await handleCloudLogin();
75
+ await load();
76
+ }
77
+ catch (err) {
78
+ setError(err instanceof Error ? err.message : String(err));
79
+ }
80
+ finally {
81
+ setSignInBusy(false);
82
+ }
83
+ }, [handleCloudLogin, load]);
84
+ const headerCta = useMemo(() => {
85
+ if (!elizaCloudConnected) {
86
+ return (_jsxs(Button, { variant: "outline", size: "sm", className: "!mt-0 h-9 rounded-lg", onClick: () => void handleSignIn(), disabled: signInBusy, title: "Sign in to Cloud", children: [signInBusy ? (_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin", "aria-hidden": true })) : (_jsx(LogIn, { className: "h-3.5 w-3.5", "aria-hidden": true })), _jsx("span", { children: signInBusy ? "Opening" : "Sign in" })] }));
87
+ }
88
+ return (_jsxs(Button, { variant: "outline", size: "sm", className: "!mt-0 h-9 rounded-lg", onClick: () => void handleSync(), disabled: syncing, title: "Sync from Cloud", children: [_jsx(RefreshCw, { className: `h-3.5 w-3.5 ${syncing ? "animate-spin" : ""}`, "aria-hidden": true }), _jsx("span", { children: syncing ? "Syncing" : "Sync" })] }));
89
+ }, [elizaCloudConnected, handleSignIn, handleSync, signInBusy, syncing]);
90
+ return (_jsxs("div", { children: [_jsx("div", { className: "flex items-center justify-end gap-3 pb-3", children: headerCta }), error && (_jsx("div", { className: "mb-3 rounded-lg border border-danger/30 bg-danger/5 px-2.5 py-2 text-xs leading-relaxed text-danger", children: error })), syncedNote && !error && (_jsx("div", { className: "mb-3 rounded-lg border border-ok/30 bg-ok/5 px-2.5 py-2 text-xs leading-relaxed text-ok", children: syncedNote })), loading ? (_jsx("div", { className: "inline-flex items-center text-muted", role: "status", "aria-label": "Loading features", children: _jsx(Loader2, { className: "h-4 w-4 animate-spin", "aria-hidden": true }) })) : (_jsx("ul", { className: "space-y-2", children: features.map((feature) => {
91
+ const isCloudManaged = feature.source === "cloud";
92
+ const isBusy = busyKey === feature.featureKey;
93
+ const showCloudBillingTag = feature.cloudDefaultOn && isCloudManaged;
94
+ const showCloudHint = feature.cloudDefaultOn && !elizaCloudConnected && !isCloudManaged;
95
+ return (_jsxs("li", { className: "flex items-start justify-between gap-3 rounded-lg border border-border/40 bg-card/40 px-3 py-2.5", children: [_jsxs("div", { className: "flex min-w-0 flex-col gap-1", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "text-xs font-semibold", children: feature.label }), isCloudManaged && (_jsxs("span", { className: "inline-flex h-5 w-5 items-center justify-center rounded-full border border-accent/35 bg-accent/10 text-accent", title: feature.packageId
96
+ ? `Managed by cloud package ${feature.packageId}`
97
+ : "Managed by Cloud", children: [_jsx(Cloud, { className: "h-3 w-3", "aria-hidden": true }), _jsx("span", { className: "sr-only", children: "Cloud-managed" })] })), (feature.costsMoney || showCloudBillingTag) && (_jsxs("span", { className: "inline-flex h-5 w-5 items-center justify-center rounded-full border border-warn/35 bg-warn/10 text-warn", title: "May use billable services", children: [_jsx(DollarSign, { className: "h-3 w-3", "aria-hidden": true }), _jsx("span", { className: "sr-only", children: "May cost money" })] }))] }), _jsx("p", { className: "text-xs leading-relaxed text-muted", children: feature.description }), showCloudHint && (_jsx("p", { className: "text-xs-tight text-muted", children: "Cloud sign-in enables managed billing; local toggle uses your credentials." }))] }), _jsx(Switch, { checked: feature.enabled, disabled: isCloudManaged || isBusy, onCheckedChange: (value) => void handleToggle(feature, value), "aria-label": `Toggle ${feature.label}` })] }, feature.featureKey));
98
+ }) }))] }));
99
+ }
@@ -0,0 +1,37 @@
1
+ import type { ReactNode } from "react";
2
+ export type LifeOpsBucket = {
3
+ key: string;
4
+ label: string;
5
+ totalSeconds: number;
6
+ };
7
+ export declare function startOfLocalDayIso(date?: Date): string;
8
+ export declare function formatDurationSeconds(value: number | null | undefined): string;
9
+ export declare function formatClockTime(iso: string | null | undefined): string;
10
+ export declare function HabitPanel({ title, icon, action, className, children, }: {
11
+ title: string;
12
+ icon: ReactNode;
13
+ action?: ReactNode;
14
+ className?: string;
15
+ children: ReactNode;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ export declare function MetricTile({ icon, value, label, }: {
18
+ icon: ReactNode;
19
+ value: string;
20
+ label: string;
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ export declare function StackedBar({ items, totalSeconds, }: {
23
+ items: LifeOpsBucket[];
24
+ totalSeconds: number;
25
+ }): import("react/jsx-runtime").JSX.Element;
26
+ export declare function BucketBars({ items, totalSeconds, emptyLabel, limit, }: {
27
+ items: LifeOpsBucket[];
28
+ totalSeconds: number;
29
+ emptyLabel?: string;
30
+ limit?: number;
31
+ }): import("react/jsx-runtime").JSX.Element;
32
+ export declare function DonutChart({ items, totalSeconds, label, }: {
33
+ items: LifeOpsBucket[];
34
+ totalSeconds: number;
35
+ label: string;
36
+ }): import("react/jsx-runtime").JSX.Element;
37
+ //# sourceMappingURL=LifeOpsHabitVisuals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LifeOpsHabitVisuals.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/components/LifeOpsHabitVisuals.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAwBF,wBAAgB,kBAAkB,CAAC,IAAI,OAAa,GAAG,MAAM,CAI5D;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,MAAM,CAYR;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAQtE;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAkBA;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,EACL,KAAK,GACN,EAAE;IACD,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,2CAYA;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,YAAY,GACb,EAAE;IACD,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,2CAoBA;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,YAAY,EACZ,UAAsB,EACtB,KAAS,GACV,EAAE;IACD,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,2CA6BA;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,YAAY,EACZ,KAAK,GACN,EAAE;IACD,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,2CAqDA"}
@@ -0,0 +1,88 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ const BUCKET_COLORS = [
3
+ "bg-cyan-400",
4
+ "bg-amber-300",
5
+ "bg-emerald-400",
6
+ "bg-rose-400",
7
+ "bg-blue-400",
8
+ "bg-lime-300",
9
+ "bg-fuchsia-400",
10
+ "bg-orange-300",
11
+ ];
12
+ const DONUT_COLORS = [
13
+ "#22d3ee",
14
+ "#fbbf24",
15
+ "#34d399",
16
+ "#fb7185",
17
+ "#60a5fa",
18
+ "#bef264",
19
+ "#e879f9",
20
+ "#fdba74",
21
+ ];
22
+ export function startOfLocalDayIso(date = new Date()) {
23
+ const start = new Date(date);
24
+ start.setHours(0, 0, 0, 0);
25
+ return start.toISOString();
26
+ }
27
+ export function formatDurationSeconds(value) {
28
+ if (typeof value !== "number" || !Number.isFinite(value)) {
29
+ return "";
30
+ }
31
+ if (value <= 0) {
32
+ return "0m";
33
+ }
34
+ const totalMinutes = Math.round(value / 60);
35
+ if (totalMinutes < 60)
36
+ return `${totalMinutes}m`;
37
+ const hours = Math.floor(totalMinutes / 60);
38
+ const minutes = totalMinutes % 60;
39
+ return minutes === 0 ? `${hours}h` : `${hours}h ${minutes}m`;
40
+ }
41
+ export function formatClockTime(iso) {
42
+ if (!iso)
43
+ return "";
44
+ const parsed = Date.parse(iso);
45
+ if (!Number.isFinite(parsed))
46
+ return "";
47
+ return new Intl.DateTimeFormat(undefined, {
48
+ hour: "numeric",
49
+ minute: "2-digit",
50
+ }).format(new Date(parsed));
51
+ }
52
+ export function HabitPanel({ title, icon, action, className, children, }) {
53
+ return (_jsxs("section", { className: [
54
+ "rounded-lg border border-border/16 bg-card/16 p-4",
55
+ className ?? "",
56
+ ].join(" "), children: [_jsxs("div", { className: "mb-3 flex items-center justify-between gap-3", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2 text-sm font-semibold text-txt", children: [_jsx("span", { className: "text-muted [&>svg]:h-4 [&>svg]:w-4", children: icon }), _jsx("span", { className: "truncate", children: title })] }), action] }), children] }));
57
+ }
58
+ export function MetricTile({ icon, value, label, }) {
59
+ return (_jsxs("div", { className: "min-w-0 rounded-lg border border-border/12 bg-bg/30 p-3", children: [_jsx("div", { className: "mb-2 text-muted [&>svg]:h-4 [&>svg]:w-4", children: icon }), _jsx("div", { className: "truncate text-xl font-semibold leading-none text-txt", children: value }), _jsx("div", { className: "mt-1 truncate text-[11px] font-medium text-muted", children: label })] }));
60
+ }
61
+ export function StackedBar({ items, totalSeconds, }) {
62
+ const total = Math.max(totalSeconds, 1);
63
+ return (_jsx("div", { className: "flex h-3 overflow-hidden rounded-full bg-bg-muted/40", children: items.length === 0 ? (_jsx("div", { className: "h-full w-full bg-bg-muted/60" })) : (items.slice(0, BUCKET_COLORS.length).map((item, index) => (_jsx("div", { className: BUCKET_COLORS[index] ?? "bg-muted", style: {
64
+ width: `${Math.max(3, (item.totalSeconds / total) * 100)}%`,
65
+ }, title: `${item.label}: ${formatDurationSeconds(item.totalSeconds)}` }, item.key)))) }));
66
+ }
67
+ export function BucketBars({ items, totalSeconds, emptyLabel = "No data", limit = 6, }) {
68
+ const total = Math.max(totalSeconds, 1);
69
+ if (items.length === 0) {
70
+ return _jsx("div", { className: "py-4 text-xs text-muted", children: emptyLabel });
71
+ }
72
+ return (_jsx("div", { className: "space-y-2", children: items.slice(0, limit).map((item, index) => (_jsxs("div", { className: "space-y-1", children: [_jsxs("div", { className: "flex items-center justify-between gap-3 text-xs", children: [_jsx("span", { className: "min-w-0 truncate font-medium text-txt/90", children: item.label }), _jsx("span", { className: "shrink-0 tabular-nums text-muted", children: formatDurationSeconds(item.totalSeconds) })] }), _jsx("div", { className: "h-1.5 overflow-hidden rounded-full bg-bg-muted/40", children: _jsx("div", { className: BUCKET_COLORS[index % BUCKET_COLORS.length], style: {
73
+ width: `${Math.max(2, (item.totalSeconds / total) * 100)}%`,
74
+ } }) })] }, item.key))) }));
75
+ }
76
+ export function DonutChart({ items, totalSeconds, label, }) {
77
+ const radius = 42;
78
+ const circumference = 2 * Math.PI * radius;
79
+ let offset = 0;
80
+ const total = Math.max(totalSeconds, 1);
81
+ return (_jsxs("div", { className: "relative h-32 w-32 shrink-0", children: [_jsxs("svg", { viewBox: "0 0 110 110", className: "h-full w-full -rotate-90", role: "img", "aria-label": label, children: [_jsx("circle", { cx: "55", cy: "55", r: radius, fill: "none", stroke: "currentColor", strokeWidth: "12", className: "text-bg-muted/50" }), items.slice(0, DONUT_COLORS.length).map((item, index) => {
82
+ const length = (item.totalSeconds / total) * circumference;
83
+ const strokeDasharray = `${length} ${circumference - length}`;
84
+ const strokeDashoffset = -offset;
85
+ offset += length;
86
+ return (_jsx("circle", { cx: "55", cy: "55", r: radius, fill: "none", stroke: DONUT_COLORS[index] ?? "#94a3b8", strokeWidth: "12", strokeDasharray: strokeDasharray, strokeDashoffset: strokeDashoffset, strokeLinecap: "butt" }, item.key));
87
+ })] }), _jsxs("div", { className: "absolute inset-0 flex flex-col items-center justify-center text-center", children: [_jsx("div", { className: "text-lg font-semibold leading-none text-txt", children: formatDurationSeconds(totalSeconds) }), _jsx("div", { className: "mt-1 max-w-20 truncate text-[10px] font-medium uppercase text-muted", children: label })] })] }));
88
+ }
@@ -0,0 +1,13 @@
1
+ import { type LifeOpsInboxChannel } from "@elizaos/shared";
2
+ import { type LifeOpsSelection } from "./LifeOpsSelectionContext.js";
3
+ export declare const LIFEOPS_MESSAGE_CHANNELS: LifeOpsInboxChannel[];
4
+ export declare const LIFEOPS_MAIL_CHANNELS: LifeOpsInboxChannel[];
5
+ export interface LifeOpsInboxSectionProps {
6
+ selection?: LifeOpsSelection;
7
+ onSelect?: (args: Partial<LifeOpsSelection>) => void;
8
+ channels?: readonly LifeOpsInboxChannel[];
9
+ title?: string;
10
+ emptyLabel?: string;
11
+ }
12
+ export declare function LifeOpsInboxSection(props?: LifeOpsInboxSectionProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=LifeOpsInboxSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LifeOpsInboxSection.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/components/LifeOpsInboxSection.tsx"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,mBAAmB,EAGzB,MAAM,iBAAiB,CAAC;AAmCzB,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,8BAA8B,CAAC;AA6EtC,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EACO,CAAC;AAClE,eAAO,MAAM,qBAAqB,EAAE,mBAAmB,EAAc,CAAC;AAitBtE,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,GAAE,wBAA6B,2CAsWvE"}