mi6_core/
lib.rs

1// Allow stderr for warning messages in config parsing
2#![allow(clippy::print_stderr)]
3
4pub mod config;
5pub mod context;
6pub mod enable;
7pub mod framework;
8pub mod input;
9pub mod model;
10pub mod time;
11pub mod util;
12
13// Re-export from config (including OTel configuration and directory management)
14pub use config::{
15    CURRENT_TUI_CONFIG_VERSION, Config, ConfigSource, DEFAULT_HISTORY, DEFAULT_OTEL_PORT,
16    EXAMPLE_THEME_FILENAME, EXAMPLE_THEME_NAME, HooksConfig, OTEL_ENV_KEYS, OtelConfig, OtelMode,
17    StorageConfig, TuiColumnProfile, TuiConfig, TuiSortSpec, core_config_path, db_path,
18    ensure_initialized, generate_otel_env, mi6_dir, parse_history, themes_dir,
19};
20
21// Re-export from model (including all error types)
22pub use model::{
23    ApiStats, BoxError, ConfigError, Event, EventBuilder, EventOrder, EventQuery, EventType,
24    FrameworkResolutionError, InitError, Mi6Error, Order, ScanError, Session, SessionOrder,
25    SessionQuery, SessionStatus, Storage, StorageError, StorageStats, StorageStatsQuery,
26    StringError, TranscriptError, TtlParseError,
27};
28
29// Re-export from framework (including installation)
30pub use framework::{
31    ClaudeAdapter, CodexAdapter, ConfigFormat, FrameworkAdapter, FrameworkResolutionMode,
32    GeminiAdapter, InitOptions, InitResult, InstallHooksResult, ParsedHookInput,
33    UninstallHooksResult, all_adapters, default_adapter, detect_all_frameworks, detect_framework,
34    generate_config, get_adapter, initialize, initialize_all, installed_frameworks,
35    json_to_toml_string, resolve_frameworks,
36};
37
38// Re-export from context
39pub use context::{
40    ClaudeProcessInfo, GitBranchInfo, GitContextUpdate, extract_context, find_claude_process,
41    get_branch_info, get_current_branch, get_github_repo, get_local_git_dir, get_parent_pid,
42    get_worktree_root, is_branch_changing_command, is_process_alive, parse_branch_info,
43    parse_github_repo_from_remote_url,
44};
45// Deprecated re-export for backwards compatibility
46#[expect(
47    deprecated,
48    reason = "re-exporting deprecated type alias for backwards compatibility"
49)]
50pub use context::SessionContextUpdate;
51
52// Re-export from input
53pub use input::{
54    CodexEventType, CodexSessionEntry, CodexSessionParser, CodexSessionScanner,
55    ExportLogsServiceRequest, FilePosition, ParsedApiRequest, ParsedCodexEvent, ScanResult,
56    SessionMeta, TranscriptEntry, TranscriptParser, TranscriptScanner, codex_sessions_dir,
57    extract_first_prompt, extract_session_id_from_filename, find_session_file,
58    list_session_files_in_dir, process_logs_request,
59};
60
61// Re-export from time
62pub use time::{format_timestamp, parse_timestamp_millis, timestamp_millis};
63
64// Re-export from util
65pub use util::truncate_string;
66
67// Re-export from enable (high-level API)
68pub use enable::{
69    DisableResult, EnableError, EnableResult, FrameworkDisablement, FrameworkEnablement,
70    FrameworkFailure, PreviewResult, disable, disable_with_options, enable, preview_enable,
71};