@aitne/daemon 0.1.7 → 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 -1480
- 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/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
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
* integration is wired, in which case the gate proceeds without
|
|
49
49
|
* a refresh, matching pre-injection behaviour.
|
|
50
50
|
*/
|
|
51
|
-
import { EventPriority,
|
|
51
|
+
import { EventPriority, INTEGRATION_KEYS, createEvent, } from "@aitne/shared";
|
|
52
52
|
import { readIntegrations } from "../db/integrations-store.js";
|
|
53
53
|
import { existsSync, readFileSync } from "node:fs";
|
|
54
54
|
import { join } from "node:path";
|
|
@@ -59,6 +59,9 @@ import { computeHourlyCheckSignals } from "../db/hourly-check-signals.js";
|
|
|
59
59
|
import { buildGateAuditDetail, decideStage, renderGateDecisionBlock, } from "../scheduler/hourly-check-gate.js";
|
|
60
60
|
import { appendAgentLogLine } from "./today-direct-writer.js";
|
|
61
61
|
import { parseStage2Verdict } from "./dispatcher-types.js";
|
|
62
|
+
import { morningRoutineRanToday } from "../bootstrap/schedule-helpers.js";
|
|
63
|
+
import { prePassLastRunRuntimeStateKey } from "./pre-pass-freshness.js";
|
|
64
|
+
import { readRuntimeState } from "../db/runtime-state.js";
|
|
62
65
|
import { createLogger } from "../logging.js";
|
|
63
66
|
const logger = createLogger("dispatcher-hourly-check");
|
|
64
67
|
export class HourlyCheckCoordinator {
|
|
@@ -76,6 +79,7 @@ export class HourlyCheckCoordinator {
|
|
|
76
79
|
isHourlyCheckInProgress;
|
|
77
80
|
isMorningRoutineActive;
|
|
78
81
|
isAutonomousAllowed;
|
|
82
|
+
getQueueMorningRoutineWake;
|
|
79
83
|
constructor(deps) {
|
|
80
84
|
this.db = deps.db;
|
|
81
85
|
this.config = deps.config;
|
|
@@ -91,6 +95,7 @@ export class HourlyCheckCoordinator {
|
|
|
91
95
|
this.isHourlyCheckInProgress = deps.isHourlyCheckInProgress;
|
|
92
96
|
this.isMorningRoutineActive = deps.isMorningRoutineActive;
|
|
93
97
|
this.isAutonomousAllowed = deps.isAutonomousAllowed;
|
|
98
|
+
this.getQueueMorningRoutineWake = deps.getQueueMorningRoutineWake;
|
|
94
99
|
}
|
|
95
100
|
async trigger(source, options = {}) {
|
|
96
101
|
const forced = options.force === true;
|
|
@@ -136,6 +141,32 @@ export class HourlyCheckCoordinator {
|
|
|
136
141
|
forced,
|
|
137
142
|
};
|
|
138
143
|
}
|
|
144
|
+
// Pre-routine morning_routine gate. The signal is the
|
|
145
|
+
// `agent_actions` row (not today.md) because today.md can be
|
|
146
|
+
// user-edited and lie about completion — see the 2026-05-14
|
|
147
|
+
// sleep-skip incident captured in `morningRoutineRanToday`'s
|
|
148
|
+
// doc. When the gate trips, we enqueue a wake row so the
|
|
149
|
+
// morning_routine catches up on the next watcher tick, then
|
|
150
|
+
// skip the current hourly tick. The next hourly cron tick will
|
|
151
|
+
// see the action row and proceed normally; `queueMorningRoutineWake`
|
|
152
|
+
// dedups across back-to-back trips so a sleep gap covering many
|
|
153
|
+
// hours produces exactly one wake row.
|
|
154
|
+
if (!morningRoutineRanToday(this.db, this.config)) {
|
|
155
|
+
const queueWake = this.getQueueMorningRoutineWake();
|
|
156
|
+
if (queueWake) {
|
|
157
|
+
const queueResult = queueWake(`hourly_check_dependency:${source}`);
|
|
158
|
+
logger.info({ source, queueResult }, "Hourly check skipped — morning_routine not yet complete for current agent-day; enqueued morning_routine wake");
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
logger.warn({ source }, "Hourly check skipped — morning_routine not yet complete and queueMorningRoutineWake not wired");
|
|
162
|
+
}
|
|
163
|
+
return {
|
|
164
|
+
status: "skipped",
|
|
165
|
+
reason: "morning_routine_pending_for_today",
|
|
166
|
+
minObservations,
|
|
167
|
+
forced,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
139
170
|
// Refresh delegated-sync snapshots for any cadence the operator
|
|
140
171
|
// left opted-OUT (the post-Phase-9 default). Without this, Gmail /
|
|
141
172
|
// Notion observations would dry up entirely in delegated mode and
|
|
@@ -157,116 +188,62 @@ export class HourlyCheckCoordinator {
|
|
|
157
188
|
logger.warn({ err, source }, "Pre-hourly-check delegated sync refresh failed; proceeding with stale snapshot");
|
|
158
189
|
}
|
|
159
190
|
}
|
|
160
|
-
|
|
161
|
-
//
|
|
162
|
-
//
|
|
163
|
-
//
|
|
164
|
-
//
|
|
165
|
-
//
|
|
166
|
-
//
|
|
167
|
-
//
|
|
168
|
-
//
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
|
|
172
|
-
//
|
|
173
|
-
//
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
//
|
|
185
|
-
//
|
|
186
|
-
//
|
|
187
|
-
//
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
reason: "below_threshold",
|
|
196
|
-
pendingCount,
|
|
197
|
-
minObservations,
|
|
198
|
-
forced,
|
|
199
|
-
};
|
|
191
|
+
// HOURLY_CHECK_GATE_REDESIGN_PLAN.md Layer 1 — pre-pass harvest
|
|
192
|
+
// for delegated/native integrations BEFORE the gate signal
|
|
193
|
+
// computation. Direct-mode integrations rely on their in-process
|
|
194
|
+
// pollers and are not touched here. The freshness window
|
|
195
|
+
// (`hourlyCheckPrePassFreshnessMinutes`, default 30 min) bounds
|
|
196
|
+
// Haiku spend; forced runs (`/api/agent/run-now`) bypass the
|
|
197
|
+
// window so the operator always sees fresh data.
|
|
198
|
+
//
|
|
199
|
+
// Failures surface as `harvest.failed === true`; combined with
|
|
200
|
+
// §3.5 cautious-escalate the gate force-runs Stage 3 so a
|
|
201
|
+
// transient fetch outage doesn't manifest as silent stage0.
|
|
202
|
+
const harvest = await this.harvestForGate(source, forced);
|
|
203
|
+
// Layer 2 — gate signals are now mode-blind. The actor='user'
|
|
204
|
+
// filter has been dropped (HOURLY_CHECK_GATE_REDESIGN_PLAN.md
|
|
205
|
+
// Phase 1+2): delegated-sync-worker and pre-pass both POST
|
|
206
|
+
// actor='agent' rows that represent real activity. The
|
|
207
|
+
// signal-compute filters by source-prefix sets derived from
|
|
208
|
+
// `INTEGRATION_DESCRIPTORS` instead.
|
|
209
|
+
const pendingCount = getPendingCount(this.db);
|
|
210
|
+
// Layer 2+3 — compute gate verdict.
|
|
211
|
+
const baseDecision = this.computeHourlyCheckGateDecision();
|
|
212
|
+
// §3.5 cautious-escalate: when pre-pass failed for any non-direct
|
|
213
|
+
// integration, force `stage3` regardless of the signal verdict.
|
|
214
|
+
// The Stage 3 prompt carries the `<fetch_report status="failed">`
|
|
215
|
+
// block so the routine knows the fetch was lossy. We preserve the
|
|
216
|
+
// pre-overwrite gate verdict so the audit row carries both views
|
|
217
|
+
// (`gate_stage`/`gate_reason` show the cautious-escalate label
|
|
218
|
+
// the prompt sees; `pre_escalate_gate_stage`/`_reason` show what
|
|
219
|
+
// the gate would have said without the pre-pass failure).
|
|
220
|
+
const cautiousEscalate = harvest.failed;
|
|
221
|
+
const decision = cautiousEscalate
|
|
222
|
+
? {
|
|
223
|
+
...baseDecision,
|
|
224
|
+
stage: "stage3",
|
|
225
|
+
reason: "cautious_escalate_prepass_failure",
|
|
200
226
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
priority: EventPriority.NORMAL,
|
|
206
|
-
}),
|
|
207
|
-
routine: "hourly_check",
|
|
208
|
-
data: { pendingCount, forced },
|
|
209
|
-
...(options.requestedModel ? { requestedModel: options.requestedModel } : {}),
|
|
210
|
-
});
|
|
211
|
-
enqueued = true;
|
|
212
|
-
return {
|
|
213
|
-
status: "queued",
|
|
214
|
-
pendingCount,
|
|
215
|
-
minObservations,
|
|
216
|
-
forced,
|
|
217
|
-
gateMode: "off",
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
const decision = this.computeHourlyCheckGateDecision();
|
|
221
|
-
if (gateMode === "shadow") {
|
|
222
|
-
// Shadow mode: log the gate verdict, then proceed to Stage 3
|
|
223
|
-
// exactly as before so the existing pipeline is uncovered.
|
|
224
|
-
this.logGateAuditRow(decision, {
|
|
225
|
-
mode: "shadow",
|
|
226
|
-
appliedDecision: "stage3_shadow",
|
|
227
|
-
forced,
|
|
228
|
-
});
|
|
229
|
-
if (!forced && !hasNativeForHourlyCheck && pendingCount < minObservations) {
|
|
230
|
-
logger.debug({ source, pendingCount, minObservations, gateStage: decision.stage }, "Hourly check skipped (shadow) — not enough pending observations");
|
|
231
|
-
return {
|
|
232
|
-
status: "skipped",
|
|
233
|
-
reason: "below_threshold",
|
|
234
|
-
pendingCount,
|
|
235
|
-
minObservations,
|
|
236
|
-
forced,
|
|
237
|
-
gateMode: "shadow",
|
|
238
|
-
gateStage: decision.stage,
|
|
239
|
-
gateReason: decision.reason,
|
|
240
|
-
appliedStage: "stage3_shadow",
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
await this.enqueueStage3HourlyCheck(source, { ...decision }, { mode: "shadow", forced, pendingCount, requestedModel: options.requestedModel });
|
|
244
|
-
enqueued = true;
|
|
245
|
-
return {
|
|
246
|
-
status: "queued",
|
|
247
|
-
pendingCount,
|
|
248
|
-
minObservations,
|
|
249
|
-
forced,
|
|
250
|
-
gateMode: "shadow",
|
|
251
|
-
gateStage: decision.stage,
|
|
252
|
-
gateReason: decision.reason,
|
|
253
|
-
appliedStage: "stage3_shadow",
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
// gateMode === 'live'
|
|
227
|
+
: baseDecision;
|
|
228
|
+
const preEscalate = cautiousEscalate
|
|
229
|
+
? { stage: baseDecision.stage, reason: baseDecision.reason }
|
|
230
|
+
: null;
|
|
257
231
|
// Honour the legacy min-observations floor only when the gate
|
|
258
232
|
// would have proceeded to Stage 3 anyway. The silent gate path
|
|
259
233
|
// already short-circuits the noisy "1 obs, no signal" case below
|
|
260
234
|
// it, so keeping the floor active there would just suppress the
|
|
261
|
-
// gate's telemetry.
|
|
235
|
+
// gate's telemetry. The native-integration §6.5.1 bypass is no
|
|
236
|
+
// longer needed — the gate's signal compute now sees pre-pass +
|
|
237
|
+
// delegated-sync rows directly.
|
|
262
238
|
if (!forced
|
|
263
|
-
&& !
|
|
239
|
+
&& !cautiousEscalate
|
|
264
240
|
&& decision.stage === "stage3"
|
|
265
241
|
&& pendingCount < minObservations) {
|
|
266
242
|
this.logGateAuditRow(decision, {
|
|
267
|
-
mode: "live",
|
|
268
243
|
appliedDecision: "stage3",
|
|
269
244
|
forced,
|
|
245
|
+
harvest,
|
|
246
|
+
preEscalate,
|
|
270
247
|
// Mark the row as a skip even though the gate wanted Stage 3 —
|
|
271
248
|
// the legacy min-observations floor short-circuited it. Without
|
|
272
249
|
// this, every `below_threshold` skip would persist as a phantom
|
|
@@ -280,7 +257,6 @@ export class HourlyCheckCoordinator {
|
|
|
280
257
|
pendingCount,
|
|
281
258
|
minObservations,
|
|
282
259
|
forced,
|
|
283
|
-
gateMode: "live",
|
|
284
260
|
gateStage: decision.stage,
|
|
285
261
|
gateReason: decision.reason,
|
|
286
262
|
};
|
|
@@ -289,12 +265,13 @@ export class HourlyCheckCoordinator {
|
|
|
289
265
|
const silentResult = this.runSilentHourlyCheckPath(decision, "stage0_silent", {
|
|
290
266
|
source,
|
|
291
267
|
forced,
|
|
268
|
+
harvest,
|
|
269
|
+
preEscalate,
|
|
292
270
|
});
|
|
293
271
|
silentPathOwnsReset = true;
|
|
294
272
|
return {
|
|
295
273
|
...silentResult,
|
|
296
274
|
minObservations,
|
|
297
|
-
gateMode: "live",
|
|
298
275
|
gateStage: decision.stage,
|
|
299
276
|
gateReason: decision.reason,
|
|
300
277
|
appliedStage: "stage0_silent",
|
|
@@ -303,12 +280,11 @@ export class HourlyCheckCoordinator {
|
|
|
303
280
|
if (decision.stage === "stage2") {
|
|
304
281
|
const verdict = await this.runStage2Triage(decision, source);
|
|
305
282
|
if (verdict === "log_only") {
|
|
306
|
-
const silentResult = this.runSilentHourlyCheckPath(decision, "stage2_log_only", { source, forced });
|
|
283
|
+
const silentResult = this.runSilentHourlyCheckPath(decision, "stage2_log_only", { source, forced, harvest, preEscalate });
|
|
307
284
|
silentPathOwnsReset = true;
|
|
308
285
|
return {
|
|
309
286
|
...silentResult,
|
|
310
287
|
minObservations,
|
|
311
|
-
gateMode: "live",
|
|
312
288
|
gateStage: decision.stage,
|
|
313
289
|
gateReason: decision.reason,
|
|
314
290
|
appliedStage: "stage2_log_only",
|
|
@@ -318,11 +294,13 @@ export class HourlyCheckCoordinator {
|
|
|
318
294
|
// since a malformed JSON should not silently skip a hour's worth
|
|
319
295
|
// of signals; matches the prompt contract's stated default).
|
|
320
296
|
await this.enqueueStage3HourlyCheck(source, decision, {
|
|
321
|
-
mode: "live",
|
|
322
297
|
forced,
|
|
323
298
|
pendingCount,
|
|
324
299
|
requestedModel: options.requestedModel,
|
|
325
300
|
stage2Verdict: verdict,
|
|
301
|
+
harvest,
|
|
302
|
+
cautiousEscalate,
|
|
303
|
+
preEscalate,
|
|
326
304
|
});
|
|
327
305
|
enqueued = true;
|
|
328
306
|
return {
|
|
@@ -330,24 +308,31 @@ export class HourlyCheckCoordinator {
|
|
|
330
308
|
pendingCount,
|
|
331
309
|
minObservations,
|
|
332
310
|
forced,
|
|
333
|
-
gateMode: "live",
|
|
334
311
|
gateStage: decision.stage,
|
|
335
312
|
gateReason: decision.reason,
|
|
336
313
|
appliedStage: "stage3",
|
|
314
|
+
...(cautiousEscalate ? { cautiousEscalate: true } : {}),
|
|
337
315
|
};
|
|
338
316
|
}
|
|
339
317
|
// decision.stage === 'stage3'
|
|
340
|
-
await this.enqueueStage3HourlyCheck(source, decision, {
|
|
318
|
+
await this.enqueueStage3HourlyCheck(source, decision, {
|
|
319
|
+
forced,
|
|
320
|
+
pendingCount,
|
|
321
|
+
requestedModel: options.requestedModel,
|
|
322
|
+
harvest,
|
|
323
|
+
cautiousEscalate,
|
|
324
|
+
preEscalate,
|
|
325
|
+
});
|
|
341
326
|
enqueued = true;
|
|
342
327
|
return {
|
|
343
328
|
status: "queued",
|
|
344
329
|
pendingCount,
|
|
345
330
|
minObservations,
|
|
346
331
|
forced,
|
|
347
|
-
gateMode: "live",
|
|
348
332
|
gateStage: decision.stage,
|
|
349
333
|
gateReason: decision.reason,
|
|
350
334
|
appliedStage: "stage3",
|
|
335
|
+
...(cautiousEscalate ? { cautiousEscalate: true } : {}),
|
|
351
336
|
};
|
|
352
337
|
}
|
|
353
338
|
finally {
|
|
@@ -361,6 +346,116 @@ export class HourlyCheckCoordinator {
|
|
|
361
346
|
}
|
|
362
347
|
}
|
|
363
348
|
}
|
|
349
|
+
/**
|
|
350
|
+
* HOURLY_CHECK_GATE_REDESIGN_PLAN.md §3.3 Layer 1 — pre-pass harvest
|
|
351
|
+
* for active non-direct integrations. Reads the per-integration
|
|
352
|
+
* `pre_pass_last_run:<key>` freshness key; integrations whose last
|
|
353
|
+
* successful run is within `hourlyCheckPrePassFreshnessMinutes` are
|
|
354
|
+
* skipped this tick. Forced runs (`/api/agent/run-now`) bypass the
|
|
355
|
+
* freshness gate.
|
|
356
|
+
*
|
|
357
|
+
* Returns a `HarvestResult` so the caller can:
|
|
358
|
+
* - emit telemetry (which integrations fetched, which skipped on
|
|
359
|
+
* freshness, which failed),
|
|
360
|
+
* - cautious-escalate when any non-direct integration failed
|
|
361
|
+
* (§3.5 — prevents silent stage0 from masking a fetch outage),
|
|
362
|
+
* - plumb the rendered `<fetch_report>` block onto the Stage 3
|
|
363
|
+
* event so ContextBuilder folds it into the prompt.
|
|
364
|
+
*/
|
|
365
|
+
async harvestForGate(source, forced) {
|
|
366
|
+
const startedAt = Date.now();
|
|
367
|
+
const integrations = readIntegrations(this.db);
|
|
368
|
+
const freshnessMinutes = this.config.hourlyCheckPrePassFreshnessMinutes ?? 30;
|
|
369
|
+
const freshnessMs = Math.max(0, freshnessMinutes) * 60 * 1000;
|
|
370
|
+
const now = Date.now();
|
|
371
|
+
const eligibleIntegrations = [];
|
|
372
|
+
const skipped = [];
|
|
373
|
+
for (const key of INTEGRATION_KEYS) {
|
|
374
|
+
const state = integrations[key];
|
|
375
|
+
if (!state)
|
|
376
|
+
continue;
|
|
377
|
+
// Only non-direct integrations participate in pre-pass harvest.
|
|
378
|
+
// Direct-mode integrations rely on their in-process pollers; their
|
|
379
|
+
// observations land in `observations` independently of the gate.
|
|
380
|
+
if (state.mode !== "delegated" && state.mode !== "native")
|
|
381
|
+
continue;
|
|
382
|
+
if (forced || freshnessMs === 0) {
|
|
383
|
+
eligibleIntegrations.push(key);
|
|
384
|
+
continue;
|
|
385
|
+
}
|
|
386
|
+
const last = readRuntimeState(this.db, prePassLastRunRuntimeStateKey(key));
|
|
387
|
+
const lastMs = last ? Date.parse(last) : NaN;
|
|
388
|
+
if (Number.isFinite(lastMs) && now - lastMs < freshnessMs) {
|
|
389
|
+
skipped.push(key);
|
|
390
|
+
continue;
|
|
391
|
+
}
|
|
392
|
+
eligibleIntegrations.push(key);
|
|
393
|
+
}
|
|
394
|
+
if (eligibleIntegrations.length === 0) {
|
|
395
|
+
return {
|
|
396
|
+
ran: false,
|
|
397
|
+
integrations: [],
|
|
398
|
+
skippedIntegrations: skipped,
|
|
399
|
+
failedIntegrations: [],
|
|
400
|
+
durationMs: Date.now() - startedAt,
|
|
401
|
+
failed: false,
|
|
402
|
+
fetchReportBlock: null,
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
// Manufacture a placeholder hourly_check event so the runner can
|
|
406
|
+
// derive `RoutineWindowKey` and the agent-day. The runner's own
|
|
407
|
+
// `prepass_started` / `prepass_completed` SSE pair carries the
|
|
408
|
+
// correlation id back to the dashboard.
|
|
409
|
+
const parentEvent = {
|
|
410
|
+
...createEvent({
|
|
411
|
+
type: "routine.hourly_check",
|
|
412
|
+
source,
|
|
413
|
+
priority: EventPriority.NORMAL,
|
|
414
|
+
}),
|
|
415
|
+
routine: "hourly_check",
|
|
416
|
+
data: { forced },
|
|
417
|
+
};
|
|
418
|
+
let result;
|
|
419
|
+
try {
|
|
420
|
+
result = await this.fetchWindowRunner.run(parentEvent, "routine.hourly_check", { integrationKeyFilter: new Set(eligibleIntegrations) });
|
|
421
|
+
}
|
|
422
|
+
catch (err) {
|
|
423
|
+
// Runner errors never propagate per design — but as a defensive
|
|
424
|
+
// floor we treat any throw as a hard failure across all eligible
|
|
425
|
+
// integrations so cautious-escalate kicks in.
|
|
426
|
+
logger.error({ err, source, eligibleIntegrations }, "harvestForGate: fetchWindowRunner.run threw — forcing cautious escalate");
|
|
427
|
+
return {
|
|
428
|
+
ran: true,
|
|
429
|
+
integrations: [],
|
|
430
|
+
skippedIntegrations: skipped,
|
|
431
|
+
failedIntegrations: eligibleIntegrations,
|
|
432
|
+
durationMs: Date.now() - startedAt,
|
|
433
|
+
failed: true,
|
|
434
|
+
fetchReportBlock: null,
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
const perIntegration = result.report.perIntegration ?? [];
|
|
438
|
+
const fetched = [];
|
|
439
|
+
const failed = [];
|
|
440
|
+
for (const sub of perIntegration) {
|
|
441
|
+
if (sub.status === "success")
|
|
442
|
+
fetched.push(sub.integrationKey);
|
|
443
|
+
else if (sub.status === "failed")
|
|
444
|
+
failed.push(sub.integrationKey);
|
|
445
|
+
else if (sub.status === "partial")
|
|
446
|
+
fetched.push(sub.integrationKey);
|
|
447
|
+
// skipped → no per-integration list entry; suppressed silently.
|
|
448
|
+
}
|
|
449
|
+
return {
|
|
450
|
+
ran: true,
|
|
451
|
+
integrations: fetched,
|
|
452
|
+
skippedIntegrations: skipped,
|
|
453
|
+
failedIntegrations: failed,
|
|
454
|
+
durationMs: Date.now() - startedAt,
|
|
455
|
+
failed: failed.length > 0,
|
|
456
|
+
fetchReportBlock: result.block,
|
|
457
|
+
};
|
|
458
|
+
}
|
|
364
459
|
/**
|
|
365
460
|
* cost-reduction-structural §B — pull a fresh signal snapshot and run
|
|
366
461
|
* the deterministic gate. Helper so the dispatcher's call site stays
|
|
@@ -426,12 +521,12 @@ export class HourlyCheckCoordinator {
|
|
|
426
521
|
}
|
|
427
522
|
// Consume the observations under the gate's correlation id so
|
|
428
523
|
// dashboards can attribute "consumed by gate" rows separately
|
|
429
|
-
// from agent-driven consumption.
|
|
524
|
+
// from agent-driven consumption. The actor filter is dropped
|
|
525
|
+
// (HOURLY_CHECK_GATE_REDESIGN_PLAN.md Phase 1+2) so pre-pass and
|
|
526
|
+
// delegated-sync agent rows are cleared too — otherwise they
|
|
527
|
+
// would accumulate on every silent tick.
|
|
430
528
|
try {
|
|
431
|
-
const pending = getPendingObservations(this.db, {
|
|
432
|
-
actorFilter: "user",
|
|
433
|
-
limit: 100,
|
|
434
|
-
});
|
|
529
|
+
const pending = getPendingObservations(this.db, { limit: 100 });
|
|
435
530
|
if (pending.length > 0) {
|
|
436
531
|
consumeObservations(this.db, pending.map((row) => row.id), `hourly_check_gate:${appliedDecision}`);
|
|
437
532
|
}
|
|
@@ -440,9 +535,10 @@ export class HourlyCheckCoordinator {
|
|
|
440
535
|
logger.warn({ err }, "Failed to consume observations on silent gate path");
|
|
441
536
|
}
|
|
442
537
|
this.logGateAuditRow(decision, {
|
|
443
|
-
mode: "live",
|
|
444
538
|
appliedDecision,
|
|
445
539
|
forced: ctx.forced,
|
|
540
|
+
harvest: ctx.harvest,
|
|
541
|
+
preEscalate: ctx.preEscalate,
|
|
446
542
|
});
|
|
447
543
|
logger.info({
|
|
448
544
|
source: ctx.source,
|
|
@@ -464,17 +560,17 @@ export class HourlyCheckCoordinator {
|
|
|
464
560
|
}
|
|
465
561
|
async enqueueStage3HourlyCheck(source, decision, extra) {
|
|
466
562
|
const gateBlock = renderGateDecisionBlock(decision, {
|
|
467
|
-
mode: extra.mode,
|
|
468
563
|
forced: extra.forced,
|
|
564
|
+
cautiousEscalate: extra.cautiousEscalate,
|
|
565
|
+
});
|
|
566
|
+
this.logGateAuditRow(decision, {
|
|
567
|
+
appliedDecision: "stage3",
|
|
568
|
+
forced: extra.forced,
|
|
569
|
+
harvest: extra.harvest,
|
|
570
|
+
preEscalate: extra.preEscalate,
|
|
571
|
+
...(extra.cautiousEscalate ? { cautiousEscalate: true } : {}),
|
|
572
|
+
...(extra.stage2Verdict ? { stage2Verdict: extra.stage2Verdict } : {}),
|
|
469
573
|
});
|
|
470
|
-
if (extra.mode === "live") {
|
|
471
|
-
this.logGateAuditRow(decision, {
|
|
472
|
-
mode: extra.mode,
|
|
473
|
-
appliedDecision: "stage3",
|
|
474
|
-
forced: extra.forced,
|
|
475
|
-
...(extra.stage2Verdict ? { stage2Verdict: extra.stage2Verdict } : {}),
|
|
476
|
-
});
|
|
477
|
-
}
|
|
478
574
|
const stage3Event = {
|
|
479
575
|
...createEvent({
|
|
480
576
|
type: "routine.hourly_check",
|
|
@@ -486,63 +582,66 @@ export class HourlyCheckCoordinator {
|
|
|
486
582
|
pendingCount: extra.pendingCount,
|
|
487
583
|
forced: extra.forced,
|
|
488
584
|
gateDecision: {
|
|
489
|
-
mode: extra.mode,
|
|
490
585
|
stage: decision.stage,
|
|
491
586
|
reason: decision.reason,
|
|
492
587
|
forced: extra.forced,
|
|
588
|
+
...(extra.cautiousEscalate ? { cautiousEscalate: true } : {}),
|
|
493
589
|
...(extra.stage2Verdict ? { stage2Verdict: extra.stage2Verdict } : {}),
|
|
494
590
|
block: gateBlock,
|
|
495
591
|
},
|
|
592
|
+
// HOURLY_CHECK_GATE_REDESIGN_PLAN.md §3.3 — Layer-1 harvest ran
|
|
593
|
+
// BEFORE this enqueue so the gate could see fresh signals. The
|
|
594
|
+
// rendered `<fetch_report>` block is plumbed onto the event so
|
|
595
|
+
// ContextBuilder folds it into the Stage 3 prompt (the routine
|
|
596
|
+
// body still relies on the block for "what arrived this tick").
|
|
597
|
+
...(extra.harvest.fetchReportBlock
|
|
598
|
+
? { fetchReportBlock: extra.harvest.fetchReportBlock }
|
|
599
|
+
: {}),
|
|
496
600
|
},
|
|
497
601
|
...(extra.requestedModel ? { requestedModel: extra.requestedModel } : {}),
|
|
498
602
|
};
|
|
499
|
-
// ROUTINE_DATA_ACQUISITION_DESIGN.md Phase 4 / D3 — synchronous
|
|
500
|
-
// pre-pass between the gate's escalate verdict and the Stage 3
|
|
501
|
-
// enqueue. The block lives on `event.data.fetchReportBlock` so
|
|
502
|
-
// ContextBuilder folds it into the Stage 3 prompt when the EventBus
|
|
503
|
-
// consumer dispatches the routine. Pre-pass is skipped when the
|
|
504
|
-
// gate's escalate reason is `forced` (operator-pushed runs already
|
|
505
|
-
// know they want a fresh look) or `shadow` (shadow mode is
|
|
506
|
-
// explicitly running the existing pipeline unchanged, so the
|
|
507
|
-
// pre-pass would change the comparison fixture). Failures inside
|
|
508
|
-
// the runner surface as `<fetch_report status="failed">` and never
|
|
509
|
-
// throw — design §11 R5.
|
|
510
|
-
if (extra.mode === "live" && !extra.forced) {
|
|
511
|
-
const prepass = await this.fetchWindowRunner.run(stage3Event, "routine.hourly_check");
|
|
512
|
-
stage3Event.data = {
|
|
513
|
-
...stage3Event.data,
|
|
514
|
-
fetchReportBlock: prepass.block,
|
|
515
|
-
};
|
|
516
|
-
}
|
|
517
603
|
await this.eventBus.put(stage3Event);
|
|
518
604
|
}
|
|
519
605
|
logGateAuditRow(decision, params) {
|
|
520
606
|
try {
|
|
521
607
|
// The gate-audit helper only knows about the canonical stages
|
|
522
|
-
// (gate output)
|
|
523
|
-
//
|
|
524
|
-
//
|
|
525
|
-
//
|
|
608
|
+
// (gate output). Map the silent-path alias `stage2_log_only` onto
|
|
609
|
+
// its canonical sibling so the helper's typing stays narrow; the
|
|
610
|
+
// verdict is preserved verbatim alongside `stage_reached` in the
|
|
611
|
+
// merged detail.
|
|
526
612
|
const auditAppliedDecision = params.appliedDecision === "stage2_log_only"
|
|
527
613
|
? "stage0_silent"
|
|
528
614
|
: params.appliedDecision;
|
|
529
615
|
const detail = {
|
|
530
616
|
...buildGateAuditDetail(decision, {
|
|
531
|
-
mode: params.mode,
|
|
532
617
|
appliedDecision: auditAppliedDecision,
|
|
533
618
|
forced: params.forced,
|
|
534
619
|
...(params.stage2Verdict ? { stage2Verdict: params.stage2Verdict } : {}),
|
|
620
|
+
...(params.cautiousEscalate ? { cautiousEscalate: true } : {}),
|
|
621
|
+
...(params.preEscalate
|
|
622
|
+
? {
|
|
623
|
+
preEscalateGateStage: params.preEscalate.stage,
|
|
624
|
+
preEscalateGateReason: params.preEscalate.reason,
|
|
625
|
+
}
|
|
626
|
+
: {}),
|
|
535
627
|
}),
|
|
536
628
|
// Always reflect the *real* applied stage in the row regardless
|
|
537
629
|
// of the alias mapping above.
|
|
538
630
|
stage_reached: params.appliedDecision,
|
|
631
|
+
// §7.2 harvest telemetry — surfaces on every gate audit row,
|
|
632
|
+
// including silent-gate skips, so per-tick cadence is observable
|
|
633
|
+
// without re-querying `routine.fetch_window` rows.
|
|
634
|
+
harvest_ran: params.harvest.ran,
|
|
635
|
+
harvest_integrations: params.harvest.integrations,
|
|
636
|
+
harvest_skipped_integrations: params.harvest.skippedIntegrations,
|
|
637
|
+
harvest_failed_integrations: params.harvest.failedIntegrations,
|
|
638
|
+
harvest_duration_ms: params.harvest.durationMs,
|
|
539
639
|
...(params.extra ?? {}),
|
|
540
640
|
};
|
|
541
|
-
const isShadow = params.appliedDecision === "stage3_shadow";
|
|
542
641
|
const isSilentPath = params.appliedDecision === "stage0_silent"
|
|
543
642
|
|| params.appliedDecision === "stage2_log_only";
|
|
544
643
|
const result = params.resultOverride
|
|
545
|
-
?? (
|
|
644
|
+
?? (isSilentPath ? "skipped" : "success");
|
|
546
645
|
this.db
|
|
547
646
|
.prepare(`INSERT INTO agent_actions
|
|
548
647
|
(action_type, trigger, result, detail, started_at, completed_at)
|
|
@@ -586,11 +685,10 @@ export class HourlyCheckCoordinator {
|
|
|
586
685
|
data: {
|
|
587
686
|
forced: false,
|
|
588
687
|
gateDecision: {
|
|
589
|
-
mode: "live",
|
|
590
688
|
stage: decision.stage,
|
|
591
689
|
reason: decision.reason,
|
|
592
690
|
forced: false,
|
|
593
|
-
block: renderGateDecisionBlock(decision, {
|
|
691
|
+
block: renderGateDecisionBlock(decision, { forced: false }),
|
|
594
692
|
},
|
|
595
693
|
},
|
|
596
694
|
};
|