stasis-rs 0.9.4

Durable AI orchestration framework with runtime jobs, lineage, and memory integration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use async_trait::async_trait;

use crate::domain::agent::envelope::EncodedAgentMessage;
use crate::domain::errors::Result;
use crate::domain::runtime::delivery_endpoint::{DeliveryEndpoint, DeliveryProtocol};

/// Vendor-neutral transport for encoded agent messages (ADR-0007).
#[async_trait]
pub trait AgentTransport: Send + Sync {
    fn supports(&self, protocol: &DeliveryProtocol) -> bool;
    async fn publish(
        &self,
        endpoint: &DeliveryEndpoint,
        message: &EncodedAgentMessage,
    ) -> Result<()>;
}