systemprompt-agent 0.2.2

Agent-to-Agent (A2A) protocol for systemprompt.io AI governance: streaming, JSON-RPC models, task lifecycle, .well-known discovery, and governed agent orchestration.
Documentation
use anyhow::{Context, Result};
use std::sync::Arc;

use systemprompt_models::AiProvider;

use super::Server;
use crate::state::AgentState;

pub async fn run_standalone(
    agent_state: Arc<AgentState>,
    ai_service: Arc<dyn AiProvider>,
    agent_name: &str,
    port: u16,
) -> Result<()> {
    let server = Server::new(
        Arc::clone(agent_state.db_pool()),
        agent_state,
        ai_service,
        Some(agent_name.to_string()),
        port,
    )
    .await
    .context("Failed to create agent server")?;

    server.run().await.context("Agent server failed")?;

    Ok(())
}