# `GEPA.StopCondition.Composite`
[🔗](https://github.com/nshkrdotcom/gepa_ex/blob/v0.3.0/lib/gepa/stop_condition.ex#L99)

Combines multiple stop conditions with AND/OR logic.

## Example

    composite = %GEPA.StopCondition.Composite{
      conditions: [timeout_condition, budget_condition],
      mode: :any
    }

    # Stops when ANY condition triggers
    should_stop?(composite, state)

# `t`

```elixir
@type t() :: %GEPA.StopCondition.Composite{conditions: [term()], mode: :any | :all}
```

# `new`

```elixir
@spec new([term()], :any | :all) :: t()
```

Create a composite stop condition.

## Parameters

- `conditions`: List of stop condition structs
- `mode`: `:any` (OR logic) or `:all` (AND logic)

# `update`

```elixir
@spec update(t(), GEPA.State.t()) :: t()
```

---

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