Skip to main content

Adapter

Trait Adapter 

Source
pub trait Adapter: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn execute<'life0, 'life1, 'async_trait>(
        &'life0 self,
        node: &'life1 FlowNode,
    ) -> Pin<Box<dyn Future<Output = Result<NodeOutput, AdapterError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;

    // Provided methods
    fn execute_with_events<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        node: &'life1 FlowNode,
        _ctx: &'life2 AdapterCtx,
    ) -> Pin<Box<dyn Future<Output = Result<NodeOutput, AdapterError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait { ... }
    fn descriptor(&self) -> AdapterDescriptor { ... }
}

Required Methods§

Source

fn name(&self) -> &str

Source

fn execute<'life0, 'life1, 'async_trait>( &'life0 self, node: &'life1 FlowNode, ) -> Pin<Box<dyn Future<Output = Result<NodeOutput, AdapterError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Provided Methods§

Source

fn execute_with_events<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, node: &'life1 FlowNode, _ctx: &'life2 AdapterCtx, ) -> Pin<Box<dyn Future<Output = Result<NodeOutput, AdapterError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Streaming variant. Default delegates to execute (no incremental output). Adapters that want to push log lines while running override this and use ctx.emit_line for each line. The shell adapter is the first such consumer; the existing zowe / mock adapters keep the default and continue to work unchanged.

Source

fn descriptor(&self) -> AdapterDescriptor

Static catalog of what this adapter dispatches. Consumed by the flow-spec-dump binary that feeds the flow-graph-generator spec compiler: the markdown under docs/dsl/adapters/<name>.md is regenerated from these descriptors, and the same catalog grounds the local fine-tune and the cloud_ai system prompt.

Default returns an empty catalog (no actions). Live adapters (ShellAdapter, CliAdapter) override with their real surface; placeholder adapters (ssh, zosmf) and MockAdapter keep the default and are surfaced separately as “placeholder” by the compiler.

Implementors§