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§
Sourcefn 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,
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".