* 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>
* Revert "Chat dictation: always use Nemotron model, remove model setting (#326718)"
This reverts commit 6d02468e2c.
* Revert "Dictation: migrate on-device runtime to Foundry Local streaming ASR (#326678)"
This reverts commit 6b3ff3c7f0.
* chore: bump windows-process-tree to 0.8.0
Picks up microsoft/vscode-windows-process-tree#87, which fixes
process command lines being converted with CP_ACP instead of CP_UTF8,
so non-ANSI characters (e.g. Cyrillic) rendered as ? in the Process
Explorer.
Fixes#219183
* fix: update allow-scripts
---------
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Add a PR CI check that fails when the committed codex app-server protocol
client (src/vs/platform/agentHost/node/codex/protocol/generated/**) does not
match what `codex app-server generate-ts` produces for the @openai/codex
dev-dependency version, but only when a PR actually changes the generated
client or the version pin.
- build/codex/generate-protocol.mjs: export the reusable pieces (generate,
resolveCodexBinary, readBinaryVersion, readPinnedVersion, paths) and only
run main() when invoked directly, so the check can import it side-effect
free. Types provided by generate-protocol.d.mts.
- build/codex/check-protocol-sync.ts: gate on a git diff touching the
generated dir or codex-version.txt (its README.md excluded — preserved
across regen), regenerate into a scratch dir with the dev-dependency binary,
byte-compare against the committed client, and assert the pin matches. Never
touches the working tree.
- build/codex/test/checkProtocolSync.test.ts: unit tests for the gate + diff
helpers; wired in via the build/package.json test glob (adds `codex`).
- package.json: `codex:check-protocol` script.
- .github/workflows/pr.yml: run the gated check in the Compile & Hygiene job.
- generated/README.md: document the check.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* WIP - initial implementation
* Revert changes that are not needed
* Refactor the calculation of paths to be copied
* Fix test
* Add back the test that was removed by mistake
chore: update @github/copilot and @github/copilot-sdk to latest versions
- Bump @github/copilot from ^1.0.67 to ^1.0.69-0 in package.json and package-lock.json.
- Update @github/copilot-sdk from ^1.0.5 to ^1.0.6-preview.1 in package.json and package-lock.json.
- Refactor copilotcliSessionService.ts to use the new AutoModeSessionManager directly, removing compatibility fallback.
- Remove compatibility tests for AutoModeSessionManager in copilotCliSessionService.spec.ts.
- Adjust npm configuration in remote/.npmrc.
* Bump @anthropic-ai/claude-agent-sdk to 0.3.198
Bumps the pinned Claude agent SDK from 0.3.187 to 0.3.198 following
build/agent-sdk/README.md: updates the exact version in the build
agent-sdk pin and its lockfile, plus the matching root devDependency
types pin and root lockfile so shipped types and the build-time pin
stay in lockstep.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* Implement Query.reinitialize in test fakes
0.3.198 adds reinitialize() to the SDK's Query interface. Add the
matching stub to the three test doubles that implement Query
(FakeQuery, RoundTripQuery, ImmediatelyDoneQuery), following each
file's existing "not modeled" pattern.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>