agent-runtime-infra-adapter 0.1.1

Internal Agent Infra SDK adapter for Agent Runtime ports
Documentation
use async_trait::async_trait;
use runtime_ports::{
    OperationContext, PortFailure, ResolvedExecutionContext, ResourceSession, ResourceSnapshot,
};

pub struct BindingResourceSession {
    resolved: ResolvedExecutionContext,
}
impl BindingResourceSession {
    pub fn new(resolved: ResolvedExecutionContext) -> Self {
        Self { resolved }
    }
}
#[async_trait]
impl ResourceSession for BindingResourceSession {
    async fn load(&self, operation: &OperationContext) -> Result<ResourceSnapshot, PortFailure> {
        operation.remaining()?;
        let instructions = self
            .resolved
            .metadata
            .get("instructions")
            .cloned()
            .into_iter()
            .collect();
        Ok(ResourceSnapshot {
            instructions,
            skills: Default::default(),
            digest: self.resolved.definition_digest.clone().unwrap_or_else(|| {
                format!(
                    "{}@{}",
                    self.resolved.definition_id, self.resolved.definition_version
                )
            }),
        })
    }
}