# `PhoenixAI.Store.Adapter.CostStore`
[🔗](https://github.com/franciscpd/phoenix-ai-store/blob/v0.1.0/lib/phoenix_ai/store/adapter.ex#L74)

Sub-behaviour for adapters that support cost record persistence.

# `get_cost_records`

```elixir
@callback get_cost_records(
  conversation_id :: String.t(),
  keyword()
) :: {:ok, [PhoenixAI.Store.CostTracking.CostRecord.t()]} | {:error, term()}
```

# `save_cost_record`

```elixir
@callback save_cost_record(
  PhoenixAI.Store.CostTracking.CostRecord.t(),
  keyword()
) :: {:ok, PhoenixAI.Store.CostTracking.CostRecord.t()} | {:error, term()}
```

# `sum_cost`

```elixir
@callback sum_cost(
  filters :: keyword(),
  keyword()
) :: {:ok, Decimal.t()} | {:error, term()}
```

---

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