# `Sycophant.Pricing`

Represents pricing metadata from LLMDB's component-based pricing model.

Attached to `Sycophant.Usage` as reference data after cost calculation.
Contains the currency and all pricing components (tokens, tools, images, storage).

# `t`

```elixir
@type t() :: %Sycophant.Pricing{
  components: [Sycophant.Pricing.Component.t()],
  currency: String.t() | nil
}
```

# `find_component`

```elixir
@spec find_component(t(), String.t()) :: Sycophant.Pricing.Component.t() | nil
```

Finds a component by ID.

# `from_llmdb`

```elixir
@spec from_llmdb(map()) :: t()
```

Converts an LLMDB pricing map (atom-keyed) into a Pricing struct.

# `from_map`

```elixir
@spec from_map(map()) :: t()
```

Reconstructs a Pricing struct from a serialized map (string-keyed).

---

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