Skip to main content

siumai_registry/
lib.rs

1//! siumai-registry
2//!
3//! Provider registry, factories, and handles.
4#![deny(unsafe_code)]
5
6// Keep a small stable surface; avoid leaking provider-agnostic internals by default.
7pub use siumai_core::client::LlmClient;
8pub use siumai_core::{
9    LlmError, custom_provider, embedding, error, hosted_tools, image, retry_api, streaming, text,
10    traits, types,
11};
12
13// Internal aliases for registry implementation (not part of the public API).
14#[allow(unused_imports)]
15pub(crate) use siumai_core::{
16    auth, client, core, defaults, execution, observability, params, retry, utils,
17};
18
19/// Experimental low-level APIs (advanced use only).
20///
21/// This module exposes lower-level building blocks from `siumai-core` without
22/// making them part of the stable surface of `siumai-registry`.
23pub mod experimental {
24    pub use siumai_core::core::*;
25    pub use siumai_core::{
26        auth, client, core, defaults, execution, observability, params, retry, utils,
27    };
28}
29
30// Note: `siumai-registry` intentionally does not re-export provider crates.
31// Use the `siumai` facade for stable entry points (`provider_ext`, `prelude::unified`, etc.).
32
33pub mod provider;
34pub mod provider_builders;
35pub mod registry;
36
37#[cfg(test)]
38pub(crate) mod test_support;
39
40#[cfg(feature = "builtins")]
41mod native_provider_metadata;
42
43// Built-in provider catalog helpers (feature-gated; depends on provider crates).
44#[cfg(feature = "builtins")]
45pub mod provider_catalog;