pub struct HookEventPayload {
pub palace_id: Option<String>,
pub palace_name: Option<String>,
pub hook_type: HookType,
pub injection_kind: InjectionKind,
pub injection_length: u64,
pub trigger_prompt_excerpt: String,
pub duration_ms: u64,
}Expand description
The params sent with HOOK_EVENT_METHOD.
Why: deliberately separate from DaemonEvent itself so the wire format can
evolve (add fields, rename) without breaking the consumer schema. The daemon
side (transport::rpc::HookFiredParams) maps this into the canonical
DaemonEvent::HookFired variant. Forwards-compatible: #[serde(default)]
on every optional field means a newer client can add fields without breaking
an older daemon.
What: serde-encoded as snake_case JSON.
Test: hook_fired_activity_emit_smoke round-trips it against a real daemon.
Fields§
§palace_id: Option<String>§palace_name: Option<String>§hook_type: HookType§injection_kind: InjectionKind§injection_length: u64§trigger_prompt_excerpt: String§duration_ms: u64Trait Implementations§
Source§impl Clone for HookEventPayload
impl Clone for HookEventPayload
Source§impl Debug for HookEventPayload
impl Debug for HookEventPayload
Source§impl<'de> Deserialize<'de> for HookEventPayload
impl<'de> Deserialize<'de> for HookEventPayload
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
Auto Trait Implementations§
impl Freeze for HookEventPayload
impl RefUnwindSafe for HookEventPayload
impl Send for HookEventPayload
impl Sync for HookEventPayload
impl Unpin for HookEventPayload
impl UnsafeUnpin for HookEventPayload
impl UnwindSafe for HookEventPayload
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