# ash_ai v0.6.1 - API Reference

## Modules

- [AshAi](AshAi.md): Documentation for `AshAi`.

- [AshAi.Actions](AshAi.Actions.md): Builtin generic action implementations.
- [AshAi.Actions.Prompt](AshAi.Actions.Prompt.md): A generic action impl that returns structured outputs from an LLM matching the action return.
- [AshAi.Actions.Prompt.FlowState](AshAi.Actions.Prompt.FlowState.md): Internal ReqLLM-native flow state for prompt actions.
- [AshAi.Changes.Vectorize](AshAi.Changes.Vectorize.md): A change that vectorizes the current values of attributes for a given record.
Used by the manual vectorization strategy, so you can decide
later when to run the vectorization action.

- [AshAi.Changes.VectorizeAfterAction](AshAi.Changes.VectorizeAfterAction.md): Vectorizes attributes inline immediately after they are changed
- [AshAi.Changes.VectorizeAfterActionObanTrigger](AshAi.Changes.VectorizeAfterActionObanTrigger.md): Run an ash_oban trigger when embeddings need to be regenerated.
- [AshAi.ChatUI.Tools](AshAi.ChatUI.Tools.md): Normalizes tool call and tool result data for generated chat UIs.
- [AshAi.Checks.ActorIsAshAi](AshAi.Checks.ActorIsAshAi.md): A check that is true when the actor is `%AshAi{}`
- [AshAi.Dsl](AshAi.Dsl.md): Spark DSL schemas and configuration for AshAi.
- [AshAi.EmbeddingModel](AshAi.EmbeddingModel.md): A behaviour that defines the dimensions of the vector, and how to generate the embedding

- [AshAi.EmbeddingModels.ReqLLM](AshAi.EmbeddingModels.ReqLLM.md): ReqLLM-backed embedding model for AshAi vectorization.
- [AshAi.FullText](AshAi.FullText.md): A section that defines how complex vectorized columns are defined
- [AshAi.Info](AshAi.Info.md): Introspection functions for the `AshAi` extension.
- [AshAi.Mcp](AshAi.Mcp.md): Model Context Protocol (MCP) implementation for Ash Framework.
- [AshAi.Mcp.Dev](AshAi.Mcp.Dev.md): Place in your endpoint's code_reloading section to expose Ash dev MCP"
- [AshAi.Mcp.Router](AshAi.Mcp.Router.md): MCP Router implementing the RPC functionality over HTTP.
- [AshAi.Mcp.Server](AshAi.Mcp.Server.md): Implementation of the Model Context Protocol (MCP) RPC functionality.
- [AshAi.McpResource](AshAi.McpResource.md): An MCP resource to expose via the Model Context Protocol (MCP).
- [AshAi.McpUiResource](AshAi.McpUiResource.md): A UI resource for MCP Apps (Model Context Protocol Apps extension).
- [AshAi.Tool](AshAi.Tool.md): An action exposed to LLM agents
- [AshAi.Tool.Argument](AshAi.Tool.Argument.md): A struct representing an argument defined in the Tool DSL.

- [AshAi.Tool.Builder](AshAi.Tool.Builder.md): Builds ReqLLM.Tool structs and callbacks from AshAi.Tool DSL entities.
- [AshAi.Tool.Errors](AshAi.Tool.Errors.md): Formats Ash errors as JSON:API error objects for tool responses.
- [AshAi.Tool.Execution](AshAi.Tool.Execution.md): Executes Ash actions from tool call arguments.

- [AshAi.Tool.Execution.Context](AshAi.Tool.Execution.Context.md): Execution context for tool calls.

- [AshAi.Tool.Schema](AshAi.Tool.Schema.md): Generates JSON schemas for tool parameters.
- [AshAi.ToolEndEvent](AshAi.ToolEndEvent.md): Event data passed to the `on_tool_end` callback used by `AshAi.ToolLoop`.
- [AshAi.ToolLoop](AshAi.ToolLoop.md): Manages a ReqLLM conversation loop with tool calls.
- [AshAi.ToolLoop.IterationEvent](AshAi.ToolLoop.IterationEvent.md): Event emitted at the start of each iteration in the tool loop.

- [AshAi.ToolLoop.Result](AshAi.ToolLoop.Result.md): Result returned from a completed tool loop.

- [AshAi.ToolStartEvent](AshAi.ToolStartEvent.md): Event data passed to the `on_tool_start` callback used by `AshAi.ToolLoop`.
- [AshAi.Tools](AshAi.Tools.md): High-level API for discovering and building tools from Ash domains.
- [AshAi.Validations.ActorIsAshAi](AshAi.Validations.ActorIsAshAi.md): A validation that passes if the actor is `%AshAi{}`
- [AshAi.Verifiers.McpResourceActionsReturnString](AshAi.Verifiers.McpResourceActionsReturnString.md): Verifies that all MCP resource actions return strings.

## Mix Tasks

- [mix ash_ai.gen.chat](Mix.Tasks.AshAi.Gen.Chat.md): Generates the resources and views for a conversational UI backed by `ash_postgres` and `ash_oban`
- [mix ash_ai.gen.mcp](Mix.Tasks.AshAi.Gen.Mcp.md): Sets up an MCP server for your application
- [mix ash_ai.install](Mix.Tasks.AshAi.Install.md): Installs `AshAi`. Call with `mix igniter.install ash_ai`. Requires igniter to run.

