1pub mod chaos_mode;
14mod cli_capture;
15mod config;
16pub mod diagnostics;
17mod event_logger;
18mod event_loop;
19mod event_parser;
20mod event_reader;
21pub mod file_lock;
22mod git_ops;
23mod handoff;
24mod hat_registry;
25mod hatless_ralph;
26mod instructions;
27mod landing;
28pub mod loop_completion;
29pub mod loop_context;
30pub mod loop_history;
31pub mod loop_lock;
32mod loop_name;
33pub mod loop_registry;
34mod memory;
35pub mod memory_parser;
36mod memory_store;
37pub mod merge_queue;
38pub mod planning_session;
39mod session_player;
40mod session_recorder;
41pub mod skill;
42pub mod skill_registry;
43mod summary_writer;
44pub mod task;
45pub mod task_definition;
46pub mod task_store;
47pub mod testing;
48mod text;
49pub mod utils;
50pub mod workspace;
51pub mod worktree;
52
53pub use chaos_mode::{CHAOS_COMPLETION_PROMISE, ChaosModeState};
54pub use cli_capture::{CliCapture, CliCapturePair};
55pub use config::{
56 ChaosModeConfig, ChaosOutput, CliConfig, CoreConfig, EventLoopConfig, EventMetadata,
57 FeaturesConfig, HatBackend, HatConfig, InjectMode, MemoriesConfig, MemoriesFilter, RalphConfig,
58 ResearchFocus, SkillOverride, SkillsConfig,
59};
60pub use diagnostics::DiagnosticsCollector;
62pub use event_logger::{EventHistory, EventLogger, EventRecord};
63pub use event_loop::{EventLoop, LoopState, TerminationReason, UserPrompt};
64pub use event_parser::EventParser;
65pub use event_reader::{Event, EventReader, MalformedLine, ParseResult};
66pub use file_lock::{FileLock, LockGuard as FileLockGuard, LockedFile};
67pub use git_ops::{
68 AutoCommitResult, GitOpsError, auto_commit_changes, clean_stashes, get_commit_summary,
69 get_current_branch, get_head_sha, get_recent_files, has_uncommitted_changes,
70 is_working_tree_clean, prune_remote_refs,
71};
72pub use handoff::{HandoffError, HandoffResult, HandoffWriter};
73pub use hat_registry::HatRegistry;
74pub use hatless_ralph::{HatInfo, HatTopology, HatlessRalph};
75pub use instructions::InstructionBuilder;
76pub use landing::{LandingConfig, LandingError, LandingHandler, LandingResult};
77pub use loop_completion::{CompletionAction, CompletionError, LoopCompletionHandler};
78pub use loop_context::LoopContext;
79pub use loop_history::{HistoryError, HistoryEvent, HistoryEventType, HistorySummary, LoopHistory};
80pub use loop_lock::{LockError, LockGuard, LockMetadata, LoopLock};
81pub use loop_name::{LoopNameGenerator, LoopNamingConfig};
82pub use loop_registry::{LoopEntry, LoopRegistry, RegistryError};
83pub use memory::{Memory, MemoryType};
84pub use memory_store::{
85 DEFAULT_MEMORIES_PATH, MarkdownMemoryStore, format_memories_as_markdown, truncate_to_budget,
86};
87pub use merge_queue::{
88 MergeButtonState, MergeEntry, MergeEvent, MergeEventType, MergeOption, MergeQueue,
89 MergeQueueError, MergeState, SteeringDecision, merge_button_state, merge_execution_summary,
90 merge_needs_steering, smart_merge_summary,
91};
92pub use planning_session::{
93 ConversationEntry, ConversationType, PlanningSession, PlanningSessionError, SessionMetadata,
94 SessionStatus,
95};
96pub use session_player::{PlayerConfig, ReplayMode, SessionPlayer, TimestampedRecord};
97pub use session_recorder::{Record, SessionRecorder};
98pub use skill::{SkillEntry, SkillFrontmatter, SkillSource, parse_frontmatter};
99pub use skill_registry::SkillRegistry;
100pub use summary_writer::SummaryWriter;
101pub use task::{Task, TaskStatus};
102pub use task_definition::{
103 TaskDefinition, TaskDefinitionError, TaskSetup, TaskSuite, Verification,
104};
105pub use task_store::TaskStore;
106pub use text::truncate_with_ellipsis;
107pub use workspace::{
108 CleanupPolicy, TaskWorkspace, VerificationResult, WorkspaceError, WorkspaceInfo,
109 WorkspaceManager,
110};
111pub use worktree::{
112 SyncStats, Worktree, WorktreeConfig, WorktreeError, create_worktree, ensure_gitignore,
113 list_ralph_worktrees, list_worktrees, remove_worktree, sync_working_directory_to_worktree,
114 worktree_exists,
115};