pub struct NativeMcpServerLaunchOverlay { /* private fields */ }Expand description
Host-only MCP-server launch overlay for one exact instance, PTY or ACP.
Built from a caller-supplied McpServerSpec plus whatever the caller
wants installed into, or scrubbed from, a PTY child’s own OS environment.
The two never disagree on the server’s own environment entries: env
below both becomes the PTY child’s environment (as Some mutations,
alongside env_removals as None mutations) and travels unchanged as
McpServerSpec::env for an ACP-transport agent’s own stdio server
entry – NativeSpawnOverlay::resolve_environment, below, does not gate
this overlay by transport, and gate4agent-shell-native’s ACP branch
receives the resolved spec as a typed value from
gate4agent-runtime-native, in-process
(NativeSpawnOverlay/NativeEffectRequest), never a wire type or a
well-known environment key it has to re-read.
This crate never interprets name, program, args, or any entry in
env/env_removals – they, and any trace opt-in a caller wants, are
entirely the caller’s concern.
Implementations§
Source§impl NativeMcpServerLaunchOverlay
impl NativeMcpServerLaunchOverlay
Sourcepub fn new(
agent_id: AgentId,
name: impl Into<String>,
program: OsString,
args: Vec<OsString>,
env_entries: Vec<(OsString, OsString)>,
env_removals: Vec<OsString>,
) -> Result<Self, NativeLaunchProfileError>
pub fn new( agent_id: AgentId, name: impl Into<String>, program: OsString, args: Vec<OsString>, env_entries: Vec<(OsString, OsString)>, env_removals: Vec<OsString>, ) -> Result<Self, NativeLaunchProfileError>
env_entries are installed into a PTY child’s OS environment and
carried unchanged as the ACP stdio entry’s own env. env_removals
applies to the PTY child’s OS environment only – an ACP
mcpServers entry is additive, so there is nothing there to remove.