agentHost: bump @github/copilot to 1.0.34#311964
Merged
roblourens merged 9 commits intomainfrom Apr 22, 2026
Merged
Conversation
From #311751 Co-authored-by: Copilot <copilot@github.com>
- Unrelated: fix local agent host being broken on main following some overnight cleanups - Register a JSON schema for agent session settings (only when they're open since it has a perf cost) - When there are multiple custom approval buttons, show them in a dropdown similar to other tool calls.
Matches the version used in extensions/copilot. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…' into roblou/agents/bump-github-copilot-packages
After bumping @github/copilot to 1.0.34, listModels() returns a synthetic
'auto' router entry shaped like { id: 'auto', name: 'Auto', capabilities: {} }.
The SDK's ModelInfo type still declares capabilities.limits.max_context_window_tokens
as required, so reading it crashed _listModels and zeroed out the model list.
Wrap the SDK type in a local ICopilotModelInfo with the actually-optional
fields marked optional, and skip entries lacking max_context_window_tokens
with a warn log instead of throwing.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
Screenshot ChangesBase: Changed (5) |
Instead of dropping the synthetic 'auto' router model, make IAgentModelInfo.maxContextWindow optional and pass it through as undefined when the SDK doesn't report a fixed context window. The agentHostLanguageModelProvider already handles undefined via '?? 0', and the protocol state type already had the field optional. Update the real-SDK listModels test to allow undefined maxContextWindow and to assert the 'auto' entry is present. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the agent host’s Copilot SDK dependency to align versions across the repo and adjusts agent-host/session UX code to accommodate updated SDK/runtime behaviors.
Changes:
- Bump
@github/copilotfrom^1.0.28to^1.0.34in root +remote/. - Harden Copilot agent model listing against SDK “synthetic” model entries that omit capabilities (skip with warning instead of throwing).
- Add lazy per-session JSON schema registration for
agent-session-settings://…documents so editors get schema-driven completions/validation.
Show a summary per file
| File | Description |
|---|---|
| src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.ts | Refactors custom tool confirmation options into grouped primary/secondary buttons with overflow actions. |
| src/vs/sessions/contrib/agentHost/test/browser/agentSessionSettingsFileSystemProvider.test.ts | Extends tests to cover lazy schema registration, refresh on config change, and disposal on session removal. |
| src/vs/sessions/contrib/agentHost/browser/localAgentHost.contribution.ts | Ensures agent-host chat + terminal contributions are registered in the Sessions app. |
| src/vs/sessions/contrib/agentHost/browser/agentSessionSettingsFileSystemProvider.ts | Registers per-session JSON schemas lazily and keeps them in sync with session config changes. |
| src/vs/sessions/contrib/agentHost/browser/agentSessionSettings.contribution.ts | Wires up the schema registrar when registering the settings FS provider. |
| src/vs/platform/agentHost/node/copilot/copilotAgent.ts | Wraps SDK listModels() types defensively and filters models missing required runtime fields. |
| package.json | Bumps @github/copilot dependency range to ^1.0.34. |
| package-lock.json | Updates lockfile entries for @github/copilot 1.0.34 and platform-specific optional deps. |
| remote/package.json | Bumps @github/copilot dependency range to ^1.0.34. |
| remote/package-lock.json | Updates lockfile entries for @github/copilot 1.0.34 and platform-specific optional deps. |
Copilot's findings
Files not reviewed (1)
- remote/package-lock.json: Language not supported
- Files reviewed: 10/12 changed files
- Comments generated: 2
osortega
approved these changes
Apr 22, 2026
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Bumps
@github/copilotfrom^1.0.28→^1.0.34in the root andremote/package.json files, matching the version already pinned inextensions/copilot.@github/copilot-sdkwas already at the latest published version (^0.2.2) so it's unchanged.Fix: tolerate synthetic models with empty capabilities
The 1.0.34 SDK's
listModels()now returns a syntheticautorouter entry shaped like:{ "id": "auto", "name": "Auto", "capabilities": {} }The SDK's
ModelInfotype still declarescapabilities.limits.max_context_window_tokensas required, so reading it threw and zeroed out the entire model list:Wrapped the SDK type in a local
ICopilotModelInfowith the actually-optional fields marked optional, and skip entries lackingmax_context_window_tokenswith a warn log instead of throwing.Validation
npm installclean (root + remote + extensions)npm run compile— 0 errorsagentHostintegration test suites passingAGENT_HOST_REAL_SDK=1) including the newlistModels returns well-shaped model entries after authenticatetest passes(Written by Copilot)