Skip to main content

Callable

Trait Callable 

Source
pub trait Callable:
    Send
    + Sync
    + 'static {
    // Required method
    fn call<'life0, 'async_trait>(
        &'life0 self,
        input: Value,
        ctx: CallCtx,
    ) -> Pin<Box<dyn Future<Output = Result<Value, AgentError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;

    // Provided method
    fn label(&self) -> &str { ... }
}
Expand description

The shell exposes Callable from atomr-agents-callable. Anything an agent / workflow / harness can call. Implemented by every executable unit so they’re interchangeable as workflow steps, tool invocations, and team routing targets.

Required Methods§

Source

fn call<'life0, 'async_trait>( &'life0 self, input: Value, ctx: CallCtx, ) -> Pin<Box<dyn Future<Output = Result<Value, AgentError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Provided Methods§

Source

fn label(&self) -> &str

Human-readable label for telemetry. Default falls back to the type name.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl Callable for BoxedDeepResearchHarness

Source§

fn call<'life0, 'async_trait>( &'life0 self, input: Value, _ctx: CallCtx, ) -> Pin<Box<dyn Future<Output = Result<Value, AgentError>> + Send + 'async_trait>>
where 'life0: 'async_trait, BoxedDeepResearchHarness: 'async_trait,

Source§

fn label(&self) -> &str

Source§

impl Callable for DeepResearchHarnessRef

Source§

fn call<'life0, 'async_trait>( &'life0 self, input: Value, _ctx: CallCtx, ) -> Pin<Box<dyn Future<Output = Result<Value, AgentError>> + Send + 'async_trait>>
where 'life0: 'async_trait, DeepResearchHarnessRef: 'async_trait,

Source§

fn label(&self) -> &str

Source§

impl<L, T> Callable for DeepResearchHarness<L, T>

Source§

fn call<'life0, 'async_trait>( &'life0 self, input: Value, _ctx: CallCtx, ) -> Pin<Box<dyn Future<Output = Result<Value, AgentError>> + Send + 'async_trait>>
where 'life0: 'async_trait, DeepResearchHarness<L, T>: 'async_trait,

Source§

fn label(&self) -> &str

Implementors§