diff --git a/.changeset/chore-replace-serde-yaml.md b/.changeset/chore-replace-serde-yaml.md new file mode 100644 index 00000000..baa4d26c --- /dev/null +++ b/.changeset/chore-replace-serde-yaml.md @@ -0,0 +1,5 @@ +--- +"@googleworkspace/cli": patch +--- + +chore: replace deprecated serde_yaml with serde_yml diff --git a/Cargo.toml b/Cargo.toml index c8e0db0b..602bf995 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,7 +53,7 @@ ratatui = "0.30.0" crossterm = "0.29.0" chrono = "0.4.44" async-trait = "0.1.89" -serde_yaml = "0.9.34" +serde_yml = "0.0.12" percent-encoding = "2.3.2" zeroize = { version = "1.8.2", features = ["derive"] } diff --git a/src/generate_skills.rs b/src/generate_skills.rs index ba2496b5..d3788a1e 100644 --- a/src/generate_skills.rs +++ b/src/generate_skills.rs @@ -203,7 +203,7 @@ pub async fn handle_generate_skills(args: &[String]) -> Result<(), GwsError> { .as_ref() .is_none_or(|f| "persona".contains(f.as_str()) || "personas".contains(f.as_str())) { - if let Ok(registry) = serde_yaml::from_str::(PERSONAS_YAML) { + if let Ok(registry) = serde_yml::from_str::(PERSONAS_YAML) { eprintln!( "Generating skills for {} personas...", registry.personas.len() @@ -224,8 +224,8 @@ pub async fn handle_generate_skills(args: &[String]) -> Result<(), GwsError> { }); } } - } else { - eprintln!("WARNING: Failed to parse personas.yaml"); + } else if let Err(e) = serde_yml::from_str::(PERSONAS_YAML) { + eprintln!("WARNING: Failed to parse personas.yaml: {e}"); } } @@ -234,7 +234,7 @@ pub async fn handle_generate_skills(args: &[String]) -> Result<(), GwsError> { .as_ref() .is_none_or(|f| "recipe".contains(f.as_str()) || "recipes".contains(f.as_str())) { - if let Ok(registry) = serde_yaml::from_str::(RECIPES_YAML) { + if let Ok(registry) = serde_yml::from_str::(RECIPES_YAML) { eprintln!( "Generating skills for {} recipes...", registry.recipes.len() @@ -255,8 +255,8 @@ pub async fn handle_generate_skills(args: &[String]) -> Result<(), GwsError> { }); } } - } else { - eprintln!("WARNING: Failed to parse recipes.yaml"); + } else if let Err(e) = serde_yml::from_str::(RECIPES_YAML) { + eprintln!("WARNING: Failed to parse recipes.yaml: {e}"); } } @@ -968,9 +968,9 @@ mod tests { #[test] fn test_registry_references() { let personas: PersonaRegistry = - serde_yaml::from_str(PERSONAS_YAML).expect("valid personas yaml"); + serde_yml::from_str(PERSONAS_YAML).expect("valid personas yaml"); let recipes: RecipeRegistry = - serde_yaml::from_str(RECIPES_YAML).expect("valid recipes yaml"); + serde_yml::from_str(RECIPES_YAML).expect("valid recipes yaml"); // Valid services mapped by api_name or alias let all_services = services::SERVICES;