Skip to main content

ApprovalRequest

Struct ApprovalRequest 

Source
pub struct ApprovalRequest {
    pub task_id: Option<TaskId>,
    pub call_id: Option<ToolCallId>,
    pub id: ApprovalId,
    pub request_kind: String,
    pub reason: ApprovalReason,
    pub summary: String,
    pub metadata: MetadataMap,
}
Expand description

A request sent to the host when a tool execution needs human approval.

The agent loop surfaces this to the user. Once the user responds, the loop can re-submit the tool call via ToolExecutor::execute_approved.

Fields§

§task_id: Option<TaskId>

Runtime task identifier associated with this approval request, if any.

§call_id: Option<ToolCallId>

The originating tool call id when this approval was raised from a tool invocation. Hosts can use this to resolve specific approvals.

§id: ApprovalId

Stable identifier so the executor can match the approval to its request.

§request_kind: String

The PermissionRequest::kind string that triggered the approval flow.

§reason: ApprovalReason

Why approval is needed.

§summary: String

Human-readable summary shown to the user.

§metadata: MetadataMap

Arbitrary metadata carried from the original permission request.

Implementations§

Source§

impl ApprovalRequest

Source

pub fn new( id: impl Into<ApprovalId>, request_kind: impl Into<String>, reason: ApprovalReason, summary: impl Into<String>, ) -> Self

Builds an approval request with no task or call id.

Source

pub fn with_task_id(self, task_id: impl Into<TaskId>) -> Self

Sets the associated task id.

Source

pub fn with_call_id(self, call_id: impl Into<ToolCallId>) -> Self

Sets the associated tool call id.

Source

pub fn with_metadata(self, metadata: MetadataMap) -> Self

Replaces the approval metadata.

Trait Implementations§

Source§

impl Clone for ApprovalRequest

Source§

fn clone(&self) -> ApprovalRequest

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ApprovalRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ApprovalRequest

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for ApprovalRequest

Source§

fn eq(&self, other: &ApprovalRequest) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for ApprovalRequest

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for ApprovalRequest

Source§

impl StructuralPartialEq for ApprovalRequest

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,