Sessions could be archived from the sidebar row menu but never restored: the registry-global archive set was a one-way display filter with no inverse RPC and no surface listing its members. WorkspaceRegistry.unarchiveSession drops one id from archivedSessionIds in one durable write on the same operation chain as archive, with no session-existence probe because a removal cannot introduce an unknown referent. The Workspace controller exposes it as workspace.unarchiveSession returning the complete archive set, which the existing archived follow increment already propagates, so no frame type and no persisted field changes. The new client package dsh-client-ui-settings-unarchive-sessions owns the restore surface: one localized settings.section page listing the archive set joined with loaded session summaries, newest archive first, searchable by title or workspace, with one Unarchive action per row.
141 lines
4.7 KiB
JSON
141 lines
4.7 KiB
JSON
{
|
|
"extends": "../../tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"rootDir": ".",
|
|
"outDir": "lib/types",
|
|
"jsx": "react-jsx",
|
|
"lib": [
|
|
"ES2024",
|
|
"DOM",
|
|
"DOM.Iterable"
|
|
],
|
|
"types": [
|
|
"node"
|
|
]
|
|
},
|
|
"include": [
|
|
"src",
|
|
"tests"
|
|
],
|
|
// The web e2e lane (scaffold + replay specs) boots the host spine and reads
|
|
// its Context merges — host-plane programs, checked in tsconfig.host.json;
|
|
// this client-registered project must not also hold them (one program
|
|
// cannot see both sides of the cordis Context merges).
|
|
"exclude": [
|
|
"tests/default-product-isolation.e2e.ts",
|
|
"tests/scaffold.ts",
|
|
"tests/auto-review-fixture.ts",
|
|
"tests/scaffold-generation.spec.ts",
|
|
"tests/scaffold-hermetic.e2e.ts",
|
|
"tests/startup-rpc-budget.e2e.ts",
|
|
"tests/minimal-preset.snapshot.ts",
|
|
"tests/message-feedback-protocol.snapshot.ts",
|
|
"tests/preset-migration.snapshot.ts",
|
|
"tests/live-interactions.e2e.ts",
|
|
"tests/question-composer.e2e.ts",
|
|
"tests/approval-composer.e2e.ts",
|
|
"tests/ptc-escalation.e2e.ts",
|
|
"tests/plan-control-row.e2e.ts",
|
|
"tests/plan-review.e2e.ts",
|
|
"tests/steering.e2e.ts",
|
|
"tests/navigation-panes.e2e.ts",
|
|
"tests/chat-scroll-fixture.ts",
|
|
"tests/trajectory-virtualization.e2e.ts",
|
|
"tests/lifecycle-chrome.e2e.ts",
|
|
"tests/details-session-lifecycle.e2e.ts",
|
|
"tests/document-preview.e2e.ts",
|
|
"tests/plugin-config.e2e.ts",
|
|
"tests/settings-chrome.e2e.ts",
|
|
"tests/models-settings.e2e.ts",
|
|
"tests/deepseek-messages-settings.e2e.ts",
|
|
"tests/deepseek-messages-chat.e2e.ts",
|
|
"tests/models-settings-recovery.e2e.ts",
|
|
"tests/default-model.e2e.ts",
|
|
"tests/github-ready-review.e2e.ts",
|
|
"tests/streaming-fence-highlight.e2e.ts",
|
|
"tests/declared-reasoning.e2e.ts",
|
|
"tests/onboarding-deepseek-config.e2e.ts",
|
|
"tests/onboarding-usable-provider.e2e.ts",
|
|
"tests/remote-welcome.e2e.ts",
|
|
"tests/workspace-new-session-folding.e2e.ts",
|
|
"tests/workspace-management.e2e.ts",
|
|
"tests/workspace-recency.e2e.ts",
|
|
"tests/session-unarchive.e2e.ts",
|
|
"tests/replay-round-trip.e2e.ts",
|
|
"tests/hmr-live.e2e.ts",
|
|
"tests/preview-boot.e2e.ts",
|
|
"tests/seeded-history.e2e.ts",
|
|
"tests/stats-paged-history.e2e.ts",
|
|
"tests/sidebar-scrollbar.e2e.ts",
|
|
"tests/rail-search-expand.e2e.ts",
|
|
"tests/conversation-column-overflow.e2e.ts",
|
|
"tests/ptc-round.e2e.ts",
|
|
"tests/present.e2e.ts",
|
|
"tests/present-svg.e2e.ts",
|
|
"tests/composer-draft-scroll.e2e.ts",
|
|
"tests/composer-placeholder.e2e.ts",
|
|
"tests/cordis-tool-round.e2e.ts",
|
|
"tests/web-search-round.e2e.ts",
|
|
"tests/file-upload-round.e2e.ts",
|
|
"tests/message-actions.e2e.ts",
|
|
"tests/open-in-app-ssh.e2e.ts",
|
|
"tests/message-feedback.e2e.ts",
|
|
"tests/markdown-images.e2e.ts",
|
|
"tests/reference-composer.e2e.ts",
|
|
"tests/markdown-wide-table.e2e.ts",
|
|
"tests/math-rendering.e2e.ts",
|
|
"tests/markdown-cjk-strong.e2e.ts",
|
|
"tests/markdown-inline-code-links.e2e.ts",
|
|
"tests/clickable-links-gallery.e2e.ts",
|
|
"tests/queue-actions.e2e.ts",
|
|
"tests/queue-image.e2e.ts",
|
|
"tests/skill-invocation-policy.e2e.ts",
|
|
"tests/skill-user-invoke.e2e.ts",
|
|
"tests/permission-policy-context.e2e.ts",
|
|
"tests/access-confirmation.e2e.ts",
|
|
"tests/agent-preset-selection.e2e.ts",
|
|
"tests/agent-preset-authoring.e2e.ts",
|
|
"tests/shipped-composition.e2e.ts",
|
|
"tests/schedule-after.e2e.ts",
|
|
"tests/feedback-command.e2e.ts",
|
|
"tests/feedback-release.e2e.ts",
|
|
"tests/agent-team-panel.e2e.ts",
|
|
"tests/sidebar-right.e2e.ts",
|
|
"tests/startup-auto-selection.e2e.ts",
|
|
"tests/produced-files.e2e.ts",
|
|
"tests/produced-file-mentions.e2e.ts",
|
|
"tests/goal-bar.e2e.ts",
|
|
"tests/goal-command-presentation.e2e.ts",
|
|
"tests/subagent-conversation.e2e.ts",
|
|
"tests/subagent-interrupt.e2e.ts",
|
|
"tests/subagent-interrupt-ui.e2e.ts",
|
|
"tests/sidebar-subagent-activity.e2e.ts",
|
|
"tests/background-job-list.e2e.ts",
|
|
"tests/auto-review-denial.e2e.ts",
|
|
"tests/bash-abort-row.e2e.ts",
|
|
"tests/skill-tool-row.e2e.ts",
|
|
"tests/turn-tail-actions.e2e.ts",
|
|
"tests/goal-multi-turn-actions.e2e.ts",
|
|
"tests/chat-scroll-fixture.ts",
|
|
"tests/chat-scroll-contract.e2e.ts",
|
|
"tests/chat-long-interactions.e2e.ts",
|
|
"tests/chat-continuous-conversation.e2e.ts",
|
|
"tests/composer-tab-geometry.e2e.ts",
|
|
"tests/complex-history.perf.ts",
|
|
"tests/pwsh-terminal.e2e.ts",
|
|
"tests/workflow-run.e2e.ts"
|
|
],
|
|
"references": [
|
|
{ "path": "../../packages/experimental/auto-review" },
|
|
{
|
|
"path": "../../packages/client/store"
|
|
},
|
|
{
|
|
"path": "../../packages/client/web"
|
|
},
|
|
{
|
|
"path": "../../packages/client/modules"
|
|
}
|
|
]
|
|
}
|