lattice_ai/acp/mod.rs
1//! `acp` — lattice as an Agent Client Protocol client.
2//!
3//! The ACP adapter half of `lattice-ai` (AG‑5): spawns an AI coding agent
4//! (opencode, and later claude-code-acp / gemini) as a stdio subprocess and
5//! drives it over JSON-RPC. Architecturally a network peer like `lattice-lsp`;
6//! runs no agent in-process. Gated behind `feature = "acp"`.
7//!
8//! Shares the protocol-neutral editor-capability port (`lattice-agent`) and the
9//! transport-neutral AI-log substrate with the MCP adapter in `super::mcp`. The
10//! `:ai-log` command is NOT here -- it is port-owned and lives in the crate-root
11//! `commands` module.
12
13pub mod commands;
14pub mod connection;
15pub mod conversation;
16pub mod conversation_mode;
17pub mod error;
18pub mod handle;
19pub mod install;
20pub mod permission_mode;
21pub mod providers;
22pub mod session;
23pub mod supervisor;
24pub mod tool_fold;
25
26pub use commands::register_ai_ex_commands;
27pub use connection::{Connection, SessionId};
28pub use conversation::{
29 Block, Conversation, ConversationStore, ConversationUpdated, Cost, EditStatus,
30 PendingPermissionView, PermissionStatus, Role, SessionStatus, ToolStatus, Turn, UsageSnapshot,
31};
32pub use error::{AiError, Result};
33pub use handle::{AiClientHandle, AiState};