pub struct ToolEngine { /* private fields */ }Expand description
Pure single-writer authority for Gate-owned capability requests.
Callers advance a logical clock and session generations explicitly. The engine performs no I/O; only drained effects may be handed to a provider.
Implementations§
Source§impl ToolEngine
impl ToolEngine
pub fn new() -> Self
pub fn register_provider( &mut self, descriptor: CapabilityProviderDescriptor, ) -> Result<(), ToolEngineError>
pub fn provider_exists(&self, provider_id: &ToolProviderId) -> bool
pub fn provider_descriptor( &self, provider_id: &ToolProviderId, ) -> Option<&CapabilityProviderDescriptor>
pub fn detach_provider_runtime( &mut self, provider_id: &ToolProviderId, ) -> Result<usize, ToolEngineError>
pub fn set_generation( &mut self, instance_id: AgentInstanceId, generation: SessionGeneration, ) -> Result<(), ToolEngineError>
pub fn set_instance_state( &mut self, instance_id: AgentInstanceId, generation: SessionGeneration, state: ToolInstanceState, ) -> Result<(), ToolEngineError>
pub fn remove_instance( &mut self, instance_id: AgentInstanceId, ) -> Result<bool, ToolEngineError>
Applies the only public policy/approval/client mutation lane. Successfully reduced envelopes consume their monotonic authority sequence.
pub fn request( &mut self, envelope: ConsumerBoundCapabilityRequest, ) -> Result<PolicyDecision, ToolEngineError>
pub fn advance_time(&mut self, tick: u64) -> Result<(), ToolEngineError>
Sourcepub fn apply_observation(
&mut self,
envelope: CapabilityObservationEnvelope,
) -> Result<CapabilityObservationDisposition, ToolEngineError>
pub fn apply_observation( &mut self, envelope: CapabilityObservationEnvelope, ) -> Result<CapabilityObservationDisposition, ToolEngineError>
Low-level trusted reducer API. Canonical production ingress must bind observations through the kernel/runtime handle before calling it.
pub fn snapshot(&self) -> ToolEngineSnapshot
pub fn request_snapshot( &self, request_key: &CapabilityRequestKey, ) -> Option<&CapabilityRequestSnapshot>
pub fn instance_ids(&self) -> impl Iterator<Item = AgentInstanceId> + '_
pub fn drain_effects(&mut self) -> Vec<CapabilityEffectEnvelope>
Sourcepub fn drain_completions(&mut self) -> CapabilityCompletionBatch
pub fn drain_completions(&mut self) -> CapabilityCompletionBatch
Releases bounded terminal outcomes to the requesting shell. Raw inline bytes and opaque provider references exist only in this queue, never in snapshots or audit state.
Trait Implementations§
Source§impl Clone for ToolEngine
impl Clone for ToolEngine
Source§impl Debug for ToolEngine
impl Debug for ToolEngine
Source§impl Default for ToolEngine
impl Default for ToolEngine
impl Eq for ToolEngine
Source§impl PartialEq for ToolEngine
impl PartialEq for ToolEngine
impl StructuralPartialEq for ToolEngine
Auto Trait Implementations§
impl Freeze for ToolEngine
impl RefUnwindSafe for ToolEngine
impl Send for ToolEngine
impl Sync for ToolEngine
impl Unpin for ToolEngine
impl UnsafeUnpin for ToolEngine
impl UnwindSafe for ToolEngine
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