ExAthena.Modes.ReAct (ExAthena v0.3.0)

Copy Markdown View Source

Default mode: Reason-Act cycle.

Each iteration:

  1. Build a Request from current messages + tools + system prompt.
  2. Call the provider (one-shot, not streaming — streaming is an optimisation landing in PR 4).
  3. Extract tool calls (native, or TextTagged fallback via ExAthena.ToolCalls).
  4. If no tool calls: emit {:content, text}, set finish_reason: :stop, and halt.
  5. If tool calls: run them (parallel-safe ones concurrently, mutating ones serially), append results, continue.

Budget + mistake-counter checks happen between iterations in the kernel. This mode only implements the turn-by-turn behaviour.