@aitne/daemon 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/dashboard-adapter.d.ts +18 -2
- package/dist/adapters/dashboard-adapter.d.ts.map +1 -1
- package/dist/adapters/dashboard-adapter.js +101 -51
- package/dist/adapters/dashboard-adapter.js.map +1 -1
- package/dist/adapters/discord.d.ts +8 -0
- package/dist/adapters/discord.d.ts.map +1 -1
- package/dist/adapters/discord.js +100 -21
- package/dist/adapters/discord.js.map +1 -1
- package/dist/adapters/message-hub.d.ts.map +1 -1
- package/dist/adapters/message-hub.js +7 -1
- package/dist/adapters/message-hub.js.map +1 -1
- package/dist/adapters/notification-manager.d.ts +102 -2
- package/dist/adapters/notification-manager.d.ts.map +1 -1
- package/dist/adapters/notification-manager.js +228 -8
- package/dist/adapters/notification-manager.js.map +1 -1
- package/dist/adapters/outbound-text.d.ts +16 -0
- package/dist/adapters/outbound-text.d.ts.map +1 -1
- package/dist/adapters/outbound-text.js +118 -1
- package/dist/adapters/outbound-text.js.map +1 -1
- package/dist/adapters/primary-platform-resolver.d.ts +69 -0
- package/dist/adapters/primary-platform-resolver.d.ts.map +1 -0
- package/dist/adapters/primary-platform-resolver.js +55 -0
- package/dist/adapters/primary-platform-resolver.js.map +1 -0
- package/dist/adapters/slack-adapter.d.ts +28 -0
- package/dist/adapters/slack-adapter.d.ts.map +1 -1
- package/dist/adapters/slack-adapter.js +134 -35
- package/dist/adapters/slack-adapter.js.map +1 -1
- package/dist/adapters/telegram-adapter.d.ts +7 -1
- package/dist/adapters/telegram-adapter.d.ts.map +1 -1
- package/dist/adapters/telegram-adapter.js +49 -18
- package/dist/adapters/telegram-adapter.js.map +1 -1
- package/dist/adapters/whatsapp-adapter.d.ts +33 -0
- package/dist/adapters/whatsapp-adapter.d.ts.map +1 -1
- package/dist/adapters/whatsapp-adapter.js +84 -0
- package/dist/adapters/whatsapp-adapter.js.map +1 -1
- package/dist/api/directory-picker.d.ts.map +1 -1
- package/dist/api/directory-picker.js +14 -0
- package/dist/api/directory-picker.js.map +1 -1
- package/dist/api/env-writer.d.ts.map +1 -1
- package/dist/api/env-writer.js +6 -1
- package/dist/api/env-writer.js.map +1 -1
- package/dist/api/helpers/agent-errors.d.ts +2600 -0
- package/dist/api/helpers/agent-errors.d.ts.map +1 -0
- package/dist/api/helpers/agent-errors.js +2506 -0
- package/dist/api/helpers/agent-errors.js.map +1 -0
- package/dist/api/integration-route-gate.d.ts.map +1 -1
- package/dist/api/integration-route-gate.js +10 -3
- package/dist/api/integration-route-gate.js.map +1 -1
- package/dist/api/routes/agent-schedule-plan-match.d.ts +5 -0
- package/dist/api/routes/agent-schedule-plan-match.d.ts.map +1 -0
- package/dist/api/routes/agent-schedule-plan-match.js +101 -0
- package/dist/api/routes/agent-schedule-plan-match.js.map +1 -0
- package/dist/api/routes/agent-schedule.d.ts +4 -0
- package/dist/api/routes/agent-schedule.d.ts.map +1 -0
- package/dist/api/routes/agent-schedule.js +750 -0
- package/dist/api/routes/agent-schedule.js.map +1 -0
- package/dist/api/routes/agent.d.ts.map +1 -1
- package/dist/api/routes/agent.js +209 -366
- package/dist/api/routes/agent.js.map +1 -1
- package/dist/api/routes/apple-calendar.d.ts.map +1 -1
- package/dist/api/routes/apple-calendar.js +109 -27
- package/dist/api/routes/apple-calendar.js.map +1 -1
- package/dist/api/routes/attachments.d.ts.map +1 -1
- package/dist/api/routes/attachments.js +113 -21
- package/dist/api/routes/attachments.js.map +1 -1
- package/dist/api/routes/backends.d.ts.map +1 -1
- package/dist/api/routes/backends.js +100 -4
- package/dist/api/routes/backends.js.map +1 -1
- package/dist/api/routes/books.d.ts.map +1 -1
- package/dist/api/routes/books.js +58 -18
- package/dist/api/routes/books.js.map +1 -1
- package/dist/api/routes/calendar.d.ts +3 -2
- package/dist/api/routes/calendar.d.ts.map +1 -1
- package/dist/api/routes/calendar.js +330 -55
- package/dist/api/routes/calendar.js.map +1 -1
- package/dist/api/routes/commands.d.ts.map +1 -1
- package/dist/api/routes/commands.js +20 -1
- package/dist/api/routes/commands.js.map +1 -1
- package/dist/api/routes/context/index.d.ts +33 -0
- package/dist/api/routes/context/index.d.ts.map +1 -0
- package/dist/api/routes/context/index.js +193 -0
- package/dist/api/routes/context/index.js.map +1 -0
- package/dist/api/routes/context/locks.d.ts +4 -0
- package/dist/api/routes/context/locks.d.ts.map +1 -0
- package/dist/api/routes/context/locks.js +136 -0
- package/dist/api/routes/context/locks.js.map +1 -0
- package/dist/api/routes/context/path-resolve.d.ts +15 -0
- package/dist/api/routes/context/path-resolve.d.ts.map +1 -0
- package/dist/api/routes/context/path-resolve.js +109 -0
- package/dist/api/routes/context/path-resolve.js.map +1 -0
- package/dist/api/routes/context/permissions.d.ts +35 -0
- package/dist/api/routes/context/permissions.d.ts.map +1 -0
- package/dist/api/routes/context/permissions.js +192 -0
- package/dist/api/routes/context/permissions.js.map +1 -0
- package/dist/api/routes/context/read.d.ts +4 -0
- package/dist/api/routes/context/read.d.ts.map +1 -0
- package/dist/api/routes/context/read.js +295 -0
- package/dist/api/routes/context/read.js.map +1 -0
- package/dist/api/routes/context/repair.d.ts +4 -0
- package/dist/api/routes/context/repair.d.ts.map +1 -0
- package/dist/api/routes/context/repair.js +114 -0
- package/dist/api/routes/context/repair.js.map +1 -0
- package/dist/api/routes/context/snapshots.d.ts +4 -0
- package/dist/api/routes/context/snapshots.d.ts.map +1 -0
- package/dist/api/routes/context/snapshots.js +177 -0
- package/dist/api/routes/context/snapshots.js.map +1 -0
- package/dist/api/routes/context/write.d.ts +4 -0
- package/dist/api/routes/context/write.d.ts.map +1 -0
- package/dist/api/routes/context/write.js +570 -0
- package/dist/api/routes/context/write.js.map +1 -0
- package/dist/api/routes/context.d.ts +2 -43
- package/dist/api/routes/context.d.ts.map +1 -1
- package/dist/api/routes/context.js +415 -558
- package/dist/api/routes/context.js.map +1 -1
- package/dist/api/routes/dashboard/config.d.ts +4 -0
- package/dist/api/routes/dashboard/config.d.ts.map +1 -0
- package/dist/api/routes/dashboard/config.js +499 -0
- package/dist/api/routes/dashboard/config.js.map +1 -0
- package/dist/api/routes/dashboard/conversations.d.ts +4 -0
- package/dist/api/routes/dashboard/conversations.d.ts.map +1 -0
- package/dist/api/routes/dashboard/conversations.js +309 -0
- package/dist/api/routes/dashboard/conversations.js.map +1 -0
- package/dist/api/routes/dashboard/cost-approvals.d.ts +29 -0
- package/dist/api/routes/dashboard/cost-approvals.d.ts.map +1 -0
- package/dist/api/routes/dashboard/cost-approvals.js +259 -0
- package/dist/api/routes/dashboard/cost-approvals.js.map +1 -0
- package/dist/api/routes/dashboard/index.d.ts +27 -0
- package/dist/api/routes/dashboard/index.d.ts.map +1 -0
- package/dist/api/routes/dashboard/index.js +47 -0
- package/dist/api/routes/dashboard/index.js.map +1 -0
- package/dist/api/routes/dashboard/messaging.d.ts +4 -0
- package/dist/api/routes/dashboard/messaging.d.ts.map +1 -0
- package/dist/api/routes/dashboard/messaging.js +351 -0
- package/dist/api/routes/dashboard/messaging.js.map +1 -0
- package/dist/api/routes/dashboard/notifications.d.ts +4 -0
- package/dist/api/routes/dashboard/notifications.d.ts.map +1 -0
- package/dist/api/routes/dashboard/notifications.js +109 -0
- package/dist/api/routes/dashboard/notifications.js.map +1 -0
- package/dist/api/routes/dashboard/oauth-google.d.ts +4 -0
- package/dist/api/routes/dashboard/oauth-google.d.ts.map +1 -0
- package/dist/api/routes/dashboard/oauth-google.js +293 -0
- package/dist/api/routes/dashboard/oauth-google.js.map +1 -0
- package/dist/api/routes/dashboard/schedule-readonly.d.ts +4 -0
- package/dist/api/routes/dashboard/schedule-readonly.d.ts.map +1 -0
- package/dist/api/routes/dashboard/schedule-readonly.js +46 -0
- package/dist/api/routes/dashboard/schedule-readonly.js.map +1 -0
- package/dist/api/routes/dashboard/secrets.d.ts +24 -0
- package/dist/api/routes/dashboard/secrets.d.ts.map +1 -0
- package/dist/api/routes/dashboard/secrets.js +307 -0
- package/dist/api/routes/dashboard/secrets.js.map +1 -0
- package/dist/api/routes/dashboard/snapshots.d.ts +4 -0
- package/dist/api/routes/dashboard/snapshots.d.ts.map +1 -0
- package/dist/api/routes/dashboard/snapshots.js +33 -0
- package/dist/api/routes/dashboard/snapshots.js.map +1 -0
- package/dist/api/routes/dashboard.d.ts.map +1 -1
- package/dist/api/routes/dashboard.js +20 -12
- package/dist/api/routes/dashboard.js.map +1 -1
- package/dist/api/routes/delegated.d.ts +5 -4
- package/dist/api/routes/delegated.d.ts.map +1 -1
- package/dist/api/routes/delegated.js +6 -5
- package/dist/api/routes/delegated.js.map +1 -1
- package/dist/api/routes/docs.d.ts.map +1 -1
- package/dist/api/routes/docs.js +72 -9
- package/dist/api/routes/docs.js.map +1 -1
- package/dist/api/routes/entities.d.ts.map +1 -1
- package/dist/api/routes/entities.js +112 -43
- package/dist/api/routes/entities.js.map +1 -1
- package/dist/api/routes/fs.d.ts.map +1 -1
- package/dist/api/routes/fs.js +27 -12
- package/dist/api/routes/fs.js.map +1 -1
- package/dist/api/routes/git-templates.d.ts.map +1 -1
- package/dist/api/routes/git-templates.js +107 -27
- package/dist/api/routes/git-templates.js.map +1 -1
- package/dist/api/routes/git.d.ts.map +1 -1
- package/dist/api/routes/git.js +55 -11
- package/dist/api/routes/git.js.map +1 -1
- package/dist/api/routes/github.d.ts.map +1 -1
- package/dist/api/routes/github.js +110 -17
- package/dist/api/routes/github.js.map +1 -1
- package/dist/api/routes/integrations/crud-patch.d.ts +17 -0
- package/dist/api/routes/integrations/crud-patch.d.ts.map +1 -0
- package/dist/api/routes/integrations/crud-patch.js +600 -0
- package/dist/api/routes/integrations/crud-patch.js.map +1 -0
- package/dist/api/routes/integrations/crud.d.ts +16 -0
- package/dist/api/routes/integrations/crud.d.ts.map +1 -0
- package/dist/api/routes/integrations/crud.js +158 -0
- package/dist/api/routes/integrations/crud.js.map +1 -0
- package/dist/api/routes/integrations/exec.d.ts +23 -0
- package/dist/api/routes/integrations/exec.d.ts.map +1 -0
- package/dist/api/routes/integrations/exec.js +356 -0
- package/dist/api/routes/integrations/exec.js.map +1 -0
- package/dist/api/routes/integrations/index.d.ts +62 -0
- package/dist/api/routes/integrations/index.d.ts.map +1 -0
- package/dist/api/routes/integrations/index.js +70 -0
- package/dist/api/routes/integrations/index.js.map +1 -0
- package/dist/api/routes/integrations/integrations/crud.d.ts +16 -0
- package/dist/api/routes/integrations/integrations/crud.d.ts.map +1 -0
- package/dist/api/routes/integrations/integrations/crud.js +158 -0
- package/dist/api/routes/integrations/integrations/crud.js.map +1 -0
- package/dist/api/routes/integrations/integrations/index.d.ts +55 -0
- package/dist/api/routes/integrations/integrations/index.d.ts.map +1 -0
- package/dist/api/routes/integrations/integrations/index.js +65 -0
- package/dist/api/routes/integrations/integrations/index.js.map +1 -0
- package/dist/api/routes/integrations/integrations/invoke.d.ts +38 -0
- package/dist/api/routes/integrations/integrations/invoke.d.ts.map +1 -0
- package/dist/api/routes/integrations/integrations/invoke.js +320 -0
- package/dist/api/routes/integrations/integrations/invoke.js.map +1 -0
- package/dist/api/routes/integrations/integrations/probe.d.ts +21 -0
- package/dist/api/routes/integrations/integrations/probe.d.ts.map +1 -0
- package/dist/api/routes/integrations/integrations/probe.js +247 -0
- package/dist/api/routes/integrations/integrations/probe.js.map +1 -0
- package/dist/api/routes/integrations/invoke.d.ts +38 -0
- package/dist/api/routes/integrations/invoke.d.ts.map +1 -0
- package/dist/api/routes/integrations/invoke.js +320 -0
- package/dist/api/routes/integrations/invoke.js.map +1 -0
- package/dist/api/routes/integrations/probe.d.ts +21 -0
- package/dist/api/routes/integrations/probe.d.ts.map +1 -0
- package/dist/api/routes/integrations/probe.js +247 -0
- package/dist/api/routes/integrations/probe.js.map +1 -0
- package/dist/api/routes/integrations.d.ts.map +1 -1
- package/dist/api/routes/integrations.js +65 -13
- package/dist/api/routes/integrations.js.map +1 -1
- package/dist/api/routes/knowledge.d.ts.map +1 -1
- package/dist/api/routes/knowledge.js +13 -2
- package/dist/api/routes/knowledge.js.map +1 -1
- package/dist/api/routes/mail/_pa_wip_mail/app-password.d.ts +4 -0
- package/dist/api/routes/mail/_pa_wip_mail/app-password.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/app-password.js +192 -0
- package/dist/api/routes/mail/_pa_wip_mail/app-password.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/body-helpers.d.ts +55 -0
- package/dist/api/routes/mail/_pa_wip_mail/body-helpers.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/body-helpers.js +91 -0
- package/dist/api/routes/mail/_pa_wip_mail/body-helpers.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/dependencies.d.ts +36 -0
- package/dist/api/routes/mail/_pa_wip_mail/dependencies.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/dependencies.js +2 -0
- package/dist/api/routes/mail/_pa_wip_mail/dependencies.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/gating.d.ts +45 -0
- package/dist/api/routes/mail/_pa_wip_mail/gating.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/gating.js +98 -0
- package/dist/api/routes/mail/_pa_wip_mail/gating.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.d.ts +4 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.js +289 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.d.ts +4 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.js +192 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.d.ts +55 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.js +91 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.d.ts +36 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.js +2 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.d.ts +5 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.js +139 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/gating.d.ts +45 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/gating.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/gating.js +98 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/gating.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/index.d.ts +18 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/index.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/index.js +40 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/index.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/messages.d.ts +15 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/messages.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/messages.js +239 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/messages.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.d.ts +4 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.js +73 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.d.ts +64 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.js +286 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/providers.d.ts +4 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/providers.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/providers.js +73 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/providers.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.d.ts +5 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.js +35 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/validators.d.ts +23 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/validators.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/validators.js +131 -0
- package/dist/api/routes/mail/_pa_wip_mail/mail/validators.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.d.ts +64 -0
- package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.js +286 -0
- package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/search-health.d.ts +4 -0
- package/dist/api/routes/mail/_pa_wip_mail/search-health.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/search-health.js +131 -0
- package/dist/api/routes/mail/_pa_wip_mail/search-health.js.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/validators.d.ts +23 -0
- package/dist/api/routes/mail/_pa_wip_mail/validators.d.ts.map +1 -0
- package/dist/api/routes/mail/_pa_wip_mail/validators.js +131 -0
- package/dist/api/routes/mail/_pa_wip_mail/validators.js.map +1 -0
- package/dist/api/routes/mail/accounts.d.ts +4 -0
- package/dist/api/routes/mail/accounts.d.ts.map +1 -0
- package/dist/api/routes/mail/accounts.js +289 -0
- package/dist/api/routes/mail/accounts.js.map +1 -0
- package/dist/api/routes/mail/app-password.d.ts +4 -0
- package/dist/api/routes/mail/app-password.d.ts.map +1 -0
- package/dist/api/routes/mail/app-password.js +192 -0
- package/dist/api/routes/mail/app-password.js.map +1 -0
- package/dist/api/routes/mail/body-helpers.d.ts +56 -0
- package/dist/api/routes/mail/body-helpers.d.ts.map +1 -0
- package/dist/api/routes/mail/body-helpers.js +91 -0
- package/dist/api/routes/mail/body-helpers.js.map +1 -0
- package/dist/api/routes/mail/dependencies.d.ts +36 -0
- package/dist/api/routes/mail/dependencies.d.ts.map +1 -0
- package/dist/api/routes/mail/dependencies.js +2 -0
- package/dist/api/routes/mail/dependencies.js.map +1 -0
- package/dist/api/routes/mail/drafts.d.ts +5 -0
- package/dist/api/routes/mail/drafts.d.ts.map +1 -0
- package/dist/api/routes/mail/drafts.js +139 -0
- package/dist/api/routes/mail/drafts.js.map +1 -0
- package/dist/api/routes/mail/gating.d.ts +45 -0
- package/dist/api/routes/mail/gating.d.ts.map +1 -0
- package/dist/api/routes/mail/gating.js +99 -0
- package/dist/api/routes/mail/gating.js.map +1 -0
- package/dist/api/routes/mail/index.d.ts +18 -0
- package/dist/api/routes/mail/index.d.ts.map +1 -0
- package/dist/api/routes/mail/index.js +40 -0
- package/dist/api/routes/mail/index.js.map +1 -0
- package/dist/api/routes/mail/messages.d.ts +15 -0
- package/dist/api/routes/mail/messages.d.ts.map +1 -0
- package/dist/api/routes/mail/messages.js +239 -0
- package/dist/api/routes/mail/messages.js.map +1 -0
- package/dist/api/routes/mail/outlook-config.d.ts +4 -0
- package/dist/api/routes/mail/outlook-config.d.ts.map +1 -0
- package/dist/api/routes/mail/outlook-config.js +73 -0
- package/dist/api/routes/mail/outlook-config.js.map +1 -0
- package/dist/api/routes/mail/provider-resolver.d.ts +64 -0
- package/dist/api/routes/mail/provider-resolver.d.ts.map +1 -0
- package/dist/api/routes/mail/provider-resolver.js +286 -0
- package/dist/api/routes/mail/provider-resolver.js.map +1 -0
- package/dist/api/routes/mail/providers.d.ts +4 -0
- package/dist/api/routes/mail/providers.d.ts.map +1 -0
- package/dist/api/routes/mail/providers.js +73 -0
- package/dist/api/routes/mail/providers.js.map +1 -0
- package/dist/api/routes/mail/search-health.d.ts +4 -0
- package/dist/api/routes/mail/search-health.d.ts.map +1 -0
- package/dist/api/routes/mail/search-health.js +131 -0
- package/dist/api/routes/mail/search-health.js.map +1 -0
- package/dist/api/routes/mail/tags-folders.d.ts +5 -0
- package/dist/api/routes/mail/tags-folders.d.ts.map +1 -0
- package/dist/api/routes/mail/tags-folders.js +35 -0
- package/dist/api/routes/mail/tags-folders.js.map +1 -0
- package/dist/api/routes/mail/validators.d.ts +23 -0
- package/dist/api/routes/mail/validators.d.ts.map +1 -0
- package/dist/api/routes/mail/validators.js +131 -0
- package/dist/api/routes/mail/validators.js.map +1 -0
- package/dist/api/routes/mail.d.ts.map +1 -1
- package/dist/api/routes/mail.js +259 -67
- package/dist/api/routes/mail.js.map +1 -1
- package/dist/api/routes/managed-tasks.d.ts.map +1 -1
- package/dist/api/routes/managed-tasks.js +142 -54
- package/dist/api/routes/managed-tasks.js.map +1 -1
- package/dist/api/routes/mcp.d.ts.map +1 -1
- package/dist/api/routes/mcp.js +115 -47
- package/dist/api/routes/mcp.js.map +1 -1
- package/dist/api/routes/metrics.d.ts +1 -1
- package/dist/api/routes/metrics.js +2 -2
- package/dist/api/routes/notion.d.ts.map +1 -1
- package/dist/api/routes/notion.js +230 -54
- package/dist/api/routes/notion.js.map +1 -1
- package/dist/api/routes/observations.d.ts.map +1 -1
- package/dist/api/routes/observations.js +40 -169
- package/dist/api/routes/observations.js.map +1 -1
- package/dist/api/routes/obsidian.d.ts.map +1 -1
- package/dist/api/routes/obsidian.js +193 -32
- package/dist/api/routes/obsidian.js.map +1 -1
- package/dist/api/routes/profile-questions.d.ts.map +1 -1
- package/dist/api/routes/profile-questions.js +19 -3
- package/dist/api/routes/profile-questions.js.map +1 -1
- package/dist/api/routes/receipts.d.ts.map +1 -1
- package/dist/api/routes/receipts.js +64 -24
- package/dist/api/routes/receipts.js.map +1 -1
- package/dist/api/routes/recurring-schedules.d.ts.map +1 -1
- package/dist/api/routes/recurring-schedules.js +243 -13
- package/dist/api/routes/recurring-schedules.js.map +1 -1
- package/dist/api/routes/repositories.d.ts.map +1 -1
- package/dist/api/routes/repositories.js +278 -104
- package/dist/api/routes/repositories.js.map +1 -1
- package/dist/api/routes/schedule-model-resolver.d.ts +153 -0
- package/dist/api/routes/schedule-model-resolver.d.ts.map +1 -0
- package/dist/api/routes/schedule-model-resolver.js +282 -0
- package/dist/api/routes/schedule-model-resolver.js.map +1 -0
- package/dist/api/routes/schedule-options.d.ts +25 -0
- package/dist/api/routes/schedule-options.d.ts.map +1 -0
- package/dist/api/routes/schedule-options.js +77 -0
- package/dist/api/routes/schedule-options.js.map +1 -0
- package/dist/api/routes/schedule-validation.d.ts +146 -0
- package/dist/api/routes/schedule-validation.d.ts.map +1 -0
- package/dist/api/routes/schedule-validation.js +153 -0
- package/dist/api/routes/schedule-validation.js.map +1 -0
- package/dist/api/routes/setup.d.ts.map +1 -1
- package/dist/api/routes/setup.js +100 -26
- package/dist/api/routes/setup.js.map +1 -1
- package/dist/api/routes/skills.d.ts.map +1 -1
- package/dist/api/routes/skills.js +81 -30
- package/dist/api/routes/skills.js.map +1 -1
- package/dist/api/routes/sot-bindings.d.ts.map +1 -1
- package/dist/api/routes/sot-bindings.js +46 -11
- package/dist/api/routes/sot-bindings.js.map +1 -1
- package/dist/api/routes/sse.d.ts.map +1 -1
- package/dist/api/routes/sse.js +6 -1
- package/dist/api/routes/sse.js.map +1 -1
- package/dist/api/routes/system.d.ts.map +1 -1
- package/dist/api/routes/system.js +15 -2
- package/dist/api/routes/system.js.map +1 -1
- package/dist/api/routes/travel-bookings.d.ts.map +1 -1
- package/dist/api/routes/travel-bookings.js +26 -9
- package/dist/api/routes/travel-bookings.js.map +1 -1
- package/dist/api/routes/travel-time.d.ts.map +1 -1
- package/dist/api/routes/travel-time.js +50 -10
- package/dist/api/routes/travel-time.js.map +1 -1
- package/dist/api/routes/wiki.d.ts.map +1 -1
- package/dist/api/routes/wiki.js +49 -8
- package/dist/api/routes/wiki.js.map +1 -1
- package/dist/api/server.d.ts +15 -3
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +32 -10
- package/dist/api/server.js.map +1 -1
- package/dist/bootstrap/adapters.d.ts.map +1 -1
- package/dist/bootstrap/adapters.js +7 -4
- package/dist/bootstrap/adapters.js.map +1 -1
- package/dist/bootstrap/api.d.ts +205 -0
- package/dist/bootstrap/api.d.ts.map +1 -0
- package/dist/bootstrap/api.js +443 -0
- package/dist/bootstrap/api.js.map +1 -0
- package/dist/bootstrap/db.d.ts +119 -0
- package/dist/bootstrap/db.d.ts.map +1 -0
- package/dist/bootstrap/db.js +294 -0
- package/dist/bootstrap/db.js.map +1 -0
- package/dist/bootstrap/event-pipeline.d.ts +308 -0
- package/dist/bootstrap/event-pipeline.d.ts.map +1 -0
- package/dist/bootstrap/event-pipeline.js +704 -0
- package/dist/bootstrap/event-pipeline.js.map +1 -0
- package/dist/bootstrap/observers.d.ts +148 -0
- package/dist/bootstrap/observers.d.ts.map +1 -0
- package/dist/bootstrap/observers.js +558 -0
- package/dist/bootstrap/observers.js.map +1 -0
- package/dist/bootstrap/schedule-helpers.d.ts +122 -0
- package/dist/bootstrap/schedule-helpers.d.ts.map +1 -1
- package/dist/bootstrap/schedule-helpers.js +202 -4
- package/dist/bootstrap/schedule-helpers.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -3
- package/dist/config.js.map +1 -1
- package/dist/core/abort-utils.d.ts +14 -0
- package/dist/core/abort-utils.d.ts.map +1 -0
- package/dist/core/abort-utils.js +36 -0
- package/dist/core/abort-utils.js.map +1 -0
- package/dist/core/agent-core.d.ts +22 -3
- package/dist/core/agent-core.d.ts.map +1 -1
- package/dist/core/agent-core.js +3 -1
- package/dist/core/agent-core.js.map +1 -1
- package/dist/core/backends/auth-health-monitor.js +2 -3
- package/dist/core/backends/auth-health-monitor.js.map +1 -1
- package/dist/core/backends/backend-router.d.ts +11 -1
- package/dist/core/backends/backend-router.d.ts.map +1 -1
- package/dist/core/backends/backend-router.js +97 -2
- package/dist/core/backends/backend-router.js.map +1 -1
- package/dist/core/backends/claude-code-core.d.ts +51 -0
- package/dist/core/backends/claude-code-core.d.ts.map +1 -1
- package/dist/core/backends/claude-code-core.js +134 -11
- package/dist/core/backends/claude-code-core.js.map +1 -1
- package/dist/core/backends/claude-tool-collection.js +1 -1
- package/dist/core/backends/codex-core.d.ts +13 -1
- package/dist/core/backends/codex-core.d.ts.map +1 -1
- package/dist/core/backends/codex-core.js +436 -22
- package/dist/core/backends/codex-core.js.map +1 -1
- package/dist/core/backends/gemini-cli-core.d.ts +5 -1
- package/dist/core/backends/gemini-cli-core.d.ts.map +1 -1
- package/dist/core/backends/gemini-cli-core.js +298 -15
- package/dist/core/backends/gemini-cli-core.js.map +1 -1
- package/dist/core/backends/install-methods.d.ts.map +1 -1
- package/dist/core/backends/install-methods.js +22 -0
- package/dist/core/backends/install-methods.js.map +1 -1
- package/dist/core/backends/model-registry.d.ts +9 -4
- package/dist/core/backends/model-registry.d.ts.map +1 -1
- package/dist/core/backends/model-registry.js +153 -23
- package/dist/core/backends/model-registry.js.map +1 -1
- package/dist/core/backends/native-skill-discovery-probe.d.ts +80 -0
- package/dist/core/backends/native-skill-discovery-probe.d.ts.map +1 -0
- package/dist/core/backends/native-skill-discovery-probe.js +175 -0
- package/dist/core/backends/native-skill-discovery-probe.js.map +1 -0
- package/dist/core/backends/opencode-basic-auth-fetch.d.ts +27 -0
- package/dist/core/backends/opencode-basic-auth-fetch.d.ts.map +1 -0
- package/dist/core/backends/opencode-basic-auth-fetch.js +40 -0
- package/dist/core/backends/opencode-basic-auth-fetch.js.map +1 -0
- package/dist/core/backends/opencode-config-builder.d.ts +86 -0
- package/dist/core/backends/opencode-config-builder.d.ts.map +1 -0
- package/dist/core/backends/opencode-config-builder.js +172 -0
- package/dist/core/backends/opencode-config-builder.js.map +1 -0
- package/dist/core/backends/opencode-core.d.ts +316 -0
- package/dist/core/backends/opencode-core.d.ts.map +1 -0
- package/dist/core/backends/opencode-core.js +1502 -0
- package/dist/core/backends/opencode-core.js.map +1 -0
- package/dist/core/backends/opencode-event-mapper.d.ts +133 -0
- package/dist/core/backends/opencode-event-mapper.d.ts.map +1 -0
- package/dist/core/backends/opencode-event-mapper.js +198 -0
- package/dist/core/backends/opencode-event-mapper.js.map +1 -0
- package/dist/core/backends/opencode-mcp.d.ts +82 -0
- package/dist/core/backends/opencode-mcp.d.ts.map +1 -0
- package/dist/core/backends/opencode-mcp.js +165 -0
- package/dist/core/backends/opencode-mcp.js.map +1 -0
- package/dist/core/backends/opencode-server-manager.d.ts +114 -0
- package/dist/core/backends/opencode-server-manager.d.ts.map +1 -0
- package/dist/core/backends/opencode-server-manager.js +222 -0
- package/dist/core/backends/opencode-server-manager.js.map +1 -0
- package/dist/core/backends/opencode-types.d.ts +46 -0
- package/dist/core/backends/opencode-types.d.ts.map +1 -0
- package/dist/core/backends/opencode-types.js +14 -0
- package/dist/core/backends/opencode-types.js.map +1 -0
- package/dist/core/backends/plan-presets.d.ts +18 -5
- package/dist/core/backends/plan-presets.d.ts.map +1 -1
- package/dist/core/backends/plan-presets.js +144 -23
- package/dist/core/backends/plan-presets.js.map +1 -1
- package/dist/core/backends/process-config-cascade.d.ts +35 -0
- package/dist/core/backends/process-config-cascade.d.ts.map +1 -1
- package/dist/core/backends/process-config-cascade.js +35 -1
- package/dist/core/backends/process-config-cascade.js.map +1 -1
- package/dist/core/backends/prompt-utils.d.ts.map +1 -1
- package/dist/core/backends/prompt-utils.js +0 -2
- package/dist/core/backends/prompt-utils.js.map +1 -1
- package/dist/core/backends/quota-reset-hints.d.ts +44 -0
- package/dist/core/backends/quota-reset-hints.d.ts.map +1 -0
- package/dist/core/backends/quota-reset-hints.js +117 -0
- package/dist/core/backends/quota-reset-hints.js.map +1 -0
- package/dist/core/bang-commands/commands-close.d.ts +24 -0
- package/dist/core/bang-commands/commands-close.d.ts.map +1 -0
- package/dist/core/bang-commands/commands-close.js +24 -0
- package/dist/core/bang-commands/commands-close.js.map +1 -0
- package/dist/core/bang-commands/commands-cost.d.ts.map +1 -1
- package/dist/core/bang-commands/commands-cost.js +13 -0
- package/dist/core/bang-commands/commands-cost.js.map +1 -1
- package/dist/core/bang-commands/commands-help.d.ts.map +1 -1
- package/dist/core/bang-commands/commands-help.js +44 -5
- package/dist/core/bang-commands/commands-help.js.map +1 -1
- package/dist/core/bang-commands/commands-report.d.ts.map +1 -1
- package/dist/core/bang-commands/commands-report.js +1 -0
- package/dist/core/bang-commands/commands-report.js.map +1 -1
- package/dist/core/bang-commands/commands-stop-start.d.ts.map +1 -1
- package/dist/core/bang-commands/commands-stop-start.js +2 -0
- package/dist/core/bang-commands/commands-stop-start.js.map +1 -1
- package/dist/core/bang-commands/commands-wiki.d.ts.map +1 -1
- package/dist/core/bang-commands/commands-wiki.js +12 -1
- package/dist/core/bang-commands/commands-wiki.js.map +1 -1
- package/dist/core/bang-commands/format-utils.d.ts +13 -1
- package/dist/core/bang-commands/format-utils.d.ts.map +1 -1
- package/dist/core/bang-commands/format-utils.js +21 -2
- package/dist/core/bang-commands/format-utils.js.map +1 -1
- package/dist/core/bang-commands/index.d.ts +1 -0
- package/dist/core/bang-commands/index.d.ts.map +1 -1
- package/dist/core/bang-commands/index.js +3 -0
- package/dist/core/bang-commands/index.js.map +1 -1
- package/dist/core/bang-commands/registry.d.ts +50 -0
- package/dist/core/bang-commands/registry.d.ts.map +1 -1
- package/dist/core/bang-commands/registry.js +164 -19
- package/dist/core/bang-commands/registry.js.map +1 -1
- package/dist/core/channel-timeline.d.ts +18 -1
- package/dist/core/channel-timeline.d.ts.map +1 -1
- package/dist/core/channel-timeline.js +44 -0
- package/dist/core/channel-timeline.js.map +1 -1
- package/dist/core/context/activity-view-runner.js +9 -1
- package/dist/core/context/activity-view-runner.js.map +1 -1
- package/dist/core/context/default-schedules-runner.js +44 -4
- package/dist/core/context/default-schedules-runner.js.map +1 -1
- package/dist/core/context/domain-index-runner.js +9 -1
- package/dist/core/context/domain-index-runner.js.map +1 -1
- package/dist/core/context/entity-source-rename.d.ts.map +1 -1
- package/dist/core/context/entity-source-rename.js +9 -1
- package/dist/core/context/entity-source-rename.js.map +1 -1
- package/dist/core/context/policy-index-runner.js +9 -1
- package/dist/core/context/policy-index-runner.js.map +1 -1
- package/dist/core/context/reconciler-runner.js +9 -1
- package/dist/core/context/reconciler-runner.js.map +1 -1
- package/dist/core/context-builder.d.ts +97 -2
- package/dist/core/context-builder.d.ts.map +1 -1
- package/dist/core/context-builder.js +303 -30
- package/dist/core/context-builder.js.map +1 -1
- package/dist/core/context-frontmatter.d.ts +6 -0
- package/dist/core/context-frontmatter.d.ts.map +1 -1
- package/dist/core/context-frontmatter.js +120 -8
- package/dist/core/context-frontmatter.js.map +1 -1
- package/dist/core/context-health.js +21 -9
- package/dist/core/context-health.js.map +1 -1
- package/dist/core/context-validation/_pa_wip_context_validation/index.d.ts +19 -0
- package/dist/core/context-validation/_pa_wip_context_validation/index.d.ts.map +1 -0
- package/dist/core/context-validation/_pa_wip_context_validation/index.js +19 -0
- package/dist/core/context-validation/_pa_wip_context_validation/index.js.map +1 -0
- package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.d.ts +94 -0
- package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.d.ts.map +1 -0
- package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.js +130 -0
- package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.js.map +1 -0
- package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.d.ts +60 -0
- package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.d.ts.map +1 -0
- package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.js +156 -0
- package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.js.map +1 -0
- package/dist/core/context-validation/_pa_wip_context_validation/section.d.ts +41 -0
- package/dist/core/context-validation/_pa_wip_context_validation/section.d.ts.map +1 -0
- package/dist/core/context-validation/_pa_wip_context_validation/section.js +82 -0
- package/dist/core/context-validation/_pa_wip_context_validation/section.js.map +1 -0
- package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.d.ts +52 -0
- package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.d.ts.map +1 -0
- package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.js +110 -0
- package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.js.map +1 -0
- package/dist/core/context-validation/_pa_wip_context_validation/today.d.ts +85 -0
- package/dist/core/context-validation/_pa_wip_context_validation/today.d.ts.map +1 -0
- package/dist/core/context-validation/_pa_wip_context_validation/today.js +162 -0
- package/dist/core/context-validation/_pa_wip_context_validation/today.js.map +1 -0
- package/dist/core/context-validation/index.d.ts +19 -0
- package/dist/core/context-validation/index.d.ts.map +1 -0
- package/dist/core/context-validation/index.js +19 -0
- package/dist/core/context-validation/index.js.map +1 -0
- package/dist/core/context-validation/prepare-write.d.ts +95 -0
- package/dist/core/context-validation/prepare-write.d.ts.map +1 -0
- package/dist/core/context-validation/prepare-write.js +135 -0
- package/dist/core/context-validation/prepare-write.js.map +1 -0
- package/dist/core/context-validation/routine-rulebook.d.ts +60 -0
- package/dist/core/context-validation/routine-rulebook.d.ts.map +1 -0
- package/dist/core/context-validation/routine-rulebook.js +156 -0
- package/dist/core/context-validation/routine-rulebook.js.map +1 -0
- package/dist/core/context-validation/section.d.ts +41 -0
- package/dist/core/context-validation/section.d.ts.map +1 -0
- package/dist/core/context-validation/section.js +82 -0
- package/dist/core/context-validation/section.js.map +1 -0
- package/dist/core/context-validation/snapshot-debounce.d.ts +52 -0
- package/dist/core/context-validation/snapshot-debounce.d.ts.map +1 -0
- package/dist/core/context-validation/snapshot-debounce.js +110 -0
- package/dist/core/context-validation/snapshot-debounce.js.map +1 -0
- package/dist/core/context-validation/today.d.ts +85 -0
- package/dist/core/context-validation/today.d.ts.map +1 -0
- package/dist/core/context-validation/today.js +168 -0
- package/dist/core/context-validation/today.js.map +1 -0
- package/dist/core/daemon-api-cli.d.ts +6 -5
- package/dist/core/daemon-api-cli.d.ts.map +1 -1
- package/dist/core/daemon-api-cli.js +73 -32
- package/dist/core/daemon-api-cli.js.map +1 -1
- package/dist/core/dispatcher-error-handling.d.ts +13 -0
- package/dist/core/dispatcher-error-handling.d.ts.map +1 -1
- package/dist/core/dispatcher-error-handling.js +69 -0
- package/dist/core/dispatcher-error-handling.js.map +1 -1
- package/dist/core/dispatcher-hourly-check.d.ts +73 -1
- package/dist/core/dispatcher-hourly-check.d.ts.map +1 -1
- package/dist/core/dispatcher-hourly-check.js +249 -151
- package/dist/core/dispatcher-hourly-check.js.map +1 -1
- package/dist/core/dispatcher-message-handler.d.ts +11 -1
- package/dist/core/dispatcher-message-handler.d.ts.map +1 -1
- package/dist/core/dispatcher-message-handler.js +165 -47
- package/dist/core/dispatcher-message-handler.js.map +1 -1
- package/dist/core/dispatcher-morning-routine.d.ts +38 -30
- package/dist/core/dispatcher-morning-routine.d.ts.map +1 -1
- package/dist/core/dispatcher-morning-routine.js +162 -104
- package/dist/core/dispatcher-morning-routine.js.map +1 -1
- package/dist/core/dispatcher-prompt.d.ts +4 -1
- package/dist/core/dispatcher-prompt.d.ts.map +1 -1
- package/dist/core/dispatcher-prompt.js +18 -2
- package/dist/core/dispatcher-prompt.js.map +1 -1
- package/dist/core/dispatcher-repository-helpers.d.ts.map +1 -1
- package/dist/core/dispatcher-repository-helpers.js +5 -1
- package/dist/core/dispatcher-repository-helpers.js.map +1 -1
- package/dist/core/dispatcher-result-processor.d.ts.map +1 -1
- package/dist/core/dispatcher-result-processor.js +9 -4
- package/dist/core/dispatcher-result-processor.js.map +1 -1
- package/dist/core/dispatcher-scheduled-tasks.d.ts +1 -1
- package/dist/core/dispatcher-scheduled-tasks.d.ts.map +1 -1
- package/dist/core/dispatcher-scheduled-tasks.js +79 -16
- package/dist/core/dispatcher-scheduled-tasks.js.map +1 -1
- package/dist/core/dispatcher-types.d.ts +84 -12
- package/dist/core/dispatcher-types.d.ts.map +1 -1
- package/dist/core/dispatcher-types.js.map +1 -1
- package/dist/core/dispatcher.d.ts +50 -1
- package/dist/core/dispatcher.d.ts.map +1 -1
- package/dist/core/dispatcher.js +143 -8
- package/dist/core/dispatcher.js.map +1 -1
- package/dist/core/dm-freshness-metrics.d.ts +6 -5
- package/dist/core/dm-freshness-metrics.d.ts.map +1 -1
- package/dist/core/dm-freshness-metrics.js +7 -6
- package/dist/core/dm-freshness-metrics.js.map +1 -1
- package/dist/core/evening-review-verify.d.ts +164 -0
- package/dist/core/evening-review-verify.d.ts.map +1 -0
- package/dist/core/evening-review-verify.js +637 -0
- package/dist/core/evening-review-verify.js.map +1 -0
- package/dist/core/fetch-window-prompt-loader.d.ts +47 -0
- package/dist/core/fetch-window-prompt-loader.d.ts.map +1 -0
- package/dist/core/fetch-window-prompt-loader.js +72 -0
- package/dist/core/fetch-window-prompt-loader.js.map +1 -0
- package/dist/core/management-md.d.ts.map +1 -1
- package/dist/core/management-md.js +23 -9
- package/dist/core/management-md.js.map +1 -1
- package/dist/core/management-registry.d.ts +13 -21
- package/dist/core/management-registry.d.ts.map +1 -1
- package/dist/core/management-registry.js +27 -48
- package/dist/core/management-registry.js.map +1 -1
- package/dist/core/metrics.d.ts +88 -1
- package/dist/core/metrics.d.ts.map +1 -1
- package/dist/core/metrics.js +78 -2
- package/dist/core/metrics.js.map +1 -1
- package/dist/core/morning/agent-journal-appender.d.ts +197 -0
- package/dist/core/morning/agent-journal-appender.d.ts.map +1 -0
- package/dist/core/morning/agent-journal-appender.js +458 -0
- package/dist/core/morning/agent-journal-appender.js.map +1 -0
- package/dist/core/morning/handoff-parser.d.ts +45 -0
- package/dist/core/morning/handoff-parser.d.ts.map +1 -0
- package/dist/core/morning/handoff-parser.js +117 -0
- package/dist/core/morning/handoff-parser.js.map +1 -0
- package/dist/core/morning/journal-skeleton-builder.d.ts +157 -0
- package/dist/core/morning/journal-skeleton-builder.d.ts.map +1 -0
- package/dist/core/morning/journal-skeleton-builder.js +303 -0
- package/dist/core/morning/journal-skeleton-builder.js.map +1 -0
- package/dist/core/morning/orchestrator.d.ts +312 -0
- package/dist/core/morning/orchestrator.d.ts.map +1 -0
- package/dist/core/morning/orchestrator.js +827 -0
- package/dist/core/morning/orchestrator.js.map +1 -0
- package/dist/core/morning/parent-audit-emitter.d.ts +82 -0
- package/dist/core/morning/parent-audit-emitter.d.ts.map +1 -0
- package/dist/core/morning/parent-audit-emitter.js +120 -0
- package/dist/core/morning/parent-audit-emitter.js.map +1 -0
- package/dist/core/morning/roadmap-skeleton-builder.d.ts +159 -0
- package/dist/core/morning/roadmap-skeleton-builder.d.ts.map +1 -0
- package/dist/core/morning/roadmap-skeleton-builder.js +338 -0
- package/dist/core/morning/roadmap-skeleton-builder.js.map +1 -0
- package/dist/core/output-language-policy.js +1 -1
- package/dist/core/output-language-policy.js.map +1 -1
- package/dist/core/policy-files.d.ts +19 -2
- package/dist/core/policy-files.d.ts.map +1 -1
- package/dist/core/policy-files.js +65 -7
- package/dist/core/policy-files.js.map +1 -1
- package/dist/core/pre-pass-freshness.d.ts +28 -0
- package/dist/core/pre-pass-freshness.d.ts.map +1 -0
- package/dist/core/pre-pass-freshness.js +10 -0
- package/dist/core/pre-pass-freshness.js.map +1 -0
- package/dist/core/previous-week-digest.d.ts +130 -0
- package/dist/core/previous-week-digest.d.ts.map +1 -0
- package/dist/core/previous-week-digest.js +257 -0
- package/dist/core/previous-week-digest.js.map +1 -0
- package/dist/core/prompts.js +3 -3
- package/dist/core/prompts.js.map +1 -1
- package/dist/core/quiet-hours-sync.d.ts.map +1 -1
- package/dist/core/quiet-hours-sync.js +7 -0
- package/dist/core/quiet-hours-sync.js.map +1 -1
- package/dist/core/recurrence.d.ts +13 -0
- package/dist/core/recurrence.d.ts.map +1 -1
- package/dist/core/recurrence.js +108 -13
- package/dist/core/recurrence.js.map +1 -1
- package/dist/core/release-assets.d.ts +21 -1
- package/dist/core/release-assets.d.ts.map +1 -1
- package/dist/core/release-assets.js +58 -3
- package/dist/core/release-assets.js.map +1 -1
- package/dist/core/repository-management-docs.d.ts.map +1 -1
- package/dist/core/repository-management-docs.js +14 -4
- package/dist/core/repository-management-docs.js.map +1 -1
- package/dist/core/review-context.d.ts.map +1 -1
- package/dist/core/review-context.js +29 -1
- package/dist/core/review-context.js.map +1 -1
- package/dist/core/roadmap-maintenance.d.ts +213 -0
- package/dist/core/roadmap-maintenance.d.ts.map +1 -0
- package/dist/core/roadmap-maintenance.js +706 -0
- package/dist/core/roadmap-maintenance.js.map +1 -0
- package/dist/core/roadmap-validate.d.ts +5 -0
- package/dist/core/roadmap-validate.d.ts.map +1 -1
- package/dist/core/roadmap-validate.js +6 -69
- package/dist/core/roadmap-validate.js.map +1 -1
- package/dist/core/routine-acquisition-plan.d.ts +43 -7
- package/dist/core/routine-acquisition-plan.d.ts.map +1 -1
- package/dist/core/routine-acquisition-plan.js +99 -8
- package/dist/core/routine-acquisition-plan.js.map +1 -1
- package/dist/core/routine-fetch-window-retry.d.ts +41 -2
- package/dist/core/routine-fetch-window-retry.d.ts.map +1 -1
- package/dist/core/routine-fetch-window-retry.js +91 -8
- package/dist/core/routine-fetch-window-retry.js.map +1 -1
- package/dist/core/routine-fetch-window-runner.d.ts +55 -21
- package/dist/core/routine-fetch-window-runner.d.ts.map +1 -1
- package/dist/core/routine-fetch-window-runner.js +258 -35
- package/dist/core/routine-fetch-window-runner.js.map +1 -1
- package/dist/core/routine-windows.d.ts +17 -13
- package/dist/core/routine-windows.d.ts.map +1 -1
- package/dist/core/routine-windows.js +78 -36
- package/dist/core/routine-windows.js.map +1 -1
- package/dist/core/scheduler.d.ts +121 -37
- package/dist/core/scheduler.d.ts.map +1 -1
- package/dist/core/scheduler.js +359 -80
- package/dist/core/scheduler.js.map +1 -1
- package/dist/core/session-manager.d.ts +25 -6
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +32 -15
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/skeleton.d.ts.map +1 -1
- package/dist/core/skeleton.js +23 -23
- package/dist/core/skeleton.js.map +1 -1
- package/dist/core/skills-compiler.d.ts +275 -25
- package/dist/core/skills-compiler.d.ts.map +1 -1
- package/dist/core/skills-compiler.js +844 -205
- package/dist/core/skills-compiler.js.map +1 -1
- package/dist/core/skills-manifest.d.ts +104 -0
- package/dist/core/skills-manifest.d.ts.map +1 -1
- package/dist/core/skills-manifest.js +350 -39
- package/dist/core/skills-manifest.js.map +1 -1
- package/dist/core/wiki/git-precompile.d.ts +9 -0
- package/dist/core/wiki/git-precompile.d.ts.map +1 -1
- package/dist/core/wiki/git-precompile.js +7 -1
- package/dist/core/wiki/git-precompile.js.map +1 -1
- package/dist/core/workdir.d.ts +30 -1
- package/dist/core/workdir.d.ts.map +1 -1
- package/dist/core/workdir.js +140 -15
- package/dist/core/workdir.js.map +1 -1
- package/dist/db/entities-store.d.ts +5 -5
- package/dist/db/entities-store.js +5 -5
- package/dist/db/hourly-check-signals.d.ts.map +1 -1
- package/dist/db/hourly-check-signals.js +121 -35
- package/dist/db/hourly-check-signals.js.map +1 -1
- package/dist/db/observations.d.ts +1 -1
- package/dist/db/observations.js +1 -1
- package/dist/db/observations.js.map +1 -1
- package/dist/db/recurring-schedules.d.ts +32 -1
- package/dist/db/recurring-schedules.d.ts.map +1 -1
- package/dist/db/recurring-schedules.js +29 -10
- package/dist/db/recurring-schedules.js.map +1 -1
- package/dist/db/repositories-store.d.ts +2 -1
- package/dist/db/repositories-store.d.ts.map +1 -1
- package/dist/db/repositories-store.js +38 -3
- package/dist/db/repositories-store.js.map +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +157 -51
- package/dist/db/schema.js.map +1 -1
- package/dist/db/wiki-store.d.ts.map +1 -1
- package/dist/db/wiki-store.js +3 -0
- package/dist/db/wiki-store.js.map +1 -1
- package/dist/index.js +308 -1473
- package/dist/index.js.map +1 -1
- package/dist/messaging/magic-phrase.d.ts +16 -0
- package/dist/messaging/magic-phrase.d.ts.map +1 -1
- package/dist/messaging/magic-phrase.js +53 -0
- package/dist/messaging/magic-phrase.js.map +1 -1
- package/dist/messaging/owner-channels.d.ts +24 -0
- package/dist/messaging/owner-channels.d.ts.map +1 -1
- package/dist/messaging/owner-channels.js +38 -0
- package/dist/messaging/owner-channels.js.map +1 -1
- package/dist/messaging/setup-welcome-dm.d.ts +30 -0
- package/dist/messaging/setup-welcome-dm.d.ts.map +1 -0
- package/dist/messaging/setup-welcome-dm.js +86 -0
- package/dist/messaging/setup-welcome-dm.js.map +1 -0
- package/dist/observers/calendar-poller.d.ts +2 -0
- package/dist/observers/calendar-poller.d.ts.map +1 -1
- package/dist/observers/calendar-poller.js +76 -54
- package/dist/observers/calendar-poller.js.map +1 -1
- package/dist/observers/delegated-sync-worker.d.ts +62 -0
- package/dist/observers/delegated-sync-worker.d.ts.map +1 -1
- package/dist/observers/delegated-sync-worker.js +128 -1
- package/dist/observers/delegated-sync-worker.js.map +1 -1
- package/dist/observers/git-watcher.d.ts +22 -0
- package/dist/observers/git-watcher.d.ts.map +1 -1
- package/dist/observers/git-watcher.js +31 -7
- package/dist/observers/git-watcher.js.map +1 -1
- package/dist/observers/imminent-event-scheduler.d.ts +2 -0
- package/dist/observers/imminent-event-scheduler.d.ts.map +1 -1
- package/dist/observers/imminent-event-scheduler.js +29 -0
- package/dist/observers/imminent-event-scheduler.js.map +1 -1
- package/dist/observers/notion-poller.d.ts +2 -0
- package/dist/observers/notion-poller.d.ts.map +1 -1
- package/dist/observers/notion-poller.js +44 -6
- package/dist/observers/notion-poller.js.map +1 -1
- package/dist/observers/poll-guard.d.ts +63 -0
- package/dist/observers/poll-guard.d.ts.map +1 -0
- package/dist/observers/poll-guard.js +89 -0
- package/dist/observers/poll-guard.js.map +1 -0
- package/dist/safety/absolute-block-audit.d.ts +17 -0
- package/dist/safety/absolute-block-audit.d.ts.map +1 -1
- package/dist/safety/absolute-block-audit.js +28 -2
- package/dist/safety/absolute-block-audit.js.map +1 -1
- package/dist/safety/agent-write-tracker.d.ts +42 -1
- package/dist/safety/agent-write-tracker.d.ts.map +1 -1
- package/dist/safety/agent-write-tracker.js +81 -1
- package/dist/safety/agent-write-tracker.js.map +1 -1
- package/dist/safety/always-disallowed.d.ts +34 -0
- package/dist/safety/always-disallowed.d.ts.map +1 -1
- package/dist/safety/always-disallowed.js +114 -7
- package/dist/safety/always-disallowed.js.map +1 -1
- package/dist/safety/audit.d.ts +20 -0
- package/dist/safety/audit.d.ts.map +1 -1
- package/dist/safety/audit.js +126 -0
- package/dist/safety/audit.js.map +1 -1
- package/dist/safety/risk-classifier.d.ts +17 -1
- package/dist/safety/risk-classifier.d.ts.map +1 -1
- package/dist/safety/risk-classifier.js +75 -7
- package/dist/safety/risk-classifier.js.map +1 -1
- package/dist/safety/subprocess-block-scanner.d.ts +89 -0
- package/dist/safety/subprocess-block-scanner.d.ts.map +1 -0
- package/dist/safety/subprocess-block-scanner.js +177 -0
- package/dist/safety/subprocess-block-scanner.js.map +1 -0
- package/dist/scheduler/hourly-check-gate.d.ts +23 -9
- package/dist/scheduler/hourly-check-gate.d.ts.map +1 -1
- package/dist/scheduler/hourly-check-gate.js +11 -6
- package/dist/scheduler/hourly-check-gate.js.map +1 -1
- package/dist/secrets/backend-api-key-env.d.ts.map +1 -1
- package/dist/secrets/backend-api-key-env.js +1 -0
- package/dist/secrets/backend-api-key-env.js.map +1 -1
- package/dist/services/delegated-backend-invoker.d.ts.map +1 -1
- package/dist/services/delegated-backend-invoker.js +8 -1
- package/dist/services/delegated-backend-invoker.js.map +1 -1
- package/dist/services/delegated-invoker-audit.d.ts.map +1 -1
- package/dist/services/delegated-invoker-audit.js +5 -1
- package/dist/services/delegated-invoker-audit.js.map +1 -1
- package/dist/services/delegated-proxy-config.d.ts +3 -2
- package/dist/services/delegated-proxy-config.d.ts.map +1 -1
- package/dist/services/delegated-proxy-config.js.map +1 -1
- package/dist/services/integrations/extract-write-item-id.d.ts +5 -2
- package/dist/services/integrations/extract-write-item-id.d.ts.map +1 -1
- package/dist/services/integrations/extract-write-item-id.js.map +1 -1
- package/dist/services/mcp/generators/index.d.ts +1 -0
- package/dist/services/mcp/generators/index.d.ts.map +1 -1
- package/dist/services/mcp/generators/index.js +3 -0
- package/dist/services/mcp/generators/index.js.map +1 -1
- package/dist/services/mcp/sdk-observations-server.d.ts +60 -0
- package/dist/services/mcp/sdk-observations-server.d.ts.map +1 -0
- package/dist/services/mcp/sdk-observations-server.js +161 -0
- package/dist/services/mcp/sdk-observations-server.js.map +1 -0
- package/dist/services/mcp/session-materializer.d.ts.map +1 -1
- package/dist/services/mcp/session-materializer.js +13 -9
- package/dist/services/mcp/session-materializer.js.map +1 -1
- package/dist/services/mcp/types.d.ts +1 -0
- package/dist/services/mcp/types.d.ts.map +1 -1
- package/dist/services/notion.d.ts +19 -1
- package/dist/services/notion.d.ts.map +1 -1
- package/dist/services/notion.js +41 -2
- package/dist/services/notion.js.map +1 -1
- package/dist/services/observations-batch.d.ts +100 -0
- package/dist/services/observations-batch.d.ts.map +1 -0
- package/dist/services/observations-batch.js +258 -0
- package/dist/services/observations-batch.js.map +1 -0
- package/dist/services/voice/transcriber.d.ts +23 -0
- package/dist/services/voice/transcriber.d.ts.map +1 -1
- package/dist/services/voice/transcriber.js +55 -0
- package/dist/services/voice/transcriber.js.map +1 -1
- package/dist/settings/runtime-settings.d.ts +9 -6
- package/dist/settings/runtime-settings.d.ts.map +1 -1
- package/dist/settings/runtime-settings.js +50 -17
- package/dist/settings/runtime-settings.js.map +1 -1
- package/package.json +3 -2
- package/dist/api/delegated-proxy-helper.d.ts +0 -33
- package/dist/api/delegated-proxy-helper.d.ts.map +0 -1
- package/dist/api/delegated-proxy-helper.js +0 -54
- package/dist/api/delegated-proxy-helper.js.map +0 -1
- package/dist/core/roadmap-merge.d.ts +0 -7
- package/dist/core/roadmap-merge.d.ts.map +0 -1
- package/dist/core/roadmap-merge.js +0 -187
- package/dist/core/roadmap-merge.js.map +0 -1
- package/dist/db/test-schemas.d.ts +0 -23
- package/dist/db/test-schemas.d.ts.map +0 -1
- package/dist/db/test-schemas.js +0 -111
- package/dist/db/test-schemas.js.map +0 -1
|
@@ -13,6 +13,22 @@
|
|
|
13
13
|
* to break at the last `\n` within the window. The newline delimiter is
|
|
14
14
|
* consumed so the next chunk doesn't start with a stray `\n`. When no
|
|
15
15
|
* newline exists in the window, splits at the hard `maxLen` boundary.
|
|
16
|
+
*
|
|
17
|
+
* UTF-16 surrogate safety: if the boundary would land between a high
|
|
18
|
+
* surrogate (0xD800-0xDBFF) and its trailing low surrogate, we back off by
|
|
19
|
+
* one code unit so the pair stays intact. Without this, emoji / non-BMP
|
|
20
|
+
* code points adjacent to the boundary become lone surrogates, which
|
|
21
|
+
* Slack/Telegram/Discord render as U+FFFD or reject outright. Emoji-heavy
|
|
22
|
+
* agent replies (common in JP/zh interfaces) are the typical trigger.
|
|
23
|
+
*
|
|
24
|
+
* Code-fence safety (P2-07): if the chosen split point lands inside an
|
|
25
|
+
* open ```fenced code block``` we back off to a newline OUTSIDE the
|
|
26
|
+
* fence so the first chunk is self-contained and the second chunk
|
|
27
|
+
* doesn't start mid-language. Without this, Slack/Discord renders the
|
|
28
|
+
* second chunk's text as a single broken syntax-highlight block until
|
|
29
|
+
* the next fence marker. We only honour fence lines (a line starting
|
|
30
|
+
* with three or more backticks); inline single-backtick spans render
|
|
31
|
+
* fine across chunks and are intentionally ignored.
|
|
16
32
|
*/
|
|
17
33
|
export function splitOutboundText(text, maxLen) {
|
|
18
34
|
if (text.length <= maxLen)
|
|
@@ -27,11 +43,112 @@ export function splitOutboundText(text, maxLen) {
|
|
|
27
43
|
let splitAt = remaining.lastIndexOf("\n", maxLen);
|
|
28
44
|
if (splitAt <= 0)
|
|
29
45
|
splitAt = maxLen;
|
|
46
|
+
// Fence-aware backoff: if splitAt lands inside an open fenced code
|
|
47
|
+
// block, walk back to the newline just before the unmatched opener
|
|
48
|
+
// (the most recent fence line in the candidate chunk). If we can't
|
|
49
|
+
// find one, fall through to the surrogate/maxLen path — at that point
|
|
50
|
+
// either the entire chunk is inside a single huge code block (no safe
|
|
51
|
+
// boundary exists) or fences are malformed (no point trying harder).
|
|
52
|
+
if (isInsideOpenFence(remaining, splitAt)) {
|
|
53
|
+
const safe = lastNewlineBeforeUnclosedFence(remaining, splitAt);
|
|
54
|
+
if (safe > 0)
|
|
55
|
+
splitAt = safe;
|
|
56
|
+
}
|
|
57
|
+
// Surrogate-pair backoff: only triggers when splitAt lands directly
|
|
58
|
+
// after a high surrogate. Pure-ASCII inputs (the overwhelming common
|
|
59
|
+
// case) hit the cheap charCodeAt range check and skip the branch.
|
|
60
|
+
// We require `splitAt > 1` so the backoff still leaves at least one
|
|
61
|
+
// code unit of forward progress — protects against an unrealistic
|
|
62
|
+
// maxLen=1 with a surrogate-leading input infinite-looping on empty
|
|
63
|
+
// chunks. Adapter limits are all ≥ 2000 so the guard never fires
|
|
64
|
+
// in practice; it's just defensive.
|
|
65
|
+
let backedOffFromSurrogate = false;
|
|
66
|
+
if (splitAt > 1
|
|
67
|
+
&& isHighSurrogate(remaining.charCodeAt(splitAt - 1))) {
|
|
68
|
+
splitAt -= 1;
|
|
69
|
+
backedOffFromSurrogate = true;
|
|
70
|
+
}
|
|
30
71
|
chunks.push(remaining.slice(0, splitAt));
|
|
31
|
-
|
|
72
|
+
// Consume the delimiter only when splitAt landed on a real in-window
|
|
73
|
+
// newline (not the maxLen boundary, not a surrogate backoff). The
|
|
74
|
+
// backoff case must NOT consume because the byte at splitAt is the
|
|
75
|
+
// high surrogate we just deferred — eating it would orphan its low
|
|
76
|
+
// surrogate partner in the next chunk.
|
|
77
|
+
const consumeDelimiter = !backedOffFromSurrogate && splitAt !== maxLen;
|
|
78
|
+
remaining = remaining.slice(consumeDelimiter ? splitAt + 1 : splitAt);
|
|
32
79
|
}
|
|
33
80
|
return chunks;
|
|
34
81
|
}
|
|
82
|
+
function isHighSurrogate(code) {
|
|
83
|
+
return code >= 0xd800 && code <= 0xdbff;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Returns true iff the position `end` lies inside an unmatched fenced
|
|
87
|
+
* code block opened earlier in `text`. Counts fence lines (a line
|
|
88
|
+
* whose first non-whitespace token is ``` or longer) up to `end`; odd
|
|
89
|
+
* count → currently open. Inline single-backtick spans don't qualify.
|
|
90
|
+
*/
|
|
91
|
+
function isInsideOpenFence(text, end) {
|
|
92
|
+
let count = 0;
|
|
93
|
+
let i = 0;
|
|
94
|
+
while (i < end) {
|
|
95
|
+
if (isFenceLineStart(text, i)) {
|
|
96
|
+
count += 1;
|
|
97
|
+
const nl = text.indexOf("\n", i);
|
|
98
|
+
if (nl === -1 || nl >= end)
|
|
99
|
+
break;
|
|
100
|
+
i = nl + 1;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
const nl = text.indexOf("\n", i);
|
|
104
|
+
if (nl === -1 || nl >= end)
|
|
105
|
+
break;
|
|
106
|
+
i = nl + 1;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return count % 2 === 1;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Walk back from `end` to find the newline just BEFORE the most recent
|
|
113
|
+
* fence-line opener encountered in the chunk. That newline closes off a
|
|
114
|
+
* complete pre-fence segment as the first chunk; the next iteration
|
|
115
|
+
* picks up at the fence opener and starts the code block fresh in the
|
|
116
|
+
* second chunk. Returns -1 when no such newline exists (caller falls
|
|
117
|
+
* back to splitting inside the fence).
|
|
118
|
+
*/
|
|
119
|
+
function lastNewlineBeforeUnclosedFence(text, end) {
|
|
120
|
+
let lastFenceLineStart = -1;
|
|
121
|
+
let i = 0;
|
|
122
|
+
while (i < end) {
|
|
123
|
+
if (isFenceLineStart(text, i)) {
|
|
124
|
+
lastFenceLineStart = i;
|
|
125
|
+
}
|
|
126
|
+
const nl = text.indexOf("\n", i);
|
|
127
|
+
if (nl === -1 || nl >= end)
|
|
128
|
+
break;
|
|
129
|
+
i = nl + 1;
|
|
130
|
+
}
|
|
131
|
+
if (lastFenceLineStart <= 0)
|
|
132
|
+
return -1;
|
|
133
|
+
// Split at the newline immediately before the opener so the opener
|
|
134
|
+
// begins the next chunk. lastFenceLineStart is the first character of
|
|
135
|
+
// the fence line; the preceding char is the newline.
|
|
136
|
+
return lastFenceLineStart - 1;
|
|
137
|
+
}
|
|
138
|
+
function isFenceLineStart(text, pos) {
|
|
139
|
+
// Skip leading horizontal whitespace per CommonMark §4.5
|
|
140
|
+
// (indented up to 3 spaces still opens a fence).
|
|
141
|
+
let p = pos;
|
|
142
|
+
let leading = 0;
|
|
143
|
+
while (leading < 3 && text.charCodeAt(p) === 0x20) {
|
|
144
|
+
p += 1;
|
|
145
|
+
leading += 1;
|
|
146
|
+
}
|
|
147
|
+
// Need at least three consecutive backticks.
|
|
148
|
+
return (text.charCodeAt(p) === 0x60
|
|
149
|
+
&& text.charCodeAt(p + 1) === 0x60
|
|
150
|
+
&& text.charCodeAt(p + 2) === 0x60);
|
|
151
|
+
}
|
|
35
152
|
/**
|
|
36
153
|
* Map a MIME type (e.g. `audio/mpeg`, `image/jpeg;charset=utf-8`) to a
|
|
37
154
|
* filename extension. `mpeg`/`quicktime`/`3gpp` are special-cased to the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbound-text.js","sourceRoot":"","sources":["../../src/adapters/outbound-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH
|
|
1
|
+
{"version":3,"file":"outbound-text.js","sourceRoot":"","sources":["../../src/adapters/outbound-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure resolver for the boot-time `primaryPlatform` mismatch.
|
|
3
|
+
*
|
|
4
|
+
* Background: `config.primaryPlatform` defaults to `"slack"` (env or
|
|
5
|
+
* schema). A user who only sets up Telegram / Discord / WhatsApp will
|
|
6
|
+
* boot every time with a primary whose adapter isn't registered, which
|
|
7
|
+
* historically logged "Primary platform is not registered, falling
|
|
8
|
+
* back" on every start and only patched the value in-memory — the next
|
|
9
|
+
* boot replayed the same fallback because the `settings` table never
|
|
10
|
+
* learned about it.
|
|
11
|
+
*
|
|
12
|
+
* Decision matrix (see `resolvePrimaryPlatform`):
|
|
13
|
+
* - primary's adapter is registered → keep, no action
|
|
14
|
+
* - no adapters registered at all (very early boot / silent install) →
|
|
15
|
+
* keep; we have nothing to fall back to and the warning has no
|
|
16
|
+
* operator value
|
|
17
|
+
* - primary not registered, fallback exists, user never set the value
|
|
18
|
+
* explicitly → switch + persist (auto-resolve), so the next boot is
|
|
19
|
+
* silent
|
|
20
|
+
* - primary not registered, fallback exists, user *did* set it
|
|
21
|
+
* explicitly (DB row or env var) → switch in-memory only (warn),
|
|
22
|
+
* don't overwrite their preference
|
|
23
|
+
* - primary not registered, no eligible fallback → no-fallback warn
|
|
24
|
+
*
|
|
25
|
+
* Pure / DI-friendly: callers feed in registry snapshots and the
|
|
26
|
+
* resolver returns an action. The startup site in `index.ts` translates
|
|
27
|
+
* the action into `messageHub.setPrimaryPlatform(...)` /
|
|
28
|
+
* `settingsStore.set(...)` calls plus the appropriate log line.
|
|
29
|
+
*/
|
|
30
|
+
export interface PrimaryPlatformResolverInput {
|
|
31
|
+
/** Current value on the live `AgentConfig` (env-or-schema-or-DB merged). */
|
|
32
|
+
readonly configuredPrimary: string;
|
|
33
|
+
/** `messageHub.getAdapter(configuredPrimary) !== undefined`. */
|
|
34
|
+
readonly primaryAdapterRegistered: boolean;
|
|
35
|
+
/** `messageHub.getPlatforms()` snapshot — includes "dashboard". */
|
|
36
|
+
readonly registeredPlatforms: readonly string[];
|
|
37
|
+
/**
|
|
38
|
+
* The platform the caller has chosen as the new primary if a switch
|
|
39
|
+
* is warranted. `null` when nothing eligible exists (e.g. only the
|
|
40
|
+
* dashboard adapter is up).
|
|
41
|
+
*
|
|
42
|
+
* Order semantics — "first set up" vs "canonical" vs anything else —
|
|
43
|
+
* are NOT the resolver's responsibility. The caller computes this
|
|
44
|
+
* (today: `selectFirstPairedPlatform` in
|
|
45
|
+
* `messaging/owner-channels.ts`, fed from
|
|
46
|
+
* `messageHub.getEffectiveFallbackPlatforms()`).
|
|
47
|
+
*/
|
|
48
|
+
readonly effectiveFallback: string | null;
|
|
49
|
+
/**
|
|
50
|
+
* True when the operator chose this value via the dashboard /
|
|
51
|
+
* `PATCH /api/config` (DB `settings` row), or via the
|
|
52
|
+
* `PA_PRIMARY_PLATFORM` env var. False when the value is just the
|
|
53
|
+
* schema default "slack" that nobody asked for — that's the case the
|
|
54
|
+
* auto-resolve targets.
|
|
55
|
+
*/
|
|
56
|
+
readonly userExplicitlySetPrimary: boolean;
|
|
57
|
+
}
|
|
58
|
+
export type PrimaryPlatformResolverAction = {
|
|
59
|
+
readonly kind: "keep";
|
|
60
|
+
} | {
|
|
61
|
+
readonly kind: "switch";
|
|
62
|
+
readonly newPrimary: string;
|
|
63
|
+
readonly persist: boolean;
|
|
64
|
+
readonly reason: "auto-resolve" | "fallback-only";
|
|
65
|
+
} | {
|
|
66
|
+
readonly kind: "no-fallback";
|
|
67
|
+
};
|
|
68
|
+
export declare function resolvePrimaryPlatform(input: PrimaryPlatformResolverInput): PrimaryPlatformResolverAction;
|
|
69
|
+
//# sourceMappingURL=primary-platform-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primary-platform-resolver.d.ts","sourceRoot":"","sources":["../../src/adapters/primary-platform-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,WAAW,4BAA4B;IAC3C,4EAA4E;IAC5E,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,gEAAgE;IAChE,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC3C,mEAAmE;IACnE,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;CAC5C;AAED,MAAM,MAAM,6BAA6B,GACrC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe,CAAC;CACnD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAErC,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,4BAA4B,GAClC,6BAA6B,CAwB/B"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure resolver for the boot-time `primaryPlatform` mismatch.
|
|
3
|
+
*
|
|
4
|
+
* Background: `config.primaryPlatform` defaults to `"slack"` (env or
|
|
5
|
+
* schema). A user who only sets up Telegram / Discord / WhatsApp will
|
|
6
|
+
* boot every time with a primary whose adapter isn't registered, which
|
|
7
|
+
* historically logged "Primary platform is not registered, falling
|
|
8
|
+
* back" on every start and only patched the value in-memory — the next
|
|
9
|
+
* boot replayed the same fallback because the `settings` table never
|
|
10
|
+
* learned about it.
|
|
11
|
+
*
|
|
12
|
+
* Decision matrix (see `resolvePrimaryPlatform`):
|
|
13
|
+
* - primary's adapter is registered → keep, no action
|
|
14
|
+
* - no adapters registered at all (very early boot / silent install) →
|
|
15
|
+
* keep; we have nothing to fall back to and the warning has no
|
|
16
|
+
* operator value
|
|
17
|
+
* - primary not registered, fallback exists, user never set the value
|
|
18
|
+
* explicitly → switch + persist (auto-resolve), so the next boot is
|
|
19
|
+
* silent
|
|
20
|
+
* - primary not registered, fallback exists, user *did* set it
|
|
21
|
+
* explicitly (DB row or env var) → switch in-memory only (warn),
|
|
22
|
+
* don't overwrite their preference
|
|
23
|
+
* - primary not registered, no eligible fallback → no-fallback warn
|
|
24
|
+
*
|
|
25
|
+
* Pure / DI-friendly: callers feed in registry snapshots and the
|
|
26
|
+
* resolver returns an action. The startup site in `index.ts` translates
|
|
27
|
+
* the action into `messageHub.setPrimaryPlatform(...)` /
|
|
28
|
+
* `settingsStore.set(...)` calls plus the appropriate log line.
|
|
29
|
+
*/
|
|
30
|
+
export function resolvePrimaryPlatform(input) {
|
|
31
|
+
if (input.primaryAdapterRegistered) {
|
|
32
|
+
return { kind: "keep" };
|
|
33
|
+
}
|
|
34
|
+
if (input.registeredPlatforms.length === 0) {
|
|
35
|
+
return { kind: "keep" };
|
|
36
|
+
}
|
|
37
|
+
if (input.effectiveFallback === null) {
|
|
38
|
+
return { kind: "no-fallback" };
|
|
39
|
+
}
|
|
40
|
+
if (input.userExplicitlySetPrimary) {
|
|
41
|
+
return {
|
|
42
|
+
kind: "switch",
|
|
43
|
+
newPrimary: input.effectiveFallback,
|
|
44
|
+
persist: false,
|
|
45
|
+
reason: "fallback-only",
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
kind: "switch",
|
|
50
|
+
newPrimary: input.effectiveFallback,
|
|
51
|
+
persist: true,
|
|
52
|
+
reason: "auto-resolve",
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=primary-platform-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primary-platform-resolver.js","sourceRoot":"","sources":["../../src/adapters/primary-platform-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAyCH,MAAM,UAAU,sBAAsB,CACpC,KAAmC;IAEnC,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACnC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,KAAK,CAAC,iBAAiB;YACnC,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,eAAe;SACxB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,KAAK,CAAC,iBAAiB;QACnC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,cAAc;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -26,6 +26,16 @@ export interface SlackAdapterOptions {
|
|
|
26
26
|
export interface SlackPairingChallenge {
|
|
27
27
|
match: (text: string) => boolean;
|
|
28
28
|
expiresAt: number;
|
|
29
|
+
/**
|
|
30
|
+
* P2-23 — optional reply hint for the case where the inbound DM did NOT
|
|
31
|
+
* match the matcher but is recoverable with a small operator nudge
|
|
32
|
+
* (e.g. the magic-phrase substring is present but wrapped in extra
|
|
33
|
+
* prose). The adapter calls this AFTER the match check fails; a
|
|
34
|
+
* non-null return becomes a DM reply on the sender's channel so the
|
|
35
|
+
* legitimate user can correct their input instead of getting silence.
|
|
36
|
+
* Leaks no secret — see `isPhraseWrappedInExtraText` for the reasoning.
|
|
37
|
+
*/
|
|
38
|
+
hintReply?: (text: string) => string | null;
|
|
29
39
|
}
|
|
30
40
|
/**
|
|
31
41
|
* SlackAdapter — @slack/bolt Socket Mode integration.
|
|
@@ -77,6 +87,24 @@ export declare class SlackAdapter implements MessageAdapter {
|
|
|
77
87
|
private handleMessage;
|
|
78
88
|
private downloadAndEmitSlackMessage;
|
|
79
89
|
private emitSlackEvent;
|
|
90
|
+
/**
|
|
91
|
+
* Atomically promote a user ID to "owner" and notify the daemon.
|
|
92
|
+
*
|
|
93
|
+
* We set `mutableOwnerId` BEFORE awaiting the callback because
|
|
94
|
+
* `recordDetectedOwner` (in index.ts) immediately sends a "pairing
|
|
95
|
+
* successful" DM via `messageHub.sendToPlatform(platform, "user", ...)`,
|
|
96
|
+
* which resolves through `resolveUserChannel()` and reads
|
|
97
|
+
* `this.mutableOwnerId`. If we set it after the callback, the welcome
|
|
98
|
+
* DM would have no owner to address.
|
|
99
|
+
*
|
|
100
|
+
* If the callback throws (env-write failed, etc.) we ROLL BACK
|
|
101
|
+
* `mutableOwnerId` to its previous value so the adapter doesn't claim
|
|
102
|
+
* a pairing that didn't actually persist — otherwise the next daemon
|
|
103
|
+
* restart would lose the binding and the user would think the pair
|
|
104
|
+
* succeeded. Returns `true` on success so the caller can decide
|
|
105
|
+
* whether to `cancelPairing()` (success) or keep the matcher armed
|
|
106
|
+
* for retry (failure). See B-1 in the pre-release audit.
|
|
107
|
+
*/
|
|
80
108
|
private captureOwner;
|
|
81
109
|
}
|
|
82
110
|
//# sourceMappingURL=slack-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/slack-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"slack-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/slack-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAoBxE,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D;8EAC0E;IAC1E,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAa,YAAW,cAAc;IACjD,QAAQ,CAAC,YAAY,WAAW;IAEhC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAEvB;IAET,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;gBAE7C,IAAI,EAAE,mBAAmB;IAWrC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI3C,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B,YAAY,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI;IAyBpD,aAAa,IAAI,IAAI;IAIrB,eAAe,IAAI,OAAO;IAO1B,UAAU,IAAI,YAAY,GAAG,IAAI;IAIjC;;;;OAIG;WACU,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA+B5D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAU5C,WAAW,CAAC,MAAM,EAAE;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,qBAAqB,EAAE,CAAC;KACvC,GAAG,OAAO,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YA4ErB,aAAa;YAkGb,2BAA2B;IAiFzC,OAAO,CAAC,cAAc;IAkCtB;;;;;;;;;;;;;;;;;OAiBG;YACW,YAAY;CAgB3B"}
|
|
@@ -2,7 +2,18 @@ import { Readable } from "node:stream";
|
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { EventPriority, createEvent } from "@aitne/shared";
|
|
4
4
|
import { createLogger } from "../logging.js";
|
|
5
|
+
import { splitOutboundText } from "./outbound-text.js";
|
|
5
6
|
const SLACK_INBOUND_MAX_BYTES = 25 * 1024 * 1024; // practical cap: 25 MB
|
|
7
|
+
// Slack's chat.postMessage rejects payloads above 40,000 characters
|
|
8
|
+
// (`msg_too_long`); split outbound text into 40k-char chunks. Keep a
|
|
9
|
+
// small safety margin so format markers ("*bold*", etc.) added by Slack
|
|
10
|
+
// rendering don't push us over.
|
|
11
|
+
const SLACK_OUTBOUND_MAX_CHARS = 39_000;
|
|
12
|
+
// All outbound Slack file-IO operations (auth.test, upload PUT, download
|
|
13
|
+
// GET) need a hard wall-clock cap. Without it a hung CDN / proxy stalls
|
|
14
|
+
// the adapter's message handler indefinitely. 30s is generous enough for
|
|
15
|
+
// 25 MB attachments over slow links while still bounded.
|
|
16
|
+
const SLACK_HTTP_TIMEOUT_MS = 30_000;
|
|
6
17
|
const logger = createLogger("slack-adapter");
|
|
7
18
|
/**
|
|
8
19
|
* SlackAdapter — @slack/bolt Socket Mode integration.
|
|
@@ -46,6 +57,24 @@ export class SlackAdapter {
|
|
|
46
57
|
startPairing(challenge) {
|
|
47
58
|
this.pairingChallenge = challenge;
|
|
48
59
|
logger.info({ ttlMs: challenge.expiresAt - Date.now() }, "slack pairing challenge registered");
|
|
60
|
+
// P2-20: schedule the matcher closure for active cleanup at TTL. The
|
|
61
|
+
// matcher itself short-circuits past the TTL via `isPairingActive`
|
|
62
|
+
// (security intact), but without this timer the closure (and any
|
|
63
|
+
// captured magic-phrase normalization buffer) sticks around in memory
|
|
64
|
+
// forever when the pairing window simply expires with no inbound DM.
|
|
65
|
+
// `.unref()` so the timer never blocks daemon shutdown; the
|
|
66
|
+
// `pairingChallenge === challenge` guard means a successful pairing
|
|
67
|
+
// (which nulls the field) or an explicit `cancelPairing()` between
|
|
68
|
+
// now and TTL leaves the slot alone.
|
|
69
|
+
const ttlMs = Math.max(0, challenge.expiresAt - Date.now());
|
|
70
|
+
const sweep = setTimeout(() => {
|
|
71
|
+
if (this.pairingChallenge === challenge) {
|
|
72
|
+
this.pairingChallenge = null;
|
|
73
|
+
logger.debug("slack pairing challenge expired (TTL sweep)");
|
|
74
|
+
}
|
|
75
|
+
}, ttlMs);
|
|
76
|
+
if (typeof sweep.unref === "function")
|
|
77
|
+
sweep.unref();
|
|
49
78
|
}
|
|
50
79
|
cancelPairing() {
|
|
51
80
|
this.pairingChallenge = null;
|
|
@@ -69,6 +98,7 @@ export class SlackAdapter {
|
|
|
69
98
|
Authorization: `Bearer ${botToken}`,
|
|
70
99
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
71
100
|
},
|
|
101
|
+
signal: AbortSignal.timeout(SLACK_HTTP_TIMEOUT_MS),
|
|
72
102
|
});
|
|
73
103
|
if (!res.ok) {
|
|
74
104
|
throw new Error(`Slack auth.test HTTP error: ${res.status}`);
|
|
@@ -109,11 +139,16 @@ export class SlackAdapter {
|
|
|
109
139
|
const authResult = await this.app.client.auth.test({ token: this.botToken });
|
|
110
140
|
this.botUserId = authResult.user_id ?? null;
|
|
111
141
|
}
|
|
112
|
-
// Listen for all messages (filter in handler)
|
|
142
|
+
// Listen for all messages (filter in handler). `handleMessage` is
|
|
143
|
+
// async because the pairing branch must await `onOwnerDetected` so the
|
|
144
|
+
// env/DB write completes before we acknowledge the pairing — see
|
|
145
|
+
// captureOwner. Bolt's `app.message` handler accepts async callbacks
|
|
146
|
+
// and surfaces unhandled rejections; awaiting here also lets Bolt's
|
|
147
|
+
// own error middleware see exceptions thrown downstream.
|
|
113
148
|
this.app.message(
|
|
114
149
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
115
150
|
async ({ message, say: _say }) => {
|
|
116
|
-
this.handleMessage(message);
|
|
151
|
+
await this.handleMessage(message);
|
|
117
152
|
});
|
|
118
153
|
await this.app.start();
|
|
119
154
|
logger.info({ botUserId: this.botUserId }, "Slack adapter connected (Socket Mode)");
|
|
@@ -139,15 +174,22 @@ export class SlackAdapter {
|
|
|
139
174
|
throw new Error("Slack app not started");
|
|
140
175
|
}
|
|
141
176
|
if (!params.attachments?.length) {
|
|
142
|
-
// Text only —
|
|
177
|
+
// Text only — split into 40k-char chunks so Slack doesn't reject the
|
|
178
|
+
// payload with `msg_too_long`. The vast majority of replies fit in
|
|
179
|
+
// a single chunk; the loop is a no-op then.
|
|
180
|
+
const chunks = splitOutboundText(params.text, SLACK_OUTBOUND_MAX_CHARS);
|
|
181
|
+
let lastTs;
|
|
143
182
|
try {
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
183
|
+
for (const chunk of chunks) {
|
|
184
|
+
const result = await this.app.client.chat.postMessage({
|
|
185
|
+
token: this.botToken,
|
|
186
|
+
channel: params.channel,
|
|
187
|
+
text: chunk,
|
|
188
|
+
thread_ts: params.threadId ?? undefined,
|
|
189
|
+
});
|
|
190
|
+
lastTs = result.ts ?? lastTs;
|
|
191
|
+
}
|
|
192
|
+
return { messageId: lastTs };
|
|
151
193
|
}
|
|
152
194
|
catch (err) {
|
|
153
195
|
logger.error({ err, channel: params.channel }, "Failed to send Slack message");
|
|
@@ -180,6 +222,7 @@ export class SlackAdapter {
|
|
|
180
222
|
method: "PUT",
|
|
181
223
|
body: buf,
|
|
182
224
|
headers: { "Content-Type": att.mimeType },
|
|
225
|
+
signal: AbortSignal.timeout(SLACK_HTTP_TIMEOUT_MS),
|
|
183
226
|
});
|
|
184
227
|
// Step 3: Complete (send to channel)
|
|
185
228
|
const completeResp = await this.app.client.files.completeUploadExternal({
|
|
@@ -201,10 +244,22 @@ export class SlackAdapter {
|
|
|
201
244
|
return { messageId: lastTs };
|
|
202
245
|
}
|
|
203
246
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
204
|
-
handleMessage(message) {
|
|
247
|
+
async handleMessage(message) {
|
|
205
248
|
// Ignore bot messages and message_changed/deleted subtypes
|
|
206
249
|
if (message.bot_id || message.subtype)
|
|
207
250
|
return;
|
|
251
|
+
// Reject multi-person IMs (mpim) outright — CLAUDE.md single-owner
|
|
252
|
+
// invariant: group chats and multi-user channels are out of scope by
|
|
253
|
+
// design. The earlier `isDm` check passed only "im", but a bot
|
|
254
|
+
// @-mention inside an "mpim" would have leaked through the
|
|
255
|
+
// `isMention` branch and emitted agent replies into a channel
|
|
256
|
+
// visible to non-owners. `channel_type` for mpim is "mpim"; private
|
|
257
|
+
// channels are "group"; public channels are "channel" — none of
|
|
258
|
+
// which are a single-owner DM. Only "im" is.
|
|
259
|
+
if (message.channel_type === "mpim") {
|
|
260
|
+
logger.debug({ channel: message.channel }, "slack message dropped: multi-person IM rejected (B-4)");
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
208
263
|
const isDm = message.channel_type === "im";
|
|
209
264
|
const isMention = !isDm &&
|
|
210
265
|
this.botUserId !== null &&
|
|
@@ -218,17 +273,43 @@ export class SlackAdapter {
|
|
|
218
273
|
// ownership, and only if the text satisfies the registered matcher.
|
|
219
274
|
// No "first DM wins" fallback — without an active challenge, an
|
|
220
275
|
// unrecognised sender is dropped.
|
|
221
|
-
if (isDm
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
276
|
+
if (isDm && this.isPairingActive()) {
|
|
277
|
+
const challenge = this.pairingChallenge;
|
|
278
|
+
if (challenge.match(text)) {
|
|
279
|
+
logger.info({ senderId }, "slack pairing challenge matched");
|
|
280
|
+
// Await `captureOwner` so the env/DB write inside
|
|
281
|
+
// `onOwnerDetected` completes before we acknowledge pairing.
|
|
282
|
+
// `cancelPairing()` only fires on success — if the callback
|
|
283
|
+
// throws (e.g. .env unwritable), the matcher stays armed so the
|
|
284
|
+
// user can retry by resending the phrase. See B-1.
|
|
285
|
+
const ok = await this.captureOwner(senderId);
|
|
286
|
+
if (ok) {
|
|
287
|
+
this.cancelPairing();
|
|
288
|
+
}
|
|
289
|
+
// Do NOT fall through — the captured payload IS the magic phrase,
|
|
290
|
+
// not a real user message. recordDetectedOwner sends the welcome
|
|
291
|
+
// DM; emitting this to the EventBus would burn an agent inference
|
|
292
|
+
// on the phrase itself.
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
// P2-23: matcher rejected but the input may be a wrapped magic
|
|
296
|
+
// phrase. Send a hint so the legitimate user can correct rather
|
|
297
|
+
// than getting silence indistinguishable from an attacker's wrong
|
|
298
|
+
// guess. Best-effort: a send failure is logged but never bubbles.
|
|
299
|
+
const hint = challenge.hintReply?.(text);
|
|
300
|
+
if (hint) {
|
|
301
|
+
try {
|
|
302
|
+
await this.app.client.chat.postMessage({
|
|
303
|
+
token: this.botToken,
|
|
304
|
+
channel: message.channel,
|
|
305
|
+
text: hint,
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
catch (err) {
|
|
309
|
+
logger.warn({ err, channel: message.channel }, "slack pairing hint reply failed");
|
|
310
|
+
}
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
232
313
|
}
|
|
233
314
|
if (!this.mutableOwnerId || senderId !== this.mutableOwnerId) {
|
|
234
315
|
logger.debug({ senderId, channel: message.channel }, "slack message dropped: unauthorized sender");
|
|
@@ -286,6 +367,7 @@ export class SlackAdapter {
|
|
|
286
367
|
try {
|
|
287
368
|
const res = await fetch(downloadUrl, {
|
|
288
369
|
headers: { Authorization: `Bearer ${this.botToken}` },
|
|
370
|
+
signal: AbortSignal.timeout(SLACK_HTTP_TIMEOUT_MS),
|
|
289
371
|
});
|
|
290
372
|
if (!res.ok) {
|
|
291
373
|
logger.warn({ status: res.status, filename: file.name }, "slack file download failed");
|
|
@@ -339,20 +421,37 @@ export class SlackAdapter {
|
|
|
339
421
|
});
|
|
340
422
|
this.onMessage(event);
|
|
341
423
|
}
|
|
342
|
-
|
|
424
|
+
/**
|
|
425
|
+
* Atomically promote a user ID to "owner" and notify the daemon.
|
|
426
|
+
*
|
|
427
|
+
* We set `mutableOwnerId` BEFORE awaiting the callback because
|
|
428
|
+
* `recordDetectedOwner` (in index.ts) immediately sends a "pairing
|
|
429
|
+
* successful" DM via `messageHub.sendToPlatform(platform, "user", ...)`,
|
|
430
|
+
* which resolves through `resolveUserChannel()` and reads
|
|
431
|
+
* `this.mutableOwnerId`. If we set it after the callback, the welcome
|
|
432
|
+
* DM would have no owner to address.
|
|
433
|
+
*
|
|
434
|
+
* If the callback throws (env-write failed, etc.) we ROLL BACK
|
|
435
|
+
* `mutableOwnerId` to its previous value so the adapter doesn't claim
|
|
436
|
+
* a pairing that didn't actually persist — otherwise the next daemon
|
|
437
|
+
* restart would lose the binding and the user would think the pair
|
|
438
|
+
* succeeded. Returns `true` on success so the caller can decide
|
|
439
|
+
* whether to `cancelPairing()` (success) or keep the matcher armed
|
|
440
|
+
* for retry (failure). See B-1 in the pre-release audit.
|
|
441
|
+
*/
|
|
442
|
+
async captureOwner(userId) {
|
|
443
|
+
const previousOwnerId = this.mutableOwnerId;
|
|
343
444
|
this.mutableOwnerId = userId;
|
|
344
|
-
if (this.onOwnerDetected)
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
logger.error({ err }, "slack onOwnerDetected callback threw");
|
|
355
|
-
}
|
|
445
|
+
if (!this.onOwnerDetected)
|
|
446
|
+
return true;
|
|
447
|
+
try {
|
|
448
|
+
await this.onOwnerDetected(userId);
|
|
449
|
+
return true;
|
|
450
|
+
}
|
|
451
|
+
catch (err) {
|
|
452
|
+
this.mutableOwnerId = previousOwnerId;
|
|
453
|
+
logger.error({ err, userId }, "slack onOwnerDetected callback failed; pairing rolled back");
|
|
454
|
+
return false;
|
|
356
455
|
}
|
|
357
456
|
}
|
|
358
457
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-adapter.js","sourceRoot":"","sources":["../../src/adapters/slack-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slack-adapter.js","sourceRoot":"","sources":["../../src/adapters/slack-adapter.ts"],"names":[],"mappings":"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"}
|