// file: crates/ksp-config-lib/src/lib.rs // version: 2 #![warn(missing_docs)] #![deny(unreachable_pub)] #![forbid(unsafe_code)] //! KSP-owned application configuration facade. //! //! `0.1.3-pre.003` provides the non-recursive bootstrap roots plus a stable logical file registry. Consumers select Config-managed files by `file_id`; //! physical filenames can be replaced at bootstrap without changing those logical identities. JSON/schema loading, profiles, environment resolution and //! persistence are introduced by later bounded prereleases. mod bootstrap; mod error; mod registry; /// Bootstrap argument used to replace the configuration document root. pub use self::bootstrap::ARG_CFG_PATH; /// Bootstrap argument used to replace the schema root. pub use self::bootstrap::ARG_SCHEMA_PATH; /// Non-recursive bootstrap options required before Config can resolve any managed document. pub use self::bootstrap::ConfigBootstrapOptions; /// Default root containing KSP runtime configuration documents. pub use self::bootstrap::DEFAULT_CFG_PATH; /// Default root containing KSP JSON schemas. pub use self::bootstrap::DEFAULT_SCHEMA_PATH; /// Error code used when a Config bootstrap argument is missing its value. pub use self::error::ERROR_CODE_BOOTSTRAP_ARGUMENT_MISSING_VALUE; /// Error code used when a Config bootstrap path is empty, inaccessible, or resolves to an existing non-directory path. pub use self::error::ERROR_CODE_BOOTSTRAP_INVALID_PATH; /// Error code used when the same logical Config file identifier is registered more than once. pub use self::error::ERROR_CODE_FILE_ID_DUPLICATE; /// Error code used when a logical Config file identifier is malformed. pub use self::error::ERROR_CODE_FILE_ID_INVALID; /// Error code used when a requested logical Config file identifier is not registered. pub use self::error::ERROR_CODE_FILE_ID_UNKNOWN; /// Error code used when a Config filename mapping or descriptor relation is invalid. pub use self::error::ERROR_CODE_FILE_MAPPING_INVALID; /// Bootstrap argument used to replace a known Config filename mapping. pub use self::registry::ARG_FILE_MAP; /// Logical descriptor associating a stable file identifier with its physical filename and root category. pub use self::registry::ConfigFileDescriptor; /// Stable logical identifier for a Config-managed file. pub use self::registry::ConfigFileId; /// Physical root category used to resolve a Config-managed file. pub use self::registry::ConfigFileKind; /// Registry of KSP-known logical Config files and their replaceable physical filenames. pub use self::registry::ConfigFileRegistry; /// Default physical filename for the standard Logging configuration document. pub use self::registry::DEFAULT_STD_LOGGING_FILENAME; /// Default physical filename for the standard Logging JSON Schema document. pub use self::registry::DEFAULT_STD_LOGGING_SCHEMA_FILENAME; /// Logical file identifier for the standard Logging JSON Schema document. pub use self::registry::FILE_ID_SCHEMA_STD_LOGGING; /// Logical file identifier for the standard Logging configuration document. pub use self::registry::FILE_ID_STD_LOGGING;