@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
|
@@ -18,6 +18,10 @@ function configuredDiscordDesktopCdpPort(env = process.env) {
|
|
|
18
18
|
? parsed
|
|
19
19
|
: DEFAULT_DISCORD_DESKTOP_CDP_PORT;
|
|
20
20
|
}
|
|
21
|
+
function discordDesktopCdpDisabled(env = process.env) {
|
|
22
|
+
return (env.MILADY_DISABLE_DISCORD_DESKTOP_CDP === "1" ||
|
|
23
|
+
env.ELIZA_DISABLE_DISCORD_DESKTOP_CDP === "1");
|
|
24
|
+
}
|
|
21
25
|
function isRecord(value) {
|
|
22
26
|
return Boolean(value) && typeof value === "object";
|
|
23
27
|
}
|
|
@@ -69,9 +73,18 @@ function normalizeCdpTarget(value) {
|
|
|
69
73
|
}
|
|
70
74
|
return { id, type, title, url, webSocketDebuggerUrl };
|
|
71
75
|
}
|
|
76
|
+
function isDiscordHost(url) {
|
|
77
|
+
try {
|
|
78
|
+
const hostname = new URL(url).hostname;
|
|
79
|
+
return hostname === "discord.com" || hostname.endsWith(".discord.com");
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
72
85
|
function pickDiscordTarget(targets) {
|
|
73
86
|
const pageTargets = targets.filter((target) => target.type === "page" && target.webSocketDebuggerUrl);
|
|
74
|
-
return (pageTargets.find((target) => target.url
|
|
87
|
+
return (pageTargets.find((target) => isDiscordHost(target.url) || /discord/i.test(target.title)) ??
|
|
75
88
|
pageTargets[0] ??
|
|
76
89
|
null);
|
|
77
90
|
}
|
|
@@ -192,6 +205,21 @@ async function evaluateDiscordProbe(webSocketDebuggerUrl) {
|
|
|
192
205
|
export async function getDiscordDesktopCdpStatus(env = process.env) {
|
|
193
206
|
const platform = process.platform;
|
|
194
207
|
const port = configuredDiscordDesktopCdpPort(env);
|
|
208
|
+
if (discordDesktopCdpDisabled(env)) {
|
|
209
|
+
return {
|
|
210
|
+
supported: platform === "darwin",
|
|
211
|
+
platform,
|
|
212
|
+
port,
|
|
213
|
+
appRunning: false,
|
|
214
|
+
cdpAvailable: false,
|
|
215
|
+
browserVersion: null,
|
|
216
|
+
targetUrl: null,
|
|
217
|
+
targetTitle: null,
|
|
218
|
+
webSocketDebuggerUrl: null,
|
|
219
|
+
probe: null,
|
|
220
|
+
lastError: "Discord Desktop CDP disabled by environment.",
|
|
221
|
+
};
|
|
222
|
+
}
|
|
195
223
|
const appRunning = platform === "darwin" ? await discordAppRunning() : false;
|
|
196
224
|
if (platform !== "darwin") {
|
|
197
225
|
return {
|
|
@@ -280,6 +308,194 @@ async function waitForDiscordCdpReady(env) {
|
|
|
280
308
|
}
|
|
281
309
|
return latest;
|
|
282
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* Send a message to a Discord channel by driving the user's Discord Desktop
|
|
313
|
+
* app through CDP. The local-execution path uses the user's own Discord
|
|
314
|
+
* client, so the send appears as if the user typed it. This avoids the bot
|
|
315
|
+
* REST path returning "Missing Access" on channels the bot is not a member
|
|
316
|
+
* of (which is most DMs), and matches the same trust model as reads.
|
|
317
|
+
*/
|
|
318
|
+
export async function sendDiscordViaDesktopCdp(args) {
|
|
319
|
+
const status = await getDiscordDesktopCdpStatus(args.env);
|
|
320
|
+
if (!status.cdpAvailable || !status.webSocketDebuggerUrl) {
|
|
321
|
+
return {
|
|
322
|
+
ok: false,
|
|
323
|
+
navigatedTo: null,
|
|
324
|
+
error: status.lastError ??
|
|
325
|
+
"Discord Desktop CDP is not available; cannot send.",
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
const channelUrl = `https://discord.com/channels/@me/${args.channelId}`;
|
|
329
|
+
try {
|
|
330
|
+
await runDiscordCdpSendScript({
|
|
331
|
+
webSocketDebuggerUrl: status.webSocketDebuggerUrl,
|
|
332
|
+
channelUrl,
|
|
333
|
+
text: args.text,
|
|
334
|
+
});
|
|
335
|
+
return { ok: true, navigatedTo: channelUrl, error: null };
|
|
336
|
+
}
|
|
337
|
+
catch (error) {
|
|
338
|
+
return {
|
|
339
|
+
ok: false,
|
|
340
|
+
navigatedTo: channelUrl,
|
|
341
|
+
error: error instanceof Error ? error.message : String(error),
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
async function runDiscordCdpSendScript(args) {
|
|
346
|
+
const WebSocketConstructor = globalThis.WebSocket;
|
|
347
|
+
if (!WebSocketConstructor) {
|
|
348
|
+
throw new Error("WebSocket is not available in this runtime");
|
|
349
|
+
}
|
|
350
|
+
await new Promise((resolve, reject) => {
|
|
351
|
+
const socket = new WebSocketConstructor(args.webSocketDebuggerUrl);
|
|
352
|
+
let nextId = 1;
|
|
353
|
+
const pending = new Map();
|
|
354
|
+
const overall = setTimeout(() => {
|
|
355
|
+
cleanup();
|
|
356
|
+
reject(new Error("Discord CDP send timed out"));
|
|
357
|
+
}, 25_000);
|
|
358
|
+
const cleanup = () => {
|
|
359
|
+
clearTimeout(overall);
|
|
360
|
+
for (const { reject: rej } of pending.values()) {
|
|
361
|
+
rej(new Error("Discord CDP socket closed"));
|
|
362
|
+
}
|
|
363
|
+
pending.clear();
|
|
364
|
+
try {
|
|
365
|
+
socket.close();
|
|
366
|
+
}
|
|
367
|
+
catch {
|
|
368
|
+
// ignore
|
|
369
|
+
}
|
|
370
|
+
};
|
|
371
|
+
const rpc = (method, params = {}) => new Promise((resolveRpc, rejectRpc) => {
|
|
372
|
+
const id = nextId++;
|
|
373
|
+
pending.set(id, {
|
|
374
|
+
resolve: resolveRpc,
|
|
375
|
+
reject: rejectRpc,
|
|
376
|
+
});
|
|
377
|
+
const envelope = { id, method, params };
|
|
378
|
+
socket.send(JSON.stringify(envelope));
|
|
379
|
+
});
|
|
380
|
+
socket.addEventListener("message", (event) => {
|
|
381
|
+
let payload;
|
|
382
|
+
try {
|
|
383
|
+
payload = JSON.parse(String(event.data));
|
|
384
|
+
}
|
|
385
|
+
catch {
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
if (typeof payload.id !== "number")
|
|
389
|
+
return;
|
|
390
|
+
const callback = pending.get(payload.id);
|
|
391
|
+
if (!callback)
|
|
392
|
+
return;
|
|
393
|
+
pending.delete(payload.id);
|
|
394
|
+
if (payload.error) {
|
|
395
|
+
callback.reject(new Error(payload.error.message ?? `CDP error id=${payload.id}`));
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
callback.resolve(payload.result);
|
|
399
|
+
});
|
|
400
|
+
socket.addEventListener("error", () => {
|
|
401
|
+
cleanup();
|
|
402
|
+
reject(new Error("Discord CDP websocket failed"));
|
|
403
|
+
});
|
|
404
|
+
socket.addEventListener("close", () => {
|
|
405
|
+
cleanup();
|
|
406
|
+
});
|
|
407
|
+
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
408
|
+
socket.addEventListener("open", async () => {
|
|
409
|
+
try {
|
|
410
|
+
// Ensure the page is on the target channel. Setting location.href
|
|
411
|
+
// works inside Discord's renderer where Page.navigate isn't always
|
|
412
|
+
// available without enabling Page domain.
|
|
413
|
+
const navigateExpr = `(() => {
|
|
414
|
+
const target = ${JSON.stringify(args.channelUrl)};
|
|
415
|
+
if (location.href !== target) {
|
|
416
|
+
location.href = target;
|
|
417
|
+
return "navigated";
|
|
418
|
+
}
|
|
419
|
+
return "already";
|
|
420
|
+
})()`;
|
|
421
|
+
await rpc("Runtime.evaluate", {
|
|
422
|
+
expression: navigateExpr,
|
|
423
|
+
returnByValue: true,
|
|
424
|
+
});
|
|
425
|
+
// Give Discord's SPA router time to settle on the channel.
|
|
426
|
+
await sleep(900);
|
|
427
|
+
// Wait until the message editor exists and is focusable. Discord's
|
|
428
|
+
// editor uses Slate.js with a slate-editor div + role="textbox".
|
|
429
|
+
const focusResult = (await rpc("Runtime.evaluate", {
|
|
430
|
+
expression: `
|
|
431
|
+
(async () => {
|
|
432
|
+
const start = Date.now();
|
|
433
|
+
while (Date.now() - start < 6000) {
|
|
434
|
+
const el = document.querySelector(
|
|
435
|
+
'div[role="textbox"][data-slate-editor="true"]'
|
|
436
|
+
);
|
|
437
|
+
if (el) {
|
|
438
|
+
el.scrollIntoView({ block: "end" });
|
|
439
|
+
el.focus();
|
|
440
|
+
if (document.activeElement === el) {
|
|
441
|
+
return { ok: true, focused: true };
|
|
442
|
+
}
|
|
443
|
+
// Click as fallback to force focus.
|
|
444
|
+
const r = el.getBoundingClientRect();
|
|
445
|
+
const ev = new MouseEvent("mousedown", {
|
|
446
|
+
bubbles: true,
|
|
447
|
+
clientX: r.x + r.width / 2,
|
|
448
|
+
clientY: r.y + r.height / 2,
|
|
449
|
+
});
|
|
450
|
+
el.dispatchEvent(ev);
|
|
451
|
+
el.focus();
|
|
452
|
+
if (document.activeElement === el) {
|
|
453
|
+
return { ok: true, focused: true };
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
await new Promise((r) => setTimeout(r, 150));
|
|
457
|
+
}
|
|
458
|
+
return { ok: false, focused: false };
|
|
459
|
+
})()
|
|
460
|
+
`,
|
|
461
|
+
awaitPromise: true,
|
|
462
|
+
returnByValue: true,
|
|
463
|
+
}));
|
|
464
|
+
const focusValue = focusResult?.result?.value;
|
|
465
|
+
if (!focusValue?.ok) {
|
|
466
|
+
throw new Error("Could not focus the Discord message editor for the channel.");
|
|
467
|
+
}
|
|
468
|
+
// Insert text via CDP — bypasses Slate's keystroke rules but the
|
|
469
|
+
// editor still emits proper input events on Input.insertText.
|
|
470
|
+
await rpc("Input.insertText", { text: args.text });
|
|
471
|
+
await sleep(250);
|
|
472
|
+
// Press Enter to send (no Shift modifier so it sends, not newline).
|
|
473
|
+
await rpc("Input.dispatchKeyEvent", {
|
|
474
|
+
type: "keyDown",
|
|
475
|
+
key: "Enter",
|
|
476
|
+
code: "Enter",
|
|
477
|
+
windowsVirtualKeyCode: 13,
|
|
478
|
+
nativeVirtualKeyCode: 13,
|
|
479
|
+
});
|
|
480
|
+
await rpc("Input.dispatchKeyEvent", {
|
|
481
|
+
type: "keyUp",
|
|
482
|
+
key: "Enter",
|
|
483
|
+
code: "Enter",
|
|
484
|
+
windowsVirtualKeyCode: 13,
|
|
485
|
+
nativeVirtualKeyCode: 13,
|
|
486
|
+
});
|
|
487
|
+
// Brief settle for the local echo so callers can observe delivery.
|
|
488
|
+
await sleep(700);
|
|
489
|
+
cleanup();
|
|
490
|
+
resolve();
|
|
491
|
+
}
|
|
492
|
+
catch (error) {
|
|
493
|
+
cleanup();
|
|
494
|
+
reject(error instanceof Error ? error : new Error(String(error)));
|
|
495
|
+
}
|
|
496
|
+
});
|
|
497
|
+
});
|
|
498
|
+
}
|
|
283
499
|
export async function relaunchDiscordDesktopForCdp(env = process.env) {
|
|
284
500
|
const current = await getDiscordDesktopCdpStatus(env);
|
|
285
501
|
if (!current.supported) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-unsubscribe-gmail.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/email-unsubscribe-gmail.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"email-unsubscribe-gmail.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/email-unsubscribe-gmail.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAqED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,+BAA+B,GACtC;IACD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB,CAIA;AA2ED,wBAAsB,6BAA6B,CAAC,IAAI,EAAE;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,+BAA+B,EAAE,CAAC,CAmC7C;AAED,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,EAAE,OAAO,CAAC;CAC7B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA2BtC;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAmBzE;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAyBnC;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CAehB;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBhB"}
|
|
@@ -40,7 +40,9 @@ function parseFromAddress(value) {
|
|
|
40
40
|
}
|
|
41
41
|
function internalDateToIso(value) {
|
|
42
42
|
const ms = value ? Number(value) : NaN;
|
|
43
|
-
return Number.isFinite(ms)
|
|
43
|
+
return Number.isFinite(ms)
|
|
44
|
+
? new Date(ms).toISOString()
|
|
45
|
+
: new Date().toISOString();
|
|
44
46
|
}
|
|
45
47
|
function parseListUnsubscribe(value) {
|
|
46
48
|
if (!value) {
|
|
@@ -85,7 +87,8 @@ async function gmailListIds(args) {
|
|
|
85
87
|
.filter((id) => id.length > 0);
|
|
86
88
|
return {
|
|
87
89
|
ids,
|
|
88
|
-
nextPageToken: typeof parsed.nextPageToken === "string" &&
|
|
90
|
+
nextPageToken: typeof parsed.nextPageToken === "string" &&
|
|
91
|
+
parsed.nextPageToken.length > 0
|
|
89
92
|
? parsed.nextPageToken
|
|
90
93
|
: null,
|
|
91
94
|
};
|
|
@@ -119,7 +122,9 @@ async function gmailFetchHeaders(args) {
|
|
|
119
122
|
listUnsubscribe,
|
|
120
123
|
listUnsubscribePost,
|
|
121
124
|
snippet: parsed.snippet?.trim() ?? "",
|
|
122
|
-
labels: (parsed.labelIds ?? [])
|
|
125
|
+
labels: (parsed.labelIds ?? [])
|
|
126
|
+
.map((label) => label.trim())
|
|
127
|
+
.filter(Boolean),
|
|
123
128
|
};
|
|
124
129
|
}
|
|
125
130
|
export async function fetchGmailSubscriptionHeaders(args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-flags.types.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/feature-flags.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,MAAM,iBAAiB,GACzB,sBAAsB,GACtB,qBAAqB,GACrB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,wBAAwB,GACxB,oBAAoB,GACpB,aAAa,GACb,YAAY,GACZ,cAAc,CAAC;AAEnB,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC;yEACqE;IACrE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAuE9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,iBAAiB,CAMjE,CAAC;AAEH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAET;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,0BAA0B,GAC/B,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAazD;AAED,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,iBAAiB,CAEtC,CAAC;AAEzB,wBAAgB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"feature-flags.types.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/feature-flags.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { logger, ModelType, parseJSONObjectFromText } from "@elizaos/core";
|
|
2
2
|
import { buildGoalSemanticReviewMetadata, } from "./goal-grounding.js";
|
|
3
3
|
const VALID_REVIEW_STATES = new Set([
|
|
4
4
|
"idle",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-calendar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAyHlE,MAAM,WAAW,yBACf,SAAQ,IAAI,CACV,oBAAoB,EACpB,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAClE;CAAG;
|
|
1
|
+
{"version":3,"file":"google-calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-calendar.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,46 +109,41 @@ function normalizeGoogleCalendarEvent(calendarId, event, fallbackTimeZone) {
|
|
|
109
109
|
},
|
|
110
110
|
};
|
|
111
111
|
}
|
|
112
|
-
async function readGoogleCalendarError(response) {
|
|
113
|
-
const text = await response.text();
|
|
114
|
-
if (!text) {
|
|
115
|
-
return `Google Calendar request failed with ${response.status}`;
|
|
116
|
-
}
|
|
117
|
-
try {
|
|
118
|
-
const parsed = JSON.parse(text);
|
|
119
|
-
return parsed.error?.message || text;
|
|
120
|
-
}
|
|
121
|
-
catch {
|
|
122
|
-
return text;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
112
|
export async function fetchGoogleCalendarEvents(args) {
|
|
126
113
|
const calendarId = args.calendarId ?? "primary";
|
|
127
|
-
const
|
|
114
|
+
const baseParams = new URLSearchParams({
|
|
128
115
|
singleEvents: "true",
|
|
129
116
|
orderBy: "startTime",
|
|
130
117
|
showDeleted: "false",
|
|
131
|
-
maxResults: "
|
|
118
|
+
maxResults: "2500",
|
|
132
119
|
timeMin: args.timeMin,
|
|
133
120
|
timeMax: args.timeMax,
|
|
134
|
-
fields: "items(id,status,summary,description,location,htmlLink,hangoutLink,iCalUID,recurringEventId,created,updated,start,end,organizer(email,displayName,self),attendees(email,displayName,responseStatus,self,organizer,optional),conferenceData(entryPoints(uri,label,entryPointType)))",
|
|
121
|
+
fields: "nextPageToken,items(id,status,summary,description,location,htmlLink,hangoutLink,iCalUID,recurringEventId,created,updated,start,end,organizer(email,displayName,self),attendees(email,displayName,responseStatus,self,organizer,optional),conferenceData(entryPoints(uri,label,entryPointType)))",
|
|
135
122
|
});
|
|
136
123
|
if (args.timeZone?.trim()) {
|
|
137
|
-
|
|
124
|
+
baseParams.set("timeZone", args.timeZone.trim());
|
|
138
125
|
}
|
|
139
|
-
const response = await googleApiFetch(`${GOOGLE_CALENDAR_EVENTS_ENDPOINT}/${encodeURIComponent(calendarId)}/events?${params.toString()}`, {
|
|
140
|
-
headers: {
|
|
141
|
-
Authorization: `Bearer ${args.accessToken}`,
|
|
142
|
-
},
|
|
143
|
-
});
|
|
144
|
-
const parsed = (await response.json());
|
|
145
126
|
const events = [];
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
127
|
+
let pageToken;
|
|
128
|
+
do {
|
|
129
|
+
const params = new URLSearchParams(baseParams);
|
|
130
|
+
if (pageToken) {
|
|
131
|
+
params.set("pageToken", pageToken);
|
|
150
132
|
}
|
|
151
|
-
|
|
133
|
+
const response = await googleApiFetch(`${GOOGLE_CALENDAR_EVENTS_ENDPOINT}/${encodeURIComponent(calendarId)}/events?${params.toString()}`, {
|
|
134
|
+
headers: {
|
|
135
|
+
Authorization: `Bearer ${args.accessToken}`,
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
const parsed = (await response.json());
|
|
139
|
+
for (const item of parsed.items ?? []) {
|
|
140
|
+
const normalized = normalizeGoogleCalendarEvent(calendarId, item, args.timeZone);
|
|
141
|
+
if (normalized) {
|
|
142
|
+
events.push(normalized);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
pageToken = parsed.nextPageToken?.trim() || undefined;
|
|
146
|
+
} while (pageToken);
|
|
152
147
|
return events;
|
|
153
148
|
}
|
|
154
149
|
export async function listGoogleCalendars(args) {
|
|
@@ -171,9 +166,7 @@ export async function listGoogleCalendars(args) {
|
|
|
171
166
|
const calendarId = item.id?.trim();
|
|
172
167
|
if (!calendarId)
|
|
173
168
|
continue;
|
|
174
|
-
const summary =
|
|
175
|
-
item.summary?.trim() ||
|
|
176
|
-
calendarId);
|
|
169
|
+
const summary = item.summaryOverride?.trim() || item.summary?.trim() || calendarId;
|
|
177
170
|
entries.push({
|
|
178
171
|
calendarId,
|
|
179
172
|
summary,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-drive.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-drive.ts"],"names":[],"mappings":"AAcA,2DAA2D;AAC3D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"google-drive.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-drive.ts"],"names":[],"mappings":"AAcA,2DAA2D;AAC3D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAmID;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAwBtE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,eAAe,CAAC,CAQ3B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAiBtE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAUhD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,CAAC,CAc/C;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,eAAe,CAAC,CAkF3B;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;CACvD,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB1D"}
|
|
@@ -189,7 +189,13 @@ export async function createDriveFile(args) {
|
|
|
189
189
|
if (typeof args.content === "string") {
|
|
190
190
|
requestBody =
|
|
191
191
|
metaPart +
|
|
192
|
-
[
|
|
192
|
+
[
|
|
193
|
+
`--${boundary}`,
|
|
194
|
+
`Content-Type: ${contentMimeType}`,
|
|
195
|
+
"",
|
|
196
|
+
args.content,
|
|
197
|
+
`--${boundary}--`,
|
|
198
|
+
].join("\r\n");
|
|
193
199
|
}
|
|
194
200
|
else {
|
|
195
201
|
const enc = new TextEncoder();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Rewrite Google API hostnames to a mock base when
|
|
2
|
+
* Rewrite Google API hostnames to a mock base when a Google mock base is set.
|
|
3
3
|
* Used in tests to point all Google API traffic at a Mockoon environment.
|
|
4
4
|
*/
|
|
5
5
|
export declare function rewriteGoogleUrlForMock(url: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-fetch.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-fetch.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"google-fetch.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-fetch.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoB3D;AAsCD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,QAAQ,CAAC,CAgFnB"}
|
|
@@ -4,11 +4,11 @@ const MAX_RETRIES = 2;
|
|
|
4
4
|
const BASE_DELAY_MS = 1_000;
|
|
5
5
|
const TIMEOUT_MS = 10_000;
|
|
6
6
|
/**
|
|
7
|
-
* Rewrite Google API hostnames to a mock base when
|
|
7
|
+
* Rewrite Google API hostnames to a mock base when a Google mock base is set.
|
|
8
8
|
* Used in tests to point all Google API traffic at a Mockoon environment.
|
|
9
9
|
*/
|
|
10
10
|
export function rewriteGoogleUrlForMock(url) {
|
|
11
|
-
const mockBase = process.env.MILADY_MOCK_GOOGLE_BASE;
|
|
11
|
+
const mockBase = process.env.MILADY_MOCK_GOOGLE_BASE ?? process.env.ELIZA_MOCK_GOOGLE_BASE;
|
|
12
12
|
if (!mockBase)
|
|
13
13
|
return url;
|
|
14
14
|
const mockUrl = new URL(mockBase);
|
|
@@ -16,7 +16,7 @@ export function rewriteGoogleUrlForMock(url) {
|
|
|
16
16
|
mockUrl.hostname !== "localhost" &&
|
|
17
17
|
mockUrl.hostname !== "::1" &&
|
|
18
18
|
mockUrl.hostname !== "[::1]") {
|
|
19
|
-
throw new GoogleApiError(409, "
|
|
19
|
+
throw new GoogleApiError(409, "Google mock base must point to loopback for Gmail/Google mock tests.");
|
|
20
20
|
}
|
|
21
21
|
return url.replace(/^https:\/\/(?:gmail|www|oauth2|openidconnect|sheets|docs|fitness)\.googleapis\.com|^https:\/\/accounts\.google\.com/, mockUrl.toString().replace(/\/+$/, ""));
|
|
22
22
|
}
|
|
@@ -45,9 +45,7 @@ function guardRealGmailWrite(method, originalUrl, targetUrl) {
|
|
|
45
45
|
if (targetUrl !== originalUrl) {
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
throw new GoogleApiError(409, "Real Gmail writes are disabled by MILADY_BLOCK_REAL_GMAIL_WRITES. Point MILADY_MOCK_GOOGLE_BASE at Mockoon or set MILADY_ALLOW_REAL_GMAIL_WRITES=1 for an explicitly confirmed real write.");
|
|
50
|
-
}
|
|
48
|
+
throw new GoogleApiError(409, "Real Gmail writes require MILADY_ALLOW_REAL_GMAIL_WRITES=1. Point MILADY_MOCK_GOOGLE_BASE or ELIZA_MOCK_GOOGLE_BASE at a loopback mock for tests or set the allow env var for an explicitly confirmed real write.");
|
|
51
49
|
}
|
|
52
50
|
/**
|
|
53
51
|
* Fetch wrapper for Google APIs with retry, timeout, and structured logging.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-gmail.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-gmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAoE/B,MAAM,WAAW,+BACf,SAAQ,IAAI,CACV,0BAA0B,EAC1B,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAClE;CAAG;AAEN,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,+BAA+B,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kCACf,SAAQ,IAAI,CACV,6BAA6B,EAC7B,WAAW,GAAG,SAAS,GAAG,cAAc,CACzC;IACD,iBAAiB,EAAE,MAAM,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"google-gmail.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-gmail.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,28 +13,13 @@ const GMAIL_METADATA_HEADERS = [
|
|
|
13
13
|
"Reply-To",
|
|
14
14
|
"Message-Id",
|
|
15
15
|
"References",
|
|
16
|
+
"List-Unsubscribe",
|
|
16
17
|
"List-Id",
|
|
17
18
|
"Precedence",
|
|
18
19
|
"Auto-Submitted",
|
|
19
20
|
];
|
|
20
21
|
const GOOGLE_GMAIL_LIST_PAGE_SIZE = 500;
|
|
21
22
|
const GOOGLE_GMAIL_METADATA_CONCURRENCY = 25;
|
|
22
|
-
function readGoogleGmailErrorPrefix(status) {
|
|
23
|
-
return `Google Gmail request failed with ${status}`;
|
|
24
|
-
}
|
|
25
|
-
async function readGoogleGmailError(response) {
|
|
26
|
-
const text = await response.text();
|
|
27
|
-
if (!text) {
|
|
28
|
-
return readGoogleGmailErrorPrefix(response.status);
|
|
29
|
-
}
|
|
30
|
-
try {
|
|
31
|
-
const parsed = JSON.parse(text);
|
|
32
|
-
return parsed.error?.message || text;
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
return text;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
23
|
function splitMailboxHeader(value) {
|
|
39
24
|
const parts = [];
|
|
40
25
|
let current = "";
|
|
@@ -196,8 +181,11 @@ function extractGoogleGmailBody(payload) {
|
|
|
196
181
|
}
|
|
197
182
|
return "";
|
|
198
183
|
}
|
|
199
|
-
function deriveHtmlLink(threadId) {
|
|
200
|
-
|
|
184
|
+
function deriveHtmlLink(threadId, accountEmail) {
|
|
185
|
+
const accountSegment = accountEmail && accountEmail.trim().length > 0
|
|
186
|
+
? encodeURIComponent(accountEmail.trim().toLowerCase())
|
|
187
|
+
: "0";
|
|
188
|
+
return `https://mail.google.com/mail/u/${accountSegment}/#all/${encodeURIComponent(threadId)}`;
|
|
201
189
|
}
|
|
202
190
|
function classifyReplyNeed(args) {
|
|
203
191
|
const labels = new Set(args.labels.map((label) => label.trim().toUpperCase()));
|
|
@@ -290,13 +278,14 @@ function normalizeGoogleGmailMessage(message, selfEmail) {
|
|
|
290
278
|
triageScore: triage.triageScore,
|
|
291
279
|
triageReason: triage.triageReason,
|
|
292
280
|
labels,
|
|
293
|
-
htmlLink: deriveHtmlLink(threadId),
|
|
281
|
+
htmlLink: deriveHtmlLink(threadId, selfEmail),
|
|
294
282
|
metadata: {
|
|
295
283
|
historyId: message.historyId?.trim() || null,
|
|
296
284
|
sizeEstimate: typeof message.sizeEstimate === "number" ? message.sizeEstimate : null,
|
|
297
285
|
dateHeader: readHeaderValue(headers, "Date") || null,
|
|
298
286
|
messageIdHeader: readHeaderValue(headers, "Message-Id") || null,
|
|
299
287
|
referencesHeader: readHeaderValue(headers, "References") || null,
|
|
288
|
+
listUnsubscribe: readHeaderValue(headers, "List-Unsubscribe") || null,
|
|
300
289
|
listId: listId || null,
|
|
301
290
|
precedence: precedence || null,
|
|
302
291
|
autoSubmitted: autoSubmitted || null,
|
|
@@ -327,11 +316,24 @@ export async function fetchGoogleGmailMessage(args) {
|
|
|
327
316
|
for (const header of GMAIL_METADATA_HEADERS) {
|
|
328
317
|
params.append("metadataHeaders", header);
|
|
329
318
|
}
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
319
|
+
let response;
|
|
320
|
+
try {
|
|
321
|
+
response = await googleApiFetch(`${GOOGLE_GMAIL_MESSAGES_ENDPOINT}/${encodeURIComponent(args.messageId)}?${params.toString()}`, {
|
|
322
|
+
headers: {
|
|
323
|
+
Authorization: `Bearer ${args.accessToken}`,
|
|
324
|
+
},
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
catch (error) {
|
|
328
|
+
// A 404 here means the supplied messageId does not match any Gmail
|
|
329
|
+
// message visible to this account — treat it the same as "no result"
|
|
330
|
+
// so callers can render the standard "message not found" fallback
|
|
331
|
+
// instead of leaking the raw Google error string.
|
|
332
|
+
if (error instanceof GoogleApiError && error.status === 404) {
|
|
333
|
+
return null;
|
|
334
|
+
}
|
|
335
|
+
throw error;
|
|
336
|
+
}
|
|
335
337
|
const parsed = (await response.json());
|
|
336
338
|
return normalizeGoogleGmailMessage(parsed, args.selfEmail ?? null);
|
|
337
339
|
}
|
|
@@ -357,11 +359,23 @@ export async function fetchGoogleGmailMessageDetail(args) {
|
|
|
357
359
|
const params = new URLSearchParams({
|
|
358
360
|
format: "full",
|
|
359
361
|
});
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
362
|
+
let response;
|
|
363
|
+
try {
|
|
364
|
+
response = await googleApiFetch(`${GOOGLE_GMAIL_MESSAGES_ENDPOINT}/${encodeURIComponent(args.messageId)}?${params.toString()}`, {
|
|
365
|
+
headers: {
|
|
366
|
+
Authorization: `Bearer ${args.accessToken}`,
|
|
367
|
+
},
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
catch (error) {
|
|
371
|
+
// 404 → treat as "no such message" so the caller's existing
|
|
372
|
+
// "message not found" fallback handles the user-facing response,
|
|
373
|
+
// instead of leaking the raw Google API error string.
|
|
374
|
+
if (error instanceof GoogleApiError && error.status === 404) {
|
|
375
|
+
return null;
|
|
376
|
+
}
|
|
377
|
+
throw error;
|
|
378
|
+
}
|
|
365
379
|
const parsed = (await response.json());
|
|
366
380
|
const message = normalizeGoogleGmailMessage(parsed, args.selfEmail ?? null);
|
|
367
381
|
if (!message) {
|
|
@@ -384,7 +398,10 @@ async function mapWithConcurrency(items, concurrency, mapper) {
|
|
|
384
398
|
cursor += 1;
|
|
385
399
|
if (index >= items.length)
|
|
386
400
|
return;
|
|
387
|
-
|
|
401
|
+
const item = items[index];
|
|
402
|
+
if (item === undefined)
|
|
403
|
+
return;
|
|
404
|
+
results[index] = await mapper(item);
|
|
388
405
|
}
|
|
389
406
|
});
|
|
390
407
|
await Promise.all(workers);
|
|
@@ -454,9 +471,7 @@ async function fetchGoogleGmailMessages(args) {
|
|
|
454
471
|
}
|
|
455
472
|
pageToken = nextPageToken;
|
|
456
473
|
}
|
|
457
|
-
return messages
|
|
458
|
-
.slice(0, maxResults)
|
|
459
|
-
.sort((left, right) => {
|
|
474
|
+
return messages.slice(0, maxResults).sort((left, right) => {
|
|
460
475
|
if (left.isImportant !== right.isImportant) {
|
|
461
476
|
return right.isImportant ? 1 : -1;
|
|
462
477
|
}
|
|
@@ -500,10 +515,11 @@ export async function fetchGoogleGmailUnrespondedThreads(args) {
|
|
|
500
515
|
: 20;
|
|
501
516
|
const now = args.now ?? new Date();
|
|
502
517
|
const selfEmail = args.selfEmail?.trim().toLowerCase() || null;
|
|
518
|
+
const sentCandidateLimit = Math.min(Math.max(maxResults * 5, maxResults), 250);
|
|
503
519
|
const sentCandidates = await fetchGoogleGmailSearchMessages({
|
|
504
520
|
accessToken: args.accessToken,
|
|
505
521
|
selfEmail,
|
|
506
|
-
maxResults,
|
|
522
|
+
maxResults: sentCandidateLimit,
|
|
507
523
|
query: `in:sent older_than:${olderThanDays}d`,
|
|
508
524
|
});
|
|
509
525
|
const seenThreads = new Set();
|