@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 @@
1
+ {"version":3,"file":"useLifeOpsCapabilitiesStatus.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAUjE,wBAAgB,4BAA4B;;;;;EAmD3C"}
@@ -0,0 +1,60 @@
1
+ import { client } from "@elizaos/app-core/api";
2
+ import { useCallback, useEffect, useState } from "react";
3
+ function formatError(cause, fallback) {
4
+ if (cause instanceof Error && cause.message.trim().length > 0) {
5
+ return cause.message.trim();
6
+ }
7
+ return fallback;
8
+ }
9
+ export function useLifeOpsCapabilitiesStatus() {
10
+ const [status, setStatus] = useState(null);
11
+ const [loading, setLoading] = useState(true);
12
+ const [error, setError] = useState(null);
13
+ const refresh = useCallback(async () => {
14
+ setLoading(true);
15
+ try {
16
+ setStatus(await client.getLifeOpsCapabilitiesStatus());
17
+ setError(null);
18
+ }
19
+ catch (cause) {
20
+ setError(formatError(cause, "LifeOps capabilities failed to load."));
21
+ }
22
+ finally {
23
+ setLoading(false);
24
+ }
25
+ }, []);
26
+ useEffect(() => {
27
+ let cancelled = false;
28
+ void (async () => {
29
+ setLoading(true);
30
+ try {
31
+ const response = await client.getLifeOpsCapabilitiesStatus();
32
+ if (cancelled) {
33
+ return;
34
+ }
35
+ setStatus(response);
36
+ setError(null);
37
+ }
38
+ catch (cause) {
39
+ if (cancelled) {
40
+ return;
41
+ }
42
+ setError(formatError(cause, "LifeOps capabilities failed to load."));
43
+ }
44
+ finally {
45
+ if (!cancelled) {
46
+ setLoading(false);
47
+ }
48
+ }
49
+ })();
50
+ return () => {
51
+ cancelled = true;
52
+ };
53
+ }, []);
54
+ return {
55
+ status,
56
+ loading,
57
+ error,
58
+ refresh,
59
+ };
60
+ }
@@ -0,0 +1,18 @@
1
+ import type { LifeOpsScheduleSummary } from "../lifeops/schedule-insight.js";
2
+ export interface UseLifeOpsScheduleInspectionOptions {
3
+ timezone?: string;
4
+ refreshIntervalMs?: number;
5
+ }
6
+ /**
7
+ * Loads the lightweight schedule summary (cached merged state + last 7 days
8
+ * of persisted sleep episodes) at a steady cadence. Reads from cached
9
+ * tables only — the scheduler tick is the sole writer. Safe to call on
10
+ * every panel mount without triggering probes.
11
+ */
12
+ export declare function useLifeOpsScheduleInspection(options?: UseLifeOpsScheduleInspectionOptions): {
13
+ readonly inspection: LifeOpsScheduleSummary | null;
14
+ readonly loading: boolean;
15
+ readonly error: string | null;
16
+ readonly refresh: () => Promise<void>;
17
+ };
18
+ //# sourceMappingURL=useLifeOpsScheduleInspection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLifeOpsScheduleInspection.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAS7E,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,mCAAwC;;;;;EA2DlD"}
@@ -0,0 +1,66 @@
1
+ import { client } from "@elizaos/app-core";
2
+ import { useCallback, useEffect, useState } from "react";
3
+ function formatError(cause, fallback) {
4
+ if (cause instanceof Error && cause.message.trim().length > 0) {
5
+ return cause.message.trim();
6
+ }
7
+ return fallback;
8
+ }
9
+ /**
10
+ * Loads the lightweight schedule summary (cached merged state + last 7 days
11
+ * of persisted sleep episodes) at a steady cadence. Reads from cached
12
+ * tables only — the scheduler tick is the sole writer. Safe to call on
13
+ * every panel mount without triggering probes.
14
+ */
15
+ export function useLifeOpsScheduleInspection(options = {}) {
16
+ const [inspection, setInspection] = useState(null);
17
+ const [loading, setLoading] = useState(true);
18
+ const [error, setError] = useState(null);
19
+ const load = useCallback(async (isCancelled) => {
20
+ setLoading(true);
21
+ try {
22
+ const timezone = options.timezone ?? Intl.DateTimeFormat().resolvedOptions().timeZone;
23
+ const response = await client.getLifeOpsScheduleSummary(timezone);
24
+ if (isCancelled?.())
25
+ return;
26
+ setInspection(response);
27
+ setError(null);
28
+ }
29
+ catch (cause) {
30
+ if (isCancelled?.())
31
+ return;
32
+ setError(formatError(cause, "LifeOps schedule summary failed to load."));
33
+ }
34
+ finally {
35
+ if (!isCancelled?.())
36
+ setLoading(false);
37
+ }
38
+ }, [options.timezone]);
39
+ const refresh = useCallback(async () => {
40
+ await load();
41
+ }, [load]);
42
+ useEffect(() => {
43
+ let cancelled = false;
44
+ void load(() => cancelled);
45
+ return () => {
46
+ cancelled = true;
47
+ };
48
+ }, [load]);
49
+ useEffect(() => {
50
+ const intervalMs = options.refreshIntervalMs ?? 120_000;
51
+ if (!Number.isFinite(intervalMs) || intervalMs <= 0)
52
+ return;
53
+ const intervalId = window.setInterval(() => {
54
+ void load();
55
+ }, intervalMs);
56
+ return () => {
57
+ window.clearInterval(intervalId);
58
+ };
59
+ }, [load, options.refreshIntervalMs]);
60
+ return {
61
+ inspection,
62
+ loading,
63
+ error,
64
+ refresh,
65
+ };
66
+ }
@@ -0,0 +1,14 @@
1
+ import type { LifeOpsScheduleMergedState } from "../lifeops/schedule-sync-contracts.js";
2
+ export interface UseLifeOpsScheduleStateOptions {
3
+ timezone?: string | null;
4
+ scope?: "local" | "cloud" | "effective";
5
+ refreshIntervalMs?: number;
6
+ refreshOnWindowFocus?: boolean;
7
+ }
8
+ export declare function useLifeOpsScheduleState(options?: UseLifeOpsScheduleStateOptions): {
9
+ readonly state: LifeOpsScheduleMergedState | null;
10
+ readonly loading: boolean;
11
+ readonly error: string | null;
12
+ readonly refresh: () => Promise<void>;
13
+ };
14
+ //# sourceMappingURL=useLifeOpsScheduleState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLifeOpsScheduleState.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/hooks/useLifeOpsScheduleState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AASxF,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,8BAAmC;;;;;EA+E7C"}
@@ -0,0 +1,79 @@
1
+ import { client } from "@elizaos/app-core/api";
2
+ import { useCallback, useEffect, useState } from "react";
3
+ function formatError(cause, fallback) {
4
+ if (cause instanceof Error && cause.message.trim().length > 0) {
5
+ return cause.message.trim();
6
+ }
7
+ return fallback;
8
+ }
9
+ export function useLifeOpsScheduleState(options = {}) {
10
+ const [state, setState] = useState(null);
11
+ const [loading, setLoading] = useState(true);
12
+ const [error, setError] = useState(null);
13
+ const load = useCallback(async (forceRefresh, isCancelled) => {
14
+ setLoading(true);
15
+ try {
16
+ const response = await client.getLifeOpsScheduleMergedState({
17
+ timezone: options.timezone ?? undefined,
18
+ scope: options.scope,
19
+ refresh: forceRefresh,
20
+ });
21
+ if (isCancelled?.()) {
22
+ return;
23
+ }
24
+ setState(response.mergedState);
25
+ setError(null);
26
+ }
27
+ catch (cause) {
28
+ if (isCancelled?.()) {
29
+ return;
30
+ }
31
+ setError(formatError(cause, "LifeOps schedule state failed to load."));
32
+ }
33
+ finally {
34
+ if (!isCancelled?.()) {
35
+ setLoading(false);
36
+ }
37
+ }
38
+ }, [options.scope, options.timezone]);
39
+ const refresh = useCallback(async () => {
40
+ await load(true);
41
+ }, [load]);
42
+ useEffect(() => {
43
+ let cancelled = false;
44
+ void load(false, () => cancelled);
45
+ return () => {
46
+ cancelled = true;
47
+ };
48
+ }, [load]);
49
+ useEffect(() => {
50
+ const intervalMs = options.refreshIntervalMs ?? 60_000;
51
+ if (!Number.isFinite(intervalMs) || intervalMs <= 0) {
52
+ return;
53
+ }
54
+ const intervalId = window.setInterval(() => {
55
+ void load(false);
56
+ }, intervalMs);
57
+ return () => {
58
+ window.clearInterval(intervalId);
59
+ };
60
+ }, [load, options.refreshIntervalMs]);
61
+ useEffect(() => {
62
+ if (options.refreshOnWindowFocus === false) {
63
+ return;
64
+ }
65
+ const handleFocus = () => {
66
+ void load(false);
67
+ };
68
+ window.addEventListener("focus", handleFocus);
69
+ return () => {
70
+ window.removeEventListener("focus", handleFocus);
71
+ };
72
+ }, [load, options.refreshOnWindowFocus]);
73
+ return {
74
+ state,
75
+ loading,
76
+ error,
77
+ refresh,
78
+ };
79
+ }
@@ -0,0 +1,18 @@
1
+ import { type LifeOpsRouteSection } from "../lifeops-route.js";
2
+ export type LifeOpsSection = LifeOpsRouteSection;
3
+ export declare const LIFEOPS_SECTIONS: LifeOpsSection[];
4
+ export interface UseLifeOpsSectionReturn {
5
+ section: LifeOpsSection;
6
+ eventId: string | null;
7
+ messageId: string | null;
8
+ /** Navigate to a section, clearing any detail-view selection. */
9
+ navigate: (next: LifeOpsSection) => void;
10
+ /** Open a specific calendar event as a detail view. */
11
+ openEvent: (eventId: string) => void;
12
+ /** Open a specific inbox message as a detail view. */
13
+ openMessage: (messageId: string) => void;
14
+ /** Close any open detail view, staying on the same section. */
15
+ closeDetail: () => void;
16
+ }
17
+ export declare function useLifeOpsSection(initial?: string | null): UseLifeOpsSectionReturn;
18
+ //# sourceMappingURL=useLifeOpsSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLifeOpsSection.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/hooks/useLifeOpsSection.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAEjD,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAAgC,CAAC;AAiD9E,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iEAAiE;IACjE,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,uDAAuD;IACvD,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,sDAAsD;IACtD,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,+DAA+D;IAC/D,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,uBAAuB,CA6CzB"}
@@ -0,0 +1,78 @@
1
+ import { useCallback, useEffect, useState } from "react";
2
+ import { buildLifeOpsHash, LIFEOPS_ROUTE_SECTIONS, parseLifeOpsRoute, } from "../lifeops-route.js";
3
+ export const LIFEOPS_SECTIONS = [...LIFEOPS_ROUTE_SECTIONS];
4
+ function isLifeOpsSection(value) {
5
+ return (typeof value === "string" && LIFEOPS_SECTIONS.includes(value));
6
+ }
7
+ function readFromHash(initial) {
8
+ const fallbackSection = isLifeOpsSection(initial)
9
+ ? initial
10
+ : "overview";
11
+ if (typeof window === "undefined") {
12
+ return { section: fallbackSection, eventId: null, messageId: null };
13
+ }
14
+ const route = parseLifeOpsRoute(window.location.hash);
15
+ // A lingering `lifeops.event` or `lifeops.message` in the hash implies the
16
+ // corresponding section even if the `section` key was cleared or absent.
17
+ let section = route.section;
18
+ if (!section && route.eventId)
19
+ section = "calendar";
20
+ if (!section && route.messageId)
21
+ section = "messages";
22
+ return {
23
+ section: section ?? fallbackSection,
24
+ eventId: route.eventId,
25
+ messageId: route.messageId,
26
+ };
27
+ }
28
+ function writeHash(next) {
29
+ if (typeof window === "undefined")
30
+ return;
31
+ try {
32
+ const nextHash = buildLifeOpsHash(window.location.hash, next);
33
+ const url = `${window.location.pathname}${window.location.search}${nextHash}`;
34
+ window.history.replaceState(null, "", url || window.location.href);
35
+ }
36
+ catch {
37
+ // Best-effort — URL manipulation failures shouldn't break navigation.
38
+ }
39
+ }
40
+ export function useLifeOpsSection(initial) {
41
+ const [state, setState] = useState(() => readFromHash(initial));
42
+ // Keep the hook in sync with back/forward navigation (including other
43
+ // widgets that write the hash, like the chat-sidebar widget rows).
44
+ useEffect(() => {
45
+ if (typeof window === "undefined")
46
+ return;
47
+ function onHashChange() {
48
+ setState(readFromHash());
49
+ }
50
+ window.addEventListener("hashchange", onHashChange);
51
+ return () => window.removeEventListener("hashchange", onHashChange);
52
+ }, []);
53
+ const navigate = useCallback((next) => {
54
+ setState({ section: next, eventId: null, messageId: null });
55
+ writeHash({ section: next, eventId: null, messageId: null });
56
+ }, []);
57
+ const openEvent = useCallback((eventId) => {
58
+ setState({ section: "calendar", eventId, messageId: null });
59
+ writeHash({ section: "calendar", eventId, messageId: null });
60
+ }, []);
61
+ const openMessage = useCallback((messageId) => {
62
+ setState({ section: "messages", eventId: null, messageId });
63
+ writeHash({ section: "messages", eventId: null, messageId });
64
+ }, []);
65
+ const closeDetail = useCallback(() => {
66
+ setState((prev) => ({ ...prev, eventId: null, messageId: null }));
67
+ writeHash({ eventId: null, messageId: null });
68
+ }, []);
69
+ return {
70
+ section: state.section,
71
+ eventId: state.eventId,
72
+ messageId: state.messageId,
73
+ navigate,
74
+ openEvent,
75
+ openMessage,
76
+ closeDetail,
77
+ };
78
+ }
@@ -0,0 +1,14 @@
1
+ import type { LifeOpsConnectorMode, LifeOpsConnectorSide, LifeOpsXConnectorStatus, LifeOpsXPostResponse } from "@elizaos/shared";
2
+ export declare function useLifeOpsXConnector(side?: LifeOpsConnectorSide): {
3
+ readonly status: LifeOpsXConnectorStatus | null;
4
+ readonly loading: boolean;
5
+ readonly actionPending: boolean;
6
+ readonly error: string | null;
7
+ readonly lastPost: LifeOpsXPostResponse | null;
8
+ readonly pendingAuthUrl: string | null;
9
+ readonly refresh: () => Promise<void>;
10
+ readonly connect: (mode?: LifeOpsConnectorMode) => Promise<void>;
11
+ readonly disconnect: () => Promise<void>;
12
+ readonly post: (text: string, mode?: LifeOpsConnectorMode) => Promise<void>;
13
+ };
14
+ //# sourceMappingURL=useLifeOpsXConnector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLifeOpsXConnector.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/hooks/useLifeOpsXConnector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAUzB,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,oBAA8B;;;;;;;;8BA8EvD,oBAAoB;;0BAmCrB,MAAM,SAAS,oBAAoB;EAsDnD"}
@@ -0,0 +1,160 @@
1
+ import { client } from "@elizaos/app-core/api";
2
+ import { openExternalUrl } from "@elizaos/app-core/utils";
3
+ import { useCallback, useEffect, useState } from "react";
4
+ function formatError(cause, fallback) {
5
+ if (cause instanceof Error && cause.message.trim().length > 0) {
6
+ return cause.message.trim();
7
+ }
8
+ return fallback;
9
+ }
10
+ export function useLifeOpsXConnector(side = "owner") {
11
+ const [status, setStatus] = useState(null);
12
+ const [loading, setLoading] = useState(true);
13
+ const [actionPending, setActionPending] = useState(false);
14
+ const [error, setError] = useState(null);
15
+ const [lastPost, setLastPost] = useState(null);
16
+ const [pendingAuthUrl, setPendingAuthUrl] = useState(null);
17
+ const resolveSuccessRedirectUrl = useCallback(() => {
18
+ const baseUrl = typeof client.getBaseUrl === "function" ? client.getBaseUrl().trim() : "";
19
+ const origin = baseUrl ||
20
+ (typeof window !== "undefined" &&
21
+ typeof window.location?.origin === "string" &&
22
+ window.location.origin.trim().length > 0
23
+ ? window.location.origin.trim()
24
+ : "");
25
+ if (!origin)
26
+ return undefined;
27
+ const url = new URL("/api/lifeops/connectors/x/success", origin);
28
+ url.searchParams.set("side", side);
29
+ url.searchParams.set("mode", "cloud_managed");
30
+ return url.toString();
31
+ }, [side]);
32
+ const refresh = useCallback(async () => {
33
+ setLoading(true);
34
+ try {
35
+ const nextStatus = await client.getXLifeOpsConnectorStatus(undefined, side);
36
+ setStatus(nextStatus);
37
+ if (nextStatus.connected) {
38
+ setPendingAuthUrl(null);
39
+ }
40
+ setError(null);
41
+ }
42
+ catch (cause) {
43
+ setError(formatError(cause, "X connector status failed to load."));
44
+ }
45
+ finally {
46
+ setLoading(false);
47
+ }
48
+ }, [side]);
49
+ useEffect(() => {
50
+ let cancelled = false;
51
+ void (async () => {
52
+ setLoading(true);
53
+ try {
54
+ const nextStatus = await client.getXLifeOpsConnectorStatus(undefined, side);
55
+ if (cancelled) {
56
+ return;
57
+ }
58
+ setStatus(nextStatus);
59
+ if (nextStatus.connected) {
60
+ setPendingAuthUrl(null);
61
+ }
62
+ setError(null);
63
+ }
64
+ catch (cause) {
65
+ if (cancelled) {
66
+ return;
67
+ }
68
+ setError(formatError(cause, "X connector status failed to load."));
69
+ }
70
+ finally {
71
+ if (!cancelled) {
72
+ setLoading(false);
73
+ }
74
+ }
75
+ })();
76
+ return () => {
77
+ cancelled = true;
78
+ };
79
+ }, [side]);
80
+ const connect = useCallback(async (mode) => {
81
+ try {
82
+ setActionPending(true);
83
+ setPendingAuthUrl(null);
84
+ const connectMode = mode ?? status?.mode ?? status?.defaultMode ?? "cloud_managed";
85
+ const result = await client.startXLifeOpsConnector({
86
+ mode: connectMode,
87
+ redirectUrl: connectMode === "cloud_managed"
88
+ ? resolveSuccessRedirectUrl()
89
+ : undefined,
90
+ side,
91
+ });
92
+ if (result.authUrl) {
93
+ await openExternalUrl(result.authUrl);
94
+ setPendingAuthUrl(result.authUrl);
95
+ }
96
+ else {
97
+ const nextStatus = await client.getXLifeOpsConnectorStatus(result.mode, side);
98
+ setStatus(nextStatus);
99
+ }
100
+ setError(null);
101
+ }
102
+ catch (cause) {
103
+ setError(formatError(cause, "X connector connect failed."));
104
+ }
105
+ finally {
106
+ setActionPending(false);
107
+ }
108
+ }, [resolveSuccessRedirectUrl, side, status]);
109
+ const post = useCallback(async (text, mode) => {
110
+ try {
111
+ setActionPending(true);
112
+ setLastPost(null);
113
+ const result = await client.createXLifeOpsPost({
114
+ side,
115
+ mode: mode ?? status?.mode,
116
+ text,
117
+ confirmPost: true,
118
+ });
119
+ setLastPost(result);
120
+ setError(null);
121
+ }
122
+ catch (cause) {
123
+ setError(formatError(cause, "X post failed."));
124
+ }
125
+ finally {
126
+ setActionPending(false);
127
+ }
128
+ }, [side, status?.mode]);
129
+ const disconnect = useCallback(async () => {
130
+ try {
131
+ setActionPending(true);
132
+ await client.disconnectXLifeOpsConnector({
133
+ side,
134
+ mode: status?.mode,
135
+ });
136
+ setPendingAuthUrl(null);
137
+ const nextStatus = await client.getXLifeOpsConnectorStatus(status?.mode, side);
138
+ setStatus(nextStatus);
139
+ setError(null);
140
+ }
141
+ catch (cause) {
142
+ setError(formatError(cause, "X connector disconnect failed."));
143
+ }
144
+ finally {
145
+ setActionPending(false);
146
+ }
147
+ }, [side, status?.mode]);
148
+ return {
149
+ status,
150
+ loading,
151
+ actionPending,
152
+ error,
153
+ lastPost,
154
+ pendingAuthUrl,
155
+ refresh,
156
+ connect,
157
+ disconnect,
158
+ post,
159
+ };
160
+ }
@@ -0,0 +1,16 @@
1
+ import type { LifeOpsConnectorSide, LifeOpsSignalConnectorStatus, LifeOpsSignalPairingStatus } from "@elizaos/shared";
2
+ export interface UseSignalConnectorOptions {
3
+ side?: LifeOpsConnectorSide;
4
+ }
5
+ export declare function useSignalConnector(options?: UseSignalConnectorOptions): {
6
+ readonly status: LifeOpsSignalConnectorStatus | null;
7
+ readonly loading: boolean;
8
+ readonly actionPending: boolean;
9
+ readonly error: string | null;
10
+ readonly pairingStatus: LifeOpsSignalPairingStatus | null;
11
+ readonly startPairing: () => Promise<string | null>;
12
+ readonly stopPairing: () => Promise<void>;
13
+ readonly disconnect: () => Promise<void>;
14
+ readonly refresh: () => Promise<void>;
15
+ };
16
+ //# sourceMappingURL=useSignalConnector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSignalConnector.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/hooks/useSignalConnector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;AA+BzB,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B;AAED,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B;;;;;;;;;;EA2LzE"}