pub struct PermissionCheckInput {
pub request: PermissionRequest,
pub hook_decision: Option<HookPermission>,
pub tool_check: Option<PermissionResult>,
pub mode: PermissionMode,
}Expand description
权限检查的完整输入上下文。
Agent loop 在工具执行前构造此结构,传入 PermissionEngine::check()。
Fields§
§request: PermissionRequest权限请求。
hook_decision: Option<HookPermission>Hook 系统的聚合决策(如果 PreToolUse hook 有返回)。
None 表示没有 Hook 参与或所有 Hook 都 passthrough。
tool_check: Option<PermissionResult>工具级权限检查结果。
None 表示工具未实现 check_permissions(等同于 Passthrough)。
mode: PermissionMode当前权限模式。
Implementations§
Source§impl PermissionCheckInput
impl PermissionCheckInput
Sourcepub fn new(request: PermissionRequest, mode: PermissionMode) -> Self
pub fn new(request: PermissionRequest, mode: PermissionMode) -> Self
创建最小输入 — 只有请求和模式。
Sourcepub fn with_hook_decision(self, decision: HookPermission) -> Self
pub fn with_hook_decision(self, decision: HookPermission) -> Self
设置 Hook 决策(builder 模式)。
Sourcepub fn with_tool_check(self, result: PermissionResult) -> Self
pub fn with_tool_check(self, result: PermissionResult) -> Self
设置工具检查结果(builder 模式)。
Trait Implementations§
Source§impl Clone for PermissionCheckInput
impl Clone for PermissionCheckInput
Source§fn clone(&self) -> PermissionCheckInput
fn clone(&self) -> PermissionCheckInput
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 moreAuto Trait Implementations§
impl Freeze for PermissionCheckInput
impl RefUnwindSafe for PermissionCheckInput
impl Send for PermissionCheckInput
impl Sync for PermissionCheckInput
impl Unpin for PermissionCheckInput
impl UnsafeUnpin for PermissionCheckInput
impl UnwindSafe for PermissionCheckInput
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