pub struct LoggingHooks { /* private fields */ }Implementations§
Source§impl LoggingHooks
impl LoggingHooks
pub fn new() -> LoggingHooks
pub fn with_prefix(prefix: impl Into<String>) -> LoggingHooks
Trait Implementations§
Source§impl AgentHooks for LoggingHooks
impl AgentHooks for LoggingHooks
fn on_message_received<'life0, 'life1, 'async_trait>(
&'life0 self,
message: &'life1 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
fn on_llm_start<'life0, 'life1, 'async_trait>(
&'life0 self,
messages: &'life1 [ChatMessage],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
fn on_llm_complete<'life0, 'life1, 'async_trait>(
&'life0 self,
response: &'life1 LLMResponse,
duration_ms: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
fn on_tool_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tool: &'life1 str,
args: &'life2 Value,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
LoggingHooks: 'async_trait,
fn on_tool_complete<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tool: &'life1 str,
result: &'life2 ToolResult,
duration_ms: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
LoggingHooks: 'async_trait,
fn on_state_transition<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
from: Option<&'life1 str>,
to: &'life2 str,
reason: &'life3 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
LoggingHooks: 'async_trait,
fn on_error<'life0, 'life1, 'async_trait>(
&'life0 self,
err: &'life1 AgentError,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
fn on_response<'life0, 'life1, 'async_trait>(
&'life0 self,
response: &'life1 AgentResponse,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
fn on_approval_requested<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 ApprovalRequest,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
fn on_approval_result<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
request_id: &'life1 str,
result: &'life2 ApprovalResult,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
LoggingHooks: 'async_trait,
fn on_memory_compress<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 MemoryCompressEvent,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
fn on_memory_evict<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 MemoryEvictEvent,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
fn on_memory_budget_warning<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 MemoryBudgetEvent,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
Source§fn on_delegate_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
state: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
LoggingHooks: 'async_trait,
fn on_delegate_start<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
state: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
LoggingHooks: 'async_trait,
Fired when a delegated state starts forwarding to a registry agent.
Source§fn on_delegate_complete<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
state: &'life2 str,
duration_ms: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
LoggingHooks: 'async_trait,
fn on_delegate_complete<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
state: &'life2 str,
duration_ms: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
LoggingHooks: 'async_trait,
Fired when a delegated state completes.
Source§fn on_concurrent_complete<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
agent_ids: &'life1 [String],
strategy: &'life2 str,
duration_ms: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
LoggingHooks: 'async_trait,
fn on_concurrent_complete<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
agent_ids: &'life1 [String],
strategy: &'life2 str,
duration_ms: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
LoggingHooks: 'async_trait,
Fired when a concurrent state completes aggregation.
Source§fn on_group_chat_round<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
round: u32,
speaker: &'life1 str,
content: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
LoggingHooks: 'async_trait,
fn on_group_chat_round<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
round: u32,
speaker: &'life1 str,
content: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
LoggingHooks: 'async_trait,
Fired when a group chat round completes.
Source§fn on_pipeline_stage<'life0, 'life1, 'async_trait>(
&'life0 self,
stage: usize,
agent_id: &'life1 str,
duration_ms: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
fn on_pipeline_stage<'life0, 'life1, 'async_trait>(
&'life0 self,
stage: usize,
agent_id: &'life1 str,
duration_ms: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
Fired after each pipeline stage completes.
Source§fn on_pipeline_complete<'life0, 'async_trait>(
&'life0 self,
stages: usize,
duration_ms: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
LoggingHooks: 'async_trait,
fn on_pipeline_complete<'life0, 'async_trait>(
&'life0 self,
stages: usize,
duration_ms: u64,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
LoggingHooks: 'async_trait,
Fired when a pipeline completes all stages.
Source§fn on_handoff_start<'life0, 'life1, 'async_trait>(
&'life0 self,
initial_agent: &'life1 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
fn on_handoff_start<'life0, 'life1, 'async_trait>(
&'life0 self,
initial_agent: &'life1 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
Fired when a handoff chain starts.
Source§fn on_handoff<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
from: &'life1 str,
to: &'life2 str,
reason: &'life3 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
LoggingHooks: 'async_trait,
fn on_handoff<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
from: &'life1 str,
to: &'life2 str,
reason: &'life3 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
LoggingHooks: 'async_trait,
Fired on each agent-to-agent control transfer.
Source§fn on_persona_evolve<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
field: &'life1 str,
_old_value: &'life2 Value,
new_value: &'life3 Value,
reason: Option<&'life4 str>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
LoggingHooks: 'async_trait,
fn on_persona_evolve<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
field: &'life1 str,
_old_value: &'life2 Value,
new_value: &'life3 Value,
reason: Option<&'life4 str>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
LoggingHooks: 'async_trait,
Fired when a persona field is mutated via evolve().
Source§fn on_secret_revealed<'life0, 'life1, 'async_trait>(
&'life0 self,
content: &'life1 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
fn on_secret_revealed<'life0, 'life1, 'async_trait>(
&'life0 self,
content: &'life1 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
LoggingHooks: 'async_trait,
Fired when a secret’s reveal conditions are satisfied for the first time.
Source§impl Default for LoggingHooks
impl Default for LoggingHooks
Source§fn default() -> LoggingHooks
fn default() -> LoggingHooks
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for LoggingHooks
impl RefUnwindSafe for LoggingHooks
impl Send for LoggingHooks
impl Sync for LoggingHooks
impl Unpin for LoggingHooks
impl UnsafeUnpin for LoggingHooks
impl UnwindSafe for LoggingHooks
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> 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.