* chat: deduplicate global auto-approve warning across windows
Add CancellationToken support to IDialogService.prompt() and implement
cross-window deduplication for the global auto-approve confirmation dialog.
When \chat.tools.global.autoApprove\ is enabled, the opt-in warning
previously appeared in every window because each window independently
checked the APPLICATION-scoped storage flag and showed the dialog without
coordination.
Changes:
- Add <token?: CancellationToken> to IBaseDialogOptions, allowing dialogs
to be programmatically dismissed via cancellation
- Update BrowserDialogHandler.doShow() to register token cancellation and
dispose the dialog when the token fires
- In LanguageModelToolsService._checkGlobalAutoApprove(), use
CancellationTokenSource + storageService.onDidChangeValue listener to
detect when another window stores the opt-in flag and cancel the dialog
- Apply the same pattern to the /autoApprove slash command handler
- Within-window deduplication: pending promise cached in
_pendingGlobalAutoApproveCheck prevents duplicate dialogs from multiple
simultaneous tool invocations
After opt-in is stored by any window, other windows detect the storage
change via the token listener and cancel their dialogs. The prompt then
resolves as if approved, avoiding duplicate user interaction.
Fixes https://github.com/microsoft/vscode/issues/292150
(Commit message generated by Copilot)
* pr comments
* chat: make sendChatRequest extensionIdentifier parameter optional
Makes the 'from' parameter optional (ExtensionIdentifier | undefined) in the
sendChatRequest method chain across ILanguageModelsService, RPC protocol, and
implementations. This allows internal VS Code calls to pass undefined instead
of instantiating invalid ExtensionIdentifier('core') identifiers.
- Updates ILanguageModelsService.sendChatRequest signature
- Updates ILanguageModelChatProvider.sendChatRequest signature
- Updates ExtHostLanguageModelsShape protocol
- Updates ExtHostLanguageModels \ implementation
- Removes new ExtensionIdentifier('core') from 5 internal callers
- Passes undefined as requestInitiator when from is absent
- Bumps vscode.proposed.chatProvider API version to 5
- Updates test mocks to accept optional from parameter
Refs https://github.com/microsoft/vscode/issues/290436
(Commit message generated by Copilot)
* keep api as old version for now
* Update src/vs/workbench/contrib/mcp/common/mcpSamplingService.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* changes for showing start up errors in a dialog
* changes for showing start up errors in a dialog
* changes for showing start up errors in a dialog
* changes for showing start up errors in a dialog
* changes
* changes
* changes
* migrating to event from taillog
* changes for runtime errors
* refactoring changes
* refactoring changes
* refactoring changes
* changes
lm: fix mcpServerDefinitions proposal validation for packed extensions
Updates distro hash to include a fix for mcpServerDefinitions API proposal
validation when extensions are installed as VSIX. Extensions can now
properly declare and use vscode.lm.startMcpGateway without validation errors.
- Fixes validation logic for packed extension API proposal declarations
- Enables mcpServerDefinitions to be properly recognized in extension
package.json enabledApiProposals
- Resolves failure when calling vscode.lm.startMcpGateway on installed VSIX
extensions
Fixes https://github.com/microsoft/vscode/issues/298643
(Commit message generated by Copilot)
* chat: add plugin details editor with reactive action updates
- Implements a new AgentPluginEditor details pane that displays plugin information, readme, and action buttons for both installed plugins and marketplace items
- Adds reactive action button updates: when a plugin is enabled/disabled, installed/uninstalled, buttons update in real-time without re-rendering the entire editor
- Makes the marketplace name a clickable link to the GitHub repository (when githubRepo is available)
- Adds proper CSS classes to action buttons (install, enable, disable, uninstall) so they render correctly in the header
- Handles state transitions: marketplace items automatically become installed items when installed, and vice versa
- Supports readme rendering from local files, remote repositories, and GitHub blob URLs (converting to raw.githubusercontent.com for proper fetching)
Fixes#297246
(Commit message generated by Copilot)
* pr comments
* test
* merge
* fix circular dep
* Reduce chat input label hide threshold from 650 to 400
* Collapse chat input picker buttons to 22x22 icons at narrow widths
When the chat input is narrow (<250px), hide chevrons on mode, session
target, model, and workspace pickers. Mode and session target pickers
collapse to centered 22x22 icon-only buttons matching the add-context
button size. Update actionMinWidth to 22 and toolbar gap to 4px.
* Simplify chat input toolbar responsive behavior
* Apply initial hideChevrons state in render()