pub mod decider;
pub mod engine;
pub mod executor;
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("Workspace error: {0}")]
Workspace(String),
#[error("Execution error: {0}")]
Execution(String),
#[error("Parse error: {0}")]
Parse(String),
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
#[error("Graph error: {0}")]
Graph(String),
}
pub type Result<T> = std::result::Result<T, Error>;
pub use decider::{
Action, ActionKind, ActionResult, AgentMode, AgentState, ComposableDecider, Decider,
DeciderConfig, DecisionContext, DecisionModifier, MurmurationDecider, ParameterizedDecider,
PlainDecider,
};
#[allow(deprecated)]
pub use executor::{
BlueprintBuilder, BlueprintExecutor, BlueprintResult, Conflict, ConflictKind, CoreExecutor,
DependencyGraph, ExecutionContext, Executor, ExecutorError, InsertPosition, ItemKind,
MutationSpec, MutationTargetSymbol, ParallelBlueprint, Scope, SelfParam, SpecRelation,
SpecRelationKind, SpecResult, StmtInsertPosition, SyncError, VariantKind, Visibility,
};
pub use engine::{
collect_affected_ids, multi_file_dumper, single_file_dumper, ASTMutationContext,
ASTMutationEngine, ASTRegApply, ExecutionResult, ModificationType, MutationEvent, SourceDumper,
SourceGenerator,
};