@elizaos/agent 2.0.0-alpha.441 → 2.0.0-alpha.501
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 -2
- package/apps/app-companion/src/components/companion/CompanionHeader.d.ts +3 -1
- package/apps/app-companion/src/components/companion/CompanionHeader.d.ts.map +1 -1
- package/apps/app-companion/src/components/companion/CompanionHeader.js +8 -2
- package/apps/app-companion/src/components/companion/CompanionPerformanceSettings.d.ts +2 -0
- package/apps/app-companion/src/components/companion/CompanionPerformanceSettings.d.ts.map +1 -0
- package/apps/app-companion/src/components/companion/CompanionPerformanceSettings.js +33 -0
- package/apps/app-companion/src/components/companion/CompanionSettingsPanel.d.ts +2 -0
- package/apps/app-companion/src/components/companion/CompanionSettingsPanel.d.ts.map +1 -0
- package/apps/app-companion/src/components/companion/CompanionSettingsPanel.js +7 -0
- package/apps/app-companion/src/components/companion/CompanionShell.d.ts.map +1 -1
- package/apps/app-companion/src/components/companion/CompanionShell.js +1 -1
- package/apps/app-companion/src/components/companion/CompanionView.d.ts.map +1 -1
- package/apps/app-companion/src/components/companion/CompanionView.js +6 -2
- package/apps/app-companion/src/types/render-modes.d.ts +4 -0
- package/apps/app-companion/src/types/render-modes.d.ts.map +1 -0
- package/apps/app-companion/src/types/render-modes.js +6 -0
- package/apps/app-elizamaker/src/drop-routes.d.ts.map +1 -1
- package/apps/app-elizamaker/src/drop-service.d.ts +1 -1
- package/apps/app-elizamaker/src/drop-service.d.ts.map +1 -1
- package/apps/app-elizamaker/src/og-tracker.d.ts.map +1 -1
- package/apps/app-elizamaker/src/og-tracker.js +1 -1
- package/apps/app-elizamaker/src/twitter-verify.js +1 -1
- package/apps/app-lifeops/src/actions/website-blocker.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/website-blocker.js +18 -16
- package/apps/app-lifeops/src/api/client-lifeops.d.ts +37 -75
- package/apps/app-lifeops/src/api/client-lifeops.d.ts.map +1 -1
- package/apps/app-lifeops/src/api/client-lifeops.js +119 -0
- package/apps/app-lifeops/src/inbox/channel-deep-links.d.ts +2 -4
- package/apps/app-lifeops/src/inbox/channel-deep-links.d.ts.map +1 -1
- package/apps/app-lifeops/src/inbox/channel-deep-links.js +8 -38
- package/apps/app-lifeops/src/inbox/message-fetcher.d.ts +1 -1
- package/apps/app-lifeops/src/inbox/message-fetcher.d.ts.map +1 -1
- package/apps/app-lifeops/src/inbox/message-fetcher.js +180 -77
- package/apps/app-lifeops/src/inbox/types.d.ts +1 -1
- package/apps/app-lifeops/src/inbox/types.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/browser-extension-store.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/browser-readiness.d.ts +16 -0
- package/apps/app-lifeops/src/lifeops/browser-readiness.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/browser-readiness.js +74 -0
- package/apps/app-lifeops/src/lifeops/browser-session-lifecycle.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/browser-session-lifecycle.js +1 -1
- package/apps/app-lifeops/src/lifeops/checkin/checkin-service.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/defaults.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/defaults.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/discord-desktop-cdp.d.ts +16 -0
- package/apps/app-lifeops/src/lifeops/discord-desktop-cdp.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/discord-desktop-cdp.js +217 -1
- package/apps/app-lifeops/src/lifeops/email-unsubscribe-gmail.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/email-unsubscribe-gmail.js +8 -3
- package/apps/app-lifeops/src/lifeops/feature-flags.types.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/goal-semantic-evaluator.js +1 -1
- package/apps/app-lifeops/src/lifeops/google-calendar.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/google-calendar.js +24 -31
- package/apps/app-lifeops/src/lifeops/google-drive.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/google-drive.js +7 -1
- package/apps/app-lifeops/src/lifeops/google-fetch.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/google-fetch.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/google-fetch.js +4 -6
- package/apps/app-lifeops/src/lifeops/google-gmail.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/google-gmail.js +50 -34
- package/apps/app-lifeops/src/lifeops/health-bridge.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/health-bridge.js +53 -10
- package/apps/app-lifeops/src/lifeops/health-connectors.d.ts +23 -0
- package/apps/app-lifeops/src/lifeops/health-connectors.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/health-connectors.js +962 -0
- package/apps/app-lifeops/src/lifeops/health-oauth.d.ts +62 -0
- package/apps/app-lifeops/src/lifeops/health-oauth.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/health-oauth.js +496 -0
- package/apps/app-lifeops/src/lifeops/payment-csv-import.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/payment-csv-import.js +1 -5
- package/apps/app-lifeops/src/lifeops/payment-recurrence.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/payment-recurrence.js +2 -1
- package/apps/app-lifeops/src/lifeops/payment-types.d.ts +8 -7
- package/apps/app-lifeops/src/lifeops/payment-types.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/priority-scoring.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/repository.d.ts +46 -10
- package/apps/app-lifeops/src/lifeops/repository.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/repository.js +683 -65
- package/apps/app-lifeops/src/lifeops/schedule-insight.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/schedule-insight.js +2 -3
- package/apps/app-lifeops/src/lifeops/schema.d.ts +6403 -3831
- package/apps/app-lifeops/src/lifeops/schema.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/schema.js +105 -18
- package/apps/app-lifeops/src/lifeops/seed-routines.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/seed-routines.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/seed-routines.js +7 -2
- package/apps/app-lifeops/src/lifeops/service-constants.d.ts +15 -0
- package/apps/app-lifeops/src/lifeops/service-constants.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-constants.js +21 -3
- package/apps/app-lifeops/src/lifeops/service-helpers-browser.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/service-helpers-browser.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-helpers-browser.js +1 -1
- package/apps/app-lifeops/src/lifeops/service-helpers-misc.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-helpers-misc.js +5 -5
- package/apps/app-lifeops/src/lifeops/service-helpers-occurrence.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-helpers-occurrence.js +1 -1
- package/apps/app-lifeops/src/lifeops/service-helpers-reminder.d.ts +48 -1
- package/apps/app-lifeops/src/lifeops/service-helpers-reminder.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-helpers-reminder.js +191 -17
- package/apps/app-lifeops/src/lifeops/service-mixin-browser.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-browser.js +10 -7
- package/apps/app-lifeops/src/lifeops/service-mixin-calendar.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-calendar.js +4 -11
- package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-core.js +5 -2
- package/apps/app-lifeops/src/lifeops/service-mixin-definitions.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-definitions.js +7 -6
- package/apps/app-lifeops/src/lifeops/service-mixin-discord.js +237 -32
- package/apps/app-lifeops/src/lifeops/service-mixin-drive.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-drive.js +6 -5
- package/apps/app-lifeops/src/lifeops/service-mixin-gmail.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-gmail.js +86 -31
- package/apps/app-lifeops/src/lifeops/service-mixin-goals.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-goals.js +14 -15
- package/apps/app-lifeops/src/lifeops/service-mixin-google.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-google.js +71 -51
- package/apps/app-lifeops/src/lifeops/service-mixin-health.js +528 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-imessage.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-imessage.js +94 -6
- package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-inbox.js +9 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-payments.d.ts +3 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-payments.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-payments.js +93 -26
- package/apps/app-lifeops/src/lifeops/service-mixin-reminders.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-reminders.js +331 -167
- package/apps/app-lifeops/src/lifeops/service-mixin-scheduling.js +5 -10
- package/apps/app-lifeops/src/lifeops/service-mixin-screentime.js +372 -10
- package/apps/app-lifeops/src/lifeops/service-mixin-signal.js +179 -43
- package/apps/app-lifeops/src/lifeops/service-mixin-sleep.js +31 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-status.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-status.js +82 -13
- package/apps/app-lifeops/src/lifeops/service-mixin-subscriptions.js +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-telegram.js +59 -12
- package/apps/app-lifeops/src/lifeops/service-mixin-whatsapp.js +165 -22
- package/apps/app-lifeops/src/lifeops/service-mixin-workflows.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-workflows.js +3 -0
- package/apps/app-lifeops/src/lifeops/service-normalize-calendar.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-calendar.js +4 -4
- package/apps/app-lifeops/src/lifeops/service-normalize-gmail.d.ts +3 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-gmail.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-gmail.js +5 -3
- package/apps/app-lifeops/src/lifeops/service-normalize-health.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-health.js +4 -3
- package/apps/app-lifeops/src/lifeops/service-normalize-task.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-task.js +10 -1
- package/apps/app-lifeops/src/lifeops/service-normalize.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize.js +3 -3
- package/apps/app-lifeops/src/lifeops/service-types.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/service-types.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service.d.ts +92 -166
- package/apps/app-lifeops/src/lifeops/service.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service.js +2 -2
- package/apps/app-lifeops/src/lifeops/signal-auth.d.ts +7 -0
- package/apps/app-lifeops/src/lifeops/signal-auth.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/signal-auth.js +50 -6
- package/apps/app-lifeops/src/lifeops/signal-local-client.d.ts +7 -0
- package/apps/app-lifeops/src/lifeops/signal-local-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/signal-local-client.js +95 -4
- package/apps/app-lifeops/src/lifeops/sleep-cycle.d.ts +7 -1
- package/apps/app-lifeops/src/lifeops/sleep-cycle.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/sleep-cycle.js +16 -6
- package/apps/app-lifeops/src/lifeops/sleep-episode-store.d.ts +2 -1
- package/apps/app-lifeops/src/lifeops/sleep-episode-store.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/sleep-episode-store.js +7 -3
- package/apps/app-lifeops/src/lifeops/social-taxonomy.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/social-taxonomy.js +68 -16
- package/apps/app-lifeops/src/lifeops/subscriptions-playbooks.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/subscriptions-playbooks.js +24 -14
- package/apps/app-lifeops/src/lifeops/subscriptions-types.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/telegram-auth.d.ts +8 -1
- package/apps/app-lifeops/src/lifeops/telegram-auth.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/telegram-auth.js +44 -5
- package/apps/app-lifeops/src/lifeops/telegram-local-client.d.ts +1 -0
- package/apps/app-lifeops/src/lifeops/telegram-local-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/telegram-local-client.js +141 -7
- package/apps/app-lifeops/src/lifeops/twilio.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/twilio.js +3 -1
- package/apps/app-lifeops/src/lifeops/whatsapp-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/whatsapp-client.js +7 -4
- package/apps/app-lifeops/src/lifeops/x-poster.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/x-poster.js +3 -1
- package/apps/app-lifeops/src/lifeops/x-reader.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/x-reader.js +10 -3
- package/apps/app-lifeops/src/providers/website-blocker.js +2 -2
- package/apps/app-lifeops/src/public.d.ts +2 -2
- package/apps/app-lifeops/src/public.d.ts.map +1 -1
- package/apps/app-lifeops/src/public.js +2 -2
- package/apps/app-lifeops/src/routes/lifeops-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/lifeops-routes.js +327 -92
- package/apps/app-lifeops/src/routes/plugin.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/plugin.js +79 -50
- package/apps/app-lifeops/src/routes/sleep-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/access.d.ts +1 -1
- package/apps/app-lifeops/src/website-blocker/access.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/access.js +13 -9
- package/apps/app-lifeops/src/website-blocker/engine.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/engine.js +23 -2
- package/apps/app-lifeops/src/website-blocker/public.d.ts +4 -4
- package/apps/app-lifeops/src/website-blocker/public.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/public.js +2 -2
- package/apps/app-lifeops/src/website-blocker/roles.d.ts +2 -4
- package/apps/app-lifeops/src/website-blocker/roles.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/roles.js +1 -4
- package/apps/app-steward/src/actions/check-balance.d.ts.map +1 -1
- package/apps/app-steward/src/actions/wallet-action-shared.d.ts.map +1 -1
- package/apps/app-steward/src/actions/wallet-action-shared.js +1 -1
- package/apps/app-steward/src/api/wallet-evm-balance.d.ts.map +1 -1
- package/apps/app-steward/src/browser-workspace-wallet.d.ts +15 -1
- package/apps/app-steward/src/browser-workspace-wallet.d.ts.map +1 -1
- package/apps/app-steward/src/browser-workspace-wallet.js +7 -1
- package/apps/app-steward/src/index.d.ts +4 -4
- package/apps/app-steward/src/index.d.ts.map +1 -1
- package/apps/app-steward/src/index.js +4 -4
- package/apps/app-steward/src/routes/steward-bridge.d.ts.map +1 -1
- package/apps/app-steward/src/routes/steward-bridge.js +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 +88 -1
- package/apps/app-training/src/backends/atropos.d.ts.map +1 -1
- package/apps/app-training/src/backends/atropos.js +2 -2
- package/apps/app-training/src/backends/native.d.ts +1 -1
- package/apps/app-training/src/backends/native.d.ts.map +1 -1
- package/apps/app-training/src/backends/tinker.d.ts.map +1 -1
- package/apps/app-training/src/core/index.d.ts +5 -5
- package/apps/app-training/src/core/index.d.ts.map +1 -1
- package/apps/app-training/src/core/index.js +4 -4
- package/apps/app-training/src/core/privacy-filter.d.ts.map +1 -1
- package/apps/app-training/src/core/training-orchestrator.d.ts.map +1 -1
- package/apps/app-training/src/optimizers/bootstrap-fewshot.d.ts.map +1 -1
- package/apps/app-training/src/optimizers/bootstrap-fewshot.js +7 -3
- package/apps/app-training/src/optimizers/index.d.ts +4 -4
- package/apps/app-training/src/optimizers/index.d.ts.map +1 -1
- package/apps/app-training/src/optimizers/index.js +2 -2
- package/apps/app-training/src/optimizers/instruction-search.d.ts.map +1 -1
- package/apps/app-training/src/optimizers/instruction-search.js +6 -1
- package/apps/app-training/src/optimizers/prompt-evolution.d.ts.map +1 -1
- package/apps/app-training/src/optimizers/prompt-evolution.js +6 -1
- package/apps/app-training/src/optimizers/scoring.d.ts +5 -7
- package/apps/app-training/src/optimizers/scoring.d.ts.map +1 -1
- package/apps/app-training/src/optimizers/types.d.ts.map +1 -1
- package/apps/app-training/src/routes/index.d.ts +1 -1
- package/apps/app-training/src/routes/index.d.ts.map +1 -1
- package/apps/app-training/src/routes/index.js +1 -1
- package/apps/app-training/src/services/index.d.ts +3 -3
- package/apps/app-training/src/services/index.d.ts.map +1 -1
- package/apps/app-training/src/services/index.js +2 -2
- package/apps/app-training/src/services/training-trigger.d.ts.map +1 -1
- package/package.json +4 -4
- package/packages/agent/src/actions/browser-session.d.ts.map +1 -1
- package/packages/agent/src/actions/browser-session.js +73 -5
- package/packages/agent/src/actions/extract-page.d.ts.map +1 -1
- package/packages/agent/src/actions/extract-page.js +11 -3
- package/packages/agent/src/actions/launchpad-launch.d.ts +16 -0
- package/packages/agent/src/actions/launchpad-launch.d.ts.map +1 -0
- package/packages/agent/src/actions/launchpad-launch.js +207 -0
- package/packages/agent/src/actions/logs.d.ts.map +1 -1
- package/packages/agent/src/actions/logs.js +19 -2
- package/packages/agent/src/actions/manage-tasks.d.ts.map +1 -1
- package/packages/agent/src/actions/manage-tasks.js +55 -0
- package/packages/agent/src/actions/page-action-groups.d.ts +17 -0
- package/packages/agent/src/actions/page-action-groups.d.ts.map +1 -0
- package/packages/agent/src/actions/page-action-groups.js +171 -0
- package/packages/agent/src/actions/scratchpad.d.ts.map +1 -1
- package/packages/agent/src/actions/scratchpad.js +17 -2
- package/packages/agent/src/actions/web-search.d.ts.map +1 -1
- package/packages/agent/src/actions/web-search.js +10 -2
- package/packages/agent/src/api/accounts-routes.d.ts.map +1 -1
- package/packages/agent/src/api/accounts-routes.js +8 -10
- package/packages/agent/src/api/chat-augmentation.d.ts.map +1 -1
- package/packages/agent/src/api/chat-augmentation.js +18 -6
- package/packages/agent/src/api/cloud-relay-routes.d.ts.map +1 -1
- package/packages/agent/src/api/cloud-relay-routes.js +3 -2
- package/packages/agent/src/api/cloud-routes.d.ts +3 -0
- package/packages/agent/src/api/cloud-routes.d.ts.map +1 -1
- package/packages/agent/src/api/cloud-routes.js +54 -1
- package/packages/agent/src/api/cloud-status-routes.d.ts.map +1 -1
- package/packages/agent/src/api/cloud-status-routes.js +25 -15
- package/packages/agent/src/api/connector-routes.d.ts +8 -0
- package/packages/agent/src/api/connector-routes.d.ts.map +1 -1
- package/packages/agent/src/api/connector-routes.js +25 -1
- package/packages/agent/src/api/experience-routes.d.ts.map +1 -1
- package/packages/agent/src/api/experience-routes.js +57 -0
- package/packages/agent/src/api/index.d.ts +1 -1
- package/packages/agent/src/api/index.d.ts.map +1 -1
- package/packages/agent/src/api/index.js +5 -5
- package/packages/agent/src/api/provider-switch-config.d.ts +4 -1
- package/packages/agent/src/api/provider-switch-config.d.ts.map +1 -1
- package/packages/agent/src/api/provider-switch-config.js +8 -1
- package/packages/agent/src/api/provider-switch-routes.d.ts +7 -1
- package/packages/agent/src/api/provider-switch-routes.d.ts.map +1 -1
- package/packages/agent/src/api/provider-switch-routes.js +62 -27
- package/packages/agent/src/api/runtime-plugin-routes.d.ts +5 -0
- package/packages/agent/src/api/runtime-plugin-routes.d.ts.map +1 -1
- package/packages/agent/src/api/runtime-plugin-routes.js +13 -0
- package/packages/agent/src/api/server-helpers-auth.d.ts.map +1 -1
- package/packages/agent/src/api/server-helpers-auth.js +7 -0
- package/packages/agent/src/api/server.d.ts.map +1 -1
- package/packages/agent/src/api/server.js +73 -11
- package/packages/agent/src/api/subscription-routes.d.ts.map +1 -1
- package/packages/agent/src/api/subscription-routes.js +6 -2
- package/packages/agent/src/auth/credentials.d.ts.map +1 -1
- package/packages/agent/src/auth/credentials.js +6 -2
- package/packages/agent/src/autonomy/index.d.ts.map +1 -1
- package/packages/agent/src/autonomy/index.js +5 -3
- package/packages/agent/src/bin.js +25 -0
- package/packages/agent/src/cli/index.d.ts.map +1 -1
- package/packages/agent/src/cli/index.js +17 -1
- package/packages/agent/src/cloud/cloud-manager.d.ts +1 -0
- package/packages/agent/src/cloud/cloud-manager.d.ts.map +1 -1
- package/packages/agent/src/cloud/cloud-manager.js +9 -0
- package/packages/agent/src/providers/page-scoped-context.d.ts.map +1 -1
- package/packages/agent/src/providers/page-scoped-context.js +48 -8
- package/packages/agent/src/runtime/aosp-llama-adapter.d.ts +193 -0
- package/packages/agent/src/runtime/aosp-llama-adapter.d.ts.map +1 -0
- package/packages/agent/src/runtime/aosp-llama-adapter.js +938 -0
- package/packages/agent/src/runtime/aosp-local-inference-bootstrap.d.ts +42 -0
- package/packages/agent/src/runtime/aosp-local-inference-bootstrap.d.ts.map +1 -0
- package/packages/agent/src/runtime/aosp-local-inference-bootstrap.js +299 -0
- package/packages/agent/src/runtime/core-plugins.d.ts +20 -0
- package/packages/agent/src/runtime/core-plugins.d.ts.map +1 -1
- package/packages/agent/src/runtime/core-plugins.js +22 -2
- package/packages/agent/src/runtime/discord-local-plugin.d.ts.map +1 -1
- package/packages/agent/src/runtime/discord-local-plugin.js +36 -0
- package/packages/agent/src/runtime/eliza-plugin.d.ts.map +1 -1
- package/packages/agent/src/runtime/eliza-plugin.js +9 -0
- package/packages/agent/src/runtime/eliza.d.ts.map +1 -1
- package/packages/agent/src/runtime/eliza.js +18 -8
- package/packages/agent/src/runtime/first-time-setup.d.ts +1 -0
- package/packages/agent/src/runtime/first-time-setup.d.ts.map +1 -1
- package/packages/agent/src/runtime/first-time-setup.js +1 -0
- package/packages/agent/src/runtime/operations/classifier.d.ts +36 -0
- package/packages/agent/src/runtime/operations/classifier.d.ts.map +1 -0
- package/packages/agent/src/runtime/operations/classifier.js +72 -0
- package/packages/agent/src/runtime/operations/cold-strategy.d.ts +19 -0
- package/packages/agent/src/runtime/operations/cold-strategy.d.ts.map +1 -0
- package/packages/agent/src/runtime/operations/cold-strategy.js +83 -0
- package/packages/agent/src/runtime/operations/health-checks.d.ts +24 -0
- package/packages/agent/src/runtime/operations/health-checks.d.ts.map +1 -0
- package/packages/agent/src/runtime/operations/health-checks.js +186 -0
- package/packages/agent/src/runtime/operations/health.d.ts +32 -0
- package/packages/agent/src/runtime/operations/health.d.ts.map +1 -0
- package/packages/agent/src/runtime/operations/health.js +151 -0
- package/packages/agent/src/runtime/operations/index.d.ts +16 -0
- package/packages/agent/src/runtime/operations/index.d.ts.map +1 -0
- package/packages/agent/src/runtime/operations/index.js +14 -0
- package/packages/agent/src/runtime/operations/manager.d.ts +68 -0
- package/packages/agent/src/runtime/operations/manager.d.ts.map +1 -0
- package/packages/agent/src/runtime/operations/manager.js +182 -0
- package/packages/agent/src/runtime/operations/reload-hot.d.ts +40 -0
- package/packages/agent/src/runtime/operations/reload-hot.d.ts.map +1 -0
- package/packages/agent/src/runtime/operations/reload-hot.js +176 -0
- package/packages/agent/src/runtime/operations/repository.d.ts +44 -0
- package/packages/agent/src/runtime/operations/repository.d.ts.map +1 -0
- package/packages/agent/src/runtime/operations/repository.js +233 -0
- package/packages/agent/src/runtime/operations/types.d.ts +201 -0
- package/packages/agent/src/runtime/operations/types.d.ts.map +1 -0
- package/packages/agent/src/runtime/operations/types.js +30 -0
- package/packages/agent/src/runtime/plugin-collector.d.ts.map +1 -1
- package/packages/agent/src/runtime/plugin-collector.js +47 -7
- package/packages/agent/src/runtime/plugin-role-gating.d.ts.map +1 -1
- package/packages/agent/src/runtime/plugin-role-gating.js +42 -9
- package/packages/agent/src/runtime/restart.d.ts +14 -38
- package/packages/agent/src/runtime/restart.d.ts.map +1 -1
- package/packages/agent/src/runtime/restart.js +14 -39
- package/packages/agent/src/services/browser-workspace-desktop.d.ts.map +1 -1
- package/packages/agent/src/services/browser-workspace-desktop.js +107 -0
- package/packages/agent/src/services/browser-workspace-types.d.ts +7 -1
- package/packages/agent/src/services/browser-workspace-types.d.ts.map +1 -1
- package/packages/agent/src/services/browser-workspace.d.ts.map +1 -1
- package/packages/agent/src/services/browser-workspace.js +7 -0
- package/packages/agent/src/services/index.d.ts +1 -0
- package/packages/agent/src/services/index.d.ts.map +1 -1
- package/packages/agent/src/services/index.js +1 -0
- package/packages/agent/src/services/launchpads/image-generator.d.ts +22 -0
- package/packages/agent/src/services/launchpads/image-generator.d.ts.map +1 -0
- package/packages/agent/src/services/launchpads/image-generator.js +46 -0
- package/packages/agent/src/services/launchpads/launchpad-engine.d.ts +32 -0
- package/packages/agent/src/services/launchpads/launchpad-engine.d.ts.map +1 -0
- package/packages/agent/src/services/launchpads/launchpad-engine.js +191 -0
- package/packages/agent/src/services/launchpads/launchpad-types.d.ts +116 -0
- package/packages/agent/src/services/launchpads/launchpad-types.d.ts.map +1 -0
- package/packages/agent/src/services/launchpads/launchpad-types.js +19 -0
- package/packages/agent/src/services/launchpads/metadata-generator.d.ts +24 -0
- package/packages/agent/src/services/launchpads/metadata-generator.d.ts.map +1 -0
- package/packages/agent/src/services/launchpads/metadata-generator.js +96 -0
- package/packages/agent/src/services/launchpads/profiles/flap-sh.d.ts +25 -0
- package/packages/agent/src/services/launchpads/profiles/flap-sh.d.ts.map +1 -0
- package/packages/agent/src/services/launchpads/profiles/flap-sh.js +80 -0
- package/packages/agent/src/services/launchpads/profiles/four-meme.d.ts +11 -0
- package/packages/agent/src/services/launchpads/profiles/four-meme.d.ts.map +1 -0
- package/packages/agent/src/services/launchpads/profiles/four-meme.js +70 -0
- package/packages/agent/src/services/registry-client.js +1 -1
- package/packages/agent/src/services/research-task-executor.d.ts.map +1 -1
- package/packages/agent/src/services/research-task-executor.js +3 -1
- package/packages/app-core/src/App.d.ts.map +1 -1
- package/packages/app-core/src/App.js +6 -8
- package/packages/app-core/src/api/auth/sessions.js +1 -1
- package/packages/app-core/src/api/auth/tokens.d.ts +3 -0
- package/packages/app-core/src/api/auth/tokens.d.ts.map +1 -0
- package/packages/app-core/src/api/auth/tokens.js +13 -0
- package/packages/app-core/src/api/auth.d.ts +1 -3
- package/packages/app-core/src/api/auth.d.ts.map +1 -1
- package/packages/app-core/src/api/auth.js +2 -16
- package/packages/app-core/src/api/client-agent.d.ts +14 -3
- package/packages/app-core/src/api/client-agent.d.ts.map +1 -1
- package/packages/app-core/src/api/client-agent.js +74 -1
- package/packages/app-core/src/api/client-base.d.ts.map +1 -1
- package/packages/app-core/src/api/client-base.js +34 -2
- package/packages/app-core/src/api/client-cloud.d.ts +5 -1
- package/packages/app-core/src/api/client-cloud.d.ts.map +1 -1
- package/packages/app-core/src/api/client-cloud.js +9 -2
- package/packages/app-core/src/api/client-types-chat.d.ts +8 -0
- package/packages/app-core/src/api/client-types-chat.d.ts.map +1 -1
- package/packages/app-core/src/api/client-types-cloud.d.ts +2 -0
- package/packages/app-core/src/api/client-types-cloud.d.ts.map +1 -1
- package/packages/app-core/src/api/client-types-config.d.ts +1 -1
- package/packages/app-core/src/api/client-types-config.d.ts.map +1 -1
- package/packages/app-core/src/api/client-types-core.d.ts +1 -1
- package/packages/app-core/src/api/client-types-core.d.ts.map +1 -1
- package/packages/app-core/src/api/client-types-experience.d.ts +50 -0
- package/packages/app-core/src/api/client-types-experience.d.ts.map +1 -1
- package/packages/app-core/src/api/client-wallet.d.ts +7 -1
- package/packages/app-core/src/api/client-wallet.d.ts.map +1 -1
- package/packages/app-core/src/api/client-wallet.js +6 -0
- package/packages/app-core/src/components/accounts/AccountCard.d.ts.map +1 -1
- package/packages/app-core/src/components/accounts/AccountCard.js +5 -3
- package/packages/app-core/src/components/accounts/AccountList.d.ts.map +1 -1
- package/packages/app-core/src/components/accounts/AccountList.js +1 -9
- package/packages/app-core/src/components/accounts/AddAccountDialog.d.ts.map +1 -1
- package/packages/app-core/src/components/accounts/AddAccountDialog.js +2 -27
- package/packages/app-core/src/components/accounts/RotationStrategyPicker.d.ts.map +1 -1
- package/packages/app-core/src/components/accounts/RotationStrategyPicker.js +0 -5
- package/packages/app-core/src/components/apps/AppsCatalogGrid.js +1 -1
- package/packages/app-core/src/components/apps/app-identity.d.ts +8 -0
- package/packages/app-core/src/components/apps/app-identity.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/app-identity.js +23 -2
- package/packages/app-core/src/components/apps/catalog-loader.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/catalog-loader.js +10 -1
- package/packages/app-core/src/components/apps/helpers.d.ts +5 -2
- package/packages/app-core/src/components/apps/helpers.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/helpers.js +14 -3
- package/packages/app-core/src/components/apps/overlay-app-registry.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/overlay-app-registry.js +13 -2
- package/packages/app-core/src/components/character/CharacterExperienceWorkspace.d.ts.map +1 -1
- package/packages/app-core/src/components/character/CharacterExperienceWorkspace.js +220 -3
- 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 +4 -0
- package/packages/app-core/src/components/character/character-hub-types.d.ts +4 -0
- package/packages/app-core/src/components/character/character-hub-types.d.ts.map +1 -1
- package/packages/app-core/src/components/chat/AppsSection.d.ts.map +1 -1
- package/packages/app-core/src/components/chat/AppsSection.js +24 -1
- package/packages/app-core/src/components/chat/TasksEventsPanel.d.ts.map +1 -1
- package/packages/app-core/src/components/chat/TasksEventsPanel.js +1 -1
- package/packages/app-core/src/components/connectors/ConnectorModeSelector.d.ts +35 -0
- package/packages/app-core/src/components/connectors/ConnectorModeSelector.d.ts.map +1 -0
- package/packages/app-core/src/components/connectors/ConnectorModeSelector.js +150 -0
- package/packages/app-core/src/components/conversations/ConversationsSidebar.d.ts.map +1 -1
- package/packages/app-core/src/components/conversations/ConversationsSidebar.js +8 -6
- package/packages/app-core/src/components/custom-actions/custom-action-form.d.ts +1 -1
- package/packages/app-core/src/components/custom-actions/custom-action-form.d.ts.map +1 -1
- package/packages/app-core/src/components/custom-actions/custom-action-form.js +1 -1
- package/packages/app-core/src/components/local-inference/LocalInferencePanel.d.ts.map +1 -1
- package/packages/app-core/src/components/local-inference/LocalInferencePanel.js +1 -3
- package/packages/app-core/src/components/local-inference/ProvidersList.d.ts +0 -13
- package/packages/app-core/src/components/local-inference/ProvidersList.d.ts.map +1 -1
- package/packages/app-core/src/components/local-inference/ProvidersList.js +10 -21
- package/packages/app-core/src/components/local-inference/RoutingMatrix.d.ts +0 -11
- package/packages/app-core/src/components/local-inference/RoutingMatrix.d.ts.map +1 -1
- package/packages/app-core/src/components/local-inference/RoutingMatrix.js +21 -18
- package/packages/app-core/src/components/local-inference/SlotAssignments.d.ts.map +1 -1
- package/packages/app-core/src/components/local-inference/SlotAssignments.js +11 -11
- package/packages/app-core/src/components/onboarding/BootstrapStep.d.ts +5 -2
- package/packages/app-core/src/components/onboarding/BootstrapStep.d.ts.map +1 -1
- package/packages/app-core/src/components/onboarding/BootstrapStep.js +54 -6
- package/packages/app-core/src/components/pages/AppDetailsView.d.ts +4 -6
- package/packages/app-core/src/components/pages/AppDetailsView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/AppDetailsView.js +109 -54
- package/packages/app-core/src/components/pages/AppsView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/AppsView.js +33 -53
- package/packages/app-core/src/components/pages/AutomationsView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/AutomationsView.js +6 -22
- package/packages/app-core/src/components/pages/BrowserWorkspaceView.d.ts +14 -0
- package/packages/app-core/src/components/pages/BrowserWorkspaceView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/BrowserWorkspaceView.js +462 -45
- package/packages/app-core/src/components/pages/ChatView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/ChatView.js +1 -1
- package/packages/app-core/src/components/pages/ConfigPageView.js +2 -2
- package/packages/app-core/src/components/pages/InventoryView.js +4 -4
- package/packages/app-core/src/components/pages/KnowledgeView.js +1 -1
- package/packages/app-core/src/components/pages/LogsView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/LogsView.js +0 -4
- package/packages/app-core/src/components/pages/SecretsView.js +1 -1
- package/packages/app-core/src/components/pages/SettingsView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/SettingsView.js +76 -176
- package/packages/app-core/src/components/pages/WorkflowGraphViewer.js +1 -1
- package/packages/app-core/src/components/pages/page-scoped-conversations.d.ts +1 -1
- package/packages/app-core/src/components/pages/page-scoped-conversations.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/page-scoped-conversations.js +62 -7
- package/packages/app-core/src/components/pages/plugin-list-utils.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/plugin-list-utils.js +0 -1
- package/packages/app-core/src/components/pages/plugin-view-connectors.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/plugin-view-connectors.js +12 -4
- package/packages/app-core/src/components/pages/useBrowserWorkspaceWalletBridge.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/useBrowserWorkspaceWalletBridge.js +41 -0
- package/packages/app-core/src/components/settings/AppearanceSettingsSection.d.ts.map +1 -1
- package/packages/app-core/src/components/settings/AppearanceSettingsSection.js +3 -42
- package/packages/app-core/src/components/settings/ProviderSwitcher.d.ts.map +1 -1
- package/packages/app-core/src/components/settings/ProviderSwitcher.js +74 -39
- package/packages/app-core/src/components/settings/SubscriptionStatus.d.ts.map +1 -1
- package/packages/app-core/src/components/settings/SubscriptionStatus.js +2 -2
- package/packages/app-core/src/components/settings/permission-controls.d.ts.map +1 -1
- package/packages/app-core/src/components/settings/permission-controls.js +41 -7
- package/packages/app-core/src/components/shell/BugReportModal.js +2 -2
- package/packages/app-core/src/components/shell/CommandPalette.d.ts.map +1 -1
- package/packages/app-core/src/components/shell/CommandPalette.js +3 -3
- package/packages/app-core/src/components/shell/Header.js +2 -2
- package/packages/app-core/src/components/shell/RuntimeGate.d.ts.map +1 -1
- package/packages/app-core/src/components/shell/RuntimeGate.js +309 -57
- package/packages/app-core/src/components/shell/StartupShell.js +2 -2
- package/packages/app-core/src/components/workspace/AppWorkspaceChrome.js +2 -2
- package/packages/app-core/src/config/boot-config-store.d.ts +35 -6
- package/packages/app-core/src/config/boot-config-store.d.ts.map +1 -1
- package/packages/app-core/src/hooks/useAccounts.d.ts +1 -1
- package/packages/app-core/src/hooks/useAccounts.d.ts.map +1 -1
- package/packages/app-core/src/hooks/voice-chat-playback.d.ts.map +1 -1
- package/packages/app-core/src/hooks/voice-chat-playback.js +2 -2
- package/packages/app-core/src/i18n/locales/en.json +229 -210
- package/packages/app-core/src/i18n/locales/es.json +255 -236
- package/packages/app-core/src/i18n/locales/ko.json +255 -236
- package/packages/app-core/src/i18n/locales/pt.json +255 -236
- package/packages/app-core/src/i18n/locales/tl.json +254 -235
- package/packages/app-core/src/i18n/locales/vi.json +255 -236
- package/packages/app-core/src/i18n/locales/zh-CN.json +255 -236
- package/packages/app-core/src/onboarding/mobile-runtime-mode.d.ts +1 -1
- package/packages/app-core/src/onboarding/mobile-runtime-mode.d.ts.map +1 -1
- package/packages/app-core/src/onboarding/mobile-runtime-mode.js +3 -0
- package/packages/app-core/src/onboarding/probe-local-agent.d.ts +44 -0
- package/packages/app-core/src/onboarding/probe-local-agent.d.ts.map +1 -0
- package/packages/app-core/src/onboarding/probe-local-agent.js +126 -0
- package/packages/app-core/src/onboarding-config.d.ts +1 -0
- package/packages/app-core/src/onboarding-config.d.ts.map +1 -1
- package/packages/app-core/src/onboarding-config.js +3 -0
- package/packages/app-core/src/platform/init.d.ts +8 -0
- package/packages/app-core/src/platform/init.d.ts.map +1 -1
- package/packages/app-core/src/platform/init.js +10 -0
- package/packages/app-core/src/services/account-pool.d.ts +98 -0
- package/packages/app-core/src/services/account-pool.d.ts.map +1 -0
- package/packages/app-core/src/services/account-pool.js +506 -0
- package/packages/app-core/src/services/account-usage.d.ts +75 -0
- package/packages/app-core/src/services/account-usage.d.ts.map +1 -0
- package/packages/app-core/src/services/account-usage.js +179 -0
- package/packages/app-core/src/services/local-inference/active-model.d.ts +14 -0
- package/packages/app-core/src/services/local-inference/active-model.d.ts.map +1 -1
- package/packages/app-core/src/services/local-inference/device-bridge.d.ts +7 -0
- package/packages/app-core/src/services/local-inference/device-bridge.d.ts.map +1 -1
- package/packages/app-core/src/services/local-inference/device-bridge.js +108 -3
- package/packages/app-core/src/services/local-inference/paths.d.ts +9 -2
- package/packages/app-core/src/services/local-inference/paths.d.ts.map +1 -1
- package/packages/app-core/src/services/local-inference/paths.js +10 -3
- package/packages/app-core/src/services/local-inference/providers.d.ts +1 -1
- package/packages/app-core/src/services/local-inference/providers.d.ts.map +1 -1
- package/packages/app-core/src/services/local-inference/providers.js +46 -0
- package/packages/app-core/src/services/local-inference/routing-preferences.d.ts +3 -1
- package/packages/app-core/src/services/local-inference/routing-preferences.d.ts.map +1 -1
- package/packages/app-core/src/services/local-inference/routing-preferences.js +1 -0
- package/packages/app-core/src/services/local-inference/types.d.ts +1 -1
- package/packages/app-core/src/services/local-inference/types.d.ts.map +1 -1
- package/packages/app-core/src/shell/AppWindowRenderer.d.ts.map +1 -1
- package/packages/app-core/src/shell/AppWindowRenderer.js +14 -26
- package/packages/app-core/src/state/AppContext.d.ts +1 -1
- package/packages/app-core/src/state/AppContext.d.ts.map +1 -1
- package/packages/app-core/src/state/AppContext.js +1 -1
- package/packages/app-core/src/state/connector-deeplink.d.ts +30 -0
- package/packages/app-core/src/state/connector-deeplink.d.ts.map +1 -0
- package/packages/app-core/src/state/connector-deeplink.js +46 -0
- package/packages/app-core/src/state/index.d.ts +1 -0
- package/packages/app-core/src/state/index.d.ts.map +1 -1
- package/packages/app-core/src/state/index.js +1 -0
- package/packages/app-core/src/state/useCloudState.d.ts.map +1 -1
- package/packages/app-core/src/state/useCloudState.js +4 -1
- package/packages/app-core/src/state/useMiscUiState.js +1 -1
- package/packages/app-core/src/utils/asset-url.d.ts.map +1 -1
- package/packages/app-core/src/utils/asset-url.js +14 -1
- package/packages/app-core/src/utils/browser-tabs-renderer-registry.d.ts +56 -0
- package/packages/app-core/src/utils/browser-tabs-renderer-registry.d.ts.map +1 -0
- package/packages/app-core/src/utils/browser-tabs-renderer-registry.js +738 -0
- package/packages/app-core/src/utils/errors.d.ts +13 -0
- package/packages/app-core/src/utils/errors.d.ts.map +1 -0
- package/packages/app-core/src/utils/errors.js +25 -0
- package/packages/shared/src/connector-cred-types.d.ts +27 -0
- package/packages/shared/src/connector-cred-types.d.ts.map +1 -0
- package/packages/shared/src/connector-cred-types.js +63 -0
- package/packages/shared/src/contracts/apps.d.ts.map +1 -1
- package/packages/shared/src/contracts/apps.js +10 -0
- package/packages/shared/src/contracts/lifeops-extensions.d.ts +145 -0
- package/packages/shared/src/contracts/lifeops-extensions.d.ts.map +1 -1
- package/packages/shared/src/contracts/lifeops-extensions.js +6 -0
- package/packages/shared/src/contracts/lifeops.d.ts +265 -25
- package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
- package/packages/shared/src/contracts/lifeops.js +56 -0
- package/packages/shared/src/contracts/service-routing.d.ts +1 -0
- package/packages/shared/src/contracts/service-routing.d.ts.map +1 -1
- package/packages/shared/src/contracts/service-routing.js +3 -0
- package/packages/shared/src/index.d.ts +1 -0
- package/packages/shared/src/index.d.ts.map +1 -1
- package/packages/shared/src/index.js +1 -0
- package/packages/shared/src/runtime-env.d.ts +2 -0
- package/packages/shared/src/runtime-env.d.ts.map +1 -1
- package/packages/shared/src/runtime-env.js +20 -0
- package/packages/shared/src/spoken-text.js +2 -2
- package/packages/typescript/src/action-docs.d.ts +4 -0
- package/packages/typescript/src/action-docs.d.ts.map +1 -1
- package/packages/typescript/src/action-docs.js +29 -5
- package/packages/typescript/src/actions.d.ts.map +1 -1
- package/packages/typescript/src/actions.js +19 -3
- package/packages/typescript/src/features/advanced-capabilities/actions/removeContact.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/actions/removeContact.js +23 -4
- package/packages/typescript/src/features/advanced-capabilities/actions/scheduleFollowUp.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/actions/scheduleFollowUp.js +2 -0
- package/packages/typescript/src/features/advanced-capabilities/actions/searchContacts.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/actions/searchContacts.js +2 -0
- package/packages/typescript/src/features/advanced-capabilities/actions/updateContact.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/actions/updateContact.js +23 -3
- package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/read-attachment.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/read-attachment.js +9 -1
- package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/read-file.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/read-file.js +4 -0
- package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/save-attachment-to-clipboard.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/save-attachment-to-clipboard.js +8 -1
- package/packages/typescript/src/features/advanced-capabilities/clipboard/types.d.ts +1 -1
- package/packages/typescript/src/features/advanced-capabilities/clipboard/types.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/evaluators/factExtractor.js +2 -2
- 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 +1 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/actions/search-experiences.d.ts +3 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/actions/search-experiences.d.ts.map +1 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/actions/search-experiences.js +110 -0
- 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 +5 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/index.d.ts +1 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/index.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/index.js +1 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/providers/experienceProvider.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/providers/experienceProvider.js +16 -6
- package/packages/typescript/src/features/advanced-capabilities/experience/service.d.ts +21 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/service.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/service.js +391 -8
- package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts +44 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceFormatter.d.ts +24 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceFormatter.d.ts.map +1 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceFormatter.js +152 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts +1 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.js +53 -1
- package/packages/typescript/src/features/advanced-capabilities/index.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/index.js +4 -2
- package/packages/typescript/src/features/advanced-capabilities/personality/index.d.ts +1 -2
- package/packages/typescript/src/features/advanced-capabilities/personality/index.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/personality/index.js +1 -2
- package/packages/typescript/src/features/advanced-planning/actions/chain-example.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-planning/actions/chain-example.js +4 -7
- package/packages/typescript/src/features/basic-capabilities/actions/reply.d.ts.map +1 -1
- package/packages/typescript/src/features/basic-capabilities/actions/reply.js +1 -0
- package/packages/typescript/src/features/basic-capabilities/index.d.ts +1 -1
- package/packages/typescript/src/features/basic-capabilities/index.d.ts.map +1 -1
- package/packages/typescript/src/features/basic-capabilities/providers/actions.d.ts.map +1 -1
- package/packages/typescript/src/features/basic-capabilities/providers/actions.js +40 -2
- package/packages/typescript/src/features/index.js +1 -1
- package/packages/typescript/src/features/knowledge/actions.d.ts.map +1 -1
- package/packages/typescript/src/features/knowledge/actions.js +42 -16
- package/packages/typescript/src/features/plugin-manager/actions/coreStatusAction.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/actions/coreStatusAction.js +23 -5
- package/packages/typescript/src/features/plugin-manager/actions/listEjectedPluginsAction.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/actions/listEjectedPluginsAction.js +31 -6
- package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/core-status.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/create.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/create.js +21 -5
- package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/eject.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/eject.js +3 -1
- package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/install.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/actions/plugin.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/actions/plugin.js +4 -1
- package/packages/typescript/src/features/plugin-manager/actions/searchPluginAction.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/actions/searchPluginAction.js +44 -11
- package/packages/typescript/src/features/plugin-manager/index.d.ts +2 -2
- package/packages/typescript/src/features/plugin-manager/index.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/index.js +3 -3
- package/packages/typescript/src/features/plugin-manager/security.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/services/pluginManagerService.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/services/pluginManagerService.js +0 -1
- package/packages/typescript/src/features/plugin-manager/services/pluginRegistryService.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/services/pluginRegistryService.js +1 -2
- package/packages/typescript/src/features/secrets/actions/manage-secret.d.ts.map +1 -1
- package/packages/typescript/src/features/secrets/actions/manage-secret.js +13 -2
- package/packages/typescript/src/features/secrets/actions/request-secret.d.ts.map +1 -1
- package/packages/typescript/src/features/secrets/actions/request-secret.js +23 -5
- package/packages/typescript/src/features/secrets/actions/set-secret.d.ts.map +1 -1
- package/packages/typescript/src/features/secrets/actions/set-secret.js +22 -4
- package/packages/typescript/src/features/secrets/index.d.ts +22 -0
- package/packages/typescript/src/features/secrets/index.d.ts.map +1 -0
- package/packages/typescript/src/features/secrets/index.js +24 -0
- package/packages/typescript/src/features/secrets/onboarding/action.d.ts.map +1 -1
- package/packages/typescript/src/features/secrets/onboarding/action.js +1 -0
- package/packages/typescript/src/features/secrets/plugin.d.ts +70 -0
- package/packages/typescript/src/features/secrets/plugin.d.ts.map +1 -0
- package/packages/typescript/src/features/secrets/plugin.js +87 -0
- package/packages/typescript/src/features/secrets/services/index.d.ts +7 -0
- package/packages/typescript/src/features/secrets/services/index.d.ts.map +1 -0
- package/packages/typescript/src/features/secrets/services/index.js +5 -0
- package/packages/typescript/src/features/secrets/types.d.ts +1 -1
- package/packages/typescript/src/features/secrets/types.js +1 -1
- package/packages/typescript/src/features/trust/actions/evaluateTrust.d.ts.map +1 -1
- package/packages/typescript/src/features/trust/actions/evaluateTrust.js +5 -0
- package/packages/typescript/src/features/trust/actions/recordTrustInteraction.d.ts.map +1 -1
- package/packages/typescript/src/features/trust/actions/recordTrustInteraction.js +5 -0
- package/packages/typescript/src/features/trust/actions/requestElevation.d.ts.map +1 -1
- package/packages/typescript/src/features/trust/actions/requestElevation.js +5 -0
- package/packages/typescript/src/features/trust/actions/roles.d.ts.map +1 -1
- package/packages/typescript/src/features/trust/actions/roles.js +4 -0
- package/packages/typescript/src/features/trust/actions/settings.d.ts.map +1 -1
- package/packages/typescript/src/features/trust/actions/settings.js +17 -4
- package/packages/typescript/src/features/trust/index.js +4 -4
- package/packages/typescript/src/features/trust/providers/settings.js +1 -1
- package/packages/typescript/src/features/trust/services/SecurityStore.d.ts +1 -1
- package/packages/typescript/src/features/trust/services/SecurityStore.js +1 -1
- package/packages/typescript/src/features/trust/services/db.js +1 -1
- package/packages/typescript/src/generated/action-docs.d.ts +93 -15
- package/packages/typescript/src/generated/action-docs.d.ts.map +1 -1
- package/packages/typescript/src/generated/action-docs.js +93 -16
- package/packages/typescript/src/index.node.d.ts +3 -0
- package/packages/typescript/src/index.node.d.ts.map +1 -1
- package/packages/typescript/src/index.node.js +4 -0
- package/packages/typescript/src/lifeops-passive-connectors.d.ts +7 -0
- package/packages/typescript/src/lifeops-passive-connectors.d.ts.map +1 -0
- package/packages/typescript/src/lifeops-passive-connectors.js +39 -0
- package/packages/typescript/src/runtime.d.ts +1 -0
- package/packages/typescript/src/runtime.d.ts.map +1 -1
- package/packages/typescript/src/runtime.js +199 -9
- package/packages/typescript/src/services/message.d.ts +7 -0
- package/packages/typescript/src/services/message.d.ts.map +1 -1
- package/packages/typescript/src/services/message.js +222 -25
- package/packages/typescript/src/types/components.d.ts +5 -0
- package/packages/typescript/src/types/components.d.ts.map +1 -1
- package/packages/typescript/src/types/memory.d.ts +2 -1
- package/packages/typescript/src/types/memory.d.ts.map +1 -1
- package/packages/typescript/src/utils/context-catalog.d.ts.map +1 -1
- package/packages/typescript/src/utils/context-catalog.js +124 -14
- package/packages/typescript/src/utils/context-routing.d.ts.map +1 -1
- package/packages/typescript/src/utils/context-routing.js +42 -0
- package/packages/typescript/src/utils/prompt-compression.d.ts +6 -0
- package/packages/typescript/src/utils/prompt-compression.d.ts.map +1 -0
- package/packages/typescript/src/utils/prompt-compression.js +14 -0
- package/packages/typescript/src/utils.d.ts +1 -0
- package/packages/typescript/src/utils.d.ts.map +1 -1
- package/packages/typescript/src/utils.js +2 -1
- package/packages/ui/src/components/composites/chat/chat-composer-shell.js +1 -1
- package/packages/ui/src/components/composites/sidebar/sidebar-root.js +3 -3
- package/packages/ui/src/components/ui/dialog.js +1 -1
- package/packages/ui/src/components/ui/drawer-sheet.js +1 -1
- package/packages/ui/src/components/ui/themed-select.js +2 -2
- package/packages/ui/src/components/ui/tooltip-extended.js +1 -1
- package/packages/ui/src/components/ui/tooltip.js +1 -1
- package/packages/ui/src/layouts/page-layout/page-layout-mobile-drawer.js +1 -1
- package/packages/ui/src/layouts/workspace-layout/workspace-layout.js +2 -2
- package/plugins/plugin-browser-bridge/src/actions.d.ts +44 -0
- package/plugins/plugin-browser-bridge/src/actions.d.ts.map +1 -0
- package/plugins/plugin-browser-bridge/src/actions.js +234 -0
- package/plugins/plugin-browser-bridge/src/contracts.d.ts +272 -0
- package/plugins/plugin-browser-bridge/src/contracts.d.ts.map +1 -0
- package/plugins/plugin-browser-bridge/src/contracts.js +48 -0
- package/plugins/plugin-browser-bridge/src/index.d.ts +19 -0
- package/plugins/plugin-browser-bridge/src/index.d.ts.map +1 -0
- package/plugins/plugin-browser-bridge/src/index.js +18 -0
- package/plugins/plugin-browser-bridge/src/packaging.d.ts +27 -0
- package/plugins/plugin-browser-bridge/src/packaging.d.ts.map +1 -0
- package/plugins/plugin-browser-bridge/src/packaging.js +503 -0
- package/plugins/plugin-browser-bridge/src/plugin.d.ts +10 -0
- package/plugins/plugin-browser-bridge/src/plugin.d.ts.map +1 -0
- package/plugins/plugin-browser-bridge/src/plugin.js +140 -0
- package/plugins/plugin-browser-bridge/src/routes.d.ts +37 -0
- package/plugins/plugin-browser-bridge/src/routes.d.ts.map +1 -0
- package/plugins/plugin-browser-bridge/src/routes.js +496 -0
- package/plugins/plugin-browser-bridge/src/schema.d.ts +2250 -0
- package/plugins/plugin-browser-bridge/src/schema.d.ts.map +1 -0
- package/plugins/plugin-browser-bridge/src/schema.js +111 -0
- package/plugins/plugin-browser-bridge/src/service.d.ts +28 -0
- package/plugins/plugin-browser-bridge/src/service.d.ts.map +1 -0
- package/plugins/plugin-browser-bridge/src/service.js +1 -0
- package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts +0 -3
- package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/AppBlockerSettingsCard.js +0 -189
- package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts +0 -2
- package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.js +0 -1065
- package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts +0 -7
- package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.js +0 -71
- package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts +0 -14
- package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/DataSourcesStrip.js +0 -36
- package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts +0 -23
- package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/EventEditorDrawer.js +0 -514
- package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts +0 -2
- package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.js +0 -10
- package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts +0 -15
- package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsCalendarSection.js +0 -515
- package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts +0 -34
- package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsChatAdapter.js +0 -175
- package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts +0 -2
- package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.js +0 -99
- package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts +0 -37
- package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.js +0 -88
- package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts +0 -13
- package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsInboxSection.js +0 -491
- package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts +0 -12
- package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.js +0 -92
- package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts +0 -12
- package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.js +0 -160
- package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts +0 -3
- package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsMoneySection.js +0 -373
- package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts +0 -9
- package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsNavRail.js +0 -93
- package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts +0 -4
- package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.js +0 -274
- package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts +0 -7
- package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsOverviewSection.js +0 -670
- package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts +0 -42
- package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsPageSections.js +0 -166
- package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts +0 -2
- package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsPageView.js +0 -566
- package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts +0 -2
- package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsRemindersSection.js +0 -749
- package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts +0 -27
- package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.js +0 -106
- package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts +0 -2
- package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.js +0 -373
- package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts +0 -10
- package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsSectionContent.js +0 -30
- package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts +0 -21
- package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsSelectionContext.js +0 -30
- package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts +0 -20
- package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsSettingsSection.js +0 -598
- package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts +0 -13
- package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsSetupGate.js +0 -134
- package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts +0 -10
- package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsSleepSection.js +0 -425
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts +0 -11
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.js +0 -49
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts +0 -2
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.js +0 -1041
- package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts +0 -7
- package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/MessagingConnectorCards.js +0 -643
- package/apps/app-lifeops/src/components/MissingSourceCard.d.ts +0 -9
- package/apps/app-lifeops/src/components/MissingSourceCard.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/MissingSourceCard.js +0 -5
- package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts +0 -2
- package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/MobileSignalsSetupCard.js +0 -163
- package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts +0 -8
- package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/SleepInspectionPanel.js +0 -59
- package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts +0 -3
- package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.js +0 -75
- package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts +0 -8
- package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/WhatsAppQrOverlay.js +0 -48
- package/apps/app-lifeops/src/components/lifeops-labels.d.ts +0 -2
- package/apps/app-lifeops/src/components/lifeops-labels.d.ts.map +0 -1
- package/apps/app-lifeops/src/components/lifeops-labels.js +0 -5
- package/apps/app-lifeops/src/events/index.d.ts +0 -34
- package/apps/app-lifeops/src/events/index.d.ts.map +0 -1
- package/apps/app-lifeops/src/events/index.js +0 -23
- package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts +0 -28
- package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useCalendarWeek.js +0 -93
- package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts +0 -14
- package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useDiscordConnector.js +0 -126
- package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts +0 -29
- package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.js +0 -481
- package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts +0 -10
- package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useIMessageConnector.js +0 -50
- package/apps/app-lifeops/src/hooks/useInbox.d.ts +0 -34
- package/apps/app-lifeops/src/hooks/useInbox.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useInbox.js +0 -98
- package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts +0 -2
- package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.js +0 -383
- package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts +0 -9
- package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useLifeOpsAppState.js +0 -83
- package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts +0 -8
- package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.js +0 -60
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts +0 -18
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.js +0 -66
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts +0 -14
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.js +0 -79
- package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts +0 -18
- package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useLifeOpsSection.js +0 -78
- package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts +0 -14
- package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.js +0 -160
- package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts +0 -16
- package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useSignalConnector.js +0 -198
- package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts +0 -21
- package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useTelegramConnector.js +0 -177
- package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts +0 -8
- package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useWhatsAppConnector.js +0 -58
- package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts +0 -12
- package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts.map +0 -1
- package/apps/app-lifeops/src/hooks/useWhatsAppPairing.js +0 -159
- package/apps/app-lifeops/src/lifeops-route.d.ts +0 -74
- package/apps/app-lifeops/src/lifeops-route.d.ts.map +0 -1
- package/apps/app-lifeops/src/lifeops-route.js +0 -204
- package/apps/app-lifeops/src/platform/lifeops-github.d.ts +0 -15
- package/apps/app-lifeops/src/platform/lifeops-github.d.ts.map +0 -1
- package/apps/app-lifeops/src/platform/lifeops-github.js +0 -135
- package/apps/app-lifeops/src/types/app-blocker-settings-card.d.ts +0 -2
- package/apps/app-lifeops/src/types/app-blocker-settings-card.d.ts.map +0 -1
- package/apps/app-lifeops/src/types/app-blocker-settings-card.js +0 -1
- package/apps/app-lifeops/src/types/index.d.ts +0 -3
- package/apps/app-lifeops/src/types/index.d.ts.map +0 -1
- package/apps/app-lifeops/src/types/index.js +0 -1
- package/apps/app-lifeops/src/types/website-blocker-settings-card.d.ts +0 -2
- package/apps/app-lifeops/src/types/website-blocker-settings-card.d.ts.map +0 -1
- package/apps/app-lifeops/src/types/website-blocker-settings-card.js +0 -1
- package/apps/app-lifeops/src/ui.d.ts +0 -11
- package/apps/app-lifeops/src/ui.d.ts.map +0 -1
- package/apps/app-lifeops/src/ui.js +0 -9
- package/apps/app-lifeops/src/utils/lifeops-url.d.ts +0 -5
- package/apps/app-lifeops/src/utils/lifeops-url.d.ts.map +0 -1
- package/apps/app-lifeops/src/utils/lifeops-url.js +0 -35
- package/packages/native-plugins/mobile-signals/src/definitions.d.ts +0 -162
- package/packages/native-plugins/mobile-signals/src/definitions.d.ts.map +0 -1
- package/packages/native-plugins/mobile-signals/src/definitions.js +0 -1
- package/packages/native-plugins/mobile-signals/src/index.d.ts +0 -4
- package/packages/native-plugins/mobile-signals/src/index.d.ts.map +0 -1
- package/packages/native-plugins/mobile-signals/src/index.js +0 -6
- package/packages/native-plugins/mobile-signals/src/web.d.ts +0 -29
- package/packages/native-plugins/mobile-signals/src/web.d.ts.map +0 -1
- package/packages/native-plugins/mobile-signals/src/web.js +0 -269
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* LifeOpsSetupGate — first-run setup panel.
|
|
4
|
-
*
|
|
5
|
-
* Replaces Dashboard content only (nav + other sections remain visible).
|
|
6
|
-
* Dismissed permanently when: profile has name+timezone AND at least one of
|
|
7
|
-
* {calendar provider, messaging provider, or explicit skip}.
|
|
8
|
-
*
|
|
9
|
-
* Dismiss flag is persisted via localStorage under
|
|
10
|
-
* LIFEOPS_SETUP_GATE_DISMISSED_KEY.
|
|
11
|
-
*/
|
|
12
|
-
import { Button, Input, isCloudStatusAuthenticated, useApp, } from "@elizaos/app-core";
|
|
13
|
-
import { CalendarDays, MessageCircle, SkipForward } from "lucide-react";
|
|
14
|
-
import { useCallback, useState } from "react";
|
|
15
|
-
import { useGoogleLifeOpsConnector } from "../hooks/useGoogleLifeOpsConnector.js";
|
|
16
|
-
import { useLifeOpsXConnector } from "../hooks/useLifeOpsXConnector.js";
|
|
17
|
-
export const LIFEOPS_SETUP_GATE_DISMISSED_KEY = "eliza:lifeops-setup-gate-dismissed";
|
|
18
|
-
function loadDismissed() {
|
|
19
|
-
try {
|
|
20
|
-
return localStorage.getItem(LIFEOPS_SETUP_GATE_DISMISSED_KEY) === "1";
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
function saveDismissed() {
|
|
27
|
-
try {
|
|
28
|
-
localStorage.setItem(LIFEOPS_SETUP_GATE_DISMISSED_KEY, "1");
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
// ignore
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
export function clearLifeOpsSetupGateDismissed() {
|
|
35
|
-
try {
|
|
36
|
-
localStorage.removeItem(LIFEOPS_SETUP_GATE_DISMISSED_KEY);
|
|
37
|
-
}
|
|
38
|
-
catch {
|
|
39
|
-
// ignore
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
export function useLifeOpsSetupGate() {
|
|
43
|
-
const [dismissed, setDismissed] = useState(loadDismissed);
|
|
44
|
-
const dismiss = useCallback(() => {
|
|
45
|
-
saveDismissed();
|
|
46
|
-
setDismissed(true);
|
|
47
|
-
}, []);
|
|
48
|
-
const reset = useCallback(() => {
|
|
49
|
-
clearLifeOpsSetupGateDismissed();
|
|
50
|
-
setDismissed(false);
|
|
51
|
-
}, []);
|
|
52
|
-
return { dismissed, dismiss, reset };
|
|
53
|
-
}
|
|
54
|
-
export function LifeOpsSetupGate({ onDismiss }) {
|
|
55
|
-
const { elizaCloudConnected, elizaCloudLoginBusy, elizaCloudStatusReason, handleCloudLogin, t, } = useApp();
|
|
56
|
-
const ownerConnector = useGoogleLifeOpsConnector({
|
|
57
|
-
includeAccounts: false,
|
|
58
|
-
side: "owner",
|
|
59
|
-
});
|
|
60
|
-
const xConnector = useLifeOpsXConnector();
|
|
61
|
-
const [name, setName] = useState("");
|
|
62
|
-
const [timezone, setTimezone] = useState(() => Intl.DateTimeFormat().resolvedOptions().timeZone ?? "");
|
|
63
|
-
const [skipped, setSkipped] = useState(false);
|
|
64
|
-
const calendarConnected = ownerConnector.status?.connected === true;
|
|
65
|
-
const xConnected = xConnector.status?.connected === true;
|
|
66
|
-
const cloudAuthenticated = isCloudStatusAuthenticated(elizaCloudConnected, elizaCloudStatusReason);
|
|
67
|
-
const canContinue = name.trim().length > 0 &&
|
|
68
|
-
timezone.trim().length > 0 &&
|
|
69
|
-
(calendarConnected || xConnected || skipped);
|
|
70
|
-
const handleConnectCalendar = useCallback(() => {
|
|
71
|
-
void ownerConnector.connect();
|
|
72
|
-
}, [ownerConnector]);
|
|
73
|
-
const handleConnectX = useCallback(() => {
|
|
74
|
-
if (!cloudAuthenticated) {
|
|
75
|
-
void handleCloudLogin();
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
void xConnector.connect("cloud_managed");
|
|
79
|
-
}, [cloudAuthenticated, handleCloudLogin, xConnector]);
|
|
80
|
-
const handleSkip = useCallback(() => {
|
|
81
|
-
setSkipped(true);
|
|
82
|
-
}, []);
|
|
83
|
-
return (_jsxs("div", { className: "space-y-6 px-1 py-2", "data-testid": "lifeops-setup-gate", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("h2", { className: "text-base font-semibold text-txt", children: t("lifeopssetup.title", {
|
|
84
|
-
defaultValue: "Set up LifeOps",
|
|
85
|
-
}) }), _jsx("p", { className: "text-sm leading-relaxed text-muted", children: t("lifeopssetup.description", {
|
|
86
|
-
defaultValue: "Tell the agent a bit about you, then connect your calendar or a messaging account to get started.",
|
|
87
|
-
}) })] }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { htmlFor: "lifeops-setup-name", className: "text-xs font-medium text-muted", children: t("lifeopssetup.yourName", {
|
|
88
|
-
defaultValue: "Your name",
|
|
89
|
-
}) }), _jsx(Input, { id: "lifeops-setup-name", placeholder: t("lifeopssetup.namePlaceholder", {
|
|
90
|
-
defaultValue: "e.g. Alex",
|
|
91
|
-
}), value: name, onChange: (e) => setName(e.target.value), className: "h-9 rounded-xl text-sm" })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { htmlFor: "lifeops-setup-timezone", className: "text-xs font-medium text-muted", children: t("lifeopssetup.timezone", {
|
|
92
|
-
defaultValue: "Timezone",
|
|
93
|
-
}) }), _jsx(Input, { id: "lifeops-setup-timezone", placeholder: "America/New_York", value: timezone, onChange: (e) => setTimezone(e.target.value), className: "h-9 rounded-xl text-sm" })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "text-xs font-medium text-muted", children: t("lifeopssetup.connectProvider", {
|
|
94
|
-
defaultValue: "Connect a provider (or skip for now)",
|
|
95
|
-
}) }), _jsxs("div", { className: "grid gap-3 sm:grid-cols-2", children: [_jsxs("button", { type: "button", onClick: handleConnectCalendar, disabled: ownerConnector.actionPending, className: [
|
|
96
|
-
"flex items-start gap-3 rounded-2xl border px-4 py-3 text-left transition-colors",
|
|
97
|
-
calendarConnected
|
|
98
|
-
? "border-ok/40 bg-ok/8 text-txt"
|
|
99
|
-
: "border-border/16 bg-card/18 hover:bg-card/30 text-txt",
|
|
100
|
-
].join(" "), children: [_jsx(CalendarDays, { className: "mt-0.5 h-4 w-4 shrink-0 text-muted" }), _jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium", children: t("lifeopssetup.calendarTitle", {
|
|
101
|
-
defaultValue: "Google Calendar",
|
|
102
|
-
}) }), _jsx("div", { className: "text-xs text-muted", children: calendarConnected
|
|
103
|
-
? t("lifeopssetup.connected", {
|
|
104
|
-
defaultValue: "Connected",
|
|
105
|
-
})
|
|
106
|
-
: t("lifeopssetup.calendarHint", {
|
|
107
|
-
defaultValue: "Read events, manage your schedule",
|
|
108
|
-
}) })] })] }), _jsxs("button", { type: "button", onClick: handleConnectX, disabled: xConnector.actionPending || elizaCloudLoginBusy, className: [
|
|
109
|
-
"flex items-start gap-3 rounded-2xl border px-4 py-3 text-left transition-colors",
|
|
110
|
-
xConnected
|
|
111
|
-
? "border-ok/40 bg-ok/8 text-txt"
|
|
112
|
-
: "border-border/16 bg-card/18 hover:bg-card/30 text-txt",
|
|
113
|
-
].join(" "), children: [_jsx(MessageCircle, { className: "mt-0.5 h-4 w-4 shrink-0 text-muted" }), _jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium", children: t("lifeopssetup.messagingTitle", {
|
|
114
|
-
defaultValue: "X DMs",
|
|
115
|
-
}) }), _jsx("div", { className: "text-xs text-muted", children: xConnected
|
|
116
|
-
? t("lifeopssetup.connected", {
|
|
117
|
-
defaultValue: "Connected",
|
|
118
|
-
})
|
|
119
|
-
: !elizaCloudConnected
|
|
120
|
-
? t("lifeopssetup.cloudRequired", {
|
|
121
|
-
defaultValue: "Connect Eliza Cloud first",
|
|
122
|
-
})
|
|
123
|
-
: t("lifeopssetup.messagingHint", {
|
|
124
|
-
defaultValue: "Read and reply to incoming DMs",
|
|
125
|
-
}) })] })] })] }), xConnector.pendingAuthUrl ? (_jsx("a", { href: xConnector.pendingAuthUrl, target: "_blank", rel: "noreferrer", className: "text-xs text-accent hover:underline", children: t("lifeopssetup.openXAuth", {
|
|
126
|
-
defaultValue: "Open X authorization",
|
|
127
|
-
}) })) : null, !calendarConnected && !xConnected && !skipped ? (_jsxs("button", { type: "button", onClick: handleSkip, className: "flex items-center gap-1.5 text-xs text-muted hover:text-txt", children: [_jsx(SkipForward, { className: "h-3.5 w-3.5" }), t("lifeopssetup.skipProviders", {
|
|
128
|
-
defaultValue: "Skip for now",
|
|
129
|
-
})] })) : null] })] }), _jsxs("div", { className: "flex items-center gap-3 pt-1", children: [_jsx(Button, { size: "sm", disabled: !canContinue, onClick: onDismiss, className: "rounded-full px-5 py-2 text-xs-tight font-semibold", children: t("lifeopssetup.continue", {
|
|
130
|
-
defaultValue: "Continue",
|
|
131
|
-
}) }), !canContinue && (_jsx("span", { className: "text-xs text-muted", children: t("lifeopssetup.continueHint", {
|
|
132
|
-
defaultValue: "Fill in your name and timezone to continue.",
|
|
133
|
-
}) }))] })] }));
|
|
134
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Format a numeric local hour in [0..36) into a 12h time string.
|
|
3
|
-
* Hours >=24 wrap to the next day. Examples:
|
|
4
|
-
* 23.5 -> "11:30 PM"
|
|
5
|
-
* 7.25 -> "7:15 AM"
|
|
6
|
-
* 24.5 -> "12:30 AM"
|
|
7
|
-
*/
|
|
8
|
-
export declare function formatLocalHour(h: number): string;
|
|
9
|
-
export declare function LifeOpsSleepSection(): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
//# sourceMappingURL=LifeOpsSleepSection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LifeOpsSleepSection.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/components/LifeOpsSleepSection.tsx"],"names":[],"mappings":"AA2EA;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAYjD;AA2qBD,wBAAgB,mBAAmB,4CA4MlC"}
|
|
@@ -1,425 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { client } from "@elizaos/app-core";
|
|
3
|
-
import { Activity, AlarmClock, Heart, Loader2, Moon, RefreshCw, Sunrise, } from "lucide-react";
|
|
4
|
-
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
5
|
-
import { formatClockTime, formatDurationSeconds, HabitPanel, MetricTile, } from "./LifeOpsHabitVisuals.js";
|
|
6
|
-
const HISTORY_WINDOWS = [30, 90, 365];
|
|
7
|
-
const DEFAULT_WINDOW = 365;
|
|
8
|
-
function sleepStatusLabel(schedule) {
|
|
9
|
-
if (!schedule)
|
|
10
|
-
return "No signal";
|
|
11
|
-
switch (schedule.sleepStatus) {
|
|
12
|
-
case "sleeping_now":
|
|
13
|
-
return "Sleeping";
|
|
14
|
-
case "slept":
|
|
15
|
-
return "Slept";
|
|
16
|
-
case "likely_missed":
|
|
17
|
-
return "Likely missed";
|
|
18
|
-
case "unknown":
|
|
19
|
-
return "Unknown";
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
function minutesFromDayStart(iso) {
|
|
23
|
-
if (!iso)
|
|
24
|
-
return null;
|
|
25
|
-
const date = new Date(iso);
|
|
26
|
-
const parsed = date.getTime();
|
|
27
|
-
if (!Number.isFinite(parsed))
|
|
28
|
-
return null;
|
|
29
|
-
return date.getHours() * 60 + date.getMinutes();
|
|
30
|
-
}
|
|
31
|
-
function markerStyle(iso) {
|
|
32
|
-
const minutes = minutesFromDayStart(iso);
|
|
33
|
-
if (minutes === null)
|
|
34
|
-
return undefined;
|
|
35
|
-
return { left: `${Math.min(100, Math.max(0, (minutes / 1440) * 100))}%` };
|
|
36
|
-
}
|
|
37
|
-
function sleepDurationSeconds(schedule) {
|
|
38
|
-
if (typeof schedule?.lastSleepDurationMinutes !== "number") {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
return Math.max(0, schedule.lastSleepDurationMinutes * 60);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Format a numeric local hour in [0..36) into a 12h time string.
|
|
45
|
-
* Hours >=24 wrap to the next day. Examples:
|
|
46
|
-
* 23.5 -> "11:30 PM"
|
|
47
|
-
* 7.25 -> "7:15 AM"
|
|
48
|
-
* 24.5 -> "12:30 AM"
|
|
49
|
-
*/
|
|
50
|
-
export function formatLocalHour(h) {
|
|
51
|
-
if (!Number.isFinite(h))
|
|
52
|
-
return "—";
|
|
53
|
-
const wrapped = ((h % 24) + 24) % 24;
|
|
54
|
-
const hourFloat = wrapped;
|
|
55
|
-
const hour = Math.floor(hourFloat);
|
|
56
|
-
const minute = Math.round((hourFloat - hour) * 60);
|
|
57
|
-
const minuteWrap = minute === 60 ? 0 : minute;
|
|
58
|
-
const hourWrap = minute === 60 ? (hour + 1) % 24 : hour;
|
|
59
|
-
const period = hourWrap >= 12 ? "PM" : "AM";
|
|
60
|
-
const displayHour = hourWrap % 12 === 0 ? 12 : hourWrap % 12;
|
|
61
|
-
const minuteStr = String(minuteWrap).padStart(2, "0");
|
|
62
|
-
return `${displayHour}:${minuteStr} ${period}`;
|
|
63
|
-
}
|
|
64
|
-
function formatDurationMinutes(minutes) {
|
|
65
|
-
if (typeof minutes !== "number" || !Number.isFinite(minutes))
|
|
66
|
-
return "—";
|
|
67
|
-
return formatDurationSeconds(minutes * 60) || "—";
|
|
68
|
-
}
|
|
69
|
-
function historyWindowLabel(days) {
|
|
70
|
-
return days === 365 ? "All year" : `${days} days`;
|
|
71
|
-
}
|
|
72
|
-
function formatStddev(stddevMin) {
|
|
73
|
-
if (typeof stddevMin !== "number" || !Number.isFinite(stddevMin))
|
|
74
|
-
return "";
|
|
75
|
-
return `±${Math.round(stddevMin)} min`;
|
|
76
|
-
}
|
|
77
|
-
function formatEpisodeDateLabel(iso) {
|
|
78
|
-
const ts = Date.parse(iso);
|
|
79
|
-
if (!Number.isFinite(ts))
|
|
80
|
-
return "—";
|
|
81
|
-
return new Intl.DateTimeFormat(undefined, {
|
|
82
|
-
weekday: "short",
|
|
83
|
-
month: "short",
|
|
84
|
-
day: "numeric",
|
|
85
|
-
}).format(new Date(ts));
|
|
86
|
-
}
|
|
87
|
-
function cycleTypeLabel(type) {
|
|
88
|
-
switch (type) {
|
|
89
|
-
case "overnight":
|
|
90
|
-
return "Overnight";
|
|
91
|
-
case "nap":
|
|
92
|
-
return "Nap";
|
|
93
|
-
case "unknown":
|
|
94
|
-
return "Unknown";
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
function cycleTypeBadgeClass(type) {
|
|
98
|
-
switch (type) {
|
|
99
|
-
case "overnight":
|
|
100
|
-
return "border-indigo-500/30 bg-indigo-500/10 text-indigo-200";
|
|
101
|
-
case "nap":
|
|
102
|
-
return "border-amber-400/30 bg-amber-400/10 text-amber-200";
|
|
103
|
-
case "unknown":
|
|
104
|
-
return "border-border/20 bg-bg/30 text-muted";
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
function sourceMeta(source) {
|
|
108
|
-
switch (source) {
|
|
109
|
-
case "health":
|
|
110
|
-
return { label: "Health sensor", short: "Sensor", icon: Heart };
|
|
111
|
-
case "activity_gap":
|
|
112
|
-
return {
|
|
113
|
-
label: "Inferred from activity gap",
|
|
114
|
-
short: "Inferred",
|
|
115
|
-
icon: Activity,
|
|
116
|
-
};
|
|
117
|
-
case "manual":
|
|
118
|
-
return { label: "Manual entry", short: "Manual", icon: AlarmClock };
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
function confidenceTier(value) {
|
|
122
|
-
if (value >= 0.8)
|
|
123
|
-
return "high";
|
|
124
|
-
if (value >= 0.6)
|
|
125
|
-
return "med";
|
|
126
|
-
return "low";
|
|
127
|
-
}
|
|
128
|
-
function confidenceDotClass(tier) {
|
|
129
|
-
switch (tier) {
|
|
130
|
-
case "high":
|
|
131
|
-
return "bg-emerald-400";
|
|
132
|
-
case "med":
|
|
133
|
-
return "bg-amber-300";
|
|
134
|
-
case "low":
|
|
135
|
-
return "bg-rose-400";
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
function confidenceLabel(tier, value) {
|
|
139
|
-
const pct = Math.round(value * 100);
|
|
140
|
-
switch (tier) {
|
|
141
|
-
case "high":
|
|
142
|
-
return `High confidence (${pct}%)`;
|
|
143
|
-
case "med":
|
|
144
|
-
return `Medium confidence (${pct}%)`;
|
|
145
|
-
case "low":
|
|
146
|
-
return `Low confidence (${pct}%)`;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
function classificationLabel(c) {
|
|
150
|
-
switch (c) {
|
|
151
|
-
case "very_regular":
|
|
152
|
-
return "Very regular";
|
|
153
|
-
case "regular":
|
|
154
|
-
return "Regular";
|
|
155
|
-
case "irregular":
|
|
156
|
-
return "Irregular";
|
|
157
|
-
case "very_irregular":
|
|
158
|
-
return "Very irregular";
|
|
159
|
-
case "insufficient_data":
|
|
160
|
-
return "Not enough data yet";
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
function regularityTone(c) {
|
|
164
|
-
switch (c) {
|
|
165
|
-
case "very_regular":
|
|
166
|
-
return {
|
|
167
|
-
ring: "ring-emerald-400/40",
|
|
168
|
-
text: "text-emerald-300",
|
|
169
|
-
bg: "bg-emerald-500/10",
|
|
170
|
-
};
|
|
171
|
-
case "regular":
|
|
172
|
-
return {
|
|
173
|
-
ring: "ring-green-400/40",
|
|
174
|
-
text: "text-green-300",
|
|
175
|
-
bg: "bg-green-500/10",
|
|
176
|
-
};
|
|
177
|
-
case "irregular":
|
|
178
|
-
return {
|
|
179
|
-
ring: "ring-amber-400/40",
|
|
180
|
-
text: "text-amber-300",
|
|
181
|
-
bg: "bg-amber-500/10",
|
|
182
|
-
};
|
|
183
|
-
case "very_irregular":
|
|
184
|
-
return {
|
|
185
|
-
ring: "ring-rose-400/40",
|
|
186
|
-
text: "text-rose-300",
|
|
187
|
-
bg: "bg-rose-500/10",
|
|
188
|
-
};
|
|
189
|
-
case "insufficient_data":
|
|
190
|
-
return {
|
|
191
|
-
ring: "ring-border/30",
|
|
192
|
-
text: "text-muted",
|
|
193
|
-
bg: "bg-bg/30",
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
function TabButton({ active, label, onClick, }) {
|
|
198
|
-
return (_jsx("button", { type: "button", role: "tab", "aria-selected": active, onClick: onClick, className: [
|
|
199
|
-
"rounded-md px-3 py-1.5 text-xs font-medium transition-colors",
|
|
200
|
-
active
|
|
201
|
-
? "bg-accent/20 text-txt"
|
|
202
|
-
: "text-muted hover:bg-bg/30 hover:text-txt",
|
|
203
|
-
].join(" "), children: label }));
|
|
204
|
-
}
|
|
205
|
-
function NapToggle({ value, onChange, }) {
|
|
206
|
-
return (_jsxs("label", { className: "inline-flex items-center gap-2 text-xs text-muted", children: [_jsx("span", { children: "Show naps" }), _jsx("button", { type: "button", role: "switch", "aria-checked": value, onClick: () => onChange(!value), className: [
|
|
207
|
-
"relative inline-flex h-5 w-9 shrink-0 items-center rounded-full transition-colors",
|
|
208
|
-
value ? "bg-accent/60" : "bg-border/30",
|
|
209
|
-
].join(" "), children: _jsx("span", { className: [
|
|
210
|
-
"inline-block h-4 w-4 transform rounded-full bg-white transition-transform",
|
|
211
|
-
value ? "translate-x-4" : "translate-x-0.5",
|
|
212
|
-
].join(" ") }) })] }));
|
|
213
|
-
}
|
|
214
|
-
function TonightTab({ schedule }) {
|
|
215
|
-
const durationSeconds = sleepDurationSeconds(schedule);
|
|
216
|
-
const bedtime = schedule?.relativeTime.bedtimeTargetAt ?? null;
|
|
217
|
-
const wake = schedule?.wakeAt ?? schedule?.relativeTime.wakeAnchorAt ?? null;
|
|
218
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "grid gap-3 sm:grid-cols-2 xl:grid-cols-4", children: [_jsx(MetricTile, { icon: _jsx(Moon, {}), value: sleepStatusLabel(schedule), label: "Now" }), _jsx(MetricTile, { icon: _jsx(Moon, {}), value: formatDurationSeconds(durationSeconds) || "-", label: "Last Sleep" }), _jsx(MetricTile, { icon: _jsx(AlarmClock, {}), value: formatClockTime(bedtime) || "-", label: "Bed" }), _jsx(MetricTile, { icon: _jsx(Sunrise, {}), value: formatClockTime(wake) || "-", label: "Wake" })] }), _jsx(HabitPanel, { title: "Cycle", icon: _jsx(Moon, {}), children: _jsxs("div", { className: "relative h-24 rounded-lg border border-border/12 bg-bg/24 p-4", children: [_jsx("div", { className: "absolute left-4 right-4 top-1/2 h-2 -translate-y-1/2 rounded-full bg-gradient-to-r from-indigo-500/70 via-blue-400/50 to-amber-300/70" }), markerStyle(bedtime) ? (_jsx("div", { className: "absolute top-5 h-14 w-px bg-blue-300", style: markerStyle(bedtime), title: "Bed" })) : null, markerStyle(wake) ? (_jsx("div", { className: "absolute top-5 h-14 w-px bg-amber-300", style: markerStyle(wake), title: "Wake" })) : null, _jsx("div", { className: "absolute bottom-3 left-4 text-[10px] font-medium text-muted", children: "12a" }), _jsx("div", { className: "absolute bottom-3 left-1/2 -translate-x-1/2 text-[10px] font-medium text-muted", children: "12p" }), _jsx("div", { className: "absolute bottom-3 right-4 text-[10px] font-medium text-muted", children: "12a" })] }) })] }));
|
|
219
|
-
}
|
|
220
|
-
function HistoryEpisodeRow({ episode, }) {
|
|
221
|
-
const meta = sourceMeta(episode.source);
|
|
222
|
-
const SourceIcon = meta.icon;
|
|
223
|
-
const tier = confidenceTier(episode.confidence);
|
|
224
|
-
const dotClass = confidenceDotClass(tier);
|
|
225
|
-
const dotTitle = confidenceLabel(tier, episode.confidence);
|
|
226
|
-
const dateLabel = formatEpisodeDateLabel(episode.startedAt);
|
|
227
|
-
const startClock = formatClockTime(episode.startedAt) || "—";
|
|
228
|
-
const endClock = episode.endedAt ? formatClockTime(episode.endedAt) : "—";
|
|
229
|
-
const durationLabel = formatDurationMinutes(episode.durationMin);
|
|
230
|
-
const typeLabel = cycleTypeLabel(episode.cycleType);
|
|
231
|
-
const typeBadge = cycleTypeBadgeClass(episode.cycleType);
|
|
232
|
-
const durationPct = typeof episode.durationMin === "number" && Number.isFinite(episode.durationMin)
|
|
233
|
-
? Math.min(100, Math.max(6, (episode.durationMin / 600) * 100))
|
|
234
|
-
: 0;
|
|
235
|
-
return (_jsxs("li", { className: "flex items-center gap-3 rounded-lg border border-border/12 bg-bg/24 px-3 py-2.5", "data-testid": "sleep-history-row", children: [_jsx("span", { className: `h-2 w-2 shrink-0 rounded-full ${dotClass}`, title: dotTitle, role: "img", "aria-label": dotTitle }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-center gap-2 text-xs font-medium text-txt", children: [_jsx("span", { className: "truncate", children: dateLabel }), _jsx("span", { className: `shrink-0 rounded-full border px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide ${typeBadge}`, children: typeLabel })] }), _jsxs("div", { className: "mt-0.5 truncate text-[11px] text-muted", children: [startClock, " \u2192 ", endClock] }), durationPct > 0 ? (_jsx("div", { className: "mt-2 h-1.5 overflow-hidden rounded-full bg-bg-muted/40", children: _jsx("div", { className: [
|
|
236
|
-
"h-full rounded-full",
|
|
237
|
-
episode.cycleType === "nap"
|
|
238
|
-
? "bg-amber-300/80"
|
|
239
|
-
: episode.cycleType === "overnight"
|
|
240
|
-
? "bg-indigo-300/80"
|
|
241
|
-
: "bg-muted/60",
|
|
242
|
-
].join(" "), style: { width: `${durationPct}%` } }) })) : null] }), _jsxs("div", { className: "shrink-0 text-right", children: [_jsx("div", { className: "text-sm font-semibold tabular-nums text-txt", children: durationLabel }), _jsxs("div", { className: "mt-0.5 inline-flex items-center gap-1 text-[10px] text-muted", title: meta.label, children: [_jsx(SourceIcon, { className: "h-3 w-3", "aria-hidden": true }), _jsx("span", { children: meta.short })] })] })] }));
|
|
243
|
-
}
|
|
244
|
-
function HistorySummaryStrip({ episodes, }) {
|
|
245
|
-
const summary = useMemo(() => {
|
|
246
|
-
let totalDuration = 0;
|
|
247
|
-
let durationCount = 0;
|
|
248
|
-
let overnightCount = 0;
|
|
249
|
-
let napCount = 0;
|
|
250
|
-
let openCount = 0;
|
|
251
|
-
for (const episode of episodes) {
|
|
252
|
-
if (episode.cycleType === "overnight")
|
|
253
|
-
overnightCount += 1;
|
|
254
|
-
if (episode.cycleType === "nap")
|
|
255
|
-
napCount += 1;
|
|
256
|
-
if (!episode.endedAt)
|
|
257
|
-
openCount += 1;
|
|
258
|
-
if (typeof episode.durationMin === "number" &&
|
|
259
|
-
Number.isFinite(episode.durationMin)) {
|
|
260
|
-
totalDuration += episode.durationMin;
|
|
261
|
-
durationCount += 1;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
return {
|
|
265
|
-
averageMin: durationCount > 0 ? totalDuration / durationCount : null,
|
|
266
|
-
overnightCount,
|
|
267
|
-
napCount,
|
|
268
|
-
openCount,
|
|
269
|
-
};
|
|
270
|
-
}, [episodes]);
|
|
271
|
-
return (_jsxs("div", { className: "grid gap-2 sm:grid-cols-4", "data-testid": "sleep-history-summary", children: [_jsx(MetricTile, { icon: _jsx(Moon, {}), value: String(episodes.length), label: "Cycles" }), _jsx(MetricTile, { icon: _jsx(Moon, {}), value: formatDurationMinutes(summary.averageMin), label: "Avg" }), _jsx(MetricTile, { icon: _jsx(Activity, {}), value: `${summary.overnightCount}/${summary.napCount}`, label: "Night/Nap" }), _jsx(MetricTile, { icon: _jsx(AlarmClock, {}), value: String(summary.openCount), label: "Open" })] }));
|
|
272
|
-
}
|
|
273
|
-
function HistoryCycleMap({ episodes, }) {
|
|
274
|
-
const visible = episodes.slice(0, 42).reverse();
|
|
275
|
-
if (visible.length === 0)
|
|
276
|
-
return null;
|
|
277
|
-
return (_jsx("div", { className: "grid min-h-16 grid-cols-[repeat(auto-fit,minmax(8px,1fr))] items-end gap-1 rounded-lg border border-border/12 bg-bg/24 px-3 py-3", "data-testid": "sleep-history-cycle-map", children: visible.map((episode) => {
|
|
278
|
-
const height = typeof episode.durationMin === "number" &&
|
|
279
|
-
Number.isFinite(episode.durationMin)
|
|
280
|
-
? Math.min(100, Math.max(16, (episode.durationMin / 600) * 100))
|
|
281
|
-
: 16;
|
|
282
|
-
const tone = episode.cycleType === "nap"
|
|
283
|
-
? "bg-amber-300/75"
|
|
284
|
-
: episode.cycleType === "overnight"
|
|
285
|
-
? "bg-indigo-300/80"
|
|
286
|
-
: "bg-muted/60";
|
|
287
|
-
return (_jsx("span", { className: `block rounded-sm ${tone}`, style: { height: `${height}%` }, title: `${formatEpisodeDateLabel(episode.startedAt)} · ${formatDurationMinutes(episode.durationMin)}` }, episode.id));
|
|
288
|
-
}) }));
|
|
289
|
-
}
|
|
290
|
-
function HistoryTab({ data, loading, error, windowDays, onWindowChange, }) {
|
|
291
|
-
const sortedEpisodes = useMemo(() => {
|
|
292
|
-
if (!data)
|
|
293
|
-
return [];
|
|
294
|
-
return [...data.episodes].sort((a, b) => {
|
|
295
|
-
const aTs = Date.parse(a.startedAt);
|
|
296
|
-
const bTs = Date.parse(b.startedAt);
|
|
297
|
-
return ((Number.isFinite(bTs) ? bTs : 0) - (Number.isFinite(aTs) ? aTs : 0));
|
|
298
|
-
});
|
|
299
|
-
}, [data]);
|
|
300
|
-
return (_jsxs("div", { className: "space-y-3", children: [_jsx("div", { className: "flex items-center gap-1.5", children: HISTORY_WINDOWS.map((w) => (_jsx("button", { type: "button", onClick: () => onWindowChange(w), className: [
|
|
301
|
-
"rounded-md border px-2.5 py-1 text-[11px] font-medium transition-colors",
|
|
302
|
-
w === windowDays
|
|
303
|
-
? "border-accent/40 bg-accent/10 text-txt"
|
|
304
|
-
: "border-border/20 bg-bg/30 text-muted hover:border-accent/30 hover:text-txt",
|
|
305
|
-
].join(" "), "aria-pressed": w === windowDays, children: historyWindowLabel(w) }, w))) }), error ? (_jsx("div", { className: "rounded-lg border border-rose-500/30 bg-rose-500/10 px-3 py-2 text-xs text-rose-300", children: error })) : null, loading && !data ? (_jsxs("div", { className: "flex items-center gap-2 py-4 text-xs text-muted", children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin", "aria-hidden": true }), "Loading history..."] })) : null, !loading && data && sortedEpisodes.length === 0 ? (_jsxs("div", { className: "rounded-lg border border-border/20 bg-bg/24 px-3 py-6 text-center text-xs text-muted", children: ["No sleep data in the last ", windowDays, " days. Connect a health source from Settings."] })) : null, sortedEpisodes.length > 0 ? (_jsxs(_Fragment, { children: [_jsx(HistorySummaryStrip, { episodes: sortedEpisodes }), _jsx(HistoryCycleMap, { episodes: sortedEpisodes }), _jsx("ul", { className: "space-y-2", "data-testid": "sleep-history-list", children: sortedEpisodes.map((ep) => (_jsx(HistoryEpisodeRow, { episode: ep }, ep.id))) })] })) : null] }));
|
|
306
|
-
}
|
|
307
|
-
function SriGauge({ sri, classification, }) {
|
|
308
|
-
const tone = regularityTone(classification);
|
|
309
|
-
const display = Number.isFinite(sri) ? Math.round(sri) : 0;
|
|
310
|
-
const pct = Math.max(0, Math.min(100, display));
|
|
311
|
-
const radius = 52;
|
|
312
|
-
const circumference = 2 * Math.PI * radius;
|
|
313
|
-
const offset = circumference * (1 - pct / 100);
|
|
314
|
-
return (_jsxs("div", { className: `flex items-center gap-4 rounded-lg ${tone.bg} p-4`, children: [_jsxs("div", { className: `relative h-32 w-32 shrink-0 ring-2 ${tone.ring} rounded-full`, children: [_jsxs("svg", { viewBox: "0 0 120 120", className: "h-full w-full -rotate-90", role: "img", "aria-label": `Sleep Regularity Index ${classification === "insufficient_data" ? "unavailable" : display}`, children: [_jsx("title", { children: "Sleep Regularity Index" }), _jsx("circle", { cx: "60", cy: "60", r: radius, fill: "none", stroke: "currentColor", strokeWidth: "10", className: "text-bg-muted/40" }), _jsx("circle", { cx: "60", cy: "60", r: radius, fill: "none", stroke: "currentColor", strokeWidth: "10", strokeLinecap: "round", className: tone.text, strokeDasharray: circumference, strokeDashoffset: offset })] }), _jsxs("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [_jsx("div", { className: `text-3xl font-semibold leading-none ${tone.text}`, children: classification === "insufficient_data" ? "—" : display }), _jsx("div", { className: "mt-1 text-[10px] font-medium uppercase tracking-wide text-muted", children: "SRI" })] })] }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: `text-base font-semibold ${tone.text}`, children: classificationLabel(classification) }), _jsx("div", { className: "mt-1 text-xs text-muted", children: "Sleep Regularity Index measures how consistent your bedtime and wake time are night to night." })] })] }));
|
|
315
|
-
}
|
|
316
|
-
function PatternTab({ regularity, baseline, loading, error, }) {
|
|
317
|
-
const noBaseline = !baseline ||
|
|
318
|
-
(baseline.medianBedtimeLocalHour === null &&
|
|
319
|
-
baseline.medianWakeLocalHour === null &&
|
|
320
|
-
baseline.medianSleepDurationMin === null);
|
|
321
|
-
return (_jsxs("div", { className: "space-y-4", children: [error ? (_jsx("div", { className: "rounded-lg border border-rose-500/30 bg-rose-500/10 px-3 py-2 text-xs text-rose-300", children: error })) : null, loading && !regularity && !baseline ? (_jsxs("div", { className: "flex items-center gap-2 py-4 text-xs text-muted", children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin", "aria-hidden": true }), "Loading pattern..."] })) : null, regularity ? (_jsx(SriGauge, { sri: regularity.sri, classification: regularity.classification })) : null, noBaseline ? (_jsx("div", { className: "rounded-lg border border-border/20 bg-bg/24 px-3 py-6 text-center text-xs text-muted", children: "Not enough data yet \u2014 keep tracking sleep for a week to see your pattern." })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "grid gap-3 sm:grid-cols-3", children: [_jsx(MetricTile, { icon: _jsx(AlarmClock, {}), value: baseline.medianBedtimeLocalHour !== null
|
|
322
|
-
? `${formatLocalHour(baseline.medianBedtimeLocalHour)} ${formatStddev(baseline.bedtimeStddevMin)}`.trim()
|
|
323
|
-
: "—", label: "Typical bedtime" }), _jsx(MetricTile, { icon: _jsx(Sunrise, {}), value: baseline.medianWakeLocalHour !== null
|
|
324
|
-
? `${formatLocalHour(baseline.medianWakeLocalHour)} ${formatStddev(baseline.wakeStddevMin)}`.trim()
|
|
325
|
-
: "—", label: "Typical wake" }), _jsx(MetricTile, { icon: _jsx(Moon, {}), value: formatDurationMinutes(baseline.medianSleepDurationMin), label: "Typical duration" })] }), _jsxs("div", { className: "text-[11px] text-muted", children: ["Based on ", baseline.sampleSize, " ", baseline.sampleSize === 1 ? "night" : "nights", " over the last", " ", baseline.windowDays, " days", regularity && regularity.sampleSize !== baseline.sampleSize
|
|
326
|
-
? ` (regularity from ${regularity.sampleSize} ${regularity.sampleSize === 1 ? "night" : "nights"})`
|
|
327
|
-
: "", "."] })] }))] }));
|
|
328
|
-
}
|
|
329
|
-
export function LifeOpsSleepSection() {
|
|
330
|
-
const [tab, setTab] = useState("tonight");
|
|
331
|
-
const [includeNaps, setIncludeNaps] = useState(false);
|
|
332
|
-
const [historyWindow, setHistoryWindow] = useState(DEFAULT_WINDOW);
|
|
333
|
-
const [overview, setOverview] = useState(null);
|
|
334
|
-
const [tonightLoading, setTonightLoading] = useState(false);
|
|
335
|
-
const [tonightError, setTonightError] = useState(null);
|
|
336
|
-
const [history, setHistory] = useState(null);
|
|
337
|
-
const [historyLoading, setHistoryLoading] = useState(false);
|
|
338
|
-
const [historyError, setHistoryError] = useState(null);
|
|
339
|
-
const [regularity, setRegularity] = useState(null);
|
|
340
|
-
const [baseline, setBaseline] = useState(null);
|
|
341
|
-
const [patternLoading, setPatternLoading] = useState(false);
|
|
342
|
-
const [patternError, setPatternError] = useState(null);
|
|
343
|
-
const loadTonight = useCallback(async () => {
|
|
344
|
-
setTonightLoading(true);
|
|
345
|
-
setTonightError(null);
|
|
346
|
-
try {
|
|
347
|
-
setOverview(await client.getLifeOpsOverview());
|
|
348
|
-
}
|
|
349
|
-
catch (cause) {
|
|
350
|
-
setTonightError(cause instanceof Error && cause.message.trim().length > 0
|
|
351
|
-
? cause.message.trim()
|
|
352
|
-
: "Sleep failed to load.");
|
|
353
|
-
}
|
|
354
|
-
finally {
|
|
355
|
-
setTonightLoading(false);
|
|
356
|
-
}
|
|
357
|
-
}, []);
|
|
358
|
-
const loadHistory = useCallback(async (windowDays, naps) => {
|
|
359
|
-
setHistoryLoading(true);
|
|
360
|
-
setHistoryError(null);
|
|
361
|
-
try {
|
|
362
|
-
setHistory(await client.getLifeOpsSleepHistory({
|
|
363
|
-
windowDays,
|
|
364
|
-
includeNaps: naps,
|
|
365
|
-
}));
|
|
366
|
-
}
|
|
367
|
-
catch (cause) {
|
|
368
|
-
setHistoryError(cause instanceof Error && cause.message.trim().length > 0
|
|
369
|
-
? cause.message.trim()
|
|
370
|
-
: "Sleep history failed to load.");
|
|
371
|
-
}
|
|
372
|
-
finally {
|
|
373
|
-
setHistoryLoading(false);
|
|
374
|
-
}
|
|
375
|
-
}, []);
|
|
376
|
-
const loadPattern = useCallback(async (naps) => {
|
|
377
|
-
setPatternLoading(true);
|
|
378
|
-
setPatternError(null);
|
|
379
|
-
try {
|
|
380
|
-
const [reg, base] = await Promise.all([
|
|
381
|
-
client.getLifeOpsSleepRegularity({ includeNaps: naps }),
|
|
382
|
-
client.getLifeOpsPersonalBaseline(),
|
|
383
|
-
]);
|
|
384
|
-
setRegularity(reg);
|
|
385
|
-
setBaseline(base);
|
|
386
|
-
}
|
|
387
|
-
catch (cause) {
|
|
388
|
-
setPatternError(cause instanceof Error && cause.message.trim().length > 0
|
|
389
|
-
? cause.message.trim()
|
|
390
|
-
: "Sleep pattern failed to load.");
|
|
391
|
-
}
|
|
392
|
-
finally {
|
|
393
|
-
setPatternLoading(false);
|
|
394
|
-
}
|
|
395
|
-
}, []);
|
|
396
|
-
useEffect(() => {
|
|
397
|
-
void loadTonight();
|
|
398
|
-
}, [loadTonight]);
|
|
399
|
-
useEffect(() => {
|
|
400
|
-
if (tab === "history") {
|
|
401
|
-
void loadHistory(historyWindow, includeNaps);
|
|
402
|
-
}
|
|
403
|
-
}, [tab, historyWindow, includeNaps, loadHistory]);
|
|
404
|
-
useEffect(() => {
|
|
405
|
-
if (tab === "pattern") {
|
|
406
|
-
void loadPattern(includeNaps);
|
|
407
|
-
}
|
|
408
|
-
}, [tab, includeNaps, loadPattern]);
|
|
409
|
-
const refreshActiveTab = useCallback(() => {
|
|
410
|
-
if (tab === "tonight") {
|
|
411
|
-
void loadTonight();
|
|
412
|
-
return;
|
|
413
|
-
}
|
|
414
|
-
if (tab === "history") {
|
|
415
|
-
void loadHistory(historyWindow, includeNaps);
|
|
416
|
-
return;
|
|
417
|
-
}
|
|
418
|
-
void loadPattern(includeNaps);
|
|
419
|
-
}, [tab, historyWindow, includeNaps, loadTonight, loadHistory, loadPattern]);
|
|
420
|
-
const refreshing = (tab === "tonight" && tonightLoading) ||
|
|
421
|
-
(tab === "history" && historyLoading) ||
|
|
422
|
-
(tab === "pattern" && patternLoading);
|
|
423
|
-
const schedule = overview?.schedule ?? null;
|
|
424
|
-
return (_jsxs("div", { className: "space-y-4", "data-testid": "lifeops-sleep-section", children: [_jsxs("header", { className: "flex flex-wrap items-center justify-between gap-3 border-b border-border/20 pb-4", children: [_jsx("div", { className: "min-w-0", children: _jsx("h1", { className: "truncate text-2xl font-semibold tracking-tight text-txt", children: "Sleep" }) }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx(NapToggle, { value: includeNaps, onChange: setIncludeNaps }), _jsx("button", { type: "button", "aria-label": "Refresh sleep", title: "Refresh", className: "inline-flex h-9 w-9 items-center justify-center rounded-lg border border-border/20 bg-bg/30 text-muted transition-colors hover:border-accent/30 hover:text-txt disabled:opacity-40", onClick: refreshActiveTab, disabled: refreshing, children: _jsx(RefreshCw, { className: `h-3.5 w-3.5 ${refreshing ? "animate-spin" : ""}`, "aria-hidden": true }) })] })] }), _jsxs("div", { className: "inline-flex items-center gap-1 rounded-lg border border-border/20 bg-bg/30 p-1", role: "tablist", "aria-label": "Sleep view", children: [_jsx(TabButton, { active: tab === "tonight", label: "Tonight", onClick: () => setTab("tonight") }), _jsx(TabButton, { active: tab === "history", label: "History", onClick: () => setTab("history") }), _jsx(TabButton, { active: tab === "pattern", label: "Pattern", onClick: () => setTab("pattern") })] }), tab === "tonight" ? (_jsxs(_Fragment, { children: [tonightError ? (_jsx("div", { className: "rounded-lg border border-rose-500/30 bg-rose-500/10 px-3 py-2 text-xs text-rose-300", children: tonightError })) : null, tonightLoading && !overview ? (_jsxs("div", { className: "flex items-center gap-2 py-4 text-xs text-muted", children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin", "aria-hidden": true }), "Loading sleep..."] })) : null, _jsx(TonightTab, { schedule: schedule })] })) : null, tab === "history" ? (_jsx(HistoryTab, { data: history, loading: historyLoading, error: historyError, windowDays: historyWindow, onWindowChange: setHistoryWindow })) : null, tab === "pattern" ? (_jsx(PatternTab, { regularity: regularity, baseline: baseline, loading: patternLoading, error: patternError })) : null] }));
|
|
425
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type ReactNode } from "react";
|
|
2
|
-
import type { LifeOpsSection } from "../hooks/useLifeOpsSection.js";
|
|
3
|
-
interface LifeOpsWorkspaceShellProps {
|
|
4
|
-
compactLayout: boolean;
|
|
5
|
-
section: LifeOpsSection;
|
|
6
|
-
navigate: (section: LifeOpsSection) => void;
|
|
7
|
-
children: ReactNode;
|
|
8
|
-
}
|
|
9
|
-
export declare function LifeOpsWorkspaceShell({ compactLayout, section, navigate, children, }: LifeOpsWorkspaceShellProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=LifeOpsWorkspaceShell.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LifeOpsWorkspaceShell.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/components/LifeOpsWorkspaceShell.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAIpE,UAAU,0BAA0B;IAClC,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAKD,wBAAgB,qBAAqB,CAAC,EACpC,aAAa,EACb,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,EAAE,0BAA0B,2CAkH5B"}
|