Files
deepseek-harness/tsconfig.client.json
T
mektpoy ddd9cbc243 chore(build): split the liveshare protocol compiler faces
The package carried one Host-based tsconfig that both aggregates registered, so the browser carrier
was compiled under the Host face while the wire codecs that use Buffer were compiled under the same
config. It now follows the repository's double-face template: a solution-only package root, a Host
leaf (wire codecs, identity contract, shared vocabulary, and the root barrel that re-exports the
carrier), and a browser leaf for the viewer carrier and the pure types it shares. The two repository
aggregates register the matching leaf, and the carrier stays in the Host file list because the root
barrel re-exports it for the Relay's script generation.

The tsdown comment now states the two compiler faces and why only the Host face publishes runtime
modules.
2026-10-23 16:13:23 +08:00

172 lines
9.0 KiB
JSON

{
// Client-side typecheck aggregate: packages/client tests and top-level Client benchmarks.
// 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/...) 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": [
// The native/renderer keyboard fixture imports only these Cordis-free Desktop modules.
"apps/desktop/tests/keyboard.spec.ts",
"apps/desktop/src/keyboard.ts",
"apps/desktop/src/keybindings.ts",
"apps/desktop/src/browser-guests.ts",
"apps/desktop/src/ipc.ts",
"apps/desktop/src/update-overlay.ts",
"apps/desktop/src/windows-layout.ts",
"apps/desktop/tests/**/*.client.spec.tsx",
// Source-subpath test imports can arrive through workspace links whose
// realpath semantics vary by host. Load package CSS declarations directly.
"packages/client/*/src/css-modules.d.ts",
"packages/experimental/*/src/css-modules.d.ts",
"packages/client/*/tests/**/*.ts",
"packages/client/*/tests/**/*.tsx",
"benchmarks/**/*.client.ts",
"benchmarks/**/*.client.tsx",
"benchmarks/support/**/*.ts",
"packages/*/*/tests/**/*.client.spec.ts",
"packages/*/*/tests/**/*.client.spec.tsx",
"packages/*/*/tests/**/*.client.tsx",
"packages/*/*/tests/**/*.client.ts",
// Client package outside packages/client with a local CSS module face.
"packages/extensions/ui-cordis/src/css-modules.d.ts",
"packages/client/tsdown.client.ts",
"scripts/client-build-environment.ts",
"scripts/shipped-locales.ts",
"scripts/bundle-input-isolation.ts",
"scripts/experimental-package-policy.ts",
"scripts/*.client.spec.ts",
"scripts/client-bundle-css.spec.ts",
"scripts/client-bundle-purity.spec.ts"
],
// Host unit tests (`*.host.spec.ts`), e2e tests (`*.host.e2e.ts`), and fixtures
// (`*.host.ts`) belong to the host aggregate, which excludes `*.client.*`
// in turn. `exclude` wins over `include`, so the test glob above stays broad.
"exclude": [
"packages/client/*/tests/**/*.host.spec.ts",
"packages/client/*/tests/**/*.host.e2e.ts",
"packages/client/*/tests/**/*.host.ts"
],
"references": [
{ "path": "./packages/experimental/client-ui-action-cards" },
{ "path": "./packages/experimental/client-ui-creation-recommendations" },
{ "path": "./packages/experimental/client-ui-plugin-recommendations" },
{ "path": "./packages/client/ui-file-drag" },
{ "path": "./packages/session/message-quotes" },
{ "path": "./packages/experimental/client-ui-cot-translation/tsconfig.client.json" },
{ "path": "./packages/client/product-analytics/tsconfig.client.json" },
{ "path": "./apps/desktop/tsconfig.client.json" },
{ "path": "./packages/util/atomic-write" },
{ "path": "./packages/experimental/client-ui-voice-input" },
{ "path": "./packages/experimental/client-ui-claude-code-mods" },
{ "path": "./packages/client/ui-sidebar-terminal" },
{ "path": "./packages/api/terminal-controller/tsconfig.client.json" },
// Producer-to-UI spill tests use the ptc-runtime contract with the real tool registry.
{ "path": "./packages/ptc-runtime/ptc-runtime" },
{ "path": "./packages/core/tool-executor-native" },
{ "path": "./packages/core/tool-executor-ptc" },
{ "path": "./packages/client/ui-settings-account" },
// 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" },
// Compaction seam: ui-chat type-imports the canonical checkpoint contract
// from the cordis-free dsh-compaction/checkpoint leaf. Composite rootDir
// rules make that path depend on this project reference.
{ "path": "./packages/compaction/compaction" },
{ "path": "./packages/client/store" },
{ "path": "./packages/client/ui-slots" },
{ "path": "./packages/client/ui-attachment" },
{ "path": "./packages/client/ui-primitives" },
{ "path": "./packages/client/modules" },
{ "path": "./packages/experimental/inspector/tsconfig.client.json" },
{ "path": "./packages/experimental/liveshare-protocol/tsconfig.client.json" },
{ "path": "./packages/experimental/session-inspector" },
{ "path": "./packages/client/hmr" },
{ "path": "./packages/client/connection/tsconfig.client.json" },
{ "path": "./packages/client/file-upload/tsconfig.client.json" },
{ "path": "./packages/typert/registry" },
{ "path": "./packages/api/gateway/tsconfig.client.json" },
{ "path": "./packages/api/session-controller/tsconfig.client.json" },
{ "path": "./packages/api/remote-access/tsconfig.client.json" },
{ "path": "./packages/api/workspace-controller/tsconfig.client.json" },
{ "path": "./packages/api/remotes/tsconfig.client.json" },
{ "path": "./packages/extensions/cordis-client-runner" },
{ "path": "./packages/extensions/ui-cordis" },
{ "path": "./packages/test-support/client-runtime" },
{ "path": "./packages/test-support/remote-mock" },
{ "path": "./packages/test-support/tool-testkit" },
{ "path": "./packages/client/shortcuts/tsconfig.client.json" },
{ "path": "./packages/client/ui-shortcuts" },
{ "path": "./packages/client/ui-layout" },
{ "path": "./packages/client/ui-sidebar" },
{ "path": "./packages/client/ui-brand-official" },
{ "path": "./packages/client/ui-approval" },
{ "path": "./packages/client/ui-chat/tsconfig.client.json" },
{ "path": "./packages/client/ui-conversation/tsconfig.client.json" },
{ "path": "./packages/client/ui-tool" },
{ "path": "./packages/client/ui-deliverables/tsconfig.client.json" },
{ "path": "./packages/client/ui-workflow-run" },
{ "path": "./packages/client/ui-workspace" },
{ "path": "./packages/client/ui-input-trigger" },
{ "path": "./packages/client/ui-commands" },
{ "path": "./packages/client/ui-skill" },
{ "path": "./packages/client/ui-reference" },
{ "path": "./packages/client/ui-secret-mask" },
{ "path": "./packages/client/ui-subagent" },
{ "path": "./packages/experimental/client-ui-agent-team" },
{ "path": "./packages/client/ui-dockkit" },
{ "path": "./packages/client/ui-sidebar-right" },
{ "path": "./packages/client/ui-entry-customization" },
{ "path": "./packages/client/ui-sidebar-documentpreview/tsconfig.client.json" },
{ "path": "./packages/client/ui-sidebar-browser/tsconfig.client.json" },
{ "path": "./packages/client/ui-sidebar-files" },
{ "path": "./packages/client/ui-jobs" },
{ "path": "./packages/client/ui-schedule" },
{ "path": "./packages/client/ui-directory-picker-browse" },
{ "path": "./packages/client/ui-directory-picker-native" },
{ "path": "./packages/client/ui-goal" },
{ "path": "./packages/client/ui-message-feedback" },
{ "path": "./packages/client/ui-model-selection" },
{ "path": "./packages/client/ui-deepseek-model-label-1017" },
{ "path": "./packages/client/ui-agent-preset" },
{ "path": "./packages/client/ui-permission-presets" },
{ "path": "./packages/client/ui-plan" },
{ "path": "./packages/client/ui-settings-plugins" },
{ "path": "./packages/client/ui-settings-shell" },
{ "path": "./packages/client/ui-settings-agent-loop" },
{ "path": "./packages/experimental/cua/tsconfig.client.json" },
{ "path": "./packages/client/ui-settings-session-log" },
{ "path": "./packages/client/ui-settings-subagent" },
{ "path": "./packages/client/ui-settings-web-search" },
{ "path": "./packages/client/ui-user-questions" },
{ "path": "./packages/client/ui-trajectory" },
{ "path": "./packages/session-query/session-log-export/tsconfig.client.json" },
{ "path": "./packages/client/ui-open-in-app" },
{ "path": "./packages/client/ui-theme/tsconfig.client.json" },
{ "path": "./packages/client/ui-settings/tsconfig.client.json" },
{ "path": "./packages/client/ui-settings-general/tsconfig.client.json" },
{ "path": "./packages/client/ui-settings-models" },
{ "path": "./packages/client/ui-plugin-manager/tsconfig.client.json" },
{ "path": "./packages/client/ui-plugin-market" },
{ "path": "./packages/client/ui-settings-plugin-inventory" },
{ "path": "./packages/client/locale/tsconfig.client.json" },
{ "path": "./packages/client/ui-renderer" },
{ "path": "./packages/client/ui-session" },
{ "path": "./packages/client/resources" },
{ "path": "./packages/api/workspace-files/tsconfig.client.json" },
{ "path": "./packages/client/web" },
{ "path": "./packages/context/file-reference" },
{ "path": "./apps/web" }
]
}