pub struct PendingApprovalPrompt {
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>,
}Expand description
One gated tool call a buffered turn paused on, surfaced from the terminal
AgentEnd.pending_approvals — the buffered-API mirror of
TurnEvent::ApprovalPending’s fields.
Fields§
§turn_id: StringTurn that emitted this occurrence of request_id.
request_id: StringTool-call id == the approval request_id to answer.
tool_name: StringThe tool/function name awaiting approval. Raw machine identifier; the field of record for trust/audit.
title: StringHuman display label (MCP-style title) for the tool, for rendering in
the approval prompt. May be empty; the surface then derives one from
tool_name.
args_json: StringArguments JSON for the call.
reason: StringWhy this call is gated, when the pause is an OVERRIDE of a call that would not otherwise need approval. Empty for an ordinary gated call; non-empty only for the lethal-trifecta / Rule-of-Two containment override.
resolve_token: StringThe short-lived signed capability (#787) that must be replayed
unmodified on the eventual ApprovalDialer::respond call — required,
the control plane rejects a Respond whose token is missing, expired,
or bound to a different request or conversation.
preview: Option<ApprovalPreview>Computed-preview enrichment (#1496); None for every call but
routine_create. See ApprovalPreview.
Trait Implementations§
Source§impl Clone for PendingApprovalPrompt
impl Clone for PendingApprovalPrompt
Source§fn clone(&self) -> PendingApprovalPrompt
fn clone(&self) -> PendingApprovalPrompt
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 PendingApprovalPrompt
impl Debug for PendingApprovalPrompt
impl Eq for PendingApprovalPrompt
Source§impl From<PendingApproval> for PendingApprovalPrompt
Every field named explicitly, shared by both the buffered
(AgentDialer::run_turn_with_approvals) and streaming
(TurnEvent::ApprovalPending) paths so the two can’t drift on what a
pending approval carries — a field added to the wire type without
updating this impl fails to compile instead of one path silently not
carrying it.
impl From<PendingApproval> for PendingApprovalPrompt
Every field named explicitly, shared by both the buffered
(AgentDialer::run_turn_with_approvals) and streaming
(TurnEvent::ApprovalPending) paths so the two can’t drift on what a
pending approval carries — a field added to the wire type without
updating this impl fails to compile instead of one path silently not
carrying it.
Source§fn from(pa: WireAgentPendingApproval) -> Self
fn from(pa: WireAgentPendingApproval) -> Self
Source§impl From<PendingApprovalPrompt> for TurnEvent
TurnEvent::ApprovalPending carries the exact same fields as
PendingApprovalPrompt — reuse that conversion rather than a second
hand-written field list that could drift from it.
impl From<PendingApprovalPrompt> for TurnEvent
TurnEvent::ApprovalPending carries the exact same fields as
PendingApprovalPrompt — reuse that conversion rather than a second
hand-written field list that could drift from it.
Source§fn from(p: PendingApprovalPrompt) -> Self
fn from(p: PendingApprovalPrompt) -> Self
Source§impl PartialEq for PendingApprovalPrompt
impl PartialEq for PendingApprovalPrompt
impl StructuralPartialEq for PendingApprovalPrompt
Auto Trait Implementations§
impl Freeze for PendingApprovalPrompt
impl RefUnwindSafe for PendingApprovalPrompt
impl Send for PendingApprovalPrompt
impl Sync for PendingApprovalPrompt
impl Unpin for PendingApprovalPrompt
impl UnsafeUnpin for PendingApprovalPrompt
impl UnwindSafe for PendingApprovalPrompt
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