Commit Graph

149667 Commits

Author SHA1 Message Date
Rob Lourens
23c0b41d69 Enable test/test-integration scripts to take file.test.ts arguments (#306039)
* 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>
2026-03-29 02:48:59 +00:00
Rob Lourens
73b0fb2937 Refactor CopilotAgent, break out CopilotAgentSession, add tests (#306046)
* Refactor CopilotAgent, break out CopilotAgentSession, add tests

Co-authored-by: Copilot <copilot@github.com>

* Cleanup a bit

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-03-28 19:41:37 -07:00
dileepyavan
57d9535056 Rename sandbox setting to chat.agent.sandbox (#303421) (#305846)
* 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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-29 01:31:02 +00:00
Peng Lyu
6fadff8258 improve image carousel accessibility (#306011)
* improve image carousel accessibility

* 💄 comments
2026-03-28 17:59:02 -07:00
Martin Aeschlimann
f4ca6f1926 remove internal prompt files (#306009) 2026-03-28 23:18:26 +01:00
Benjamin Pasero
c38a4a4a4b sessions - fix permissions rendering in list (#306008) 2026-03-28 22:17:43 +01:00
Benjamin Pasero
c389bd92a0 sessions - fix dangling separator in aux windows (#306018) 2026-03-28 22:17:08 +01:00
Benjamin Pasero
1d8f0aa771 sessions - enforce icon color from theme icon (#306013) 2026-03-28 22:16:52 +01:00
dileepyavan
c9b8ed1bcf Agent sandboxing: detect missing dependencies before execution and offer installation (#305898)
* updating tests

* sandbox dependencies check for linux

* sandbox dependencies check for linux

* review comment

* Injecting sandboxhelperservice for web
2026-03-28 20:56:52 +00:00
Benjamin Pasero
9d62267654 sessions - restore highlighting of matching when searching in list (#306004) 2026-03-28 20:37:14 +00:00
Ladislau Szomoru
ba7d21e544 Sessions - fix all changes rendering (#306005) 2026-03-28 21:22:10 +01:00
Ladislau Szomoru
f4d0b1255c Sessions - disable auto-commit for background sessions (#306006) 2026-03-28 21:22:06 +01:00
Rob Lourens
fa6338b4d1 agentHost: Register sessions provider independently of having a connection (#305915)
* agentHost: Register sessions provider independently of having a connection

* fix
2026-03-28 18:41:04 +01:00
Benjamin Pasero
1c7585a791 files - speed up glob matching for file events in extension host (#305962)
* files - speed up glob matching for file events in extension host

* partially restore old behaviour
2026-03-28 08:36:18 -07:00
Josh Spicer
8ce4cb75af sessions: add sync-upstream built-in skill (#305771)
* feat: add update-branch skill for rebasing session branches

* fix: update description for update-branch skill to clarify usage

* feat: add sync-upstream skill for rebasing session branches
2026-03-28 07:02:02 +00:00
dependabot[bot]
5df47326b1 Bump picomatch from 4.0.3 to 4.0.4 in /remote (#305821)
Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-28 06:41:30 +00:00
Martin Aeschlimann
ea959a9027 PromptsService: remove unnecessary change events (#305662)
* remove unnecessary change events

* Update src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.ts

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

* Update src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.ts

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-28 06:39:07 +00:00
Yogeshwaran C
bf4a0eb258 fix: prevent terminal panel from overwriting terminalEditorActive context key (#304802)
The terminalEditorActive context key was being incorrectly set to false
when a terminal in the panel received focus, even though the active
editor was still a terminal editor. This happened because
TerminalService listened to onDidChangeActiveInstance and set the key
based on the active terminal instance's location rather than whether the
active editor is a terminal editor.

Remove the duplicate terminalEditorActive management from
TerminalService since TerminalEditorService already correctly manages
this context key via onDidActiveEditorChange, which checks whether the
active editor is a TerminalEditorInput.

Closes #182979
2026-03-28 06:35:46 +00:00
Rob Lourens
1974322e5c AgentHost: Add remote label to workspace (#305822)
* AgentHost: Add remote label to workspace

Co-authored-by: Copilot <copilot@github.com>

* Fix tests

---------

Co-authored-by: Copilot <copilot@github.com>
2026-03-28 06:30:17 +00:00
Connor Peet
9c25b318e7 Merge pull request #305861 from microsoft/connor4312/edit-metadata
agentHost: actually really track (and restore) file edits
2026-03-27 23:20:53 -07:00
Anthony Kim
c65896cf3d Correct Shell integration migration logic (#305897) 2026-03-28 07:03:38 +01:00
Connor Peet
20c06fd05f Merge remote-tracking branch 'origin/main' into connor4312/edit-metadata 2026-03-27 20:02:21 -07:00
Sandeep Somavarapu
f313ec2516 sessions: Show new sessions in the list immediately before commit (#305880)
* refactor: update session cache to use IChatData and simplify session handling

* feat: add setTitle and setStatus methods to CopilotCLISession and RemoteNewSession

* feat: implement chat ID replacement and handling for session updates

* refactor: remove chat ID replacement logic and related methods from session management

* refactor: streamline session handling by removing resource swap logic and enhancing session cache management

* feat: implement session commit event and related interfaces for chat sessions

* refactor: enhance session management by implementing cache wait logic for committed sessions

* refactor: improve chat session handling by adding immediate group model updates for new chats

* refactor: simplify chat handling by removing immediate group model updates for temporary chats

* refactor: enhance Copilot session handling by adding resource management and improving session cache updates

* refactor: streamline resource handling in CopilotCLISession and RemoteNewSession classes

* refactor: add support for session replacement events in session management

* refactor: add internal documentation for session replacement events in sessions provider

* refactor: improve session replacement handling by using async/await for better readability

* refactor: simplify session replacement handling by removing unnecessary asynchronous wrapper and improving cache management

* refactor: enhance session management by updating active session on provider session replacement

* refactor: update session replacement event properties for clarity

* refactor: add updateWorkspace method to CopilotCLISession and RemoteNewSession for improved workspace management

* refactor: inline replace session event type and fix session cache update

- Remove IChatReplaceSessionEvent interface, inline the type as
  { from: IChatData; to: IChatData } in provider and service interfaces
- Restore setActiveSession call in sendRequest after provider returns
- Fix _refreshSessionCache to properly narrow existing cache entries
  by instanceof (AgentSessionAdapter vs temp sessions) for update calls
- Restore _currentNewSession guard in removal loop to prevent firing
  removed event for the in-flight temp session

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

* refactor: restore setActiveSession call after sendRequest completes

After awaiting sendRequest (which resolves with the committed session), explicitly call setActiveSession so the committed session is always set as active. The onDidReplaceSession handler also sets it, but having it here as well ensures correctness when the handler fires before the group model is updated.

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

* refactor: sync temp session data from agent session and guard active session replacement

Update CopilotCLISession.update() to propagate workspace, title, status, updatedAt, changes, and description from the agent session. Add mutable description and changes observables. Restore instanceof guard in removal loop to prevent premature cleanup of temp sessions. Only replace active session in onDidReplaceSession when the replaced session was actually active.

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

* fix: dispose temp session and fire removal event on commit/error

Dispose the CopilotCLISession/RemoteNewSession temp session and emit
an onDidChangeSessions removal delta when the temp is replaced by the
committed adapter or when an error occurs. This prevents disposable
leaks and lets consumers (e.g. SessionsManagementService) clean up
group-model/cache state for the removed chat.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-28 01:25:43 +00:00
Justin Chen
be936f1f8a make sure thinking is serialized dynamically (#305865)
make sure thinking is serialized dynamically'
2026-03-28 00:40:37 +00:00
Megan Rogge
6e2071bf08 add instructions to not use sleep, to use await_terminal tool (#305804) 2026-03-28 00:34:46 +00:00
Rob Lourens
c065b175fd Add argument parsing, suite filtering, and grep support to integration test scripts (#305837)
* Add argument parsing, suite filtering, and grep support to integration test scripts

- Add --run, --runGlob, --grep, --suite, and --help argument parsing
- --suite selects extension host test suites (comma-separated, glob patterns)
- --grep forwards test name filter to all runners via MOCHA_GREP env var
- Validate --suite filter matches at least one known suite
- Add MOCHA_GREP support to testrunner.js, CSS and HTML test runners
- Seed user settings to suppress dock bounce notifications
- Always apply *.integrationTest.js glob for node.js tests
- Add integration-tests skill documentation

* Address Copilot review feedback

- Quote cd $ROOT, rm -rf $VSCODEUSERDATADIR, rmdir %VSCODEUSERDATADIR%
- Quote --runGlob pattern to prevent premature glob expansion
- Use GREP_ARGS array for safe grep forwarding in .sh
- Use conditional call with proper quoting for grep in .bat
- Deduplicate suite list into KNOWN_SUITES variable
- Remove unused EXTRA_ARGS and ARGS variables from .bat

* Fix Windows CI: remove unnecessary enabledelayedexpansion

The original script used plain 'setlocal'. Adding 'enabledelayedexpansion'
may affect path resolution behavior on Windows CI. Since no delayed
expansion (\!var\!) syntax is used, revert to the original 'setlocal'.

* Fix Windows CI: capture %~dp0 before call :label corrupts it

In Windows batch, 'call :label' can change what %~dp0 resolves to.
Our should_run_suite subroutine uses 'call :should_run_suite', which
caused %~dp0 to resolve to the wrong directory for extension paths
that appear after the subroutine call. Capture the script directory
once at startup into %SCRIPT_DIR% and use it everywhere.
2026-03-28 11:23:37 +11:00
Kyle Cutler
2de60eada5 Better syncing of "share with agent" status (#305854) 2026-03-27 17:11:21 -07:00
Justin Chen
3f19f148dc show a warning when there are more than 20 images in a request (#305817)
* show a warning when there are more than 20 images in a request

* address comments
2026-03-27 16:59:47 -07:00
Rob Lourens
5be9778feb agentHost: Apply default edit auto-approve patterns on AH side (#305859)
* agentHost: Apply default edit auto-approve patterns on AH side
Fix #305308

Co-authored-by: Copilot <copilot@github.com>

* Add integration test

Co-authored-by: Copilot <copilot@github.com>

* Fixes

---------

Co-authored-by: Copilot <copilot@github.com>
2026-03-27 23:59:18 +00:00
Connor Peet
36f8813cfa address PR review comments 2026-03-27 16:40:44 -07:00
Connor Peet
bd2f91618e fix compile 2026-03-27 16:23:07 -07:00
Connor Peet
fe781b70ab agentHost: actually really track (and restore) file edits
Historically we've tracked edits in the ChatEditingSession, which is
owned by the editor and _very_ internal and _very_ complex, for Reasons.
In the agent host world, the agent host now owns edits.

This is a minimal implementation of an IChatEditingSession that is used
for the agent host. It does not have keep/undo (the writing has been
on the wall for that for a while) which removes a large chunk of
complexity. Nevertheless, it can deliver diffs, undo/redo and restore
state.

Diffs still happen client-side, but this could be optimized in the
future.

Closes #305332
2026-03-27 16:11:35 -07:00
Ladislau Szomoru
b8b841a44f Sessions - extract code to enable loading changes async (#305847) 2026-03-27 16:05:58 -07:00
Paul
b98ad1eadb Send extension ID for customizations (#305796) 2026-03-27 22:31:09 +00:00
Ladislau Szomoru
ca0ea977c6 Sessions - add missing context key (#305844) 2026-03-27 22:30:48 +00:00
Kyle Cutler
fe491c0c10 Fix "add element to chat" while debugging (#305831)
* Fix "add element to chat" while debugging

* Update src/vs/platform/browserView/electron-main/browserViewElementInspector.ts

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-27 22:23:37 +00:00
Matt Bierner
c17175997a Merge pull request #305841 from mjbvz/dev/mjbvz/functional-shark
Make sure main thread chat session models use overrides from live model
2026-03-27 15:16:11 -07:00
Josh Spicer
cb39101990 chat: fix customization provider harness deduplication, grouping, and badges (#305810)
* test: add tests for external harness replacement behavior

* feat: enhance external customization item handling with storage inference and instruction enrichment

* refactor: remove workspaceSubpaths from chat session customization metadata

* Copilot CLI session 6be53c25-3ac3-44c2-97f1-846de07165de changes

* refactor: extract shared buildInstructionListItem and document provider API

Extract the instruction classification logic (applyTo parsing, badge
generation, groupKey assignment) into a shared buildInstructionListItem
method used by both the built-in and provider item paths.

Remove the instruction-specific enrichInstructionItemsFromProvider in
favor of inline logic in fetchItemsFromProvider that delegates to the
shared helper.

Add a section to the chat-customizations-editor skill documenting the
chatSessionCustomizationProvider proposed API flow.

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

* fix: address PR review — disposal fallback and agent instruction grouping

Fix disposal fallback: when an external harness that overrides a static
one is disposed, keep the active harness on the same id since the static
harness is restored. Only fall back to all[0] when no harness with that
id remains.

Fix agent instruction grouping: buildInstructionListItem now detects
well-known agent instruction files (AGENTS.md, CLAUDE.md, CLAUDE.local.md,
copilot-instructions.md) and assigns groupKey 'agent-instructions' so
they appear under the correct header for both built-in and provider items.

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

* revert: remove skill file edits to avoid merge conflict

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-27 22:15:33 +00:00
Courtney Webster
8d8e32fe55 Merge pull request #305723 from microsoft/open-wren
Add experiment for sign in button in title bar
2026-03-27 17:08:18 -05:00
Ladislau Szomoru
cbc57242ed Sessions - wire up the discard changes action (#305830) 2026-03-27 22:04:27 +00:00
Matt Bierner
dd1cba9356 Make sure main thread chat session models use overrides from live model 2026-03-27 14:55:31 -07:00
Josh Spicer
7efa1c5c0d chatCustomizations: support grouping and badges for external provider items (#305813)
* feat: enhance AICustomizationListWidget with grouping and badge support for external customization items

* feat: add user data profile service and infer storage from URI in AICustomizationListWidget

* Copilot CLI session 8af2fd4a-10fe-4bba-b408-f1b90cebc8dc changes

* docs: add chatSessionCustomizationProvider API chain to customizations editor skill

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

* fix: address PR review feedback

- Remove duplicate sectionToIcon, reuse getSectionIcon instance method
- Use Map for O(1) groupKey lookups instead of O(n²) includes/find
- Check active project root in inferStorageFromUri for Sessions window
- Set pluginUri on provider items and use it for storage inference
- Remove redundant plugin check from inferStorageFromUri (handled by caller)

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-27 21:48:27 +00:00
vs-code-engineering[bot]
958f822bbe Update distro commit (main) (#305764)
Update distro commit to 3431ef6b

Co-authored-by: vs-code-engineering[bot] <122617954+vs-code-engineering[bot]@users.noreply.github.com>
2026-03-27 21:32:46 +00:00
dependabot[bot]
c7de0877e0 Bump octokit/request-action from 2.4.0 to 3.0.0 (#305135)
Bumps [octokit/request-action](https://github.com/octokit/request-action) from 2.4.0 to 3.0.0.
- [Release notes](https://github.com/octokit/request-action/releases)
- [Commits](dad4362715...b91aabaa86)

---
updated-dependencies:
- dependency-name: octokit/request-action
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
2026-03-27 14:20:43 -07:00
Courtney Webster
48a530373d Merge branch 'main' into open-wren 2026-03-27 16:16:55 -05:00
dependabot[bot]
e49f2d1a54 Bump node-forge from 1.3.2 to 1.4.0 in /extensions/vscode-api-tests (#305343)
Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.3.2 to 1.4.0.
- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digitalbazaar/forge/compare/v1.3.2...v1.4.0)

---
updated-dependencies:
- dependency-name: node-forge
  dependency-version: 1.4.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-27 14:15:43 -07:00
dependabot[bot]
fca9a7879f Bump picomatch from 4.0.3 to 4.0.4 in /test/mcp (#304949)
Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
2026-03-27 14:14:17 -07:00
dependabot[bot]
5933225fdb Bump picomatch from 4.0.3 to 4.0.4 in /test/smoke (#304972)
Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
2026-03-27 14:14:13 -07:00
Elijah King
44bc7753d6 Merge pull request #305759 from microsoft/eli/chat-export-import-icon
add chat import and export icons to agent debug logs
2026-03-27 14:04:50 -07:00
Pierce Boggan
27505178e3 Merge pull request #294777 from microsoft/pierceboggan/fix-@
@ can be used to reference context, just like #
2026-03-27 14:57:53 -06:00