pub enum HookEvent {
Show 42 variants
PreToolUse,
PostToolUse,
PreAgentTurn,
PostAgentTurn,
WorkerSpawned,
WorkerProgressed,
WorkerWaitingForInput,
WorkerSuspended,
WorkerResumed,
WorkerCompleted,
WorkerFailed,
WorkerStopped,
WorkerCancelled,
PreStep,
PostStep,
OnBudgetThreshold,
OnApprovalRequested,
OnHandoffEmitted,
OnPersonaPaused,
OnPersonaResumed,
SessionStart,
SessionEnd,
UserPromptSubmit,
PreCompact,
PostCompact,
PostTurn,
PermissionAsked,
PermissionReplied,
FileEdited,
SessionError,
SessionIdle,
PreFinish,
PostFinish,
OnUnsettledDetected,
PreSuspend,
PostSuspend,
PreResume,
PostResume,
PreDrain,
PostDrain,
OnDrainDecision,
LoopCheckpoint,
}Variants§
PreToolUse
PostToolUse
PreAgentTurn
PostAgentTurn
WorkerSpawned
WorkerProgressed
WorkerWaitingForInput
WorkerSuspended
WorkerResumed
WorkerCompleted
WorkerFailed
WorkerStopped
WorkerCancelled
PreStep
PostStep
OnBudgetThreshold
OnApprovalRequested
OnHandoffEmitted
OnPersonaPaused
OnPersonaResumed
SessionStart
SessionEnd
UserPromptSubmit
PreCompact
PostCompact
PostTurn
PermissionAsked
PermissionReplied
FileEdited
SessionError
SessionIdle
PreFinish
PostFinish
OnUnsettledDetected
PreSuspend
PostSuspend
PreResume
PostResume
PreDrain
PostDrain
OnDrainDecision
LoopCheckpoint
Fired by __agent_loop_checkpoint(kind, ...) at every safe
injection seam in the agent loop. Pattern-match on payload.kind
to subscribe to specific seams (e.g. kind=="pre_tool_dispatch")
or use * to observe every checkpoint pass.
Implementations§
Source§impl HookEvent
impl HookEvent
Sourcepub const ALL: &'static [Self]
pub const ALL: &'static [Self]
All variants in declaration order. Stable enough that
parse_* functions can iterate it.
Sourcepub const fn kind(self) -> HookEventKind
pub const fn kind(self) -> HookEventKind
High-level grouping — drives every other routing predicate.
Sourcepub const fn supports_reminder_effects(self) -> bool
pub const fn supports_reminder_effects(self) -> bool
Reminder effects are rejected by Worker events because they fire from contexts without a pending tool-call / transcript slot for the reminder to attach to.
Sourcepub const fn is_session_lifecycle(self) -> bool
pub const fn is_session_lifecycle(self) -> bool
Whether clear_session_hooks and parse_session_event
own this variant.
Sourcepub fn parse_session_event(name: &str) -> Result<Self, String>
pub fn parse_session_event(name: &str) -> Result<Self, String>
Parse a session-level hook event name. Returns Err for
unknown or non-session events; persona/tool/worker events
are intentionally rejected so each registration surface
owns its own event set. Accepts the canonical PascalCase
spelling, its auto-derived snake_case, and any explicit
aliases: [...] declared in hook_events!.
Sourcepub fn parse_provider_event(name: &str) -> Result<Self, String>
pub fn parse_provider_event(name: &str) -> Result<Self, String>
Parse a reminder-provider event name. Accepts Worker
events, any variant flagged provider_parse: true in
hook_events!, and (by fallback) every session event.
Source§impl HookEvent
impl HookEvent
pub fn from_worker_event(event: WorkerEvent) -> Self
Trait Implementations§
impl Copy for HookEvent
Source§impl<'de> Deserialize<'de> for HookEvent
impl<'de> Deserialize<'de> for HookEvent
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>,
impl Eq for HookEvent
impl StructuralPartialEq for HookEvent
Auto Trait Implementations§
impl Freeze for HookEvent
impl RefUnwindSafe for HookEvent
impl Send for HookEvent
impl Sync for HookEvent
impl Unpin for HookEvent
impl UnsafeUnpin for HookEvent
impl UnwindSafe for HookEvent
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
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>
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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);