Files
vscode/cli/CONTRIBUTING.md
T
Connor PeetandCopilot d1bf0ed77d cli: route agent tunnels through the full tunnel server (#340136)
* cli: route agent tunnels through the full tunnel server

- Make `agent --tunnel` and `agent host --tunnel` use the normal tunnel server so remote
  sessions also support editor access.
- Remove the agent-only tunnel mode, relay lifecycle, unused sidecar methods, and obsolete
  reuse fields.
- Reject local-only host options when starting a tunnel and document the aliases.
- Route both aliases before logger setup to prevent a duplicate global logger installation.
- Add argument, credential expiry, and subprocess startup regression tests.
- Update AHP dependencies to 1.0.0 and send the remaining token lifetime when it is known.

Fixes https://github.com/microsoft/vscode/issues/340096

(Commit message generated by Copilot)

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

* tests: use full tunnels in the remote agent smoke fixture

- Remove the retired agent-only flag from CLI discovery and fixture startup.
- Create and verify both editor control and agent host ports before and after startup.
- Update the smoke test documentation for the full tunnel server.

Validation:
- npm --prefix test/smoke run compile: passed.
- npm run eslint -- test/smoke/src/areas/agentsWindow/remoteDevContainerFixtures.ts: passed.
- The compiled fixture capability probe accepts the current CLI.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-06 20:59:44 +00:00

34 lines
2.0 KiB
Markdown

# Setup
0. Clone, and then run `git submodule update --init --recursive`
1. Get the extensions: [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) and [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb)
2. Ensure your workspace is set to the `launcher` folder being the root.
## Building the CLI on Windows
For the moment, we require OpenSSL on Windows, where it is not usually installed by default. To install it:
1. Follow steps 1 and 2 of [Set up vcpkg](https://learn.microsoft.com/en-us/vcpkg/get_started/get-started-msbuild?pivots=shell-powershell#1---set-up-vcpkg) to obtain the executable.
1. Add the location of the `vcpkg` directory to your system or user PATH.
1. Run`vcpkg install openssl:x64-windows-static-md` (after restarting your terminal for PATH changes to apply)
1. You should be able to then `cargo build` successfully
OpenSSL is needed for the key exchange we do when forwarding Basis tunnels. When all interested Basis clients support ED25519, we would be able to solely use libsodium. At the time of writing however, there is [no active development](https://chromestatus.com/feature/4913922408710144) on this in Chromium.
# Debug
1. You can use the Debug tasks already configured to run the launcher.
## Agent host tunnels
Use `code tunnel` to expose both remote editor access and agent hosts. `code agent --tunnel`
and `code agent host --tunnel` are aliases for this command, not agent-host-only tunnels.
Tunnel naming, existing-tunnel credentials, server data, and user data options are forwarded
to the tunnel command. Local-only options such as `--host`, `--port`, connection tokens,
`--replace`, `--new-instance`, `--foreground`, and `--idle-timeout` cannot be combined
with `--tunnel`. Use `--accept-server-license-terms` to accept the server license without
an interactive prompt.
Without `--tunnel`, `code agent` and `code agent host` still start or reuse a local
agent host supervisor.