pub struct WorkerSpawnReply {
pub session_id: String,
pub tag: String,
pub mcp_families: Option<Vec<String>>,
pub rate_limited_account: Option<String>,
pub durability_warning: Option<String>,
pub worktree: Option<String>,
pub session_choice: SessionChoice,
}Expand description
Synchronous return from Command::SpawnWorker - the session_id
that the new worker was issued and the tag value applied. Threaded
back to the calling agents__spawn Tool impl via the oneshot
receiver so the LLM sees {session_id, tag} in the tool result.
Fields§
§session_id: String§tag: String§mcp_families: Option<Vec<String>>The worker’s stored MCP-family selection, canonicalised; None
means every family. The spawn tool echoes it so the lead sees
exactly which families this worker got.
rate_limited_account: Option<String>Set to the account name when the walk had to take an account
that is saturated or bailed, because no other account in the pin
declares the project’s model. The spawn tool surfaces it as a
notice, so the lead sees at spawn that the worker may hit a
429 right away instead of only finding out when it stalls.
durability_warning: Option<String>Set when persisting the worker’s durable row failed (the store
couldn’t open, or the write errored). The worker still spawns, but
it won’t survive a forge restart. The spawn tool surfaces it as a
warning so the lead knows the “durable” promise didn’t hold for
this one. Mirrors worktree_cleanup_warning on despawn.
worktree: Option<String>Where the worker landed: its worktree, or None when the project
is not a git repo and the worker runs in the project root. Set by
the spawn handler, which is the only place that knows both.
session_choice: SessionChoiceWhich session the spawn landed on. The handler states what its own
arguments say; the MCP facade restates it with the resolution it
made, which is the only place a resume_session fallback is known.
Trait Implementations§
Source§impl Clone for WorkerSpawnReply
impl Clone for WorkerSpawnReply
Source§impl Debug for WorkerSpawnReply
impl Debug for WorkerSpawnReply
Source§impl<'de> Deserialize<'de> for WorkerSpawnReply
impl<'de> Deserialize<'de> for WorkerSpawnReply
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for WorkerSpawnReply
impl RefUnwindSafe for WorkerSpawnReply
impl Send for WorkerSpawnReply
impl Sync for WorkerSpawnReply
impl Unpin for WorkerSpawnReply
impl UnsafeUnpin for WorkerSpawnReply
impl UnwindSafe for WorkerSpawnReply
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more