#![cfg_attr(docsrs, feature(doc_cfg))]
#![cfg_attr(
test,
allow(
clippy::expect_used,
clippy::indexing_slicing,
clippy::panic,
clippy::unwrap_used,
clippy::unreachable
)
)]
extern crate self as rig;
#[cfg(feature = "audio")]
#[cfg_attr(docsrs, doc(cfg(feature = "audio")))]
pub mod audio_generation;
pub mod catalog;
pub mod client;
pub mod completion;
pub mod driver;
pub mod effect;
pub mod embeddings;
pub mod error;
pub use rig_http::http_client;
pub mod id;
#[cfg(feature = "image")]
#[cfg_attr(docsrs, doc(cfg(feature = "image")))]
pub mod image_generation;
#[doc(hidden)]
pub mod json_utils;
pub mod loaders;
pub mod markers;
pub mod memory;
pub mod model;
pub mod observe;
pub mod operation;
pub mod prelude;
pub(crate) mod provider_response;
pub mod providers;
pub mod rerank;
pub mod serve;
pub mod streaming;
pub mod structured_output;
#[cfg(any(test, feature = "test-utils"))]
#[cfg_attr(docsrs, doc(cfg(feature = "test-utils")))]
pub mod test_utils;
pub mod tool;
pub mod transcript;
pub mod transcription;
pub mod vector_store;
pub use rig_http::wasm_compat;
pub mod wire;
#[cfg(feature = "websocket")]
#[cfg_attr(docsrs, doc(cfg(feature = "websocket")))]
pub use rig_http::ws_client;
pub use completion::message;
pub use driver::{DynModel, Model};
pub use embeddings::Embed;
pub use error::{ErrorKind, ErrorReport, ProviderError};
pub use provider_response::ProviderResponseError;
pub use schemars;
pub use serde;
pub use serde_json;
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
pub use rig_derive::ContextValue;
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
pub use rig_derive::Embed;
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
pub use rig_derive::rig_tool;
pub mod telemetry;
#[cfg(not(target_family = "wasm"))]
const _: fn() = || {
fn assert_send_sync_static<T: Send + Sync + 'static>() {}
fn assert_send_static<T: Send + 'static>() {}
assert_send_sync_static::<tool::ManagedToolToken>();
assert_send_sync_static::<streaming::StreamEvent>();
assert_send_sync_static::<completion::ModelRef>();
assert_send_sync_static::<tool::DynamicTool>();
assert_send_sync_static::<http_client::DynHttpClient>();
assert_send_static::<streaming::CompletionStream>();
};