pub struct ToolContext {
pub session_id: String,
pub agent_id: String,
pub iteration: u32,
pub budget: Arc<IterationBudget>,
pub memory: Arc<dyn MemoryStore>,
pub config: Arc<AgentConfig>,
pub approver: Arc<dyn CommandApprover>,
pub sub_agent: Option<Arc<dyn SubAgentRunner>>,
pub skill_permissions: Arc<RwLock<SkillPermissions>>,
pub required_tools: Arc<RwLock<Vec<String>>>,
}Fields§
§session_id: String§agent_id: String§iteration: u32§budget: Arc<IterationBudget>§memory: Arc<dyn MemoryStore>§config: Arc<AgentConfig>§approver: Arc<dyn CommandApprover>§sub_agent: Option<Arc<dyn SubAgentRunner>>§skill_permissions: Arc<RwLock<SkillPermissions>>Accumulated permissions from all skills loaded this session via skill_view. Shared across all tool dispatches within the same agent turn.
required_tools: Arc<RwLock<Vec<String>>>Tools required by skills loaded this session (via required_tools frontmatter). skill_view appends to this; the agent checks it at end-turn.
Auto Trait Implementations§
impl Freeze for ToolContext
impl !RefUnwindSafe for ToolContext
impl Send for ToolContext
impl Sync for ToolContext
impl Unpin for ToolContext
impl UnsafeUnpin for ToolContext
impl !UnwindSafe for ToolContext
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