v0.1.0-pre.020

This commit is contained in:
2026-07-24 22:01:07 +02:00
parent fa2d9d8ecd
commit 4190b2c0ce
84 changed files with 3314 additions and 274 deletions

View File

@@ -1,23 +1,70 @@
// file: kb-config/src/lib.rs
// version: 1
// version: 3
#![forbid(unsafe_code)]
#![deny(unreachable_pub)]
//! Khadhroony Bot3 workspace configuration contract and loading helpers.
#![warn(missing_docs)]
#![deny(unreachable_pub)]
#![forbid(unsafe_code)]
//! Configuration contracts for Khadhroony Bot3.
mod settings;
/// Minimal application configuration used during the migration.
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct AppConfig {
/// Active profile name.
pub active_profile: std::string::String,
}
impl std::default::Default for AppConfig {
fn default() -> Self {
return Self {
active_profile: std::string::String::from("development"),
};
}
}
/// Exposes the account listener configuration type.
pub use self::settings::AccountListenerConfig;
/// Exposes the root application configuration type.
pub use self::settings::AppConfig;
/// Exposes the application section configuration type.
pub use self::settings::AppSectionConfig;
/// Exposes the local data configuration type.
pub use self::settings::DataConfig;
/// Exposes the database configuration type.
pub use self::settings::DatabaseConfig;
/// Exposes the demo application configuration type.
pub use self::settings::DemoConfig;
/// Exposes the endpoint role configuration type.
pub use self::settings::EndpointRoleConfig;
/// Exposes the execution configuration type.
pub use self::settings::ExecutionConfig;
/// Exposes the HTTP endpoint configuration type.
pub use self::settings::HttpEndpointConfig;
/// Exposes the listener configuration type.
pub use self::settings::ListenerConfig;
/// Exposes the log listener configuration type.
pub use self::settings::LogListenerConfig;
/// Exposes the logging target configuration type.
pub use self::settings::LogTargetConfig;
/// Exposes the logging target filter configuration type.
pub use self::settings::LogTargetFilterConfig;
/// Exposes the logging configuration type.
pub use self::settings::LoggingConfig;
/// Exposes the PostgreSQL configuration type.
pub use self::settings::PostgresConfig;
/// Exposes the profile configuration type.
pub use self::settings::ProfileConfig;
/// Exposes the program listener configuration type.
pub use self::settings::ProgramListenerConfig;
/// Exposes the Solana configuration type.
pub use self::settings::SolanaConfig;
/// Exposes the SQLite configuration type.
pub use self::settings::SqliteConfig;
/// Exposes the wallet configuration type.
pub use self::settings::WalletConfig;
/// Exposes the WebSocket endpoint configuration type.
pub use self::settings::WsEndpointConfig;
/// Exposes the active profile resolver.
pub use self::settings::active_profile;
/// Exposes the embedded JSON Schema text.
pub use self::settings::config_json_schema_text;
/// Exposes the embedded JSON Schema value parser.
pub use self::settings::config_json_schema_value;
/// Exposes the configuration parser from a JSON string.
pub use self::settings::parse_config_json;
/// Exposes the configuration loader from a filesystem path.
pub use self::settings::read_config_json_file;
/// Exposes the compact JSON serializer for configuration values.
pub use self::settings::serialize_config_json;
/// Exposes the pretty JSON serializer for configuration values.
pub use self::settings::serialize_config_json_pretty;
/// Exposes the typed configuration validator.
pub use self::settings::validate_config;
/// Exposes the JSON Schema validator for raw JSON configuration.
pub use self::settings::validate_config_json_schema;

1530
kb-config/src/settings.rs Normal file

File diff suppressed because it is too large Load Diff