{
  // Host aggregate (one of the two check units; see tsconfig.json). packages/client
  // type-checks in tsconfig.client.json: the two sides merge cordis Context under
  // the same keys, one program cannot see both.
  "extends": "./tsconfig.base.json",
  "compilerOptions": {
    "noEmit": true,
    "rewriteRelativeImportExtensions": false
  },
  "include": [
    "apps/web/tests/scaffold.ts",
    "apps/web/tests/support.ts",
    "apps/web/tests/scaffold-hermetic.e2e.ts",
    "apps/web/tests/core-web-profile.snapshot.ts",
    "apps/web/tests/live-interactions.e2e.ts",
    "apps/web/tests/question-composer.e2e.ts",
    "apps/web/tests/approval-composer.e2e.ts",
    "apps/web/tests/plan-review.e2e.ts",
    "apps/web/tests/steering.e2e.ts",
    "apps/web/tests/navigation-panes.e2e.ts",
    "apps/web/tests/chat-scroll-fixture.ts",
    "apps/web/tests/trajectory-virtualization.e2e.ts",
    "apps/web/tests/lifecycle-chrome.e2e.ts",
    "apps/web/tests/details-session-lifecycle.e2e.ts",
    "apps/web/tests/settings-chrome.e2e.ts",
    "apps/web/tests/models-settings.e2e.ts",
    "apps/web/tests/onboarding-deepseek-config.e2e.ts",
    "apps/web/tests/remote-welcome.e2e.ts",
    "apps/web/tests/workspace-management.e2e.ts",
    "apps/web/tests/replay-round-trip.e2e.ts",
    "apps/web/tests/hmr-live.e2e.ts",
    "apps/web/tests/seeded-history.e2e.ts",
    "apps/web/tests/sidebar-scrollbar.e2e.ts",
    "apps/web/tests/code-mode-round.e2e.ts",
    "apps/web/tests/composer-draft-scroll.e2e.ts",
    "apps/web/tests/cordis-tool-round.e2e.ts",
    "apps/web/tests/web-search-round.e2e.ts",
    "apps/web/tests/message-actions.e2e.ts",
    "apps/web/tests/markdown-images.e2e.ts",
    "apps/web/tests/math-rendering.e2e.ts",
    "apps/web/tests/queue-actions.e2e.ts",
    "apps/web/tests/skill-invocation-policy.e2e.ts",
    "apps/web/tests/permission-policy-context.e2e.ts",
    "apps/web/tests/access-confirmation.e2e.ts",
    "apps/web/tests/shipped-composition.e2e.ts",
    "apps/web/tests/goal-bar.e2e.ts",
    "apps/web/tests/startup-auto-selection.e2e.ts",
    "apps/web/tests/subagent-conversation.e2e.ts",
    "apps/web/tests/bash-abort-row.e2e.ts",
    "apps/web/tests/chat-scroll-fixture.ts",
    "apps/web/tests/chat-scroll-contract.e2e.ts",
    "apps/web/tests/chat-long-interactions.e2e.ts",
    "apps/web/tests/chat-continuous-conversation.e2e.ts",
    "apps/web/tests/composer-tab-geometry.e2e.ts",
    "apps/web/tests/complex-history.perf.ts",
    "apps/web/tests/pwsh-terminal.e2e.ts",
    "apps/web/stress-tests/reasoning-chunks.stress.ts",
    "apps/cli/tests/**/*.ts",
    "examples/*/src/**/*.ts",
    "examples/*/start.ts",
    "examples/*/tests/**/*.ts",
    "packages/*/*/tests/**/*.ts",
    "scripts/**/*.ts",
    "website/**/*.ts",
    "website/.vitepress/**/*.ts"
  ],
  "exclude": [
    "packages/client/**",
    "packages/host/directory-picker-browse/**",
    "packages/host/directory-picker-native/**",
    "scripts/client-bundle-css.spec.ts",
    "packages/typert/generator/tests/fixtures/**",
    "scripts/client-bundle-purity.spec.ts"
  ],
  "references": [
    { "path": "./vendor/cosmokit" },
    { "path": "./vendor/schemastery" },
    { "path": "./vendor/cordis" },
    { "path": "./vendor/loader" },
    { "path": "./vendor/include" },
    { "path": "./vendor/group" },
    { "path": "./vendor/timer" },
    { "path": "./vendor/hmr" },
    { "path": "./vendor/logger-console" },
    { "path": "./packages/util/brand" },
    { "path": "./packages/util/native-command" },
    { "path": "./packages/util/paths" },
    { "path": "./packages/util/timeout" },
    { "path": "./packages/util/retention" },
    { "path": "./packages/util/atomic-write" },
    { "path": "./packages/llm/llm" },
    { "path": "./packages/llm/token-meter" },
    { "path": "./packages/core/session" },
    { "path": "./packages/core/scope" },
    { "path": "./packages/typert/registry" },
    { "path": "./packages/typert/loader" },
    { "path": "./packages/session-persistence/session-persistence" },
    { "path": "./packages/session-persistence/session-checkpoint-policy" },
    { "path": "./packages/session-persistence/session-persistence-jsonl" },
    { "path": "./packages/session-persistence/session-persistence-sqlite" },
    { "path": "./packages/session-projection/session-projection" },
    { "path": "./packages/session-projection/session-projection-cache" },
    { "path": "./packages/session-query/session-query" },
    { "path": "./packages/session-query/session-query-sqlite" },
    { "path": "./packages/settings/settings" },
    { "path": "./packages/settings/settings-local" },
    { "path": "./packages/credentials/credentials" },
    { "path": "./packages/credentials/credentials-local" },
    { "path": "./packages/session-query/tool-session-query" },
    { "path": "./packages/storage/storage" },
    { "path": "./packages/storage/storage-json" },
    { "path": "./packages/storage/storage-sqlite" },
    { "path": "./packages/storage/storage-domain" },
    { "path": "./packages/workspace/workspace" },
    { "path": "./packages/session-title/session-title" },
    { "path": "./packages/session-title/session-title-llm" },
    { "path": "./packages/session-title/session-title-first-message-llm" },
    { "path": "./packages/session-title/session-title-all-messages-llm" },
    { "path": "./packages/telemetry/session-telemetry" },
    { "path": "./packages/telemetry/session-telemetry-otel" },
    { "path": "./packages/core/system-prompt" },
    { "path": "./packages/core/agent" },
    { "path": "./packages/ui/commands" },
    { "path": "./packages/goal/goal" },
    { "path": "./packages/goal/tool-goal" },
    { "path": "./packages/goal/goal-session" },
    { "path": "./packages/goal/command-goal" },
    { "path": "./packages/context/time-context" },
    { "path": "./packages/context/tmux-context" },
    { "path": "./packages/context/session-reference" },
    { "path": "./packages/ui/user-interaction" },
    { "path": "./packages/ui/user-approval" },
    { "path": "./packages/ui/permission" },
    { "path": "./packages/core/tools" },
    { "path": "./packages/skill/skill" },
    { "path": "./packages/skill/skill-local" },
    { "path": "./packages/skill/tool-skill" },
    { "path": "./packages/ui/tool-ask-user" },
    { "path": "./packages/context/workspace-context" },
    { "path": "./packages/core/agent-loop" },
    { "path": "./packages/llm/llm-retry" },
    { "path": "./packages/examples/agent-spine-demo" },
    { "path": "./packages/examples/cli-demo" },
    { "path": "./packages/subprocess/subprocess" },
    { "path": "./packages/subprocess/subprocess-local" },
    { "path": "./packages/bash/bash" },
    { "path": "./packages/pty/pty" },
    { "path": "./packages/pty/pty-local" },
    { "path": "./packages/pty/tool-bash-persistent" },
    { "path": "./packages/pty/tool-pty" },
    { "path": "./packages/code-runtime/code-runtime" },
    { "path": "./packages/code-runtime/code-runtime-worker" },
    { "path": "./packages/llm/llm-deepseek" },
    { "path": "./packages/llm/llm-pi-ai" },
    { "path": "./packages/bash/bash-local" },
    { "path": "./packages/bash/bash-env" },
    { "path": "./packages/bash/pwsh-local" },
    { "path": "./packages/bash/tool-pwsh" },
    { "path": "./packages/sandbox/sandbox" },
    { "path": "./packages/sandbox/sandbox-local" },
    { "path": "./packages/sandbox/sandbox-policy" },
    { "path": "./packages/bash/bash-sandbox" },
    { "path": "./packages/bash/tool-bash" },
    { "path": "./packages/fs/fs" },
    { "path": "./packages/fs/fs-local" },
    { "path": "./packages/fs/fs-policy" },
    { "path": "./packages/fs/fs-sandbox" },
    { "path": "./packages/fs/tool-fs" },
    { "path": "./packages/fs/tool-fs-search" },
    { "path": "./packages/fs/tool-str-replace-editor" },
    { "path": "./packages/compact/compact" },
    { "path": "./packages/compact/compact-basic" },
    { "path": "./packages/compact/command-compact" },
    { "path": "./packages/compact/compact-tool-result-prune" },
    { "path": "./packages/web/web" },
    { "path": "./packages/web/web-search-exa" },
    { "path": "./packages/web/web-search-perplexity" },
    { "path": "./packages/web/web-search-deepseek" },
    { "path": "./packages/web/web-fetch-local" },
    { "path": "./packages/web/tool-web" },
    { "path": "./packages/spill/spill" },
    { "path": "./packages/spill/spill-local" },
    { "path": "./packages/spill/spill-policy" },
    { "path": "./packages/timeout/timeout-policy" },
    { "path": "./packages/support/invariants" },
    { "path": "./packages/support/agent-loop-testkit" },
    { "path": "./packages/acp/acp" },
    { "path": "./packages/examples/acp-demo" },
    { "path": "./packages/ui/app-boot" },
    { "path": "./packages/ui/jsonrpc" },
    { "path": "./packages/examples/jsonrpc-demo" },
    { "path": "./packages/support/llm-replay" },
    { "path": "./packages/typert/generator" },
    { "path": "./packages/support/acp-snapshot" },
    { "path": "./packages/support/loader-smoke" },
    { "path": "./packages/support/llm-mock-server" },
    { "path": "./packages/subagent/subagent" },
    { "path": "./packages/subagent/tool-subagent" },
    { "path": "./packages/subagent/tool-subagent-control" },
    { "path": "./packages/subagent/tool-subagent-report" },
    { "path": "./packages/subagent/subagent-inprocess" },
    { "path": "./packages/subagent/subagent-spawn" },
    { "path": "./packages/subagent/subagent-fork" },
    { "path": "./packages/subagent/subagent-acp" },
    { "path": "./packages/subagent/subagent-dsh-sdk" },
    { "path": "./packages/tasks/tasks" },
    { "path": "./packages/tasks/tasks-local" },
    { "path": "./packages/tasks/tool-tasks" },
    { "path": "./packages/workflow/workflow" },
    { "path": "./packages/workflow/workflow-workerthread" },
    { "path": "./packages/workflow/tool-workflow" },
    { "path": "./packages/workflow/tool-ralph" },
    { "path": "./packages/todo/tool-todo" },
    { "path": "./packages/plan/plan-mode" },
    { "path": "./packages/guard/repeat-tool-guard" },
    { "path": "./packages/cordis/tool-cordis" },
    { "path": "./packages/cordis/repository-plugin" },
    { "path": "./packages/hooks/hook-protocol" },
    { "path": "./packages/hooks/hooks-claude" },
    { "path": "./packages/hooks/hooks-codex" },
    { "path": "./packages/mcp/mcp-client" },
    { "path": "./packages/host/apiproxy" },
    { "path": "./packages/host/directory-picker" },
    { "path": "./packages/host/directory-picker-auto" },
    // Dual-face backend leaves stay client-registered (their tests and client
    // halves are excluded above); these references only let the adaptive
    // chooser's composition test import each backend's NODE entry, whose
    // declarations carry no client-side Context merge — the mirror of the
    // client aggregate's webserver reference.
    { "path": "./packages/host/directory-picker-browse" },
    { "path": "./packages/host/directory-picker-native" },
    { "path": "./packages/host/webserver" },
    { "path": "./packages/sdk/sdk-client" },
    { "path": "./packages/sdk/helper" },
    { "path": "./packages/sdk/sdk-protocol" },
    { "path": "./packages/sdk/scripts" },
    { "path": "./packages/sdk/create-sdk" },
    { "path": "./packages/sdk/telemetry" },
    { "path": "./packages/lsp/lsp" },
    { "path": "./packages/lsp/lsp-local" },
    { "path": "./packages/lsp/tool-lsp" },
    { "path": "./apps/cli" }
  ]
}
