Skip to main content

va_ai_api_bridge/
lib.rs

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};