@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,763 @@
|
|
|
1
|
+
import { createLogger } from "../logging.js";
|
|
2
|
+
const logger = createLogger("risk-classifier");
|
|
3
|
+
/**
|
|
4
|
+
* RiskTier — classifies the risk level of Daemon API operations.
|
|
5
|
+
*
|
|
6
|
+
* Convention: numeric enum → UPPER_CASE (EventPriority), string enum → PascalCase (RiskTier)
|
|
7
|
+
*/
|
|
8
|
+
export var RiskTier;
|
|
9
|
+
(function (RiskTier) {
|
|
10
|
+
/** Safe to execute autonomously without any notification */
|
|
11
|
+
RiskTier["Autonomous"] = "autonomous";
|
|
12
|
+
/**
|
|
13
|
+
* Contains personal data (email, calendar, notes, context files).
|
|
14
|
+
* Enforced by X-Read-Token or Bearer auth when `enforceReadToken=true`.
|
|
15
|
+
*/
|
|
16
|
+
RiskTier["ReadSensitive"] = "read_sensitive";
|
|
17
|
+
/** Requires explicit user approval before execution */
|
|
18
|
+
RiskTier["Approve"] = "approve";
|
|
19
|
+
})(RiskTier || (RiskTier = {}));
|
|
20
|
+
/**
|
|
21
|
+
* Risk classification per API endpoint.
|
|
22
|
+
*
|
|
23
|
+
* Keys use "METHOD /path" format for write operations that differ from
|
|
24
|
+
* the default GET risk level. Plain "/path" applies to all methods.
|
|
25
|
+
*/
|
|
26
|
+
const API_RISK = {
|
|
27
|
+
// ── Agent Internal API ──
|
|
28
|
+
// /api/schedule is Autonomous per DESIGN.md §8: the agent self-schedules
|
|
29
|
+
// as part of its normal operation. All methods are included — the agent
|
|
30
|
+
// reschedules (PATCH) and cancels (DELETE) its own tasks via the schedule
|
|
31
|
+
// skill, and the risk profile is identical to POST (single-row DB mutation,
|
|
32
|
+
// idempotent by row ID).
|
|
33
|
+
"/api/health": RiskTier.Autonomous,
|
|
34
|
+
// /api/escalate is a 410 Gone stub. Listed explicitly (rather than
|
|
35
|
+
// relying on the Approve default) so the boot audit's fingerprint
|
|
36
|
+
// stays stable — see the "Admin / dashboard surfaces" block below.
|
|
37
|
+
"POST /api/escalate": RiskTier.Approve,
|
|
38
|
+
"/api/schedule": RiskTier.Autonomous,
|
|
39
|
+
"PATCH /api/schedule/": RiskTier.Autonomous,
|
|
40
|
+
"DELETE /api/schedule/": RiskTier.Autonomous,
|
|
41
|
+
"/api/action/log": RiskTier.Autonomous,
|
|
42
|
+
// Profile-interview queue helper. Read-only, returns a single boolean
|
|
43
|
+
// (`{filled, sectionPresent}`) computed from a context-vault path. No
|
|
44
|
+
// secrets, no auth-sensitive content. Agent prose calls this from the
|
|
45
|
+
// morning routine (Layer 2 pre-pick), DM handler / scheduled.dm.md
|
|
46
|
+
// (Layer 3 fire-time / opportunity abort), and the user_profile_sweep
|
|
47
|
+
// (Layer 4 cross-check). See profile-interview-queue.md §3.5.
|
|
48
|
+
"GET /api/profile-questions/slot-filled": RiskTier.Autonomous,
|
|
49
|
+
// ── Recurring Schedules API (agent + dashboard) ──
|
|
50
|
+
"GET /api/recurring-schedules": RiskTier.Autonomous,
|
|
51
|
+
"POST /api/recurring-schedules": RiskTier.Autonomous,
|
|
52
|
+
"PATCH /api/recurring-schedules/": RiskTier.Autonomous,
|
|
53
|
+
"DELETE /api/recurring-schedules/": RiskTier.Autonomous,
|
|
54
|
+
// ── Automation Triggers API (docs/design/19-dashboard-ia-and-triggers.md) ──
|
|
55
|
+
// Dashboard-driven only — the agent does not configure its own triggers
|
|
56
|
+
// (the user defines them in the Git/<domain> page UI). Approve tier for
|
|
57
|
+
// both reads and writes: list responses reveal scheduling cadence and
|
|
58
|
+
// free-form prompts, which can carry personal context.
|
|
59
|
+
"/api/triggers": RiskTier.Approve,
|
|
60
|
+
// ── Unified Repositories API (docs/design/appendices/unified-repositories.md) ──
|
|
61
|
+
// Dashboard-driven only. Listing reveals registered local paths +
|
|
62
|
+
// GitHub slugs (sensitive in shared-screen scenarios), CRUD changes
|
|
63
|
+
// observer surface, and the run/init/scan endpoints spawn full agent
|
|
64
|
+
// sessions in either a temp dir or a registered local clone.
|
|
65
|
+
// Notify tier was abolished daemon-wide; Approve covers Bearer
|
|
66
|
+
// enforcement for the dashboard and the agent has no current code
|
|
67
|
+
// path that calls these without explicit user surface.
|
|
68
|
+
// The /run + /triggers/:id/run + /management/{init,scan} routes also
|
|
69
|
+
// write `agent_actions(action_type='repo_run')` rows for retrospective
|
|
70
|
+
// visibility — the route handlers are the chokepoint, not the
|
|
71
|
+
// classifier.
|
|
72
|
+
"/api/repositories": RiskTier.Approve,
|
|
73
|
+
// Agent-callable chokepoint for the architecture refresh flow. The
|
|
74
|
+
// outer `/api/repositories` Approve umbrella protects browser-facing
|
|
75
|
+
// CRUD; this endpoint is invoked by the agent session spawned for
|
|
76
|
+
// `git.project.refresh_architecture` (no Bearer in the workdir), so
|
|
77
|
+
// it gets an explicit Autonomous override. Body validation in the
|
|
78
|
+
// route caps the payload size and rejects begin/end-marker
|
|
79
|
+
// smuggling, so the blast radius is limited to the marker-bracketed
|
|
80
|
+
// Architecture block of one overview.md.
|
|
81
|
+
"PUT /api/repositories/{*}/architecture-section": RiskTier.Autonomous,
|
|
82
|
+
// ── Skills API (agent + dashboard) ──
|
|
83
|
+
// Agent manages user skills via the external-services skill (user-initiated DMs).
|
|
84
|
+
// Built-in skills are immutable by API construction (slug collision rejection).
|
|
85
|
+
// Reads and writes are both Autonomous — the agent calls via curl without
|
|
86
|
+
// tokens. Per DELEGATED-MODE-V2-DESIGN.md §4.5, the user-driven `deniedTools`
|
|
87
|
+
// setting is the primary defense; on-demand retrospective via /api/agent/actions
|
|
88
|
+
// covers awareness.
|
|
89
|
+
"GET /api/skills": RiskTier.Autonomous,
|
|
90
|
+
"POST /api/skills": RiskTier.Autonomous,
|
|
91
|
+
"PUT /api/skills/": RiskTier.Autonomous,
|
|
92
|
+
"DELETE /api/skills/": RiskTier.Autonomous,
|
|
93
|
+
// ── Docs & QA (DOCS_QA_BACKEND_DESIGN.md §10) ──
|
|
94
|
+
// Read endpoints serve operator-facing docs that are not personal data
|
|
95
|
+
// (sourced from agent-assets/docs/, mirrored to docs/user/ on first
|
|
96
|
+
// launch). The docs-search skill must be able to curl these without a
|
|
97
|
+
// Bearer token, so they're Autonomous.
|
|
98
|
+
"/api/docs": RiskTier.Autonomous,
|
|
99
|
+
// POST /api/docs/qa/messages enqueues a Q&A turn through the docs-QA
|
|
100
|
+
// SSE adapter — it is dashboard-tab input gated by the dashboard's
|
|
101
|
+
// Bearer auth, with the same blast-radius shape as /api/chat/messages
|
|
102
|
+
// (Approve), so it gets an explicit override on top of the
|
|
103
|
+
// Autonomous prefix (DOCS_QA_B7_DESIGN.md D6).
|
|
104
|
+
"POST /api/docs/qa/messages": RiskTier.Approve,
|
|
105
|
+
// GET /api/docs/qa/stream stays under the prefix's Autonomous tier
|
|
106
|
+
// — the explicit row is documentation-shaped per the rest of this
|
|
107
|
+
// file's style, so future readers can audit the QA endpoints by
|
|
108
|
+
// grepping `docs/qa`.
|
|
109
|
+
"GET /api/docs/qa/stream": RiskTier.Autonomous,
|
|
110
|
+
// ── Dashboard / Browser-facing API ──
|
|
111
|
+
// These endpoints are initiated by the dashboard rather than the autonomous
|
|
112
|
+
// agent loop, so they must never be reachable without an API token.
|
|
113
|
+
"GET /api/config/google-auth/callback": RiskTier.Autonomous,
|
|
114
|
+
// design/15-character.md §15.6 — dedicated agent-callable endpoint for the
|
|
115
|
+
// character (persona) field. The general /api/config surface stays Approve
|
|
116
|
+
// because it can touch secrets, OAuth tokens, and schedule hot-reloads.
|
|
117
|
+
// The character field is a single bounded style string, so a GET/PATCH
|
|
118
|
+
// scoped to it matches /api/skills' risk profile: Autonomous on both.
|
|
119
|
+
// Bearer-less callers (the agent's curl from a session workdir) can set
|
|
120
|
+
// tone/persona without the full config blast radius.
|
|
121
|
+
"GET /api/config/character": RiskTier.Autonomous,
|
|
122
|
+
"PATCH /api/config/character": RiskTier.Autonomous,
|
|
123
|
+
"/api/config": RiskTier.Approve,
|
|
124
|
+
"/api/setup": RiskTier.Approve,
|
|
125
|
+
// Management Mode Phase 2 — migration endpoint. Redundant with the
|
|
126
|
+
// /api/setup prefix rule above (which already hits Approve) but named
|
|
127
|
+
// explicitly so future refactors of the setup-tier rules don't
|
|
128
|
+
// accidentally drop this endpoint to a weaker tier. The blast radius
|
|
129
|
+
// is catastrophic: move files + rewrite DB + swap the context store.
|
|
130
|
+
"POST /api/setup/migrate-context": RiskTier.Approve,
|
|
131
|
+
// Knowledge import — owner uploads a Markdown / text file from the
|
|
132
|
+
// dashboard Knowledge page; the daemon emits a one-shot session that
|
|
133
|
+
// writes facts into user/*.md. Approve tier because the blast radius
|
|
134
|
+
// is the entire user/* tree. Bearer auth required.
|
|
135
|
+
"POST /api/knowledge/import": RiskTier.Approve,
|
|
136
|
+
"/api/system": RiskTier.Approve,
|
|
137
|
+
"/api/events": RiskTier.Approve,
|
|
138
|
+
"/api/conversations": RiskTier.Approve,
|
|
139
|
+
"DELETE /api/conversations": RiskTier.Approve,
|
|
140
|
+
"DELETE /api/conversations/": RiskTier.Approve,
|
|
141
|
+
"/api/cost": RiskTier.Approve,
|
|
142
|
+
"/api/metrics": RiskTier.Approve,
|
|
143
|
+
"/api/logs": RiskTier.Approve,
|
|
144
|
+
"/api/approvals": RiskTier.Approve,
|
|
145
|
+
"/api/notifications": RiskTier.Approve,
|
|
146
|
+
"/api/search": RiskTier.Approve,
|
|
147
|
+
"/api/snapshots": RiskTier.Approve,
|
|
148
|
+
"/api/chat": RiskTier.Approve,
|
|
149
|
+
"/api/commands": RiskTier.Approve,
|
|
150
|
+
"/api/schedule/next": RiskTier.Approve,
|
|
151
|
+
"/api/schedule/list": RiskTier.Approve,
|
|
152
|
+
"POST /api/agent/regenerate": RiskTier.Approve,
|
|
153
|
+
"POST /api/agent/run-now": RiskTier.Approve,
|
|
154
|
+
// DELEGATED-MODE-V2-DESIGN.md §6.1 — agent-callable retrospective.
|
|
155
|
+
// Autonomous tier so the DM session can read its own audit trail without
|
|
156
|
+
// the dashboard-issued bearer (which agents don't have). Output is
|
|
157
|
+
// redacted via secret-redaction before serialization.
|
|
158
|
+
"GET /api/agent/actions": RiskTier.Autonomous,
|
|
159
|
+
// ── Chat file attachments (Phase 1) ──
|
|
160
|
+
// Dashboard-initiated reads/uploads/deletes are owner-only. They fall
|
|
161
|
+
// under the `/api/chat` Approve umbrella so Bearer auth is enforced by
|
|
162
|
+
// the middleware — explicit entries are listed for auditability only.
|
|
163
|
+
"GET /api/chat/attachments/": RiskTier.Approve,
|
|
164
|
+
"POST /api/chat/attachments": RiskTier.Approve,
|
|
165
|
+
"DELETE /api/chat/attachments/": RiskTier.Approve,
|
|
166
|
+
// The outbound endpoint is the agent's path (curl from the session
|
|
167
|
+
// workdir, no Bearer). It validates `X-Turn-Token` in-handler instead,
|
|
168
|
+
// so the middleware must not force Bearer on it. Autonomous tier drops
|
|
169
|
+
// it from Approve's mandatory-Bearer check; the agent's calls land in
|
|
170
|
+
// agent_actions for the on-demand retrospective.
|
|
171
|
+
"POST /api/chat/outbound-attachments": RiskTier.Autonomous,
|
|
172
|
+
// ── Context File API ──
|
|
173
|
+
// GET reads contain personal notes, schedule, user profile — ReadSensitive.
|
|
174
|
+
// Writes remain Autonomous (agent's own memory operations).
|
|
175
|
+
"GET /api/context": RiskTier.ReadSensitive,
|
|
176
|
+
"PUT /api/context/": RiskTier.Autonomous,
|
|
177
|
+
"PATCH /api/context/": RiskTier.Autonomous,
|
|
178
|
+
"PUT /api/context/today": RiskTier.Autonomous,
|
|
179
|
+
"PATCH /api/context/today": RiskTier.Autonomous,
|
|
180
|
+
"PUT /api/context/tomorrow": RiskTier.Autonomous,
|
|
181
|
+
"PATCH /api/context/tomorrow": RiskTier.Autonomous,
|
|
182
|
+
// B-007 §5.1 — user profile lives at user/profile.md, area files under user/*.md.
|
|
183
|
+
"PUT /api/context/user/": RiskTier.Autonomous,
|
|
184
|
+
"PATCH /api/context/user/": RiskTier.Autonomous,
|
|
185
|
+
// B-007 §5.1 — management rules moved from context/management-rules.md to
|
|
186
|
+
// context/rules/management.md; mcp / journal-format / journal-export /
|
|
187
|
+
// redaction rules are Autonomous (post-Notify-abolition) — agent edits its
|
|
188
|
+
// own session-shaping rules, on-demand retrospective covers awareness.
|
|
189
|
+
"PUT /api/context/rules/": RiskTier.Autonomous,
|
|
190
|
+
"PATCH /api/context/rules/": RiskTier.Autonomous,
|
|
191
|
+
"PATCH /api/context/roadmap": RiskTier.Autonomous,
|
|
192
|
+
// Pure-utility ID minter — reads existing IDs, generates a fresh one.
|
|
193
|
+
// No write side-effect; the route's own write-lock guard handles
|
|
194
|
+
// concurrent-mint protection. Without this entry the call defaulted
|
|
195
|
+
// to Approve (fail-closed) and roadmap_refresh's task-flow Step 4.1
|
|
196
|
+
// collapsed onto fabricated placeholder IDs that then failed PUT
|
|
197
|
+
// validation with `Malformed roadmap id marker`.
|
|
198
|
+
"POST /api/context/roadmap/id": RiskTier.Autonomous,
|
|
199
|
+
"PUT /api/context/projects": RiskTier.Autonomous,
|
|
200
|
+
"PATCH /api/context/projects": RiskTier.Autonomous,
|
|
201
|
+
"PUT /api/context/weekly": RiskTier.Autonomous,
|
|
202
|
+
// B-007 §5.9 — day rotation endpoint (today.md → yesterday.md; synthesized
|
|
203
|
+
// daily/YYYY-MM-DD.md is written by the morning routine, not this path).
|
|
204
|
+
"POST /api/context/archive-today": RiskTier.Autonomous,
|
|
205
|
+
// B-007 §5.8 — routines/<cadence>.md and routines/custom/<slug>.md
|
|
206
|
+
// shape scheduled behavior; Autonomous (matches rules tier).
|
|
207
|
+
"PUT /api/context/routines/": RiskTier.Autonomous,
|
|
208
|
+
"PATCH /api/context/routines/": RiskTier.Autonomous,
|
|
209
|
+
"DELETE /api/context/routines/": RiskTier.Autonomous,
|
|
210
|
+
// B-007 §5.9 — synthesized daily journal path is Autonomous (agent-owned output).
|
|
211
|
+
"PUT /api/context/daily/": RiskTier.Autonomous,
|
|
212
|
+
"PATCH /api/context/daily/": RiskTier.Autonomous,
|
|
213
|
+
// B-007 §5.1 — agent/journal.md (self-reflection) is agent-only.
|
|
214
|
+
"PUT /api/context/agent/": RiskTier.Autonomous,
|
|
215
|
+
"PATCH /api/context/agent/": RiskTier.Autonomous,
|
|
216
|
+
"GET /api/context/list": RiskTier.ReadSensitive,
|
|
217
|
+
// B-008 P7 — Vault Health surface. `health` returns a structural drift
|
|
218
|
+
// report (no user prose), so Autonomous. `repair/stub` copies a template
|
|
219
|
+
// file into the vault — Autonomous (agent self-repair); the dashboard
|
|
220
|
+
// path remains unauthenticated-with-browser-gate per the agent-callable
|
|
221
|
+
// pattern, and every call lands in agent_actions for retrospective.
|
|
222
|
+
"GET /api/context/health": RiskTier.Autonomous,
|
|
223
|
+
"POST /api/context/repair/stub": RiskTier.Autonomous,
|
|
224
|
+
"POST /api/context/lock/morning-routine": RiskTier.Autonomous,
|
|
225
|
+
"DELETE /api/context/lock/morning-routine": RiskTier.Autonomous,
|
|
226
|
+
"POST /api/context/lock/roadmap": RiskTier.Autonomous,
|
|
227
|
+
"DELETE /api/context/lock/roadmap": RiskTier.Autonomous,
|
|
228
|
+
"GET /api/observations": RiskTier.ReadSensitive,
|
|
229
|
+
"GET /api/observations/stats": RiskTier.Autonomous,
|
|
230
|
+
"POST /api/observations": RiskTier.Autonomous,
|
|
231
|
+
"POST /api/observations/consume": RiskTier.Autonomous,
|
|
232
|
+
// ── Notification ──
|
|
233
|
+
"/api/notify": RiskTier.Autonomous,
|
|
234
|
+
// ── External Service Proxy ──
|
|
235
|
+
// GET reads return personal calendar/email/notes data — ReadSensitive.
|
|
236
|
+
"GET /api/calendar/events": RiskTier.ReadSensitive,
|
|
237
|
+
"GET /api/calendar/calendars": RiskTier.ReadSensitive,
|
|
238
|
+
"POST /api/calendar/events": RiskTier.Autonomous,
|
|
239
|
+
"PATCH /api/calendar/events": RiskTier.Autonomous,
|
|
240
|
+
"DELETE /api/calendar/events": RiskTier.Autonomous,
|
|
241
|
+
"POST /api/calendar/freebusy": RiskTier.ReadSensitive,
|
|
242
|
+
// SETUP-FLOW-REDESIGN-PLAN §5.5 / §6.1 — Outlook on-demand calendar
|
|
243
|
+
// reads (no observer in v1). Read-sensitive matches the Google
|
|
244
|
+
// calendar list/get tier; the agent never writes via these routes
|
|
245
|
+
// today.
|
|
246
|
+
"GET /api/calendar/outlook/calendars": RiskTier.ReadSensitive,
|
|
247
|
+
"GET /api/calendar/outlook/events": RiskTier.ReadSensitive,
|
|
248
|
+
// Apple Calendar (iCloud CalDAV) — same tiers as Google Calendar for the
|
|
249
|
+
// event-level routes; credential setters require Approve so the agent
|
|
250
|
+
// cannot quietly write app-specific passwords on the user's behalf even
|
|
251
|
+
// though the curl allowlist would otherwise permit it.
|
|
252
|
+
"GET /api/apple-calendar/status": RiskTier.Autonomous,
|
|
253
|
+
"GET /api/apple-calendar/events": RiskTier.ReadSensitive,
|
|
254
|
+
"GET /api/apple-calendar/calendars": RiskTier.ReadSensitive,
|
|
255
|
+
"POST /api/apple-calendar/events": RiskTier.Autonomous,
|
|
256
|
+
"PATCH /api/apple-calendar/events": RiskTier.Autonomous,
|
|
257
|
+
"DELETE /api/apple-calendar/events": RiskTier.Autonomous,
|
|
258
|
+
"POST /api/apple-calendar/freebusy": RiskTier.ReadSensitive,
|
|
259
|
+
"POST /api/apple-calendar/credentials": RiskTier.Approve,
|
|
260
|
+
"DELETE /api/apple-calendar/credentials": RiskTier.Approve,
|
|
261
|
+
"POST /api/apple-calendar/default-calendar": RiskTier.Approve,
|
|
262
|
+
"GET /api/notion/query": RiskTier.ReadSensitive,
|
|
263
|
+
"GET /api/notion/databases": RiskTier.ReadSensitive,
|
|
264
|
+
"GET /api/notion/search": RiskTier.ReadSensitive,
|
|
265
|
+
"GET /api/notion/pages/": RiskTier.ReadSensitive,
|
|
266
|
+
"POST /api/notion/pages": RiskTier.Autonomous,
|
|
267
|
+
"PATCH /api/notion/pages/": RiskTier.Autonomous,
|
|
268
|
+
"DELETE /api/notion/pages/": RiskTier.Autonomous,
|
|
269
|
+
// Obsidian: status is low-sensitivity metadata; notes/search contain content.
|
|
270
|
+
"GET /api/obsidian/status": RiskTier.Autonomous,
|
|
271
|
+
"GET /api/obsidian/notes": RiskTier.ReadSensitive,
|
|
272
|
+
"GET /api/obsidian/search": RiskTier.ReadSensitive,
|
|
273
|
+
"POST /api/obsidian/notes": RiskTier.Autonomous,
|
|
274
|
+
"PUT /api/obsidian/notes": RiskTier.Autonomous,
|
|
275
|
+
"PATCH /api/obsidian/notes": RiskTier.Autonomous,
|
|
276
|
+
"DELETE /api/obsidian/notes": RiskTier.Autonomous,
|
|
277
|
+
"PATCH /api/obsidian/daily": RiskTier.Autonomous,
|
|
278
|
+
// ── Multi-mail provider (Phase 1 scope gate + Phase 2 Outlook routes) ──
|
|
279
|
+
"GET /api/mail/providers": RiskTier.ReadSensitive,
|
|
280
|
+
"PATCH /api/mail/providers": RiskTier.Approve,
|
|
281
|
+
"GET /api/mail/accounts": RiskTier.ReadSensitive,
|
|
282
|
+
"POST /api/mail/accounts": RiskTier.Approve,
|
|
283
|
+
"POST /api/mail/accounts/device-code": RiskTier.Approve,
|
|
284
|
+
"PATCH /api/mail/accounts/": RiskTier.Approve,
|
|
285
|
+
"DELETE /api/mail/accounts/": RiskTier.Approve,
|
|
286
|
+
// BYOA client-config — stores the Azure AD clientId/tenant. The payload
|
|
287
|
+
// itself is not a secret (public OAuth client model), but writes reshape
|
|
288
|
+
// trust for every Outlook account so the write path is owner-only.
|
|
289
|
+
"GET /api/config/mail/outlook/client-config": RiskTier.Approve,
|
|
290
|
+
"PUT /api/config/mail/outlook/client-config": RiskTier.Approve,
|
|
291
|
+
"DELETE /api/config/mail/outlook/client-config": RiskTier.Approve,
|
|
292
|
+
"POST /api/config/mail/app-password": RiskTier.Approve,
|
|
293
|
+
// App-password rotation: rewrites credentials for an existing IMAP account
|
|
294
|
+
// — same blast radius as initial create, owner-only.
|
|
295
|
+
"POST /api/config/mail/app-password/{*}/refresh": RiskTier.Approve,
|
|
296
|
+
// ── Multi-mail provider per-account operations (Phase 5 §3.3, §8) ──
|
|
297
|
+
// Routes are split by blast radius, not by body content, so the classifier
|
|
298
|
+
// stays path-based. `{*}` is a single-segment placeholder (see
|
|
299
|
+
// {@link matchesPattern}). Pattern keys win over flat-prefix keys of
|
|
300
|
+
// equal literal-prefix length.
|
|
301
|
+
//
|
|
302
|
+
// Flat-prefix defaults (catch-all for any new /api/mail/* route that
|
|
303
|
+
// hasn't been classified explicitly yet — Autonomous for all writes per
|
|
304
|
+
// DELEGATED-MODE-V2-DESIGN.md §4.5.1. Explicit patterns below override the
|
|
305
|
+
// catch-alls via the longest-literal-prefix tiebreaker; deniedTools is
|
|
306
|
+
// the safety control, not the tier.):
|
|
307
|
+
"GET /api/mail/": RiskTier.ReadSensitive,
|
|
308
|
+
// Cross-account local FTS5 search — ReadSensitive like any mail read.
|
|
309
|
+
// Listed explicitly so the rule is obvious in review even though the
|
|
310
|
+
// GET catch-all above would cover it.
|
|
311
|
+
"GET /api/mail/search": RiskTier.ReadSensitive,
|
|
312
|
+
"POST /api/mail/": RiskTier.Autonomous,
|
|
313
|
+
"PATCH /api/mail/": RiskTier.Autonomous,
|
|
314
|
+
"DELETE /api/mail/": RiskTier.Autonomous,
|
|
315
|
+
// Draft CRUD — drafts are inert until explicitly sent.
|
|
316
|
+
"POST /api/mail/{*}/drafts": RiskTier.Autonomous,
|
|
317
|
+
"PATCH /api/mail/{*}/drafts/": RiskTier.Autonomous,
|
|
318
|
+
"DELETE /api/mail/{*}/drafts/": RiskTier.Autonomous,
|
|
319
|
+
// Reversible metadata ops (mark-read, labels, archive, untrash).
|
|
320
|
+
"POST /api/mail/{*}/messages/{*}/read": RiskTier.Autonomous,
|
|
321
|
+
"POST /api/mail/{*}/messages/{*}/archive": RiskTier.Autonomous,
|
|
322
|
+
"POST /api/mail/{*}/messages/{*}/untrash": RiskTier.Autonomous,
|
|
323
|
+
"POST /api/mail/{*}/messages/{*}/tags": RiskTier.Autonomous,
|
|
324
|
+
// Destructive / outbound — Autonomous; deniedTools is the safety control
|
|
325
|
+
// (DELEGATED-MODE-V2-DESIGN.md §4.5). The wizard pre-populates a starter
|
|
326
|
+
// denylist on first delegated setup so a fresh install blocks _send / trash
|
|
327
|
+
// by default; the user opts out explicitly per §4.5.4.
|
|
328
|
+
"POST /api/mail/{*}/messages/send": RiskTier.Autonomous,
|
|
329
|
+
"POST /api/mail/{*}/messages/{*}/trash": RiskTier.Autonomous,
|
|
330
|
+
"POST /api/mail/{*}/drafts/{*}/send": RiskTier.Autonomous,
|
|
331
|
+
// ── Git ──
|
|
332
|
+
"GET /api/git": RiskTier.Autonomous,
|
|
333
|
+
// Git project document templates + Re-template (P6 git-lifecycle-and-triggers.md
|
|
334
|
+
// Decision 8). The editor (GET/PUT), apply (POST :kind/apply), and status
|
|
335
|
+
// (GET retemplate/status) are dashboard-driven and change durable assets,
|
|
336
|
+
// so they sit at Approve-tier — matching `/api/task-flows` whose blast
|
|
337
|
+
// radius is the same shape (free-form prose the agent picks up verbatim).
|
|
338
|
+
// The per-file reporter (POST retemplate/file) is the exception: the
|
|
339
|
+
// re-template task-flow runs as an autonomous session and posts per-file
|
|
340
|
+
// progress over curl from the session workdir, which carries no Bearer
|
|
341
|
+
// token. It must therefore be Autonomous, mirroring `/api/observations`
|
|
342
|
+
// and the `/api/context/*` write surface. The exact-match rule wins over
|
|
343
|
+
// the path-only `/api/git/templates` prefix per
|
|
344
|
+
// `findExplicitRiskClassification` step 1.
|
|
345
|
+
"POST /api/git/templates/retemplate/file": RiskTier.Autonomous,
|
|
346
|
+
"/api/git/templates": RiskTier.Approve,
|
|
347
|
+
// ── GitHub ──
|
|
348
|
+
"GET /api/github": RiskTier.Autonomous,
|
|
349
|
+
"POST /api/github/pulls/comment": RiskTier.Autonomous,
|
|
350
|
+
// ── Travel Bookings (Phase B) ──
|
|
351
|
+
"GET /api/travel-bookings": RiskTier.ReadSensitive,
|
|
352
|
+
"GET /api/travel-bookings/": RiskTier.ReadSensitive,
|
|
353
|
+
"GET /api/travel-bookings/upcoming": RiskTier.ReadSensitive,
|
|
354
|
+
"PATCH /api/travel-bookings/": RiskTier.Approve,
|
|
355
|
+
// ── Receipts (Phase B) ──
|
|
356
|
+
"GET /api/receipts": RiskTier.ReadSensitive,
|
|
357
|
+
"GET /api/receipts/": RiskTier.ReadSensitive,
|
|
358
|
+
"GET /api/receipts/summary": RiskTier.ReadSensitive,
|
|
359
|
+
"POST /api/receipts/": RiskTier.ReadSensitive, // binary receipt download
|
|
360
|
+
"PATCH /api/receipts/": RiskTier.Approve,
|
|
361
|
+
// ── Travel Time (Phase B) ──
|
|
362
|
+
"GET /api/travel-time": RiskTier.Autonomous,
|
|
363
|
+
"GET /api/travel-time/for-event/": RiskTier.Autonomous,
|
|
364
|
+
// ── Books & Reading (Phase C, F-10) ──
|
|
365
|
+
"GET /api/books": RiskTier.ReadSensitive,
|
|
366
|
+
"GET /api/books/": RiskTier.ReadSensitive,
|
|
367
|
+
"GET /api/books/summary": RiskTier.ReadSensitive,
|
|
368
|
+
"PATCH /api/books/": RiskTier.Approve, // user corrections
|
|
369
|
+
"POST /api/books/import-clippings": RiskTier.Autonomous, // bulk data write
|
|
370
|
+
"POST /api/books/import-notebook-html": RiskTier.Autonomous, // Kindle Notebook Export email ingest
|
|
371
|
+
// ── MCP Servers (B-003 Phase 2) ──
|
|
372
|
+
// Mutations are Approve tier because an MCP server is effectively arbitrary
|
|
373
|
+
// code with tool-level access to the agent. Probe is Autonomous — it spawns
|
|
374
|
+
// a subprocess / opens an outbound HTTP call to the server the user just
|
|
375
|
+
// configured, but it does not commit any agent-visible state until the
|
|
376
|
+
// enable flip (which is Approve).
|
|
377
|
+
"GET /api/mcp/servers": RiskTier.ReadSensitive,
|
|
378
|
+
"GET /api/mcp/servers/": RiskTier.ReadSensitive,
|
|
379
|
+
"POST /api/mcp/servers": RiskTier.Approve,
|
|
380
|
+
"PATCH /api/mcp/servers/": RiskTier.Approve,
|
|
381
|
+
"DELETE /api/mcp/servers/": RiskTier.Approve,
|
|
382
|
+
"POST /api/mcp/servers/{*}/probe": RiskTier.Autonomous,
|
|
383
|
+
"POST /api/mcp/servers/{*}/enable": RiskTier.Approve,
|
|
384
|
+
"POST /api/mcp/servers/{*}/disable": RiskTier.Autonomous,
|
|
385
|
+
"PUT /api/mcp/servers/{*}/secrets/": RiskTier.Approve,
|
|
386
|
+
"DELETE /api/mcp/servers/{*}/secrets/": RiskTier.Approve,
|
|
387
|
+
// Phase 3 kill switch — Autonomous. Contracts tool surface; per-server
|
|
388
|
+
// enable (which expands surface) stays Approve.
|
|
389
|
+
"POST /api/mcp/disable-all": RiskTier.Autonomous,
|
|
390
|
+
// Gemini-side MCP installer — shells out to `gemini extensions install`
|
|
391
|
+
// / `gemini mcp add`, modifying ~/.gemini/* config and potentially
|
|
392
|
+
// launching an OAuth browser flow. Approve tier matches the per-server
|
|
393
|
+
// mutation routes above: an MCP install expands the agent's tool
|
|
394
|
+
// surface and the install URL is a trust delegation to a third-party
|
|
395
|
+
// GitHub release / hosted MCP server.
|
|
396
|
+
"POST /api/mcp/gemini-install": RiskTier.Approve,
|
|
397
|
+
// ── Backends / Auth Recovery ──
|
|
398
|
+
// Dashboard-initiated. Reads are Approve (contain auth status detail).
|
|
399
|
+
// Recovery writes are Approve (credential file writes).
|
|
400
|
+
"GET /api/backends": RiskTier.Approve,
|
|
401
|
+
"POST /api/backends/": RiskTier.Approve,
|
|
402
|
+
"PUT /api/backends/main": RiskTier.Approve,
|
|
403
|
+
// Provider API key configuration (ANTHROPIC_API_KEY / OPENAI_API_KEY /
|
|
404
|
+
// GEMINI_API_KEY+GOOGLE_API_KEY). Approve tier across the board:
|
|
405
|
+
// - GET returns whether a key is configured + which env source — sensitive
|
|
406
|
+
// metadata that reveals the operator's auth posture.
|
|
407
|
+
// - PUT writes a provider credential to the OS keychain and mirrors it
|
|
408
|
+
// into process.env, redirecting every subsequent agent call to that key.
|
|
409
|
+
// - DELETE removes the key, restoring the captured shell-set value (if
|
|
410
|
+
// any) or falling back to CLI/OAuth.
|
|
411
|
+
"GET /api/backends/{*}/api-key": RiskTier.Approve,
|
|
412
|
+
"PUT /api/backends/{*}/api-key": RiskTier.Approve,
|
|
413
|
+
"DELETE /api/backends/{*}/api-key": RiskTier.Approve,
|
|
414
|
+
// ── Integrations (delegation framework, Phase 1) ──
|
|
415
|
+
// Dashboard-only mutations — mode changes rewrite `integrations.md` and
|
|
416
|
+
// (in later phases) stop pollers / gate routes. Approve tier matches
|
|
417
|
+
// the `/api/backends` profile.
|
|
418
|
+
"GET /api/integrations": RiskTier.Approve,
|
|
419
|
+
"PATCH /api/integrations/": RiskTier.Approve,
|
|
420
|
+
// Phase 2: connector probe endpoint. Approve-tier — the request body
|
|
421
|
+
// accepts a tool list that bypasses the live MCP enumerator, so a
|
|
422
|
+
// misuse can falsify the cached features map until the next live probe
|
|
423
|
+
// overwrites it. Same trust level as the mode flip above.
|
|
424
|
+
"POST /api/integrations/{*}/probe": RiskTier.Approve,
|
|
425
|
+
// RESERVED — POST /api/integrations/{*}/invoke
|
|
426
|
+
//
|
|
427
|
+
// The route handler is commented out as of 2026-05-01 (/exec-only
|
|
428
|
+
// migration). Risk-classifier entries are keyed on the route pattern,
|
|
429
|
+
// and a request to a commented-out route never reaches this map. The
|
|
430
|
+
// classification is preserved here so a future reactivation lands
|
|
431
|
+
// back at the same tier without re-deriving it. See the RESERVED
|
|
432
|
+
// block in `packages/daemon/src/api/routes/integrations.ts` for the
|
|
433
|
+
// reactivation conditions.
|
|
434
|
+
//
|
|
435
|
+
// Original rationale: Autonomous — the agent calls freely from
|
|
436
|
+
// cross-backend skill prose, and the user's `deniedTools` setting is
|
|
437
|
+
// the chokepoint enforced inside the handler. Approve is reserved
|
|
438
|
+
// for daemon-config posture changes (§4.5.2); tool-level safety
|
|
439
|
+
// stays at the deny list.
|
|
440
|
+
// "POST /api/integrations/{*}/invoke": RiskTier.Autonomous,
|
|
441
|
+
// delegated-sync opt-in surface
|
|
442
|
+
// (docs/design/appendices/delegated-sync-opt-in.md). Approve tier:
|
|
443
|
+
// dashboard-only schedule writes that change which background cadences
|
|
444
|
+
// spend AI tokens. Run Now is the only POST and is also Approve — it
|
|
445
|
+
// triggers a paid subprocess invocation, never agent-callable.
|
|
446
|
+
"GET /api/delegated-sync": RiskTier.Approve,
|
|
447
|
+
"PATCH /api/delegated-sync/cadences/": RiskTier.Approve,
|
|
448
|
+
"PATCH /api/delegated-sync/active-hours": RiskTier.Approve,
|
|
449
|
+
"POST /api/delegated-sync/cadences/": RiskTier.Approve,
|
|
450
|
+
// INTEGRATION-DRIFT-DETECTION-PLAN.md §6.0 — drift-detection chokepoint.
|
|
451
|
+
// Autonomous: the agent's hourly_check delegated variant POSTs the
|
|
452
|
+
// result of its connector fetch to compute a structural diff. Defense
|
|
453
|
+
// layers (window-key allowlist + per-call audit row) live inside the
|
|
454
|
+
// handler. Daemon-internal callers (CalendarPoller, DelegatedSyncWorker)
|
|
455
|
+
// call the pure `reconcile()` function directly and bypass this route.
|
|
456
|
+
"POST /api/integrations/{*}/reconcile": RiskTier.Autonomous,
|
|
457
|
+
// DELEGATED-TASK-MODE-DESIGN.md §4.1 — Phase 1 task mode for known
|
|
458
|
+
// integrations. Autonomous, parallel to `/api/integrations/{*}/invoke`
|
|
459
|
+
// (RPC mode); the per-integration `deniedTools` plus `allowDestructive`
|
|
460
|
+
// gate enforce the safety floor without bearer auth.
|
|
461
|
+
"POST /api/integrations/{*}/exec": RiskTier.Autonomous,
|
|
462
|
+
// DELEGATED-TASK-MODE-DESIGN.md §4.2 — Phase 2 generic task mode for
|
|
463
|
+
// unregistered MCPs. Approve tier (Bearer required) per the design's
|
|
464
|
+
// "wider blast radius than /exec" rationale: there is no registered
|
|
465
|
+
// integration's `deniedTools` to act as a chokepoint, so trust moves
|
|
466
|
+
// up to dashboard / operator invocation. Diverges from
|
|
467
|
+
// `/api/integrations/{*}/invoke` (Autonomous) and
|
|
468
|
+
// `/api/integrations/{*}/exec` (Autonomous), where the integration's
|
|
469
|
+
// user-curated deny list is the safety floor.
|
|
470
|
+
"POST /api/delegated/run": RiskTier.Approve,
|
|
471
|
+
// ── Admin / dashboard surfaces (post-audit baseline 2026-04-29) ──
|
|
472
|
+
// Until `auditRiskClassifications` landed, every entry below would
|
|
473
|
+
// fall through to the conservative Approve default. The audit then
|
|
474
|
+
// surfaced 33 such routes at boot — useful as a one-time triage but
|
|
475
|
+
// noisy as a recurring warning. Listing each surface explicitly
|
|
476
|
+
// here pins the audit's fingerprint to "0 unclassified" so a single
|
|
477
|
+
// future regression (the next `roadmap/id`-style oversight) shows
|
|
478
|
+
// up as exactly one new line, not buried in a 33-row baseline.
|
|
479
|
+
//
|
|
480
|
+
// Every entry is Approve by intent (not by default fallback). None
|
|
481
|
+
// of these routes are agent-callable: secrets / messaging-pairing /
|
|
482
|
+
// backend-config / dashboard polling are all Bearer-gated UI or
|
|
483
|
+
// admin operations.
|
|
484
|
+
// Snapshot restore — rollback via dashboard.
|
|
485
|
+
"POST /api/context/restore-snapshot/": RiskTier.Approve,
|
|
486
|
+
// Catch-all DELETE under /api/context. Retention sweeps for daily/
|
|
487
|
+
// and weekly/ go through dedicated handlers, not this fallback.
|
|
488
|
+
"DELETE /api/context/": RiskTier.Approve,
|
|
489
|
+
// Secrets — never agent-callable. Single prefix per method covers
|
|
490
|
+
// writes for every platform (slack/telegram/discord/notion/github/
|
|
491
|
+
// google/{credentials,token}) and the DELETE-by-name path.
|
|
492
|
+
"PUT /api/secrets/": RiskTier.Approve,
|
|
493
|
+
"DELETE /api/secrets/": RiskTier.Approve,
|
|
494
|
+
// Messaging admin — pairing flows, token tests, status. Dashboard
|
|
495
|
+
// only; agents talk to messaging via internal channel adapters,
|
|
496
|
+
// never this HTTP surface.
|
|
497
|
+
"GET /api/messaging/": RiskTier.Approve,
|
|
498
|
+
"POST /api/messaging/": RiskTier.Approve,
|
|
499
|
+
// Backends config writes (defaults / advisor pin). The existing
|
|
500
|
+
// `PUT /api/backends/main` exact entry above documents per-process
|
|
501
|
+
// bindings; these two cover the remaining global writes.
|
|
502
|
+
"PUT /api/backends/defaults": RiskTier.Approve,
|
|
503
|
+
"PUT /api/backends/advisor": RiskTier.Approve,
|
|
504
|
+
// Process-config — per-ProcessKey backend overrides, dashboard only.
|
|
505
|
+
"GET /api/process-config": RiskTier.Approve,
|
|
506
|
+
"PUT /api/process-config/": RiskTier.Approve,
|
|
507
|
+
// ── Task-flow overrides (P5 git-lifecycle-and-triggers.md) ──
|
|
508
|
+
// Dashboard-only writes that store free-form prompt prose under
|
|
509
|
+
// <dataDir>/task-flows/<key>.md. Reads expose the bundled body too —
|
|
510
|
+
// not a personal-data risk, but Approve-tier matches `/api/triggers`
|
|
511
|
+
// (dashboard-driven) since the override changes how the agent
|
|
512
|
+
// dispatches every matching event going forward.
|
|
513
|
+
"/api/task-flows": RiskTier.Approve,
|
|
514
|
+
// ── Git accounts (P5 multi-account remotes) ──
|
|
515
|
+
// Approve tier on every method. PAT writes via PUT carry secrets in
|
|
516
|
+
// the body; metadata edits change which credential a watched repo
|
|
517
|
+
// resolves to. Probe is Approve too — it shells out to `gh api user`
|
|
518
|
+
// which counts against the user's API quota.
|
|
519
|
+
"/api/git-accounts": RiskTier.Approve,
|
|
520
|
+
"POST /api/git-accounts/{*}/probe": RiskTier.Approve,
|
|
521
|
+
// Dashboard polling — Bearer-gated UI surfaces.
|
|
522
|
+
"GET /api/dashboard/next-check": RiskTier.Approve,
|
|
523
|
+
// STAGE-C-DM-FRESHNESS-PLAN §Task 4 — DM-freshness aggregate served
|
|
524
|
+
// to the dashboard's observability panel. Read-only roll-up of
|
|
525
|
+
// agent_actions; same Bearer-gated tier as other dashboard reads.
|
|
526
|
+
"GET /api/dashboard/dm-freshness": RiskTier.Approve,
|
|
527
|
+
// Activity tab read-mirror (Memory → Activity). Dashboard-only — surfaces
|
|
528
|
+
// the wider activity-source union used by the runner so the UI can flag
|
|
529
|
+
// recently-stopped tasks whose `_activity/<source>.md` is still on disk
|
|
530
|
+
// for the 90-day window. Not agent-callable; same Approve tier as the
|
|
531
|
+
// rest of the dashboard read surfaces.
|
|
532
|
+
"GET /api/activity-sources": RiskTier.Approve,
|
|
533
|
+
// Voice transcription opt-in surface (docs/design/appendices/voice-
|
|
534
|
+
// transcription.md). Both endpoints are owner-only via the dashboard's
|
|
535
|
+
// Settings → Advanced → Voice Mode card. Status is polled every 2s
|
|
536
|
+
// while installing; install kicks off the model download, persists
|
|
537
|
+
// `voiceTranscriptionEnabled=true`, and triggers a daemon self-restart
|
|
538
|
+
// on success — same blast-radius shape as `/api/setup/*`.
|
|
539
|
+
"GET /api/voice/status": RiskTier.Approve,
|
|
540
|
+
"POST /api/voice/install": RiskTier.Approve,
|
|
541
|
+
// ── Management Registry & Entities (docs/design/21-management-registry-and-entities.md §13.1) ──
|
|
542
|
+
// The agent registers / modifies / stops managed tasks via curl from
|
|
543
|
+
// its session workdir; the Notify-tier intent in §13.1 maps onto the
|
|
544
|
+
// current Autonomous + DM-confirmation pattern (the §13.1 "Notify"
|
|
545
|
+
// label predates the abolition of a separate Notify tier — see
|
|
546
|
+
// recurring-schedules' identical Autonomous classification at top of
|
|
547
|
+
// this file). The destructive-confirmation invariant lives in the
|
|
548
|
+
// skill prompts (DM before stop), not in HTTP risk tiers.
|
|
549
|
+
//
|
|
550
|
+
// Reads are Autonomous because the rendered file content is also
|
|
551
|
+
// injected into the prompt via policy-files.ts wildcard ref — the
|
|
552
|
+
// GET surface adds no new disclosure.
|
|
553
|
+
"GET /api/managed-tasks": RiskTier.Autonomous,
|
|
554
|
+
"POST /api/managed-tasks": RiskTier.Autonomous,
|
|
555
|
+
"GET /api/managed-tasks/": RiskTier.Autonomous,
|
|
556
|
+
"PATCH /api/managed-tasks/": RiskTier.Autonomous,
|
|
557
|
+
"DELETE /api/managed-tasks/": RiskTier.Autonomous,
|
|
558
|
+
"POST /api/managed-tasks/{*}/run-now": RiskTier.Autonomous,
|
|
559
|
+
"POST /api/managed-tasks/{*}/rename-app": RiskTier.Autonomous,
|
|
560
|
+
"PATCH /api/managed-tasks/{*}/run-result": RiskTier.Autonomous,
|
|
561
|
+
// Aggregate audit feed for the dashboard's Settings → Management →
|
|
562
|
+
// History tab. Browser-only — the agent's per-mt history reads through
|
|
563
|
+
// `GET /api/managed-tasks/:id/runs` (Autonomous, scoped to one row);
|
|
564
|
+
// this surface returns every `management_task.*` and `sot_binding.*`
|
|
565
|
+
// row, which is the same disclosure shape as `/api/conversations` and
|
|
566
|
+
// gets the same Approve tier so Bearer auth is required.
|
|
567
|
+
"GET /api/management-history": RiskTier.Approve,
|
|
568
|
+
"GET /api/sot-bindings": RiskTier.Autonomous,
|
|
569
|
+
"GET /api/sot-bindings/": RiskTier.Autonomous,
|
|
570
|
+
"PUT /api/sot-bindings": RiskTier.Autonomous,
|
|
571
|
+
// Entity-mirror lookup contract (§7.6). Mirror rows surface only the
|
|
572
|
+
// path/title/sources of L2 entity files — the same content the agent
|
|
573
|
+
// would otherwise read via /api/context/* (already ReadSensitive). The
|
|
574
|
+
// mirror returns whichever subset of frontmatter the watcher cached, so
|
|
575
|
+
// we mark it ReadSensitive and require a token, matching /api/context.
|
|
576
|
+
"GET /api/entities": RiskTier.ReadSensitive,
|
|
577
|
+
"GET /api/entities/by-path": RiskTier.ReadSensitive,
|
|
578
|
+
// ── Skill curation (P22 — appendix p22-skill-self-optimization.md) ──
|
|
579
|
+
// Read endpoints are Autonomous — the optimizer agent is gated by
|
|
580
|
+
// its own runToken, and the dashboard reads them with the standard
|
|
581
|
+
// bearer auth. No PII flows through these routes; the payloads are
|
|
582
|
+
// structural metadata about the agent's own skill files.
|
|
583
|
+
"GET /api/skill-curation/skills": RiskTier.Autonomous,
|
|
584
|
+
"GET /api/skill-curation/skills/": RiskTier.Autonomous,
|
|
585
|
+
"GET /api/skill-curation/signals": RiskTier.Autonomous,
|
|
586
|
+
"GET /api/skill-curation/knowledge-map": RiskTier.Autonomous,
|
|
587
|
+
"GET /api/skill-curation/proposals/": RiskTier.Autonomous,
|
|
588
|
+
// Mutation endpoints are Autonomous — the optimizer agent's runToken
|
|
589
|
+
// (HMAC, one-time, scoped to a single run) is the auth surface, enforced
|
|
590
|
+
// inside the route. Per design §2.1 the chokepoint applies every passing
|
|
591
|
+
// proposal atomically; there are no per-proposal approve/reject/revert
|
|
592
|
+
// routes. The only roll-back path is the system-driven auto-revert
|
|
593
|
+
// (`auto-revert.ts`), which never crosses the HTTP boundary.
|
|
594
|
+
"POST /api/skill-curation/runs": RiskTier.Autonomous,
|
|
595
|
+
"POST /api/skill-curation/proposals": RiskTier.Autonomous,
|
|
596
|
+
"POST /api/skill-curation/runs/": RiskTier.Autonomous,
|
|
597
|
+
// P22 §6.1 — settings + listing surfaces consumed by the dashboard.
|
|
598
|
+
// GETs are Autonomous (no PII; framework metadata only). PATCH writes the
|
|
599
|
+
// operator's curation config to runtime_state and re-derives cron — Approve.
|
|
600
|
+
"GET /api/settings/skill-curation": RiskTier.Autonomous,
|
|
601
|
+
"PATCH /api/settings/skill-curation": RiskTier.Approve,
|
|
602
|
+
"GET /api/skill-curation/proposals": RiskTier.Autonomous,
|
|
603
|
+
"GET /api/skill-curation/runs": RiskTier.Autonomous,
|
|
604
|
+
// P22 §6.4 — owner-only "Run optimization now" button. Approve tier so
|
|
605
|
+
// a stolen agent token (e.g. the optimizer's own runToken) cannot bypass
|
|
606
|
+
// the cadence gate by forging a manual run. Dashboard auth fires from
|
|
607
|
+
// the bearer token, not the runToken.
|
|
608
|
+
"POST /api/skill-curation/runs/manual": RiskTier.Approve,
|
|
609
|
+
// §5.4 orphan-overlay surface — read is Autonomous, discard is Approve
|
|
610
|
+
// because it deletes a previously-applied overlay file from disk.
|
|
611
|
+
"GET /api/skill-curation/orphans": RiskTier.Autonomous,
|
|
612
|
+
"POST /api/skill-curation/orphans/discard": RiskTier.Approve,
|
|
613
|
+
};
|
|
614
|
+
/**
|
|
615
|
+
* Find an *explicit* risk classification for a (method, path), without
|
|
616
|
+
* falling back to the default-Approve / default-Autonomous tiers.
|
|
617
|
+
*
|
|
618
|
+
* Returns the matched tier when an entry in `API_RISK` covers the route
|
|
619
|
+
* (via exact, path-only, pattern, or prefix match) and `null` when the
|
|
620
|
+
* route would only be served by the conservative default.
|
|
621
|
+
*
|
|
622
|
+
* Used by both `classifyRisk` (which adds the default fallback) and
|
|
623
|
+
* `auditRiskClassifications` (which surfaces unclassified routes at boot).
|
|
624
|
+
*
|
|
625
|
+
* Lookup order:
|
|
626
|
+
* 1. Exact match: "METHOD /path" (e.g., "POST /api/calendar/events")
|
|
627
|
+
* 2. Path-only match: "/path" (e.g., "/api/health")
|
|
628
|
+
* 3. Pattern match: keys containing `{*}` placeholder — longest literal
|
|
629
|
+
* prefix wins ties (multi-account routes like
|
|
630
|
+
* `POST /api/mail/{*}/messages/send`)
|
|
631
|
+
* 4. Prefix match: longest matching `path.startsWith(...)` key
|
|
632
|
+
*/
|
|
633
|
+
export function findExplicitRiskClassification(method, path) {
|
|
634
|
+
// 1. Exact match with method
|
|
635
|
+
const methodKey = `${method} ${path}`;
|
|
636
|
+
if (methodKey in API_RISK)
|
|
637
|
+
return API_RISK[methodKey];
|
|
638
|
+
// 2. Path-only match
|
|
639
|
+
if (path in API_RISK)
|
|
640
|
+
return API_RISK[path];
|
|
641
|
+
// 3. Pattern match — `{*}` placeholder matches a single non-empty path
|
|
642
|
+
// segment. Longer literal prefix wins ties.
|
|
643
|
+
const patternCandidates = Object.entries(API_RISK)
|
|
644
|
+
.filter(([key]) => key.includes("{*}"))
|
|
645
|
+
.filter(([key]) => {
|
|
646
|
+
// Every API_RISK key is `METHOD path`; the space-less fallback is defensive.
|
|
647
|
+
/* c8 ignore start */
|
|
648
|
+
const keyPath = key.includes(" ") ? key.split(" ")[1] : key;
|
|
649
|
+
const keyMethod = key.includes(" ") ? key.split(" ")[0] : null;
|
|
650
|
+
/* c8 ignore stop */
|
|
651
|
+
if (keyMethod && keyMethod !== method)
|
|
652
|
+
return false;
|
|
653
|
+
return matchesPattern(keyPath, path);
|
|
654
|
+
})
|
|
655
|
+
.sort((a, b) => literalPrefixLength(b[0]) - literalPrefixLength(a[0]));
|
|
656
|
+
if (patternCandidates.length > 0)
|
|
657
|
+
return patternCandidates[0][1];
|
|
658
|
+
// 4. Prefix match (longest first)
|
|
659
|
+
const candidates = Object.entries(API_RISK)
|
|
660
|
+
.filter(([key]) => !key.includes("{*}"))
|
|
661
|
+
.filter(([key]) => {
|
|
662
|
+
// Every API_RISK key is `METHOD path`; the space-less fallback is defensive.
|
|
663
|
+
/* c8 ignore start */
|
|
664
|
+
const keyPath = key.includes(" ") ? key.split(" ")[1] : key;
|
|
665
|
+
const keyMethod = key.includes(" ") ? key.split(" ")[0] : null;
|
|
666
|
+
/* c8 ignore stop */
|
|
667
|
+
if (keyMethod && keyMethod !== method)
|
|
668
|
+
return false;
|
|
669
|
+
return path.startsWith(keyPath);
|
|
670
|
+
})
|
|
671
|
+
.sort((a, b) => b[0].length - a[0].length);
|
|
672
|
+
if (candidates.length > 0)
|
|
673
|
+
return candidates[0][1];
|
|
674
|
+
return null;
|
|
675
|
+
}
|
|
676
|
+
/**
|
|
677
|
+
* Classify the risk tier of an API request.
|
|
678
|
+
*
|
|
679
|
+
* Wraps `findExplicitRiskClassification` with the conservative default:
|
|
680
|
+
* unknown /api/* routes → Approve (fail-closed); other paths → Autonomous.
|
|
681
|
+
*/
|
|
682
|
+
export function classifyRisk(method, path) {
|
|
683
|
+
const explicit = findExplicitRiskClassification(method, path);
|
|
684
|
+
if (explicit !== null)
|
|
685
|
+
return explicit;
|
|
686
|
+
// Unknown daemon API routes must fail closed so newly-added browser-facing
|
|
687
|
+
// endpoints do not become anonymously reachable just because API_RISK was
|
|
688
|
+
// not updated yet.
|
|
689
|
+
if (path.startsWith("/api/")) {
|
|
690
|
+
logger.warn({ method, path }, "No risk classification found for /api route, defaulting to Approve");
|
|
691
|
+
return RiskTier.Approve;
|
|
692
|
+
}
|
|
693
|
+
logger.debug({ method, path }, "No risk classification found, defaulting to Autonomous");
|
|
694
|
+
return RiskTier.Autonomous;
|
|
695
|
+
}
|
|
696
|
+
export function auditRiskClassifications(routes) {
|
|
697
|
+
const seen = new Set();
|
|
698
|
+
const unclassified = [];
|
|
699
|
+
for (const route of routes) {
|
|
700
|
+
const method = route.method.toUpperCase();
|
|
701
|
+
// Hono represents catch-all middleware with method "ALL" or "*" — those
|
|
702
|
+
// are never agent-callable endpoints and don't need a classification.
|
|
703
|
+
if (method === "ALL" || method === "OPTIONS" || method === "HEAD")
|
|
704
|
+
continue;
|
|
705
|
+
if (!route.path.startsWith("/api/") && route.path !== "/api")
|
|
706
|
+
continue;
|
|
707
|
+
const dedupKey = `${method} ${route.path}`;
|
|
708
|
+
if (seen.has(dedupKey))
|
|
709
|
+
continue;
|
|
710
|
+
seen.add(dedupKey);
|
|
711
|
+
// Substitute Hono `:param` segments with a representative literal so
|
|
712
|
+
// `{*}`-patterned entries in API_RISK match. The matcher's `{*}`
|
|
713
|
+
// accepts any single non-empty segment, so the substitute value is
|
|
714
|
+
// arbitrary — `_` keeps audit log lines readable.
|
|
715
|
+
const normalizedPath = route.path.replace(/:[^/]+/g, "_");
|
|
716
|
+
if (findExplicitRiskClassification(method, normalizedPath) === null) {
|
|
717
|
+
unclassified.push({ method, path: route.path });
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
return unclassified;
|
|
721
|
+
}
|
|
722
|
+
/** Turn a key path with `{*}` placeholders into a segment regex matcher.
|
|
723
|
+
* Each `{*}` matches a single non-empty URL segment (no `/`). Remaining
|
|
724
|
+
* trailing path after the last literal segment is allowed — this keeps
|
|
725
|
+
* prefix-style keys working, e.g. `/api/mail/{*}/messages/` matches both
|
|
726
|
+
* `.../messages/abc` and `.../messages/abc/trash`. */
|
|
727
|
+
function matchesPattern(keyPath, actualPath) {
|
|
728
|
+
const segments = keyPath.split("/");
|
|
729
|
+
const actualSegments = actualPath.split("/");
|
|
730
|
+
if (actualSegments.length < segments.length)
|
|
731
|
+
return false;
|
|
732
|
+
// Compare segment-by-segment; `{*}` accepts any single non-empty segment.
|
|
733
|
+
// Trailing segments in `actualPath` beyond the key length are treated as
|
|
734
|
+
// a prefix match (keeps `endsWith:"/"` style keys matching).
|
|
735
|
+
const endsWithSlash = keyPath.endsWith("/");
|
|
736
|
+
const compareLen = endsWithSlash ? segments.length - 1 : segments.length;
|
|
737
|
+
if (!endsWithSlash && actualSegments.length !== segments.length)
|
|
738
|
+
return false;
|
|
739
|
+
for (let i = 0; i < compareLen; i++) {
|
|
740
|
+
const s = segments[i];
|
|
741
|
+
if (s === "{*}") {
|
|
742
|
+
if (!actualSegments[i] || actualSegments[i].length === 0)
|
|
743
|
+
return false;
|
|
744
|
+
continue;
|
|
745
|
+
}
|
|
746
|
+
if (s !== actualSegments[i])
|
|
747
|
+
return false;
|
|
748
|
+
}
|
|
749
|
+
return true;
|
|
750
|
+
}
|
|
751
|
+
/** Count characters before the first `{*}` (or whole length if none) —
|
|
752
|
+
* used to rank pattern candidates by specificity. Defensive against future
|
|
753
|
+
* overlapping `{*}` keys: today no two `{*}` entries in `API_RISK` match
|
|
754
|
+
* the same `(method, path)` pair, so the sort comparator never invokes
|
|
755
|
+
* this helper. The function exists so the first overlapping pair added
|
|
756
|
+
* picks the more specific entry instead of relying on iteration order. */
|
|
757
|
+
/* c8 ignore start */
|
|
758
|
+
function literalPrefixLength(key) {
|
|
759
|
+
const idx = key.indexOf("{*}");
|
|
760
|
+
return idx < 0 ? key.length : idx;
|
|
761
|
+
}
|
|
762
|
+
/* c8 ignore stop */
|
|
763
|
+
//# sourceMappingURL=risk-classifier.js.map
|