Skip to main content

atm_core/
lib.rs

1//! ATM Core - Shared types for Claude Code management
2//!
3//! This crate provides the core domain types shared between
4//! the daemon (atmd) and TUI (atm).
5//!
6//! All code follows the panic-free policy: no `.unwrap()`, `.expect()`,
7//! `panic!()`, `unreachable!()`, `todo!()`, or direct indexing `[i]`.
8
9pub mod agent;
10pub mod beads;
11pub mod context;
12pub mod cost;
13pub mod error;
14pub mod hook;
15pub mod model;
16pub mod project;
17pub mod session;
18pub mod tree;
19
20// Re-exports for convenience
21pub use agent::AgentType;
22pub use context::{ContextUsage, TokenCount};
23pub use cost::Money;
24pub use error::{DomainError, DomainResult};
25pub use hook::{is_interactive_tool, HookEventType};
26pub use model::{derive_display_name, Model};
27pub use project::{resolve_project_root, resolve_worktree_info};
28pub use session::{
29    ActivityDetail, LinesChanged, SessionDomain, SessionDuration, SessionId, SessionInfrastructure,
30    SessionStatus, SessionView, StatusLineData, ToolUsageRecord, ToolUseId, TranscriptPath,
31};
32pub use tree::{
33    all_node_ids, build_tree, flatten_tree, TreeNode, TreeNodeId, TreeRow, TreeRowKind,
34};