61 lines
2.2 KiB
Rust
61 lines
2.2 KiB
Rust
//! Workflow orchestration module
|
|
//!
|
|
//! This module provides workflow execution, orchestration, parsing, validation,
|
|
//! and template rendering capabilities for the Attune workflow orchestration system.
|
|
//!
|
|
//! # Modules
|
|
//!
|
|
//! - `parser`: Parse YAML workflow definitions into structured types
|
|
//! - `graph`: Build executable task graphs from workflow definitions
|
|
//! - `context`: Manage workflow execution context and variables
|
|
//! - `task_executor`: Execute individual workflow tasks
|
|
//! - `coordinator`: Orchestrate workflow execution with state management
|
|
//! - `template`: Template engine for variable interpolation (Jinja2-like syntax)
|
|
//!
|
|
//! # Example
|
|
//!
|
|
//! ```no_run
|
|
//! use attune_executor::workflow::{parse_workflow_yaml, WorkflowCoordinator};
|
|
//!
|
|
//! // Parse a workflow YAML file
|
|
//! let yaml = r#"
|
|
//! ref: my_pack.my_workflow
|
|
//! label: My Workflow
|
|
//! version: 1.0.0
|
|
//! tasks:
|
|
//! - name: hello
|
|
//! action: core.echo
|
|
//! input:
|
|
//! message: "{{ parameters.name }}"
|
|
//! "#;
|
|
//!
|
|
//! let workflow = parse_workflow_yaml(yaml).expect("Failed to parse workflow");
|
|
//! ```
|
|
|
|
// Phase 2: Workflow Execution Engine
|
|
pub mod context;
|
|
pub mod coordinator;
|
|
pub mod graph;
|
|
pub mod task_executor;
|
|
pub mod template;
|
|
|
|
// Re-export workflow utilities from common crate
|
|
pub use attune_common::workflow::{
|
|
parse_workflow_file, parse_workflow_yaml, workflow_to_json, BackoffStrategy, DecisionBranch,
|
|
LoadedWorkflow, LoaderConfig, ParseError, ParseResult, PublishDirective, RegistrationOptions,
|
|
RegistrationResult, RetryConfig, Task, TaskType, ValidationError, ValidationResult,
|
|
WorkflowDefinition, WorkflowFile, WorkflowLoader, WorkflowRegistrar, WorkflowValidator,
|
|
};
|
|
|
|
// Re-export Phase 2 components
|
|
pub use context::{ContextError, ContextResult, WorkflowContext};
|
|
pub use coordinator::{
|
|
WorkflowCoordinator, WorkflowExecutionHandle, WorkflowExecutionResult, WorkflowExecutionState,
|
|
WorkflowExecutionStatus,
|
|
};
|
|
pub use graph::{GraphError, GraphResult, TaskGraph, TaskNode, TaskTransitions};
|
|
pub use task_executor::{
|
|
TaskExecutionError, TaskExecutionResult, TaskExecutionStatus, TaskExecutor,
|
|
};
|
|
pub use template::{TemplateEngine, TemplateError, TemplateResult, VariableContext, VariableScope};
|