# `LlmCore.Agent.ToolDispatch.Components.ResolveStrategy`
[🔗](https://github.com/fosferon/llm_core/blob/v0.3.0/lib/llm_core/agent/tool_dispatch/components/resolve_strategy.ex#L1)

Determines the dispatch strategy for a tool call.

Checks if a recipe exists for the tool. If yes, strategy is `:recipe`
and the event flows to the recipe branch. If no, strategy is `:passthrough`
and the event goes to `DirectResolve`.

This is a static structure with dynamic routing — the Switch after this
stage uses the `strategy` field to route. The recipe branch exists whether
or not any given call uses it.

# `call`

```elixir
@spec call(
  LlmCore.Agent.ToolDispatch.Event.t(),
  keyword()
) :: LlmCore.Agent.ToolDispatch.Event.t()
```

Sets the dispatch strategy based on recipe presence.

## Parameters

  * `event` — `%Event{}` with optional `recipe` field
  * `opts` — ALF stage options (unused)

## Returns

  Updated `%Event{}` with `strategy` set to `:passthrough` or `:recipe`.

---

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