pub trait SkillTransport: Send + Sync {
// Required methods
fn id(&self) -> &str;
fn kind(&self) -> &str;
fn discover(&self, cx: &mut Cx) -> Result<Vec<SkillCard>>;
fn call(
&self,
cx: &mut Cx,
card: &SkillCard,
args: Value,
events: Option<&mut dyn SkillEventSink>,
) -> Result<Value>;
fn health(&self, cx: &mut Cx) -> Result<Value>;
}Expand description
Backend that discovers and runs skills.
A transport is the concrete behavior behind a SkillCard: it knows how
to enumerate available skills and how to dispatch a call for one.
Implementations include the in-process FixtureTransport and the
feature-gated MCP, HTTP, process, and OpenAI-server transports.
Required Methods§
Sourcefn discover(&self, cx: &mut Cx) -> Result<Vec<SkillCard>>
fn discover(&self, cx: &mut Cx) -> Result<Vec<SkillCard>>
Discovers the skills this transport can run, as cards.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".