# `Vibe.Eval.Result`
[🔗](https://github.com/elixir-vibe/vibe/blob/v0.2.3/lib/vibe/eval/result.ex#L1)

Structured eval display result.

`format` tells renderers how to display `output` without guessing from source
code or inspected text. Future rich outputs can add formats such as images
while keeping the eval/tool boundary typed.

# `format`

```elixir
@type format() :: :inspect | :text | :markdown
```

# `part`

```elixir
@type part() :: %{output: String.t(), format: format()} | Vibe.Model.Content.t()
```

# `t`

```elixir
@type t() :: %Vibe.Eval.Result{
  format: format(),
  io: String.t(),
  output: String.t(),
  parts: [part()],
  truncation: :head | :tail | nil,
  value_type: atom() | module()
}
```

# `to_tool_output`

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

---

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