@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
@@ -1,6 +1,6 @@
1
1
  import { LIFEOPS_CALENDAR_WINDOW_PRESETS, } from "../contracts/index.js";
2
2
  import { fail, normalizeFiniteNumber, normalizeIsoString, normalizeOptionalBoolean, normalizeOptionalIsoString, normalizeOptionalMinutes, normalizeOptionalString, normalizeValidTimeZone, requireNonEmptyString, } from "./service-normalize.js";
3
- import { DEFAULT_NEXT_EVENT_LOOKAHEAD_DAYS, DEFAULT_GMAIL_TRIAGE_MAX_RESULTS, GOOGLE_PRIMARY_CALENDAR_ID, } from "./service-constants.js";
3
+ import { DEFAULT_NEXT_EVENT_LOOKAHEAD_DAYS, DEFAULT_GMAIL_TRIAGE_MAX_RESULTS, MAX_GMAIL_TRIAGE_MAX_RESULTS, GOOGLE_PRIMARY_CALENDAR_ID, } from "./service-constants.js";
4
4
  import { resolveDefaultTimeZone } from "./defaults.js";
5
5
  import { GOOGLE_GMAIL_READ_SCOPE, normalizeGoogleCapabilities } from "./google-scopes.js";
6
6
  import { addDaysToLocalDate, addMinutes, buildUtcDateFromLocalParts, getZonedDateParts, } from "./time.js";
@@ -298,8 +298,8 @@ export function normalizeGmailTriageMaxResults(value) {
298
298
  return DEFAULT_GMAIL_TRIAGE_MAX_RESULTS;
299
299
  }
300
300
  const maxResults = Math.trunc(normalizeFiniteNumber(value, "maxResults"));
301
- if (maxResults < 1 || maxResults > 50) {
302
- fail(400, "maxResults must be between 1 and 50");
301
+ if (maxResults < 1 || maxResults > MAX_GMAIL_TRIAGE_MAX_RESULTS) {
302
+ fail(400, `maxResults must be between 1 and ${MAX_GMAIL_TRIAGE_MAX_RESULTS}`);
303
303
  }
304
304
  return maxResults;
305
305
  }
@@ -1,5 +1,5 @@
1
- import type { LifeOpsConnectorMode, LifeOpsConnectorSide, LifeOpsGoogleCapability, LifeOpsWindowPolicy, LifeOpsWorkflowPermissionPolicy, LifeOpsWorkflowSchedule, LifeOpsWorkflowTriggerType } from "../contracts/index.js";
2
1
  import { type BrowserBridgeKind, type BrowserBridgePermissionState, type BrowserBridgeSettings, type UpdateBrowserBridgeSettingsRequest } from "@elizaos/plugin-browser-bridge";
2
+ import type { LifeOpsConnectorMode, LifeOpsConnectorSide, LifeOpsGoogleCapability, LifeOpsWindowPolicy, LifeOpsWorkflowPermissionPolicy, LifeOpsWorkflowSchedule, LifeOpsWorkflowTriggerType } from "../contracts/index.js";
3
3
  export declare function normalizeOptionalConnectorMode(value: unknown, field: string): LifeOpsConnectorMode | undefined;
4
4
  export declare function normalizeOptionalConnectorSide(value: unknown, field: string): LifeOpsConnectorSide | undefined;
5
5
  export declare function normalizeGoogleCapabilityRequest(value: unknown): LifeOpsGoogleCapability[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"service-normalize-connector.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/service-normalize-connector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EAIvB,mBAAmB,EACnB,+BAA+B,EAC/B,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAU/B,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,kCAAkC,EACxC,MAAM,gCAAgC,CAAC;AAsExC,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,oBAAoB,GAAG,SAAS,CAKlC;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,oBAAoB,GAAG,SAAS,CAKlC;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,GACb,uBAAuB,EAAE,GAAG,SAAS,CAsBvC;AAED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,uBAAuB,EAAE,CAE3B;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,0BAA0B,CAM5B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,0BAA0B,GACtC,uBAAuB,CAyHzB;AAyVD,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,+BAAoE,GAC5E,+BAA+B,CAqCjC;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,iBAAiB,GAAG,IAAI,CAM1B;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,4BAA+D,GACvE,4BAA4B,CA+B9B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYrE;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAgCR;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,CASV;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAS3E;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,kCAAkC,EAC3C,OAAO,EAAE,qBAAqB,GAC7B,qBAAqB,CAsEvB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,mBAAmB,CAgErB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmDzB"}
1
+ {"version":3,"file":"service-normalize-connector.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/service-normalize-connector.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,kCAAkC,EACxC,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EAIvB,mBAAmB,EACnB,+BAA+B,EAC/B,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AA+E/B,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,oBAAoB,GAAG,SAAS,CAKlC;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,oBAAoB,GAAG,SAAS,CAKlC;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,GACb,uBAAuB,EAAE,GAAG,SAAS,CAsBvC;AAED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,uBAAuB,EAAE,CAE3B;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,0BAA0B,CAM5B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,0BAA0B,GACtC,uBAAuB,CAyHzB;AAyVD,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,+BAAoE,GAC5E,+BAA+B,CAqCjC;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,iBAAiB,GAAG,IAAI,CAM1B;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,4BAA+D,GACvE,4BAA4B,CA+B9B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYrE;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAgCR;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,EAAE,CASV;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAS3E;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,kCAAkC,EAC3C,OAAO,EAAE,qBAAqB,GAC7B,qBAAqB,CAsEvB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,mBAAmB,CAgErB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmDzB"}
@@ -1,6 +1,6 @@
1
- import { parseCronExpression, } from "@elizaos/agent";
2
- import { LIFEOPS_CONNECTOR_MODES, LIFEOPS_CONNECTOR_SIDES, LIFEOPS_EVENT_KINDS, LIFEOPS_GOOGLE_CAPABILITIES, LIFEOPS_REMINDER_CHANNELS, LIFEOPS_TIME_WINDOW_NAMES, LIFEOPS_WORKFLOW_TRIGGER_TYPES, } from "../contracts/index.js";
1
+ import { parseCronExpression } from "@elizaos/agent/triggers/scheduling";
3
2
  import { BROWSER_BRIDGE_KINDS, BROWSER_BRIDGE_SITE_ACCESS_MODES, BROWSER_BRIDGE_TRACKING_MODES, } from "@elizaos/plugin-browser-bridge";
3
+ import { LIFEOPS_CONNECTOR_MODES, LIFEOPS_CONNECTOR_SIDES, LIFEOPS_EVENT_KINDS, LIFEOPS_GOOGLE_CAPABILITIES, LIFEOPS_REMINDER_CHANNELS, LIFEOPS_TIME_WINDOW_NAMES, LIFEOPS_WORKFLOW_TRIGGER_TYPES, } from "../contracts/index.js";
4
4
  import { resolveDefaultTimeZone, resolveDefaultWindowPolicy, } from "./defaults.js";
5
5
  import { normalizeGoogleCapabilities } from "./google-scopes.js";
6
6
  import { DAY_MINUTES, DEFAULT_BROWSER_PERMISSION_STATE, DEFAULT_WORKFLOW_PERMISSION_POLICY, } from "./service-constants.js";
@@ -1 +1 @@
1
- {"version":3,"file":"signal-auth.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/signal-auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;AAQzB,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAwTD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,oBAAoB,GACzB,2BAA2B,CA4B7B;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAChB,0BAA0B,CAoB5B;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,oBAAoB,GACzB,0BAA0B,GAAG,IAAI,CAOnC;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,oBAAoB,GACzB;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAUlE;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GACf,sBAAsB,GAAG,IAAI,CAgB/B;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI/D"}
1
+ {"version":3,"file":"signal-auth.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/signal-auth.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAmUD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,oBAAoB,GACzB,2BAA2B,CA4B7B;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAChB,0BAA0B,CAoB5B;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,oBAAoB,GACzB,0BAA0B,GAAG,IAAI,CAOnC;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,oBAAoB,GACzB;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAUlE;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GACf,sBAAsB,GAAG,IAAI,CAgB/B;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI/D"}
@@ -1,7 +1,8 @@
1
1
  import crypto from "node:crypto";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
- import { resolveOAuthDir, SignalPairingSession, } from "@elizaos/agent";
4
+ import { resolveOAuthDir } from "@elizaos/agent/config/paths";
5
+ import { SignalPairingSession, } from "@elizaos/agent/services/signal-pairing";
5
6
  const pendingSignalPairingSessions = new Map();
6
7
  const SIGNAL_PAIRING_SESSION_TTL_MS = 10 * 60 * 1000;
7
8
  function signalStorageRoot(env = process.env) {
@@ -85,7 +86,8 @@ function cleanupExpiredSessions() {
85
86
  }
86
87
  }
87
88
  for (const session of listPendingSignalSessions()) {
88
- if (now - new Date(session.createdAt).getTime() > SIGNAL_PAIRING_SESSION_TTL_MS) {
89
+ if (now - new Date(session.createdAt).getTime() >
90
+ SIGNAL_PAIRING_SESSION_TTL_MS) {
89
91
  deletePendingSignalSession(session.sessionId);
90
92
  }
91
93
  }
@@ -198,7 +200,8 @@ function applySnapshot(session, snapshot) {
198
200
  function applyEvent(session, event) {
199
201
  const snapshot = session.pairingSession.getSnapshot();
200
202
  applySnapshot(session, snapshot);
201
- if (typeof event.phoneNumber === "string" && event.phoneNumber.trim().length > 0) {
203
+ if (typeof event.phoneNumber === "string" &&
204
+ event.phoneNumber.trim().length > 0) {
202
205
  session.phoneNumber = event.phoneNumber.trim();
203
206
  }
204
207
  if (typeof event.uuid === "string" && event.uuid.trim().length > 0) {
@@ -1,7 +1,7 @@
1
1
  import crypto from "node:crypto";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
- import { resolveOAuthDir } from "@elizaos/agent";
4
+ import { resolveOAuthDir } from "@elizaos/agent/config/paths";
5
5
  import { logger } from "@elizaos/core";
6
6
  // Re-export the real GramJS auth session from plugin-telegram.
7
7
  // The plugin's TelegramAccountAuthSession handles the full MTProto flow:
@@ -1 +1 @@
1
- {"version":3,"file":"duffel.d.ts","sourceRoot":"","sources":["../../../../../../../../apps/app-lifeops/src/lifeops/travel-adapters/duffel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duffel.d.ts","sourceRoot":"","sources":["../../../../../../../../apps/app-lifeops/src/lifeops/travel-adapters/duffel.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
+ import { createIntegrationTelemetrySpan } from "@elizaos/agent/diagnostics/integration-observability";
1
2
  import { logger } from "@elizaos/core";
2
- import { createIntegrationTelemetrySpan } from "@elizaos/agent";
3
3
  import { PaymentRequiredError, parseX402Response, } from "../x402-payment-handler.js";
4
4
  // ---------------------------------------------------------------------------
5
5
  // Config
@@ -198,7 +198,13 @@ async function duffelFetch(args) {
198
198
  }
199
199
  catch (error) {
200
200
  const msg = error instanceof Error ? error.message : String(error);
201
- logger.error({ boundary: "lifeops", integration: "duffel", operation, mode: config.mode, err: error instanceof Error ? error : undefined }, `[lifeops-travel] Duffel ${operation} network error: ${msg}`);
201
+ logger.error({
202
+ boundary: "lifeops",
203
+ integration: "duffel",
204
+ operation,
205
+ mode: config.mode,
206
+ err: error instanceof Error ? error : undefined,
207
+ }, `[lifeops-travel] Duffel ${operation} network error: ${msg}`);
202
208
  span.failure({ error, errorKind: "network_error" });
203
209
  throw new Error(`Duffel ${operation} failed: ${msg}`);
204
210
  }
@@ -226,7 +232,13 @@ async function duffelFetch(args) {
226
232
  if (!response.ok) {
227
233
  const errorBody = await response.text().catch(() => "");
228
234
  const errorMsg = errorBody || `HTTP ${response.status}`;
229
- logger.warn({ boundary: "lifeops", integration: "duffel", operation, mode: config.mode, statusCode: response.status }, `[lifeops-travel] Duffel ${operation} HTTP error: ${errorMsg}`);
235
+ logger.warn({
236
+ boundary: "lifeops",
237
+ integration: "duffel",
238
+ operation,
239
+ mode: config.mode,
240
+ statusCode: response.status,
241
+ }, `[lifeops-travel] Duffel ${operation} HTTP error: ${errorMsg}`);
230
242
  span.failure({ statusCode: response.status, errorKind: "http_error" });
231
243
  throw new Error(`Duffel ${operation} failed (${response.status}): ${errorMsg}`);
232
244
  }
@@ -265,11 +277,18 @@ export async function searchFlights(request, config) {
265
277
  const requestBody = {
266
278
  data: {
267
279
  slices,
268
- passengers: Array.from({ length: passengerCount }, () => ({ type: "adult" })),
280
+ passengers: Array.from({ length: passengerCount }, () => ({
281
+ type: "adult",
282
+ })),
269
283
  cabin_class: "economy",
270
284
  },
271
285
  };
272
- logger.info({ boundary: "lifeops", integration: "duffel", origin: request.origin, destination: request.destination }, `[lifeops-travel] Searching flights ${request.origin} → ${request.destination} on ${request.departureDate}`);
286
+ logger.info({
287
+ boundary: "lifeops",
288
+ integration: "duffel",
289
+ origin: request.origin,
290
+ destination: request.destination,
291
+ }, `[lifeops-travel] Searching flights ${request.origin} → ${request.destination} on ${request.departureDate}`);
273
292
  const { data: responseData, cost } = await duffelFetch({
274
293
  config: resolvedConfig,
275
294
  method: "POST",
@@ -279,7 +298,13 @@ export async function searchFlights(request, config) {
279
298
  operation: "offer_request",
280
299
  });
281
300
  const offers = (responseData.data.offers ?? []).map(mapOffer);
282
- logger.info({ boundary: "lifeops", integration: "duffel", offerRequestId: responseData.data.id, offerCount: offers.length, costUsd: cost.totalUsd }, `[lifeops-travel] Duffel returned ${offers.length} offers for request ${responseData.data.id}`);
301
+ logger.info({
302
+ boundary: "lifeops",
303
+ integration: "duffel",
304
+ offerRequestId: responseData.data.id,
305
+ offerCount: offers.length,
306
+ costUsd: cost.totalUsd,
307
+ }, `[lifeops-travel] Duffel returned ${offers.length} offers for request ${responseData.data.id}`);
283
308
  return {
284
309
  offerRequestId: responseData.data.id,
285
310
  offers,
@@ -1,5 +1,5 @@
1
+ import { createIntegrationTelemetrySpan } from "@elizaos/agent/diagnostics/integration-observability";
1
2
  import { logger } from "@elizaos/core";
2
- import { createIntegrationTelemetrySpan } from "@elizaos/agent";
3
3
  const TWILIO_SMS_MARKUP_RATE = 0.2;
4
4
  function roundCurrency(value) {
5
5
  return Math.round(value * 100) / 100;
@@ -1 +1 @@
1
- {"version":3,"file":"x-poster.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/x-poster.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;CACjF;AAiLD,wBAAgB,6BAA6B,CAC3C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,kBAAkB,GAAG,IAAI,CAgB3B;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,kBAAkB,CAAC;CACjC,GAAG,OAAO,CAAC,WAAW,CAAC,CAoHvB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;CACjF;AAMD;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,kBAAkB,CAAC;CACjC,GAAG,OAAO,CAAC,SAAS,CAAC,CAqFrB"}
1
+ {"version":3,"file":"x-poster.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/x-poster.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EACJ,SAAS,GACT,MAAM,GACN,YAAY,GACZ,SAAS,GACT,SAAS,GACT,SAAS,CAAC;CACf;AAgLD,wBAAgB,6BAA6B,CAC3C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,kBAAkB,GAAG,IAAI,CAgB3B;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,kBAAkB,CAAC;CACjC,GAAG,OAAO,CAAC,WAAW,CAAC,CAoHvB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EACJ,SAAS,GACT,MAAM,GACN,YAAY,GACZ,SAAS,GACT,SAAS,GACT,SAAS,CAAC;CACf;AAMD;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,kBAAkB,CAAC;CACjC,GAAG,OAAO,CAAC,SAAS,CAAC,CA8FrB"}
@@ -1,6 +1,6 @@
1
1
  import crypto from "node:crypto";
2
+ import { createIntegrationTelemetrySpan } from "@elizaos/agent/diagnostics/integration-observability";
2
3
  import { logger } from "@elizaos/core";
3
- import { createIntegrationTelemetrySpan } from "@elizaos/agent";
4
4
  function getXBaseUrl() {
5
5
  return process.env.MILADY_MOCK_X_BASE ?? "https://api.twitter.com";
6
6
  }
@@ -293,7 +293,12 @@ export async function sendXDm(args) {
293
293
  payload?.title ??
294
294
  `HTTP ${response.status}`;
295
295
  span.failure({ statusCode: response.status, errorKind: category });
296
- return { ok: false, status: response.status, error: errorMessage, category };
296
+ return {
297
+ ok: false,
298
+ status: response.status,
299
+ error: errorMessage,
300
+ category,
301
+ };
297
302
  }
298
303
  const dmEventId = payload?.data?.dm_event_id;
299
304
  if (!dmEventId) {
@@ -317,6 +322,11 @@ export async function sendXDm(args) {
317
322
  catch (error) {
318
323
  const errorMessage = error instanceof Error ? error.message : String(error);
319
324
  span.failure({ error, errorKind: "network" });
320
- return { ok: false, status: null, error: errorMessage, category: "network" };
325
+ return {
326
+ ok: false,
327
+ status: null,
328
+ error: errorMessage,
329
+ category: "network",
330
+ };
321
331
  }
322
332
  }
@@ -0,0 +1,74 @@
1
+ /**
2
+ * URL-hash routing for LifeOps detail views and the cross-tab automation
3
+ * selection.
4
+ *
5
+ * Design: we piggyback on `window.location.hash` because the app's top-level
6
+ * tab router already owns the pathname (`/lifeops`, `/automations`, …). The
7
+ * hash is free for deep-linking to sub-entities without touching the main
8
+ * navigation state.
9
+ *
10
+ * Hash format: `#key=value&key=value` (query-string-in-fragment). Two
11
+ * namespaces live here in practice:
12
+ *
13
+ * - `lifeops.section` → current LifeOps section id
14
+ * - `lifeops.event` → calendar event id (implies section=calendar)
15
+ * - `lifeops.message` → inbox message id (implies section=messages)
16
+ * - `automations.trigger`→ trigger id selected on the /automations page
17
+ *
18
+ * The helpers here are pure: no DOM access. The hooks in
19
+ * `hooks/useLifeOpsSection.ts` and the widget row handlers call into them.
20
+ */
21
+ export type LifeOpsRouteSection = "overview" | "sleep" | "screen-time" | "setup" | "reminders" | "calendar" | "messages" | "mail" | "money";
22
+ export declare const LIFEOPS_ROUTE_SECTIONS: readonly LifeOpsRouteSection[];
23
+ export interface LifeOpsRouteState {
24
+ section: LifeOpsRouteSection | null;
25
+ eventId: string | null;
26
+ messageId: string | null;
27
+ }
28
+ export interface AutomationsRouteState {
29
+ triggerId: string | null;
30
+ }
31
+ /**
32
+ * Parse `#key=value&…` into a plain map. Leading `#` is optional.
33
+ * Tolerates empty / malformed input by returning an empty map.
34
+ */
35
+ export declare function parseHashParams(hash: string): Record<string, string>;
36
+ /**
37
+ * Serialize a map back into a `#key=value&…` hash. Empty / null values are
38
+ * stripped so toggling a key off removes it from the URL cleanly.
39
+ */
40
+ export declare function serializeHashParams(params: Record<string, string | null | undefined>): string;
41
+ export declare function parseLifeOpsRoute(hash: string): LifeOpsRouteState;
42
+ export declare function parseAutomationsRoute(hash: string): AutomationsRouteState;
43
+ /**
44
+ * Merge an existing hash string with a LifeOps state update. Keeps unrelated
45
+ * keys (so we don't wipe an `automations.trigger` when navigating inside
46
+ * LifeOps, and vice versa).
47
+ */
48
+ export declare function buildLifeOpsHash(existingHash: string, next: {
49
+ section?: LifeOpsRouteSection | null;
50
+ eventId?: string | null;
51
+ messageId?: string | null;
52
+ }): string;
53
+ export declare function buildAutomationsHash(existingHash: string, next: {
54
+ triggerId?: string | null;
55
+ }): string;
56
+ export declare function primeLifeOpsEvent<T extends {
57
+ id: string;
58
+ }>(event: T): void;
59
+ export declare function getPrimedLifeOpsEvent<T extends {
60
+ id: string;
61
+ }>(id: string): T | null;
62
+ export declare function primeLifeOpsMessage<T extends {
63
+ id: string;
64
+ }>(message: T): void;
65
+ export declare function getPrimedLifeOpsMessage<T extends {
66
+ id: string;
67
+ }>(id: string): T | null;
68
+ export declare function primeAutomationsTrigger<T extends {
69
+ id: string;
70
+ }>(trigger: T): void;
71
+ export declare function getPrimedAutomationsTrigger<T extends {
72
+ id: string;
73
+ }>(id: string): T | null;
74
+ //# sourceMappingURL=lifeops-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifeops-route.d.ts","sourceRoot":"","sources":["../../../../../../apps/app-lifeops/src/lifeops-route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,mBAAmB,GAC3B,UAAU,GACV,OAAO,GACP,aAAa,GACb,OAAO,GACP,WAAW,GACX,UAAU,GACV,UAAU,GACV,MAAM,GACN,OAAO,CAAC;AAEZ,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EAUvD,CAAC;AAEX,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAcD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAChD,MAAM,CAOR;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAWjE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAIzE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE;IACJ,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GACA,MAAM,CAeR;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClC,MAAM,CAOR;AA+DD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAE1E;AACD,wBAAgB,qBAAqB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC5D,EAAE,EAAE,MAAM,GACT,CAAC,GAAG,IAAI,CAEV;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC1D,OAAO,EAAE,CAAC,GACT,IAAI,CAEN;AACD,wBAAgB,uBAAuB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC9D,EAAE,EAAE,MAAM,GACT,CAAC,GAAG,IAAI,CAEV;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC9D,OAAO,EAAE,CAAC,GACT,IAAI,CAEN;AACD,wBAAgB,2BAA2B,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAClE,EAAE,EAAE,MAAM,GACT,CAAC,GAAG,IAAI,CAEV"}
@@ -0,0 +1,204 @@
1
+ /**
2
+ * URL-hash routing for LifeOps detail views and the cross-tab automation
3
+ * selection.
4
+ *
5
+ * Design: we piggyback on `window.location.hash` because the app's top-level
6
+ * tab router already owns the pathname (`/lifeops`, `/automations`, …). The
7
+ * hash is free for deep-linking to sub-entities without touching the main
8
+ * navigation state.
9
+ *
10
+ * Hash format: `#key=value&key=value` (query-string-in-fragment). Two
11
+ * namespaces live here in practice:
12
+ *
13
+ * - `lifeops.section` → current LifeOps section id
14
+ * - `lifeops.event` → calendar event id (implies section=calendar)
15
+ * - `lifeops.message` → inbox message id (implies section=messages)
16
+ * - `automations.trigger`→ trigger id selected on the /automations page
17
+ *
18
+ * The helpers here are pure: no DOM access. The hooks in
19
+ * `hooks/useLifeOpsSection.ts` and the widget row handlers call into them.
20
+ */
21
+ export const LIFEOPS_ROUTE_SECTIONS = [
22
+ "overview",
23
+ "sleep",
24
+ "screen-time",
25
+ "setup",
26
+ "reminders",
27
+ "calendar",
28
+ "messages",
29
+ "mail",
30
+ "money",
31
+ ];
32
+ const LIFEOPS_SECTION_KEY = "lifeops.section";
33
+ const LIFEOPS_EVENT_KEY = "lifeops.event";
34
+ const LIFEOPS_MESSAGE_KEY = "lifeops.message";
35
+ const AUTOMATIONS_TRIGGER_KEY = "automations.trigger";
36
+ function isSection(value) {
37
+ return (value !== null &&
38
+ LIFEOPS_ROUTE_SECTIONS.includes(value));
39
+ }
40
+ /**
41
+ * Parse `#key=value&…` into a plain map. Leading `#` is optional.
42
+ * Tolerates empty / malformed input by returning an empty map.
43
+ */
44
+ export function parseHashParams(hash) {
45
+ const raw = hash.startsWith("#") ? hash.slice(1) : hash;
46
+ if (!raw)
47
+ return {};
48
+ const result = {};
49
+ for (const chunk of raw.split("&")) {
50
+ if (!chunk)
51
+ continue;
52
+ const eq = chunk.indexOf("=");
53
+ const key = eq >= 0 ? chunk.slice(0, eq) : chunk;
54
+ const value = eq >= 0 ? chunk.slice(eq + 1) : "";
55
+ if (!key)
56
+ continue;
57
+ try {
58
+ result[decodeURIComponent(key)] = decodeURIComponent(value);
59
+ }
60
+ catch {
61
+ // Skip malformed encodings silently.
62
+ }
63
+ }
64
+ return result;
65
+ }
66
+ /**
67
+ * Serialize a map back into a `#key=value&…` hash. Empty / null values are
68
+ * stripped so toggling a key off removes it from the URL cleanly.
69
+ */
70
+ export function serializeHashParams(params) {
71
+ const pairs = [];
72
+ for (const [key, value] of Object.entries(params)) {
73
+ if (value === null || value === undefined || value === "")
74
+ continue;
75
+ pairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);
76
+ }
77
+ return pairs.length > 0 ? `#${pairs.join("&")}` : "";
78
+ }
79
+ export function parseLifeOpsRoute(hash) {
80
+ const params = parseHashParams(hash);
81
+ const rawSection = params[LIFEOPS_SECTION_KEY] ?? null;
82
+ const section = isSection(rawSection) ? rawSection : null;
83
+ const eventId = params[LIFEOPS_EVENT_KEY] || null;
84
+ const messageId = params[LIFEOPS_MESSAGE_KEY] || null;
85
+ // Intentionally permissive: an `lifeops.event=<id>` without a matching
86
+ // section implies `calendar`, and `lifeops.message=<id>` implies `messages`.
87
+ // The hook derives that after parsing; the route itself just reports what
88
+ // the hash literally said.
89
+ return { section, eventId, messageId };
90
+ }
91
+ export function parseAutomationsRoute(hash) {
92
+ const params = parseHashParams(hash);
93
+ const triggerId = params[AUTOMATIONS_TRIGGER_KEY] || null;
94
+ return { triggerId };
95
+ }
96
+ /**
97
+ * Merge an existing hash string with a LifeOps state update. Keeps unrelated
98
+ * keys (so we don't wipe an `automations.trigger` when navigating inside
99
+ * LifeOps, and vice versa).
100
+ */
101
+ export function buildLifeOpsHash(existingHash, next) {
102
+ const params = parseHashParams(existingHash);
103
+ if (next.section !== undefined) {
104
+ if (next.section === null)
105
+ delete params[LIFEOPS_SECTION_KEY];
106
+ else
107
+ params[LIFEOPS_SECTION_KEY] = next.section;
108
+ }
109
+ if (next.eventId !== undefined) {
110
+ if (next.eventId === null)
111
+ delete params[LIFEOPS_EVENT_KEY];
112
+ else
113
+ params[LIFEOPS_EVENT_KEY] = next.eventId;
114
+ }
115
+ if (next.messageId !== undefined) {
116
+ if (next.messageId === null)
117
+ delete params[LIFEOPS_MESSAGE_KEY];
118
+ else
119
+ params[LIFEOPS_MESSAGE_KEY] = next.messageId;
120
+ }
121
+ return serializeHashParams(params);
122
+ }
123
+ export function buildAutomationsHash(existingHash, next) {
124
+ const params = parseHashParams(existingHash);
125
+ if (next.triggerId !== undefined) {
126
+ if (next.triggerId === null)
127
+ delete params[AUTOMATIONS_TRIGGER_KEY];
128
+ else
129
+ params[AUTOMATIONS_TRIGGER_KEY] = next.triggerId;
130
+ }
131
+ return serializeHashParams(params);
132
+ }
133
+ // ── Prime cache ──────────────────────────────────────────────────────────
134
+ //
135
+ // When a user clicks a row in the chat-sidebar widget, we already have the
136
+ // row payload in hand. The detail view that opens via URL hash does not
137
+ // share a React context with the widget (it lives inside LifeOpsPageView,
138
+ // the widget lives in the app's right rail), so we drop the row into a
139
+ // small module-level cache. The detail view pulls it for instant first
140
+ // paint and then still refetches the batch endpoint to stay live.
141
+ //
142
+ // Stored values are light (≤ a few KB), and the cache is pruned both by
143
+ // TTL (unused rows expire after 60 s) and by LRU cap. The cache is a
144
+ // best-effort hint — detail views MUST render correctly even if the cache
145
+ // miss (e.g. the user deep-linked).
146
+ const PRIME_TTL_MS = 60_000;
147
+ const PRIME_MAX_ENTRIES = 32;
148
+ function primeCache() {
149
+ const store = new Map();
150
+ function prune() {
151
+ const now = Date.now();
152
+ for (const [id, row] of store) {
153
+ if (now - row.storedAt > PRIME_TTL_MS)
154
+ store.delete(id);
155
+ }
156
+ while (store.size > PRIME_MAX_ENTRIES) {
157
+ const oldest = store.keys().next().value;
158
+ if (oldest === undefined)
159
+ break;
160
+ store.delete(oldest);
161
+ }
162
+ }
163
+ return {
164
+ set(id, value) {
165
+ if (!id)
166
+ return;
167
+ store.set(id, { value, storedAt: Date.now() });
168
+ prune();
169
+ },
170
+ get(id) {
171
+ if (!id)
172
+ return null;
173
+ const entry = store.get(id);
174
+ if (!entry)
175
+ return null;
176
+ if (Date.now() - entry.storedAt > PRIME_TTL_MS) {
177
+ store.delete(id);
178
+ return null;
179
+ }
180
+ return entry.value;
181
+ },
182
+ };
183
+ }
184
+ const EVENT_CACHE = primeCache();
185
+ const MESSAGE_CACHE = primeCache();
186
+ const TRIGGER_CACHE = primeCache();
187
+ export function primeLifeOpsEvent(event) {
188
+ EVENT_CACHE.set(event.id, event);
189
+ }
190
+ export function getPrimedLifeOpsEvent(id) {
191
+ return EVENT_CACHE.get(id) ?? null;
192
+ }
193
+ export function primeLifeOpsMessage(message) {
194
+ MESSAGE_CACHE.set(message.id, message);
195
+ }
196
+ export function getPrimedLifeOpsMessage(id) {
197
+ return MESSAGE_CACHE.get(id) ?? null;
198
+ }
199
+ export function primeAutomationsTrigger(trigger) {
200
+ TRIGGER_CACHE.set(trigger.id, trigger);
201
+ }
202
+ export function getPrimedAutomationsTrigger(id) {
203
+ return TRIGGER_CACHE.get(id) ?? null;
204
+ }
@@ -0,0 +1,15 @@
1
+ import { type LifeOpsGithubCallbackDetail } from "../events/index.js";
2
+ export declare const LIFEOPS_GITHUB_POST_MESSAGE_TYPE = "elizaos-lifeops-github-complete";
3
+ declare global {
4
+ interface Window {
5
+ __ELIZAOS_LIFEOPS_GITHUB_CALLBACK_QUEUE__?: LifeOpsGithubCallbackDetail[];
6
+ }
7
+ }
8
+ export declare function readLifeOpsGithubCallbackFromWindowMessage(value: unknown): LifeOpsGithubCallbackDetail | null;
9
+ export declare function readLifeOpsGithubCallbackFromUrl(url: string): LifeOpsGithubCallbackDetail | null;
10
+ export declare function queueLifeOpsGithubCallback(detail: LifeOpsGithubCallbackDetail): void;
11
+ export declare function consumeQueuedLifeOpsGithubCallback(detail: LifeOpsGithubCallbackDetail): void;
12
+ export declare function drainLifeOpsGithubCallbacks(): LifeOpsGithubCallbackDetail[];
13
+ export declare function dispatchLifeOpsGithubCallbackFromWindowMessage(value: unknown): boolean;
14
+ export declare function dispatchQueuedLifeOpsGithubCallbackFromUrl(url: string): boolean;
15
+ //# sourceMappingURL=lifeops-github.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifeops-github.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/platform/lifeops-github.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,gCAAgC,oCACV,CAAC;AAEpC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,yCAAyC,CAAC,EAAE,2BAA2B,EAAE,CAAC;KAC3E;CACF;AAwED,wBAAgB,0CAA0C,CACxD,KAAK,EAAE,OAAO,GACb,2BAA2B,GAAG,IAAI,CASpC;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,MAAM,GACV,2BAA2B,GAAG,IAAI,CA2BpC;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,2BAA2B,GAClC,IAAI,CAKN;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,2BAA2B,GAClC,IAAI,CAQN;AAED,wBAAgB,2BAA2B,IAAI,2BAA2B,EAAE,CAO3E;AAED,wBAAgB,8CAA8C,CAC5D,KAAK,EAAE,OAAO,GACb,OAAO,CAOT;AAED,wBAAgB,0CAA0C,CACxD,GAAG,EAAE,MAAM,GACV,OAAO,CAQT"}