Skip to main content

Module forward

Module forward 

Source
Expand description

The projects’ own servers (ticket 2546): a call whose project is in another cargo workspace than the server’s goes to a shuyi mcp built from that workspace’s engine, a forwarded server, so an agent in a worktree plays and checks the worktree’s code, whichever checkout the client started the server in.

A forwarded server is the project’s command and mcp (words), run in the project’s root with pipes to its stdin, stdout and stderr, and FORWARDED set, so it answers every call itself. It gets an initialize without roots as it starts, and its build runs while the server goes on. It ends when its stdin closes: when the server drops it, or ends, or is killed.

Forwarding is the seam the server starts them and looks up workspaces through (Processes for real), so its tests run no cargo.

Structs§

Process
A forwarded server: its stdin, the lines of its stdout, and the last of its stderr.
Processes
Looks up workspaces with cargo and starts forwarded servers as processes.

Constants§

FORWARDED
The environment variable a forwarded server is started with: it hands nothing on, so a server is never forwarded twice.

Traits§

Forward
A project’s own server that the server hands calls to.
Forwarding
Looks up workspaces and starts forwarded servers.

Functions§

path_of_uri
The folder a file:// URI names (a client’s root), or none if it names none: its percent-escapes decoded, and a Windows drive’s slash dropped (file:///C:/x is C:/x).
words
The words that start the server of the project at root, in the workspace workspace, and the folder they run in: