Toolnexus.Client.RunResult (toolnexus v0.12.0)

Copy Markdown View Source

Full outcome + telemetry of one run/ask (SPEC §8, §10).

status is "done" | "pending" | "incomplete": "pending" ⇒ a tool suspended and no wait_for was set (§10); "incomplete" ⇒ a limit stopped the run loudly (max_turns reached with the model still emitting tool calls — SPEC §7D/§10 addendum), never a silent "done". limit names the limit ("maxTurns") and is set ONLY when status is "incomplete".

Summary

Types

t()

@type t() :: %Toolnexus.Client.RunResult{
  limit: String.t() | nil,
  messages: [map()],
  model: String.t() | nil,
  pending: Toolnexus.Request.t() | nil,
  status: String.t(),
  text: String.t(),
  tool_call_count: non_neg_integer(),
  tool_calls: [map()],
  turns: non_neg_integer(),
  usage: %{
    prompt_tokens: integer(),
    completion_tokens: integer(),
    total_tokens: integer()
  }
}