#[non_exhaustive]pub struct SpawnSpec {
pub blueprint: BlueprintSource,
pub task: String,
pub workdir: PathBuf,
pub model: Option<String>,
pub regions: HashMap<String, String>,
pub metadata: HashMap<String, String>,
pub output: Option<OutputSpec>,
}Expand description
One spawn request. Build with SpawnSpec::new, then set the optional
fields directly; the struct is non-exhaustive so new options stay
additive.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.blueprint: BlueprintSourceThe agent’s blueprint.
task: StringThe task prompt, seeded into the blueprint’s task region.
workdir: PathBufWorking directory tools are confined to. Must exist.
model: Option<String>Optional model override (provider/model or a bare model name).
regions: HashMap<String, String>Seed content for named caller-input regions.
metadata: HashMap<String, String>Custom key/value metadata carried in the run’s metadata.
output: Option<OutputSpec>Ask for the run’s final output in a particular shape, overriding what the blueprint declares.
The format is an opaque label handed to the model, never interpreted
here, so an embedder can ask for its own house format without this crate
knowing anything about it. Supplying a
schema is the one thing
that makes the runtime check the answer.
Implementations§
Auto Trait Implementations§
impl Freeze for SpawnSpec
impl RefUnwindSafe for SpawnSpec
impl Send for SpawnSpec
impl Sync for SpawnSpec
impl Unpin for SpawnSpec
impl UnsafeUnpin for SpawnSpec
impl UnwindSafe for SpawnSpec
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ConditionalSend for Twhere
T: Send,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§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>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§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.Source§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.