Files
vscode/src/vs/sessions
0fc8be8db5 Cache Agent Host session list metadata (#331040)
* sessions: Cache Agent Host session metadata

Persist pull request metadata and aggregate change counts so cached Agent Host sessions render complete list rows before the first live refresh.

(Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: Clear cached change summaries

Handle explicit change-summary clears so stale aggregate counts are not persisted and restored.

(Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: Preserve summary clears over the wire

Represent aggregate change-summary clears with an additive protocol marker and cover both transport serialization and metadata-only cache persistence.

(Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: Keep cache change protocol-neutral

Remove the locally invented summary-clear wire marker while retaining isolated coverage for change-stat and metadata-only cache persistence.

(Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-15 21:53:58 +00:00
..

Agents Window documentation

vs/sessions implements the Agents Window as a top-level layer above vs/workbench. This directory contains both the implementation and the durable design specifications that describe its boundaries.

Documentation ownership

Each contract has one authoritative home:

  • This file indexes the subsystem and its design documents.
  • Focused specifications describe stable architecture and product invariants.
  • Tests define concrete behavior and regressions.
  • .github/skills/sessions/SKILL.md owns the basic development principles, their maintenance policy, and routing to the relevant specification.
  • .github/learnings/sessions.md is a temporary inbox for reusable feedback that has not yet been promoted.
  • Git history, issues, and pull requests preserve implementation chronology and rejected approaches.

Do not duplicate detailed guidance across these artifacts. Concise routing summaries may restate enough of a rule to identify its owning specification, which remains authoritative.

Architecture specifications

Area Authoritative document
Internal layer hierarchy and import rules LAYERS.md
Session/chat model, services, provider contract, and core data flow SESSIONS.md
Workbench parts, grid, title bar, and editor presentation LAYOUT.md
Session-aware layout capture and restoration LAYOUT_CONTROLLER.md
Single-pane behavior scenarios SINGLE_PANE_SCENARIOS.md
Sessions sidebar list SESSIONS_LIST.md
Phone layout and mobile components MOBILE.md
AI customizations AI_CUSTOMIZATIONS.md
Copilot customizations copilot-customizations-spec.md
Copilot Chat provider COPILOT_CHAT_SESSIONS_PROVIDER.md
Agent Host provider AGENT_HOST_SESSIONS_PROVIDER.md
Remote Agent Host provider REMOTE_AGENT_HOST_SESSIONS_PROVIDER.md

Structural boundaries

  • vs/sessions may import from vs/workbench and lower layers. vs/workbench must not import from vs/sessions.
  • Core browser and common code lives under browser/ and common/.
  • Shared Sessions services live under services/.
  • Features live under contrib/<feature>/.
  • Providers live under contrib/providers/<provider>/.
  • Non-provider contributions must not import provider implementations.
  • Contributions must be imported by the appropriate sessions.*.main.ts entry point to load.

See LAYERS.md for the enforced import graph.

Updating documentation

Update a specification when a change modifies the architecture or a durable contract it describes. Keep implementation walkthroughs, incident narratives, and transient fixes out of specifications; represent concrete behavior with tests and preserve historical rationale in the associated issue or pull request.