1#![forbid(unsafe_code)]
2#![doc = include_str!("../README.md")]
3
4pub mod adapter;
5pub mod error;
6pub mod media;
7pub mod protocol;
8pub mod providers;
9pub mod schema;
10pub mod stream;
11pub mod translator;
12pub mod universal;
13
14pub use adapter::{
15 AdapterStreamState, AdapterStreamStep, BridgeContext, BridgeHistory, ProviderAdapter,
16};
17pub use error::{ApiBridgeError, Result};
18pub use media::{
19 sanitize_unsupported_media, sanitize_unsupported_media_from_json, MediaSanitization,
20};
21pub use protocol::WireProtocol;
22pub use providers::{
23 DashScopeBridgeAdapter, DeepSeekBridgeAdapter, DeepSeekBridgeSettings, KimiBridgeAdapter,
24 MimoBridgeAdapter, MiniMaxBridgeAdapter, ProviderBridgeAdapter, ProviderBridgeAdapterConfig,
25 ProviderRequestSource, XaiBridgeAdapter, ZaiBridgeAdapter,
26};
27pub use schema::{
28 ModelCapabilities, ProviderCatalog, ProviderDefaults, ProviderModel, ProviderProtocol,
29 ProviderSetting, ResolvedModelSpec, SettingKind, SettingOption,
30 PROVIDER_CATALOG_SCHEMA_VERSION,
31};
32pub use stream::{DecodeState, EncodeState, UniversalEvent};
33pub use translator::{
34 translator_for_protocol, AnthropicMessagesTranslator, GeminiGenerateContentTranslator,
35 OpenAiChatTranslator, OpenAiResponsesTranslator, WireEvent, WireTranslator,
36 GEMINI_SKIP_THOUGHT_SIGNATURE_VALIDATOR,
37};
38pub use universal::{
39 ContentBlock, Extensions, FinishReason, GenerationConfig, ReasoningConfig, Role,
40 ServerToolDeclaration, ServerToolKind, SourcePayload, ToolChoice, UniversalItem,
41 UniversalRequest, UniversalResponse, UniversalTool, Usage,
42};