pub struct PermissionRequest {
pub tool_name: String,
pub tool_input: Value,
pub required_permissions: Vec<ToolPermission>,
pub risk_level: RiskLevel,
pub prompt: String,
pub suggestions: Vec<Suggestion>,
pub context: PermissionContext,
pub request_id: Option<String>,
pub session_id: Option<String>,
pub agent_name: Option<String>,
}Available on crate feature
human-loop only.Expand description
权限请求(向用户请求权限决策的完整上下文)
Fields§
§tool_name: String工具名称
tool_input: Value工具输入参数
required_permissions: Vec<ToolPermission>所需权限类型
risk_level: RiskLevel风险等级
prompt: String给用户的提示信息
suggestions: Vec<Suggestion>建议选项列表
context: PermissionContext上下文信息(用于 UI 渲染)
request_id: Option<String>请求 ID(用于追踪)
session_id: Option<String>会话 ID
agent_name: Option<String>Agent 名称
Implementations§
Source§impl PermissionRequest
impl PermissionRequest
Sourcepub fn with_permissions(
self,
permissions: Vec<ToolPermission>,
) -> PermissionRequest
pub fn with_permissions( self, permissions: Vec<ToolPermission>, ) -> PermissionRequest
设置所需权限
Sourcepub fn with_risk_level(self, level: RiskLevel) -> PermissionRequest
pub fn with_risk_level(self, level: RiskLevel) -> PermissionRequest
设置风险等级
Sourcepub fn with_prompt(self, prompt: impl Into<String>) -> PermissionRequest
pub fn with_prompt(self, prompt: impl Into<String>) -> PermissionRequest
设置提示信息
Sourcepub fn with_suggestion(self, suggestion: Suggestion) -> PermissionRequest
pub fn with_suggestion(self, suggestion: Suggestion) -> PermissionRequest
添加建议选项
Sourcepub fn with_suggestions(self, suggestions: Vec<Suggestion>) -> PermissionRequest
pub fn with_suggestions(self, suggestions: Vec<Suggestion>) -> PermissionRequest
设置建议选项列表
Sourcepub fn with_request_id(self, id: impl Into<String>) -> PermissionRequest
pub fn with_request_id(self, id: impl Into<String>) -> PermissionRequest
设置请求 ID
Sourcepub fn with_session_id(self, id: impl Into<String>) -> PermissionRequest
pub fn with_session_id(self, id: impl Into<String>) -> PermissionRequest
设置会话 ID
Sourcepub fn with_agent_name(self, name: impl Into<String>) -> PermissionRequest
pub fn with_agent_name(self, name: impl Into<String>) -> PermissionRequest
设置 Agent 名称
Sourcepub fn with_context(self, context: PermissionContext) -> PermissionRequest
pub fn with_context(self, context: PermissionContext) -> PermissionRequest
设置上下文
Sourcepub fn with_default_suggestions(self) -> PermissionRequest
pub fn with_default_suggestions(self) -> PermissionRequest
生成默认建议选项
Sourcepub fn with_risk_based_suggestions(self) -> PermissionRequest
pub fn with_risk_based_suggestions(self) -> PermissionRequest
根据风险等级生成建议选项
Sourcepub fn requires_confirmation(&self) -> bool
pub fn requires_confirmation(&self) -> bool
是否需要用户确认
Trait Implementations§
Source§impl Clone for PermissionRequest
impl Clone for PermissionRequest
Source§fn clone(&self) -> PermissionRequest
fn clone(&self) -> PermissionRequest
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 PermissionRequest
impl Debug for PermissionRequest
Source§impl<'de> Deserialize<'de> for PermissionRequest
impl<'de> Deserialize<'de> for PermissionRequest
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PermissionRequest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PermissionRequest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for PermissionRequest
impl Serialize for PermissionRequest
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for PermissionRequest
impl RefUnwindSafe for PermissionRequest
impl Send for PermissionRequest
impl Sync for PermissionRequest
impl Unpin for PermissionRequest
impl UnsafeUnpin for PermissionRequest
impl UnwindSafe for PermissionRequest
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,
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>
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 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>
Wrap the input message
T in a tonic::Request