Executes tool calls and returns result messages.
Supports parallel execution via Task.Supervisor.async_stream -
multiple tool calls in a single assistant response are
executed concurrently under Alloy.TaskSupervisor.
Summary
Functions
@spec execute_all([map()], %{required(String.t()) => module()}, Alloy.Agent.State.t()) :: Alloy.Message.t() | {:halted, String.t()}
@spec execute_all( [map()], %{required(String.t()) => module()}, Alloy.Agent.State.t(), keyword() ) :: {:ok, Alloy.Message.t(), [map()]} | {:halted, String.t()}