@elizaos/app-core 2.0.0-alpha.215 → 2.0.0-alpha.223
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/actions/emote.js +1 -1
- package/apps/app-elizamaker/src/twitter-verify.js +1 -1
- package/apps/app-lifeops/src/action.js +1 -1
- package/apps/app-lifeops/src/actions/app-blocker.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/app-blocker.js +11 -5
- package/apps/app-lifeops/src/actions/approval.d.ts +21 -0
- package/apps/app-lifeops/src/actions/approval.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/approval.js +340 -0
- package/apps/app-lifeops/src/actions/autofill.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/autofill.js +29 -4
- package/apps/app-lifeops/src/actions/book-travel.d.ts +10 -0
- package/apps/app-lifeops/src/actions/book-travel.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/book-travel.js +539 -0
- package/apps/app-lifeops/src/actions/calendar.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/calendar.js +39 -16
- package/apps/app-lifeops/src/actions/calendly.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/calendly.js +24 -3
- package/apps/app-lifeops/src/actions/checkin.d.ts +6 -2
- package/apps/app-lifeops/src/actions/checkin.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/checkin.js +83 -6
- package/apps/app-lifeops/src/actions/computer-use.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/computer-use.js +12 -6
- package/apps/app-lifeops/src/actions/cross-channel-send.d.ts +13 -3
- package/apps/app-lifeops/src/actions/cross-channel-send.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/cross-channel-send.js +62 -57
- package/apps/app-lifeops/src/actions/device-bus.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/device-bus.js +38 -5
- package/apps/app-lifeops/src/actions/dossier.js +1 -1
- package/apps/app-lifeops/src/actions/email-unsubscribe.d.ts +5 -0
- package/apps/app-lifeops/src/actions/email-unsubscribe.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/email-unsubscribe.js +172 -0
- package/apps/app-lifeops/src/actions/feature-toggle.d.ts +3 -0
- package/apps/app-lifeops/src/actions/feature-toggle.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/feature-toggle.js +200 -0
- package/apps/app-lifeops/src/actions/gmail.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/gmail.js +289 -173
- package/apps/app-lifeops/src/actions/health.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/health.js +17 -2
- package/apps/app-lifeops/src/actions/inbox.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/inbox.js +168 -72
- package/apps/app-lifeops/src/actions/intent-sync.d.ts +3 -1
- package/apps/app-lifeops/src/actions/intent-sync.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/intent-sync.js +38 -24
- package/apps/app-lifeops/src/actions/life-goal-extractor.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/life-goal-extractor.js +69 -3
- package/apps/app-lifeops/src/actions/life-param-extractor.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/life-param-extractor.js +2 -0
- package/apps/app-lifeops/src/actions/life-recent-context.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/life-recent-context.js +14 -20
- package/apps/app-lifeops/src/actions/life.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/life.extractor.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/life.extractor.js +6 -11
- package/apps/app-lifeops/src/actions/life.js +29 -62
- package/apps/app-lifeops/src/actions/lifeops-google-helpers.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/lifeops-google-helpers.js +19 -1
- package/apps/app-lifeops/src/actions/list-remote-sessions.js +1 -1
- package/apps/app-lifeops/src/actions/non-actionable-request.d.ts +14 -0
- package/apps/app-lifeops/src/actions/non-actionable-request.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/non-actionable-request.js +25 -0
- package/apps/app-lifeops/src/actions/owner-app-block.d.ts +12 -0
- package/apps/app-lifeops/src/actions/owner-app-block.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/owner-app-block.js +136 -0
- package/apps/app-lifeops/src/actions/owner-calendar.d.ts +14 -0
- package/apps/app-lifeops/src/actions/owner-calendar.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/owner-calendar.js +679 -0
- package/apps/app-lifeops/src/actions/owner-inbox.d.ts +5 -0
- package/apps/app-lifeops/src/actions/owner-inbox.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/owner-inbox.js +646 -0
- package/apps/app-lifeops/src/actions/owner-remote-desktop.d.ts +12 -0
- package/apps/app-lifeops/src/actions/owner-remote-desktop.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/owner-remote-desktop.js +163 -0
- package/apps/app-lifeops/src/actions/owner-schedule.d.ts +3 -0
- package/apps/app-lifeops/src/actions/owner-schedule.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/owner-schedule.js +160 -0
- package/apps/app-lifeops/src/actions/owner-screen-time.d.ts +10 -0
- package/apps/app-lifeops/src/actions/owner-screen-time.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/owner-screen-time.js +194 -0
- package/apps/app-lifeops/src/actions/owner-website-block.d.ts +12 -0
- package/apps/app-lifeops/src/actions/owner-website-block.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/owner-website-block.js +391 -0
- package/apps/app-lifeops/src/actions/password-manager.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/password-manager.js +8 -3
- package/apps/app-lifeops/src/actions/relationships.d.ts +2 -1
- package/apps/app-lifeops/src/actions/relationships.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/relationships.js +227 -24
- package/apps/app-lifeops/src/actions/remote-desktop.js +3 -3
- package/apps/app-lifeops/src/actions/revoke-remote-session.js +1 -1
- package/apps/app-lifeops/src/actions/scheduling.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/scheduling.js +47 -22
- package/apps/app-lifeops/src/actions/search-across-channels.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/search-across-channels.js +16 -15
- package/apps/app-lifeops/src/actions/start-remote-session.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/start-remote-session.js +4 -3
- package/apps/app-lifeops/src/actions/subscriptions.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/subscriptions.js +11 -0
- package/apps/app-lifeops/src/actions/twilio-call.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/twilio-call.js +13 -9
- package/apps/app-lifeops/src/actions/update-owner-profile.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/update-owner-profile.js +35 -6
- package/apps/app-lifeops/src/actions/website-blocker.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/website-blocker.js +21 -10
- package/apps/app-lifeops/src/actions/x-read.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/x-read.js +16 -5
- package/apps/app-lifeops/src/activity-profile/activity-tracker-reporting.d.ts +7 -0
- package/apps/app-lifeops/src/activity-profile/activity-tracker-reporting.d.ts.map +1 -1
- package/apps/app-lifeops/src/activity-profile/activity-tracker-reporting.js +17 -5
- package/apps/app-lifeops/src/activity-profile/analyzer.d.ts.map +1 -1
- package/apps/app-lifeops/src/activity-profile/analyzer.js +19 -3
- package/apps/app-lifeops/src/activity-profile/proactive-planner.d.ts.map +1 -1
- package/apps/app-lifeops/src/activity-profile/proactive-planner.js +40 -6
- package/apps/app-lifeops/src/activity-profile/proactive-worker.d.ts +1 -1
- package/apps/app-lifeops/src/activity-profile/proactive-worker.d.ts.map +1 -1
- package/apps/app-lifeops/src/activity-profile/proactive-worker.js +35 -5
- package/apps/app-lifeops/src/activity-profile/service.d.ts.map +1 -1
- package/apps/app-lifeops/src/activity-profile/service.js +18 -1
- package/apps/app-lifeops/src/dossier/action.js +1 -1
- package/apps/app-lifeops/src/followup/actions/listOverdueFollowups.js +1 -1
- package/apps/app-lifeops/src/followup/actions/markFollowupDone.js +1 -1
- package/apps/app-lifeops/src/followup/actions/setFollowupThreshold.js +1 -1
- package/apps/app-lifeops/src/followup/followup-tracker.d.ts +4 -0
- package/apps/app-lifeops/src/followup/followup-tracker.d.ts.map +1 -1
- package/apps/app-lifeops/src/followup/followup-tracker.js +32 -4
- package/apps/app-lifeops/src/followup/index.d.ts +1 -1
- package/apps/app-lifeops/src/followup/index.d.ts.map +1 -1
- package/apps/app-lifeops/src/followup/index.js +1 -1
- package/apps/app-lifeops/src/inbox/types.d.ts +1 -0
- package/apps/app-lifeops/src/inbox/types.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/app-state.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/app-state.js +2 -1
- package/apps/app-lifeops/src/lifeops/approval-queue.d.ts +24 -0
- package/apps/app-lifeops/src/lifeops/approval-queue.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/approval-queue.js +271 -0
- package/apps/app-lifeops/src/lifeops/approval-queue.types.d.ts +32 -1
- package/apps/app-lifeops/src/lifeops/approval-queue.types.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/background-planner-dispatch.d.ts +2 -1
- package/apps/app-lifeops/src/lifeops/background-planner-dispatch.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/background-planner-dispatch.js +6 -1
- package/apps/app-lifeops/src/lifeops/background-planner.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/background-planner.js +45 -0
- package/apps/app-lifeops/src/lifeops/browser-session-lifecycle.d.ts +57 -0
- package/apps/app-lifeops/src/lifeops/browser-session-lifecycle.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/browser-session-lifecycle.js +267 -0
- package/apps/app-lifeops/src/lifeops/calendly-client.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/calendly-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/calendly-client.js +17 -3
- package/apps/app-lifeops/src/lifeops/checkin/checkin-service.d.ts +4 -1
- package/apps/app-lifeops/src/lifeops/checkin/checkin-service.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/checkin/checkin-service.js +46 -26
- package/apps/app-lifeops/src/lifeops/checkin/types.d.ts +6 -0
- package/apps/app-lifeops/src/lifeops/checkin/types.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/email-unsubscribe-gmail.d.ts +64 -0
- package/apps/app-lifeops/src/lifeops/email-unsubscribe-gmail.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/email-unsubscribe-gmail.js +270 -0
- package/apps/app-lifeops/src/lifeops/email-unsubscribe-types.d.ts +67 -0
- package/apps/app-lifeops/src/lifeops/email-unsubscribe-types.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/email-unsubscribe-types.js +1 -0
- package/apps/app-lifeops/src/lifeops/engine.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/engine.js +9 -11
- package/apps/app-lifeops/src/lifeops/feature-flags.d.ts +20 -0
- package/apps/app-lifeops/src/lifeops/feature-flags.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/feature-flags.js +237 -0
- package/apps/app-lifeops/src/lifeops/feature-flags.types.d.ts +119 -0
- package/apps/app-lifeops/src/lifeops/feature-flags.types.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/feature-flags.types.js +165 -0
- package/apps/app-lifeops/src/lifeops/goal-grounding.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/goal-grounding.js +1 -6
- package/apps/app-lifeops/src/lifeops/goal-semantic-evaluator.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/goal-semantic-evaluator.js +8 -2
- package/apps/app-lifeops/src/lifeops/google-scopes.d.ts +2 -0
- package/apps/app-lifeops/src/lifeops/google-scopes.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/google-scopes.js +11 -0
- package/apps/app-lifeops/src/lifeops/health-bridge.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/health-bridge.js +2 -3
- package/apps/app-lifeops/src/lifeops/intent-sync.d.ts +11 -8
- package/apps/app-lifeops/src/lifeops/intent-sync.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/intent-sync.js +123 -8
- package/apps/app-lifeops/src/lifeops/notifications-push.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/notifications-push.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/notifications-push.js +4 -2
- package/apps/app-lifeops/src/lifeops/password-manager-bridge.d.ts +1 -0
- package/apps/app-lifeops/src/lifeops/password-manager-bridge.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/password-manager-bridge.js +3 -1
- package/apps/app-lifeops/src/lifeops/remote-desktop.d.ts +1 -0
- package/apps/app-lifeops/src/lifeops/remote-desktop.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/remote-desktop.js +1 -0
- package/apps/app-lifeops/src/lifeops/repository.d.ts +37 -4
- package/apps/app-lifeops/src/lifeops/repository.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/repository.js +401 -683
- package/apps/app-lifeops/src/lifeops/runtime.d.ts +4 -0
- package/apps/app-lifeops/src/lifeops/runtime.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/runtime.js +43 -29
- package/apps/app-lifeops/src/lifeops/schedule-insight.d.ts +63 -0
- package/apps/app-lifeops/src/lifeops/schedule-insight.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/schedule-insight.js +589 -0
- package/apps/app-lifeops/src/lifeops/schedule-state.d.ts +39 -0
- package/apps/app-lifeops/src/lifeops/schedule-state.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/schedule-state.js +625 -0
- package/apps/app-lifeops/src/lifeops/schedule-sync-client.d.ts +35 -0
- package/apps/app-lifeops/src/lifeops/schedule-sync-client.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/schedule-sync-client.js +184 -0
- package/apps/app-lifeops/src/lifeops/schedule-sync-contracts.d.ts +86 -0
- package/apps/app-lifeops/src/lifeops/schedule-sync-contracts.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/schedule-sync-contracts.js +22 -0
- package/apps/app-lifeops/src/lifeops/schema.d.ts +2403 -590
- package/apps/app-lifeops/src/lifeops/schema.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/schema.js +87 -1
- package/apps/app-lifeops/src/lifeops/service-helpers-browser.d.ts +10 -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 +11 -2
- package/apps/app-lifeops/src/lifeops/service-mixin-browser.js +117 -40
- package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts +2 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-core.js +4 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-discord.js +1 -6
- package/apps/app-lifeops/src/lifeops/service-mixin-email-unsubscribe.d.ts +2 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-email-unsubscribe.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-email-unsubscribe.js +320 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-goals.js +15 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-reminders.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-reminders.js +330 -23
- package/apps/app-lifeops/src/lifeops/service-mixin-scheduling.js +168 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-screentime.js +174 -29
- package/apps/app-lifeops/src/lifeops/service-mixin-signal.js +39 -22
- package/apps/app-lifeops/src/lifeops/service-mixin-subscriptions.js +32 -3
- package/apps/app-lifeops/src/lifeops/service-mixin-travel.d.ts +33 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-travel.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-travel.js +274 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-whatsapp.js +24 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-workflows.js +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-x-read.js +58 -4
- package/apps/app-lifeops/src/lifeops/service-normalize-calendar.d.ts +1 -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 +11 -0
- package/apps/app-lifeops/src/lifeops/service-normalize-connector.js +1 -1
- package/apps/app-lifeops/src/lifeops/service-types.d.ts +7 -0
- package/apps/app-lifeops/src/lifeops/service-types.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service.d.ts +188 -36
- package/apps/app-lifeops/src/lifeops/service.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service.js +3 -1
- package/apps/app-lifeops/src/lifeops/signal-auth.d.ts +4 -1
- package/apps/app-lifeops/src/lifeops/signal-auth.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/signal-auth.js +5 -3
- package/apps/app-lifeops/src/lifeops/signal-local-client.d.ts +61 -0
- package/apps/app-lifeops/src/lifeops/signal-local-client.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/signal-local-client.js +120 -0
- package/apps/app-lifeops/src/lifeops/subscriptions-playbooks.d.ts +13 -1
- package/apps/app-lifeops/src/lifeops/subscriptions-playbooks.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/subscriptions-playbooks.js +595 -0
- package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.d.ts +181 -0
- package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.js +397 -0
- package/apps/app-lifeops/src/lifeops/travel-booking.types.d.ts +46 -0
- package/apps/app-lifeops/src/lifeops/travel-booking.types.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/travel-booking.types.js +1 -0
- package/apps/app-lifeops/src/lifeops/twilio.js +1 -1
- package/apps/app-lifeops/src/lifeops/unified-search.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/unified-search.js +13 -1
- package/apps/app-lifeops/src/lifeops/x-poster.js +1 -1
- package/apps/app-lifeops/src/lifeops/x402-payment-handler.d.ts +85 -0
- package/apps/app-lifeops/src/lifeops/x402-payment-handler.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/x402-payment-handler.js +142 -0
- package/apps/app-lifeops/src/plugin.d.ts +4 -5
- package/apps/app-lifeops/src/plugin.d.ts.map +1 -1
- package/apps/app-lifeops/src/plugin.js +55 -70
- package/apps/app-lifeops/src/provider.js +1 -1
- package/apps/app-lifeops/src/providers/activity-profile.js +1 -1
- package/apps/app-lifeops/src/providers/cross-channel-context.js +1 -1
- package/apps/app-lifeops/src/providers/inbox-triage.js +3 -3
- package/apps/app-lifeops/src/providers/lifeops.d.ts.map +1 -1
- package/apps/app-lifeops/src/providers/lifeops.js +19 -17
- package/apps/app-lifeops/src/providers/website-blocker.js +1 -1
- package/apps/app-lifeops/src/routes/lifeops-browser-packaging.d.ts +12 -1
- package/apps/app-lifeops/src/routes/lifeops-browser-packaging.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/lifeops-browser-packaging.js +91 -3
- package/apps/app-lifeops/src/routes/lifeops-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/lifeops-routes.js +196 -10
- package/apps/app-lifeops/src/routes/plugin.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/plugin.js +20 -3
- package/apps/app-lifeops/src/routes/website-blocker-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/website-blocker-routes.js +3 -2
- package/apps/app-lifeops/src/travel-time/action.js +1 -1
- package/apps/app-lifeops/src/website-blocker/chat-integration/actions/blockUntilTaskComplete.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/chat-integration/actions/blockUntilTaskComplete.js +22 -3
- package/apps/app-lifeops/src/website-blocker/chat-integration/actions/listActiveBlocks.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/chat-integration/actions/listActiveBlocks.js +35 -9
- package/apps/app-lifeops/src/website-blocker/chat-integration/block-rule-service.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/chat-integration/block-rule-service.js +40 -90
- package/apps/app-lifeops/src/website-blocker/engine.d.ts +6 -0
- package/apps/app-lifeops/src/website-blocker/engine.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/engine.js +209 -6
- package/apps/app-steward/src/api/tx-service.js +1 -1
- package/apps/app-steward/src/api/wallet-routes.js +1 -1
- package/apps/app-training/src/core/context-catalog.d.ts.map +1 -1
- package/apps/app-training/src/core/context-catalog.js +6 -0
- package/apps/app-training/src/core/ensure-cron-job.d.ts +53 -0
- package/apps/app-training/src/core/ensure-cron-job.d.ts.map +1 -0
- package/apps/app-training/src/core/ensure-cron-job.js +46 -0
- package/apps/app-training/src/core/skill-scoring-cron.d.ts +2 -2
- package/apps/app-training/src/core/skill-scoring-cron.d.ts.map +1 -1
- package/apps/app-training/src/core/skill-scoring-cron.js +12 -11
- package/apps/app-training/src/core/trajectory-export-cron.d.ts.map +1 -1
- package/apps/app-training/src/core/trajectory-export-cron.js +10 -9
- package/i18n/locales/en.json +55 -1
- package/package.json +8 -6
- package/packages/agent/src/actions/agent-inbox.d.ts +14 -0
- package/packages/agent/src/actions/agent-inbox.d.ts.map +1 -0
- package/packages/agent/src/actions/agent-inbox.js +124 -0
- package/packages/agent/src/actions/connector-resolver.d.ts +1 -1
- package/packages/agent/src/actions/connector-resolver.d.ts.map +1 -1
- package/packages/agent/src/actions/connector-resolver.js +5 -4
- package/packages/agent/src/actions/eject-plugin.d.ts +3 -0
- package/packages/agent/src/actions/eject-plugin.d.ts.map +1 -0
- package/packages/agent/src/actions/eject-plugin.js +80 -0
- package/packages/agent/src/actions/entity-actions.d.ts.map +1 -1
- package/packages/agent/src/actions/entity-actions.js +6 -5
- package/packages/agent/src/actions/get-self-status.d.ts +13 -0
- package/packages/agent/src/actions/get-self-status.d.ts.map +1 -0
- package/packages/agent/src/actions/get-self-status.js +107 -0
- package/packages/agent/src/actions/grounded-action-reply.d.ts +1 -1
- package/packages/agent/src/actions/grounded-action-reply.d.ts.map +1 -1
- package/packages/agent/src/actions/grounded-action-reply.js +3 -23
- package/packages/agent/src/actions/index.d.ts +18 -0
- package/packages/agent/src/actions/index.d.ts.map +1 -0
- package/packages/agent/src/actions/index.js +17 -0
- package/packages/agent/src/actions/install-plugin.d.ts +3 -0
- package/packages/agent/src/actions/install-plugin.d.ts.map +1 -0
- package/packages/agent/src/actions/install-plugin.js +97 -0
- package/packages/agent/src/actions/list-ejected.d.ts +3 -0
- package/packages/agent/src/actions/list-ejected.d.ts.map +1 -0
- package/packages/agent/src/actions/list-ejected.js +79 -0
- package/packages/agent/src/actions/log-level.d.ts +3 -0
- package/packages/agent/src/actions/log-level.d.ts.map +1 -0
- package/packages/agent/src/actions/log-level.js +126 -0
- package/packages/agent/src/actions/media.d.ts +21 -0
- package/packages/agent/src/actions/media.d.ts.map +1 -0
- package/packages/agent/src/actions/media.js +504 -0
- package/packages/agent/src/actions/read-messages.d.ts +14 -0
- package/packages/agent/src/actions/read-messages.d.ts.map +1 -0
- package/packages/agent/src/actions/read-messages.js +258 -0
- package/packages/agent/src/actions/recent-conversation-texts.d.ts.map +1 -1
- package/packages/agent/src/actions/recent-conversation-texts.js +6 -11
- package/packages/agent/src/actions/reinject-plugin.d.ts +3 -0
- package/packages/agent/src/actions/reinject-plugin.d.ts.map +1 -0
- package/packages/agent/src/actions/reinject-plugin.js +79 -0
- package/packages/agent/src/actions/send-message.d.ts.map +1 -1
- package/packages/agent/src/actions/send-message.js +11 -6
- package/packages/agent/src/actions/set-user-name.d.ts.map +1 -1
- package/packages/agent/src/actions/set-user-name.js +4 -9
- package/packages/agent/src/actions/stream-control.d.ts +11 -0
- package/packages/agent/src/actions/stream-control.d.ts.map +1 -0
- package/packages/agent/src/actions/stream-control.js +182 -0
- package/packages/agent/src/actions/sync-plugin.d.ts +3 -0
- package/packages/agent/src/actions/sync-plugin.d.ts.map +1 -0
- package/packages/agent/src/actions/sync-plugin.js +76 -0
- package/packages/agent/src/api/chat-routes.d.ts +1 -0
- package/packages/agent/src/api/chat-routes.d.ts.map +1 -1
- package/packages/agent/src/api/chat-routes.js +7 -20
- package/packages/agent/src/api/client-chat-admin.d.ts +19 -0
- package/packages/agent/src/api/client-chat-admin.d.ts.map +1 -0
- package/packages/agent/src/api/client-chat-admin.js +27 -0
- package/packages/agent/src/api/cloud-features-routes.d.ts +29 -0
- package/packages/agent/src/api/cloud-features-routes.d.ts.map +1 -0
- package/packages/agent/src/api/cloud-features-routes.js +190 -0
- package/packages/agent/src/api/compat-utils.d.ts.map +1 -1
- package/packages/agent/src/api/compat-utils.js +1 -5
- package/packages/agent/src/api/conversation-metadata.d.ts.map +1 -1
- package/packages/agent/src/api/conversation-metadata.js +2 -13
- package/packages/agent/src/api/conversation-routes.d.ts +1 -0
- package/packages/agent/src/api/conversation-routes.d.ts.map +1 -1
- package/packages/agent/src/api/conversation-routes.js +16 -23
- package/packages/agent/src/api/duffel-relay-routes.d.ts +47 -0
- package/packages/agent/src/api/duffel-relay-routes.d.ts.map +1 -0
- package/packages/agent/src/api/duffel-relay-routes.js +178 -0
- package/packages/agent/src/api/index.d.ts +1 -0
- package/packages/agent/src/api/index.d.ts.map +1 -1
- package/packages/agent/src/api/index.js +1 -0
- package/packages/agent/src/api/misc-routes.d.ts.map +1 -1
- package/packages/agent/src/api/misc-routes.js +1 -6
- package/packages/agent/src/api/onboarding-routes.d.ts.map +1 -1
- package/packages/agent/src/api/onboarding-routes.js +1 -5
- package/packages/agent/src/api/provider-switch-config.d.ts.map +1 -1
- package/packages/agent/src/api/provider-switch-config.js +2 -12
- package/packages/agent/src/api/server-helpers-swarm.d.ts.map +1 -1
- package/packages/agent/src/api/server-helpers-swarm.js +2 -2
- package/packages/agent/src/api/server.d.ts.map +1 -1
- package/packages/agent/src/api/server.js +70 -31
- package/packages/agent/src/config/index.d.ts +1 -0
- package/packages/agent/src/config/index.d.ts.map +1 -1
- package/packages/agent/src/config/index.js +1 -0
- package/packages/agent/src/diagnostics/index.d.ts +2 -0
- package/packages/agent/src/diagnostics/index.d.ts.map +1 -0
- package/packages/agent/src/diagnostics/index.js +1 -0
- package/packages/agent/src/providers/conversation-utils.d.ts.map +1 -1
- package/packages/agent/src/providers/conversation-utils.js +2 -11
- package/packages/agent/src/providers/media-provider.d.ts +192 -0
- package/packages/agent/src/providers/media-provider.d.ts.map +1 -0
- package/packages/agent/src/providers/media-provider.js +1088 -0
- package/packages/agent/src/providers/rolodex.d.ts.map +1 -1
- package/packages/agent/src/providers/rolodex.js +2 -1
- package/packages/agent/src/providers/skill-provider.d.ts.map +1 -1
- package/packages/agent/src/providers/skill-provider.js +8 -13
- package/packages/agent/src/runtime/eliza-plugin.d.ts.map +1 -1
- package/packages/agent/src/runtime/eliza-plugin.js +4 -1
- package/packages/agent/src/runtime/index.d.ts +1 -0
- package/packages/agent/src/runtime/index.d.ts.map +1 -1
- package/packages/agent/src/runtime/index.js +1 -0
- package/packages/agent/src/runtime/plugin-role-gating.d.ts.map +1 -1
- package/packages/agent/src/runtime/plugin-role-gating.js +1 -0
- package/packages/agent/src/runtime/roles/src/action.d.ts.map +1 -1
- package/packages/agent/src/runtime/roles/src/action.js +23 -35
- package/packages/agent/src/runtime/roles/src/intent.d.ts.map +1 -1
- package/packages/agent/src/runtime/roles/src/intent.js +6 -11
- package/packages/agent/src/runtime/trajectory-internals.d.ts +2 -1
- package/packages/agent/src/runtime/trajectory-internals.d.ts.map +1 -1
- package/packages/agent/src/runtime/trajectory-internals.js +2 -8
- package/packages/agent/src/security/index.d.ts +4 -0
- package/packages/agent/src/security/index.d.ts.map +1 -0
- package/packages/agent/src/security/index.js +3 -0
- package/packages/agent/src/services/relationships-graph.d.ts +9 -0
- package/packages/agent/src/services/relationships-graph.d.ts.map +1 -1
- package/packages/agent/src/services/relationships-graph.js +28 -8
- package/packages/app-core/src/api/client-n8n.d.ts +1 -0
- package/packages/app-core/src/api/client-n8n.d.ts.map +1 -1
- package/packages/app-core/src/api/client-n8n.js +3 -0
- package/packages/app-core/src/api/client-types-chat.d.ts +24 -0
- package/packages/app-core/src/api/client-types-chat.d.ts.map +1 -1
- package/packages/app-core/src/api/cloud-routes.js +1 -1
- package/packages/app-core/src/api/n8n-routes.d.ts +10 -0
- package/packages/app-core/src/api/n8n-routes.d.ts.map +1 -1
- package/packages/app-core/src/api/n8n-routes.js +105 -0
- package/packages/app-core/src/api/plugins-compat-routes.d.ts.map +1 -1
- package/packages/app-core/src/api/plugins-compat-routes.js +1 -6
- package/packages/app-core/src/benchmark/replay-capture.d.ts.map +1 -1
- package/packages/app-core/src/benchmark/replay-capture.js +1 -5
- package/packages/app-core/src/components/apps/babylon-data.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/babylon-data.js +1 -5
- package/packages/app-core/src/components/chat/AppsSection.d.ts.map +1 -1
- package/packages/app-core/src/components/chat/AppsSection.js +11 -14
- package/packages/app-core/src/components/chat/widgets/plugins/agent-orchestrator.d.ts.map +1 -1
- package/packages/app-core/src/components/chat/widgets/plugins/agent-orchestrator.js +96 -22
- package/packages/app-core/src/components/pages/AutomationRoomChatPane.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/AutomationRoomChatPane.js +177 -11
- package/packages/app-core/src/components/pages/AutomationsView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/AutomationsView.js +271 -54
- package/packages/app-core/src/components/pages/BrowserWorkspaceView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/BrowserWorkspaceView.js +148 -12
- package/packages/app-core/src/components/pages/HeartbeatForm.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/HeartbeatForm.js +64 -4
- package/packages/app-core/src/components/pages/N8nWorkflowsPanel.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/N8nWorkflowsPanel.js +24 -12
- package/packages/app-core/src/components/pages/SettingsView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/SettingsView.js +21 -1
- package/packages/app-core/src/components/pages/WorkflowGraphViewer.d.ts +23 -0
- package/packages/app-core/src/components/pages/WorkflowGraphViewer.d.ts.map +1 -0
- package/packages/app-core/src/components/pages/WorkflowGraphViewer.js +303 -0
- package/packages/app-core/src/components/pages/heartbeat-utils.d.ts +22 -0
- package/packages/app-core/src/components/pages/heartbeat-utils.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/heartbeat-utils.js +61 -18
- package/packages/app-core/src/components/settings/FeatureTogglesSection.d.ts +20 -0
- package/packages/app-core/src/components/settings/FeatureTogglesSection.d.ts.map +1 -0
- package/packages/app-core/src/components/settings/FeatureTogglesSection.js +155 -0
- package/packages/app-core/src/hooks/useWorkflowGenerationState.d.ts +23 -0
- package/packages/app-core/src/hooks/useWorkflowGenerationState.d.ts.map +1 -0
- package/packages/app-core/src/hooks/useWorkflowGenerationState.js +45 -0
- package/packages/app-core/src/i18n/locales/en.json +55 -1
- package/packages/app-core/src/navigation/index.d.ts.map +1 -1
- package/packages/app-core/src/navigation/index.js +4 -0
- package/packages/app-core/src/state/AppContext.js +2 -2
- package/packages/app-core/src/state/config-readers.d.ts +2 -1
- package/packages/app-core/src/state/config-readers.d.ts.map +1 -1
- package/packages/app-core/src/state/config-readers.js +3 -11
- package/packages/app-core/src/state/parsers.d.ts.map +1 -1
- package/packages/app-core/src/state/parsers.js +11 -0
- package/packages/shared/src/awareness/index.d.ts +2 -0
- package/packages/shared/src/awareness/index.d.ts.map +1 -0
- package/packages/shared/src/awareness/index.js +1 -0
- package/packages/shared/src/awareness/registry.d.ts +27 -0
- package/packages/shared/src/awareness/registry.d.ts.map +1 -0
- package/packages/shared/src/awareness/registry.js +161 -0
- package/packages/shared/src/contracts/lifeops-extensions.d.ts +2 -0
- package/packages/shared/src/contracts/lifeops-extensions.d.ts.map +1 -1
- package/packages/shared/src/contracts/lifeops.d.ts +94 -2
- package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
- package/packages/shared/src/contracts/lifeops.js +22 -0
- package/packages/shared/src/contracts/service-routing.d.ts.map +1 -1
- package/packages/shared/src/contracts/service-routing.js +1 -5
- package/packages/shared/src/index.d.ts +2 -0
- package/packages/shared/src/index.d.ts.map +1 -1
- package/packages/shared/src/index.js +2 -0
- package/packages/shared/src/recent-messages-state.d.ts +10 -0
- package/packages/shared/src/recent-messages-state.d.ts.map +1 -0
- package/packages/shared/src/recent-messages-state.js +11 -0
- package/packages/shared/src/type-guards.d.ts +29 -0
- package/packages/shared/src/type-guards.d.ts.map +1 -0
- package/packages/shared/src/type-guards.js +43 -0
- package/packages/typescript/src/actions.d.ts.map +1 -1
- package/packages/typescript/src/actions.js +11 -0
- package/packages/typescript/src/database/inMemoryAdapter.d.ts.map +1 -1
- package/packages/typescript/src/database/inMemoryAdapter.js +14 -2
- 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 -1
- package/packages/typescript/src/features/advanced-capabilities/actions/settings.js +2 -2
- package/packages/typescript/src/features/advanced-capabilities/evaluators/reflection.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/evaluators/reflection.js +49 -5
- package/packages/typescript/src/features/basic-capabilities/providers/actions.js +2 -2
- package/packages/typescript/src/features/plugin-manager/providers/relevance.d.ts.map +1 -1
- package/packages/typescript/src/features/plugin-manager/providers/relevance.js +12 -7
- package/packages/typescript/src/prompts.d.ts +4 -4
- package/packages/typescript/src/prompts.d.ts.map +1 -1
- package/packages/typescript/src/prompts.js +2 -0
- package/packages/typescript/src/runtime.d.ts.map +1 -1
- package/packages/typescript/src/runtime.js +27 -4
- package/packages/typescript/src/services/message.d.ts +4 -1
- package/packages/typescript/src/services/message.d.ts.map +1 -1
- package/packages/typescript/src/services/message.js +602 -193
- package/packages/typescript/src/services/relationships.d.ts.map +1 -1
- package/packages/typescript/src/services/relationships.js +34 -0
- package/packages/typescript/src/services/task.d.ts.map +1 -1
- package/packages/typescript/src/services/task.js +14 -7
- package/packages/typescript/src/utils/context-catalog.d.ts.map +1 -1
- package/packages/typescript/src/utils/context-catalog.js +7 -0
- package/styles/styles.css +2 -0
- package/packages/agent/src/runtime/task-heartbeat.d.ts +0 -22
- package/packages/agent/src/runtime/task-heartbeat.d.ts.map +0 -1
- package/packages/agent/src/runtime/task-heartbeat.js +0 -84
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* companion app. Session gating is applied at the plugin level
|
|
6
6
|
* (`gatePluginSessionForHostedApp`).
|
|
7
7
|
*/
|
|
8
|
-
import { hasRoleAccess } from "@elizaos/agent/security
|
|
8
|
+
import { hasRoleAccess } from "@elizaos/agent/security";
|
|
9
9
|
import { AGENT_EMOTE_BY_ID, AGENT_EMOTE_CATALOG } from "../emotes/catalog.js";
|
|
10
10
|
/** API port for posting emote requests (matches dashboard static server default). */
|
|
11
11
|
const API_PORT = process.env.API_PORT || process.env.SERVER_PORT || "2138";
|
|
@@ -10,7 +10,7 @@ import fs from "node:fs";
|
|
|
10
10
|
import path from "node:path";
|
|
11
11
|
import { logger } from "@elizaos/core";
|
|
12
12
|
import { resolveStateDir } from "@elizaos/agent/config/paths";
|
|
13
|
-
import { createIntegrationTelemetrySpan } from "@elizaos/agent/diagnostics
|
|
13
|
+
import { createIntegrationTelemetrySpan } from "@elizaos/agent/diagnostics";
|
|
14
14
|
const WHITELIST_FILE = "whitelist.json";
|
|
15
15
|
// ── Verification Message ─────────────────────────────────────────────────
|
|
16
16
|
export function generateVerificationMessage(agentName, walletAddress) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { hasAdminAccess } from "@elizaos/agent/security
|
|
1
|
+
import { hasAdminAccess } from "@elizaos/agent/security";
|
|
2
2
|
import { LifeOpsService, LifeOpsServiceError } from "./lifeops/service.js";
|
|
3
3
|
const URL_RE = /https?:\/\/[^\s)]+/i;
|
|
4
4
|
function getMessageText(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-blocker.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/app-blocker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAKP,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"app-blocker.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/app-blocker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAKP,MAAM,eAAe,CAAC;AA2MvB,eAAO,MAAM,eAAe,EAAE,MAAM,GAAG;IACrC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAwN1C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MA6D/B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MA2ErC,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { recentConversationTexts as collectRecentConversationTexts } from "./lif
|
|
|
5
5
|
function getMessageText(message) {
|
|
6
6
|
return typeof message.content?.text === "string" ? message.content.text : "";
|
|
7
7
|
}
|
|
8
|
+
const APP_BLOCK_INTENT_RE = /\b(block|blocking|blocked|unblock|unblocking|shield|app block|block apps|phone apps|focus mode|restrict apps)\b/i;
|
|
8
9
|
function normalizeShouldAct(value) {
|
|
9
10
|
if (typeof value === "boolean") {
|
|
10
11
|
return value;
|
|
@@ -159,7 +160,7 @@ export const blockAppsAction = {
|
|
|
159
160
|
suppressPostActionContinuation: true,
|
|
160
161
|
validate: async (runtime, message) => {
|
|
161
162
|
const access = await getAppBlockerAccess(runtime, message);
|
|
162
|
-
return access.allowed;
|
|
163
|
+
return access.allowed && APP_BLOCK_INTENT_RE.test(getMessageText(message));
|
|
163
164
|
},
|
|
164
165
|
handler: async (runtime, message, state, options) => {
|
|
165
166
|
const access = await getAppBlockerAccess(runtime, message);
|
|
@@ -215,12 +216,17 @@ export const blockAppsAction = {
|
|
|
215
216
|
explicitPackageNames.length === 0 &&
|
|
216
217
|
!appTokens) {
|
|
217
218
|
return {
|
|
218
|
-
success:
|
|
219
|
+
success: false,
|
|
219
220
|
text: llmPlan.response ??
|
|
220
221
|
(status.platform === "ios"
|
|
221
222
|
? "Select the iPhone apps in the mobile app picker first, then I can start the block."
|
|
222
223
|
: "Tell me which installed apps to block so I can match them exactly on your device."),
|
|
223
|
-
|
|
224
|
+
values: {
|
|
225
|
+
success: false,
|
|
226
|
+
error: "PLANNER_SHOULDACT_FALSE",
|
|
227
|
+
noop: true,
|
|
228
|
+
},
|
|
229
|
+
data: { noop: true, error: "PLANNER_SHOULDACT_FALSE" },
|
|
224
230
|
};
|
|
225
231
|
}
|
|
226
232
|
const packageNames = explicitPackageNames.length > 0
|
|
@@ -330,7 +336,7 @@ export const unblockAppsAction = {
|
|
|
330
336
|
descriptionCompressed: "Admin: remove app block, unshield all apps.",
|
|
331
337
|
validate: async (runtime, message) => {
|
|
332
338
|
const access = await getAppBlockerAccess(runtime, message);
|
|
333
|
-
return access.allowed;
|
|
339
|
+
return access.allowed && APP_BLOCK_INTENT_RE.test(getMessageText(message));
|
|
334
340
|
},
|
|
335
341
|
handler: async (runtime, message) => {
|
|
336
342
|
const access = await getAppBlockerAccess(runtime, message);
|
|
@@ -387,7 +393,7 @@ export const getAppBlockStatusAction = {
|
|
|
387
393
|
descriptionCompressed: "Admin: check if app block is active.",
|
|
388
394
|
validate: async (runtime, message) => {
|
|
389
395
|
const access = await getAppBlockerAccess(runtime, message);
|
|
390
|
-
return access.allowed;
|
|
396
|
+
return access.allowed && APP_BLOCK_INTENT_RE.test(getMessageText(message));
|
|
391
397
|
},
|
|
392
398
|
handler: async (runtime, message) => {
|
|
393
399
|
const access = await getAppBlockerAccess(runtime, message);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* APPROVE_REQUEST / REJECT_REQUEST actions.
|
|
3
|
+
*
|
|
4
|
+
* These resolve a pending `ApprovalRequest` from the LifeOps approval queue
|
|
5
|
+
* (WS6). Parameter extraction is LLM-driven: the handler asks TEXT_LARGE to
|
|
6
|
+
* pick the target request id and a resolution reason from the incoming
|
|
7
|
+
* message plus a snapshot of the queue. The prompt is multilingual — the
|
|
8
|
+
* model is instructed to understand any language and to echo the reason in
|
|
9
|
+
* the user's language.
|
|
10
|
+
*/
|
|
11
|
+
import type { Action, ActionResult, HandlerCallback, IAgentRuntime } from "@elizaos/core";
|
|
12
|
+
import { type ApprovalQueue, type ApprovalRequest } from "../lifeops/approval-queue.types.js";
|
|
13
|
+
export declare function executeApprovedRequest(args: {
|
|
14
|
+
runtime: IAgentRuntime;
|
|
15
|
+
queue: ApprovalQueue;
|
|
16
|
+
request: ApprovalRequest;
|
|
17
|
+
callback?: HandlerCallback;
|
|
18
|
+
}): Promise<ActionResult>;
|
|
19
|
+
export declare const approveRequestAction: Action;
|
|
20
|
+
export declare const rejectRequestAction: Action;
|
|
21
|
+
//# sourceMappingURL=approval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/approval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,MAAM,EAEN,YAAY,EACZ,eAAe,EACf,aAAa,EAEd,MAAM,eAAe,CAAC;AAIvB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,eAAe,EAErB,MAAM,oCAAoC,CAAC;AAoG5C,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,GAAG,OAAO,CAAC,YAAY,CAAC,CAoGxB;AAgFD,eAAO,MAAM,oBAAoB,EAAE,MA6ClC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MA6CjC,CAAC"}
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* APPROVE_REQUEST / REJECT_REQUEST actions.
|
|
3
|
+
*
|
|
4
|
+
* These resolve a pending `ApprovalRequest` from the LifeOps approval queue
|
|
5
|
+
* (WS6). Parameter extraction is LLM-driven: the handler asks TEXT_LARGE to
|
|
6
|
+
* pick the target request id and a resolution reason from the incoming
|
|
7
|
+
* message plus a snapshot of the queue. The prompt is multilingual — the
|
|
8
|
+
* model is instructed to understand any language and to echo the reason in
|
|
9
|
+
* the user's language.
|
|
10
|
+
*/
|
|
11
|
+
import { ModelType, logger, parseJSONObjectFromText } from "@elizaos/core";
|
|
12
|
+
import { hasOwnerAccess } from "@elizaos/agent/security";
|
|
13
|
+
import { createApprovalQueue } from "../lifeops/approval-queue.js";
|
|
14
|
+
import { ApprovalNotFoundError, ApprovalStateTransitionError, } from "../lifeops/approval-queue.types.js";
|
|
15
|
+
import { executeApprovedBookTravel } from "./book-travel.js";
|
|
16
|
+
import { dispatchCrossChannelSend, } from "./cross-channel-send.js";
|
|
17
|
+
import { LifeOpsService } from "../lifeops/service.js";
|
|
18
|
+
import { INTERNAL_URL } from "./lifeops-google-helpers.js";
|
|
19
|
+
function formatPending(requests) {
|
|
20
|
+
if (requests.length === 0)
|
|
21
|
+
return "(no pending requests)";
|
|
22
|
+
return requests
|
|
23
|
+
.map((r, i) => {
|
|
24
|
+
const payloadSummary = JSON.stringify(r.payload);
|
|
25
|
+
return `${i + 1}. id=${r.id} action=${r.action} channel=${r.channel} reason=${r.reason} payload=${payloadSummary}`;
|
|
26
|
+
})
|
|
27
|
+
.join("\n");
|
|
28
|
+
}
|
|
29
|
+
async function extractResolution(runtime, userText, intent, pending) {
|
|
30
|
+
if (pending.length === 0) {
|
|
31
|
+
return { requestId: null, reason: null };
|
|
32
|
+
}
|
|
33
|
+
if (typeof runtime.useModel !== "function") {
|
|
34
|
+
if (pending.length === 1) {
|
|
35
|
+
return {
|
|
36
|
+
requestId: pending[0].id,
|
|
37
|
+
reason: userText.trim() || `user ${intent}d`,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return { requestId: null, reason: null };
|
|
41
|
+
}
|
|
42
|
+
const prompt = `You are resolving an approval queue decision.
|
|
43
|
+
The user wants to ${intent} one of the pending requests below.
|
|
44
|
+
Understand the user's message in any language. Echo the reason in the user's language.
|
|
45
|
+
|
|
46
|
+
User message:
|
|
47
|
+
"""
|
|
48
|
+
${userText}
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
Pending requests:
|
|
52
|
+
${formatPending(pending)}
|
|
53
|
+
|
|
54
|
+
Respond as strict JSON with exactly these keys:
|
|
55
|
+
{
|
|
56
|
+
"requestId": "<id of the single targeted request, or null if ambiguous>",
|
|
57
|
+
"reason": "<short human-readable reason in the user's language, or null if none given>"
|
|
58
|
+
}`;
|
|
59
|
+
const raw = await runtime.useModel(ModelType.TEXT_LARGE, { prompt });
|
|
60
|
+
const parsed = parseJSONObjectFromText(typeof raw === "string" ? raw : "");
|
|
61
|
+
if (!parsed || typeof parsed !== "object") {
|
|
62
|
+
return { requestId: null, reason: null };
|
|
63
|
+
}
|
|
64
|
+
const record = parsed;
|
|
65
|
+
const requestId = typeof record.requestId === "string" && record.requestId.length > 0
|
|
66
|
+
? record.requestId
|
|
67
|
+
: null;
|
|
68
|
+
const reason = typeof record.reason === "string" && record.reason.length > 0
|
|
69
|
+
? record.reason
|
|
70
|
+
: null;
|
|
71
|
+
return { requestId, reason };
|
|
72
|
+
}
|
|
73
|
+
function denied(reason) {
|
|
74
|
+
return {
|
|
75
|
+
text: "",
|
|
76
|
+
success: false,
|
|
77
|
+
data: { error: reason },
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function approvalChannelToCrossChannelSend(channel) {
|
|
81
|
+
switch (channel) {
|
|
82
|
+
case "telegram":
|
|
83
|
+
case "discord":
|
|
84
|
+
case "imessage":
|
|
85
|
+
case "sms":
|
|
86
|
+
return channel;
|
|
87
|
+
default:
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export async function executeApprovedRequest(args) {
|
|
92
|
+
if (args.request.action === "book_travel") {
|
|
93
|
+
return executeApprovedBookTravel(args);
|
|
94
|
+
}
|
|
95
|
+
const service = new LifeOpsService(args.runtime);
|
|
96
|
+
if (args.request.action === "send_email") {
|
|
97
|
+
const payload = args.request.payload;
|
|
98
|
+
if (payload.action !== "send_email") {
|
|
99
|
+
throw new Error(`[approval] action/payload mismatch: action=send_email, payload.action=${payload.action}`);
|
|
100
|
+
}
|
|
101
|
+
await args.queue.markExecuting(args.request.id);
|
|
102
|
+
if (payload.replyToMessageId) {
|
|
103
|
+
await service.sendGmailReply(INTERNAL_URL, {
|
|
104
|
+
messageId: payload.replyToMessageId,
|
|
105
|
+
bodyText: payload.body,
|
|
106
|
+
subject: payload.subject || undefined,
|
|
107
|
+
to: payload.to.length > 0 ? [...payload.to] : undefined,
|
|
108
|
+
cc: payload.cc.length > 0 ? [...payload.cc] : undefined,
|
|
109
|
+
confirmSend: true,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
await service.sendGmailMessage(INTERNAL_URL, {
|
|
114
|
+
to: [...payload.to],
|
|
115
|
+
cc: [...payload.cc],
|
|
116
|
+
bcc: [...payload.bcc],
|
|
117
|
+
subject: payload.subject,
|
|
118
|
+
bodyText: payload.body,
|
|
119
|
+
confirmSend: true,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
const done = await args.queue.markDone(args.request.id);
|
|
123
|
+
const text = payload.to.length > 0
|
|
124
|
+
? `Approved and sent email to ${payload.to.join(", ")}.`
|
|
125
|
+
: "Approved and sent the Gmail reply.";
|
|
126
|
+
await args.callback?.({ text });
|
|
127
|
+
return {
|
|
128
|
+
text,
|
|
129
|
+
success: true,
|
|
130
|
+
data: {
|
|
131
|
+
requestId: done.id,
|
|
132
|
+
state: done.state,
|
|
133
|
+
action: done.action,
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
if (args.request.action === "send_message") {
|
|
138
|
+
const channel = approvalChannelToCrossChannelSend(args.request.channel);
|
|
139
|
+
if (!channel) {
|
|
140
|
+
return denied("UNSUPPORTED_APPROVAL_CHANNEL");
|
|
141
|
+
}
|
|
142
|
+
const payload = args.request.payload;
|
|
143
|
+
if (payload.action !== "send_message") {
|
|
144
|
+
throw new Error(`[approval] action/payload mismatch: action=send_message, payload.action=${payload.action}`);
|
|
145
|
+
}
|
|
146
|
+
await args.queue.markExecuting(args.request.id);
|
|
147
|
+
const dispatch = await dispatchCrossChannelSend({
|
|
148
|
+
runtime: args.runtime,
|
|
149
|
+
service,
|
|
150
|
+
channel,
|
|
151
|
+
target: payload.recipient,
|
|
152
|
+
body: payload.body,
|
|
153
|
+
});
|
|
154
|
+
if (!dispatch.success) {
|
|
155
|
+
return dispatch;
|
|
156
|
+
}
|
|
157
|
+
const done = await args.queue.markDone(args.request.id);
|
|
158
|
+
const text = `Approved and sent ${channel} message.`;
|
|
159
|
+
await args.callback?.({ text });
|
|
160
|
+
return {
|
|
161
|
+
text,
|
|
162
|
+
success: true,
|
|
163
|
+
data: {
|
|
164
|
+
requestId: done.id,
|
|
165
|
+
state: done.state,
|
|
166
|
+
action: done.action,
|
|
167
|
+
channel,
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
logger.info(`[ApprovalAction] approved ${args.request.id} without executor`);
|
|
172
|
+
const text = `Approved request ${args.request.id}.`;
|
|
173
|
+
await args.callback?.({ text });
|
|
174
|
+
return {
|
|
175
|
+
text,
|
|
176
|
+
success: true,
|
|
177
|
+
data: {
|
|
178
|
+
requestId: args.request.id,
|
|
179
|
+
state: args.request.state,
|
|
180
|
+
action: args.request.action,
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
async function resolveApprovalRequest(runtime, message, intent, callback) {
|
|
185
|
+
if (!(await hasOwnerAccess(runtime, message))) {
|
|
186
|
+
return denied("PERMISSION_DENIED");
|
|
187
|
+
}
|
|
188
|
+
const subjectUserId = typeof message.entityId === "string" ? message.entityId : "";
|
|
189
|
+
if (!subjectUserId) {
|
|
190
|
+
return denied("MISSING_SUBJECT_USER");
|
|
191
|
+
}
|
|
192
|
+
const queue = createApprovalQueue(runtime, { agentId: runtime.agentId });
|
|
193
|
+
const pending = await queue.list({
|
|
194
|
+
subjectUserId,
|
|
195
|
+
state: "pending",
|
|
196
|
+
action: null,
|
|
197
|
+
limit: 20,
|
|
198
|
+
});
|
|
199
|
+
const userText = typeof message.content?.text === "string" ? message.content.text : "";
|
|
200
|
+
const extracted = await extractResolution(runtime, userText, intent, pending);
|
|
201
|
+
if (!extracted.requestId) {
|
|
202
|
+
const text = pending.length === 0
|
|
203
|
+
? "There are no pending approval requests."
|
|
204
|
+
: "Which request? Please reference it by id or describe it.";
|
|
205
|
+
if (callback)
|
|
206
|
+
await callback({ text });
|
|
207
|
+
return {
|
|
208
|
+
text,
|
|
209
|
+
success: false,
|
|
210
|
+
data: { error: "REQUEST_ID_NOT_RESOLVED", pendingCount: pending.length },
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
const resolution = {
|
|
214
|
+
resolvedBy: subjectUserId,
|
|
215
|
+
resolutionReason: extracted.reason ?? `user ${intent}d`,
|
|
216
|
+
};
|
|
217
|
+
try {
|
|
218
|
+
const updated = intent === "approve"
|
|
219
|
+
? await queue.approve(extracted.requestId, resolution)
|
|
220
|
+
: await queue.reject(extracted.requestId, resolution);
|
|
221
|
+
if (intent === "approve") {
|
|
222
|
+
return executeApprovedRequest({
|
|
223
|
+
runtime,
|
|
224
|
+
queue,
|
|
225
|
+
request: updated,
|
|
226
|
+
callback,
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
logger.info(`[ApprovalAction] ${intent} ${updated.id} by ${subjectUserId}`);
|
|
230
|
+
const text = `Rejected request ${updated.id}.`;
|
|
231
|
+
if (callback)
|
|
232
|
+
await callback({ text });
|
|
233
|
+
return {
|
|
234
|
+
text,
|
|
235
|
+
success: true,
|
|
236
|
+
data: {
|
|
237
|
+
requestId: updated.id,
|
|
238
|
+
state: updated.state,
|
|
239
|
+
action: updated.action,
|
|
240
|
+
},
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
catch (error) {
|
|
244
|
+
if (error instanceof ApprovalNotFoundError) {
|
|
245
|
+
return denied("REQUEST_NOT_FOUND");
|
|
246
|
+
}
|
|
247
|
+
if (error instanceof ApprovalStateTransitionError) {
|
|
248
|
+
return denied("INVALID_STATE_TRANSITION");
|
|
249
|
+
}
|
|
250
|
+
throw error;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
export const approveRequestAction = {
|
|
254
|
+
name: "APPROVE_REQUEST",
|
|
255
|
+
similes: [
|
|
256
|
+
"APPROVE",
|
|
257
|
+
"CONFIRM_REQUEST",
|
|
258
|
+
"ACCEPT_REQUEST",
|
|
259
|
+
"YES_DO_IT",
|
|
260
|
+
"GO_AHEAD",
|
|
261
|
+
],
|
|
262
|
+
description: "Approve a pending action that the agent queued for human confirmation (send message, schedule event, book travel, etc.). Understands any language.",
|
|
263
|
+
validate: async (runtime, message) => hasOwnerAccess(runtime, message),
|
|
264
|
+
handler: async (runtime, message, _state, _options, callback) => resolveApprovalRequest(runtime, message, "approve", callback),
|
|
265
|
+
parameters: [],
|
|
266
|
+
examples: [
|
|
267
|
+
[
|
|
268
|
+
{
|
|
269
|
+
name: "{{name1}}",
|
|
270
|
+
content: {
|
|
271
|
+
text: "Yeah, go ahead and send that draft to Marco.",
|
|
272
|
+
},
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
name: "{{agentName}}",
|
|
276
|
+
content: {
|
|
277
|
+
text: "Approved request req-8821.",
|
|
278
|
+
},
|
|
279
|
+
},
|
|
280
|
+
],
|
|
281
|
+
[
|
|
282
|
+
{
|
|
283
|
+
name: "{{name1}}",
|
|
284
|
+
content: {
|
|
285
|
+
text: "sounds good, do it",
|
|
286
|
+
},
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
name: "{{agentName}}",
|
|
290
|
+
content: {
|
|
291
|
+
text: "Approved request req-8912.",
|
|
292
|
+
},
|
|
293
|
+
},
|
|
294
|
+
],
|
|
295
|
+
],
|
|
296
|
+
};
|
|
297
|
+
export const rejectRequestAction = {
|
|
298
|
+
name: "REJECT_REQUEST",
|
|
299
|
+
similes: [
|
|
300
|
+
"REJECT",
|
|
301
|
+
"DENY_REQUEST",
|
|
302
|
+
"DECLINE_REQUEST",
|
|
303
|
+
"CANCEL_REQUEST",
|
|
304
|
+
"NO_DONT",
|
|
305
|
+
],
|
|
306
|
+
description: "Reject a pending action that the agent queued for human confirmation. Understands any language.",
|
|
307
|
+
validate: async (runtime, message) => hasOwnerAccess(runtime, message),
|
|
308
|
+
handler: async (runtime, message, _state, _options, callback) => resolveApprovalRequest(runtime, message, "reject", callback),
|
|
309
|
+
parameters: [],
|
|
310
|
+
examples: [
|
|
311
|
+
[
|
|
312
|
+
{
|
|
313
|
+
name: "{{name1}}",
|
|
314
|
+
content: {
|
|
315
|
+
text: "No, don't send that. Let's hold off.",
|
|
316
|
+
},
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
name: "{{agentName}}",
|
|
320
|
+
content: {
|
|
321
|
+
text: "Rejected request req-8821.",
|
|
322
|
+
},
|
|
323
|
+
},
|
|
324
|
+
],
|
|
325
|
+
[
|
|
326
|
+
{
|
|
327
|
+
name: "{{name1}}",
|
|
328
|
+
content: {
|
|
329
|
+
text: "Skip the one about the dinner reservation — we'll do it another day.",
|
|
330
|
+
},
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
name: "{{agentName}}",
|
|
334
|
+
content: {
|
|
335
|
+
text: "Rejected request req-9014.",
|
|
336
|
+
},
|
|
337
|
+
},
|
|
338
|
+
],
|
|
339
|
+
],
|
|
340
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autofill.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/autofill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAEL,KAAK,MAAM,EAMZ,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"autofill.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/autofill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAEL,KAAK,MAAM,EAMZ,MAAM,eAAe,CAAC;AA6BvB,iBAAe,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAK3E;AAED,iBAAe,eAAe,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,iBAAe,kBAAkB,CAC/B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAY5B;AA2FD,eAAO,MAAM,sBAAsB,EAAE,MAkLpC,CAAC;AAOF,eAAO,MAAM,0BAA0B,EAAE,MA6HxC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MA8DzC,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;CAKtB,CAAC"}
|
|
@@ -19,8 +19,10 @@
|
|
|
19
19
|
* credential.
|
|
20
20
|
*/
|
|
21
21
|
import { logger, } from "@elizaos/core";
|
|
22
|
-
import { hasOwnerAccess } from "@elizaos/agent/security
|
|
22
|
+
import { hasOwnerAccess } from "@elizaos/agent/security";
|
|
23
23
|
import { DEFAULT_AUTOFILL_WHITELIST, extractRegistrableDomain, isUrlWhitelisted, normalizeAutofillDomain, } from "../lifeops/autofill-whitelist.js";
|
|
24
|
+
import { requireFeatureEnabled } from "../lifeops/feature-flags.js";
|
|
25
|
+
import { FeatureNotEnabledError } from "../lifeops/feature-flags.types.js";
|
|
24
26
|
const FIELD_PURPOSES = ["email", "password", "name", "phone", "custom"];
|
|
25
27
|
const WHITELIST_CACHE_KEY = "eliza:lifeops-autofill-whitelist";
|
|
26
28
|
const DEVICE_BUS_URL_ENV = "MILADY_DEVICE_BUS_URL";
|
|
@@ -40,8 +42,9 @@ async function loadUserDomains(runtime) {
|
|
|
40
42
|
return cached.filter((v) => typeof v === "string");
|
|
41
43
|
}
|
|
42
44
|
async function saveUserDomains(runtime, domains) {
|
|
43
|
-
if (!hasRuntimeCache(runtime))
|
|
44
|
-
|
|
45
|
+
if (!hasRuntimeCache(runtime)) {
|
|
46
|
+
throw new Error("AUTOFILL_WHITELIST_CACHE_UNAVAILABLE");
|
|
47
|
+
}
|
|
45
48
|
await runtime.setCache(WHITELIST_CACHE_KEY, domains);
|
|
46
49
|
}
|
|
47
50
|
async function effectiveWhitelist(runtime) {
|
|
@@ -128,6 +131,18 @@ export const requestFieldFillAction = {
|
|
|
128
131
|
if (!(await hasOwnerAccess(runtime, message))) {
|
|
129
132
|
return failure("REQUEST_FIELD_FILL", "PERMISSION_DENIED");
|
|
130
133
|
}
|
|
134
|
+
try {
|
|
135
|
+
await requireFeatureEnabled(runtime, "browser.automation");
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
if (error instanceof FeatureNotEnabledError) {
|
|
139
|
+
return failure("REQUEST_FIELD_FILL", error.code, {
|
|
140
|
+
featureKey: error.featureKey,
|
|
141
|
+
message: error.message,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
throw error;
|
|
145
|
+
}
|
|
131
146
|
const params = options?.parameters ?? {};
|
|
132
147
|
const tabUrl = (params.tabUrl ?? "").toString().trim();
|
|
133
148
|
if (!tabUrl)
|
|
@@ -308,7 +323,17 @@ export const addAutofillWhitelistAction = {
|
|
|
308
323
|
};
|
|
309
324
|
}
|
|
310
325
|
const next = [...existingNormalized, normalized];
|
|
311
|
-
|
|
326
|
+
try {
|
|
327
|
+
await saveUserDomains(runtime, next);
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
331
|
+
logger.warn({ action: "ADD_AUTOFILL_WHITELIST", domain: normalized, detail }, `[ADD_AUTOFILL_WHITELIST] failed to persist ${normalized}: ${detail}`);
|
|
332
|
+
return failure("ADD_AUTOFILL_WHITELIST", "PERSISTENCE_UNAVAILABLE", {
|
|
333
|
+
domain: normalized,
|
|
334
|
+
detail,
|
|
335
|
+
});
|
|
336
|
+
}
|
|
312
337
|
logger.info({ action: "ADD_AUTOFILL_WHITELIST", domain: normalized }, `[ADD_AUTOFILL_WHITELIST] added ${normalized} to user whitelist`);
|
|
313
338
|
return {
|
|
314
339
|
text: `Added ${normalized} to the autofill whitelist.`,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Action, ActionResult, HandlerCallback, IAgentRuntime } from "@elizaos/core";
|
|
2
|
+
import type { ApprovalQueue, ApprovalRequest } from "../lifeops/approval-queue.types.js";
|
|
3
|
+
export declare function executeApprovedBookTravel(args: {
|
|
4
|
+
runtime: IAgentRuntime;
|
|
5
|
+
queue: ApprovalQueue;
|
|
6
|
+
request: ApprovalRequest;
|
|
7
|
+
callback?: HandlerCallback;
|
|
8
|
+
}): Promise<ActionResult>;
|
|
9
|
+
export declare const bookTravelAction: Action;
|
|
10
|
+
//# sourceMappingURL=book-travel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"book-travel.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/book-travel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAEN,YAAY,EACZ,eAAe,EAEf,aAAa,EAGd,MAAM,eAAe,CAAC;AAIvB,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAChB,MAAM,oCAAoC,CAAC;AA8Q5C,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,GAAG,OAAO,CAAC,YAAY,CAAC,CAgExB;AAED,eAAO,MAAM,gBAAgB,EAAE,MAsT9B,CAAC"}
|