@aitne/daemon 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/composite-dashboard-stream.d.ts +8 -11
- package/dist/adapters/composite-dashboard-stream.js +8 -11
- package/dist/adapters/dashboard-adapter.d.ts +6 -10
- package/dist/adapters/dashboard-adapter.js +6 -10
- package/dist/adapters/discord.d.ts +5 -6
- package/dist/adapters/discord.js +14 -17
- package/dist/adapters/docs-qa-adapter.d.ts +15 -16
- package/dist/adapters/docs-qa-adapter.js +14 -15
- package/dist/adapters/message-hub.d.ts +2 -3
- package/dist/adapters/message-hub.js +2 -2
- package/dist/adapters/notification-manager.d.ts +26 -29
- package/dist/adapters/notification-manager.js +63 -62
- package/dist/adapters/outbound-text.d.ts +3 -6
- package/dist/adapters/outbound-text.js +3 -6
- package/dist/adapters/primary-platform-resolver.d.ts +0 -1
- package/dist/adapters/primary-platform-resolver.js +0 -1
- package/dist/adapters/slack-adapter.d.ts +7 -8
- package/dist/adapters/slack-adapter.js +18 -29
- package/dist/adapters/telegram-adapter.d.ts +6 -9
- package/dist/adapters/telegram-adapter.js +18 -28
- package/dist/adapters/types.d.ts +3 -4
- package/dist/adapters/types.js +0 -1
- package/dist/adapters/whatsapp-adapter.d.ts +71 -18
- package/dist/adapters/whatsapp-adapter.js +225 -73
- package/dist/api/chat-binding-query.d.ts +0 -1
- package/dist/api/chat-binding-query.js +0 -1
- package/dist/api/chat-session-resume.d.ts +0 -1
- package/dist/api/chat-session-resume.js +0 -1
- package/dist/api/directory-picker.d.ts +0 -1
- package/dist/api/directory-picker.js +0 -1
- package/dist/api/env-writer.d.ts +1 -1
- package/dist/api/env-writer.js +111 -6
- package/dist/api/helpers/agent-errors-envelope.d.ts +116 -0
- package/dist/api/helpers/agent-errors-envelope.js +165 -0
- package/dist/api/helpers/agent-errors-registry.d.ts +2290 -0
- package/dist/api/helpers/agent-errors-registry.js +2197 -0
- package/dist/api/helpers/agent-errors-types.d.ts +193 -0
- package/dist/api/helpers/agent-errors-types.js +15 -0
- package/dist/api/helpers/agent-errors-zod.d.ts +33 -0
- package/dist/api/helpers/agent-errors-zod.js +138 -0
- package/dist/api/helpers/agent-errors.d.ts +4 -2600
- package/dist/api/helpers/agent-errors.js +15 -2504
- package/dist/api/integration-route-gate.d.ts +0 -1
- package/dist/api/integration-route-gate.js +0 -1
- package/dist/api/json-body.d.ts +3 -4
- package/dist/api/json-body.js +3 -4
- package/dist/api/routes/activity-sources.d.ts +1 -2
- package/dist/api/routes/activity-sources.js +0 -1
- package/dist/api/routes/agent-schedule-plan-match.d.ts +0 -1
- package/dist/api/routes/agent-schedule-plan-match.js +0 -1
- package/dist/api/routes/agent-schedule.d.ts +0 -1
- package/dist/api/routes/agent-schedule.js +64 -20
- package/dist/api/routes/agent.d.ts +0 -1
- package/dist/api/routes/agent.js +25 -2
- package/dist/api/routes/agents/index.d.ts +3 -0
- package/dist/api/routes/agents/index.js +404 -0
- package/dist/api/routes/agents/views.d.ts +185 -0
- package/dist/api/routes/agents/views.js +514 -0
- package/dist/api/routes/apple-calendar.d.ts +1 -2
- package/dist/api/routes/apple-calendar.js +5 -3
- package/dist/api/routes/attachments.d.ts +0 -1
- package/dist/api/routes/attachments.js +0 -1
- package/dist/api/routes/backends.d.ts +0 -1
- package/dist/api/routes/backends.js +44 -36
- package/dist/api/routes/books.d.ts +0 -1
- package/dist/api/routes/books.js +7 -8
- package/dist/api/routes/browser-automation-purchase.d.ts +31 -0
- package/dist/api/routes/browser-automation-purchase.js +251 -0
- package/dist/api/routes/browser-automation-sites.d.ts +22 -0
- package/dist/api/routes/browser-automation-sites.js +238 -0
- package/dist/api/routes/browser-history-managed.d.ts +23 -0
- package/dist/api/routes/browser-history-managed.js +202 -0
- package/dist/api/routes/browser-history.d.ts +3 -0
- package/dist/api/routes/browser-history.js +433 -0
- package/dist/api/routes/browser-task.d.ts +43 -0
- package/dist/api/routes/browser-task.js +617 -0
- package/dist/api/routes/calendar.d.ts +0 -1
- package/dist/api/routes/calendar.js +12 -3
- package/dist/api/routes/commands.d.ts +0 -1
- package/dist/api/routes/commands.js +10 -4
- package/dist/api/routes/context/frontmatter-merge.d.ts +28 -0
- package/dist/api/routes/context/frontmatter-merge.js +56 -0
- package/dist/api/routes/context/index.d.ts +12 -5
- package/dist/api/routes/context/index.js +1 -20
- package/dist/api/routes/context/locks.d.ts +0 -1
- package/dist/api/routes/context/locks.js +14 -14
- package/dist/api/routes/context/path-resolve.d.ts +12 -1
- package/dist/api/routes/context/path-resolve.js +29 -8
- package/dist/api/routes/context/permissions.d.ts +24 -1
- package/dist/api/routes/context/permissions.js +114 -63
- package/dist/api/routes/context/read.d.ts +0 -1
- package/dist/api/routes/context/read.js +61 -50
- package/dist/api/routes/context/repair.d.ts +0 -1
- package/dist/api/routes/context/repair.js +3 -3
- package/dist/api/routes/context/snapshots.d.ts +0 -1
- package/dist/api/routes/context/snapshots.js +44 -13
- package/dist/api/routes/context/write-step.d.ts +132 -0
- package/dist/api/routes/context/write-step.js +151 -0
- package/dist/api/routes/context/write.d.ts +0 -1
- package/dist/api/routes/context/write.js +297 -86
- package/dist/api/routes/dashboard/config.d.ts +0 -1
- package/dist/api/routes/dashboard/config.js +20 -2
- package/dist/api/routes/dashboard/conversations.d.ts +0 -1
- package/dist/api/routes/dashboard/conversations.js +0 -1
- package/dist/api/routes/dashboard/cost-approvals.d.ts +0 -1
- package/dist/api/routes/dashboard/cost-approvals.js +0 -1
- package/dist/api/routes/dashboard/index.d.ts +0 -1
- package/dist/api/routes/dashboard/index.js +0 -1
- package/dist/api/routes/dashboard/messaging.d.ts +0 -1
- package/dist/api/routes/dashboard/messaging.js +2 -4
- package/dist/api/routes/dashboard/notifications.d.ts +0 -1
- package/dist/api/routes/dashboard/notifications.js +0 -1
- package/dist/api/routes/dashboard/oauth-google.d.ts +0 -1
- package/dist/api/routes/dashboard/oauth-google.js +14 -17
- package/dist/api/routes/dashboard/schedule-readonly.d.ts +0 -1
- package/dist/api/routes/dashboard/schedule-readonly.js +11 -3
- package/dist/api/routes/dashboard/secrets.d.ts +0 -1
- package/dist/api/routes/dashboard/secrets.js +0 -1
- package/dist/api/routes/dashboard/snapshots.d.ts +0 -1
- package/dist/api/routes/dashboard/snapshots.js +0 -1
- package/dist/api/routes/delegated-sync.d.ts +0 -1
- package/dist/api/routes/delegated-sync.js +0 -1
- package/dist/api/routes/delegated.d.ts +0 -1
- package/dist/api/routes/delegated.js +0 -1
- package/dist/api/routes/docs.d.ts +0 -1
- package/dist/api/routes/docs.js +0 -1
- package/dist/api/routes/entities.d.ts +0 -1
- package/dist/api/routes/entities.js +3 -3
- package/dist/api/routes/feedback.d.ts +3 -0
- package/dist/api/routes/feedback.js +349 -0
- package/dist/api/routes/fs.d.ts +0 -1
- package/dist/api/routes/fs.js +0 -1
- package/dist/api/routes/fs.logic.d.ts +0 -1
- package/dist/api/routes/fs.logic.js +6 -2
- package/dist/api/routes/git-accounts.d.ts +0 -1
- package/dist/api/routes/git-accounts.js +0 -1
- package/dist/api/routes/git-templates.d.ts +0 -1
- package/dist/api/routes/git-templates.js +7 -2
- package/dist/api/routes/git.d.ts +0 -1
- package/dist/api/routes/git.js +19 -7
- package/dist/api/routes/github.d.ts +0 -1
- package/dist/api/routes/github.js +25 -8
- package/dist/api/routes/health.d.ts +0 -1
- package/dist/api/routes/health.js +4 -3
- package/dist/api/routes/integrations/crud-patch.d.ts +0 -1
- package/dist/api/routes/integrations/crud-patch.js +53 -15
- package/dist/api/routes/integrations/crud.d.ts +0 -1
- package/dist/api/routes/integrations/crud.js +0 -1
- package/dist/api/routes/integrations/exec.d.ts +0 -1
- package/dist/api/routes/integrations/exec.js +8 -15
- package/dist/api/routes/integrations/index.d.ts +0 -1
- package/dist/api/routes/integrations/index.js +0 -1
- package/dist/api/routes/integrations/probe.d.ts +0 -1
- package/dist/api/routes/integrations/probe.js +0 -1
- package/dist/api/routes/integrations-reconcile.d.ts +0 -1
- package/dist/api/routes/integrations-reconcile.js +0 -1
- package/dist/api/routes/knowledge.d.ts +0 -1
- package/dist/api/routes/knowledge.js +1 -2
- package/dist/api/routes/mail/accounts.d.ts +0 -1
- package/dist/api/routes/mail/accounts.js +0 -1
- package/dist/api/routes/mail/app-password.d.ts +0 -1
- package/dist/api/routes/mail/app-password.js +0 -1
- package/dist/api/routes/mail/body-helpers.d.ts +0 -1
- package/dist/api/routes/mail/body-helpers.js +0 -1
- package/dist/api/routes/mail/dependencies.d.ts +0 -1
- package/dist/api/routes/mail/dependencies.js +0 -1
- package/dist/api/routes/mail/drafts.d.ts +0 -1
- package/dist/api/routes/mail/drafts.js +0 -1
- package/dist/api/routes/mail/gating.d.ts +0 -1
- package/dist/api/routes/mail/gating.js +0 -1
- package/dist/api/routes/mail/index.d.ts +0 -1
- package/dist/api/routes/mail/index.js +0 -1
- package/dist/api/routes/mail/messages.d.ts +0 -1
- package/dist/api/routes/mail/messages.js +0 -1
- package/dist/api/routes/mail/outlook-config.d.ts +0 -1
- package/dist/api/routes/mail/outlook-config.js +0 -1
- package/dist/api/routes/mail/provider-resolver.d.ts +2 -3
- package/dist/api/routes/mail/provider-resolver.js +0 -1
- package/dist/api/routes/mail/providers.d.ts +0 -1
- package/dist/api/routes/mail/providers.js +0 -1
- package/dist/api/routes/mail/search-health.d.ts +0 -1
- package/dist/api/routes/mail/search-health.js +0 -1
- package/dist/api/routes/mail/tags-folders.d.ts +0 -1
- package/dist/api/routes/mail/tags-folders.js +0 -1
- package/dist/api/routes/mail/validators.d.ts +0 -1
- package/dist/api/routes/mail/validators.js +0 -1
- package/dist/api/routes/managed-tasks.d.ts +0 -1
- package/dist/api/routes/managed-tasks.js +12 -9
- package/dist/api/routes/mcp.d.ts +0 -1
- package/dist/api/routes/mcp.js +65 -14
- package/dist/api/routes/metrics.d.ts +0 -1
- package/dist/api/routes/metrics.js +0 -1
- package/dist/api/routes/notion.d.ts +0 -1
- package/dist/api/routes/notion.js +5 -2
- package/dist/api/routes/observations.d.ts +0 -1
- package/dist/api/routes/observations.js +13 -15
- package/dist/api/routes/obsidian.d.ts +0 -1
- package/dist/api/routes/obsidian.js +0 -1
- package/dist/api/routes/profile-questions.d.ts +0 -1
- package/dist/api/routes/profile-questions.js +7 -2
- package/dist/api/routes/receipts.d.ts +0 -1
- package/dist/api/routes/receipts.js +0 -1
- package/dist/api/routes/recurring-schedules.d.ts +0 -1
- package/dist/api/routes/recurring-schedules.js +45 -2
- package/dist/api/routes/repositories.d.ts +0 -1
- package/dist/api/routes/repositories.js +0 -1
- package/dist/api/routes/schedule-model-resolver.d.ts +0 -1
- package/dist/api/routes/schedule-model-resolver.js +6 -3
- package/dist/api/routes/schedule-options.d.ts +0 -1
- package/dist/api/routes/schedule-options.js +0 -1
- package/dist/api/routes/schedule-validation.d.ts +3 -4
- package/dist/api/routes/schedule-validation.js +4 -5
- package/dist/api/routes/setup-migrate.d.ts +0 -1
- package/dist/api/routes/setup-migrate.js +6 -4
- package/dist/api/routes/setup.d.ts +0 -1
- package/dist/api/routes/setup.js +42 -1
- package/dist/api/routes/skill-curation.d.ts +0 -1
- package/dist/api/routes/skill-curation.js +0 -1
- package/dist/api/routes/skills.d.ts +2 -1
- package/dist/api/routes/skills.js +11 -3
- package/dist/api/routes/sot-bindings.d.ts +1 -2
- package/dist/api/routes/sot-bindings.js +0 -1
- package/dist/api/routes/sse.d.ts +0 -1
- package/dist/api/routes/sse.js +3 -4
- package/dist/api/routes/system.d.ts +0 -1
- package/dist/api/routes/system.js +0 -1
- package/dist/api/routes/task-flows.d.ts +0 -1
- package/dist/api/routes/task-flows.js +0 -1
- package/dist/api/routes/travel-bookings.d.ts +0 -1
- package/dist/api/routes/travel-bookings.js +0 -1
- package/dist/api/routes/triggers.d.ts +0 -1
- package/dist/api/routes/triggers.js +0 -1
- package/dist/api/routes/voice.d.ts +0 -1
- package/dist/api/routes/voice.js +0 -1
- package/dist/api/routes/wiki.d.ts +0 -1
- package/dist/api/routes/wiki.js +35 -9
- package/dist/api/server.d.ts +41 -4
- package/dist/api/server.js +47 -12
- package/dist/bootstrap/adapters.d.ts +0 -1
- package/dist/bootstrap/adapters.js +0 -1
- package/dist/bootstrap/api.d.ts +16 -2
- package/dist/bootstrap/api.js +61 -2
- package/dist/bootstrap/catchup.d.ts +0 -1
- package/dist/bootstrap/catchup.js +1 -2
- package/dist/bootstrap/db.d.ts +104 -10
- package/dist/bootstrap/db.js +339 -16
- package/dist/bootstrap/event-pipeline.d.ts +22 -1
- package/dist/bootstrap/event-pipeline.js +508 -9
- package/dist/bootstrap/managed-chromium.d.ts +26 -0
- package/dist/bootstrap/managed-chromium.js +66 -0
- package/dist/bootstrap/observers.d.ts +0 -1
- package/dist/bootstrap/observers.js +29 -1
- package/dist/bootstrap/schedule-helpers.d.ts +0 -1
- package/dist/bootstrap/schedule-helpers.js +4 -2
- package/dist/bootstrap/services.d.ts +0 -1
- package/dist/bootstrap/services.js +1 -11
- package/dist/config.d.ts +1 -2
- package/dist/config.js +18 -12
- package/dist/core/abort-utils.d.ts +0 -1
- package/dist/core/abort-utils.js +0 -1
- package/dist/core/agent-core.d.ts +14 -1
- package/dist/core/agent-core.js +0 -1
- package/dist/core/agent-execution-recorder.d.ts +78 -0
- package/dist/core/agent-execution-recorder.js +60 -0
- package/dist/core/agents/agent-execution-tracker.d.ts +91 -0
- package/dist/core/agents/agent-execution-tracker.js +226 -0
- package/dist/core/agents/agent-frontmatter.d.ts +57 -0
- package/dist/core/agents/agent-frontmatter.js +74 -0
- package/dist/core/agents/agent-id-resolver.d.ts +47 -0
- package/dist/core/agents/agent-id-resolver.js +61 -0
- package/dist/core/agents/builtin-registry.d.ts +156 -0
- package/dist/core/agents/builtin-registry.js +257 -0
- package/dist/core/agents/cron-substitute.d.ts +60 -0
- package/dist/core/agents/cron-substitute.js +100 -0
- package/dist/core/agents/definition-criteria.d.ts +14 -0
- package/dist/core/agents/definition-criteria.js +25 -0
- package/dist/core/agents/effective-definition.d.ts +47 -0
- package/dist/core/agents/effective-definition.js +101 -0
- package/dist/core/agents/firing-blocked.d.ts +28 -0
- package/dist/core/agents/firing-blocked.js +27 -0
- package/dist/core/agents/loader-boot.d.ts +26 -0
- package/dist/core/agents/loader-boot.js +98 -0
- package/dist/core/agents/loader-watcher.d.ts +23 -0
- package/dist/core/agents/loader-watcher.js +84 -0
- package/dist/core/agents/loader.d.ts +188 -0
- package/dist/core/agents/loader.js +754 -0
- package/dist/core/agents/override-merge.d.ts +57 -0
- package/dist/core/agents/override-merge.js +131 -0
- package/dist/core/agents/recurrence-convert.d.ts +92 -0
- package/dist/core/agents/recurrence-convert.js +207 -0
- package/dist/core/agents/recurring-schedule-adapter.d.ts +24 -0
- package/dist/core/agents/recurring-schedule-adapter.js +157 -0
- package/dist/core/agents/success-criteria.d.ts +60 -0
- package/dist/core/agents/success-criteria.js +139 -0
- package/dist/core/agents/validate-agent-md.d.ts +17 -0
- package/dist/core/agents/validate-agent-md.js +64 -0
- package/dist/core/alerts.d.ts +0 -1
- package/dist/core/alerts.js +0 -1
- package/dist/core/atomic-write.d.ts +0 -1
- package/dist/core/atomic-write.js +17 -4
- package/dist/core/backends/api-key-probe.d.ts +0 -1
- package/dist/core/backends/api-key-probe.js +0 -1
- package/dist/core/backends/auth-health-monitor.d.ts +0 -1
- package/dist/core/backends/auth-health-monitor.js +29 -2
- package/dist/core/backends/auth-recovery.d.ts +0 -1
- package/dist/core/backends/auth-recovery.js +17 -4
- package/dist/core/backends/auth-telemetry.d.ts +0 -1
- package/dist/core/backends/auth-telemetry.js +0 -1
- package/dist/core/backends/backend-router.d.ts +33 -2
- package/dist/core/backends/backend-router.js +134 -2
- package/dist/core/backends/claude-auth.d.ts +0 -1
- package/dist/core/backends/claude-auth.js +0 -1
- package/dist/core/backends/claude-code-core.d.ts +2 -2
- package/dist/core/backends/claude-code-core.js +68 -18
- package/dist/core/backends/claude-credentials-store.d.ts +0 -1
- package/dist/core/backends/claude-credentials-store.js +0 -1
- package/dist/core/backends/claude-delegated.d.ts +0 -1
- package/dist/core/backends/claude-delegated.js +14 -15
- package/dist/core/backends/claude-errors.d.ts +0 -1
- package/dist/core/backends/claude-errors.js +0 -1
- package/dist/core/backends/claude-probe.d.ts +0 -1
- package/dist/core/backends/claude-probe.js +0 -1
- package/dist/core/backends/claude-tool-collection.d.ts +0 -1
- package/dist/core/backends/claude-tool-collection.js +176 -31
- package/dist/core/backends/cli-quota-guards.d.ts +100 -0
- package/dist/core/backends/cli-quota-guards.js +95 -0
- package/dist/core/backends/cli-utils.d.ts +26 -2
- package/dist/core/backends/cli-utils.js +133 -15
- package/dist/core/backends/codex-core.d.ts +0 -1
- package/dist/core/backends/codex-core.js +71 -78
- package/dist/core/backends/gemini-cli-core.d.ts +0 -1
- package/dist/core/backends/gemini-cli-core.js +102 -92
- package/dist/core/backends/idle-watchdog.d.ts +0 -1
- package/dist/core/backends/idle-watchdog.js +0 -1
- package/dist/core/backends/install-methods.d.ts +0 -1
- package/dist/core/backends/install-methods.js +0 -1
- package/dist/core/backends/model-registry.d.ts +2 -3
- package/dist/core/backends/model-registry.js +54 -14
- package/dist/core/backends/native-skill-discovery-probe.d.ts +3 -6
- package/dist/core/backends/native-skill-discovery-probe.js +3 -6
- package/dist/core/backends/opencode-basic-auth-fetch.d.ts +0 -1
- package/dist/core/backends/opencode-basic-auth-fetch.js +0 -1
- package/dist/core/backends/opencode-config-builder.d.ts +29 -2
- package/dist/core/backends/opencode-config-builder.js +13 -1
- package/dist/core/backends/opencode-core.d.ts +0 -1
- package/dist/core/backends/opencode-core.js +8 -2
- package/dist/core/backends/opencode-event-mapper.d.ts +0 -1
- package/dist/core/backends/opencode-event-mapper.js +0 -1
- package/dist/core/backends/opencode-mcp.d.ts +0 -1
- package/dist/core/backends/opencode-mcp.js +10 -18
- package/dist/core/backends/opencode-server-manager.d.ts +0 -1
- package/dist/core/backends/opencode-server-manager.js +0 -1
- package/dist/core/backends/opencode-types.d.ts +0 -1
- package/dist/core/backends/opencode-types.js +0 -1
- package/dist/core/backends/plan-presets.d.ts +0 -1
- package/dist/core/backends/plan-presets.js +60 -9
- package/dist/core/backends/price-fetcher.d.ts +0 -1
- package/dist/core/backends/price-fetcher.js +0 -1
- package/dist/core/backends/process-config-cascade.d.ts +0 -1
- package/dist/core/backends/process-config-cascade.js +0 -1
- package/dist/core/backends/prompt-utils.d.ts +0 -1
- package/dist/core/backends/prompt-utils.js +0 -1
- package/dist/core/backends/proxy-model-registry.d.ts +0 -1
- package/dist/core/backends/proxy-model-registry.js +0 -1
- package/dist/core/backends/quota-reset-hints.d.ts +0 -1
- package/dist/core/backends/quota-reset-hints.js +0 -1
- package/dist/core/backends/silent-api-error-detector.d.ts +0 -1
- package/dist/core/backends/silent-api-error-detector.js +0 -1
- package/dist/core/bang-commands/commands-checks.d.ts +16 -0
- package/dist/core/bang-commands/commands-checks.js +58 -0
- package/dist/core/bang-commands/commands-close.d.ts +0 -1
- package/dist/core/bang-commands/commands-close.js +0 -1
- package/dist/core/bang-commands/commands-cost.d.ts +0 -1
- package/dist/core/bang-commands/commands-cost.js +0 -1
- package/dist/core/bang-commands/commands-help.d.ts +0 -1
- package/dist/core/bang-commands/commands-help.js +8 -9
- package/dist/core/bang-commands/commands-report.d.ts +0 -1
- package/dist/core/bang-commands/commands-report.js +0 -1
- package/dist/core/bang-commands/commands-research.d.ts +36 -0
- package/dist/core/bang-commands/commands-research.js +284 -0
- package/dist/core/bang-commands/commands-stop-start.d.ts +0 -1
- package/dist/core/bang-commands/commands-stop-start.js +0 -1
- package/dist/core/bang-commands/commands-wiki.d.ts +0 -1
- package/dist/core/bang-commands/commands-wiki.js +44 -16
- package/dist/core/bang-commands/format-utils.d.ts +2 -2
- package/dist/core/bang-commands/format-utils.js +2 -2
- package/dist/core/bang-commands/index.d.ts +2 -1
- package/dist/core/bang-commands/index.js +11 -1
- package/dist/core/bang-commands/registry.d.ts +9 -1
- package/dist/core/bang-commands/registry.js +14 -7
- package/dist/core/bang-commands/user-commands.d.ts +0 -1
- package/dist/core/bang-commands/user-commands.js +0 -1
- package/dist/core/browser-history/pre-morning-digest-job.d.ts +79 -0
- package/dist/core/browser-history/pre-morning-digest-job.js +89 -0
- package/dist/core/browser-history/research-cluster-fanout.d.ts +40 -0
- package/dist/core/browser-history/research-cluster-fanout.js +47 -0
- package/dist/core/browser-history/research-events.d.ts +37 -0
- package/dist/core/browser-history/research-events.js +70 -0
- package/dist/core/channel-timeline.d.ts +0 -1
- package/dist/core/channel-timeline.js +0 -1
- package/dist/core/character-block.d.ts +0 -1
- package/dist/core/character-block.js +0 -1
- package/dist/core/context/activity-sources.d.ts +3 -4
- package/dist/core/context/activity-sources.js +0 -1
- package/dist/core/context/activity-view-reconciler.d.ts +1 -2
- package/dist/core/context/activity-view-reconciler.js +10 -10
- package/dist/core/context/activity-view-runner.d.ts +0 -1
- package/dist/core/context/activity-view-runner.js +2 -2
- package/dist/core/context/default-schedules-reconciler.d.ts +1 -2
- package/dist/core/context/default-schedules-reconciler.js +1 -2
- package/dist/core/context/default-schedules-runner.d.ts +0 -1
- package/dist/core/context/default-schedules-runner.js +0 -1
- package/dist/core/context/domain-index-reconciler.d.ts +3 -1
- package/dist/core/context/domain-index-reconciler.js +11 -5
- package/dist/core/context/domain-index-runner.d.ts +0 -1
- package/dist/core/context/domain-index-runner.js +0 -1
- package/dist/core/context/entity-mirror.d.ts +9 -7
- package/dist/core/context/entity-mirror.js +21 -9
- package/dist/core/context/entity-source-rename.d.ts +0 -1
- package/dist/core/context/entity-source-rename.js +0 -1
- package/dist/core/context/index-reconciler.d.ts +26 -5
- package/dist/core/context/index-reconciler.js +110 -56
- package/dist/core/context/policy-index-reconciler.d.ts +6 -7
- package/dist/core/context/policy-index-reconciler.js +6 -7
- package/dist/core/context/policy-index-runner.d.ts +2 -3
- package/dist/core/context/policy-index-runner.js +1 -2
- package/dist/core/context/reconciler-runner.d.ts +0 -1
- package/dist/core/context/reconciler-runner.js +37 -5
- package/dist/core/context/reconciler-section.d.ts +30 -0
- package/dist/core/context/reconciler-section.js +39 -0
- package/dist/core/context-builder-calendar.d.ts +36 -0
- package/dist/core/context-builder-calendar.js +245 -0
- package/dist/core/context-builder-conversation.d.ts +95 -0
- package/dist/core/context-builder-conversation.js +444 -0
- package/dist/core/context-builder-format.d.ts +8 -0
- package/dist/core/context-builder-format.js +22 -0
- package/dist/core/context-builder-projects.d.ts +11 -0
- package/dist/core/context-builder-projects.js +102 -0
- package/dist/core/context-builder-yesterday.d.ts +30 -0
- package/dist/core/context-builder-yesterday.js +198 -0
- package/dist/core/context-builder.d.ts +9 -155
- package/dist/core/context-builder.js +246 -1004
- package/dist/core/context-file-serializer.d.ts +92 -0
- package/dist/core/context-file-serializer.js +126 -0
- package/dist/core/context-frontmatter-extract.d.ts +32 -0
- package/dist/core/context-frontmatter-extract.js +98 -0
- package/dist/core/context-frontmatter.d.ts +8 -1
- package/dist/core/context-frontmatter.js +71 -112
- package/dist/core/context-health.d.ts +0 -1
- package/dist/core/context-health.js +4 -5
- package/dist/core/context-paths.d.ts +138 -85
- package/dist/core/context-paths.js +206 -108
- package/dist/core/context-staleness.d.ts +0 -1
- package/dist/core/context-staleness.js +2 -3
- package/dist/core/context-validation/frontmatter.d.ts +73 -0
- package/dist/core/context-validation/frontmatter.js +216 -0
- package/dist/core/context-validation/index.d.ts +1 -1
- package/dist/core/context-validation/index.js +1 -1
- package/dist/core/context-validation/prepare-write.d.ts +1 -2
- package/dist/core/context-validation/prepare-write.js +18 -8
- package/dist/core/context-validation/routine-rulebook.d.ts +2 -3
- package/dist/core/context-validation/routine-rulebook.js +3 -4
- package/dist/core/context-validation/section.d.ts +1 -2
- package/dist/core/context-validation/section.js +13 -5
- package/dist/core/context-validation/snapshot-debounce.d.ts +3 -4
- package/dist/core/context-validation/snapshot-debounce.js +3 -4
- package/dist/core/context-validation/today.d.ts +0 -1
- package/dist/core/context-validation/today.js +0 -1
- package/dist/core/context-vault-aliases.d.ts +107 -0
- package/dist/core/context-vault-aliases.js +253 -0
- package/dist/core/custom-routine-scheduler.d.ts +5 -6
- package/dist/core/custom-routine-scheduler.js +3 -4
- package/dist/core/daemon-api-cli.d.ts +0 -1
- package/dist/core/daemon-api-cli.js +60 -2
- package/dist/core/dashboard-session-cleanup.d.ts +0 -1
- package/dist/core/dashboard-session-cleanup.js +0 -1
- package/dist/core/dashboard-session-controls.d.ts +0 -1
- package/dist/core/dashboard-session-controls.js +0 -1
- package/dist/core/delegated-connector-health.d.ts +0 -1
- package/dist/core/delegated-connector-health.js +0 -1
- package/dist/core/dispatcher-date-utils.d.ts +0 -1
- package/dist/core/dispatcher-date-utils.js +0 -1
- package/dist/core/dispatcher-error-handling.d.ts +0 -1
- package/dist/core/dispatcher-error-handling.js +0 -1
- package/dist/core/dispatcher-hourly-check.d.ts +0 -1
- package/dist/core/dispatcher-hourly-check.js +9 -2
- package/dist/core/dispatcher-message-handler.d.ts +21 -1
- package/dist/core/dispatcher-message-handler.js +153 -7
- package/dist/core/dispatcher-morning-routine.d.ts +0 -1
- package/dist/core/dispatcher-morning-routine.js +150 -126
- package/dist/core/dispatcher-prompt.d.ts +0 -1
- package/dist/core/dispatcher-prompt.js +4 -5
- package/dist/core/dispatcher-repository-helpers.d.ts +0 -1
- package/dist/core/dispatcher-repository-helpers.js +0 -1
- package/dist/core/dispatcher-result-processor.d.ts +20 -1
- package/dist/core/dispatcher-result-processor.js +86 -2
- package/dist/core/dispatcher-scheduled-browser-task.d.ts +91 -0
- package/dist/core/dispatcher-scheduled-browser-task.js +228 -0
- package/dist/core/dispatcher-scheduled-tasks.d.ts +109 -1
- package/dist/core/dispatcher-scheduled-tasks.js +640 -15
- package/dist/core/dispatcher-types.d.ts +56 -1
- package/dist/core/dispatcher-types.js +0 -1
- package/dist/core/dispatcher.d.ts +144 -4
- package/dist/core/dispatcher.js +357 -4
- package/dist/core/dm-freshness-metrics.d.ts +0 -1
- package/dist/core/dm-freshness-metrics.js +0 -1
- package/dist/core/dm-token-router.d.ts +58 -0
- package/dist/core/dm-token-router.js +58 -0
- package/dist/core/docs/citation-validator.d.ts +0 -1
- package/dist/core/docs/citation-validator.js +0 -1
- package/dist/core/docs/extract-terms.d.ts +0 -1
- package/dist/core/docs/extract-terms.js +0 -1
- package/dist/core/docs/indexer.d.ts +0 -1
- package/dist/core/docs/indexer.js +0 -1
- package/dist/core/drift-effects.d.ts +0 -1
- package/dist/core/drift-effects.js +6 -3
- package/dist/core/evening-review-verify.d.ts +1 -2
- package/dist/core/evening-review-verify.js +2 -3
- package/dist/core/event-bus.d.ts +0 -1
- package/dist/core/event-bus.js +0 -1
- package/dist/core/feedback/consolidation-prep.d.ts +94 -0
- package/dist/core/feedback/consolidation-prep.js +242 -0
- package/dist/core/feedback/eviction-scorer.d.ts +81 -0
- package/dist/core/feedback/eviction-scorer.js +132 -0
- package/dist/core/feedback/lesson-format.d.ts +79 -0
- package/dist/core/feedback/lesson-format.js +194 -0
- package/dist/core/feedback/lesson-injection.d.ts +98 -0
- package/dist/core/feedback/lesson-injection.js +159 -0
- package/dist/core/feedback/lesson-merge.d.ts +51 -0
- package/dist/core/feedback/lesson-merge.js +88 -0
- package/dist/core/feedback/lesson-store-overview.d.ts +42 -0
- package/dist/core/feedback/lesson-store-overview.js +38 -0
- package/dist/core/feedback/promotion-gate.d.ts +69 -0
- package/dist/core/feedback/promotion-gate.js +117 -0
- package/dist/core/feedback/regeneralization-prep.d.ts +87 -0
- package/dist/core/feedback/regeneralization-prep.js +139 -0
- package/dist/core/feedback/scope-parser.d.ts +86 -0
- package/dist/core/feedback/scope-parser.js +141 -0
- package/dist/core/fetch-window-prompt-loader.d.ts +0 -1
- package/dist/core/fetch-window-prompt-loader.js +0 -1
- package/dist/core/git-project-docs.d.ts +0 -1
- package/dist/core/git-project-docs.js +13 -6
- package/dist/core/health-monitor.d.ts +2 -2
- package/dist/core/health-monitor.js +6 -3
- package/dist/core/heartbeat.d.ts +0 -1
- package/dist/core/heartbeat.js +0 -1
- package/dist/core/injection-policy.d.ts +189 -0
- package/dist/core/injection-policy.js +175 -0
- package/dist/core/integration-health.d.ts +0 -1
- package/dist/core/integration-health.js +1 -2
- package/dist/core/integration-lifecycle.d.ts +0 -1
- package/dist/core/integration-lifecycle.js +0 -1
- package/dist/core/integration-main-backend.d.ts +0 -1
- package/dist/core/integration-main-backend.js +11 -4
- package/dist/core/integration-probe.d.ts +0 -1
- package/dist/core/integration-probe.js +0 -1
- package/dist/core/management-md-write-lock.d.ts +1 -2
- package/dist/core/management-md-write-lock.js +1 -2
- package/dist/core/management-md.d.ts +24 -10
- package/dist/core/management-md.js +42 -24
- package/dist/core/management-registry.d.ts +3 -4
- package/dist/core/management-registry.js +5 -6
- package/dist/core/management-telemetry.d.ts +1 -2
- package/dist/core/management-telemetry.js +1 -2
- package/dist/core/message-recorder.d.ts +3 -4
- package/dist/core/message-recorder.js +3 -4
- package/dist/core/metrics.d.ts +0 -1
- package/dist/core/metrics.js +0 -1
- package/dist/core/migration-backup.d.ts +0 -1
- package/dist/core/migration-backup.js +11 -1
- package/dist/core/morning/agent-journal-appender.d.ts +75 -8
- package/dist/core/morning/agent-journal-appender.js +212 -38
- package/dist/core/morning/daily-journal-composer.d.ts +183 -0
- package/dist/core/morning/daily-journal-composer.js +421 -0
- package/dist/core/morning/handoff-parser.d.ts +3 -5
- package/dist/core/morning/handoff-parser.js +3 -5
- package/dist/core/morning/journal-skeleton-builder.d.ts +7 -9
- package/dist/core/morning/journal-skeleton-builder.js +15 -17
- package/dist/core/morning/orchestrator.d.ts +129 -17
- package/dist/core/morning/orchestrator.js +467 -64
- package/dist/core/morning/parent-audit-emitter.d.ts +2 -4
- package/dist/core/morning/parent-audit-emitter.js +2 -4
- package/dist/core/morning/partial-extract-streak.d.ts +76 -0
- package/dist/core/morning/partial-extract-streak.js +165 -0
- package/dist/core/morning/roadmap-skeleton-builder.d.ts +3 -4
- package/dist/core/morning/roadmap-skeleton-builder.js +4 -5
- package/dist/core/output-language-policy.d.ts +0 -1
- package/dist/core/output-language-policy.js +6 -7
- package/dist/core/overview-write-lock.d.ts +0 -1
- package/dist/core/overview-write-lock.js +0 -1
- package/dist/core/path-compat.d.ts +0 -1
- package/dist/core/path-compat.js +0 -1
- package/dist/core/path-rewrite.d.ts +1 -2
- package/dist/core/path-rewrite.js +0 -1
- package/dist/core/policy-files.d.ts +25 -16
- package/dist/core/policy-files.js +36 -44
- package/dist/core/pre-pass-freshness.d.ts +0 -1
- package/dist/core/pre-pass-freshness.js +0 -1
- package/dist/core/previous-week-digest.d.ts +0 -1
- package/dist/core/previous-week-digest.js +12 -13
- package/dist/core/profile-questions/seed.d.ts +2 -3
- package/dist/core/profile-questions/seed.js +4 -4
- package/dist/core/profile-questions/slot-filled.d.ts +0 -1
- package/dist/core/profile-questions/slot-filled.js +0 -1
- package/dist/core/prompts.d.ts +0 -1
- package/dist/core/prompts.js +3 -4
- package/dist/core/quiet-hours-sync.d.ts +0 -1
- package/dist/core/quiet-hours-sync.js +0 -1
- package/dist/core/quiet-hours.d.ts +35 -0
- package/dist/core/quiet-hours.js +93 -0
- package/dist/core/read-sensitive-token-manager.d.ts +0 -1
- package/dist/core/read-sensitive-token-manager.js +0 -1
- package/dist/core/recurrence.d.ts +0 -1
- package/dist/core/recurrence.js +6 -7
- package/dist/core/reinstall.d.ts +5 -1
- package/dist/core/reinstall.js +12 -2
- package/dist/core/release-assets.d.ts +18 -3
- package/dist/core/release-assets.js +25 -5
- package/dist/core/repository-management-docs.d.ts +0 -1
- package/dist/core/repository-management-docs.js +18 -7
- package/dist/core/retention.d.ts +49 -4
- package/dist/core/retention.js +218 -5
- package/dist/core/review-context.d.ts +10 -1
- package/dist/core/review-context.js +26 -9
- package/dist/core/roadmap-horizon.d.ts +0 -1
- package/dist/core/roadmap-horizon.js +0 -1
- package/dist/core/roadmap-ids.d.ts +4 -6
- package/dist/core/roadmap-ids.js +4 -6
- package/dist/core/roadmap-maintenance.d.ts +2 -3
- package/dist/core/roadmap-maintenance.js +62 -36
- package/dist/core/roadmap-refresh-triggers.d.ts +0 -1
- package/dist/core/roadmap-refresh-triggers.js +0 -1
- package/dist/core/roadmap-truncate.d.ts +0 -1
- package/dist/core/roadmap-truncate.js +0 -1
- package/dist/core/roadmap-validate.d.ts +0 -1
- package/dist/core/roadmap-validate.js +6 -6
- package/dist/core/roadmap-write-lock.d.ts +0 -1
- package/dist/core/roadmap-write-lock.js +0 -1
- package/dist/core/routine-acquisition-plan.d.ts +0 -1
- package/dist/core/routine-acquisition-plan.js +0 -1
- package/dist/core/routine-fetch-window-retry.d.ts +6 -8
- package/dist/core/routine-fetch-window-retry.js +6 -8
- package/dist/core/routine-fetch-window-runner.d.ts +8 -9
- package/dist/core/routine-fetch-window-runner.js +41 -18
- package/dist/core/routine-windows.d.ts +5 -11
- package/dist/core/routine-windows.js +18 -24
- package/dist/core/schedule-insert-helper.d.ts +0 -1
- package/dist/core/schedule-insert-helper.js +0 -1
- package/dist/core/schedule-maintenance.d.ts +0 -1
- package/dist/core/schedule-maintenance.js +0 -1
- package/dist/core/scheduler.d.ts +59 -1
- package/dist/core/scheduler.js +265 -21
- package/dist/core/semaphore.d.ts +0 -1
- package/dist/core/semaphore.js +0 -1
- package/dist/core/session-gate.d.ts +0 -1
- package/dist/core/session-gate.js +0 -1
- package/dist/core/session-manager.d.ts +0 -1
- package/dist/core/session-manager.js +0 -1
- package/dist/core/signal-detector.d.ts +41 -4
- package/dist/core/signal-detector.js +280 -28
- package/dist/core/skeleton.d.ts +1 -2
- package/dist/core/skeleton.js +8 -9
- package/dist/core/skill-curation/apply-proposal.d.ts +0 -1
- package/dist/core/skill-curation/apply-proposal.js +0 -1
- package/dist/core/skill-curation/auto-revert.d.ts +0 -1
- package/dist/core/skill-curation/auto-revert.js +4 -5
- package/dist/core/skill-curation/classify-diff.d.ts +0 -1
- package/dist/core/skill-curation/classify-diff.js +0 -0
- package/dist/core/skill-curation/declarations.d.ts +0 -1
- package/dist/core/skill-curation/declarations.js +0 -1
- package/dist/core/skill-curation/knowledge-map.d.ts +0 -1
- package/dist/core/skill-curation/knowledge-map.js +0 -1
- package/dist/core/skill-curation/orphan-overlay.d.ts +2 -3
- package/dist/core/skill-curation/orphan-overlay.js +5 -6
- package/dist/core/skill-curation/overlay-store.d.ts +6 -4
- package/dist/core/skill-curation/overlay-store.js +12 -7
- package/dist/core/skill-curation/render/convention-notes.d.ts +0 -1
- package/dist/core/skill-curation/render/convention-notes.js +0 -1
- package/dist/core/skill-curation/render/cross-references.d.ts +0 -1
- package/dist/core/skill-curation/render/cross-references.js +0 -1
- package/dist/core/skill-curation/render/frontmatter-schema.d.ts +0 -1
- package/dist/core/skill-curation/render/frontmatter-schema.js +0 -1
- package/dist/core/skill-curation/render/index.d.ts +0 -1
- package/dist/core/skill-curation/render/index.js +0 -1
- package/dist/core/skill-curation/render/knowledge-layout.d.ts +0 -1
- package/dist/core/skill-curation/render/knowledge-layout.js +0 -1
- package/dist/core/skill-curation/render/routing-table.d.ts +0 -1
- package/dist/core/skill-curation/render/routing-table.js +0 -1
- package/dist/core/skill-curation/render/search-recipes.d.ts +0 -1
- package/dist/core/skill-curation/render/search-recipes.js +0 -1
- package/dist/core/skill-curation/run-token.d.ts +0 -1
- package/dist/core/skill-curation/run-token.js +0 -1
- package/dist/core/skill-curation/signals.d.ts +0 -1
- package/dist/core/skill-curation/signals.js +0 -1
- package/dist/core/skill-curation/smoke-test.d.ts +0 -1
- package/dist/core/skill-curation/smoke-test.js +0 -1
- package/dist/core/skill-curation/splicer.d.ts +0 -1
- package/dist/core/skill-curation/splicer.js +0 -1
- package/dist/core/skill-curation/workdir.d.ts +0 -1
- package/dist/core/skill-curation/workdir.js +0 -1
- package/dist/core/skill-source-paths.d.ts +0 -1
- package/dist/core/skill-source-paths.js +0 -1
- package/dist/core/skills-compiler-cli-renderer.d.ts +79 -0
- package/dist/core/skills-compiler-cli-renderer.js +289 -0
- package/dist/core/skills-compiler-denied-tools.d.ts +57 -0
- package/dist/core/skills-compiler-denied-tools.js +204 -0
- package/dist/core/skills-compiler-skill-index.d.ts +117 -0
- package/dist/core/skills-compiler-skill-index.js +262 -0
- package/dist/core/skills-compiler-tree.d.ts +38 -0
- package/dist/core/skills-compiler-tree.js +157 -0
- package/dist/core/skills-compiler-types.d.ts +46 -0
- package/dist/core/skills-compiler-types.js +1 -0
- package/dist/core/skills-compiler-variants.d.ts +117 -0
- package/dist/core/skills-compiler-variants.js +337 -0
- package/dist/core/skills-compiler.d.ts +21 -319
- package/dist/core/skills-compiler.js +29 -1223
- package/dist/core/skills-manifest.d.ts +30 -2
- package/dist/core/skills-manifest.js +178 -22
- package/dist/core/system-reset.d.ts +1 -2
- package/dist/core/system-reset.js +1 -2
- package/dist/core/template-store.d.ts +2 -3
- package/dist/core/template-store.js +7 -4
- package/dist/core/template-versions.d.ts +1 -2
- package/dist/core/template-versions.js +1 -2
- package/dist/core/today-agent-plan.d.ts +0 -1
- package/dist/core/today-agent-plan.js +0 -1
- package/dist/core/today-direct-writer.d.ts +71 -16
- package/dist/core/today-direct-writer.js +132 -40
- package/dist/core/today-write-lock.d.ts +0 -1
- package/dist/core/today-write-lock.js +0 -1
- package/dist/core/trigger-dispatch.d.ts +0 -1
- package/dist/core/trigger-dispatch.js +0 -1
- package/dist/core/trigger-evaluator.d.ts +0 -1
- package/dist/core/trigger-evaluator.js +0 -1
- package/dist/core/user-skills-root.d.ts +24 -0
- package/dist/core/user-skills-root.js +29 -0
- package/dist/core/wiki/approval-queue.d.ts +0 -1
- package/dist/core/wiki/approval-queue.js +7 -3
- package/dist/core/wiki/bridge.d.ts +0 -1
- package/dist/core/wiki/bridge.js +0 -1
- package/dist/core/wiki/compile-lock.d.ts +0 -1
- package/dist/core/wiki/compile-lock.js +0 -1
- package/dist/core/wiki/compile-preview.d.ts +0 -1
- package/dist/core/wiki/compile-preview.js +0 -1
- package/dist/core/wiki/cost-estimate.d.ts +0 -1
- package/dist/core/wiki/cost-estimate.js +23 -3
- package/dist/core/wiki/dispatcher.d.ts +1 -21
- package/dist/core/wiki/dispatcher.js +0 -26
- package/dist/core/wiki/git-precompile.d.ts +0 -1
- package/dist/core/wiki/git-precompile.js +0 -1
- package/dist/core/wiki/import-migrate.d.ts +0 -1
- package/dist/core/wiki/import-migrate.js +0 -1
- package/dist/core/wiki/import-probe.d.ts +0 -1
- package/dist/core/wiki/import-probe.js +7 -5
- package/dist/core/wiki/index-cache.d.ts +0 -1
- package/dist/core/wiki/index-cache.js +0 -1
- package/dist/core/wiki/multi-url-dispatch.d.ts +0 -1
- package/dist/core/wiki/multi-url-dispatch.js +19 -9
- package/dist/core/wiki/wiki-fts.d.ts +0 -1
- package/dist/core/wiki/wiki-fts.js +13 -7
- package/dist/core/wiki/workspaces.d.ts +17 -2
- package/dist/core/wiki/workspaces.js +28 -17
- package/dist/core/wiki/write-strategy.d.ts +0 -1
- package/dist/core/wiki/write-strategy.js +19 -3
- package/dist/core/workdir.d.ts +9 -2
- package/dist/core/workdir.js +21 -4
- package/dist/db/agent-executions-store.d.ts +149 -0
- package/dist/db/agent-executions-store.js +209 -0
- package/dist/db/agents-store.d.ts +179 -0
- package/dist/db/agents-store.js +264 -0
- package/dist/db/automation-triggers.d.ts +0 -1
- package/dist/db/automation-triggers.js +0 -1
- package/dist/db/browser-automation-b4-config-store.d.ts +68 -0
- package/dist/db/browser-automation-b4-config-store.js +111 -0
- package/dist/db/browser-automation-purchase-primary-channels-store.d.ts +48 -0
- package/dist/db/browser-automation-purchase-primary-channels-store.js +88 -0
- package/dist/db/browser-automation-purchase-replies-store.d.ts +48 -0
- package/dist/db/browser-automation-purchase-replies-store.js +71 -0
- package/dist/db/browser-automation-purchase-tokens-store.d.ts +276 -0
- package/dist/db/browser-automation-purchase-tokens-store.js +483 -0
- package/dist/db/browser-automation-store.d.ts +37 -0
- package/dist/db/browser-automation-store.js +41 -0
- package/dist/db/browser-history-store.d.ts +231 -0
- package/dist/db/browser-history-store.js +601 -0
- package/dist/db/browser-task-action-log-store.d.ts +41 -0
- package/dist/db/browser-task-action-log-store.js +74 -0
- package/dist/db/browser-task-clarifications-store.d.ts +67 -0
- package/dist/db/browser-task-clarifications-store.js +118 -0
- package/dist/db/browser-task-final-confirm-tokens-store.d.ts +108 -0
- package/dist/db/browser-task-final-confirm-tokens-store.js +251 -0
- package/dist/db/browser-task-store.d.ts +114 -0
- package/dist/db/browser-task-store.js +250 -0
- package/dist/db/client.d.ts +0 -1
- package/dist/db/client.js +0 -1
- package/dist/db/entities-store.d.ts +1 -2
- package/dist/db/entities-store.js +0 -1
- package/dist/db/feedback-signals-store.d.ts +77 -0
- package/dist/db/feedback-signals-store.js +144 -0
- package/dist/db/hourly-check-signals.d.ts +0 -1
- package/dist/db/hourly-check-signals.js +0 -1
- package/dist/db/integration-probe-store.d.ts +0 -1
- package/dist/db/integration-probe-store.js +0 -1
- package/dist/db/integrations-store.d.ts +0 -1
- package/dist/db/integrations-store.js +0 -1
- package/dist/db/managed-chromium-sites-store.d.ts +110 -0
- package/dist/db/managed-chromium-sites-store.js +174 -0
- package/dist/db/managed-chromium-state.d.ts +58 -0
- package/dist/db/managed-chromium-state.js +104 -0
- package/dist/db/managed-tasks-store.d.ts +0 -1
- package/dist/db/managed-tasks-store.js +0 -1
- package/dist/db/management-parse-failures-store.d.ts +0 -1
- package/dist/db/management-parse-failures-store.js +0 -1
- package/dist/db/migrations/context-vault-restructure.d.ts +263 -0
- package/dist/db/migrations/context-vault-restructure.js +1384 -0
- package/dist/db/migrations.d.ts +111 -0
- package/dist/db/migrations.js +526 -0
- package/dist/db/observations.d.ts +0 -1
- package/dist/db/observations.js +12 -3
- package/dist/db/recurring-schedules.d.ts +12 -2
- package/dist/db/recurring-schedules.js +91 -15
- package/dist/db/repositories-store.d.ts +0 -1
- package/dist/db/repositories-store.js +4 -2
- package/dist/db/runtime-state.d.ts +32 -2
- package/dist/db/runtime-state.js +33 -2
- package/dist/db/schema.d.ts +0 -1
- package/dist/db/schema.js +819 -19
- package/dist/db/sot-bindings-store.d.ts +0 -1
- package/dist/db/sot-bindings-store.js +0 -1
- package/dist/db/voice-transcripts-store.d.ts +0 -1
- package/dist/db/voice-transcripts-store.js +0 -1
- package/dist/db/wiki-store.d.ts +0 -1
- package/dist/db/wiki-store.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +119 -61
- package/dist/init.d.ts +0 -1
- package/dist/init.js +0 -2
- package/dist/log-buffer.d.ts +0 -1
- package/dist/log-buffer.js +0 -2
- package/dist/logging.d.ts +0 -1
- package/dist/logging.js +0 -2
- package/dist/management-rules.d.ts +0 -1
- package/dist/management-rules.js +0 -1
- package/dist/messaging/browser-task-mcp-notifier.d.ts +77 -0
- package/dist/messaging/browser-task-mcp-notifier.js +164 -0
- package/dist/messaging/browser-task-screenshot-attachment.d.ts +62 -0
- package/dist/messaging/browser-task-screenshot-attachment.js +115 -0
- package/dist/messaging/constants.d.ts +0 -1
- package/dist/messaging/constants.js +0 -1
- package/dist/messaging/final-confirm-system-message-sender.d.ts +53 -0
- package/dist/messaging/final-confirm-system-message-sender.js +165 -0
- package/dist/messaging/magic-phrase.d.ts +0 -1
- package/dist/messaging/magic-phrase.js +7 -3
- package/dist/messaging/owner-channels.d.ts +16 -1
- package/dist/messaging/owner-channels.js +21 -1
- package/dist/messaging/purchase-system-message-sender.d.ts +54 -0
- package/dist/messaging/purchase-system-message-sender.js +213 -0
- package/dist/messaging/setup-welcome-dm.d.ts +0 -1
- package/dist/messaging/setup-welcome-dm.js +0 -1
- package/dist/messaging/url-extract.d.ts +0 -1
- package/dist/messaging/url-extract.js +5 -1
- package/dist/observers/browser-history-poller.d.ts +113 -0
- package/dist/observers/browser-history-poller.js +404 -0
- package/dist/observers/calendar-poller.d.ts +0 -1
- package/dist/observers/calendar-poller.js +0 -1
- package/dist/observers/context-index-reconciler-observer.d.ts +0 -1
- package/dist/observers/context-index-reconciler-observer.js +0 -1
- package/dist/observers/delegated-probe-observer.d.ts +0 -1
- package/dist/observers/delegated-probe-observer.js +0 -1
- package/dist/observers/delegated-sync-worker.d.ts +8 -10
- package/dist/observers/delegated-sync-worker.js +10 -11
- package/dist/observers/entity-mirror-observer.d.ts +0 -1
- package/dist/observers/entity-mirror-observer.js +0 -1
- package/dist/observers/git-delegated-cron.d.ts +0 -1
- package/dist/observers/git-delegated-cron.js +0 -1
- package/dist/observers/git-event-classifier.d.ts +0 -1
- package/dist/observers/git-event-classifier.js +0 -1
- package/dist/observers/git-watcher.d.ts +0 -1
- package/dist/observers/git-watcher.js +7 -2
- package/dist/observers/github-poller-classifier.d.ts +0 -1
- package/dist/observers/github-poller-classifier.js +0 -1
- package/dist/observers/github-poller.d.ts +3 -1
- package/dist/observers/github-poller.js +28 -3
- package/dist/observers/imminent-event-scheduler.d.ts +0 -1
- package/dist/observers/imminent-event-scheduler.js +1 -2
- package/dist/observers/mail-poller.d.ts +0 -1
- package/dist/observers/mail-poller.js +45 -18
- package/dist/observers/mail-reconciliation.d.ts +1 -2
- package/dist/observers/mail-reconciliation.js +1 -2
- package/dist/observers/manager.d.ts +7 -8
- package/dist/observers/manager.js +7 -8
- package/dist/observers/notion-poller.d.ts +0 -1
- package/dist/observers/notion-poller.js +2 -3
- package/dist/observers/observation-summarizer/index.d.ts +0 -1
- package/dist/observers/observation-summarizer/index.js +0 -1
- package/dist/observers/observation-summarizer/pre-filter.d.ts +0 -1
- package/dist/observers/observation-summarizer/pre-filter.js +0 -1
- package/dist/observers/observation-summarizer/response-parser.d.ts +0 -1
- package/dist/observers/observation-summarizer/response-parser.js +7 -7
- package/dist/observers/observation-summarizer/summarizer-client.d.ts +0 -1
- package/dist/observers/observation-summarizer/summarizer-client.js +0 -1
- package/dist/observers/observation-summarizer/summarizer-prompts.d.ts +0 -1
- package/dist/observers/observation-summarizer/summarizer-prompts.js +0 -1
- package/dist/observers/observation-summarizer/worker.d.ts +2 -1
- package/dist/observers/observation-summarizer/worker.js +25 -1
- package/dist/observers/obsidian-watcher.d.ts +0 -1
- package/dist/observers/obsidian-watcher.js +0 -1
- package/dist/observers/poll-guard.d.ts +0 -1
- package/dist/observers/poll-guard.js +0 -1
- package/dist/observers/primary-vault-watcher.d.ts +0 -1
- package/dist/observers/primary-vault-watcher.js +0 -1
- package/dist/observers/repository-management-cron.d.ts +0 -1
- package/dist/observers/repository-management-cron.js +0 -1
- package/dist/observers/skill-curation-walker.d.ts +0 -1
- package/dist/observers/skill-curation-walker.js +0 -1
- package/dist/safety/absolute-block-audit.d.ts +0 -1
- package/dist/safety/absolute-block-audit.js +0 -1
- package/dist/safety/agent-write-tracker.d.ts +0 -1
- package/dist/safety/agent-write-tracker.js +0 -1
- package/dist/safety/always-disallowed.d.ts +59 -3
- package/dist/safety/always-disallowed.js +429 -13
- package/dist/safety/audit.d.ts +17 -6
- package/dist/safety/audit.js +137 -15
- package/dist/safety/integration-write-tracker.d.ts +0 -1
- package/dist/safety/integration-write-tracker.js +0 -1
- package/dist/safety/outbound-purchase-guard.d.ts +60 -0
- package/dist/safety/outbound-purchase-guard.js +82 -0
- package/dist/safety/risk-classifier.d.ts +4 -5
- package/dist/safety/risk-classifier.js +259 -86
- package/dist/safety/subprocess-block-scanner.d.ts +0 -1
- package/dist/safety/subprocess-block-scanner.js +0 -1
- package/dist/scheduler/hourly-check-gate.d.ts +0 -1
- package/dist/scheduler/hourly-check-gate.js +0 -1
- package/dist/secrets/backend-api-key-env.d.ts +0 -1
- package/dist/secrets/backend-api-key-env.js +0 -1
- package/dist/secrets/codex-home-materializer.d.ts +0 -1
- package/dist/secrets/codex-home-materializer.js +0 -1
- package/dist/secrets/encrypted-blob-store.d.ts +0 -1
- package/dist/secrets/encrypted-blob-store.js +0 -1
- package/dist/secrets/platform-secret-store.d.ts +0 -1
- package/dist/secrets/platform-secret-store.js +0 -1
- package/dist/secrets/redaction.d.ts +0 -1
- package/dist/secrets/redaction.js +0 -1
- package/dist/secrets/secret-broker.d.ts +0 -2
- package/dist/secrets/secret-broker.js +0 -4
- package/dist/secrets/secret-names.d.ts +1 -2
- package/dist/secrets/secret-names.js +0 -2
- package/dist/secrets/secret-store.d.ts +0 -1
- package/dist/secrets/secret-store.js +0 -1
- package/dist/secrets/types.d.ts +0 -1
- package/dist/secrets/types.js +0 -1
- package/dist/services/apple-calendar/caldav-client.d.ts +0 -1
- package/dist/services/apple-calendar/caldav-client.js +0 -1
- package/dist/services/apple-calendar/caldav-codec.d.ts +0 -1
- package/dist/services/apple-calendar/caldav-codec.js +0 -1
- package/dist/services/apple-calendar/index.d.ts +0 -1
- package/dist/services/apple-calendar/index.js +0 -1
- package/dist/services/apple-calendar/service.d.ts +0 -1
- package/dist/services/apple-calendar/service.js +0 -1
- package/dist/services/apple-calendar/types.d.ts +0 -1
- package/dist/services/apple-calendar/types.js +0 -1
- package/dist/services/attachments/hardlink.d.ts +0 -1
- package/dist/services/attachments/hardlink.js +0 -1
- package/dist/services/attachments/sanitize.d.ts +0 -1
- package/dist/services/attachments/sanitize.js +0 -1
- package/dist/services/attachments/store.d.ts +0 -1
- package/dist/services/attachments/store.js +1 -3
- package/dist/services/browser-history/automation/browser-task-tools/dom-snapshot-output.d.ts +48 -0
- package/dist/services/browser-history/automation/browser-task-tools/dom-snapshot-output.js +98 -0
- package/dist/services/browser-history/automation/browser-task-tools/extract-cap.d.ts +76 -0
- package/dist/services/browser-history/automation/browser-task-tools/extract-cap.js +79 -0
- package/dist/services/browser-history/automation/browser-task-tools/extract-output.d.ts +66 -0
- package/dist/services/browser-history/automation/browser-task-tools/extract-output.js +69 -0
- package/dist/services/browser-history/automation/browser-task-tools/final-confirm-gate.d.ts +129 -0
- package/dist/services/browser-history/automation/browser-task-tools/final-confirm-gate.js +150 -0
- package/dist/services/browser-history/automation/browser-task-tools/loop-guard.d.ts +95 -0
- package/dist/services/browser-history/automation/browser-task-tools/loop-guard.js +123 -0
- package/dist/services/browser-history/automation/browser-task-tools/navigate-guard.d.ts +54 -0
- package/dist/services/browser-history/automation/browser-task-tools/navigate-guard.js +62 -0
- package/dist/services/browser-history/automation/browser-task-tools/schemas.d.ts +201 -0
- package/dist/services/browser-history/automation/browser-task-tools/schemas.js +248 -0
- package/dist/services/browser-history/automation/browser-task-tools/screenshot-output.d.ts +76 -0
- package/dist/services/browser-history/automation/browser-task-tools/screenshot-output.js +101 -0
- package/dist/services/browser-history/automation/browser-task-tools/server.d.ts +240 -0
- package/dist/services/browser-history/automation/browser-task-tools/server.js +1016 -0
- package/dist/services/browser-history/automation/cdp-network-interception.d.ts +74 -0
- package/dist/services/browser-history/automation/cdp-network-interception.js +106 -0
- package/dist/services/browser-history/automation/egress-denylist.d.ts +167 -0
- package/dist/services/browser-history/automation/egress-denylist.js +468 -0
- package/dist/services/browser-history/automation/external-content.d.ts +72 -0
- package/dist/services/browser-history/automation/external-content.js +0 -0
- package/dist/services/browser-history/automation/final-confirm-handler.d.ts +178 -0
- package/dist/services/browser-history/automation/final-confirm-handler.js +462 -0
- package/dist/services/browser-history/automation/lite-final-confirm-tokens.d.ts +100 -0
- package/dist/services/browser-history/automation/lite-final-confirm-tokens.js +126 -0
- package/dist/services/browser-history/automation/payment-path-blocker.d.ts +62 -0
- package/dist/services/browser-history/automation/payment-path-blocker.js +113 -0
- package/dist/services/browser-history/automation/purchase-handler.d.ts +344 -0
- package/dist/services/browser-history/automation/purchase-handler.js +666 -0
- package/dist/services/browser-history/automation/purchase-tokens.d.ts +265 -0
- package/dist/services/browser-history/automation/purchase-tokens.js +271 -0
- package/dist/services/browser-history/automation/site-registry.d.ts +176 -0
- package/dist/services/browser-history/automation/site-registry.js +290 -0
- package/dist/services/browser-history/automation/trace-store-paths.d.ts +80 -0
- package/dist/services/browser-history/automation/trace-store-paths.js +119 -0
- package/dist/services/browser-history/automation/trace-store.d.ts +29 -0
- package/dist/services/browser-history/automation/trace-store.js +63 -0
- package/dist/services/browser-history/cleanup-interests-reflection.d.ts +39 -0
- package/dist/services/browser-history/cleanup-interests-reflection.js +204 -0
- package/dist/services/browser-history/detectors/atlas.d.ts +2 -0
- package/dist/services/browser-history/detectors/atlas.js +4 -0
- package/dist/services/browser-history/detectors/chrome.d.ts +2 -0
- package/dist/services/browser-history/detectors/chrome.js +4 -0
- package/dist/services/browser-history/detectors/chromium.d.ts +2 -0
- package/dist/services/browser-history/detectors/chromium.js +193 -0
- package/dist/services/browser-history/detectors/comet.d.ts +2 -0
- package/dist/services/browser-history/detectors/comet.js +4 -0
- package/dist/services/browser-history/detectors/registry.d.ts +15 -0
- package/dist/services/browser-history/detectors/registry.js +82 -0
- package/dist/services/browser-history/history-mtime.d.ts +8 -0
- package/dist/services/browser-history/history-mtime.js +31 -0
- package/dist/services/browser-history/interests-reflection-lock.d.ts +26 -0
- package/dist/services/browser-history/interests-reflection-lock.js +84 -0
- package/dist/services/browser-history/lifecycle/chromium-install.d.ts +78 -0
- package/dist/services/browser-history/lifecycle/chromium-install.js +206 -0
- package/dist/services/browser-history/lifecycle/chromium-launcher.d.ts +77 -0
- package/dist/services/browser-history/lifecycle/chromium-launcher.js +288 -0
- package/dist/services/browser-history/lifecycle/failure-escalation.d.ts +3 -0
- package/dist/services/browser-history/lifecycle/failure-escalation.js +54 -0
- package/dist/services/browser-history/lifecycle/health-check.d.ts +8 -0
- package/dist/services/browser-history/lifecycle/health-check.js +17 -0
- package/dist/services/browser-history/lifecycle/platform.d.ts +99 -0
- package/dist/services/browser-history/lifecycle/platform.js +639 -0
- package/dist/services/browser-history/lifecycle/supervisor.d.ts +24 -0
- package/dist/services/browser-history/lifecycle/supervisor.js +334 -0
- package/dist/services/browser-history/managed-chromium/cdp-connect.d.ts +110 -0
- package/dist/services/browser-history/managed-chromium/cdp-connect.js +171 -0
- package/dist/services/browser-history/managed-chromium/instance-a-config.d.ts +116 -0
- package/dist/services/browser-history/managed-chromium/instance-a-config.js +164 -0
- package/dist/services/browser-history/managed-chromium/instance-a-launcher.d.ts +82 -0
- package/dist/services/browser-history/managed-chromium/instance-a-launcher.js +200 -0
- package/dist/services/browser-history/managed-chromium/managed-chromium-supervisor.d.ts +69 -0
- package/dist/services/browser-history/managed-chromium/managed-chromium-supervisor.js +334 -0
- package/dist/services/browser-history/managed-chromium/reauth-detector.d.ts +60 -0
- package/dist/services/browser-history/managed-chromium/reauth-detector.js +179 -0
- package/dist/services/browser-history/managed-chromium/sandbox-install.d.ts +69 -0
- package/dist/services/browser-history/managed-chromium/sandbox-install.js +123 -0
- package/dist/services/browser-history/managed-chromium/sandbox-launcher.d.ts +117 -0
- package/dist/services/browser-history/managed-chromium/sandbox-launcher.js +244 -0
- package/dist/services/browser-history/managed-chromium/setup-bootstrap.d.ts +149 -0
- package/dist/services/browser-history/managed-chromium/setup-bootstrap.js +404 -0
- package/dist/services/browser-history/managed-chromium/site-bootstrap.d.ts +133 -0
- package/dist/services/browser-history/managed-chromium/site-bootstrap.js +360 -0
- package/dist/services/browser-history/managed-chromium/supervisor-config.d.ts +75 -0
- package/dist/services/browser-history/managed-chromium/supervisor-config.js +146 -0
- package/dist/services/browser-history/managed-chromium/types.d.ts +199 -0
- package/dist/services/browser-history/managed-chromium/types.js +116 -0
- package/dist/services/browser-history/pipeline/amazon-extractor.d.ts +11 -0
- package/dist/services/browser-history/pipeline/amazon-extractor.js +33 -0
- package/dist/services/browser-history/pipeline/classifier.d.ts +7 -0
- package/dist/services/browser-history/pipeline/classifier.js +208 -0
- package/dist/services/browser-history/pipeline/cluster-extractor.d.ts +76 -0
- package/dist/services/browser-history/pipeline/cluster-extractor.js +271 -0
- package/dist/services/browser-history/pipeline/interests-block.d.ts +99 -0
- package/dist/services/browser-history/pipeline/interests-block.js +333 -0
- package/dist/services/browser-history/pipeline/meaningful-filter.d.ts +47 -0
- package/dist/services/browser-history/pipeline/meaningful-filter.js +228 -0
- package/dist/services/browser-history/pipeline/offer-rate-limit.d.ts +75 -0
- package/dist/services/browser-history/pipeline/offer-rate-limit.js +188 -0
- package/dist/services/browser-history/pipeline/offer-triggers.d.ts +150 -0
- package/dist/services/browser-history/pipeline/offer-triggers.js +164 -0
- package/dist/services/browser-history/pipeline/pre-morning-digest.d.ts +118 -0
- package/dist/services/browser-history/pipeline/pre-morning-digest.js +399 -0
- package/dist/services/browser-history/pipeline/project-matcher.d.ts +26 -0
- package/dist/services/browser-history/pipeline/project-matcher.js +314 -0
- package/dist/services/browser-history/pipeline/redactor.d.ts +15 -0
- package/dist/services/browser-history/pipeline/redactor.js +119 -0
- package/dist/services/browser-history/pipeline/reload-detector.d.ts +6 -0
- package/dist/services/browser-history/pipeline/reload-detector.js +16 -0
- package/dist/services/browser-history/pipeline/sensitive-hosts.d.ts +2 -0
- package/dist/services/browser-history/pipeline/sensitive-hosts.js +173 -0
- package/dist/services/browser-history/pipeline/summarizer.d.ts +52 -0
- package/dist/services/browser-history/pipeline/summarizer.js +97 -0
- package/dist/services/browser-history/pipeline/weekly-interests-summary.d.ts +139 -0
- package/dist/services/browser-history/pipeline/weekly-interests-summary.js +227 -0
- package/dist/services/browser-history/readers/chromium-reader.d.ts +30 -0
- package/dist/services/browser-history/readers/chromium-reader.js +139 -0
- package/dist/services/browser-history/readers/snapshot.d.ts +19 -0
- package/dist/services/browser-history/readers/snapshot.js +67 -0
- package/dist/services/browser-history/refresh-interests-reflection.d.ts +125 -0
- package/dist/services/browser-history/refresh-interests-reflection.js +424 -0
- package/dist/services/browser-history/types.d.ts +60 -0
- package/dist/services/browser-history/types.js +1 -0
- package/dist/services/browser-task/browser-task-allowlist.d.ts +107 -0
- package/dist/services/browser-task/browser-task-allowlist.js +247 -0
- package/dist/services/browser-task/browser-task-deadline-scanner.d.ts +76 -0
- package/dist/services/browser-task/browser-task-deadline-scanner.js +68 -0
- package/dist/services/browser-task/browser-task-driver.d.ts +188 -0
- package/dist/services/browser-task/browser-task-driver.js +714 -0
- package/dist/services/browser-task/browser-task-runner.d.ts +166 -0
- package/dist/services/browser-task/browser-task-runner.js +781 -0
- package/dist/services/browser-task/browser-task-slots.d.ts +212 -0
- package/dist/services/browser-task/browser-task-slots.js +404 -0
- package/dist/services/browser-task/browser-task-transition-events.d.ts +76 -0
- package/dist/services/browser-task/browser-task-transition-events.js +80 -0
- package/dist/services/calendar/outlook/graph-calendar-client.d.ts +0 -1
- package/dist/services/calendar/outlook/graph-calendar-client.js +0 -1
- package/dist/services/calendar.d.ts +0 -1
- package/dist/services/calendar.js +21 -16
- package/dist/services/delegated-backend-invoker.d.ts +0 -1
- package/dist/services/delegated-backend-invoker.js +0 -1
- package/dist/services/delegated-invoker-audit.d.ts +0 -1
- package/dist/services/delegated-invoker-audit.js +3 -4
- package/dist/services/delegated-invoker-cache-hits.d.ts +0 -1
- package/dist/services/delegated-invoker-cache-hits.js +0 -1
- package/dist/services/delegated-invoker-janitors.d.ts +0 -1
- package/dist/services/delegated-invoker-janitors.js +0 -1
- package/dist/services/delegated-invoker-utils.d.ts +0 -1
- package/dist/services/delegated-invoker-utils.js +0 -1
- package/dist/services/delegated-proxy-config.d.ts +0 -1
- package/dist/services/delegated-proxy-config.js +0 -1
- package/dist/services/delegated-task-result-cache.d.ts +0 -1
- package/dist/services/delegated-task-result-cache.js +0 -0
- package/dist/services/delegated-task-runtime.d.ts +0 -1
- package/dist/services/delegated-task-runtime.js +0 -1
- package/dist/services/delegated-task-session-pool.d.ts +0 -1
- package/dist/services/delegated-task-session-pool.js +0 -1
- package/dist/services/delegated-tool-runtime.d.ts +0 -1
- package/dist/services/delegated-tool-runtime.js +0 -1
- package/dist/services/fts5.d.ts +0 -1
- package/dist/services/fts5.js +0 -1
- package/dist/services/git-account-registry.d.ts +0 -1
- package/dist/services/git-account-registry.js +0 -1
- package/dist/services/github.d.ts +9 -40
- package/dist/services/github.js +9 -107
- package/dist/services/gmail-classifier.d.ts +0 -1
- package/dist/services/gmail-classifier.js +0 -1
- package/dist/services/gmail.d.ts +0 -1
- package/dist/services/gmail.js +31 -52
- package/dist/services/google-auth.d.ts +0 -1
- package/dist/services/google-auth.js +0 -1
- package/dist/services/integrations/extract-write-item-id.d.ts +0 -1
- package/dist/services/integrations/extract-write-item-id.js +6 -1
- package/dist/services/integrations/reconcile.d.ts +0 -1
- package/dist/services/integrations/reconcile.js +0 -1
- package/dist/services/integrations/snapshot-partitions.d.ts +0 -1
- package/dist/services/integrations/snapshot-partitions.js +8 -1
- package/dist/services/journal/render.d.ts +0 -1
- package/dist/services/journal/render.js +0 -1
- package/dist/services/journal/writer.d.ts +0 -1
- package/dist/services/journal/writer.js +0 -1
- package/dist/services/mail/account-registry.d.ts +0 -1
- package/dist/services/mail/account-registry.js +7 -3
- package/dist/services/mail/gmail/auth-failure-classifier.d.ts +0 -1
- package/dist/services/mail/gmail/auth-failure-classifier.js +0 -1
- package/dist/services/mail/gmail/gmail-provider.d.ts +0 -1
- package/dist/services/mail/gmail/gmail-provider.js +0 -1
- package/dist/services/mail/gmail/legacy-row.d.ts +0 -1
- package/dist/services/mail/gmail/legacy-row.js +0 -1
- package/dist/services/mail/gmail/poll-cursor.d.ts +0 -1
- package/dist/services/mail/gmail/poll-cursor.js +0 -1
- package/dist/services/mail/html-to-plaintext.d.ts +0 -1
- package/dist/services/mail/html-to-plaintext.js +0 -1
- package/dist/services/mail/imap/app-password.d.ts +0 -1
- package/dist/services/mail/imap/app-password.js +0 -1
- package/dist/services/mail/imap/auth-failure-classifier.d.ts +0 -1
- package/dist/services/mail/imap/auth-failure-classifier.js +0 -1
- package/dist/services/mail/imap/capabilities.d.ts +0 -1
- package/dist/services/mail/imap/capabilities.js +0 -1
- package/dist/services/mail/imap/client.d.ts +0 -1
- package/dist/services/mail/imap/client.js +0 -1
- package/dist/services/mail/imap/cursor.d.ts +0 -1
- package/dist/services/mail/imap/cursor.js +0 -1
- package/dist/services/mail/imap/folder-resolver.d.ts +0 -1
- package/dist/services/mail/imap/folder-resolver.js +0 -1
- package/dist/services/mail/imap/icloud-provider.d.ts +0 -1
- package/dist/services/mail/imap/icloud-provider.js +0 -1
- package/dist/services/mail/imap/imap-provider-base.d.ts +0 -1
- package/dist/services/mail/imap/imap-provider-base.js +12 -7
- package/dist/services/mail/imap/query-translator.d.ts +0 -1
- package/dist/services/mail/imap/query-translator.js +0 -1
- package/dist/services/mail/imap/reconcile-planner.d.ts +0 -1
- package/dist/services/mail/imap/reconcile-planner.js +0 -1
- package/dist/services/mail/imap/reply-mime.d.ts +0 -1
- package/dist/services/mail/imap/reply-mime.js +0 -1
- package/dist/services/mail/imap/yahoo-provider.d.ts +0 -1
- package/dist/services/mail/imap/yahoo-provider.js +0 -1
- package/dist/services/mail/mail-search.d.ts +0 -1
- package/dist/services/mail/mail-search.js +0 -1
- package/dist/services/mail/outlook/auth-failure-classifier.d.ts +0 -1
- package/dist/services/mail/outlook/auth-failure-classifier.js +0 -1
- package/dist/services/mail/outlook/client-config.d.ts +0 -1
- package/dist/services/mail/outlook/client-config.js +0 -1
- package/dist/services/mail/outlook/delta-cursor.d.ts +0 -1
- package/dist/services/mail/outlook/delta-cursor.js +0 -1
- package/dist/services/mail/outlook/graph-client.d.ts +0 -1
- package/dist/services/mail/outlook/graph-client.js +0 -1
- package/dist/services/mail/outlook/msal-app-factory.d.ts +0 -1
- package/dist/services/mail/outlook/msal-app-factory.js +0 -1
- package/dist/services/mail/outlook/msal-cache-plugin.d.ts +0 -1
- package/dist/services/mail/outlook/msal-cache-plugin.js +0 -1
- package/dist/services/mail/outlook/oauth-device-code.d.ts +0 -1
- package/dist/services/mail/outlook/oauth-device-code.js +0 -1
- package/dist/services/mail/outlook/oauth-loopback.d.ts +0 -1
- package/dist/services/mail/outlook/oauth-loopback.js +0 -1
- package/dist/services/mail/outlook/outlook-provider.d.ts +0 -1
- package/dist/services/mail/outlook/outlook-provider.js +0 -1
- package/dist/services/mail/outlook/query-translator.d.ts +0 -1
- package/dist/services/mail/outlook/query-translator.js +0 -1
- package/dist/services/mail/provider.d.ts +0 -1
- package/dist/services/mail/provider.js +0 -1
- package/dist/services/mail/query-utils.d.ts +0 -1
- package/dist/services/mail/query-utils.js +0 -1
- package/dist/services/mail-classifier.d.ts +0 -1
- package/dist/services/mail-classifier.js +0 -1
- package/dist/services/mail-ingestion.d.ts +0 -1
- package/dist/services/mail-ingestion.js +0 -1
- package/dist/services/mcp/auto-probe.d.ts +0 -1
- package/dist/services/mcp/auto-probe.js +0 -1
- package/dist/services/mcp/generators/claude.d.ts +0 -1
- package/dist/services/mcp/generators/claude.js +0 -1
- package/dist/services/mcp/generators/codex.d.ts +0 -1
- package/dist/services/mcp/generators/codex.js +0 -1
- package/dist/services/mcp/generators/gemini.d.ts +0 -1
- package/dist/services/mcp/generators/gemini.js +0 -1
- package/dist/services/mcp/generators/index.d.ts +0 -1
- package/dist/services/mcp/generators/index.js +0 -1
- package/dist/services/mcp/generators/types.d.ts +0 -1
- package/dist/services/mcp/generators/types.js +0 -1
- package/dist/services/mcp/probe.d.ts +0 -1
- package/dist/services/mcp/probe.js +30 -2
- package/dist/services/mcp/registry.d.ts +0 -1
- package/dist/services/mcp/registry.js +0 -1
- package/dist/services/mcp/risk.d.ts +1 -2
- package/dist/services/mcp/risk.js +1 -2
- package/dist/services/mcp/sdk-observations-server.d.ts +0 -1
- package/dist/services/mcp/sdk-observations-server.js +0 -1
- package/dist/services/mcp/session-materializer.d.ts +2 -3
- package/dist/services/mcp/session-materializer.js +2 -3
- package/dist/services/mcp/tool-audit.d.ts +0 -1
- package/dist/services/mcp/tool-audit.js +0 -1
- package/dist/services/mcp/types.d.ts +0 -1
- package/dist/services/mcp/types.js +0 -1
- package/dist/services/notion.d.ts +1 -4
- package/dist/services/notion.js +1 -4
- package/dist/services/observations-batch.d.ts +8 -10
- package/dist/services/observations-batch.js +8 -10
- package/dist/services/obsidian.d.ts +0 -1
- package/dist/services/obsidian.js +0 -1
- package/dist/services/service-registry.d.ts +0 -3
- package/dist/services/service-registry.js +0 -2
- package/dist/services/voice/transcriber-impl.d.ts +0 -1
- package/dist/services/voice/transcriber-impl.js +21 -20
- package/dist/services/voice/transcriber.d.ts +2 -5
- package/dist/services/voice/transcriber.js +16 -14
- package/dist/settings/runtime-settings.d.ts +50 -3
- package/dist/settings/runtime-settings.js +136 -5
- package/dist/settings/settings-store.d.ts +0 -1
- package/dist/settings/settings-store.js +44 -2
- package/native/win-appcontainer/README.md +66 -0
- package/native/win-appcontainer/binding.gyp +33 -0
- package/native/win-appcontainer/loader.js +29 -0
- package/native/win-appcontainer/package.json +18 -0
- package/native/win-appcontainer/src/win_appcontainer.cc +67 -0
- package/package.json +7 -3
- package/dist/adapters/composite-dashboard-stream.d.ts.map +0 -1
- package/dist/adapters/composite-dashboard-stream.js.map +0 -1
- package/dist/adapters/dashboard-adapter.d.ts.map +0 -1
- package/dist/adapters/dashboard-adapter.js.map +0 -1
- package/dist/adapters/discord.d.ts.map +0 -1
- package/dist/adapters/discord.js.map +0 -1
- package/dist/adapters/docs-qa-adapter.d.ts.map +0 -1
- package/dist/adapters/docs-qa-adapter.js.map +0 -1
- package/dist/adapters/message-hub.d.ts.map +0 -1
- package/dist/adapters/message-hub.js.map +0 -1
- package/dist/adapters/notification-manager.d.ts.map +0 -1
- package/dist/adapters/notification-manager.js.map +0 -1
- package/dist/adapters/outbound-text.d.ts.map +0 -1
- package/dist/adapters/outbound-text.js.map +0 -1
- package/dist/adapters/primary-platform-resolver.d.ts.map +0 -1
- package/dist/adapters/primary-platform-resolver.js.map +0 -1
- package/dist/adapters/slack-adapter.d.ts.map +0 -1
- package/dist/adapters/slack-adapter.js.map +0 -1
- package/dist/adapters/telegram-adapter.d.ts.map +0 -1
- package/dist/adapters/telegram-adapter.js.map +0 -1
- package/dist/adapters/types.d.ts.map +0 -1
- package/dist/adapters/types.js.map +0 -1
- package/dist/adapters/whatsapp-adapter.d.ts.map +0 -1
- package/dist/adapters/whatsapp-adapter.js.map +0 -1
- package/dist/api/chat-binding-query.d.ts.map +0 -1
- package/dist/api/chat-binding-query.js.map +0 -1
- package/dist/api/chat-session-resume.d.ts.map +0 -1
- package/dist/api/chat-session-resume.js.map +0 -1
- package/dist/api/directory-picker.d.ts.map +0 -1
- package/dist/api/directory-picker.js.map +0 -1
- package/dist/api/env-writer.d.ts.map +0 -1
- package/dist/api/env-writer.js.map +0 -1
- package/dist/api/helpers/agent-errors.d.ts.map +0 -1
- package/dist/api/helpers/agent-errors.js.map +0 -1
- package/dist/api/integration-route-gate.d.ts.map +0 -1
- package/dist/api/integration-route-gate.js.map +0 -1
- package/dist/api/json-body.d.ts.map +0 -1
- package/dist/api/json-body.js.map +0 -1
- package/dist/api/routes/activity-sources.d.ts.map +0 -1
- package/dist/api/routes/activity-sources.js.map +0 -1
- package/dist/api/routes/agent-schedule-plan-match.d.ts.map +0 -1
- package/dist/api/routes/agent-schedule-plan-match.js.map +0 -1
- package/dist/api/routes/agent-schedule.d.ts.map +0 -1
- package/dist/api/routes/agent-schedule.js.map +0 -1
- package/dist/api/routes/agent.d.ts.map +0 -1
- package/dist/api/routes/agent.js.map +0 -1
- package/dist/api/routes/apple-calendar.d.ts.map +0 -1
- package/dist/api/routes/apple-calendar.js.map +0 -1
- package/dist/api/routes/attachments.d.ts.map +0 -1
- package/dist/api/routes/attachments.js.map +0 -1
- package/dist/api/routes/backends.d.ts.map +0 -1
- package/dist/api/routes/backends.js.map +0 -1
- package/dist/api/routes/books.d.ts.map +0 -1
- package/dist/api/routes/books.js.map +0 -1
- package/dist/api/routes/calendar.d.ts.map +0 -1
- package/dist/api/routes/calendar.js.map +0 -1
- package/dist/api/routes/commands.d.ts.map +0 -1
- package/dist/api/routes/commands.js.map +0 -1
- package/dist/api/routes/context/index.d.ts.map +0 -1
- package/dist/api/routes/context/index.js.map +0 -1
- package/dist/api/routes/context/locks.d.ts.map +0 -1
- package/dist/api/routes/context/locks.js.map +0 -1
- package/dist/api/routes/context/path-resolve.d.ts.map +0 -1
- package/dist/api/routes/context/path-resolve.js.map +0 -1
- package/dist/api/routes/context/permissions.d.ts.map +0 -1
- package/dist/api/routes/context/permissions.js.map +0 -1
- package/dist/api/routes/context/read.d.ts.map +0 -1
- package/dist/api/routes/context/read.js.map +0 -1
- package/dist/api/routes/context/repair.d.ts.map +0 -1
- package/dist/api/routes/context/repair.js.map +0 -1
- package/dist/api/routes/context/snapshots.d.ts.map +0 -1
- package/dist/api/routes/context/snapshots.js.map +0 -1
- package/dist/api/routes/context/write.d.ts.map +0 -1
- package/dist/api/routes/context/write.js.map +0 -1
- package/dist/api/routes/context.d.ts +0 -16
- package/dist/api/routes/context.d.ts.map +0 -1
- package/dist/api/routes/context.js +0 -1645
- package/dist/api/routes/context.js.map +0 -1
- package/dist/api/routes/dashboard/config.d.ts.map +0 -1
- package/dist/api/routes/dashboard/config.js.map +0 -1
- package/dist/api/routes/dashboard/conversations.d.ts.map +0 -1
- package/dist/api/routes/dashboard/conversations.js.map +0 -1
- package/dist/api/routes/dashboard/cost-approvals.d.ts.map +0 -1
- package/dist/api/routes/dashboard/cost-approvals.js.map +0 -1
- package/dist/api/routes/dashboard/index.d.ts.map +0 -1
- package/dist/api/routes/dashboard/index.js.map +0 -1
- package/dist/api/routes/dashboard/messaging.d.ts.map +0 -1
- package/dist/api/routes/dashboard/messaging.js.map +0 -1
- package/dist/api/routes/dashboard/notifications.d.ts.map +0 -1
- package/dist/api/routes/dashboard/notifications.js.map +0 -1
- package/dist/api/routes/dashboard/oauth-google.d.ts.map +0 -1
- package/dist/api/routes/dashboard/oauth-google.js.map +0 -1
- package/dist/api/routes/dashboard/schedule-readonly.d.ts.map +0 -1
- package/dist/api/routes/dashboard/schedule-readonly.js.map +0 -1
- package/dist/api/routes/dashboard/secrets.d.ts.map +0 -1
- package/dist/api/routes/dashboard/secrets.js.map +0 -1
- package/dist/api/routes/dashboard/snapshots.d.ts.map +0 -1
- package/dist/api/routes/dashboard/snapshots.js.map +0 -1
- package/dist/api/routes/dashboard.d.ts +0 -29
- package/dist/api/routes/dashboard.d.ts.map +0 -1
- package/dist/api/routes/dashboard.js +0 -2168
- package/dist/api/routes/dashboard.js.map +0 -1
- package/dist/api/routes/delegated-sync.d.ts.map +0 -1
- package/dist/api/routes/delegated-sync.js.map +0 -1
- package/dist/api/routes/delegated.d.ts.map +0 -1
- package/dist/api/routes/delegated.js.map +0 -1
- package/dist/api/routes/docs.d.ts.map +0 -1
- package/dist/api/routes/docs.js.map +0 -1
- package/dist/api/routes/entities.d.ts.map +0 -1
- package/dist/api/routes/entities.js.map +0 -1
- package/dist/api/routes/fs.d.ts.map +0 -1
- package/dist/api/routes/fs.js.map +0 -1
- package/dist/api/routes/fs.logic.d.ts.map +0 -1
- package/dist/api/routes/fs.logic.js.map +0 -1
- package/dist/api/routes/git-accounts.d.ts.map +0 -1
- package/dist/api/routes/git-accounts.js.map +0 -1
- package/dist/api/routes/git-templates.d.ts.map +0 -1
- package/dist/api/routes/git-templates.js.map +0 -1
- package/dist/api/routes/git.d.ts.map +0 -1
- package/dist/api/routes/git.js.map +0 -1
- package/dist/api/routes/github.d.ts.map +0 -1
- package/dist/api/routes/github.js.map +0 -1
- package/dist/api/routes/health.d.ts.map +0 -1
- package/dist/api/routes/health.js.map +0 -1
- package/dist/api/routes/integrations/crud-patch.d.ts.map +0 -1
- package/dist/api/routes/integrations/crud-patch.js.map +0 -1
- package/dist/api/routes/integrations/crud.d.ts.map +0 -1
- package/dist/api/routes/integrations/crud.js.map +0 -1
- package/dist/api/routes/integrations/exec.d.ts.map +0 -1
- package/dist/api/routes/integrations/exec.js.map +0 -1
- package/dist/api/routes/integrations/index.d.ts.map +0 -1
- package/dist/api/routes/integrations/index.js.map +0 -1
- package/dist/api/routes/integrations/integrations/crud.d.ts +0 -16
- package/dist/api/routes/integrations/integrations/crud.d.ts.map +0 -1
- package/dist/api/routes/integrations/integrations/crud.js +0 -158
- package/dist/api/routes/integrations/integrations/crud.js.map +0 -1
- package/dist/api/routes/integrations/integrations/index.d.ts +0 -55
- package/dist/api/routes/integrations/integrations/index.d.ts.map +0 -1
- package/dist/api/routes/integrations/integrations/index.js +0 -65
- package/dist/api/routes/integrations/integrations/index.js.map +0 -1
- package/dist/api/routes/integrations/integrations/invoke.d.ts +0 -38
- package/dist/api/routes/integrations/integrations/invoke.d.ts.map +0 -1
- package/dist/api/routes/integrations/integrations/invoke.js +0 -320
- package/dist/api/routes/integrations/integrations/invoke.js.map +0 -1
- package/dist/api/routes/integrations/integrations/probe.d.ts +0 -21
- package/dist/api/routes/integrations/integrations/probe.d.ts.map +0 -1
- package/dist/api/routes/integrations/integrations/probe.js +0 -247
- package/dist/api/routes/integrations/integrations/probe.js.map +0 -1
- package/dist/api/routes/integrations/invoke.d.ts +0 -38
- package/dist/api/routes/integrations/invoke.d.ts.map +0 -1
- package/dist/api/routes/integrations/invoke.js +0 -320
- package/dist/api/routes/integrations/invoke.js.map +0 -1
- package/dist/api/routes/integrations/probe.d.ts.map +0 -1
- package/dist/api/routes/integrations/probe.js.map +0 -1
- package/dist/api/routes/integrations-reconcile.d.ts.map +0 -1
- package/dist/api/routes/integrations-reconcile.js.map +0 -1
- package/dist/api/routes/integrations.d.ts +0 -48
- package/dist/api/routes/integrations.d.ts.map +0 -1
- package/dist/api/routes/integrations.js +0 -1624
- package/dist/api/routes/integrations.js.map +0 -1
- package/dist/api/routes/knowledge.d.ts.map +0 -1
- package/dist/api/routes/knowledge.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/app-password.d.ts +0 -4
- package/dist/api/routes/mail/_pa_wip_mail/app-password.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/app-password.js +0 -192
- package/dist/api/routes/mail/_pa_wip_mail/app-password.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/body-helpers.d.ts +0 -55
- package/dist/api/routes/mail/_pa_wip_mail/body-helpers.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/body-helpers.js +0 -91
- package/dist/api/routes/mail/_pa_wip_mail/body-helpers.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/dependencies.d.ts +0 -36
- package/dist/api/routes/mail/_pa_wip_mail/dependencies.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/dependencies.js +0 -2
- package/dist/api/routes/mail/_pa_wip_mail/dependencies.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/gating.d.ts +0 -45
- package/dist/api/routes/mail/_pa_wip_mail/gating.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/gating.js +0 -98
- package/dist/api/routes/mail/_pa_wip_mail/gating.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.d.ts +0 -4
- package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.js +0 -289
- package/dist/api/routes/mail/_pa_wip_mail/mail/accounts.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.d.ts +0 -4
- package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.js +0 -192
- package/dist/api/routes/mail/_pa_wip_mail/mail/app-password.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.d.ts +0 -55
- package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.js +0 -91
- package/dist/api/routes/mail/_pa_wip_mail/mail/body-helpers.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.d.ts +0 -36
- package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.js +0 -2
- package/dist/api/routes/mail/_pa_wip_mail/mail/dependencies.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.d.ts +0 -5
- package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.js +0 -139
- package/dist/api/routes/mail/_pa_wip_mail/mail/drafts.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/gating.d.ts +0 -45
- package/dist/api/routes/mail/_pa_wip_mail/mail/gating.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/gating.js +0 -98
- package/dist/api/routes/mail/_pa_wip_mail/mail/gating.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/index.d.ts +0 -18
- package/dist/api/routes/mail/_pa_wip_mail/mail/index.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/index.js +0 -40
- package/dist/api/routes/mail/_pa_wip_mail/mail/index.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/messages.d.ts +0 -15
- package/dist/api/routes/mail/_pa_wip_mail/mail/messages.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/messages.js +0 -239
- package/dist/api/routes/mail/_pa_wip_mail/mail/messages.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.d.ts +0 -4
- package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.js +0 -73
- package/dist/api/routes/mail/_pa_wip_mail/mail/outlook-config.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.d.ts +0 -64
- package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.js +0 -286
- package/dist/api/routes/mail/_pa_wip_mail/mail/provider-resolver.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/providers.d.ts +0 -4
- package/dist/api/routes/mail/_pa_wip_mail/mail/providers.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/providers.js +0 -73
- package/dist/api/routes/mail/_pa_wip_mail/mail/providers.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.d.ts +0 -5
- package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.js +0 -35
- package/dist/api/routes/mail/_pa_wip_mail/mail/tags-folders.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/validators.d.ts +0 -23
- package/dist/api/routes/mail/_pa_wip_mail/mail/validators.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/mail/validators.js +0 -131
- package/dist/api/routes/mail/_pa_wip_mail/mail/validators.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.d.ts +0 -64
- package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.js +0 -286
- package/dist/api/routes/mail/_pa_wip_mail/provider-resolver.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/search-health.d.ts +0 -4
- package/dist/api/routes/mail/_pa_wip_mail/search-health.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/search-health.js +0 -131
- package/dist/api/routes/mail/_pa_wip_mail/search-health.js.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/validators.d.ts +0 -23
- package/dist/api/routes/mail/_pa_wip_mail/validators.d.ts.map +0 -1
- package/dist/api/routes/mail/_pa_wip_mail/validators.js +0 -131
- package/dist/api/routes/mail/_pa_wip_mail/validators.js.map +0 -1
- package/dist/api/routes/mail/accounts.d.ts.map +0 -1
- package/dist/api/routes/mail/accounts.js.map +0 -1
- package/dist/api/routes/mail/app-password.d.ts.map +0 -1
- package/dist/api/routes/mail/app-password.js.map +0 -1
- package/dist/api/routes/mail/body-helpers.d.ts.map +0 -1
- package/dist/api/routes/mail/body-helpers.js.map +0 -1
- package/dist/api/routes/mail/dependencies.d.ts.map +0 -1
- package/dist/api/routes/mail/dependencies.js.map +0 -1
- package/dist/api/routes/mail/drafts.d.ts.map +0 -1
- package/dist/api/routes/mail/drafts.js.map +0 -1
- package/dist/api/routes/mail/gating.d.ts.map +0 -1
- package/dist/api/routes/mail/gating.js.map +0 -1
- package/dist/api/routes/mail/index.d.ts.map +0 -1
- package/dist/api/routes/mail/index.js.map +0 -1
- package/dist/api/routes/mail/messages.d.ts.map +0 -1
- package/dist/api/routes/mail/messages.js.map +0 -1
- package/dist/api/routes/mail/outlook-config.d.ts.map +0 -1
- package/dist/api/routes/mail/outlook-config.js.map +0 -1
- package/dist/api/routes/mail/provider-resolver.d.ts.map +0 -1
- package/dist/api/routes/mail/provider-resolver.js.map +0 -1
- package/dist/api/routes/mail/providers.d.ts.map +0 -1
- package/dist/api/routes/mail/providers.js.map +0 -1
- package/dist/api/routes/mail/search-health.d.ts.map +0 -1
- package/dist/api/routes/mail/search-health.js.map +0 -1
- package/dist/api/routes/mail/tags-folders.d.ts.map +0 -1
- package/dist/api/routes/mail/tags-folders.js.map +0 -1
- package/dist/api/routes/mail/validators.d.ts.map +0 -1
- package/dist/api/routes/mail/validators.js.map +0 -1
- package/dist/api/routes/mail.d.ts +0 -39
- package/dist/api/routes/mail.d.ts.map +0 -1
- package/dist/api/routes/mail.js +0 -1664
- package/dist/api/routes/mail.js.map +0 -1
- package/dist/api/routes/managed-tasks.d.ts.map +0 -1
- package/dist/api/routes/managed-tasks.js.map +0 -1
- package/dist/api/routes/mcp.d.ts.map +0 -1
- package/dist/api/routes/mcp.js.map +0 -1
- package/dist/api/routes/metrics.d.ts.map +0 -1
- package/dist/api/routes/metrics.js.map +0 -1
- package/dist/api/routes/notion.d.ts.map +0 -1
- package/dist/api/routes/notion.js.map +0 -1
- package/dist/api/routes/observations.d.ts.map +0 -1
- package/dist/api/routes/observations.js.map +0 -1
- package/dist/api/routes/obsidian.d.ts.map +0 -1
- package/dist/api/routes/obsidian.js.map +0 -1
- package/dist/api/routes/profile-questions.d.ts.map +0 -1
- package/dist/api/routes/profile-questions.js.map +0 -1
- package/dist/api/routes/receipts.d.ts.map +0 -1
- package/dist/api/routes/receipts.js.map +0 -1
- package/dist/api/routes/recurring-schedules.d.ts.map +0 -1
- package/dist/api/routes/recurring-schedules.js.map +0 -1
- package/dist/api/routes/repositories.d.ts.map +0 -1
- package/dist/api/routes/repositories.js.map +0 -1
- package/dist/api/routes/schedule-model-resolver.d.ts.map +0 -1
- package/dist/api/routes/schedule-model-resolver.js.map +0 -1
- package/dist/api/routes/schedule-options.d.ts.map +0 -1
- package/dist/api/routes/schedule-options.js.map +0 -1
- package/dist/api/routes/schedule-validation.d.ts.map +0 -1
- package/dist/api/routes/schedule-validation.js.map +0 -1
- package/dist/api/routes/setup-migrate.d.ts.map +0 -1
- package/dist/api/routes/setup-migrate.js.map +0 -1
- package/dist/api/routes/setup.d.ts.map +0 -1
- package/dist/api/routes/setup.js.map +0 -1
- package/dist/api/routes/skill-curation.d.ts.map +0 -1
- package/dist/api/routes/skill-curation.js.map +0 -1
- package/dist/api/routes/skills.d.ts.map +0 -1
- package/dist/api/routes/skills.js.map +0 -1
- package/dist/api/routes/sot-bindings.d.ts.map +0 -1
- package/dist/api/routes/sot-bindings.js.map +0 -1
- package/dist/api/routes/sse.d.ts.map +0 -1
- package/dist/api/routes/sse.js.map +0 -1
- package/dist/api/routes/system.d.ts.map +0 -1
- package/dist/api/routes/system.js.map +0 -1
- package/dist/api/routes/task-flows.d.ts.map +0 -1
- package/dist/api/routes/task-flows.js.map +0 -1
- package/dist/api/routes/travel-bookings.d.ts.map +0 -1
- package/dist/api/routes/travel-bookings.js.map +0 -1
- package/dist/api/routes/travel-time.d.ts +0 -8
- package/dist/api/routes/travel-time.d.ts.map +0 -1
- package/dist/api/routes/travel-time.js +0 -127
- package/dist/api/routes/travel-time.js.map +0 -1
- package/dist/api/routes/triggers.d.ts.map +0 -1
- package/dist/api/routes/triggers.js.map +0 -1
- package/dist/api/routes/voice.d.ts.map +0 -1
- package/dist/api/routes/voice.js.map +0 -1
- package/dist/api/routes/wiki.d.ts.map +0 -1
- package/dist/api/routes/wiki.js.map +0 -1
- package/dist/api/server.d.ts.map +0 -1
- package/dist/api/server.js.map +0 -1
- package/dist/bootstrap/adapters.d.ts.map +0 -1
- package/dist/bootstrap/adapters.js.map +0 -1
- package/dist/bootstrap/api.d.ts.map +0 -1
- package/dist/bootstrap/api.js.map +0 -1
- package/dist/bootstrap/catchup.d.ts.map +0 -1
- package/dist/bootstrap/catchup.js.map +0 -1
- package/dist/bootstrap/db.d.ts.map +0 -1
- package/dist/bootstrap/db.js.map +0 -1
- package/dist/bootstrap/event-pipeline.d.ts.map +0 -1
- package/dist/bootstrap/event-pipeline.js.map +0 -1
- package/dist/bootstrap/observers.d.ts.map +0 -1
- package/dist/bootstrap/observers.js.map +0 -1
- package/dist/bootstrap/schedule-helpers.d.ts.map +0 -1
- package/dist/bootstrap/schedule-helpers.js.map +0 -1
- package/dist/bootstrap/services.d.ts.map +0 -1
- package/dist/bootstrap/services.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/core/abort-utils.d.ts.map +0 -1
- package/dist/core/abort-utils.js.map +0 -1
- package/dist/core/agent-core.d.ts.map +0 -1
- package/dist/core/agent-core.js.map +0 -1
- package/dist/core/alerts.d.ts.map +0 -1
- package/dist/core/alerts.js.map +0 -1
- package/dist/core/atomic-write.d.ts.map +0 -1
- package/dist/core/atomic-write.js.map +0 -1
- package/dist/core/backends/api-key-probe.d.ts.map +0 -1
- package/dist/core/backends/api-key-probe.js.map +0 -1
- package/dist/core/backends/auth-health-monitor.d.ts.map +0 -1
- package/dist/core/backends/auth-health-monitor.js.map +0 -1
- package/dist/core/backends/auth-recovery.d.ts.map +0 -1
- package/dist/core/backends/auth-recovery.js.map +0 -1
- package/dist/core/backends/auth-telemetry.d.ts.map +0 -1
- package/dist/core/backends/auth-telemetry.js.map +0 -1
- package/dist/core/backends/backend-router.d.ts.map +0 -1
- package/dist/core/backends/backend-router.js.map +0 -1
- package/dist/core/backends/claude-auth.d.ts.map +0 -1
- package/dist/core/backends/claude-auth.js.map +0 -1
- package/dist/core/backends/claude-code-core.d.ts.map +0 -1
- package/dist/core/backends/claude-code-core.js.map +0 -1
- package/dist/core/backends/claude-credentials-store.d.ts.map +0 -1
- package/dist/core/backends/claude-credentials-store.js.map +0 -1
- package/dist/core/backends/claude-delegated.d.ts.map +0 -1
- package/dist/core/backends/claude-delegated.js.map +0 -1
- package/dist/core/backends/claude-errors.d.ts.map +0 -1
- package/dist/core/backends/claude-errors.js.map +0 -1
- package/dist/core/backends/claude-probe.d.ts.map +0 -1
- package/dist/core/backends/claude-probe.js.map +0 -1
- package/dist/core/backends/claude-tool-collection.d.ts.map +0 -1
- package/dist/core/backends/claude-tool-collection.js.map +0 -1
- package/dist/core/backends/cli-utils.d.ts.map +0 -1
- package/dist/core/backends/cli-utils.js.map +0 -1
- package/dist/core/backends/codex-core.d.ts.map +0 -1
- package/dist/core/backends/codex-core.js.map +0 -1
- package/dist/core/backends/gemini-cli-core.d.ts.map +0 -1
- package/dist/core/backends/gemini-cli-core.js.map +0 -1
- package/dist/core/backends/idle-watchdog.d.ts.map +0 -1
- package/dist/core/backends/idle-watchdog.js.map +0 -1
- package/dist/core/backends/install-methods.d.ts.map +0 -1
- package/dist/core/backends/install-methods.js.map +0 -1
- package/dist/core/backends/model-registry.d.ts.map +0 -1
- package/dist/core/backends/model-registry.js.map +0 -1
- package/dist/core/backends/native-skill-discovery-probe.d.ts.map +0 -1
- package/dist/core/backends/native-skill-discovery-probe.js.map +0 -1
- package/dist/core/backends/opencode-basic-auth-fetch.d.ts.map +0 -1
- package/dist/core/backends/opencode-basic-auth-fetch.js.map +0 -1
- package/dist/core/backends/opencode-config-builder.d.ts.map +0 -1
- package/dist/core/backends/opencode-config-builder.js.map +0 -1
- package/dist/core/backends/opencode-core.d.ts.map +0 -1
- package/dist/core/backends/opencode-core.js.map +0 -1
- package/dist/core/backends/opencode-event-mapper.d.ts.map +0 -1
- package/dist/core/backends/opencode-event-mapper.js.map +0 -1
- package/dist/core/backends/opencode-mcp.d.ts.map +0 -1
- package/dist/core/backends/opencode-mcp.js.map +0 -1
- package/dist/core/backends/opencode-server-manager.d.ts.map +0 -1
- package/dist/core/backends/opencode-server-manager.js.map +0 -1
- package/dist/core/backends/opencode-types.d.ts.map +0 -1
- package/dist/core/backends/opencode-types.js.map +0 -1
- package/dist/core/backends/plan-presets.d.ts.map +0 -1
- package/dist/core/backends/plan-presets.js.map +0 -1
- package/dist/core/backends/price-fetcher.d.ts.map +0 -1
- package/dist/core/backends/price-fetcher.js.map +0 -1
- package/dist/core/backends/process-config-cascade.d.ts.map +0 -1
- package/dist/core/backends/process-config-cascade.js.map +0 -1
- package/dist/core/backends/prompt-utils.d.ts.map +0 -1
- package/dist/core/backends/prompt-utils.js.map +0 -1
- package/dist/core/backends/proxy-model-registry.d.ts.map +0 -1
- package/dist/core/backends/proxy-model-registry.js.map +0 -1
- package/dist/core/backends/quota-reset-hints.d.ts.map +0 -1
- package/dist/core/backends/quota-reset-hints.js.map +0 -1
- package/dist/core/backends/silent-api-error-detector.d.ts.map +0 -1
- package/dist/core/backends/silent-api-error-detector.js.map +0 -1
- package/dist/core/bang-commands/commands-close.d.ts.map +0 -1
- package/dist/core/bang-commands/commands-close.js.map +0 -1
- package/dist/core/bang-commands/commands-cost.d.ts.map +0 -1
- package/dist/core/bang-commands/commands-cost.js.map +0 -1
- package/dist/core/bang-commands/commands-help.d.ts.map +0 -1
- package/dist/core/bang-commands/commands-help.js.map +0 -1
- package/dist/core/bang-commands/commands-report.d.ts.map +0 -1
- package/dist/core/bang-commands/commands-report.js.map +0 -1
- package/dist/core/bang-commands/commands-stop-start.d.ts.map +0 -1
- package/dist/core/bang-commands/commands-stop-start.js.map +0 -1
- package/dist/core/bang-commands/commands-wiki.d.ts.map +0 -1
- package/dist/core/bang-commands/commands-wiki.js.map +0 -1
- package/dist/core/bang-commands/format-utils.d.ts.map +0 -1
- package/dist/core/bang-commands/format-utils.js.map +0 -1
- package/dist/core/bang-commands/index.d.ts.map +0 -1
- package/dist/core/bang-commands/index.js.map +0 -1
- package/dist/core/bang-commands/registry.d.ts.map +0 -1
- package/dist/core/bang-commands/registry.js.map +0 -1
- package/dist/core/bang-commands/user-commands.d.ts.map +0 -1
- package/dist/core/bang-commands/user-commands.js.map +0 -1
- package/dist/core/channel-timeline.d.ts.map +0 -1
- package/dist/core/channel-timeline.js.map +0 -1
- package/dist/core/character-block.d.ts.map +0 -1
- package/dist/core/character-block.js.map +0 -1
- package/dist/core/context/activity-sources.d.ts.map +0 -1
- package/dist/core/context/activity-sources.js.map +0 -1
- package/dist/core/context/activity-view-reconciler.d.ts.map +0 -1
- package/dist/core/context/activity-view-reconciler.js.map +0 -1
- package/dist/core/context/activity-view-runner.d.ts.map +0 -1
- package/dist/core/context/activity-view-runner.js.map +0 -1
- package/dist/core/context/default-schedules-reconciler.d.ts.map +0 -1
- package/dist/core/context/default-schedules-reconciler.js.map +0 -1
- package/dist/core/context/default-schedules-runner.d.ts.map +0 -1
- package/dist/core/context/default-schedules-runner.js.map +0 -1
- package/dist/core/context/domain-index-reconciler.d.ts.map +0 -1
- package/dist/core/context/domain-index-reconciler.js.map +0 -1
- package/dist/core/context/domain-index-runner.d.ts.map +0 -1
- package/dist/core/context/domain-index-runner.js.map +0 -1
- package/dist/core/context/entity-mirror.d.ts.map +0 -1
- package/dist/core/context/entity-mirror.js.map +0 -1
- package/dist/core/context/entity-source-rename.d.ts.map +0 -1
- package/dist/core/context/entity-source-rename.js.map +0 -1
- package/dist/core/context/index-reconciler.d.ts.map +0 -1
- package/dist/core/context/index-reconciler.js.map +0 -1
- package/dist/core/context/policy-index-reconciler.d.ts.map +0 -1
- package/dist/core/context/policy-index-reconciler.js.map +0 -1
- package/dist/core/context/policy-index-runner.d.ts.map +0 -1
- package/dist/core/context/policy-index-runner.js.map +0 -1
- package/dist/core/context/reconciler-runner.d.ts.map +0 -1
- package/dist/core/context/reconciler-runner.js.map +0 -1
- package/dist/core/context-builder.d.ts.map +0 -1
- package/dist/core/context-builder.js.map +0 -1
- package/dist/core/context-frontmatter-backfill.d.ts +0 -33
- package/dist/core/context-frontmatter-backfill.d.ts.map +0 -1
- package/dist/core/context-frontmatter-backfill.js +0 -111
- package/dist/core/context-frontmatter-backfill.js.map +0 -1
- package/dist/core/context-frontmatter.d.ts.map +0 -1
- package/dist/core/context-frontmatter.js.map +0 -1
- package/dist/core/context-health.d.ts.map +0 -1
- package/dist/core/context-health.js.map +0 -1
- package/dist/core/context-paths.d.ts.map +0 -1
- package/dist/core/context-paths.js.map +0 -1
- package/dist/core/context-staleness.d.ts.map +0 -1
- package/dist/core/context-staleness.js.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/index.d.ts +0 -19
- package/dist/core/context-validation/_pa_wip_context_validation/index.d.ts.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/index.js +0 -19
- package/dist/core/context-validation/_pa_wip_context_validation/index.js.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.d.ts +0 -94
- package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.d.ts.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.js +0 -130
- package/dist/core/context-validation/_pa_wip_context_validation/prepare-write.js.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.d.ts +0 -60
- package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.d.ts.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.js +0 -156
- package/dist/core/context-validation/_pa_wip_context_validation/routine-rulebook.js.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/section.d.ts +0 -41
- package/dist/core/context-validation/_pa_wip_context_validation/section.d.ts.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/section.js +0 -82
- package/dist/core/context-validation/_pa_wip_context_validation/section.js.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.d.ts +0 -52
- package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.d.ts.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.js +0 -110
- package/dist/core/context-validation/_pa_wip_context_validation/snapshot-debounce.js.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/today.d.ts +0 -85
- package/dist/core/context-validation/_pa_wip_context_validation/today.d.ts.map +0 -1
- package/dist/core/context-validation/_pa_wip_context_validation/today.js +0 -162
- package/dist/core/context-validation/_pa_wip_context_validation/today.js.map +0 -1
- package/dist/core/context-validation/index.d.ts.map +0 -1
- package/dist/core/context-validation/index.js.map +0 -1
- package/dist/core/context-validation/prepare-write.d.ts.map +0 -1
- package/dist/core/context-validation/prepare-write.js.map +0 -1
- package/dist/core/context-validation/routine-rulebook.d.ts.map +0 -1
- package/dist/core/context-validation/routine-rulebook.js.map +0 -1
- package/dist/core/context-validation/section.d.ts.map +0 -1
- package/dist/core/context-validation/section.js.map +0 -1
- package/dist/core/context-validation/snapshot-debounce.d.ts.map +0 -1
- package/dist/core/context-validation/snapshot-debounce.js.map +0 -1
- package/dist/core/context-validation/today.d.ts.map +0 -1
- package/dist/core/context-validation/today.js.map +0 -1
- package/dist/core/custom-routine-scheduler.d.ts.map +0 -1
- package/dist/core/custom-routine-scheduler.js.map +0 -1
- package/dist/core/daemon-api-cli.d.ts.map +0 -1
- package/dist/core/daemon-api-cli.js.map +0 -1
- package/dist/core/dashboard-session-cleanup.d.ts.map +0 -1
- package/dist/core/dashboard-session-cleanup.js.map +0 -1
- package/dist/core/dashboard-session-controls.d.ts.map +0 -1
- package/dist/core/dashboard-session-controls.js.map +0 -1
- package/dist/core/delegated-connector-health.d.ts.map +0 -1
- package/dist/core/delegated-connector-health.js.map +0 -1
- package/dist/core/dispatcher-date-utils.d.ts.map +0 -1
- package/dist/core/dispatcher-date-utils.js.map +0 -1
- package/dist/core/dispatcher-error-handling.d.ts.map +0 -1
- package/dist/core/dispatcher-error-handling.js.map +0 -1
- package/dist/core/dispatcher-hourly-check.d.ts.map +0 -1
- package/dist/core/dispatcher-hourly-check.js.map +0 -1
- package/dist/core/dispatcher-message-handler.d.ts.map +0 -1
- package/dist/core/dispatcher-message-handler.js.map +0 -1
- package/dist/core/dispatcher-morning-routine.d.ts.map +0 -1
- package/dist/core/dispatcher-morning-routine.js.map +0 -1
- package/dist/core/dispatcher-prompt.d.ts.map +0 -1
- package/dist/core/dispatcher-prompt.js.map +0 -1
- package/dist/core/dispatcher-repository-helpers.d.ts.map +0 -1
- package/dist/core/dispatcher-repository-helpers.js.map +0 -1
- package/dist/core/dispatcher-result-processor.d.ts.map +0 -1
- package/dist/core/dispatcher-result-processor.js.map +0 -1
- package/dist/core/dispatcher-scheduled-tasks.d.ts.map +0 -1
- package/dist/core/dispatcher-scheduled-tasks.js.map +0 -1
- package/dist/core/dispatcher-types.d.ts.map +0 -1
- package/dist/core/dispatcher-types.js.map +0 -1
- package/dist/core/dispatcher.d.ts.map +0 -1
- package/dist/core/dispatcher.js.map +0 -1
- package/dist/core/dm-freshness-metrics.d.ts.map +0 -1
- package/dist/core/dm-freshness-metrics.js.map +0 -1
- package/dist/core/docs/citation-validator.d.ts.map +0 -1
- package/dist/core/docs/citation-validator.js.map +0 -1
- package/dist/core/docs/extract-terms.d.ts.map +0 -1
- package/dist/core/docs/extract-terms.js.map +0 -1
- package/dist/core/docs/indexer.d.ts.map +0 -1
- package/dist/core/docs/indexer.js.map +0 -1
- package/dist/core/drift-effects.d.ts.map +0 -1
- package/dist/core/drift-effects.js.map +0 -1
- package/dist/core/evening-review-verify.d.ts.map +0 -1
- package/dist/core/evening-review-verify.js.map +0 -1
- package/dist/core/event-bus.d.ts.map +0 -1
- package/dist/core/event-bus.js.map +0 -1
- package/dist/core/fetch-window-prompt-loader.d.ts.map +0 -1
- package/dist/core/fetch-window-prompt-loader.js.map +0 -1
- package/dist/core/git-project-docs.d.ts.map +0 -1
- package/dist/core/git-project-docs.js.map +0 -1
- package/dist/core/health-monitor.d.ts.map +0 -1
- package/dist/core/health-monitor.js.map +0 -1
- package/dist/core/heartbeat.d.ts.map +0 -1
- package/dist/core/heartbeat.js.map +0 -1
- package/dist/core/integration-health.d.ts.map +0 -1
- package/dist/core/integration-health.js.map +0 -1
- package/dist/core/integration-lifecycle.d.ts.map +0 -1
- package/dist/core/integration-lifecycle.js.map +0 -1
- package/dist/core/integration-main-backend.d.ts.map +0 -1
- package/dist/core/integration-main-backend.js.map +0 -1
- package/dist/core/integration-probe.d.ts.map +0 -1
- package/dist/core/integration-probe.js.map +0 -1
- package/dist/core/management-md-write-lock.d.ts.map +0 -1
- package/dist/core/management-md-write-lock.js.map +0 -1
- package/dist/core/management-md.d.ts.map +0 -1
- package/dist/core/management-md.js.map +0 -1
- package/dist/core/management-registry.d.ts.map +0 -1
- package/dist/core/management-registry.js.map +0 -1
- package/dist/core/management-telemetry.d.ts.map +0 -1
- package/dist/core/management-telemetry.js.map +0 -1
- package/dist/core/message-recorder.d.ts.map +0 -1
- package/dist/core/message-recorder.js.map +0 -1
- package/dist/core/metrics.d.ts.map +0 -1
- package/dist/core/metrics.js.map +0 -1
- package/dist/core/migration-backup.d.ts.map +0 -1
- package/dist/core/migration-backup.js.map +0 -1
- package/dist/core/morning/agent-journal-appender.d.ts.map +0 -1
- package/dist/core/morning/agent-journal-appender.js.map +0 -1
- package/dist/core/morning/handoff-parser.d.ts.map +0 -1
- package/dist/core/morning/handoff-parser.js.map +0 -1
- package/dist/core/morning/journal-skeleton-builder.d.ts.map +0 -1
- package/dist/core/morning/journal-skeleton-builder.js.map +0 -1
- package/dist/core/morning/orchestrator.d.ts.map +0 -1
- package/dist/core/morning/orchestrator.js.map +0 -1
- package/dist/core/morning/parent-audit-emitter.d.ts.map +0 -1
- package/dist/core/morning/parent-audit-emitter.js.map +0 -1
- package/dist/core/morning/roadmap-skeleton-builder.d.ts.map +0 -1
- package/dist/core/morning/roadmap-skeleton-builder.js.map +0 -1
- package/dist/core/output-language-policy.d.ts.map +0 -1
- package/dist/core/output-language-policy.js.map +0 -1
- package/dist/core/overview-write-lock.d.ts.map +0 -1
- package/dist/core/overview-write-lock.js.map +0 -1
- package/dist/core/path-compat.d.ts.map +0 -1
- package/dist/core/path-compat.js.map +0 -1
- package/dist/core/path-rewrite.d.ts.map +0 -1
- package/dist/core/path-rewrite.js.map +0 -1
- package/dist/core/policy-files.d.ts.map +0 -1
- package/dist/core/policy-files.js.map +0 -1
- package/dist/core/pre-pass-freshness.d.ts.map +0 -1
- package/dist/core/pre-pass-freshness.js.map +0 -1
- package/dist/core/previous-week-digest.d.ts.map +0 -1
- package/dist/core/previous-week-digest.js.map +0 -1
- package/dist/core/profile-questions/seed.d.ts.map +0 -1
- package/dist/core/profile-questions/seed.js.map +0 -1
- package/dist/core/profile-questions/slot-filled.d.ts.map +0 -1
- package/dist/core/profile-questions/slot-filled.js.map +0 -1
- package/dist/core/prompts.d.ts.map +0 -1
- package/dist/core/prompts.js.map +0 -1
- package/dist/core/quiet-hours-sync.d.ts.map +0 -1
- package/dist/core/quiet-hours-sync.js.map +0 -1
- package/dist/core/read-sensitive-token-manager.d.ts.map +0 -1
- package/dist/core/read-sensitive-token-manager.js.map +0 -1
- package/dist/core/recurrence.d.ts.map +0 -1
- package/dist/core/recurrence.js.map +0 -1
- package/dist/core/reinstall.d.ts.map +0 -1
- package/dist/core/reinstall.js.map +0 -1
- package/dist/core/release-assets.d.ts.map +0 -1
- package/dist/core/release-assets.js.map +0 -1
- package/dist/core/repository-management-docs.d.ts.map +0 -1
- package/dist/core/repository-management-docs.js.map +0 -1
- package/dist/core/retention.d.ts.map +0 -1
- package/dist/core/retention.js.map +0 -1
- package/dist/core/review-context.d.ts.map +0 -1
- package/dist/core/review-context.js.map +0 -1
- package/dist/core/roadmap-horizon.d.ts.map +0 -1
- package/dist/core/roadmap-horizon.js.map +0 -1
- package/dist/core/roadmap-ids.d.ts.map +0 -1
- package/dist/core/roadmap-ids.js.map +0 -1
- package/dist/core/roadmap-maintenance.d.ts.map +0 -1
- package/dist/core/roadmap-maintenance.js.map +0 -1
- package/dist/core/roadmap-refresh-triggers.d.ts.map +0 -1
- package/dist/core/roadmap-refresh-triggers.js.map +0 -1
- package/dist/core/roadmap-truncate.d.ts.map +0 -1
- package/dist/core/roadmap-truncate.js.map +0 -1
- package/dist/core/roadmap-validate.d.ts.map +0 -1
- package/dist/core/roadmap-validate.js.map +0 -1
- package/dist/core/roadmap-write-lock.d.ts.map +0 -1
- package/dist/core/roadmap-write-lock.js.map +0 -1
- package/dist/core/routine-acquisition-plan.d.ts.map +0 -1
- package/dist/core/routine-acquisition-plan.js.map +0 -1
- package/dist/core/routine-fetch-window-retry.d.ts.map +0 -1
- package/dist/core/routine-fetch-window-retry.js.map +0 -1
- package/dist/core/routine-fetch-window-runner.d.ts.map +0 -1
- package/dist/core/routine-fetch-window-runner.js.map +0 -1
- package/dist/core/routine-windows.d.ts.map +0 -1
- package/dist/core/routine-windows.js.map +0 -1
- package/dist/core/schedule-insert-helper.d.ts.map +0 -1
- package/dist/core/schedule-insert-helper.js.map +0 -1
- package/dist/core/schedule-maintenance.d.ts.map +0 -1
- package/dist/core/schedule-maintenance.js.map +0 -1
- package/dist/core/scheduler.d.ts.map +0 -1
- package/dist/core/scheduler.js.map +0 -1
- package/dist/core/semaphore.d.ts.map +0 -1
- package/dist/core/semaphore.js.map +0 -1
- package/dist/core/session-gate.d.ts.map +0 -1
- package/dist/core/session-gate.js.map +0 -1
- package/dist/core/session-manager.d.ts.map +0 -1
- package/dist/core/session-manager.js.map +0 -1
- package/dist/core/signal-detector.d.ts.map +0 -1
- package/dist/core/signal-detector.js.map +0 -1
- package/dist/core/skeleton.d.ts.map +0 -1
- package/dist/core/skeleton.js.map +0 -1
- package/dist/core/skill-curation/apply-proposal.d.ts.map +0 -1
- package/dist/core/skill-curation/apply-proposal.js.map +0 -1
- package/dist/core/skill-curation/auto-revert.d.ts.map +0 -1
- package/dist/core/skill-curation/auto-revert.js.map +0 -1
- package/dist/core/skill-curation/classify-diff.d.ts.map +0 -1
- package/dist/core/skill-curation/classify-diff.js.map +0 -1
- package/dist/core/skill-curation/declarations.d.ts.map +0 -1
- package/dist/core/skill-curation/declarations.js.map +0 -1
- package/dist/core/skill-curation/knowledge-map.d.ts.map +0 -1
- package/dist/core/skill-curation/knowledge-map.js.map +0 -1
- package/dist/core/skill-curation/orphan-overlay.d.ts.map +0 -1
- package/dist/core/skill-curation/orphan-overlay.js.map +0 -1
- package/dist/core/skill-curation/overlay-store.d.ts.map +0 -1
- package/dist/core/skill-curation/overlay-store.js.map +0 -1
- package/dist/core/skill-curation/render/convention-notes.d.ts.map +0 -1
- package/dist/core/skill-curation/render/convention-notes.js.map +0 -1
- package/dist/core/skill-curation/render/cross-references.d.ts.map +0 -1
- package/dist/core/skill-curation/render/cross-references.js.map +0 -1
- package/dist/core/skill-curation/render/frontmatter-schema.d.ts.map +0 -1
- package/dist/core/skill-curation/render/frontmatter-schema.js.map +0 -1
- package/dist/core/skill-curation/render/index.d.ts.map +0 -1
- package/dist/core/skill-curation/render/index.js.map +0 -1
- package/dist/core/skill-curation/render/knowledge-layout.d.ts.map +0 -1
- package/dist/core/skill-curation/render/knowledge-layout.js.map +0 -1
- package/dist/core/skill-curation/render/routing-table.d.ts.map +0 -1
- package/dist/core/skill-curation/render/routing-table.js.map +0 -1
- package/dist/core/skill-curation/render/search-recipes.d.ts.map +0 -1
- package/dist/core/skill-curation/render/search-recipes.js.map +0 -1
- package/dist/core/skill-curation/run-token.d.ts.map +0 -1
- package/dist/core/skill-curation/run-token.js.map +0 -1
- package/dist/core/skill-curation/signals.d.ts.map +0 -1
- package/dist/core/skill-curation/signals.js.map +0 -1
- package/dist/core/skill-curation/smoke-test.d.ts.map +0 -1
- package/dist/core/skill-curation/smoke-test.js.map +0 -1
- package/dist/core/skill-curation/splicer.d.ts.map +0 -1
- package/dist/core/skill-curation/splicer.js.map +0 -1
- package/dist/core/skill-curation/workdir.d.ts.map +0 -1
- package/dist/core/skill-curation/workdir.js.map +0 -1
- package/dist/core/skill-source-paths.d.ts.map +0 -1
- package/dist/core/skill-source-paths.js.map +0 -1
- package/dist/core/skills-compiler.d.ts.map +0 -1
- package/dist/core/skills-compiler.js.map +0 -1
- package/dist/core/skills-manifest.d.ts.map +0 -1
- package/dist/core/skills-manifest.js.map +0 -1
- package/dist/core/system-reset.d.ts.map +0 -1
- package/dist/core/system-reset.js.map +0 -1
- package/dist/core/template-store.d.ts.map +0 -1
- package/dist/core/template-store.js.map +0 -1
- package/dist/core/template-versions.d.ts.map +0 -1
- package/dist/core/template-versions.js.map +0 -1
- package/dist/core/today-agent-plan.d.ts.map +0 -1
- package/dist/core/today-agent-plan.js.map +0 -1
- package/dist/core/today-direct-writer.d.ts.map +0 -1
- package/dist/core/today-direct-writer.js.map +0 -1
- package/dist/core/today-write-lock.d.ts.map +0 -1
- package/dist/core/today-write-lock.js.map +0 -1
- package/dist/core/trigger-dispatch.d.ts.map +0 -1
- package/dist/core/trigger-dispatch.js.map +0 -1
- package/dist/core/trigger-evaluator.d.ts.map +0 -1
- package/dist/core/trigger-evaluator.js.map +0 -1
- package/dist/core/wiki/approval-queue.d.ts.map +0 -1
- package/dist/core/wiki/approval-queue.js.map +0 -1
- package/dist/core/wiki/bridge.d.ts.map +0 -1
- package/dist/core/wiki/bridge.js.map +0 -1
- package/dist/core/wiki/compile-lock.d.ts.map +0 -1
- package/dist/core/wiki/compile-lock.js.map +0 -1
- package/dist/core/wiki/compile-preview.d.ts.map +0 -1
- package/dist/core/wiki/compile-preview.js.map +0 -1
- package/dist/core/wiki/cost-estimate.d.ts.map +0 -1
- package/dist/core/wiki/cost-estimate.js.map +0 -1
- package/dist/core/wiki/dispatcher.d.ts.map +0 -1
- package/dist/core/wiki/dispatcher.js.map +0 -1
- package/dist/core/wiki/git-precompile.d.ts.map +0 -1
- package/dist/core/wiki/git-precompile.js.map +0 -1
- package/dist/core/wiki/import-migrate.d.ts.map +0 -1
- package/dist/core/wiki/import-migrate.js.map +0 -1
- package/dist/core/wiki/import-probe.d.ts.map +0 -1
- package/dist/core/wiki/import-probe.js.map +0 -1
- package/dist/core/wiki/index-cache.d.ts.map +0 -1
- package/dist/core/wiki/index-cache.js.map +0 -1
- package/dist/core/wiki/multi-url-dispatch.d.ts.map +0 -1
- package/dist/core/wiki/multi-url-dispatch.js.map +0 -1
- package/dist/core/wiki/wiki-fts.d.ts.map +0 -1
- package/dist/core/wiki/wiki-fts.js.map +0 -1
- package/dist/core/wiki/workspaces.d.ts.map +0 -1
- package/dist/core/wiki/workspaces.js.map +0 -1
- package/dist/core/wiki/write-strategy.d.ts.map +0 -1
- package/dist/core/wiki/write-strategy.js.map +0 -1
- package/dist/core/workdir.d.ts.map +0 -1
- package/dist/core/workdir.js.map +0 -1
- package/dist/db/automation-triggers.d.ts.map +0 -1
- package/dist/db/automation-triggers.js.map +0 -1
- package/dist/db/client.d.ts.map +0 -1
- package/dist/db/client.js.map +0 -1
- package/dist/db/entities-store.d.ts.map +0 -1
- package/dist/db/entities-store.js.map +0 -1
- package/dist/db/hourly-check-signals.d.ts.map +0 -1
- package/dist/db/hourly-check-signals.js.map +0 -1
- package/dist/db/integration-probe-store.d.ts.map +0 -1
- package/dist/db/integration-probe-store.js.map +0 -1
- package/dist/db/integrations-store.d.ts.map +0 -1
- package/dist/db/integrations-store.js.map +0 -1
- package/dist/db/managed-tasks-store.d.ts.map +0 -1
- package/dist/db/managed-tasks-store.js.map +0 -1
- package/dist/db/management-parse-failures-store.d.ts.map +0 -1
- package/dist/db/management-parse-failures-store.js.map +0 -1
- package/dist/db/observations.d.ts.map +0 -1
- package/dist/db/observations.js.map +0 -1
- package/dist/db/recurring-schedules.d.ts.map +0 -1
- package/dist/db/recurring-schedules.js.map +0 -1
- package/dist/db/repositories-store.d.ts.map +0 -1
- package/dist/db/repositories-store.js.map +0 -1
- package/dist/db/runtime-state.d.ts.map +0 -1
- package/dist/db/runtime-state.js.map +0 -1
- package/dist/db/schema.d.ts.map +0 -1
- package/dist/db/schema.js.map +0 -1
- package/dist/db/sot-bindings-store.d.ts.map +0 -1
- package/dist/db/sot-bindings-store.js.map +0 -1
- package/dist/db/voice-transcripts-store.d.ts.map +0 -1
- package/dist/db/voice-transcripts-store.js.map +0 -1
- package/dist/db/wiki-store.d.ts.map +0 -1
- package/dist/db/wiki-store.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js.map +0 -1
- package/dist/log-buffer.d.ts.map +0 -1
- package/dist/log-buffer.js.map +0 -1
- package/dist/logging.d.ts.map +0 -1
- package/dist/logging.js.map +0 -1
- package/dist/management-rules.d.ts.map +0 -1
- package/dist/management-rules.js.map +0 -1
- package/dist/messaging/constants.d.ts.map +0 -1
- package/dist/messaging/constants.js.map +0 -1
- package/dist/messaging/magic-phrase.d.ts.map +0 -1
- package/dist/messaging/magic-phrase.js.map +0 -1
- package/dist/messaging/owner-channels.d.ts.map +0 -1
- package/dist/messaging/owner-channels.js.map +0 -1
- package/dist/messaging/setup-welcome-dm.d.ts.map +0 -1
- package/dist/messaging/setup-welcome-dm.js.map +0 -1
- package/dist/messaging/url-extract.d.ts.map +0 -1
- package/dist/messaging/url-extract.js.map +0 -1
- package/dist/observers/calendar-poller.d.ts.map +0 -1
- package/dist/observers/calendar-poller.js.map +0 -1
- package/dist/observers/context-index-reconciler-observer.d.ts.map +0 -1
- package/dist/observers/context-index-reconciler-observer.js.map +0 -1
- package/dist/observers/delegated-probe-observer.d.ts.map +0 -1
- package/dist/observers/delegated-probe-observer.js.map +0 -1
- package/dist/observers/delegated-sync-worker.d.ts.map +0 -1
- package/dist/observers/delegated-sync-worker.js.map +0 -1
- package/dist/observers/entity-mirror-observer.d.ts.map +0 -1
- package/dist/observers/entity-mirror-observer.js.map +0 -1
- package/dist/observers/git-delegated-cron.d.ts.map +0 -1
- package/dist/observers/git-delegated-cron.js.map +0 -1
- package/dist/observers/git-event-classifier.d.ts.map +0 -1
- package/dist/observers/git-event-classifier.js.map +0 -1
- package/dist/observers/git-watcher.d.ts.map +0 -1
- package/dist/observers/git-watcher.js.map +0 -1
- package/dist/observers/github-poller-classifier.d.ts.map +0 -1
- package/dist/observers/github-poller-classifier.js.map +0 -1
- package/dist/observers/github-poller.d.ts.map +0 -1
- package/dist/observers/github-poller.js.map +0 -1
- package/dist/observers/imminent-event-scheduler.d.ts.map +0 -1
- package/dist/observers/imminent-event-scheduler.js.map +0 -1
- package/dist/observers/mail-poller.d.ts.map +0 -1
- package/dist/observers/mail-poller.js.map +0 -1
- package/dist/observers/mail-reconciliation.d.ts.map +0 -1
- package/dist/observers/mail-reconciliation.js.map +0 -1
- package/dist/observers/manager.d.ts.map +0 -1
- package/dist/observers/manager.js.map +0 -1
- package/dist/observers/notion-poller.d.ts.map +0 -1
- package/dist/observers/notion-poller.js.map +0 -1
- package/dist/observers/observation-summarizer/index.d.ts.map +0 -1
- package/dist/observers/observation-summarizer/index.js.map +0 -1
- package/dist/observers/observation-summarizer/pre-filter.d.ts.map +0 -1
- package/dist/observers/observation-summarizer/pre-filter.js.map +0 -1
- package/dist/observers/observation-summarizer/response-parser.d.ts.map +0 -1
- package/dist/observers/observation-summarizer/response-parser.js.map +0 -1
- package/dist/observers/observation-summarizer/summarizer-client.d.ts.map +0 -1
- package/dist/observers/observation-summarizer/summarizer-client.js.map +0 -1
- package/dist/observers/observation-summarizer/summarizer-prompts.d.ts.map +0 -1
- package/dist/observers/observation-summarizer/summarizer-prompts.js.map +0 -1
- package/dist/observers/observation-summarizer/worker.d.ts.map +0 -1
- package/dist/observers/observation-summarizer/worker.js.map +0 -1
- package/dist/observers/obsidian-watcher.d.ts.map +0 -1
- package/dist/observers/obsidian-watcher.js.map +0 -1
- package/dist/observers/poll-guard.d.ts.map +0 -1
- package/dist/observers/poll-guard.js.map +0 -1
- package/dist/observers/primary-vault-watcher.d.ts.map +0 -1
- package/dist/observers/primary-vault-watcher.js.map +0 -1
- package/dist/observers/repository-management-cron.d.ts.map +0 -1
- package/dist/observers/repository-management-cron.js.map +0 -1
- package/dist/observers/skill-curation-walker.d.ts.map +0 -1
- package/dist/observers/skill-curation-walker.js.map +0 -1
- package/dist/safety/absolute-block-audit.d.ts.map +0 -1
- package/dist/safety/absolute-block-audit.js.map +0 -1
- package/dist/safety/agent-write-tracker.d.ts.map +0 -1
- package/dist/safety/agent-write-tracker.js.map +0 -1
- package/dist/safety/always-disallowed.d.ts.map +0 -1
- package/dist/safety/always-disallowed.js.map +0 -1
- package/dist/safety/audit.d.ts.map +0 -1
- package/dist/safety/audit.js.map +0 -1
- package/dist/safety/integration-write-tracker.d.ts.map +0 -1
- package/dist/safety/integration-write-tracker.js.map +0 -1
- package/dist/safety/risk-classifier.d.ts.map +0 -1
- package/dist/safety/risk-classifier.js.map +0 -1
- package/dist/safety/subprocess-block-scanner.d.ts.map +0 -1
- package/dist/safety/subprocess-block-scanner.js.map +0 -1
- package/dist/scheduler/hourly-check-gate.d.ts.map +0 -1
- package/dist/scheduler/hourly-check-gate.js.map +0 -1
- package/dist/secrets/backend-api-key-env.d.ts.map +0 -1
- package/dist/secrets/backend-api-key-env.js.map +0 -1
- package/dist/secrets/codex-home-materializer.d.ts.map +0 -1
- package/dist/secrets/codex-home-materializer.js.map +0 -1
- package/dist/secrets/encrypted-blob-store.d.ts.map +0 -1
- package/dist/secrets/encrypted-blob-store.js.map +0 -1
- package/dist/secrets/platform-secret-store.d.ts.map +0 -1
- package/dist/secrets/platform-secret-store.js.map +0 -1
- package/dist/secrets/redaction.d.ts.map +0 -1
- package/dist/secrets/redaction.js.map +0 -1
- package/dist/secrets/secret-broker.d.ts.map +0 -1
- package/dist/secrets/secret-broker.js.map +0 -1
- package/dist/secrets/secret-names.d.ts.map +0 -1
- package/dist/secrets/secret-names.js.map +0 -1
- package/dist/secrets/secret-store.d.ts.map +0 -1
- package/dist/secrets/secret-store.js.map +0 -1
- package/dist/secrets/types.d.ts.map +0 -1
- package/dist/secrets/types.js.map +0 -1
- package/dist/services/apple-calendar/caldav-client.d.ts.map +0 -1
- package/dist/services/apple-calendar/caldav-client.js.map +0 -1
- package/dist/services/apple-calendar/caldav-codec.d.ts.map +0 -1
- package/dist/services/apple-calendar/caldav-codec.js.map +0 -1
- package/dist/services/apple-calendar/index.d.ts.map +0 -1
- package/dist/services/apple-calendar/index.js.map +0 -1
- package/dist/services/apple-calendar/service.d.ts.map +0 -1
- package/dist/services/apple-calendar/service.js.map +0 -1
- package/dist/services/apple-calendar/types.d.ts.map +0 -1
- package/dist/services/apple-calendar/types.js.map +0 -1
- package/dist/services/attachments/hardlink.d.ts.map +0 -1
- package/dist/services/attachments/hardlink.js.map +0 -1
- package/dist/services/attachments/sanitize.d.ts.map +0 -1
- package/dist/services/attachments/sanitize.js.map +0 -1
- package/dist/services/attachments/store.d.ts.map +0 -1
- package/dist/services/attachments/store.js.map +0 -1
- package/dist/services/calendar/outlook/graph-calendar-client.d.ts.map +0 -1
- package/dist/services/calendar/outlook/graph-calendar-client.js.map +0 -1
- package/dist/services/calendar.d.ts.map +0 -1
- package/dist/services/calendar.js.map +0 -1
- package/dist/services/delegated-backend-invoker.d.ts.map +0 -1
- package/dist/services/delegated-backend-invoker.js.map +0 -1
- package/dist/services/delegated-invoker-audit.d.ts.map +0 -1
- package/dist/services/delegated-invoker-audit.js.map +0 -1
- package/dist/services/delegated-invoker-cache-hits.d.ts.map +0 -1
- package/dist/services/delegated-invoker-cache-hits.js.map +0 -1
- package/dist/services/delegated-invoker-janitors.d.ts.map +0 -1
- package/dist/services/delegated-invoker-janitors.js.map +0 -1
- package/dist/services/delegated-invoker-utils.d.ts.map +0 -1
- package/dist/services/delegated-invoker-utils.js.map +0 -1
- package/dist/services/delegated-proxy-config.d.ts.map +0 -1
- package/dist/services/delegated-proxy-config.js.map +0 -1
- package/dist/services/delegated-task-result-cache.d.ts.map +0 -1
- package/dist/services/delegated-task-result-cache.js.map +0 -1
- package/dist/services/delegated-task-runtime.d.ts.map +0 -1
- package/dist/services/delegated-task-runtime.js.map +0 -1
- package/dist/services/delegated-task-session-pool.d.ts.map +0 -1
- package/dist/services/delegated-task-session-pool.js.map +0 -1
- package/dist/services/delegated-tool-runtime.d.ts.map +0 -1
- package/dist/services/delegated-tool-runtime.js.map +0 -1
- package/dist/services/fts5.d.ts.map +0 -1
- package/dist/services/fts5.js.map +0 -1
- package/dist/services/git-account-registry.d.ts.map +0 -1
- package/dist/services/git-account-registry.js.map +0 -1
- package/dist/services/github.d.ts.map +0 -1
- package/dist/services/github.js.map +0 -1
- package/dist/services/gmail-classifier.d.ts.map +0 -1
- package/dist/services/gmail-classifier.js.map +0 -1
- package/dist/services/gmail.d.ts.map +0 -1
- package/dist/services/gmail.js.map +0 -1
- package/dist/services/google-auth.d.ts.map +0 -1
- package/dist/services/google-auth.js.map +0 -1
- package/dist/services/google-maps.d.ts +0 -35
- package/dist/services/google-maps.d.ts.map +0 -1
- package/dist/services/google-maps.js +0 -82
- package/dist/services/google-maps.js.map +0 -1
- package/dist/services/integrations/extract-write-item-id.d.ts.map +0 -1
- package/dist/services/integrations/extract-write-item-id.js.map +0 -1
- package/dist/services/integrations/reconcile.d.ts.map +0 -1
- package/dist/services/integrations/reconcile.js.map +0 -1
- package/dist/services/integrations/snapshot-partitions.d.ts.map +0 -1
- package/dist/services/integrations/snapshot-partitions.js.map +0 -1
- package/dist/services/journal/render.d.ts.map +0 -1
- package/dist/services/journal/render.js.map +0 -1
- package/dist/services/journal/writer.d.ts.map +0 -1
- package/dist/services/journal/writer.js.map +0 -1
- package/dist/services/mail/account-registry.d.ts.map +0 -1
- package/dist/services/mail/account-registry.js.map +0 -1
- package/dist/services/mail/gmail/auth-failure-classifier.d.ts.map +0 -1
- package/dist/services/mail/gmail/auth-failure-classifier.js.map +0 -1
- package/dist/services/mail/gmail/gmail-provider.d.ts.map +0 -1
- package/dist/services/mail/gmail/gmail-provider.js.map +0 -1
- package/dist/services/mail/gmail/legacy-row.d.ts.map +0 -1
- package/dist/services/mail/gmail/legacy-row.js.map +0 -1
- package/dist/services/mail/gmail/poll-cursor.d.ts.map +0 -1
- package/dist/services/mail/gmail/poll-cursor.js.map +0 -1
- package/dist/services/mail/html-to-plaintext.d.ts.map +0 -1
- package/dist/services/mail/html-to-plaintext.js.map +0 -1
- package/dist/services/mail/imap/app-password.d.ts.map +0 -1
- package/dist/services/mail/imap/app-password.js.map +0 -1
- package/dist/services/mail/imap/auth-failure-classifier.d.ts.map +0 -1
- package/dist/services/mail/imap/auth-failure-classifier.js.map +0 -1
- package/dist/services/mail/imap/capabilities.d.ts.map +0 -1
- package/dist/services/mail/imap/capabilities.js.map +0 -1
- package/dist/services/mail/imap/client.d.ts.map +0 -1
- package/dist/services/mail/imap/client.js.map +0 -1
- package/dist/services/mail/imap/cursor.d.ts.map +0 -1
- package/dist/services/mail/imap/cursor.js.map +0 -1
- package/dist/services/mail/imap/folder-resolver.d.ts.map +0 -1
- package/dist/services/mail/imap/folder-resolver.js.map +0 -1
- package/dist/services/mail/imap/icloud-provider.d.ts.map +0 -1
- package/dist/services/mail/imap/icloud-provider.js.map +0 -1
- package/dist/services/mail/imap/imap-provider-base.d.ts.map +0 -1
- package/dist/services/mail/imap/imap-provider-base.js.map +0 -1
- package/dist/services/mail/imap/query-translator.d.ts.map +0 -1
- package/dist/services/mail/imap/query-translator.js.map +0 -1
- package/dist/services/mail/imap/reconcile-planner.d.ts.map +0 -1
- package/dist/services/mail/imap/reconcile-planner.js.map +0 -1
- package/dist/services/mail/imap/reply-mime.d.ts.map +0 -1
- package/dist/services/mail/imap/reply-mime.js.map +0 -1
- package/dist/services/mail/imap/yahoo-provider.d.ts.map +0 -1
- package/dist/services/mail/imap/yahoo-provider.js.map +0 -1
- package/dist/services/mail/mail-search.d.ts.map +0 -1
- package/dist/services/mail/mail-search.js.map +0 -1
- package/dist/services/mail/outlook/auth-failure-classifier.d.ts.map +0 -1
- package/dist/services/mail/outlook/auth-failure-classifier.js.map +0 -1
- package/dist/services/mail/outlook/client-config.d.ts.map +0 -1
- package/dist/services/mail/outlook/client-config.js.map +0 -1
- package/dist/services/mail/outlook/delta-cursor.d.ts.map +0 -1
- package/dist/services/mail/outlook/delta-cursor.js.map +0 -1
- package/dist/services/mail/outlook/graph-client.d.ts.map +0 -1
- package/dist/services/mail/outlook/graph-client.js.map +0 -1
- package/dist/services/mail/outlook/msal-app-factory.d.ts.map +0 -1
- package/dist/services/mail/outlook/msal-app-factory.js.map +0 -1
- package/dist/services/mail/outlook/msal-cache-plugin.d.ts.map +0 -1
- package/dist/services/mail/outlook/msal-cache-plugin.js.map +0 -1
- package/dist/services/mail/outlook/oauth-device-code.d.ts.map +0 -1
- package/dist/services/mail/outlook/oauth-device-code.js.map +0 -1
- package/dist/services/mail/outlook/oauth-loopback.d.ts.map +0 -1
- package/dist/services/mail/outlook/oauth-loopback.js.map +0 -1
- package/dist/services/mail/outlook/outlook-provider.d.ts.map +0 -1
- package/dist/services/mail/outlook/outlook-provider.js.map +0 -1
- package/dist/services/mail/outlook/query-translator.d.ts.map +0 -1
- package/dist/services/mail/outlook/query-translator.js.map +0 -1
- package/dist/services/mail/provider.d.ts.map +0 -1
- package/dist/services/mail/provider.js.map +0 -1
- package/dist/services/mail/query-utils.d.ts.map +0 -1
- package/dist/services/mail/query-utils.js.map +0 -1
- package/dist/services/mail-classifier.d.ts.map +0 -1
- package/dist/services/mail-classifier.js.map +0 -1
- package/dist/services/mail-ingestion.d.ts.map +0 -1
- package/dist/services/mail-ingestion.js.map +0 -1
- package/dist/services/mcp/auto-probe.d.ts.map +0 -1
- package/dist/services/mcp/auto-probe.js.map +0 -1
- package/dist/services/mcp/generators/claude.d.ts.map +0 -1
- package/dist/services/mcp/generators/claude.js.map +0 -1
- package/dist/services/mcp/generators/codex.d.ts.map +0 -1
- package/dist/services/mcp/generators/codex.js.map +0 -1
- package/dist/services/mcp/generators/gemini.d.ts.map +0 -1
- package/dist/services/mcp/generators/gemini.js.map +0 -1
- package/dist/services/mcp/generators/index.d.ts.map +0 -1
- package/dist/services/mcp/generators/index.js.map +0 -1
- package/dist/services/mcp/generators/types.d.ts.map +0 -1
- package/dist/services/mcp/generators/types.js.map +0 -1
- package/dist/services/mcp/probe.d.ts.map +0 -1
- package/dist/services/mcp/probe.js.map +0 -1
- package/dist/services/mcp/registry.d.ts.map +0 -1
- package/dist/services/mcp/registry.js.map +0 -1
- package/dist/services/mcp/risk.d.ts.map +0 -1
- package/dist/services/mcp/risk.js.map +0 -1
- package/dist/services/mcp/sdk-observations-server.d.ts.map +0 -1
- package/dist/services/mcp/sdk-observations-server.js.map +0 -1
- package/dist/services/mcp/session-materializer.d.ts.map +0 -1
- package/dist/services/mcp/session-materializer.js.map +0 -1
- package/dist/services/mcp/tool-audit.d.ts.map +0 -1
- package/dist/services/mcp/tool-audit.js.map +0 -1
- package/dist/services/mcp/types.d.ts.map +0 -1
- package/dist/services/mcp/types.js.map +0 -1
- package/dist/services/notion.d.ts.map +0 -1
- package/dist/services/notion.js.map +0 -1
- package/dist/services/observations-batch.d.ts.map +0 -1
- package/dist/services/observations-batch.js.map +0 -1
- package/dist/services/obsidian.d.ts.map +0 -1
- package/dist/services/obsidian.js.map +0 -1
- package/dist/services/service-registry.d.ts.map +0 -1
- package/dist/services/service-registry.js.map +0 -1
- package/dist/services/voice/transcriber-impl.d.ts.map +0 -1
- package/dist/services/voice/transcriber-impl.js.map +0 -1
- package/dist/services/voice/transcriber.d.ts.map +0 -1
- package/dist/services/voice/transcriber.js.map +0 -1
- package/dist/settings/runtime-settings.d.ts.map +0 -1
- package/dist/settings/runtime-settings.js.map +0 -1
- package/dist/settings/settings-store.d.ts.map +0 -1
- package/dist/settings/settings-store.js.map +0 -1
|
@@ -1,19 +1,26 @@
|
|
|
1
|
-
import { cpSync, existsSync, mkdirSync,
|
|
2
|
-
import { dirname, join
|
|
3
|
-
import { APP_NAME,
|
|
4
|
-
import { getProfileForEvent, getProfileForProcess, resolveSkillManifest, resolveSkillManifestForProcess, } from "./skills-manifest.js";
|
|
1
|
+
import { cpSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync, } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { APP_NAME, INTEGRATION_KEYS, applyIntegrationModeFilter, selectSkillVariantFile, substituteBrandTokens, } from "@aitne/shared";
|
|
4
|
+
import { composeSkillSet, getProfileForEvent, getProfileForProcess, resolveSkillManifest, resolveSkillManifestForProcess, } from "./skills-manifest.js";
|
|
5
5
|
import { applyCharacterBlockRewrite, buildCharacterBlock } from "./character-block.js";
|
|
6
|
-
import { applyOutputLanguagePointerRewrite
|
|
6
|
+
import { applyOutputLanguagePointerRewrite } from "./output-language-policy.js";
|
|
7
7
|
import { createLogger } from "../logging.js";
|
|
8
8
|
import { loadFetchWindowSystemPrompt } from "./fetch-window-prompt-loader.js";
|
|
9
9
|
import { substituteIntegrationRoutingTables } from "./management-md.js";
|
|
10
10
|
import { loadCurationDeclaration, } from "./skill-curation/declarations.js";
|
|
11
|
-
import {
|
|
11
|
+
import { resolveBuiltinSkillDir } from "./skill-source-paths.js";
|
|
12
12
|
import { OverlayStore } from "./skill-curation/overlay-store.js";
|
|
13
13
|
import { hasCurationAnchors, spliceCurationAnchors, } from "./skill-curation/splicer.js";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
import { isValidSkillSlug, missingDelegatedVariants, } from "./skills-compiler-variants.js";
|
|
15
|
+
import { EMPTY_MAIL_ACCOUNTS_MD, pruneStaleBuiltinSkillDirs, readTreeFiles, renderMailAccountsMd, substituteBrandTokensInDir, substituteWikiWorkspaceTokens, substituteWikiWorkspaceTokensInDir, } from "./skills-compiler-tree.js";
|
|
16
|
+
import { loadSkillIndexPreamble, renderPartialIncludes, renderReferenceIncludes, renderSkillIndexBlock, stripUnconfiguredServices, } from "./skills-compiler-skill-index.js";
|
|
17
|
+
import { applyAllDeniedToolsForSkill, buildSameBackendDenyBlock } from "./skills-compiler-denied-tools.js";
|
|
18
|
+
import { cliInstructionFileName, cliSkillsDirName, prependCodexReadSensitiveBanner, renderCliInstructionFile, renderDaemonApiUsageSection, } from "./skills-compiler-cli-renderer.js";
|
|
19
|
+
// Module logger for the class's own warn callsites (invalid-slug warning
|
|
20
|
+
// in writeSkillsDir, skill-curation declaration / anchor warnings in
|
|
21
|
+
// spliceCurationAnchorsInSkill). Not exported — sibling modules carry
|
|
22
|
+
// their own peer loggers; the test suite spies on those.
|
|
23
|
+
const logger = createLogger("skills-compiler");
|
|
17
24
|
// docs/design/appendices/fetch-window-cost-reduction.md Phase 1.5 — single shared constant
|
|
18
25
|
// for the pre-pass process key. Typed as `ProcessKey` (not the inferred
|
|
19
26
|
// string literal) so a rename in `@aitne/shared/process-key.ts` lights up
|
|
@@ -26,199 +33,6 @@ const FETCH_WINDOW_PROCESS_KEY = "routine.fetch_window";
|
|
|
26
33
|
// `external-services`, `attach`) are already restated by the integration
|
|
27
34
|
// partial the runner inlines into the user prompt.
|
|
28
35
|
const FETCH_WINDOW_SLIM_SKILL = "observations";
|
|
29
|
-
/**
|
|
30
|
-
* Check whether the skill AND task-flow variants a given integration would
|
|
31
|
-
* require when delegated to `delegatedBackend` are all present on disk.
|
|
32
|
-
* Returns missing file paths split by kind.
|
|
33
|
-
*
|
|
34
|
-
* DELEGATED-MODE-V2-DESIGN.md §4.1.1 — variant filenames are keyed on
|
|
35
|
-
* **session backend**, not the delegated backend. Three resolutions:
|
|
36
|
-
* - sessionBackend === delegatedBackend → `null` (no skill body, native MCP)
|
|
37
|
-
* - sessionBackend !== delegatedBackend → `SKILL.delegated.<sessionBackend>.md`
|
|
38
|
-
* (cross-backend; the daemon proxy spawns delegatedBackend)
|
|
39
|
-
* - non-delegated touch → `SKILL.md` (no delegated variant required)
|
|
40
|
-
*
|
|
41
|
-
* Task flow variants always fire as `delegated.<sessionBackend>` whenever
|
|
42
|
-
* any touched integration is delegated, regardless of same- vs cross-backend
|
|
43
|
-
* (`selectTaskFlowVariantSuffix`).
|
|
44
|
-
*
|
|
45
|
-
* The gate enumerates every potential session backend (`BACKEND_IDS`) and
|
|
46
|
-
* defers to the resolvers; that keeps the gate automatically aligned with
|
|
47
|
-
* `selectSkillVariantFile` / `selectTaskFlowVariantSuffix` if those grow new
|
|
48
|
-
* cases. We pin the integration's mode locally as `delegated` with the
|
|
49
|
-
* supplied `delegatedBackend` so the resolvers see the post-PATCH state.
|
|
50
|
-
*
|
|
51
|
-
* Consumed by:
|
|
52
|
-
* - `SkillsCompiler.validateDelegatedVariants()` — startup aggregate
|
|
53
|
-
* - `PATCH /api/integrations/:key` — pre-commit hard reject (§4.7)
|
|
54
|
-
* - `buildIntegrationHealthMap` — surfaces the list in
|
|
55
|
-
* `/health.integrationModes.<key>.variantsMissing`
|
|
56
|
-
*/
|
|
57
|
-
/**
|
|
58
|
-
* Walk a materialized session subdirectory and rewrite every `.md` file with
|
|
59
|
-
* `{APP_NAME}` tokens resolved. Called immediately after `cpSync(src, dest, …)`
|
|
60
|
-
* so the verbatim copy from `agent-assets/` becomes brand-substituted before
|
|
61
|
-
* any downstream transform (renderReferenceIncludes, applyIntegrationModeFilter,
|
|
62
|
-
* tool-deny filter) reads it. Idempotent — running it twice is a no-op.
|
|
63
|
-
*/
|
|
64
|
-
function substituteBrandTokensInDir(dir) {
|
|
65
|
-
if (!existsSync(dir))
|
|
66
|
-
return;
|
|
67
|
-
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
68
|
-
const full = join(dir, entry.name);
|
|
69
|
-
if (entry.isDirectory()) {
|
|
70
|
-
substituteBrandTokensInDir(full);
|
|
71
|
-
}
|
|
72
|
-
else if (entry.isFile() && entry.name.endsWith(".md")) {
|
|
73
|
-
const original = readFileSync(full, "utf-8");
|
|
74
|
-
const substituted = substituteBrandTokens(original);
|
|
75
|
-
if (substituted !== original) {
|
|
76
|
-
writeFileSync(full, substituted, "utf-8");
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
let wikiWorkspaceTokenResolver = null;
|
|
82
|
-
export function setWikiWorkspaceTokenResolver(resolver) {
|
|
83
|
-
wikiWorkspaceTokenResolver = resolver;
|
|
84
|
-
}
|
|
85
|
-
function wikiTokensFor(processKey, workspaceName) {
|
|
86
|
-
if (!processKey?.startsWith("wiki."))
|
|
87
|
-
return null;
|
|
88
|
-
return wikiWorkspaceTokenResolver?.(processKey, workspaceName) ?? null;
|
|
89
|
-
}
|
|
90
|
-
function substituteWikiWorkspaceTokens(content, processKey, workspaceName) {
|
|
91
|
-
const tokens = wikiTokensFor(processKey, workspaceName);
|
|
92
|
-
if (!tokens)
|
|
93
|
-
return content;
|
|
94
|
-
return content
|
|
95
|
-
.replaceAll("{{vault_path}}", tokens.vault_path)
|
|
96
|
-
.replaceAll("{{language}}", tokens.language)
|
|
97
|
-
.replaceAll("{{workspace_name}}", tokens.workspace_name)
|
|
98
|
-
.replaceAll("{{schema_version}}", tokens.schema_version);
|
|
99
|
-
}
|
|
100
|
-
function substituteWikiWorkspaceTokensInDir(dir, processKey, workspaceName) {
|
|
101
|
-
if (!existsSync(dir))
|
|
102
|
-
return;
|
|
103
|
-
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
104
|
-
const full = join(dir, entry.name);
|
|
105
|
-
if (entry.isDirectory()) {
|
|
106
|
-
substituteWikiWorkspaceTokensInDir(full, processKey, workspaceName);
|
|
107
|
-
}
|
|
108
|
-
else if (entry.isFile() && entry.name.endsWith(".md")) {
|
|
109
|
-
const original = readFileSync(full, "utf-8");
|
|
110
|
-
const substituted = substituteWikiWorkspaceTokens(original, processKey, workspaceName);
|
|
111
|
-
if (substituted !== original) {
|
|
112
|
-
writeFileSync(full, substituted, "utf-8");
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
export function missingDelegatedVariants(workspaceDir, integrationKey, delegatedBackend) {
|
|
118
|
-
return missingVariantsForMode(workspaceDir, integrationKey, {
|
|
119
|
-
mode: "delegated",
|
|
120
|
-
delegatedBackend,
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* INTEGRATION_NATIVE_MODE_DESIGN.md §7.4 / §8.5 — symmetric to
|
|
125
|
-
* {@link missingDelegatedVariants} for the new `native` mode. Used by
|
|
126
|
-
* the PATCH route's pre-commit hard reject and (Phase B2 onwards) by
|
|
127
|
-
* `skills-manifest.test.ts` to assert variant existence on every
|
|
128
|
-
* supported `(integration, native backend)` pair before a release.
|
|
129
|
-
*/
|
|
130
|
-
export function missingNativeVariants(workspaceDir, integrationKey, nativeBackend) {
|
|
131
|
-
return missingVariantsForMode(workspaceDir, integrationKey, {
|
|
132
|
-
mode: "native",
|
|
133
|
-
nativeBackend,
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
function missingVariantsForMode(workspaceDir, integrationKey, pinnedState) {
|
|
137
|
-
const descriptor = INTEGRATION_DESCRIPTORS[integrationKey];
|
|
138
|
-
const skillsRoot = join(workspaceDir, "agent-assets", "skills");
|
|
139
|
-
const taskFlowsRoot = join(workspaceDir, "agent-assets", "task-flows");
|
|
140
|
-
// Synthetic post-PATCH state. The resolvers consume only `mode` and
|
|
141
|
-
// the backend binding; `lastChangedAt` is required by the type but not
|
|
142
|
-
// read here.
|
|
143
|
-
const synthetic = pinnedState.mode === "delegated"
|
|
144
|
-
? {
|
|
145
|
-
mode: "delegated",
|
|
146
|
-
delegatedBackend: pinnedState.delegatedBackend,
|
|
147
|
-
deniedTools: [],
|
|
148
|
-
lastChangedAt: "1970-01-01T00:00:00.000Z",
|
|
149
|
-
}
|
|
150
|
-
: {
|
|
151
|
-
mode: "native",
|
|
152
|
-
nativeBackend: pinnedState.nativeBackend,
|
|
153
|
-
deniedTools: [],
|
|
154
|
-
lastChangedAt: "1970-01-01T00:00:00.000Z",
|
|
155
|
-
};
|
|
156
|
-
const integrationsState = {
|
|
157
|
-
[integrationKey]: synthetic,
|
|
158
|
-
};
|
|
159
|
-
// For `native` mode the variant is only required when the session
|
|
160
|
-
// backend is the bound native backend (other session backends would
|
|
161
|
-
// resolve to `disabled` per §5.4.1's safety degrade, so they don't need
|
|
162
|
-
// a SKILL.native.<other>.md file). For `delegated` we keep the original
|
|
163
|
-
// walk over every session backend since cross-backend variants ARE
|
|
164
|
-
// required.
|
|
165
|
-
const sessionBackendsToCheck = pinnedState.mode === "native"
|
|
166
|
-
? [pinnedState.nativeBackend]
|
|
167
|
-
: BACKEND_IDS.filter((backend) => backend !== "opencode");
|
|
168
|
-
// De-dup with sets — the same file path can come up under multiple
|
|
169
|
-
// session backends when descriptors share a slug.
|
|
170
|
-
const skills = new Set();
|
|
171
|
-
for (const slug of descriptor.skillsTouched) {
|
|
172
|
-
for (const sessionBackend of sessionBackendsToCheck) {
|
|
173
|
-
const variantFile = selectSkillVariantFile(slug, sessionBackend, integrationsState);
|
|
174
|
-
// null → same-backend delegated drops body; no file required.
|
|
175
|
-
// SKILL.md → resolver fell back to direct/disabled; no variant file.
|
|
176
|
-
if (variantFile === null || variantFile === "SKILL.md")
|
|
177
|
-
continue;
|
|
178
|
-
const variantPath = join(resolveBuiltinSkillDir(skillsRoot, slug), variantFile);
|
|
179
|
-
if (!existsSync(variantPath))
|
|
180
|
-
skills.add(variantPath);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
const taskFlows = new Set();
|
|
184
|
-
for (const flowKey of descriptor.taskFlowsTouched) {
|
|
185
|
-
for (const sessionBackend of sessionBackendsToCheck) {
|
|
186
|
-
const suffix = selectTaskFlowVariantSuffix(flowKey, sessionBackend, integrationsState);
|
|
187
|
-
if (suffix === "direct")
|
|
188
|
-
continue;
|
|
189
|
-
const variantPath = join(taskFlowsRoot, `${flowKey}.${suffix}.md`);
|
|
190
|
-
if (existsSync(variantPath))
|
|
191
|
-
continue;
|
|
192
|
-
// INTEGRATION_NATIVE_MODE_DESIGN.md §8.1 — when a task-flow lists a
|
|
193
|
-
// mode-aware integration in `taskFlowsTouched` but doesn't ship a
|
|
194
|
-
// per-mode variant file, the loader (`prompts.ts:loadFlowVariant`)
|
|
195
|
-
// gracefully falls back to the canonical base file. Treat that as
|
|
196
|
-
// a valid coverage path so the `missingDelegatedVariants` /
|
|
197
|
-
// `missingNativeVariants` PATCH-time check doesn't reject a flip
|
|
198
|
-
// for which the loader's base-file fallback is the designed answer.
|
|
199
|
-
//
|
|
200
|
-
// Concrete example: `message.received.dm` is listed in gmail /
|
|
201
|
-
// google_calendar / notion `taskFlowsTouched` so the native DM
|
|
202
|
-
// variant resolves; the matching delegated variant
|
|
203
|
-
// (`message.received.dm.delegated.<backend>.md`) is intentionally
|
|
204
|
-
// absent. The base `message.received.dm.md` carries inline
|
|
205
|
-
// `<!-- mode:<predicate>:<key> -->` markers for the Calendar block
|
|
206
|
-
// and routes other integrations through their per-skill bodies. The
|
|
207
|
-
// loader correctly falls back, so the missing variant is not a real
|
|
208
|
-
// configuration gap.
|
|
209
|
-
//
|
|
210
|
-
// Skill variants remain strict — a missing `SKILL.<mode>.<backend>.md`
|
|
211
|
-
// leaves the agent with no per-mode body for the integration, which
|
|
212
|
-
// IS a real gap. The strict check above (no leniency branch) handles
|
|
213
|
-
// that.
|
|
214
|
-
const basePath = join(taskFlowsRoot, `${flowKey}.md`);
|
|
215
|
-
if (!existsSync(basePath)) {
|
|
216
|
-
taskFlows.add(variantPath);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
return { skills: [...skills], taskFlows: [...taskFlows] };
|
|
221
|
-
}
|
|
222
36
|
/**
|
|
223
37
|
* Materializes backend-specific instruction files for session workdirs
|
|
224
38
|
* by reading directly from the source tree (agent-assets/agent-profiles/ and
|
|
@@ -272,7 +86,7 @@ export class SkillsCompiler {
|
|
|
272
86
|
/**
|
|
273
87
|
* P22 — skill-curation overlay context. When set, the materializer runs an
|
|
274
88
|
* extra pass that resolves `<!-- CURATION:<kind> id="<id>" -->` anchors in
|
|
275
|
-
* each skill's SKILL.md against `<dataDir>/
|
|
89
|
+
* each skill's SKILL.md against `<dataDir>/skill-curation-overlays/<slug>/<id>.json`
|
|
276
90
|
* (overlay) or `agent-assets/skills/<slug>/seeds/<id>.seed.json` (seed).
|
|
277
91
|
*
|
|
278
92
|
* Optional and default-OFF — daemon code is expected to call
|
|
@@ -302,10 +116,10 @@ export class SkillsCompiler {
|
|
|
302
116
|
* §4.7 "Missing-variant policy": if any paths come back, the caller
|
|
303
117
|
* should refuse to enter delegated mode or at least log a loud warning.
|
|
304
118
|
* The per-integration variant for the hypothetical PATCH path lives in
|
|
305
|
-
*
|
|
306
|
-
* aggregates across every currently-delegated integration using
|
|
307
|
-
* declared `delegatedBackend` (not the session backend — see the
|
|
308
|
-
* docstring for the rationale).
|
|
119
|
+
* `missingDelegatedVariants` in `./skills-compiler-variants.js`; this
|
|
120
|
+
* method aggregates across every currently-delegated integration using
|
|
121
|
+
* its declared `delegatedBackend` (not the session backend — see the
|
|
122
|
+
* helper docstring for the rationale).
|
|
309
123
|
*/
|
|
310
124
|
validateDelegatedVariants() {
|
|
311
125
|
const skills = [];
|
|
@@ -389,10 +203,17 @@ export class SkillsCompiler {
|
|
|
389
203
|
// means "no skills." `null` keeps manifest behavior — the override is a
|
|
390
204
|
// partial replacement so a future caller can pass just `profileBody`
|
|
391
205
|
// without affecting skill selection.
|
|
392
|
-
const
|
|
206
|
+
const baseSkills = params.override?.skillSlugs !== null
|
|
393
207
|
&& params.override?.skillSlugs !== undefined
|
|
394
208
|
? [...params.override.skillSlugs]
|
|
395
209
|
: manifestSkills;
|
|
210
|
+
// AGENT_DEFINITIONS_DESIGN.md §4.2 — fold the firing Agent's `tools.skills`
|
|
211
|
+
// onto the resolved bundle (union, or replace when `skillsReplace`). A
|
|
212
|
+
// no-op when `extraSkills` is empty/absent, so every non-Agent site keeps
|
|
213
|
+
// its prior set verbatim. Applied AFTER the bang-command override so the
|
|
214
|
+
// two surfaces never silently fight; in practice they never co-occur (an
|
|
215
|
+
// Agent firing carries no `override`).
|
|
216
|
+
const skills = composeSkillSet(baseSkills, params.extraSkills, params.skillsReplace ?? false);
|
|
396
217
|
const profileBodyOverride = params.override?.profileBody ?? null;
|
|
397
218
|
// Always materialize the `mail` skill when the manifest asks for it —
|
|
398
219
|
// even if the current account list is empty. The skill is inert when
|
|
@@ -1029,1018 +850,3 @@ export class SkillsCompiler {
|
|
|
1029
850
|
writeFileSync(join(sessionDir, cliInstructionFileName(backendId)), instruction, "utf-8");
|
|
1030
851
|
}
|
|
1031
852
|
}
|
|
1032
|
-
export const EMPTY_MAIL_ACCOUNTS_MD = [
|
|
1033
|
-
"# Mail accounts",
|
|
1034
|
-
"",
|
|
1035
|
-
"No active mail accounts are configured right now. The `mail` skill's API",
|
|
1036
|
-
"calls will fail without an `accountId` — do NOT guess account ids. If no",
|
|
1037
|
-
"account matches, tell the user no active mail account is configured and",
|
|
1038
|
-
"stop — account setup is outside this skill's scope.",
|
|
1039
|
-
"",
|
|
1040
|
-
].join("\n");
|
|
1041
|
-
export function renderMailAccountsMd(accounts) {
|
|
1042
|
-
const rows = accounts.map((a) => {
|
|
1043
|
-
const label = a.label ? ` (${a.label})` : "";
|
|
1044
|
-
return `| \`${a.id}\` | ${a.kind} | ${a.email}${label} | ${a.idleEnabled ? "IDLE" : "poll"} |`;
|
|
1045
|
-
});
|
|
1046
|
-
return [
|
|
1047
|
-
"# Mail accounts",
|
|
1048
|
-
"",
|
|
1049
|
-
"Active mail accounts this session can use. Resolve `accountId` from this",
|
|
1050
|
-
"table before calling `/api/mail/:accountId/*`. Inactive / unhealthy",
|
|
1051
|
-
"accounts are omitted by design — no global \"primary\" default exists;",
|
|
1052
|
-
"pick the account from conversation context (reply thread, user mention,",
|
|
1053
|
-
"or a single active row) and ask when ambiguous.",
|
|
1054
|
-
"",
|
|
1055
|
-
"| accountId | kind | email | transport |",
|
|
1056
|
-
"|---|---|---|---|",
|
|
1057
|
-
...rows,
|
|
1058
|
-
"",
|
|
1059
|
-
].join("\n");
|
|
1060
|
-
}
|
|
1061
|
-
/**
|
|
1062
|
-
* docs/design/appendices/opencode-backend.md §10 D6 — opencode 1.14.50 documents
|
|
1063
|
-
* `[a-z0-9-]{1,64}` as the legal skill-slug pattern. Aitne's existing
|
|
1064
|
-
* built-ins all conform; this helper is the predicate the build-time
|
|
1065
|
-
* validator (`validateBuiltinSkillSourceTree`) and the user-skill PUT
|
|
1066
|
-
* endpoint both gate on.
|
|
1067
|
-
*
|
|
1068
|
-
* docs/design/appendices/skills-unification.md Phase 1 §R5 / item 6 — promoted from a
|
|
1069
|
-
* runtime warn to a build-time throw at SkillsCompiler construction so
|
|
1070
|
-
* a malformed source tree refuses to boot the daemon.
|
|
1071
|
-
*
|
|
1072
|
-
* Exported for unit testing (`skills-compiler.test.ts` regression).
|
|
1073
|
-
*/
|
|
1074
|
-
export function isValidSkillSlug(slug) {
|
|
1075
|
-
return /^[a-z0-9-]{1,64}$/.test(slug);
|
|
1076
|
-
}
|
|
1077
|
-
/**
|
|
1078
|
-
* docs/design/appendices/skills-unification.md Phase 1 §R5 / item 6 — build-time invariant
|
|
1079
|
-
* pass over `agent-assets/skills/`. Throws on:
|
|
1080
|
-
* - Any built-in slug that doesn't match `[a-z0-9-]{1,64}`.
|
|
1081
|
-
* - Any SKILL.md (incl. variants like `SKILL.delegated.<backend>.md`)
|
|
1082
|
-
* whose `description` exceeds `SKILL_DESCRIPTION_MAX_LENGTH`.
|
|
1083
|
-
* - Any SKILL.md missing `name` or `description`.
|
|
1084
|
-
*
|
|
1085
|
-
* No-op when the source tree is absent (test workspaces / partial-clone
|
|
1086
|
-
* scenarios). Memoised per workspace dir + skill-tree fingerprint so
|
|
1087
|
-
* repeated SkillsCompiler constructions in the same process don't pay
|
|
1088
|
-
* the walk cost twice; tests that mutate source between constructions
|
|
1089
|
-
* get fresh validation because the fingerprint shifts.
|
|
1090
|
-
*
|
|
1091
|
-
* Exported for tests that exercise the failure paths in isolation.
|
|
1092
|
-
*/
|
|
1093
|
-
export function validateBuiltinSkillSourceTree(skillsRoot) {
|
|
1094
|
-
if (!existsSync(skillsRoot))
|
|
1095
|
-
return;
|
|
1096
|
-
const fingerprint = computeSkillTreeFingerprint(skillsRoot);
|
|
1097
|
-
const cached = validatedTreeCache.get(skillsRoot);
|
|
1098
|
-
if (cached === fingerprint)
|
|
1099
|
-
return;
|
|
1100
|
-
for (const slug of listBuiltinSlugs(skillsRoot)) {
|
|
1101
|
-
if (!isValidSkillSlug(slug)) {
|
|
1102
|
-
throw new Error(`skills_compiler.invalid_slug: ${slug} (expected [a-z0-9-]{1,64})`);
|
|
1103
|
-
}
|
|
1104
|
-
const skillDir = resolveBuiltinSkillDir(skillsRoot, slug);
|
|
1105
|
-
const skillMdPath = join(skillDir, "SKILL.md");
|
|
1106
|
-
if (!existsSync(skillMdPath))
|
|
1107
|
-
continue; // skip slugs that ship only a variant
|
|
1108
|
-
const primaryContent = readFileSync(skillMdPath, "utf-8");
|
|
1109
|
-
const primaryFm = parseSkillFrontmatter(primaryContent);
|
|
1110
|
-
// Stub primary (no frontmatter) — treat the whole skill as a test
|
|
1111
|
-
// scaffold and skip its variants too. Production builds always have
|
|
1112
|
-
// proper frontmatter; the fingerprint cache picks up any future
|
|
1113
|
-
// primary-content fix automatically.
|
|
1114
|
-
if (!primaryFm.name && !primaryFm.description)
|
|
1115
|
-
continue;
|
|
1116
|
-
if (!primaryFm.name) {
|
|
1117
|
-
throw new Error(`skills_compiler.missing_frontmatter_name: ${slug}/SKILL.md`);
|
|
1118
|
-
}
|
|
1119
|
-
if (!primaryFm.description) {
|
|
1120
|
-
throw new Error(`skills_compiler.missing_frontmatter_description: ${slug}/SKILL.md`);
|
|
1121
|
-
}
|
|
1122
|
-
if (primaryFm.description.length > SKILL_DESCRIPTION_MAX_LENGTH) {
|
|
1123
|
-
throw new Error(`skills_compiler.description_too_long: ${slug}/SKILL.md `
|
|
1124
|
-
+ `(${primaryFm.description.length} > ${SKILL_DESCRIPTION_MAX_LENGTH})`);
|
|
1125
|
-
}
|
|
1126
|
-
// Variant validation — only run when the primary is well-formed. Each
|
|
1127
|
-
// variant is shipped to the model the same way the primary is, so the
|
|
1128
|
-
// same description-length cap applies. Variants that are stub
|
|
1129
|
-
// sentinels in tests are caught by the primary-stub short-circuit
|
|
1130
|
-
// above (this loop never runs for those).
|
|
1131
|
-
const entries = readdirSync(skillDir, { withFileTypes: true });
|
|
1132
|
-
for (const entry of entries) {
|
|
1133
|
-
if (!entry.isFile())
|
|
1134
|
-
continue;
|
|
1135
|
-
const name = entry.name;
|
|
1136
|
-
if (!name.startsWith("SKILL.") || !name.endsWith(".md"))
|
|
1137
|
-
continue;
|
|
1138
|
-
if (name === "SKILL.base.md")
|
|
1139
|
-
continue; // base partial — frontmatter optional
|
|
1140
|
-
const variantContent = readFileSync(join(skillDir, name), "utf-8");
|
|
1141
|
-
const variantFm = parseSkillFrontmatter(variantContent);
|
|
1142
|
-
if (!variantFm.name || !variantFm.description) {
|
|
1143
|
-
throw new Error(`skills_compiler.variant_missing_frontmatter: ${slug}/${name}`);
|
|
1144
|
-
}
|
|
1145
|
-
if (variantFm.description.length > SKILL_DESCRIPTION_MAX_LENGTH) {
|
|
1146
|
-
throw new Error(`skills_compiler.description_too_long: ${slug}/${name} `
|
|
1147
|
-
+ `(${variantFm.description.length} > ${SKILL_DESCRIPTION_MAX_LENGTH})`);
|
|
1148
|
-
}
|
|
1149
|
-
}
|
|
1150
|
-
}
|
|
1151
|
-
validatedTreeCache.set(skillsRoot, fingerprint);
|
|
1152
|
-
}
|
|
1153
|
-
const validatedTreeCache = new Map();
|
|
1154
|
-
function computeSkillTreeFingerprint(skillsRoot) {
|
|
1155
|
-
// mtime-only fingerprint over SKILL*.md files: enough to bust the
|
|
1156
|
-
// cache on a source-tree edit between constructions without paying
|
|
1157
|
-
// the cost of a full content hash. Tests that mutate files within
|
|
1158
|
-
// the same millisecond should call SkillsCompiler.invalidateValidator()
|
|
1159
|
-
// — but in practice the millisecond resolution suffices.
|
|
1160
|
-
const parts = [];
|
|
1161
|
-
for (const slug of listBuiltinSlugs(skillsRoot).sort()) {
|
|
1162
|
-
const skillDir = resolveBuiltinSkillDir(skillsRoot, slug);
|
|
1163
|
-
let entries;
|
|
1164
|
-
try {
|
|
1165
|
-
entries = readdirSync(skillDir, { withFileTypes: true });
|
|
1166
|
-
}
|
|
1167
|
-
catch {
|
|
1168
|
-
continue;
|
|
1169
|
-
}
|
|
1170
|
-
for (const e of entries) {
|
|
1171
|
-
if (!e.isFile())
|
|
1172
|
-
continue;
|
|
1173
|
-
const name = e.name;
|
|
1174
|
-
if (!name.startsWith("SKILL") || !name.endsWith(".md"))
|
|
1175
|
-
continue;
|
|
1176
|
-
try {
|
|
1177
|
-
const stat = statSync(join(skillDir, name));
|
|
1178
|
-
parts.push(`${slug}/${name}:${stat.mtimeMs}:${stat.size}`);
|
|
1179
|
-
}
|
|
1180
|
-
catch { /* ignore */ }
|
|
1181
|
-
}
|
|
1182
|
-
}
|
|
1183
|
-
return parts.join("|");
|
|
1184
|
-
}
|
|
1185
|
-
/**
|
|
1186
|
-
* Return the backend-specific dotfile namespace name for a given backend's
|
|
1187
|
-
* skill directory, **without** the trailing `skills` segment — callers
|
|
1188
|
-
* join `skills` themselves. Returns `null` only for Claude (which is
|
|
1189
|
-
* dispatched through `materializeClaudeSession` and writes
|
|
1190
|
-
* `<sessionDir>/.claude/skills/` directly).
|
|
1191
|
-
*
|
|
1192
|
-
* docs/design/appendices/skills-unification.md Phase 1 — every non-Claude backend now writes
|
|
1193
|
-
* to its own brand-aligned namespace:
|
|
1194
|
-
* - `codex` → `.codex`
|
|
1195
|
-
* - `gemini` → `.gemini`
|
|
1196
|
-
* - `opencode` → `.opencode` (V2 path (c); flipped from prior `.claude/`
|
|
1197
|
-
* redundancy-avoiding alias).
|
|
1198
|
-
*/
|
|
1199
|
-
export function cliSkillsDirName(backendId) {
|
|
1200
|
-
switch (backendId) {
|
|
1201
|
-
case "codex": return ".codex";
|
|
1202
|
-
case "gemini": return ".gemini";
|
|
1203
|
-
case "opencode": return ".opencode";
|
|
1204
|
-
default: return null;
|
|
1205
|
-
}
|
|
1206
|
-
}
|
|
1207
|
-
/**
|
|
1208
|
-
* Return the CLI instruction-file name for a given backend. Codex and
|
|
1209
|
-
* OpenCode both auto-discover `AGENTS.md` from cwd; Gemini reads
|
|
1210
|
-
* `GEMINI.md`. Throws for `claude` — the Claude SDK consumes a per-cwd
|
|
1211
|
-
* `CLAUDE.md` written by `materializeClaudeSession`, not an instruction
|
|
1212
|
-
* file from this helper.
|
|
1213
|
-
*
|
|
1214
|
-
* Single helper so the choice is consistent between the wide
|
|
1215
|
-
* `materializeCliSession` and the slim `materializeFetchWindowCliSession`
|
|
1216
|
-
* paths (docs/design/appendices/fetch-window-cost-reduction.md §4.5.7).
|
|
1217
|
-
*/
|
|
1218
|
-
export function cliInstructionFileName(backendId) {
|
|
1219
|
-
switch (backendId) {
|
|
1220
|
-
case "codex":
|
|
1221
|
-
case "opencode":
|
|
1222
|
-
return "AGENTS.md";
|
|
1223
|
-
case "gemini":
|
|
1224
|
-
return "GEMINI.md";
|
|
1225
|
-
}
|
|
1226
|
-
}
|
|
1227
|
-
/**
|
|
1228
|
-
* Session instruction files the live-overwrite path (design §15.6.1 /
|
|
1229
|
-
* §15.9) walks when the owner PATCHes `character` mid-session. Each file
|
|
1230
|
-
* corresponds to a backend (CLAUDE.md = Claude Code SDK, AGENTS.md =
|
|
1231
|
-
* Codex CLI, GEMINI.md = Gemini CLI). A workdir that has already seen a
|
|
1232
|
-
* heavy-tier fallback can contain two of these side-by-side — see
|
|
1233
|
-
* CLAUDE.md "Fallback re-materialization".
|
|
1234
|
-
*/
|
|
1235
|
-
const CHARACTER_INSTRUCTION_FILES = [
|
|
1236
|
-
"CLAUDE.md",
|
|
1237
|
-
"AGENTS.md",
|
|
1238
|
-
"GEMINI.md",
|
|
1239
|
-
];
|
|
1240
|
-
/**
|
|
1241
|
-
* Rewrite the `## Character (user-defined)` block inside every backend
|
|
1242
|
-
* instruction file that currently lives in `workdir`. Used by the
|
|
1243
|
-
* `PATCH /api/config` live-overwrite path (§15.6.1) so an owner editing
|
|
1244
|
-
* character on the dashboard doesn't have to wait for the next session
|
|
1245
|
-
* spawn for the change to land.
|
|
1246
|
-
*
|
|
1247
|
-
* Multi-backend aware: a workdir that has seen a Claude→Codex fallback
|
|
1248
|
-
* contains both CLAUDE.md and AGENTS.md, and both must end up byte-
|
|
1249
|
-
* identical in their character block. Each write is atomic (tmp +
|
|
1250
|
-
* rename, both on the same filesystem so rename stays cheap) and
|
|
1251
|
-
* per-file errors are logged without failing the whole call.
|
|
1252
|
-
*
|
|
1253
|
-
* Returns a summary of how many files were rewritten. Useful for
|
|
1254
|
-
* instrumentation and for the dashboard PATCH handler to log.
|
|
1255
|
-
*
|
|
1256
|
-
* The helper is an FS wrapper: its pure parse/compose half lives in
|
|
1257
|
-
* `character-block.ts` and is covered 100% there. This side is excluded
|
|
1258
|
-
* from coverage along with the rest of `skills-compiler.ts`.
|
|
1259
|
-
*/
|
|
1260
|
-
export function rewriteCharacterBlock(workdir, character) {
|
|
1261
|
-
const summary = { rewritten: 0, skipped: 0, failed: 0 };
|
|
1262
|
-
const targets = CHARACTER_INSTRUCTION_FILES.map((name) => join(workdir, name));
|
|
1263
|
-
// docs/design/appendices/opencode-backend.md §6.5 — opencode also carries the character
|
|
1264
|
-
// block inside `.opencode/agent/<slug>.md` (the per-process persona
|
|
1265
|
-
// body). Walk the dir so a mid-session character PATCH lands on every
|
|
1266
|
-
// active opencode agent file (typically one per workdir). Defensive
|
|
1267
|
-
// existence check below — a non-opencode workdir simply has no
|
|
1268
|
-
// `.opencode/agent/` dir and contributes zero rewrites.
|
|
1269
|
-
const opencodeAgentDir = join(workdir, ".opencode", "agent");
|
|
1270
|
-
if (existsSync(opencodeAgentDir)) {
|
|
1271
|
-
try {
|
|
1272
|
-
for (const entry of readdirSync(opencodeAgentDir, { withFileTypes: true })) {
|
|
1273
|
-
if (entry.isFile() && entry.name.endsWith(".md")) {
|
|
1274
|
-
targets.push(join(opencodeAgentDir, entry.name));
|
|
1275
|
-
}
|
|
1276
|
-
}
|
|
1277
|
-
}
|
|
1278
|
-
catch (err) {
|
|
1279
|
-
logger.warn({ err, opencodeAgentDir }, "rewriteCharacterBlock failed to enumerate opencode agent dir");
|
|
1280
|
-
}
|
|
1281
|
-
}
|
|
1282
|
-
for (const target of targets) {
|
|
1283
|
-
if (!existsSync(target)) {
|
|
1284
|
-
summary.skipped++;
|
|
1285
|
-
continue;
|
|
1286
|
-
}
|
|
1287
|
-
try {
|
|
1288
|
-
const current = readFileSync(target, "utf-8");
|
|
1289
|
-
const next = applyCharacterBlockRewrite(current, character);
|
|
1290
|
-
if (next === current) {
|
|
1291
|
-
summary.skipped++;
|
|
1292
|
-
continue;
|
|
1293
|
-
}
|
|
1294
|
-
// `.tmp` lives next to the target so the rename stays on one
|
|
1295
|
-
// filesystem (design R1 mitigation).
|
|
1296
|
-
const tmp = `${target}.tmp`;
|
|
1297
|
-
writeFileSync(tmp, next, "utf-8");
|
|
1298
|
-
renameSync(tmp, target);
|
|
1299
|
-
summary.rewritten++;
|
|
1300
|
-
}
|
|
1301
|
-
catch (err) {
|
|
1302
|
-
// Per-file logging so a partial failure (e.g. CLAUDE.md written,
|
|
1303
|
-
// AGENTS.md EACCES) is recoverable post-hoc — the outer PATCH
|
|
1304
|
-
// handler only sees aggregate totals.
|
|
1305
|
-
logger.warn({ err, target }, "rewriteCharacterBlock failed to update instruction file");
|
|
1306
|
-
summary.failed++;
|
|
1307
|
-
}
|
|
1308
|
-
}
|
|
1309
|
-
return summary;
|
|
1310
|
-
}
|
|
1311
|
-
function renderCliInstructionFile(params) {
|
|
1312
|
-
const toolName = cliInstructionFileName(params.backendId);
|
|
1313
|
-
const parts = [
|
|
1314
|
-
`# ${APP_NAME} ${toolName}`,
|
|
1315
|
-
"",
|
|
1316
|
-
`Process key: \`${params.processKey}\``,
|
|
1317
|
-
`Profile: \`${params.profileName}\``,
|
|
1318
|
-
"",
|
|
1319
|
-
];
|
|
1320
|
-
// Safety invariants at top level for prominence — CLI backends don't
|
|
1321
|
-
// have a separate project-instruction layer, so burying safety inside
|
|
1322
|
-
// the profile section risks it being overlooked by weaker models.
|
|
1323
|
-
if (params.safetyContent) {
|
|
1324
|
-
parts.push(params.safetyContent, "");
|
|
1325
|
-
}
|
|
1326
|
-
// User-defined character sits immediately after safety so it strictly
|
|
1327
|
-
// outranks every profile / skill / task-flow layer below it, and
|
|
1328
|
-
// strictly below safety (design §15.4.2 / §15.5).
|
|
1329
|
-
if (params.characterBlock) {
|
|
1330
|
-
parts.push(params.characterBlock, "");
|
|
1331
|
-
}
|
|
1332
|
-
// DELEGATED-MODE-V2-DESIGN.md §4.3.4 — same-backend integration deny block.
|
|
1333
|
-
// Sits right after character / safety (above behavioral rules + skills) so
|
|
1334
|
-
// weak models cannot miss it. For Codex this is the only enforcement
|
|
1335
|
-
// surface; for Gemini it duplicates the admin-policy hard-deny.
|
|
1336
|
-
if (params.sameBackendDenyBlock) {
|
|
1337
|
-
parts.push(params.sameBackendDenyBlock, "");
|
|
1338
|
-
}
|
|
1339
|
-
// Output-language pointer paragraph (design `output-language-policy.md`
|
|
1340
|
-
// §13.3). Identical byte-for-byte across CLAUDE.md / AGENTS.md /
|
|
1341
|
-
// GEMINI.md — declarative only, never inlines the current
|
|
1342
|
-
// `primaryLanguage` (that lives in the per-turn XML and would go
|
|
1343
|
-
// stale here on a PATCH /api/config mid-session).
|
|
1344
|
-
parts.push(renderOutputLanguagePolicyPointer(), "");
|
|
1345
|
-
// Behavioral rules that Claude Code receives via system prompt append but
|
|
1346
|
-
// CLI backends don't have a system prompt layer for.
|
|
1347
|
-
parts.push("## Behavioral rules", "", "- WhatsApp outbound messages are prefixed by the daemon. Do not add that prefix yourself unless the user explicitly asks.", "");
|
|
1348
|
-
// Daemon-API usage hoisted ABOVE the skills (was: appended at the end
|
|
1349
|
-
// of the file). Skill bodies inline below carry hundreds of `curl
|
|
1350
|
-
// http://localhost:8321/api/...` examples; for Codex specifically those
|
|
1351
|
-
// examples target endpoints that return 401 because Codex does not
|
|
1352
|
-
// hold the read-sensitive token. Surfacing the constraint up-front
|
|
1353
|
-
// gives the agent the routing rule before it reads the first skill.
|
|
1354
|
-
// For Gemini / Claude the section is informational; the position is
|
|
1355
|
-
// kept consistent so the rendered file shape is uniform.
|
|
1356
|
-
parts.push(renderDaemonApiUsageSection(params.backendId !== "codex"), "");
|
|
1357
|
-
// docs/design/appendices/skills-unification.md Phase 1 §R2 — preamble + `<skill-index>`
|
|
1358
|
-
// sit after Character (already emitted above) and **before** the
|
|
1359
|
-
// Runtime profile (which carries the integration routing table
|
|
1360
|
-
// substitution). Codex / Gemini only — `skillPreamble` and
|
|
1361
|
-
// `skillIndexBlock` are `null` for OpenCode (R3) so the section is
|
|
1362
|
-
// suppressed entirely and the `## Skills` slug manifest below holds.
|
|
1363
|
-
if (params.skillPreamble) {
|
|
1364
|
-
parts.push(params.skillPreamble.trim(), "");
|
|
1365
|
-
}
|
|
1366
|
-
if (params.skillIndexBlock) {
|
|
1367
|
-
parts.push(params.skillIndexBlock, "");
|
|
1368
|
-
}
|
|
1369
|
-
parts.push("## Runtime profile", "", params.profileContent.trim(), "");
|
|
1370
|
-
// docs/design/appendices/skills-unification.md Phase 1 §R3 — the `## Skills` slug manifest
|
|
1371
|
-
// only fires for OpenCode (no `<skill-index>` block; cwd auto-discovery
|
|
1372
|
-
// already enumerates the skills, but the manifest pins the per-turn
|
|
1373
|
-
// active set so the agent doesn't grab unrelated user skills). Codex /
|
|
1374
|
-
// Gemini suppress this section since their `<skill-index>` above already
|
|
1375
|
-
// serves as the canonical listing — duplicating it here would risk the
|
|
1376
|
-
// agent mistaking the manifest for the authoritative path source.
|
|
1377
|
-
if (!params.skillIndexBlock) {
|
|
1378
|
-
parts.push("## Skills", "");
|
|
1379
|
-
if (params.skillSlugs.length === 0) {
|
|
1380
|
-
parts.push("No process-scoped built-in skills were selected for this turn.", "");
|
|
1381
|
-
}
|
|
1382
|
-
else {
|
|
1383
|
-
parts.push("Active built-in skills for this turn (cwd auto-discovery loads them):", "");
|
|
1384
|
-
for (const slug of params.skillSlugs) {
|
|
1385
|
-
parts.push(`- \`${slug}\``);
|
|
1386
|
-
}
|
|
1387
|
-
parts.push("");
|
|
1388
|
-
}
|
|
1389
|
-
parts.push("User-authored skills may also be discovered from the same directory.");
|
|
1390
|
-
}
|
|
1391
|
-
return parts.join("\n");
|
|
1392
|
-
}
|
|
1393
|
-
function renderDaemonApiUsageSection(readSensitiveAvailable) {
|
|
1394
|
-
const lines = [
|
|
1395
|
-
"## Daemon API Usage",
|
|
1396
|
-
"",
|
|
1397
|
-
"- Use plain `curl` for daemon API calls. The daemon prepends a session-local wrapper on PATH.",
|
|
1398
|
-
"- Never use absolute curl paths, alternative HTTP clients, connection overrides, or custom auth headers.",
|
|
1399
|
-
];
|
|
1400
|
-
if (readSensitiveAvailable) {
|
|
1401
|
-
lines.push("- The wrapper auto-attaches session auth for read-sensitive endpoints.");
|
|
1402
|
-
}
|
|
1403
|
-
else {
|
|
1404
|
-
lines.push("", "### Read-sensitive endpoints are UNAVAILABLE on this backend", "", "Codex sessions do not receive the read-sensitive daemon token. The", "wrapper still prepends headers it can supply, but the daemon answers", "personal-data reads with `401 Unauthorized` regardless. Endpoints", "below are affected; the per-skill `SKILL.md` files under", "`.codex/skills/<name>/` listed in `<skill-index>` describe them as if", "they were available — treat their `curl /api/*` examples as a", "contract you cannot satisfy on this backend.", "", "- Context vault: `GET /api/context/*`, `GET /api/context/list/*`", "- Mail (multi-provider): `GET /api/mail/*` (read), search, providers", "- Calendar (direct mode): `GET /api/calendar/*`", "- Notion (direct mode): `GET /api/notion/{query,search,pages}`", "- Obsidian: `GET /api/obsidian/*`", "- Observations: `GET /api/observations`", "- Reading list / receipts / travel bookings", "", "If a skill body directs you at one of these reads, stop and tell", "the user the task needs a different backend (Claude or Gemini).", "Do not hammer the endpoint — the 401 is permanent for this", "session, not transient. Writes and autonomous-tier endpoints", "stay reachable; the gate is read-sensitive scope only.");
|
|
1405
|
-
}
|
|
1406
|
-
return lines.join("\n");
|
|
1407
|
-
}
|
|
1408
|
-
/**
|
|
1409
|
-
* Strip service sections from external-services/SKILL.md that correspond to
|
|
1410
|
-
* unconfigured integrations. Sections are delimited by HTML comments:
|
|
1411
|
-
* <!-- service:calendar --> ... <!-- /service:calendar -->
|
|
1412
|
-
* When `configuredServices` is empty the content is returned unchanged — the
|
|
1413
|
-
* "no services configured yet" case keeps every section so the agent can see
|
|
1414
|
-
* the full menu. Only strips once the user has configured at least one
|
|
1415
|
-
* service (and therefore expressed an intent to narrow the surface).
|
|
1416
|
-
*/
|
|
1417
|
-
export function stripUnconfiguredServices(content, configuredServices) {
|
|
1418
|
-
if (configuredServices.size === 0)
|
|
1419
|
-
return content;
|
|
1420
|
-
const servicePattern = /<!-- service:(\w+) -->\n([\s\S]*?)<!-- \/service:\1 -->\n?/g;
|
|
1421
|
-
return content.replace(servicePattern, (match, service) => configuredServices.has(service) ? match : "");
|
|
1422
|
-
}
|
|
1423
|
-
/** Strip YAML frontmatter (--- ... ---) from markdown content. */
|
|
1424
|
-
function stripFrontmatter(content) {
|
|
1425
|
-
if (!content.startsWith("---"))
|
|
1426
|
-
return content;
|
|
1427
|
-
const endIdx = content.indexOf("\n---", 3);
|
|
1428
|
-
if (endIdx < 0)
|
|
1429
|
-
return content;
|
|
1430
|
-
return content.slice(endIdx + 4).replace(/^\n+/, "");
|
|
1431
|
-
}
|
|
1432
|
-
/**
|
|
1433
|
-
* docs/design/appendices/skills-unification.md Phase 1 — parse the `name` and `description`
|
|
1434
|
-
* single-line YAML scalars out of a SKILL.md frontmatter block. Returns
|
|
1435
|
-
* `{ name: null, description: null }` when no frontmatter is present or
|
|
1436
|
-
* neither key is set. Multi-line block scalars (`description: |` /
|
|
1437
|
-
* `description: >`) are rejected at the regex level — the schema enforces
|
|
1438
|
-
* single-line scalars across all backends (R6).
|
|
1439
|
-
*/
|
|
1440
|
-
export function parseSkillFrontmatter(content) {
|
|
1441
|
-
if (!content.startsWith("---"))
|
|
1442
|
-
return { name: null, description: null };
|
|
1443
|
-
const endIdx = content.indexOf("\n---", 3);
|
|
1444
|
-
if (endIdx < 0)
|
|
1445
|
-
return { name: null, description: null };
|
|
1446
|
-
const fm = content.slice(4, endIdx);
|
|
1447
|
-
const nameMatch = fm.match(/^name:\s*(.+)$/m);
|
|
1448
|
-
const descMatch = fm.match(/^description:\s*(.+)$/m);
|
|
1449
|
-
return {
|
|
1450
|
-
name: nameMatch ? nameMatch[1].trim() : null,
|
|
1451
|
-
description: descMatch ? descMatch[1].trim() : null,
|
|
1452
|
-
};
|
|
1453
|
-
}
|
|
1454
|
-
/**
|
|
1455
|
-
* docs/design/appendices/skills-unification.md Phase 1 §R5 — hard upper bound on a
|
|
1456
|
-
* SKILL.md `description` scalar. Enforced at SkillsCompiler construction
|
|
1457
|
-
* for built-in skills (refuses to boot on violation) and at
|
|
1458
|
-
* `PUT /api/skills/<slug>` for user-authored skills (HTTP 400). Sized to
|
|
1459
|
-
* fit the model's selection decision without pinning enough prose to
|
|
1460
|
-
* encode body content.
|
|
1461
|
-
*/
|
|
1462
|
-
export const SKILL_DESCRIPTION_MAX_LENGTH = 280;
|
|
1463
|
-
/**
|
|
1464
|
-
* docs/design/appendices/skills-unification.md Phase 1 §"Codex read-sensitive banner
|
|
1465
|
-
* inheritance" — endpoints flagged `RiskTier.ReadSensitive` by
|
|
1466
|
-
* `safety/risk-classifier.ts` that a Codex session cannot satisfy (no
|
|
1467
|
-
* read-sensitive token). Any SKILL.md whose body references one of these
|
|
1468
|
-
* prefixes triggers a one-line banner prepend on the Codex copy. Listed
|
|
1469
|
-
* literally (not derived from `API_RISK` at module-load time) so the
|
|
1470
|
-
* core/skills-compiler module stays independent of safety/risk-classifier
|
|
1471
|
-
* — a circular import would invert the bootstrap order.
|
|
1472
|
-
*
|
|
1473
|
-
* Drift guard: `skills-compiler.test.ts` pins this list against the
|
|
1474
|
-
* RiskTier.ReadSensitive GET-prefix set in `risk-classifier.ts` so a new
|
|
1475
|
-
* read-sensitive endpoint added to API_RISK surfaces here at test time
|
|
1476
|
-
* instead of as silent 401 retries in a future Codex session.
|
|
1477
|
-
*
|
|
1478
|
-
* Exported for the drift-guard regression test only — production code
|
|
1479
|
-
* MUST use {@link skillBodyTouchesReadSensitive} to keep the
|
|
1480
|
-
* "literal prefix" decision encapsulated.
|
|
1481
|
-
*/
|
|
1482
|
-
export const READ_SENSITIVE_API_PREFIXES = [
|
|
1483
|
-
"/api/apple-calendar",
|
|
1484
|
-
"/api/books",
|
|
1485
|
-
"/api/calendar",
|
|
1486
|
-
"/api/context",
|
|
1487
|
-
"/api/entities",
|
|
1488
|
-
"/api/mail",
|
|
1489
|
-
"/api/mcp/servers",
|
|
1490
|
-
"/api/notion",
|
|
1491
|
-
"/api/observations",
|
|
1492
|
-
"/api/obsidian",
|
|
1493
|
-
"/api/receipts",
|
|
1494
|
-
"/api/travel-bookings",
|
|
1495
|
-
];
|
|
1496
|
-
function skillBodyTouchesReadSensitive(skillBody) {
|
|
1497
|
-
return READ_SENSITIVE_API_PREFIXES.some((prefix) => skillBody.includes(prefix));
|
|
1498
|
-
}
|
|
1499
|
-
const CODEX_READ_SENSITIVE_BANNER_HEADER = "<!-- codex-read-sensitive-banner -->";
|
|
1500
|
-
const CODEX_READ_SENSITIVE_BANNER = [
|
|
1501
|
-
CODEX_READ_SENSITIVE_BANNER_HEADER,
|
|
1502
|
-
"> NOTE (Codex session): Some endpoints in this skill are read-sensitive and",
|
|
1503
|
-
"> return 401 here. See `## Read-sensitive endpoints are UNAVAILABLE` in",
|
|
1504
|
-
"> AGENTS.md before invoking. Do not retry on 401 — stop and notify the user.",
|
|
1505
|
-
"",
|
|
1506
|
-
].join("\n");
|
|
1507
|
-
/**
|
|
1508
|
-
* docs/design/appendices/skills-unification.md Phase 1 §"Codex read-sensitive banner
|
|
1509
|
-
* inheritance" — prepend the 3-line caveat banner to a Codex skill body
|
|
1510
|
-
* whose contents reference any read-sensitive `/api/*` endpoint. The
|
|
1511
|
-
* banner sits immediately after the YAML frontmatter (so the frontmatter
|
|
1512
|
-
* parser on the agent side still picks up `name`/`description`/
|
|
1513
|
-
* `allowed-tools` first) and is idempotent — re-running on an already-
|
|
1514
|
-
* banner-bearing file is a no-op (the HTML-comment sentinel lets us
|
|
1515
|
-
* detect prior insertion without false positives from user prose).
|
|
1516
|
-
*
|
|
1517
|
-
* No-op when:
|
|
1518
|
-
* - The skill body references zero read-sensitive endpoints.
|
|
1519
|
-
* - The banner is already present (sentinel hit).
|
|
1520
|
-
*/
|
|
1521
|
-
function prependCodexReadSensitiveBanner(skillMdPath) {
|
|
1522
|
-
if (!existsSync(skillMdPath))
|
|
1523
|
-
return;
|
|
1524
|
-
const content = readFileSync(skillMdPath, "utf-8");
|
|
1525
|
-
if (!skillBodyTouchesReadSensitive(content))
|
|
1526
|
-
return;
|
|
1527
|
-
if (content.includes(CODEX_READ_SENSITIVE_BANNER_HEADER))
|
|
1528
|
-
return;
|
|
1529
|
-
if (!content.startsWith("---")) {
|
|
1530
|
-
writeFileSync(skillMdPath, CODEX_READ_SENSITIVE_BANNER + content, "utf-8");
|
|
1531
|
-
return;
|
|
1532
|
-
}
|
|
1533
|
-
const fmCloseIdx = content.indexOf("\n---", 3);
|
|
1534
|
-
if (fmCloseIdx < 0) {
|
|
1535
|
-
writeFileSync(skillMdPath, CODEX_READ_SENSITIVE_BANNER + content, "utf-8");
|
|
1536
|
-
return;
|
|
1537
|
-
}
|
|
1538
|
-
const afterFm = fmCloseIdx + 4; // include `\n---`
|
|
1539
|
-
// Skip a single trailing newline after `---` so the banner sits on its
|
|
1540
|
-
// own line cleanly. If no newline follows, we still emit one before the
|
|
1541
|
-
// banner so the prose split is unambiguous.
|
|
1542
|
-
const head = content.slice(0, afterFm);
|
|
1543
|
-
const tail = content.slice(afterFm).replace(/^\n+/, "");
|
|
1544
|
-
writeFileSync(skillMdPath, `${head}\n\n${CODEX_READ_SENSITIVE_BANNER}${tail ? `\n${tail}` : ""}`, "utf-8");
|
|
1545
|
-
}
|
|
1546
|
-
/**
|
|
1547
|
-
* docs/design/appendices/skills-unification.md Phase 1 §"Skill preamble" — load the static
|
|
1548
|
-
* preamble shipped at
|
|
1549
|
-
* `agent-assets/system-prompts/skill-index-instruction.md`. The preamble
|
|
1550
|
-
* is constant per backend (Codex / Gemini) and explains the on-demand
|
|
1551
|
-
* skill-load protocol. Returns a built-in minimal fallback when the asset
|
|
1552
|
-
* is missing so tests that don't seed the system-prompts dir still
|
|
1553
|
-
* produce deterministic output.
|
|
1554
|
-
*/
|
|
1555
|
-
function loadSkillIndexPreamble(workspaceDir) {
|
|
1556
|
-
const path = join(workspaceDir, "agent-assets", "system-prompts", "skill-index-instruction.md");
|
|
1557
|
-
if (existsSync(path)) {
|
|
1558
|
-
return readFileSync(path, "utf-8").trim();
|
|
1559
|
-
}
|
|
1560
|
-
return [
|
|
1561
|
-
"## Skills",
|
|
1562
|
-
"",
|
|
1563
|
-
"Skills are materialised on disk under the per-backend dotfile",
|
|
1564
|
-
"directory. When your task matches an entry in `<skill-index>` below,",
|
|
1565
|
-
"`Read` its `SKILL.md` and follow the contents.",
|
|
1566
|
-
].join("\n");
|
|
1567
|
-
}
|
|
1568
|
-
/**
|
|
1569
|
-
* docs/design/appendices/skills-unification.md Phase 1 §"`<skill-index>` block" — render
|
|
1570
|
-
* the per-slug index from the **materialised** SKILL.md frontmatter on
|
|
1571
|
-
* disk. Walking the destination dir (instead of the source manifest)
|
|
1572
|
-
* keeps the index in sync with what the agent will actually find when
|
|
1573
|
-
* it reads:
|
|
1574
|
-
*
|
|
1575
|
-
* - Same-backend native MCP slugs whose variant resolved to `null` are
|
|
1576
|
-
* correctly omitted (no SKILL.md was written).
|
|
1577
|
-
* - User-authored slugs synced AFTER `writeSkillsDir` (via
|
|
1578
|
-
* `syncAllUserSkills` from the workdir layer) appear automatically
|
|
1579
|
-
* when this is called from the post-sync refresh helper.
|
|
1580
|
-
* - Frontmatter that has gone through curation / mode filter / deny
|
|
1581
|
-
* pass / read-sensitive banner reflects the post-pipeline state.
|
|
1582
|
-
*
|
|
1583
|
-
* The block is emitted with a fixed XML-style envelope so tests can pin
|
|
1584
|
-
* its placement and the splicer in `refreshSkillIndexBlock` can locate
|
|
1585
|
-
* it for in-place rewrites between turns.
|
|
1586
|
-
*
|
|
1587
|
-
* `destSkillsRootRelative` is the on-disk path the agent should Read
|
|
1588
|
-
* (`.codex/skills` or `.gemini/skills`); it gets embedded in the header
|
|
1589
|
-
* sentence verbatim. Built-ins and user-authored slugs are not
|
|
1590
|
-
* distinguished here — see R4.
|
|
1591
|
-
*/
|
|
1592
|
-
/**
|
|
1593
|
-
* docs/design/appendices/skills-unification.md Phase 1 — splice sentinels.
|
|
1594
|
-
*
|
|
1595
|
-
* The visible `<skill-index>` / `</skill-index>` XML-style tags are the
|
|
1596
|
-
* agent-facing contract; they MUST stay in the rendered output for the
|
|
1597
|
-
* preamble's protocol to make sense. But using them as the splicer's
|
|
1598
|
-
* region markers is fragile — any profile body, skill body, or user
|
|
1599
|
-
* prose that quotes the tag verbatim would be misidentified as the
|
|
1600
|
-
* splice region and silently corrupted on `refreshSkillIndexBlock`.
|
|
1601
|
-
*
|
|
1602
|
-
* The sentinels below are unique HTML comments emitted immediately
|
|
1603
|
-
* outside the visible tags. The splicer keys on them instead, so even
|
|
1604
|
-
* a profile that quotes `<skill-index>` cannot collide with the splice
|
|
1605
|
-
* region. Comments render as low-signal tokens to the model and add
|
|
1606
|
-
* ~50 bytes per session — negligible against the ~3 KB block.
|
|
1607
|
-
*/
|
|
1608
|
-
const SKILL_INDEX_START_SENTINEL = "<!-- skill-index:start -->";
|
|
1609
|
-
const SKILL_INDEX_END_SENTINEL = "<!-- skill-index:end -->";
|
|
1610
|
-
export function renderSkillIndexBlock(destSkillsRootAbs, destSkillsRootRelative) {
|
|
1611
|
-
const lines = [
|
|
1612
|
-
SKILL_INDEX_START_SENTINEL,
|
|
1613
|
-
"<skill-index>",
|
|
1614
|
-
`The following skills are materialized at \`${destSkillsRootRelative}/<name>/SKILL.md\`.`,
|
|
1615
|
-
"When your task matches a skill's `description`, `Read` the `SKILL.md`",
|
|
1616
|
-
"to load its guidance and follow it. Skill bodies are NOT inlined in",
|
|
1617
|
-
"this prompt — read them on demand. Multiple skills may be loaded in",
|
|
1618
|
-
"one turn.",
|
|
1619
|
-
"",
|
|
1620
|
-
];
|
|
1621
|
-
let entryCount = 0;
|
|
1622
|
-
if (existsSync(destSkillsRootAbs)) {
|
|
1623
|
-
const slugs = readdirSync(destSkillsRootAbs, { withFileTypes: true })
|
|
1624
|
-
.filter((e) => e.isDirectory())
|
|
1625
|
-
.map((e) => e.name)
|
|
1626
|
-
.sort((a, b) => a.localeCompare(b));
|
|
1627
|
-
for (const slug of slugs) {
|
|
1628
|
-
const skillMdPath = join(destSkillsRootAbs, slug, "SKILL.md");
|
|
1629
|
-
if (!existsSync(skillMdPath))
|
|
1630
|
-
continue;
|
|
1631
|
-
const fm = parseSkillFrontmatter(readFileSync(skillMdPath, "utf-8"));
|
|
1632
|
-
if (!fm.name || !fm.description)
|
|
1633
|
-
continue;
|
|
1634
|
-
lines.push(`- name: ${fm.name}`);
|
|
1635
|
-
lines.push(` description: ${fm.description}`);
|
|
1636
|
-
entryCount++;
|
|
1637
|
-
}
|
|
1638
|
-
}
|
|
1639
|
-
if (entryCount === 0) {
|
|
1640
|
-
lines.push("(No skills materialized this turn — proceed with the runtime profile only.)");
|
|
1641
|
-
}
|
|
1642
|
-
lines.push("</skill-index>", SKILL_INDEX_END_SENTINEL);
|
|
1643
|
-
return lines.join("\n");
|
|
1644
|
-
}
|
|
1645
|
-
/**
|
|
1646
|
-
* docs/design/appendices/skills-unification.md Phase 1 — re-render the `<skill-index>` block
|
|
1647
|
-
* inside an existing instruction file. Called by the workdir layer AFTER
|
|
1648
|
-
* `syncAllUserSkills` so user-authored slugs land in the index alongside
|
|
1649
|
-
* the built-ins (`renderSkillIndexBlock` reads the dest dir on disk, so a
|
|
1650
|
-
* post-sync re-render naturally picks them up).
|
|
1651
|
-
*
|
|
1652
|
-
* No-op when:
|
|
1653
|
-
* - The backend is Claude (no instruction file with `<skill-index>`).
|
|
1654
|
-
* - The instruction file is missing (the session has not been
|
|
1655
|
-
* materialised yet).
|
|
1656
|
-
* - The instruction file carries no `<skill-index>` block (slim
|
|
1657
|
-
* fetch_window sessions, or future backends that opt out).
|
|
1658
|
-
*
|
|
1659
|
-
* Idempotent — re-running with the same dest contents produces an
|
|
1660
|
-
* identical instruction file.
|
|
1661
|
-
*/
|
|
1662
|
-
export function refreshSkillIndexBlock(sessionDir, backendId) {
|
|
1663
|
-
// docs/design/appendices/skills-unification.md Phase 1 §R3 — OpenCode never gets a
|
|
1664
|
-
// `<skill-index>` block. The cwd auto-discovery loader is the source
|
|
1665
|
-
// of truth; emitting an index would inject a second listing the
|
|
1666
|
-
// runtime ignores. Also matters in fallback workdirs where codex and
|
|
1667
|
-
// opencode share AGENTS.md: a stray opencode refresh would clobber
|
|
1668
|
-
// the codex-rendered sentinels with opencode's skill listing.
|
|
1669
|
-
if (backendId === "claude" || backendId === "opencode")
|
|
1670
|
-
return;
|
|
1671
|
-
const cliRoot = cliSkillsDirName(backendId);
|
|
1672
|
-
if (cliRoot === null)
|
|
1673
|
-
return;
|
|
1674
|
-
const destSkillsRootRelative = join(cliRoot, "skills");
|
|
1675
|
-
const destSkillsRootAbs = join(sessionDir, destSkillsRootRelative);
|
|
1676
|
-
const fileName = backendId === "gemini" ? "GEMINI.md" : "AGENTS.md";
|
|
1677
|
-
const instructionPath = join(sessionDir, fileName);
|
|
1678
|
-
if (!existsSync(instructionPath))
|
|
1679
|
-
return;
|
|
1680
|
-
const current = readFileSync(instructionPath, "utf-8");
|
|
1681
|
-
// Splice on the HTML-comment sentinels, NOT on the visible
|
|
1682
|
-
// `<skill-index>` tags — the sentinels are unique enough that a
|
|
1683
|
-
// profile body or user-authored skill that quotes the visible tag
|
|
1684
|
-
// cannot collide with the splice region.
|
|
1685
|
-
const startIdx = current.indexOf(SKILL_INDEX_START_SENTINEL);
|
|
1686
|
-
const endIdx = startIdx >= 0
|
|
1687
|
-
? current.indexOf(SKILL_INDEX_END_SENTINEL, startIdx + SKILL_INDEX_START_SENTINEL.length)
|
|
1688
|
-
: -1;
|
|
1689
|
-
if (startIdx < 0 || endIdx < 0)
|
|
1690
|
-
return; // OpenCode (no index) or slim path
|
|
1691
|
-
const replacement = renderSkillIndexBlock(destSkillsRootAbs, destSkillsRootRelative);
|
|
1692
|
-
const next = current.slice(0, startIdx) +
|
|
1693
|
-
replacement +
|
|
1694
|
-
current.slice(endIdx + SKILL_INDEX_END_SENTINEL.length);
|
|
1695
|
-
if (next !== current) {
|
|
1696
|
-
writeFileSync(instructionPath, next, "utf-8");
|
|
1697
|
-
}
|
|
1698
|
-
}
|
|
1699
|
-
/**
|
|
1700
|
-
* docs/design/appendices/skills-unification.md Phase 1 §R6 — `adaptSkillForCli` (which used
|
|
1701
|
-
* to retain only `name`/`description`/`when_to_use` and strip
|
|
1702
|
-
* `allowed-tools` from CLI-bound copies) is deleted. The source
|
|
1703
|
-
* SKILL.md frontmatter is byte-identical across all backends post-
|
|
1704
|
-
* materialisation. Codex / Gemini tolerate unknown YAML keys; OpenCode's
|
|
1705
|
-
* permissive frontmatter parser does too (verified against
|
|
1706
|
-
* `docs/design/appendices/opencode-backend.md` §5.5). The `when_to_use:` field has been
|
|
1707
|
-
* dropped from every built-in SKILL.md (Phase 0.1 of the sister doc) so
|
|
1708
|
-
* there is no per-backend fork to maintain.
|
|
1709
|
-
*/
|
|
1710
|
-
/**
|
|
1711
|
-
* Resolve `{{> base }}` include directives in a skill/task-flow variant file.
|
|
1712
|
-
* Reads `SKILL.base.md` (or `<key>.base.md` for task flows) from `basePath`
|
|
1713
|
-
* and replaces every occurrence of `{{> base }}` with the base file's content
|
|
1714
|
-
* (frontmatter stripped). A missing or empty base file is silently ignored.
|
|
1715
|
-
*
|
|
1716
|
-
* Only `{{> base }}` is supported — this is intentionally minimal (§4.7
|
|
1717
|
-
* design note: "~40 lines of pure TS").
|
|
1718
|
-
*
|
|
1719
|
-
* @deprecated DELEGATED-PROXY-API-DESIGN.md §11 — after Phase D no in-tree
|
|
1720
|
-
* skill uses `{{> base }}`: mail / external-services unified their bodies
|
|
1721
|
-
* during Phase D, and the lone surviving `notion/SKILL.base.md` was
|
|
1722
|
-
* removed in Phase 9 (its hourly-check read-only constraint moved to
|
|
1723
|
-
* `routine.hourly_check.md` task-flow where the rule applies in every
|
|
1724
|
-
* integration mode, including same-backend delegated where the skill
|
|
1725
|
-
* body is dropped). The helper is retained for future composition needs;
|
|
1726
|
-
* remove the call sites in `materializeClaudeSession` /
|
|
1727
|
-
* `materializeCliSession` when no consumer reappears.
|
|
1728
|
-
*/
|
|
1729
|
-
export function renderPartialIncludes(content, basePath) {
|
|
1730
|
-
if (!content.includes("{{> base }}"))
|
|
1731
|
-
return content;
|
|
1732
|
-
if (!existsSync(basePath))
|
|
1733
|
-
return content.replace(/\{\{> base \}\}/g, "");
|
|
1734
|
-
const baseRaw = readFileSync(basePath, "utf-8");
|
|
1735
|
-
const baseContent = stripFrontmatter(baseRaw).trim();
|
|
1736
|
-
return content.replace(/\{\{> base \}\}/g, baseContent);
|
|
1737
|
-
}
|
|
1738
|
-
/**
|
|
1739
|
-
* Resolve `{{> ref:<name> }}` directives in a skill body by inlining
|
|
1740
|
-
* `references/<name>.md` (frontmatter stripped) from the skill's source dir.
|
|
1741
|
-
*
|
|
1742
|
-
* Mirrors `renderPartialIncludes` but is intra-skill, not cross-skill: each
|
|
1743
|
-
* skill carries its own `references/` dir. Used by progressive-disclosure
|
|
1744
|
-
* skills (planned for `mail`, `roadmap`, `reading`, `user-interview` after
|
|
1745
|
-
* Phase 2-B) so heavy reference tables can live next to the skill body
|
|
1746
|
-
* without bloating the navigation overview.
|
|
1747
|
-
*
|
|
1748
|
-
* Behaviour:
|
|
1749
|
-
* - Missing `references/<name>.md` → directive replaced with empty string;
|
|
1750
|
-
* logged at WARN. (Mirrors the deprecated helper's missing-base behaviour.)
|
|
1751
|
-
* - The directive matches `{{> ref:<name> }}` with the strict-kebab name
|
|
1752
|
-
* pattern `[a-z][a-z0-9-]*`. Path-traversal (`../`, leading underscore,
|
|
1753
|
-
* uppercase) is rejected at the regex level — `existsSync` is never
|
|
1754
|
-
* consulted for invalid names.
|
|
1755
|
-
* - Multiple occurrences each inline the same file's content (re-read per
|
|
1756
|
-
* occurrence — pinned by the unit tests so a later caching refactor must
|
|
1757
|
-
* surface as a deliberate change).
|
|
1758
|
-
* - Frontmatter on the reference file (if present) is stripped before
|
|
1759
|
-
* inline, so reference files can carry `---\nkind: reference\n---`
|
|
1760
|
-
* headers for tooling without leaking YAML into skill bodies.
|
|
1761
|
-
* - The resolver is NOT fence-aware; a directive inside a triple-backtick
|
|
1762
|
-
* fence is still expanded. This matches `renderPartialIncludes` and is
|
|
1763
|
-
* deliberate for v1 — fence-aware resolution would be a separate refactor.
|
|
1764
|
-
*
|
|
1765
|
-
* Phase 2-A ships compiler-only; no in-tree skill carries a directive yet
|
|
1766
|
-
* (`skills-manifest.test.ts` pins `0` as the lockstep count). Phase 2-B
|
|
1767
|
-
* starts emitting them per the migration map in `SKILLS-PHASE-2-PLAN.md`.
|
|
1768
|
-
*/
|
|
1769
|
-
export function renderReferenceIncludes(content, skillSrcDir) {
|
|
1770
|
-
return content.replace(/\{\{> ref:([a-z][a-z0-9-]*) \}\}/g, (_match, name) => {
|
|
1771
|
-
const refPath = join(skillSrcDir, "references", `${name}.md`);
|
|
1772
|
-
if (!existsSync(refPath)) {
|
|
1773
|
-
logger.warn({ skillSrcDir, name }, "renderReferenceIncludes: missing reference file");
|
|
1774
|
-
return "";
|
|
1775
|
-
}
|
|
1776
|
-
return stripFrontmatter(readFileSync(refPath, "utf-8")).trim();
|
|
1777
|
-
});
|
|
1778
|
-
}
|
|
1779
|
-
/**
|
|
1780
|
-
* §7.7 — apply the per-integration tool-deny policy to a delegated skill
|
|
1781
|
-
* body. Two enforcement modes:
|
|
1782
|
-
*
|
|
1783
|
-
* - **Claude (hard enforcement):** parse the YAML frontmatter and remove
|
|
1784
|
-
* every `allowed-tools` entry whose unsuffixed name (after the
|
|
1785
|
-
* descriptor's `toolNamespace`) is in `deniedTools`. The Claude Agent
|
|
1786
|
-
* SDK refuses to invoke any tool not present in `allowed-tools`, so
|
|
1787
|
-
* this is hard enforcement at the SDK boundary.
|
|
1788
|
-
*
|
|
1789
|
-
* - **Codex / Gemini (soft enforcement):** append a "Denied tools (do
|
|
1790
|
-
* not invoke)" prose block at the end of the skill body listing the
|
|
1791
|
-
* full namespaced tool names. The CLI surfaces have no per-tool deny
|
|
1792
|
-
* mechanism comparable to Claude's `allowed-tools`; the prose is the
|
|
1793
|
-
* only guard. Documented soft-enforcement gap.
|
|
1794
|
-
*
|
|
1795
|
-
* Stale entries (a deniedTools name that doesn't match any tool in the
|
|
1796
|
-
* active backend's `capabilityTools`) are silently ignored — the API
|
|
1797
|
-
* already rejects them at PATCH time, but a delegatedBackend swap can
|
|
1798
|
-
* leave Claude-namespaced names in a list now active for Codex.
|
|
1799
|
-
*
|
|
1800
|
-
* Run AFTER `renderPartialIncludes` and `stripUnconfiguredServices` so
|
|
1801
|
-
* partial includes and service-section gating land first.
|
|
1802
|
-
*/
|
|
1803
|
-
export function applyDeniedTools(content, integrationKey, backendId, deniedTools) {
|
|
1804
|
-
if (deniedTools.length === 0)
|
|
1805
|
-
return content;
|
|
1806
|
-
const descriptor = INTEGRATION_DESCRIPTORS[integrationKey];
|
|
1807
|
-
const connector = descriptor.backendConnectors[backendId];
|
|
1808
|
-
if (!connector)
|
|
1809
|
-
return content;
|
|
1810
|
-
const { active } = filterDeniedToolsForBackend(integrationKey, backendId, deniedTools);
|
|
1811
|
-
if (active.length === 0)
|
|
1812
|
-
return content;
|
|
1813
|
-
const namespacedDenied = active.map((t) => `${connector.toolNamespace}${t}`);
|
|
1814
|
-
if (backendId === "claude") {
|
|
1815
|
-
return filterClaudeAllowedTools(content, new Set(namespacedDenied));
|
|
1816
|
-
}
|
|
1817
|
-
return appendCliDenyBlock(content, namespacedDenied);
|
|
1818
|
-
}
|
|
1819
|
-
/**
|
|
1820
|
-
* Strip every `allowed-tools` frontmatter entry whose name appears in
|
|
1821
|
-
* `deniedSet`. Preserves frontmatter ordering, line breaks, and any other
|
|
1822
|
-
* fields. Tolerates two YAML shapes:
|
|
1823
|
-
*
|
|
1824
|
-
* allowed-tools:
|
|
1825
|
-
* - name1
|
|
1826
|
-
* - name2
|
|
1827
|
-
*
|
|
1828
|
-
* allowed-tools: [name1, name2]
|
|
1829
|
-
*
|
|
1830
|
-
* The first form is what every skill in `agent-assets/skills/` uses today;
|
|
1831
|
-
* the inline form is supported because it's valid YAML and the API + UI
|
|
1832
|
-
* have no way to prevent a hand-edited skill from using it.
|
|
1833
|
-
*/
|
|
1834
|
-
function filterClaudeAllowedTools(content, deniedSet) {
|
|
1835
|
-
if (!content.startsWith("---"))
|
|
1836
|
-
return content;
|
|
1837
|
-
const endIdx = content.indexOf("\n---", 3);
|
|
1838
|
-
if (endIdx < 0)
|
|
1839
|
-
return content;
|
|
1840
|
-
const frontmatter = content.slice(4, endIdx);
|
|
1841
|
-
const body = content.slice(endIdx + 4);
|
|
1842
|
-
const lines = frontmatter.split("\n");
|
|
1843
|
-
const out = [];
|
|
1844
|
-
let inAllowedTools = false;
|
|
1845
|
-
for (const line of lines) {
|
|
1846
|
-
if (/^allowed-tools:\s*\[/.test(line)) {
|
|
1847
|
-
// Inline-array form: parse, filter, re-emit on one line.
|
|
1848
|
-
const m = /^(allowed-tools:\s*)\[([^\]]*)\]/.exec(line);
|
|
1849
|
-
if (m) {
|
|
1850
|
-
const items = m[2]
|
|
1851
|
-
.split(",")
|
|
1852
|
-
.map((s) => s.trim().replace(/^["']|["']$/g, ""))
|
|
1853
|
-
.filter((s) => s.length > 0 && !deniedSet.has(s));
|
|
1854
|
-
out.push(`${m[1]}[${items.join(", ")}]`);
|
|
1855
|
-
continue;
|
|
1856
|
-
}
|
|
1857
|
-
}
|
|
1858
|
-
if (/^allowed-tools:\s*$/.test(line)) {
|
|
1859
|
-
inAllowedTools = true;
|
|
1860
|
-
out.push(line);
|
|
1861
|
-
continue;
|
|
1862
|
-
}
|
|
1863
|
-
if (inAllowedTools) {
|
|
1864
|
-
// Block-list form continuation. A block-list item is ` - <name>`;
|
|
1865
|
-
// anything else (next top-level key, blank, or end of frontmatter)
|
|
1866
|
-
// ends the section.
|
|
1867
|
-
const itemMatch = /^\s*-\s*(.+?)\s*$/.exec(line);
|
|
1868
|
-
if (itemMatch) {
|
|
1869
|
-
const name = itemMatch[1].replace(/^["']|["']$/g, "");
|
|
1870
|
-
if (!deniedSet.has(name))
|
|
1871
|
-
out.push(line);
|
|
1872
|
-
continue;
|
|
1873
|
-
}
|
|
1874
|
-
// Anything else closes the block.
|
|
1875
|
-
inAllowedTools = false;
|
|
1876
|
-
}
|
|
1877
|
-
out.push(line);
|
|
1878
|
-
}
|
|
1879
|
-
return `---\n${out.join("\n")}\n---${body}`;
|
|
1880
|
-
}
|
|
1881
|
-
/**
|
|
1882
|
-
* DELEGATED-MODE-V2-DESIGN.md §4.3.3-§4.3.4 — render a top-level prose
|
|
1883
|
-
* deny block listing every same-backend integration tool the user has
|
|
1884
|
-
* denied. Returns `null` when no integration is in same-backend mode for
|
|
1885
|
-
* this backend or the deny lists are empty.
|
|
1886
|
-
*
|
|
1887
|
-
* Codex (γ outcome): this prose is the ONLY enforcement surface — the
|
|
1888
|
-
* Codex CLI's connector apps have no admin-policy or per-tool deny config.
|
|
1889
|
-
* The agent profile (`AGENTS.md`) inlines this block above the behavioral
|
|
1890
|
-
* rules so it is impossible to miss.
|
|
1891
|
-
*
|
|
1892
|
-
* Gemini: duplicate intent — admin-policy already hard-denies these tools
|
|
1893
|
-
* (§4.3.3 hard enforcement), but echoing the deny in prose saves tokens
|
|
1894
|
-
* the model would otherwise spend drafting a doomed call.
|
|
1895
|
-
*/
|
|
1896
|
-
export function buildSameBackendDenyBlock(integrations, sessionBackend) {
|
|
1897
|
-
const map = collectSessionDeniedTools(integrations, sessionBackend);
|
|
1898
|
-
if (map.size === 0)
|
|
1899
|
-
return null;
|
|
1900
|
-
const lines = [
|
|
1901
|
-
"## Denied tools (per-integration)",
|
|
1902
|
-
"",
|
|
1903
|
-
"The user has restricted the following connector tools for this session.",
|
|
1904
|
-
"Do NOT invoke them in any flow — including hourly check, morning routine,",
|
|
1905
|
-
"or DM responses. If a workflow appears to require one, stop and tell the",
|
|
1906
|
-
"user the tool is denied.",
|
|
1907
|
-
];
|
|
1908
|
-
for (const [key, names] of map.entries()) {
|
|
1909
|
-
lines.push("", `### ${key}`, "");
|
|
1910
|
-
for (const n of names)
|
|
1911
|
-
lines.push(`- \`${n}\``);
|
|
1912
|
-
}
|
|
1913
|
-
return lines.join("\n");
|
|
1914
|
-
}
|
|
1915
|
-
/**
|
|
1916
|
-
* Append a soft-enforcement deny block to a CLI skill body. The block is
|
|
1917
|
-
* idempotent — re-running with the same denied set produces identical
|
|
1918
|
-
* output.
|
|
1919
|
-
*/
|
|
1920
|
-
function appendCliDenyBlock(content, namespacedDenied) {
|
|
1921
|
-
// Strip any prior deny block we wrote, so re-materialization with a
|
|
1922
|
-
// changed list doesn't accumulate stale ones. The block starts with
|
|
1923
|
-
// `\n## Denied tools (do not invoke)` (one preceding newline, the join
|
|
1924
|
-
// contributes the second) and runs until either the next `## ` heading
|
|
1925
|
-
// or end of file.
|
|
1926
|
-
const stripped = content.replace(/\n+## Denied tools \(do not invoke\)[\s\S]*?(?=\n## (?!Denied tools)|$)/, "");
|
|
1927
|
-
const items = namespacedDenied.map((n) => `- \`${n}\``).join("\n");
|
|
1928
|
-
// Two leading empty strings → block begins with "\n\n## " so the heading
|
|
1929
|
-
// sits on its own paragraph (markdown convention) regardless of what
|
|
1930
|
-
// trailing whitespace the body carried.
|
|
1931
|
-
const block = [
|
|
1932
|
-
"",
|
|
1933
|
-
"",
|
|
1934
|
-
"## Denied tools (do not invoke)",
|
|
1935
|
-
"",
|
|
1936
|
-
"The user has restricted these connector tools for this integration. Do",
|
|
1937
|
-
"NOT invoke them in any flow — including hourly check, morning routine,",
|
|
1938
|
-
"or DM responses. If a workflow appears to require one, stop and tell",
|
|
1939
|
-
"the user the tool is denied.",
|
|
1940
|
-
"",
|
|
1941
|
-
items,
|
|
1942
|
-
"",
|
|
1943
|
-
].join("\n");
|
|
1944
|
-
return stripped.replace(/\s*$/, "") + block;
|
|
1945
|
-
}
|
|
1946
|
-
/**
|
|
1947
|
-
* Apply the deny pass for every integration whose `skillsTouched` OR
|
|
1948
|
-
* `deniedToolsAppliesToSkills` includes the given skill slug. A skill that
|
|
1949
|
-
* touches no integration leaves content unchanged. Touching multiple
|
|
1950
|
-
* integrations runs the pass once per integration so each contributes its
|
|
1951
|
-
* own deny list.
|
|
1952
|
-
*
|
|
1953
|
-
* Hard enforcement of the same deny list for cross-backend delegated
|
|
1954
|
-
* calls lives at the `POST /api/integrations/:key/exec` task-mode
|
|
1955
|
-
* chokepoint (DELEGATED-MODE-V2-DESIGN.md §4.3.2; the legacy `/invoke`
|
|
1956
|
-
* RPC was retired 2026-05-01). For same-backend native MCP it is
|
|
1957
|
-
* enforced via SDK `disallowedTools` (Claude) / admin policy (Gemini);
|
|
1958
|
-
* see `collectSessionDeniedTools` (§4.3.3).
|
|
1959
|
-
*/
|
|
1960
|
-
export function applyAllDeniedToolsForSkill(content, skillSlug, backendId, integrations) {
|
|
1961
|
-
let result = content;
|
|
1962
|
-
for (const key of INTEGRATION_KEYS) {
|
|
1963
|
-
const descriptor = INTEGRATION_DESCRIPTORS[key];
|
|
1964
|
-
const touched = descriptor.skillsTouched.includes(skillSlug)
|
|
1965
|
-
|| (descriptor.deniedToolsAppliesToSkills?.includes(skillSlug) ?? false);
|
|
1966
|
-
if (!touched)
|
|
1967
|
-
continue;
|
|
1968
|
-
const state = integrations[key];
|
|
1969
|
-
if (!state)
|
|
1970
|
-
continue;
|
|
1971
|
-
if (state.mode !== "delegated")
|
|
1972
|
-
continue;
|
|
1973
|
-
if (!state.delegatedBackend || state.delegatedBackend !== backendId)
|
|
1974
|
-
continue;
|
|
1975
|
-
const denied = state.deniedTools ?? [];
|
|
1976
|
-
if (denied.length === 0)
|
|
1977
|
-
continue;
|
|
1978
|
-
result = applyDeniedTools(result, key, backendId, denied);
|
|
1979
|
-
}
|
|
1980
|
-
return result;
|
|
1981
|
-
}
|
|
1982
|
-
/**
|
|
1983
|
-
* Remove any built-in skill directory under `destRoot` whose slug is not
|
|
1984
|
-
* in `keep`. Recognises a directory as a built-in by its presence under
|
|
1985
|
-
* the source `agent-assets/skills/` tree — anything else (user-authored
|
|
1986
|
-
* skill, accounts.md, etc.) is left alone, since `syncAllUserSkills` is
|
|
1987
|
-
* the canonical writer for those.
|
|
1988
|
-
*
|
|
1989
|
-
* Idempotent and side-effect-free when there is nothing to prune.
|
|
1990
|
-
* Exported for unit testing only.
|
|
1991
|
-
*/
|
|
1992
|
-
export function pruneStaleBuiltinSkillDirs(destRoot, sourceSkillsRoot, keep) {
|
|
1993
|
-
if (!existsSync(destRoot))
|
|
1994
|
-
return;
|
|
1995
|
-
if (!existsSync(sourceSkillsRoot))
|
|
1996
|
-
return;
|
|
1997
|
-
const keepSet = new Set(keep);
|
|
1998
|
-
// `listBuiltinSlugs` recurses one level into category subdirs (e.g.
|
|
1999
|
-
// WIKI_BUILDER_DESIGN.md §9.1 `wiki/`) so wiki slugs are recognised
|
|
2000
|
-
// as built-ins for prune purposes even though their source dir is
|
|
2001
|
-
// nested. Destination layout stays flat — `<destRoot>/<slug>/` for
|
|
2002
|
-
// every slug regardless of source category.
|
|
2003
|
-
const builtinSlugs = new Set(listBuiltinSlugs(sourceSkillsRoot));
|
|
2004
|
-
for (const entry of readdirSync(destRoot, { withFileTypes: true })) {
|
|
2005
|
-
if (!entry.isDirectory())
|
|
2006
|
-
continue;
|
|
2007
|
-
if (!builtinSlugs.has(entry.name))
|
|
2008
|
-
continue;
|
|
2009
|
-
if (keepSet.has(entry.name))
|
|
2010
|
-
continue;
|
|
2011
|
-
rmSync(join(destRoot, entry.name), { recursive: true, force: true });
|
|
2012
|
-
}
|
|
2013
|
-
}
|
|
2014
|
-
function readTreeFiles(root) {
|
|
2015
|
-
if (!existsSync(root)) {
|
|
2016
|
-
return [];
|
|
2017
|
-
}
|
|
2018
|
-
const files = [];
|
|
2019
|
-
for (const relPath of walkTree(root)) {
|
|
2020
|
-
const absPath = join(root, relPath);
|
|
2021
|
-
const stat = statSync(absPath);
|
|
2022
|
-
files.push({
|
|
2023
|
-
path: relPath,
|
|
2024
|
-
content: readFileSync(absPath, "utf-8"),
|
|
2025
|
-
updatedAt: stat.mtime.toISOString(),
|
|
2026
|
-
});
|
|
2027
|
-
}
|
|
2028
|
-
return files;
|
|
2029
|
-
}
|
|
2030
|
-
function walkTree(root, current = root) {
|
|
2031
|
-
if (!existsSync(current)) {
|
|
2032
|
-
return [];
|
|
2033
|
-
}
|
|
2034
|
-
const entries = readdirSync(current, { withFileTypes: true });
|
|
2035
|
-
const files = [];
|
|
2036
|
-
for (const entry of entries) {
|
|
2037
|
-
const absPath = join(current, entry.name);
|
|
2038
|
-
if (entry.isDirectory()) {
|
|
2039
|
-
files.push(...walkTree(root, absPath));
|
|
2040
|
-
continue;
|
|
2041
|
-
}
|
|
2042
|
-
files.push(relative(root, absPath));
|
|
2043
|
-
}
|
|
2044
|
-
return files.sort();
|
|
2045
|
-
}
|
|
2046
|
-
//# sourceMappingURL=skills-compiler.js.map
|