pub struct AgentDef {
pub agent: AgentMeta,
pub model: ModelConfig,
pub prompt: PromptConfig,
}Expand description
Agent definition loaded from .scud/agents/
Fields§
§agent: AgentMeta§model: ModelConfig§prompt: PromptConfigImplementations§
Source§impl AgentDef
impl AgentDef
Sourcepub fn load(name: &str, project_root: &Path) -> Result<Self>
pub fn load(name: &str, project_root: &Path) -> Result<Self>
Load agent definition from .scud/agents/
Sourcepub fn try_load(name: &str, project_root: &Path) -> Option<Self>
pub fn try_load(name: &str, project_root: &Path) -> Option<Self>
Try to load agent definition, return None if not found
Sourcepub fn prompt_template(&self, project_root: &Path) -> Option<String>
pub fn prompt_template(&self, project_root: &Path) -> Option<String>
Get the prompt template (if specified)
Sourcepub fn default_builder() -> Self
pub fn default_builder() -> Self
Create a default agent (OpenCode with xai/grok-code-fast-1, no custom prompt)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AgentDef
impl<'de> Deserialize<'de> for AgentDef
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for AgentDef
impl RefUnwindSafe for AgentDef
impl Send for AgentDef
impl Sync for AgentDef
impl Unpin for AgentDef
impl UnwindSafe for AgentDef
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
Converts
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>
Converts
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