# `Pixir.Tools.Registry`
[🔗](https://github.com/Ranvier-Technologies/pixir/blob/main/lib/pixir/tools/registry.ex#L1)

Compile-time registry mapping tool names to modules. The registry map is the source
of truth for the available tool catalogue. The Executor resolves calls through
`fetch/1`; Providers advertise the catalogue through the tool-spec functions.
Provider-hosted tools (such as web search) execute on the Provider side and are
not Registry entries.

# `anthropic_specs`

```elixir
@spec anthropic_specs() :: [map()]
```

Tool specs for Anthropic Messages API `tools` field.

# `fetch`

```elixir
@spec fetch(String.t()) :: {:ok, module()} | {:error, map()}
```

Resolve a tool name to its module.

# `modules`

```elixir
@spec modules() :: [module()]
```

All registered tool modules.

# `names`

```elixir
@spec names() :: [String.t()]
```

All registered tool names.

# `responses_specs`

```elixir
@spec responses_specs() :: [map()]
```

Tool specs for the Responses API `tools` field.

---

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