@aitne/daemon 0.1.0
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/LICENSE +21 -0
- package/dist/adapters/composite-dashboard-stream.d.ts +42 -0
- package/dist/adapters/composite-dashboard-stream.d.ts.map +1 -0
- package/dist/adapters/composite-dashboard-stream.js +49 -0
- package/dist/adapters/composite-dashboard-stream.js.map +1 -0
- package/dist/adapters/dashboard-adapter.d.ts +104 -0
- package/dist/adapters/dashboard-adapter.d.ts.map +1 -0
- package/dist/adapters/dashboard-adapter.js +216 -0
- package/dist/adapters/dashboard-adapter.js.map +1 -0
- package/dist/adapters/discord.d.ts +77 -0
- package/dist/adapters/discord.d.ts.map +1 -0
- package/dist/adapters/discord.js +339 -0
- package/dist/adapters/discord.js.map +1 -0
- package/dist/adapters/docs-qa-adapter.d.ts +123 -0
- package/dist/adapters/docs-qa-adapter.d.ts.map +1 -0
- package/dist/adapters/docs-qa-adapter.js +218 -0
- package/dist/adapters/docs-qa-adapter.js.map +1 -0
- package/dist/adapters/message-hub.d.ts +70 -0
- package/dist/adapters/message-hub.d.ts.map +1 -0
- package/dist/adapters/message-hub.js +359 -0
- package/dist/adapters/message-hub.js.map +1 -0
- package/dist/adapters/notification-manager.d.ts +99 -0
- package/dist/adapters/notification-manager.d.ts.map +1 -0
- package/dist/adapters/notification-manager.js +498 -0
- package/dist/adapters/notification-manager.js.map +1 -0
- package/dist/adapters/outbound-text.d.ts +28 -0
- package/dist/adapters/outbound-text.d.ts.map +1 -0
- package/dist/adapters/outbound-text.js +58 -0
- package/dist/adapters/outbound-text.js.map +1 -0
- package/dist/adapters/slack-adapter.d.ts +82 -0
- package/dist/adapters/slack-adapter.d.ts.map +1 -0
- package/dist/adapters/slack-adapter.js +359 -0
- package/dist/adapters/slack-adapter.js.map +1 -0
- package/dist/adapters/telegram-adapter.d.ts +107 -0
- package/dist/adapters/telegram-adapter.d.ts.map +1 -0
- package/dist/adapters/telegram-adapter.js +477 -0
- package/dist/adapters/telegram-adapter.js.map +1 -0
- package/dist/adapters/types.d.ts +92 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +2 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/adapters/whatsapp-adapter.d.ts +213 -0
- package/dist/adapters/whatsapp-adapter.d.ts.map +1 -0
- package/dist/adapters/whatsapp-adapter.js +1216 -0
- package/dist/adapters/whatsapp-adapter.js.map +1 -0
- package/dist/api/chat-binding-query.d.ts +36 -0
- package/dist/api/chat-binding-query.d.ts.map +1 -0
- package/dist/api/chat-binding-query.js +63 -0
- package/dist/api/chat-binding-query.js.map +1 -0
- package/dist/api/chat-session-resume.d.ts +12 -0
- package/dist/api/chat-session-resume.d.ts.map +1 -0
- package/dist/api/chat-session-resume.js +21 -0
- package/dist/api/chat-session-resume.js.map +1 -0
- package/dist/api/delegated-proxy-helper.d.ts +33 -0
- package/dist/api/delegated-proxy-helper.d.ts.map +1 -0
- package/dist/api/delegated-proxy-helper.js +54 -0
- package/dist/api/delegated-proxy-helper.js.map +1 -0
- package/dist/api/directory-picker.d.ts +38 -0
- package/dist/api/directory-picker.d.ts.map +1 -0
- package/dist/api/directory-picker.js +278 -0
- package/dist/api/directory-picker.js.map +1 -0
- package/dist/api/env-writer.d.ts +25 -0
- package/dist/api/env-writer.d.ts.map +1 -0
- package/dist/api/env-writer.js +421 -0
- package/dist/api/env-writer.js.map +1 -0
- package/dist/api/integration-route-gate.d.ts +60 -0
- package/dist/api/integration-route-gate.d.ts.map +1 -0
- package/dist/api/integration-route-gate.js +83 -0
- package/dist/api/integration-route-gate.js.map +1 -0
- package/dist/api/json-body.d.ts +29 -0
- package/dist/api/json-body.d.ts.map +1 -0
- package/dist/api/json-body.js +87 -0
- package/dist/api/json-body.js.map +1 -0
- package/dist/api/routes/activity-sources.d.ts +20 -0
- package/dist/api/routes/activity-sources.d.ts.map +1 -0
- package/dist/api/routes/activity-sources.js +18 -0
- package/dist/api/routes/activity-sources.js.map +1 -0
- package/dist/api/routes/agent.d.ts +4 -0
- package/dist/api/routes/agent.d.ts.map +1 -0
- package/dist/api/routes/agent.js +619 -0
- package/dist/api/routes/agent.js.map +1 -0
- package/dist/api/routes/apple-calendar.d.ts +31 -0
- package/dist/api/routes/apple-calendar.d.ts.map +1 -0
- package/dist/api/routes/apple-calendar.js +310 -0
- package/dist/api/routes/apple-calendar.js.map +1 -0
- package/dist/api/routes/attachments.d.ts +36 -0
- package/dist/api/routes/attachments.d.ts.map +1 -0
- package/dist/api/routes/attachments.js +305 -0
- package/dist/api/routes/attachments.js.map +1 -0
- package/dist/api/routes/backends.d.ts +4 -0
- package/dist/api/routes/backends.d.ts.map +1 -0
- package/dist/api/routes/backends.js +1132 -0
- package/dist/api/routes/backends.js.map +1 -0
- package/dist/api/routes/books.d.ts +63 -0
- package/dist/api/routes/books.d.ts.map +1 -0
- package/dist/api/routes/books.js +467 -0
- package/dist/api/routes/books.js.map +1 -0
- package/dist/api/routes/calendar.d.ts +36 -0
- package/dist/api/routes/calendar.d.ts.map +1 -0
- package/dist/api/routes/calendar.js +351 -0
- package/dist/api/routes/calendar.js.map +1 -0
- package/dist/api/routes/commands.d.ts +4 -0
- package/dist/api/routes/commands.d.ts.map +1 -0
- package/dist/api/routes/commands.js +251 -0
- package/dist/api/routes/commands.js.map +1 -0
- package/dist/api/routes/context.d.ts +57 -0
- package/dist/api/routes/context.d.ts.map +1 -0
- package/dist/api/routes/context.js +1765 -0
- package/dist/api/routes/context.js.map +1 -0
- package/dist/api/routes/dashboard.d.ts +29 -0
- package/dist/api/routes/dashboard.d.ts.map +1 -0
- package/dist/api/routes/dashboard.js +2062 -0
- package/dist/api/routes/dashboard.js.map +1 -0
- package/dist/api/routes/delegated-sync.d.ts +4 -0
- package/dist/api/routes/delegated-sync.d.ts.map +1 -0
- package/dist/api/routes/delegated-sync.js +192 -0
- package/dist/api/routes/delegated-sync.js.map +1 -0
- package/dist/api/routes/delegated.d.ts +42 -0
- package/dist/api/routes/delegated.d.ts.map +1 -0
- package/dist/api/routes/delegated.js +250 -0
- package/dist/api/routes/delegated.js.map +1 -0
- package/dist/api/routes/docs.d.ts +34 -0
- package/dist/api/routes/docs.d.ts.map +1 -0
- package/dist/api/routes/docs.js +580 -0
- package/dist/api/routes/docs.js.map +1 -0
- package/dist/api/routes/entities.d.ts +9 -0
- package/dist/api/routes/entities.d.ts.map +1 -0
- package/dist/api/routes/entities.js +176 -0
- package/dist/api/routes/entities.js.map +1 -0
- package/dist/api/routes/git-accounts.d.ts +23 -0
- package/dist/api/routes/git-accounts.d.ts.map +1 -0
- package/dist/api/routes/git-accounts.js +227 -0
- package/dist/api/routes/git-accounts.js.map +1 -0
- package/dist/api/routes/git-templates.d.ts +50 -0
- package/dist/api/routes/git-templates.d.ts.map +1 -0
- package/dist/api/routes/git-templates.js +276 -0
- package/dist/api/routes/git-templates.js.map +1 -0
- package/dist/api/routes/git.d.ts +34 -0
- package/dist/api/routes/git.d.ts.map +1 -0
- package/dist/api/routes/git.js +126 -0
- package/dist/api/routes/git.js.map +1 -0
- package/dist/api/routes/github.d.ts +34 -0
- package/dist/api/routes/github.d.ts.map +1 -0
- package/dist/api/routes/github.js +465 -0
- package/dist/api/routes/github.js.map +1 -0
- package/dist/api/routes/health.d.ts +4 -0
- package/dist/api/routes/health.d.ts.map +1 -0
- package/dist/api/routes/health.js +257 -0
- package/dist/api/routes/health.js.map +1 -0
- package/dist/api/routes/integrations-reconcile.d.ts +33 -0
- package/dist/api/routes/integrations-reconcile.d.ts.map +1 -0
- package/dist/api/routes/integrations-reconcile.js +463 -0
- package/dist/api/routes/integrations-reconcile.js.map +1 -0
- package/dist/api/routes/integrations.d.ts +19 -0
- package/dist/api/routes/integrations.d.ts.map +1 -0
- package/dist/api/routes/integrations.js +1384 -0
- package/dist/api/routes/integrations.js.map +1 -0
- package/dist/api/routes/knowledge.d.ts +4 -0
- package/dist/api/routes/knowledge.d.ts.map +1 -0
- package/dist/api/routes/knowledge.js +224 -0
- package/dist/api/routes/knowledge.js.map +1 -0
- package/dist/api/routes/mail.d.ts +39 -0
- package/dist/api/routes/mail.d.ts.map +1 -0
- package/dist/api/routes/mail.js +1406 -0
- package/dist/api/routes/mail.js.map +1 -0
- package/dist/api/routes/managed-tasks.d.ts +48 -0
- package/dist/api/routes/managed-tasks.d.ts.map +1 -0
- package/dist/api/routes/managed-tasks.js +844 -0
- package/dist/api/routes/managed-tasks.js.map +1 -0
- package/dist/api/routes/mcp.d.ts +50 -0
- package/dist/api/routes/mcp.d.ts.map +1 -0
- package/dist/api/routes/mcp.js +470 -0
- package/dist/api/routes/mcp.js.map +1 -0
- package/dist/api/routes/metrics.d.ts +13 -0
- package/dist/api/routes/metrics.d.ts.map +1 -0
- package/dist/api/routes/metrics.js +117 -0
- package/dist/api/routes/metrics.js.map +1 -0
- package/dist/api/routes/notion.d.ts +35 -0
- package/dist/api/routes/notion.d.ts.map +1 -0
- package/dist/api/routes/notion.js +442 -0
- package/dist/api/routes/notion.js.map +1 -0
- package/dist/api/routes/observations.d.ts +4 -0
- package/dist/api/routes/observations.d.ts.map +1 -0
- package/dist/api/routes/observations.js +177 -0
- package/dist/api/routes/observations.js.map +1 -0
- package/dist/api/routes/obsidian.d.ts +16 -0
- package/dist/api/routes/obsidian.d.ts.map +1 -0
- package/dist/api/routes/obsidian.js +321 -0
- package/dist/api/routes/obsidian.js.map +1 -0
- package/dist/api/routes/profile-questions.d.ts +17 -0
- package/dist/api/routes/profile-questions.d.ts.map +1 -0
- package/dist/api/routes/profile-questions.js +115 -0
- package/dist/api/routes/profile-questions.js.map +1 -0
- package/dist/api/routes/receipts.d.ts +4 -0
- package/dist/api/routes/receipts.d.ts.map +1 -0
- package/dist/api/routes/receipts.js +155 -0
- package/dist/api/routes/receipts.js.map +1 -0
- package/dist/api/routes/recurring-schedules.d.ts +4 -0
- package/dist/api/routes/recurring-schedules.d.ts.map +1 -0
- package/dist/api/routes/recurring-schedules.js +137 -0
- package/dist/api/routes/recurring-schedules.js.map +1 -0
- package/dist/api/routes/repositories.d.ts +40 -0
- package/dist/api/routes/repositories.d.ts.map +1 -0
- package/dist/api/routes/repositories.js +857 -0
- package/dist/api/routes/repositories.js.map +1 -0
- package/dist/api/routes/setup-migrate.d.ts +74 -0
- package/dist/api/routes/setup-migrate.d.ts.map +1 -0
- package/dist/api/routes/setup-migrate.js +944 -0
- package/dist/api/routes/setup-migrate.js.map +1 -0
- package/dist/api/routes/setup.d.ts +4 -0
- package/dist/api/routes/setup.d.ts.map +1 -0
- package/dist/api/routes/setup.js +443 -0
- package/dist/api/routes/setup.js.map +1 -0
- package/dist/api/routes/skill-curation.d.ts +5 -0
- package/dist/api/routes/skill-curation.d.ts.map +1 -0
- package/dist/api/routes/skill-curation.js +728 -0
- package/dist/api/routes/skill-curation.js.map +1 -0
- package/dist/api/routes/skills.d.ts +52 -0
- package/dist/api/routes/skills.d.ts.map +1 -0
- package/dist/api/routes/skills.js +429 -0
- package/dist/api/routes/skills.js.map +1 -0
- package/dist/api/routes/sot-bindings.d.ts +20 -0
- package/dist/api/routes/sot-bindings.d.ts.map +1 -0
- package/dist/api/routes/sot-bindings.js +163 -0
- package/dist/api/routes/sot-bindings.js.map +1 -0
- package/dist/api/routes/sse.d.ts +86 -0
- package/dist/api/routes/sse.d.ts.map +1 -0
- package/dist/api/routes/sse.js +378 -0
- package/dist/api/routes/sse.js.map +1 -0
- package/dist/api/routes/system.d.ts +4 -0
- package/dist/api/routes/system.d.ts.map +1 -0
- package/dist/api/routes/system.js +207 -0
- package/dist/api/routes/system.js.map +1 -0
- package/dist/api/routes/task-flows.d.ts +30 -0
- package/dist/api/routes/task-flows.d.ts.map +1 -0
- package/dist/api/routes/task-flows.js +155 -0
- package/dist/api/routes/task-flows.js.map +1 -0
- package/dist/api/routes/travel-bookings.d.ts +4 -0
- package/dist/api/routes/travel-bookings.d.ts.map +1 -0
- package/dist/api/routes/travel-bookings.js +142 -0
- package/dist/api/routes/travel-bookings.js.map +1 -0
- package/dist/api/routes/travel-time.d.ts +8 -0
- package/dist/api/routes/travel-time.d.ts.map +1 -0
- package/dist/api/routes/travel-time.js +87 -0
- package/dist/api/routes/travel-time.js.map +1 -0
- package/dist/api/routes/triggers.d.ts +4 -0
- package/dist/api/routes/triggers.d.ts.map +1 -0
- package/dist/api/routes/triggers.js +101 -0
- package/dist/api/routes/triggers.js.map +1 -0
- package/dist/api/routes/voice.d.ts +48 -0
- package/dist/api/routes/voice.d.ts.map +1 -0
- package/dist/api/routes/voice.js +232 -0
- package/dist/api/routes/voice.js.map +1 -0
- package/dist/api/server.d.ts +428 -0
- package/dist/api/server.d.ts.map +1 -0
- package/dist/api/server.js +558 -0
- package/dist/api/server.js.map +1 -0
- package/dist/config.d.ts +136 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +699 -0
- package/dist/config.js.map +1 -0
- package/dist/core/agent-core.d.ts +517 -0
- package/dist/core/agent-core.d.ts.map +1 -0
- package/dist/core/agent-core.js +102 -0
- package/dist/core/agent-core.js.map +1 -0
- package/dist/core/alerts.d.ts +86 -0
- package/dist/core/alerts.d.ts.map +1 -0
- package/dist/core/alerts.js +304 -0
- package/dist/core/alerts.js.map +1 -0
- package/dist/core/atomic-write.d.ts +51 -0
- package/dist/core/atomic-write.d.ts.map +1 -0
- package/dist/core/atomic-write.js +135 -0
- package/dist/core/atomic-write.js.map +1 -0
- package/dist/core/backends/api-key-probe.d.ts +40 -0
- package/dist/core/backends/api-key-probe.d.ts.map +1 -0
- package/dist/core/backends/api-key-probe.js +116 -0
- package/dist/core/backends/api-key-probe.js.map +1 -0
- package/dist/core/backends/auth-health-monitor.d.ts +373 -0
- package/dist/core/backends/auth-health-monitor.d.ts.map +1 -0
- package/dist/core/backends/auth-health-monitor.js +950 -0
- package/dist/core/backends/auth-health-monitor.js.map +1 -0
- package/dist/core/backends/auth-recovery.d.ts +263 -0
- package/dist/core/backends/auth-recovery.d.ts.map +1 -0
- package/dist/core/backends/auth-recovery.js +1086 -0
- package/dist/core/backends/auth-recovery.js.map +1 -0
- package/dist/core/backends/auth-telemetry.d.ts +81 -0
- package/dist/core/backends/auth-telemetry.d.ts.map +1 -0
- package/dist/core/backends/auth-telemetry.js +108 -0
- package/dist/core/backends/auth-telemetry.js.map +1 -0
- package/dist/core/backends/backend-router.d.ts +272 -0
- package/dist/core/backends/backend-router.d.ts.map +1 -0
- package/dist/core/backends/backend-router.js +759 -0
- package/dist/core/backends/backend-router.js.map +1 -0
- package/dist/core/backends/claude-code-core.d.ts +299 -0
- package/dist/core/backends/claude-code-core.d.ts.map +1 -0
- package/dist/core/backends/claude-code-core.js +2541 -0
- package/dist/core/backends/claude-code-core.js.map +1 -0
- package/dist/core/backends/claude-credentials-store.d.ts +83 -0
- package/dist/core/backends/claude-credentials-store.d.ts.map +1 -0
- package/dist/core/backends/claude-credentials-store.js +243 -0
- package/dist/core/backends/claude-credentials-store.js.map +1 -0
- package/dist/core/backends/cli-utils.d.ts +95 -0
- package/dist/core/backends/cli-utils.d.ts.map +1 -0
- package/dist/core/backends/cli-utils.js +464 -0
- package/dist/core/backends/cli-utils.js.map +1 -0
- package/dist/core/backends/codex-core.d.ts +127 -0
- package/dist/core/backends/codex-core.d.ts.map +1 -0
- package/dist/core/backends/codex-core.js +1693 -0
- package/dist/core/backends/codex-core.js.map +1 -0
- package/dist/core/backends/gemini-cli-core.d.ts +367 -0
- package/dist/core/backends/gemini-cli-core.d.ts.map +1 -0
- package/dist/core/backends/gemini-cli-core.js +2331 -0
- package/dist/core/backends/gemini-cli-core.js.map +1 -0
- package/dist/core/backends/idle-watchdog.d.ts +77 -0
- package/dist/core/backends/idle-watchdog.d.ts.map +1 -0
- package/dist/core/backends/idle-watchdog.js +94 -0
- package/dist/core/backends/idle-watchdog.js.map +1 -0
- package/dist/core/backends/install-methods.d.ts +93 -0
- package/dist/core/backends/install-methods.d.ts.map +1 -0
- package/dist/core/backends/install-methods.js +267 -0
- package/dist/core/backends/install-methods.js.map +1 -0
- package/dist/core/backends/model-registry.d.ts +58 -0
- package/dist/core/backends/model-registry.d.ts.map +1 -0
- package/dist/core/backends/model-registry.js +539 -0
- package/dist/core/backends/model-registry.js.map +1 -0
- package/dist/core/backends/plan-presets.d.ts +123 -0
- package/dist/core/backends/plan-presets.d.ts.map +1 -0
- package/dist/core/backends/plan-presets.js +235 -0
- package/dist/core/backends/plan-presets.js.map +1 -0
- package/dist/core/backends/price-fetcher.d.ts +48 -0
- package/dist/core/backends/price-fetcher.d.ts.map +1 -0
- package/dist/core/backends/price-fetcher.js +248 -0
- package/dist/core/backends/price-fetcher.js.map +1 -0
- package/dist/core/backends/process-config-cascade.d.ts +68 -0
- package/dist/core/backends/process-config-cascade.d.ts.map +1 -0
- package/dist/core/backends/process-config-cascade.js +173 -0
- package/dist/core/backends/process-config-cascade.js.map +1 -0
- package/dist/core/backends/prompt-utils.d.ts +6 -0
- package/dist/core/backends/prompt-utils.d.ts.map +1 -0
- package/dist/core/backends/prompt-utils.js +80 -0
- package/dist/core/backends/prompt-utils.js.map +1 -0
- package/dist/core/backends/proxy-model-registry.d.ts +110 -0
- package/dist/core/backends/proxy-model-registry.d.ts.map +1 -0
- package/dist/core/backends/proxy-model-registry.js +195 -0
- package/dist/core/backends/proxy-model-registry.js.map +1 -0
- package/dist/core/backends/silent-api-error-detector.d.ts +31 -0
- package/dist/core/backends/silent-api-error-detector.d.ts.map +1 -0
- package/dist/core/backends/silent-api-error-detector.js +44 -0
- package/dist/core/backends/silent-api-error-detector.js.map +1 -0
- package/dist/core/bang-commands/commands-cost.d.ts +13 -0
- package/dist/core/bang-commands/commands-cost.d.ts.map +1 -0
- package/dist/core/bang-commands/commands-cost.js +91 -0
- package/dist/core/bang-commands/commands-cost.js.map +1 -0
- package/dist/core/bang-commands/commands-report.d.ts +18 -0
- package/dist/core/bang-commands/commands-report.d.ts.map +1 -0
- package/dist/core/bang-commands/commands-report.js +105 -0
- package/dist/core/bang-commands/commands-report.js.map +1 -0
- package/dist/core/bang-commands/commands-stop-start.d.ts +4 -0
- package/dist/core/bang-commands/commands-stop-start.d.ts.map +1 -0
- package/dist/core/bang-commands/commands-stop-start.js +88 -0
- package/dist/core/bang-commands/commands-stop-start.js.map +1 -0
- package/dist/core/bang-commands/format-utils.d.ts +34 -0
- package/dist/core/bang-commands/format-utils.d.ts.map +1 -0
- package/dist/core/bang-commands/format-utils.js +118 -0
- package/dist/core/bang-commands/format-utils.js.map +1 -0
- package/dist/core/bang-commands/index.d.ts +20 -0
- package/dist/core/bang-commands/index.d.ts.map +1 -0
- package/dist/core/bang-commands/index.js +31 -0
- package/dist/core/bang-commands/index.js.map +1 -0
- package/dist/core/bang-commands/registry.d.ts +72 -0
- package/dist/core/bang-commands/registry.d.ts.map +1 -0
- package/dist/core/bang-commands/registry.js +174 -0
- package/dist/core/bang-commands/registry.js.map +1 -0
- package/dist/core/bang-commands/user-commands.d.ts +86 -0
- package/dist/core/bang-commands/user-commands.d.ts.map +1 -0
- package/dist/core/bang-commands/user-commands.js +212 -0
- package/dist/core/bang-commands/user-commands.js.map +1 -0
- package/dist/core/channel-timeline.d.ts +28 -0
- package/dist/core/channel-timeline.d.ts.map +1 -0
- package/dist/core/channel-timeline.js +117 -0
- package/dist/core/channel-timeline.js.map +1 -0
- package/dist/core/character-block.d.ts +37 -0
- package/dist/core/character-block.d.ts.map +1 -0
- package/dist/core/character-block.js +162 -0
- package/dist/core/character-block.js.map +1 -0
- package/dist/core/context/activity-sources.d.ts +37 -0
- package/dist/core/context/activity-sources.d.ts.map +1 -0
- package/dist/core/context/activity-sources.js +69 -0
- package/dist/core/context/activity-sources.js.map +1 -0
- package/dist/core/context/activity-view-reconciler.d.ts +110 -0
- package/dist/core/context/activity-view-reconciler.d.ts.map +1 -0
- package/dist/core/context/activity-view-reconciler.js +252 -0
- package/dist/core/context/activity-view-reconciler.js.map +1 -0
- package/dist/core/context/activity-view-runner.d.ts +38 -0
- package/dist/core/context/activity-view-runner.d.ts.map +1 -0
- package/dist/core/context/activity-view-runner.js +402 -0
- package/dist/core/context/activity-view-runner.js.map +1 -0
- package/dist/core/context/default-schedules-reconciler.d.ts +85 -0
- package/dist/core/context/default-schedules-reconciler.d.ts.map +1 -0
- package/dist/core/context/default-schedules-reconciler.js +153 -0
- package/dist/core/context/default-schedules-reconciler.js.map +1 -0
- package/dist/core/context/default-schedules-runner.d.ts +40 -0
- package/dist/core/context/default-schedules-runner.d.ts.map +1 -0
- package/dist/core/context/default-schedules-runner.js +233 -0
- package/dist/core/context/default-schedules-runner.js.map +1 -0
- package/dist/core/context/domain-index-reconciler.d.ts +81 -0
- package/dist/core/context/domain-index-reconciler.d.ts.map +1 -0
- package/dist/core/context/domain-index-reconciler.js +199 -0
- package/dist/core/context/domain-index-reconciler.js.map +1 -0
- package/dist/core/context/domain-index-runner.d.ts +35 -0
- package/dist/core/context/domain-index-runner.d.ts.map +1 -0
- package/dist/core/context/domain-index-runner.js +223 -0
- package/dist/core/context/domain-index-runner.js.map +1 -0
- package/dist/core/context/entity-mirror.d.ts +227 -0
- package/dist/core/context/entity-mirror.d.ts.map +1 -0
- package/dist/core/context/entity-mirror.js +629 -0
- package/dist/core/context/entity-mirror.js.map +1 -0
- package/dist/core/context/entity-source-rename.d.ts +61 -0
- package/dist/core/context/entity-source-rename.d.ts.map +1 -0
- package/dist/core/context/entity-source-rename.js +237 -0
- package/dist/core/context/entity-source-rename.js.map +1 -0
- package/dist/core/context/index-reconciler.d.ts +61 -0
- package/dist/core/context/index-reconciler.d.ts.map +1 -0
- package/dist/core/context/index-reconciler.js +329 -0
- package/dist/core/context/index-reconciler.js.map +1 -0
- package/dist/core/context/policy-index-reconciler.d.ts +102 -0
- package/dist/core/context/policy-index-reconciler.d.ts.map +1 -0
- package/dist/core/context/policy-index-reconciler.js +202 -0
- package/dist/core/context/policy-index-reconciler.js.map +1 -0
- package/dist/core/context/policy-index-runner.d.ts +66 -0
- package/dist/core/context/policy-index-runner.d.ts.map +1 -0
- package/dist/core/context/policy-index-runner.js +406 -0
- package/dist/core/context/policy-index-runner.js.map +1 -0
- package/dist/core/context/reconciler-runner.d.ts +44 -0
- package/dist/core/context/reconciler-runner.d.ts.map +1 -0
- package/dist/core/context/reconciler-runner.js +273 -0
- package/dist/core/context/reconciler-runner.js.map +1 -0
- package/dist/core/context-builder.d.ts +115 -0
- package/dist/core/context-builder.d.ts.map +1 -0
- package/dist/core/context-builder.js +1148 -0
- package/dist/core/context-builder.js.map +1 -0
- package/dist/core/context-frontmatter-backfill.d.ts +33 -0
- package/dist/core/context-frontmatter-backfill.d.ts.map +1 -0
- package/dist/core/context-frontmatter-backfill.js +111 -0
- package/dist/core/context-frontmatter-backfill.js.map +1 -0
- package/dist/core/context-frontmatter.d.ts +13 -0
- package/dist/core/context-frontmatter.d.ts.map +1 -0
- package/dist/core/context-frontmatter.js +325 -0
- package/dist/core/context-frontmatter.js.map +1 -0
- package/dist/core/context-health.d.ts +51 -0
- package/dist/core/context-health.d.ts.map +1 -0
- package/dist/core/context-health.js +304 -0
- package/dist/core/context-health.js.map +1 -0
- package/dist/core/context-paths.d.ts +183 -0
- package/dist/core/context-paths.d.ts.map +1 -0
- package/dist/core/context-paths.js +241 -0
- package/dist/core/context-paths.js.map +1 -0
- package/dist/core/context-staleness.d.ts +45 -0
- package/dist/core/context-staleness.d.ts.map +1 -0
- package/dist/core/context-staleness.js +88 -0
- package/dist/core/context-staleness.js.map +1 -0
- package/dist/core/custom-routine-scheduler.d.ts +151 -0
- package/dist/core/custom-routine-scheduler.d.ts.map +1 -0
- package/dist/core/custom-routine-scheduler.js +335 -0
- package/dist/core/custom-routine-scheduler.js.map +1 -0
- package/dist/core/daemon-api-cli.d.ts +33 -0
- package/dist/core/daemon-api-cli.d.ts.map +1 -0
- package/dist/core/daemon-api-cli.js +614 -0
- package/dist/core/daemon-api-cli.js.map +1 -0
- package/dist/core/dashboard-session-cleanup.d.ts +39 -0
- package/dist/core/dashboard-session-cleanup.d.ts.map +1 -0
- package/dist/core/dashboard-session-cleanup.js +108 -0
- package/dist/core/dashboard-session-cleanup.js.map +1 -0
- package/dist/core/dashboard-session-controls.d.ts +41 -0
- package/dist/core/dashboard-session-controls.d.ts.map +1 -0
- package/dist/core/dashboard-session-controls.js +154 -0
- package/dist/core/dashboard-session-controls.js.map +1 -0
- package/dist/core/delegated-connector-health.d.ts +63 -0
- package/dist/core/delegated-connector-health.d.ts.map +1 -0
- package/dist/core/delegated-connector-health.js +157 -0
- package/dist/core/delegated-connector-health.js.map +1 -0
- package/dist/core/dispatcher.d.ts +999 -0
- package/dist/core/dispatcher.d.ts.map +1 -0
- package/dist/core/dispatcher.js +4378 -0
- package/dist/core/dispatcher.js.map +1 -0
- package/dist/core/dm-freshness-metrics.d.ts +73 -0
- package/dist/core/dm-freshness-metrics.d.ts.map +1 -0
- package/dist/core/dm-freshness-metrics.js +138 -0
- package/dist/core/dm-freshness-metrics.js.map +1 -0
- package/dist/core/docs/citation-validator.d.ts +73 -0
- package/dist/core/docs/citation-validator.d.ts.map +1 -0
- package/dist/core/docs/citation-validator.js +195 -0
- package/dist/core/docs/citation-validator.js.map +1 -0
- package/dist/core/docs/extract-terms.d.ts +78 -0
- package/dist/core/docs/extract-terms.d.ts.map +1 -0
- package/dist/core/docs/extract-terms.js +147 -0
- package/dist/core/docs/extract-terms.js.map +1 -0
- package/dist/core/docs/indexer.d.ts +104 -0
- package/dist/core/docs/indexer.d.ts.map +1 -0
- package/dist/core/docs/indexer.js +340 -0
- package/dist/core/docs/indexer.js.map +1 -0
- package/dist/core/drift-effects.d.ts +30 -0
- package/dist/core/drift-effects.d.ts.map +1 -0
- package/dist/core/drift-effects.js +384 -0
- package/dist/core/drift-effects.js.map +1 -0
- package/dist/core/event-bus.d.ts +56 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +135 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/git-project-docs.d.ts +77 -0
- package/dist/core/git-project-docs.d.ts.map +1 -0
- package/dist/core/git-project-docs.js +439 -0
- package/dist/core/git-project-docs.js.map +1 -0
- package/dist/core/health-monitor.d.ts +57 -0
- package/dist/core/health-monitor.d.ts.map +1 -0
- package/dist/core/health-monitor.js +137 -0
- package/dist/core/health-monitor.js.map +1 -0
- package/dist/core/heartbeat.d.ts +26 -0
- package/dist/core/heartbeat.d.ts.map +1 -0
- package/dist/core/heartbeat.js +48 -0
- package/dist/core/heartbeat.js.map +1 -0
- package/dist/core/integration-health.d.ts +49 -0
- package/dist/core/integration-health.d.ts.map +1 -0
- package/dist/core/integration-health.js +89 -0
- package/dist/core/integration-health.js.map +1 -0
- package/dist/core/integration-lifecycle.d.ts +79 -0
- package/dist/core/integration-lifecycle.d.ts.map +1 -0
- package/dist/core/integration-lifecycle.js +153 -0
- package/dist/core/integration-lifecycle.js.map +1 -0
- package/dist/core/integration-main-backend.d.ts +36 -0
- package/dist/core/integration-main-backend.d.ts.map +1 -0
- package/dist/core/integration-main-backend.js +59 -0
- package/dist/core/integration-main-backend.js.map +1 -0
- package/dist/core/integration-probe.d.ts +98 -0
- package/dist/core/integration-probe.d.ts.map +1 -0
- package/dist/core/integration-probe.js +152 -0
- package/dist/core/integration-probe.js.map +1 -0
- package/dist/core/management-md-write-lock.d.ts +68 -0
- package/dist/core/management-md-write-lock.d.ts.map +1 -0
- package/dist/core/management-md-write-lock.js +93 -0
- package/dist/core/management-md-write-lock.js.map +1 -0
- package/dist/core/management-md.d.ts +186 -0
- package/dist/core/management-md.d.ts.map +1 -0
- package/dist/core/management-md.js +652 -0
- package/dist/core/management-md.js.map +1 -0
- package/dist/core/management-registry.d.ts +245 -0
- package/dist/core/management-registry.d.ts.map +1 -0
- package/dist/core/management-registry.js +906 -0
- package/dist/core/management-registry.js.map +1 -0
- package/dist/core/management-telemetry.d.ts +100 -0
- package/dist/core/management-telemetry.d.ts.map +1 -0
- package/dist/core/management-telemetry.js +156 -0
- package/dist/core/management-telemetry.js.map +1 -0
- package/dist/core/message-recorder.d.ts +38 -0
- package/dist/core/message-recorder.d.ts.map +1 -0
- package/dist/core/message-recorder.js +88 -0
- package/dist/core/message-recorder.js.map +1 -0
- package/dist/core/metrics.d.ts +338 -0
- package/dist/core/metrics.d.ts.map +1 -0
- package/dist/core/metrics.js +747 -0
- package/dist/core/metrics.js.map +1 -0
- package/dist/core/migration-backup.d.ts +218 -0
- package/dist/core/migration-backup.d.ts.map +1 -0
- package/dist/core/migration-backup.js +934 -0
- package/dist/core/migration-backup.js.map +1 -0
- package/dist/core/overview-write-lock.d.ts +48 -0
- package/dist/core/overview-write-lock.d.ts.map +1 -0
- package/dist/core/overview-write-lock.js +56 -0
- package/dist/core/overview-write-lock.js.map +1 -0
- package/dist/core/path-compat.d.ts +22 -0
- package/dist/core/path-compat.d.ts.map +1 -0
- package/dist/core/path-compat.js +67 -0
- package/dist/core/path-compat.js.map +1 -0
- package/dist/core/path-rewrite.d.ts +58 -0
- package/dist/core/path-rewrite.d.ts.map +1 -0
- package/dist/core/path-rewrite.js +141 -0
- package/dist/core/path-rewrite.js.map +1 -0
- package/dist/core/policy-files.d.ts +108 -0
- package/dist/core/policy-files.d.ts.map +1 -0
- package/dist/core/policy-files.js +198 -0
- package/dist/core/policy-files.js.map +1 -0
- package/dist/core/profile-questions/seed.d.ts +44 -0
- package/dist/core/profile-questions/seed.d.ts.map +1 -0
- package/dist/core/profile-questions/seed.js +173 -0
- package/dist/core/profile-questions/seed.js.map +1 -0
- package/dist/core/profile-questions/slot-filled.d.ts +51 -0
- package/dist/core/profile-questions/slot-filled.d.ts.map +1 -0
- package/dist/core/profile-questions/slot-filled.js +118 -0
- package/dist/core/profile-questions/slot-filled.js.map +1 -0
- package/dist/core/prompts.d.ts +111 -0
- package/dist/core/prompts.d.ts.map +1 -0
- package/dist/core/prompts.js +267 -0
- package/dist/core/prompts.js.map +1 -0
- package/dist/core/quiet-hours-sync.d.ts +15 -0
- package/dist/core/quiet-hours-sync.d.ts.map +1 -0
- package/dist/core/quiet-hours-sync.js +51 -0
- package/dist/core/quiet-hours-sync.js.map +1 -0
- package/dist/core/read-sensitive-token-manager.d.ts +19 -0
- package/dist/core/read-sensitive-token-manager.d.ts.map +1 -0
- package/dist/core/read-sensitive-token-manager.js +29 -0
- package/dist/core/read-sensitive-token-manager.js.map +1 -0
- package/dist/core/recurrence.d.ts +24 -0
- package/dist/core/recurrence.d.ts.map +1 -0
- package/dist/core/recurrence.js +162 -0
- package/dist/core/recurrence.js.map +1 -0
- package/dist/core/reinstall.d.ts +107 -0
- package/dist/core/reinstall.d.ts.map +1 -0
- package/dist/core/reinstall.js +163 -0
- package/dist/core/reinstall.js.map +1 -0
- package/dist/core/release-assets.d.ts +106 -0
- package/dist/core/release-assets.d.ts.map +1 -0
- package/dist/core/release-assets.js +434 -0
- package/dist/core/release-assets.js.map +1 -0
- package/dist/core/repository-management-docs.d.ts +216 -0
- package/dist/core/repository-management-docs.d.ts.map +1 -0
- package/dist/core/repository-management-docs.js +855 -0
- package/dist/core/repository-management-docs.js.map +1 -0
- package/dist/core/retention.d.ts +164 -0
- package/dist/core/retention.d.ts.map +1 -0
- package/dist/core/retention.js +1008 -0
- package/dist/core/retention.js.map +1 -0
- package/dist/core/review-context.d.ts +48 -0
- package/dist/core/review-context.d.ts.map +1 -0
- package/dist/core/review-context.js +282 -0
- package/dist/core/review-context.js.map +1 -0
- package/dist/core/roadmap-horizon.d.ts +48 -0
- package/dist/core/roadmap-horizon.d.ts.map +1 -0
- package/dist/core/roadmap-horizon.js +213 -0
- package/dist/core/roadmap-horizon.js.map +1 -0
- package/dist/core/roadmap-ids.d.ts +57 -0
- package/dist/core/roadmap-ids.d.ts.map +1 -0
- package/dist/core/roadmap-ids.js +118 -0
- package/dist/core/roadmap-ids.js.map +1 -0
- package/dist/core/roadmap-merge.d.ts +7 -0
- package/dist/core/roadmap-merge.d.ts.map +1 -0
- package/dist/core/roadmap-merge.js +187 -0
- package/dist/core/roadmap-merge.js.map +1 -0
- package/dist/core/roadmap-refresh-triggers.d.ts +32 -0
- package/dist/core/roadmap-refresh-triggers.d.ts.map +1 -0
- package/dist/core/roadmap-refresh-triggers.js +51 -0
- package/dist/core/roadmap-refresh-triggers.js.map +1 -0
- package/dist/core/roadmap-truncate.d.ts +49 -0
- package/dist/core/roadmap-truncate.d.ts.map +1 -0
- package/dist/core/roadmap-truncate.js +152 -0
- package/dist/core/roadmap-truncate.js.map +1 -0
- package/dist/core/roadmap-validate.d.ts +31 -0
- package/dist/core/roadmap-validate.d.ts.map +1 -0
- package/dist/core/roadmap-validate.js +403 -0
- package/dist/core/roadmap-validate.js.map +1 -0
- package/dist/core/roadmap-write-lock.d.ts +53 -0
- package/dist/core/roadmap-write-lock.d.ts.map +1 -0
- package/dist/core/roadmap-write-lock.js +59 -0
- package/dist/core/roadmap-write-lock.js.map +1 -0
- package/dist/core/schedule-insert-helper.d.ts +46 -0
- package/dist/core/schedule-insert-helper.d.ts.map +1 -0
- package/dist/core/schedule-insert-helper.js +52 -0
- package/dist/core/schedule-insert-helper.js.map +1 -0
- package/dist/core/schedule-maintenance.d.ts +22 -0
- package/dist/core/schedule-maintenance.d.ts.map +1 -0
- package/dist/core/schedule-maintenance.js +57 -0
- package/dist/core/schedule-maintenance.js.map +1 -0
- package/dist/core/scheduler.d.ts +208 -0
- package/dist/core/scheduler.d.ts.map +1 -0
- package/dist/core/scheduler.js +896 -0
- package/dist/core/scheduler.js.map +1 -0
- package/dist/core/semaphore.d.ts +13 -0
- package/dist/core/semaphore.d.ts.map +1 -0
- package/dist/core/semaphore.js +31 -0
- package/dist/core/semaphore.js.map +1 -0
- package/dist/core/session-gate.d.ts +37 -0
- package/dist/core/session-gate.d.ts.map +1 -0
- package/dist/core/session-gate.js +69 -0
- package/dist/core/session-gate.js.map +1 -0
- package/dist/core/session-manager.d.ts +252 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +716 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/signal-detector.d.ts +97 -0
- package/dist/core/signal-detector.d.ts.map +1 -0
- package/dist/core/signal-detector.js +215 -0
- package/dist/core/signal-detector.js.map +1 -0
- package/dist/core/skeleton.d.ts +83 -0
- package/dist/core/skeleton.d.ts.map +1 -0
- package/dist/core/skeleton.js +255 -0
- package/dist/core/skeleton.js.map +1 -0
- package/dist/core/skill-curation/apply-proposal.d.ts +71 -0
- package/dist/core/skill-curation/apply-proposal.d.ts.map +1 -0
- package/dist/core/skill-curation/apply-proposal.js +175 -0
- package/dist/core/skill-curation/apply-proposal.js.map +1 -0
- package/dist/core/skill-curation/auto-revert.d.ts +43 -0
- package/dist/core/skill-curation/auto-revert.d.ts.map +1 -0
- package/dist/core/skill-curation/auto-revert.js +155 -0
- package/dist/core/skill-curation/auto-revert.js.map +1 -0
- package/dist/core/skill-curation/classify-diff.d.ts +27 -0
- package/dist/core/skill-curation/classify-diff.d.ts.map +1 -0
- package/dist/core/skill-curation/classify-diff.js +0 -0
- package/dist/core/skill-curation/classify-diff.js.map +1 -0
- package/dist/core/skill-curation/declarations.d.ts +32 -0
- package/dist/core/skill-curation/declarations.d.ts.map +1 -0
- package/dist/core/skill-curation/declarations.js +171 -0
- package/dist/core/skill-curation/declarations.js.map +1 -0
- package/dist/core/skill-curation/knowledge-map.d.ts +26 -0
- package/dist/core/skill-curation/knowledge-map.d.ts.map +1 -0
- package/dist/core/skill-curation/knowledge-map.js +154 -0
- package/dist/core/skill-curation/knowledge-map.js.map +1 -0
- package/dist/core/skill-curation/orphan-overlay.d.ts +35 -0
- package/dist/core/skill-curation/orphan-overlay.d.ts.map +1 -0
- package/dist/core/skill-curation/orphan-overlay.js +167 -0
- package/dist/core/skill-curation/orphan-overlay.js.map +1 -0
- package/dist/core/skill-curation/overlay-store.d.ts +41 -0
- package/dist/core/skill-curation/overlay-store.d.ts.map +1 -0
- package/dist/core/skill-curation/overlay-store.js +143 -0
- package/dist/core/skill-curation/overlay-store.js.map +1 -0
- package/dist/core/skill-curation/render/convention-notes.d.ts +4 -0
- package/dist/core/skill-curation/render/convention-notes.d.ts.map +1 -0
- package/dist/core/skill-curation/render/convention-notes.js +13 -0
- package/dist/core/skill-curation/render/convention-notes.js.map +1 -0
- package/dist/core/skill-curation/render/cross-references.d.ts +4 -0
- package/dist/core/skill-curation/render/cross-references.d.ts.map +1 -0
- package/dist/core/skill-curation/render/cross-references.js +10 -0
- package/dist/core/skill-curation/render/cross-references.js.map +1 -0
- package/dist/core/skill-curation/render/frontmatter-schema.d.ts +4 -0
- package/dist/core/skill-curation/render/frontmatter-schema.d.ts.map +1 -0
- package/dist/core/skill-curation/render/frontmatter-schema.js +25 -0
- package/dist/core/skill-curation/render/frontmatter-schema.js.map +1 -0
- package/dist/core/skill-curation/render/index.d.ts +5 -0
- package/dist/core/skill-curation/render/index.d.ts.map +1 -0
- package/dist/core/skill-curation/render/index.js +42 -0
- package/dist/core/skill-curation/render/index.js.map +1 -0
- package/dist/core/skill-curation/render/knowledge-layout.d.ts +4 -0
- package/dist/core/skill-curation/render/knowledge-layout.d.ts.map +1 -0
- package/dist/core/skill-curation/render/knowledge-layout.js +36 -0
- package/dist/core/skill-curation/render/knowledge-layout.js.map +1 -0
- package/dist/core/skill-curation/render/routing-table.d.ts +4 -0
- package/dist/core/skill-curation/render/routing-table.d.ts.map +1 -0
- package/dist/core/skill-curation/render/routing-table.js +37 -0
- package/dist/core/skill-curation/render/routing-table.js.map +1 -0
- package/dist/core/skill-curation/render/search-recipes.d.ts +4 -0
- package/dist/core/skill-curation/render/search-recipes.d.ts.map +1 -0
- package/dist/core/skill-curation/render/search-recipes.js +39 -0
- package/dist/core/skill-curation/render/search-recipes.js.map +1 -0
- package/dist/core/skill-curation/run-token.d.ts +27 -0
- package/dist/core/skill-curation/run-token.d.ts.map +1 -0
- package/dist/core/skill-curation/run-token.js +81 -0
- package/dist/core/skill-curation/run-token.js.map +1 -0
- package/dist/core/skill-curation/signals.d.ts +49 -0
- package/dist/core/skill-curation/signals.d.ts.map +1 -0
- package/dist/core/skill-curation/signals.js +149 -0
- package/dist/core/skill-curation/signals.js.map +1 -0
- package/dist/core/skill-curation/smoke-test.d.ts +39 -0
- package/dist/core/skill-curation/smoke-test.d.ts.map +1 -0
- package/dist/core/skill-curation/smoke-test.js +313 -0
- package/dist/core/skill-curation/smoke-test.js.map +1 -0
- package/dist/core/skill-curation/splicer.d.ts +16 -0
- package/dist/core/skill-curation/splicer.d.ts.map +1 -0
- package/dist/core/skill-curation/splicer.js +78 -0
- package/dist/core/skill-curation/splicer.js.map +1 -0
- package/dist/core/skill-curation/workdir.d.ts +40 -0
- package/dist/core/skill-curation/workdir.d.ts.map +1 -0
- package/dist/core/skill-curation/workdir.js +242 -0
- package/dist/core/skill-curation/workdir.js.map +1 -0
- package/dist/core/skills-compiler.d.ts +391 -0
- package/dist/core/skills-compiler.d.ts.map +1 -0
- package/dist/core/skills-compiler.js +1271 -0
- package/dist/core/skills-compiler.js.map +1 -0
- package/dist/core/skills-manifest.d.ts +8 -0
- package/dist/core/skills-manifest.d.ts.map +1 -0
- package/dist/core/skills-manifest.js +408 -0
- package/dist/core/skills-manifest.js.map +1 -0
- package/dist/core/system-reset.d.ts +268 -0
- package/dist/core/system-reset.d.ts.map +1 -0
- package/dist/core/system-reset.js +816 -0
- package/dist/core/system-reset.js.map +1 -0
- package/dist/core/template-store.d.ts +170 -0
- package/dist/core/template-store.d.ts.map +1 -0
- package/dist/core/template-store.js +388 -0
- package/dist/core/template-store.js.map +1 -0
- package/dist/core/template-versions.d.ts +95 -0
- package/dist/core/template-versions.d.ts.map +1 -0
- package/dist/core/template-versions.js +175 -0
- package/dist/core/template-versions.js.map +1 -0
- package/dist/core/today-agent-plan.d.ts +33 -0
- package/dist/core/today-agent-plan.d.ts.map +1 -0
- package/dist/core/today-agent-plan.js +120 -0
- package/dist/core/today-agent-plan.js.map +1 -0
- package/dist/core/today-direct-writer.d.ts +62 -0
- package/dist/core/today-direct-writer.d.ts.map +1 -0
- package/dist/core/today-direct-writer.js +132 -0
- package/dist/core/today-direct-writer.js.map +1 -0
- package/dist/core/today-write-lock.d.ts +89 -0
- package/dist/core/today-write-lock.d.ts.map +1 -0
- package/dist/core/today-write-lock.js +154 -0
- package/dist/core/today-write-lock.js.map +1 -0
- package/dist/core/trigger-dispatch.d.ts +31 -0
- package/dist/core/trigger-dispatch.d.ts.map +1 -0
- package/dist/core/trigger-dispatch.js +100 -0
- package/dist/core/trigger-dispatch.js.map +1 -0
- package/dist/core/trigger-evaluator.d.ts +59 -0
- package/dist/core/trigger-evaluator.d.ts.map +1 -0
- package/dist/core/trigger-evaluator.js +243 -0
- package/dist/core/trigger-evaluator.js.map +1 -0
- package/dist/core/workdir.d.ts +241 -0
- package/dist/core/workdir.d.ts.map +1 -0
- package/dist/core/workdir.js +565 -0
- package/dist/core/workdir.js.map +1 -0
- package/dist/db/automation-triggers.d.ts +90 -0
- package/dist/db/automation-triggers.d.ts.map +1 -0
- package/dist/db/automation-triggers.js +199 -0
- package/dist/db/automation-triggers.js.map +1 -0
- package/dist/db/client.d.ts +6 -0
- package/dist/db/client.d.ts.map +1 -0
- package/dist/db/client.js +47 -0
- package/dist/db/client.js.map +1 -0
- package/dist/db/entities-store.d.ts +92 -0
- package/dist/db/entities-store.d.ts.map +1 -0
- package/dist/db/entities-store.js +180 -0
- package/dist/db/entities-store.js.map +1 -0
- package/dist/db/hourly-check-signals.d.ts +78 -0
- package/dist/db/hourly-check-signals.d.ts.map +1 -0
- package/dist/db/hourly-check-signals.js +289 -0
- package/dist/db/hourly-check-signals.js.map +1 -0
- package/dist/db/integration-probe-store.d.ts +27 -0
- package/dist/db/integration-probe-store.d.ts.map +1 -0
- package/dist/db/integration-probe-store.js +75 -0
- package/dist/db/integration-probe-store.js.map +1 -0
- package/dist/db/integrations-store.d.ts +19 -0
- package/dist/db/integrations-store.d.ts.map +1 -0
- package/dist/db/integrations-store.js +85 -0
- package/dist/db/integrations-store.js.map +1 -0
- package/dist/db/managed-tasks-store.d.ts +130 -0
- package/dist/db/managed-tasks-store.d.ts.map +1 -0
- package/dist/db/managed-tasks-store.js +238 -0
- package/dist/db/managed-tasks-store.js.map +1 -0
- package/dist/db/management-parse-failures-store.d.ts +45 -0
- package/dist/db/management-parse-failures-store.d.ts.map +1 -0
- package/dist/db/management-parse-failures-store.js +36 -0
- package/dist/db/management-parse-failures-store.js.map +1 -0
- package/dist/db/observations.d.ts +145 -0
- package/dist/db/observations.d.ts.map +1 -0
- package/dist/db/observations.js +287 -0
- package/dist/db/observations.js.map +1 -0
- package/dist/db/recurring-schedules.d.ts +70 -0
- package/dist/db/recurring-schedules.d.ts.map +1 -0
- package/dist/db/recurring-schedules.js +213 -0
- package/dist/db/recurring-schedules.js.map +1 -0
- package/dist/db/repositories-store.d.ts +296 -0
- package/dist/db/repositories-store.d.ts.map +1 -0
- package/dist/db/repositories-store.js +754 -0
- package/dist/db/repositories-store.js.map +1 -0
- package/dist/db/runtime-state.d.ts +61 -0
- package/dist/db/runtime-state.d.ts.map +1 -0
- package/dist/db/runtime-state.js +104 -0
- package/dist/db/runtime-state.js.map +1 -0
- package/dist/db/schema.d.ts +4 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +1338 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/db/sot-bindings-store.d.ts +41 -0
- package/dist/db/sot-bindings-store.d.ts.map +1 -0
- package/dist/db/sot-bindings-store.js +64 -0
- package/dist/db/sot-bindings-store.js.map +1 -0
- package/dist/db/test-schemas.d.ts +23 -0
- package/dist/db/test-schemas.d.ts.map +1 -0
- package/dist/db/test-schemas.js +111 -0
- package/dist/db/test-schemas.js.map +1 -0
- package/dist/db/voice-transcripts-store.d.ts +28 -0
- package/dist/db/voice-transcripts-store.d.ts.map +1 -0
- package/dist/db/voice-transcripts-store.js +43 -0
- package/dist/db/voice-transcripts-store.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2913 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +7 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +32 -0
- package/dist/init.js.map +1 -0
- package/dist/log-buffer.d.ts +71 -0
- package/dist/log-buffer.d.ts.map +1 -0
- package/dist/log-buffer.js +201 -0
- package/dist/log-buffer.js.map +1 -0
- package/dist/logging.d.ts +5 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +130 -0
- package/dist/logging.js.map +1 -0
- package/dist/management-rules.d.ts +2 -0
- package/dist/management-rules.d.ts.map +1 -0
- package/dist/management-rules.js +62 -0
- package/dist/management-rules.js.map +1 -0
- package/dist/messaging/constants.d.ts +33 -0
- package/dist/messaging/constants.d.ts.map +1 -0
- package/dist/messaging/constants.js +52 -0
- package/dist/messaging/constants.js.map +1 -0
- package/dist/messaging/magic-phrase.d.ts +16 -0
- package/dist/messaging/magic-phrase.d.ts.map +1 -0
- package/dist/messaging/magic-phrase.js +103 -0
- package/dist/messaging/magic-phrase.js.map +1 -0
- package/dist/messaging/owner-channels.d.ts +20 -0
- package/dist/messaging/owner-channels.d.ts.map +1 -0
- package/dist/messaging/owner-channels.js +41 -0
- package/dist/messaging/owner-channels.js.map +1 -0
- package/dist/observers/calendar-poller.d.ts +51 -0
- package/dist/observers/calendar-poller.d.ts.map +1 -0
- package/dist/observers/calendar-poller.js +128 -0
- package/dist/observers/calendar-poller.js.map +1 -0
- package/dist/observers/context-index-reconciler-observer.d.ts +72 -0
- package/dist/observers/context-index-reconciler-observer.d.ts.map +1 -0
- package/dist/observers/context-index-reconciler-observer.js +253 -0
- package/dist/observers/context-index-reconciler-observer.js.map +1 -0
- package/dist/observers/delegated-probe-observer.d.ts +83 -0
- package/dist/observers/delegated-probe-observer.d.ts.map +1 -0
- package/dist/observers/delegated-probe-observer.js +237 -0
- package/dist/observers/delegated-probe-observer.js.map +1 -0
- package/dist/observers/delegated-sync-worker.d.ts +375 -0
- package/dist/observers/delegated-sync-worker.d.ts.map +1 -0
- package/dist/observers/delegated-sync-worker.js +1087 -0
- package/dist/observers/delegated-sync-worker.js.map +1 -0
- package/dist/observers/entity-mirror-observer.d.ts +55 -0
- package/dist/observers/entity-mirror-observer.d.ts.map +1 -0
- package/dist/observers/entity-mirror-observer.js +73 -0
- package/dist/observers/entity-mirror-observer.js.map +1 -0
- package/dist/observers/git-delegated-cron.d.ts +41 -0
- package/dist/observers/git-delegated-cron.d.ts.map +1 -0
- package/dist/observers/git-delegated-cron.js +159 -0
- package/dist/observers/git-delegated-cron.js.map +1 -0
- package/dist/observers/git-event-classifier.d.ts +52 -0
- package/dist/observers/git-event-classifier.d.ts.map +1 -0
- package/dist/observers/git-event-classifier.js +70 -0
- package/dist/observers/git-event-classifier.js.map +1 -0
- package/dist/observers/git-watcher.d.ts +162 -0
- package/dist/observers/git-watcher.d.ts.map +1 -0
- package/dist/observers/git-watcher.js +768 -0
- package/dist/observers/git-watcher.js.map +1 -0
- package/dist/observers/github-poller-classifier.d.ts +101 -0
- package/dist/observers/github-poller-classifier.d.ts.map +1 -0
- package/dist/observers/github-poller-classifier.js +199 -0
- package/dist/observers/github-poller-classifier.js.map +1 -0
- package/dist/observers/github-poller.d.ts +291 -0
- package/dist/observers/github-poller.d.ts.map +1 -0
- package/dist/observers/github-poller.js +609 -0
- package/dist/observers/github-poller.js.map +1 -0
- package/dist/observers/imminent-event-scheduler.d.ts +34 -0
- package/dist/observers/imminent-event-scheduler.d.ts.map +1 -0
- package/dist/observers/imminent-event-scheduler.js +125 -0
- package/dist/observers/imminent-event-scheduler.js.map +1 -0
- package/dist/observers/mail-poller.d.ts +133 -0
- package/dist/observers/mail-poller.d.ts.map +1 -0
- package/dist/observers/mail-poller.js +563 -0
- package/dist/observers/mail-poller.js.map +1 -0
- package/dist/observers/mail-reconciliation.d.ts +87 -0
- package/dist/observers/mail-reconciliation.d.ts.map +1 -0
- package/dist/observers/mail-reconciliation.js +241 -0
- package/dist/observers/mail-reconciliation.js.map +1 -0
- package/dist/observers/manager.d.ts +67 -0
- package/dist/observers/manager.d.ts.map +1 -0
- package/dist/observers/manager.js +136 -0
- package/dist/observers/manager.js.map +1 -0
- package/dist/observers/notion-poller.d.ts +43 -0
- package/dist/observers/notion-poller.d.ts.map +1 -0
- package/dist/observers/notion-poller.js +184 -0
- package/dist/observers/notion-poller.js.map +1 -0
- package/dist/observers/observation-summarizer/index.d.ts +13 -0
- package/dist/observers/observation-summarizer/index.d.ts.map +1 -0
- package/dist/observers/observation-summarizer/index.js +13 -0
- package/dist/observers/observation-summarizer/index.js.map +1 -0
- package/dist/observers/observation-summarizer/pre-filter.d.ts +62 -0
- package/dist/observers/observation-summarizer/pre-filter.d.ts.map +1 -0
- package/dist/observers/observation-summarizer/pre-filter.js +189 -0
- package/dist/observers/observation-summarizer/pre-filter.js.map +1 -0
- package/dist/observers/observation-summarizer/response-parser.d.ts +30 -0
- package/dist/observers/observation-summarizer/response-parser.d.ts.map +1 -0
- package/dist/observers/observation-summarizer/response-parser.js +106 -0
- package/dist/observers/observation-summarizer/response-parser.js.map +1 -0
- package/dist/observers/observation-summarizer/summarizer-client.d.ts +83 -0
- package/dist/observers/observation-summarizer/summarizer-client.d.ts.map +1 -0
- package/dist/observers/observation-summarizer/summarizer-client.js +185 -0
- package/dist/observers/observation-summarizer/summarizer-client.js.map +1 -0
- package/dist/observers/observation-summarizer/summarizer-prompts.d.ts +51 -0
- package/dist/observers/observation-summarizer/summarizer-prompts.d.ts.map +1 -0
- package/dist/observers/observation-summarizer/summarizer-prompts.js +286 -0
- package/dist/observers/observation-summarizer/summarizer-prompts.js.map +1 -0
- package/dist/observers/observation-summarizer/worker.d.ts +106 -0
- package/dist/observers/observation-summarizer/worker.d.ts.map +1 -0
- package/dist/observers/observation-summarizer/worker.js +311 -0
- package/dist/observers/observation-summarizer/worker.js.map +1 -0
- package/dist/observers/obsidian-watcher.d.ts +90 -0
- package/dist/observers/obsidian-watcher.d.ts.map +1 -0
- package/dist/observers/obsidian-watcher.js +166 -0
- package/dist/observers/obsidian-watcher.js.map +1 -0
- package/dist/observers/primary-vault-watcher.d.ts +73 -0
- package/dist/observers/primary-vault-watcher.d.ts.map +1 -0
- package/dist/observers/primary-vault-watcher.js +115 -0
- package/dist/observers/primary-vault-watcher.js.map +1 -0
- package/dist/observers/repository-management-cron.d.ts +70 -0
- package/dist/observers/repository-management-cron.d.ts.map +1 -0
- package/dist/observers/repository-management-cron.js +166 -0
- package/dist/observers/repository-management-cron.js.map +1 -0
- package/dist/observers/skill-curation-walker.d.ts +33 -0
- package/dist/observers/skill-curation-walker.d.ts.map +1 -0
- package/dist/observers/skill-curation-walker.js +216 -0
- package/dist/observers/skill-curation-walker.js.map +1 -0
- package/dist/safety/absolute-block-audit.d.ts +22 -0
- package/dist/safety/absolute-block-audit.d.ts.map +1 -0
- package/dist/safety/absolute-block-audit.js +32 -0
- package/dist/safety/absolute-block-audit.js.map +1 -0
- package/dist/safety/agent-write-tracker.d.ts +42 -0
- package/dist/safety/agent-write-tracker.d.ts.map +1 -0
- package/dist/safety/agent-write-tracker.js +82 -0
- package/dist/safety/agent-write-tracker.js.map +1 -0
- package/dist/safety/always-disallowed.d.ts +66 -0
- package/dist/safety/always-disallowed.d.ts.map +1 -0
- package/dist/safety/always-disallowed.js +347 -0
- package/dist/safety/always-disallowed.js.map +1 -0
- package/dist/safety/audit.d.ts +118 -0
- package/dist/safety/audit.d.ts.map +1 -0
- package/dist/safety/audit.js +324 -0
- package/dist/safety/audit.js.map +1 -0
- package/dist/safety/integration-write-tracker.d.ts +58 -0
- package/dist/safety/integration-write-tracker.d.ts.map +1 -0
- package/dist/safety/integration-write-tracker.js +41 -0
- package/dist/safety/integration-write-tracker.js.map +1 -0
- package/dist/safety/risk-classifier.d.ts +65 -0
- package/dist/safety/risk-classifier.d.ts.map +1 -0
- package/dist/safety/risk-classifier.js +763 -0
- package/dist/safety/risk-classifier.js.map +1 -0
- package/dist/scheduler/hourly-check-gate.d.ts +73 -0
- package/dist/scheduler/hourly-check-gate.d.ts.map +1 -0
- package/dist/scheduler/hourly-check-gate.js +128 -0
- package/dist/scheduler/hourly-check-gate.js.map +1 -0
- package/dist/secrets/backend-api-key-env.d.ts +104 -0
- package/dist/secrets/backend-api-key-env.d.ts.map +1 -0
- package/dist/secrets/backend-api-key-env.js +197 -0
- package/dist/secrets/backend-api-key-env.js.map +1 -0
- package/dist/secrets/codex-home-materializer.d.ts +35 -0
- package/dist/secrets/codex-home-materializer.d.ts.map +1 -0
- package/dist/secrets/codex-home-materializer.js +76 -0
- package/dist/secrets/codex-home-materializer.js.map +1 -0
- package/dist/secrets/encrypted-blob-store.d.ts +20 -0
- package/dist/secrets/encrypted-blob-store.d.ts.map +1 -0
- package/dist/secrets/encrypted-blob-store.js +80 -0
- package/dist/secrets/encrypted-blob-store.js.map +1 -0
- package/dist/secrets/platform-secret-store.d.ts +17 -0
- package/dist/secrets/platform-secret-store.d.ts.map +1 -0
- package/dist/secrets/platform-secret-store.js +37 -0
- package/dist/secrets/platform-secret-store.js.map +1 -0
- package/dist/secrets/redaction.d.ts +2 -0
- package/dist/secrets/redaction.d.ts.map +1 -0
- package/dist/secrets/redaction.js +2 -0
- package/dist/secrets/redaction.js.map +1 -0
- package/dist/secrets/secret-broker.d.ts +61 -0
- package/dist/secrets/secret-broker.d.ts.map +1 -0
- package/dist/secrets/secret-broker.js +160 -0
- package/dist/secrets/secret-broker.js.map +1 -0
- package/dist/secrets/secret-names.d.ts +34 -0
- package/dist/secrets/secret-names.d.ts.map +1 -0
- package/dist/secrets/secret-names.js +39 -0
- package/dist/secrets/secret-names.js.map +1 -0
- package/dist/secrets/secret-store.d.ts +8 -0
- package/dist/secrets/secret-store.d.ts.map +1 -0
- package/dist/secrets/secret-store.js +2 -0
- package/dist/secrets/secret-store.js.map +1 -0
- package/dist/secrets/types.d.ts +7 -0
- package/dist/secrets/types.d.ts.map +1 -0
- package/dist/secrets/types.js +2 -0
- package/dist/secrets/types.js.map +1 -0
- package/dist/services/apple-calendar/caldav-client.d.ts +48 -0
- package/dist/services/apple-calendar/caldav-client.d.ts.map +1 -0
- package/dist/services/apple-calendar/caldav-client.js +86 -0
- package/dist/services/apple-calendar/caldav-client.js.map +1 -0
- package/dist/services/apple-calendar/caldav-codec.d.ts +67 -0
- package/dist/services/apple-calendar/caldav-codec.d.ts.map +1 -0
- package/dist/services/apple-calendar/caldav-codec.js +341 -0
- package/dist/services/apple-calendar/caldav-codec.js.map +1 -0
- package/dist/services/apple-calendar/index.d.ts +3 -0
- package/dist/services/apple-calendar/index.d.ts.map +1 -0
- package/dist/services/apple-calendar/index.js +2 -0
- package/dist/services/apple-calendar/index.js.map +1 -0
- package/dist/services/apple-calendar/service.d.ts +75 -0
- package/dist/services/apple-calendar/service.d.ts.map +1 -0
- package/dist/services/apple-calendar/service.js +374 -0
- package/dist/services/apple-calendar/service.js.map +1 -0
- package/dist/services/apple-calendar/types.d.ts +78 -0
- package/dist/services/apple-calendar/types.d.ts.map +1 -0
- package/dist/services/apple-calendar/types.js +17 -0
- package/dist/services/apple-calendar/types.js.map +1 -0
- package/dist/services/attachments/hardlink.d.ts +11 -0
- package/dist/services/attachments/hardlink.d.ts.map +1 -0
- package/dist/services/attachments/hardlink.js +56 -0
- package/dist/services/attachments/hardlink.js.map +1 -0
- package/dist/services/attachments/sanitize.d.ts +21 -0
- package/dist/services/attachments/sanitize.d.ts.map +1 -0
- package/dist/services/attachments/sanitize.js +128 -0
- package/dist/services/attachments/sanitize.js.map +1 -0
- package/dist/services/attachments/store.d.ts +146 -0
- package/dist/services/attachments/store.d.ts.map +1 -0
- package/dist/services/attachments/store.js +477 -0
- package/dist/services/attachments/store.js.map +1 -0
- package/dist/services/calendar/outlook/graph-calendar-client.d.ts +114 -0
- package/dist/services/calendar/outlook/graph-calendar-client.d.ts.map +1 -0
- package/dist/services/calendar/outlook/graph-calendar-client.js +146 -0
- package/dist/services/calendar/outlook/graph-calendar-client.js.map +1 -0
- package/dist/services/calendar.d.ts +115 -0
- package/dist/services/calendar.d.ts.map +1 -0
- package/dist/services/calendar.js +281 -0
- package/dist/services/calendar.js.map +1 -0
- package/dist/services/delegated-backend-invoker.d.ts +414 -0
- package/dist/services/delegated-backend-invoker.d.ts.map +1 -0
- package/dist/services/delegated-backend-invoker.js +2372 -0
- package/dist/services/delegated-backend-invoker.js.map +1 -0
- package/dist/services/delegated-proxy-config.d.ts +93 -0
- package/dist/services/delegated-proxy-config.d.ts.map +1 -0
- package/dist/services/delegated-proxy-config.js +98 -0
- package/dist/services/delegated-proxy-config.js.map +1 -0
- package/dist/services/delegated-task-result-cache.d.ts +176 -0
- package/dist/services/delegated-task-result-cache.d.ts.map +1 -0
- package/dist/services/delegated-task-result-cache.js +0 -0
- package/dist/services/delegated-task-result-cache.js.map +1 -0
- package/dist/services/delegated-task-runtime.d.ts +346 -0
- package/dist/services/delegated-task-runtime.d.ts.map +1 -0
- package/dist/services/delegated-task-runtime.js +589 -0
- package/dist/services/delegated-task-runtime.js.map +1 -0
- package/dist/services/delegated-task-session-pool.d.ts +182 -0
- package/dist/services/delegated-task-session-pool.d.ts.map +1 -0
- package/dist/services/delegated-task-session-pool.js +292 -0
- package/dist/services/delegated-task-session-pool.js.map +1 -0
- package/dist/services/delegated-tool-runtime.d.ts +50 -0
- package/dist/services/delegated-tool-runtime.d.ts.map +1 -0
- package/dist/services/delegated-tool-runtime.js +120 -0
- package/dist/services/delegated-tool-runtime.js.map +1 -0
- package/dist/services/fts5.d.ts +40 -0
- package/dist/services/fts5.d.ts.map +1 -0
- package/dist/services/fts5.js +54 -0
- package/dist/services/fts5.js.map +1 -0
- package/dist/services/git-account-registry.d.ts +164 -0
- package/dist/services/git-account-registry.d.ts.map +1 -0
- package/dist/services/git-account-registry.js +297 -0
- package/dist/services/git-account-registry.js.map +1 -0
- package/dist/services/github.d.ts +49 -0
- package/dist/services/github.d.ts.map +1 -0
- package/dist/services/github.js +123 -0
- package/dist/services/github.js.map +1 -0
- package/dist/services/gmail-classifier.d.ts +62 -0
- package/dist/services/gmail-classifier.d.ts.map +1 -0
- package/dist/services/gmail-classifier.js +221 -0
- package/dist/services/gmail-classifier.js.map +1 -0
- package/dist/services/gmail.d.ts +192 -0
- package/dist/services/gmail.d.ts.map +1 -0
- package/dist/services/gmail.js +678 -0
- package/dist/services/gmail.js.map +1 -0
- package/dist/services/google-auth.d.ts +16 -0
- package/dist/services/google-auth.d.ts.map +1 -0
- package/dist/services/google-auth.js +37 -0
- package/dist/services/google-auth.js.map +1 -0
- package/dist/services/google-maps.d.ts +35 -0
- package/dist/services/google-maps.d.ts.map +1 -0
- package/dist/services/google-maps.js +82 -0
- package/dist/services/google-maps.js.map +1 -0
- package/dist/services/integrations/extract-write-item-id.d.ts +64 -0
- package/dist/services/integrations/extract-write-item-id.d.ts.map +1 -0
- package/dist/services/integrations/extract-write-item-id.js +188 -0
- package/dist/services/integrations/extract-write-item-id.js.map +1 -0
- package/dist/services/integrations/reconcile.d.ts +136 -0
- package/dist/services/integrations/reconcile.d.ts.map +1 -0
- package/dist/services/integrations/reconcile.js +218 -0
- package/dist/services/integrations/reconcile.js.map +1 -0
- package/dist/services/integrations/snapshot-partitions.d.ts +40 -0
- package/dist/services/integrations/snapshot-partitions.d.ts.map +1 -0
- package/dist/services/integrations/snapshot-partitions.js +113 -0
- package/dist/services/integrations/snapshot-partitions.js.map +1 -0
- package/dist/services/journal/render.d.ts +15 -0
- package/dist/services/journal/render.d.ts.map +1 -0
- package/dist/services/journal/render.js +17 -0
- package/dist/services/journal/render.js.map +1 -0
- package/dist/services/journal/writer.d.ts +26 -0
- package/dist/services/journal/writer.d.ts.map +1 -0
- package/dist/services/journal/writer.js +50 -0
- package/dist/services/journal/writer.js.map +1 -0
- package/dist/services/mail/account-registry.d.ts +208 -0
- package/dist/services/mail/account-registry.d.ts.map +1 -0
- package/dist/services/mail/account-registry.js +554 -0
- package/dist/services/mail/account-registry.js.map +1 -0
- package/dist/services/mail/gmail/auth-failure-classifier.d.ts +24 -0
- package/dist/services/mail/gmail/auth-failure-classifier.d.ts.map +1 -0
- package/dist/services/mail/gmail/auth-failure-classifier.js +67 -0
- package/dist/services/mail/gmail/auth-failure-classifier.js.map +1 -0
- package/dist/services/mail/gmail/gmail-provider.d.ts +58 -0
- package/dist/services/mail/gmail/gmail-provider.d.ts.map +1 -0
- package/dist/services/mail/gmail/gmail-provider.js +434 -0
- package/dist/services/mail/gmail/gmail-provider.js.map +1 -0
- package/dist/services/mail/gmail/legacy-row.d.ts +24 -0
- package/dist/services/mail/gmail/legacy-row.d.ts.map +1 -0
- package/dist/services/mail/gmail/legacy-row.js +71 -0
- package/dist/services/mail/gmail/legacy-row.js.map +1 -0
- package/dist/services/mail/gmail/poll-cursor.d.ts +12 -0
- package/dist/services/mail/gmail/poll-cursor.d.ts.map +1 -0
- package/dist/services/mail/gmail/poll-cursor.js +32 -0
- package/dist/services/mail/gmail/poll-cursor.js.map +1 -0
- package/dist/services/mail/html-to-plaintext.d.ts +27 -0
- package/dist/services/mail/html-to-plaintext.d.ts.map +1 -0
- package/dist/services/mail/html-to-plaintext.js +163 -0
- package/dist/services/mail/html-to-plaintext.js.map +1 -0
- package/dist/services/mail/imap/app-password.d.ts +27 -0
- package/dist/services/mail/imap/app-password.d.ts.map +1 -0
- package/dist/services/mail/imap/app-password.js +86 -0
- package/dist/services/mail/imap/app-password.js.map +1 -0
- package/dist/services/mail/imap/auth-failure-classifier.d.ts +21 -0
- package/dist/services/mail/imap/auth-failure-classifier.d.ts.map +1 -0
- package/dist/services/mail/imap/auth-failure-classifier.js +54 -0
- package/dist/services/mail/imap/auth-failure-classifier.js.map +1 -0
- package/dist/services/mail/imap/capabilities.d.ts +30 -0
- package/dist/services/mail/imap/capabilities.d.ts.map +1 -0
- package/dist/services/mail/imap/capabilities.js +70 -0
- package/dist/services/mail/imap/capabilities.js.map +1 -0
- package/dist/services/mail/imap/client.d.ts +15 -0
- package/dist/services/mail/imap/client.d.ts.map +1 -0
- package/dist/services/mail/imap/client.js +60 -0
- package/dist/services/mail/imap/client.js.map +1 -0
- package/dist/services/mail/imap/cursor.d.ts +19 -0
- package/dist/services/mail/imap/cursor.d.ts.map +1 -0
- package/dist/services/mail/imap/cursor.js +47 -0
- package/dist/services/mail/imap/cursor.js.map +1 -0
- package/dist/services/mail/imap/folder-resolver.d.ts +24 -0
- package/dist/services/mail/imap/folder-resolver.d.ts.map +1 -0
- package/dist/services/mail/imap/folder-resolver.js +58 -0
- package/dist/services/mail/imap/folder-resolver.js.map +1 -0
- package/dist/services/mail/imap/icloud-provider.d.ts +5 -0
- package/dist/services/mail/imap/icloud-provider.d.ts.map +1 -0
- package/dist/services/mail/imap/icloud-provider.js +5 -0
- package/dist/services/mail/imap/icloud-provider.js.map +1 -0
- package/dist/services/mail/imap/imap-provider-base.d.ts +173 -0
- package/dist/services/mail/imap/imap-provider-base.d.ts.map +1 -0
- package/dist/services/mail/imap/imap-provider-base.js +1004 -0
- package/dist/services/mail/imap/imap-provider-base.js.map +1 -0
- package/dist/services/mail/imap/query-translator.d.ts +13 -0
- package/dist/services/mail/imap/query-translator.d.ts.map +1 -0
- package/dist/services/mail/imap/query-translator.js +114 -0
- package/dist/services/mail/imap/query-translator.js.map +1 -0
- package/dist/services/mail/imap/reconcile-planner.d.ts +56 -0
- package/dist/services/mail/imap/reconcile-planner.d.ts.map +1 -0
- package/dist/services/mail/imap/reconcile-planner.js +52 -0
- package/dist/services/mail/imap/reconcile-planner.js.map +1 -0
- package/dist/services/mail/imap/reply-mime.d.ts +24 -0
- package/dist/services/mail/imap/reply-mime.d.ts.map +1 -0
- package/dist/services/mail/imap/reply-mime.js +77 -0
- package/dist/services/mail/imap/reply-mime.js.map +1 -0
- package/dist/services/mail/imap/yahoo-provider.d.ts +5 -0
- package/dist/services/mail/imap/yahoo-provider.d.ts.map +1 -0
- package/dist/services/mail/imap/yahoo-provider.js +5 -0
- package/dist/services/mail/imap/yahoo-provider.js.map +1 -0
- package/dist/services/mail/mail-search.d.ts +35 -0
- package/dist/services/mail/mail-search.d.ts.map +1 -0
- package/dist/services/mail/mail-search.js +59 -0
- package/dist/services/mail/mail-search.js.map +1 -0
- package/dist/services/mail/outlook/auth-failure-classifier.d.ts +38 -0
- package/dist/services/mail/outlook/auth-failure-classifier.d.ts.map +1 -0
- package/dist/services/mail/outlook/auth-failure-classifier.js +91 -0
- package/dist/services/mail/outlook/auth-failure-classifier.js.map +1 -0
- package/dist/services/mail/outlook/client-config.d.ts +34 -0
- package/dist/services/mail/outlook/client-config.d.ts.map +1 -0
- package/dist/services/mail/outlook/client-config.js +58 -0
- package/dist/services/mail/outlook/client-config.js.map +1 -0
- package/dist/services/mail/outlook/delta-cursor.d.ts +66 -0
- package/dist/services/mail/outlook/delta-cursor.d.ts.map +1 -0
- package/dist/services/mail/outlook/delta-cursor.js +85 -0
- package/dist/services/mail/outlook/delta-cursor.js.map +1 -0
- package/dist/services/mail/outlook/graph-client.d.ts +98 -0
- package/dist/services/mail/outlook/graph-client.d.ts.map +1 -0
- package/dist/services/mail/outlook/graph-client.js +198 -0
- package/dist/services/mail/outlook/graph-client.js.map +1 -0
- package/dist/services/mail/outlook/msal-app-factory.d.ts +20 -0
- package/dist/services/mail/outlook/msal-app-factory.d.ts.map +1 -0
- package/dist/services/mail/outlook/msal-app-factory.js +62 -0
- package/dist/services/mail/outlook/msal-app-factory.js.map +1 -0
- package/dist/services/mail/outlook/msal-cache-plugin.d.ts +19 -0
- package/dist/services/mail/outlook/msal-cache-plugin.d.ts.map +1 -0
- package/dist/services/mail/outlook/msal-cache-plugin.js +30 -0
- package/dist/services/mail/outlook/msal-cache-plugin.js.map +1 -0
- package/dist/services/mail/outlook/oauth-device-code.d.ts +26 -0
- package/dist/services/mail/outlook/oauth-device-code.d.ts.map +1 -0
- package/dist/services/mail/outlook/oauth-device-code.js +32 -0
- package/dist/services/mail/outlook/oauth-device-code.js.map +1 -0
- package/dist/services/mail/outlook/oauth-loopback.d.ts +41 -0
- package/dist/services/mail/outlook/oauth-loopback.d.ts.map +1 -0
- package/dist/services/mail/outlook/oauth-loopback.js +223 -0
- package/dist/services/mail/outlook/oauth-loopback.js.map +1 -0
- package/dist/services/mail/outlook/outlook-provider.d.ts +100 -0
- package/dist/services/mail/outlook/outlook-provider.d.ts.map +1 -0
- package/dist/services/mail/outlook/outlook-provider.js +619 -0
- package/dist/services/mail/outlook/outlook-provider.js.map +1 -0
- package/dist/services/mail/outlook/query-translator.d.ts +10 -0
- package/dist/services/mail/outlook/query-translator.d.ts.map +1 -0
- package/dist/services/mail/outlook/query-translator.js +103 -0
- package/dist/services/mail/outlook/query-translator.js.map +1 -0
- package/dist/services/mail/provider.d.ts +267 -0
- package/dist/services/mail/provider.d.ts.map +1 -0
- package/dist/services/mail/provider.js +34 -0
- package/dist/services/mail/provider.js.map +1 -0
- package/dist/services/mail/query-utils.d.ts +13 -0
- package/dist/services/mail/query-utils.d.ts.map +1 -0
- package/dist/services/mail/query-utils.js +18 -0
- package/dist/services/mail/query-utils.js.map +1 -0
- package/dist/services/mail-classifier.d.ts +25 -0
- package/dist/services/mail-classifier.d.ts.map +1 -0
- package/dist/services/mail-classifier.js +52 -0
- package/dist/services/mail-classifier.js.map +1 -0
- package/dist/services/mail-ingestion.d.ts +139 -0
- package/dist/services/mail-ingestion.d.ts.map +1 -0
- package/dist/services/mail-ingestion.js +223 -0
- package/dist/services/mail-ingestion.js.map +1 -0
- package/dist/services/mcp/auto-probe.d.ts +76 -0
- package/dist/services/mcp/auto-probe.d.ts.map +1 -0
- package/dist/services/mcp/auto-probe.js +147 -0
- package/dist/services/mcp/auto-probe.js.map +1 -0
- package/dist/services/mcp/generators/claude.d.ts +18 -0
- package/dist/services/mcp/generators/claude.d.ts.map +1 -0
- package/dist/services/mcp/generators/claude.js +90 -0
- package/dist/services/mcp/generators/claude.js.map +1 -0
- package/dist/services/mcp/generators/codex.d.ts +22 -0
- package/dist/services/mcp/generators/codex.d.ts.map +1 -0
- package/dist/services/mcp/generators/codex.js +102 -0
- package/dist/services/mcp/generators/codex.js.map +1 -0
- package/dist/services/mcp/generators/gemini.d.ts +20 -0
- package/dist/services/mcp/generators/gemini.d.ts.map +1 -0
- package/dist/services/mcp/generators/gemini.js +97 -0
- package/dist/services/mcp/generators/gemini.js.map +1 -0
- package/dist/services/mcp/generators/index.d.ts +20 -0
- package/dist/services/mcp/generators/index.d.ts.map +1 -0
- package/dist/services/mcp/generators/index.js +29 -0
- package/dist/services/mcp/generators/index.js.map +1 -0
- package/dist/services/mcp/generators/types.d.ts +47 -0
- package/dist/services/mcp/generators/types.d.ts.map +1 -0
- package/dist/services/mcp/generators/types.js +40 -0
- package/dist/services/mcp/generators/types.js.map +1 -0
- package/dist/services/mcp/probe.d.ts +31 -0
- package/dist/services/mcp/probe.d.ts.map +1 -0
- package/dist/services/mcp/probe.js +437 -0
- package/dist/services/mcp/probe.js.map +1 -0
- package/dist/services/mcp/registry.d.ts +84 -0
- package/dist/services/mcp/registry.d.ts.map +1 -0
- package/dist/services/mcp/registry.js +387 -0
- package/dist/services/mcp/registry.js.map +1 -0
- package/dist/services/mcp/risk.d.ts +82 -0
- package/dist/services/mcp/risk.d.ts.map +1 -0
- package/dist/services/mcp/risk.js +126 -0
- package/dist/services/mcp/risk.js.map +1 -0
- package/dist/services/mcp/session-materializer.d.ts +123 -0
- package/dist/services/mcp/session-materializer.d.ts.map +1 -0
- package/dist/services/mcp/session-materializer.js +361 -0
- package/dist/services/mcp/session-materializer.js.map +1 -0
- package/dist/services/mcp/tool-audit.d.ts +53 -0
- package/dist/services/mcp/tool-audit.d.ts.map +1 -0
- package/dist/services/mcp/tool-audit.js +74 -0
- package/dist/services/mcp/tool-audit.js.map +1 -0
- package/dist/services/mcp/types.d.ts +88 -0
- package/dist/services/mcp/types.d.ts.map +1 -0
- package/dist/services/mcp/types.js +94 -0
- package/dist/services/mcp/types.js.map +1 -0
- package/dist/services/notion.d.ts +134 -0
- package/dist/services/notion.d.ts.map +1 -0
- package/dist/services/notion.js +350 -0
- package/dist/services/notion.js.map +1 -0
- package/dist/services/obsidian.d.ts +116 -0
- package/dist/services/obsidian.d.ts.map +1 -0
- package/dist/services/obsidian.js +305 -0
- package/dist/services/obsidian.js.map +1 -0
- package/dist/services/service-registry.d.ts +31 -0
- package/dist/services/service-registry.d.ts.map +1 -0
- package/dist/services/service-registry.js +15 -0
- package/dist/services/service-registry.js.map +1 -0
- package/dist/services/voice/transcriber-impl.d.ts +15 -0
- package/dist/services/voice/transcriber-impl.d.ts.map +1 -0
- package/dist/services/voice/transcriber-impl.js +129 -0
- package/dist/services/voice/transcriber-impl.js.map +1 -0
- package/dist/services/voice/transcriber.d.ts +117 -0
- package/dist/services/voice/transcriber.d.ts.map +1 -0
- package/dist/services/voice/transcriber.js +201 -0
- package/dist/services/voice/transcriber.js.map +1 -0
- package/dist/settings/runtime-settings.d.ts +232 -0
- package/dist/settings/runtime-settings.d.ts.map +1 -0
- package/dist/settings/runtime-settings.js +769 -0
- package/dist/settings/runtime-settings.js.map +1 -0
- package/dist/settings/settings-store.d.ts +13 -0
- package/dist/settings/settings-store.d.ts.map +1 -0
- package/dist/settings/settings-store.js +87 -0
- package/dist/settings/settings-store.js.map +1 -0
- package/package.json +85 -0
|
@@ -0,0 +1,999 @@
|
|
|
1
|
+
import type Database from "better-sqlite3";
|
|
2
|
+
import type { Event, MessageEvent, AgentResult, BackendId, IntegrationKey, IntegrationState } from "@aitne/shared";
|
|
3
|
+
import type { AgentConfig } from "../config.js";
|
|
4
|
+
import type { DocsCitationLookup } from "./docs/citation-validator.js";
|
|
5
|
+
import type { SignalDetector } from "./signal-detector.js";
|
|
6
|
+
import type { ServiceRegistry } from "../services/service-registry.js";
|
|
7
|
+
import { EventBus } from "./event-bus.js";
|
|
8
|
+
import { type IAgentRouter } from "./backends/backend-router.js";
|
|
9
|
+
import type { TodayWriteLockManager } from "./today-write-lock.js";
|
|
10
|
+
import type { RoadmapWriteLockManager } from "./roadmap-write-lock.js";
|
|
11
|
+
import type { AgentWriteTracker } from "../safety/agent-write-tracker.js";
|
|
12
|
+
import type { AttachmentStore } from "../services/attachments/store.js";
|
|
13
|
+
import type { VoiceTranscriber } from "../services/voice/transcriber.js";
|
|
14
|
+
import type { SessionInfoPayload } from "../api/chat-binding-query.js";
|
|
15
|
+
import type { DeferredSessionEffects } from "./session-manager.js";
|
|
16
|
+
export type { IAgentCore, StreamCallbacks } from "./agent-core.js";
|
|
17
|
+
export type { IAgentRouter } from "./backends/backend-router.js";
|
|
18
|
+
/**
|
|
19
|
+
* P22 §3.4 step 4 — the optimizer-only allowedTools envelope. Every
|
|
20
|
+
* `routine.skill_curation` event runs the agent with exactly these tools
|
|
21
|
+
* and nothing else. The curl glob is anchored on the daemon's loopback URL
|
|
22
|
+
* so a hook-bypassed request still hits the curation API's chokepoint
|
|
23
|
+
* (Zod, run-token, smoke test); `Read` is required for the agent to
|
|
24
|
+
* consume the inlined data dump under the workdir's `data/` subtree.
|
|
25
|
+
*
|
|
26
|
+
* Kept narrow on purpose: adding any other tool here widens the optimizer's
|
|
27
|
+
* blast radius. If a future signal source needs the agent to write to a
|
|
28
|
+
* different surface, add a new curation API endpoint and let the curl glob
|
|
29
|
+
* cover it — do NOT add `Bash(*)` or `Write` here.
|
|
30
|
+
*/
|
|
31
|
+
export declare const SKILL_CURATION_OPTIMIZER_ALLOWED_TOOLS: readonly ["Read", "Bash(curl http://localhost:8321/api/skill-curation/*)"];
|
|
32
|
+
export interface ReplyActivityHandle {
|
|
33
|
+
stop(): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
/** Interface for streaming adapter (dashboard SSE) */
|
|
36
|
+
export interface IDashboardStream {
|
|
37
|
+
sendStreamChunk(channelId: string, chunk: string): void;
|
|
38
|
+
sendStreamEnd(channelId: string): void;
|
|
39
|
+
sendMessageMeta?(channelId: string, meta: {
|
|
40
|
+
backend?: string;
|
|
41
|
+
model?: string;
|
|
42
|
+
durationMs?: number;
|
|
43
|
+
costUsd?: number;
|
|
44
|
+
}): void;
|
|
45
|
+
sendSessionInfo?(channelId: string, info: SessionInfoPayload): void;
|
|
46
|
+
sendError?(channelId: string, message: string): void;
|
|
47
|
+
/**
|
|
48
|
+
* Chat-attachments Phase 1 — ship the outbound attachment list produced
|
|
49
|
+
* during the just-completed turn to the dashboard. Consumed by the
|
|
50
|
+
* transcript renderer to show download chips / inline thumbnails
|
|
51
|
+
* alongside the assistant message.
|
|
52
|
+
*/
|
|
53
|
+
sendAttachments?(channelId: string, attachments: Array<{
|
|
54
|
+
id: string;
|
|
55
|
+
originalFilename: string;
|
|
56
|
+
mimeType: string;
|
|
57
|
+
sizeBytes: number;
|
|
58
|
+
caption?: string;
|
|
59
|
+
}>): void;
|
|
60
|
+
}
|
|
61
|
+
/** Interface for ContextBuilder — implemented in Phase 1D */
|
|
62
|
+
export interface IContextBuilder {
|
|
63
|
+
build(event: Event): Promise<string>;
|
|
64
|
+
}
|
|
65
|
+
/** Function type for resolving task flow templates by event type */
|
|
66
|
+
export type GetTaskFlow = (eventType: string, backendId?: string, integrations?: Partial<Record<IntegrationKey, IntegrationState>>) => string;
|
|
67
|
+
/** Interface for NotificationManager — implemented in Phase 1F */
|
|
68
|
+
export interface INotificationManager {
|
|
69
|
+
send(message: string, event: Event, options?: {
|
|
70
|
+
priority?: string;
|
|
71
|
+
category?: string;
|
|
72
|
+
destinationMode?: "default" | "configured_only";
|
|
73
|
+
originSessionId?: number;
|
|
74
|
+
}): Promise<void>;
|
|
75
|
+
beginReplyActivity(event: MessageEvent): Promise<ReplyActivityHandle>;
|
|
76
|
+
}
|
|
77
|
+
/** Interface for SessionManager — implemented in Phase 2A */
|
|
78
|
+
export interface ISessionManager {
|
|
79
|
+
getOrCreate(params: {
|
|
80
|
+
platform: string;
|
|
81
|
+
channel: string;
|
|
82
|
+
threadId: string | null;
|
|
83
|
+
isDm?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* MessageEvent.intent — forks the dashboard DM tuple into a separate
|
|
86
|
+
* scope (chat vs docs_qa) so the two surfaces don't share a session.
|
|
87
|
+
*/
|
|
88
|
+
intent?: "chat" | "docs_qa";
|
|
89
|
+
requiredBackend?: BackendId;
|
|
90
|
+
/**
|
|
91
|
+
* When set and it differs from the active session's stored `model`,
|
|
92
|
+
* treat the mismatch like a backend switch: reset the SDK session in
|
|
93
|
+
* place (dashboard) or close + recreate (other DMs/threads) so the
|
|
94
|
+
* new model starts fresh and history is re-injected as prompt text.
|
|
95
|
+
* Omitting it falls back to the pre-existing "backend-only" match.
|
|
96
|
+
*/
|
|
97
|
+
requiredModel?: string;
|
|
98
|
+
}): Promise<{
|
|
99
|
+
id: number;
|
|
100
|
+
isActive: boolean;
|
|
101
|
+
sessionId: string | null;
|
|
102
|
+
model: string;
|
|
103
|
+
backend?: BackendId;
|
|
104
|
+
requiresHistoryInjection?: boolean;
|
|
105
|
+
}>;
|
|
106
|
+
/** Find an existing active session without creating one. Returns null if none exists. */
|
|
107
|
+
findActive(params: {
|
|
108
|
+
platform: string;
|
|
109
|
+
channel: string;
|
|
110
|
+
threadId: string | null;
|
|
111
|
+
isDm?: boolean;
|
|
112
|
+
intent?: "chat" | "docs_qa";
|
|
113
|
+
}): Promise<{
|
|
114
|
+
id: number;
|
|
115
|
+
} | null>;
|
|
116
|
+
updateSession(id: number, sessionId: string, model: string, backend?: BackendId): Promise<void>;
|
|
117
|
+
touchSession(id: number): void;
|
|
118
|
+
closeSession(id: number): void;
|
|
119
|
+
/**
|
|
120
|
+
* Transaction-safe close variant — callers already inside a
|
|
121
|
+
* `db.transaction(...)` body collect side effects into the supplied
|
|
122
|
+
* buffer and flush them with `flushEffects` after commit.
|
|
123
|
+
*/
|
|
124
|
+
closeSessionInTx(id: number, effects: DeferredSessionEffects): void;
|
|
125
|
+
newEffectsBuffer(): DeferredSessionEffects;
|
|
126
|
+
flushEffects(effects: DeferredSessionEffects): void;
|
|
127
|
+
/**
|
|
128
|
+
* DB-backed lookup for the currently-bound dashboard channel_id of an
|
|
129
|
+
* active session. Returns null when the session is not active or not
|
|
130
|
+
* found. Used by dispatcher to route stream/meta/error events to
|
|
131
|
+
* whichever browser tab is currently connected, instead of the stale
|
|
132
|
+
* event.channel captured when the user POSTed their message.
|
|
133
|
+
*/
|
|
134
|
+
getActiveChannelIdForSession(sessionId: number): string | null;
|
|
135
|
+
isCloseCommand(content: string): boolean;
|
|
136
|
+
getDmPlatformsWithNewMessages(): string[];
|
|
137
|
+
getUnsummarizedDmMessages(platform: string): {
|
|
138
|
+
role: string;
|
|
139
|
+
content: string;
|
|
140
|
+
timestamp: string;
|
|
141
|
+
metadata?: string | null;
|
|
142
|
+
}[];
|
|
143
|
+
getPreviousDmSummary(platform: string): string | null;
|
|
144
|
+
saveDmSummary(platform: string, summary: string, messageCount: number): void;
|
|
145
|
+
}
|
|
146
|
+
/** Interface for MessageRecorder — records messages to DB. Returns
|
|
147
|
+
* `true` when the row was persisted, `false` when the INSERT/UPDATE
|
|
148
|
+
* transaction rolled back (logged internally). The atomic
|
|
149
|
+
* INSERT-plus-touch contract means callers no longer need to pair
|
|
150
|
+
* `recordMessage` with a separate `touchSession` — on success the
|
|
151
|
+
* session's `last_message_at` and `message_count` are already in sync
|
|
152
|
+
* with the `messages` row; on failure, neither moves. */
|
|
153
|
+
export interface IMessageRecorder {
|
|
154
|
+
recordMessage(params: {
|
|
155
|
+
sessionId: number;
|
|
156
|
+
role: "user" | "assistant" | "system";
|
|
157
|
+
content: string;
|
|
158
|
+
platform: string;
|
|
159
|
+
senderId?: string;
|
|
160
|
+
backend?: BackendId;
|
|
161
|
+
modelId?: string;
|
|
162
|
+
metadata?: Record<string, unknown>;
|
|
163
|
+
notificationDispatchId?: string | null;
|
|
164
|
+
}): boolean;
|
|
165
|
+
}
|
|
166
|
+
/** Interface for AuditLogger — implemented in Phase 1D */
|
|
167
|
+
export interface IAuditLogger {
|
|
168
|
+
logAction(params: {
|
|
169
|
+
event: Event;
|
|
170
|
+
model: string;
|
|
171
|
+
costUsd: number;
|
|
172
|
+
usage: AgentResult["usage"];
|
|
173
|
+
modelUsage: AgentResult["modelUsage"];
|
|
174
|
+
durationMs: number;
|
|
175
|
+
numTurns: number;
|
|
176
|
+
trigger: "reactive" | "autonomous";
|
|
177
|
+
backend?: BackendId;
|
|
178
|
+
costSource?: AgentResult["costSource"];
|
|
179
|
+
/**
|
|
180
|
+
* Whether the agent made at least one PUT/PATCH call to /api/context/*.
|
|
181
|
+
* Used for observer-event observability — see Phase 6 of
|
|
182
|
+
* docs/observer-context-update-fix.md.
|
|
183
|
+
*/
|
|
184
|
+
contextUpdated?: boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Number of server-side advisor tool invocations. Populated by the Claude
|
|
187
|
+
* Code backend when the `advisor_20260301` tool is active; otherwise 0.
|
|
188
|
+
*/
|
|
189
|
+
advisorCallCount?: number;
|
|
190
|
+
/**
|
|
191
|
+
* STAGE-C-DM-FRESHNESS-PLAN §Task 4 — DM-only freshness telemetry.
|
|
192
|
+
* Captured for DM dispatches so the dashboard's
|
|
193
|
+
* `dm_freshness_metrics` view can roll up resume rate, snapshot lag,
|
|
194
|
+
* and refetch-hit rate without a separate table. Persisted into
|
|
195
|
+
* `agent_actions.detail` as `{ dm_freshness: {...} }`.
|
|
196
|
+
*/
|
|
197
|
+
dmFreshness?: {
|
|
198
|
+
resumed: boolean;
|
|
199
|
+
agentLogLagMinutes: number;
|
|
200
|
+
loudWritesSinceSessionStart: number;
|
|
201
|
+
quietWritesSinceSessionStart: number;
|
|
202
|
+
refetchedToday: boolean;
|
|
203
|
+
triggerMatched: boolean;
|
|
204
|
+
};
|
|
205
|
+
}): void;
|
|
206
|
+
logSkip(event: Event, reason: string, trigger: "reactive" | "autonomous"): void;
|
|
207
|
+
logError(event: Event, error: Error, trigger: "reactive" | "autonomous", context?: {
|
|
208
|
+
durationMs?: number;
|
|
209
|
+
backendId?: BackendId;
|
|
210
|
+
modelId?: string;
|
|
211
|
+
failureKind?: string;
|
|
212
|
+
failureCode?: string;
|
|
213
|
+
}): void;
|
|
214
|
+
/**
|
|
215
|
+
* Chat-attachments Phase 1 — log an inbound (user→agent) or outbound
|
|
216
|
+
* (agent→user) attachment upload to `agent_actions` so the dashboard
|
|
217
|
+
* events/cost views surface them alongside agent turns.
|
|
218
|
+
*/
|
|
219
|
+
logAttachment(params: {
|
|
220
|
+
direction: "inbound" | "outbound";
|
|
221
|
+
attachmentId: string;
|
|
222
|
+
mimeType: string;
|
|
223
|
+
sizeBytes: number;
|
|
224
|
+
provenance: string;
|
|
225
|
+
originalFilename: string;
|
|
226
|
+
}): void;
|
|
227
|
+
/**
|
|
228
|
+
* Messaging bang-commands (`!stop` / `!start` / `!cost` / `!report`) —
|
|
229
|
+
* write an `agent_actions` row with `action_type='bang_command'` so the
|
|
230
|
+
* audit trail covers every owner control message, including paused-decline
|
|
231
|
+
* non-bang DMs. See docs/design/backlog/messaging-bang-commands.md §6.6.
|
|
232
|
+
*/
|
|
233
|
+
logBangCommand(event: MessageEvent, detail: BangCommandDetail): void;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Audit detail for `bang_command` rows. `status` distinguishes:
|
|
237
|
+
* - `ok` — recognised + handler ran successfully
|
|
238
|
+
* - `skipped` — recognised but no-op (e.g. `!stop` while already paused)
|
|
239
|
+
* - `unknown` — bang-prefixed but no matching key (not while paused)
|
|
240
|
+
* - `paused_decline` — any DM declined while paused (bang or non-bang)
|
|
241
|
+
*
|
|
242
|
+
* Map to `agent_actions.result` per §6.6 (ok→success, skipped/paused_decline
|
|
243
|
+
* →skipped, unknown→failed).
|
|
244
|
+
*/
|
|
245
|
+
export interface BangCommandDetail {
|
|
246
|
+
command: string;
|
|
247
|
+
status: "ok" | "skipped" | "unknown" | "paused_decline";
|
|
248
|
+
[extra: string]: unknown;
|
|
249
|
+
}
|
|
250
|
+
export type TriggerHourlyCheckSkipReason = "morning_routine_active" | "hourly_check_in_progress" | "below_threshold" | "setup_incomplete" | "setup_in_progress" | "vault_degraded" | "user_paused" | "gate_stage0_silent" | "gate_stage2_log_only";
|
|
251
|
+
export type SetupMode = "initial" | "update";
|
|
252
|
+
export interface TriggerHourlyCheckOptions {
|
|
253
|
+
force?: boolean;
|
|
254
|
+
/** Optional model hint — injected as `requestedModel` on the enqueued
|
|
255
|
+
* routine.hourly_check event so the user can force an Opus run from
|
|
256
|
+
* /api/agent/run-now without touching process_backend_config. */
|
|
257
|
+
requestedModel?: "sonnet" | "opus";
|
|
258
|
+
}
|
|
259
|
+
export interface TriggerHourlyCheckResult {
|
|
260
|
+
status: "queued" | "skipped";
|
|
261
|
+
reason?: TriggerHourlyCheckSkipReason;
|
|
262
|
+
pendingCount?: number;
|
|
263
|
+
minObservations: number;
|
|
264
|
+
forced: boolean;
|
|
265
|
+
/**
|
|
266
|
+
* cost-reduction-structural §B — populated whenever the gate ran
|
|
267
|
+
* (any mode). Mirrors what was logged to `agent_actions` so the
|
|
268
|
+
* cron caller's metrics path can attribute without a re-read.
|
|
269
|
+
*/
|
|
270
|
+
gateStage?: "stage0_silent" | "stage2" | "stage3";
|
|
271
|
+
/** Effective stage actually executed when mode!=off. */
|
|
272
|
+
appliedStage?: "stage0_silent" | "stage2_log_only" | "stage3" | "stage3_shadow";
|
|
273
|
+
gateMode?: "off" | "shadow" | "live";
|
|
274
|
+
gateReason?: string;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* cost-reduction-structural §B — extract the JSON verdict from a
|
|
278
|
+
* Stage 2 triage response. The contract is strict: a single line
|
|
279
|
+
* matching `{ "action": "log_only" | "escalate", ... }`. Anything else
|
|
280
|
+
* — empty output, prose around the JSON, missing fields, malformed JSON
|
|
281
|
+
* — falls back to `failed` so the caller cautiously escalates rather
|
|
282
|
+
* than silently silencing.
|
|
283
|
+
*/
|
|
284
|
+
export declare function parseStage2Verdict(output: string): "log_only" | "escalate" | "failed";
|
|
285
|
+
export interface InFlightExecutionInfo {
|
|
286
|
+
kind: "session_chain" | "routine" | "scheduled_task";
|
|
287
|
+
key?: string;
|
|
288
|
+
id?: number;
|
|
289
|
+
taskType?: string;
|
|
290
|
+
detail?: string;
|
|
291
|
+
}
|
|
292
|
+
export declare class EventDispatcher {
|
|
293
|
+
private readonly eventBus;
|
|
294
|
+
private readonly agentRouter;
|
|
295
|
+
private readonly contextBuilder;
|
|
296
|
+
private readonly getTaskFlow;
|
|
297
|
+
private readonly notificationMgr;
|
|
298
|
+
private readonly sessionMgr;
|
|
299
|
+
private readonly messageRecorder;
|
|
300
|
+
private readonly audit;
|
|
301
|
+
private readonly db;
|
|
302
|
+
private readonly config;
|
|
303
|
+
private readonly todayWriteLock?;
|
|
304
|
+
private readonly services?;
|
|
305
|
+
private readonly roadmapWriteLock?;
|
|
306
|
+
private readonly writeTracker?;
|
|
307
|
+
private readonly reactiveSem;
|
|
308
|
+
private readonly autonomousSem;
|
|
309
|
+
private readonly hasMessageBackendMetadataColumns;
|
|
310
|
+
private shutdown;
|
|
311
|
+
private readonly shutdownAwaiters;
|
|
312
|
+
private signalDetector;
|
|
313
|
+
private dashboardStream;
|
|
314
|
+
/**
|
|
315
|
+
* Docs-QA citation lookup. Wired at startup via
|
|
316
|
+
* `setDocsCitationLookup`; null elsewhere so this module stays tree-
|
|
317
|
+
* shakable for tests that don't construct the docs indexer. The
|
|
318
|
+
* dispatcher only consults it when `isDocsQAMessage(event)` is true,
|
|
319
|
+
* so a null lookup never affects chat / DM / routine flows.
|
|
320
|
+
*/
|
|
321
|
+
private docsCitationLookup;
|
|
322
|
+
private authRecovery;
|
|
323
|
+
private authHealthMonitor;
|
|
324
|
+
/**
|
|
325
|
+
* Messaging bang-commands registry — short, exact-match owner controls
|
|
326
|
+
* (`!stop` / `!start` / `!cost` / `!report`) intercepted in
|
|
327
|
+
* `handleMessage` before any agent backend is invoked. Optional so tests
|
|
328
|
+
* that build a dispatcher without the registry continue to pass; when
|
|
329
|
+
* null, all DMs flow straight to the agent path.
|
|
330
|
+
*
|
|
331
|
+
* Spec: docs/design/backlog/messaging-bang-commands.md
|
|
332
|
+
*/
|
|
333
|
+
private bangCommandRegistry;
|
|
334
|
+
/**
|
|
335
|
+
* Current setup mode — scope-agnostic flag that survives internal
|
|
336
|
+
* direct-message session refresh (day boundary, stale flag, etc). Previously this
|
|
337
|
+
* was a `Map<sessionId, mode>` keyed by `conversation_sessions.id`, but the
|
|
338
|
+
* session row is routinely closed and recreated by `getOrCreateDm()` when
|
|
339
|
+
* a loud prompt-context change marks active DMs stale, which orphaned the
|
|
340
|
+
* map entry and silently dropped the setup flow back to the generic DM prompt.
|
|
341
|
+
* A single nullable flag is the right
|
|
342
|
+
* granularity because the dashboard owner-DM scope is singular.
|
|
343
|
+
*
|
|
344
|
+
* Persisted to runtime_state so setup mode survives daemon restart. Without
|
|
345
|
+
* persistence, an update-flow setup conversation that crashes mid-flight
|
|
346
|
+
* would re-open the gate on restart and re-introduce the stale-session race.
|
|
347
|
+
*
|
|
348
|
+
* No auto-expiry. The original 30-minute safety net turned out to be
|
|
349
|
+
* actively harmful: it fired DURING legitimate long setup conversations
|
|
350
|
+
* (which is exactly the pattern that triggered the original report) and
|
|
351
|
+
* re-opened the bug it was trying to guard. Setup mode is only cleared by
|
|
352
|
+
* explicit `clearSetupMode()` from `/setup/save-rules`.
|
|
353
|
+
*/
|
|
354
|
+
private currentSetupMode;
|
|
355
|
+
/** Per-session FIFO gate: owner DMs share one key; thread sessions
|
|
356
|
+
* keep their own lane. SCHEDULED-DM-IMPLEMENTATION-PLAN §3.6 — also
|
|
357
|
+
* used by `scheduled.dm` to acquire BOTH owner-facing scopes in
|
|
358
|
+
* lex-sorted (deadlock-free) order. */
|
|
359
|
+
private readonly sessionGates;
|
|
360
|
+
/** Dedup guard: timestamp of the last roadmap_refresh emission */
|
|
361
|
+
private lastRoadmapRefreshEmitMs;
|
|
362
|
+
private morningRoutineInProgress;
|
|
363
|
+
private hourlyCheckInProgress;
|
|
364
|
+
/**
|
|
365
|
+
* P22 §3.4 — wired by `index.ts` after the daemon's data dir + skills root
|
|
366
|
+
* are known. Returns a `{runId, runToken, workdirPath, targetSkills}` tuple
|
|
367
|
+
* the optimizer routine then runs against. Injected as a callback so the
|
|
368
|
+
* dispatcher does not import the workdir module directly (avoids a cycle
|
|
369
|
+
* with SkillsCompiler / SecretBroker).
|
|
370
|
+
*/
|
|
371
|
+
private materializeOptimizerWorkdir;
|
|
372
|
+
private teardownOptimizerWorkdir;
|
|
373
|
+
setSkillCurationHooks(hooks: {
|
|
374
|
+
materialize: (opts?: {
|
|
375
|
+
manual?: boolean;
|
|
376
|
+
targetSkillsOverride?: string[];
|
|
377
|
+
}) => Promise<{
|
|
378
|
+
runId: string;
|
|
379
|
+
runToken: string;
|
|
380
|
+
workdirPath: string;
|
|
381
|
+
targetSkills: string[];
|
|
382
|
+
}>;
|
|
383
|
+
teardown: (workdirPath: string) => void;
|
|
384
|
+
}): void;
|
|
385
|
+
private static readonly COST_CAP_SQL;
|
|
386
|
+
/** Map `turn_token → sessionId` for in-flight turns. The API layer
|
|
387
|
+
* calls `validateAttachmentTurnToken(token)` to authorise
|
|
388
|
+
* `POST /api/chat/outbound-attachments`; the entry is cleared in a
|
|
389
|
+
* `finally` so orphan tokens don't survive past the turn that
|
|
390
|
+
* spawned them. */
|
|
391
|
+
private readonly activeTurnTokens;
|
|
392
|
+
/** Injected lazily via `setAttachmentStore` — optional for tests
|
|
393
|
+
* and older code paths that don't wire the store. When null, the
|
|
394
|
+
* dispatcher skips attachment staging + outbound collection. */
|
|
395
|
+
private attachmentStore;
|
|
396
|
+
/** Injected lazily via `setDelegatedSyncRefresh` — optional. When null,
|
|
397
|
+
* hourly check fires without first refreshing delegated-mode snapshots,
|
|
398
|
+
* matching the pre-Phase-9 behaviour. Wired in production when at
|
|
399
|
+
* least one integration is in delegated mode. See
|
|
400
|
+
* `docs/design/appendices/delegated-sync-opt-in.md` and the worker's
|
|
401
|
+
* `runDisabledCadencesForHourlyCheck` method. */
|
|
402
|
+
private delegatedSyncRefresh;
|
|
403
|
+
/** Injected lazily via `setVoiceTranscriber` — optional. When null,
|
|
404
|
+
* inbound audio attachments fall back to the path-only prompt block
|
|
405
|
+
* exactly as they did before the local-Whisper layer landed. See
|
|
406
|
+
* `docs/design/appendices/voice-transcription.md`. */
|
|
407
|
+
private voiceTranscriber;
|
|
408
|
+
/**
|
|
409
|
+
* Notify-dedup tracking — set of correlationIds for in-flight events
|
|
410
|
+
* that have already invoked `POST /api/notify` from inside the agent
|
|
411
|
+
* run. The `/api/notify` route calls `markEventNotified` (via api-deps)
|
|
412
|
+
* on success, and `processResult` consumes the entry with `Set.delete`.
|
|
413
|
+
* When present, the implicit "final assistant text → DM" forward is
|
|
414
|
+
* suppressed — preventing the duplicate-notification bug where the LLM
|
|
415
|
+
* sends both an explicit notify and a non-empty closing turn.
|
|
416
|
+
*
|
|
417
|
+
* In-memory only; single-daemon scope. Cleanup contract:
|
|
418
|
+
* - Success path: `processResult.delete()` removes the entry exactly
|
|
419
|
+
* once per event run (every dispatch path funnels into it).
|
|
420
|
+
* - Throw path: `handleError.delete()` is the defense-in-depth
|
|
421
|
+
* cleanup for entries left when execution threw before reaching
|
|
422
|
+
* `processResult`.
|
|
423
|
+
* - Retry path: `executeWithRetry` reuses the same correlationId
|
|
424
|
+
* across attempts, but only one `processResult` call closes the
|
|
425
|
+
* run, so the marker is consumed exactly once.
|
|
426
|
+
*
|
|
427
|
+
* Cross-event safety: each `createEvent()` mints a fresh UUID, so a
|
|
428
|
+
* stale entry surviving both cleanup paths cannot poison a later
|
|
429
|
+
* unrelated event run. Scheduler-resurrected events (scheduler.ts
|
|
430
|
+
* carries `row.correlation_id` when present) intentionally inherit
|
|
431
|
+
* the same id, which is the correct behaviour — they continue the
|
|
432
|
+
* same logical run.
|
|
433
|
+
*/
|
|
434
|
+
private readonly notifiedEvents;
|
|
435
|
+
constructor(eventBus: EventBus, agentRouter: IAgentRouter, contextBuilder: IContextBuilder, getTaskFlow: GetTaskFlow, notificationMgr: INotificationManager, sessionMgr: ISessionManager, messageRecorder: IMessageRecorder, audit: IAuditLogger, db: Database.Database, config: AgentConfig, todayWriteLock?: TodayWriteLockManager | undefined, services?: ServiceRegistry | undefined, roadmapWriteLock?: RoadmapWriteLockManager | undefined, writeTracker?: AgentWriteTracker | undefined);
|
|
436
|
+
private loadPersistedSetupMode;
|
|
437
|
+
/**
|
|
438
|
+
* B-007 §5.8 — compose the final prompt by loading the task-flow
|
|
439
|
+
* template and appending the vault policy-files block (rules/*.md,
|
|
440
|
+
* routines/<cadence>.md, custom routine file, etc.). Centralised
|
|
441
|
+
* here so every dispatch path sees the same policy bundle.
|
|
442
|
+
*/
|
|
443
|
+
private assemblePrompt;
|
|
444
|
+
/**
|
|
445
|
+
* Policy-file prompt assembly must not fall back to `<dataDir>/context`
|
|
446
|
+
* while degraded. Reactive sessions still run so the user can repair the
|
|
447
|
+
* vault, but the prompt must not silently inject stale rulebooks from a
|
|
448
|
+
* legacy location.
|
|
449
|
+
*/
|
|
450
|
+
private getPromptPolicyContextDir;
|
|
451
|
+
/** Set the SignalDetector for implicit feedback collection from user messages. */
|
|
452
|
+
setSignalDetector(detector: SignalDetector): void;
|
|
453
|
+
/** Set the dashboard stream adapter for real-time response streaming. */
|
|
454
|
+
setDashboardStream(adapter: IDashboardStream): void;
|
|
455
|
+
/**
|
|
456
|
+
* Wire the docs-QA citation lookup. Called once at startup from
|
|
457
|
+
* `index.ts` after the docs indexer is built. The dispatcher uses it
|
|
458
|
+
* for the persistence-side `validateAndRewrite` pass on docs_qa
|
|
459
|
+
* assistant output (see DOCS_QA_B7_DESIGN.md §11.1) — chat / DM /
|
|
460
|
+
* routine paths never touch it.
|
|
461
|
+
*/
|
|
462
|
+
setDocsCitationLookup(lookup: DocsCitationLookup): void;
|
|
463
|
+
/** Chat-attachments Phase 1 — inject the shared AttachmentStore. */
|
|
464
|
+
setAttachmentStore(store: AttachmentStore): void;
|
|
465
|
+
/** Inject the local-Whisper voice transcriber. Optional — when unset,
|
|
466
|
+
* inbound audio attachments are passed to the backend with a path-only
|
|
467
|
+
* reference (the pre-feature behaviour). */
|
|
468
|
+
setVoiceTranscriber(transcriber: VoiceTranscriber): void;
|
|
469
|
+
/**
|
|
470
|
+
* Inject the delegated-sync refresh callback. Called from
|
|
471
|
+
* `triggerHourlyCheck` before the gate decision so any cadence the
|
|
472
|
+
* operator left opted-OUT (post-Phase-9 default) populates fresh
|
|
473
|
+
* Gmail / Notion observations the agent can then consume.
|
|
474
|
+
*
|
|
475
|
+
* Wired as a thunk rather than a worker reference so the dispatcher
|
|
476
|
+
* stays decoupled from the observers layer and the live worker
|
|
477
|
+
* instance can be re-registered (integration mode flips) without the
|
|
478
|
+
* dispatcher holding a stale reference.
|
|
479
|
+
*
|
|
480
|
+
* Pass `null` to detach (e.g. when no delegated integration exists).
|
|
481
|
+
* The hourly check then proceeds without a refresh — equivalent to the
|
|
482
|
+
* pre-injection behaviour.
|
|
483
|
+
*/
|
|
484
|
+
setDelegatedSyncRefresh(fn: (() => Promise<void>) | null): void;
|
|
485
|
+
/**
|
|
486
|
+
* Authorise an `X-Turn-Token` for POST /api/chat/outbound-attachments.
|
|
487
|
+
* Returns the DB session id bound to that token while a turn is still
|
|
488
|
+
* running, null otherwise.
|
|
489
|
+
*/
|
|
490
|
+
validateAttachmentTurnToken(token: string): {
|
|
491
|
+
sessionId: number;
|
|
492
|
+
} | null;
|
|
493
|
+
/** Internal — issue a turn token bound to a session. Cleared by
|
|
494
|
+
* `releaseAttachmentTurnToken` in a `finally`. */
|
|
495
|
+
private issueAttachmentTurnToken;
|
|
496
|
+
private releaseAttachmentTurnToken;
|
|
497
|
+
/**
|
|
498
|
+
* Stage inbound attachments into `<sessionDir>/_attachments/` via
|
|
499
|
+
* hard-link (or copy on EXDEV). Returns the rows that were actually
|
|
500
|
+
* staged — callers feed these into the prompt-block builder.
|
|
501
|
+
*/
|
|
502
|
+
private stageInboundAttachments;
|
|
503
|
+
/**
|
|
504
|
+
* Read the `messages.id` that was just persisted for this session.
|
|
505
|
+
* Used to bind inbound attachment rows to the user message (so the
|
|
506
|
+
* history endpoint can re-serve them) and outbound attachments to the
|
|
507
|
+
* assistant message. `better-sqlite3`'s `last_insert_rowid()` is
|
|
508
|
+
* per-connection and authoritative right after `recordMessage` returns
|
|
509
|
+
* (its transaction has committed synchronously).
|
|
510
|
+
*/
|
|
511
|
+
private readLastInsertedMessageId;
|
|
512
|
+
/**
|
|
513
|
+
* Resolve the `UserBangCommand` row that produced this event, when one
|
|
514
|
+
* applies. The dispatcher consults the row to apply the per-command
|
|
515
|
+
* skill set and instruction body to the session workdir before the
|
|
516
|
+
* agent runs. Returns `null` for non-bang messages, for bang events
|
|
517
|
+
* whose row was deleted between enqueue and dispatch, and for events
|
|
518
|
+
* whose `data.customBangCommand.id` is missing or malformed (defense
|
|
519
|
+
* against a future event constructor that forgets to set it).
|
|
520
|
+
*/
|
|
521
|
+
private lookupCustomBangCommandForEvent;
|
|
522
|
+
/**
|
|
523
|
+
* Run local-Whisper transcription on every audio attachment in `rows`.
|
|
524
|
+
* Cached transcripts are returned without re-running inference. Returns
|
|
525
|
+
* an empty map when the transcriber is unset, when no rows are audio,
|
|
526
|
+
* or when every transcription failed — callers always render the path
|
|
527
|
+
* even if the transcript is missing.
|
|
528
|
+
*/
|
|
529
|
+
private transcribeAttachments;
|
|
530
|
+
/**
|
|
531
|
+
* Compose the "[Attached files]" prompt block that the dispatcher
|
|
532
|
+
* appends to the task-flow body for turns with inbound attachments.
|
|
533
|
+
* Kept in the dispatcher (not in prompts.ts) because the attachment
|
|
534
|
+
* rows are local state for this turn only.
|
|
535
|
+
*/
|
|
536
|
+
private buildAttachmentPromptBlock;
|
|
537
|
+
/**
|
|
538
|
+
* Phase 5: set the auth recovery manager so owner DMs like `/auth fix codex`
|
|
539
|
+
* can be intercepted before reaching the agent backend.
|
|
540
|
+
*/
|
|
541
|
+
setAuthRecovery(recovery: import("./backends/auth-recovery.js").AuthRecovery): void;
|
|
542
|
+
/**
|
|
543
|
+
* Phase 5 (M2 fix): set the AuthHealthMonitor so `/auth status` can
|
|
544
|
+
* render the full summary in-DM instead of a pointer to the dashboard.
|
|
545
|
+
*/
|
|
546
|
+
setAuthHealthMonitor(monitor: import("./backends/auth-health-monitor.js").AuthHealthMonitor): void;
|
|
547
|
+
/**
|
|
548
|
+
* Wire the bang-command registry so owner DMs are intercepted before the
|
|
549
|
+
* agent path. See docs/design/backlog/messaging-bang-commands.md.
|
|
550
|
+
*/
|
|
551
|
+
setBangCommandRegistry(registry: import("./bang-commands/registry.js").BangCommandRegistry): void;
|
|
552
|
+
/** Main event processing loop */
|
|
553
|
+
run(): Promise<void>;
|
|
554
|
+
stop(): void;
|
|
555
|
+
/**
|
|
556
|
+
* Enter setup mode. Called from `POST /setup/start` so the warm gate
|
|
557
|
+
* engages the moment the user opens the dashboard setup flow — before any
|
|
558
|
+
* agent turn runs — so concurrent hourly_check / morning routine / scheduled
|
|
559
|
+
* wake work cannot race with the setup conversation. Persisted to
|
|
560
|
+
* `runtime_state` so the flag survives daemon restart.
|
|
561
|
+
*/
|
|
562
|
+
beginSetupMode(mode: SetupMode): void;
|
|
563
|
+
/**
|
|
564
|
+
* Exit setup mode. Called from `POST /setup/save-rules` on success.
|
|
565
|
+
* Idempotent.
|
|
566
|
+
*/
|
|
567
|
+
clearSetupMode(): void;
|
|
568
|
+
/** Observable getter, primarily for tests and the onPromptContextChanged gate. */
|
|
569
|
+
getCurrentSetupMode(): SetupMode | null;
|
|
570
|
+
/**
|
|
571
|
+
* Management Mode Phase 2 — expose in-flight executions so
|
|
572
|
+
* `/api/setup/migrate-context` can refuse to start while real work is
|
|
573
|
+
* still running, not just while sessions remain marked active.
|
|
574
|
+
*/
|
|
575
|
+
getInFlightExecutions(): InFlightExecutionInfo[];
|
|
576
|
+
/**
|
|
577
|
+
* Gate for autonomous background work (cron routines, hourly_check,
|
|
578
|
+
* scheduled wake tasks, startup catchup, calendar-poller reactive events).
|
|
579
|
+
*
|
|
580
|
+
* Two layers:
|
|
581
|
+
* - **Cold gate**: `rules/management.md` must exist. Before initial setup
|
|
582
|
+
* there is no policy document, no user/profile.md, no today.md — running
|
|
583
|
+
* routines would produce garbage AND, crucially, any loud prompt-context
|
|
584
|
+
* write from such a routine can trigger
|
|
585
|
+
* `onPromptContextChanged -> markActiveDmSessionsStale`, which destroys
|
|
586
|
+
* the in-flight setup conversation on the next user turn.
|
|
587
|
+
* - **Warm gate**: while a setup conversation is active (initial OR
|
|
588
|
+
* update), pause autonomous work even though the file exists. This
|
|
589
|
+
* covers the update flow where the rules file is present but the same
|
|
590
|
+
* race still applies.
|
|
591
|
+
*
|
|
592
|
+
* Returns `null` when allowed, or a string reason when blocked.
|
|
593
|
+
*/
|
|
594
|
+
isAutonomousAllowed(): null | "setup_incomplete" | "setup_in_progress" | "vault_degraded" | "user_paused";
|
|
595
|
+
/**
|
|
596
|
+
* Process a catchup or bootstrap event synchronously without going through
|
|
597
|
+
* the EventBus loop. Uses the same semaphore and error-handling path as the
|
|
598
|
+
* normal dispatcher.
|
|
599
|
+
*/
|
|
600
|
+
processInline(event: Event): Promise<void>;
|
|
601
|
+
/** Get configured services set, rebuilding when ServiceRegistry changes. */
|
|
602
|
+
private getConfiguredServices;
|
|
603
|
+
/** Snapshot active mail accounts (§Phase 5 accounts.md materialization). */
|
|
604
|
+
private getActiveMailAccounts;
|
|
605
|
+
isReactive(event: Event): boolean;
|
|
606
|
+
/**
|
|
607
|
+
* Check whether this autonomous event should be skipped because the daily
|
|
608
|
+
* autonomous cost cap has been exceeded. Uses priority-based degradation:
|
|
609
|
+
* hourly_check (lowest priority, skipped first) → roadmap_refresh →
|
|
610
|
+
* evening_review → morning_routine (highest, last to be cut).
|
|
611
|
+
*
|
|
612
|
+
* Lower-priority events are skipped at 100% of cap; higher-priority events
|
|
613
|
+
* only at 150%+, giving headroom for the morning briefing.
|
|
614
|
+
*/
|
|
615
|
+
private shouldSkipForCostCap;
|
|
616
|
+
private handleEvent;
|
|
617
|
+
private handleEventInner;
|
|
618
|
+
triggerHourlyCheck(source: string, options?: TriggerHourlyCheckOptions): Promise<TriggerHourlyCheckResult>;
|
|
619
|
+
/**
|
|
620
|
+
* cost-reduction-structural §B — pull a fresh signal snapshot and run
|
|
621
|
+
* the deterministic gate. Helper so the dispatcher's call site stays
|
|
622
|
+
* compact and tests can spy on the boundary.
|
|
623
|
+
*/
|
|
624
|
+
private computeHourlyCheckGateDecision;
|
|
625
|
+
private readTodayMdSafe;
|
|
626
|
+
/**
|
|
627
|
+
* cost-reduction-structural §B — daemon-direct silent path. Used by
|
|
628
|
+
* Stage 0 and Stage 2 log-only verdicts. Consumes pending user
|
|
629
|
+
* observations + appends a single Agent Log line + records the gate
|
|
630
|
+
* verdict to `agent_actions`. The flag is reset before return.
|
|
631
|
+
*/
|
|
632
|
+
private runSilentHourlyCheckPath;
|
|
633
|
+
private enqueueStage3HourlyCheck;
|
|
634
|
+
private logGateAuditRow;
|
|
635
|
+
/**
|
|
636
|
+
* cost-reduction-structural §B Stage 2 — synchronous lite-tier triage.
|
|
637
|
+
* Builds a `routine.hourly_check.triage` RoutineEvent and runs it
|
|
638
|
+
* inline through the agent router (NOT the EventBus, so the result
|
|
639
|
+
* is available before we decide whether to silence or escalate).
|
|
640
|
+
*
|
|
641
|
+
* The agent contract is JSON-only output (`{ "action": "log_only" |
|
|
642
|
+
* "escalate", "reason": "..." }`); on parse failure we return
|
|
643
|
+
* `'failed'` and the caller treats that as cautious escalate.
|
|
644
|
+
*
|
|
645
|
+
* Tool/turn clamp (defense-in-depth):
|
|
646
|
+
* - `allowedToolsOverride: []` removes every tool from the SDK's
|
|
647
|
+
* allowlist for the spawn. Stage 2 has nothing to do but emit a
|
|
648
|
+
* JSON line; the design's "no write tools" rule is enforced here
|
|
649
|
+
* instead of relying on the prompt alone.
|
|
650
|
+
* - `maxTurns: 1` caps the spawn at a single assistant turn. Even
|
|
651
|
+
* if a future prompt change accidentally invites tool use, the
|
|
652
|
+
* spawn cannot loop. Codex/Gemini have no per-spawn `allowedTools`
|
|
653
|
+
* surface today (acknowledged gap in `agent-core.ts`); the
|
|
654
|
+
* `maxTurns` cap and process_backend_config envelope are the
|
|
655
|
+
* remaining safety floor on those backends.
|
|
656
|
+
*/
|
|
657
|
+
private runStage2Triage;
|
|
658
|
+
/**
|
|
659
|
+
* Advisory check: is a morning routine execution or retry currently in
|
|
660
|
+
* progress? Synchronous (no async) so callers can atomically gate other
|
|
661
|
+
* work without introducing microtask race windows.
|
|
662
|
+
*
|
|
663
|
+
* C5 fix: detects retry rows via `task_context.routine='morning_routine'`
|
|
664
|
+
* instead of a fragile `task_description LIKE 'Morning routine retry%'`
|
|
665
|
+
* substring match. The schedule row's task_context is written by
|
|
666
|
+
* scheduleMorningRetry() below, so this JSON path is authoritative even
|
|
667
|
+
* if the human-readable description string later changes.
|
|
668
|
+
*
|
|
669
|
+
* Public (not private) because Phase 4's `AuthHealthMonitor.checkAll()`
|
|
670
|
+
* shares the same skip-while-morning-routine-active invariant as the
|
|
671
|
+
* hourly check, and injects this method as an option so a probe tick
|
|
672
|
+
* running concurrently with morning routine can no-op cleanly. See
|
|
673
|
+
* `docs/design/09-safety-cost.md` §9.5.4.
|
|
674
|
+
*/
|
|
675
|
+
isMorningRoutineActive(): boolean;
|
|
676
|
+
private dispatchSafe;
|
|
677
|
+
private dispatch;
|
|
678
|
+
private getMessageExecutionKey;
|
|
679
|
+
private runWithSessionGate;
|
|
680
|
+
/**
|
|
681
|
+
* Acquire multiple session gates sequentially in lexicographic order
|
|
682
|
+
* before invoking `fn`. Used by the `scheduled.dm` dispatch path to
|
|
683
|
+
* serialize a briefing behind ALL owner-facing DM scopes
|
|
684
|
+
* (messaging-app DMs and dashboard chat).
|
|
685
|
+
*
|
|
686
|
+
* SCHEDULED-DM-IMPLEMENTATION-PLAN §3.6.
|
|
687
|
+
*/
|
|
688
|
+
private runWithSessionGates;
|
|
689
|
+
/**
|
|
690
|
+
* Morning routine execution with pre-processing (lock, rotateDayFiles,
|
|
691
|
+
* prompt variant selection). Only called for routine === "morning_routine".
|
|
692
|
+
* Tier is resolved by BackendRouter from process-key defaults or user config.
|
|
693
|
+
*/
|
|
694
|
+
private executeMorningRoutine;
|
|
695
|
+
/**
|
|
696
|
+
* Read the operator-or-preset configured tier for `routine.morning_routine`
|
|
697
|
+
* so the non-configurable `morning_routine_initial` variant can mirror it.
|
|
698
|
+
* Returns null when no row exists (fresh install before the setup wizard
|
|
699
|
+
* applies a preset) or when the pinned model isn't in the registry — the
|
|
700
|
+
* caller falls back to the router's default tier in those cases.
|
|
701
|
+
*/
|
|
702
|
+
private inferConfiguredMorningRoutineTier;
|
|
703
|
+
private emitPostMorningCatchups;
|
|
704
|
+
/**
|
|
705
|
+
* Schedule a retry of the morning routine when today.md wasn't generated.
|
|
706
|
+
*
|
|
707
|
+
* Uses the existing agent_schedule → ScheduleWatcher path rather than
|
|
708
|
+
* re-enqueuing on the EventBus directly. Benefits:
|
|
709
|
+
* 1. Retry persists across daemon restarts.
|
|
710
|
+
* 2. Shares the same Opus cost-limit and concurrency gates.
|
|
711
|
+
* 3. Back-off delay is enforced by scheduled_for timestamp.
|
|
712
|
+
*
|
|
713
|
+
* Retry policy: exponential back-off (5 min → 10 min → 15 min), max 3
|
|
714
|
+
* attempts. After the 3rd failure, send a critical notification to
|
|
715
|
+
* the user and stop retrying.
|
|
716
|
+
*
|
|
717
|
+
* Retry count is tracked via `event.data.retryCount` on the RoutineEvent.
|
|
718
|
+
* On the first failure the count comes from the cron-fired RoutineEvent
|
|
719
|
+
* (undefined → 0). On subsequent failures handleMorningRoutineRetry
|
|
720
|
+
* synthesizes a new RoutineEvent carrying the previous count from the
|
|
721
|
+
* wake task's taskContext, so the chain propagates through a single
|
|
722
|
+
* code path: event.data.retryCount → +1 → task_context.retryCount
|
|
723
|
+
* → next event.data.retryCount → ...
|
|
724
|
+
*
|
|
725
|
+
* Dedup protects against pathological cases:
|
|
726
|
+
* - M1: another retry is already pending/running → skip
|
|
727
|
+
*/
|
|
728
|
+
private scheduleMorningRetry;
|
|
729
|
+
private buildRepositoryRunPrompt;
|
|
730
|
+
private prepareRepositoryRunSessionDir;
|
|
731
|
+
private executeRepositoryRunTask;
|
|
732
|
+
/**
|
|
733
|
+
* Execute a scheduled task with the model specified when the task was
|
|
734
|
+
* registered via POST /api/schedule.
|
|
735
|
+
*
|
|
736
|
+
* Morning-routine retry tasks take a dedicated fast path: they skip
|
|
737
|
+
* the generic scheduled.task prompt and run the *real* morning routine
|
|
738
|
+
* flow via executeMorningRoutine, so the retry carries the same rotateDayFiles
|
|
739
|
+
* / prompt selection / roadmap-refresh chain as the cron-fired path.
|
|
740
|
+
*/
|
|
741
|
+
private executeScheduledTask;
|
|
742
|
+
/**
|
|
743
|
+
* Legacy git project documentation tasks used to run as autonomous Claude
|
|
744
|
+
* task-flows. That made file creation probabilistic: the backend could
|
|
745
|
+
* finish "successfully" without calling the daemon context API, or fail
|
|
746
|
+
* before receiving the `<task_context>` block. The daemon now owns these
|
|
747
|
+
* writes directly, matching the manual Daily git management buttons and
|
|
748
|
+
* the repository-management cron.
|
|
749
|
+
*/
|
|
750
|
+
private executeGitProjectDocTaskIfApplicable;
|
|
751
|
+
private resolveGitProjectDocProcessKey;
|
|
752
|
+
private resolveRepositoryForGitProjectDocTask;
|
|
753
|
+
private markScheduledTaskCompleted;
|
|
754
|
+
private executeScheduledRoutine;
|
|
755
|
+
/**
|
|
756
|
+
* Handle a morning-routine retry wake task.
|
|
757
|
+
*
|
|
758
|
+
* Steps:
|
|
759
|
+
* 1. Early skip: if today.md already exists (e.g., the cron-fired
|
|
760
|
+
* morning routine raced us to it), mark this wake task completed
|
|
761
|
+
* without running the agent — saves one Opus session.
|
|
762
|
+
* 2. Synthesize a RoutineEvent with `event.data.retryCount` carrying
|
|
763
|
+
* the current attempt number, so that the recursive
|
|
764
|
+
* scheduleMorningRetry call from executeMorningRoutine can increment the
|
|
765
|
+
* retry chain naturally via the event.data code path.
|
|
766
|
+
* 3. Invoke executeMorningRoutine — this reuses the full morning-routine flow
|
|
767
|
+
* (rotateDayFiles, prompt selection, agent execute, post-result
|
|
768
|
+
* today.md check, roadmap_refresh emission).
|
|
769
|
+
* 4. Mark the wake task row completed. processResult inside the
|
|
770
|
+
* executeMorningRoutine call operates on the synthetic RoutineEvent, which
|
|
771
|
+
* is not an AgentTaskEvent, so it does not touch scheduleId — we
|
|
772
|
+
* must do it ourselves.
|
|
773
|
+
*/
|
|
774
|
+
private handleMorningRoutineRetry;
|
|
775
|
+
private hasCurrentAgentDayTodayMd;
|
|
776
|
+
/**
|
|
777
|
+
* Inspect today.md and report its state relative to the current agent-day.
|
|
778
|
+
* Used by the post-routine retry gate so the log can distinguish between
|
|
779
|
+
* "file is missing" and "file has stale H1 date", which are different
|
|
780
|
+
* failure modes (process crash vs. format-confusion bug).
|
|
781
|
+
*/
|
|
782
|
+
private diagnoseTodayMdState;
|
|
783
|
+
/**
|
|
784
|
+
* Rotate day files before Morning Routine:
|
|
785
|
+
* 1. today.md → schedule/YYYY-MM-DD.md (archive)
|
|
786
|
+
* 2. today.md → yesterday.md (rename for context injection)
|
|
787
|
+
*
|
|
788
|
+
* After this, ContextBuilder will read yesterday.md as <yesterday>
|
|
789
|
+
* and today.md will not exist (agent generates it fresh).
|
|
790
|
+
*/
|
|
791
|
+
private rotateDayFiles;
|
|
792
|
+
/**
|
|
793
|
+
* Lightweight execution path — delegates tier selection entirely to the
|
|
794
|
+
* BackendRouter via process-key defaults (or user-configured
|
|
795
|
+
* `process_backend_config` overrides). No hardcoded requestedTier.
|
|
796
|
+
*/
|
|
797
|
+
/**
|
|
798
|
+
* Roadmap-refresh execution with an exclusive cross-request write
|
|
799
|
+
* lock. The lockId is surfaced to the session context as
|
|
800
|
+
* `<roadmap_write_lock_id>` so the task-flow PUT / PATCH calls can
|
|
801
|
+
* pass `X-Lock-Id` and other concurrent flows (DM handler, evening
|
|
802
|
+
* sweeper) that attempt to write `/api/context/roadmap` during the
|
|
803
|
+
* refresh receive a 409.
|
|
804
|
+
*
|
|
805
|
+
* If the lock cannot be acquired (another session is mid-write), the
|
|
806
|
+
* refresh is skipped — `emitRoadmapRefresh` will retry on the next
|
|
807
|
+
* qualifying signal (dedup window permitting). This is the correct
|
|
808
|
+
* behaviour: the holder is already producing a fresher roadmap than
|
|
809
|
+
* anything we would emit right now.
|
|
810
|
+
*/
|
|
811
|
+
private executeRoadmapRefresh;
|
|
812
|
+
/**
|
|
813
|
+
* P22 §3.4 — skill curation routine. Provisions an isolated optimizer
|
|
814
|
+
* workdir, hands the runId + runToken into the agent's task context via
|
|
815
|
+
* `event.data`, and tears the workdir down regardless of success/failure.
|
|
816
|
+
*
|
|
817
|
+
* The standard `executeDefault` path produces the agent session itself —
|
|
818
|
+
* the only differences from a normal routine are: (a) the workdir is the
|
|
819
|
+
* pre-built optimizer dir (built by `materializeOptimizerWorkdir`), and
|
|
820
|
+
* (b) `executeDefault` recognises `routine.skill_curation` events and
|
|
821
|
+
* pins `allowedToolsOverride` to `SKILL_CURATION_OPTIMIZER_ALLOWED_TOOLS`,
|
|
822
|
+
* which the Claude SDK consumes verbatim and which suspends Allow-mode
|
|
823
|
+
* `bypassPermissions`. The curation API's run-token + Zod chokepoint
|
|
824
|
+
* remains the safety floor for the rare case the override is bypassed
|
|
825
|
+
* (e.g. a future backend that doesn't read `allowedTools`).
|
|
826
|
+
*/
|
|
827
|
+
private executeSkillCurationRoutine;
|
|
828
|
+
private executeDefault;
|
|
829
|
+
/**
|
|
830
|
+
* Handle `/auth` prefix commands from owner DMs.
|
|
831
|
+
* Phase 5 §4.2 (fix codex, cancel), Phase 6 §5.3 (fix gemini),
|
|
832
|
+
* Phase 7 §6.1 (fix all).
|
|
833
|
+
* Returns `true` if the message was consumed (caller should return).
|
|
834
|
+
*/
|
|
835
|
+
private handleAuthCommand;
|
|
836
|
+
private handleMessage;
|
|
837
|
+
/**
|
|
838
|
+
* Mark an in-flight event as having sent a user-facing notification via
|
|
839
|
+
* `POST /api/notify`. Called by the API layer when the route handler sees
|
|
840
|
+
* an `X-Pa-Event-Correlation-Id` header (auto-injected by the shim
|
|
841
|
+
* env). `processResult` consumes the entry to suppress the implicit
|
|
842
|
+
* final-text DM forward.
|
|
843
|
+
*/
|
|
844
|
+
markEventNotified(correlationId: string): void;
|
|
845
|
+
/**
|
|
846
|
+
* STAGE-C-DM-FRESHNESS-PLAN §Task 4 — assemble the DM-only freshness
|
|
847
|
+
* telemetry payload that gets persisted into `agent_actions.detail`.
|
|
848
|
+
* Pulled into its own helper so the message-dispatch path stays
|
|
849
|
+
* readable and so unit tests can exercise the SQL aggregation in
|
|
850
|
+
* isolation.
|
|
851
|
+
*/
|
|
852
|
+
private collectDmFreshnessTelemetry;
|
|
853
|
+
private processResult;
|
|
854
|
+
/**
|
|
855
|
+
* P6 (git-lifecycle-and-triggers.md Decision 8) — restore in-flight
|
|
856
|
+
* `git.project.retemplate` targets from backup whenever a retemplate
|
|
857
|
+
* scheduled task settles. The agent itself cannot reliably roll back
|
|
858
|
+
* its own writes (process exit, exceeded turns, backend faults), so
|
|
859
|
+
* the daemon owns rollback at the dispatcher's two terminal sites
|
|
860
|
+
* (`processResult` + `handleError`). The status grid is the source of
|
|
861
|
+
* truth for which files to restore; `finalizeRetemplate` is idempotent
|
|
862
|
+
* via the `finalizedAt` marker so calling both paths is safe.
|
|
863
|
+
*/
|
|
864
|
+
private finalizeRetemplateRunIfApplicable;
|
|
865
|
+
/**
|
|
866
|
+
* Unified-repositories §4.5 — settle a `repository_management` row when
|
|
867
|
+
* a `git.project.init` / `git.project.update` event the daemon emitted
|
|
868
|
+
* for management terminates. Runs unconditionally on every event
|
|
869
|
+
* because management events live on the EventBus only (no
|
|
870
|
+
* `agent_schedule` row), so the scheduleId-guarded path can't see
|
|
871
|
+
* them; the method early-returns for any taskContext that doesn't
|
|
872
|
+
* carry management metadata.
|
|
873
|
+
*
|
|
874
|
+
* Status mapping (v1):
|
|
875
|
+
* - `git.project.init` success → `recordManagementInitDone`
|
|
876
|
+
* - `git.project.update` success → `recordManagementScan('ok')`
|
|
877
|
+
* (resets `scan_failure_count`)
|
|
878
|
+
* - either, error → `recordManagementScan('failed')`
|
|
879
|
+
* (bumps `scan_failure_count`)
|
|
880
|
+
*
|
|
881
|
+
* `'skipped_no_activity'` is reserved for future task-flow callback —
|
|
882
|
+
* the dispatcher cannot reliably distinguish "agent decided no
|
|
883
|
+
* journal entry needed" from "agent succeeded but didn't write" here.
|
|
884
|
+
*/
|
|
885
|
+
private finalizeManagementScanIfApplicable;
|
|
886
|
+
private hasRecentProactiveForwardContext;
|
|
887
|
+
private logProactiveForwardDisavowalIfMatched;
|
|
888
|
+
private formatSummaryRole;
|
|
889
|
+
private buildCrossSessionConversationHistory;
|
|
890
|
+
private shouldNotify;
|
|
891
|
+
/**
|
|
892
|
+
* Autonomous "observer" events: external-change detections that the
|
|
893
|
+
* daemon pushes into the pipeline, as opposed to user-initiated
|
|
894
|
+
* messages, cron routines, or scheduled tasks. Used for the
|
|
895
|
+
* contextUpdated observability log in processResult.
|
|
896
|
+
*/
|
|
897
|
+
private isObserverEvent;
|
|
898
|
+
/**
|
|
899
|
+
* Create rolling summaries for DM conversations.
|
|
900
|
+
* Called at 4 AM (day boundary) before morning routine.
|
|
901
|
+
*
|
|
902
|
+
* Session-independent: queries messages directly from the DB regardless
|
|
903
|
+
* of which session they belong to. Does NOT expire active sessions —
|
|
904
|
+
* session lifecycle is handled by getOrCreateDm's day boundary check.
|
|
905
|
+
*
|
|
906
|
+
* Rolling summary: previous summary + new messages → new summary.
|
|
907
|
+
* This prevents unbounded growth (summarizing days of history each time).
|
|
908
|
+
*
|
|
909
|
+
* Threshold gate: only runs AI summarization when accumulated messages
|
|
910
|
+
* since the LAST summary exceed the threshold (> 30 messages or > 5000
|
|
911
|
+
* chars of raw text). Below threshold, nothing is saved — the message
|
|
912
|
+
* count accumulates across days until the threshold is reached.
|
|
913
|
+
*/
|
|
914
|
+
summarizeDmSessions(): Promise<void>;
|
|
915
|
+
/** Delegate to shared isRoadmapStale utility. */
|
|
916
|
+
isRoadmapStale(maxAgeDays?: number): boolean;
|
|
917
|
+
/**
|
|
918
|
+
* Emit a roadmap_refresh routine event.
|
|
919
|
+
* Dedup guard: skips if emitted within the last 5 minutes unless
|
|
920
|
+
* `options.bypassDedup` is true. Dashboard-initiated regeneration is
|
|
921
|
+
* the one legal caller that may bypass dedup; all internal call-sites
|
|
922
|
+
* honor it so a burst of signals (flight + hotel confirmations in the
|
|
923
|
+
* same minute) collapses into a single refresh.
|
|
924
|
+
*/
|
|
925
|
+
emitRoadmapRefresh(source: string, options?: {
|
|
926
|
+
bypassDedup?: boolean;
|
|
927
|
+
}): void;
|
|
928
|
+
private localDateTimeToUtcMs;
|
|
929
|
+
private getTimeZoneOffsetMinutes;
|
|
930
|
+
private getLocalDateParts;
|
|
931
|
+
private compareLocalDateParts;
|
|
932
|
+
private isRetryable;
|
|
933
|
+
/**
|
|
934
|
+
* Defense-in-depth retry wrapper around BackendRouter.execute().
|
|
935
|
+
*
|
|
936
|
+
* **Primary retry responsibility lives inside each BackendCore** (§12/§13).
|
|
937
|
+
* Quota errors, timeouts, and auth failures are all normalized into
|
|
938
|
+
* BackendDecisiveFailure / BackendQuotaError before they reach this layer.
|
|
939
|
+
* The BackendRouter handles fallback on decisive failures.
|
|
940
|
+
*
|
|
941
|
+
* This outer loop exists solely as a safety net for raw 5xx errors that
|
|
942
|
+
* somehow escape the BackendCore → Router chain (e.g., an unexpected HTTP
|
|
943
|
+
* error from the SDK transport layer). In practice it almost never fires.
|
|
944
|
+
*/
|
|
945
|
+
private executeWithRetry;
|
|
946
|
+
private handleError;
|
|
947
|
+
/**
|
|
948
|
+
* Best-effort inline error to the dashboard tab whose POST triggered
|
|
949
|
+
* this event. `DashboardAdapter` is `notificationEligible=false`, so
|
|
950
|
+
* the normal `notificationMgr.send` path skips it — without this hook
|
|
951
|
+
* the browser sees the request accepted (200 OK), watches nothing
|
|
952
|
+
* happen, and hits the 120s waiting timeout with no explanation. We
|
|
953
|
+
* target the originating channel id; if the tab already reconnected
|
|
954
|
+
* with a new UUID the adapter silently drops, which matches the
|
|
955
|
+
* chat_error semantics.
|
|
956
|
+
*/
|
|
957
|
+
private notifyDashboardError;
|
|
958
|
+
private extractQuotaError;
|
|
959
|
+
private formatQuotaMessage;
|
|
960
|
+
private formatBackendLabel;
|
|
961
|
+
private resolveQuotaResetAtMs;
|
|
962
|
+
/**
|
|
963
|
+
* DELEGATED-MODE-V2-DESIGN.md §4.5 — at every DM dispatch, consult the
|
|
964
|
+
* cached probe for delegated integrations whose effective backend
|
|
965
|
+
* matches the session backend. Surfaces a one-shot DM (deduped via
|
|
966
|
+
* `runtime_state`) when the cached probe says required capabilities
|
|
967
|
+
* are no longer present.
|
|
968
|
+
*
|
|
969
|
+
* The consult itself is synchronous DB-only work (cheap on the hot
|
|
970
|
+
* path). The DM dispatch is fire-and-forget so the agent's response
|
|
971
|
+
* latency is not gated on Slack/Telegram round-trips. Per-warning
|
|
972
|
+
* dispatch failures are swallowed so a flaky messaging adapter never
|
|
973
|
+
* breaks the user's actual DM.
|
|
974
|
+
*/
|
|
975
|
+
/**
|
|
976
|
+
* Phase 1 of the §4.5 health check — synchronous cache consult only.
|
|
977
|
+
* Returns the warnings the dispatcher must surface this turn (or `[]`
|
|
978
|
+
* when nothing is broken / setup mode is active / the consult itself
|
|
979
|
+
* threw). Recovery markers are cleared inline by the consult helper, so
|
|
980
|
+
* the caller does not have to track them.
|
|
981
|
+
*
|
|
982
|
+
* Split from the dispatch step so the actual DM (and its messages-table
|
|
983
|
+
* persist) fires AFTER the dispatcher has recorded the inbound user
|
|
984
|
+
* message — otherwise the warning row's `CURRENT_TIMESTAMP` lands before
|
|
985
|
+
* the user-message row's, which makes `chat_meta` history reload reorder
|
|
986
|
+
* the bubbles (warning above user) and a one-time visual flicker leaks
|
|
987
|
+
* to the user. See `runDelegatedConnectorWarningDispatch` below.
|
|
988
|
+
*/
|
|
989
|
+
private consultDelegatedConnectorWarnings;
|
|
990
|
+
/**
|
|
991
|
+
* Phase 2 of the §4.5 health check — asynchronous DM dispatch + post-
|
|
992
|
+
* delivery bookkeeping (throttle marker + dashboard-channel persist).
|
|
993
|
+
* Caller invokes this AFTER the user message is recorded so the DM's
|
|
994
|
+
* messages-table row carries a strictly-later `CURRENT_TIMESTAMP`
|
|
995
|
+
* (preserves pre-reconcile chat order on the dashboard).
|
|
996
|
+
*/
|
|
997
|
+
private runDelegatedConnectorWarningDispatch;
|
|
998
|
+
}
|
|
999
|
+
//# sourceMappingURL=dispatcher.d.ts.map
|