pub struct PersistentSpawnConfig {
pub cli_command: String,
pub cli_args: Vec<String>,
pub working_dir: String,
pub env_vars: HashMap<String, String>,
pub session_id_field: String,
pub resume_flag: String,
pub session_id: String,
pub message_id: Option<String>,
}Expand description
Configuration for spawning the persistent process.
Fields§
§cli_command: String§cli_args: Vec<String>§working_dir: String§env_vars: HashMap<String, String>§session_id_field: String§resume_flag: StringResume flag for this provider (e.g. “–resume”), read from
agent:resume_flag meta. Empty = provider has no simple-flag resume.
Mirrors SubprocessSpawnConfig::resume_flag so a respawn (after a
runtime/model change or the picker reattach path) continues the same
conversation instead of starting fresh.
session_id: StringSession id to hydrate inner.session_id with BEFORE spawning, when the
controller hasn’t captured one yet (fresh controller after a forced
restart, or picker reattach). Read from agent:sessionid meta. With a
non-empty resume_flag this makes --resume <sid> land on the respawn.
message_id: Option<String>Echoed back as agent-message-accepted so the frontend can promote the
pending entry. Matches CommandAgentInputData.message_id on the AgentInput
command; absent for legacy callers.
Trait Implementations§
Source§impl Clone for PersistentSpawnConfig
impl Clone for PersistentSpawnConfig
Source§fn clone(&self) -> PersistentSpawnConfig
fn clone(&self) -> PersistentSpawnConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for PersistentSpawnConfig
impl RefUnwindSafe for PersistentSpawnConfig
impl Send for PersistentSpawnConfig
impl Sync for PersistentSpawnConfig
impl Unpin for PersistentSpawnConfig
impl UnwindSafe for PersistentSpawnConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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