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    AmpAdapter, ClaudeAdapter, CodexAdapter, ConfigFormat, FrameworkAdapter,
32    FrameworkResolutionMode, GeminiAdapter, InitOptions, InitResult, InstallHooksResult,
33    ParsedHookInput, UninstallHooksResult, all_adapters, default_adapter, detect_all_frameworks,
34    detect_framework, generate_config, get_adapter, initialize, initialize_all,
35    installed_frameworks, json_to_toml_string, resolve_frameworks,
36};
37
38// Re-export from context
39pub use context::{
40    FrameworkProcessInfo, GitBranchInfo, GitContextUpdate, extract_context, find_framework_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
46// Re-export from input
47pub use input::{
48    CodexEventType, CodexSessionEntry, CodexSessionParser, CodexSessionScanner,
49    ExportLogsServiceRequest, FilePosition, ParsedApiRequest, ParsedCodexEvent, ScanResult,
50    SessionMeta, TranscriptEntry, TranscriptParser, TranscriptScanner, codex_sessions_dir,
51    extract_first_prompt, extract_session_id_from_filename, find_session_file,
52    list_session_files_in_dir, process_logs_request,
53};
54
55// Re-export from time
56pub use time::{format_timestamp, parse_timestamp_millis, timestamp_millis};
57
58// Re-export from util
59pub use util::truncate_string;
60
61// Re-export from enable (high-level API)
62pub use enable::{
63    DisableResult, EnableError, EnableResult, FrameworkDisablement, FrameworkEnablement,
64    FrameworkFailure, PreviewResult, disable, disable_with_options, enable, preview_enable,
65};