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
TransportSession— thin dispatch router: pipe or PTYPipeSession— direct pipe session entry point (restored for 0.1.x compatibility)pty::PtySession::spawn— PTY mirror mode (unchanged)AcpSession— ACP transport (multi-turn JSON-RPC 2.0, Gemini/OpenCode/Claude)MultiCliManager— high-level session manager for the chart app
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.