Skip to main content

Crate atomr_agents_coding_cli_core

Crate atomr_agents_coding_cli_core 

Source
Expand description

Uniform contract for the coding-cli harness.

Adapters for individual CLIs (Claude Code, Codex, Antigravity, …) plug into the harness via CliVendor. The harness consumes a CliRequest, spawns the CLI via an Isolator (sibling crate), and produces a CliResult while broadcasting a stream of normalized CodingCliEvents.

See the workspace docs/coding-cli-harness.md for the full design.

Structs§

BudgetSpec
Budgets shared across the run. Mirrors the budget plumbing in the rest of the framework but stays decoupled from atomr-agents-core::TokenBudget so this crate remains lightweight.
CliCommand
A concrete process invocation produced by a vendor adapter.
CliRequest
Uniform request the harness accepts.
CliResult
Final shape of a headless run.
CliRunId
CliSessionId
CodingCliEventStream
Subscriber handle backed by a broadcast::Receiver. Drops missed events silently — same semantics as DeepResearchEventStream.
ConceptProjection
Everything the harness hands a vendor adapter before a run so the adapter can materialize on-disk config.
McpServerInit
One MCP server the CLI loaded.
McpServerSnapshot
One MCP server entry — vendor-agnostic.
PersonaSnapshot
Identity + behavior of the agent the CLI should impersonate.
PolicySnapshot
Narrowed permissions the harness wants enforced by the CLI itself.
SkillSnapshot
One skill the CLI should be able to invoke.
ToolCallRecord
One tool the CLI invoked during the run.
ToolDescriptorInit
One tool descriptor reported by the CLI during init.
ToolSetSnapshot
A bundled set of MCP servers + standalone tool names. Materializes to .mcp.json (Claude), .cursor/mcp.json (Cursor), Codex / Antigravity settings files.
UsageSummary
Token + cost totals.

Enums§

CliVendorKind
Stable identifier for a vendor adapter. Extensible — third-party adapters can use CliVendorKind::Other.
CodingCliEvent
Normalized lifecycle events. Tagged enum — serializes as {"kind": "...", ...} so the web client can switch on kind.
FinishReason
Why the run finished.
IsolationSpec
Where the CLI process runs.
MapperError
A vendor adapter failed to project atomr concepts onto its on-disk config (CLAUDE.md, .cursor/rules/*, AGENTS.md, MCP, …).
ParseError
A vendor-side stream parser failed to interpret a line.
RunMode
Whether the harness should run the CLI headlessly (parse structured events) or interactively (bridge a tmux session to a browser).

Traits§

CliEventParser
A stream parser owned by the harness for the lifetime of one run.
CliVendor
The integration seam each CLI adapter implements.