//! Typed request / response DTOs generated from `definitions` in the CNB
//! OpenAPI specification.
//!
//! Generated submodules are overwritten by `cargo run -p cnb-codegen`. This
//! `mod.rs` file re-exports the whole `common` module verbatim and stitches
//! the generated submodules into a flat namespace (`crate::models::FooBar`),
//! so callers don't need to remember which tag a DTO originally came from.
//!
//! # Fallback types
//!
//! When the upstream schema uses `object` without any named properties, we
//! preserve the field as [`serde_json::Value`]. Callers that need more
//! structure should drill into the `Value` with the usual `serde_json`
//! helpers, or (better) open an issue so we can pin the shape upstream.

// Hand-maintained shared types for DTOs (currently empty — reserved for shared
// types like generic pagination wrappers). Kept as a module so future additions
// don't need a `mod.rs` shuffle.
pub mod common;

// Generated submodule re-exports. `include!` lets the codegen drop the full
// `pub use` manifest into one place without touching this file.
include!("_generated.rs");
