Repository navigation
agentHost: bump Copilot SDK to 1.0.23-preview.4 - #342199
Closed
roblourens wants to merge 4 commits into
Closed
roblourens wants to merge 4 commits into
roblourens wants to merge 4 commits into
Conversation
Align desktop and remote SDK/runtime pins. Regenerate managed-settings and assisted-permission wire artifacts while preserving approval and filesystem assertions. Remove the pre-existing duplicate Git-state test helper property that blocked client type checking. Co-authored-by: Copilot <[email protected]>
Contributor
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Final full-suite replay and packaged cross-platform acceptance remain pending for the native runtime upgrade.
No open issues 🎉
1 file not reviewed
remote/package-lock.json: Generated file
What changed in this PR
Updates the Agent Host’s Copilot SDK and bundled runtime consistently across desktop and remote installations.
Changes:
- Pins SDK
1.0.23-preview.4and runtime1.0.100-0, including all optional platform packages. - Refreshes assisted-permission captures, the managed-settings schema snapshot, and related documentation.
- Removes a duplicate test-helper property that blocked type checking.
No actionable findings remain; final acceptance validation is still pending.
| File | Description |
|---|---|
| src/vs/platform/agentHost/test/node/e2e/README.md | Documents capture guarantees and runtime-owned schema controls. |
| src/vs/platform/agentHost/test/node/e2e/captures/copilotcli-managed-write-denial-prevents-mutation-under-assisted.yaml | Refreshes write-denial judge exchange. |
| src/vs/platform/agentHost/test/node/e2e/captures/copilotcli-managed-write-approval-remains-one-time-under-assisted.yaml | Refreshes one-time write-approval exchanges. |
| src/vs/platform/agentHost/test/node/e2e/captures/copilotcli-managed-read-approval-remains-one-time-under-assisted.yaml | Refreshes one-time read-approval exchanges. |
| src/vs/platform/agentHost/test/node/agentHostGitStateService.test.ts | Removes duplicate gitService property. |
| src/vs/platform/agentHost/test/node/__snapshots__/Copilot_SDK_-_managed_settings_bundled_managedSettings_schema_matches_the_snapshot.schema.json | Updates telemetry controls, MCP names, and runtime version. |
| remote/package.json | Updates remote SDK and runtime pins. |
| remote/package-lock.json | Locks matching remote platform packages. |
| package.json | Updates desktop SDK and runtime pins. |
| package-lock.json | Locks matching desktop platform packages. |
Review effort: Balanced
…pilot-sdk-version-13d75160
Document the upstream callback-local Assisted approval contract after merging main to obtain its duplicate-import build fix. SDK pins and generated captures are unchanged. Co-authored-by: Copilot <[email protected]>
Shut down the real Copilot client before deleting quick-chat scratch homes. Azure macOS and Linux tests exposed concurrent native log writes causing ENOTEMPTY, skipped disposal, and cascading retry-timer leak failures. Preserve every test assertion and do not add deletion retries or delays. Co-authored-by: Copilot <[email protected]>
This was referenced Oct 17, 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.
Summary
Upgrade the preview line from
@github/copilot-sdk1.0.23-preview.2 → 1.0.23-preview.4, bundling runtime 1.0.99-2 → 1.0.100-0, on desktop and remote. Stablelatestis 1.0.22, so selecting it would downgrade the existing preview.Draft: local validation of the merged revision passed; remote acceptance validation is in progress. This is not yet an accepted upgrade. No issue was filed for this maintenance change.
Change ledger
All 10 changed files against the merged
mainbase are accounted for below. The merge of currentorigin/mainwas required to obtain the baseline duplicate-import build fix; its 62 changed files are upstream history, not additional SDK-upgrade changes.package.jsonandpackage-lock.json(4 files)src/vs/platform/agentHost/test/node/__snapshots__)telemetry.headersProvider(shell-free executable/arguments, optional refresh interval, orfalse), require an endpoint for a provider object; extend exact case-sensitive MCPserverNamenames to dots/slashes; update reported runtime versione2e/captures)claude-sonnet-5model and nativeview/createinventory; unchanged 6/6/3 exchange counts. Requests, roles, history, tool wiring, actual reads/writes and prevented mutations remain asserted. No normalizer, exception, assertion, or gate was weakened by this PRcopilotAgent.test.ts(1 file)ENOTEMPTY), which prevented disposal and cascaded into model-refresh timer leak failurese2e/README.md(1 file)No full-model prompt baseline changed, no model set/tool inventory changed, and no known-issue gate was added or removed. The read fixture's assistant prose interprets the test sentinel as a placeholder; actual successful native read output is independently asserted, so prose is not used as an execution oracle.
Upstream prerequisites, not changes remaining in this PR
The initial source revision had a duplicate
gitServicehelper property (TS1117, introduced by Ladislau Szomoru on 2026-10-16 in a7e1fc0) and duplicateagentHostBranchChangesetScopeimports (Product-wide ESLint failure). The approved one-line property fix was initially included here; mergingorigin/mainincorporated the same upstream corrections, so it no longer appears in the PR diff. Product build 485443 detected the duplicate import and was canceled along with obsolete supplemental build 485450.The merge also incorporates upstream #341889, which intentionally changes managed Assisted behavior: an approving callback-local derived judge verdict authorizes one operation without another human prompt, while missing/unsupported verdicts require human confirmation and reusable grants remain forbidden. Upstream updates the existing E2E assertions accordingly and additionally requires exactly one native tool call per turn. That intentional behavior shift is from
main, not a weakened SDK-upgrade assertion. The README now describes the current contract. This behavior deserves reviewer awareness; pre-merge results do not validate the merged implementation.Provenance and focused risk review
Inspected/shipped runtime revisions (not alleged introducing commits):
cli-1.0.99-2:c9e96f9dbdbbce59d7e045d5abc3590136576cf7.cli-1.0.100-0:f6f1d8977c6f1177d86b58a963a8f59c5238101d.Complete local Git inventories cover 87 commits / 2,488 changed files; inventory completeness is not exhaustive patch-review depth. Reviewed the Node SDK source delta and focused runtime changes around approvals/sandbox, authentication, additional-directory hooks, managed plugin discovery, MCP OAuth/tool readiness, session/history/persistence restructuring, and native telemetry. Much of the runtime delta is an event/session leaf-crate extraction; other SDKs, CLI UI, tests and CI are not all shipped Agent Host behavior.
The judge request change is source-attributed to Tamás Szabó's 2026-10-16 commit
75d668a64aa(github/copilot-agent-runtime#27025), not to the release-tag commit. Native inference histogram names also change togen_ai.client.inference.{duration,time_to_first_chunk,time_per_output_chunk}; non-inference operation duration remains separate. New SDK RPC/events are additive for this integration; fresh client type checking found no required production caller adaptation.Local validation
npm installat repository rootcopilotCliVersion1.0.100-0, all eight platform entries in each lockfile; no unrelated entry changednpm run typecheck-clientnpm run build-fast -- --client-onlynpm run test-agent-host-e2e -- --jobs 2./scripts/test-integration.sh --runGlob '**/agentHost/test/node/{providerIntegration/*,e2e/providers/copilotPromptsE2E,e2e/providers/codexAgentHostLive,copilotSdkManagedSettings}.integrationTest.js'./scripts/test-integration.sh --run src/vs/platform/agentHost/test/node/e2e/providers/copilotManagedSettingsAgentHostE2E.integrationTest.tsenv -u COPILOT_HOME -u COPILOT_CACHE_HOME ./scripts/test.sh --run src/vs/platform/agentHost/test/node/agentHostGitStateService.test.ts --reporter dotenv -u COPILOT_HOME -u COPILOT_CACHE_HOME ./scripts/test.sh --run src/vs/platform/agentHost/test/node/copilotAgentSession.test.ts --run src/vs/platform/agentHost/test/node/copilotSessionLauncher.test.ts --run src/vs/platform/agentHost/test/node/copilotManagedSettings.test.ts --run src/vs/platform/agentHost/test/node/agentHostGitStateService.test.ts --reporter dotenv -u COPILOT_HOME -u COPILOT_CACHE_HOME ./scripts/test.sh --run src/vs/platform/agentHost/test/node/copilotAgent.test.ts --reporter dotenv -u COPILOT_HOME -u COPILOT_CACHE_HOME ./scripts/test.sh --run src/vs/platform/agentHost/test/node/copilotAgent.test.ts --grep 'quick chat scratch directory' --reporter dotnpm run eslint -- src/vs/platform/agentHost/test/node/agentHostGitStateService.test.tsnpm run agent-host:check-copilot-meta -- --source /Users/roblou/code/copilot-host--sourcereported usage rather than validatinggit diff --check; normal signed/hooked commitGenerated artifacts used
AGENT_HOST_UPDATE_AHP_SNAPSHOTS=1for the schema andAGENT_HOST_REPLAY_RECORD=1with exact assisted-test title selectors for captures. No fixture was hand-edited.Telemetry evidence beyond short-schedule replay
OTEL_BSP_SCHEDULE_DELAY=100, followed by fresh output andenv -u OTEL_BSP_SCHEDULE_DELAY ./scripts/test-integration.sh --run src/vs/platform/agentHost/test/node/e2e/providers/copilotOtelAgentHostE2E.integrationTest.ts: 22 passed with default batching both before and after the main merge, including session-correlated native spans, resource identity, content restrictions, warm collector/policy changes, restart and cold resume. The original short test schedule and compiled output were restored; this diagnostic change is not in the PR.service.name=native-default-batch-probe, no captured prompt, no collector decode errors. These are native source-run measurements, not packaged Azure evidence or an export-latency guarantee.Failed attempts and remaining risks
0 !== 1) because the second live response omitted the requested tool call. Identical unmodified attempt 2 passed, including both actual reads and human approvals. Failed recording was not promoted; no parent/child or baseline/candidate live bisect was performed, so this is disclosed model variability, not proven introduced/fixed behavior.user.nameredaction, strict managed-model resume nondeterminism, unsupported-effort forwarding, and the documented cross-provider/platform gaps inKNOWN_ISSUES.md. Replay success does not prove arbitrary live behavior or resolve those defects.does not discover workspace customizations from scratchcleanup order originated with Sandeep Somavarapu on 2026-09-10 in 4e32846. The Product APIScan pre-job readiness checkpoint failed once and passed after an unchanged stage retry; no check was bypassed. Product Linux DEB/RPM preparation/generation and native optional-binary checks had passed, but those partial results are not final-revision acceptance.target is busy. It was retried unchanged; that revision was later superseded by the unit-test cleanup fix. No assertion or tmpfs teardown guard was relaxed.Remote acceptance gates
Current source SHA:
b956bf02a1cd0eb8708f6cdea957298aea8b13b0. Only unit-test teardown ordering changed after2c815943b51; its passing local production/E2E checks have unchanged relevant inputs. Remote acceptance runs execute the final SHA afresh.VSCODE_PUBLISH=false,VSCODE_RELEASE=false,VSCODE_STEP_ON_IT=false, artifact sanity opt-in enabled: 485499, running at the exact source SHA above. Effective Product mode and full stage matrix will be checked again.VSCODE_CIBUILD=false, exact source SHA, all-platform Electron integration/E2E results, Linux x64/arm64 DEB/RPM generation and native dependency checks, shipping package outputs, and applicable signing/artifact sanity. Two fresh platform executions are required for lifecycle-sensitive acceptance; checkpoint-only retries are not new executions.(Written by Copilot)