pub struct SpawnPlan {
pub binary: String,
pub args: Vec<String>,
pub env_overrides: Vec<(String, String)>,
pub session_id: Option<String>,
}Expand description
Spawn plan returned by HarnessAdapter::plan. Launcher code owns
the actual process construction; this struct is the per-adapter
contribution to it.
session_id is filled in by adapters that know the session id up
front (claude can mint one and inject it via --session-id so the
pre-spawn stamp is final from the start). Adapters that don’t know
it ahead of time leave this None and rely on the pending-stamp
resolver to attach their enrichment to the freshly-discovered
session in after_exit.
Fields§
§binary: String§args: Vec<String>§env_overrides: Vec<(String, String)>Env vars to overlay on top of the parent process env when
spawning. Keep this tight — tokio::process::Command::env_clear
- this map is the typical pattern, though Wave 2 may relax that.
session_id: Option<String>Session id the adapter pre-allocated, when known. See struct
docs for when this is Some vs None.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SpawnPlan
impl RefUnwindSafe for SpawnPlan
impl Send for SpawnPlan
impl Sync for SpawnPlan
impl Unpin for SpawnPlan
impl UnsafeUnpin for SpawnPlan
impl UnwindSafe for SpawnPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more