Repository navigation
Conversation
95c0eb8 to
73f71d6
Compare
|
Thank you for the PR! The reasoning makes sense, but this looks like a significant change. Could we propose this change upstream directly rather than try maintaining it as a patch here? I think the VS Code maintainers would find it valuable as well, since presumably Codespaces has the same problems, or anyone running regular VS Code in the web. |
|
Exact-head VS Code 1.141 verification update:
Upstream Actions run |
|
Yes — I found an existing VS Code issue that tracks the same problem directly: microsoft/vscode#340335 ("BYOK Support for Copilot Agent Host Harness"). It explicitly calls out both the Extension Host dependency and continuity across remote clients. I added the validated code-server/web reproduction, the 1.140 live detach result, and the exact VS Code 1.141 test/build evidence there: microsoft/vscode#340335 (comment) Their proposed long-term direction is Plugin-provided configurable model providers, which is broader than the direct-descriptor bridge in this PR. I am leaving this PR open as a tested reference rather than opening a competing VS Code PR blindly; I can adapt/split the implementation once the VS Code owner confirms which pieces fit that direction. |
Fixes #8046
Motivation
code-server is a remote IDE, so long-running agent work should be owned by a server-side lifecycle rather than by a browser tab. For direct-capable Copilot Chat BYOK providers, this change lets the remote Agent Host own model execution so an active turn is not tied to renderer/tab lifetime.
Design
syncEphemeralByokModelsdata stays process-memory-only and is centrally redacted before AHP JSONL serialization.Files changed
patches/copilot-background-byok.diffpatches/copilot-agenthost-session-changes.diffpatches/seriesCurrent VS Code 1.141 verification
Current PR head:
73f71d62f4b26c04dd50b595a3837231a1b5b6aaPinned VS Code gitlink:
2a59476c9bfcb90b3ddc372c36762471b7dfad1c(VS Code 1.141)Executed on the 1.141 port:
copilotSessionLauncher.test: 109/109 pass;byokLmBridgeRegistry.test: 11/11 pass;protocolServerHandler.test: 175/175 pass;ahpJsonlLogger.test: 14/14 pass, including the credential-redaction sentinel;AgentHostByokLmHandler: 22/22 pass;AgentHostSessionInputPills: 22/22 pass, including folder -> Session Changes.Exact-head isolated ARM64 release verification is now GREEN for
73f71d62f4b26c04dd50b595a3837231a1b5b6aa: fullbuild:vscodecompleted (includingcore-cidesktop/server/server-web bundles), code-server build completed, release materialized successfully, and a fresh out-of-container checksum verification passed 5897/5897 files. The built runtime reports73f71d62f4b26c04dd50b595a3837231a1b5b6aawith Code1.141.0.GitHub Actions status
Upstream Build run
37796020383was created for exact head73f71d62f4b26c04dd50b595a3837231a1b5b6aa, but GitHub currently reportsaction_requiredwith zero jobs created. The workflow is waiting for the repository's fork-workflow approval; no CI test has executed or failed yet.Historical note
The earlier VS Code 1.140 candidate
95c0eb85d4265925751949f729851901e8e9db0dpassed its isolated build, fork CI, and live background/detach acceptance. Those results are historical evidence only and are not presented as exact-head verification for this 1.141 port.Upstream coordination
A code-server maintainer suggested upstreaming this behavior directly to VS Code rather than maintaining the server-ownership change as a code-server patch.
VS Code already tracks the exact remote-BYOK ownership/continuity problem in microsoft/vscode#340335, under the broader BYOK plan in microsoft/vscode#340086. The VS Code direction is Agent Host-owned model-provider plugins rather than a direct port of
chatLanguageModels.json. The validated implementation and evidence from this PR have been posted to that issue for reference: microsoft/vscode#340335 (comment).This PR remains open as the exact tested reference. I am not opening a competing VS Code implementation until the owner confirms which pieces should be adapted to the plugin-provider direction.