pub struct AuditEvent {Show 13 fields
pub schema_version: u32,
pub timestamp: String,
pub sequence: u64,
pub actor: AuditActor,
pub action: AuditAction,
pub target: AuditTarget,
pub outcome: AuditOutcome,
pub auth: Option<AuditAuth>,
pub session_id: Option<String>,
pub request_id: Option<String>,
pub error: Option<String>,
pub prev_hash: String,
pub self_hash: String,
}Expand description
One audit event. The serialized form is one JSON object per line (NDJSON). Field order is stable for chain reproducibility.
Fields§
§schema_version: u32Schema version — see SCHEMA_VERSION.
timestamp: StringRFC3339 UTC timestamp when the event was emitted.
sequence: u64Per-process monotonic counter starting at 1 on init.
actor: AuditActor§action: AuditAction§target: AuditTarget§outcome: AuditOutcome§auth: Option<AuditAuth>Authentication context. None for stdio MCP / CLI invocations
where there is no transport-level auth.
session_id: Option<String>§request_id: Option<String>§error: Option<String>Populated only when outcome = Error. Capped at 256 chars to
prevent error-message based content leaks.
prev_hash: StringHex-encoded sha256 of the immediately prior line’s self_hash,
or CHAIN_HEAD_PREV_HASH for the first line of a fresh chain.
self_hash: StringHex-encoded sha256 of every preceding field in serialization order.
Trait Implementations§
Source§impl Clone for AuditEvent
impl Clone for AuditEvent
Source§fn clone(&self) -> AuditEvent
fn clone(&self) -> AuditEvent
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 AuditEvent
impl Debug for AuditEvent
Source§impl<'de> Deserialize<'de> for AuditEvent
impl<'de> Deserialize<'de> for AuditEvent
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
impl Eq for AuditEvent
Source§impl PartialEq for AuditEvent
impl PartialEq for AuditEvent
Source§fn eq(&self, other: &AuditEvent) -> bool
fn eq(&self, other: &AuditEvent) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for AuditEvent
impl Serialize for AuditEvent
impl StructuralPartialEq for AuditEvent
Auto Trait Implementations§
impl Freeze for AuditEvent
impl RefUnwindSafe for AuditEvent
impl Send for AuditEvent
impl Sync for AuditEvent
impl Unpin for AuditEvent
impl UnsafeUnpin for AuditEvent
impl UnwindSafe for AuditEvent
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
Compare self to
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
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