vs-code-engineering[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>vs-code-engineering[bot] <122617954+vs-code-engineering[bot]@users.noreply.github.com>CopilotPaul Wang
* chore: bump @github/copilot-sdk to 1.0.11-preview.2 and @github/copilot to 1.0.80-1
* Adapt agentHost to SDK JsonValue tool-args/settings widening
SDK 1.0.11-preview.2 widened PermissionRequest custom-tool args,
tool.execution_start arguments, callTool arguments, and managed-settings
resolved data from Record<string, unknown> to the recursive JsonValue type.
Migrate the VS Code call sites (and their tests) to the new contract,
narrowing JsonValue back to an object where property access is needed.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix Copilot agent host E2E regressions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e206fce0-c0c1-4d83-8462-4fca8ed4d5cc
* Update Copilot CLI to 1.0.80
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e206fce0-c0c1-4d83-8462-4fca8ed4d5cc
* Isolate Copilot state in smoke tests
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e206fce0-c0c1-4d83-8462-4fca8ed4d5cc
* Isolate Codex state in smoke tests
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e206fce0-c0c1-4d83-8462-4fca8ed4d5cc
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: vs-code-engineering[bot] <122617954+vs-code-engineering[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Paul Wang <8560030+pwang347@users.noreply.github.com>
Copilot-Session: e206fce0-c0c1-4d83-8462-4fca8ed4d5cc
* Revert "Revert new TAS endpoint changes (#330175)"
This reverts commit f30e3f3600.
* Re-land new TAS assignments endpoint with proxy-aware transport + tas-call telemetry
* bump remote + remote/web to tas-client 0.4.3
* Add tests and feedback update
* Revert "New TAS assignments endpoint updates (lifecycle, readiness, disposal) (#329736)"
This reverts commit c780ea9613.
* Revert "Add new exp TAS assignments endpoint (/api/v1/assignments) alongside legacy TAS (#329653)"
This reverts commit 58dc612992.
* Fix lockfile: add MIT license fields to reverted tas-client entries
* chore: bump @github/copilot-sdk to 1.0.10-preview.0 and @github/copilot to 1.0.79-9
* Align managed-settings snapshot with SDK 1.0.10 contract
ManagedSettingsResolvedData widened its source union with 'client'/'mixed'
and added an optional clientManaged flag; mirror both on
IAgentHostManagedSettingsSnapshot so the spread in copilotAgent.ts typechecks.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Gate Copilot terminal command-detection E2E test as record-only
The 'custom terminal tool preserves a nonzero shell exit code' test asserts on
live shell-integration state (supportsCommandDetection + OSC 633 command part)
captured from a real PTY in real time, which cannot be preserved across a
deterministic replay; the SDK/CLI bump's altered turn timing surfaced the
non-determinism on the macOS product build. Gate it record-only like the
sibling async shell-lifecycle tests and document it in KNOWN_ISSUES.md.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* test: keep terminal metadata E2E enabled
Select bash explicitly on POSIX so the custom terminal test reliably receives OSC 633 command metadata during deterministic replay. Remove the record-only gate and obsolete known-issue entry.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: vs-code-engineering[bot] <122617954+vs-code-engineering[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Josh Spicer <23246594+joshspicer@users.noreply.github.com>
Update @vscode/codicons version to 0.0.46-35 and add 'close-small' icon to codiconsLibrary
Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
* agentHost: run E2E suites in parallel
Run the deterministic conformance and provider entrypoints concurrently while preserving serial server reuse within each suite. Integrate the parallel runner into coverage and full integration runs.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* agentHost: harden parallel E2E runner
Preserve Windows argument boundaries through a PowerShell wrapper and fail coverage runs when a worker does not emit protocol-surface observations.
(Written by Copilot)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* agentHost: stabilize terminal clear E2E test
Wait for a marker that appears only in command output, not in the shell's echoed input, before clearing terminal state.
(Written by Copilot)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chore: bump @github/copilot to 1.0.79-2
* fix: pin @github/copilot to 1.0.79-2 exactly
Caret range ^1.0.79-2 resolved to a canary build during lockfile
validation. Pin the prerelease so package-locks stay deterministic.
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Anthony Kim <anthonykim@microsoft.com>
Co-authored-by: Anthony Kim <62267334+anthonykim1@users.noreply.github.com>
* chore: bump @github/copilot-sdk to 1.0.9-preview.3 and @github/copilot to 1.0.78
* Adapt agentHost to SDK 1.0.9-preview.3 type contract
SDK 1.0.9-preview.3 changed several session-events/rpc types consumed by
agentHost:
- Model dropped defaultReasoningEffort; pass undefined so the schema resolver
falls back (BYOK IByokLmModelInfo path is unaffected and keeps the field).
- Added factory permission kind; add 'factory' to the host permissionKind union.
- Added factory_completed system notification; handle it in the notification
switch with localized status messages.
- ShutdownData gained required fields; widen the test cast via unknown.
- PermissionPromptRequestPath dropped managedApprovalRequired; remove it from
the path promptRequest test literal (the permissionRequest still carries it,
which is what the host reads).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Adapt customizations test to new builtin skill in CLI 1.0.78
CLI 1.0.78 ships an additional builtin skill (github-pr-media) alongside
customize-cloud-agent; generalize the test's builtInCustomizations filter to
strip any @github/copilot builtin skill dir so discovery assertions stay green.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Regenerate Copilot prompt snapshots for CLI 1.0.78
CLI 1.0.78 reworded its baked-in system prompt (consolidated tips_and_tricks/SQL/session-context guidance and added the github-pr-media builtin skill), so the committed AHP prompt baselines no longer matched the wire prompt and the copilotPromptsE2E integration test failed in product build 461312. Regenerated the baselines via AGENT_HOST_UPDATE_AHP_SNAPSHOTS=1; all 21 cases pass in replay mode.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: vs-code-engineering[bot] <122617954+vs-code-engineering[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Paul <8560030+pwang347@users.noreply.github.com>
Update the packaged Codex runtime and protocol-generation pin together, regenerate the app-server types, and adapt the handwritten integration to the updated schema.
* build: harden targeted validation scripts
Reject validation commands that would otherwise succeed without checking files, support multiple stylelint targets, and report validation scope and elapsed time. Document how to avoid redundant typechecking before compilation.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* build: count files entering hygiene checks
Track requested files only when they reach an actual hygiene checker, deduplicate across checker branches, and cover non-checkable assets.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The check took ~257s and would sometimes run out of memory. Two separate
bottlenecks were responsible.
layersChecker.ts built a full in-process ts.Program (15s, 2GB) and then
asked the type checker for a symbol at every property access in the
program, ~2.5M identifiers. Each lookup materialized symbol and type
objects, pushing the heap past 3.6GB, and the alias/containment chain was
then walked per symbol.
It now runs on the TS7 native API that the repo already vendors for
build/lib/tsgo.ts:
- updateSnapshot replaces createProgram, so the program lives in the
compiler rather than the V8 heap
- the disallowed types are resolved to symbols once up front, turning the
per-reference check into a local id lookup
- symbol lookups are batched instead of issued one node at a time
- property accesses are prefiltered by member name, so only those that
could name a member of a disallowed type are resolved at all
That brings it from 48.6s and 3.8GB peak to 11.7s and 0.8GB peak.
The six tsconfig.<layer>.json projects were type checked serially with
TS6, which accounted for the remaining ~208s. They move to the native
compiler and run in parallel in the new layersTypeCheck.ts, taking ~11s.
Concurrency is derived from free memory (the largest project peaks at
~3.5GB) so a memory-constrained machine falls back towards serial
execution rather than swapping.
Verified to report byte-identical violations, including line and column,
against a seeded set covering direct references, import aliases,
inherited members, nested member access and ipcMain.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Updates the runtime pin in the repo-root devDependencies and the build
pin used to produce the deterministic Claude SDK tarball, plus both
lockfiles.
0.3.220 tightens three test-facing SDK types, so the agent host test
doubles and transcript fixtures are updated to match:
- `Query.interrupt()` now returns `Promise<SDKControlInterruptResponse | undefined>`
- `canUseTool` options now require `requestId`
- `SessionMessage` now requires `parent_agent_id`
No committed replay fixtures needed re-recording: the existing captures
already replay green against the new SDK.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>