Commit Graph

156068 Commits

Author SHA1 Message Date
Megan Rogge ade6340a22 Recover from terminal hangs when shell integration breaks or the pty exits (#313312) 2026-04-29 13:41:37 -07:00
Joaquín Ruales 9d9b679f33 Update CODENOTIFY with more integrated browser items (#313212) 2026-04-29 13:41:26 -07:00
Matt Bierner b8598f90cb Merge pull request #313311 from mjbvz/dev/mjbvz/main-quail
Include the `isAvailable` check in the codebase timeout
2026-04-29 13:41:24 -07:00
Josh Spicer de1f8b14f7 fix updating active harness wrt customizations (#313289) 2026-04-29 12:53:34 -07:00
Josh Spicer 60cabe81c5 hide unsupported customizations categories in Agents app (harness-based) (#313278)
* hide unsupported customizations categories in Agents app (harness-based)

* Fix mock harness descriptor icons

Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/ce93aa65-5ce5-43c9-92bf-a0fc1b9d0150

Co-authored-by: joshspicer <23246594+joshspicer@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-04-29 12:53:31 -07:00
Matt Bierner 3b7dc50c85 use null 2026-04-29 12:31:51 -07:00
Paul c28b221bde UBB styling fixes (#313304) 2026-04-29 19:27:25 +00:00
Matt Bierner d3119d4419 Include the isAvailable check in the codebase timeout 2026-04-29 12:06:32 -07:00
Christof Marti 6691e81993 Add modeChanged to request telemetry (#312554) 2026-04-29 21:06:17 +02:00
Justin Chen c1ba1db8aa add spacing between profile and update button (#313294) 2026-04-29 19:02:55 +00:00
Aashna Garg 8ee6428137 Merge pull request #313132 from microsoft/aashnagarg/router-restricted-telemetry
Add availableModels to routerDecisionRestricted telemetry
2026-04-29 11:29:00 -07:00
Megan Rogge 82326bc012 Specify max chars in askQuestions tool description, don't truncate (#313280)
Specify max chars in askQuestions tool description, drop question truncation

Fixes #312726
2026-04-29 18:25:14 +00:00
Matt Bierner dfbb962031 Merge pull request #313272 from mjbvz/dev/mjbvz/yeasty-whitefish
Make sure we get files in stable order for external ingest checkpoint
2026-04-29 11:14:35 -07:00
Connor Peet 1321b30541 Merge pull request #313266 from microsoft/connor4312/state-cleanup
agentHost: drop the agent event abstraction
2026-04-29 10:51:59 -07:00
Michael Lively 7a833e177b ci: switch PR workflows back to 1ES self-hosted runners with JobId (#313128)
* ci: switch PR workflows back to 1ES self-hosted runners with JobId

Re-applies #311975 (reverted in #312033). Adds per-run+attempt JobId
labels to scope 1ES agents to specific GitHub Actions runs and prevent
intermittent runner cancellations.

Also switches the pr.yml compile job's GITHUB_TOKEN from the
ephemeral repo-scoped runner token to secrets.VSCODE_OSS so cross-repo
GitHub API release fetches (vscode-js-debug, vscode-js-debug-companion,
vscode-js-profile-visualizer, etc.) authenticate properly. On 1ES pools
the shared egress IPs hit the anonymous 60/hr api.github.com rate limit
and produced 403 fan-out across PRs last time.

* ci: fall back to GITHUB_TOKEN for fork PRs

Match the historical pattern from before #255987 — fork PRs can't
access secrets.VSCODE_OSS, so use the conditional to pick GITHUB_TOKEN
for forks.
2026-04-29 10:51:12 -07:00
Rob Lourens 35edb04454 Re-parse agent host history prompts to revive slash decorations (#313158)
* Re-parse agent host history prompts to revive slash decorations

When restoring an agent host session (local `agent-host-*` or remote
`remote-*`), historical prompts were wrapped in a single ChatRequestTextPart,
losing decorations for slash commands, prompt slash commands (e.g. /skill),
and agent mentions.

Re-run the prompt through ChatRequestParser for agent host sessions so
decorated parts are revived in the UI. Falls back to a plain text part on
parse failure or empty parse result.

Also moves `isAgentHostTarget` from the browser layer into common (where
ChatService lives), with a re-export from the browser file for existing
callers.

Adds two snapshot tests for /skill parsing covering both the forcedAgent +
supportsPromptAttachments path and the no-agent fallback.

(Written by Copilot)

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

* Hoist empty references/tool map to avoid per-history-item allocations

Address Copilot review feedback on #313158.

(Written by Copilot)

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

* Source attachmentCapabilities from chat session contribution

Agent-host providers register capabilities via registerChatSessionContribution,
but that programmatic path does not create an IChatAgentData with those
capabilities. Look them up via IChatSessionsService.getCapabilitiesForSessionType
instead so /skill etc. are revived in restored history.

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

(Written by Copilot)

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-29 17:41:15 +00:00
Matt Bierner 8b4ca97442 Merge pull request #313269 from mjbvz/dev/mjbvz/latin-wildebeest
Reuse existing ingest operation if files haven't changed
2026-04-29 10:36:40 -07:00
Matt Bierner 230f242a9c Make sure we get files in stable order for external ingest checkpoint
We should make this explicit

Co-authored-by: Copilot <copilot@github.com>
2026-04-29 10:26:27 -07:00
Connor Peet c5c6407374 comments and tests 2026-04-29 10:25:23 -07:00
Raymond Zhao 72751c9adf fix: write key even if source exists (#312902)
Fixes #311713

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-29 19:22:51 +02:00
Lee Murray 37383337f5 Merge pull request #313246 from microsoft/mrleemurray/agent-account-menu-polish
Agents: Refactor account menu and chat status dashboard for improved UI
2026-04-29 18:22:06 +01:00
Matt Bierner 003f366336 Simplify
Co-authored-by: Copilot <copilot@github.com>
2026-04-29 10:11:36 -07:00
Matt Bierner 1257035bb1 Reuse existing ingest operation if files haven't changed
We already handled the case where an ingest had completed. This makes it so that any ongoing ingests also should reuse the existing operation

Co-authored-by: Copilot <copilot@github.com>
2026-04-29 10:06:12 -07:00
Ladislau Szomoru fabf9dc21e Agents - refactor GitHub models and polling logic (#313261)
* Add GitHub PR review threads model

* Cache GitHub PR review thread models

* Use PR review threads model in code review

* Keep GitHub PR model refresh lightweight

* Complete PR review threads validation checklist

* Saving my work

* Limit PR review polling to active session

* Refactor CodeReviewService to only poll the model for the active session

* Add GitHub PR polling lifecycle

* Refactor the logic that polls

* Use pull request head SHA for CI checks

* More fixes in

* Fix  bug + tests

* More test cleanup
2026-04-29 17:01:11 +00:00
Kyle Cutler 129ffaba5a Support prompting the user to share an existing browser tab (#313256)
* Support prompting the user to share an existing browser tab

* feedback

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

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-29 09:58:45 -07:00
Martin Aeschlimann 3bf522af17 add ChatSessionCustomizationType.userInvocable (#313260)
* add ChatSessionCustomizationType.userInvocable

* Update src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.ts

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

* Update src/vs/workbench/contrib/chat/common/customizationHarnessService.ts

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-29 16:57:33 +00:00
Raymond Zhao d1ce2fc8c8 chore: remove cleanup step (#313264) 2026-04-29 16:56:37 +00:00
Matt Bierner 9b74dd466c Merge pull request #313133 from microsoft/dev/mjbvz/copilot-eslint-unify
Use root eslint for copilot
2026-04-29 09:55:27 -07:00
Connor Peet 52333822f6 Merge remote-tracking branch 'origin/main' into connor4312/state-cleanup 2026-04-29 09:55:20 -07:00
Connor Peet 2a5c152b65 agentHost: drop the agent event abstraction
We had a separate representation of agent events in the agent host that
were usually mostly just the same as the protocol events/state. And we
had steps to map to and from in various places which added to code and
implementation complexity. Remove it.
2026-04-29 09:52:36 -07:00
Paul 83bc012e66 Fix issue with hover reappearing on Esc, Alt-tab, link click etc. (#313117) 2026-04-29 09:39:04 -07:00
Megan Rogge cdbdcc39c8 Fix RunInTerminalTool hang when shell exits before/during execute() (#313249)
The rich execute strategy subscribed to onExit/onDisposed AFTER awaiting
xtermReadyPromise. If the pty had already exited before execute() was
entered, those emitters had already fired and been disposed, so
Event.toPromise() subscribed to a dead emitter and never resolved -
hanging the run-in-terminal tool until the agent's 60-minute outer
timeout (16 X_AGENT_STILL_RESPONDING failures observed in eval run
25073061392).

- Add synchronous up-front check for instance.isDisposed / exitCode in
  both rich and basic strategies; resolve immediately with the captured
  exit code rather than subscribing to a fired-and-disposed emitter.
- In the rich strategy, move the Promise.race lifecycle subscription
  setup BEFORE 'await this._instance.xtermReadyPromise' so onExit /
  onDisposed are wired synchronously at function entry, closing the
  race window where the pty exits during xterm initialization.
- Add unit tests for both branches in rich and basic strategies.

Fixes #313248
2026-04-29 16:19:31 +00:00
Matt Bierner 1c4bbc26c1 Re-run npm i 2026-04-29 09:05:44 -07:00
Megan Rogge 7f1de65fa2 Terminal: prevent paste auto-exec when clipboard has trailing newline (#313254)
Strip trailing newline on terminal paste in auto mode

Prevents clipboard-hijack scenarios from auto-executing pasted commands
when the shell does not support bracketed paste mode. Right-click /
Ctrl+V paste of a command followed by a newline previously executed
immediately; now the trailing newline is stripped so the user must press
Enter to run the command.
2026-04-29 16:04:48 +00:00
Megan Rogge 21b99b6c8a Resolve parent directory when realpath fails with ENOENT in edit confirmation (#313252) 2026-04-29 16:04:41 +00:00
Megan Rogge 6707517391 Detect chevron-style interactive prompts in agent terminal (#313244)
Fixes #312576
2026-04-29 16:04:02 +00:00
mrleemurray 820a1bc0d8 Enhance ChatStatusDashboard to allow custom title header container for improved layout integration
Co-authored-by: Copilot <copilot@github.com>
2026-04-29 17:03:22 +01:00
Harald Kirschner 380d7101a2 telemetry: add workspaceChunkSearch.tryInit event for cold-init tracking (#313127)
* telemetry: add workspaceChunkSearch.tryInit event for cold-init tracking

Adds telemetry to track duration and outcome of workspace chunk search
cold initialization (getPreferredType + service creation). Records
success, noEmbeddingType, alreadyInitialized, or error outcomes.
Not fired for fast paths (no auth, already initialized).

Related: microsoft/vscode#313070

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

* fix: type outcome as string literal union per review

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-29 09:02:07 -07:00
Matt Bierner b14478b0fe npm i 2026-04-29 08:51:36 -07:00
Tyler James Leonhardt 8244e9b00c Refactor Claude Agent core code (#313163)
* handle steering the way the SDK wants it (via priority)
* pass along properties via the queued request (rather than setting them when we get the message) so that we can set them when the message is to be yielded to the SDK
* Tons of code simplification

There's still more simplification to do... but this is getting unwieldy so let's start here.

Co-authored-by: Copilot <copilot@github.com>
2026-04-29 08:45:44 -07:00
Martin Aeschlimann 21ef72b45b add pluginUri and extensionId to ICustomizationItem: fix slash command qualification (#313217)
* add pluginUri and  extensionId to ICustomizationItem: fix slash command qualification

* Update src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.ts

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

* update

* update

* update

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-29 15:35:37 +00:00
Josh Spicer 974736ed9a sessions: add customizations overview header action (#312868)
* sessions: add home button to customizations header to open welcome page

Add a home icon button to the 'Customizations' collapsible header in the
Agents sidebar. The button:
- Appears on hover of the header row (opacity transition)
- Opens the AI Customizations management editor and navigates to the
  welcome/overview page via showWelcomePage()
- Supports keyboard (Enter/Space), click, and touch tap (iOS)
- Shows a tooltip via IHoverService: 'Open Customizations Overview'
- Does not interfere with the existing collapse/expand toggle

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

* sessions: move customizations home button to leading position

Move the home button to the start of the header (before the toggle pill)
and make it always visible. This makes the entrypoint more discoverable
for new users since it's no longer hidden behind a hover state.

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

* sessions: align home icon with section icons below

Use matching padding (4px 8px) so the home icon's horizontal position
matches the agent/skill/instruction icons listed below the header.

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

* sessions: refine home icon alignment to match section rows

Remove font-size and explicit height overrides; instead mirror the
sidebar-action-button layout exactly (padding 4px 8px + gap 10px) so
the home icon naturally sizes and aligns with the section icons.

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

* sessions: align home icon and tighten color hierarchy in customizations header

- Drop the header button's left padding and set the home button's right
  padding to 10px so 'Customizations' sits exactly 10px after the home
  icon, matching the icon->label gap of the section rows below.
- Remove the home icon's opacity dim; use the strong agentsPanel
  foreground so the home icon and 'Customizations' label render at the
  same color weight.
- Apply --vscode-descriptionForeground to the section rows below the
  header so they read as secondary content under the prominent header.

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

* sessions: bump home icon size to match bold header weight

Codicons are a single-weight font, so font-weight has no effect on
icons. Increase the home icon's font-size to 18px so its visual stroke
weight matches the bold 'Customizations' label.

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

* sessions: revert home icon size bump

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

* sessions: replace home button with 'Manage customizations' footer link

Move the entrypoint to the customizations welcome page from a header
icon to a footer link below the section list. The footer:
- Sits inside the collapsible content (collapses with the section)
- Uses subtle descriptionForeground styling with a top border separator
- Includes a right-arrow that nudges on hover for affordance
- Supports click, touch tap (iOS), and keyboard (Enter/Space)
- Restores the original header layout (no padding/color hacks)

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

* sessions: add customizations overview header action

Replace the footer-style Customizations entrypoint with a dedicated header home action so the overview remains accessible in both expanded and collapsed states.

Add focused browser coverage for opening the welcome page without toggling collapse.

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

* sessions: align customizations overview action with counts

Nudge the Customizations header overview action left so it visually aligns with the per-section count column.

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

* sessions: simplify customizations overview editor check

Use the concrete AI Customizations management editor type instead of a structural showWelcomePage guard when opening the overview from the sidebar header action.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-29 15:18:46 +00:00
Johannes Rieken cf647dbc0e chore: move inline chat stuff around (#313242)
feat: add inline chat progress messages and prompts for user feedback
2026-04-29 17:14:52 +02:00
Megan Rogge 8f9e979124 add logging (#313080)
terminal: add shell integration trace logging
2026-04-29 17:12:15 +02:00
Sandeep Somavarapu 4a46ed2793 Fix deleting sub-session when it is not active (#313200)
When a child chat in a multi-chat group was removed, _refreshSessionCache
would first remove it from _sessionCache and invalidate grouping caches.
Then _refreshSessionCacheMultiChat would try to resolve the removed chat's
group ID, but since the caches were already rebuilt without the removed
chat, _getGroupIdForChat fell back to the chat's own ID instead of the
parent group's ID. This caused the child to be treated as a 'truly removed'
standalone session rather than a group membership change, so no 'changed'
event was fired for the parent group.

Fix: resolve group IDs for removed sessions BEFORE removing them from the
cache and invalidating grouping caches.

Fixes #311987

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-29 17:08:20 +02:00
Matt Bierner 75d676cce9 Merge branch 'main' into dev/mjbvz/copilot-eslint-unify 2026-04-29 08:00:31 -07:00
Henning Dieterichs 19b3119b33 Pin @github/copilot to exact 1.0.34 and regenerate lockfiles
The previous reverts only changed the spec to ^1.0.34, but the resolved entries in the lockfiles still pointed at 1.0.38 (with 1.0.38 tarballs and integrity hashes). Since ^1.0.34 satisfies 1.0.38, npm ci would still install the broken version. Pin to exact 1.0.34 in all three package.json files and regenerate the lockfiles.
2026-04-29 16:46:30 +02:00
Henning Dieterichs 6087b944fe Revert "agents: bump @github/copilot to 1.0.38 (#313073)"
This reverts commit 83cbe74699.
2026-04-29 16:46:30 +02:00
Peng Lyu f2cc84be85 Revert Copilot CLI version 1.0.34 (#313125)
Co-authored-by: Copilot <copilot@github.com>
2026-04-29 16:46:30 +02:00
mrleemurray 4c778cc426 Refactor account menu button options and enhance CSS for improved styling and layout
Co-authored-by: Copilot <copilot@github.com>
2026-04-29 15:45:08 +01:00