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:/xisC:/x). - words
- The words that start the server of the project at
root, in the workspaceworkspace, and the folder they run in: