# `AshAi.Actions.Prompt.FlowState`
[🔗](https://github.com/ash-project/ash_ai/blob/v0.6.1/lib/ash_ai/actions/prompt/flow_state.ex#L5)

Internal ReqLLM-native flow state for prompt actions.

This state is the canonical representation used by prompt action execution and
powers `transform_flow` customizations.

# `t`

```elixir
@type t() :: %AshAi.Actions.Prompt.FlowState{
  actor: term(),
  extra_tools: list(),
  max_iterations: :infinity | pos_integer(),
  messages: list(),
  model: term(),
  on_tool_end: (term() -&gt; term()) | nil,
  on_tool_start: (term() -&gt; term()) | nil,
  req_llm: module(),
  req_llm_opts: Keyword.t(),
  source_context: map(),
  strict: boolean(),
  tenant: term(),
  tool_selection: false | true | [atom()],
  verbose?: boolean()
}
```

---

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