Commit Graph

692 Commits

Author SHA1 Message Date
Henning Dieterichs 19b3119b33 Pin @github/copilot to exact 1.0.34 and regenerate lockfiles
The previous reverts only changed the spec to ^1.0.34, but the resolved entries in the lockfiles still pointed at 1.0.38 (with 1.0.38 tarballs and integrity hashes). Since ^1.0.34 satisfies 1.0.38, npm ci would still install the broken version. Pin to exact 1.0.34 in all three package.json files and regenerate the lockfiles.
2026-04-29 16:46:30 +02:00
Henning Dieterichs 6087b944fe Revert "agents: bump @github/copilot to 1.0.38 (#313073)"
This reverts commit 83cbe74699.
2026-04-29 16:46:30 +02:00
Rob Lourens 83cbe74699 agents: bump @github/copilot to 1.0.38 (#313073)
* agents: bump @github/copilot to 1.0.38

Tracks the version pinned in extensions/copilot/package.json. Updates
both root and remote/ package.json + lockfiles. Verified by re-running
the real-SDK 'listModels returns well-shaped model entries' integration
test (AGENT_HOST_REAL_SDK=1).

(Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: skip electron re-download when correct version already present

The macOS/Electron CI job was failing because `electron.ts` unconditionally
deletes `.build/electron` and re-downloads Electron on every invocation.

When integration tests run CSS/HTML tests via `node-electron.sh`, they call
`npm run electron` which triggers this re-download. This can fail due to
transient network errors (e.g. 502 Bad Gateway from GitHub), causing the
integration test step to fail even though Electron was already downloaded
successfully in the dedicated "Download Electron and Playwright" CI step.

Fix: add a `.version` marker file inside `.build/electron` that records the
Electron version, MS build ID, and architecture. On the next invocation,
`main()` reads this marker and returns early if it matches the expected
version, skipping the unnecessary delete-and-re-download cycle.

Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/8d0b4207-2616-497e-9a4f-bf8a39671934

Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>

* Revert "fix: skip electron re-download when correct version already present"

This reverts commit e1811ece5b. That
commit was pushed to this PR by another agent and is unrelated to the
@github/copilot bump that this PR is for.

(Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>
2026-04-28 21:00:14 +00:00
dileepyavan bb09e7379b terminal: Disable read all by default (#311850)
* adding allowRead and testing with defaults

* Rename terminal sandbox read allow list

* Remove Copilot settings change from sandbox PR

* changes

* changes

* Updating sandbox runtime package

* Updating tests

* Add macOS test cases for denyRead/allowRead behavior and ~ path handling

Agent-Logs-Url: https://github.com/microsoft/vscode/sessions/ec5cf3c2-6c7b-4577-bdbb-8ac3d42bdfb0

Co-authored-by: dileepyavan <52841896+dileepyavan@users.noreply.github.com>

* changes for readonly home dir

* skipping integrated tests for sandbox

* running srt in tmp_dir for linux

* running srt in tmp_dir for linux

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-04-24 11:07:16 -07:00
Rob Lourens 096e5abe9d agentHost: bump @github/copilot to 1.0.34 (#311964)
* Fix broken sessions list
From #311751

Co-authored-by: Copilot <copilot@github.com>

* fix tests

* agentHost: settings followups

- Unrelated: fix local agent host being broken on main following
  some overnight cleanups
- Register a JSON schema for agent session settings (only when they're
  open since it has a perf cost)
- When there are multiple custom approval buttons, show them in a
  dropdown similar to other tool calls.

* Add tests for agent session settings schema registration

* Bump @github/copilot from ^1.0.28 to ^1.0.34

Matches the version used in extensions/copilot.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: tolerate synthetic Copilot models with empty capabilities

After bumping @github/copilot to 1.0.34, listModels() returns a synthetic
'auto' router entry shaped like { id: 'auto', name: 'Auto', capabilities: {} }.
The SDK's ModelInfo type still declares capabilities.limits.max_context_window_tokens
as required, so reading it crashed _listModels and zeroed out the model list.

Wrap the SDK type in a local ICopilotModelInfo with the actually-optional
fields marked optional, and skip entries lacking max_context_window_tokens
with a warn log instead of throwing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* agentHost: surface synthetic 'auto' model with optional maxContextWindow

Instead of dropping the synthetic 'auto' router model, make
IAgentModelInfo.maxContextWindow optional and pass it through as
undefined when the SDK doesn't report a fixed context window. The
agentHostLanguageModelProvider already handles undefined via '?? 0',
and the protocol state type already had the field optional.

Update the real-SDK listModels test to allow undefined maxContextWindow
and to assert the 'auto' entry is present.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Connor Peet <connor@peet.io>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-22 19:23:45 +00:00
Rob Lourens a1abedfea0 Update @github/copilot SDK to ^1.0.28 (#311807)
Bump @github/copilot in root and remote package.json to ^1.0.28 to match
the version pinned by the bundled copilot extension (extensions/copilot).

Also adds a real-SDK integration test for listModels that subscribes to
the root state, authenticates, and asserts every model has a well-formed
shape (id, name, numeric maxContextWindow). This guards against SDK
schema drift like the issue in 1.0.34, where the server returned models
with optional capabilities.limits, causing _listModels to throw a
TypeError that _refreshModels silently swallowed (resulting in no models
in the UI).

Drive-by: fix stale provider id 'copilot' -> 'copilotcli' in the same
test file.

(Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-22 02:29:53 +00:00
Raymond Zhao 9a60a6f5f9 chore: bump windows-process-tree (#311781) 2026-04-21 23:18:39 +00:00
Rob Lourens 41837b42ae Fix agent host session working directories
(Written by Copilot)
2026-04-11 17:25:43 -07:00
Christof Marti 43f7117748 Surface network errors with proxies (microsoft/vscode#298236) 2026-04-08 08:13:59 +00:00
Rob Lourens 063a61dbb7 agentHost Adopt new tree-sitter (#308352)
* agentHost Adopt new tree-sitter

* Bump in web

* Fix test

* fix tests
2026-04-08 00:41:31 +00:00
Anthony Kim 0e637c9101 Update xterm to beta.197 (#308317) 2026-04-07 15:31:28 -07:00
Anthony Kim 4370953ab5 Update xterm to 6.1.0-beta.196 (#307288) 2026-04-02 12:14:42 -07:00
Connor Peet b6a2a05758 agentHost: include sqlite in server build (#306811)
* agentHost: include sqlite in server build

* fix
2026-04-02 00:03:04 +00:00
Rob Lourens e6e776a4b6 Add SSH remote agent host bootstrap (#304882)
* Add SSH remote agent host bootstrap

Adds a new ISSHRemoteAgentHostService that automates connecting to a
remote machine via SSH, installing the VS Code CLI, starting
'code agent-host', and forwarding the agent host port back through
the SSH tunnel.

- New service interface and types in common/sshRemoteAgentHost.ts
- Full implementation using ssh2 in electron-browser/ with dynamic
  imports to respect layering rules
- Multi-step quick input flow for SSH connection details integrated
  into the remote agent host picker
- 'Connect via SSH' command registered in contributions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address PR review feedback

- Strip password/privateKeyPath from ISSHAgentHostConnection.config
  so secrets are not exposed to consumers after connect
- Redact connection tokens (?tkn=...) in all log output and error
  messages to prevent credential leakage
- Parse user@host:port format in SSH host input with proper validation
  for port range and missing components
- Guard onDidClose with a closed flag to prevent double-fire when
  dispose and SSH close/error events overlap

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* SSH working through main process

Co-authored-by: Copilot <copilot@github.com>

* Resolve ssh configs

Co-authored-by: Copilot <copilot@github.com>

* progress

* Granular connect progress, test fix

Co-authored-by: Copilot <copilot@github.com>

* Test, refactor

Co-authored-by: Copilot <copilot@github.com>

* Resolve comments

Co-authored-by: Copilot <copilot@github.com>

* Get rid of cpu-features

* Move to shared process

Co-authored-by: Copilot <copilot@github.com>

* fixes

Co-authored-by: Copilot <copilot@github.com>

* add ssh2 to remote/package.json

* Cleanup and fixes

Co-authored-by: Copilot <copilot@github.com>

* fix

Co-authored-by: Copilot <copilot@github.com>

* fix

Co-authored-by: Copilot <copilot@github.com>

* resolve comments

Co-authored-by: Copilot <copilot@github.com>

* comments

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
2026-03-31 21:37:07 -07:00
Robo bfd8d748ee chore: bump spdlog@0.15.8 (#305281)
Co-authored-by: Benjamin Pasero <benjamin.pasero@gmail.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
2026-03-26 21:32:56 +00:00
Rob Lourens 6c52b71c9a Bump copilot-sdk (#304267)
Co-authored-by: Copilot <copilot@github.com>
2026-03-23 21:58:56 +00:00
dileepyavan b978bf74b2 tmp directory should not be used by sandboxed commands (#303699)
* Fix terminal sandbox tmp handling and upgrade sandbox runtime

Fixes #299224

Fixes #303568

* fixing test

* merging changes
2026-03-21 10:20:44 +01:00
Christof Marti 4be80a8b42 Update to @vscode/proxy-agent 0.40.0 (#298236) 2026-03-19 23:34:29 +00:00
Rob Lourens 1c035e8297 Merge branch 'main' into connor4312/agent-host-server 2026-03-17 13:56:32 -07:00
Anthony Kim 262ba6d42f Update conpty to 1.25 (#301398)
* Update conpty to 1.25

* see if changes fix 1.2.0-beta11 defering conptyNative.connect()

* Revert "see if changes fix 1.2.0-beta11 defering conptyNative.connect()"

This reverts commit c5d9064efa.

* Reapply "see if changes fix 1.2.0-beta11 defering conptyNative.connect()"

This reverts commit ded49adb14.
2026-03-16 18:27:00 -07:00
Connor Peet 3e15c2da57 agentHost: hello world from server
Exposes --agent-host-port/--agent-host-path to specify an additional
port for them to listen on. This runs as a separate process mirroring
the architecture from main.

Does a 'hello world', I need to keep testing it some more. I honestly
don't know a lot about the import changes Opus is doing here. Without
them, there is an error:

```
import { CopilotClient } from "@github/copilot-sdk";
         ^^^^^^^^^^^^^
SyntaxError: The requested module '@github/copilot-sdk' does not provide an export named 'CopilotClient'
```

This was Copilot's explanation for why they're needed here but not in Electron:

>The agent host process itself didn't change — the issue is the **module resolution environment** differs between Electron and the server.
>
>**Electron (desktop):** `ElectronAgentHostStarter` spawns a utility process that inherits the main process's module resolution. It resolves packages from the **root** node_modules, where `@github/copilot-sdk`, `ws`, etc. are all installed. Everything just works.
>
>**Server:** `NodeAgentHostStarter` spawns a child via `bootstrap-fork.js`, which registers a custom ESM resolver hook (bootstrap-import.ts) that **redirects** all module lookups to node_modules instead of root node_modules. That's the `[bootstrap-import] Initialized node_modules redirector for: ...\remote\node_modules` log line. The remote folder has its own package.json with a curated set of server-specific dependencies.
>
>The problems were:
>1. **Missing deps** — `@github/copilot-sdk`, `@github/copilot`, and `ws` weren't in package.json because the agent host had never run in the server context before
>2. **Resolver bugs** — bootstrap-import.ts was written when all remote deps were CJS. It hardcoded `format: 'commonjs'`, didn't handle `exports` maps, didn't handle `.mjs` files, and didn't resolve subpath imports like `vscode-jsonrpc/node`. These are pre-existing limitations that never mattered until now because no server component previously depended on ESM-only npm packages.
>
>So in short: the agent host code is identical — it's the server's module resolution plumbing that needed updating to support the ESM packages the agent host depends on.

cc @bpasero as the expert in this area
2026-03-12 09:00:40 -07:00
Christof Marti 383c174f7a Add proxy support to WebSocket (#298236) 2026-03-11 21:27:42 +00:00
Anthony Kim 7461493056 Bump xterm to 6.1.0-beta.191 (#300822) 2026-03-11 10:40:56 -07:00
Osvaldo Ortega 0091ab1d49 missing updates 2026-03-10 17:34:48 -07:00
Anthony Kim 01eb53f0f9 Bump xterm to take IME overflow fix (#300322)
Bump xterm to take IME fix
2026-03-10 11:03:43 -07:00
Anthony Kim 4fb8242c5f Bump xterm to fix kitty keyboard protocol (#299833) 2026-03-07 23:03:35 -08:00
Anthony Kim 587cae6666 Bump xterm for imageAdded api (#299073) 2026-03-04 10:17:14 -08:00
Dmitriy Vasyura 4eb8565469 Get accurate Windows version info from registry instead of os.release() (#295842)
Used Windows registry to retrieve Windows release and build numbers.
Added passing User-Agent header to update service.
Updated installer launch env to ignore compat mode.
2026-02-23 16:06:56 +01:00
Anthony Kim 80eaba3b1c Bump xterm for kitty image updates (#296577) 2026-02-20 13:12:33 -08:00
Matt Bierner 7a3b0181f0 Update other packages as well 2026-02-18 22:18:31 -08:00
Anthony Kim f32f3306fd Enable kitty graphics protocol, bump xterm.js (#295701)
* Bump xterm to enable kitty images

* edit comment about gpu acceleration+kitty

* Update to 162

* Update please

* Mention enable transparency mode

* Stop messing with git

* Update to 165
2026-02-17 21:12:26 -08:00
Daniel Imms ba35bc88a7 Revert "Merge pull request #294104 from microsoft/tyriar/revert"
This reverts commit a8f61833a3, reversing
changes made to 7e883bb398.
2026-02-10 08:23:47 -08:00
Daniel Imms 64894bd732 Revert "Merge pull request #294081 from microsoft/tyriar/xterm_20260210"
This reverts commit fbefd6388b, reversing
changes made to f8b1fe06c5.
2026-02-10 03:33:23 -08:00
Daniel Imms 8def2f99b7 @xterm/xterm@6.1.0-beta.152
Fixes #293529
2026-02-10 01:47:20 -08:00
Daniel Imms 30d0f4595f Merge pull request #292685 from microsoft/xterm_20260203
@xterm/xterm@6.1.0-beta.144, add textBlinking
2026-02-04 04:24:39 -08:00
Christof Marti 519788fbcb @vscode/proxy-agent 0.38.0 (#289736) 2026-02-04 08:49:34 +01:00
Daniel Imms 359c2ec968 @xterm/xterm@6.1.0-beta.144
Fixes #245840
Fixes #290919
Part of #292572
Part of #292550
2026-02-03 08:24:12 -08:00
dileepyavan 01d7420295 Dileep y/291793 (#292201)
Updating srt paths to work in remote env
2026-02-02 09:05:40 -08:00
Robo 7d83ce8c7e chore: update node-pty@1.2.0-beta.10 (#291471) 2026-01-28 20:52:07 -08:00
Daniel Imms 94fe2c1a48 @xterm/xterm@6.1.0-beta.109
Part of #286809

This brings in xtermjs/xterm.js#5625
2026-01-27 06:59:35 -08:00
Johannes Rieken e7a06c8eab Revert "@xterm/xterm@6.1.0-beta.109" (#290689)
This reverts commit aef55e6ca4.
2026-01-27 07:12:59 +00:00
Daniel Imms aef55e6ca4 @xterm/xterm@6.1.0-beta.109
Part of #286809
2026-01-26 14:57:06 -08:00
Raymond Zhao 564100cbce chore: bump parcel/watcher (#289984) 2026-01-23 12:52:42 -08:00
Aiday Marlen Kyzy d3cca074a0 upgrading the vscode-textmate package (#289876) 2026-01-23 11:42:12 +00:00
Raymond Zhao e0c97ec0c5 chore: bump spdlog and node-pty (#289748) 2026-01-22 14:49:29 -08:00
Christof Marti f7730c409e Update @vscode/proxy-agent to 0.37.0 2026-01-22 14:41:26 +01:00
Anthony Kim acb22942b0 Remove winpty support (#289025)
* Bump node-pty to 1.2.0-beta.7

* Deprecate TerminalSettingId.WindowsEnableConpty setting

* Remove windowsEnableConpty instead of deprecating

* Remove WINPTY from ps.ts

* Remove winpty from appropriate comments

* Remove winpty from IProcessReadyWindowsPty

* Remove from classifier.json. TODO on resize for node-pty

* Try adding option to test

* Add reference to issue
2026-01-21 08:32:11 -08:00
Daniel Imms 9d173ad771 Merge pull request #287561 from microsoft/tyriar/xterm_260113
@xterm/xterm@6.1.0-beta.102
2026-01-16 03:33:20 -08:00
Raymond Zhao 1251d8b737 chore: bump native-watchdog (#287848)
* chore: bump native-watchdog

* Rename more instances

* chore: update Debian x64 dep list
2026-01-15 15:34:13 +09:00
Raymond Zhao ef0bb3bbc9 chore: bump node-pty (#287627) 2026-01-14 08:42:19 -08:00