Add a per-check rerun button for failed CI checks in the changes view.
Uses the GitHub Actions rerun-failed-jobs API, extracting the workflow
run ID from the check's detailsUrl.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* sessions: fix multi-select context menu to operate on all selected items
Context menu actions in the sessions list previously only operated on the
right-clicked item, ignoring other selected items. Now the context menu
collects the tree selection and passes all selected sessions to actions.
Changes:
- sessionsList.ts: Pass selected sessions array as arg to context menu actions
- sessionsViewActions.ts: Update all 7 item actions to accept ISession | ISession[]
- copilotChatSessionsActions.ts: Update bridge commands to handle session arrays
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* ensure right-clicked element is first in multi-selection
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Rename sandbox setting to chat.agent.sandbox (#303421)
Rename the top-level sandbox setting from `chat.tools.terminal.sandbox.enabled`
to `chat.agent.sandbox` to reflect that sandboxing is a general agent concept,
not terminal-specific.
- Update setting ID value to `chat.agent.sandbox`
- Update description to be more general
- Deprecate old `chat.tools.terminal.sandbox.enabled` setting
- Update telemetry event name
Fixes#303421
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* updating terminal sandbox to agent sandbox
* removed allowTrustedDomains
* correcting the settings keys for sandboxing
* correcting the settings keys for sandboxing
* Explicit notification for blocked domains before running the command
* Fix terminal sandbox follow-ups
* main merge
* fixing tests
* Update src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Revert "Update src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.ts"
This reverts commit b956dfa719.
* removing local files
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
The submenu header (e.g. 'Thinking effort') was incorrectly shown as the
description of the first action item instead of as a proper section header.
Regression from f6218ecb33 which replaced ActionListItemKind.Header items
with inline description on the first child action.
Restore proper Header rendering for SubmenuAction groups that have a label.
For the sessions workspace picker, move the provider label to the first
child action's tooltip so it renders as a description instead of a header.
Fixes#306250
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: add getFinalResponse method to IResponse and implement CopyFinalResponseAction
* feat: add context key for response view model in ChatListWidget
* Unify agentHost server-side dispatch: remove IProtocolSideEffectHandler
Eliminate the IProtocolSideEffectHandler interface and make
ProtocolServerHandler talk to IAgentService directly. This removes
the duplicate adapter layer between the WebSocket protocol server
and the real service implementation.
Changes:
- ProtocolServerHandler now takes IAgentService + SessionStateManager +
IProtocolServerConfig instead of IProtocolSideEffectHandler
- Deleted ~40-line inline adapter in agentHostMain.ts
- agentHostServerMain.ts now uses AgentService instead of manually
wiring SessionStateManager + AgentSideEffects
- Removed implements IProtocolSideEffectHandler from AgentSideEffects
- Removed dead methods from AgentSideEffects that were only needed
by the deleted interface (handleCreateSession, handleDisposeSession,
handleListSessions, handleGetResourceMetadata, handleAuthenticate,
getDefaultDirectory)
- Type conversions (URI<->string, IAgentSessionMetadata<->ISessionSummary)
now happen at the protocol boundary in ProtocolServerHandler
- Fixed dispatchAction double-dispatch: WS path previously dispatched
to stateManager AND called handleAction (which dispatched again)
- Extension methods (getResourceMetadata, authenticate, etc.) now call
IAgentService directly instead of untyped fallbacks
(Written by Copilot)
* comments
Co-authored-by: Copilot <copilot@github.com>
* Simplify further
Co-authored-by: Copilot <copilot@github.com>
---------
Co-authored-by: Copilot <copilot@github.com>
* Use URI for workingDirectory across agent host layer
- Change IAgentCreateSessionConfig.workingDirectory and
IAgentSessionMetadata.workingDirectory from string to URI
- Convert file paths to URI at SDK boundary (CopilotAgent)
- Convert protocol strings to agenthost:// URIs at protocol client boundary
- Convert agenthost:// URIs back to file:// at protocol client on outgoing
- Update resolveWorkingDirectory callback to return URI
- Use extUriBiasedIgnorePathCase.isEqualOrParent for path containment
- Use generateUuid() instead of crypto.randomUUID()
- Add CopilotAgentSession tests and SessionWrapperFactory pattern
- Register all event subscription disposables properly
(Written by Copilot)
* Tweak
* Fix test
* refactor: remove unused import and update session status check in SessionsManagementService
* refactor: remove public getGitHubContext method and change its visibility to private in SessionsManagementService
* refactor: remove getGitHubContextForSession method and its fallback logic in SessionsManagementService
* refactor: replace pullRequest with gitHubInfo in session data structures and related logic
* refactor: rename ISessionGitHubInfo to IGitHubInfo and update references across session data structures
* refactor: update GitHub info structure to encapsulate pull request details
* refactor: update session management to utilize gitHubInfo for pull request details
* refactor: simplify file URI resolution in CodeReviewService and remove unused method from SessionsManagementService
* refactor: remove unused getSessionRepositoryUri method and related logic from SessionsManagementService
* refactor: update session type constants to use string literals in sessionTypes and sessionsManagementService
* refactor: update pull request handling to utilize gitHubInfo in ChangesViewPane
* refactor: replace AgentSessionProviders with session type constants across sessions layer
Replace direct imports of AgentSessionProviders enum from the workbench
agent sessions layer with CopilotCLISessionType/CopilotCloudSessionType
constants from the sessions layer's own sessionTypes module.
Simplify workspaceFolderManagement to use session workspace data instead
of provider-specific branching. Remove fileTreeView component.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* refactor: remove agent sessions dependencies from changes and mode picker
- changesTitleBarWidget: use ISessionsManagementService instead of
IAgentSessionsService for session lookup and change events
- changesView: use sessionManagementService.onDidChangeSessions signal
- modePicker: replace AgentSessionProviders with CopilotCLISessionType
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: add missing gitHubInfo to mock session in codeReviewService tests
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix compilation
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* refactor: streamline session management in SessionsTitleBarWidget and add Show Sessions Picker action
* feat: add Show Sessions Picker action and refactor session actions
* feat: enhance session visibility by including active session in filtered list
* fix: ensure active session is included in filtered list by matching sessionId
* fix: use sessionId instead of URI toString for picked state comparison
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* refactor: reuse SessionItemContextMenuId for title bar context menu
Use the same menu ID and context key overlays as the sessions list
view instead of hardcoding actions, ensuring consistency.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Enable test/test-integration scripts to take file.test.ts arguments
The agent likes to use them this way, when it doesn't read the skill
Co-authored-by: Copilot <copilot@github.com>
* And this
* Fixes
* update
Co-authored-by: Copilot <copilot@github.com>
---------
Co-authored-by: Copilot <copilot@github.com>