# Temporalex v0.2.0 - Table of Contents

Workflow orchestration for Elixir, built on the Temporal Core SDK (Rust) via Rustler NIFs.

## Pages

- [Overview](readme.md)
- [Architecture](architecture.md)
- [Changelog](changelog.md)

## Modules

- Public API
  - [Temporalex](Temporalex.md): Workflow orchestration framework for Elixir built on Temporal.

  - [Temporalex.Activity](Temporalex.Activity.md): Defines activities that workflows can call.
  - [Temporalex.Activity.Context](Temporalex.Activity.Context.md): Context for a running activity task.
  - [Temporalex.Client](Temporalex.Client.md): Client for interacting with Temporal workflows from outside workflow code.
  - [Temporalex.Workflow](Temporalex.Workflow.md): Defines a Temporal workflow.
  - [Temporalex.Workflow.API](Temporalex.Workflow.API.md): Functions available to workflow code. All calls delegate to the executor
via `Process.get(:__temporal_executor__)`.

- Worker
  - [Temporalex.Worker](Temporalex.Worker.md): Supervisor for a Temporal worker — one per task queue.

- Errors
  - [Temporalex.ActivityFailure](Temporalex.ActivityFailure.md): Raised when an activity fails or crashes.
  - [Temporalex.ApplicationError](Temporalex.ApplicationError.md): Application-level error, optionally non-retryable.
  - [Temporalex.CancelledError](Temporalex.CancelledError.md): Raised when a workflow or activity is cancelled.
  - [Temporalex.ChildWorkflowFailure](Temporalex.ChildWorkflowFailure.md): Raised when a child workflow fails.
  - [Temporalex.NondeterminismError](Temporalex.NondeterminismError.md): Raised when replay detects a divergence from recorded history.
  - [Temporalex.TimeoutError](Temporalex.TimeoutError.md): Raised when an operation times out.

- Testing
  - [Temporalex.Testing](Temporalex.Testing.md): Test executor for Temporalex workflows.

- Internal
  - [Temporalex.Converter](Temporalex.Converter.md): Encodes and decodes workflow/activity payloads.
  - [Temporalex.Runtime](Temporalex.Runtime.md): Singleton GenServer holding the Temporal CoreRuntime + Tokio runtime.
  - [Temporalex.Worker.Executor](Temporalex.Worker.Executor.md): Production workflow executor — owns all runtime state for one workflow execution.
  - [Temporalex.Worker.Server](Temporalex.Worker.Server.md): GenServer that owns the Temporal connection and worker.

