mirror of
https://github.com/openai/codex.git
synced 2026-11-14 14:49:31 +00:00
[1/5] [codex] sync managed-layer bundle schema (#31285)
## Why The backend config-bundle contract now exposes managed configuration in `managed_layers`, split into `baseline` and `system_overlay`. The Rust transport models need to match that contract before any runtime behavior changes. ## What changed - add the generated `DeliveredManagedLayers` model - model `baseline` and `system_overlay` as required arrays - expose optional/null `managed_layers` on delivered config and requirements documents - retain `enterprise_managed` for transport compatibility This PR changes transport types only; cloud-config runtime behavior is unchanged. ## Stack 1 of 4. Next: #31286. ## Validation - `just test -p codex-backend-openapi-models -p codex-backend-client` - `just test -p codex-cloud-config` - revalidated against the current generated backend schema
This commit is contained in:
1 parent
1bd9d841ca
commit
777f5da55c
7 files changed
+56
No files matched your search
@@ -15,6 +15,7 @@ pub use types::ConfigBundleResponse;
|
|||||||
pub use types::ConsumeRateLimitResetCreditCode;
|
pub use types::ConsumeRateLimitResetCreditCode;
|
||||||
pub use types::ConsumeRateLimitResetCreditResponse;
|
pub use types::ConsumeRateLimitResetCreditResponse;
|
||||||
pub use types::DeliveredConfigToml;
|
pub use types::DeliveredConfigToml;
|
||||||
|
pub use types::DeliveredManagedLayers;
|
||||||
pub use types::DeliveredRequirementsToml;
|
pub use types::DeliveredRequirementsToml;
|
||||||
pub use types::DeliveredTomlFragment;
|
pub use types::DeliveredTomlFragment;
|
||||||
pub use types::PaginatedListTaskListItem;
|
pub use types::PaginatedListTaskListItem;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
pub use codex_backend_openapi_models::models::ConfigBundleResponse;
|
pub use codex_backend_openapi_models::models::ConfigBundleResponse;
|
||||||
pub use codex_backend_openapi_models::models::CreditStatusDetails;
|
pub use codex_backend_openapi_models::models::CreditStatusDetails;
|
||||||
pub use codex_backend_openapi_models::models::DeliveredConfigToml;
|
pub use codex_backend_openapi_models::models::DeliveredConfigToml;
|
||||||
|
pub use codex_backend_openapi_models::models::DeliveredManagedLayers;
|
||||||
pub use codex_backend_openapi_models::models::DeliveredRequirementsToml;
|
pub use codex_backend_openapi_models::models::DeliveredRequirementsToml;
|
||||||
pub use codex_backend_openapi_models::models::DeliveredTomlFragment;
|
pub use codex_backend_openapi_models::models::DeliveredTomlFragment;
|
||||||
pub use codex_backend_openapi_models::models::PaginatedListTaskListItem;
|
pub use codex_backend_openapi_models::models::PaginatedListTaskListItem;
|
||||||
|
|||||||
@@ -1037,6 +1037,7 @@ fn bundle_response_conversion_preserves_fragment_order() {
|
|||||||
"model = \"low\"".to_string(),
|
"model = \"low\"".to_string(),
|
||||||
),
|
),
|
||||||
])),
|
])),
|
||||||
|
managed_layers: None,
|
||||||
}))),
|
}))),
|
||||||
requirements_toml: Some(Some(Box::new(
|
requirements_toml: Some(Some(Box::new(
|
||||||
codex_backend_client::DeliveredRequirementsToml {
|
codex_backend_client::DeliveredRequirementsToml {
|
||||||
@@ -1045,6 +1046,7 @@ fn bundle_response_conversion_preserves_fragment_order() {
|
|||||||
"High requirements".to_string(),
|
"High requirements".to_string(),
|
||||||
"allowed_approval_policies = [\"never\"]".to_string(),
|
"allowed_approval_policies = [\"never\"]".to_string(),
|
||||||
)])),
|
)])),
|
||||||
|
managed_layers: None,
|
||||||
},
|
},
|
||||||
))),
|
))),
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -21,12 +21,20 @@ pub struct DeliveredConfigToml {
|
|||||||
skip_serializing_if = "Option::is_none"
|
skip_serializing_if = "Option::is_none"
|
||||||
)]
|
)]
|
||||||
pub enterprise_managed: Option<Option<Vec<models::DeliveredTomlFragment>>>,
|
pub enterprise_managed: Option<Option<Vec<models::DeliveredTomlFragment>>>,
|
||||||
|
#[serde(
|
||||||
|
rename = "managed_layers",
|
||||||
|
default,
|
||||||
|
with = "::serde_with::rust::double_option",
|
||||||
|
skip_serializing_if = "Option::is_none"
|
||||||
|
)]
|
||||||
|
pub managed_layers: Option<Option<Box<models::DeliveredManagedLayers>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DeliveredConfigToml {
|
impl DeliveredConfigToml {
|
||||||
pub fn new() -> DeliveredConfigToml {
|
pub fn new() -> DeliveredConfigToml {
|
||||||
DeliveredConfigToml {
|
DeliveredConfigToml {
|
||||||
enterprise_managed: None,
|
enterprise_managed: None,
|
||||||
|
managed_layers: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* codex-backend
|
||||||
|
*
|
||||||
|
* codex-backend
|
||||||
|
*
|
||||||
|
* The version of the OpenAPI document: 0.0.1
|
||||||
|
*
|
||||||
|
* Generated by: https://openapi-generator.tech
|
||||||
|
*/
|
||||||
|
|
||||||
|
use crate::models;
|
||||||
|
use serde::Deserialize;
|
||||||
|
use serde::Serialize;
|
||||||
|
|
||||||
|
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
|
pub struct DeliveredManagedLayers {
|
||||||
|
#[serde(rename = "baseline")]
|
||||||
|
pub baseline: Vec<models::DeliveredTomlFragment>,
|
||||||
|
#[serde(rename = "system_overlay")]
|
||||||
|
pub system_overlay: Vec<models::DeliveredTomlFragment>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl DeliveredManagedLayers {
|
||||||
|
pub fn new(
|
||||||
|
baseline: Vec<models::DeliveredTomlFragment>,
|
||||||
|
system_overlay: Vec<models::DeliveredTomlFragment>,
|
||||||
|
) -> DeliveredManagedLayers {
|
||||||
|
DeliveredManagedLayers {
|
||||||
|
baseline,
|
||||||
|
system_overlay,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,12 +21,20 @@ pub struct DeliveredRequirementsToml {
|
|||||||
skip_serializing_if = "Option::is_none"
|
skip_serializing_if = "Option::is_none"
|
||||||
)]
|
)]
|
||||||
pub enterprise_managed: Option<Option<Vec<models::DeliveredTomlFragment>>>,
|
pub enterprise_managed: Option<Option<Vec<models::DeliveredTomlFragment>>>,
|
||||||
|
#[serde(
|
||||||
|
rename = "managed_layers",
|
||||||
|
default,
|
||||||
|
with = "::serde_with::rust::double_option",
|
||||||
|
skip_serializing_if = "Option::is_none"
|
||||||
|
)]
|
||||||
|
pub managed_layers: Option<Option<Box<models::DeliveredManagedLayers>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DeliveredRequirementsToml {
|
impl DeliveredRequirementsToml {
|
||||||
pub fn new() -> DeliveredRequirementsToml {
|
pub fn new() -> DeliveredRequirementsToml {
|
||||||
DeliveredRequirementsToml {
|
DeliveredRequirementsToml {
|
||||||
enterprise_managed: None,
|
enterprise_managed: None,
|
||||||
|
managed_layers: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -13,6 +13,9 @@ pub use self::config_file_response::ConfigFileResponse;
|
|||||||
pub(crate) mod delivered_config_toml;
|
pub(crate) mod delivered_config_toml;
|
||||||
pub use self::delivered_config_toml::DeliveredConfigToml;
|
pub use self::delivered_config_toml::DeliveredConfigToml;
|
||||||
|
|
||||||
|
pub(crate) mod delivered_managed_layers;
|
||||||
|
pub use self::delivered_managed_layers::DeliveredManagedLayers;
|
||||||
|
|
||||||
pub(crate) mod delivered_requirements_toml;
|
pub(crate) mod delivered_requirements_toml;
|
||||||
pub use self::delivered_requirements_toml::DeliveredRequirementsToml;
|
pub use self::delivered_requirements_toml::DeliveredRequirementsToml;
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user