@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,816 @@
|
|
|
1
|
+
import { appendFileSync, existsSync, mkdirSync, readdirSync, realpathSync, rmSync, } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { dirname, isAbsolute, join, parse, relative, resolve, sep } from "node:path";
|
|
4
|
+
import { createLogger, toSafeErrorMessage } from "../logging.js";
|
|
5
|
+
import { clearLogBuffer } from "../log-buffer.js";
|
|
6
|
+
import { getContextDir } from "../config.js";
|
|
7
|
+
import { applySchema } from "../db/schema.js";
|
|
8
|
+
import { cleanupSessionWorkdir, getSessionWorkdirPath } from "./workdir.js";
|
|
9
|
+
import { INTERNAL_SECRET_NAMES, SECRET_NAMES } from "../secrets/secret-names.js";
|
|
10
|
+
const logger = createLogger("system-reset");
|
|
11
|
+
/**
|
|
12
|
+
* Append a structured line to `${dataDir}/system-reset.log` for scoped
|
|
13
|
+
* maintenance operations. Full factory reset removes this file again as part
|
|
14
|
+
* of returning the device to a fresh-install state.
|
|
15
|
+
*/
|
|
16
|
+
export function appendResetAuditLine(params) {
|
|
17
|
+
const { dataDir, event, payload } = params;
|
|
18
|
+
try {
|
|
19
|
+
mkdirSync(dataDir, { recursive: true });
|
|
20
|
+
const line = JSON.stringify({
|
|
21
|
+
timestamp: new Date().toISOString(),
|
|
22
|
+
event,
|
|
23
|
+
...payload,
|
|
24
|
+
}) + "\n";
|
|
25
|
+
appendFileSync(join(dataDir, "system-reset.log"), line, { mode: 0o600 });
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
// Audit is best-effort — a failure here must not break the reset.
|
|
29
|
+
logger.warn({ err, event }, "Failed to append to system-reset audit log");
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function assertSafeContextDir(rawContextDir, rawDataDir) {
|
|
33
|
+
if (!isAbsolute(rawContextDir)) {
|
|
34
|
+
throw new Error(`Refusing to wipe non-absolute context path: ${rawContextDir}`);
|
|
35
|
+
}
|
|
36
|
+
const contextDir = resolve(rawContextDir);
|
|
37
|
+
const realContextDir = existsSync(contextDir) ? realpathSync(contextDir) : contextDir;
|
|
38
|
+
const dataDir = resolve(rawDataDir);
|
|
39
|
+
const realDataDir = existsSync(dataDir) ? realpathSync(dataDir) : dataDir;
|
|
40
|
+
const deniedExact = new Set([
|
|
41
|
+
homedir(),
|
|
42
|
+
dataDir,
|
|
43
|
+
realDataDir,
|
|
44
|
+
dirname(dataDir),
|
|
45
|
+
dirname(realDataDir),
|
|
46
|
+
]);
|
|
47
|
+
for (const candidate of [contextDir, realContextDir]) {
|
|
48
|
+
const root = parse(candidate).root;
|
|
49
|
+
if (candidate === root || deniedExact.has(candidate)) {
|
|
50
|
+
throw new Error(`Refusing to wipe unsafe context path: ${contextDir}`);
|
|
51
|
+
}
|
|
52
|
+
const segmentCount = candidate
|
|
53
|
+
.slice(root.length)
|
|
54
|
+
.split(sep)
|
|
55
|
+
.filter(Boolean).length;
|
|
56
|
+
if (segmentCount < 2) {
|
|
57
|
+
throw new Error(`Refusing to wipe shallow context path: ${contextDir}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return contextDir;
|
|
61
|
+
}
|
|
62
|
+
function assertSafeDataChild(rawPath, rawDataDir) {
|
|
63
|
+
const dataDir = resolve(rawDataDir);
|
|
64
|
+
const target = resolve(rawPath);
|
|
65
|
+
const rel = relative(dataDir, target);
|
|
66
|
+
if (rel.length === 0 ||
|
|
67
|
+
rel === ".." ||
|
|
68
|
+
rel.startsWith(`..${sep}`) ||
|
|
69
|
+
isAbsolute(rel)) {
|
|
70
|
+
throw new Error(`Refusing to wipe path outside dataDir: ${target}`);
|
|
71
|
+
}
|
|
72
|
+
return target;
|
|
73
|
+
}
|
|
74
|
+
function quoteSqlIdentifier(name) {
|
|
75
|
+
return `"${name.replace(/"/g, '""')}"`;
|
|
76
|
+
}
|
|
77
|
+
function tableExists(db, tableName) {
|
|
78
|
+
return db
|
|
79
|
+
.prepare(`SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?`)
|
|
80
|
+
.get(tableName) !== undefined;
|
|
81
|
+
}
|
|
82
|
+
function clearRecurringScheduleLinksForScheduleDelete(db, includeRunningSchedule) {
|
|
83
|
+
if (!tableExists(db, "recurring_schedules") || !tableExists(db, "agent_schedule")) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (includeRunningSchedule) {
|
|
87
|
+
db.prepare(`UPDATE recurring_schedules SET last_scheduled_id = NULL`).run();
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
db.prepare(`UPDATE recurring_schedules
|
|
91
|
+
SET last_scheduled_id = NULL
|
|
92
|
+
WHERE last_scheduled_id IN (
|
|
93
|
+
SELECT id FROM agent_schedule WHERE status != 'running'
|
|
94
|
+
)`).run();
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Wipe every piece of conversation + audit history. Active sessions
|
|
98
|
+
* (status='active') and their messages are preserved so a mid-turn
|
|
99
|
+
* dashboard chat is not yanked out from under the user.
|
|
100
|
+
*
|
|
101
|
+
* Ordering: messages before sessions (FK without ON DELETE CASCADE).
|
|
102
|
+
* Workdir cleanup runs AFTER the transaction commits so a rolled-back
|
|
103
|
+
* tx can't leave orphaned file deletions.
|
|
104
|
+
*/
|
|
105
|
+
export function purgeHistory(params) {
|
|
106
|
+
const { db, dataDir, includeActive = false, includeRunningSchedule = false, } = params;
|
|
107
|
+
const sessionFilter = includeActive ? "" : "WHERE status != 'active'";
|
|
108
|
+
const result = {
|
|
109
|
+
deletedSessions: 0,
|
|
110
|
+
deletedMessages: 0,
|
|
111
|
+
deletedActions: 0,
|
|
112
|
+
deletedObservations: 0,
|
|
113
|
+
deletedNotifications: 0,
|
|
114
|
+
deletedSnapshots: 0,
|
|
115
|
+
deletedSchedule: 0,
|
|
116
|
+
deletedDmLog: 0,
|
|
117
|
+
};
|
|
118
|
+
let deletedIds = [];
|
|
119
|
+
db.transaction(() => {
|
|
120
|
+
const msgInfo = db
|
|
121
|
+
.prepare(includeActive
|
|
122
|
+
? `DELETE FROM messages`
|
|
123
|
+
: `DELETE FROM messages
|
|
124
|
+
WHERE session_id IN (
|
|
125
|
+
SELECT id FROM conversation_sessions WHERE status != 'active'
|
|
126
|
+
)`)
|
|
127
|
+
.run();
|
|
128
|
+
result.deletedMessages = msgInfo.changes;
|
|
129
|
+
const returned = db
|
|
130
|
+
.prepare(`DELETE FROM conversation_sessions ${sessionFilter} RETURNING id`)
|
|
131
|
+
.all();
|
|
132
|
+
deletedIds = returned.map((r) => r.id);
|
|
133
|
+
result.deletedSessions = deletedIds.length;
|
|
134
|
+
result.deletedActions = db.prepare(`DELETE FROM agent_actions`).run().changes;
|
|
135
|
+
result.deletedObservations = db.prepare(`DELETE FROM observations`).run().changes;
|
|
136
|
+
result.deletedNotifications = db.prepare(`DELETE FROM notification_log`).run().changes;
|
|
137
|
+
result.deletedSnapshots = db.prepare(`DELETE FROM md_file_snapshots`).run().changes;
|
|
138
|
+
result.deletedDmLog = db.prepare(`DELETE FROM dm_conversation_log`).run().changes;
|
|
139
|
+
clearRecurringScheduleLinksForScheduleDelete(db, includeRunningSchedule);
|
|
140
|
+
// Normal history purge keeps running schedule rows because the dispatcher
|
|
141
|
+
// may be waiting on them. Factory reset opts into deleting them too.
|
|
142
|
+
result.deletedSchedule = db
|
|
143
|
+
.prepare(includeRunningSchedule
|
|
144
|
+
? `DELETE FROM agent_schedule`
|
|
145
|
+
: `DELETE FROM agent_schedule WHERE status != 'running'`)
|
|
146
|
+
.run().changes;
|
|
147
|
+
})();
|
|
148
|
+
for (const id of deletedIds) {
|
|
149
|
+
cleanupSessionWorkdir(getSessionWorkdirPath(dataDir, id));
|
|
150
|
+
}
|
|
151
|
+
logger.info({ ...result, includeActive, includeRunningSchedule }, "Purged history");
|
|
152
|
+
appendResetAuditLine({
|
|
153
|
+
dataDir,
|
|
154
|
+
event: "purge_history",
|
|
155
|
+
payload: { ...result, includeActive, includeRunningSchedule },
|
|
156
|
+
});
|
|
157
|
+
return result;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Reset runtime config by clearing the `settings` table. Next reads fall
|
|
161
|
+
* back to Zod defaults baked into `runtimeSettingsSchema`. `.env` (bootstrap
|
|
162
|
+
* keys like apiPort) and the keychain (secrets) are NOT touched.
|
|
163
|
+
*
|
|
164
|
+
* Mutates `config` in place for keys that have a default in the schema so
|
|
165
|
+
* the running daemon picks up the reset without a restart. Keys that only
|
|
166
|
+
* have env defaults (not in the runtime-settings schema) stay as-is; the
|
|
167
|
+
* confirm dialog warns the user that bootstrap keys are out of scope.
|
|
168
|
+
*/
|
|
169
|
+
export function resetRuntimeConfig(params) {
|
|
170
|
+
const { db, dataDir, applyDefaults } = params;
|
|
171
|
+
const info = db.prepare(`DELETE FROM settings`).run();
|
|
172
|
+
applyDefaults();
|
|
173
|
+
logger.info({ cleared: info.changes }, "Cleared runtime settings");
|
|
174
|
+
if (dataDir) {
|
|
175
|
+
appendResetAuditLine({
|
|
176
|
+
dataDir,
|
|
177
|
+
event: "reset_runtime_config",
|
|
178
|
+
payload: { cleared: info.changes },
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
return { cleared: info.changes };
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Remove everything inside the context directory, including
|
|
185
|
+
* `rules/management.md` — so `/setup/status` flips back to
|
|
186
|
+
* `needsSetup: true` on the next read.
|
|
187
|
+
*
|
|
188
|
+
* The context directory itself is kept so downstream code that
|
|
189
|
+
* unconditionally resolves paths under it doesn't have to recreate it.
|
|
190
|
+
*/
|
|
191
|
+
export function wipeContextFiles(params) {
|
|
192
|
+
const fallbackContextDir = getContextDir({ dataDir: params.dataDir });
|
|
193
|
+
const requestedDirs = params.contextDirs && params.contextDirs.length > 0
|
|
194
|
+
? params.contextDirs
|
|
195
|
+
: [fallbackContextDir];
|
|
196
|
+
const contextDirs = Array.from(new Set(requestedDirs.map((dir) => assertSafeContextDir(dir, params.dataDir))));
|
|
197
|
+
let removed = 0;
|
|
198
|
+
const paths = [];
|
|
199
|
+
const errors = [];
|
|
200
|
+
for (const contextDir of contextDirs) {
|
|
201
|
+
if (!existsSync(contextDir)) {
|
|
202
|
+
paths.push({ path: contextDir, removed: 0 });
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
let entries;
|
|
206
|
+
try {
|
|
207
|
+
entries = readdirSync(contextDir);
|
|
208
|
+
}
|
|
209
|
+
catch (err) {
|
|
210
|
+
const message = toSafeErrorMessage(err, "unknown");
|
|
211
|
+
errors.push({ path: contextDir, message });
|
|
212
|
+
paths.push({ path: contextDir, removed: 0, error: message });
|
|
213
|
+
logger.warn({ path: contextDir, err }, "Failed to read context directory during wipe");
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
let removedForPath = 0;
|
|
217
|
+
for (const entry of entries) {
|
|
218
|
+
const entryPath = join(contextDir, entry);
|
|
219
|
+
try {
|
|
220
|
+
rmSync(entryPath, { recursive: true, force: true });
|
|
221
|
+
removedForPath += 1;
|
|
222
|
+
}
|
|
223
|
+
catch (err) {
|
|
224
|
+
const message = toSafeErrorMessage(err, "unknown");
|
|
225
|
+
errors.push({ path: entryPath, message });
|
|
226
|
+
logger.warn({ path: entryPath, err }, "Failed to remove context entry during wipe");
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
removed += removedForPath;
|
|
230
|
+
const pathResult = { path: contextDir, removed: removedForPath };
|
|
231
|
+
if (removedForPath !== entries.length) {
|
|
232
|
+
pathResult.error = `Failed to remove ${entries.length - removedForPath} entr(y/ies)`;
|
|
233
|
+
}
|
|
234
|
+
paths.push(pathResult);
|
|
235
|
+
logger.info({ path: contextDir, removed: removedForPath }, "Wiped context files");
|
|
236
|
+
}
|
|
237
|
+
appendResetAuditLine({
|
|
238
|
+
dataDir: params.dataDir,
|
|
239
|
+
event: "wipe_context",
|
|
240
|
+
payload: { path: contextDirs[0] ?? fallbackContextDir, removed, paths, errors },
|
|
241
|
+
});
|
|
242
|
+
return { removed, path: contextDirs[0] ?? fallbackContextDir, paths, errors };
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Clear every user-supplied secret from the keychain via the broker —
|
|
246
|
+
* goes through the broker's write-serialization tail so concurrent reads
|
|
247
|
+
* can't race the delete.
|
|
248
|
+
*
|
|
249
|
+
* Also clears the internal blob master key via the store (not the broker,
|
|
250
|
+
* which only knows user-facing names). Since blobs are wiped as part of
|
|
251
|
+
* factory reset, retaining the old master key would only serve to
|
|
252
|
+
* recover blobs that no longer exist.
|
|
253
|
+
*/
|
|
254
|
+
export async function clearAllSecrets(params) {
|
|
255
|
+
const deleted = [];
|
|
256
|
+
const failed = [];
|
|
257
|
+
for (const name of SECRET_NAMES) {
|
|
258
|
+
try {
|
|
259
|
+
await params.secretBroker.delete(name);
|
|
260
|
+
deleted.push(name);
|
|
261
|
+
}
|
|
262
|
+
catch (err) {
|
|
263
|
+
failed.push({ name, message: toSafeErrorMessage(err, "unknown") });
|
|
264
|
+
logger.warn({ name, err }, "Failed to delete secret during factory reset");
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
if (params.secretStore) {
|
|
268
|
+
for (const name of INTERNAL_SECRET_NAMES) {
|
|
269
|
+
try {
|
|
270
|
+
await params.secretStore.delete(name);
|
|
271
|
+
deleted.push(name);
|
|
272
|
+
}
|
|
273
|
+
catch (err) {
|
|
274
|
+
failed.push({ name, message: toSafeErrorMessage(err, "unknown") });
|
|
275
|
+
logger.warn({ name, err }, "Failed to delete internal secret during factory reset");
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return { deleted, failed };
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Remove every file under the encrypted blob store's root directory.
|
|
283
|
+
* The store is content-agnostic — we operate at the filesystem level so
|
|
284
|
+
* that blobs written by uninstalled providers are still cleaned.
|
|
285
|
+
*/
|
|
286
|
+
export function wipeEncryptedBlobs(params) {
|
|
287
|
+
const blobDir = join(params.dataDir, "secrets", "blobs");
|
|
288
|
+
if (!existsSync(blobDir)) {
|
|
289
|
+
return { removed: 0 };
|
|
290
|
+
}
|
|
291
|
+
const entries = readdirSync(blobDir);
|
|
292
|
+
for (const entry of entries) {
|
|
293
|
+
rmSync(join(blobDir, entry), { recursive: true, force: true });
|
|
294
|
+
}
|
|
295
|
+
return { removed: entries.length };
|
|
296
|
+
}
|
|
297
|
+
const FACTORY_RESET_ANCILLARY_DIRS = [
|
|
298
|
+
// Runtime log files can contain pre-reset operational details.
|
|
299
|
+
"logs",
|
|
300
|
+
// File payloads for rows cleared from `chat_attachments`.
|
|
301
|
+
"attachments",
|
|
302
|
+
// Per-session workdirs. `purgeHistory` removes DB-backed ones, but factory
|
|
303
|
+
// reset must also remove orphaned workdirs from failed/legacy sessions.
|
|
304
|
+
"agent-sessions",
|
|
305
|
+
// Migration/reinstall backups and probe sandboxes are recoverability/cache
|
|
306
|
+
// artifacts from pre-reset state, not fresh-install state.
|
|
307
|
+
"migration-backups",
|
|
308
|
+
"backup",
|
|
309
|
+
"mcp",
|
|
310
|
+
"cache",
|
|
311
|
+
// Runtime scratch/auth/customization data.
|
|
312
|
+
"tmp",
|
|
313
|
+
"whatsapp",
|
|
314
|
+
"skills",
|
|
315
|
+
"prompts",
|
|
316
|
+
// User-customized template overrides (`<dataDir>/templates/*.md` shadow
|
|
317
|
+
// the bundled git-project templates) and event-type task-flow overrides
|
|
318
|
+
// (`<dataDir>/task-flows/<eventType>.md` shadow the bundled flows). Both
|
|
319
|
+
// are user-introduced state that should not survive a fresh-install reset.
|
|
320
|
+
"templates",
|
|
321
|
+
"task-flows",
|
|
322
|
+
// Generated git-credential askpass shim and any other regenerable runtime
|
|
323
|
+
// helpers. The daemon re-materializes these lazily on next use.
|
|
324
|
+
"runtime",
|
|
325
|
+
];
|
|
326
|
+
const FACTORY_RESET_TOP_LEVEL_FILES = [
|
|
327
|
+
// If left in place, startup bootstrap reads integrations.md and re-applies
|
|
328
|
+
// pre-reset integration state into the freshly-cleared DB.
|
|
329
|
+
"integrations.md",
|
|
330
|
+
"management.md",
|
|
331
|
+
"system-reset.log",
|
|
332
|
+
// Legacy DB at the dataDir root from very old layouts. Other legacy /
|
|
333
|
+
// backup DB files under `<dataDir>/data/` are wiped dynamically by
|
|
334
|
+
// `wipeStaleDataDirArtifacts` so newly-introduced legacy names cannot
|
|
335
|
+
// silently leak user data through factory reset.
|
|
336
|
+
"data.db",
|
|
337
|
+
];
|
|
338
|
+
const ACTIVE_DB_FILES = [
|
|
339
|
+
"personal_agent.db",
|
|
340
|
+
"personal_agent.db-shm",
|
|
341
|
+
"personal_agent.db-wal",
|
|
342
|
+
];
|
|
343
|
+
/**
|
|
344
|
+
* Remove every file under `<dataDir>/data/` that is not the active SQLite
|
|
345
|
+
* database (compacted, not removed) or one of its WAL/SHM sidecars. This
|
|
346
|
+
* catches:
|
|
347
|
+
*
|
|
348
|
+
* - Legacy DB filenames from prior rebrands (`aitne.db`, `data.db`,
|
|
349
|
+
* `agent.db`, `personal-agent.db`) — including newly-introduced ones
|
|
350
|
+
* a hardcoded allowlist would miss.
|
|
351
|
+
* - DB backup snapshots (`personal_agent.db.bak.<timestamp>`) which
|
|
352
|
+
* contain the *previous* user state in full — a critical leak past
|
|
353
|
+
* factory reset if missed.
|
|
354
|
+
* - Any other `.db` file an older layout dropped here.
|
|
355
|
+
*
|
|
356
|
+
* Subdirectories (none expected today) are also removed for symmetry.
|
|
357
|
+
*/
|
|
358
|
+
export function wipeStaleDataDirArtifacts(params) {
|
|
359
|
+
const dbDir = resolve(params.dataDir, "data");
|
|
360
|
+
if (!existsSync(dbDir)) {
|
|
361
|
+
return { removed: [] };
|
|
362
|
+
}
|
|
363
|
+
const keep = new Set(ACTIVE_DB_FILES);
|
|
364
|
+
const removed = [];
|
|
365
|
+
for (const entry of readdirSync(dbDir)) {
|
|
366
|
+
if (keep.has(entry))
|
|
367
|
+
continue;
|
|
368
|
+
const target = assertSafeDataChild(join(dbDir, entry), params.dataDir);
|
|
369
|
+
rmSync(target, { recursive: true, force: true });
|
|
370
|
+
removed.push(target);
|
|
371
|
+
}
|
|
372
|
+
return { removed };
|
|
373
|
+
}
|
|
374
|
+
export function wipeFactoryResetAncillaryData(params) {
|
|
375
|
+
const dataDir = resolve(params.dataDir);
|
|
376
|
+
const paths = [];
|
|
377
|
+
let removed = 0;
|
|
378
|
+
const legacyLogDirs = params.dirs || !existsSync(dataDir)
|
|
379
|
+
? []
|
|
380
|
+
: readdirSync(dataDir, { withFileTypes: true })
|
|
381
|
+
.filter((entry) => entry.isDirectory() && entry.name.startsWith("logs-old-"))
|
|
382
|
+
.map((entry) => join(dataDir, entry.name));
|
|
383
|
+
const dirs = params.dirs ?? [
|
|
384
|
+
...FACTORY_RESET_ANCILLARY_DIRS.map((name) => join(dataDir, name)),
|
|
385
|
+
...legacyLogDirs,
|
|
386
|
+
];
|
|
387
|
+
const files = params.files ?? FACTORY_RESET_TOP_LEVEL_FILES.map((name) => join(dataDir, name));
|
|
388
|
+
for (const rawDir of dirs) {
|
|
389
|
+
const dir = assertSafeDataChild(rawDir, dataDir);
|
|
390
|
+
const didRemove = existsSync(dir);
|
|
391
|
+
if (didRemove) {
|
|
392
|
+
rmSync(dir, { recursive: true, force: true });
|
|
393
|
+
removed += 1;
|
|
394
|
+
}
|
|
395
|
+
paths.push({ path: dir, kind: "dir", removed: didRemove });
|
|
396
|
+
}
|
|
397
|
+
for (const rawFile of files) {
|
|
398
|
+
const file = assertSafeDataChild(rawFile, dataDir);
|
|
399
|
+
const didRemove = existsSync(file);
|
|
400
|
+
if (didRemove) {
|
|
401
|
+
rmSync(file, { force: true });
|
|
402
|
+
removed += 1;
|
|
403
|
+
}
|
|
404
|
+
paths.push({ path: file, kind: "file", removed: didRemove });
|
|
405
|
+
}
|
|
406
|
+
// Keep required runtime directories available while the daemon continues
|
|
407
|
+
// running. On the next start `initDirectories` will also recreate them.
|
|
408
|
+
mkdirSync(join(dataDir, "tmp"), { recursive: true });
|
|
409
|
+
mkdirSync(join(dataDir, "secrets"), { recursive: true });
|
|
410
|
+
return { removed, paths };
|
|
411
|
+
}
|
|
412
|
+
export function compactDatabaseAfterReset(db) {
|
|
413
|
+
db.exec("VACUUM");
|
|
414
|
+
let checkpointed = false;
|
|
415
|
+
try {
|
|
416
|
+
db.pragma("wal_checkpoint(TRUNCATE)");
|
|
417
|
+
checkpointed = true;
|
|
418
|
+
}
|
|
419
|
+
catch (err) {
|
|
420
|
+
logger.warn({ err }, "Factory reset WAL checkpoint failed after VACUUM");
|
|
421
|
+
}
|
|
422
|
+
return { vacuumed: true, checkpointed };
|
|
423
|
+
}
|
|
424
|
+
const FACTORY_RESET_SEQUENCE_TABLES = [
|
|
425
|
+
"conversation_sessions",
|
|
426
|
+
"dm_conversation_log",
|
|
427
|
+
"messages",
|
|
428
|
+
"agent_actions",
|
|
429
|
+
"recurring_schedules",
|
|
430
|
+
"agent_schedule",
|
|
431
|
+
"notification_log",
|
|
432
|
+
"md_file_snapshots",
|
|
433
|
+
"observations",
|
|
434
|
+
"migration_backups",
|
|
435
|
+
"mcp_tool_calls",
|
|
436
|
+
];
|
|
437
|
+
const FACTORY_RESET_TABLE_CLEAR_ORDER = [
|
|
438
|
+
// Child tables first where the schema has explicit FKs.
|
|
439
|
+
"chat_attachments",
|
|
440
|
+
"messages",
|
|
441
|
+
"conversation_sessions",
|
|
442
|
+
"dm_conversation_log",
|
|
443
|
+
"agent_actions",
|
|
444
|
+
"notification_log",
|
|
445
|
+
"md_file_snapshots",
|
|
446
|
+
"observations",
|
|
447
|
+
"agent_schedule",
|
|
448
|
+
"recurring_schedules",
|
|
449
|
+
"backend_global_defaults",
|
|
450
|
+
"process_backend_config",
|
|
451
|
+
"backends",
|
|
452
|
+
"settings",
|
|
453
|
+
"runtime_state",
|
|
454
|
+
"auth_telemetry_counters",
|
|
455
|
+
"reading_highlights",
|
|
456
|
+
"books",
|
|
457
|
+
"receipts",
|
|
458
|
+
"travel_bookings",
|
|
459
|
+
"parse_failures",
|
|
460
|
+
"mail_messages_index",
|
|
461
|
+
"mail_accounts",
|
|
462
|
+
"migration_backups",
|
|
463
|
+
"mcp_tool_calls",
|
|
464
|
+
"mcp_servers",
|
|
465
|
+
"integration_probes",
|
|
466
|
+
"owner_channels",
|
|
467
|
+
];
|
|
468
|
+
export function getFactoryResetUserTables(db) {
|
|
469
|
+
const rows = db
|
|
470
|
+
.prepare(`SELECT name
|
|
471
|
+
FROM sqlite_master
|
|
472
|
+
WHERE type = 'table'
|
|
473
|
+
AND name NOT LIKE 'sqlite_%'
|
|
474
|
+
AND name NOT LIKE 'fts_%'
|
|
475
|
+
ORDER BY name ASC`)
|
|
476
|
+
.all();
|
|
477
|
+
const existing = new Set(rows.map((row) => row.name));
|
|
478
|
+
const ordered = FACTORY_RESET_TABLE_CLEAR_ORDER.filter((name) => existing.has(name));
|
|
479
|
+
const orderedSet = new Set(ordered);
|
|
480
|
+
const remaining = rows
|
|
481
|
+
.map((row) => row.name)
|
|
482
|
+
.filter((name) => !orderedSet.has(name));
|
|
483
|
+
return [...ordered, ...remaining];
|
|
484
|
+
}
|
|
485
|
+
export function getFactoryResetSearchIndexes(db) {
|
|
486
|
+
const rows = db
|
|
487
|
+
.prepare(`SELECT name, sql
|
|
488
|
+
FROM sqlite_master
|
|
489
|
+
WHERE type = 'table'
|
|
490
|
+
AND sql LIKE 'CREATE VIRTUAL TABLE%USING fts5%'
|
|
491
|
+
ORDER BY name ASC`)
|
|
492
|
+
.all();
|
|
493
|
+
return rows.map((row) => ({
|
|
494
|
+
name: row.name,
|
|
495
|
+
externalContent: /\bcontent\s*=/i.test(row.sql ?? ""),
|
|
496
|
+
}));
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* Last-resort table sweeper for factory reset. It dynamically clears every
|
|
500
|
+
* user-data table in the current schema so newly added tables cannot silently
|
|
501
|
+
* retain state just because a hand-maintained allowlist was missed.
|
|
502
|
+
*/
|
|
503
|
+
export function clearFactoryResetDatabaseTables(db, tableNames = getFactoryResetUserTables(db)) {
|
|
504
|
+
const tables = Array.from(new Set(tableNames));
|
|
505
|
+
const cleared = [];
|
|
506
|
+
if (tables.length === 0) {
|
|
507
|
+
return cleared;
|
|
508
|
+
}
|
|
509
|
+
db.transaction(() => {
|
|
510
|
+
db.pragma("defer_foreign_keys = ON");
|
|
511
|
+
if (tableExists(db, "recurring_schedules")) {
|
|
512
|
+
db.prepare(`UPDATE recurring_schedules SET last_scheduled_id = NULL`).run();
|
|
513
|
+
}
|
|
514
|
+
if (tableExists(db, "agent_schedule")) {
|
|
515
|
+
db.prepare(`UPDATE agent_schedule SET recurring_schedule_id = NULL`).run();
|
|
516
|
+
}
|
|
517
|
+
for (const table of tables) {
|
|
518
|
+
db.prepare(`DELETE FROM ${quoteSqlIdentifier(table)}`).run();
|
|
519
|
+
cleared.push(table);
|
|
520
|
+
}
|
|
521
|
+
})();
|
|
522
|
+
return cleared;
|
|
523
|
+
}
|
|
524
|
+
function getFtsTriggerNames(db) {
|
|
525
|
+
// Match by SQL body containing any `fts_<word>` identifier so triggers are
|
|
526
|
+
// still discoverable when their target FTS table has already been dropped
|
|
527
|
+
// — that's the exact recovery path: a corrupt or missing FTS index cannot
|
|
528
|
+
// be enumerated through `getFactoryResetSearchIndexes`, but the trigger
|
|
529
|
+
// body still mentions it by name.
|
|
530
|
+
const FTS_NAME_PATTERN = /\bfts_[A-Za-z0-9_]+\b/;
|
|
531
|
+
const rows = db
|
|
532
|
+
.prepare(`SELECT name, sql FROM sqlite_master WHERE type = 'trigger'`)
|
|
533
|
+
.all();
|
|
534
|
+
return rows
|
|
535
|
+
.filter((row) => FTS_NAME_PATTERN.test(row.sql ?? ""))
|
|
536
|
+
.map((row) => row.name);
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* Tear down every FTS5 virtual table and the triggers that write into them so
|
|
540
|
+
* a corrupt search index cannot make the AFTER DELETE triggers on `messages`
|
|
541
|
+
* / `agent_actions` / `mail_messages_index` raise
|
|
542
|
+
* "database disk image is malformed" mid-reset.
|
|
543
|
+
*
|
|
544
|
+
* External-content FTS5 indexes can land in a state where reads succeed but
|
|
545
|
+
* the trigger-emitted `INSERT INTO fts_x(fts_x,...) VALUES ('delete', ...)`
|
|
546
|
+
* tombstone fails with that error — `PRAGMA integrity_check` does not always
|
|
547
|
+
* catch it. Even drop+recreate alone is not enough, because a freshly
|
|
548
|
+
* recreated external-content FTS index has no row for an existing source
|
|
549
|
+
* rowid, so the next AFTER DELETE on the source can still raise "malformed".
|
|
550
|
+
*
|
|
551
|
+
* The recovery move: drop the indexes AND their AI/AD/AU triggers up front,
|
|
552
|
+
* then run the data wipes with no FTS writes happening at all, and
|
|
553
|
+
* re-apply the (idempotent) schema at the end via
|
|
554
|
+
* `restoreFactoryResetSearchInfrastructure` to recreate fresh empty indexes
|
|
555
|
+
* and triggers. The next-boot docs indexer rebuilds contentless FTS rows;
|
|
556
|
+
* external-content rows get rebuilt by AFTER INSERT triggers as the source
|
|
557
|
+
* tables get repopulated.
|
|
558
|
+
*/
|
|
559
|
+
export function dropFactoryResetSearchInfrastructure(db) {
|
|
560
|
+
const indexes = getFactoryResetSearchIndexes(db);
|
|
561
|
+
const indexNames = indexes.map((index) => index.name);
|
|
562
|
+
const triggerNames = getFtsTriggerNames(db);
|
|
563
|
+
for (const trigger of triggerNames) {
|
|
564
|
+
db.exec(`DROP TRIGGER IF EXISTS ${quoteSqlIdentifier(trigger)}`);
|
|
565
|
+
}
|
|
566
|
+
for (const name of indexNames) {
|
|
567
|
+
db.exec(`DROP TABLE IF EXISTS ${quoteSqlIdentifier(name)}`);
|
|
568
|
+
}
|
|
569
|
+
return { droppedIndexes: indexNames, droppedTriggers: triggerNames };
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Recreate the FTS5 tables and triggers that
|
|
573
|
+
* `dropFactoryResetSearchInfrastructure` removed. Idempotent — safe to call
|
|
574
|
+
* even if the early drop step failed and nothing was actually dropped.
|
|
575
|
+
*
|
|
576
|
+
* `applySchema` re-runs the schema's INSERT OR IGNORE seed rows (5 tables —
|
|
577
|
+
* managed_task_seq, backends, backend_global_defaults, process_backend_config,
|
|
578
|
+
* settings) into a freshly-emptied DB. The factory-reset contract is "leave
|
|
579
|
+
* the DB completely empty; the next-boot applySchema re-seeds." Re-clearing
|
|
580
|
+
* every user table after applySchema preserves that contract — we don't need
|
|
581
|
+
* to track which specific seeds the schema introduces, and a future addition
|
|
582
|
+
* to the seed block won't silently leak rows past factoryReset.
|
|
583
|
+
*/
|
|
584
|
+
export function restoreFactoryResetSearchInfrastructure(db) {
|
|
585
|
+
applySchema(db);
|
|
586
|
+
clearFactoryResetDatabaseTables(db);
|
|
587
|
+
}
|
|
588
|
+
export function clearFactoryResetSearchIndexes(db, indexes = getFactoryResetSearchIndexes(db)) {
|
|
589
|
+
const results = [];
|
|
590
|
+
for (const index of indexes) {
|
|
591
|
+
const table = quoteSqlIdentifier(index.name);
|
|
592
|
+
if (index.externalContent) {
|
|
593
|
+
// External-content FTS tables can retain orphaned index entries even
|
|
594
|
+
// when COUNT(*) reads as zero because the backing table is empty.
|
|
595
|
+
// `delete-all` clears the index directly and does not depend on the
|
|
596
|
+
// backing table being readable or schema-compatible.
|
|
597
|
+
db.prepare(`INSERT INTO ${table}(${table}) VALUES ('delete-all')`).run();
|
|
598
|
+
results.push({ table: index.name, mode: "delete-all" });
|
|
599
|
+
}
|
|
600
|
+
else {
|
|
601
|
+
db.prepare(`DELETE FROM ${table}`).run();
|
|
602
|
+
results.push({ table: index.name, mode: "delete" });
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
return results;
|
|
606
|
+
}
|
|
607
|
+
export function findNonEmptyFactoryResetTables(db, tableNames = getFactoryResetUserTables(db)) {
|
|
608
|
+
const remaining = [];
|
|
609
|
+
for (const table of tableNames) {
|
|
610
|
+
const row = db
|
|
611
|
+
.prepare(`SELECT COUNT(*) AS count FROM ${quoteSqlIdentifier(table)}`)
|
|
612
|
+
.get();
|
|
613
|
+
if (row.count > 0) {
|
|
614
|
+
remaining.push({ name: table, rowCount: row.count });
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
return remaining;
|
|
618
|
+
}
|
|
619
|
+
export function findNonEmptyFactoryResetSearchIndexes(db, indexes = getFactoryResetSearchIndexes(db)) {
|
|
620
|
+
const remaining = [];
|
|
621
|
+
for (const index of indexes) {
|
|
622
|
+
const table = quoteSqlIdentifier(index.name);
|
|
623
|
+
const row = db
|
|
624
|
+
.prepare(`SELECT COUNT(*) AS count FROM ${table}`)
|
|
625
|
+
.get();
|
|
626
|
+
if (row.count > 0) {
|
|
627
|
+
remaining.push({ name: index.name, rowCount: row.count });
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
return remaining;
|
|
631
|
+
}
|
|
632
|
+
export function resetAutoincrementSequences(db, tableNames = FACTORY_RESET_SEQUENCE_TABLES) {
|
|
633
|
+
const tables = Array.from(new Set(tableNames));
|
|
634
|
+
if (tables.length === 0) {
|
|
635
|
+
return { reset: true, tables: [] };
|
|
636
|
+
}
|
|
637
|
+
const placeholders = tables.map(() => "?").join(", ");
|
|
638
|
+
try {
|
|
639
|
+
db.prepare(`DELETE FROM sqlite_sequence WHERE name IN (${placeholders})`).run(...tables);
|
|
640
|
+
}
|
|
641
|
+
catch (err) {
|
|
642
|
+
const message = toSafeErrorMessage(err, "unknown");
|
|
643
|
+
if (/no such table: sqlite_sequence/i.test(message)) {
|
|
644
|
+
return { reset: false, tables: [] };
|
|
645
|
+
}
|
|
646
|
+
throw err;
|
|
647
|
+
}
|
|
648
|
+
return { reset: true, tables };
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Wipe the daemon back to a fresh-install state: purge all history,
|
|
652
|
+
* close active sessions, clear settings, secrets, blobs, and every
|
|
653
|
+
* user-data table. The daemon keeps running; the user must restart
|
|
654
|
+
* to re-bootstrap observers, adapters, and auth.
|
|
655
|
+
*/
|
|
656
|
+
export async function factoryReset(params) {
|
|
657
|
+
const { db, dataDir, contextDirs, secretBroker, secretStore, applyDefaults } = params;
|
|
658
|
+
const errors = [];
|
|
659
|
+
// Open the audit trail BEFORE any destructive work so a crash mid-reset
|
|
660
|
+
// still leaves a diagnostic breadcrumb. A completed factory reset removes
|
|
661
|
+
// this file again during the ancillary-data wipe below.
|
|
662
|
+
appendResetAuditLine({
|
|
663
|
+
dataDir,
|
|
664
|
+
event: "factory_reset.started",
|
|
665
|
+
payload: {},
|
|
666
|
+
});
|
|
667
|
+
const runStep = (step, fn, fallback) => {
|
|
668
|
+
try {
|
|
669
|
+
return fn();
|
|
670
|
+
}
|
|
671
|
+
catch (err) {
|
|
672
|
+
const message = toSafeErrorMessage(err, "unknown");
|
|
673
|
+
errors.push({ step, message });
|
|
674
|
+
logger.warn({ step, err }, "Factory reset step failed");
|
|
675
|
+
return fallback;
|
|
676
|
+
}
|
|
677
|
+
};
|
|
678
|
+
runStep("enable_secure_delete", () => {
|
|
679
|
+
db.pragma("secure_delete = ON");
|
|
680
|
+
}, undefined);
|
|
681
|
+
// Tear down FTS5 tables AND their triggers BEFORE any DELETE on the source
|
|
682
|
+
// tables. A corrupt external-content FTS index (e.g. fts_messages,
|
|
683
|
+
// fts_actions) makes the AFTER DELETE triggers raise "database disk image
|
|
684
|
+
// is malformed", which previously aborted purge_history and
|
|
685
|
+
// clear_database_tables and left up to ~18 user tables populated. Dropping
|
|
686
|
+
// the triggers as well prevents any FTS write during the wipe — the schema
|
|
687
|
+
// gets re-applied at the end of factoryReset.
|
|
688
|
+
const searchIndexesRebuilt = runStep("drop_search_infrastructure", () => dropFactoryResetSearchInfrastructure(db).droppedIndexes, []);
|
|
689
|
+
// Close active sessions first so `purgeHistory({ includeActive: true })`
|
|
690
|
+
// doesn't have to walk FKs around rows the dispatcher still references.
|
|
691
|
+
runStep("close_active_sessions", () => {
|
|
692
|
+
db.prepare(`UPDATE conversation_sessions SET status = 'closed' WHERE status = 'active'`).run();
|
|
693
|
+
}, undefined);
|
|
694
|
+
const purged = runStep("purge_history", () => purgeHistory({
|
|
695
|
+
db,
|
|
696
|
+
dataDir,
|
|
697
|
+
includeActive: true,
|
|
698
|
+
includeRunningSchedule: true,
|
|
699
|
+
}), {
|
|
700
|
+
deletedSessions: 0,
|
|
701
|
+
deletedMessages: 0,
|
|
702
|
+
deletedActions: 0,
|
|
703
|
+
deletedObservations: 0,
|
|
704
|
+
deletedNotifications: 0,
|
|
705
|
+
deletedSnapshots: 0,
|
|
706
|
+
deletedSchedule: 0,
|
|
707
|
+
deletedDmLog: 0,
|
|
708
|
+
});
|
|
709
|
+
const settingsChanges = runStep("clear_settings", () => {
|
|
710
|
+
const info = db.prepare(`DELETE FROM settings`).run();
|
|
711
|
+
applyDefaults();
|
|
712
|
+
return info.changes;
|
|
713
|
+
}, 0);
|
|
714
|
+
const tablesCleared = [];
|
|
715
|
+
runStep("clear_database_tables", () => {
|
|
716
|
+
tablesCleared.push(...clearFactoryResetDatabaseTables(db));
|
|
717
|
+
}, undefined);
|
|
718
|
+
// Re-apply schema BEFORE clear/verify search indexes so the API contract
|
|
719
|
+
// stays intact (the verifier still sees the FTS tables) while the data
|
|
720
|
+
// wipes themselves ran with no FTS triggers active.
|
|
721
|
+
runStep("restore_search_infrastructure", () => {
|
|
722
|
+
restoreFactoryResetSearchInfrastructure(db);
|
|
723
|
+
}, undefined);
|
|
724
|
+
const searchIndexesCleared = [];
|
|
725
|
+
runStep("clear_search_indexes", () => {
|
|
726
|
+
searchIndexesCleared.push(...clearFactoryResetSearchIndexes(db));
|
|
727
|
+
}, undefined);
|
|
728
|
+
const remainingTables = runStep("verify_database_empty", () => findNonEmptyFactoryResetTables(db), []);
|
|
729
|
+
if (remainingTables.length > 0) {
|
|
730
|
+
errors.push({
|
|
731
|
+
step: "verify_database_empty",
|
|
732
|
+
message: `Factory reset left ${remainingTables.length} table(s) with data`,
|
|
733
|
+
});
|
|
734
|
+
}
|
|
735
|
+
const remainingSearchIndexes = runStep("verify_search_indexes_empty", () => findNonEmptyFactoryResetSearchIndexes(db), []);
|
|
736
|
+
if (remainingSearchIndexes.length > 0) {
|
|
737
|
+
errors.push({
|
|
738
|
+
step: "verify_search_indexes_empty",
|
|
739
|
+
message: `Factory reset left ${remainingSearchIndexes.length} search index(es) with data`,
|
|
740
|
+
});
|
|
741
|
+
}
|
|
742
|
+
const context = runStep("wipe_context", () => wipeContextFiles({ dataDir, contextDirs }), { removed: 0, path: getContextDir({ dataDir }), paths: [], errors: [] });
|
|
743
|
+
if (context.errors.length > 0) {
|
|
744
|
+
errors.push({
|
|
745
|
+
step: "wipe_context",
|
|
746
|
+
message: `Failed to wipe ${context.errors.length} context path(s)`,
|
|
747
|
+
});
|
|
748
|
+
}
|
|
749
|
+
const blobsRemoved = runStep("wipe_blobs", () => wipeEncryptedBlobs({ dataDir }).removed, 0);
|
|
750
|
+
const ancillary = runStep("wipe_ancillary_data", () => wipeFactoryResetAncillaryData({ dataDir }), { removed: 0, paths: [] });
|
|
751
|
+
// Wipe stale legacy DB files and DB backup snapshots in <dataDir>/data/.
|
|
752
|
+
// These can carry the *previous* user state forward across a factory
|
|
753
|
+
// reset (especially `personal_agent.db.bak.*` snapshots) — must run AFTER
|
|
754
|
+
// VACUUM completes... wait, before. The compaction step below operates
|
|
755
|
+
// on the active DB only, so order with respect to that step doesn't
|
|
756
|
+
// matter. Place this with the other filesystem wipes.
|
|
757
|
+
const staleDataArtifacts = runStep("wipe_stale_data_artifacts", () => wipeStaleDataDirArtifacts({ dataDir }).removed, []);
|
|
758
|
+
let secretsDeleted = [];
|
|
759
|
+
let secretDeleteFailures = [];
|
|
760
|
+
try {
|
|
761
|
+
const result = await clearAllSecrets({ secretBroker, secretStore });
|
|
762
|
+
secretsDeleted = result.deleted;
|
|
763
|
+
secretDeleteFailures = result.failed;
|
|
764
|
+
if (secretDeleteFailures.length > 0) {
|
|
765
|
+
errors.push({
|
|
766
|
+
step: "clear_secrets",
|
|
767
|
+
message: `Failed to delete ${secretDeleteFailures.length} secret(s)`,
|
|
768
|
+
});
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
catch (err) {
|
|
772
|
+
errors.push({ step: "clear_secrets", message: toSafeErrorMessage(err, "unknown") });
|
|
773
|
+
logger.warn({ err }, "Factory reset clearAllSecrets failed");
|
|
774
|
+
}
|
|
775
|
+
const sequencesReset = runStep("reset_sequences", () => resetAutoincrementSequences(db, getFactoryResetUserTables(db)), { reset: false, tables: [] });
|
|
776
|
+
const databaseCompacted = runStep("compact_database", () => compactDatabaseAfterReset(db), { vacuumed: false, checkpointed: false });
|
|
777
|
+
const summary = {
|
|
778
|
+
purged,
|
|
779
|
+
settingsCleared: settingsChanges,
|
|
780
|
+
context,
|
|
781
|
+
blobsRemoved,
|
|
782
|
+
ancillary,
|
|
783
|
+
staleDataArtifactsRemoved: staleDataArtifacts.length,
|
|
784
|
+
sequencesReset,
|
|
785
|
+
databaseCompacted,
|
|
786
|
+
secretsDeleted: secretsDeleted.length,
|
|
787
|
+
secretDeleteFailures: secretDeleteFailures.length,
|
|
788
|
+
searchIndexesRebuilt,
|
|
789
|
+
tablesCleared,
|
|
790
|
+
searchIndexesCleared,
|
|
791
|
+
remainingTables,
|
|
792
|
+
remainingSearchIndexes,
|
|
793
|
+
errorCount: errors.length,
|
|
794
|
+
};
|
|
795
|
+
logger.warn(summary, "Factory reset completed");
|
|
796
|
+
clearLogBuffer();
|
|
797
|
+
return {
|
|
798
|
+
purged,
|
|
799
|
+
settingsCleared: settingsChanges,
|
|
800
|
+
context,
|
|
801
|
+
secretsDeleted,
|
|
802
|
+
secretDeleteFailures,
|
|
803
|
+
blobsRemoved,
|
|
804
|
+
ancillary,
|
|
805
|
+
staleDataArtifactsRemoved: staleDataArtifacts,
|
|
806
|
+
sequencesReset,
|
|
807
|
+
databaseCompacted,
|
|
808
|
+
searchIndexesRebuilt,
|
|
809
|
+
tablesCleared,
|
|
810
|
+
searchIndexesCleared,
|
|
811
|
+
remainingTables,
|
|
812
|
+
remainingSearchIndexes,
|
|
813
|
+
errors,
|
|
814
|
+
};
|
|
815
|
+
}
|
|
816
|
+
//# sourceMappingURL=system-reset.js.map
|