pub(crate) mod adapter;
pub mod auth;
pub mod clients;
pub mod core;
pub mod llm;
pub(crate) mod providers;
pub mod tape;
pub mod tools;
pub use crate::auth::{
APIKeyResolver, CodexOAuthLoginError, GitHubCopilotOAuthLoginError, GitHubCopilotOAuthTokens,
OpenAICodexOAuthTokens, codex_cli_api_key_resolver, github_copilot_oauth_resolver,
load_openai_codex_oauth_tokens, login_github_copilot_oauth, login_openai_codex_oauth,
multi_api_key_resolver, openai_codex_oauth_resolver,
};
pub use crate::clients::InternalOps;
pub use crate::core::errors::{ConduitError, ErrorKind};
pub use crate::core::results::{
AsyncStreamEvents, AsyncTextStream, ErrorPayload, StreamEvent, StreamEvents, StreamState,
TextStream, ToolAutoResult, ToolExecution, UsageEvent,
};
pub use crate::llm::{
ApiFormat, ChatRequest, EmbedInput, LLM, LLMBuilder, StreamEventFilter,
collect_active_decisions, inject_decisions_into_system_prompt,
};
pub use crate::tape::{
AnchorSelector, TapeContext, TapeEntry, TapeManager, TapeQuery, TapeSession,
};
pub use crate::tools::{
Tool, ToolAction, ToolCallResponse, ToolContext, ToolExecutor, ToolSet, normalize_tools,
tool_from_fn, tool_from_schema,
};