Skip to main content

Module agent

Module agent 

Source
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§

RealAgent
The production AgentClient that spawns the real agent binaries.

Traits§

AgentClient
Detects and drives code-agent CLIs.