You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .agents/skills/launch/SKILL.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -111,19 +111,19 @@ agent-browser snapshot -i
111
111
- Code OSS uses the default user data directory. Unlike VS Code Insiders, you don't typically need `--user-data-dir` since there's usually only one Code OSS instance running.
112
112
- If you see "Sent env to running instance. Terminating..." it means Code OSS is already running and forwarded your args to the existing instance. Quit Code OSS and relaunch with the flag, or use `--user-data-dir=/tmp/code-oss-debug` to force a new instance.
113
113
114
-
## Launching the Sessions App (Agent Sessions Window)
114
+
## Launching the Agents App (Agents Window)
115
115
116
-
The Sessions app is a separate workbench mode launched with the `--sessions` flag. It uses a dedicated user data directory to avoid conflicts with the main Code OSS instance.
116
+
The Agents app is a separate workbench mode launched with the `--agents` flag. It uses a dedicated user data directory to avoid conflicts with the main Code OSS instance.
description: Specialist in developing the Agent Sessions Window
2
+
name: Agents Window Developer
3
+
description: Specialist in developing the Agents Window
4
4
---
5
5
6
6
# Role and Objective
7
7
8
-
You are a developer working on the 'sessions window'. Your goal is to make changes to the sessions window (`src/vs/sessions`), minimally editing outside of that directory.
8
+
You are a developer working on the 'agents window'. Your goal is to make changes to the agents window (`src/vs/sessions`), minimally editing outside of that directory.
9
9
10
10
# Instructions
11
11
12
12
1.**Always read the `sessions` skill first.** This is your primary source of truth for the sessions architecture.
13
13
- Invoke `skill: "sessions"`.
14
14
2. Focus your work on `src/vs/sessions/`.
15
-
3. Avoid making changes to core VS Code files (`src/vs/workbench/`, `src/vs/platform/`, etc.) unless absolutely necessary for the sessions window functionality.
15
+
3. Avoid making changes to core VS Code files (`src/vs/workbench/`, `src/vs/platform/`, etc.) unless absolutely necessary for the agents window functionality.
Copy file name to clipboardExpand all lines: .github/instructions/sessions.instructions.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
---
2
-
description: Architecture documentation for the Agent Sessions window — a sessions-first app built as a new top-level layer alongside vs/workbench. Covers layout, parts, chat widget, contributions, entry points, and development guidelines. Use when working in `src/vs/sessions`
2
+
description: Architecture documentation for the Agents window — an agents-first app built as a new top-level layer alongside vs/workbench. Covers layout, parts, chat widget, contributions, entry points, and development guidelines. Use when working in `src/vs/sessions`
3
3
applyTo: src/vs/sessions/**
4
4
---
5
5
6
-
# Agent Sessions Window
6
+
# Agents Window
7
7
8
-
The Agent Sessions window is a **standalone application** built as a new top-level layer (`vs/sessions`) in the VS Code architecture. It provides a sessions-first experience optimized for agent workflows — a simplified, fixed-layout workbench where chat is the primary interaction surface and editors appear as modal overlays.
8
+
The Agents window is a **standalone application** built as a new top-level layer (`vs/sessions`) in the VS Code architecture. It provides an agents-first experience optimized for agent workflows — a simplified, fixed-layout workbench where chat is the primary interaction surface and editors appear as modal overlays.
9
9
10
10
When working on files under `src/vs/sessions/`, use these skills for detailed guidance:
Copy file name to clipboardExpand all lines: .github/skills/add-policy/SKILL.md
+49-2Lines changed: 49 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -124,15 +124,62 @@ npm run compile-check-ts-native
124
124
Regenerate the auto-generated policy catalog:
125
125
126
126
```bash
127
-
npm run transpile-client && ./scripts/code.sh --export-policy-data
127
+
npm run export-policy-data
128
128
```
129
129
130
+
This script handles transpilation, sets up `GITHUB_TOKEN` (via `gh` CLI or GitHub OAuth device flow), and runs `--export-policy-data`. The export command reads extension configuration policies from the distro's `product.json` via the GitHub API and merges them into the output.
131
+
130
132
This updates `build/lib/policies/policyData.jsonc`. **Never edit this file manually.** Verify your new policy appears in the output. You will need code review from a codeowner to merge the change to main.
131
133
132
134
133
135
## Policy for extension-provided settings
134
136
135
-
For an extension author to provide policies for their extension's settings, a change must be made in `vscode-distro` to the `product.json`.
137
+
Extension authors cannot add `policy:` fields directly—their settings are defined in the extension's `package.json`, not in VS Code core. Instead, policies for extension settings are defined in `vscode-distro`'s `product.json` under the `extensionConfigurationPolicy` key.
138
+
139
+
### How it works
140
+
141
+
1.**Source of truth**: The `extensionConfigurationPolicy` map lives in `vscode-distro` under `mixin/{quality}/product.json` (stable, insider, exploration).
142
+
2.**Runtime**: When VS Code starts with a distro-mixed `product.json`, `configurationExtensionPoint.ts` reads `extensionConfigurationPolicy` and attaches matching `policy` objects to extension-contributed configuration properties.
143
+
3.**Export/build**: The `--export-policy-data` command fetches the distro's `product.json` at the commit pinned in `package.json` and merges extension policies into the output. Use `npm run export-policy-data` which sets up authentication automatically.
144
+
145
+
### Distro format
146
+
147
+
Each entry in `extensionConfigurationPolicy` must include:
148
+
149
+
```json
150
+
"extensionConfigurationPolicy": {
151
+
"publisher.extension.settingName": {
152
+
"name": "PolicyName",
153
+
"category": "InteractiveSession",
154
+
"minimumVersion": "1.99",
155
+
"description": "Human-readable description."
156
+
}
157
+
}
158
+
```
159
+
160
+
-`name`: PascalCase policy name, unique across all policies
161
+
-`category`: Must be a valid `PolicyCategory` enum value (e.g., `InteractiveSession`, `Extensions`)
162
+
-`minimumVersion`: The VS Code version that first shipped this policy
163
+
-`description`: Human-readable description string used to generate localization key/value pairs for ADMX/ADML/macOS/Linux policy artifacts
164
+
165
+
### Adding a new extension policy
166
+
167
+
1. Add the entry to `extensionConfigurationPolicy` in **all three** quality `product.json` files in `vscode-distro` (`mixin/stable/`, `mixin/insider/`, `mixin/exploration/`)
168
+
2. Update the `distro` commit hash in `package.json` to point to the distro commit that includes your new entry — the export command fetches extension policies from the pinned distro commit
169
+
3. Regenerate `policyData.jsonc` by running `npm run export-policy-data` (see Step 4 above)
170
+
4. Update the test fixture at `src/vs/workbench/contrib/policyExport/test/node/extensionPolicyFixture.json` with the new entry
171
+
172
+
### Test fixtures
173
+
174
+
The file `src/vs/workbench/contrib/policyExport/test/node/extensionPolicyFixture.json` is a test fixture that must stay in sync with the extension policies in the checked-in `policyData.jsonc`. When extension policies are added or changed in the distro, this fixture must be updated to match — otherwise the integration test will fail because the test output (generated from the fixture) won't match the checked-in file (generated from the real distro).
Copy file name to clipboardExpand all lines: .github/skills/agent-sessions-layout/SKILL.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
---
2
2
name: agent-sessions-layout
3
-
description: Agent Sessions workbench layout — covers the fixed layout structure, grid configuration, part visibility, editor modal, titlebar, sidebar footer, and implementation requirements. Use when implementing features or fixing issues in the Agent Sessions workbench layout.
3
+
description: Agents workbench layout — covers the fixed layout structure, grid configuration, part visibility, editor modal, titlebar, sidebar footer, and implementation requirements. Use when implementing features or fixing issues in the Agents workbench layout.
4
4
---
5
5
6
-
When working on the Agent Sessions workbench layout, always follow these guidelines:
6
+
When working on the Agents workbench layout, always follow these guidelines:
7
7
8
8
## 1. Read the Specification First
9
9
10
-
The authoritative specification for the Agent Sessions layout lives at:
10
+
The authoritative specification for the Agents layout lives at:
11
11
12
12
**`src/vs/sessions/LAYOUT.md`**
13
13
@@ -55,7 +55,7 @@ When proposing or implementing changes, follow these rules from the spec:
Copy file name to clipboardExpand all lines: .github/skills/sessions/SKILL.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
---
2
2
name: sessions
3
-
description: Agent Sessions window architecture — covers the sessions-first app, layering, folder structure, chat widget, menus, contributions, entry points, and development guidelines. Use when implementing features or fixing issues in the Agent Sessions window.
3
+
description: Agents window architecture — covers the agents-first app, layering, folder structure, chat widget, menus, contributions, entry points, and development guidelines. Use when implementing features or fixing issues in the Agents window.
4
4
---
5
5
6
-
When working on the Agent Sessions window (`src/vs/sessions/`), always follow these guidelines:
6
+
When working on the Agents window (`src/vs/sessions/`), always follow these guidelines:
| Navigation | Activity bar with viewlets | Sidebar (views) + sidebar footer (account) |
52
52
| Entry point |`vs/workbench` workbench class |`vs/sessions/browser/workbench.ts``Workbench` class |
53
53
@@ -154,7 +154,7 @@ The main editor part is hidden (`display:none`). All editors open via `MODAL_GRO
154
154
155
155
## 5. Chat Widget
156
156
157
-
The Agent Sessions chat experience is built around `AgentSessionsChatWidget` — a wrapper around the core `ChatWidget` that adds:
157
+
The Agents chat experience is built around `AgentSessionsChatWidget` — a wrapper around the core `ChatWidget` that adds:
158
158
159
159
-**Deferred session creation** — the UI is interactive before any session resource exists; sessions are created on first message send
160
160
-**Target configuration** — observable state tracking which agent provider (Local, Cloud) is selected
@@ -172,17 +172,17 @@ Read `browser/widget/AGENTS_CHAT_WIDGET.md` for the full architecture.
172
172
173
173
## 6. Menus
174
174
175
-
The agent sessions window uses **its own menu IDs** defined in `browser/menus.ts` via the `Menus` export. **Never use shared `MenuId.*` constants** from `vs/platform/actions` for agent sessions UI — use the `Menus.*` equivalents instead.
175
+
The agents window uses **its own menu IDs** defined in `browser/menus.ts` via the `Menus` export. **Never use shared `MenuId.*` constants** from `vs/platform/actions` for agents window UI — use the `Menus.*` equivalents instead.
176
176
177
177
| Menu ID | Purpose |
178
178
|---------|---------|
179
179
|`Menus.ChatBarTitle`| Chat bar title actions |
180
-
|`Menus.CommandCenter`| Center toolbar with session picker widget |
180
+
|`Menus.CommandCenter`| Center toolbar with agent picker widget |
181
181
|`Menus.CommandCenterCenter`| Center section of command center |
182
182
|`Menus.TitleBarContext`| Titlebar context menu |
183
183
|`Menus.TitleBarLeftLayout`| Left layout toolbar |
184
-
|`Menus.TitleBarSessionTitle`|Session title in titlebar |
185
-
|`Menus.TitleBarSessionMenu`|Session menu in titlebar |
184
+
|`Menus.TitleBarSessionTitle`|Agent title in titlebar |
185
+
|`Menus.TitleBarSessionMenu`|Agent menu in titlebar |
186
186
|`Menus.TitleBarRightLayout`| Right layout toolbar |
187
187
|`Menus.PanelTitle`| Panel title bar actions |
188
188
|`Menus.SidebarTitle`| Sidebar title bar actions |
@@ -201,7 +201,7 @@ Defined in `common/contextkeys.ts`:
201
201
|`activeChatBar`|`string`| ID of the active chat bar panel |
202
202
|`chatBarFocus`|`boolean`| Whether chat bar has keyboard focus |
203
203
|`chatBarVisible`|`boolean`| Whether chat bar is visible |
204
-
|`sessionsWelcomeVisible`|`boolean`| Whether the sessions welcome overlay is visible |
204
+
|`sessionsWelcomeVisible`|`boolean`| Whether the agents welcome overlay is visible |
205
205
## 8. Contributions
206
206
207
207
Feature contributions live under `contrib/<featureName>/browser/` and are registered via imports in `sessions.desktop.main.ts` (desktop) or `sessions.common.main.ts` (browser-compatible).
@@ -210,8 +210,8 @@ Feature contributions live under `contrib/<featureName>/browser/` and are regist
210
210
211
211
| Contribution | Location | Purpose |
212
212
|-------------|----------|---------|
213
-
|**Sessions View**|`contrib/sessions/browser/`|Sessions list in sidebar, session picker, active session service |
214
-
|**Title Bar Widget**|`contrib/sessions/browser/sessionsTitleBarWidget.ts`|Session picker in titlebar center |
213
+
|**Sessions View**|`contrib/sessions/browser/`|Agents list in sidebar, agent picker, active session service |
214
+
|**Title Bar Widget**|`contrib/sessions/browser/sessionsTitleBarWidget.ts`|Agent picker in titlebar center |
215
215
|**Account Widget**|`contrib/accountMenu/browser/`| Account button in sidebar footer |
-`IPromptsService` → `AgenticPromptsService` (scopes prompt discovery to active session worktree)
@@ -241,7 +241,7 @@ Service overrides also live under `services/`:
241
241
242
242
### 8.3 `WindowVisibility.Sessions`
243
243
244
-
Views and contributions that should only appear in the agent sessions window (not in regular VS Code) use `WindowVisibility.Sessions` in their registration.
244
+
Views and contributions that should only appear in the agents window (not in regular VS Code) use `WindowVisibility.Sessions` in their registration.
0 commit comments