Validate input, run the action, validate output.
Generate an LLM tool definition for this action.
Returns {:ok, result}, {:ok, result, commands}, or {:error, reason}.
{:ok, result}
{:ok, result, commands}
{:error, reason}