walrus-cli 0.0.1

Command-line interface for Walrus
Documentation
//! Runner trait abstracting the execution mode.
//!
//! Uses RPITIT — no dyn dispatch. The CLI connects to walrusd via
//! Unix domain socket.

use anyhow::Result;
use futures_core::Stream;
use std::future::Future;

pub mod gateway;

/// Unified interface for sending messages and streaming responses.
pub trait Runner {
    /// Send a one-shot message and return the response content.
    fn send(&mut self, agent: &str, content: &str) -> impl Future<Output = Result<String>> + Send;

    /// Stream a response, yielding content text chunks.
    fn stream<'a>(
        &'a mut self,
        agent: &'a str,
        content: &'a str,
    ) -> impl Stream<Item = Result<String>> + Send + 'a;
}