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, ParsedHookInput, all_adapters, default_adapter,
33    detect_all_frameworks, detect_framework, generate_config, get_adapter, initialize,
34    initialize_all, installed_frameworks, json_to_toml_string, resolve_frameworks,
35};
36
37// Re-export from context
38pub use context::{
39    ClaudeProcessInfo, GitBranchInfo, GitContextUpdate, extract_context, find_claude_process,
40    get_branch_info, get_current_branch, get_github_repo, get_local_git_dir, get_parent_pid,
41    get_worktree_root, is_branch_changing_command, is_process_alive, parse_branch_info,
42    parse_github_repo_from_remote_url,
43};
44// Deprecated re-export for backwards compatibility
45#[expect(
46    deprecated,
47    reason = "re-exporting deprecated type alias for backwards compatibility"
48)]
49pub use context::SessionContextUpdate;
50
51// Re-export from input
52pub use input::{
53    CodexEventType, CodexSessionEntry, CodexSessionParser, CodexSessionScanner,
54    ExportLogsServiceRequest, FilePosition, ParsedApiRequest, ParsedCodexEvent, ScanResult,
55    SessionMeta, TranscriptEntry, TranscriptParser, TranscriptScanner, codex_sessions_dir,
56    extract_first_prompt, extract_session_id_from_filename, find_session_file,
57    list_session_files_in_dir, process_logs_request,
58};
59
60// Re-export from time
61pub use time::{format_timestamp, parse_timestamp_millis, timestamp_millis};
62
63// Re-export from util
64pub use util::truncate_string;
65
66// Re-export from enable (high-level API)
67pub use enable::{
68    DisableResult, EnableError, EnableResult, FrameworkDisablement, FrameworkEnablement,
69    FrameworkFailure, PreviewResult, disable, disable_with_options, enable, preview_enable,
70};