@withbuddi/buddi 0.1.0-pre.28 → 0.1.0-pre.30
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/README.md +3 -1
- package/extension/manifest.json +2 -2
- package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/cli/dist/args.d.ts +19 -3
- package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/args.js +19 -5
- package/node_modules/@buddi/cli/dist/args.js.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.js +80 -8
- package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
- package/node_modules/@buddi/cli/dist/dashboard-cmd.d.ts +3 -0
- package/node_modules/@buddi/cli/dist/dashboard-cmd.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/dashboard-cmd.js +63 -0
- package/node_modules/@buddi/cli/dist/dashboard-cmd.js.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.js +11 -4
- package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor.d.ts +1 -1
- package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/jobs-cmd.d.ts +4 -0
- package/node_modules/@buddi/cli/dist/jobs-cmd.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/jobs-cmd.js +53 -4
- package/node_modules/@buddi/cli/dist/jobs-cmd.js.map +1 -1
- package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/main.js +27 -2
- package/node_modules/@buddi/cli/dist/main.js.map +1 -1
- package/node_modules/@buddi/cli/dist/mcp/gateway-client.d.ts +19 -17
- package/node_modules/@buddi/cli/dist/mcp/gateway-client.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/mcp/gateway-client.js +128 -29
- package/node_modules/@buddi/cli/dist/mcp/gateway-client.js.map +1 -1
- package/node_modules/@buddi/cli/dist/mcp/tools.d.ts +6 -0
- package/node_modules/@buddi/cli/dist/mcp/tools.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/mcp/tools.js +20 -1
- package/node_modules/@buddi/cli/dist/mcp/tools.js.map +1 -1
- package/node_modules/@buddi/cli/dist/telegram-cmd.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/telegram-cmd.js +5 -4
- package/node_modules/@buddi/cli/dist/telegram-cmd.js.map +1 -1
- package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.js +7 -6
- package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
- package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts +12 -12
- package/node_modules/@buddi/core/dist/agents/skills.d.ts +2 -2
- package/node_modules/@buddi/core/dist/clock-widget.d.ts +38 -0
- package/node_modules/@buddi/core/dist/clock-widget.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/clock-widget.js +114 -0
- package/node_modules/@buddi/core/dist/clock-widget.js.map +1 -0
- package/node_modules/@buddi/core/dist/failures/owner-message.d.ts +25 -0
- package/node_modules/@buddi/core/dist/failures/owner-message.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/failures/owner-message.js +90 -0
- package/node_modules/@buddi/core/dist/failures/owner-message.js.map +1 -1
- package/node_modules/@buddi/core/dist/feedback/index.d.ts +23 -2
- package/node_modules/@buddi/core/dist/feedback/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/feedback/index.js +23 -3
- package/node_modules/@buddi/core/dist/feedback/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/groups.d.ts +33 -0
- package/node_modules/@buddi/core/dist/groups.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/groups.js +76 -4
- package/node_modules/@buddi/core/dist/groups.js.map +1 -1
- package/node_modules/@buddi/core/dist/home.d.ts +5 -5
- package/node_modules/@buddi/core/dist/host/build.d.ts +19 -1
- package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/host/build.js +122 -2
- package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
- package/node_modules/@buddi/core/dist/host/types.d.ts +33 -0
- package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/index.d.ts +8 -0
- package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/index.js +8 -0
- package/node_modules/@buddi/core/dist/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/lock.d.ts +82 -0
- package/node_modules/@buddi/core/dist/lock.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/lock.js +182 -0
- package/node_modules/@buddi/core/dist/lock.js.map +1 -0
- package/node_modules/@buddi/core/dist/metrics.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/metrics.js +4 -2
- package/node_modules/@buddi/core/dist/metrics.js.map +1 -1
- package/node_modules/@buddi/core/dist/onboarding/store.d.ts +5 -0
- package/node_modules/@buddi/core/dist/onboarding/store.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/onboarding/store.js +35 -5
- package/node_modules/@buddi/core/dist/onboarding/store.js.map +1 -1
- package/node_modules/@buddi/core/dist/onboarding/types.d.ts +10 -0
- package/node_modules/@buddi/core/dist/onboarding/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/onboarding/types.js +2 -0
- package/node_modules/@buddi/core/dist/onboarding/types.js.map +1 -1
- package/node_modules/@buddi/core/dist/owner-format.d.ts +14 -0
- package/node_modules/@buddi/core/dist/owner-format.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/owner-format.js +47 -0
- package/node_modules/@buddi/core/dist/owner-format.js.map +1 -0
- package/node_modules/@buddi/core/dist/owner-timezone.d.ts +46 -0
- package/node_modules/@buddi/core/dist/owner-timezone.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/owner-timezone.js +43 -0
- package/node_modules/@buddi/core/dist/owner-timezone.js.map +1 -0
- package/node_modules/@buddi/core/dist/pages.d.ts +13 -39
- package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pages.js +12 -1
- package/node_modules/@buddi/core/dist/pages.js.map +1 -1
- package/node_modules/@buddi/core/dist/places.d.ts +110 -0
- package/node_modules/@buddi/core/dist/places.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/places.js +239 -0
- package/node_modules/@buddi/core/dist/places.js.map +1 -0
- package/node_modules/@buddi/core/dist/plugin/index.d.ts +9 -2
- package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.js +3 -0
- package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/requires.d.ts +75 -0
- package/node_modules/@buddi/core/dist/plugin/requires.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/plugin/requires.js +77 -0
- package/node_modules/@buddi/core/dist/plugin/requires.js.map +1 -0
- package/node_modules/@buddi/core/dist/plugin/uses.d.ts +1 -1
- package/node_modules/@buddi/core/dist/plugin/uses.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/uses.js +2 -0
- package/node_modules/@buddi/core/dist/plugin/uses.js.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
- package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
- package/node_modules/@buddi/core/dist/queue/failures.d.ts +84 -0
- package/node_modules/@buddi/core/dist/queue/failures.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/queue/failures.js +195 -0
- package/node_modules/@buddi/core/dist/queue/failures.js.map +1 -0
- package/node_modules/@buddi/core/dist/queue/index.d.ts +1 -0
- package/node_modules/@buddi/core/dist/queue/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/queue/index.js +1 -0
- package/node_modules/@buddi/core/dist/queue/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/queue/jobs.d.ts +39 -3
- package/node_modules/@buddi/core/dist/queue/jobs.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/queue/jobs.js +54 -4
- package/node_modules/@buddi/core/dist/queue/jobs.js.map +1 -1
- package/node_modules/@buddi/core/dist/queue/retry-policy.d.ts +5 -0
- package/node_modules/@buddi/core/dist/queue/retry-policy.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/queue/retry-policy.js +19 -2
- package/node_modules/@buddi/core/dist/queue/retry-policy.js.map +1 -1
- package/node_modules/@buddi/core/dist/queue/types.d.ts +20 -0
- package/node_modules/@buddi/core/dist/queue/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/queue/types.js +17 -0
- package/node_modules/@buddi/core/dist/queue/types.js.map +1 -1
- package/node_modules/@buddi/core/dist/registry.d.ts +37 -2
- package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/registry.js +137 -3
- package/node_modules/@buddi/core/dist/registry.js.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/enqueue.d.ts +71 -0
- package/node_modules/@buddi/core/dist/scheduler/enqueue.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/scheduler/enqueue.js +116 -0
- package/node_modules/@buddi/core/dist/scheduler/enqueue.js.map +1 -0
- package/node_modules/@buddi/core/dist/scheduler/index.d.ts +1 -0
- package/node_modules/@buddi/core/dist/scheduler/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/index.js +1 -0
- package/node_modules/@buddi/core/dist/scheduler/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/missions.d.ts +15 -0
- package/node_modules/@buddi/core/dist/scheduler/missions.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/missions.js +43 -4
- package/node_modules/@buddi/core/dist/scheduler/missions.js.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/types.d.ts +10 -0
- package/node_modules/@buddi/core/dist/scheduler/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/scheduler/types.js +3 -0
- package/node_modules/@buddi/core/dist/scheduler/types.js.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/settings.d.ts +6 -6
- package/node_modules/@buddi/core/dist/secrets/settings.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/settings.js +23 -3
- package/node_modules/@buddi/core/dist/secrets/settings.js.map +1 -1
- package/node_modules/@buddi/core/dist/semver.d.ts +17 -0
- package/node_modules/@buddi/core/dist/semver.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/semver.js +130 -0
- package/node_modules/@buddi/core/dist/semver.js.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/digest.d.ts +8 -1
- package/node_modules/@buddi/core/dist/sentinels/digest.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/digest.js +10 -3
- package/node_modules/@buddi/core/dist/sentinels/digest.js.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/index.d.ts +1 -0
- package/node_modules/@buddi/core/dist/sentinels/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/index.js +1 -0
- package/node_modules/@buddi/core/dist/sentinels/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/mutes.d.ts +51 -0
- package/node_modules/@buddi/core/dist/sentinels/mutes.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/sentinels/mutes.js +86 -0
- package/node_modules/@buddi/core/dist/sentinels/mutes.js.map +1 -0
- package/node_modules/@buddi/core/dist/sentinels/run.d.ts +20 -5
- package/node_modules/@buddi/core/dist/sentinels/run.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/run.js +105 -42
- package/node_modules/@buddi/core/dist/sentinels/run.js.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/types.d.ts +165 -2
- package/node_modules/@buddi/core/dist/sentinels/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/types.js +126 -2
- package/node_modules/@buddi/core/dist/sentinels/types.js.map +1 -1
- package/node_modules/@buddi/core/dist/sources/run.d.ts +8 -0
- package/node_modules/@buddi/core/dist/sources/run.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/sources/run.js +1 -1
- package/node_modules/@buddi/core/dist/sources/run.js.map +1 -1
- package/node_modules/@buddi/core/dist/sources/watch.d.ts +3 -0
- package/node_modules/@buddi/core/dist/sources/watch.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/sources/watch.js +1 -1
- package/node_modules/@buddi/core/dist/sources/watch.js.map +1 -1
- package/node_modules/@buddi/core/dist/time.d.ts +17 -3
- package/node_modules/@buddi/core/dist/time.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/time.js +27 -3
- package/node_modules/@buddi/core/dist/time.js.map +1 -1
- package/node_modules/@buddi/core/dist/tools.d.ts +30 -1
- package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/tools.js.map +1 -1
- package/node_modules/@buddi/core/dist/views.d.ts +164 -164
- package/node_modules/@buddi/core/dist/views.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/views.js +5 -0
- package/node_modules/@buddi/core/dist/views.js.map +1 -1
- package/node_modules/@buddi/core/dist/widget-settings.d.ts +161 -0
- package/node_modules/@buddi/core/dist/widget-settings.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/widget-settings.js +314 -0
- package/node_modules/@buddi/core/dist/widget-settings.js.map +1 -0
- package/node_modules/@buddi/core/dist/widgets.d.ts +206 -0
- package/node_modules/@buddi/core/dist/widgets.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/widgets.js +247 -0
- package/node_modules/@buddi/core/dist/widgets.js.map +1 -0
- package/node_modules/@buddi/core/migrations/059_dashboard_lock.sql +33 -0
- package/node_modules/@buddi/core/migrations/060_owner_places.sql +30 -0
- package/node_modules/@buddi/core/migrations/061_owner_formats.sql +10 -0
- package/node_modules/@buddi/core/migrations/062_group_deleted.sql +7 -0
- package/node_modules/@buddi/core/migrations/063_provider_account_limits.sql +20 -0
- package/node_modules/@buddi/core/migrations/064_mission_coalesce.sql +12 -0
- package/node_modules/@buddi/core/migrations/065_api_tokens.sql +28 -0
- package/node_modules/@buddi/core/migrations/066_alert_decisions.sql +45 -0
- package/node_modules/@buddi/core/migrations/067_job_acknowledged.sql +21 -0
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/gateway/dist/account-limits.d.ts +45 -0
- package/node_modules/@buddi/gateway/dist/account-limits.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/account-limits.js +87 -0
- package/node_modules/@buddi/gateway/dist/account-limits.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/accounts-cli.d.ts +88 -0
- package/node_modules/@buddi/gateway/dist/accounts-cli.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/accounts-cli.js +216 -0
- package/node_modules/@buddi/gateway/dist/accounts-cli.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/agents/canvas.d.ts +20 -20
- package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts +4 -0
- package/node_modules/@buddi/gateway/dist/agents/learning-digest.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/learning-digest.js +18 -5
- package/node_modules/@buddi/gateway/dist/agents/learning-digest.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +3 -2
- package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +24 -24
- package/node_modules/@buddi/gateway/dist/api-token-cli.d.ts +17 -0
- package/node_modules/@buddi/gateway/dist/api-token-cli.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/api-token-cli.js +108 -0
- package/node_modules/@buddi/gateway/dist/api-token-cli.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/bootstrap.d.ts +6 -2
- package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.js +25 -7
- package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/conversations.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/conversations.js +8 -2
- package/node_modules/@buddi/gateway/dist/chat/conversations.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/session.d.ts +5 -0
- package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/session.js +11 -1
- package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/cli.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/cli.js +14 -3
- package/node_modules/@buddi/gateway/dist/cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/index.d.ts +3 -0
- package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/index.js +3 -0
- package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/dead-letter.d.ts +2 -1
- package/node_modules/@buddi/gateway/dist/missions/dead-letter.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/dead-letter.js +19 -5
- package/node_modules/@buddi/gateway/dist/missions/dead-letter.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/defaults.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/missions/defaults.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/defaults.js +10 -2
- package/node_modules/@buddi/gateway/dist/missions/defaults.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.js +49 -9
- package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/goals.d.ts +12 -1
- package/node_modules/@buddi/gateway/dist/missions/goals.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/goals.js +21 -1
- package/node_modules/@buddi/gateway/dist/missions/goals.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/inline.js +1 -1
- package/node_modules/@buddi/gateway/dist/missions/inline.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts +14 -0
- package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js +41 -2
- package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions-cli.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions-cli.js +5 -5
- package/node_modules/@buddi/gateway/dist/missions-cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/nudges-cli.js +2 -2
- package/node_modules/@buddi/gateway/dist/nudges-cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/owner-seed.js +2 -2
- package/node_modules/@buddi/gateway/dist/owner-seed.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/live.d.ts +8 -1
- package/node_modules/@buddi/gateway/dist/plugins/live.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/live.js +25 -7
- package/node_modules/@buddi/gateway/dist/plugins/live.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/load.d.ts +55 -0
- package/node_modules/@buddi/gateway/dist/plugins/load.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/load.js +100 -4
- package/node_modules/@buddi/gateway/dist/plugins/load.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/requires.d.ts +79 -0
- package/node_modules/@buddi/gateway/dist/plugins/requires.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/plugins/requires.js +178 -0
- package/node_modules/@buddi/gateway/dist/plugins/requires.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/stage.js +6 -1
- package/node_modules/@buddi/gateway/dist/plugins/stage.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/update.d.ts +21 -0
- package/node_modules/@buddi/gateway/dist/plugins/update.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/update.js +16 -0
- package/node_modules/@buddi/gateway/dist/plugins/update.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +1 -1
- package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins-cli.js +6 -2
- package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts +4 -0
- package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.js +68 -10
- package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-diagnostics.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-diagnostics.js +9 -0
- package/node_modules/@buddi/gateway/dist/provider-diagnostics.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/reminders-cli.js +2 -2
- package/node_modules/@buddi/gateway/dist/reminders-cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.js +66 -8
- package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/failure.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/failure.js +9 -1
- package/node_modules/@buddi/gateway/dist/surfaces/failure.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.d.ts +17 -0
- package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js +27 -0
- package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/system-context.d.ts +18 -0
- package/node_modules/@buddi/gateway/dist/system-context.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/system-context.js +46 -4
- package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/main.js +3 -3
- package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/outbound.js +7 -2
- package/node_modules/@buddi/gateway/dist/telegram/outbound.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/reactions.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/reactions.js +12 -2
- package/node_modules/@buddi/gateway/dist/telegram/reactions.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +4 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.js +13 -3
- package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/engine.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/tips/engine.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/engine.js +8 -5
- package/node_modules/@buddi/gateway/dist/tips/engine.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/facts.d.ts +23 -0
- package/node_modules/@buddi/gateway/dist/tips/facts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/facts.js +19 -0
- package/node_modules/@buddi/gateway/dist/tips/facts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/route.js +2 -2
- package/node_modules/@buddi/gateway/dist/tips/route.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/rules.d.ts +3 -2
- package/node_modules/@buddi/gateway/dist/tips/rules.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/rules.js +26 -0
- package/node_modules/@buddi/gateway/dist/tips/rules.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/alerts.d.ts +179 -0
- package/node_modules/@buddi/gateway/dist/web/alerts.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/alerts.js +363 -0
- package/node_modules/@buddi/gateway/dist/web/alerts.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts +103 -0
- package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/api-routes.js +1239 -0
- package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts +17 -0
- package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/api-scan.js +206 -0
- package/node_modules/@buddi/gateway/dist/web/api-scan.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/api-tokens.d.ts +58 -0
- package/node_modules/@buddi/gateway/dist/web/api-tokens.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/api-tokens.js +136 -0
- package/node_modules/@buddi/gateway/dist/web/api-tokens.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/backups.js +2 -2
- package/node_modules/@buddi/gateway/dist/web/backups.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts +1 -0
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/chat.js +4 -3
- package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/group-lifecycle.d.ts +18 -0
- package/node_modules/@buddi/gateway/dist/web/group-lifecycle.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/group-lifecycle.js +46 -0
- package/node_modules/@buddi/gateway/dist/web/group-lifecycle.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/lock-image.d.ts +37 -0
- package/node_modules/@buddi/gateway/dist/web/lock-image.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/lock-image.js +253 -0
- package/node_modules/@buddi/gateway/dist/web/lock-image.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/lock.d.ts +165 -0
- package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/lock.js +478 -0
- package/node_modules/@buddi/gateway/dist/web/lock.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/pages.d.ts +1 -0
- package/node_modules/@buddi/gateway/dist/web/pages.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/pages.js +12 -1
- package/node_modules/@buddi/gateway/dist/web/pages.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/places.d.ts +27 -0
- package/node_modules/@buddi/gateway/dist/web/places.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/places.js +90 -0
- package/node_modules/@buddi/gateway/dist/web/places.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/plugins.d.ts +28 -0
- package/node_modules/@buddi/gateway/dist/web/plugins.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/plugins.js +83 -9
- package/node_modules/@buddi/gateway/dist/web/plugins.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/read.d.ts +52 -26
- package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/read.js +52 -36
- package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/secrets.d.ts +61 -1
- package/node_modules/@buddi/gateway/dist/web/secrets.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/secrets.js +111 -3
- package/node_modules/@buddi/gateway/dist/web/secrets.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.d.ts +9 -0
- package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.js +531 -46
- package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/sessions.d.ts +43 -2
- package/node_modules/@buddi/gateway/dist/web/sessions.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/sessions.js +67 -3
- package/node_modules/@buddi/gateway/dist/web/sessions.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts +17 -18
- package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/signed-out.js +135 -33
- package/node_modules/@buddi/gateway/dist/web/signed-out.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/stream.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/stream.js +14 -0
- package/node_modules/@buddi/gateway/dist/web/stream.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts +33 -4
- package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/tailscale.js +76 -16
- package/node_modules/@buddi/gateway/dist/web/tailscale.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/widgets.d.ts +131 -0
- package/node_modules/@buddi/gateway/dist/web/widgets.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/widgets.js +478 -0
- package/node_modules/@buddi/gateway/dist/web/widgets.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/write.d.ts +23 -0
- package/node_modules/@buddi/gateway/dist/web/write.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/write.js +46 -1
- package/node_modules/@buddi/gateway/dist/web/write.js.map +1 -1
- package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/anthropic.d.ts +15 -0
- package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/anthropic.js +26 -9
- package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +2 -1
- package/node_modules/@buddi/runtime/dist/codex-direct.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/codex-direct.js +13 -6
- package/node_modules/@buddi/runtime/dist/codex-direct.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/index.d.ts +1 -0
- package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/index.js +1 -0
- package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/loop.d.ts +2 -0
- package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/loop.js +22 -0
- package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/openai.d.ts +34 -1
- package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/openai.js +85 -19
- package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/rate-limit.d.ts +91 -0
- package/node_modules/@buddi/runtime/dist/rate-limit.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/rate-limit.js +291 -0
- package/node_modules/@buddi/runtime/dist/rate-limit.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/retry.d.ts +40 -0
- package/node_modules/@buddi/runtime/dist/retry.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/retry.js +42 -8
- package/node_modules/@buddi/runtime/dist/retry.js.map +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-email/dist/agent.js +1 -1
- package/node_modules/@buddi/tool-email/dist/folders.d.ts +14 -0
- package/node_modules/@buddi/tool-email/dist/folders.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/folders.js +23 -0
- package/node_modules/@buddi/tool-email/dist/folders.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts +55 -0
- package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/imap/fake.js +163 -4
- package/node_modules/@buddi/tool-email/dist/imap/fake.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts +8 -0
- package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js +124 -4
- package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/index.js +3 -0
- package/node_modules/@buddi/tool-email/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/mail.d.ts +48 -0
- package/node_modules/@buddi/tool-email/dist/mail.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/mail.js +119 -0
- package/node_modules/@buddi/tool-email/dist/mail.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/mailbox/actions.d.ts +90 -5
- package/node_modules/@buddi/tool-email/dist/mailbox/actions.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/mailbox/actions.js +643 -200
- package/node_modules/@buddi/tool-email/dist/mailbox/actions.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/mailbox/select.d.ts +6 -0
- package/node_modules/@buddi/tool-email/dist/mailbox/select.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/mailbox/select.js +20 -2
- package/node_modules/@buddi/tool-email/dist/mailbox/select.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/metrics.d.ts +8 -9
- package/node_modules/@buddi/tool-email/dist/metrics.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/metrics.js +8 -9
- package/node_modules/@buddi/tool-email/dist/metrics.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/needs-you.d.ts +58 -0
- package/node_modules/@buddi/tool-email/dist/needs-you.d.ts.map +1 -0
- package/node_modules/@buddi/tool-email/dist/needs-you.js +97 -0
- package/node_modules/@buddi/tool-email/dist/needs-you.js.map +1 -0
- package/node_modules/@buddi/tool-email/dist/pages/descriptors.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/descriptors.js +126 -80
- package/node_modules/@buddi/tool-email/dist/pages/descriptors.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/drafts-tools.d.ts +2 -2
- package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts +14 -0
- package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/queries.js +65 -7
- package/node_modules/@buddi/tool-email/dist/pages/queries.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/policies/auto.d.ts +9 -9
- package/node_modules/@buddi/tool-email/dist/policies/auto.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/policies/auto.js +79 -24
- package/node_modules/@buddi/tool-email/dist/policies/auto.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/ports.d.ts +55 -0
- package/node_modules/@buddi/tool-email/dist/ports.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/ports.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sentinels/suspicious-sender.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sentinels/suspicious-sender.js +4 -1
- package/node_modules/@buddi/tool-email/dist/sentinels/suspicious-sender.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.d.ts +19 -22
- package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.js +44 -63
- package/node_modules/@buddi/tool-email/dist/sentinels/waiting-on-me.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sources/idle.d.ts +10 -2
- package/node_modules/@buddi/tool-email/dist/sources/idle.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sources/idle.js +70 -3
- package/node_modules/@buddi/tool-email/dist/sources/idle.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts +69 -2
- package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js +143 -13
- package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sources/presence.d.ts +47 -0
- package/node_modules/@buddi/tool-email/dist/sources/presence.d.ts.map +1 -0
- package/node_modules/@buddi/tool-email/dist/sources/presence.js +128 -0
- package/node_modules/@buddi/tool-email/dist/sources/presence.js.map +1 -0
- package/node_modules/@buddi/tool-email/dist/suspicions-store.d.ts +6 -0
- package/node_modules/@buddi/tool-email/dist/suspicions-store.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/suspicions-store.js +16 -1
- package/node_modules/@buddi/tool-email/dist/suspicions-store.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/threads.d.ts +19 -2
- package/node_modules/@buddi/tool-email/dist/threads.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/threads.js +47 -17
- package/node_modules/@buddi/tool-email/dist/threads.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/tools/mailbox.d.ts +3 -0
- package/node_modules/@buddi/tool-email/dist/tools/mailbox.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/tools/mailbox.js +9 -4
- package/node_modules/@buddi/tool-email/dist/tools/mailbox.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/tools/read.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/tools/read.js +29 -2
- package/node_modules/@buddi/tool-email/dist/tools/read.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/tools/threads.d.ts +7 -3
- package/node_modules/@buddi/tool-email/dist/tools/threads.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/tools/threads.js +18 -5
- package/node_modules/@buddi/tool-email/dist/tools/threads.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/watchers.d.ts +91 -7
- package/node_modules/@buddi/tool-email/dist/watchers.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/watchers.js +164 -1
- package/node_modules/@buddi/tool-email/dist/watchers.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/widgets.d.ts +14 -0
- package/node_modules/@buddi/tool-email/dist/widgets.d.ts.map +1 -0
- package/node_modules/@buddi/tool-email/dist/widgets.js +51 -0
- package/node_modules/@buddi/tool-email/dist/widgets.js.map +1 -0
- package/node_modules/@buddi/tool-email/migrations/020_mailbox_presence.sql +44 -0
- package/node_modules/@buddi/tool-email/migrations/021_learned_line.sql +9 -0
- package/node_modules/@buddi/tool-email/migrations/022_bulk_checked.sql +13 -0
- package/node_modules/@buddi/tool-email/migrations/023_attention.sql +100 -0
- package/node_modules/@buddi/tool-email/migrations/024_auth_domain.sql +9 -0
- package/node_modules/@buddi/tool-email/migrations/025_thread_ignore.sql +77 -0
- package/node_modules/@buddi/tool-email/package.json +1 -1
- package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-memory/dist/admin.d.ts +9 -0
- package/node_modules/@buddi/tool-memory/dist/admin.d.ts.map +1 -1
- package/node_modules/@buddi/tool-memory/dist/admin.js +11 -0
- package/node_modules/@buddi/tool-memory/dist/admin.js.map +1 -1
- package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
- package/node_modules/ip-address/README.md +34 -34
- package/node_modules/ip-address/dist/ipv4.js +7 -0
- package/node_modules/ip-address/dist/ipv4.js.map +1 -1
- package/node_modules/ip-address/package.json +1 -1
- package/package.json +2 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/cli/dist/args.d.ts +19 -3
- package/packages/cli/dist/args.d.ts.map +1 -1
- package/packages/cli/dist/args.js +19 -5
- package/packages/cli/dist/args.js.map +1 -1
- package/packages/cli/dist/commands.d.ts.map +1 -1
- package/packages/cli/dist/commands.js +80 -8
- package/packages/cli/dist/commands.js.map +1 -1
- package/packages/cli/dist/dashboard-cmd.d.ts +3 -0
- package/packages/cli/dist/dashboard-cmd.d.ts.map +1 -1
- package/packages/cli/dist/dashboard-cmd.js +63 -0
- package/packages/cli/dist/dashboard-cmd.js.map +1 -1
- package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
- package/packages/cli/dist/doctor-probes.js +11 -4
- package/packages/cli/dist/doctor-probes.js.map +1 -1
- package/packages/cli/dist/doctor.d.ts +1 -1
- package/packages/cli/dist/doctor.d.ts.map +1 -1
- package/packages/cli/dist/jobs-cmd.d.ts +4 -0
- package/packages/cli/dist/jobs-cmd.d.ts.map +1 -1
- package/packages/cli/dist/jobs-cmd.js +53 -4
- package/packages/cli/dist/jobs-cmd.js.map +1 -1
- package/packages/cli/dist/main.d.ts.map +1 -1
- package/packages/cli/dist/main.js +27 -2
- package/packages/cli/dist/main.js.map +1 -1
- package/packages/cli/dist/mcp/gateway-client.d.ts +19 -17
- package/packages/cli/dist/mcp/gateway-client.d.ts.map +1 -1
- package/packages/cli/dist/mcp/gateway-client.js +128 -29
- package/packages/cli/dist/mcp/gateway-client.js.map +1 -1
- package/packages/cli/dist/mcp/tools.d.ts +6 -0
- package/packages/cli/dist/mcp/tools.d.ts.map +1 -1
- package/packages/cli/dist/mcp/tools.js +20 -1
- package/packages/cli/dist/mcp/tools.js.map +1 -1
- package/packages/cli/dist/telegram-cmd.d.ts.map +1 -1
- package/packages/cli/dist/telegram-cmd.js +5 -4
- package/packages/cli/dist/telegram-cmd.js.map +1 -1
- package/packages/core/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/agents/catalog.d.ts.map +1 -1
- package/packages/core/dist/agents/catalog.js +7 -6
- package/packages/core/dist/agents/catalog.js.map +1 -1
- package/packages/core/dist/agents/frontmatter.d.ts +12 -12
- package/packages/core/dist/agents/skills.d.ts +2 -2
- package/packages/core/dist/clock-widget.d.ts +38 -0
- package/packages/core/dist/clock-widget.d.ts.map +1 -0
- package/packages/core/dist/clock-widget.js +114 -0
- package/packages/core/dist/clock-widget.js.map +1 -0
- package/packages/core/dist/failures/owner-message.d.ts +25 -0
- package/packages/core/dist/failures/owner-message.d.ts.map +1 -1
- package/packages/core/dist/failures/owner-message.js +90 -0
- package/packages/core/dist/failures/owner-message.js.map +1 -1
- package/packages/core/dist/feedback/index.d.ts +23 -2
- package/packages/core/dist/feedback/index.d.ts.map +1 -1
- package/packages/core/dist/feedback/index.js +23 -3
- package/packages/core/dist/feedback/index.js.map +1 -1
- package/packages/core/dist/groups.d.ts +33 -0
- package/packages/core/dist/groups.d.ts.map +1 -1
- package/packages/core/dist/groups.js +76 -4
- package/packages/core/dist/groups.js.map +1 -1
- package/packages/core/dist/home.d.ts +5 -5
- package/packages/core/dist/host/build.d.ts +19 -1
- package/packages/core/dist/host/build.d.ts.map +1 -1
- package/packages/core/dist/host/build.js +122 -2
- package/packages/core/dist/host/build.js.map +1 -1
- package/packages/core/dist/host/types.d.ts +33 -0
- package/packages/core/dist/host/types.d.ts.map +1 -1
- package/packages/core/dist/index.d.ts +8 -0
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +8 -0
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/lock.d.ts +82 -0
- package/packages/core/dist/lock.d.ts.map +1 -0
- package/packages/core/dist/lock.js +182 -0
- package/packages/core/dist/lock.js.map +1 -0
- package/packages/core/dist/metrics.d.ts.map +1 -1
- package/packages/core/dist/metrics.js +4 -2
- package/packages/core/dist/metrics.js.map +1 -1
- package/packages/core/dist/onboarding/store.d.ts +5 -0
- package/packages/core/dist/onboarding/store.d.ts.map +1 -1
- package/packages/core/dist/onboarding/store.js +35 -5
- package/packages/core/dist/onboarding/store.js.map +1 -1
- package/packages/core/dist/onboarding/types.d.ts +10 -0
- package/packages/core/dist/onboarding/types.d.ts.map +1 -1
- package/packages/core/dist/onboarding/types.js +2 -0
- package/packages/core/dist/onboarding/types.js.map +1 -1
- package/packages/core/dist/owner-format.d.ts +14 -0
- package/packages/core/dist/owner-format.d.ts.map +1 -0
- package/packages/core/dist/owner-format.js +47 -0
- package/packages/core/dist/owner-format.js.map +1 -0
- package/packages/core/dist/owner-timezone.d.ts +46 -0
- package/packages/core/dist/owner-timezone.d.ts.map +1 -0
- package/packages/core/dist/owner-timezone.js +43 -0
- package/packages/core/dist/owner-timezone.js.map +1 -0
- package/packages/core/dist/pages.d.ts +13 -39
- package/packages/core/dist/pages.d.ts.map +1 -1
- package/packages/core/dist/pages.js +12 -1
- package/packages/core/dist/pages.js.map +1 -1
- package/packages/core/dist/places.d.ts +110 -0
- package/packages/core/dist/places.d.ts.map +1 -0
- package/packages/core/dist/places.js +239 -0
- package/packages/core/dist/places.js.map +1 -0
- package/packages/core/dist/plugin/index.d.ts +9 -2
- package/packages/core/dist/plugin/index.d.ts.map +1 -1
- package/packages/core/dist/plugin/index.js +3 -0
- package/packages/core/dist/plugin/index.js.map +1 -1
- package/packages/core/dist/plugin/requires.d.ts +75 -0
- package/packages/core/dist/plugin/requires.d.ts.map +1 -0
- package/packages/core/dist/plugin/requires.js +77 -0
- package/packages/core/dist/plugin/requires.js.map +1 -0
- package/packages/core/dist/plugin/uses.d.ts +1 -1
- package/packages/core/dist/plugin/uses.d.ts.map +1 -1
- package/packages/core/dist/plugin/uses.js +2 -0
- package/packages/core/dist/plugin/uses.js.map +1 -1
- package/packages/core/dist/plugin/version.d.ts +1 -1
- package/packages/core/dist/plugin/version.js +1 -1
- package/packages/core/dist/queue/failures.d.ts +84 -0
- package/packages/core/dist/queue/failures.d.ts.map +1 -0
- package/packages/core/dist/queue/failures.js +195 -0
- package/packages/core/dist/queue/failures.js.map +1 -0
- package/packages/core/dist/queue/index.d.ts +1 -0
- package/packages/core/dist/queue/index.d.ts.map +1 -1
- package/packages/core/dist/queue/index.js +1 -0
- package/packages/core/dist/queue/index.js.map +1 -1
- package/packages/core/dist/queue/jobs.d.ts +39 -3
- package/packages/core/dist/queue/jobs.d.ts.map +1 -1
- package/packages/core/dist/queue/jobs.js +54 -4
- package/packages/core/dist/queue/jobs.js.map +1 -1
- package/packages/core/dist/queue/retry-policy.d.ts +5 -0
- package/packages/core/dist/queue/retry-policy.d.ts.map +1 -1
- package/packages/core/dist/queue/retry-policy.js +19 -2
- package/packages/core/dist/queue/retry-policy.js.map +1 -1
- package/packages/core/dist/queue/types.d.ts +20 -0
- package/packages/core/dist/queue/types.d.ts.map +1 -1
- package/packages/core/dist/queue/types.js +17 -0
- package/packages/core/dist/queue/types.js.map +1 -1
- package/packages/core/dist/registry.d.ts +37 -2
- package/packages/core/dist/registry.d.ts.map +1 -1
- package/packages/core/dist/registry.js +137 -3
- package/packages/core/dist/registry.js.map +1 -1
- package/packages/core/dist/scheduler/enqueue.d.ts +71 -0
- package/packages/core/dist/scheduler/enqueue.d.ts.map +1 -0
- package/packages/core/dist/scheduler/enqueue.js +116 -0
- package/packages/core/dist/scheduler/enqueue.js.map +1 -0
- package/packages/core/dist/scheduler/index.d.ts +1 -0
- package/packages/core/dist/scheduler/index.d.ts.map +1 -1
- package/packages/core/dist/scheduler/index.js +1 -0
- package/packages/core/dist/scheduler/index.js.map +1 -1
- package/packages/core/dist/scheduler/missions.d.ts +15 -0
- package/packages/core/dist/scheduler/missions.d.ts.map +1 -1
- package/packages/core/dist/scheduler/missions.js +43 -4
- package/packages/core/dist/scheduler/missions.js.map +1 -1
- package/packages/core/dist/scheduler/types.d.ts +10 -0
- package/packages/core/dist/scheduler/types.d.ts.map +1 -1
- package/packages/core/dist/scheduler/types.js +3 -0
- package/packages/core/dist/scheduler/types.js.map +1 -1
- package/packages/core/dist/secrets/settings.d.ts +6 -6
- package/packages/core/dist/secrets/settings.d.ts.map +1 -1
- package/packages/core/dist/secrets/settings.js +23 -3
- package/packages/core/dist/secrets/settings.js.map +1 -1
- package/packages/core/dist/semver.d.ts +17 -0
- package/packages/core/dist/semver.d.ts.map +1 -1
- package/packages/core/dist/semver.js +130 -0
- package/packages/core/dist/semver.js.map +1 -1
- package/packages/core/dist/sentinels/digest.d.ts +8 -1
- package/packages/core/dist/sentinels/digest.d.ts.map +1 -1
- package/packages/core/dist/sentinels/digest.js +10 -3
- package/packages/core/dist/sentinels/digest.js.map +1 -1
- package/packages/core/dist/sentinels/index.d.ts +1 -0
- package/packages/core/dist/sentinels/index.d.ts.map +1 -1
- package/packages/core/dist/sentinels/index.js +1 -0
- package/packages/core/dist/sentinels/index.js.map +1 -1
- package/packages/core/dist/sentinels/mutes.d.ts +51 -0
- package/packages/core/dist/sentinels/mutes.d.ts.map +1 -0
- package/packages/core/dist/sentinels/mutes.js +86 -0
- package/packages/core/dist/sentinels/mutes.js.map +1 -0
- package/packages/core/dist/sentinels/run.d.ts +20 -5
- package/packages/core/dist/sentinels/run.d.ts.map +1 -1
- package/packages/core/dist/sentinels/run.js +105 -42
- package/packages/core/dist/sentinels/run.js.map +1 -1
- package/packages/core/dist/sentinels/types.d.ts +165 -2
- package/packages/core/dist/sentinels/types.d.ts.map +1 -1
- package/packages/core/dist/sentinels/types.js +126 -2
- package/packages/core/dist/sentinels/types.js.map +1 -1
- package/packages/core/dist/sources/run.d.ts +8 -0
- package/packages/core/dist/sources/run.d.ts.map +1 -1
- package/packages/core/dist/sources/run.js +1 -1
- package/packages/core/dist/sources/run.js.map +1 -1
- package/packages/core/dist/sources/watch.d.ts +3 -0
- package/packages/core/dist/sources/watch.d.ts.map +1 -1
- package/packages/core/dist/sources/watch.js +1 -1
- package/packages/core/dist/sources/watch.js.map +1 -1
- package/packages/core/dist/time.d.ts +17 -3
- package/packages/core/dist/time.d.ts.map +1 -1
- package/packages/core/dist/time.js +27 -3
- package/packages/core/dist/time.js.map +1 -1
- package/packages/core/dist/tools.d.ts +30 -1
- package/packages/core/dist/tools.d.ts.map +1 -1
- package/packages/core/dist/tools.js.map +1 -1
- package/packages/core/dist/views.d.ts +164 -164
- package/packages/core/dist/views.d.ts.map +1 -1
- package/packages/core/dist/views.js +5 -0
- package/packages/core/dist/views.js.map +1 -1
- package/packages/core/dist/widget-settings.d.ts +161 -0
- package/packages/core/dist/widget-settings.d.ts.map +1 -0
- package/packages/core/dist/widget-settings.js +314 -0
- package/packages/core/dist/widget-settings.js.map +1 -0
- package/packages/core/dist/widgets.d.ts +206 -0
- package/packages/core/dist/widgets.d.ts.map +1 -0
- package/packages/core/dist/widgets.js +247 -0
- package/packages/core/dist/widgets.js.map +1 -0
- package/packages/core/migrations/059_dashboard_lock.sql +33 -0
- package/packages/core/migrations/060_owner_places.sql +30 -0
- package/packages/core/migrations/061_owner_formats.sql +10 -0
- package/packages/core/migrations/062_group_deleted.sql +7 -0
- package/packages/core/migrations/063_provider_account_limits.sql +20 -0
- package/packages/core/migrations/064_mission_coalesce.sql +12 -0
- package/packages/core/migrations/065_api_tokens.sql +28 -0
- package/packages/core/migrations/066_alert_decisions.sql +45 -0
- package/packages/core/migrations/067_job_acknowledged.sql +21 -0
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- package/packages/gateway/dist/account-limits.d.ts +45 -0
- package/packages/gateway/dist/account-limits.d.ts.map +1 -0
- package/packages/gateway/dist/account-limits.js +87 -0
- package/packages/gateway/dist/account-limits.js.map +1 -0
- package/packages/gateway/dist/accounts-cli.d.ts +88 -0
- package/packages/gateway/dist/accounts-cli.d.ts.map +1 -0
- package/packages/gateway/dist/accounts-cli.js +216 -0
- package/packages/gateway/dist/accounts-cli.js.map +1 -0
- package/packages/gateway/dist/agents/canvas.d.ts +20 -20
- package/packages/gateway/dist/agents/learning-digest.d.ts +4 -0
- package/packages/gateway/dist/agents/learning-digest.d.ts.map +1 -1
- package/packages/gateway/dist/agents/learning-digest.js +18 -5
- package/packages/gateway/dist/agents/learning-digest.js.map +1 -1
- package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
- package/packages/gateway/dist/agents/owner-tools.js +3 -2
- package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
- package/packages/gateway/dist/agents/platform.d.ts +24 -24
- package/packages/gateway/dist/api-token-cli.d.ts +17 -0
- package/packages/gateway/dist/api-token-cli.d.ts.map +1 -0
- package/packages/gateway/dist/api-token-cli.js +108 -0
- package/packages/gateway/dist/api-token-cli.js.map +1 -0
- package/packages/gateway/dist/bootstrap.d.ts +6 -2
- package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
- package/packages/gateway/dist/bootstrap.js +25 -7
- package/packages/gateway/dist/bootstrap.js.map +1 -1
- package/packages/gateway/dist/chat/conversations.d.ts.map +1 -1
- package/packages/gateway/dist/chat/conversations.js +8 -2
- package/packages/gateway/dist/chat/conversations.js.map +1 -1
- package/packages/gateway/dist/chat/session.d.ts +5 -0
- package/packages/gateway/dist/chat/session.d.ts.map +1 -1
- package/packages/gateway/dist/chat/session.js +11 -1
- package/packages/gateway/dist/chat/session.js.map +1 -1
- package/packages/gateway/dist/cli.d.ts.map +1 -1
- package/packages/gateway/dist/cli.js +14 -3
- package/packages/gateway/dist/cli.js.map +1 -1
- package/packages/gateway/dist/index.d.ts +3 -0
- package/packages/gateway/dist/index.d.ts.map +1 -1
- package/packages/gateway/dist/index.js +3 -0
- package/packages/gateway/dist/index.js.map +1 -1
- package/packages/gateway/dist/missions/dead-letter.d.ts +2 -1
- package/packages/gateway/dist/missions/dead-letter.d.ts.map +1 -1
- package/packages/gateway/dist/missions/dead-letter.js +19 -5
- package/packages/gateway/dist/missions/dead-letter.js.map +1 -1
- package/packages/gateway/dist/missions/defaults.d.ts +6 -0
- package/packages/gateway/dist/missions/defaults.d.ts.map +1 -1
- package/packages/gateway/dist/missions/defaults.js +10 -2
- package/packages/gateway/dist/missions/defaults.js.map +1 -1
- package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
- package/packages/gateway/dist/missions/execute.js +49 -9
- package/packages/gateway/dist/missions/execute.js.map +1 -1
- package/packages/gateway/dist/missions/goals.d.ts +12 -1
- package/packages/gateway/dist/missions/goals.d.ts.map +1 -1
- package/packages/gateway/dist/missions/goals.js +21 -1
- package/packages/gateway/dist/missions/goals.js.map +1 -1
- package/packages/gateway/dist/missions/inline.js +1 -1
- package/packages/gateway/dist/missions/inline.js.map +1 -1
- package/packages/gateway/dist/missions/sentinel-wake.d.ts +14 -0
- package/packages/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
- package/packages/gateway/dist/missions/sentinel-wake.js +41 -2
- package/packages/gateway/dist/missions/sentinel-wake.js.map +1 -1
- package/packages/gateway/dist/missions-cli.d.ts.map +1 -1
- package/packages/gateway/dist/missions-cli.js +5 -5
- package/packages/gateway/dist/missions-cli.js.map +1 -1
- package/packages/gateway/dist/nudges-cli.js +2 -2
- package/packages/gateway/dist/nudges-cli.js.map +1 -1
- package/packages/gateway/dist/owner-seed.js +2 -2
- package/packages/gateway/dist/owner-seed.js.map +1 -1
- package/packages/gateway/dist/plugins/live.d.ts +8 -1
- package/packages/gateway/dist/plugins/live.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/live.js +25 -7
- package/packages/gateway/dist/plugins/live.js.map +1 -1
- package/packages/gateway/dist/plugins/load.d.ts +55 -0
- package/packages/gateway/dist/plugins/load.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/load.js +100 -4
- package/packages/gateway/dist/plugins/load.js.map +1 -1
- package/packages/gateway/dist/plugins/requires.d.ts +79 -0
- package/packages/gateway/dist/plugins/requires.d.ts.map +1 -0
- package/packages/gateway/dist/plugins/requires.js +178 -0
- package/packages/gateway/dist/plugins/requires.js.map +1 -0
- package/packages/gateway/dist/plugins/stage.d.ts +6 -0
- package/packages/gateway/dist/plugins/stage.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/stage.js +6 -1
- package/packages/gateway/dist/plugins/stage.js.map +1 -1
- package/packages/gateway/dist/plugins/update.d.ts +21 -0
- package/packages/gateway/dist/plugins/update.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/update.js +16 -0
- package/packages/gateway/dist/plugins/update.js.map +1 -1
- package/packages/gateway/dist/plugins-cli.d.ts +1 -1
- package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
- package/packages/gateway/dist/plugins-cli.js +6 -2
- package/packages/gateway/dist/plugins-cli.js.map +1 -1
- package/packages/gateway/dist/provider-accounts.d.ts +4 -0
- package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/packages/gateway/dist/provider-accounts.js +68 -10
- package/packages/gateway/dist/provider-accounts.js.map +1 -1
- package/packages/gateway/dist/provider-diagnostics.d.ts.map +1 -1
- package/packages/gateway/dist/provider-diagnostics.js +9 -0
- package/packages/gateway/dist/provider-diagnostics.js.map +1 -1
- package/packages/gateway/dist/reminders-cli.js +2 -2
- package/packages/gateway/dist/reminders-cli.js.map +1 -1
- package/packages/gateway/dist/serve.d.ts +2 -0
- package/packages/gateway/dist/serve.d.ts.map +1 -1
- package/packages/gateway/dist/serve.js +66 -8
- package/packages/gateway/dist/serve.js.map +1 -1
- package/packages/gateway/dist/surfaces/failure.d.ts.map +1 -1
- package/packages/gateway/dist/surfaces/failure.js +9 -1
- package/packages/gateway/dist/surfaces/failure.js.map +1 -1
- package/packages/gateway/dist/surfaces/offered-actions.d.ts +17 -0
- package/packages/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
- package/packages/gateway/dist/surfaces/offered-actions.js +27 -0
- package/packages/gateway/dist/surfaces/offered-actions.js.map +1 -1
- package/packages/gateway/dist/system-context.d.ts +18 -0
- package/packages/gateway/dist/system-context.d.ts.map +1 -1
- package/packages/gateway/dist/system-context.js +46 -4
- package/packages/gateway/dist/system-context.js.map +1 -1
- package/packages/gateway/dist/telegram/main.js +3 -3
- package/packages/gateway/dist/telegram/main.js.map +1 -1
- package/packages/gateway/dist/telegram/outbound.d.ts +1 -1
- package/packages/gateway/dist/telegram/outbound.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/outbound.js +7 -2
- package/packages/gateway/dist/telegram/outbound.js.map +1 -1
- package/packages/gateway/dist/telegram/reactions.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/reactions.js +12 -2
- package/packages/gateway/dist/telegram/reactions.js.map +1 -1
- package/packages/gateway/dist/telegram/surface.d.ts +4 -1
- package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/surface.js +13 -3
- package/packages/gateway/dist/telegram/surface.js.map +1 -1
- package/packages/gateway/dist/tips/engine.d.ts +2 -0
- package/packages/gateway/dist/tips/engine.d.ts.map +1 -1
- package/packages/gateway/dist/tips/engine.js +8 -5
- package/packages/gateway/dist/tips/engine.js.map +1 -1
- package/packages/gateway/dist/tips/facts.d.ts +23 -0
- package/packages/gateway/dist/tips/facts.d.ts.map +1 -1
- package/packages/gateway/dist/tips/facts.js +19 -0
- package/packages/gateway/dist/tips/facts.js.map +1 -1
- package/packages/gateway/dist/tips/route.js +2 -2
- package/packages/gateway/dist/tips/route.js.map +1 -1
- package/packages/gateway/dist/tips/rules.d.ts +3 -2
- package/packages/gateway/dist/tips/rules.d.ts.map +1 -1
- package/packages/gateway/dist/tips/rules.js +26 -0
- package/packages/gateway/dist/tips/rules.js.map +1 -1
- package/packages/gateway/dist/web/alerts.d.ts +179 -0
- package/packages/gateway/dist/web/alerts.d.ts.map +1 -0
- package/packages/gateway/dist/web/alerts.js +363 -0
- package/packages/gateway/dist/web/alerts.js.map +1 -0
- package/packages/gateway/dist/web/api-routes.d.ts +103 -0
- package/packages/gateway/dist/web/api-routes.d.ts.map +1 -0
- package/packages/gateway/dist/web/api-routes.js +1239 -0
- package/packages/gateway/dist/web/api-routes.js.map +1 -0
- package/packages/gateway/dist/web/api-scan.d.ts +17 -0
- package/packages/gateway/dist/web/api-scan.d.ts.map +1 -0
- package/packages/gateway/dist/web/api-scan.js +206 -0
- package/packages/gateway/dist/web/api-scan.js.map +1 -0
- package/packages/gateway/dist/web/api-tokens.d.ts +58 -0
- package/packages/gateway/dist/web/api-tokens.d.ts.map +1 -0
- package/packages/gateway/dist/web/api-tokens.js +136 -0
- package/packages/gateway/dist/web/api-tokens.js.map +1 -0
- package/packages/gateway/dist/web/backups.js +2 -2
- package/packages/gateway/dist/web/backups.js.map +1 -1
- package/packages/gateway/dist/web/chat.d.ts +1 -0
- package/packages/gateway/dist/web/chat.d.ts.map +1 -1
- package/packages/gateway/dist/web/chat.js +4 -3
- package/packages/gateway/dist/web/chat.js.map +1 -1
- package/packages/gateway/dist/web/group-lifecycle.d.ts +18 -0
- package/packages/gateway/dist/web/group-lifecycle.d.ts.map +1 -0
- package/packages/gateway/dist/web/group-lifecycle.js +46 -0
- package/packages/gateway/dist/web/group-lifecycle.js.map +1 -0
- package/packages/gateway/dist/web/lock-image.d.ts +37 -0
- package/packages/gateway/dist/web/lock-image.d.ts.map +1 -0
- package/packages/gateway/dist/web/lock-image.js +253 -0
- package/packages/gateway/dist/web/lock-image.js.map +1 -0
- package/packages/gateway/dist/web/lock.d.ts +165 -0
- package/packages/gateway/dist/web/lock.d.ts.map +1 -0
- package/packages/gateway/dist/web/lock.js +478 -0
- package/packages/gateway/dist/web/lock.js.map +1 -0
- package/packages/gateway/dist/web/pages.d.ts +1 -0
- package/packages/gateway/dist/web/pages.d.ts.map +1 -1
- package/packages/gateway/dist/web/pages.js +12 -1
- package/packages/gateway/dist/web/pages.js.map +1 -1
- package/packages/gateway/dist/web/places.d.ts +27 -0
- package/packages/gateway/dist/web/places.d.ts.map +1 -0
- package/packages/gateway/dist/web/places.js +90 -0
- package/packages/gateway/dist/web/places.js.map +1 -0
- package/packages/gateway/dist/web/plugins.d.ts +28 -0
- package/packages/gateway/dist/web/plugins.d.ts.map +1 -1
- package/packages/gateway/dist/web/plugins.js +83 -9
- package/packages/gateway/dist/web/plugins.js.map +1 -1
- package/packages/gateway/dist/web/read.d.ts +52 -26
- package/packages/gateway/dist/web/read.d.ts.map +1 -1
- package/packages/gateway/dist/web/read.js +52 -36
- package/packages/gateway/dist/web/read.js.map +1 -1
- package/packages/gateway/dist/web/secrets.d.ts +61 -1
- package/packages/gateway/dist/web/secrets.d.ts.map +1 -1
- package/packages/gateway/dist/web/secrets.js +111 -3
- package/packages/gateway/dist/web/secrets.js.map +1 -1
- package/packages/gateway/dist/web/server.d.ts +9 -0
- package/packages/gateway/dist/web/server.d.ts.map +1 -1
- package/packages/gateway/dist/web/server.js +531 -46
- package/packages/gateway/dist/web/server.js.map +1 -1
- package/packages/gateway/dist/web/sessions.d.ts +43 -2
- package/packages/gateway/dist/web/sessions.d.ts.map +1 -1
- package/packages/gateway/dist/web/sessions.js +67 -3
- package/packages/gateway/dist/web/sessions.js.map +1 -1
- package/packages/gateway/dist/web/signed-out.d.ts +17 -18
- package/packages/gateway/dist/web/signed-out.d.ts.map +1 -1
- package/packages/gateway/dist/web/signed-out.js +135 -33
- package/packages/gateway/dist/web/signed-out.js.map +1 -1
- package/packages/gateway/dist/web/stream.d.ts.map +1 -1
- package/packages/gateway/dist/web/stream.js +14 -0
- package/packages/gateway/dist/web/stream.js.map +1 -1
- package/packages/gateway/dist/web/tailscale.d.ts +33 -4
- package/packages/gateway/dist/web/tailscale.d.ts.map +1 -1
- package/packages/gateway/dist/web/tailscale.js +76 -16
- package/packages/gateway/dist/web/tailscale.js.map +1 -1
- package/packages/gateway/dist/web/widgets.d.ts +131 -0
- package/packages/gateway/dist/web/widgets.d.ts.map +1 -0
- package/packages/gateway/dist/web/widgets.js +478 -0
- package/packages/gateway/dist/web/widgets.js.map +1 -0
- package/packages/gateway/dist/web/write.d.ts +23 -0
- package/packages/gateway/dist/web/write.d.ts.map +1 -1
- package/packages/gateway/dist/web/write.js +46 -1
- package/packages/gateway/dist/web/write.js.map +1 -1
- package/packages/install/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/anthropic.d.ts +15 -0
- package/packages/runtime/dist/anthropic.d.ts.map +1 -1
- package/packages/runtime/dist/anthropic.js +26 -9
- package/packages/runtime/dist/anthropic.js.map +1 -1
- package/packages/runtime/dist/codex-direct.d.ts +2 -1
- package/packages/runtime/dist/codex-direct.d.ts.map +1 -1
- package/packages/runtime/dist/codex-direct.js +13 -6
- package/packages/runtime/dist/codex-direct.js.map +1 -1
- package/packages/runtime/dist/index.d.ts +1 -0
- package/packages/runtime/dist/index.d.ts.map +1 -1
- package/packages/runtime/dist/index.js +1 -0
- package/packages/runtime/dist/index.js.map +1 -1
- package/packages/runtime/dist/loop.d.ts +2 -0
- package/packages/runtime/dist/loop.d.ts.map +1 -1
- package/packages/runtime/dist/loop.js +22 -0
- package/packages/runtime/dist/loop.js.map +1 -1
- package/packages/runtime/dist/openai.d.ts +34 -1
- package/packages/runtime/dist/openai.d.ts.map +1 -1
- package/packages/runtime/dist/openai.js +85 -19
- package/packages/runtime/dist/openai.js.map +1 -1
- package/packages/runtime/dist/rate-limit.d.ts +91 -0
- package/packages/runtime/dist/rate-limit.d.ts.map +1 -0
- package/packages/runtime/dist/rate-limit.js +291 -0
- package/packages/runtime/dist/rate-limit.js.map +1 -0
- package/packages/runtime/dist/retry.d.ts +40 -0
- package/packages/runtime/dist/retry.d.ts.map +1 -1
- package/packages/runtime/dist/retry.js +42 -8
- package/packages/runtime/dist/retry.js.map +1 -1
- package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/.tsbuildinfo +1 -1
- package/packages/tools/email/dist/.tsbuildinfo +1 -1
- package/packages/tools/email/dist/agent.js +1 -1
- package/packages/tools/email/dist/folders.d.ts +14 -0
- package/packages/tools/email/dist/folders.d.ts.map +1 -1
- package/packages/tools/email/dist/folders.js +23 -0
- package/packages/tools/email/dist/folders.js.map +1 -1
- package/packages/tools/email/dist/imap/fake.d.ts +55 -0
- package/packages/tools/email/dist/imap/fake.d.ts.map +1 -1
- package/packages/tools/email/dist/imap/fake.js +163 -4
- package/packages/tools/email/dist/imap/fake.js.map +1 -1
- package/packages/tools/email/dist/imap/imapflow-client.d.ts +8 -0
- package/packages/tools/email/dist/imap/imapflow-client.d.ts.map +1 -1
- package/packages/tools/email/dist/imap/imapflow-client.js +124 -4
- package/packages/tools/email/dist/imap/imapflow-client.js.map +1 -1
- package/packages/tools/email/dist/index.d.ts.map +1 -1
- package/packages/tools/email/dist/index.js +3 -0
- package/packages/tools/email/dist/index.js.map +1 -1
- package/packages/tools/email/dist/mail.d.ts +48 -0
- package/packages/tools/email/dist/mail.d.ts.map +1 -1
- package/packages/tools/email/dist/mail.js +119 -0
- package/packages/tools/email/dist/mail.js.map +1 -1
- package/packages/tools/email/dist/mailbox/actions.d.ts +90 -5
- package/packages/tools/email/dist/mailbox/actions.d.ts.map +1 -1
- package/packages/tools/email/dist/mailbox/actions.js +643 -200
- package/packages/tools/email/dist/mailbox/actions.js.map +1 -1
- package/packages/tools/email/dist/mailbox/select.d.ts +6 -0
- package/packages/tools/email/dist/mailbox/select.d.ts.map +1 -1
- package/packages/tools/email/dist/mailbox/select.js +20 -2
- package/packages/tools/email/dist/mailbox/select.js.map +1 -1
- package/packages/tools/email/dist/metrics.d.ts +8 -9
- package/packages/tools/email/dist/metrics.d.ts.map +1 -1
- package/packages/tools/email/dist/metrics.js +8 -9
- package/packages/tools/email/dist/metrics.js.map +1 -1
- package/packages/tools/email/dist/needs-you.d.ts +58 -0
- package/packages/tools/email/dist/needs-you.d.ts.map +1 -0
- package/packages/tools/email/dist/needs-you.js +97 -0
- package/packages/tools/email/dist/needs-you.js.map +1 -0
- package/packages/tools/email/dist/pages/descriptors.d.ts.map +1 -1
- package/packages/tools/email/dist/pages/descriptors.js +126 -80
- package/packages/tools/email/dist/pages/descriptors.js.map +1 -1
- package/packages/tools/email/dist/pages/drafts-tools.d.ts +2 -2
- package/packages/tools/email/dist/pages/queries.d.ts +14 -0
- package/packages/tools/email/dist/pages/queries.d.ts.map +1 -1
- package/packages/tools/email/dist/pages/queries.js +65 -7
- package/packages/tools/email/dist/pages/queries.js.map +1 -1
- package/packages/tools/email/dist/policies/auto.d.ts +9 -9
- package/packages/tools/email/dist/policies/auto.d.ts.map +1 -1
- package/packages/tools/email/dist/policies/auto.js +79 -24
- package/packages/tools/email/dist/policies/auto.js.map +1 -1
- package/packages/tools/email/dist/ports.d.ts +55 -0
- package/packages/tools/email/dist/ports.d.ts.map +1 -1
- package/packages/tools/email/dist/ports.js.map +1 -1
- package/packages/tools/email/dist/sentinels/suspicious-sender.d.ts.map +1 -1
- package/packages/tools/email/dist/sentinels/suspicious-sender.js +4 -1
- package/packages/tools/email/dist/sentinels/suspicious-sender.js.map +1 -1
- package/packages/tools/email/dist/sentinels/waiting-on-me.d.ts +19 -22
- package/packages/tools/email/dist/sentinels/waiting-on-me.d.ts.map +1 -1
- package/packages/tools/email/dist/sentinels/waiting-on-me.js +44 -63
- package/packages/tools/email/dist/sentinels/waiting-on-me.js.map +1 -1
- package/packages/tools/email/dist/sources/idle.d.ts +10 -2
- package/packages/tools/email/dist/sources/idle.d.ts.map +1 -1
- package/packages/tools/email/dist/sources/idle.js +70 -3
- package/packages/tools/email/dist/sources/idle.js.map +1 -1
- package/packages/tools/email/dist/sources/inbox-poll.d.ts +69 -2
- package/packages/tools/email/dist/sources/inbox-poll.d.ts.map +1 -1
- package/packages/tools/email/dist/sources/inbox-poll.js +143 -13
- package/packages/tools/email/dist/sources/inbox-poll.js.map +1 -1
- package/packages/tools/email/dist/sources/presence.d.ts +47 -0
- package/packages/tools/email/dist/sources/presence.d.ts.map +1 -0
- package/packages/tools/email/dist/sources/presence.js +128 -0
- package/packages/tools/email/dist/sources/presence.js.map +1 -0
- package/packages/tools/email/dist/suspicions-store.d.ts +6 -0
- package/packages/tools/email/dist/suspicions-store.d.ts.map +1 -1
- package/packages/tools/email/dist/suspicions-store.js +16 -1
- package/packages/tools/email/dist/suspicions-store.js.map +1 -1
- package/packages/tools/email/dist/threads.d.ts +19 -2
- package/packages/tools/email/dist/threads.d.ts.map +1 -1
- package/packages/tools/email/dist/threads.js +47 -17
- package/packages/tools/email/dist/threads.js.map +1 -1
- package/packages/tools/email/dist/tools/mailbox.d.ts +3 -0
- package/packages/tools/email/dist/tools/mailbox.d.ts.map +1 -1
- package/packages/tools/email/dist/tools/mailbox.js +9 -4
- package/packages/tools/email/dist/tools/mailbox.js.map +1 -1
- package/packages/tools/email/dist/tools/read.d.ts.map +1 -1
- package/packages/tools/email/dist/tools/read.js +29 -2
- package/packages/tools/email/dist/tools/read.js.map +1 -1
- package/packages/tools/email/dist/tools/threads.d.ts +7 -3
- package/packages/tools/email/dist/tools/threads.d.ts.map +1 -1
- package/packages/tools/email/dist/tools/threads.js +18 -5
- package/packages/tools/email/dist/tools/threads.js.map +1 -1
- package/packages/tools/email/dist/watchers.d.ts +91 -7
- package/packages/tools/email/dist/watchers.d.ts.map +1 -1
- package/packages/tools/email/dist/watchers.js +164 -1
- package/packages/tools/email/dist/watchers.js.map +1 -1
- package/packages/tools/email/dist/widgets.d.ts +14 -0
- package/packages/tools/email/dist/widgets.d.ts.map +1 -0
- package/packages/tools/email/dist/widgets.js +51 -0
- package/packages/tools/email/dist/widgets.js.map +1 -0
- package/packages/tools/email/migrations/020_mailbox_presence.sql +44 -0
- package/packages/tools/email/migrations/021_learned_line.sql +9 -0
- package/packages/tools/email/migrations/022_bulk_checked.sql +13 -0
- package/packages/tools/email/migrations/023_attention.sql +100 -0
- package/packages/tools/email/migrations/024_auth_domain.sql +9 -0
- package/packages/tools/email/migrations/025_thread_ignore.sql +77 -0
- package/packages/tools/email/package.json +1 -1
- package/packages/tools/host/dist/.tsbuildinfo +1 -1
- package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
- package/packages/tools/memory/dist/.tsbuildinfo +1 -1
- package/packages/tools/memory/dist/admin.d.ts +9 -0
- package/packages/tools/memory/dist/admin.d.ts.map +1 -1
- package/packages/tools/memory/dist/admin.js +11 -0
- package/packages/tools/memory/dist/admin.js.map +1 -1
- package/packages/tools/web/dist/.tsbuildinfo +1 -1
- package/packages/web/dist/assets/earth-2560-Ce3xs8Cb.webp +0 -0
- package/packages/web/dist/assets/earth-phone-BqC7cDhk.webp +0 -0
- package/packages/web/dist/assets/index-WS4UjGsy.js +129 -0
- package/packages/web/dist/assets/index-Zrt_o2UG.css +1 -0
- package/packages/web/dist/assets/{lottie_light-CSeMXM8D.js → lottie_light-Ls7i1ATS.js} +1 -1
- package/packages/web/dist/build.json +1 -1
- package/packages/web/dist/index.html +2 -2
- package/packages/web/dist/precache.json +4 -4
- package/packages/web/dist/sw.js +3 -2
- package/packages/web/dist/assets/index-CKuhKCWw.js +0 -131
- package/packages/web/dist/assets/index-DsK8UWCJ.css +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { attentionJoin, needsYouPrefilter } from '../needs-you.js';
|
|
2
|
+
import { firstLineOf, loadWatcherSettings, waitingFinding, waitingKey, } from '../watchers.js';
|
|
2
3
|
/** Twice a day. Waiting is measured in days; six-hourly would say the same. */
|
|
3
4
|
export const EVERY_12H = 12 * 60 * 60;
|
|
4
5
|
/** At most this many findings in one tick. A backlog is a report, not an alarm. */
|
|
@@ -8,12 +9,11 @@ export function mailAgent(ctx) {
|
|
|
8
9
|
return ctx.buddi.owner.agentForRole('mail') ?? ctx.buddi.owner.agentForRole('triage');
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
11
|
-
* The query: threads
|
|
12
|
-
* age
|
|
12
|
+
* The query: threads that need the owner, with the last inbound message and
|
|
13
|
+
* its age.
|
|
13
14
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* the rows it returns.
|
|
15
|
+
* One statement over the rule's function; the severity and the words are
|
|
16
|
+
* `watchers.ts`'s, over the rows it returns.
|
|
17
17
|
*
|
|
18
18
|
* Two statements read this one source, because there are two questions.
|
|
19
19
|
* *What is still true* has no cap — core resolves every open finding a run did
|
|
@@ -23,88 +23,56 @@ export function mailAgent(ctx) {
|
|
|
23
23
|
* first.
|
|
24
24
|
*/
|
|
25
25
|
const WAITING_SOURCE = `
|
|
26
|
-
with
|
|
27
|
-
select
|
|
28
|
-
m.
|
|
29
|
-
|
|
30
|
-
from email.
|
|
31
|
-
join email.threads t on t.id = m.thread_id
|
|
26
|
+
with waiting as (
|
|
27
|
+
select t.id as thread_id, t.subject as thread_subject,
|
|
28
|
+
m.id as message_id, m.from_addr, m.subject, m.body_text, m.snippet, att.inbound_at as at, t.account_id,
|
|
29
|
+
floor(extract(epoch from ($1::timestamptz - att.inbound_at)) / 86400.0)::int as age_days
|
|
30
|
+
from email.threads t
|
|
32
31
|
-- Enabled mailboxes only, which is the scope every read tool has
|
|
33
32
|
-- (listAccounts defaults to it). A mailbox the owner switched off keeps
|
|
34
33
|
-- its mail and its cursor and is not walked; a watcher that nagged about
|
|
35
34
|
-- its threads -- or a goal that counted them -- would be speaking about
|
|
36
35
|
-- mail nothing else here will show him.
|
|
37
|
-
join email.accounts a on a.id =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
and li.at <= $1::timestamptz - make_interval(days => $2::int)
|
|
50
|
-
-- ...and not so old that it is history rather than news. See
|
|
51
|
-
-- STALE_WAITING_DAYS above: a mailbox arrives with years of inbound-last
|
|
52
|
-
-- threads, and a watcher that reported all of them would wake the owner
|
|
53
|
-
-- twenty times a day about mail from 2019 forever.
|
|
54
|
-
and li.at >= $1::timestamptz - make_interval(days => $3::int)
|
|
55
|
-
-- The owner has written to them before, from this mailbox: his own mail,
|
|
56
|
-
-- whatever client he typed it in (docs/email.md §5).
|
|
57
|
-
and exists (
|
|
58
|
-
select 1 from email.messages o
|
|
59
|
-
where o.account_id = li.account_id
|
|
60
|
-
and o.direction = 'out'
|
|
61
|
-
and (
|
|
62
|
-
exists (select 1 from jsonb_array_elements_text(o.to_addrs) as a(addr)
|
|
63
|
-
where email.address_of(a.addr) = email.address_of(li.from_addr))
|
|
64
|
-
or exists (select 1 from jsonb_array_elements_text(o.cc) as a(addr)
|
|
65
|
-
where email.address_of(a.addr) = email.address_of(li.from_addr))
|
|
66
|
-
)
|
|
67
|
-
)
|
|
68
|
-
-- Silenced senders stay silenced. A live ignore policy of the owner's on
|
|
69
|
-
-- the sender or their domain, in this mailbox or in every one.
|
|
70
|
-
and not exists (
|
|
71
|
-
select 1 from email.policies p
|
|
72
|
-
where p.revoked_at is null
|
|
73
|
-
and p.proposed = false
|
|
74
|
-
and p.action = 'ignore'
|
|
75
|
-
and (p.account_id is null or p.account_id = li.account_id)
|
|
76
|
-
and (
|
|
77
|
-
(p.scope = 'sender' and p.matcher = email.address_of(li.from_addr))
|
|
78
|
-
or (p.scope = 'domain'
|
|
79
|
-
and p.matcher = split_part(email.address_of(li.from_addr), '@', 2))
|
|
80
|
-
)
|
|
81
|
-
)
|
|
36
|
+
join email.accounts a on a.id = t.account_id and a.enabled
|
|
37
|
+
${attentionJoin('t', '$1')}
|
|
38
|
+
join email.messages m on m.id = att.inbound_id
|
|
39
|
+
where ${needsYouPrefilter('t', '$1')}
|
|
40
|
+
-- The one rule (needs-you.ts): inbound last, not muted, not ignored,
|
|
41
|
+
-- not a no-reply or bulk sender, under thirty days old, and either
|
|
42
|
+
-- somebody the owner has written to from this mailbox or a message
|
|
43
|
+
-- triage judged to need a reply.
|
|
44
|
+
and att.needs_you
|
|
45
|
+
-- ...and waiting longer than the owner's setting. Zero for the count
|
|
46
|
+
-- the widget shows: what needs him now, not what he is nagged about.
|
|
47
|
+
and att.inbound_at <= $1::timestamptz - make_interval(days => $2::int)
|
|
82
48
|
)`;
|
|
83
49
|
/** Every key that is still true. No cap: see `WAITING_SOURCE`. */
|
|
84
50
|
const WAITING_KEYS_SQL = `${WAITING_SOURCE} select thread_id, message_id from waiting`;
|
|
85
51
|
/**
|
|
86
|
-
* How many conversations are waiting, by the same
|
|
52
|
+
* How many conversations are waiting, by the same rule and age.
|
|
87
53
|
*
|
|
88
54
|
* `email.waiting_on_me` is this number and nothing else, which is the point:
|
|
89
55
|
* a goal to get the pile down must count what the watcher nags about, or the
|
|
90
56
|
* owner would be working against one number and hearing about another.
|
|
91
57
|
*/
|
|
92
58
|
export const WAITING_COUNT_SQL = `${WAITING_SOURCE} select count(*)::int as n from waiting`;
|
|
59
|
+
/** The same count in some mailboxes only: Home's widget set to one. */
|
|
60
|
+
const WAITING_COUNT_IN_SQL = `${WAITING_SOURCE} select count(*)::int as n from waiting where account_id::text = any($3::text[])`;
|
|
93
61
|
/** The rows worth raising this tick: newest first, capped. */
|
|
94
62
|
const WAITING_ROWS_SQL = `${WAITING_SOURCE}
|
|
95
63
|
select thread_id, thread_subject, message_id, from_addr, subject, body_text, snippet, age_days
|
|
96
64
|
from waiting
|
|
97
65
|
order by at desc, thread_id asc
|
|
98
|
-
limit $
|
|
66
|
+
limit $3`;
|
|
99
67
|
export function createWaitingOnMeSentinel() {
|
|
100
68
|
return {
|
|
101
69
|
id: 'email.waiting-on-me',
|
|
102
70
|
description: 'Reports conversations waiting on you for longer than your setting (2 days by default), ' +
|
|
103
|
-
'from people you have written to before.',
|
|
71
|
+
'from people you have written to before or who asked you something — never alerts, newsletters or muted threads.',
|
|
104
72
|
every: EVERY_12H,
|
|
105
73
|
async run(ctx) {
|
|
106
74
|
const settings = await loadWatcherSettings(ctx.buddi.db);
|
|
107
|
-
const bounds = [ctx.buddi.clock.now(), settings.waitingDays
|
|
75
|
+
const bounds = [ctx.buddi.clock.now(), settings.waitingDays];
|
|
108
76
|
// Everything that is still true, and then the few worth saying out loud.
|
|
109
77
|
const all = await ctx.buddi.db.query(WAITING_KEYS_SQL, bounds);
|
|
110
78
|
const keys = all.rows.map((row) => waitingKey(String(row.thread_id), String(row.message_id)));
|
|
@@ -134,9 +102,22 @@ export const waitingOnMe = createWaitingOnMeSentinel();
|
|
|
134
102
|
* It reads the owner's `waitingDays` exactly as the watcher does, so changing
|
|
135
103
|
* the setting moves the watcher and the goal together.
|
|
136
104
|
*/
|
|
137
|
-
export async function countWaitingOnMe(db, now) {
|
|
105
|
+
export async function countWaitingOnMe(db, now, accountIds) {
|
|
138
106
|
const settings = await loadWatcherSettings(db);
|
|
139
|
-
|
|
107
|
+
return countWaiting(db, now, settings.waitingDays, accountIds);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* How many conversations need the owner now: the one rule with no waiting
|
|
111
|
+
* age. The widget's number, and exactly the Mail page's "Needs a reply".
|
|
112
|
+
*/
|
|
113
|
+
export async function countNeedsYou(db, now, accountIds) {
|
|
114
|
+
return countWaiting(db, now, 0, accountIds);
|
|
115
|
+
}
|
|
116
|
+
async function countWaiting(db, now, minDays, accountIds) {
|
|
117
|
+
const bounds = [now, minDays];
|
|
118
|
+
const { rows } = accountIds
|
|
119
|
+
? await db.query(WAITING_COUNT_IN_SQL, [...bounds, [...accountIds]])
|
|
120
|
+
: await db.query(WAITING_COUNT_SQL, bounds);
|
|
140
121
|
return Number(rows[0]?.n ?? 0);
|
|
141
122
|
}
|
|
142
123
|
//# sourceMappingURL=waiting-on-me.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waiting-on-me.js","sourceRoot":"","sources":["../../src/sentinels/waiting-on-me.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"waiting-on-me.js","sourceRoot":"","sources":["../../src/sentinels/waiting-on-me.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,13 @@
|
|
|
8
8
|
*
|
|
9
9
|
* - **Its own connection.** Never the poll's reader and never the write
|
|
10
10
|
* port's, so a mailbox action (a MOVE, a STORE) cannot break IDLE, and an
|
|
11
|
-
* IDLE that dies costs the poll nothing. INBOX only, opened read-only
|
|
12
|
-
*
|
|
11
|
+
* IDLE that dies costs the poll nothing. INBOX only, opened read-only.
|
|
12
|
+
* - **Sent, cheaply.** IDLE watches one mailbox, and mail the owner sends
|
|
13
|
+
* from another app lands in Sent, not INBOX. So while IDLE is live, every
|
|
14
|
+
* `IDLE_SENT_CHECK_MS` (1 min) the same connection asks `STATUS <Sent>
|
|
15
|
+
* (UIDNEXT)` — one line each way, the IDLE re-armed after it — and a
|
|
16
|
+
* UIDNEXT past the poll's Sent cursor starts the poll. No second
|
|
17
|
+
* connection; "the owner wrote back" is fresh within a minute.
|
|
13
18
|
* - **Coalesced.** A burst of EXISTS/EXPUNGE/FLAGS starts one timer
|
|
14
19
|
* (`IDLE_DEBOUNCE_MS`, 2s) and the poll runs when it fires. The source
|
|
15
20
|
* never runs two polls of one account at once; a change that lands during
|
|
@@ -39,6 +44,8 @@ export declare const IDLE_BACKOFF_FIRST_MS = 5000;
|
|
|
39
44
|
export declare const IDLE_BACKOFF_MAX_MS: number;
|
|
40
45
|
/** A session that lived this long counts as healthy: the backoff starts over. */
|
|
41
46
|
export declare const IDLE_STABLE_MS = 60000;
|
|
47
|
+
/** How often a live IDLE connection asks for Sent's UIDNEXT. */
|
|
48
|
+
export declare const IDLE_SENT_CHECK_MS = 60000;
|
|
42
49
|
/** The poll's period for an account whose IDLE is live: the safety net. */
|
|
43
50
|
export declare const IDLE_SLOW_POLL_SECONDS: number;
|
|
44
51
|
export type IdleState =
|
|
@@ -75,6 +82,7 @@ export interface IdleWatchersOptions {
|
|
|
75
82
|
backoffFirstMs?: number;
|
|
76
83
|
backoffMaxMs?: number;
|
|
77
84
|
stableMs?: number;
|
|
85
|
+
sentCheckMs?: number;
|
|
78
86
|
}
|
|
79
87
|
/** Every enabled account's watcher, kept in step with `email.accounts`. */
|
|
80
88
|
export declare class IdleWatchers {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle.d.ts","sourceRoot":"","sources":["../../src/sources/idle.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"idle.d.ts","sourceRoot":"","sources":["../../src/sources/idle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,KAAK,EAAiB,eAAe,EAAmB,MAAM,aAAa,CAAC;AAEnF,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AACtC,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAC3C,eAAO,MAAM,mBAAmB,QAAa,CAAC;AAC9C,iFAAiF;AACjF,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC,gEAAgE;AAChE,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,QAAU,CAAC;AAE9C,MAAM,MAAM,SAAS;AACnB,8BAA8B;AAC5B,YAAY;AACd,mCAAmC;GACjC,MAAM;AACR,0DAA0D;GACxD,UAAU;AACZ,oDAAoD;GAClD,aAAa;AACf,4DAA4D;GAC1D,SAAS;AACX,kEAAkE;GAChE,aAAa,GACb,SAAS,CAAC;AAMd,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,MAAM,GAAE,aAAkB,GAAG,IAAI,CAQ/D;AAQD,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAGnD;AAID,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,iEAAiE;IACjE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,gEAAgE;IAChE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,2EAA2E;AAC3E,qBAAa,YAAY;;gBAaX,IAAI,EAAE,mBAAmB;IAWrC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI1C,sFAAsF;IACtF,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC1B,+EAA+E;IACzE,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAS5B"}
|
|
@@ -8,6 +8,8 @@ export const IDLE_BACKOFF_FIRST_MS = 5_000;
|
|
|
8
8
|
export const IDLE_BACKOFF_MAX_MS = 5 * 60_000;
|
|
9
9
|
/** A session that lived this long counts as healthy: the backoff starts over. */
|
|
10
10
|
export const IDLE_STABLE_MS = 60_000;
|
|
11
|
+
/** How often a live IDLE connection asks for Sent's UIDNEXT. */
|
|
12
|
+
export const IDLE_SENT_CHECK_MS = 60_000;
|
|
11
13
|
/** The poll's period for an account whose IDLE is live: the safety net. */
|
|
12
14
|
export const IDLE_SLOW_POLL_SECONDS = 15 * 60;
|
|
13
15
|
const changeListeners = new Set();
|
|
@@ -37,6 +39,12 @@ export function idleLive(accountId) {
|
|
|
37
39
|
export class IdleWatchers {
|
|
38
40
|
#opts;
|
|
39
41
|
#watchers = new Map();
|
|
42
|
+
/**
|
|
43
|
+
* The last "no IDLE" line said per account. A watcher with no password is
|
|
44
|
+
* replaced on every reconcile (the password may be readable now), so the
|
|
45
|
+
* line is said once per change of state rather than once per poll.
|
|
46
|
+
*/
|
|
47
|
+
#said = new Map();
|
|
40
48
|
#unlisten;
|
|
41
49
|
#stopped = false;
|
|
42
50
|
#reconciling = Promise.resolve();
|
|
@@ -92,7 +100,7 @@ export class IdleWatchers {
|
|
|
92
100
|
// A row whose password the provider refused waits for a new one.
|
|
93
101
|
if (account.loginFailedAt)
|
|
94
102
|
continue;
|
|
95
|
-
const watcher = new AccountWatcher(account, this.#opts);
|
|
103
|
+
const watcher = new AccountWatcher(account, this.#opts, this.#said);
|
|
96
104
|
this.#watchers.set(account.id, watcher);
|
|
97
105
|
watcher.start();
|
|
98
106
|
}
|
|
@@ -120,16 +128,21 @@ export class IdleWatchers {
|
|
|
120
128
|
class AccountWatcher {
|
|
121
129
|
account;
|
|
122
130
|
opts;
|
|
131
|
+
said;
|
|
123
132
|
state = 'connecting';
|
|
124
133
|
#session = null;
|
|
125
134
|
#connecting = null;
|
|
126
135
|
#retryTimer = null;
|
|
127
136
|
#debounceTimer = null;
|
|
137
|
+
#sentTimer = null;
|
|
138
|
+
/** The Sent UIDNEXT a poll was last asked for, so one sent message asks once. */
|
|
139
|
+
#sentAsked = null;
|
|
128
140
|
#attempt = 0;
|
|
129
141
|
#stopped = false;
|
|
130
|
-
constructor(account, opts) {
|
|
142
|
+
constructor(account, opts, said = new Map()) {
|
|
131
143
|
this.account = account;
|
|
132
144
|
this.opts = opts;
|
|
145
|
+
this.said = said;
|
|
133
146
|
}
|
|
134
147
|
start() {
|
|
135
148
|
this.#launch(false);
|
|
@@ -148,6 +161,13 @@ class AccountWatcher {
|
|
|
148
161
|
#log(line) {
|
|
149
162
|
this.opts.host.log(`email.idle: ${this.account.address}: ${line}`);
|
|
150
163
|
}
|
|
164
|
+
/** Say a line only when it differs from the last one said for this account. */
|
|
165
|
+
#logOnChange(line) {
|
|
166
|
+
if (this.said.get(this.account.id) === line)
|
|
167
|
+
return;
|
|
168
|
+
this.said.set(this.account.id, line);
|
|
169
|
+
this.#log(line);
|
|
170
|
+
}
|
|
151
171
|
async #connect(reconnect) {
|
|
152
172
|
if (this.#stopped)
|
|
153
173
|
return;
|
|
@@ -157,9 +177,11 @@ class AccountWatcher {
|
|
|
157
177
|
return;
|
|
158
178
|
if (!auth.ok) {
|
|
159
179
|
this.state = 'no-password';
|
|
160
|
-
this.#
|
|
180
|
+
this.#logOnChange(`no IDLE: ${auth.problem.message}; checking on the poll`);
|
|
161
181
|
return;
|
|
162
182
|
}
|
|
183
|
+
// Past the password: a later "no IDLE" is news again.
|
|
184
|
+
this.said.delete(this.account.id);
|
|
163
185
|
let session;
|
|
164
186
|
try {
|
|
165
187
|
session = await this.opts.idle(this.account, auth.value, () => this.#changed());
|
|
@@ -192,10 +214,13 @@ class AccountWatcher {
|
|
|
192
214
|
// Mail that arrived while the connection was down is the poll's to find.
|
|
193
215
|
if (reconnect)
|
|
194
216
|
this.#changed();
|
|
217
|
+
if (session.sentUidNext)
|
|
218
|
+
this.#watchSent(session);
|
|
195
219
|
void session.ended.then(({ error }) => {
|
|
196
220
|
if (this.#session !== session)
|
|
197
221
|
return;
|
|
198
222
|
this.#session = null;
|
|
223
|
+
this.#clearSent();
|
|
199
224
|
if (this.#stopped)
|
|
200
225
|
return;
|
|
201
226
|
if (Date.now() - since >= (this.opts.stableMs ?? IDLE_STABLE_MS))
|
|
@@ -203,6 +228,47 @@ class AccountWatcher {
|
|
|
203
228
|
this.#retry(error ?? new Error('the server closed the connection'));
|
|
204
229
|
});
|
|
205
230
|
}
|
|
231
|
+
/** This account's synced Sent folder and the poll's cursor in it, or null. */
|
|
232
|
+
async #sentFolder() {
|
|
233
|
+
const { rows } = await this.opts.host.db.query(`select name, last_uid from email.folders where account_id = $1 and kind = 'sent' and synced limit 1`, [this.account.id]);
|
|
234
|
+
const row = rows[0];
|
|
235
|
+
return row?.name ? { name: row.name, lastUid: Number(row.last_uid ?? 0) } : null;
|
|
236
|
+
}
|
|
237
|
+
/** While live: ask Sent's UIDNEXT now and then; past the poll's cursor, poll. */
|
|
238
|
+
#watchSent(session) {
|
|
239
|
+
this.#clearSent();
|
|
240
|
+
let quiet = false;
|
|
241
|
+
this.#sentTimer = setInterval(() => {
|
|
242
|
+
if (this.#stopped || this.#session !== session)
|
|
243
|
+
return;
|
|
244
|
+
void (async () => {
|
|
245
|
+
// Looked up each time: a Sent folder discovered after IDLE connected counts at once.
|
|
246
|
+
const sent = await this.#sentFolder();
|
|
247
|
+
if (sent === null)
|
|
248
|
+
return;
|
|
249
|
+
const uidNext = await session.sentUidNext(sent.name);
|
|
250
|
+
if (uidNext === null)
|
|
251
|
+
return;
|
|
252
|
+
quiet = false;
|
|
253
|
+
if (uidNext - 1 > sent.lastUid && this.#sentAsked !== uidNext) {
|
|
254
|
+
this.#sentAsked = uidNext;
|
|
255
|
+
this.#changed();
|
|
256
|
+
}
|
|
257
|
+
})().catch((err) => {
|
|
258
|
+
// A dropped connection ends the session (and is retried there); say
|
|
259
|
+
// anything else once per streak rather than once a minute.
|
|
260
|
+
if (!quiet)
|
|
261
|
+
this.#log(`could not check Sent: ${err instanceof Error ? err.message : String(err)}`);
|
|
262
|
+
quiet = true;
|
|
263
|
+
});
|
|
264
|
+
}, this.opts.sentCheckMs ?? IDLE_SENT_CHECK_MS);
|
|
265
|
+
this.#sentTimer.unref?.();
|
|
266
|
+
}
|
|
267
|
+
#clearSent() {
|
|
268
|
+
if (this.#sentTimer)
|
|
269
|
+
clearInterval(this.#sentTimer);
|
|
270
|
+
this.#sentTimer = null;
|
|
271
|
+
}
|
|
206
272
|
#retry(err) {
|
|
207
273
|
if (this.#stopped)
|
|
208
274
|
return;
|
|
@@ -239,6 +305,7 @@ class AccountWatcher {
|
|
|
239
305
|
clearTimeout(this.#retryTimer);
|
|
240
306
|
if (this.#debounceTimer)
|
|
241
307
|
clearTimeout(this.#debounceTimer);
|
|
308
|
+
this.#clearSent();
|
|
242
309
|
this.#retryTimer = null;
|
|
243
310
|
this.#debounceTimer = null;
|
|
244
311
|
await this.#connecting?.catch(() => { });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle.js","sourceRoot":"","sources":["../../src/sources/idle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"idle.js","sourceRoot":"","sources":["../../src/sources/idle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `email.inbox-poll` — the source half of the plugin contract.
|
|
3
|
+
*
|
|
4
|
+
* Mail arrives and a triage run starts; no agent is in the loop, and nobody
|
|
5
|
+
* asked. That is what makes this a *source* rather than a tool, and it carries
|
|
6
|
+
* everything the contract demands (docs/architecture.md, "Drop-in tools and skills"):
|
|
7
|
+
*
|
|
8
|
+
* - **Identity is the quad.** `(account, mailbox, uidvalidity, uid)` with a
|
|
9
|
+
* unique constraint. A UID means nothing without its UIDVALIDITY.
|
|
10
|
+
* - **UIDVALIDITY resets are handled, not hoped about.** When the generation
|
|
11
|
+
* changes, every stored uid for that mailbox is meaningless: the change is
|
|
12
|
+
* logged and the cursor is re-planted by the first-contact policy below.
|
|
13
|
+
* Already-stored rows are kept — they are a different generation and the
|
|
14
|
+
* unique constraint keeps them apart.
|
|
15
|
+
* - **Transactional cursor advancement.** Rows and `last_uid` commit together,
|
|
16
|
+
* so a crash can re-fetch but can never skip.
|
|
17
|
+
* - **A new mailbox starts at *now*, not at message one.** A first contact has
|
|
18
|
+
* no cursor, and "no cursor" must never mean "read 140,000 messages from
|
|
19
|
+
* UID 1". The cursor is planted at `UIDNEXT - 1` — everything that arrives
|
|
20
|
+
* from this moment on is new mail, and the history stays where it is.
|
|
21
|
+
* `EMAIL_BACKFILL=N` plants it N lower instead, so the newest N messages
|
|
22
|
+
* come along for context. The same policy runs on a UIDVALIDITY reset: a new
|
|
23
|
+
* generation is a new mailbox, and re-reading a decade of mail is not a
|
|
24
|
+
* re-sync, it is an outage.
|
|
25
|
+
* - **Offline contract.** Catch-up is durable by construction: IMAP keeps the
|
|
26
|
+
* messages, the cursor is where we left off, and a machine that slept a week
|
|
27
|
+
* simply walks forward 50 messages per poll until it catches up. Nothing is
|
|
28
|
+
* lost the way a Telegram update is.
|
|
29
|
+
* - **Every IMAP call has a deadline.** A socket to a mail server can accept
|
|
30
|
+
* the connection and then say nothing. Connect, select and fetch each run
|
|
31
|
+
* under `EMAIL_POLL_TIMEOUT_MS` (45s); on expiry the poll aborts, the
|
|
32
|
+
* connection is closed, the error is recorded in `core.source_runs` and the
|
|
33
|
+
* next poll starts clean. A poll that hangs is a bug; a poll that gives up
|
|
34
|
+
* and says so is a source.
|
|
35
|
+
* - **Flags are never mutated.** The fetch is a peek; `\Seen` stays whatever
|
|
36
|
+
* the owner's own mail client made it.
|
|
37
|
+
* - **Flags are re-read, though.** A row's flags are written at ingest and the
|
|
38
|
+
* insert never touches an existing row, so every inbox poll also refreshes
|
|
39
|
+
* them in place for the newest `FLAG_SYNC_WINDOW` rows it holds (FLAGS
|
|
40
|
+
* only, never a body; `syncFlags` below). Without it a message read on the
|
|
41
|
+
* phone would stay unread here for good.
|
|
42
|
+
*
|
|
43
|
+
* The one seam: `enqueueRun` is the gateway's, and it cannot join this module's
|
|
44
|
+
* transaction. So rows land with `triage_enqueued_at` null, the runs are
|
|
45
|
+
* created after the commit, and the stamp is written last. A crash in between
|
|
46
|
+
* leaves the row unstamped and the next poll re-enqueues it; the dedup key
|
|
47
|
+
* makes that a no-op if the run already exists. Durable intent, no lost mail,
|
|
48
|
+
* no double triage.
|
|
49
|
+
*/
|
|
50
|
+
import type { DbArea } from '@buddi/core/plugin';
|
|
1
51
|
import { type EnvLike } from '../config.js';
|
|
2
|
-
import type { ImapClientFactory, ImapIdleFactory } from '../ports.js';
|
|
52
|
+
import type { ImapClient, ImapClientFactory, ImapIdleFactory, MailboxStatus } from '../ports.js';
|
|
3
53
|
import { type IdleWatchersOptions } from './idle.js';
|
|
54
|
+
import { type FolderRecord } from '../rows.js';
|
|
4
55
|
import type { Source } from '../types.js';
|
|
56
|
+
/** `ctx.buddi.db`, a transaction's handle, or anything that answers a query as they do. */
|
|
57
|
+
type Db = Pick<DbArea, 'query'>;
|
|
5
58
|
/** The agent every new message is triaged by. */
|
|
6
59
|
export declare const TRIAGE_AGENT_ID = "mail-triage";
|
|
7
60
|
/** Poll period, in seconds. */
|
|
@@ -20,6 +73,11 @@ export declare const MAX_PER_POLL = 50;
|
|
|
20
73
|
export declare const FLAG_SYNC_WINDOW = 2000;
|
|
21
74
|
/** Uids per `UID FETCH … FLAGS`, so one command line stays a sane length. */
|
|
22
75
|
export declare const FLAG_SYNC_BATCH = 500;
|
|
76
|
+
/**
|
|
77
|
+
* Older mail whose `bulk` was never read from its headers, re-read per poll:
|
|
78
|
+
* at most this many messages, newest first, in one header-only fetch.
|
|
79
|
+
*/
|
|
80
|
+
export declare const BULK_BACKFILL_PER_POLL = 200;
|
|
23
81
|
/** Deadline for every single IMAP call. Env: `EMAIL_POLL_TIMEOUT_MS`. */
|
|
24
82
|
export declare const DEFAULT_POLL_TIMEOUT_MS = 45000;
|
|
25
83
|
export declare const POLL_TIMEOUT_VAR = "EMAIL_POLL_TIMEOUT_MS";
|
|
@@ -66,7 +124,7 @@ export interface InboxPollOptions {
|
|
|
66
124
|
*/
|
|
67
125
|
idle?: ImapIdleFactory;
|
|
68
126
|
/** Debounce and backoff, for tests. */
|
|
69
|
-
idleTuning?: Pick<IdleWatchersOptions, 'debounceMs' | 'backoffFirstMs' | 'backoffMaxMs' | 'stableMs'>;
|
|
127
|
+
idleTuning?: Pick<IdleWatchersOptions, 'debounceMs' | 'backoffFirstMs' | 'backoffMaxMs' | 'stableMs' | 'sentCheckMs'>;
|
|
70
128
|
/** The poll period, in seconds, for an account whose IDLE is live. Default 15 minutes. */
|
|
71
129
|
slowPollSeconds?: number;
|
|
72
130
|
}
|
|
@@ -75,7 +133,16 @@ export interface InboxPollOptions {
|
|
|
75
133
|
* whole ingest path is exercised against a fake in tests.
|
|
76
134
|
*/
|
|
77
135
|
export declare function createInboxPollSource(opts: InboxPollOptions): Source;
|
|
136
|
+
/**
|
|
137
|
+
* Read `List-Unsubscribe` and `Precedence` for held messages stored before
|
|
138
|
+
* `messages.bulk` was read at ingest (`bulk_checked = false`), at most
|
|
139
|
+
* `BULK_BACKFILL_PER_POLL` a poll, newest first, and mark them. A message the
|
|
140
|
+
* server no longer has is marked too: there is nothing more to read. Returns
|
|
141
|
+
* how many were found to be bulk. A client without `fetchBulk` reads nothing.
|
|
142
|
+
*/
|
|
143
|
+
export declare function backfillBulk(db: Db, client: Pick<ImapClient, 'fetchBulk'>, folder: FolderRecord, status: MailboxStatus, timeoutMs: number, limit?: number): Promise<number>;
|
|
78
144
|
/** How many earlier turns of the thread are quoted, and how many are a line. */
|
|
79
145
|
export declare const THREAD_TURNS_QUOTED = 3;
|
|
80
146
|
export declare const THREAD_TURNS_LISTED = 10;
|
|
147
|
+
export {};
|
|
81
148
|
//# sourceMappingURL=inbox-poll.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox-poll.d.ts","sourceRoot":"","sources":["../../src/sources/inbox-poll.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inbox-poll.d.ts","sourceRoot":"","sources":["../../src/sources/inbox-poll.ts"],"names":[],"mappings":"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"}
|