1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![cfg_attr(
3 test,
4 allow(
5 clippy::expect_used,
6 clippy::indexing_slicing,
7 clippy::panic,
8 clippy::unwrap_used,
9 clippy::unreachable
10 )
11)]
12extern crate self as rig;
31
32#[cfg(feature = "audio")]
33#[cfg_attr(docsrs, doc(cfg(feature = "audio")))]
34pub mod audio_generation;
35pub mod catalog;
36pub mod client;
37pub mod completion;
38pub mod driver;
39pub mod effect;
40pub mod embeddings;
41pub mod error;
42pub use rig_http::http_client;
43pub mod id;
44#[cfg(feature = "image")]
45#[cfg_attr(docsrs, doc(cfg(feature = "image")))]
46pub mod image_generation;
47#[doc(hidden)]
50pub mod json_utils;
51pub mod loaders;
52pub mod markers;
53pub mod memory;
54pub mod model;
55pub mod observe;
56pub mod operation;
57pub mod prelude;
58pub(crate) mod provider_response;
59pub mod providers;
60pub mod rerank;
61pub mod serve;
62
63pub mod streaming;
64pub mod structured_output;
65#[cfg(any(test, feature = "test-utils"))]
66#[cfg_attr(docsrs, doc(cfg(feature = "test-utils")))]
67pub mod test_utils;
68pub mod tool;
69pub mod transcript;
70pub mod transcription;
71pub mod vector_store;
72pub use rig_http::wasm_compat;
73pub mod wire;
74#[cfg(feature = "websocket")]
75#[cfg_attr(docsrs, doc(cfg(feature = "websocket")))]
76pub use rig_http::ws_client;
77
78pub use completion::message;
79pub use driver::{DynModel, Model};
80pub use embeddings::Embed;
81pub use error::{ErrorKind, ErrorReport, ProviderError};
82pub use provider_response::ProviderResponseError;
83pub use schemars;
87pub use serde;
88pub use serde_json;
89
90#[cfg(feature = "derive")]
91#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
92pub use rig_derive::ContextValue;
93#[cfg(feature = "derive")]
94#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
95pub use rig_derive::Embed;
96
97#[cfg(feature = "derive")]
98#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
99pub use rig_derive::rig_tool;
100
101pub mod telemetry;
102
103#[cfg(not(target_family = "wasm"))]
105const _: fn() = || {
106 fn assert_send_sync_static<T: Send + Sync + 'static>() {}
107 fn assert_send_static<T: Send + 'static>() {}
108 assert_send_sync_static::<tool::ManagedToolToken>();
109 assert_send_sync_static::<streaming::StreamEvent>();
110 assert_send_sync_static::<completion::ModelRef>();
112 assert_send_sync_static::<tool::DynamicTool>();
113 assert_send_sync_static::<http_client::DynHttpClient>();
115 assert_send_static::<streaming::CompletionStream>();
118};