Skip to content

[mirror] microsoft/vscode#308330 Revert "Refactor enableThinking/reasoningEffort into IModelCapabilityOptions"#1243

Open
austindyoung wants to merge 7290 commits intomainfrom
driftfence/mirror/pr-308330/latest
Open

[mirror] microsoft/vscode#308330 Revert "Refactor enableThinking/reasoningEffort into IModelCapabilityOptions"#1243
austindyoung wants to merge 7290 commits intomainfrom
driftfence/mirror/pr-308330/latest

Conversation

@austindyoung
Copy link
Copy Markdown
Owner

Automated mirror PR for DriftFence counterfactual telemetry.

Source PR: microsoft#308330
Source URL: microsoft#308330
Mirror branch: driftfence/mirror/pr-308330/latest

This PR is maintained by automation for telemetry and review links.

lszomoru and others added 30 commits April 3, 2026 21:42
…idget.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Handle if T is undefined

* Update window active middleware to throw

* Update DOC
fix: improve test coverage filter quickpick readability
… explorer (microsoft#307555)

When typing text like "@smoke" in the test explorer filter, the @-prefix
was consumed by the tag regex but did not match any known filter term or
tag syntax. This caused the text to silently disappear from the filter,
making it impossible to search for tests with "@" in their names.

Now, @-prefixed text that is neither a known filter term (@failed, @doc,
etc.) nor a tag (@ctrlId:tagId) is preserved as regular glob filter text.

Closes microsoft#159708
Bumps [electron](https://github.com/electron/electron) from 37.8.0 to 39.8.4.
- [Release notes](https://github.com/electron/electron/releases)
- [Commits](electron/electron@v37.8.0...v39.8.4)

---
updated-dependencies:
- dependency-name: electron
  dependency-version: 39.8.4
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…mpt cache hits (microsoft#4956)

* Add inline summarization feature for agent conversation history

- Introduced configuration option for inline summarization in package.json and configurationService.ts.
- Updated agentIntent.ts to handle inline summarization logic during conversation.
- Modified summarizedConversationHistory.tsx to support inline summarization instructions.
- Enhanced tests to cover inline summarization scenarios and extraction of inline summaries.

* Remove cache-friendly summarization prompt and related configurations

* Refactor inline summarization handling in ToolCallingLoop and add summary application method

* Add failure telemetry, deferred cleanup, and debugName tracking for inline summarization

* Address PR review: fix empty string check, telemetry counts, cache token reporting, and test naming
* feat: add ChatHookProvider to chatPromptFiles API

Wire hooks through the same chatPromptFiles proposed API surface used
by agents, instructions, and skills:

- Add ChatHookProvider interface with onDidChangeHooks/provideHooks
- Add chat.hooks getter and chat.onDidChangeHooks event
- Add chat.registerHookProvider() registration
- Add IHookDto and $acceptHooks to ext host protocol
- Add onDidChangeHooks to IPromptsService interface and impl
- Push hook files from mainThread to ext host on change
- Fix MockPromptsService for new interface member

* polish: expand provider hook items into individual entries

The provider path was showing hooks as file-level items (e.g.
'hooks.json', 'settings.json'), while the core path expands them
into individual hook entries with type labels and command descriptions.

Add _expandProviderHookItems() that reads and parses each hook file
from the provider, expanding into the same individual entries the
core path produces (e.g. 'Session Start', 'Pre-Tool Use' with
truncated command text).
…#4952)

* feat: wire hooks through CopilotCLI customization provider

- Mirror updated chatPromptFiles d.ts with ChatHookProvider
- Add hooks/onDidChangeHooks to IChatPromptFileService interface
- Wire vscode.chat.hooks in ChatPromptFileService implementation
- Add Hook to CopilotCLI provider supportedTypes (unhides section)
- Add getHookItems() to CopilotCLI provider
- Subscribe to onDidChangeHooks for provider invalidation
- Fix all test mocks for new interface member

* chore: update vscodeCommit pointer via vscode-dts:update

* chore: remove backward compat guards for hooks API

---------

Co-authored-by: Justin Chen <54879025+justschen@users.noreply.github.com>
Wire installed agent plugins through the chatPromptFiles proposed API:

- Add ChatPluginResource interface with uri + label
- Add chat.plugins getter and chat.onDidChangePlugins event
- Add IPluginDto and $acceptPlugins to ext host protocol
- Push plugins from mainThread via autorun on IAgentPluginService
- Inject IAgentPluginService into MainThreadChatAgents2
…ropic-ai/claude-agent-sdk 0.2.81→0.2.91) (microsoft#4958)

* Initial plan

* Update Anthropic SDK packages

@anthropic-ai/sdk: 0.81.0 → 0.82.0
@anthropic-ai/claude-agent-sdk: 0.2.81 → 0.2.91

Fix compilation errors from new required stop_details field and
optional session_id in SDKUserMessage.

Agent-Logs-Url: https://github.com/microsoft/vscode-copilot-chat/sessions/52939d52-5b0e-4d10-b687-f48366a9b8cb

Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: TylerLeonhardt <2644648+TylerLeonhardt@users.noreply.github.com>
)

* chat: add startup telemetry for live chat model counts

After reviving sessions with pending edits at startup, log telemetry
with the number of live chat models, how many are open in widgets,
how many are background-only, and how many are kept alive solely
because they have unaccepted edits.

- Expose whenSessionsRevived promise on IChatService
- Add browser-layer contribution that awaits revival + uses
  IChatWidgetService to classify models without hard-coded strings

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

* address review: error handling, void fire-and-forget, referenceCount check

- Wrap reviveSessionsWithEdits with .catch() to avoid unhandled rejection
- Mark logTelemetry() as void fire-and-forget
- Check referenceCount === 1 for modelsKeptAliveOnlyForEdits

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove chat.statusWidget.anonymous setting
…ions (microsoft#307677)

* agentHost: archive and store archive state for remote agent host sessions

* stub IStorageService in remote agent host sessions provider tests
* agentPlugins: clone locally when in a remote

The git extension runs on the remote side, so it's not suitable to use to clone. This just does it directly.

I would kind of like to just take this path in all cases since I previously had to add some internal commands in the git extension. But for now going into next release this only affects the remote case which was previously broken.

Closes microsoft#298701

* cleanup

* comments
* Sessions: preserve cancelled session content in list

When a session is stopped before the agent commits a worktree, keep it
in the sessions list with Completed status instead of removing it. This
lets the user review whatever content the agent produced before
cancellation.

- Use CancellationError in _waitForCommittedSession to distinguish
  cancellation from unexpected failures
- On CancellationError in _sendFirstChat/_sendSubsequentChat, set
  Completed status and fire a changed event instead of removing
- Add tests for committed-then-stopped and cancelled-before-commit flows

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

* Address review: defer CancellationError until timeout, remove unused variable

- Move isCanceled check from the early-exit path to after the 5s
  safety timeout so a late commit event (user stops after worktree was
  initiated but before IPC finishes) is not missed.
- Remove unused changes variable in committed-session test.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ft#4962)

* feat: wire plugins through CopilotCLI customization provider

Consume the new chat.plugins API and plumb it through to the
CopilotCLI customization provider:

- Mirror updated chatPromptFiles d.ts with ChatPluginResource
- Add plugins/onDidChangePlugins to IChatPromptFileService interface
- Wire vscode.chat.plugins in ChatPromptFileService implementation
- Add Plugins to CopilotCLI provider supportedTypes (unhides section)
- Add getPluginItems() to CopilotCLI provider
- Subscribe to onDidChangePlugins for provider invalidation
- Fix all test mocks for new interface member
- Add plugin tests (type, name, combined items, onDidChange)

Depends on: microsoft/vscode josh/plugins-chatpromptfiles-api

* chore: update vscodeCommit pointer via vscode-dts:update
The anthropic.thinking.forceExtendedThinking experiment is done.
Remove the setting definition, package.json entry, and all usage
sites. Code now always uses adaptive thinking when supported.
hediet and others added 30 commits April 7, 2026 18:38
…sues' (microsoft#308245)

Co-authored-by: Copilot <copilot@github.com>
…ds for enhanced tool interaction (microsoft#307961)

* feat: add optional chatSessionResource parameter to MCP gateway methods for enhanced tool interaction

* Apply suggestion from @Copilot

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

* Apply suggestion from @Copilot

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

* Add tests

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…icrosoft#307781)

* sessions: return to sign-in screen after sign out (microsoft#307660)

Wait for the default account sign-out flow to finish before resetting the sessions welcome state, then reopen the welcome overlay once entitlement falls back to Unknown.

This preserves the existing transient Unknown handling for token refreshes while making explicit sign-out immediately return users to the sign-in screen and block the sessions UI until they sign in again.

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

* sessions: avoid sign-out welcome race (microsoft#307660)

Attach the entitlement listener before re-checking for the Unknown state so the sessions sign-out flow cannot miss the transition while the listener is being registered.

Also add regression coverage for the edge case while preserving the existing welcome-reset behavior after sign-out.

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

* sessions: share welcome reset flow (microsoft#307660)

Use the welcome reset implementation directly from the sign-out flow instead of routing product behavior through the developer-only reset command.

This also fixes the Browser/Electron CI failure by updating the welcome test to exercise the shared reset logic directly instead of relying on ICommandService from the test harness.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…crosoft#307744)

Remove the "(Preview)" suffix from the Chat Customizations command
titles and remove the `chat.customizationsMenu.enabled` setting that
gated the feature. The customizations editor is now always available
when chat is enabled.

- Remove ChatCustomizationMenuEnabled constant and setting registration
- Simplify when-clauses to only check ChatContextKeys.enabled
- Remove legacy gear submenu fallback for disabled state
- Clean up unused imports across 3 files
- Update AI_CUSTOMIZATIONS.md documentation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* switch to gh hosted runners (microsoft#308241)

Move the Copilot PR checks off the 1ES self-hosted pools and onto the same GitHub-hosted Ubuntu and Windows images used by the rest of the workflow.

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

* fix: install xvfb for copilot linux tests on gh-hosted runner

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

---------

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

Skip the builtinCG for extensions without a repo
…icrosoft#308252)

When clicking 'Configure Custom Agents...' in the chat input mode
picker dropdown, pass AICustomizationManagementSection.Agents to the
OpenEditor command so the customizations editor opens directly to the
agents page instead of the previously viewed page.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…osoft#308284)

- Fix .ci-status-widget-list not being in the DOM: append the
  listContainer wrapper instead of extracting the inner .monaco-list,
  so that CSS rules targeting .ci-status-widget-list (including the
  existing border-radius: 4px on .monaco-list-row) now apply.
- Add height: 100% to .ci-status-widget-list so it correctly fills the
  body node after being made a DOM wrapper.
- Update .changes-view-body .chat-editing-session-container.show-file-icons
  .monaco-list-row border-radius from 2px to 4px to match.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
…soft#308285)

Move horizontal padding from the scroll container to individual session
item rows so that section headers (group titles) span edge-to-edge on
hover while session cards keep their inset with rounded corners.

Fixes microsoft#307718

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…crosoft#308273)

* Add routing_method experiment variable for A/B/C hydra experiment

Port of microsoft/vscode-copilot-chat#4947.

- Add AutoModeRoutingMethod experiment-based setting
- Extend RouterDecisionResponse with HYDRA/fallback metadata
- Pass routing_method in router request body when set by ECS
- Handle fallback=true responses in AutomodeService

* Address Copilot review: fix telemetry, JSDoc, fallbackReason cardinality

- Add routingMethod, fallback, fallbackReason to automode.routerDecision telemetry
- Update GDPR annotation to include 'fallback' in predictedLabel values
- Fix AutoModeRoutingMethod JSDoc to clarify it only controls routing_method
  value, not whether the router is called (gated by UseAutoModeRouting)
- Fix fallbackReason high-cardinality: use bounded 'routerFallback' value
  instead of embedding server-provided fallback_reason string
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.