@elizaos/plugin-personal-assistant 2.0.3-beta.6 → 2.0.3-beta.7
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/dist/actions/app-block.d.ts +15 -0
- package/dist/actions/app-block.d.ts.map +1 -0
- package/dist/actions/app-block.js +349 -0
- package/dist/actions/app-block.js.map +1 -0
- package/dist/actions/autofill.d.ts +20 -0
- package/dist/actions/autofill.d.ts.map +1 -0
- package/dist/actions/autofill.js +370 -0
- package/dist/actions/autofill.js.map +1 -0
- package/dist/actions/block.d.ts +30 -0
- package/dist/actions/block.d.ts.map +1 -0
- package/dist/actions/block.js +326 -0
- package/dist/actions/block.js.map +1 -0
- package/dist/actions/book-travel.d.ts +10 -0
- package/dist/actions/book-travel.d.ts.map +1 -0
- package/dist/actions/book-travel.js +467 -0
- package/dist/actions/book-travel.js.map +1 -0
- package/dist/actions/brief.d.ts +60 -0
- package/dist/actions/brief.d.ts.map +1 -0
- package/dist/actions/brief.js +485 -0
- package/dist/actions/brief.js.map +1 -0
- package/dist/actions/calendar.d.ts +22 -0
- package/dist/actions/calendar.d.ts.map +1 -0
- package/dist/actions/calendar.js +832 -0
- package/dist/actions/calendar.js.map +1 -0
- package/dist/actions/conflict-detect.d.ts +67 -0
- package/dist/actions/conflict-detect.d.ts.map +1 -0
- package/dist/actions/conflict-detect.js +310 -0
- package/dist/actions/conflict-detect.js.map +1 -0
- package/dist/actions/connector.d.ts +5 -0
- package/dist/actions/connector.d.ts.map +1 -0
- package/dist/actions/connector.js +1354 -0
- package/dist/actions/connector.js.map +1 -0
- package/dist/actions/credentials.d.ts +14 -0
- package/dist/actions/credentials.d.ts.map +1 -0
- package/dist/actions/credentials.js +191 -0
- package/dist/actions/credentials.js.map +1 -0
- package/dist/actions/document.d.ts +36 -0
- package/dist/actions/document.d.ts.map +1 -0
- package/dist/actions/document.js +613 -0
- package/dist/actions/document.js.map +1 -0
- package/dist/actions/entity.d.ts +20 -0
- package/dist/actions/entity.d.ts.map +1 -0
- package/dist/actions/entity.js +785 -0
- package/dist/actions/entity.js.map +1 -0
- package/dist/actions/health.d.ts +4 -0
- package/dist/actions/health.d.ts.map +1 -0
- package/dist/actions/health.js +37 -0
- package/dist/actions/health.js.map +1 -0
- package/dist/actions/inbox.d.ts +12 -0
- package/dist/actions/inbox.d.ts.map +1 -0
- package/dist/actions/inbox.js +13 -0
- package/dist/actions/inbox.js.map +1 -0
- package/dist/actions/lib/calendly-handler.d.ts +3 -0
- package/dist/actions/lib/calendly-handler.d.ts.map +1 -0
- package/dist/actions/lib/calendly-handler.js +506 -0
- package/dist/actions/lib/calendly-handler.js.map +1 -0
- package/dist/actions/lib/extract-goal-plan.d.ts +69 -0
- package/dist/actions/lib/extract-goal-plan.d.ts.map +1 -0
- package/dist/actions/lib/extract-goal-plan.js +488 -0
- package/dist/actions/lib/extract-goal-plan.js.map +1 -0
- package/dist/actions/lib/extract-life-operation.d.ts +18 -0
- package/dist/actions/lib/extract-life-operation.d.ts.map +1 -0
- package/dist/actions/lib/extract-life-operation.js +318 -0
- package/dist/actions/lib/extract-life-operation.js.map +1 -0
- package/dist/actions/lib/extract-task-plan.d.ts +78 -0
- package/dist/actions/lib/extract-task-plan.d.ts.map +1 -0
- package/dist/actions/lib/extract-task-plan.js +355 -0
- package/dist/actions/lib/extract-task-plan.js.map +1 -0
- package/dist/actions/lib/extract-update-fields.d.ts +27 -0
- package/dist/actions/lib/extract-update-fields.d.ts.map +1 -0
- package/dist/actions/lib/extract-update-fields.js +172 -0
- package/dist/actions/lib/extract-update-fields.js.map +1 -0
- package/dist/actions/lib/lifeops-deferred-draft.d.ts +68 -0
- package/dist/actions/lib/lifeops-deferred-draft.d.ts.map +1 -0
- package/dist/actions/lib/lifeops-deferred-draft.js +315 -0
- package/dist/actions/lib/lifeops-deferred-draft.js.map +1 -0
- package/dist/actions/lib/messaging-helpers.d.ts +20 -0
- package/dist/actions/lib/messaging-helpers.d.ts.map +1 -0
- package/dist/actions/lib/messaging-helpers.js +103 -0
- package/dist/actions/lib/messaging-helpers.js.map +1 -0
- package/dist/actions/lib/owner-policy-writes.d.ts +49 -0
- package/dist/actions/lib/owner-policy-writes.d.ts.map +1 -0
- package/dist/actions/lib/owner-policy-writes.js +157 -0
- package/dist/actions/lib/owner-policy-writes.js.map +1 -0
- package/dist/actions/lib/prompt-format.d.ts +3 -0
- package/dist/actions/lib/prompt-format.d.ts.map +1 -0
- package/dist/actions/lib/prompt-format.js +42 -0
- package/dist/actions/lib/prompt-format.js.map +1 -0
- package/dist/actions/lib/scheduling-handler.d.ts +93 -0
- package/dist/actions/lib/scheduling-handler.d.ts.map +1 -0
- package/dist/actions/lib/scheduling-handler.js +868 -0
- package/dist/actions/lib/scheduling-handler.js.map +1 -0
- package/dist/actions/life.d.ts +13 -0
- package/dist/actions/life.d.ts.map +1 -0
- package/dist/actions/life.js +2524 -0
- package/dist/actions/life.js.map +1 -0
- package/dist/actions/money.d.ts +24 -0
- package/dist/actions/money.d.ts.map +1 -0
- package/dist/actions/money.js +41 -0
- package/dist/actions/money.js.map +1 -0
- package/dist/actions/owner-surfaces.d.ts +11 -0
- package/dist/actions/owner-surfaces.d.ts.map +1 -0
- package/dist/actions/owner-surfaces.js +493 -0
- package/dist/actions/owner-surfaces.js.map +1 -0
- package/dist/actions/password-manager.d.ts +10 -0
- package/dist/actions/password-manager.d.ts.map +1 -0
- package/dist/actions/password-manager.js +195 -0
- package/dist/actions/password-manager.js.map +1 -0
- package/dist/actions/payments.d.ts +10 -0
- package/dist/actions/payments.d.ts.map +1 -0
- package/dist/actions/payments.js +5 -0
- package/dist/actions/payments.js.map +1 -0
- package/dist/actions/prioritize.d.ts +49 -0
- package/dist/actions/prioritize.d.ts.map +1 -0
- package/dist/actions/prioritize.js +313 -0
- package/dist/actions/prioritize.js.map +1 -0
- package/dist/actions/remote-desktop.d.ts +13 -0
- package/dist/actions/remote-desktop.d.ts.map +1 -0
- package/dist/actions/remote-desktop.js +11 -0
- package/dist/actions/remote-desktop.js.map +1 -0
- package/dist/actions/resolve-request.d.ts +12 -0
- package/dist/actions/resolve-request.d.ts.map +1 -0
- package/dist/actions/resolve-request.js +427 -0
- package/dist/actions/resolve-request.js.map +1 -0
- package/dist/actions/schedule.d.ts +10 -0
- package/dist/actions/schedule.d.ts.map +1 -0
- package/dist/actions/schedule.js +113 -0
- package/dist/actions/schedule.js.map +1 -0
- package/dist/actions/scheduled-task.d.ts +32 -0
- package/dist/actions/scheduled-task.d.ts.map +1 -0
- package/dist/actions/scheduled-task.js +661 -0
- package/dist/actions/scheduled-task.js.map +1 -0
- package/dist/actions/screen-time.d.ts +4 -0
- package/dist/actions/screen-time.d.ts.map +1 -0
- package/dist/actions/screen-time.js +47 -0
- package/dist/actions/screen-time.js.map +1 -0
- package/dist/actions/subscriptions.d.ts +8 -0
- package/dist/actions/subscriptions.d.ts.map +1 -0
- package/dist/actions/subscriptions.js +327 -0
- package/dist/actions/subscriptions.js.map +1 -0
- package/dist/actions/voice-call.d.ts +16 -0
- package/dist/actions/voice-call.d.ts.map +1 -0
- package/dist/actions/voice-call.js +756 -0
- package/dist/actions/voice-call.js.map +1 -0
- package/dist/actions/website-block.d.ts +15 -0
- package/dist/actions/website-block.d.ts.map +1 -0
- package/dist/actions/website-block.js +719 -0
- package/dist/actions/website-block.js.map +1 -0
- package/dist/actions/work-thread.d.ts +5 -0
- package/dist/actions/work-thread.d.ts.map +1 -0
- package/dist/actions/work-thread.js +556 -0
- package/dist/actions/work-thread.js.map +1 -0
- package/dist/activity-profile/activity-tracker-repo.d.ts +28 -0
- package/dist/activity-profile/activity-tracker-repo.d.ts.map +1 -0
- package/dist/activity-profile/activity-tracker-repo.js +61 -0
- package/dist/activity-profile/activity-tracker-repo.js.map +1 -0
- package/dist/activity-profile/activity-tracker-reporting.d.ts +52 -0
- package/dist/activity-profile/activity-tracker-reporting.d.ts.map +1 -0
- package/dist/activity-profile/activity-tracker-reporting.js +119 -0
- package/dist/activity-profile/activity-tracker-reporting.js.map +1 -0
- package/dist/activity-profile/activity-tracker-service.d.ts +36 -0
- package/dist/activity-profile/activity-tracker-service.d.ts.map +1 -0
- package/dist/activity-profile/activity-tracker-service.js +187 -0
- package/dist/activity-profile/activity-tracker-service.js.map +1 -0
- package/dist/activity-profile/analyzer.d.ts +23 -0
- package/dist/activity-profile/analyzer.d.ts.map +1 -0
- package/dist/activity-profile/analyzer.js +485 -0
- package/dist/activity-profile/analyzer.js.map +1 -0
- package/dist/activity-profile/presence-signal-bridge-service.d.ts +14 -0
- package/dist/activity-profile/presence-signal-bridge-service.d.ts.map +1 -0
- package/dist/activity-profile/presence-signal-bridge-service.js +159 -0
- package/dist/activity-profile/presence-signal-bridge-service.js.map +1 -0
- package/dist/activity-profile/proactive-inbox-digest.d.ts +3 -0
- package/dist/activity-profile/proactive-inbox-digest.d.ts.map +1 -0
- package/dist/activity-profile/proactive-inbox-digest.js +21 -0
- package/dist/activity-profile/proactive-inbox-digest.js.map +1 -0
- package/dist/activity-profile/proactive-planner.d.ts +150 -0
- package/dist/activity-profile/proactive-planner.d.ts.map +1 -0
- package/dist/activity-profile/proactive-planner.js +529 -0
- package/dist/activity-profile/proactive-planner.js.map +1 -0
- package/dist/activity-profile/proactive-worker.d.ts +33 -0
- package/dist/activity-profile/proactive-worker.d.ts.map +1 -0
- package/dist/activity-profile/proactive-worker.js +779 -0
- package/dist/activity-profile/proactive-worker.js.map +1 -0
- package/dist/activity-profile/profile-metadata.d.ts +10 -0
- package/dist/activity-profile/profile-metadata.d.ts.map +1 -0
- package/dist/activity-profile/profile-metadata.js +16 -0
- package/dist/activity-profile/profile-metadata.js.map +1 -0
- package/dist/activity-profile/redactor.d.ts +15 -0
- package/dist/activity-profile/redactor.d.ts.map +1 -0
- package/dist/activity-profile/redactor.js +22 -0
- package/dist/activity-profile/redactor.js.map +1 -0
- package/dist/activity-profile/service.d.ts +11 -0
- package/dist/activity-profile/service.d.ts.map +1 -0
- package/dist/activity-profile/service.js +272 -0
- package/dist/activity-profile/service.js.map +1 -0
- package/dist/activity-profile/types.d.ts +97 -0
- package/dist/activity-profile/types.d.ts.map +1 -0
- package/dist/activity-profile/types.js +36 -0
- package/dist/activity-profile/types.js.map +1 -0
- package/dist/agent-lifeops.d.ts +2 -0
- package/dist/agent-lifeops.d.ts.map +1 -0
- package/dist/agent-lifeops.js +2 -0
- package/dist/agent-lifeops.js.map +1 -0
- package/dist/api/client-lifeops.d.ts +319 -0
- package/dist/api/client-lifeops.d.ts.map +1 -0
- package/dist/api/client-lifeops.js +794 -0
- package/dist/api/client-lifeops.js.map +1 -0
- package/dist/automation-node-contributor.d.ts +2 -0
- package/dist/automation-node-contributor.d.ts.map +1 -0
- package/dist/automation-node-contributor.js +184 -0
- package/dist/automation-node-contributor.js.map +1 -0
- package/dist/client.d.ts +16 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +18 -0
- package/dist/client.js.map +1 -0
- package/dist/components/AppBlockerSettingsCard.d.ts +3 -0
- package/dist/components/AppBlockerSettingsCard.d.ts.map +1 -0
- package/dist/components/AppBlockerSettingsCard.js +538 -0
- package/dist/components/AppBlockerSettingsCard.js.map +1 -0
- package/dist/components/WebsiteBlockerSettingsCard.d.ts +3 -0
- package/dist/components/WebsiteBlockerSettingsCard.d.ts.map +1 -0
- package/dist/components/WebsiteBlockerSettingsCard.js +148 -0
- package/dist/components/WebsiteBlockerSettingsCard.js.map +1 -0
- package/dist/contracts/index.d.ts +2 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +2 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/lifeops.d.ts +2 -0
- package/dist/contracts/lifeops.d.ts.map +1 -0
- package/dist/contracts/lifeops.js +2 -0
- package/dist/contracts/lifeops.js.map +1 -0
- package/dist/default-packs/autofill-whitelist-pack.d.ts +17 -0
- package/dist/default-packs/autofill-whitelist-pack.d.ts.map +1 -0
- package/dist/default-packs/autofill-whitelist-pack.js +56 -0
- package/dist/default-packs/autofill-whitelist-pack.js.map +1 -0
- package/dist/default-packs/consolidation-policies.d.ts +14 -0
- package/dist/default-packs/consolidation-policies.d.ts.map +1 -0
- package/dist/default-packs/consolidation-policies.js +17 -0
- package/dist/default-packs/consolidation-policies.js.map +1 -0
- package/dist/default-packs/contract-types.d.ts +200 -0
- package/dist/default-packs/contract-types.d.ts.map +1 -0
- package/dist/default-packs/contract-types.js +1 -0
- package/dist/default-packs/contract-types.js.map +1 -0
- package/dist/default-packs/daily-rhythm.d.ts +28 -0
- package/dist/default-packs/daily-rhythm.d.ts.map +1 -0
- package/dist/default-packs/daily-rhythm.js +136 -0
- package/dist/default-packs/daily-rhythm.js.map +1 -0
- package/dist/default-packs/escalation-ladders.d.ts +18 -0
- package/dist/default-packs/escalation-ladders.d.ts.map +1 -0
- package/dist/default-packs/escalation-ladders.js +17 -0
- package/dist/default-packs/escalation-ladders.js.map +1 -0
- package/dist/default-packs/executive-assistant.d.ts +50 -0
- package/dist/default-packs/executive-assistant.d.ts.map +1 -0
- package/dist/default-packs/executive-assistant.js +745 -0
- package/dist/default-packs/executive-assistant.js.map +1 -0
- package/dist/default-packs/followup-starter.d.ts +49 -0
- package/dist/default-packs/followup-starter.d.ts.map +1 -0
- package/dist/default-packs/followup-starter.js +104 -0
- package/dist/default-packs/followup-starter.js.map +1 -0
- package/dist/default-packs/habit-starters.d.ts +37 -0
- package/dist/default-packs/habit-starters.d.ts.map +1 -0
- package/dist/default-packs/habit-starters.js +255 -0
- package/dist/default-packs/habit-starters.js.map +1 -0
- package/dist/default-packs/inbox-triage-starter.d.ts +23 -0
- package/dist/default-packs/inbox-triage-starter.d.ts.map +1 -0
- package/dist/default-packs/inbox-triage-starter.js +61 -0
- package/dist/default-packs/inbox-triage-starter.js.map +1 -0
- package/dist/default-packs/index.d.ts +54 -0
- package/dist/default-packs/index.d.ts.map +1 -0
- package/dist/default-packs/index.js +150 -0
- package/dist/default-packs/index.js.map +1 -0
- package/dist/default-packs/lint.d.ts +62 -0
- package/dist/default-packs/lint.d.ts.map +1 -0
- package/dist/default-packs/lint.js +161 -0
- package/dist/default-packs/lint.js.map +1 -0
- package/dist/default-packs/morning-brief.d.ts +44 -0
- package/dist/default-packs/morning-brief.d.ts.map +1 -0
- package/dist/default-packs/morning-brief.js +69 -0
- package/dist/default-packs/morning-brief.js.map +1 -0
- package/dist/default-packs/quiet-user-watcher.d.ts +49 -0
- package/dist/default-packs/quiet-user-watcher.d.ts.map +1 -0
- package/dist/default-packs/quiet-user-watcher.js +92 -0
- package/dist/default-packs/quiet-user-watcher.js.map +1 -0
- package/dist/default-packs/registry-types.d.ts +51 -0
- package/dist/default-packs/registry-types.d.ts.map +1 -0
- package/dist/default-packs/registry-types.js +1 -0
- package/dist/default-packs/registry-types.js.map +1 -0
- package/dist/default-packs/task-definitions.d.ts +88 -0
- package/dist/default-packs/task-definitions.d.ts.map +1 -0
- package/dist/default-packs/task-definitions.js +87 -0
- package/dist/default-packs/task-definitions.js.map +1 -0
- package/dist/events/index.d.ts +34 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +30 -0
- package/dist/events/index.js.map +1 -0
- package/dist/followup/actions/listOverdueFollowups.d.ts +3 -0
- package/dist/followup/actions/listOverdueFollowups.d.ts.map +1 -0
- package/dist/followup/actions/listOverdueFollowups.js +90 -0
- package/dist/followup/actions/listOverdueFollowups.js.map +1 -0
- package/dist/followup/actions/markFollowupDone.d.ts +3 -0
- package/dist/followup/actions/markFollowupDone.d.ts.map +1 -0
- package/dist/followup/actions/markFollowupDone.js +171 -0
- package/dist/followup/actions/markFollowupDone.js.map +1 -0
- package/dist/followup/actions/setFollowupThreshold.d.ts +3 -0
- package/dist/followup/actions/setFollowupThreshold.d.ts.map +1 -0
- package/dist/followup/actions/setFollowupThreshold.js +171 -0
- package/dist/followup/actions/setFollowupThreshold.js.map +1 -0
- package/dist/followup/followup-tracker.d.ts +83 -0
- package/dist/followup/followup-tracker.d.ts.map +1 -0
- package/dist/followup/followup-tracker.js +311 -0
- package/dist/followup/followup-tracker.js.map +1 -0
- package/dist/followup/index.d.ts +5 -0
- package/dist/followup/index.d.ts.map +1 -0
- package/dist/followup/index.js +39 -0
- package/dist/followup/index.js.map +1 -0
- package/dist/hooks/connector-error.d.ts +2 -0
- package/dist/hooks/connector-error.d.ts.map +1 -0
- package/dist/hooks/connector-error.js +13 -0
- package/dist/hooks/connector-error.js.map +1 -0
- package/dist/hooks/useDiscordConnector.d.ts +11 -0
- package/dist/hooks/useDiscordConnector.d.ts.map +1 -0
- package/dist/hooks/useDiscordConnector.js +95 -0
- package/dist/hooks/useDiscordConnector.js.map +1 -0
- package/dist/hooks/useGoogleLifeOpsConnector.d.ts +23 -0
- package/dist/hooks/useGoogleLifeOpsConnector.d.ts.map +1 -0
- package/dist/hooks/useGoogleLifeOpsConnector.js +630 -0
- package/dist/hooks/useGoogleLifeOpsConnector.js.map +1 -0
- package/dist/hooks/useIMessageConnector.d.ts +10 -0
- package/dist/hooks/useIMessageConnector.d.ts.map +1 -0
- package/dist/hooks/useIMessageConnector.js +57 -0
- package/dist/hooks/useIMessageConnector.js.map +1 -0
- package/dist/hooks/useInbox.d.ts +36 -0
- package/dist/hooks/useInbox.d.ts.map +1 -0
- package/dist/hooks/useInbox.js +96 -0
- package/dist/hooks/useInbox.js.map +1 -0
- package/dist/hooks/useLifeOpsActivitySignals.d.ts +2 -0
- package/dist/hooks/useLifeOpsActivitySignals.d.ts.map +1 -0
- package/dist/hooks/useLifeOpsActivitySignals.js +358 -0
- package/dist/hooks/useLifeOpsActivitySignals.js.map +1 -0
- package/dist/hooks/useLifeOpsAppState.d.ts +9 -0
- package/dist/hooks/useLifeOpsAppState.d.ts.map +1 -0
- package/dist/hooks/useLifeOpsAppState.js +79 -0
- package/dist/hooks/useLifeOpsAppState.js.map +1 -0
- package/dist/hooks/useLifeOpsCapabilitiesStatus.d.ts +8 -0
- package/dist/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +1 -0
- package/dist/hooks/useLifeOpsCapabilitiesStatus.js +60 -0
- package/dist/hooks/useLifeOpsCapabilitiesStatus.js.map +1 -0
- package/dist/hooks/useLifeOpsXConnector.d.ts +11 -0
- package/dist/hooks/useLifeOpsXConnector.d.ts.map +1 -0
- package/dist/hooks/useLifeOpsXConnector.js +92 -0
- package/dist/hooks/useLifeOpsXConnector.js.map +1 -0
- package/dist/hooks/useSignalConnector.d.ts +14 -0
- package/dist/hooks/useSignalConnector.d.ts.map +1 -0
- package/dist/hooks/useSignalConnector.js +89 -0
- package/dist/hooks/useSignalConnector.js.map +1 -0
- package/dist/hooks/useTelegramConnector.d.ts +14 -0
- package/dist/hooks/useTelegramConnector.d.ts.map +1 -0
- package/dist/hooks/useTelegramConnector.js +97 -0
- package/dist/hooks/useTelegramConnector.js.map +1 -0
- package/dist/hooks/useWhatsAppConnector.d.ts +8 -0
- package/dist/hooks/useWhatsAppConnector.d.ts.map +1 -0
- package/dist/hooks/useWhatsAppConnector.js +62 -0
- package/dist/hooks/useWhatsAppConnector.js.map +1 -0
- package/dist/inbox/message-fetcher.d.ts +11 -0
- package/dist/inbox/message-fetcher.d.ts.map +1 -0
- package/dist/inbox/message-fetcher.js +13 -0
- package/dist/inbox/message-fetcher.js.map +1 -0
- package/dist/inbox/repository.d.ts +11 -0
- package/dist/inbox/repository.d.ts.map +1 -0
- package/dist/inbox/repository.js +5 -0
- package/dist/inbox/repository.js.map +1 -0
- package/dist/inbox/types.d.ts +10 -0
- package/dist/inbox/types.d.ts.map +1 -0
- package/dist/inbox/types.js +2 -0
- package/dist/inbox/types.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +188 -0
- package/dist/index.js.map +1 -0
- package/dist/lifeops/access.d.ts +29 -0
- package/dist/lifeops/access.d.ts.map +1 -0
- package/dist/lifeops/access.js +56 -0
- package/dist/lifeops/access.js.map +1 -0
- package/dist/lifeops/app-state.d.ts +22 -0
- package/dist/lifeops/app-state.d.ts.map +1 -0
- package/dist/lifeops/app-state.js +67 -0
- package/dist/lifeops/app-state.js.map +1 -0
- package/dist/lifeops/apple-reminders.d.ts +67 -0
- package/dist/lifeops/apple-reminders.d.ts.map +1 -0
- package/dist/lifeops/apple-reminders.js +396 -0
- package/dist/lifeops/apple-reminders.js.map +1 -0
- package/dist/lifeops/approval-queue.d.ts +38 -0
- package/dist/lifeops/approval-queue.d.ts.map +1 -0
- package/dist/lifeops/approval-queue.js +575 -0
- package/dist/lifeops/approval-queue.js.map +1 -0
- package/dist/lifeops/approval-queue.types.d.ts +172 -0
- package/dist/lifeops/approval-queue.types.d.ts.map +1 -0
- package/dist/lifeops/approval-queue.types.js +27 -0
- package/dist/lifeops/approval-queue.types.js.map +1 -0
- package/dist/lifeops/autofill-whitelist.d.ts +20 -0
- package/dist/lifeops/autofill-whitelist.d.ts.map +1 -0
- package/dist/lifeops/autofill-whitelist.js +59 -0
- package/dist/lifeops/autofill-whitelist.js.map +1 -0
- package/dist/lifeops/background-planner-dispatch.d.ts +60 -0
- package/dist/lifeops/background-planner-dispatch.d.ts.map +1 -0
- package/dist/lifeops/background-planner-dispatch.js +113 -0
- package/dist/lifeops/background-planner-dispatch.js.map +1 -0
- package/dist/lifeops/background-planner.d.ts +140 -0
- package/dist/lifeops/background-planner.d.ts.map +1 -0
- package/dist/lifeops/background-planner.js +359 -0
- package/dist/lifeops/background-planner.js.map +1 -0
- package/dist/lifeops/bill-extraction.d.ts +46 -0
- package/dist/lifeops/bill-extraction.d.ts.map +1 -0
- package/dist/lifeops/bill-extraction.js +325 -0
- package/dist/lifeops/bill-extraction.js.map +1 -0
- package/dist/lifeops/browser-constants.d.ts +4 -0
- package/dist/lifeops/browser-constants.d.ts.map +1 -0
- package/dist/lifeops/browser-constants.js +27 -0
- package/dist/lifeops/browser-constants.js.map +1 -0
- package/dist/lifeops/browser-extension-store.d.ts +61 -0
- package/dist/lifeops/browser-extension-store.d.ts.map +1 -0
- package/dist/lifeops/browser-extension-store.js +176 -0
- package/dist/lifeops/browser-extension-store.js.map +1 -0
- package/dist/lifeops/browser-session-lifecycle.d.ts +57 -0
- package/dist/lifeops/browser-session-lifecycle.d.ts.map +1 -0
- package/dist/lifeops/browser-session-lifecycle.js +308 -0
- package/dist/lifeops/browser-session-lifecycle.js.map +1 -0
- package/dist/lifeops/bulk-review.d.ts +333 -0
- package/dist/lifeops/bulk-review.d.ts.map +1 -0
- package/dist/lifeops/bulk-review.js +1120 -0
- package/dist/lifeops/bulk-review.js.map +1 -0
- package/dist/lifeops/calendar-gate.d.ts +20 -0
- package/dist/lifeops/calendar-gate.d.ts.map +1 -0
- package/dist/lifeops/calendar-gate.js +30 -0
- package/dist/lifeops/calendar-gate.js.map +1 -0
- package/dist/lifeops/channels/contract.d.ts +47 -0
- package/dist/lifeops/channels/contract.d.ts.map +1 -0
- package/dist/lifeops/channels/contract.js +1 -0
- package/dist/lifeops/channels/contract.js.map +1 -0
- package/dist/lifeops/channels/default-pack.d.ts +26 -0
- package/dist/lifeops/channels/default-pack.d.ts.map +1 -0
- package/dist/lifeops/channels/default-pack.js +243 -0
- package/dist/lifeops/channels/default-pack.js.map +1 -0
- package/dist/lifeops/channels/index.d.ts +5 -0
- package/dist/lifeops/channels/index.d.ts.map +1 -0
- package/dist/lifeops/channels/index.js +23 -0
- package/dist/lifeops/channels/index.js.map +1 -0
- package/dist/lifeops/channels/priority-posture.d.ts +36 -0
- package/dist/lifeops/channels/priority-posture.d.ts.map +1 -0
- package/dist/lifeops/channels/priority-posture.js +27 -0
- package/dist/lifeops/channels/priority-posture.js.map +1 -0
- package/dist/lifeops/channels/registry.d.ts +7 -0
- package/dist/lifeops/channels/registry.d.ts.map +1 -0
- package/dist/lifeops/channels/registry.js +49 -0
- package/dist/lifeops/channels/registry.js.map +1 -0
- package/dist/lifeops/checkin/checkin-service.d.ts +66 -0
- package/dist/lifeops/checkin/checkin-service.d.ts.map +1 -0
- package/dist/lifeops/checkin/checkin-service.js +1084 -0
- package/dist/lifeops/checkin/checkin-service.js.map +1 -0
- package/dist/lifeops/checkin/schedule-resolver.d.ts +17 -0
- package/dist/lifeops/checkin/schedule-resolver.d.ts.map +1 -0
- package/dist/lifeops/checkin/schedule-resolver.js +26 -0
- package/dist/lifeops/checkin/schedule-resolver.js.map +1 -0
- package/dist/lifeops/checkin/types.d.ts +106 -0
- package/dist/lifeops/checkin/types.d.ts.map +1 -0
- package/dist/lifeops/checkin/types.js +1 -0
- package/dist/lifeops/checkin/types.js.map +1 -0
- package/dist/lifeops/connectors/_helpers.d.ts +51 -0
- package/dist/lifeops/connectors/_helpers.d.ts.map +1 -0
- package/dist/lifeops/connectors/_helpers.js +104 -0
- package/dist/lifeops/connectors/_helpers.js.map +1 -0
- package/dist/lifeops/connectors/calendly.d.ts +11 -0
- package/dist/lifeops/connectors/calendly.d.ts.map +1 -0
- package/dist/lifeops/connectors/calendly.js +61 -0
- package/dist/lifeops/connectors/calendly.js.map +1 -0
- package/dist/lifeops/connectors/contract.d.ts +88 -0
- package/dist/lifeops/connectors/contract.d.ts.map +1 -0
- package/dist/lifeops/connectors/contract.js +1 -0
- package/dist/lifeops/connectors/contract.js.map +1 -0
- package/dist/lifeops/connectors/default-pack.d.ts +35 -0
- package/dist/lifeops/connectors/default-pack.d.ts.map +1 -0
- package/dist/lifeops/connectors/default-pack.js +37 -0
- package/dist/lifeops/connectors/default-pack.js.map +1 -0
- package/dist/lifeops/connectors/discord.d.ts +8 -0
- package/dist/lifeops/connectors/discord.d.ts.map +1 -0
- package/dist/lifeops/connectors/discord.js +53 -0
- package/dist/lifeops/connectors/discord.js.map +1 -0
- package/dist/lifeops/connectors/dispatch-policy.d.ts +75 -0
- package/dist/lifeops/connectors/dispatch-policy.d.ts.map +1 -0
- package/dist/lifeops/connectors/dispatch-policy.js +35 -0
- package/dist/lifeops/connectors/dispatch-policy.js.map +1 -0
- package/dist/lifeops/connectors/duffel.d.ts +11 -0
- package/dist/lifeops/connectors/duffel.d.ts.map +1 -0
- package/dist/lifeops/connectors/duffel.js +74 -0
- package/dist/lifeops/connectors/duffel.js.map +1 -0
- package/dist/lifeops/connectors/google.d.ts +27 -0
- package/dist/lifeops/connectors/google.d.ts.map +1 -0
- package/dist/lifeops/connectors/google.js +80 -0
- package/dist/lifeops/connectors/google.js.map +1 -0
- package/dist/lifeops/connectors/imessage.d.ts +11 -0
- package/dist/lifeops/connectors/imessage.d.ts.map +1 -0
- package/dist/lifeops/connectors/imessage.js +55 -0
- package/dist/lifeops/connectors/imessage.js.map +1 -0
- package/dist/lifeops/connectors/index.d.ts +5 -0
- package/dist/lifeops/connectors/index.d.ts.map +1 -0
- package/dist/lifeops/connectors/index.js +23 -0
- package/dist/lifeops/connectors/index.js.map +1 -0
- package/dist/lifeops/connectors/mockoon-redirect.d.ts +54 -0
- package/dist/lifeops/connectors/mockoon-redirect.d.ts.map +1 -0
- package/dist/lifeops/connectors/mockoon-redirect.js +71 -0
- package/dist/lifeops/connectors/mockoon-redirect.js.map +1 -0
- package/dist/lifeops/connectors/registry.d.ts +7 -0
- package/dist/lifeops/connectors/registry.d.ts.map +1 -0
- package/dist/lifeops/connectors/registry.js +55 -0
- package/dist/lifeops/connectors/registry.js.map +1 -0
- package/dist/lifeops/connectors/signal.d.ts +8 -0
- package/dist/lifeops/connectors/signal.d.ts.map +1 -0
- package/dist/lifeops/connectors/signal.js +60 -0
- package/dist/lifeops/connectors/signal.js.map +1 -0
- package/dist/lifeops/connectors/telegram.d.ts +12 -0
- package/dist/lifeops/connectors/telegram.d.ts.map +1 -0
- package/dist/lifeops/connectors/telegram.js +65 -0
- package/dist/lifeops/connectors/telegram.js.map +1 -0
- package/dist/lifeops/connectors/twilio.d.ts +15 -0
- package/dist/lifeops/connectors/twilio.d.ts.map +1 -0
- package/dist/lifeops/connectors/twilio.js +126 -0
- package/dist/lifeops/connectors/twilio.js.map +1 -0
- package/dist/lifeops/connectors/whatsapp.d.ts +10 -0
- package/dist/lifeops/connectors/whatsapp.d.ts.map +1 -0
- package/dist/lifeops/connectors/whatsapp.js +56 -0
- package/dist/lifeops/connectors/whatsapp.js.map +1 -0
- package/dist/lifeops/connectors/x.d.ts +8 -0
- package/dist/lifeops/connectors/x.d.ts.map +1 -0
- package/dist/lifeops/connectors/x.js +62 -0
- package/dist/lifeops/connectors/x.js.map +1 -0
- package/dist/lifeops/contact-route-policy.d.ts +27 -0
- package/dist/lifeops/contact-route-policy.d.ts.map +1 -0
- package/dist/lifeops/contact-route-policy.js +153 -0
- package/dist/lifeops/contact-route-policy.js.map +1 -0
- package/dist/lifeops/continuity-probe.d.ts +49 -0
- package/dist/lifeops/continuity-probe.d.ts.map +1 -0
- package/dist/lifeops/continuity-probe.js +161 -0
- package/dist/lifeops/continuity-probe.js.map +1 -0
- package/dist/lifeops/cross-channel-search.d.ts +108 -0
- package/dist/lifeops/cross-channel-search.d.ts.map +1 -0
- package/dist/lifeops/cross-channel-search.js +888 -0
- package/dist/lifeops/cross-channel-search.js.map +1 -0
- package/dist/lifeops/defaults.d.ts +30 -0
- package/dist/lifeops/defaults.d.ts.map +1 -0
- package/dist/lifeops/defaults.js +206 -0
- package/dist/lifeops/defaults.js.map +1 -0
- package/dist/lifeops/device-bus-service.d.ts +16 -0
- package/dist/lifeops/device-bus-service.d.ts.map +1 -0
- package/dist/lifeops/device-bus-service.js +20 -0
- package/dist/lifeops/device-bus-service.js.map +1 -0
- package/dist/lifeops/device-identity.d.ts +31 -0
- package/dist/lifeops/device-identity.d.ts.map +1 -0
- package/dist/lifeops/device-identity.js +94 -0
- package/dist/lifeops/device-identity.js.map +1 -0
- package/dist/lifeops/document-review.d.ts +264 -0
- package/dist/lifeops/document-review.d.ts.map +1 -0
- package/dist/lifeops/document-review.js +925 -0
- package/dist/lifeops/document-review.js.map +1 -0
- package/dist/lifeops/email-classifier.d.ts +9 -0
- package/dist/lifeops/email-classifier.d.ts.map +1 -0
- package/dist/lifeops/email-classifier.js +15 -0
- package/dist/lifeops/email-classifier.js.map +1 -0
- package/dist/lifeops/email-curation.d.ts +13 -0
- package/dist/lifeops/email-curation.d.ts.map +1 -0
- package/dist/lifeops/email-curation.js +2 -0
- package/dist/lifeops/email-curation.js.map +1 -0
- package/dist/lifeops/email-unsubscribe-types.d.ts +7 -0
- package/dist/lifeops/email-unsubscribe-types.d.ts.map +1 -0
- package/dist/lifeops/email-unsubscribe-types.js +1 -0
- package/dist/lifeops/email-unsubscribe-types.js.map +1 -0
- package/dist/lifeops/enforcement-windows.d.ts +34 -0
- package/dist/lifeops/enforcement-windows.d.ts.map +1 -0
- package/dist/lifeops/enforcement-windows.js +80 -0
- package/dist/lifeops/enforcement-windows.js.map +1 -0
- package/dist/lifeops/engine.d.ts +8 -0
- package/dist/lifeops/engine.d.ts.map +1 -0
- package/dist/lifeops/engine.js +540 -0
- package/dist/lifeops/engine.js.map +1 -0
- package/dist/lifeops/entities/index.d.ts +4 -0
- package/dist/lifeops/entities/index.d.ts.map +1 -0
- package/dist/lifeops/entities/index.js +29 -0
- package/dist/lifeops/entities/index.js.map +1 -0
- package/dist/lifeops/entities/merge.d.ts +9 -0
- package/dist/lifeops/entities/merge.d.ts.map +1 -0
- package/dist/lifeops/entities/merge.js +17 -0
- package/dist/lifeops/entities/merge.js.map +1 -0
- package/dist/lifeops/entities/store.d.ts +13 -0
- package/dist/lifeops/entities/store.d.ts.map +1 -0
- package/dist/lifeops/entities/store.js +7 -0
- package/dist/lifeops/entities/store.js.map +1 -0
- package/dist/lifeops/entities/types.d.ts +9 -0
- package/dist/lifeops/entities/types.d.ts.map +1 -0
- package/dist/lifeops/entities/types.js +13 -0
- package/dist/lifeops/entities/types.js.map +1 -0
- package/dist/lifeops/entities/voice-attribution.d.ts +70 -0
- package/dist/lifeops/entities/voice-attribution.d.ts.map +1 -0
- package/dist/lifeops/entities/voice-attribution.js +121 -0
- package/dist/lifeops/entities/voice-attribution.js.map +1 -0
- package/dist/lifeops/entities/voice-observer-bridge.d.ts +32 -0
- package/dist/lifeops/entities/voice-observer-bridge.d.ts.map +1 -0
- package/dist/lifeops/entities/voice-observer-bridge.js +68 -0
- package/dist/lifeops/entities/voice-observer-bridge.js.map +1 -0
- package/dist/lifeops/entities/voice-observer.d.ts +72 -0
- package/dist/lifeops/entities/voice-observer.d.ts.map +1 -0
- package/dist/lifeops/entities/voice-observer.js +97 -0
- package/dist/lifeops/entities/voice-observer.js.map +1 -0
- package/dist/lifeops/escalation-ladders.d.ts +28 -0
- package/dist/lifeops/escalation-ladders.d.ts.map +1 -0
- package/dist/lifeops/escalation-ladders.js +17 -0
- package/dist/lifeops/escalation-ladders.js.map +1 -0
- package/dist/lifeops/fda-probe.d.ts +23 -0
- package/dist/lifeops/fda-probe.d.ts.map +1 -0
- package/dist/lifeops/fda-probe.js +59 -0
- package/dist/lifeops/fda-probe.js.map +1 -0
- package/dist/lifeops/feature-flags.d.ts +24 -0
- package/dist/lifeops/feature-flags.d.ts.map +1 -0
- package/dist/lifeops/feature-flags.js +261 -0
- package/dist/lifeops/feature-flags.js.map +1 -0
- package/dist/lifeops/feature-flags.types.d.ts +156 -0
- package/dist/lifeops/feature-flags.types.d.ts.map +1 -0
- package/dist/lifeops/feature-flags.types.js +129 -0
- package/dist/lifeops/feature-flags.types.js.map +1 -0
- package/dist/lifeops/first-run/defaults.d.ts +57 -0
- package/dist/lifeops/first-run/defaults.d.ts.map +1 -0
- package/dist/lifeops/first-run/defaults.js +159 -0
- package/dist/lifeops/first-run/defaults.js.map +1 -0
- package/dist/lifeops/first-run/questions.d.ts +74 -0
- package/dist/lifeops/first-run/questions.d.ts.map +1 -0
- package/dist/lifeops/first-run/questions.js +184 -0
- package/dist/lifeops/first-run/questions.js.map +1 -0
- package/dist/lifeops/first-run/replay.d.ts +41 -0
- package/dist/lifeops/first-run/replay.d.ts.map +1 -0
- package/dist/lifeops/first-run/replay.js +34 -0
- package/dist/lifeops/first-run/replay.js.map +1 -0
- package/dist/lifeops/first-run/service.d.ts +147 -0
- package/dist/lifeops/first-run/service.d.ts.map +1 -0
- package/dist/lifeops/first-run/service.js +455 -0
- package/dist/lifeops/first-run/service.js.map +1 -0
- package/dist/lifeops/first-run/state.d.ts +36 -0
- package/dist/lifeops/first-run/state.d.ts.map +1 -0
- package/dist/lifeops/first-run/state.js +128 -0
- package/dist/lifeops/first-run/state.js.map +1 -0
- package/dist/lifeops/global-pause/store.d.ts +22 -0
- package/dist/lifeops/global-pause/store.d.ts.map +1 -0
- package/dist/lifeops/global-pause/store.js +18 -0
- package/dist/lifeops/global-pause/store.js.map +1 -0
- package/dist/lifeops/goal-grounding.d.ts +9 -0
- package/dist/lifeops/goal-grounding.d.ts.map +1 -0
- package/dist/lifeops/goal-grounding.js +19 -0
- package/dist/lifeops/goal-grounding.js.map +1 -0
- package/dist/lifeops/goal-semantic-evaluator.d.ts +8 -0
- package/dist/lifeops/goal-semantic-evaluator.d.ts.map +1 -0
- package/dist/lifeops/goal-semantic-evaluator.js +7 -0
- package/dist/lifeops/goal-semantic-evaluator.js.map +1 -0
- package/dist/lifeops/google/format-helpers.d.ts +63 -0
- package/dist/lifeops/google/format-helpers.d.ts.map +1 -0
- package/dist/lifeops/google/format-helpers.js +597 -0
- package/dist/lifeops/google/format-helpers.js.map +1 -0
- package/dist/lifeops/google-plugin-delegates.d.ts +59 -0
- package/dist/lifeops/google-plugin-delegates.d.ts.map +1 -0
- package/dist/lifeops/google-plugin-delegates.js +408 -0
- package/dist/lifeops/google-plugin-delegates.js.map +1 -0
- package/dist/lifeops/google-scopes.d.ts +15 -0
- package/dist/lifeops/google-scopes.d.ts.map +1 -0
- package/dist/lifeops/google-scopes.js +118 -0
- package/dist/lifeops/google-scopes.js.map +1 -0
- package/dist/lifeops/handoff/store.d.ts +23 -0
- package/dist/lifeops/handoff/store.d.ts.map +1 -0
- package/dist/lifeops/handoff/store.js +20 -0
- package/dist/lifeops/handoff/store.js.map +1 -0
- package/dist/lifeops/i18n/localized-examples-provider.d.ts +16 -0
- package/dist/lifeops/i18n/localized-examples-provider.d.ts.map +1 -0
- package/dist/lifeops/i18n/localized-examples-provider.js +33 -0
- package/dist/lifeops/i18n/localized-examples-provider.js.map +1 -0
- package/dist/lifeops/i18n/localized-examples-resolver.d.ts +32 -0
- package/dist/lifeops/i18n/localized-examples-resolver.d.ts.map +1 -0
- package/dist/lifeops/i18n/localized-examples-resolver.js +28 -0
- package/dist/lifeops/i18n/localized-examples-resolver.js.map +1 -0
- package/dist/lifeops/i18n/prompt-registry.d.ts +64 -0
- package/dist/lifeops/i18n/prompt-registry.d.ts.map +1 -0
- package/dist/lifeops/i18n/prompt-registry.js +283 -0
- package/dist/lifeops/i18n/prompt-registry.js.map +1 -0
- package/dist/lifeops/imessage-outbound-probe.d.ts +7 -0
- package/dist/lifeops/imessage-outbound-probe.d.ts.map +1 -0
- package/dist/lifeops/imessage-outbound-probe.js +81 -0
- package/dist/lifeops/imessage-outbound-probe.js.map +1 -0
- package/dist/lifeops/index.d.ts +24 -0
- package/dist/lifeops/index.d.ts.map +1 -0
- package/dist/lifeops/index.js +24 -0
- package/dist/lifeops/index.js.map +1 -0
- package/dist/lifeops/intent-sync.d.ts +64 -0
- package/dist/lifeops/intent-sync.d.ts.map +1 -0
- package/dist/lifeops/intent-sync.js +321 -0
- package/dist/lifeops/intent-sync.js.map +1 -0
- package/dist/lifeops/messaging/index.d.ts +2 -0
- package/dist/lifeops/messaging/index.d.ts.map +1 -0
- package/dist/lifeops/messaging/index.js +5 -0
- package/dist/lifeops/messaging/index.js.map +1 -0
- package/dist/lifeops/messaging/owner-send-policy.d.ts +3 -0
- package/dist/lifeops/messaging/owner-send-policy.d.ts.map +1 -0
- package/dist/lifeops/messaging/owner-send-policy.js +83 -0
- package/dist/lifeops/messaging/owner-send-policy.js.map +1 -0
- package/dist/lifeops/notifications-push.d.ts +37 -0
- package/dist/lifeops/notifications-push.d.ts.map +1 -0
- package/dist/lifeops/notifications-push.js +95 -0
- package/dist/lifeops/notifications-push.js.map +1 -0
- package/dist/lifeops/optimized-prompt-instructions.d.ts +5 -0
- package/dist/lifeops/optimized-prompt-instructions.d.ts.map +1 -0
- package/dist/lifeops/optimized-prompt-instructions.js +48 -0
- package/dist/lifeops/optimized-prompt-instructions.js.map +1 -0
- package/dist/lifeops/owner/fact-store.d.ts +143 -0
- package/dist/lifeops/owner/fact-store.d.ts.map +1 -0
- package/dist/lifeops/owner/fact-store.js +446 -0
- package/dist/lifeops/owner/fact-store.js.map +1 -0
- package/dist/lifeops/owner/profile-extraction-evaluator.d.ts +3 -0
- package/dist/lifeops/owner/profile-extraction-evaluator.d.ts.map +1 -0
- package/dist/lifeops/owner/profile-extraction-evaluator.js +241 -0
- package/dist/lifeops/owner/profile-extraction-evaluator.js.map +1 -0
- package/dist/lifeops/owner-profile.d.ts +61 -0
- package/dist/lifeops/owner-profile.d.ts.map +1 -0
- package/dist/lifeops/owner-profile.js +407 -0
- package/dist/lifeops/owner-profile.js.map +1 -0
- package/dist/lifeops/pending-prompts/store.d.ts +23 -0
- package/dist/lifeops/pending-prompts/store.d.ts.map +1 -0
- package/dist/lifeops/pending-prompts/store.js +16 -0
- package/dist/lifeops/pending-prompts/store.js.map +1 -0
- package/dist/lifeops/policy-memory.d.ts +190 -0
- package/dist/lifeops/policy-memory.d.ts.map +1 -0
- package/dist/lifeops/policy-memory.js +1026 -0
- package/dist/lifeops/policy-memory.js.map +1 -0
- package/dist/lifeops/priority-scoring.d.ts +51 -0
- package/dist/lifeops/priority-scoring.d.ts.map +1 -0
- package/dist/lifeops/priority-scoring.js +305 -0
- package/dist/lifeops/priority-scoring.js.map +1 -0
- package/dist/lifeops/privacy-egress.d.ts +92 -0
- package/dist/lifeops/privacy-egress.d.ts.map +1 -0
- package/dist/lifeops/privacy-egress.js +230 -0
- package/dist/lifeops/privacy-egress.js.map +1 -0
- package/dist/lifeops/privacy.d.ts +49 -0
- package/dist/lifeops/privacy.d.ts.map +1 -0
- package/dist/lifeops/privacy.js +66 -0
- package/dist/lifeops/privacy.js.map +1 -0
- package/dist/lifeops/redact-sensitive-data.d.ts +32 -0
- package/dist/lifeops/redact-sensitive-data.d.ts.map +1 -0
- package/dist/lifeops/redact-sensitive-data.js +98 -0
- package/dist/lifeops/redact-sensitive-data.js.map +1 -0
- package/dist/lifeops/registries/app-blocker-contribution.d.ts +13 -0
- package/dist/lifeops/registries/app-blocker-contribution.d.ts.map +1 -0
- package/dist/lifeops/registries/app-blocker-contribution.js +73 -0
- package/dist/lifeops/registries/app-blocker-contribution.js.map +1 -0
- package/dist/lifeops/registries/blocker-registry.d.ts +76 -0
- package/dist/lifeops/registries/blocker-registry.d.ts.map +1 -0
- package/dist/lifeops/registries/blocker-registry.js +40 -0
- package/dist/lifeops/registries/blocker-registry.js.map +1 -0
- package/dist/lifeops/registries/event-kind-registry.d.ts +57 -0
- package/dist/lifeops/registries/event-kind-registry.d.ts.map +1 -0
- package/dist/lifeops/registries/event-kind-registry.js +82 -0
- package/dist/lifeops/registries/event-kind-registry.js.map +1 -0
- package/dist/lifeops/registries/family-registry.d.ts +72 -0
- package/dist/lifeops/registries/family-registry.d.ts.map +1 -0
- package/dist/lifeops/registries/family-registry.js +98 -0
- package/dist/lifeops/registries/family-registry.js.map +1 -0
- package/dist/lifeops/registries/feature-flag-default-pack.d.ts +32 -0
- package/dist/lifeops/registries/feature-flag-default-pack.d.ts.map +1 -0
- package/dist/lifeops/registries/feature-flag-default-pack.js +36 -0
- package/dist/lifeops/registries/feature-flag-default-pack.js.map +1 -0
- package/dist/lifeops/registries/feature-flag-registry.d.ts +76 -0
- package/dist/lifeops/registries/feature-flag-registry.d.ts.map +1 -0
- package/dist/lifeops/registries/feature-flag-registry.js +68 -0
- package/dist/lifeops/registries/feature-flag-registry.js.map +1 -0
- package/dist/lifeops/registries/index.d.ts +24 -0
- package/dist/lifeops/registries/index.d.ts.map +1 -0
- package/dist/lifeops/registries/index.js +115 -0
- package/dist/lifeops/registries/index.js.map +1 -0
- package/dist/lifeops/registries/website-blocker-contribution.d.ts +21 -0
- package/dist/lifeops/registries/website-blocker-contribution.d.ts.map +1 -0
- package/dist/lifeops/registries/website-blocker-contribution.js +76 -0
- package/dist/lifeops/registries/website-blocker-contribution.js.map +1 -0
- package/dist/lifeops/registries/workflow-step-default-pack.d.ts +30 -0
- package/dist/lifeops/registries/workflow-step-default-pack.d.ts.map +1 -0
- package/dist/lifeops/registries/workflow-step-default-pack.js +315 -0
- package/dist/lifeops/registries/workflow-step-default-pack.js.map +1 -0
- package/dist/lifeops/registries/workflow-step-registry.d.ts +101 -0
- package/dist/lifeops/registries/workflow-step-registry.d.ts.map +1 -0
- package/dist/lifeops/registries/workflow-step-registry.js +56 -0
- package/dist/lifeops/registries/workflow-step-registry.js.map +1 -0
- package/dist/lifeops/relationships/extraction.d.ts +77 -0
- package/dist/lifeops/relationships/extraction.d.ts.map +1 -0
- package/dist/lifeops/relationships/extraction.js +146 -0
- package/dist/lifeops/relationships/extraction.js.map +1 -0
- package/dist/lifeops/relationships/index.d.ts +4 -0
- package/dist/lifeops/relationships/index.d.ts.map +1 -0
- package/dist/lifeops/relationships/index.js +19 -0
- package/dist/lifeops/relationships/index.js.map +1 -0
- package/dist/lifeops/relationships/mapping.d.ts +34 -0
- package/dist/lifeops/relationships/mapping.d.ts.map +1 -0
- package/dist/lifeops/relationships/mapping.js +87 -0
- package/dist/lifeops/relationships/mapping.js.map +1 -0
- package/dist/lifeops/relationships/store.d.ts +12 -0
- package/dist/lifeops/relationships/store.d.ts.map +1 -0
- package/dist/lifeops/relationships/store.js +5 -0
- package/dist/lifeops/relationships/store.js.map +1 -0
- package/dist/lifeops/relationships/types.d.ts +9 -0
- package/dist/lifeops/relationships/types.d.ts.map +1 -0
- package/dist/lifeops/relationships/types.js +11 -0
- package/dist/lifeops/relationships/types.js.map +1 -0
- package/dist/lifeops/relative-schedule-resolver.d.ts +13 -0
- package/dist/lifeops/relative-schedule-resolver.d.ts.map +1 -0
- package/dist/lifeops/relative-schedule-resolver.js +107 -0
- package/dist/lifeops/relative-schedule-resolver.js.map +1 -0
- package/dist/lifeops/relative-time.d.ts +15 -0
- package/dist/lifeops/relative-time.d.ts.map +1 -0
- package/dist/lifeops/relative-time.js +191 -0
- package/dist/lifeops/relative-time.js.map +1 -0
- package/dist/lifeops/repository.d.ts +638 -0
- package/dist/lifeops/repository.d.ts.map +1 -0
- package/dist/lifeops/repository.js +6289 -0
- package/dist/lifeops/repository.js.map +1 -0
- package/dist/lifeops/runtime-cache.d.ts +4 -0
- package/dist/lifeops/runtime-cache.d.ts.map +1 -0
- package/dist/lifeops/runtime-cache.js +7 -0
- package/dist/lifeops/runtime-cache.js.map +1 -0
- package/dist/lifeops/runtime-service-delegates.d.ts +236 -0
- package/dist/lifeops/runtime-service-delegates.d.ts.map +1 -0
- package/dist/lifeops/runtime-service-delegates.js +839 -0
- package/dist/lifeops/runtime-service-delegates.js.map +1 -0
- package/dist/lifeops/runtime.d.ts +13 -0
- package/dist/lifeops/runtime.d.ts.map +1 -0
- package/dist/lifeops/runtime.js +104 -0
- package/dist/lifeops/runtime.js.map +1 -0
- package/dist/lifeops/schedule-insight.d.ts +133 -0
- package/dist/lifeops/schedule-insight.d.ts.map +1 -0
- package/dist/lifeops/schedule-insight.js +726 -0
- package/dist/lifeops/schedule-insight.js.map +1 -0
- package/dist/lifeops/schedule-state.d.ts +39 -0
- package/dist/lifeops/schedule-state.d.ts.map +1 -0
- package/dist/lifeops/schedule-state.js +671 -0
- package/dist/lifeops/schedule-state.js.map +1 -0
- package/dist/lifeops/schedule-sync-config.d.ts +3 -0
- package/dist/lifeops/schedule-sync-config.d.ts.map +1 -0
- package/dist/lifeops/schedule-sync-config.js +23 -0
- package/dist/lifeops/schedule-sync-config.js.map +1 -0
- package/dist/lifeops/schedule-sync-contracts.d.ts +2 -0
- package/dist/lifeops/schedule-sync-contracts.d.ts.map +1 -0
- package/dist/lifeops/schedule-sync-contracts.js +2 -0
- package/dist/lifeops/schedule-sync-contracts.js.map +1 -0
- package/dist/lifeops/scheduled-task/index.d.ts +13 -0
- package/dist/lifeops/scheduled-task/index.d.ts.map +1 -0
- package/dist/lifeops/scheduled-task/index.js +14 -0
- package/dist/lifeops/scheduled-task/index.js.map +1 -0
- package/dist/lifeops/scheduled-task/runtime-wiring.d.ts +33 -0
- package/dist/lifeops/scheduled-task/runtime-wiring.d.ts.map +1 -0
- package/dist/lifeops/scheduled-task/runtime-wiring.js +334 -0
- package/dist/lifeops/scheduled-task/runtime-wiring.js.map +1 -0
- package/dist/lifeops/scheduled-task/scheduler.d.ts +28 -0
- package/dist/lifeops/scheduled-task/scheduler.d.ts.map +1 -0
- package/dist/lifeops/scheduled-task/scheduler.js +202 -0
- package/dist/lifeops/scheduled-task/scheduler.js.map +1 -0
- package/dist/lifeops/scheduled-task/service.d.ts +61 -0
- package/dist/lifeops/scheduled-task/service.d.ts.map +1 -0
- package/dist/lifeops/scheduled-task/service.js +64 -0
- package/dist/lifeops/scheduled-task/service.js.map +1 -0
- package/dist/lifeops/scheduler-task.d.ts +19 -0
- package/dist/lifeops/scheduler-task.d.ts.map +1 -0
- package/dist/lifeops/scheduler-task.js +201 -0
- package/dist/lifeops/scheduler-task.js.map +1 -0
- package/dist/lifeops/schema.d.ts +28068 -0
- package/dist/lifeops/schema.d.ts.map +1 -0
- package/dist/lifeops/schema.js +1689 -0
- package/dist/lifeops/schema.js.map +1 -0
- package/dist/lifeops/screen-context.d.ts +66 -0
- package/dist/lifeops/screen-context.d.ts.map +1 -0
- package/dist/lifeops/screen-context.js +347 -0
- package/dist/lifeops/screen-context.js.map +1 -0
- package/dist/lifeops/seed-routine-migration/migrator.d.ts +113 -0
- package/dist/lifeops/seed-routine-migration/migrator.d.ts.map +1 -0
- package/dist/lifeops/seed-routine-migration/migrator.js +142 -0
- package/dist/lifeops/seed-routine-migration/migrator.js.map +1 -0
- package/dist/lifeops/seed-routines.d.ts +24 -0
- package/dist/lifeops/seed-routines.d.ts.map +1 -0
- package/dist/lifeops/seed-routines.js +140 -0
- package/dist/lifeops/seed-routines.js.map +1 -0
- package/dist/lifeops/send-policy/contract.d.ts +81 -0
- package/dist/lifeops/send-policy/contract.d.ts.map +1 -0
- package/dist/lifeops/send-policy/contract.js +1 -0
- package/dist/lifeops/send-policy/contract.js.map +1 -0
- package/dist/lifeops/send-policy/index.d.ts +3 -0
- package/dist/lifeops/send-policy/index.d.ts.map +1 -0
- package/dist/lifeops/send-policy/index.js +13 -0
- package/dist/lifeops/send-policy/index.js.map +1 -0
- package/dist/lifeops/send-policy/registry.d.ts +7 -0
- package/dist/lifeops/send-policy/registry.d.ts.map +1 -0
- package/dist/lifeops/send-policy/registry.js +62 -0
- package/dist/lifeops/send-policy/registry.js.map +1 -0
- package/dist/lifeops/sensitive-request-delivery.d.ts +46 -0
- package/dist/lifeops/sensitive-request-delivery.d.ts.map +1 -0
- package/dist/lifeops/sensitive-request-delivery.js +103 -0
- package/dist/lifeops/sensitive-request-delivery.js.map +1 -0
- package/dist/lifeops/service-constants.d.ts +10 -0
- package/dist/lifeops/service-constants.d.ts.map +1 -0
- package/dist/lifeops/service-constants.js +129 -0
- package/dist/lifeops/service-constants.js.map +1 -0
- package/dist/lifeops/service-helpers-browser.d.ts +41 -0
- package/dist/lifeops/service-helpers-browser.d.ts.map +1 -0
- package/dist/lifeops/service-helpers-browser.js +290 -0
- package/dist/lifeops/service-helpers-browser.js.map +1 -0
- package/dist/lifeops/service-helpers-misc.d.ts +68 -0
- package/dist/lifeops/service-helpers-misc.d.ts.map +1 -0
- package/dist/lifeops/service-helpers-misc.js +531 -0
- package/dist/lifeops/service-helpers-misc.js.map +1 -0
- package/dist/lifeops/service-helpers-occurrence.d.ts +23 -0
- package/dist/lifeops/service-helpers-occurrence.d.ts.map +1 -0
- package/dist/lifeops/service-helpers-occurrence.js +257 -0
- package/dist/lifeops/service-helpers-occurrence.js.map +1 -0
- package/dist/lifeops/service-helpers-reminder.d.ts +260 -0
- package/dist/lifeops/service-helpers-reminder.d.ts.map +1 -0
- package/dist/lifeops/service-helpers-reminder.js +1186 -0
- package/dist/lifeops/service-helpers-reminder.js.map +1 -0
- package/dist/lifeops/service-mixin-browser.d.ts +31 -0
- package/dist/lifeops/service-mixin-browser.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-browser.js +975 -0
- package/dist/lifeops/service-mixin-browser.js.map +1 -0
- package/dist/lifeops/service-mixin-calendar.d.ts +53 -0
- package/dist/lifeops/service-mixin-calendar.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-calendar.js +68 -0
- package/dist/lifeops/service-mixin-calendar.js.map +1 -0
- package/dist/lifeops/service-mixin-core.d.ts +51 -0
- package/dist/lifeops/service-mixin-core.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-core.js +500 -0
- package/dist/lifeops/service-mixin-core.js.map +1 -0
- package/dist/lifeops/service-mixin-definitions.d.ts +14 -0
- package/dist/lifeops/service-mixin-definitions.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-definitions.js +470 -0
- package/dist/lifeops/service-mixin-definitions.js.map +1 -0
- package/dist/lifeops/service-mixin-discord.d.ts +49 -0
- package/dist/lifeops/service-mixin-discord.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-discord.js +1253 -0
- package/dist/lifeops/service-mixin-discord.js.map +1 -0
- package/dist/lifeops/service-mixin-drive.d.ts +96 -0
- package/dist/lifeops/service-mixin-drive.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-drive.js +213 -0
- package/dist/lifeops/service-mixin-drive.js.map +1 -0
- package/dist/lifeops/service-mixin-email-unsubscribe.d.ts +23 -0
- package/dist/lifeops/service-mixin-email-unsubscribe.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-email-unsubscribe.js +27 -0
- package/dist/lifeops/service-mixin-email-unsubscribe.js.map +1 -0
- package/dist/lifeops/service-mixin-gmail.d.ts +43 -0
- package/dist/lifeops/service-mixin-gmail.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-gmail.js +727 -0
- package/dist/lifeops/service-mixin-gmail.js.map +1 -0
- package/dist/lifeops/service-mixin-goals.d.ts +22 -0
- package/dist/lifeops/service-mixin-goals.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-goals.js +884 -0
- package/dist/lifeops/service-mixin-goals.js.map +1 -0
- package/dist/lifeops/service-mixin-google.d.ts +13 -0
- package/dist/lifeops/service-mixin-google.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-google.js +398 -0
- package/dist/lifeops/service-mixin-google.js.map +1 -0
- package/dist/lifeops/service-mixin-health.d.ts +27 -0
- package/dist/lifeops/service-mixin-health.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-health.js +670 -0
- package/dist/lifeops/service-mixin-health.js.map +1 -0
- package/dist/lifeops/service-mixin-imessage.d.ts +106 -0
- package/dist/lifeops/service-mixin-imessage.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-imessage.js +303 -0
- package/dist/lifeops/service-mixin-imessage.js.map +1 -0
- package/dist/lifeops/service-mixin-inbox.d.ts +55 -0
- package/dist/lifeops/service-mixin-inbox.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-inbox.js +597 -0
- package/dist/lifeops/service-mixin-inbox.js.map +1 -0
- package/dist/lifeops/service-mixin-relationships.d.ts +65 -0
- package/dist/lifeops/service-mixin-relationships.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-relationships.js +150 -0
- package/dist/lifeops/service-mixin-relationships.js.map +1 -0
- package/dist/lifeops/service-mixin-reminders.d.ts +62 -0
- package/dist/lifeops/service-mixin-reminders.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-reminders.js +4003 -0
- package/dist/lifeops/service-mixin-reminders.js.map +1 -0
- package/dist/lifeops/service-mixin-scheduling.d.ts +53 -0
- package/dist/lifeops/service-mixin-scheduling.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-scheduling.js +405 -0
- package/dist/lifeops/service-mixin-scheduling.js.map +1 -0
- package/dist/lifeops/service-mixin-screentime.d.ts +71 -0
- package/dist/lifeops/service-mixin-screentime.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-screentime.js +530 -0
- package/dist/lifeops/service-mixin-screentime.js.map +1 -0
- package/dist/lifeops/service-mixin-signal.d.ts +74 -0
- package/dist/lifeops/service-mixin-signal.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-signal.js +214 -0
- package/dist/lifeops/service-mixin-signal.js.map +1 -0
- package/dist/lifeops/service-mixin-sleep.d.ts +68 -0
- package/dist/lifeops/service-mixin-sleep.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-sleep.js +43 -0
- package/dist/lifeops/service-mixin-sleep.js.map +1 -0
- package/dist/lifeops/service-mixin-status.d.ts +31 -0
- package/dist/lifeops/service-mixin-status.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-status.js +373 -0
- package/dist/lifeops/service-mixin-status.js.map +1 -0
- package/dist/lifeops/service-mixin-subscriptions.d.ts +101 -0
- package/dist/lifeops/service-mixin-subscriptions.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-subscriptions.js +50 -0
- package/dist/lifeops/service-mixin-subscriptions.js.map +1 -0
- package/dist/lifeops/service-mixin-telegram.d.ts +104 -0
- package/dist/lifeops/service-mixin-telegram.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-telegram.js +280 -0
- package/dist/lifeops/service-mixin-telegram.js.map +1 -0
- package/dist/lifeops/service-mixin-travel.d.ts +66 -0
- package/dist/lifeops/service-mixin-travel.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-travel.js +275 -0
- package/dist/lifeops/service-mixin-travel.js.map +1 -0
- package/dist/lifeops/service-mixin-whatsapp.d.ts +96 -0
- package/dist/lifeops/service-mixin-whatsapp.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-whatsapp.js +186 -0
- package/dist/lifeops/service-mixin-whatsapp.js.map +1 -0
- package/dist/lifeops/service-mixin-workflows.d.ts +15 -0
- package/dist/lifeops/service-mixin-workflows.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-workflows.js +710 -0
- package/dist/lifeops/service-mixin-workflows.js.map +1 -0
- package/dist/lifeops/service-mixin-x-read.d.ts +31 -0
- package/dist/lifeops/service-mixin-x-read.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-x-read.js +267 -0
- package/dist/lifeops/service-mixin-x-read.js.map +1 -0
- package/dist/lifeops/service-mixin-x.d.ts +66 -0
- package/dist/lifeops/service-mixin-x.d.ts.map +1 -0
- package/dist/lifeops/service-mixin-x.js +501 -0
- package/dist/lifeops/service-mixin-x.js.map +1 -0
- package/dist/lifeops/service-normalize-connector.d.ts +19 -0
- package/dist/lifeops/service-normalize-connector.d.ts.map +1 -0
- package/dist/lifeops/service-normalize-connector.js +816 -0
- package/dist/lifeops/service-normalize-connector.js.map +1 -0
- package/dist/lifeops/service-normalize-gmail.d.ts +11 -0
- package/dist/lifeops/service-normalize-gmail.d.ts.map +1 -0
- package/dist/lifeops/service-normalize-gmail.js +85 -0
- package/dist/lifeops/service-normalize-gmail.js.map +1 -0
- package/dist/lifeops/service-normalize-task.d.ts +9 -0
- package/dist/lifeops/service-normalize-task.d.ts.map +1 -0
- package/dist/lifeops/service-normalize-task.js +567 -0
- package/dist/lifeops/service-normalize-task.js.map +1 -0
- package/dist/lifeops/service-normalize.d.ts +9 -0
- package/dist/lifeops/service-normalize.d.ts.map +1 -0
- package/dist/lifeops/service-normalize.js +53 -0
- package/dist/lifeops/service-normalize.js.map +1 -0
- package/dist/lifeops/service-types.d.ts +75 -0
- package/dist/lifeops/service-types.d.ts.map +1 -0
- package/dist/lifeops/service-types.js +5 -0
- package/dist/lifeops/service-types.js.map +1 -0
- package/dist/lifeops/service.d.ts +482 -0
- package/dist/lifeops/service.d.ts.map +1 -0
- package/dist/lifeops/service.js +62 -0
- package/dist/lifeops/service.js.map +1 -0
- package/dist/lifeops/signal-runtime-config.d.ts +13 -0
- package/dist/lifeops/signal-runtime-config.d.ts.map +1 -0
- package/dist/lifeops/signal-runtime-config.js +44 -0
- package/dist/lifeops/signal-runtime-config.js.map +1 -0
- package/dist/lifeops/signals/bus.d.ts +78 -0
- package/dist/lifeops/signals/bus.d.ts.map +1 -0
- package/dist/lifeops/signals/bus.js +117 -0
- package/dist/lifeops/signals/bus.js.map +1 -0
- package/dist/lifeops/sql.d.ts +65 -0
- package/dist/lifeops/sql.d.ts.map +1 -0
- package/dist/lifeops/sql.js +182 -0
- package/dist/lifeops/sql.js.map +1 -0
- package/dist/lifeops/stretch-decider.d.ts +73 -0
- package/dist/lifeops/stretch-decider.d.ts.map +1 -0
- package/dist/lifeops/stretch-decider.js +49 -0
- package/dist/lifeops/stretch-decider.js.map +1 -0
- package/dist/lifeops/telemetry-mapping.d.ts +14 -0
- package/dist/lifeops/telemetry-mapping.d.ts.map +1 -0
- package/dist/lifeops/telemetry-mapping.js +115 -0
- package/dist/lifeops/telemetry-mapping.js.map +1 -0
- package/dist/lifeops/telemetry-retention.d.ts +21 -0
- package/dist/lifeops/telemetry-retention.d.ts.map +1 -0
- package/dist/lifeops/telemetry-retention.js +13 -0
- package/dist/lifeops/telemetry-retention.js.map +1 -0
- package/dist/lifeops/time/timezone.d.ts +4 -0
- package/dist/lifeops/time/timezone.d.ts.map +1 -0
- package/dist/lifeops/time/timezone.js +154 -0
- package/dist/lifeops/time/timezone.js.map +1 -0
- package/dist/lifeops/time-util.d.ts +10 -0
- package/dist/lifeops/time-util.d.ts.map +1 -0
- package/dist/lifeops/time-util.js +14 -0
- package/dist/lifeops/time-util.js.map +1 -0
- package/dist/lifeops/time.d.ts +17 -0
- package/dist/lifeops/time.d.ts.map +1 -0
- package/dist/lifeops/time.js +152 -0
- package/dist/lifeops/time.js.map +1 -0
- package/dist/lifeops/travel-booking.types.d.ts +46 -0
- package/dist/lifeops/travel-booking.types.d.ts.map +1 -0
- package/dist/lifeops/travel-booking.types.js +1 -0
- package/dist/lifeops/travel-booking.types.js.map +1 -0
- package/dist/lifeops/triggers/schedule-once.d.ts +19 -0
- package/dist/lifeops/triggers/schedule-once.d.ts.map +1 -0
- package/dist/lifeops/triggers/schedule-once.js +99 -0
- package/dist/lifeops/triggers/schedule-once.js.map +1 -0
- package/dist/lifeops/validate/coding-task-request.d.ts +18 -0
- package/dist/lifeops/validate/coding-task-request.d.ts.map +1 -0
- package/dist/lifeops/validate/coding-task-request.js +16 -0
- package/dist/lifeops/validate/coding-task-request.js.map +1 -0
- package/dist/lifeops/voice/grounded-reply.d.ts +41 -0
- package/dist/lifeops/voice/grounded-reply.d.ts.map +1 -0
- package/dist/lifeops/voice/grounded-reply.js +24 -0
- package/dist/lifeops/voice/grounded-reply.js.map +1 -0
- package/dist/lifeops/voice-affect.d.ts +79 -0
- package/dist/lifeops/voice-affect.d.ts.map +1 -0
- package/dist/lifeops/voice-affect.js +253 -0
- package/dist/lifeops/voice-affect.js.map +1 -0
- package/dist/lifeops/wave1-types.d.ts +125 -0
- package/dist/lifeops/wave1-types.d.ts.map +1 -0
- package/dist/lifeops/wave1-types.js +1 -0
- package/dist/lifeops/wave1-types.js.map +1 -0
- package/dist/lifeops/work-threads/field-evaluator-thread-ops.d.ts +33 -0
- package/dist/lifeops/work-threads/field-evaluator-thread-ops.d.ts.map +1 -0
- package/dist/lifeops/work-threads/field-evaluator-thread-ops.js +226 -0
- package/dist/lifeops/work-threads/field-evaluator-thread-ops.js.map +1 -0
- package/dist/lifeops/work-threads/index.d.ts +3 -0
- package/dist/lifeops/work-threads/index.d.ts.map +1 -0
- package/dist/lifeops/work-threads/index.js +7 -0
- package/dist/lifeops/work-threads/index.js.map +1 -0
- package/dist/lifeops/work-threads/store.d.ts +91 -0
- package/dist/lifeops/work-threads/store.d.ts.map +1 -0
- package/dist/lifeops/work-threads/store.js +245 -0
- package/dist/lifeops/work-threads/store.js.map +1 -0
- package/dist/lifeops/work-threads/types.d.ts +58 -0
- package/dist/lifeops/work-threads/types.d.ts.map +1 -0
- package/dist/lifeops/work-threads/types.js +1 -0
- package/dist/lifeops/work-threads/types.js.map +1 -0
- package/dist/platform/host.d.ts +16 -0
- package/dist/platform/host.d.ts.map +1 -0
- package/dist/platform/host.js +22 -0
- package/dist/platform/host.js.map +1 -0
- package/dist/platform/index.d.ts +3 -0
- package/dist/platform/index.d.ts.map +1 -0
- package/dist/platform/index.js +3 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/lifeops-github.d.ts +15 -0
- package/dist/platform/lifeops-github.d.ts.map +1 -0
- package/dist/platform/lifeops-github.js +146 -0
- package/dist/platform/lifeops-github.js.map +1 -0
- package/dist/plugin.d.ts +106 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +989 -0
- package/dist/plugin.js.map +1 -0
- package/dist/provider.d.ts +4 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +108 -0
- package/dist/provider.js.map +1 -0
- package/dist/providers/activity-profile.d.ts +3 -0
- package/dist/providers/activity-profile.d.ts.map +1 -0
- package/dist/providers/activity-profile.js +140 -0
- package/dist/providers/activity-profile.js.map +1 -0
- package/dist/providers/cross-channel-context.d.ts +29 -0
- package/dist/providers/cross-channel-context.d.ts.map +1 -0
- package/dist/providers/cross-channel-context.js +206 -0
- package/dist/providers/cross-channel-context.js.map +1 -0
- package/dist/providers/first-run.d.ts +22 -0
- package/dist/providers/first-run.d.ts.map +1 -0
- package/dist/providers/first-run.js +93 -0
- package/dist/providers/first-run.js.map +1 -0
- package/dist/providers/health.d.ts +2 -0
- package/dist/providers/health.d.ts.map +1 -0
- package/dist/providers/health.js +14 -0
- package/dist/providers/health.js.map +1 -0
- package/dist/providers/inbox-triage.d.ts +3 -0
- package/dist/providers/inbox-triage.d.ts.map +1 -0
- package/dist/providers/inbox-triage.js +134 -0
- package/dist/providers/inbox-triage.js.map +1 -0
- package/dist/providers/lifeops.d.ts +3 -0
- package/dist/providers/lifeops.d.ts.map +1 -0
- package/dist/providers/lifeops.js +548 -0
- package/dist/providers/lifeops.js.map +1 -0
- package/dist/providers/pending-prompts.d.ts +38 -0
- package/dist/providers/pending-prompts.d.ts.map +1 -0
- package/dist/providers/pending-prompts.js +81 -0
- package/dist/providers/pending-prompts.js.map +1 -0
- package/dist/providers/recent-task-states.d.ts +52 -0
- package/dist/providers/recent-task-states.d.ts.map +1 -0
- package/dist/providers/recent-task-states.js +166 -0
- package/dist/providers/recent-task-states.js.map +1 -0
- package/dist/providers/room-policy.d.ts +16 -0
- package/dist/providers/room-policy.d.ts.map +1 -0
- package/dist/providers/room-policy.js +71 -0
- package/dist/providers/room-policy.js.map +1 -0
- package/dist/providers/work-threads.d.ts +3 -0
- package/dist/providers/work-threads.d.ts.map +1 -0
- package/dist/providers/work-threads.js +97 -0
- package/dist/providers/work-threads.js.map +1 -0
- package/dist/public.d.ts +3 -0
- package/dist/public.d.ts.map +1 -0
- package/dist/public.js +17 -0
- package/dist/public.js.map +1 -0
- package/dist/routes/cloud-features-routes.d.ts +9 -0
- package/dist/routes/cloud-features-routes.d.ts.map +1 -0
- package/dist/routes/cloud-features-routes.js +164 -0
- package/dist/routes/cloud-features-routes.js.map +1 -0
- package/dist/routes/entities.d.ts +14 -0
- package/dist/routes/entities.d.ts.map +1 -0
- package/dist/routes/entities.js +203 -0
- package/dist/routes/entities.js.map +1 -0
- package/dist/routes/lifeops-routes.d.ts +20 -0
- package/dist/routes/lifeops-routes.d.ts.map +1 -0
- package/dist/routes/lifeops-routes.js +2337 -0
- package/dist/routes/lifeops-routes.js.map +1 -0
- package/dist/routes/plugin.d.ts +9 -0
- package/dist/routes/plugin.d.ts.map +1 -0
- package/dist/routes/plugin.js +568 -0
- package/dist/routes/plugin.js.map +1 -0
- package/dist/routes/relationships.d.ts +13 -0
- package/dist/routes/relationships.d.ts.map +1 -0
- package/dist/routes/relationships.js +195 -0
- package/dist/routes/relationships.js.map +1 -0
- package/dist/routes/scheduled-tasks.d.ts +102 -0
- package/dist/routes/scheduled-tasks.d.ts.map +1 -0
- package/dist/routes/scheduled-tasks.js +322 -0
- package/dist/routes/scheduled-tasks.js.map +1 -0
- package/dist/routes/sleep-routes.d.ts +3 -0
- package/dist/routes/sleep-routes.d.ts.map +1 -0
- package/dist/routes/sleep-routes.js +33 -0
- package/dist/routes/sleep-routes.js.map +1 -0
- package/dist/routes/travel-provider-relay-routes.d.ts +2 -0
- package/dist/routes/travel-provider-relay-routes.d.ts.map +1 -0
- package/dist/routes/travel-provider-relay-routes.js +7 -0
- package/dist/routes/travel-provider-relay-routes.js.map +1 -0
- package/dist/routes/website-blocker-routes.d.ts +6 -0
- package/dist/routes/website-blocker-routes.d.ts.map +1 -0
- package/dist/routes/website-blocker-routes.js +218 -0
- package/dist/routes/website-blocker-routes.js.map +1 -0
- package/dist/security/action-confirmation.d.ts +12 -0
- package/dist/security/action-confirmation.d.ts.map +1 -0
- package/dist/security/action-confirmation.js +36 -0
- package/dist/security/action-confirmation.js.map +1 -0
- package/dist/service.d.ts +34 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +111 -0
- package/dist/service.js.map +1 -0
- package/dist/travel-time/calendar-create.d.ts +17 -0
- package/dist/travel-time/calendar-create.d.ts.map +1 -0
- package/dist/travel-time/calendar-create.js +28 -0
- package/dist/travel-time/calendar-create.js.map +1 -0
- package/dist/travel-time/service.d.ts +114 -0
- package/dist/travel-time/service.d.ts.map +1 -0
- package/dist/travel-time/service.js +209 -0
- package/dist/travel-time/service.js.map +1 -0
- package/dist/types/app-blocker-settings-card.d.ts +2 -0
- package/dist/types/app-blocker-settings-card.d.ts.map +1 -0
- package/dist/types/app-blocker-settings-card.js +1 -0
- package/dist/types/app-blocker-settings-card.js.map +1 -0
- package/dist/types/briefing.d.ts +59 -0
- package/dist/types/briefing.d.ts.map +1 -0
- package/dist/types/briefing.js +1 -0
- package/dist/types/briefing.js.map +1 -0
- package/dist/types/document-request.d.ts +41 -0
- package/dist/types/document-request.d.ts.map +1 -0
- package/dist/types/document-request.js +1 -0
- package/dist/types/document-request.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/website-blocker-settings-card.d.ts +2 -0
- package/dist/types/website-blocker-settings-card.d.ts.map +1 -0
- package/dist/types/website-blocker-settings-card.js +1 -0
- package/dist/types/website-blocker-settings-card.js.map +1 -0
- package/dist/ui.d.ts +13 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +25 -0
- package/dist/ui.js.map +1 -0
- package/dist/utils/format-duration.d.ts +2 -0
- package/dist/utils/format-duration.d.ts.map +1 -0
- package/dist/utils/format-duration.js +13 -0
- package/dist/utils/format-duration.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/lifeops-url.d.ts +3 -0
- package/dist/utils/lifeops-url.d.ts.map +1 -0
- package/dist/utils/lifeops-url.js +28 -0
- package/dist/utils/lifeops-url.js.map +1 -0
- package/dist/website-blocker/chat-integration/block-activator.d.ts +32 -0
- package/dist/website-blocker/chat-integration/block-activator.d.ts.map +1 -0
- package/dist/website-blocker/chat-integration/block-activator.js +30 -0
- package/dist/website-blocker/chat-integration/block-activator.js.map +1 -0
- package/dist/website-blocker/chat-integration/block-rule-reconciler.d.ts +7 -0
- package/dist/website-blocker/chat-integration/block-rule-reconciler.d.ts.map +1 -0
- package/dist/website-blocker/chat-integration/block-rule-reconciler.js +115 -0
- package/dist/website-blocker/chat-integration/block-rule-reconciler.js.map +1 -0
- package/dist/website-blocker/chat-integration/block-rule-schema.d.ts +39 -0
- package/dist/website-blocker/chat-integration/block-rule-schema.d.ts.map +1 -0
- package/dist/website-blocker/chat-integration/block-rule-schema.js +133 -0
- package/dist/website-blocker/chat-integration/block-rule-schema.js.map +1 -0
- package/dist/website-blocker/chat-integration/block-rule-service.d.ts +21 -0
- package/dist/website-blocker/chat-integration/block-rule-service.d.ts.map +1 -0
- package/dist/website-blocker/chat-integration/block-rule-service.js +230 -0
- package/dist/website-blocker/chat-integration/block-rule-service.js.map +1 -0
- package/dist/website-blocker/chat-integration/harsh-mode-check.d.ts +13 -0
- package/dist/website-blocker/chat-integration/harsh-mode-check.d.ts.map +1 -0
- package/dist/website-blocker/chat-integration/harsh-mode-check.js +22 -0
- package/dist/website-blocker/chat-integration/harsh-mode-check.js.map +1 -0
- package/dist/website-blocker/chat-integration/index.d.ts +5 -0
- package/dist/website-blocker/chat-integration/index.d.ts.map +1 -0
- package/dist/website-blocker/chat-integration/index.js +26 -0
- package/dist/website-blocker/chat-integration/index.js.map +1 -0
- package/dist/website-blocker/proactive-block-bridge.d.ts +75 -0
- package/dist/website-blocker/proactive-block-bridge.d.ts.map +1 -0
- package/dist/website-blocker/proactive-block-bridge.js +154 -0
- package/dist/website-blocker/proactive-block-bridge.js.map +1 -0
- package/dist/website-blocker/public.d.ts +12 -0
- package/dist/website-blocker/public.d.ts.map +1 -0
- package/dist/website-blocker/public.js +51 -0
- package/dist/website-blocker/public.js.map +1 -0
- package/package.json +28 -28
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { extractActionParamsViaLlm } from "@elizaos/agent";
|
|
2
|
+
import {
|
|
3
|
+
logger,
|
|
4
|
+
requireConfirmation
|
|
5
|
+
} from "@elizaos/core";
|
|
6
|
+
import {
|
|
7
|
+
injectCredentialToClipboard,
|
|
8
|
+
listPasswordItems,
|
|
9
|
+
searchPasswordItems
|
|
10
|
+
} from "@elizaos/plugin-browser/password-manager-bridge";
|
|
11
|
+
const ACTION_NAME = "PASSWORD_MANAGER";
|
|
12
|
+
const PARAM_SCHEMA = [
|
|
13
|
+
{
|
|
14
|
+
name: "subaction",
|
|
15
|
+
description: "One of: search, list, inject_username, inject_password.",
|
|
16
|
+
schema: { type: "string" }
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: "intent",
|
|
20
|
+
description: "Natural-language description of the lookup intent.",
|
|
21
|
+
schema: { type: "string" }
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "query",
|
|
25
|
+
description: "Search string matched against item title, URL, username, and tags.",
|
|
26
|
+
schema: { type: "string" }
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: "itemId",
|
|
30
|
+
description: "Password manager item id (required for inject_* subactions).",
|
|
31
|
+
schema: { type: "string" }
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: "field",
|
|
35
|
+
description: "Which field to inject when using a generic inject subaction. Ignored when subaction explicitly names the field.",
|
|
36
|
+
schema: { type: "string" }
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "confirmed",
|
|
40
|
+
description: "Must be explicitly true to copy a credential to the clipboard.",
|
|
41
|
+
schema: { type: "boolean" }
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: "limit",
|
|
45
|
+
description: "Optional item limit for the `list` subaction (default 20).",
|
|
46
|
+
schema: { type: "number" }
|
|
47
|
+
}
|
|
48
|
+
];
|
|
49
|
+
const ACTION_DESCRIPTION = "Look up or copy credentials from your password manager (1Password CLI or ProtonPass). Subactions: search, list, inject_username, inject_password. Credentials are NEVER displayed in chat \u2014 injection only copies to the OS clipboard briefly.";
|
|
50
|
+
function readConfig(runtime) {
|
|
51
|
+
const account = process.env.ELIZA_1PASSWORD_ACCOUNT?.trim() || (() => {
|
|
52
|
+
const setting = runtime?.getSetting?.("ELIZA_1PASSWORD_ACCOUNT");
|
|
53
|
+
return typeof setting === "string" ? setting.trim() : "";
|
|
54
|
+
})();
|
|
55
|
+
const config = {};
|
|
56
|
+
if (account) config.onePasswordAccount = account;
|
|
57
|
+
return config;
|
|
58
|
+
}
|
|
59
|
+
function describeItems(items) {
|
|
60
|
+
if (items.length === 0) return "No matching items.";
|
|
61
|
+
return items.map((item, index) => {
|
|
62
|
+
const parts = [`${index + 1}. ${item.title} (id: ${item.id})`];
|
|
63
|
+
if (item.url) parts.push(`url: ${item.url}`);
|
|
64
|
+
if (item.username) parts.push(`username: ${item.username}`);
|
|
65
|
+
return parts.join(" \u2014 ");
|
|
66
|
+
}).join("\n");
|
|
67
|
+
}
|
|
68
|
+
function failure(error, extra) {
|
|
69
|
+
const userMessages = {
|
|
70
|
+
PERMISSION_DENIED: "Password manager is owner-only; you don't have access here.",
|
|
71
|
+
MISSING_QUERY: "Which login should I look up? Tell me the service (e.g. GitHub, AWS).",
|
|
72
|
+
MISSING_ITEM_ID: "I need the password manager item id to copy a field.",
|
|
73
|
+
CONFIRMATION_REQUIRED: "Copying a credential needs explicit confirmation. Re-issue with confirmed: true.",
|
|
74
|
+
UNKNOWN_SUBACTION: "Say 'list my saved logins', 'find my <service> login', or 'copy <service> password to clipboard'."
|
|
75
|
+
};
|
|
76
|
+
return {
|
|
77
|
+
text: userMessages[error] ?? error,
|
|
78
|
+
success: false,
|
|
79
|
+
values: { success: false, error },
|
|
80
|
+
data: { actionName: ACTION_NAME, error, ...extra }
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
async function runPasswordManagerHandler(runtime, message, state, options) {
|
|
84
|
+
try {
|
|
85
|
+
const rawParameters = options?.parameters;
|
|
86
|
+
const rawParams = (typeof rawParameters === "object" && rawParameters !== null ? rawParameters : {}) ?? {};
|
|
87
|
+
const params = await extractActionParamsViaLlm({
|
|
88
|
+
runtime,
|
|
89
|
+
message,
|
|
90
|
+
state,
|
|
91
|
+
actionName: ACTION_NAME,
|
|
92
|
+
actionDescription: ACTION_DESCRIPTION,
|
|
93
|
+
paramSchema: PARAM_SCHEMA,
|
|
94
|
+
existingParams: rawParams,
|
|
95
|
+
requiredFields: ["subaction"]
|
|
96
|
+
});
|
|
97
|
+
const subaction = (params.subaction ?? "").toString().trim().toLowerCase();
|
|
98
|
+
const config = readConfig(runtime);
|
|
99
|
+
if (subaction === "search") {
|
|
100
|
+
const query = (params.query ?? params.intent ?? "").toString().trim();
|
|
101
|
+
if (!query) return failure("MISSING_QUERY");
|
|
102
|
+
const items = await searchPasswordItems(query, config);
|
|
103
|
+
const text = `Saved login items only \u2014 passwords remain hidden.
|
|
104
|
+
${describeItems(items)}`;
|
|
105
|
+
return {
|
|
106
|
+
text,
|
|
107
|
+
success: true,
|
|
108
|
+
values: { success: true, count: items.length },
|
|
109
|
+
data: {
|
|
110
|
+
actionName: ACTION_NAME,
|
|
111
|
+
subaction: "search",
|
|
112
|
+
query,
|
|
113
|
+
items
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
if (subaction === "list") {
|
|
118
|
+
const limit = typeof params.limit === "number" && params.limit > 0 ? Math.floor(params.limit) : 20;
|
|
119
|
+
const items = await listPasswordItems({ limit }, config);
|
|
120
|
+
return {
|
|
121
|
+
text: `Saved login items only \u2014 passwords remain hidden.
|
|
122
|
+
${describeItems(items)}`,
|
|
123
|
+
success: true,
|
|
124
|
+
values: { success: true, count: items.length },
|
|
125
|
+
data: {
|
|
126
|
+
actionName: ACTION_NAME,
|
|
127
|
+
subaction: "list",
|
|
128
|
+
items
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
if (subaction === "inject_username" || subaction === "inject_password") {
|
|
133
|
+
const field = subaction === "inject_username" ? "username" : "password";
|
|
134
|
+
const itemId = (params.itemId ?? "").toString().trim();
|
|
135
|
+
if (!itemId) return failure("MISSING_ITEM_ID");
|
|
136
|
+
const prompt = `Copy ${field} for item '${itemId}' to the clipboard?`;
|
|
137
|
+
const decision = await requireConfirmation({
|
|
138
|
+
runtime,
|
|
139
|
+
message,
|
|
140
|
+
actionName: ACTION_NAME,
|
|
141
|
+
pendingKey: `inject:${itemId}:${field}`,
|
|
142
|
+
prompt
|
|
143
|
+
});
|
|
144
|
+
if (decision.status !== "confirmed") {
|
|
145
|
+
return failure(
|
|
146
|
+
decision.status === "pending" ? "CONFIRMATION_REQUIRED" : "CANCELLED",
|
|
147
|
+
{
|
|
148
|
+
itemId,
|
|
149
|
+
field,
|
|
150
|
+
awaitingUserInput: decision.status === "pending"
|
|
151
|
+
}
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
const result = await injectCredentialToClipboard(itemId, field, config);
|
|
155
|
+
logger.info(
|
|
156
|
+
{
|
|
157
|
+
action: ACTION_NAME,
|
|
158
|
+
subaction,
|
|
159
|
+
itemId,
|
|
160
|
+
field,
|
|
161
|
+
fixtureMode: result.fixtureMode === true
|
|
162
|
+
},
|
|
163
|
+
`[${ACTION_NAME}] Copied ${field} for item ${itemId} to clipboard`
|
|
164
|
+
);
|
|
165
|
+
const fixtureSuffix = result.fixtureMode ? " [fixture backend: no actual clipboard write \u2014 test/benchmark mode]" : "";
|
|
166
|
+
return {
|
|
167
|
+
text: `Copied ${field} for item '${itemId}' to clipboard (clears in ${result.expiresInSeconds}s).${fixtureSuffix}`,
|
|
168
|
+
success: true,
|
|
169
|
+
values: {
|
|
170
|
+
success: true,
|
|
171
|
+
field,
|
|
172
|
+
expiresInSeconds: result.expiresInSeconds,
|
|
173
|
+
fixtureMode: result.fixtureMode === true
|
|
174
|
+
},
|
|
175
|
+
data: {
|
|
176
|
+
actionName: ACTION_NAME,
|
|
177
|
+
subaction,
|
|
178
|
+
itemId,
|
|
179
|
+
field,
|
|
180
|
+
expiresInSeconds: result.expiresInSeconds,
|
|
181
|
+
fixtureMode: result.fixtureMode === true
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
return failure("UNKNOWN_SUBACTION", { subaction });
|
|
186
|
+
} catch (error) {
|
|
187
|
+
const message2 = error instanceof Error ? error.message : "Unknown password manager failure.";
|
|
188
|
+
logger.warn({ error }, `[${ACTION_NAME}] handler failed`);
|
|
189
|
+
return failure("PASSWORD_MANAGER_FAILED", { error: message2 });
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
export {
|
|
193
|
+
runPasswordManagerHandler
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=password-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/actions/password-manager.ts"],"sourcesContent":["import { extractActionParamsViaLlm } from \"@elizaos/agent\";\nimport {\n type ActionResult,\n type HandlerOptions,\n type IAgentRuntime,\n logger,\n type Memory,\n requireConfirmation,\n type State,\n} from \"@elizaos/core\";\nimport {\n injectCredentialToClipboard,\n listPasswordItems,\n type PasswordManagerBridgeConfig,\n type PasswordManagerItem,\n searchPasswordItems,\n} from \"@elizaos/plugin-browser/password-manager-bridge\";\n\n/**\n * Password manager handler.\n *\n * Owner-only. Subactions:\n * - search: match items by query string.\n * - list: return a bounded number of items.\n * - inject_username / inject_password: copy a field to the OS clipboard.\n *\n * Plaintext credentials NEVER appear in chat or in ActionResult payloads.\n */\n\ntype PasswordManagerSubaction =\n | \"search\"\n | \"list\"\n | \"inject_username\"\n | \"inject_password\";\n\ntype PasswordManagerParameters = {\n subaction?: PasswordManagerSubaction | string;\n intent?: string;\n query?: string;\n itemId?: string;\n field?: \"username\" | \"password\";\n confirmed?: boolean;\n limit?: number;\n};\n\nconst ACTION_NAME = \"PASSWORD_MANAGER\";\n\nconst PARAM_SCHEMA = [\n {\n name: \"subaction\",\n description: \"One of: search, list, inject_username, inject_password.\",\n schema: { type: \"string\" as const },\n },\n {\n name: \"intent\",\n description: \"Natural-language description of the lookup intent.\",\n schema: { type: \"string\" as const },\n },\n {\n name: \"query\",\n description:\n \"Search string matched against item title, URL, username, and tags.\",\n schema: { type: \"string\" as const },\n },\n {\n name: \"itemId\",\n description: \"Password manager item id (required for inject_* subactions).\",\n schema: { type: \"string\" as const },\n },\n {\n name: \"field\",\n description:\n \"Which field to inject when using a generic inject subaction. Ignored when subaction explicitly names the field.\",\n schema: { type: \"string\" as const },\n },\n {\n name: \"confirmed\",\n description:\n \"Must be explicitly true to copy a credential to the clipboard.\",\n schema: { type: \"boolean\" as const },\n },\n {\n name: \"limit\",\n description: \"Optional item limit for the `list` subaction (default 20).\",\n schema: { type: \"number\" as const },\n },\n];\n\nconst ACTION_DESCRIPTION =\n \"Look up or copy credentials from your password manager (1Password CLI or ProtonPass). \" +\n \"Subactions: search, list, inject_username, inject_password. Credentials are NEVER displayed in chat — injection only copies to the OS clipboard briefly.\";\n\nfunction readConfig(\n runtime: { getSetting?: (key: string) => unknown } | undefined,\n): PasswordManagerBridgeConfig {\n const account =\n process.env.ELIZA_1PASSWORD_ACCOUNT?.trim() ||\n (() => {\n const setting = runtime?.getSetting?.(\"ELIZA_1PASSWORD_ACCOUNT\");\n return typeof setting === \"string\" ? setting.trim() : \"\";\n })();\n const config: PasswordManagerBridgeConfig = {};\n if (account) config.onePasswordAccount = account;\n return config;\n}\n\nfunction describeItems(items: PasswordManagerItem[]): string {\n if (items.length === 0) return \"No matching items.\";\n return items\n .map((item, index) => {\n const parts = [`${index + 1}. ${item.title} (id: ${item.id})`];\n if (item.url) parts.push(`url: ${item.url}`);\n if (item.username) parts.push(`username: ${item.username}`);\n return parts.join(\" — \");\n })\n .join(\"\\n\");\n}\n\nfunction failure(error: string, extra?: Record<string, unknown>): ActionResult {\n const userMessages: Record<string, string> = {\n PERMISSION_DENIED:\n \"Password manager is owner-only; you don't have access here.\",\n MISSING_QUERY:\n \"Which login should I look up? Tell me the service (e.g. GitHub, AWS).\",\n MISSING_ITEM_ID: \"I need the password manager item id to copy a field.\",\n CONFIRMATION_REQUIRED:\n \"Copying a credential needs explicit confirmation. Re-issue with confirmed: true.\",\n UNKNOWN_SUBACTION:\n \"Say 'list my saved logins', 'find my <service> login', or 'copy <service> password to clipboard'.\",\n };\n return {\n text: userMessages[error] ?? error,\n success: false,\n values: { success: false, error },\n data: { actionName: ACTION_NAME, error, ...extra },\n };\n}\n\n/**\n * Handler function backing the CREDENTIALS umbrella's password-manager\n * subactions (`search`, `list`, `inject_username`, `inject_password`).\n *\n * Called from `./credentials.ts`; no Action object is registered for this\n * handler directly.\n */\nexport async function runPasswordManagerHandler(\n runtime: IAgentRuntime,\n message: Memory,\n state: State | undefined,\n options: HandlerOptions | undefined,\n): Promise<ActionResult> {\n try {\n const rawParameters = options?.parameters;\n const rawParams = ((typeof rawParameters === \"object\" &&\n rawParameters !== null\n ? (rawParameters as PasswordManagerParameters)\n : {}) ?? {}) as PasswordManagerParameters;\n const params = (await extractActionParamsViaLlm<PasswordManagerParameters>({\n runtime,\n message,\n state,\n actionName: ACTION_NAME,\n actionDescription: ACTION_DESCRIPTION,\n paramSchema: PARAM_SCHEMA,\n existingParams: rawParams,\n requiredFields: [\"subaction\"],\n })) as PasswordManagerParameters;\n\n const subaction = (params.subaction ?? \"\").toString().trim().toLowerCase();\n const config = readConfig(runtime);\n\n if (subaction === \"search\") {\n const query = (params.query ?? params.intent ?? \"\").toString().trim();\n if (!query) return failure(\"MISSING_QUERY\");\n const items = await searchPasswordItems(query, config);\n const text = `Saved login items only — passwords remain hidden.\\n${describeItems(items)}`;\n return {\n text,\n success: true,\n values: { success: true, count: items.length },\n data: {\n actionName: ACTION_NAME,\n subaction: \"search\",\n query,\n items,\n },\n };\n }\n\n if (subaction === \"list\") {\n const limit =\n typeof params.limit === \"number\" && params.limit > 0\n ? Math.floor(params.limit)\n : 20;\n const items = await listPasswordItems({ limit }, config);\n return {\n text: `Saved login items only — passwords remain hidden.\\n${describeItems(items)}`,\n success: true,\n values: { success: true, count: items.length },\n data: {\n actionName: ACTION_NAME,\n subaction: \"list\",\n items,\n },\n };\n }\n\n if (subaction === \"inject_username\" || subaction === \"inject_password\") {\n const field: \"username\" | \"password\" =\n subaction === \"inject_username\" ? \"username\" : \"password\";\n const itemId = (params.itemId ?? \"\").toString().trim();\n if (!itemId) return failure(\"MISSING_ITEM_ID\");\n const prompt = `Copy ${field} for item '${itemId}' to the clipboard?`;\n const decision = await requireConfirmation({\n runtime,\n message,\n actionName: ACTION_NAME,\n pendingKey: `inject:${itemId}:${field}`,\n prompt,\n });\n if (decision.status !== \"confirmed\") {\n return failure(\n decision.status === \"pending\" ? \"CONFIRMATION_REQUIRED\" : \"CANCELLED\",\n {\n itemId,\n field,\n awaitingUserInput: decision.status === \"pending\",\n },\n );\n }\n const result = await injectCredentialToClipboard(itemId, field, config);\n logger.info(\n {\n action: ACTION_NAME,\n subaction,\n itemId,\n field,\n fixtureMode: result.fixtureMode === true,\n },\n `[${ACTION_NAME}] Copied ${field} for item ${itemId} to clipboard`,\n );\n const fixtureSuffix = result.fixtureMode\n ? \" [fixture backend: no actual clipboard write — test/benchmark mode]\"\n : \"\";\n return {\n text: `Copied ${field} for item '${itemId}' to clipboard (clears in ${result.expiresInSeconds}s).${fixtureSuffix}`,\n success: true,\n values: {\n success: true,\n field,\n expiresInSeconds: result.expiresInSeconds,\n fixtureMode: result.fixtureMode === true,\n },\n data: {\n actionName: ACTION_NAME,\n subaction,\n itemId,\n field,\n expiresInSeconds: result.expiresInSeconds,\n fixtureMode: result.fixtureMode === true,\n },\n };\n }\n\n return failure(\"UNKNOWN_SUBACTION\", { subaction });\n } catch (error) {\n const message =\n error instanceof Error\n ? error.message\n : \"Unknown password manager failure.\";\n logger.warn({ error }, `[${ACTION_NAME}] handler failed`);\n return failure(\"PASSWORD_MANAGER_FAILED\", { error: message });\n }\n}\n"],"mappings":"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","names":["message"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OWNER_FINANCES payment-source / spending handler.
|
|
3
|
+
*
|
|
4
|
+
* The implementation moved to `@elizaos/plugin-finances` along with the finance
|
|
5
|
+
* back-end. This module re-exports `runPaymentsHandler` so existing importers
|
|
6
|
+
* (the `money.ts` umbrella dispatcher + integration tests) keep resolving it
|
|
7
|
+
* from here. The handler constructs a `FinancesService` internally.
|
|
8
|
+
*/
|
|
9
|
+
export { runPaymentsHandler } from "@elizaos/plugin-finances/actions/finances";
|
|
10
|
+
//# sourceMappingURL=payments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payments.d.ts","sourceRoot":"","sources":["../../src/actions/payments.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/actions/payments.ts"],"sourcesContent":["/**\n * OWNER_FINANCES payment-source / spending handler.\n *\n * The implementation moved to `@elizaos/plugin-finances` along with the finance\n * back-end. This module re-exports `runPaymentsHandler` so existing importers\n * (the `money.ts` umbrella dispatcher + integration tests) keep resolving it\n * from here. The handler constructs a `FinancesService` internally.\n */\n\nexport { runPaymentsHandler } from \"@elizaos/plugin-finances/actions/finances\";\n"],"mappings":"AASA,SAAS,0BAA0B;","names":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `PRIORITIZE` umbrella action — LLM-ranked importance × urgency.
|
|
3
|
+
*
|
|
4
|
+
* Subactions:
|
|
5
|
+
* - `rank_todos` — todo items in the owner's life domain
|
|
6
|
+
* - `rank_threads` — open inbox / messaging threads
|
|
7
|
+
* - `rank_decisions` — pending approval queue decisions
|
|
8
|
+
*
|
|
9
|
+
* Loads items via the relevant loader hook, then calls
|
|
10
|
+
* `runtime.useModel(ModelType.TEXT_LARGE)` once with a structured prompt that
|
|
11
|
+
* asks for a JSON ranking by urgency × importance, with a short reasoning
|
|
12
|
+
* string per item.
|
|
13
|
+
*
|
|
14
|
+
* Owner-only.
|
|
15
|
+
*/
|
|
16
|
+
import type { Action, IAgentRuntime } from "@elizaos/core";
|
|
17
|
+
export interface PrioritizeRankableItem {
|
|
18
|
+
readonly id: string;
|
|
19
|
+
readonly title: string;
|
|
20
|
+
readonly summary?: string;
|
|
21
|
+
readonly dueAt?: string | null;
|
|
22
|
+
readonly metadata?: Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
export interface PrioritizeRankedItem extends PrioritizeRankableItem {
|
|
25
|
+
readonly rank: number;
|
|
26
|
+
readonly score: number;
|
|
27
|
+
readonly reasoning: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Per-subject loader hooks. Default loaders return empty lists so tests can
|
|
31
|
+
* inject per-subject inputs without standing up the full service graph.
|
|
32
|
+
*/
|
|
33
|
+
export interface PrioritizeLoaders {
|
|
34
|
+
loadTodos: (args: {
|
|
35
|
+
runtime: IAgentRuntime;
|
|
36
|
+
}) => Promise<readonly PrioritizeRankableItem[]>;
|
|
37
|
+
loadThreads: (args: {
|
|
38
|
+
runtime: IAgentRuntime;
|
|
39
|
+
}) => Promise<readonly PrioritizeRankableItem[]>;
|
|
40
|
+
loadDecisions: (args: {
|
|
41
|
+
runtime: IAgentRuntime;
|
|
42
|
+
}) => Promise<readonly PrioritizeRankableItem[]>;
|
|
43
|
+
}
|
|
44
|
+
export declare function setPrioritizeLoaders(next: Partial<PrioritizeLoaders>): void;
|
|
45
|
+
export declare function __resetPrioritizeLoadersForTests(): void;
|
|
46
|
+
export declare const prioritizeAction: Action & {
|
|
47
|
+
suppressPostActionContinuation?: boolean;
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=prioritize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prioritize.d.ts","sourceRoot":"","sources":["../../src/actions/prioritize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,MAAM,EAKN,aAAa,EAEd,MAAM,eAAe,CAAC;AAwCvB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,CAAC,IAAI,EAAE;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAAC;IACjD,WAAW,EAAE,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAAC;IACjD,aAAa,EAAE,CAAC,IAAI,EAAE;QACpB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAAC;CAClD;AAUD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAE3E;AAED,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AA6KD,eAAO,MAAM,gBAAgB,EAAE,MAAM,GAAG;IACtC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CA2K1C,CAAC"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import { logger, ModelType, runWithTrajectoryContext } from "@elizaos/core";
|
|
2
|
+
import { hasLifeOpsAccess } from "../lifeops/access.js";
|
|
3
|
+
const ACTION_NAME = "PRIORITIZE";
|
|
4
|
+
const SUBACTIONS = ["rank_todos", "rank_threads", "rank_decisions"];
|
|
5
|
+
const SIMILE_NAMES = [
|
|
6
|
+
"PRIORITIZE",
|
|
7
|
+
"RANK_TODAY",
|
|
8
|
+
"WHAT_MATTERS_MOST",
|
|
9
|
+
"PRIORITIZE_TODAY"
|
|
10
|
+
];
|
|
11
|
+
const SUBJECT_TO_SUBACTION = {
|
|
12
|
+
todos: "rank_todos",
|
|
13
|
+
threads: "rank_threads",
|
|
14
|
+
decisions: "rank_decisions"
|
|
15
|
+
};
|
|
16
|
+
const SUBACTION_TO_SUBJECT = {
|
|
17
|
+
rank_todos: "todos",
|
|
18
|
+
rank_threads: "threads",
|
|
19
|
+
rank_decisions: "decisions"
|
|
20
|
+
};
|
|
21
|
+
const defaultLoaders = {
|
|
22
|
+
loadTodos: async () => [],
|
|
23
|
+
loadThreads: async () => [],
|
|
24
|
+
loadDecisions: async () => []
|
|
25
|
+
};
|
|
26
|
+
let activeLoaders = defaultLoaders;
|
|
27
|
+
function setPrioritizeLoaders(next) {
|
|
28
|
+
activeLoaders = { ...activeLoaders, ...next };
|
|
29
|
+
}
|
|
30
|
+
function __resetPrioritizeLoadersForTests() {
|
|
31
|
+
activeLoaders = defaultLoaders;
|
|
32
|
+
}
|
|
33
|
+
function getParams(options) {
|
|
34
|
+
const raw = options?.parameters;
|
|
35
|
+
if (raw && typeof raw === "object") {
|
|
36
|
+
return raw;
|
|
37
|
+
}
|
|
38
|
+
return {};
|
|
39
|
+
}
|
|
40
|
+
function normalizeSubaction(value) {
|
|
41
|
+
if (typeof value !== "string") return null;
|
|
42
|
+
const trimmed = value.trim();
|
|
43
|
+
if (trimmed.length === 0) return null;
|
|
44
|
+
const lower = trimmed.toLowerCase();
|
|
45
|
+
return SUBACTIONS.includes(lower) ? lower : null;
|
|
46
|
+
}
|
|
47
|
+
function normalizeSubject(value) {
|
|
48
|
+
if (typeof value !== "string") return null;
|
|
49
|
+
const lower = value.trim().toLowerCase();
|
|
50
|
+
if (lower === "todos" || lower === "threads" || lower === "decisions") {
|
|
51
|
+
return lower;
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
function resolveSubaction(params) {
|
|
56
|
+
return normalizeSubaction(params.subaction) ?? normalizeSubaction(params.action) ?? normalizeSubaction(params.op) ?? (() => {
|
|
57
|
+
const subject = normalizeSubject(params.subject);
|
|
58
|
+
return subject ? SUBJECT_TO_SUBACTION[subject] : null;
|
|
59
|
+
})();
|
|
60
|
+
}
|
|
61
|
+
async function loadItemsForSubaction(subaction, runtime) {
|
|
62
|
+
switch (subaction) {
|
|
63
|
+
case "rank_todos":
|
|
64
|
+
return activeLoaders.loadTodos({ runtime });
|
|
65
|
+
case "rank_threads":
|
|
66
|
+
return activeLoaders.loadThreads({ runtime });
|
|
67
|
+
case "rank_decisions":
|
|
68
|
+
return activeLoaders.loadDecisions({ runtime });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function buildRankingPrompt(args) {
|
|
72
|
+
const data = JSON.stringify(args.items, null, 2);
|
|
73
|
+
const criteriaLine = args.criteria ? `
|
|
74
|
+
Additional criteria from the owner: ${args.criteria}
|
|
75
|
+
` : "";
|
|
76
|
+
return `You are ranking the owner's open ${args.subject} by urgency multiplied by importance.
|
|
77
|
+
|
|
78
|
+
Return strict JSON only:
|
|
79
|
+
{
|
|
80
|
+
"ranked": [
|
|
81
|
+
{ "id": "<item id>", "score": <0..1 number>, "reasoning": "<short why>" },
|
|
82
|
+
...
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
- Include AT MOST ${args.topN} items.
|
|
87
|
+
- Score 1.0 means drop-everything-now; 0.0 means could wait indefinitely.
|
|
88
|
+
- Sort by descending score.
|
|
89
|
+
- Use only the ids that appear in the input data.
|
|
90
|
+
- Keep reasoning under 20 words.${criteriaLine}
|
|
91
|
+
|
|
92
|
+
Items:
|
|
93
|
+
${data}`;
|
|
94
|
+
}
|
|
95
|
+
function parseRanking(raw) {
|
|
96
|
+
if (typeof raw !== "string") return [];
|
|
97
|
+
const trimmed = raw.trim();
|
|
98
|
+
const start = trimmed.indexOf("{");
|
|
99
|
+
const end = trimmed.lastIndexOf("}");
|
|
100
|
+
if (start === -1 || end === -1 || end <= start) return [];
|
|
101
|
+
const slice = trimmed.slice(start, end + 1);
|
|
102
|
+
const parsed = (() => {
|
|
103
|
+
try {
|
|
104
|
+
return JSON.parse(slice);
|
|
105
|
+
} catch {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
})();
|
|
109
|
+
if (!parsed || typeof parsed !== "object") return [];
|
|
110
|
+
const rankedRaw = parsed.ranked;
|
|
111
|
+
if (!Array.isArray(rankedRaw)) return [];
|
|
112
|
+
const entries = [];
|
|
113
|
+
for (const entry of rankedRaw) {
|
|
114
|
+
if (!entry || typeof entry !== "object") continue;
|
|
115
|
+
const obj = entry;
|
|
116
|
+
const id = typeof obj.id === "string" ? obj.id : null;
|
|
117
|
+
const score = typeof obj.score === "number" ? obj.score : null;
|
|
118
|
+
const reasoning = typeof obj.reasoning === "string" ? obj.reasoning : "";
|
|
119
|
+
if (!id || score === null) continue;
|
|
120
|
+
entries.push({ id, score, reasoning });
|
|
121
|
+
}
|
|
122
|
+
return entries;
|
|
123
|
+
}
|
|
124
|
+
function applyRanking(items, ranking, topN) {
|
|
125
|
+
const itemMap = new Map(items.map((item) => [item.id, item]));
|
|
126
|
+
const sorted = [...ranking].sort((a, b) => b.score - a.score);
|
|
127
|
+
const ranked = [];
|
|
128
|
+
for (const entry of sorted) {
|
|
129
|
+
const source = itemMap.get(entry.id);
|
|
130
|
+
if (!source) continue;
|
|
131
|
+
ranked.push({
|
|
132
|
+
...source,
|
|
133
|
+
rank: ranked.length + 1,
|
|
134
|
+
score: entry.score,
|
|
135
|
+
reasoning: entry.reasoning
|
|
136
|
+
});
|
|
137
|
+
if (ranked.length >= topN) break;
|
|
138
|
+
}
|
|
139
|
+
return ranked;
|
|
140
|
+
}
|
|
141
|
+
const examples = [
|
|
142
|
+
[
|
|
143
|
+
{ name: "{{name1}}", content: { text: "What should I focus on today?" } },
|
|
144
|
+
{
|
|
145
|
+
name: "{{agentName}}",
|
|
146
|
+
content: {
|
|
147
|
+
text: "Ranked your top todos by urgency \xD7 importance.",
|
|
148
|
+
action: ACTION_NAME
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
[
|
|
153
|
+
{
|
|
154
|
+
name: "{{name1}}",
|
|
155
|
+
content: { text: "Which threads need my attention first?" }
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
name: "{{agentName}}",
|
|
159
|
+
content: {
|
|
160
|
+
text: "Ranked your open threads by priority.",
|
|
161
|
+
action: ACTION_NAME
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
];
|
|
166
|
+
const prioritizeAction = {
|
|
167
|
+
name: ACTION_NAME,
|
|
168
|
+
similes: SIMILE_NAMES.slice(),
|
|
169
|
+
tags: [
|
|
170
|
+
"domain:focus",
|
|
171
|
+
"capability:read",
|
|
172
|
+
"capability:rank",
|
|
173
|
+
"surface:internal"
|
|
174
|
+
],
|
|
175
|
+
description: "Rank owner open todos, message threads, pending decisions by urgency \xD7 importance. LLM pass. Subactions: rank_todos, rank_threads, rank_decisions.",
|
|
176
|
+
descriptionCompressed: "prioritize: rank_todos|rank_threads|rank_decisions; topN ranking by urgency \xD7 importance",
|
|
177
|
+
routingHint: 'prioritization ("focus on", "rank today", "which thread first", "what matters most") -> PRIORITIZE; do not use plain list -> OWNER_TODOS.list / MESSAGE.list_inbox',
|
|
178
|
+
contexts: ["focus", "tasks", "inbox", "approvals"],
|
|
179
|
+
roleGate: { minRole: "OWNER" },
|
|
180
|
+
suppressPostActionContinuation: true,
|
|
181
|
+
validate: async (runtime, message) => hasLifeOpsAccess(runtime, message),
|
|
182
|
+
parameters: [
|
|
183
|
+
{
|
|
184
|
+
name: "action",
|
|
185
|
+
description: "Prioritize op: rank_todos | rank_threads | rank_decisions.",
|
|
186
|
+
schema: { type: "string", enum: [...SUBACTIONS] }
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
name: "subject",
|
|
190
|
+
description: "Alt selector: todos | threads | decisions. Maps to subaction.",
|
|
191
|
+
schema: {
|
|
192
|
+
type: "string",
|
|
193
|
+
enum: ["todos", "threads", "decisions"]
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
name: "topN",
|
|
198
|
+
description: "Top item count. Default 5.",
|
|
199
|
+
schema: { type: "number" }
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
name: "criteria",
|
|
203
|
+
description: "Owner weighting criteria.",
|
|
204
|
+
schema: { type: "string" }
|
|
205
|
+
}
|
|
206
|
+
],
|
|
207
|
+
examples,
|
|
208
|
+
handler: async (runtime, message, _state, options, callback) => {
|
|
209
|
+
if (!await hasLifeOpsAccess(runtime, message)) {
|
|
210
|
+
const text2 = "Prioritization is restricted to the owner.";
|
|
211
|
+
await callback?.({ text: text2 });
|
|
212
|
+
return { text: text2, success: false, data: { error: "PERMISSION_DENIED" } };
|
|
213
|
+
}
|
|
214
|
+
const params = getParams(options);
|
|
215
|
+
const subaction = resolveSubaction(params);
|
|
216
|
+
if (!subaction) {
|
|
217
|
+
return {
|
|
218
|
+
success: false,
|
|
219
|
+
text: "Tell me what to rank: rank_todos, rank_threads, or rank_decisions.",
|
|
220
|
+
data: { error: "MISSING_SUBACTION" }
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
const subject = SUBACTION_TO_SUBJECT[subaction];
|
|
224
|
+
const topN = typeof params.topN === "number" && params.topN > 0 ? Math.floor(params.topN) : 5;
|
|
225
|
+
const items = await loadItemsForSubaction(subaction, runtime);
|
|
226
|
+
if (items.length === 0) {
|
|
227
|
+
const text2 = `No open ${subject} to rank.`;
|
|
228
|
+
logger.info(`[PRIORITIZE] ${subaction} empty topN=${topN}`);
|
|
229
|
+
await callback?.({ text: text2, source: "action", action: ACTION_NAME });
|
|
230
|
+
return {
|
|
231
|
+
success: true,
|
|
232
|
+
text: text2,
|
|
233
|
+
data: {
|
|
234
|
+
subaction,
|
|
235
|
+
subject,
|
|
236
|
+
ranked: []
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
if (typeof runtime.useModel !== "function") {
|
|
241
|
+
logger.warn(
|
|
242
|
+
`[PRIORITIZE] ${subaction} runtime.useModel unavailable, returning natural order`
|
|
243
|
+
);
|
|
244
|
+
const fallbackRanked = items.slice(0, topN).map((item, index) => ({
|
|
245
|
+
...item,
|
|
246
|
+
rank: index + 1,
|
|
247
|
+
score: 0,
|
|
248
|
+
reasoning: "model unavailable; preserved input order"
|
|
249
|
+
}));
|
|
250
|
+
const text2 = `Ranked ${fallbackRanked.length} ${subject} (model unavailable, used input order).`;
|
|
251
|
+
await callback?.({ text: text2, source: "action", action: ACTION_NAME });
|
|
252
|
+
return {
|
|
253
|
+
success: true,
|
|
254
|
+
text: text2,
|
|
255
|
+
data: {
|
|
256
|
+
subaction,
|
|
257
|
+
subject,
|
|
258
|
+
ranked: fallbackRanked,
|
|
259
|
+
warning: "MODEL_UNAVAILABLE"
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
const prompt = buildRankingPrompt({
|
|
264
|
+
subject,
|
|
265
|
+
items,
|
|
266
|
+
topN,
|
|
267
|
+
criteria: params.criteria
|
|
268
|
+
});
|
|
269
|
+
let raw;
|
|
270
|
+
try {
|
|
271
|
+
raw = await runWithTrajectoryContext(
|
|
272
|
+
{ purpose: "lifeops-prioritize" },
|
|
273
|
+
() => runtime.useModel(ModelType.TEXT_LARGE, { prompt })
|
|
274
|
+
);
|
|
275
|
+
} catch (error) {
|
|
276
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
277
|
+
logger.error(`[PRIORITIZE] ${subaction} model call failed: ${detail}`);
|
|
278
|
+
return {
|
|
279
|
+
success: false,
|
|
280
|
+
text: `I couldn't rank your ${subject} \u2014 the language model call failed.`,
|
|
281
|
+
data: {
|
|
282
|
+
subaction,
|
|
283
|
+
subject,
|
|
284
|
+
error: "MODEL_CALL_FAILED",
|
|
285
|
+
detail
|
|
286
|
+
}
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
const parsed = parseRanking(raw);
|
|
290
|
+
const ranked = applyRanking(items, parsed, topN);
|
|
291
|
+
logger.info(
|
|
292
|
+
`[PRIORITIZE] ${subaction} ranked=${ranked.length} items=${items.length} topN=${topN}`
|
|
293
|
+
);
|
|
294
|
+
const text = ranked.length === 0 ? `Ranked 0 ${subject} \u2014 model produced no valid entries.` : `Ranked top ${ranked.length} ${subject} by urgency \xD7 importance.`;
|
|
295
|
+
await callback?.({ text, source: "action", action: ACTION_NAME });
|
|
296
|
+
return {
|
|
297
|
+
success: true,
|
|
298
|
+
text,
|
|
299
|
+
data: {
|
|
300
|
+
subaction,
|
|
301
|
+
subject,
|
|
302
|
+
ranked,
|
|
303
|
+
...ranked.length === 0 ? { warning: "EMPTY_RANKING" } : {}
|
|
304
|
+
}
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
};
|
|
308
|
+
export {
|
|
309
|
+
__resetPrioritizeLoadersForTests,
|
|
310
|
+
prioritizeAction,
|
|
311
|
+
setPrioritizeLoaders
|
|
312
|
+
};
|
|
313
|
+
//# sourceMappingURL=prioritize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/actions/prioritize.ts"],"sourcesContent":["/**\n * `PRIORITIZE` umbrella action — LLM-ranked importance × urgency.\n *\n * Subactions:\n * - `rank_todos` — todo items in the owner's life domain\n * - `rank_threads` — open inbox / messaging threads\n * - `rank_decisions` — pending approval queue decisions\n *\n * Loads items via the relevant loader hook, then calls\n * `runtime.useModel(ModelType.TEXT_LARGE)` once with a structured prompt that\n * asks for a JSON ranking by urgency × importance, with a short reasoning\n * string per item.\n *\n * Owner-only.\n */\n\nimport type {\n Action,\n ActionExample,\n ActionResult,\n HandlerCallback,\n HandlerOptions,\n IAgentRuntime,\n Memory,\n} from \"@elizaos/core\";\nimport { logger, ModelType, runWithTrajectoryContext } from \"@elizaos/core\";\nimport { hasLifeOpsAccess } from \"../lifeops/access.js\";\n\nconst ACTION_NAME = \"PRIORITIZE\";\n\nconst SUBACTIONS = [\"rank_todos\", \"rank_threads\", \"rank_decisions\"] as const;\n\ntype Subaction = (typeof SUBACTIONS)[number];\n\nconst SIMILE_NAMES: readonly string[] = [\n \"PRIORITIZE\",\n \"RANK_TODAY\",\n \"WHAT_MATTERS_MOST\",\n \"PRIORITIZE_TODAY\",\n];\n\ntype Subject = \"todos\" | \"threads\" | \"decisions\";\n\nconst SUBJECT_TO_SUBACTION: Readonly<Record<Subject, Subaction>> = {\n todos: \"rank_todos\",\n threads: \"rank_threads\",\n decisions: \"rank_decisions\",\n};\n\nconst SUBACTION_TO_SUBJECT: Readonly<Record<Subaction, Subject>> = {\n rank_todos: \"todos\",\n rank_threads: \"threads\",\n rank_decisions: \"decisions\",\n};\n\ninterface PrioritizeActionParameters {\n subaction?: Subaction | string;\n action?: Subaction | string;\n op?: Subaction | string;\n subject?: Subject | string;\n topN?: number;\n criteria?: string;\n}\n\nexport interface PrioritizeRankableItem {\n readonly id: string;\n readonly title: string;\n readonly summary?: string;\n readonly dueAt?: string | null;\n readonly metadata?: Record<string, unknown>;\n}\n\nexport interface PrioritizeRankedItem extends PrioritizeRankableItem {\n readonly rank: number;\n readonly score: number;\n readonly reasoning: string;\n}\n\n/**\n * Per-subject loader hooks. Default loaders return empty lists so tests can\n * inject per-subject inputs without standing up the full service graph.\n */\nexport interface PrioritizeLoaders {\n loadTodos: (args: {\n runtime: IAgentRuntime;\n }) => Promise<readonly PrioritizeRankableItem[]>;\n loadThreads: (args: {\n runtime: IAgentRuntime;\n }) => Promise<readonly PrioritizeRankableItem[]>;\n loadDecisions: (args: {\n runtime: IAgentRuntime;\n }) => Promise<readonly PrioritizeRankableItem[]>;\n}\n\nconst defaultLoaders: PrioritizeLoaders = {\n loadTodos: async () => [],\n loadThreads: async () => [],\n loadDecisions: async () => [],\n};\n\nlet activeLoaders: PrioritizeLoaders = defaultLoaders;\n\nexport function setPrioritizeLoaders(next: Partial<PrioritizeLoaders>): void {\n activeLoaders = { ...activeLoaders, ...next };\n}\n\nexport function __resetPrioritizeLoadersForTests(): void {\n activeLoaders = defaultLoaders;\n}\n\nfunction getParams(\n options: HandlerOptions | undefined,\n): PrioritizeActionParameters {\n const raw = (options as HandlerOptions | undefined)?.parameters;\n if (raw && typeof raw === \"object\") {\n return raw as PrioritizeActionParameters;\n }\n return {};\n}\n\nfunction normalizeSubaction(value: unknown): Subaction | null {\n if (typeof value !== \"string\") return null;\n const trimmed = value.trim();\n if (trimmed.length === 0) return null;\n const lower = trimmed.toLowerCase();\n return (SUBACTIONS as readonly string[]).includes(lower)\n ? (lower as Subaction)\n : null;\n}\n\nfunction normalizeSubject(value: unknown): Subject | null {\n if (typeof value !== \"string\") return null;\n const lower = value.trim().toLowerCase();\n if (lower === \"todos\" || lower === \"threads\" || lower === \"decisions\") {\n return lower;\n }\n return null;\n}\n\nfunction resolveSubaction(\n params: PrioritizeActionParameters,\n): Subaction | null {\n return (\n normalizeSubaction(params.subaction) ??\n normalizeSubaction(params.action) ??\n normalizeSubaction(params.op) ??\n (() => {\n const subject = normalizeSubject(params.subject);\n return subject ? SUBJECT_TO_SUBACTION[subject] : null;\n })()\n );\n}\n\nasync function loadItemsForSubaction(\n subaction: Subaction,\n runtime: IAgentRuntime,\n): Promise<readonly PrioritizeRankableItem[]> {\n switch (subaction) {\n case \"rank_todos\":\n return activeLoaders.loadTodos({ runtime });\n case \"rank_threads\":\n return activeLoaders.loadThreads({ runtime });\n case \"rank_decisions\":\n return activeLoaders.loadDecisions({ runtime });\n }\n}\n\nfunction buildRankingPrompt(args: {\n subject: Subject;\n items: readonly PrioritizeRankableItem[];\n topN: number;\n criteria?: string;\n}): string {\n const data = JSON.stringify(args.items, null, 2);\n const criteriaLine = args.criteria\n ? `\\nAdditional criteria from the owner: ${args.criteria}\\n`\n : \"\";\n return `You are ranking the owner's open ${args.subject} by urgency multiplied by importance.\n\nReturn strict JSON only:\n{\n \"ranked\": [\n { \"id\": \"<item id>\", \"score\": <0..1 number>, \"reasoning\": \"<short why>\" },\n ...\n ]\n}\n\n- Include AT MOST ${args.topN} items.\n- Score 1.0 means drop-everything-now; 0.0 means could wait indefinitely.\n- Sort by descending score.\n- Use only the ids that appear in the input data.\n- Keep reasoning under 20 words.${criteriaLine}\n\nItems:\n${data}`;\n}\n\ninterface RawRankingEntry {\n readonly id: string;\n readonly score: number;\n readonly reasoning: string;\n}\n\nfunction parseRanking(raw: unknown): readonly RawRankingEntry[] {\n if (typeof raw !== \"string\") return [];\n const trimmed = raw.trim();\n const start = trimmed.indexOf(\"{\");\n const end = trimmed.lastIndexOf(\"}\");\n if (start === -1 || end === -1 || end <= start) return [];\n const slice = trimmed.slice(start, end + 1);\n const parsed: unknown = (() => {\n try {\n return JSON.parse(slice);\n } catch {\n return null;\n }\n })();\n if (!parsed || typeof parsed !== \"object\") return [];\n const rankedRaw = (parsed as { ranked?: unknown }).ranked;\n if (!Array.isArray(rankedRaw)) return [];\n const entries: RawRankingEntry[] = [];\n for (const entry of rankedRaw) {\n if (!entry || typeof entry !== \"object\") continue;\n const obj = entry as Record<string, unknown>;\n const id = typeof obj.id === \"string\" ? obj.id : null;\n const score = typeof obj.score === \"number\" ? obj.score : null;\n const reasoning = typeof obj.reasoning === \"string\" ? obj.reasoning : \"\";\n if (!id || score === null) continue;\n entries.push({ id, score, reasoning });\n }\n return entries;\n}\n\nfunction applyRanking(\n items: readonly PrioritizeRankableItem[],\n ranking: readonly RawRankingEntry[],\n topN: number,\n): readonly PrioritizeRankedItem[] {\n const itemMap = new Map(items.map((item) => [item.id, item]));\n const sorted = [...ranking].sort((a, b) => b.score - a.score);\n const ranked: PrioritizeRankedItem[] = [];\n for (const entry of sorted) {\n const source = itemMap.get(entry.id);\n if (!source) continue;\n ranked.push({\n ...source,\n rank: ranked.length + 1,\n score: entry.score,\n reasoning: entry.reasoning,\n });\n if (ranked.length >= topN) break;\n }\n return ranked;\n}\n\nconst examples: ActionExample[][] = [\n [\n { name: \"{{name1}}\", content: { text: \"What should I focus on today?\" } },\n {\n name: \"{{agentName}}\",\n content: {\n text: \"Ranked your top todos by urgency × importance.\",\n action: ACTION_NAME,\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: { text: \"Which threads need my attention first?\" },\n },\n {\n name: \"{{agentName}}\",\n content: {\n text: \"Ranked your open threads by priority.\",\n action: ACTION_NAME,\n },\n },\n ],\n];\n\nexport const prioritizeAction: Action & {\n suppressPostActionContinuation?: boolean;\n} = {\n name: ACTION_NAME,\n similes: SIMILE_NAMES.slice(),\n tags: [\n \"domain:focus\",\n \"capability:read\",\n \"capability:rank\",\n \"surface:internal\",\n ],\n description:\n \"Rank owner open todos, message threads, pending decisions by urgency × importance. LLM pass. Subactions: rank_todos, rank_threads, rank_decisions.\",\n descriptionCompressed:\n \"prioritize: rank_todos|rank_threads|rank_decisions; topN ranking by urgency × importance\",\n routingHint:\n 'prioritization (\"focus on\", \"rank today\", \"which thread first\", \"what matters most\") -> PRIORITIZE; do not use plain list -> OWNER_TODOS.list / MESSAGE.list_inbox',\n contexts: [\"focus\", \"tasks\", \"inbox\", \"approvals\"],\n roleGate: { minRole: \"OWNER\" },\n suppressPostActionContinuation: true,\n validate: async (runtime, message) => hasLifeOpsAccess(runtime, message),\n parameters: [\n {\n name: \"action\",\n description: \"Prioritize op: rank_todos | rank_threads | rank_decisions.\",\n schema: { type: \"string\" as const, enum: [...SUBACTIONS] },\n },\n {\n name: \"subject\",\n description:\n \"Alt selector: todos | threads | decisions. Maps to subaction.\",\n schema: {\n type: \"string\" as const,\n enum: [\"todos\", \"threads\", \"decisions\"],\n },\n },\n {\n name: \"topN\",\n description: \"Top item count. Default 5.\",\n schema: { type: \"number\" as const },\n },\n {\n name: \"criteria\",\n description: \"Owner weighting criteria.\",\n schema: { type: \"string\" as const },\n },\n ],\n examples,\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state,\n options,\n callback: HandlerCallback | undefined,\n ): Promise<ActionResult> => {\n if (!(await hasLifeOpsAccess(runtime, message))) {\n const text = \"Prioritization is restricted to the owner.\";\n await callback?.({ text });\n return { text, success: false, data: { error: \"PERMISSION_DENIED\" } };\n }\n\n const params = getParams(options);\n const subaction = resolveSubaction(params);\n if (!subaction) {\n return {\n success: false,\n text: \"Tell me what to rank: rank_todos, rank_threads, or rank_decisions.\",\n data: { error: \"MISSING_SUBACTION\" },\n };\n }\n\n const subject = SUBACTION_TO_SUBJECT[subaction];\n const topN =\n typeof params.topN === \"number\" && params.topN > 0\n ? Math.floor(params.topN)\n : 5;\n\n const items = await loadItemsForSubaction(subaction, runtime);\n if (items.length === 0) {\n const text = `No open ${subject} to rank.`;\n logger.info(`[PRIORITIZE] ${subaction} empty topN=${topN}`);\n await callback?.({ text, source: \"action\", action: ACTION_NAME });\n return {\n success: true,\n text,\n data: {\n subaction,\n subject,\n ranked: [] as readonly PrioritizeRankedItem[],\n },\n };\n }\n\n if (typeof runtime.useModel !== \"function\") {\n logger.warn(\n `[PRIORITIZE] ${subaction} runtime.useModel unavailable, returning natural order`,\n );\n const fallbackRanked = items\n .slice(0, topN)\n .map<PrioritizeRankedItem>((item, index) => ({\n ...item,\n rank: index + 1,\n score: 0,\n reasoning: \"model unavailable; preserved input order\",\n }));\n const text = `Ranked ${fallbackRanked.length} ${subject} (model unavailable, used input order).`;\n await callback?.({ text, source: \"action\", action: ACTION_NAME });\n return {\n success: true,\n text,\n data: {\n subaction,\n subject,\n ranked: fallbackRanked,\n warning: \"MODEL_UNAVAILABLE\",\n },\n };\n }\n\n const prompt = buildRankingPrompt({\n subject,\n items,\n topN,\n criteria: params.criteria,\n });\n\n let raw: unknown;\n try {\n raw = await runWithTrajectoryContext(\n { purpose: \"lifeops-prioritize\" },\n () => runtime.useModel(ModelType.TEXT_LARGE, { prompt }),\n );\n } catch (error) {\n const detail = error instanceof Error ? error.message : String(error);\n logger.error(`[PRIORITIZE] ${subaction} model call failed: ${detail}`);\n return {\n success: false,\n text: `I couldn't rank your ${subject} — the language model call failed.`,\n data: {\n subaction,\n subject,\n error: \"MODEL_CALL_FAILED\",\n detail,\n },\n };\n }\n\n const parsed = parseRanking(raw);\n const ranked = applyRanking(items, parsed, topN);\n\n logger.info(\n `[PRIORITIZE] ${subaction} ranked=${ranked.length} items=${items.length} topN=${topN}`,\n );\n\n const text =\n ranked.length === 0\n ? `Ranked 0 ${subject} — model produced no valid entries.`\n : `Ranked top ${ranked.length} ${subject} by urgency × importance.`;\n\n await callback?.({ text, source: \"action\", action: ACTION_NAME });\n\n return {\n success: true,\n text,\n data: {\n subaction,\n subject,\n ranked,\n ...(ranked.length === 0 ? { warning: \"EMPTY_RANKING\" } : {}),\n },\n };\n },\n};\n"],"mappings":"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","names":["text"]}
|