# `MimirAnalytics.Row.Turn`
[🔗](https://github.com/cash-mckeeman/mimir/blob/mimir_analytics-v0.8.1/mimir_analytics/lib/mimir_analytics/row/turn.ex#L1)

One per-turn row. The session mapper currently writes a run-level turn
count, not rows in this table. Callers with per-turn data can construct
rows with `new/1`.

# `t`

```elixir
@type t() :: %MimirAnalytics.Row.Turn{
  input_tokens: integer() | nil,
  output_tokens: integer() | nil,
  run_id: String.t(),
  source_file: String.t(),
  terminal: String.t() | nil,
  turn: integer()
}
```

# `new`

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

Build a `t()` from a source map; string keys, PK fields + `source_file` required.

---

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