pub struct Plan {
pub goal: String,
pub steps: Vec<Step>,
pub confidence: Option<f32>,
pub on_complete: Option<String>,
pub on_failure: Option<String>,
}Expand description
Execution plan - the primary asset of the system
Fields§
§goal: StringHigh-level goal description
steps: Vec<Step>Ordered list of steps to execute
confidence: Option<f32>Planning confidence (0.0 - 1.0)
on_complete: Option<String>User-facing message template on successful completion.
Supports {{step_id.export_key}} placeholders resolved from WorkingSet.
on_failure: Option<String>User-facing message template on failure.
Implementations§
Source§impl Plan
impl Plan
Sourcepub fn with_confidence(
goal: impl Into<String>,
steps: Vec<Step>,
confidence: f32,
) -> Plan
pub fn with_confidence( goal: impl Into<String>, steps: Vec<Step>, confidence: f32, ) -> Plan
Create a new plan with confidence
Sourcepub fn is_high_confidence(&self) -> bool
pub fn is_high_confidence(&self) -> bool
Check if this is a high-confidence plan (>= 0.8)
Sourcepub fn is_low_confidence(&self) -> bool
pub fn is_low_confidence(&self) -> bool
Check if this is a low-confidence plan (< 0.5)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Plan
impl<'de> Deserialize<'de> for Plan
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Plan, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Plan, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for Plan
impl Serialize for Plan
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 Plan
impl RefUnwindSafe for Plan
impl Send for Plan
impl Sync for Plan
impl Unpin for Plan
impl UnsafeUnpin for Plan
impl UnwindSafe for Plan
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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