Expand description
The code-agent boundary (issue #11): detect installed agent CLIs and drive
them in their JSON output mode. AgentClient isolates the subprocess work
so callers can inject a fake; RealAgent spawns the real binaries. A
missing binary yields Error::AgentUnavailable; a non-zero exit yields
Error::Subprocess.
Subprocess calls are synchronous (std::process::Command), matching the
other CLI boundaries (git, gh, hooks).
Re-exports§
pub use model::AgentModel;pub use model::AgentOptions;pub use model::Effort;pub use spec::AGENTS;pub use spec::AgentKind;pub use spec::AgentSpec;pub use spec::ResultFormat;pub use types::AgentRun;pub use types::AgentVersion;pub use types::DetectedAgent;
Modules§
- model
- Model and effort selection for code-agent runs (the AI PR auto-fill path).
- spec
- The known code-agent CLIs and their per-agent invocation differences, encoded as a static table so adding an agent is a single data literal (issue #11). All per-agent-variable logic — argv construction and version and result parsing — lives here as pure functions, directly unit-testable without spawning a process.
- types
- Normalized code-agent results and the JSON shapes emitted by agents’ output modes (issue #11).
Structs§
- Real
Agent - The production
AgentClientthat spawns the real agent binaries.
Traits§
- Agent
Client - Detects and drives code-agent CLIs.