@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
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { LifeOpsConnectorMode, LifeOpsConnectorSide, LifeOpsHealthConnectorCapability, LifeOpsHealthConnectorProvider, StartLifeOpsHealthConnectorResponse } from "../contracts/index.js";
|
|
2
|
+
export declare class HealthOAuthError extends Error {
|
|
3
|
+
readonly status: number;
|
|
4
|
+
constructor(status: number, message: string);
|
|
5
|
+
}
|
|
6
|
+
export interface StoredHealthConnectorToken {
|
|
7
|
+
provider: LifeOpsHealthConnectorProvider;
|
|
8
|
+
agentId: string;
|
|
9
|
+
side: LifeOpsConnectorSide;
|
|
10
|
+
mode: LifeOpsConnectorMode;
|
|
11
|
+
clientId: string;
|
|
12
|
+
clientSecret: string | null;
|
|
13
|
+
redirectUri: string;
|
|
14
|
+
accessToken: string;
|
|
15
|
+
refreshToken: string | null;
|
|
16
|
+
tokenType: string;
|
|
17
|
+
grantedScopes: string[];
|
|
18
|
+
expiresAt: number | null;
|
|
19
|
+
identity: Record<string, unknown>;
|
|
20
|
+
createdAt: string;
|
|
21
|
+
updatedAt: string;
|
|
22
|
+
}
|
|
23
|
+
export interface HealthConnectorCallbackResult {
|
|
24
|
+
agentId: string;
|
|
25
|
+
provider: LifeOpsHealthConnectorProvider;
|
|
26
|
+
side: LifeOpsConnectorSide;
|
|
27
|
+
mode: LifeOpsConnectorMode;
|
|
28
|
+
tokenRef: string;
|
|
29
|
+
identity: Record<string, unknown>;
|
|
30
|
+
grantedCapabilities: LifeOpsHealthConnectorCapability[];
|
|
31
|
+
grantedScopes: string[];
|
|
32
|
+
expiresAt: string | null;
|
|
33
|
+
hasRefreshToken: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface ResolvedHealthOAuthConfig {
|
|
36
|
+
provider: LifeOpsHealthConnectorProvider;
|
|
37
|
+
mode: LifeOpsConnectorMode;
|
|
38
|
+
defaultMode: LifeOpsConnectorMode;
|
|
39
|
+
availableModes: LifeOpsConnectorMode[];
|
|
40
|
+
configured: boolean;
|
|
41
|
+
clientId: string | null;
|
|
42
|
+
clientSecret: string | null;
|
|
43
|
+
redirectUri: string;
|
|
44
|
+
}
|
|
45
|
+
export declare function healthConnectorCapabilities(provider: LifeOpsHealthConnectorProvider): LifeOpsHealthConnectorCapability[];
|
|
46
|
+
export declare function healthConnectorScopes(provider: LifeOpsHealthConnectorProvider): string[];
|
|
47
|
+
export declare function healthScopesToCapabilities(provider: LifeOpsHealthConnectorProvider, scopes: readonly string[]): LifeOpsHealthConnectorCapability[];
|
|
48
|
+
export declare function resolveHealthOAuthConfig(provider: LifeOpsHealthConnectorProvider, requestUrl: URL, requestedMode?: LifeOpsConnectorMode, env?: NodeJS.ProcessEnv): ResolvedHealthOAuthConfig;
|
|
49
|
+
export declare function readStoredHealthToken(tokenRef: string | null | undefined, env?: NodeJS.ProcessEnv): StoredHealthConnectorToken | null;
|
|
50
|
+
export declare function deleteStoredHealthToken(tokenRef: string | null | undefined, env?: NodeJS.ProcessEnv): void;
|
|
51
|
+
export declare function refreshStoredHealthToken(tokenRef: string | null | undefined): Promise<StoredHealthConnectorToken | null>;
|
|
52
|
+
export declare function startHealthConnectorOAuth(args: {
|
|
53
|
+
provider: LifeOpsHealthConnectorProvider;
|
|
54
|
+
agentId: string;
|
|
55
|
+
side: LifeOpsConnectorSide;
|
|
56
|
+
mode?: LifeOpsConnectorMode;
|
|
57
|
+
requestUrl: URL;
|
|
58
|
+
redirectUrl?: string;
|
|
59
|
+
capabilities?: LifeOpsHealthConnectorCapability[];
|
|
60
|
+
}): StartLifeOpsHealthConnectorResponse;
|
|
61
|
+
export declare function completeHealthConnectorOAuth(callbackUrl: URL): Promise<HealthConnectorCallbackResult>;
|
|
62
|
+
//# sourceMappingURL=health-oauth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-oauth.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/health-oauth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,496 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { resolveOAuthDir } from "@elizaos/agent/config/paths";
|
|
5
|
+
import { decryptTokenEnvelope, encryptTokenPayload, isEncryptedTokenEnvelope, resolveTokenEncryptionKey, } from "./token-encryption.js";
|
|
6
|
+
const HEALTH_OAUTH_SESSION_TTL_MS = 10 * 60 * 1000;
|
|
7
|
+
const ACCESS_TOKEN_REFRESH_BUFFER_MS = 5 * 60 * 1000;
|
|
8
|
+
const pendingHealthOAuthSessions = new Map();
|
|
9
|
+
export class HealthOAuthError extends Error {
|
|
10
|
+
status;
|
|
11
|
+
constructor(status, message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.status = status;
|
|
14
|
+
this.name = "HealthOAuthError";
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function isWrappedHealthTokenResponse(value) {
|
|
18
|
+
return "status" in value || "body" in value || "error" in value;
|
|
19
|
+
}
|
|
20
|
+
function unwrapHealthTokenResponse(value, provider) {
|
|
21
|
+
if (isWrappedHealthTokenResponse(value)) {
|
|
22
|
+
if (value.status !== undefined && value.status !== 0) {
|
|
23
|
+
throw new HealthOAuthError(502, `Token exchange failed for ${provider}`);
|
|
24
|
+
}
|
|
25
|
+
if (value.body) {
|
|
26
|
+
return value.body;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
const HEALTH_OAUTH_SPECS = {
|
|
32
|
+
strava: {
|
|
33
|
+
provider: "strava",
|
|
34
|
+
authUrl: "https://www.strava.com/oauth/authorize",
|
|
35
|
+
tokenUrl: "https://www.strava.com/oauth/token",
|
|
36
|
+
revokeUrl: "https://www.strava.com/oauth/deauthorize",
|
|
37
|
+
envPrefix: "STRAVA",
|
|
38
|
+
defaultScopes: ["read", "profile:read_all", "activity:read_all"],
|
|
39
|
+
capabilities: ["health.activity.read", "health.workouts.read"],
|
|
40
|
+
scopeSeparator: "comma",
|
|
41
|
+
usePkce: false,
|
|
42
|
+
tokenRequestStyle: "form",
|
|
43
|
+
},
|
|
44
|
+
fitbit: {
|
|
45
|
+
provider: "fitbit",
|
|
46
|
+
authUrl: "https://www.fitbit.com/oauth2/authorize",
|
|
47
|
+
tokenUrl: "https://api.fitbit.com/oauth2/token",
|
|
48
|
+
revokeUrl: "https://api.fitbit.com/oauth2/revoke",
|
|
49
|
+
envPrefix: "FITBIT",
|
|
50
|
+
defaultScopes: ["profile", "activity", "heartrate", "sleep", "weight"],
|
|
51
|
+
capabilities: [
|
|
52
|
+
"health.activity.read",
|
|
53
|
+
"health.workouts.read",
|
|
54
|
+
"health.sleep.read",
|
|
55
|
+
"health.body.read",
|
|
56
|
+
"health.vitals.read",
|
|
57
|
+
],
|
|
58
|
+
scopeSeparator: "space",
|
|
59
|
+
usePkce: true,
|
|
60
|
+
tokenRequestStyle: "basic",
|
|
61
|
+
},
|
|
62
|
+
withings: {
|
|
63
|
+
provider: "withings",
|
|
64
|
+
authUrl: "https://account.withings.com/oauth2_user/authorize2",
|
|
65
|
+
tokenUrl: "https://wbsapi.withings.net/v2/oauth2",
|
|
66
|
+
revokeUrl: null,
|
|
67
|
+
envPrefix: "WITHINGS",
|
|
68
|
+
defaultScopes: [
|
|
69
|
+
"user.info",
|
|
70
|
+
"user.metrics",
|
|
71
|
+
"user.activity",
|
|
72
|
+
"user.sleepevents",
|
|
73
|
+
],
|
|
74
|
+
capabilities: [
|
|
75
|
+
"health.activity.read",
|
|
76
|
+
"health.sleep.read",
|
|
77
|
+
"health.body.read",
|
|
78
|
+
"health.vitals.read",
|
|
79
|
+
],
|
|
80
|
+
scopeSeparator: "comma",
|
|
81
|
+
usePkce: false,
|
|
82
|
+
tokenRequestStyle: "withings",
|
|
83
|
+
},
|
|
84
|
+
oura: {
|
|
85
|
+
provider: "oura",
|
|
86
|
+
authUrl: "https://cloud.ouraring.com/oauth/authorize",
|
|
87
|
+
tokenUrl: "https://api.ouraring.com/oauth/token",
|
|
88
|
+
revokeUrl: "https://api.ouraring.com/oauth/revoke",
|
|
89
|
+
envPrefix: "OURA",
|
|
90
|
+
defaultScopes: [
|
|
91
|
+
"email",
|
|
92
|
+
"personal",
|
|
93
|
+
"daily",
|
|
94
|
+
"heartrate",
|
|
95
|
+
"workout",
|
|
96
|
+
"spo2",
|
|
97
|
+
],
|
|
98
|
+
capabilities: [
|
|
99
|
+
"health.activity.read",
|
|
100
|
+
"health.workouts.read",
|
|
101
|
+
"health.sleep.read",
|
|
102
|
+
"health.readiness.read",
|
|
103
|
+
"health.body.read",
|
|
104
|
+
"health.vitals.read",
|
|
105
|
+
],
|
|
106
|
+
scopeSeparator: "space",
|
|
107
|
+
usePkce: false,
|
|
108
|
+
tokenRequestStyle: "basic",
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
function isLoopbackHostname(hostname) {
|
|
112
|
+
const normalized = hostname.trim().toLowerCase();
|
|
113
|
+
return (normalized === "localhost" ||
|
|
114
|
+
normalized === "127.0.0.1" ||
|
|
115
|
+
normalized === "::1" ||
|
|
116
|
+
normalized === "[::1]");
|
|
117
|
+
}
|
|
118
|
+
function readEnv(env, provider, suffix) {
|
|
119
|
+
const spec = HEALTH_OAUTH_SPECS[provider];
|
|
120
|
+
const keys = [
|
|
121
|
+
`ELIZA_${spec.envPrefix}_${suffix}`,
|
|
122
|
+
`MILADY_${spec.envPrefix}_${suffix}`,
|
|
123
|
+
];
|
|
124
|
+
for (const key of keys) {
|
|
125
|
+
const value = env[key]?.trim();
|
|
126
|
+
if (value) {
|
|
127
|
+
return value;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
function normalizeBaseUrl(value) {
|
|
133
|
+
return value.endsWith("/") ? value.slice(0, -1) : value;
|
|
134
|
+
}
|
|
135
|
+
export function healthConnectorCapabilities(provider) {
|
|
136
|
+
return [...HEALTH_OAUTH_SPECS[provider].capabilities];
|
|
137
|
+
}
|
|
138
|
+
export function healthConnectorScopes(provider) {
|
|
139
|
+
return [...HEALTH_OAUTH_SPECS[provider].defaultScopes];
|
|
140
|
+
}
|
|
141
|
+
export function healthScopesToCapabilities(provider, scopes) {
|
|
142
|
+
const set = new Set(scopes);
|
|
143
|
+
if (provider === "strava") {
|
|
144
|
+
return set.has("activity:read") || set.has("activity:read_all")
|
|
145
|
+
? ["health.activity.read", "health.workouts.read"]
|
|
146
|
+
: [];
|
|
147
|
+
}
|
|
148
|
+
if (provider === "oura") {
|
|
149
|
+
const capabilities = [];
|
|
150
|
+
if (set.has("daily")) {
|
|
151
|
+
capabilities.push("health.activity.read", "health.sleep.read", "health.readiness.read");
|
|
152
|
+
}
|
|
153
|
+
if (set.has("workout"))
|
|
154
|
+
capabilities.push("health.workouts.read");
|
|
155
|
+
if (set.has("heartrate") || set.has("spo2"))
|
|
156
|
+
capabilities.push("health.vitals.read");
|
|
157
|
+
if (set.has("personal"))
|
|
158
|
+
capabilities.push("health.body.read");
|
|
159
|
+
return [...new Set(capabilities)];
|
|
160
|
+
}
|
|
161
|
+
if (provider === "fitbit") {
|
|
162
|
+
const capabilities = [];
|
|
163
|
+
if (set.has("activity")) {
|
|
164
|
+
capabilities.push("health.activity.read", "health.workouts.read");
|
|
165
|
+
}
|
|
166
|
+
if (set.has("sleep"))
|
|
167
|
+
capabilities.push("health.sleep.read");
|
|
168
|
+
if (set.has("heartrate"))
|
|
169
|
+
capabilities.push("health.vitals.read");
|
|
170
|
+
if (set.has("weight"))
|
|
171
|
+
capabilities.push("health.body.read");
|
|
172
|
+
return [...new Set(capabilities)];
|
|
173
|
+
}
|
|
174
|
+
const capabilities = [];
|
|
175
|
+
if (set.has("user.activity")) {
|
|
176
|
+
capabilities.push("health.activity.read", "health.sleep.read");
|
|
177
|
+
}
|
|
178
|
+
if (set.has("user.sleepevents"))
|
|
179
|
+
capabilities.push("health.sleep.read");
|
|
180
|
+
if (set.has("user.metrics")) {
|
|
181
|
+
capabilities.push("health.body.read", "health.vitals.read");
|
|
182
|
+
}
|
|
183
|
+
return [...new Set(capabilities)];
|
|
184
|
+
}
|
|
185
|
+
export function resolveHealthOAuthConfig(provider, requestUrl, requestedMode, env = process.env) {
|
|
186
|
+
const localClientId = readEnv(env, provider, "CLIENT_ID");
|
|
187
|
+
const localClientSecret = readEnv(env, provider, "CLIENT_SECRET");
|
|
188
|
+
const publicBaseUrl = readEnv(env, provider, "PUBLIC_BASE_URL");
|
|
189
|
+
const availableModes = [];
|
|
190
|
+
if (localClientId && localClientSecret) {
|
|
191
|
+
availableModes.push("local");
|
|
192
|
+
}
|
|
193
|
+
if (localClientId && localClientSecret && publicBaseUrl) {
|
|
194
|
+
availableModes.push("remote");
|
|
195
|
+
}
|
|
196
|
+
const defaultMode = isLoopbackHostname(requestUrl.hostname) && availableModes.includes("local")
|
|
197
|
+
? "local"
|
|
198
|
+
: (availableModes[0] ??
|
|
199
|
+
(isLoopbackHostname(requestUrl.hostname) ? "local" : "remote"));
|
|
200
|
+
const mode = requestedMode ?? defaultMode;
|
|
201
|
+
const port = requestUrl.port || (requestUrl.protocol === "https:" ? "443" : "80");
|
|
202
|
+
const redirectUri = mode === "remote" && publicBaseUrl
|
|
203
|
+
? `${normalizeBaseUrl(publicBaseUrl)}/api/lifeops/connectors/health/${provider}/callback`
|
|
204
|
+
: `http://127.0.0.1:${port}/api/lifeops/connectors/health/${provider}/callback`;
|
|
205
|
+
return {
|
|
206
|
+
provider,
|
|
207
|
+
mode,
|
|
208
|
+
defaultMode,
|
|
209
|
+
availableModes,
|
|
210
|
+
configured: Boolean(localClientId && localClientSecret),
|
|
211
|
+
clientId: localClientId,
|
|
212
|
+
clientSecret: localClientSecret,
|
|
213
|
+
redirectUri,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
function requireHealthOAuthConfig(config, requestUrl) {
|
|
217
|
+
if (config.mode === "local" && !isLoopbackHostname(requestUrl.hostname)) {
|
|
218
|
+
throw new HealthOAuthError(400, "Local health OAuth requires the API to be addressed over a loopback host.");
|
|
219
|
+
}
|
|
220
|
+
if (!config.configured || !config.clientId || !config.clientSecret) {
|
|
221
|
+
throw new HealthOAuthError(503, `${config.provider} OAuth ${config.mode} mode is not configured.`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
function base64Url(buffer) {
|
|
225
|
+
return buffer
|
|
226
|
+
.toString("base64")
|
|
227
|
+
.replace(/\+/g, "-")
|
|
228
|
+
.replace(/\//g, "_")
|
|
229
|
+
.replace(/=+$/g, "");
|
|
230
|
+
}
|
|
231
|
+
function sha256Base64Url(value) {
|
|
232
|
+
return base64Url(crypto.createHash("sha256").update(value).digest());
|
|
233
|
+
}
|
|
234
|
+
function parseGrantedScopes(provider, value) {
|
|
235
|
+
if (typeof value !== "string") {
|
|
236
|
+
return healthConnectorScopes(provider);
|
|
237
|
+
}
|
|
238
|
+
return value
|
|
239
|
+
.split(/[,\s]+/)
|
|
240
|
+
.map((scope) => scope.trim())
|
|
241
|
+
.filter(Boolean);
|
|
242
|
+
}
|
|
243
|
+
function tokenExpiresAt(response) {
|
|
244
|
+
if (typeof response.expires_at === "number") {
|
|
245
|
+
return response.expires_at * 1_000;
|
|
246
|
+
}
|
|
247
|
+
if (typeof response.expires_in === "number") {
|
|
248
|
+
return Date.now() + response.expires_in * 1_000;
|
|
249
|
+
}
|
|
250
|
+
return null;
|
|
251
|
+
}
|
|
252
|
+
function tokenRefFor(args) {
|
|
253
|
+
return path.join(args.agentId, args.side, args.mode, `${args.provider}.json`);
|
|
254
|
+
}
|
|
255
|
+
function tokenStorageRoot(env = process.env) {
|
|
256
|
+
return path.join(resolveOAuthDir(env), "lifeops", "health");
|
|
257
|
+
}
|
|
258
|
+
function tokenPath(tokenRef, env) {
|
|
259
|
+
return path.join(tokenStorageRoot(env), tokenRef);
|
|
260
|
+
}
|
|
261
|
+
function writeStoredHealthToken(tokenRef, token, env = process.env) {
|
|
262
|
+
const filePath = tokenPath(tokenRef, env);
|
|
263
|
+
fs.mkdirSync(path.dirname(filePath), { recursive: true, mode: 0o700 });
|
|
264
|
+
const key = resolveTokenEncryptionKey(tokenStorageRoot(env), env);
|
|
265
|
+
const payload = JSON.stringify(token, null, 2);
|
|
266
|
+
const encoded = JSON.stringify(encryptTokenPayload(payload, key), null, 2);
|
|
267
|
+
fs.writeFileSync(filePath, encoded, { mode: 0o600 });
|
|
268
|
+
}
|
|
269
|
+
export function readStoredHealthToken(tokenRef, env = process.env) {
|
|
270
|
+
if (!tokenRef) {
|
|
271
|
+
return null;
|
|
272
|
+
}
|
|
273
|
+
const filePath = tokenPath(tokenRef, env);
|
|
274
|
+
if (!fs.existsSync(filePath)) {
|
|
275
|
+
return null;
|
|
276
|
+
}
|
|
277
|
+
const raw = fs.readFileSync(filePath, "utf8");
|
|
278
|
+
const parsed = JSON.parse(raw);
|
|
279
|
+
const text = isEncryptedTokenEnvelope(parsed)
|
|
280
|
+
? decryptTokenEnvelope(parsed, resolveTokenEncryptionKey(tokenStorageRoot(env), env))
|
|
281
|
+
: raw;
|
|
282
|
+
return JSON.parse(text);
|
|
283
|
+
}
|
|
284
|
+
export function deleteStoredHealthToken(tokenRef, env = process.env) {
|
|
285
|
+
if (!tokenRef) {
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
fs.rmSync(tokenPath(tokenRef, env), { force: true });
|
|
289
|
+
}
|
|
290
|
+
async function exchangeToken(session, code) {
|
|
291
|
+
const spec = HEALTH_OAUTH_SPECS[session.provider];
|
|
292
|
+
const body = new URLSearchParams({
|
|
293
|
+
grant_type: "authorization_code",
|
|
294
|
+
code,
|
|
295
|
+
redirect_uri: session.redirectUri,
|
|
296
|
+
});
|
|
297
|
+
if (spec.tokenRequestStyle === "withings") {
|
|
298
|
+
body.set("action", "requesttoken");
|
|
299
|
+
}
|
|
300
|
+
if (spec.tokenRequestStyle !== "basic") {
|
|
301
|
+
body.set("client_id", session.clientId);
|
|
302
|
+
if (session.clientSecret)
|
|
303
|
+
body.set("client_secret", session.clientSecret);
|
|
304
|
+
}
|
|
305
|
+
if (session.codeVerifier) {
|
|
306
|
+
body.set("code_verifier", session.codeVerifier);
|
|
307
|
+
}
|
|
308
|
+
const response = await fetch(spec.tokenUrl, {
|
|
309
|
+
method: "POST",
|
|
310
|
+
headers: {
|
|
311
|
+
Accept: "application/json",
|
|
312
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
313
|
+
...(spec.tokenRequestStyle === "basic" && session.clientSecret
|
|
314
|
+
? {
|
|
315
|
+
Authorization: `Basic ${Buffer.from(`${session.clientId}:${session.clientSecret}`).toString("base64")}`,
|
|
316
|
+
}
|
|
317
|
+
: {}),
|
|
318
|
+
},
|
|
319
|
+
body,
|
|
320
|
+
signal: AbortSignal.timeout(15_000),
|
|
321
|
+
});
|
|
322
|
+
const json = (await response.json());
|
|
323
|
+
if (!response.ok) {
|
|
324
|
+
throw new HealthOAuthError(response.status, `Token exchange failed for ${session.provider}`);
|
|
325
|
+
}
|
|
326
|
+
return unwrapHealthTokenResponse(json, session.provider);
|
|
327
|
+
}
|
|
328
|
+
export async function refreshStoredHealthToken(tokenRef) {
|
|
329
|
+
const token = readStoredHealthToken(tokenRef);
|
|
330
|
+
if (!token?.refreshToken) {
|
|
331
|
+
return token;
|
|
332
|
+
}
|
|
333
|
+
if (token.expiresAt !== null &&
|
|
334
|
+
token.expiresAt - ACCESS_TOKEN_REFRESH_BUFFER_MS > Date.now()) {
|
|
335
|
+
return token;
|
|
336
|
+
}
|
|
337
|
+
const spec = HEALTH_OAUTH_SPECS[token.provider];
|
|
338
|
+
const body = new URLSearchParams({
|
|
339
|
+
grant_type: "refresh_token",
|
|
340
|
+
refresh_token: token.refreshToken,
|
|
341
|
+
});
|
|
342
|
+
if (spec.tokenRequestStyle === "withings") {
|
|
343
|
+
body.set("action", "requesttoken");
|
|
344
|
+
body.set("client_id", token.clientId);
|
|
345
|
+
if (token.clientSecret)
|
|
346
|
+
body.set("client_secret", token.clientSecret);
|
|
347
|
+
}
|
|
348
|
+
else if (spec.tokenRequestStyle !== "basic") {
|
|
349
|
+
body.set("client_id", token.clientId);
|
|
350
|
+
if (token.clientSecret)
|
|
351
|
+
body.set("client_secret", token.clientSecret);
|
|
352
|
+
}
|
|
353
|
+
const response = await fetch(spec.tokenUrl, {
|
|
354
|
+
method: "POST",
|
|
355
|
+
headers: {
|
|
356
|
+
Accept: "application/json",
|
|
357
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
358
|
+
...(spec.tokenRequestStyle === "basic" && token.clientSecret
|
|
359
|
+
? {
|
|
360
|
+
Authorization: `Basic ${Buffer.from(`${token.clientId}:${token.clientSecret}`).toString("base64")}`,
|
|
361
|
+
}
|
|
362
|
+
: {}),
|
|
363
|
+
},
|
|
364
|
+
body,
|
|
365
|
+
signal: AbortSignal.timeout(15_000),
|
|
366
|
+
});
|
|
367
|
+
if (!response.ok) {
|
|
368
|
+
throw new HealthOAuthError(response.status, `${token.provider} token refresh failed`);
|
|
369
|
+
}
|
|
370
|
+
const json = (await response.json());
|
|
371
|
+
const payload = unwrapHealthTokenResponse(json, token.provider);
|
|
372
|
+
if (!payload.access_token) {
|
|
373
|
+
throw new HealthOAuthError(502, `${token.provider} token refresh failed`);
|
|
374
|
+
}
|
|
375
|
+
const next = {
|
|
376
|
+
...token,
|
|
377
|
+
accessToken: payload.access_token,
|
|
378
|
+
refreshToken: payload.refresh_token ?? token.refreshToken,
|
|
379
|
+
tokenType: payload.token_type ?? token.tokenType,
|
|
380
|
+
grantedScopes: parseGrantedScopes(token.provider, payload.scope),
|
|
381
|
+
expiresAt: tokenExpiresAt(payload),
|
|
382
|
+
updatedAt: new Date().toISOString(),
|
|
383
|
+
};
|
|
384
|
+
writeStoredHealthToken(tokenRef ?? tokenRefFor(token), next);
|
|
385
|
+
return next;
|
|
386
|
+
}
|
|
387
|
+
export function startHealthConnectorOAuth(args) {
|
|
388
|
+
const config = resolveHealthOAuthConfig(args.provider, args.requestUrl, args.mode);
|
|
389
|
+
requireHealthOAuthConfig(config, args.requestUrl);
|
|
390
|
+
const spec = HEALTH_OAUTH_SPECS[args.provider];
|
|
391
|
+
const state = crypto.randomBytes(24).toString("hex");
|
|
392
|
+
const codeVerifier = spec.usePkce ? base64Url(crypto.randomBytes(32)) : null;
|
|
393
|
+
const scopes = healthConnectorScopes(args.provider);
|
|
394
|
+
pendingHealthOAuthSessions.set(state, {
|
|
395
|
+
state,
|
|
396
|
+
provider: args.provider,
|
|
397
|
+
agentId: args.agentId,
|
|
398
|
+
side: args.side,
|
|
399
|
+
mode: config.mode,
|
|
400
|
+
clientId: config.clientId,
|
|
401
|
+
clientSecret: config.clientSecret,
|
|
402
|
+
redirectUri: config.redirectUri,
|
|
403
|
+
codeVerifier,
|
|
404
|
+
requestedCapabilities: args.capabilities && args.capabilities.length > 0
|
|
405
|
+
? [...new Set(args.capabilities)]
|
|
406
|
+
: healthConnectorCapabilities(args.provider),
|
|
407
|
+
createdAt: Date.now(),
|
|
408
|
+
});
|
|
409
|
+
const authUrl = new URL(spec.authUrl);
|
|
410
|
+
authUrl.searchParams.set("client_id", config.clientId);
|
|
411
|
+
authUrl.searchParams.set("response_type", "code");
|
|
412
|
+
authUrl.searchParams.set("redirect_uri", config.redirectUri);
|
|
413
|
+
authUrl.searchParams.set("scope", scopes.join(spec.scopeSeparator === "comma" ? "," : " "));
|
|
414
|
+
authUrl.searchParams.set("state", state);
|
|
415
|
+
if (args.provider === "strava") {
|
|
416
|
+
authUrl.searchParams.set("approval_prompt", "auto");
|
|
417
|
+
}
|
|
418
|
+
if (codeVerifier) {
|
|
419
|
+
authUrl.searchParams.set("code_challenge", sha256Base64Url(codeVerifier));
|
|
420
|
+
authUrl.searchParams.set("code_challenge_method", "S256");
|
|
421
|
+
}
|
|
422
|
+
return {
|
|
423
|
+
provider: args.provider,
|
|
424
|
+
side: args.side,
|
|
425
|
+
mode: config.mode,
|
|
426
|
+
requestedCapabilities: args.capabilities && args.capabilities.length > 0
|
|
427
|
+
? [...new Set(args.capabilities)]
|
|
428
|
+
: healthConnectorCapabilities(args.provider),
|
|
429
|
+
redirectUri: config.redirectUri,
|
|
430
|
+
authUrl: authUrl.toString(),
|
|
431
|
+
};
|
|
432
|
+
}
|
|
433
|
+
export async function completeHealthConnectorOAuth(callbackUrl) {
|
|
434
|
+
const state = callbackUrl.searchParams.get("state") ?? "";
|
|
435
|
+
const session = pendingHealthOAuthSessions.get(state);
|
|
436
|
+
if (!session) {
|
|
437
|
+
throw new HealthOAuthError(400, "Unknown or expired health OAuth session.");
|
|
438
|
+
}
|
|
439
|
+
pendingHealthOAuthSessions.delete(state);
|
|
440
|
+
if (Date.now() - session.createdAt > HEALTH_OAUTH_SESSION_TTL_MS) {
|
|
441
|
+
throw new HealthOAuthError(400, "Health OAuth session expired.");
|
|
442
|
+
}
|
|
443
|
+
const error = callbackUrl.searchParams.get("error");
|
|
444
|
+
if (error) {
|
|
445
|
+
throw new HealthOAuthError(400, `${session.provider} authorization failed: ${error}`);
|
|
446
|
+
}
|
|
447
|
+
const code = callbackUrl.searchParams.get("code");
|
|
448
|
+
if (!code) {
|
|
449
|
+
throw new HealthOAuthError(400, "Missing health OAuth authorization code.");
|
|
450
|
+
}
|
|
451
|
+
const payload = await exchangeToken(session, code);
|
|
452
|
+
if (!payload.access_token) {
|
|
453
|
+
throw new HealthOAuthError(502, `${session.provider} token response missing access token.`);
|
|
454
|
+
}
|
|
455
|
+
const scopes = parseGrantedScopes(session.provider, payload.scope);
|
|
456
|
+
const identity = session.provider === "strava" && payload.athlete
|
|
457
|
+
? payload.athlete
|
|
458
|
+
: {
|
|
459
|
+
userId: payload.user_id ??
|
|
460
|
+
payload.userid ??
|
|
461
|
+
callbackUrl.searchParams.get("userid") ??
|
|
462
|
+
null,
|
|
463
|
+
};
|
|
464
|
+
const nowIso = new Date().toISOString();
|
|
465
|
+
const tokenRef = tokenRefFor(session);
|
|
466
|
+
const token = {
|
|
467
|
+
provider: session.provider,
|
|
468
|
+
agentId: session.agentId,
|
|
469
|
+
side: session.side,
|
|
470
|
+
mode: session.mode,
|
|
471
|
+
clientId: session.clientId,
|
|
472
|
+
clientSecret: session.clientSecret,
|
|
473
|
+
redirectUri: session.redirectUri,
|
|
474
|
+
accessToken: payload.access_token,
|
|
475
|
+
refreshToken: payload.refresh_token ?? null,
|
|
476
|
+
tokenType: payload.token_type ?? "Bearer",
|
|
477
|
+
grantedScopes: scopes,
|
|
478
|
+
expiresAt: tokenExpiresAt(payload),
|
|
479
|
+
identity,
|
|
480
|
+
createdAt: nowIso,
|
|
481
|
+
updatedAt: nowIso,
|
|
482
|
+
};
|
|
483
|
+
writeStoredHealthToken(tokenRef, token);
|
|
484
|
+
return {
|
|
485
|
+
agentId: session.agentId,
|
|
486
|
+
provider: session.provider,
|
|
487
|
+
side: session.side,
|
|
488
|
+
mode: session.mode,
|
|
489
|
+
tokenRef,
|
|
490
|
+
identity,
|
|
491
|
+
grantedCapabilities: healthScopesToCapabilities(session.provider, scopes),
|
|
492
|
+
grantedScopes: scopes,
|
|
493
|
+
expiresAt: token.expiresAt ? new Date(token.expiresAt).toISOString() : null,
|
|
494
|
+
hasRefreshToken: Boolean(token.refreshToken),
|
|
495
|
+
};
|
|
496
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-csv-import.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/payment-csv-import.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"payment-csv-import.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/payment-csv-import.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAuB5B;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAuDjD;AAsGD,MAAM,WAAW,oBACf,SAAQ,IAAI,CACV,yBAAyB,EACvB,UAAU,GACV,WAAW,GACX,WAAW,GACX,aAAa,GACb,oBAAoB,GACpB,aAAa,GACb,UAAU,GACV,UAAU,GACV,YAAY,CACf;IACD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAkBD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,eAAoB,GAC5B,cAAc,CAqGhB"}
|
|
@@ -3,11 +3,7 @@ const DATE_COLUMN_HINTS = ["date", "posted", "posted date", "transaction date"];
|
|
|
3
3
|
// Only single-amount formats match here. Separate Debit/Credit columns are
|
|
4
4
|
// handled below via DEBIT_COLUMN_HINTS / CREDIT_COLUMN_HINTS so we don't
|
|
5
5
|
// collapse them into a single amount column.
|
|
6
|
-
const AMOUNT_COLUMN_HINTS = [
|
|
7
|
-
"amount",
|
|
8
|
-
"amount (usd)",
|
|
9
|
-
"transaction amount",
|
|
10
|
-
];
|
|
6
|
+
const AMOUNT_COLUMN_HINTS = ["amount", "amount (usd)", "transaction amount"];
|
|
11
7
|
const DEBIT_COLUMN_HINTS = ["debit", "withdrawal", "amount debit"];
|
|
12
8
|
const CREDIT_COLUMN_HINTS = ["credit", "deposit", "amount credit"];
|
|
13
9
|
const MERCHANT_COLUMN_HINTS = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-recurrence.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/payment-recurrence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EAEzB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAW5B;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoBrD;
|
|
1
|
+
{"version":3,"file":"payment-recurrence.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/payment-recurrence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EAEzB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAW5B;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoBrD;AAwID,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,SAAS,yBAAyB,EAAE,GACjD,sBAAsB,EAAE,CAiF1B"}
|
|
@@ -194,7 +194,8 @@ export function detectRecurringCharges(transactions) {
|
|
|
194
194
|
.slice(-5)
|
|
195
195
|
.map((transaction) => transaction.id);
|
|
196
196
|
const category = sorted.find((transaction) => transaction.category)?.category ?? null;
|
|
197
|
-
const display = sorted[sorted.length - 1]?.merchantRaw?.trim() ||
|
|
197
|
+
const display = sorted[sorted.length - 1]?.merchantRaw?.trim() ||
|
|
198
|
+
humanizeMerchant(merchant);
|
|
198
199
|
charges.push({
|
|
199
200
|
merchantNormalized: merchant,
|
|
200
201
|
merchantDisplay: display,
|
|
@@ -78,17 +78,18 @@ export interface LifeOpsRecurringChargePlaybookHit {
|
|
|
78
78
|
executorPreference: "user_browser" | "agent_browser" | "desktop_native";
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
|
-
* A bill detected from email (or other source) and surfaced
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
* `metadata.sourceMessageId` fields carry the bill-specific data.
|
|
81
|
+
* A bill detected from email (or other source) and surfaced on the Money
|
|
82
|
+
* dashboard. Backed by a `life_payment_transactions` row whose
|
|
83
|
+
* `source.kind === "email"` and whose metadata carries bill-specific data.
|
|
85
84
|
*/
|
|
85
|
+
export type LifeOpsUpcomingBillStatus = "upcoming" | "overdue" | "needs_due_date";
|
|
86
86
|
export interface LifeOpsUpcomingBill {
|
|
87
87
|
id: string;
|
|
88
88
|
merchant: string;
|
|
89
89
|
amountUsd: number;
|
|
90
90
|
currency: string;
|
|
91
|
-
dueDate: string;
|
|
91
|
+
dueDate: string | null;
|
|
92
|
+
status: LifeOpsUpcomingBillStatus;
|
|
92
93
|
postedAt: string;
|
|
93
94
|
sourceMessageId: string | null;
|
|
94
95
|
confidence: number;
|
|
@@ -104,8 +105,8 @@ export interface LifeOpsPaymentsDashboard {
|
|
|
104
105
|
recurringPlaybookHits: LifeOpsRecurringChargePlaybookHit[];
|
|
105
106
|
spending: LifeOpsSpendingSummary;
|
|
106
107
|
/**
|
|
107
|
-
* Bills extracted from email-classified messages
|
|
108
|
-
*
|
|
108
|
+
* Bills extracted from email-classified messages. Includes upcoming bills,
|
|
109
|
+
* overdue bills, and bills that need a reviewed due date.
|
|
109
110
|
*/
|
|
110
111
|
upcomingBills: LifeOpsUpcomingBill[];
|
|
111
112
|
gmailSubscriptionAuditId: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-types.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/payment-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"payment-types.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/payment-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priority-scoring.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/priority-scoring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"priority-scoring.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/priority-scoring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgMD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CA2EtC;AAED,iEAAiE;AACjE,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D"}
|