# Orchid v0.6.1 - API Reference

## Modules

- [Orchid](Orchid.md): The core entry point for the Orchid workflow engine.
- [Orchid.Repo.ContentAddressable](Orchid.Repo.ContentAddressable.md): Optional behaviour for adapters that can answer cheap existence
queries without deserialising the stored value.
- [Orchid.Repo.Deletable](Orchid.Repo.Deletable.md): Optional behaviour for adapters that support point deletion.
- [Orchid.Repo.GC](Orchid.Repo.GC.md): Optional behaviour for adapters that support garbage collection
(TTL expiry, LRU eviction, capacity-based pruning, etc.).

- [Orchid.Repo.Transferable](Orchid.Repo.Transferable.md): Optional behaviour for bulk export / import of store contents.

- Data
  - [Orchid.Param](Orchid.Param.md): The standard unit of data exchange.
  - [Orchid.Repo](Orchid.Repo.md): Behaviour for pluggable key-value storage adapters.

- Dataflow Declaration
  - [Orchid.Recipe](Orchid.Recipe.md): Defines a processing workflow (Recipe).
  - [Orchid.Step](Orchid.Step.md): Defines the behavior and specification for a workflow step.
  - [Orchid.Step.NestedStep](Orchid.Step.NestedStep.md): Encapsulates a complete Recipe as a standalone Step to implement nested operations.

- Orchestration
  - [Orchid.Recipe.Graph](Orchid.Recipe.Graph.md): Responsible for analysing the topological structure of Recipes,
primarily conducting static checks.

  - [Orchid.Scheduler](Orchid.Scheduler.md): Scheduler is responsible for managing and scheduling the execution order of steps in the Recipe.

  - [Orchid.Scheduler.Context](Orchid.Scheduler.Context.md): The state machine for workflow execution.

- Dataflow-level Middleware
  - [Orchid.Operon](Orchid.Operon.md)
  - [Orchid.Operon.Execute](Orchid.Operon.Execute.md): Execute recipe.
  - [Orchid.Operon.Request](Orchid.Operon.Request.md)
  - [Orchid.Operon.Response](Orchid.Operon.Response.md)
  - [Orchid.Pipeline](Orchid.Pipeline.md)

- Dataflow-Level Executor
  - [Orchid.Executor](Orchid.Executor.md): Executor behavoir.
  - [Orchid.Executor.Async](Orchid.Executor.Async.md): Asynchronous Executor, implementing the behaviour of `Orchid.Executor`.
  - [Orchid.Executor.Serial](Orchid.Executor.Serial.md): Serial Executor, implementing the behaviour of `Orchid.Executor`.

- Step-level Executor
  - [Orchid.Runner](Orchid.Runner.md): Run step.
  - [Orchid.Runner.Context](Orchid.Runner.Context.md): Context for step execution.

- Step-level Middleware
  - [Orchid.Runner.Hook](Orchid.Runner.Hook.md): Behaviour for runner hooks.

  - [Orchid.Runner.Hooks.Core](Orchid.Runner.Hooks.Core.md)
  - [Orchid.Runner.Hooks.Telemetry](Orchid.Runner.Hooks.Telemetry.md)

- Context Pass-through
  - [Orchid.WorkflowCtx](Orchid.WorkflowCtx.md): Represents the context of a workflow execution, including its configuration,
path, and baggage.

- Inspection
  - [Orchid.Step.ID](Orchid.Step.ID.md): Create identifier/fingerprint via Step's input, output or mapper in option.

- Exceptions
  - [Orchid.Error](Orchid.Error.md): A container for errors that occur during Orchid execution.

