# Omni v1.3.0 - Table of Contents

## Pages

- [Changelog](changelog.md)

## Modules

- [Omni](Omni.md): ![Omni](https://raw.githubusercontent.com/aaronrussell/omni/main/media/poster.webp)
- [Omni.Codec](Omni.Codec.md): Lossless serialisation of Omni structs to and from JSON-safe maps.
- [Omni.Model](Omni.Model.md): A data struct describing a specific LLM.
- [Omni.Schema](Omni.Schema.md): Builders and validation for JSON Schema maps.
- [Omni.StreamingResponse](Omni.StreamingResponse.md): A streaming LLM response that yields events as they arrive from the provider.
- [Omni.Tool](Omni.Tool.md): Reusable, validated tools that an LLM can invoke during a conversation.
- [Omni.Tool.Runner](Omni.Tool.Runner.md): Executes tool use blocks in parallel and returns tool result blocks.

- Data
  - [Omni.Content.Attachment](Omni.Content.Attachment.md): An attachment content block for binary content such as images, PDFs, and
other media.
  - [Omni.Content.Text](Omni.Content.Text.md): A text content block.
  - [Omni.Content.Thinking](Omni.Content.Thinking.md): A thinking content block representing the model's chain-of-thought reasoning.
  - [Omni.Content.ToolResult](Omni.Content.ToolResult.md): A tool result content block representing the output of a tool invocation.
  - [Omni.Content.ToolUse](Omni.Content.ToolUse.md): A tool use content block representing the model's intent to invoke a tool.
  - [Omni.Context](Omni.Context.md): The context for a conversation with an LLM.
  - [Omni.Message](Omni.Message.md): A message in a conversation.
  - [Omni.Response](Omni.Response.md): The result of a text generation request.
  - [Omni.Usage](Omni.Usage.md): Token counts and computed costs for a generation request.

- Providers
  - [Omni.Provider](Omni.Provider.md): Behaviour and shared logic for LLM providers.
  - [Omni.Providers.Anthropic](Omni.Providers.Anthropic.md): Provider for the Anthropic API, using the `Omni.Dialects.AnthropicMessages`
dialect.
  - [Omni.Providers.Google](Omni.Providers.Google.md): Provider for the Google Gemini API, using the `Omni.Dialects.GoogleGemini`
dialect.
  - [Omni.Providers.Groq](Omni.Providers.Groq.md): Provider for the Groq API, using the `Omni.Dialects.OpenAICompletions`
dialect.
  - [Omni.Providers.Moonshot](Omni.Providers.Moonshot.md): Provider for the Moonshot AI (Kimi) API, using the
`Omni.Dialects.OpenAICompletions` dialect.
  - [Omni.Providers.Ollama](Omni.Providers.Ollama.md): Provider for the Ollama API, using the `Omni.Dialects.OllamaChat` dialect.
  - [Omni.Providers.OpenAI](Omni.Providers.OpenAI.md): Provider for the OpenAI API, using the `Omni.Dialects.OpenAIResponses`
dialect.
  - [Omni.Providers.OpenCode](Omni.Providers.OpenCode.md): Provider for the OpenCode Zen API.
  - [Omni.Providers.OpenRouter](Omni.Providers.OpenRouter.md): Provider for the OpenRouter API, using the `Omni.Dialects.OpenAICompletions`
dialect.
  - [Omni.Providers.Zai](Omni.Providers.Zai.md): Provider for the Z.ai API, using the `Omni.Dialects.OpenAICompletions`
dialect.

- Dialects
  - [Omni.Dialect](Omni.Dialect.md): Behaviour for wire format translation between Omni types and provider APIs.
  - [Omni.Dialects.AnthropicMessages](Omni.Dialects.AnthropicMessages.md): Dialect implementation for the Anthropic Messages wire format.
  - [Omni.Dialects.GoogleGemini](Omni.Dialects.GoogleGemini.md): Dialect implementation for the Google Gemini wire format.
  - [Omni.Dialects.OllamaChat](Omni.Dialects.OllamaChat.md): Dialect implementation for the Ollama native chat API wire format.
  - [Omni.Dialects.OpenAICompletions](Omni.Dialects.OpenAICompletions.md): Dialect implementation for the OpenAI Chat Completions wire format.
  - [Omni.Dialects.OpenAIResponses](Omni.Dialects.OpenAIResponses.md): Dialect implementation for the OpenAI Responses wire format.

## Mix Tasks

- [mix models.get](Mix.Tasks.Models.Get.md): Fetches model catalog data from models.dev and writes JSON files to `priv/models/`.

