# `Gust.DAG.Run.Trigger`

Behaviour for triggering DAG run actions (reset/requeue/dispatch).

This module delegates to the configured implementation module:

    config :gust, :dag_run_trigger, Gust.DAG.Run.Trigger.Requeue

The configured module must implement this behaviour.

# `graph`

```elixir
@type graph() :: term()
```

# `run`

```elixir
@type run() :: term()
```

# `task`

```elixir
@type task() :: term()
```

# `dispatch_all_runs`

```elixir
@callback dispatch_all_runs(term()) :: [term()]
```

# `dispatch_run`

```elixir
@callback dispatch_run(run()) :: term()
```

# `reset_run`

```elixir
@callback reset_run(run()) :: term()
```

# `reset_task`

```elixir
@callback reset_task(graph(), task(), integer() | nil) :: term()
```

# `dispatch_all_runs`

# `dispatch_run`

```elixir
@spec dispatch_run(run()) :: term()
```

# `reset_run`

```elixir
@spec reset_run(run()) :: term()
```

# `reset_task`

```elixir
@spec reset_task(graph(), task(), term()) :: term()
```

---

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