[pull] main from microsoft:main#1384
Merged
Merged
Conversation
Co-authored-by: Copilot <copilot@github.com>
…ose fix Picks up xterm.js commit 08ae141 (xtermjs/xterm.js#5826) which adds dispose / hasRenderer guards in OverviewRulerRenderer and cancels its pending requestAnimationFrame on dispose. This addresses the long-standing 'Cannot read properties of undefined (reading ''dimensions'')' crash tracked in #303546.
* Add experimental alt prompt for Claude Opus 4.7 behind chat.claude47OpusPrompt.enabled setting * Address council review feedback for Opus 4.7 prompt
Had a temporary fork to support the in-progress relay client connections
…rities.rewrite (fixes #314124) The cloud platform delegate in RemoteAuthorities.rewrite() can throw during startup before the connection is established. This error is already handled (the original URI is returned as fallback), but it was being reported via onUnexpectedError which emits to telemetry listeners. Switch to onUnexpectedExternalError which still logs the error but does not emit to telemetry, matching the intent that this is an expected race condition from external code. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…view-ruler-fix chore(deps): bump @xterm/* to beta.213 to pick up overview ruler dispose fix
…ice (#314194) * feat(agent-host): gate inbound filesystem RPCs with a permission service Reverse `resource{Read,List,Write,Delete,Move}` from remote agent hosts were routed straight to `IFileService` with no authorization. Add a permission service that gates each reverse RPC, returns typed `PermissionDenied` with `data.request`, handles negotiation via the new `resourceRequest` reverse RPC, and surfaces a Deny / Allow / Always Allow prompt above the chat input. URIs are canonicalized through `IFileService.realpath` before comparison so `..` and symlinks can't escape grants. Implicit read grants are auto-registered for customization URIs the client sends to the host, so plugin sync remains friction-free. Always-Allow grants persist into a new user setting, `chat.agentHost.localFilePermissions`. * comments and tests
cli: move back to microsoft/dev-tunnels
Pick up latest md language server
* Fixes component fixture errors * refactor: replace empty mock with MockChatModeService in chat fixture services
* add ChatSkill.disableModelInvocation * update
Pre-scan the full message history before applying the previous_response_id slice, so tool_search_call ids and loaded tool names are remembered even when the assistant message that emitted the tool_search call carries the stateful marker (and is therefore dropped from the post-marker slice). Without this, the subsequent tool result was serialized as a plain function_call_output instead of tool_search_output, leaving deferred MCP tool definitions unloaded on the server and the model unable to invoke them. Fixes #313899
* Reduce token usage of "add element to chat" Co-authored-by: Copilot <copilot@github.com> * feedback --------- Co-authored-by: Copilot <copilot@github.com>
* chronicle skill * chronicle skill updates Co-authored-by: Copilot <copilot@github.com> * Feedback updates Co-authored-by: Copilot <copilot@github.com> * tests update * Fix tsc err Co-authored-by: Copilot <copilot@github.com> * few updates --------- Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Anthony Kim <62267334+anthonykim1@users.noreply.github.com>
…te-error-314124-c7580a277ba21472 fix: use onUnexpectedExternalError for delegate errors in RemoteAuthorities.rewrite (fixes #314124)
* Add title bar Open in Agents entry and profile Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix creating agents window profile --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…on welcome page (#314232)
Populate promptContext.tools in AgentIntent.handleSummarizeCommand so historical assistant turns with tool calls survive into the summarization prompt. Without this, <ChatToolCalls> drops them and the compaction request contains no assistant role blocks. Fixes #313633
#314262) Adopt the AHP protocol's WebSocket-style version negotiation: clients now send `protocolVersions: string[]` (SemVer) and the server picks one, returning `UnsupportedProtocolVersion` (-32005) with a typed `UnsupportedProtocolVersionErrorData { supportedVersions }` payload when nothing matches. Removes the legacy numeric `PROTOCOL_VERSION` / `MIN_PROTOCOL_VERSION` / `capabilitiesForVersion` API in favor of the generated registry under `state/protocol/version/`. Surface the new error to users in the agents workspace picker: - `RemoteAgentHostConnectionStatus` is now a discriminated union with a new `incompatible` variant that carries the host's rejection message, the versions we offered, and the versions the host advertised. - The picker entry for an incompatible host renders with `Codicon.warning`, an "Incompatible" label, and a hover that includes the host's message. - Clicking the entry opens the management quickpick with a title ("Options for <label> (<address>)") and a sticky `Severity.Warning` validation banner explaining the version mismatch and pointing at how to recover. Other failure states are unchanged. - Auto-reconnect is suppressed only on -32005; network-level failures keep their existing exponential backoff. Manual Reconnect clears the state and retries. WebSocket, SSH, and tunnel paths share one helper (`RemoteAgentHostConnectionStatus.fromConnectError`) so they all surface incompatibility identically. Tests updated to the new wire shape; new server-side test covers the -32005 rejection path, new client-side tests cover the offered SemVer array and the typed error data, new tests cover the picker label, hover, and validation banner.
Allow `installPluginFromSource` to install repositories that ship a single plugin manifest at the root (e.g. `.claude-plugin/plugin.json`) instead of requiring a `marketplace.json` index. When the marketplace scan returns no plugins, we now fall back to detecting a plugin manifest at the repo root, treating the cloned repo itself as one plugin. - Adds `readSinglePluginManifest` to `IPluginMarketplaceService`, mirroring the existing `MARKETPLACE_DEFINITIONS` table with `.plugin/plugin.json`, `.claude-plugin/plugin.json`, and root `plugin.json` candidates (order matches `detectPluginFormat`). - Wires the fallback into `_doInstallFromSource`: on a hit we install via the existing git-source path so the temp clone is reused. Single-plugin repos are not added to `chat.plugins.marketplaces` config since they are not marketplaces. - Honors `options.plugin` name matching for parity with the marketplace path. - Updates `_hydratePluginMetadata` to fall back to the same single-plugin lookup so installed entries survive a window reload. - Adds install-service tests covering the success, name-mismatch, and no-manifest-found paths. (Commit message generated by Copilot)
* Mobile home screen tweaks * Full * Update * Updates * Updates
…set (#314275) Anthropic's web_search tool rejects requests that set both allowed_domains and blocked_domains. Previously the BYOK provider silently used allowed domains when both VS Code settings were populated, hiding the misconfiguration. Now we surface a clear, localized error in chat instead. Fixes #275418
Map known agent provider IDs to their branded codicons in session type entries built from rootState agents: - providers containing 'copilot' → Codicon.copilot - providers containing 'claude' → Codicon.claude - 'openai' or providers containing 'codex' → Codicon.openai - unrecognised providers → provider's host icon (vm / remote) The provider-level icon (vm for local, remote for remote) is unchanged since it represents the host, not any specific agent. Only the per- session-type icons benefit from agent-specific branding. Also adds iconForAgentProvider() helper to session.ts and covers the new icon assignment with tests in both local and remote provider suites. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The rename action's when-clause regex only matched '/^agenthost-/', which excluded the local agent host (provider id 'local-agent-host'). Use the shared ANY_AGENT_HOST_PROVIDER_RE helper so rename is offered for both local and remote agent host sessions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Do no fail component explorer check if fixture had errors
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )