automations: add customization selection and save progress - #339176
Open
Connor Peet (connor4312) wants to merge 3 commits into
Open
Connor Peet (connor4312) wants to merge 3 commits into
Connor Peet (connor4312) wants to merge 3 commits into
Conversation
Contributor
📬 CODENOTIFYThe following users are being notified based on files changed in this PR: Ulugbek Abdullaev (@ulugbekna)Matched files:
Ben Villalobos (@benvillalobos)Matched files:
|
Adds a way to select the customizations that an automation syncs, and shows progress while the agent host syncs them. - Adds an "Advanced" section to the automation dialog with a checkbox list of customizations. A saved customization that changed locally shows an "Outdated" pill. Saving the automation updates it. - Keeps the automation dialog open while the agent host saves the change. Shows a progress bar and a status, and shows errors in the dialog. - Adds getCustomizationChoices and customizationIds to the automation store contract. - Uses file plugins at their original paths when a local window saves the automation, so the local agent host does not copy them. (Commit message generated by Copilot)
Connor Peet (connor4312)
force-pushed
the
connor4312/automation-customization-ux
branch
from
October 1, 2026 20:57
5bacda4 to
7861ea9
Compare
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Client locality and identity checks expose host file paths to potentially remote clients, alongside customization-loading race conditions.
Review effort: Balanced
Findings: 2
Open (4)
What changed in this PR
Adds selectable automation customizations, in-dialog save progress/error handling, and local file-plugin reuse for Agent Host automations.
Changes:
- Adds customization selection and outdated-state handling.
- Keeps dialogs open during persistence with progress and inline errors.
- Reuses local file plugins in place and expands supporting tests/documentation.
| File | Description |
|---|---|
src/vs/workbench/contrib/chat/common/automations/automationService.ts |
Extends automation customization contracts. |
src/vs/workbench/contrib/chat/common/automations/automationDialogService.ts |
Adds dialog commit callback. |
src/vs/sessions/contrib/sessions/test/browser/automationsView.test.ts |
Updates view persistence tests. |
src/vs/sessions/contrib/sessions/browser/views/automationsView.ts |
Moves persistence into dialog commits. |
src/vs/sessions/contrib/providers/agentHost/test/browser/agentHostAutomationStore.test.ts |
Tests customization selection and capture. |
src/vs/sessions/contrib/providers/agentHost/browser/reconnectableAgentHostAutomationStore.ts |
Forwards customization queries. |
src/vs/sessions/contrib/providers/agentHost/browser/agentHostAutomationStore.ts |
Implements customization choices and refresh. |
src/vs/sessions/contrib/automations/test/browser/providerAutomationService.test.ts |
Tests provider routing. |
src/vs/sessions/contrib/automations/test/browser/automationDialog.test.ts |
Tests selection, progress, and retries. |
src/vs/sessions/contrib/automations/browser/providerAutomationService.ts |
Routes customization queries. |
src/vs/sessions/contrib/automations/browser/media/automationDialog.css |
Styles progress and advanced controls. |
src/vs/sessions/contrib/automations/browser/automationDialogService.ts |
Implements commit progress and errors. |
src/vs/sessions/contrib/automations/browser/automationDialog.ts |
Adds customization selection UI. |
src/vs/sessions/AUTOMATIONS.md |
Documents customization capture behavior. |
src/vs/platform/agentHost/test/node/protocolServerHandler.test.ts |
Tests client locality classification. |
src/vs/platform/agentHost/test/node/agentPluginManager.test.ts |
Tests in-place automation plugins. |
src/vs/platform/agentHost/test/node/agentHostTurnHangTelemetry.test.ts |
Updates connection-source fixtures. |
src/vs/platform/agentHost/test/node/agentHostToolCallTelemetry.test.ts |
Updates connection-source fixtures. |
src/vs/platform/agentHost/test/node/agentHostClientConnectionService.test.ts |
Tests locality aggregation. |
src/vs/platform/agentHost/test/node/agentHostAutomationService.test.ts |
Tests local customization persistence. |
src/vs/platform/agentHost/test/node/agentHostAutomationCustomizations.test.ts |
Tests local, virtual, and remote capture. |
src/vs/platform/agentHost/node/protocolServerHandler.ts |
Reports client locality. |
src/vs/platform/agentHost/node/agentPluginManager.ts |
Reuses automation file plugins. |
src/vs/platform/agentHost/node/agentHostClientConnectionService.ts |
Adds locality API. |
src/vs/platform/agentHost/node/agentHostAutomationService.ts |
Passes locality into capture. |
src/vs/platform/agentHost/node/agentHostAutomationCustomizations.ts |
Captures local files in place. |
src/vs/platform/agentHost/common/agentPluginManager.ts |
Defines automation active-client identity. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Uses a host-controlled allowlist to decide which file plugins the agent host uses in place, instead of trusting the client ID. A client cannot make the host load an arbitrary host path. - Restores the MessagePort transport check for local agent host clients. - Waits for the customization choices to load before the dialog saves, so the save always includes the selection. - Reloads the customization choices when the workspace isolation changes. (Commit message generated by Copilot)
roblourens
previously approved these changes
Oct 1, 2026
Contributor
Replaces the allowlist of trusted host plugin directories with a URI scheme. A `file:` plugin URI now always names a client resource, so a host path cannot be confused with a client path. - Adds the `vscode-agent-host-file:` scheme for plugin URIs that name a directory on the agent host's own disk. The plugin manager uses these directories in place. - Gives automation run sessions their captured and local in-place plugins with this scheme. - Removes trustHostPluginDirectory and the in-place rule for paths under hostPluginsPath. (Commit message generated by Copilot)
roblourens
approved these changes
Oct 1, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


automations: add customization selection and save progress
Adds a way to select the customizations that an automation syncs, and shows progress while the
agent host syncs them.
A saved customization that changed locally shows an "Outdated" pill. Saving the automation
updates it.
and a status, and shows errors in the dialog.
local agent host does not copy them.
(Commit message generated by Copilot)