magi-code 0.77.1

Repository-aware CLI coding agent for terminal work
Documentation
mod anthropic;
pub(crate) mod error;
mod factory;
#[cfg(test)]
pub(crate) use error::ProviderError;
mod openai;
mod openai_stream;
mod replay_trace;
mod request;
mod sse;
mod stream;
mod transport;

pub use anthropic::AnthropicProvider;
#[cfg(test)]
pub(crate) use factory::{
    provider_from_selection_with_settings,
    provider_from_selection_with_settings_with_codex_exchange,
};
pub(crate) use factory::{
    provider_from_selection_with_settings_for_workload,
    provider_from_selection_with_settings_for_workload_with_resolved_auth,
    supported_custom_provider,
};
pub(crate) use openai::{
    CODEX_MODEL_CATALOG_CLIENT_VERSION, CodexRefreshedAuth, codex_account_id_for,
    codex_sse_headers_with_routing_hint, normalize_codex_model,
};
pub use openai::{OpenAiCodexProvider, OpenAiCompatibleProvider, Provider};
#[cfg(test)]
pub(crate) use openai::{
    build_chat_completion_tools_json, chat_completion_tools_json, codex_responses_body,
    openai_compatible_chat_completions_body,
};
pub use request::{
    ChatMessage, MessageRole, ProviderConversationItem, ProviderRequest, ProviderSelection,
    ProviderToolResult,
};
pub(crate) use request::{conversation_id_for_session, default_model_for_provider};
pub use stream::{ProviderEvent, ReasoningSummary, ToolCall, Usage};
pub(crate) use stream::{StreamParser, UsageObservation, UsagePresence};
#[cfg(test)]
pub(crate) use transport::dispatch_utf8_bytes;
pub use transport::{HttpRequest, HttpTransport, ReqwestHttpTransport};

pub const OPENAI_CODEX_PROVIDER: &str = "openai-codex";
pub const ANTHROPIC_PROVIDER: &str = "anthropic";
pub const DEFAULT_CODEX_MODEL: &str = "gpt-5.5";
pub const DEFAULT_ANTHROPIC_MODEL: &str = "claude-sonnet-4-5-20250929";
pub const CODEX_RESPONSES_URL: &str = "https://chatgpt.com/backend-api/codex/responses";
pub const CODEX_MODELS_URL: &str = "https://chatgpt.com/backend-api/codex/models";

#[cfg(test)]
mod tests;