diff --git a/config/plano_config_schema.yaml b/config/plano_config_schema.yaml index 276f7699..a2c34c91 100644 --- a/config/plano_config_schema.yaml +++ b/config/plano_config_schema.yaml @@ -502,7 +502,6 @@ properties: - name - description - models - - selection_policy model_metrics_sources: type: array diff --git a/crates/common/src/configuration.rs b/crates/common/src/configuration.rs index 167b9c3e..653f4d8c 100644 --- a/crates/common/src/configuration.rs +++ b/crates/common/src/configuration.rs @@ -104,16 +104,17 @@ pub enum StateStorageType { Postgres, } -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +#[derive(Debug, Clone, Default, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "lowercase")] pub enum SelectionPreference { Cheapest, Fastest, /// Return models in the same order they were defined — no reordering. + #[default] None, } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Default, Serialize, Deserialize)] pub struct SelectionPolicy { pub prefer: SelectionPreference, } @@ -123,6 +124,7 @@ pub struct TopLevelRoutingPreference { pub name: String, pub description: String, pub models: Vec, + #[serde(default)] pub selection_policy: SelectionPolicy, }