Skip to main content

smooai_config/
lib.rs

1//! Smoo AI Configuration Management Library - Rust SDK.
2//!
3//! Provides schema definition, JSON Schema generation, runtime config client,
4//! and local file/env-based configuration with caching.
5
6pub mod bootstrap;
7pub mod build;
8pub mod client;
9pub mod cloud_region;
10pub mod config_manager;
11pub mod container;
12pub mod deferred;
13pub mod env_config;
14pub mod eso_manifests;
15pub mod eso_refresher;
16pub mod file_config;
17pub mod local;
18pub mod merge;
19pub mod runtime;
20pub mod schema;
21pub mod schema_validator;
22pub mod token_provider;
23pub mod utils;
24
25pub use bootstrap::{bootstrap_fetch, BootstrapError};
26pub use build::{build_bundle, BuildBundleOptions, BuildBundleResult, BuildError, Classification, Classifier};
27pub use client::{ConfigClient, EvaluateFeatureFlagResponse, FeatureFlagEvaluationError};
28pub use cloud_region::{get_cloud_region, get_cloud_region_from_env, CloudRegionResult};
29pub use config_manager::ConfigManager;
30pub use container::{
31    config_health, init_container_config, ConfigBootstrapError, ConfigError, ConfigHealth, ConfigKeyUnresolvedError,
32    ConfigTier as ContainerConfigTier, ContainerConfigHandle, InitContainerConfigOptions, Mode, SelectModeInputs,
33    DEFAULT_CACHE_TTL, DEFAULT_TOKEN_REFRESH_BUFFER_SECONDS,
34};
35pub use container::{select_mode, FeatureFlagAccessor, PublicConfigAccessor, SecretConfigAccessor};
36pub use env_config::find_and_process_env_config;
37pub use file_config::{find_and_process_file_config, find_config_directory};
38pub use local::LocalConfigManager;
39pub use merge::merge_replace_arrays;
40pub use runtime::{build_config_runtime, read_baked_config, BakedConfig, RuntimeError, RuntimeOptions};
41pub use token_provider::{SharedTokenProvider, TokenProvider, TokenProviderError};
42pub use utils::{camel_to_upper_snake, coerce_boolean, SmooaiConfigError, SmooaiConfigErrorKind};