# car-ir
Agent intermediate representation types for the [Common Agent Runtime](https://github.com/Parslee-ai/car).
## What it does
Defines the typed IR that sits between model intent and runtime execution. Encodes richer
semantics than raw function-call JSON: preconditions, expected effects, idempotency keys,
failure behavior, state dependencies, and DAG construction. This is the shared vocabulary
that all other CAR crates depend on.
## Usage
```rust
use car_ir::{Action, ActionProposal, ActionType, Precondition, FailureBehavior, build_dag};
let action = Action {
id: "a1".into(),
action_type: ActionType::ToolCall,
tool: Some("search".into()),
preconditions: vec![],
state_dependencies: vec![],
failure_behavior: FailureBehavior::Abort,
..Default::default()
};
let levels = build_dag(&[action]);
```
Part of [CAR](https://github.com/Parslee-ai/car) -- see the main repo for full documentation.