# Jido Composer v0.6.0 - Table of Contents

Composable multi-agent workflows and LLM orchestrators with human-in-the-loop, checkpointing, and OpenTelemetry observability

## Pages

- [Jido Composer](readme.md)

- Guides
  - [Getting Started](getting-started.md)
  - [Workflows](workflows.md)
  - [Orchestrators](orchestrators.md)
  - [Composition](composition.md)
  - [Human-in-the-Loop](hitl.md)
  - [Observability](observability.md)
  - [Testing](testing.md)
  - [Composer vs Jido AI](composer-vs-jido-ai.md)

- Livebooks
  - [ETL Pipeline](01_etl_pipeline.md)
  - [Branching &amp; Parallel](02_branching_and_parallel.md)
  - [Approval &amp; Suspend](03_approval_workflow.md)
  - [LLM Orchestrator](04_llm_orchestrator.md)
  - [Multi-Agent Pipeline](05_multi_agent_pipeline.md)
  - [Observability Demo](06_observability.md)
  - [Jido AI Bridge: Real AI Agents in Composer Workflows](07_jido_ai_bridge.md)

## Modules

- [Jido.Composer.ApprovalGate](Jido.Composer.ApprovalGate.md): Typed sub-state for tracking approval gates in the Orchestrator.
- [Jido.Composer.Children](Jido.Composer.Children.md): Typed sub-state for tracking child agent references and their lifecycle phases.
- [Jido.Composer.FanOut.State](Jido.Composer.FanOut.State.md): Typed sub-state for tracking FanOut branch execution.
- [Jido.Composer.OtelCtx](Jido.Composer.OtelCtx.md): Centralized OpenTelemetry context management for jido_composer.
- [Jido.Composer.Skill](Jido.Composer.Skill.md): Reusable capability bundle for runtime agent assembly.
- [Jido.Composer.ToolConcurrency](Jido.Composer.ToolConcurrency.md): Typed sub-state for tracking tool call concurrency in the Orchestrator.
- [Jido.Composer.HITL.ChildRef](Jido.Composer.HITL.ChildRef.md): Backward-compatible alias for `Jido.Composer.ChildRef`.
- [Jido.Composer.Node.DynamicAgentNode](Jido.Composer.Node.DynamicAgentNode.md): Node that assembles and executes a sub-agent from selected skills at runtime.
- [Jido.Composer.Node.MapNode](Jido.Composer.Node.MapNode.md): Applies the same node to each element of a runtime-determined list.
- [Jido.Composer.Orchestrator.Obs](Jido.Composer.Orchestrator.Obs.md): Observability state and span lifecycle for orchestrator strategies.
- [Jido.Composer.Orchestrator.StatusComputer](Jido.Composer.Orchestrator.StatusComputer.md): Computes orchestrator status from sub-state modules.
- [Jido.Composer.Workflow.Obs](Jido.Composer.Workflow.Obs.md): Observability state and span lifecycle for workflow strategies.

- Core
  - [Jido.Composer](Jido.Composer.md): Composable agent topologies for the Jido ecosystem.
  - [Jido.Composer.Context](Jido.Composer.Context.md): Layered context struct separating ambient (read-only), working (mutable),
and fork functions (applied at agent boundaries).
  - [Jido.Composer.Error](Jido.Composer.Error.md): Structured error types for Jido Composer using Splode.
  - [Jido.Composer.Node](Jido.Composer.Node.md): Uniform context-in/context-out interface for workflow participants.
  - [Jido.Composer.NodeIO](Jido.Composer.NodeIO.md): Typed envelope for node output.

- Workflow
  - [Jido.Composer.Workflow](Jido.Composer.Workflow.md): Deterministic FSM workflow DSL.
  - [Jido.Composer.Workflow.DSL](Jido.Composer.Workflow.DSL.md): Compile-time macro for declarative workflow agent definitions.
  - [Jido.Composer.Workflow.Machine](Jido.Composer.Workflow.Machine.md): Pure FSM struct at the heart of a Workflow.
  - [Jido.Composer.Workflow.Strategy](Jido.Composer.Workflow.Strategy.md): Jido.Agent.Strategy implementation for deterministic FSM-based workflows.

- Orchestrator
  - [Jido.Composer.Orchestrator](Jido.Composer.Orchestrator.md): LLM-driven orchestrator DSL.
  - [Jido.Composer.Orchestrator.AgentTool](Jido.Composer.Orchestrator.AgentTool.md): Converts Nodes into ReqLLM Tool structs for LLM function calling.
  - [Jido.Composer.Orchestrator.Configure](Jido.Composer.Orchestrator.Configure.md): Runtime configuration API for orchestrator agents.
  - [Jido.Composer.Orchestrator.DSL](Jido.Composer.Orchestrator.DSL.md): Compile-time macro for declarative orchestrator agent definitions.
  - [Jido.Composer.Orchestrator.Strategy](Jido.Composer.Orchestrator.Strategy.md): Jido.Agent.Strategy implementation for LLM-driven orchestration.

- Nodes
  - [Jido.Composer.Node.ActionNode](Jido.Composer.Node.ActionNode.md): Wraps a `Jido.Action` module as a Node.
  - [Jido.Composer.Node.AgentNode](Jido.Composer.Node.AgentNode.md): Wraps a `Jido.Agent` module as a Node.
  - [Jido.Composer.Node.FanOutNode](Jido.Composer.Node.FanOutNode.md): Executes multiple child nodes concurrently and merges their results.
  - [Jido.Composer.Node.HumanNode](Jido.Composer.Node.HumanNode.md): A Node representing a point where a human must provide input.

- Suspension &amp; HITL
  - [Jido.Composer.Checkpoint](Jido.Composer.Checkpoint.md): Checkpoint preparation and restore for Composer strategy state.
  - [Jido.Composer.ChildRef](Jido.Composer.ChildRef.md): Serializable reference to a child agent process.
  - [Jido.Composer.Resume](Jido.Composer.Resume.md): External-facing API for resuming suspended agents.
  - [Jido.Composer.Suspension](Jido.Composer.Suspension.md): Generalized suspension metadata for any reason a flow might pause.
  - [Jido.Composer.HITL.ApprovalRequest](Jido.Composer.HITL.ApprovalRequest.md): A serializable struct representing a pending human decision.
  - [Jido.Composer.HITL.ApprovalResponse](Jido.Composer.HITL.ApprovalResponse.md): The human's response to an `ApprovalRequest`.

- Directives
  - [Jido.Composer.Directive.CheckpointAndStop](Jido.Composer.Directive.CheckpointAndStop.md): Directive for hibernating a child agent and signaling the parent.
  - [Jido.Composer.Directive.FanOutBranch](Jido.Composer.Directive.FanOutBranch.md): Directive emitted per-branch when the Workflow strategy encounters a FanOutNode
or MapNode.
  - [Jido.Composer.Directive.Suspend](Jido.Composer.Directive.Suspend.md): Generalized suspend directive emitted by strategies when a flow suspends.
  - [Jido.Composer.Directive.SuspendForHuman](Jido.Composer.Directive.SuspendForHuman.md): Convenience wrapper that builds a generalized `Suspend` directive
with `reason: :human_input` and an embedded `ApprovalRequest`.

