pub trait IntoCapability {
// Required method
fn into_capability(self) -> CapabilitySpec;
}Expand description
Convert an application value into one capability registration.
This trait is intentionally public and non-sealed. Third-party crates can
implement it without depending on everruns-core or host internals:
return a CapabilitySpec built from a stable CapabilityRef. The
consuming boundary (e.g. the Framework’s AgentBuilder::build) validates
identifiers, JSON configuration, duplicates, and implementation
collisions. Conversion itself is infallible and performs no registration.
§Example
use everruns_capability::{CapabilityRef, CapabilitySpec, IntoCapability};
use serde_json::json;
struct VendorSearch {
index: String,
}
impl IntoCapability for VendorSearch {
fn into_capability(self) -> CapabilitySpec {
CapabilityRef::new("vendor.search")
.config(json!({ "index": self.index }))
.into()
}
}Required Methods§
Sourcefn into_capability(self) -> CapabilitySpec
fn into_capability(self) -> CapabilitySpec
Consume the value and return its normalized specification.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl IntoCapability for &String
impl IntoCapability for &String
fn into_capability(self) -> CapabilitySpec
Source§impl IntoCapability for &str
impl IntoCapability for &str
fn into_capability(self) -> CapabilitySpec
Source§impl IntoCapability for String
impl IntoCapability for String
fn into_capability(self) -> CapabilitySpec
Implementors§
impl IntoCapability for CapabilityRef
impl IntoCapability for CapabilitySpec
impl IntoCapability for Definition
Available on crate feature
definition only.