pub struct PermissionPolicy {
pub default: PermissionMode,
pub tools: HashMap<String, PermissionMode>,
}Expand description
Permission policy for tool execution.
Controls whether tools require confirmation before execution. A default mode applies to all tools unless overridden per-tool.
§Wire Shape (CANON §3.9)
{
"default": "prompt",
"tools": {
"read_file": "auto_approve",
"delete_file": "deny"
}
}§Example
use adk_managed::types::{PermissionPolicy, PermissionMode};
use std::collections::HashMap;
let policy = PermissionPolicy {
default: PermissionMode::Prompt,
tools: HashMap::from([
("read_file".to_string(), PermissionMode::AutoApprove),
("delete_file".to_string(), PermissionMode::Deny),
]),
};
let json = serde_json::to_value(&policy).unwrap();
assert_eq!(json["default"], "auto_approve".replace("auto_approve", "prompt"));Fields§
§default: PermissionModeDefault permission mode for all tools not explicitly listed.
tools: HashMap<String, PermissionMode>Per-tool permission overrides. Key is the tool name.
Trait Implementations§
Source§impl Clone for PermissionPolicy
impl Clone for PermissionPolicy
Source§fn clone(&self) -> PermissionPolicy
fn clone(&self) -> PermissionPolicy
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 PermissionPolicy
impl Debug for PermissionPolicy
Source§impl<'de> Deserialize<'de> for PermissionPolicy
impl<'de> Deserialize<'de> for PermissionPolicy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
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 PermissionPolicy
impl PartialEq for PermissionPolicy
Source§fn eq(&self, other: &PermissionPolicy) -> bool
fn eq(&self, other: &PermissionPolicy) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for PermissionPolicy
impl Serialize for PermissionPolicy
impl StructuralPartialEq for PermissionPolicy
Auto Trait Implementations§
impl Freeze for PermissionPolicy
impl RefUnwindSafe for PermissionPolicy
impl Send for PermissionPolicy
impl Sync for PermissionPolicy
impl Unpin for PermissionPolicy
impl UnsafeUnpin for PermissionPolicy
impl UnwindSafe for PermissionPolicy
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