# `SquidMesh.Tools.Error`
[🔗](https://github.com/ccarvalho-eng/squid_mesh/blob/main/lib/squid_mesh/tools/error.ex#L1)

Normalized tool failure shape.

# `kind`

```elixir
@type kind() ::
  :adapter_contract
  | :http
  | :invalid_context
  | :invalid_request
  | :timeout
  | :transport
```

# `t`

```elixir
@type t() :: %SquidMesh.Tools.Error{
  adapter: module(),
  details: map(),
  kind: kind(),
  message: String.t(),
  retryable?: boolean()
}
```

# `new`

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

Builds a normalized tool error.

# `to_map`

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

Converts a tool error into a plain map suitable for step error payloads.

---

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