Replace the surface-ordered fold with a log-ordered human transcript: append-origin surface events at their own log positions plus one marker per landed compaction checkpoint. Command folding, the tool-call index, and the rev-keyed memo carry over unchanged. Removes foldDegraded, the padding sentinels, baseSeq, and degradedSeqs() -- they existed only to satisfy the core fold's seq === index assertion. That also closes the pagination hole A1 exposed: a page can carry a checkpoint whose shadowed range fell outside the window, and nothing resolves surfaceOp.start anymore.
76 lines
3.7 KiB
JSON
76 lines
3.7 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": [
|
|
// 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/client/*/tests/**/*.ts",
|
|
"packages/client/*/tests/**/*.tsx",
|
|
"packages/host/directory-picker-browse/tests/**/*.ts",
|
|
"packages/host/directory-picker-browse/tests/**/*.tsx",
|
|
"packages/host/directory-picker-native/tests/**/*.ts",
|
|
"packages/host/directory-picker-native/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" },
|
|
// Dual-face host leaf: the node half is the native picking backend, the
|
|
// browser half registers the picking flow into ui-workspace's slot —
|
|
// client-side Context merges keep it out of the host program.
|
|
{ "path": "./packages/host/directory-picker-native" },
|
|
{ "path": "./packages/host/directory-picker-browse" },
|
|
// Test-only leaf: the client-runtime drift trap for the compaction
|
|
// checkpoint source reads the seam's canonical const. It may appear HERE
|
|
// but never in a packages/client/* package project — dsh-compact's root
|
|
// reaches dsh-session's root, whose Context merge declares the host
|
|
// `sessions: SessionStore` and collides with the client's `ISessions`.
|
|
{ "path": "./packages/compact/compact" },
|
|
{ "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/test-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-goal" },
|
|
{ "path": "./packages/client/ui-model" },
|
|
{ "path": "./packages/client/ui-permission" },
|
|
{ "path": "./packages/client/ui-plan" },
|
|
{ "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" }
|
|
]
|
|
}
|