pub struct AgentSpec {Show 29 fields
pub name: String,
pub version: String,
pub description: Option<String>,
pub system_prompt: String,
pub llm: LLMConfigOrSelector,
pub llms: HashMap<String, LLMConfig>,
pub skills: Vec<SkillRef>,
pub memory: MemoryConfig,
pub storage: StorageConfig,
pub tools: Option<Vec<ToolEntry>>,
pub max_iterations: u32,
pub max_context_tokens: u32,
pub error_recovery: ErrorRecoveryConfig,
pub tool_security: ToolSecurityConfig,
pub process: ProcessConfig,
pub context: HashMap<String, ContextSource>,
pub states: Option<StateConfig>,
pub parallel_tools: ParallelToolsConfig,
pub streaming: StreamingConfig,
pub hitl: Option<HITLConfig>,
pub reasoning: ReasoningConfig,
pub reflection: ReflectionConfig,
pub disambiguation: DisambiguationConfig,
pub providers: ProvidersConfig,
pub provider_security: ProviderSecurityConfig,
pub tool_aliases: ToolAliasesConfig,
pub metadata: Option<Value>,
pub spawner: Option<SpawnerConfig>,
pub persona: Option<PersonaConfig>,
}Fields§
§name: String§version: String§description: Option<String>§system_prompt: String§llm: LLMConfigOrSelector§llms: HashMap<String, LLMConfig>§skills: Vec<SkillRef>§memory: MemoryConfig§storage: StorageConfig§tools: Option<Vec<ToolEntry>>§max_iterations: u32§max_context_tokens: u32§error_recovery: ErrorRecoveryConfig§tool_security: ToolSecurityConfig§process: ProcessConfig§context: HashMap<String, ContextSource>§states: Option<StateConfig>§parallel_tools: ParallelToolsConfig§streaming: StreamingConfig§hitl: Option<HITLConfig>§reasoning: ReasoningConfig§reflection: ReflectionConfig§disambiguation: DisambiguationConfig§providers: ProvidersConfig§provider_security: ProviderSecurityConfig§tool_aliases: ToolAliasesConfig§metadata: Option<Value>§spawner: Option<SpawnerConfig>Dynamic agent spawning configuration (optional).
persona: Option<PersonaConfig>Agent persona configuration (optional).
Implementations§
Source§impl AgentSpec
impl AgentSpec
pub fn validate(&self) -> Result<(), AgentError>
pub fn has_multi_llm(&self) -> bool
pub fn has_skills(&self) -> bool
pub fn has_process(&self) -> bool
pub fn has_tool_security(&self) -> bool
pub fn has_states(&self) -> bool
pub fn has_context(&self) -> bool
pub fn has_parallel_tools(&self) -> bool
pub fn has_streaming(&self) -> bool
pub fn has_hitl(&self) -> bool
pub fn has_storage(&self) -> bool
pub fn has_providers(&self) -> bool
pub fn has_tool_aliases(&self) -> bool
pub fn has_reasoning(&self) -> bool
pub fn has_reflection(&self) -> bool
pub fn has_disambiguation(&self) -> bool
pub fn has_persona(&self) -> bool
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AgentSpec
impl<'de> Deserialize<'de> for AgentSpec
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AgentSpec, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AgentSpec, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for AgentSpec
impl Serialize for AgentSpec
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,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for AgentSpec
impl RefUnwindSafe for AgentSpec
impl Send for AgentSpec
impl Sync for AgentSpec
impl Unpin for AgentSpec
impl UnsafeUnpin for AgentSpec
impl UnwindSafe for AgentSpec
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 moreCreates a shared type from an unshared type.