Skip to main content

Crate gate4agent

Crate gate4agent 

Source
Expand description

gate4agent — Universal wrapper for CLI agents (Claude Code, Codex, Gemini, OpenCode).

Three transport modes:

  • Pipe mode: NDJSON-streaming pipe sessions (Claude, Codex, Gemini, OpenCode)
  • PTY mirror: spawns agent in real PTY, captures raw output, vt100 parsing
  • ACP mode: bidirectional JSON-RPC 2.0 over stdio (Gemini, OpenCode, Claude ACP adapter)

All modes produce AgentEvent values on a tokio::sync::broadcast channel.

§Entry points

Re-exports§

pub use core::capabilities::CliCapabilities;
pub use core::capabilities::CliFeatures;
pub use core::capabilities::ModelInfo;
pub use core::capabilities::PermissionModeInfo;
pub use core::error::AgentError;
pub use core::types::AgentEvent;
pub use core::types::CliTool;
pub use core::types::SessionConfig;
pub use transport::SpawnOptions;
pub use transport::TransportSession;
pub use pipe::PipeSession;
pub use pipe::PipeProcessOptions;
pub use pipe::ClaudeOptions;
pub use acp::AcpSession;
pub use acp::AcpSessionOptions;
pub use acp::AcpError;
pub use acp::AcpHostHandler;
pub use acp::DefaultAcpHandler;
pub use rpc::HostHandler;
pub use rpc::RejectAllHandler;
pub use rpc::MethodRouter;
pub use rpc::RpcId;
pub use rpc::RpcRequest;
pub use rpc::RpcResponse;
pub use rpc::RpcError;
pub use rpc::RpcNotification;
pub use rpc::classify_line;
pub use manager::MultiCliManager;
pub use manager::ManagerConfig;
pub use manager::InstanceId;
pub use manager::InstanceMode;
pub use pty::snapshot::AgentCli;
pub use pty::snapshot::AgentRenderSnapshot;
pub use pty::snapshot::AgentSnapshotMode;
pub use pty::snapshot::BuddyArt;
pub use pty::snapshot::ChatMessage;
pub use pty::snapshot::ChatRole;
pub use pty::snapshot::TermCell;
pub use pty::snapshot::TermGrid;
pub use history::HistoryReader;
pub use history::SessionMeta;
pub use history::reader_for;
pub use daemon::DaemonSession;
pub use daemon::DaemonConfig;
pub use daemon::DaemonType;
pub use daemon::DaemonAuth;
pub use probe::probe_all;
pub use probe::probe_force;
pub use probe::load_cached_probe;
pub use probe::ProbeResult;
pub use probe::CliProbe;
pub use context::ContextTracker;
pub use context::TurnCompleteData;
pub use cure::cure;
pub use cure::load_cure_cache;
pub use cure::CureCache;
pub use cure::CuredModel;
pub use cure::CureError;
pub use cure::CureSource;

Modules§

acp
ACP (Agent Client Protocol) transport module.
context
Per-session token usage tracking and context window computation.
core
Core shared types and errors for gate4agent.
cure
Runtime model discovery for gate4agent.
daemon
Daemon transport — connect to long-running HTTP/WebSocket AI agent servers.
history
Read-only access to CLI session history files written by the CLIs themselves.
manager
Multi-CLI agent session manager.
pipe
Pipe transport — NDJSON-streaming headless CLI sessions.
probe
CLI tool probe and capability discovery with caching.
pty
PTY transport — pseudo-terminal screen-scraping for CLI agents.
rpc
Shared JSON-RPC 2.0 primitives used by the ACP transport.
transport
Transport layer — thin dispatch router for spawning CLI agent processes.