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

Behaviour for Squid Mesh tool adapters.

Adapters receive a request map and a workflow context map, then return either
a normalized tool result or a normalized tool error.

# `context`

```elixir
@type context() :: map()
```

# `request`

```elixir
@type request() :: map()
```

# `invoke`

```elixir
@callback invoke(request(), context(), keyword()) ::
  {:ok, SquidMesh.Tools.Result.t()} | {:error, SquidMesh.Tools.Error.t()}
```

---

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