pub struct StateDefinition {Show 26 fields
pub prompt: Option<String>,
pub prompt_mode: PromptMode,
pub llm: Option<String>,
pub skills: Vec<String>,
pub tools: Option<Vec<ToolRef>>,
pub transitions: Vec<Transition>,
pub max_turns: Option<u32>,
pub timeout_to: Option<String>,
pub initial: Option<String>,
pub states: Option<HashMap<String, StateDefinition>>,
pub inherit_parent: bool,
pub on_enter: Vec<StateAction>,
pub on_reenter: Vec<StateAction>,
pub on_exit: Vec<StateAction>,
pub regenerate_on_enter: Option<bool>,
pub extract: Vec<ContextExtractor>,
pub reasoning: Option<ReasoningConfig>,
pub reflection: Option<ReflectionConfig>,
pub disambiguation: Option<StateDisambiguationOverride>,
pub process: Option<ProcessConfig>,
pub delegate: Option<String>,
pub delegate_context: Option<DelegateContextMode>,
pub concurrent: Option<ConcurrentStateConfig>,
pub group_chat: Option<GroupChatStateConfig>,
pub pipeline: Option<PipelineStateConfig>,
pub handoff: Option<HandoffStateConfig>,
}Fields§
§prompt: Option<String>§prompt_mode: PromptMode§llm: Option<String>§skills: Vec<String>§tools: Option<Vec<ToolRef>>Tool availability for this state.
None(omitted in YAML): inherit from parent or agent-level toolsSome([])(tools: []in YAML): explicitly no tools availableSome([...]): only these tools available
transitions: Vec<Transition>§max_turns: Option<u32>§timeout_to: Option<String>§initial: Option<String>§states: Option<HashMap<String, StateDefinition>>§inherit_parent: bool§on_enter: Vec<StateAction>§on_reenter: Vec<StateAction>Actions on re-entering a previously visited state. Falls back to on_enter if empty.
on_exit: Vec<StateAction>§regenerate_on_enter: Option<bool>Per-state override: skip re-generation on entering this state.
extract: Vec<ContextExtractor>Context extractors: pull structured data from user input into context.
reasoning: Option<ReasoningConfig>§reflection: Option<ReflectionConfig>§disambiguation: Option<StateDisambiguationOverride>§process: Option<ProcessConfig>Per-state process pipeline override (replaces agent-level pipeline for this state).
delegate: Option<String>Delegate state messages to a registry agent by ID.
delegate_context: Option<DelegateContextMode>Context mode for delegated states.
concurrent: Option<ConcurrentStateConfig>Run multiple registry agents concurrently in this state.
group_chat: Option<GroupChatStateConfig>Run a multi-agent group chat in this state.
pipeline: Option<PipelineStateConfig>Run a sequential agent pipeline in this state.
handoff: Option<HandoffStateConfig>Run an LLM-directed handoff chain in this state.
Implementations§
Source§impl StateDefinition
impl StateDefinition
pub fn has_sub_states(&self) -> bool
pub fn get_effective_tools<'a>( &'a self, parent: Option<&'a StateDefinition>, ) -> Option<Vec<&'a ToolRef>>
pub fn get_effective_skills<'a>( &'a self, parent: Option<&'a StateDefinition>, ) -> Vec<&'a String>
Trait Implementations§
Source§impl Clone for StateDefinition
impl Clone for StateDefinition
Source§fn clone(&self) -> StateDefinition
fn clone(&self) -> StateDefinition
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StateDefinition
impl Debug for StateDefinition
Source§impl Default for StateDefinition
impl Default for StateDefinition
Source§fn default() -> StateDefinition
fn default() -> StateDefinition
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for StateDefinition
impl<'de> Deserialize<'de> for StateDefinition
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<StateDefinition, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<StateDefinition, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for StateDefinition
impl Serialize for StateDefinition
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 StateDefinition
impl RefUnwindSafe for StateDefinition
impl Send for StateDefinition
impl Sync for StateDefinition
impl Unpin for StateDefinition
impl UnsafeUnpin for StateDefinition
impl UnwindSafe for StateDefinition
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.