#![recursion_limit = "256"]
pub mod admission;
pub mod cascade;
pub mod command;
pub mod dag;
pub mod durable;
pub mod error;
pub mod graph;
pub mod lineage;
pub mod router;
pub mod scheduler;
pub mod topology;
#[cfg(feature = "llm-planning")]
pub mod adaptorch;
#[cfg(feature = "llm-planning")]
pub mod aggregator;
#[cfg(feature = "llm-planning")]
pub mod ensemble;
#[cfg(feature = "llm-planning")]
pub mod plan_cache;
#[cfg(feature = "llm-planning")]
pub mod planner;
#[cfg(feature = "llm-planning")]
pub mod verifier;
#[cfg(feature = "llm-planning")]
pub mod verify_predicate;
pub use admission::AdmissionGate;
pub use cascade::{AbortDecision, CascadeConfig, CascadeDetector, RegionHealth};
pub use command::PlanCommand;
pub use dag::lookahead_tools;
pub use error::OrchestrationError;
pub use graph::{
ExecutionMode, FailureStrategy, GraphId, GraphPersistence, GraphStatus, NetworkScope, PlanSlug,
PredicateOutcome, RecoveryAction, TaskGraph, TaskId, TaskNode, TaskResult, TaskStatus,
TimeoutPolicy, VerifyPredicate,
};
pub use lineage::{ErrorLineage, LineageEntry, LineageKind, classify_error};
pub use router::{AgentRouter, RuleBasedRouter};
pub use scheduler::{DagScheduler, SchedulerAction, TaskEvent, TaskOutcome};
pub use topology::{
DispatchStrategy, Topology, TopologyAnalysis, TopologyClassifier, build_rev_adj,
};
#[cfg(feature = "llm-planning")]
pub use adaptorch::{AdaptOrchMetrics, AdvisorVerdict, TaskClass, TopologyAdvisor, TopologyHint};
#[cfg(feature = "llm-planning")]
pub use aggregator::{Aggregator, LlmAggregator};
#[cfg(feature = "llm-planning")]
pub use ensemble::{Ballot, EnsembleAttempt, EnsembleTracker, EnsembleVerifier, MergeOutcome};
#[cfg(feature = "llm-planning")]
pub use plan_cache::{
PlanCache, PlanCacheError, PlanTemplate, TemplateTask, normalize_goal, plan_with_cache,
};
#[cfg(feature = "llm-planning")]
pub use planner::{LlmPlanner, Planner};
#[cfg(feature = "llm-planning")]
pub use verifier::{Gap, GapSeverity, PlanVerifier, ToolCallSummary, VerificationResult};
#[cfg(feature = "llm-planning")]
pub use verify_predicate::PredicateEvaluator;