pub struct CliRequest {
pub vendor: CliVendorKind,
pub mode: RunMode,
pub prompt: String,
pub workdir: PathBuf,
pub model: Option<String>,
pub allowed_tools: Vec<String>,
pub resume_session: Option<String>,
pub project: ConceptProjection,
pub isolation: IsolationSpec,
pub budget: BudgetSpec,
pub metadata: BTreeMap<String, Value>,
}Expand description
Uniform request the harness accepts.
Fields§
§vendor: CliVendorKindWhich adapter to dispatch to.
mode: RunModeHeadless or interactive.
prompt: StringFree-text prompt fed to the CLI. For interactive runs this may be empty (the operator drives the session).
workdir: PathBufWorking directory the CLI executes against. The harness sets
this as cwd (for Local) or bind-mounts it (for Docker).
model: Option<String>Model id override (vendor-specific string). None lets the CLI
pick its own default.
allowed_tools: Vec<String>Vendor-specific allow-list of tool names. Empty = no restriction.
resume_session: Option<String>Resume an existing CLI session id if the vendor supports it.
project: ConceptProjectionConcept projection — atomr Skills/Persona/Policy/toolsets the vendor adapter materializes to on-disk config before the run.
isolation: IsolationSpecWhere the CLI runs.
budget: BudgetSpecRun budget caps.
metadata: BTreeMap<String, Value>Free-form metadata the caller can stash on the request. Echoed
back on the CliResult.
Implementations§
Source§impl CliRequest
impl CliRequest
Sourcepub fn new(
vendor: CliVendorKind,
workdir: impl Into<PathBuf>,
prompt: impl Into<String>,
) -> CliRequest
pub fn new( vendor: CliVendorKind, workdir: impl Into<PathBuf>, prompt: impl Into<String>, ) -> CliRequest
Shortcut for the common case.
pub fn with_mode(self, mode: RunMode) -> CliRequest
pub fn with_model(self, model: impl Into<String>) -> CliRequest
pub fn with_isolation(self, isolation: IsolationSpec) -> CliRequest
pub fn with_project(self, project: ConceptProjection) -> CliRequest
Trait Implementations§
Source§impl Clone for CliRequest
impl Clone for CliRequest
Source§fn clone(&self) -> CliRequest
fn clone(&self) -> CliRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CliRequest
impl Debug for CliRequest
Source§impl<'de> Deserialize<'de> for CliRequest
impl<'de> Deserialize<'de> for CliRequest
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CliRequest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CliRequest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for CliRequest
impl Serialize for CliRequest
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for CliRequest
impl RefUnwindSafe for CliRequest
impl Send for CliRequest
impl Sync for CliRequest
impl Unpin for CliRequest
impl UnsafeUnpin for CliRequest
impl UnwindSafe for CliRequest
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>. Box<dyn Any> can
then be further downcast into Box<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>. Rc<Any> 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.