Skip to main content

nexo_driver_loop/
lib.rs

1//! Phase 67.4 — driver agent loop. See `README.md` and
2//! `docs/src/architecture/driver-subsystem.md` for the architecture.
3
4pub mod acceptance;
5pub mod attempt;
6pub mod compact_store;
7pub mod config;
8pub mod error;
9pub mod evaluators;
10pub mod events;
11pub mod extract_memories;
12pub mod extract_memories_prompt;
13pub mod harness;
14pub mod llm_decider;
15pub mod mcp_config;
16pub mod memory;
17pub mod orchestrator;
18pub mod post_compact_cleanup;
19pub mod proactive;
20pub mod prompt;
21pub mod replay;
22pub mod socket;
23pub mod workspace;
24
25pub use acceptance::{
26    AcceptanceEvaluator, CustomVerifier, CustomVerifierRegistry, DefaultAcceptanceEvaluator,
27    GitClean, NoPathsTouched, NoopAcceptanceEvaluator, ShellResult, ShellRunner,
28};
29pub use config::{
30    AcceptanceConfig, BindingStoreConfig, BindingStoreKind, CompactPolicyConfig, DeciderConfig,
31    DeciderMemoryConfig, DenyShortcutConfig, DriverBinConfig, DriverConfig,
32    EmbeddingProviderConfig, NamespaceConfig, PermissionConfig, ReplayPolicyConfig,
33    WorkspaceConfig, WorkspaceGitConfig,
34};
35pub use error::DriverError;
36#[cfg(feature = "nats")]
37pub use events::NatsEventSink;
38pub use events::{DriverEvent, DriverEventSink, NoopEventSink};
39pub use harness::ClaudeHarness;
40pub use llm_decider::LlmDecider;
41pub use mcp_config::write_mcp_config;
42pub use memory::{DecisionMemory, Namespace, NoopDecisionMemory, SqliteVecDecisionMemory};
43pub use orchestrator::{DriverOrchestrator, DriverOrchestratorBuilder, GoalOutcome};
44pub use prompt::compose_turn_prompt;
45pub use replay::{
46    DefaultReplayPolicy, ReplayContext, ReplayDecision, ReplayOutcomeHint, ReplayPolicy,
47};
48pub use socket::{DriverSocketServer, SocketMessage};
49pub use workspace::{GitWorktreeMode, WorkspaceManager};