pub struct BehaviorId(pub String);Tuple Fields§
§0: StringImplementations§
Source§impl BehaviorId
impl BehaviorId
Sourcepub fn new(value: impl Into<String>) -> Self
pub fn new(value: impl Into<String>) -> Self
Examples found in repository?
examples/behavior_subscription.rs (line 13)
8async fn main() -> Result<(), Box<dyn std::error::Error>> {
9 let state = YoAgentState::load(MemoryEventStore::new()).await?;
10 let mut runtime = YoAgentRuntime::new(state.clone());
11
12 runtime.register_behavior(FnBehavior::new(
13 BehaviorId::new("behavior_failure_to_task"),
14 EventPattern::Kind("failure.observed".to_string()),
15 |_ctx: BehaviorContext, event: Event| async move {
16 let title = event
17 .payload
18 .get("title")
19 .and_then(|value| value.as_str())
20 .unwrap_or("Investigate failure");
21 Ok(vec![StateOp::CreateNode {
22 id: NodeId::new("task_from_failure"),
23 kind: "task".to_string(),
24 props: json!({
25 "title": format!("Investigate: {title}"),
26 "status": "Open",
27 "created_by_behavior": "behavior_failure_to_task",
28 }),
29 }])
30 },
31 ));
32
33 runtime
34 .emit_event(Event::new(
35 ActorRef::agent("demo"),
36 "failure.observed",
37 json!({ "title": "retry timeout loses state" }),
38 ))
39 .await?;
40
41 print!(
42 "{}",
43 state
44 .lineage(NodeId::new("task_from_failure"))
45 .await
46 .to_markdown()
47 );
48 Ok(())
49}pub fn generate() -> Self
pub fn as_str(&self) -> &str
Trait Implementations§
Source§impl Clone for BehaviorId
impl Clone for BehaviorId
Source§fn clone(&self) -> BehaviorId
fn clone(&self) -> BehaviorId
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 BehaviorId
impl Debug for BehaviorId
Source§impl<'de> Deserialize<'de> for BehaviorId
impl<'de> Deserialize<'de> for BehaviorId
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
Source§impl Display for BehaviorId
impl Display for BehaviorId
impl Eq for BehaviorId
Source§impl From<&str> for BehaviorId
impl From<&str> for BehaviorId
Source§impl From<String> for BehaviorId
impl From<String> for BehaviorId
Source§impl Hash for BehaviorId
impl Hash for BehaviorId
Source§impl Ord for BehaviorId
impl Ord for BehaviorId
Source§fn cmp(&self, other: &BehaviorId) -> Ordering
fn cmp(&self, other: &BehaviorId) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for BehaviorId
impl PartialEq for BehaviorId
Source§fn eq(&self, other: &BehaviorId) -> bool
fn eq(&self, other: &BehaviorId) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl PartialOrd for BehaviorId
impl PartialOrd for BehaviorId
Source§impl Serialize for BehaviorId
impl Serialize for BehaviorId
impl StructuralPartialEq for BehaviorId
Auto Trait Implementations§
impl Freeze for BehaviorId
impl RefUnwindSafe for BehaviorId
impl Send for BehaviorId
impl Sync for BehaviorId
impl Unpin for BehaviorId
impl UnsafeUnpin for BehaviorId
impl UnwindSafe for BehaviorId
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