The web YAML editor is gone. agentPreset.write (arbitrary composition
text) became agentPreset.copy { from, agentPreset, name? }: a host-side
whole-directory copy of ids the host resolves itself — symlinks
dereferenced, modes re-tightened to owner-only with owner-execute kept,
metadata rewritten to keep the source's description but never its name or
roster order. No composition text or path crosses the wire in either
authoring direction, and the entryListSchema/!!js concern dissolves with
assertComposition itself.
The settings section becomes: a read-only viewer over shipped
compositions, a copy dialog (id + optional display name) as the only
create entry, delete for custom rows, and a location action leading into
the preset's own files — agentPreset.openDocument { agentPreset } resolves
the directory host-side and opens it natively, or answers
{ opened: false, path } for the row to show as text where the deployment
has no desktop. agentPreset.list reports hasDocument beside authorable;
the gateway's nativeOpen config pins the capability where
canOpenNativePath platform detection would mislead. The privileged set is
now read/copy/openDocument/remove.
With files as the only composition editor, standing mounts grew
stamp-keyed generations: ensureStanding compares the composition file's
mtime+size and starts the next generation for later sessions, while every
joined session keeps the generation it runs on.
New keyless web lane (agent-preset-authoring, overlay pins
nativeOpen: false so goldens render one branch on every platform) drives
view/copy/reveal/delete end to end; the real-composition CLI e2e switches
to copy semantics.
269 lines
12 KiB
JSON
269 lines
12 KiB
JSON
{
|
|
// 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/default-model.e2e.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/conversation-column-overflow.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/markdown-cjk-strong.e2e.ts",
|
|
"apps/web/tests/markdown-inline-code-links.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/agent-preset-selection.e2e.ts",
|
|
"apps/web/tests/agent-preset-authoring.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/produced-files.e2e.ts",
|
|
"apps/web/tests/subagent-conversation.e2e.ts",
|
|
"apps/web/tests/bash-abort-row.e2e.ts",
|
|
"apps/web/tests/skill-tool-row.e2e.ts",
|
|
"apps/web/tests/turn-tail-actions.e2e.ts",
|
|
"apps/web/tests/goal-multi-turn-actions.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/environment" },
|
|
{ "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/type-meta" },
|
|
{ "path": "./packages/typert/registry" },
|
|
{ "path": "./packages/api/gateway" },
|
|
{ "path": "./packages/api/remotes/tsconfig.host.json" },
|
|
{ "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/feedback/command-feedback" },
|
|
{ "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/core/agent-tool-mode" },
|
|
{ "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/bundle/base" },
|
|
{ "path": "./packages/bundle/headless" },
|
|
{ "path": "./packages/bundle/web-app" },
|
|
{ "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-claude-code" },
|
|
{ "path": "./packages/subagent/subagent-codex" },
|
|
{ "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/preset/agent-presets" },
|
|
{ "path": "./packages/preset/persona" },
|
|
{ "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/frontend-static" },
|
|
{ "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" }
|
|
]
|
|
}
|