@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.
- package/apps/app-companion/src/components/companion/CompanionAppView.d.ts.map +1 -1
- package/apps/app-companion/src/components/companion/CompanionAppView.js +6 -4
- package/apps/app-companion/src/components/companion/CompanionView.d.ts.map +1 -1
- package/apps/app-companion/src/components/companion/CompanionView.js +6 -4
- package/apps/app-lifeops/src/api/client-lifeops.js +6 -0
- package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts +3 -0
- package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/AppBlockerSettingsCard.js +189 -0
- package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts +2 -0
- package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.js +1065 -0
- package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts +7 -0
- package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.js +71 -0
- package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts +14 -0
- package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/DataSourcesStrip.js +36 -0
- package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts +23 -0
- package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/EventEditorDrawer.js +514 -0
- package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.js +10 -0
- package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts +15 -0
- package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsCalendarSection.js +515 -0
- package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts +34 -0
- package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsChatAdapter.js +175 -0
- package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.js +99 -0
- package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts +37 -0
- package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.js +88 -0
- package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts +13 -0
- package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsInboxSection.js +490 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts +12 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.js +92 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts +12 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.js +160 -0
- package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts +3 -0
- package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsMoneySection.js +373 -0
- package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts +9 -0
- package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsNavRail.js +93 -0
- package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts +4 -0
- package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.js +274 -0
- package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts +7 -0
- package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsOverviewSection.js +657 -0
- package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts +42 -0
- package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsPageSections.js +166 -0
- package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsPageView.js +566 -0
- package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsRemindersSection.js +749 -0
- package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts +27 -0
- package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.js +106 -0
- package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.js +373 -0
- package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts +10 -0
- package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsSectionContent.js +30 -0
- package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts +21 -0
- package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsSelectionContext.js +30 -0
- package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts +20 -0
- package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsSettingsSection.js +597 -0
- package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts +13 -0
- package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsSetupGate.js +134 -0
- package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts +10 -0
- package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsSleepSection.js +425 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts +11 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.js +49 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.js +1041 -0
- package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts +7 -0
- package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/MessagingConnectorCards.js +643 -0
- package/apps/app-lifeops/src/components/MissingSourceCard.d.ts +9 -0
- package/apps/app-lifeops/src/components/MissingSourceCard.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/MissingSourceCard.js +5 -0
- package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts +2 -0
- package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/MobileSignalsSetupCard.js +163 -0
- package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts +8 -0
- package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/SleepInspectionPanel.js +59 -0
- package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts +3 -0
- package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.js +75 -0
- package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts +8 -0
- package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/WhatsAppQrOverlay.js +48 -0
- package/apps/app-lifeops/src/components/lifeops-labels.d.ts +2 -0
- package/apps/app-lifeops/src/components/lifeops-labels.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/lifeops-labels.js +5 -0
- package/apps/app-lifeops/src/events/index.d.ts +34 -0
- package/apps/app-lifeops/src/events/index.d.ts.map +1 -0
- package/apps/app-lifeops/src/events/index.js +23 -0
- package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts +28 -0
- package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useCalendarWeek.js +93 -0
- package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts +14 -0
- package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useDiscordConnector.js +126 -0
- package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts +29 -0
- package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.js +481 -0
- package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts +10 -0
- package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useIMessageConnector.js +50 -0
- package/apps/app-lifeops/src/hooks/useInbox.d.ts +34 -0
- package/apps/app-lifeops/src/hooks/useInbox.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useInbox.js +98 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts +2 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.js +383 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts +9 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsAppState.js +83 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts +8 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.js +60 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts +18 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.js +66 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts +14 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.js +79 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts +18 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsSection.js +78 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts +14 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.js +160 -0
- package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts +16 -0
- package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useSignalConnector.js +198 -0
- package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts +21 -0
- package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useTelegramConnector.js +177 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts +8 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppConnector.js +58 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts +12 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppPairing.js +152 -0
- package/apps/app-lifeops/src/lifeops/discord-browser-scraper.js +1 -1
- package/apps/app-lifeops/src/lifeops/google-gmail.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/google-gmail.js +74 -26
- package/apps/app-lifeops/src/lifeops/google-managed-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/google-managed-client.js +4 -5
- package/apps/app-lifeops/src/lifeops/google-oauth.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/google-oauth.js +2 -2
- package/apps/app-lifeops/src/lifeops/owner-profile.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/owner-profile.js +1 -1
- package/apps/app-lifeops/src/lifeops/paypal-managed-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/paypal-managed-client.js +4 -5
- package/apps/app-lifeops/src/lifeops/plaid-managed-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/plaid-managed-client.js +4 -5
- package/apps/app-lifeops/src/lifeops/schedule-sync-client.js +2 -2
- package/apps/app-lifeops/src/lifeops/service-constants.d.ts +1 -0
- package/apps/app-lifeops/src/lifeops/service-constants.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-constants.js +1 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-core.js +2 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-imessage.js +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts +3 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-inbox.js +42 -13
- package/apps/app-lifeops/src/lifeops/service-mixin-reminders.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-reminders.js +3 -2
- package/apps/app-lifeops/src/lifeops/service-mixin-workflows.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-workflows.js +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-calendar.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-calendar.js +3 -3
- package/apps/app-lifeops/src/lifeops/service-normalize-connector.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-connector.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-connector.js +2 -2
- package/apps/app-lifeops/src/lifeops/signal-auth.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/signal-auth.js +6 -3
- package/apps/app-lifeops/src/lifeops/telegram-auth.js +1 -1
- package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.js +31 -6
- package/apps/app-lifeops/src/lifeops/twilio.js +1 -1
- package/apps/app-lifeops/src/lifeops/x-poster.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/x-poster.js +13 -3
- package/apps/app-lifeops/src/lifeops-route.d.ts +74 -0
- package/apps/app-lifeops/src/lifeops-route.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops-route.js +204 -0
- package/apps/app-lifeops/src/platform/lifeops-github.d.ts +15 -0
- package/apps/app-lifeops/src/platform/lifeops-github.d.ts.map +1 -0
- package/apps/app-lifeops/src/platform/lifeops-github.js +135 -0
- package/apps/app-lifeops/src/routes/cloud-features-routes.d.ts +2 -2
- package/apps/app-lifeops/src/routes/cloud-features-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/cloud-features-routes.js +5 -3
- package/apps/app-lifeops/src/routes/lifeops-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/lifeops-routes.js +15 -3
- package/apps/app-lifeops/src/routes/plugin.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/plugin.js +10 -1
- package/apps/app-lifeops/src/routes/travel-provider-relay-routes.d.ts +1 -1
- package/apps/app-lifeops/src/routes/travel-provider-relay-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/travel-provider-relay-routes.js +4 -2
- package/apps/app-lifeops/src/routes/website-blocker-routes.d.ts +1 -1
- package/apps/app-lifeops/src/routes/website-blocker-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/ui.d.ts +11 -0
- package/apps/app-lifeops/src/ui.d.ts.map +1 -0
- package/apps/app-lifeops/src/ui.js +9 -0
- package/apps/app-lifeops/src/utils/lifeops-url.d.ts +5 -0
- package/apps/app-lifeops/src/utils/lifeops-url.d.ts.map +1 -0
- package/apps/app-lifeops/src/utils/lifeops-url.js +35 -0
- package/apps/app-lifeops/src/website-blocker/access.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/access.js +1 -1
- package/apps/app-steward/src/routes/steward-compat-routes.d.ts +1 -1
- package/apps/app-steward/src/routes/steward-compat-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/steward-compat-routes.js +3 -1
- package/apps/app-steward/src/routes/wallet-browser-compat-routes.d.ts +1 -1
- package/apps/app-steward/src/routes/wallet-browser-compat-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/wallet-browser-compat-routes.js +3 -1
- package/apps/app-steward/src/routes/wallet-bsc-core-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/wallet-bsc-core-routes.js +2 -1
- package/apps/app-steward/src/routes/wallet-compat-routes.d.ts +1 -1
- package/apps/app-steward/src/routes/wallet-compat-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/wallet-compat-routes.js +3 -1
- package/apps/app-steward/src/routes/wallet-core-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/wallet-core-routes.js +2 -1
- package/apps/app-steward/src/routes/wallet-trade-compat-routes.d.ts +1 -1
- package/apps/app-steward/src/routes/wallet-trade-compat-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/wallet-trade-compat-routes.js +3 -1
- package/apps/app-training/src/core/dataset-generator.d.ts +1 -1
- package/apps/app-training/src/core/dataset-generator.d.ts.map +1 -1
- package/apps/app-training/src/core/roleplay-executor.d.ts +1 -1
- package/apps/app-training/src/core/roleplay-executor.d.ts.map +1 -1
- package/apps/app-training/src/core/trajectory-task-datasets.d.ts +1 -1
- package/apps/app-training/src/core/trajectory-task-datasets.d.ts.map +1 -1
- package/apps/app-training/src/index.d.ts +1 -2
- package/apps/app-training/src/index.d.ts.map +1 -1
- package/apps/app-training/src/index.js +1 -2
- package/apps/app-training/src/routes/training-routes.d.ts +1 -1
- package/apps/app-training/src/routes/training-routes.d.ts.map +1 -1
- package/apps/app-training/src/routes/training-routes.js +1 -1
- package/apps/app-training/src/routes/trajectory-routes.d.ts +1 -1
- package/apps/app-training/src/routes/trajectory-routes.d.ts.map +1 -1
- package/apps/app-training/src/routes/trajectory-routes.js +3 -1
- package/apps/app-training/src/services/training-service-like.d.ts +1 -1
- package/apps/app-training/src/services/training-service-like.d.ts.map +1 -1
- package/apps/app-training/src/services/training-service.d.ts +1 -1
- package/apps/app-training/src/services/training-service.d.ts.map +1 -1
- package/package.json +1 -1
- package/packages/agent/src/api/provider-switch-config.js +1 -1
- package/packages/agent/src/api/server-helpers-auth.d.ts.map +1 -1
- package/packages/agent/src/api/server-helpers-auth.js +5 -4
- package/packages/agent/src/providers/media-provider.d.ts +1 -1
- package/packages/agent/src/providers/media-provider.d.ts.map +1 -1
- package/packages/app-core/src/App.d.ts.map +1 -1
- package/packages/app-core/src/App.js +20 -12
- package/packages/app-core/src/api/auth.d.ts.map +1 -1
- package/packages/app-core/src/api/auth.js +5 -5
- package/packages/app-core/src/api/client-types-experience.d.ts +7 -0
- package/packages/app-core/src/api/client-types-experience.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/helpers.d.ts +1 -1
- package/packages/app-core/src/components/apps/helpers.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/helpers.js +1 -0
- package/packages/app-core/src/components/apps/internal-tool-apps.d.ts +11 -0
- package/packages/app-core/src/components/apps/internal-tool-apps.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/internal-tool-apps.js +31 -0
- package/packages/app-core/src/components/apps/launch-history.d.ts +16 -0
- package/packages/app-core/src/components/apps/launch-history.d.ts.map +1 -0
- package/packages/app-core/src/components/apps/launch-history.js +77 -0
- package/packages/app-core/src/components/apps/per-app-config.d.ts +19 -0
- package/packages/app-core/src/components/apps/per-app-config.d.ts.map +1 -0
- package/packages/app-core/src/components/apps/per-app-config.js +99 -0
- package/packages/app-core/src/components/apps/useRegistryCatalog.d.ts +14 -0
- package/packages/app-core/src/components/apps/useRegistryCatalog.d.ts.map +1 -0
- package/packages/app-core/src/components/apps/useRegistryCatalog.js +52 -0
- package/packages/app-core/src/components/auth/LoginView.d.ts +1 -19
- package/packages/app-core/src/components/auth/LoginView.d.ts.map +1 -1
- package/packages/app-core/src/components/auth/LoginView.js +4 -99
- package/packages/app-core/src/components/character/CharacterExperienceWorkspace.d.ts.map +1 -1
- package/packages/app-core/src/components/character/CharacterExperienceWorkspace.js +14 -2
- package/packages/app-core/src/components/character/character-hub-helpers.d.ts.map +1 -1
- package/packages/app-core/src/components/character/character-hub-helpers.js +7 -0
- package/packages/app-core/src/components/character/character-hub-types.d.ts +7 -0
- package/packages/app-core/src/components/character/character-hub-types.d.ts.map +1 -1
- package/packages/app-core/src/components/onboarding/BootstrapStep.d.ts.map +1 -1
- package/packages/app-core/src/components/onboarding/BootstrapStep.js +3 -2
- package/packages/app-core/src/components/pages/AppDetailsView.d.ts +36 -0
- package/packages/app-core/src/components/pages/AppDetailsView.d.ts.map +1 -0
- package/packages/app-core/src/components/pages/AppDetailsView.js +289 -0
- package/packages/app-core/src/components/pages/AppsView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/AppsView.js +134 -42
- package/packages/app-core/src/components/shell/StartupShell.d.ts.map +1 -1
- package/packages/app-core/src/components/shell/StartupShell.js +2 -5
- package/packages/app-core/src/i18n/locales/en.json +256 -205
- package/packages/app-core/src/i18n/locales/es.json +256 -205
- package/packages/app-core/src/i18n/locales/ko.json +256 -205
- package/packages/app-core/src/i18n/locales/pt.json +256 -205
- package/packages/app-core/src/i18n/locales/tl.json +256 -205
- package/packages/app-core/src/i18n/locales/vi.json +256 -205
- package/packages/app-core/src/i18n/locales/zh-CN.json +256 -205
- package/packages/app-core/src/navigation/index.d.ts.map +1 -1
- package/packages/app-core/src/navigation/index.js +6 -0
- package/packages/app-core/src/shell/AppWindowRenderer.d.ts +17 -0
- package/packages/app-core/src/shell/AppWindowRenderer.d.ts.map +1 -0
- package/packages/app-core/src/shell/AppWindowRenderer.js +337 -0
- package/packages/app-core/src/shell/DetachedShellRoot.js +4 -1
- package/packages/app-core/src/shell/index.d.ts +1 -0
- package/packages/app-core/src/shell/index.d.ts.map +1 -1
- package/packages/app-core/src/shell/index.js +1 -0
- package/packages/app-core/src/state/startup-coordinator.d.ts.map +1 -1
- package/packages/app-core/src/state/startup-coordinator.js +0 -3
- package/packages/app-core/src/state/startup-phase-poll.d.ts.map +1 -1
- package/packages/app-core/src/state/startup-phase-poll.js +2 -4
- package/packages/app-core/src/state/usePluginsSkillsState.d.ts +6 -6
- package/packages/native-plugins/mobile-signals/src/definitions.d.ts +162 -0
- package/packages/native-plugins/mobile-signals/src/definitions.d.ts.map +1 -0
- package/packages/native-plugins/mobile-signals/src/definitions.js +1 -0
- package/packages/native-plugins/mobile-signals/src/index.d.ts +4 -0
- package/packages/native-plugins/mobile-signals/src/index.d.ts.map +1 -0
- package/packages/native-plugins/mobile-signals/src/index.js +6 -0
- package/packages/native-plugins/mobile-signals/src/web.d.ts +29 -0
- package/packages/native-plugins/mobile-signals/src/web.d.ts.map +1 -0
- package/packages/native-plugins/mobile-signals/src/web.js +269 -0
- package/packages/shared/src/app-hero-art.d.ts.map +1 -1
- package/packages/shared/src/app-hero-art.js +13 -0
- package/packages/shared/src/contracts/lifeops.d.ts +10 -0
- package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
- package/packages/shared/src/contracts/lifeops.js +5 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.js +46 -4
- package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.js +34 -124
- package/packages/typescript/src/features/advanced-capabilities/experience/service.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/service.js +56 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts +7 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts +7 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts.map +1 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.js +123 -0
- package/apps/app-training/src/ui/FineTuningView.d.ts +0 -5
- package/apps/app-training/src/ui/FineTuningView.d.ts.map +0 -1
- package/apps/app-training/src/ui/FineTuningView.js +0 -388
- package/apps/app-training/src/ui/fine-tuning-panels.d.ts +0 -111
- package/apps/app-training/src/ui/fine-tuning-panels.d.ts.map +0 -1
- package/apps/app-training/src/ui/fine-tuning-panels.js +0 -130
- package/apps/app-training/src/ui/index.d.ts +0 -3
- package/apps/app-training/src/ui/index.d.ts.map +0 -1
- package/apps/app-training/src/ui/index.js +0 -2
- package/packages/app-core/src/api/trusted-local-request.d.ts +0 -4
- package/packages/app-core/src/api/trusted-local-request.d.ts.map +0 -1
- 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"}
|