{
  // Client-side typecheck aggregate: packages/client tests (.ts and .tsx).
  // Split from the host aggregate because both sides merge cordis Context
  // under the same keys (sessions, loader) with different services; shared
  // leaves (session/llm/tools/apiproxy/...) build once and are referenced by
  // both programs through each client package's own references.
  "extends": "./tsconfig.base.client.json",
  "compilerOptions": {
    "noEmit": true,
    "rewriteRelativeImportExtensions": false,
    // Tests execute under vitest on node (e2e files spawn processes); browser
    // purity of package src is each package's own tsconfig plus
    // scripts/client-bundle-purity.spec.ts.
    "types": ["node"]
  },
  "include": [
    "packages/client/*/tests/**/*.ts",
    "packages/client/*/tests/**/*.tsx",
    "packages/client/tsdown.client.ts",
    "scripts/client-bundle-purity.spec.ts"
  ],
  "references": [
    // Shared leaf: web e2e boots the real host webserver (fixture + real-host
    // smoke policy). webserver has zero workspace deps and no cordis merge,
    // so it cannot drag host-side Context augmentation into this program.
    { "path": "./packages/host/webserver" },
    { "path": "./packages/client/ui-slots" },
    { "path": "./packages/client/ui-primitives" },
    { "path": "./packages/client/web-react" },
    { "path": "./packages/client/modules" },
    { "path": "./packages/client/hmr" },
    { "path": "./packages/client/connection" },
    { "path": "./packages/client/runtime" },
    { "path": "./packages/client/ui-layout" },
    { "path": "./packages/client/ui-sidebar" },
    { "path": "./packages/client/ui-conversation" },
    { "path": "./packages/client/ui-workspace" },
    { "path": "./packages/client/ui-slash" },
    { "path": "./packages/client/ui-command" },
    { "path": "./packages/client/ui-skill" },
    { "path": "./packages/client/ui-subagent" },
    { "path": "./packages/client/ui-question" },
    { "path": "./packages/client/ui-trajectory" },
    { "path": "./packages/client/ui-theme" },
    { "path": "./packages/client/ui-settings" },
    { "path": "./packages/client/ui-settings-general" },
    { "path": "./packages/client/ui-models" },
    { "path": "./packages/client/locale" },
    { "path": "./packages/client/web" },
    { "path": "./apps/web" }
  ]
}
