chat: preserve conversation ID for BYOK Responses - #332059
Merged
Vritant Bhardwaj (vritant24) merged 1 commit intoAug 21, 2026
Merged
Conversation
Forward the conversation identifier through extension-contributed model options so Responses endpoints can generate prompt_cache_key.\n\nFixes #332031\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot started reviewing on behalf of
Vritant Bhardwaj (vritant24)
August 21, 2026 22:42
View session
Vritant Bhardwaj (vritant24)
enabled auto-merge
August 21, 2026 22:42
Contributor
There was a problem hiding this comment.
Pull request overview
Preserves conversation IDs across the extension language-model boundary so BYOK Responses endpoints can generate stable prompt cache keys.
Changes:
- Adds conversation ID to internal model options.
- Restores it in the BYOK endpoint request.
- Adds coverage for enabled, disabled, and missing-ID cases.
Show a summary per file
| File | Description |
|---|---|
extChatEndpoint.ts |
Forwards conversation IDs through model options. |
languageModelAccess.ts |
Restores conversation IDs for endpoint requests. |
customEndpointProvider.spec.ts |
Tests prompt cache key behavior end to end. |
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 3/3 changed files
- Comments generated: 0
- Review effort level: Balanced
TylerLeonhardt
approved these changes
Aug 21, 2026
Vritant Bhardwaj (vritant24)
deleted the
agents/vscode-issue-332031-investigation
branch
August 21, 2026 23:44
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.
Summary
prompt_cache_key.Fixes #332031
Technical context for AI-assisted review
Intent and previous behavior
Agent requests provide a conversation ID, and the Responses serializer uses it to generate
prompt_cache_key. Extension-contributed models rebuild the request on both sides of thevscode.lmboundary, but that bridge did not preserve the conversation ID. BYOK Responses requests therefore reached serialization without the value.Implementation
The typed internal model-options contract now carries the conversation ID across the extension-contributed language model boundary.
ExtensionContributedChatEndpointencodes the value before invokingvscode.lm, andCopilotLanguageModelWrapperrestores it when invoking the underlying BYOK endpoint.Behavior and constraints
prompt_cache_key.CapturingToken.chatSessionId, whose subagent semantics can differ from the originating conversation ID.