# echo-orchestration
[](https://crates.io/crates/echo_orchestration)
[](https://docs.rs/echo_orchestration)
[](LICENSE)
[](https://www.rust-lang.org/)
Orchestration layer for the [echo-agent](https://crates.io/crates/echo_agent) framework.
## Quickstart
```toml
[dependencies]
echo_orchestration = "0.1"
```
```rust
use echo_orchestration::workflow::GraphBuilder;
use echo_orchestration::human_loop::ConsoleApproval;
use echo_orchestration::tasks::TaskManager;
// Build a workflow graph
let graph = GraphBuilder::new()
.add_node("analyze", analyze_step)
.add_node("execute", execute_step)
.edge("analyze", "execute")
.build()?;
// Human-in-the-loop approval
let approval = ConsoleApproval::new();
// Task scheduling with hooks
let mut tasks = TaskManager::new();
tasks.on_complete(|task| println!("Done: {}", task.id));
```
## Contents
- **Workflow Engine**: Graph + DAG + Sequential workflows with YAML/JSON support
- **Human-in-the-Loop**: Approval gates via Console, Webhook, or WebSocket
- **Task Management**: DAG task scheduling with hooks
## Feature Flags
| `websocket` | Enable WebSocket-based human-loop approvals |
## License
MIT