pub struct ApprovalRequestedEventDetails {
pub action_type: String,
pub requested_at: String,
pub memory_id: Option<String>,
pub status: String,
}Expand description
v0.7.0 K4 — approval_requested event details.
Fires after a pending_actions row has been inserted by the
governance gate (db::queue_pending_action from the local store /
promote / delete enforce paths, or db::upsert_pending_action from
peer-originated sync_push traffic). The K10 Approval API
(HTTP+SSE) consumes the same dispatcher path so the surface is
consistent across delivery transports.
The outer memory_id field on [DispatchPayload] carries the
pending-action id (the row PK of pending_actions) — that’s the
only identifier subscribers need to round-trip back through
memory_pending_* MCP tools or the v0.7 Approval HTTP endpoints.
The agent_id field carries the row’s requested_by.
Adding a new field here is backward-compatible (subscribers ignore unknowns); renaming or removing a field is breaking — bump the payload schema version per AI_DEVELOPER_GOVERNANCE.md.
Fields§
§action_type: StringDiscriminator from pending_actions.action_type — "store",
"delete", or "promote" (the three crate::models::GovernedAction
variants today). Reserved for forward-compat with future gated
actions; subscribers should treat unknown values as opaque.
requested_at: Stringpending_actions.requested_at (RFC3339). Mirrored into the
details block so SSE consumers downstream of K10 can render
the queue-time without a second round-trip.
memory_id: Option<String>pending_actions.memory_id — Some for delete / promote
(existing row), None for store (no row yet).
status: StringAlways "pending" at insert time. Decided rows do NOT re-fire
this event — the decision flows through the planned
approval_decided event in K7.
Trait Implementations§
Source§impl Clone for ApprovalRequestedEventDetails
impl Clone for ApprovalRequestedEventDetails
Source§fn clone(&self) -> ApprovalRequestedEventDetails
fn clone(&self) -> ApprovalRequestedEventDetails
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'de> Deserialize<'de> for ApprovalRequestedEventDetails
impl<'de> Deserialize<'de> for ApprovalRequestedEventDetails
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>,
Auto Trait Implementations§
impl Freeze for ApprovalRequestedEventDetails
impl RefUnwindSafe for ApprovalRequestedEventDetails
impl Send for ApprovalRequestedEventDetails
impl Sync for ApprovalRequestedEventDetails
impl Unpin for ApprovalRequestedEventDetails
impl UnsafeUnpin for ApprovalRequestedEventDetails
impl UnwindSafe for ApprovalRequestedEventDetails
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
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>,
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>
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 more