# `ASM.Cost`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.9.2/lib/asm/cost.ex#L1)

Cost helpers for token usage projection and accumulation.

# `totals`

```elixir
@type totals() :: %{
  input_tokens: non_neg_integer(),
  output_tokens: non_neg_integer(),
  cost_usd: float()
}
```

# `usage`

```elixir
@type usage() :: map()
```

# `accumulate`

```elixir
@spec accumulate(totals(), ASM.Control.CostUpdate.t()) :: totals()
```

# `from_usage`

```elixir
@spec from_usage(atom(), String.t() | nil, usage()) :: ASM.Control.CostUpdate.t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
