agtrace_providers/
lib.rs

1// Error types
2pub mod error;
3
4// Trait-based architecture (public API)
5pub mod traits;
6
7// Provider implementations
8pub mod claude;
9pub mod codex;
10pub mod gemini;
11
12// Event builder
13pub mod builder;
14
15// Tool call normalization
16pub mod normalization;
17
18// Provider registry
19pub mod registry;
20
21// Token limits resolution
22pub mod token_limits;
23pub use token_limits::ProviderModelLimitResolver;
24
25// Tool analysis
26pub mod tool_analyzer;
27
28// Tool specification
29pub(crate) mod tool_spec;
30
31// Traits
32pub use traits::{
33    LogDiscovery, ProbeResult, ProviderAdapter, SessionIndex, SessionParser, ToolMapper,
34    get_latest_mod_time_rfc3339,
35};
36
37// Provider normalize functions
38pub use claude::normalize_claude_file;
39pub use codex::normalize_codex_file;
40pub use gemini::normalize_gemini_file;
41
42// MCP utilities (provider-specific namespaces)
43pub mod mcp {
44    /// Claude Code MCP utilities
45    pub mod claude {
46        pub use crate::claude::{mcp_server_name, mcp_tool_name, parse_mcp_name};
47    }
48    /// Codex MCP utilities
49    pub mod codex {
50        pub use crate::codex::{mcp_server_name, mcp_tool_name, parse_mcp_name};
51    }
52}
53
54// Registry
55pub use registry::{
56    create_adapter, create_all_adapters, detect_adapter_from_path, get_all_providers,
57    get_default_log_paths, get_provider_metadata, get_provider_names,
58};
59
60// Tool analyzer
61pub use tool_analyzer::{classify_common, extract_common_summary, truncate};
62
63// Normalization
64#[allow(deprecated)]
65pub use normalization::normalize_tool_call;
66
67// Error types
68pub use error::{Error, Result};