pub mod acceptance;
pub mod attempt;
pub mod compact_store;
pub mod config;
pub mod error;
pub mod evaluators;
pub mod events;
pub mod extract_memories;
pub mod extract_memories_prompt;
pub mod harness;
pub mod llm_decider;
pub mod mcp_config;
pub mod memory;
pub mod orchestrator;
pub mod post_compact_cleanup;
pub mod proactive;
pub mod prompt;
pub mod replay;
#[cfg(unix)]
pub mod socket;
pub mod workspace;
pub use acceptance::{
AcceptanceEvaluator, CustomVerifier, CustomVerifierRegistry, DefaultAcceptanceEvaluator,
GitClean, NoPathsTouched, NoopAcceptanceEvaluator, ShellResult, ShellRunner,
};
pub use config::{
AcceptanceConfig, BindingStoreConfig, BindingStoreKind, CompactPolicyConfig, DeciderConfig,
DeciderMemoryConfig, DenyShortcutConfig, DriverBinConfig, DriverConfig,
EmbeddingProviderConfig, NamespaceConfig, PermissionConfig, ReplayPolicyConfig,
WorkspaceConfig, WorkspaceGitConfig,
};
pub use error::DriverError;
#[cfg(feature = "nats")]
pub use events::NatsEventSink;
pub use events::{DriverEvent, DriverEventSink, NoopEventSink};
pub use harness::ClaudeHarness;
pub use llm_decider::LlmDecider;
pub use mcp_config::write_mcp_config;
pub use memory::{DecisionMemory, Namespace, NoopDecisionMemory, SqliteVecDecisionMemory};
pub use orchestrator::{DriverOrchestrator, DriverOrchestratorBuilder, GoalOutcome};
pub use prompt::compose_turn_prompt;
pub use replay::{
DefaultReplayPolicy, ReplayContext, ReplayDecision, ReplayOutcomeHint, ReplayPolicy,
};
#[cfg(unix)]
pub use socket::{DriverSocketServer, SocketMessage};
pub use workspace::{GitWorktreeMode, WorkspaceManager};