# Puck v0.2.25 - API Reference

## Modules

- [Puck.Backends.Baml.TypeBuilder](Puck.Backends.Baml.TypeBuilder.md): Converts Zoi schemas to `BamlElixir.TypeBuilder` structs.
- [Puck.Baml.PuckSummarize](Puck.Baml.PuckSummarize.md)
- [Puck.Content.Wrappable](Puck.Content.Wrappable.md): Protocol for converting content to `Puck.Content.Part` structs.
- [Puck.Eval.Trial.Summary](Puck.Eval.Trial.Summary.md): Summary of multi-trial evaluation results.

- [Puck.Sandbox](Puck.Sandbox.md): Sandbox execution environments for isolated code execution.
- [Puck.Sandbox.Eval.Lua.ExecuteCode](Puck.Sandbox.Eval.Lua.ExecuteCode.md): Struct for LLM-generated Lua code execution actions.

- Core
  - [Puck](Puck.md): Puck - An AI framework for Elixir.
  - [Puck.Client](Puck.Client.md): Configuration struct for an LLM client.
  - [Puck.Content](Puck.Content.md): Multi-modal content for messages.
  - [Puck.Content.Part](Puck.Content.Part.md): A single content part within a message.
  - [Puck.Context](Puck.Context.md): Conversation context with message history and metadata.
  - [Puck.Message](Puck.Message.md): A single message in a conversation.
  - [Puck.Response](Puck.Response.md): Normalized response struct for LLM outputs.

- Backends
  - [Puck.Backend](Puck.Backend.md): Behaviour for LLM backend implementations.
  - [Puck.Backends.Baml](Puck.Backends.Baml.md): Backend implementation using BAML for structured outputs.
  - [Puck.Backends.ClaudeAgentSDK](Puck.Backends.ClaudeAgentSDK.md): Backend implementation using the Claude Agent SDK.
  - [Puck.Backends.Mock](Puck.Backends.Mock.md): Mock backend for testing.
  - [Puck.Backends.ReqLLM](Puck.Backends.ReqLLM.md): Backend implementation using the ReqLLM library.
  - [Puck.Baml](Puck.Baml.md): Built-in BAML functions shipped with Puck.

- Hooks
  - [Puck.Hooks](Puck.Hooks.md): Behaviour for lifecycle hooks.

- Prompt Templates
  - [Puck.Prompt](Puck.Prompt.md): Behaviour for prompt template engines.
  - [Puck.Prompt.Sigils](Puck.Prompt.Sigils.md): Compile-time validated prompt template sigils.
  - [Puck.Prompt.Solid](Puck.Prompt.Solid.md): Solid (Liquid) template engine for prompts.

- Telemetry
  - [Puck.Telemetry](Puck.Telemetry.md): Telemetry integration for observability.

- Compaction
  - [Puck.Compaction](Puck.Compaction.md): Behaviour for context compaction strategies.
  - [Puck.Compaction.SlidingWindow](Puck.Compaction.SlidingWindow.md): Sliding window compaction strategy.
  - [Puck.Compaction.Summarize](Puck.Compaction.Summarize.md): LLM-based summarization compaction strategy.

- Sandbox (Eval)
  - [Puck.Sandbox.Eval](Puck.Sandbox.Eval.md): In-process code evaluation in sandboxed interpreters.
  - [Puck.Sandbox.Eval.Lua](Puck.Sandbox.Eval.Lua.md): Execute Lua code in a sandboxed environment.

- Sandbox (Runtime)
  - [Puck.Sandbox.Runtime](Puck.Sandbox.Runtime.md): Container-based sandbox management for isolated code execution.
  - [Puck.Sandbox.Runtime.Adapter](Puck.Sandbox.Runtime.Adapter.md): Behaviour for runtime sandbox adapters.
  - [Puck.Sandbox.Runtime.Adapters.Test](Puck.Sandbox.Runtime.Adapters.Test.md): In-memory test adapter for Puck.Sandbox.Runtime.
  - [Puck.Sandbox.Runtime.ExecResult](Puck.Sandbox.Runtime.ExecResult.md): Struct representing the result of executing a command in a sandbox.
  - [Puck.Sandbox.Runtime.Instance](Puck.Sandbox.Runtime.Instance.md): Struct representing a runtime sandbox instance.
  - [Puck.Sandbox.Runtime.Template](Puck.Sandbox.Runtime.Template.md): Reusable sandbox configuration template.

- Proxy
  - [Puck.Proxy.Sandbox](Puck.Proxy.Sandbox.md): A sandbox-aware HTTP proxy with domain allowlisting and credential injection.

- Eval
  - [Puck.Eval](Puck.Eval.md): Evaluation primitives for testing agents built on Puck.
  - [Puck.Eval.Collector](Puck.Eval.Collector.md): Captures trajectory from agent execution via telemetry.
  - [Puck.Eval.Grader](Puck.Eval.Grader.md): Behaviour for evaluation graders.
  - [Puck.Eval.Graders](Puck.Eval.Graders.md): Built-in graders for common evaluation patterns.
  - [Puck.Eval.Graders.LLM](Puck.Eval.Graders.LLM.md): LLM-as-judge graders for subjective evaluation.
  - [Puck.Eval.Inspector](Puck.Eval.Inspector.md): Debugging tools for trajectories and evaluation results.
  - [Puck.Eval.Result](Puck.Eval.Result.md): Aggregates grader results from an evaluation.
  - [Puck.Eval.Step](Puck.Eval.Step.md): Represents a single LLM call within a trajectory.
  - [Puck.Eval.Trajectory](Puck.Eval.Trajectory.md): Captures what happened during an agent execution.
  - [Puck.Eval.Trial](Puck.Eval.Trial.md): Multi-trial execution for measuring agent reliability and consistency.

- LiveView
  - [Puck.LiveView](Puck.LiveView.md): Supervised streaming for Phoenix LiveView.
  - [Puck.LiveView.Handler](Puck.LiveView.Handler.md): Behaviour for handling stream lifecycle events inside the stream process.

- Testing
  - [Puck.Test](Puck.Test.md): Test utilities for deterministic agent testing.

- Exceptions
  - [Puck.Sandbox.Eval.Lua.Error](Puck.Sandbox.Eval.Lua.Error.md): Exception raised by `Puck.Sandbox.Eval.Lua.eval!/2`.

