Skip to main content

AgentBindingProvider

Trait AgentBindingProvider 

Source
pub trait AgentBindingProvider: Send + Sync {
    // Required method
    fn bind<'life0, 'life1, 'async_trait>(
        &'life0 self,
        requests: &'life1 [BindRequest],
    ) -> Pin<Box<dyn Future<Output = Result<Vec<BindOutcome>, BindingProviderError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Execution-environment provider for effective agent capabilities.

Required Methods§

Source

fn bind<'life0, 'life1, 'async_trait>( &'life0 self, requests: &'life1 [BindRequest], ) -> Pin<Box<dyn Future<Output = Result<Vec<BindOutcome>, BindingProviderError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Resolve all requested bindings as one launch-time transaction.

The provider returns exactly one BindOutcome per requested agent — Bound with an (untrusted) receipt Core still validates, or Unbound when the execution environment currently offers no matching capability. Returning fewer, extra, or duplicate outcomes is rejected by Core in attest_bound_agents. Whether an Unbound outcome fails the launch is the caller’s strict decision, not the provider’s.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§