Settings collaboration direction (recorded in the note): the shell only provides composition faces — feature plugins register themselves. The General section moves into the ui-settings shell (order 0, skeleton rows) and declares the settings.general.item list slot; locale registers the Language row and ui-theme the Appearance row (each with its own store mirror, dictionaries, and ledger-judged deferral); the ui-settings-general package is gone. ui-settings-models becomes ui-models — a feature package that contributes its Settings section rather than a settings-owned satellite. The item-slot SlotMap entry is authored in the ui-settings contract and repeated verbatim in locale/ui-theme (reference-cycle avoidance; declaration merging keeps the copies identical).
48 lines
2.0 KiB
JSON
48 lines
2.0 KiB
JSON
{
|
|
// 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-question" },
|
|
{ "path": "./packages/client/ui-trajectory" },
|
|
{ "path": "./packages/client/ui-theme" },
|
|
{ "path": "./packages/client/ui-settings" },
|
|
{ "path": "./packages/client/ui-models" },
|
|
{ "path": "./packages/client/locale" },
|
|
{ "path": "./packages/client/web" },
|
|
{ "path": "./apps/web" }
|
|
]
|
|
}
|