# hephaestus v0.3.1 - API Reference

## Modules

- [Hephaestus.Application](Hephaestus.Application.md): OTP Application for Hephaestus.
- [Hephaestus.Instances](Hephaestus.Instances.md): Auto-discovery registry for Hephaestus runtime instances.
- [Hephaestus.Instances.Tracker](Hephaestus.Instances.Tracker.md): A GenServer that registers its parent Hephaestus module in the
`Hephaestus.Instances` registry on boot.
- [Hephaestus.Uniqueness](Hephaestus.Uniqueness.md)
- [Hephaestus.Workflow.Unique](Hephaestus.Workflow.Unique.md)

- Core
  - [Hephaestus](Hephaestus.md): Entry-point macro for consumer applications.
  - [Hephaestus.Core.Context](Hephaestus.Core.Context.md): Workflow execution context carrying initial data and step results.
  - [Hephaestus.Core.Engine](Hephaestus.Core.Engine.md): Pure functional workflow engine for the callback-based v2 API.

  - [Hephaestus.Core.ExecutionEntry](Hephaestus.Core.ExecutionEntry.md): A record of a step execution in the workflow history.
  - [Hephaestus.Core.Instance](Hephaestus.Core.Instance.md): A runtime instance of a workflow execution.
  - [Hephaestus.Core.Workflow](Hephaestus.Core.Workflow.md): Behaviour and compile-time validation helpers for workflow modules.
  - [Hephaestus.Workflow](Hephaestus.Workflow.md): Macro module for defining workflows with callback-based pattern matching.

- Steps
  - [Hephaestus.Steps.Debug](Hephaestus.Steps.Debug.md): Built-in step that logs the current context and execution history.
  - [Hephaestus.Steps.Done](Hephaestus.Steps.Done.md): Built-in terminal step that marks a workflow as complete.
  - [Hephaestus.Steps.Step](Hephaestus.Steps.Step.md): Behaviour for workflow step implementations.
  - [Hephaestus.Steps.Wait](Hephaestus.Steps.Wait.md): Built-in step that pauses a workflow for a specified duration.
  - [Hephaestus.Steps.WaitForEvent](Hephaestus.Steps.WaitForEvent.md): Built-in step that pauses a workflow until an external event is received.

- Runtime
  - [Hephaestus.Runtime.Runner](Hephaestus.Runtime.Runner.md): Execution adapter contract for workflow instances.

  - [Hephaestus.Runtime.Runner.Local](Hephaestus.Runtime.Runner.Local.md): Local OTP runner that executes one workflow instance per GenServer process.
  - [Hephaestus.Runtime.Storage](Hephaestus.Runtime.Storage.md): Persistence adapter contract for workflow instances.

  - [Hephaestus.Runtime.Storage.ETS](Hephaestus.Runtime.Storage.ETS.md): ETS-backed storage adapter for workflow instances.

- Telemetry
  - [Hephaestus.Telemetry](Hephaestus.Telemetry.md): Telemetry event emission for Hephaestus workflow and step lifecycle.
  - [Hephaestus.Telemetry.LogHandler](Hephaestus.Telemetry.LogHandler.md): A structured Logger handler that attaches to Hephaestus telemetry events
and produces human-readable, grep-friendly log output.
  - [Hephaestus.Telemetry.Metrics](Hephaestus.Telemetry.Metrics.md): Pre-built `Telemetry.Metrics` definitions for Hephaestus workflow events.

- Connectors
  - [Hephaestus.Connectors.Connector](Hephaestus.Connectors.Connector.md): Contract for external service connectors.

## Mix Tasks

- [mix hephaestus.gen.docs](Mix.Tasks.Hephaestus.Gen.Docs.md): Generates `@moduledoc` documentation with an ASCII flowchart showing
all possible execution paths for every module that uses `Hephaestus.Workflow`.

