pub struct PendingApproval {
pub turn_id: String,
pub request_id: String,
pub tool_name: String,
pub title: String,
pub args_json: String,
pub reason: String,
pub resolve_token: String,
pub preview: Option<ApprovalPreview>,
pub read_preview: Option<ReadPreview>,
pub already_surfaced: bool,
}Expand description
One outstanding approval returned by ApprovalDialer::list_pending.
Carries the fields an edge needs to re-render an Approve/Deny prompt for a
request_id it lost (e.g. the streamed ApprovalPending event never arrived).
Fields§
§turn_id: StringTurn that emitted this occurrence of request_id.
request_id: StringThe id to answer via ApprovalDialer::respond.
tool_name: StringThe raw tool name the approval gates.
title: StringCurated title preserved from the durable approval request. Empty only for a historical request that predates the field.
args_json: StringThe tool-call arguments (JSON), for rendering the prompt.
reason: StringThe override gate reason the durable approval_request recorded — empty
for an ordinary gated call, non-empty for the lethal-trifecta /
Rule-of-Two containment override. Lets a recovered card show the same
explanation the live ApprovalPending event carried.
resolve_token: StringShort-lived signed capability (#787), freshly minted for THIS
listing and scoped to turn_id + request_id + the conversation it
belongs to.
Carry it back unmodified to ApprovalDialer::respond.
preview: Option<ApprovalPreview>Computed-preview enrichment (#1496), read back from the durable
approval_request event so a recovered card renders the exact
preview the live one showed. None for every call but
routine_create.
read_preview: Option<ReadPreview>Trusted-side preview for a read that crosses conversations.
already_surfaced: boolWhether this still-unanswered approval was already surfaced once (a
later turn’s boundary marker sits after its approval_request in the
event log while it stayed unanswered). false: render the full
interactive card; true: render a compact reminder instead (#1970).
Derived by the control plane at listing time — never edge-cached.
Trait Implementations§
Source§impl Clone for PendingApproval
impl Clone for PendingApproval
Source§fn clone(&self) -> PendingApproval
fn clone(&self) -> PendingApproval
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PendingApproval
impl Debug for PendingApproval
impl Eq for PendingApproval
Source§impl PartialEq for PendingApproval
impl PartialEq for PendingApproval
impl StructuralPartialEq for PendingApproval
Source§impl TryFrom<PendingApprovalEntry> for PendingApproval
Converts every durable pending-approval field to the edge-owned model.
impl TryFrom<PendingApprovalEntry> for PendingApproval
Converts every durable pending-approval field to the edge-owned model.
Auto Trait Implementations§
impl Freeze for PendingApproval
impl RefUnwindSafe for PendingApproval
impl Send for PendingApproval
impl Sync for PendingApproval
impl Unpin for PendingApproval
impl UnsafeUnpin for PendingApproval
impl UnwindSafe for PendingApproval
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request