diff --git a/Cargo.lock b/Cargo.lock index 7268ed20..9551b29d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2636,7 +2636,7 @@ dependencies = [ [[package]] name = "goose" -version = "1.7.0" +version = "1.8.0" dependencies = [ "ahash", "anyhow", @@ -2710,7 +2710,7 @@ dependencies = [ [[package]] name = "goose-bench" -version = "1.7.0" +version = "1.8.0" dependencies = [ "anyhow", "async-trait", @@ -2733,7 +2733,7 @@ dependencies = [ [[package]] name = "goose-cli" -version = "1.7.0" +version = "1.8.0" dependencies = [ "agent-client-protocol", "anstream", @@ -2787,7 +2787,7 @@ dependencies = [ [[package]] name = "goose-mcp" -version = "1.7.0" +version = "1.8.0" dependencies = [ "anyhow", "async-trait", @@ -2838,7 +2838,7 @@ dependencies = [ [[package]] name = "goose-server" -version = "1.7.0" +version = "1.8.0" dependencies = [ "anyhow", "async-trait", @@ -2877,7 +2877,7 @@ dependencies = [ [[package]] name = "goose-test" -version = "1.7.0" +version = "1.8.0" dependencies = [ "clap", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index ff90733f..ec3aa42b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ resolver = "2" [workspace.package] edition = "2021" -version = "1.7.0" +version = "1.8.0" authors = ["Block "] license = "Apache-2.0" repository = "https://github.com/block/goose" diff --git a/crates/goose-server/src/routes/recipe_utils.rs b/crates/goose-server/src/routes/recipe_utils.rs index 8fba2fea..f55b1931 100644 --- a/crates/goose-server/src/routes/recipe_utils.rs +++ b/crates/goose-server/src/routes/recipe_utils.rs @@ -31,7 +31,7 @@ fn short_id_from_path(path: &str) -> String { format!("{:016x}", h) } -fn load_recipes_from_path(path: &PathBuf) -> Result> { +fn load_recipes_from_path(path: &PathBuf, is_global: bool) -> Result> { let mut recipe_manifests_with_path = Vec::new(); if path.exists() { for entry in fs::read_dir(path)? { @@ -43,14 +43,18 @@ fn load_recipes_from_path(path: &PathBuf) -> Result> let Ok(recipe) = Recipe::from_content(&recipe_file.content) else { continue; }; - let Ok(recipe_metadata) = RecipeManifestMetadata::from_yaml_file(&path) else { - continue; - }; let Ok(last_modified) = fs::metadata(path.clone()).map(|m| { chrono::DateTime::::from(m.modified().unwrap()).to_rfc3339() }) else { continue; }; + let recipe_metadata = + RecipeManifestMetadata::from_yaml_file(&path).unwrap_or_else(|_| { + RecipeManifestMetadata { + name: recipe.title.clone(), + is_global, + } + }); let manifest_with_path = RecipeManifestWithPath { id: short_id_from_path(recipe_file.file_path.to_string_lossy().as_ref()), @@ -78,8 +82,8 @@ pub fn get_all_recipes_manifests() -> Result> { let mut recipe_manifests_with_path = Vec::new(); - recipe_manifests_with_path.extend(load_recipes_from_path(&local_recipe_path)?); - recipe_manifests_with_path.extend(load_recipes_from_path(&global_recipe_path)?); + recipe_manifests_with_path.extend(load_recipes_from_path(&local_recipe_path, false)?); + recipe_manifests_with_path.extend(load_recipes_from_path(&global_recipe_path, true)?); recipe_manifests_with_path.sort_by(|a, b| b.last_modified.cmp(&a.last_modified)); Ok(recipe_manifests_with_path) diff --git a/ui/desktop/openapi.json b/ui/desktop/openapi.json index d52509a9..fd2b4b83 100644 --- a/ui/desktop/openapi.json +++ b/ui/desktop/openapi.json @@ -10,7 +10,7 @@ "license": { "name": "Apache-2.0" }, - "version": "1.7.0" + "version": "1.8.0" }, "paths": { "/agent/add_sub_recipes": { diff --git a/ui/desktop/package-lock.json b/ui/desktop/package-lock.json index 7fcf091b..6d59e48c 100644 --- a/ui/desktop/package-lock.json +++ b/ui/desktop/package-lock.json @@ -1,12 +1,12 @@ { "name": "goose-app", - "version": "1.7.0", + "version": "1.8.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "goose-app", - "version": "1.7.0", + "version": "1.8.0", "license": "Apache-2.0", "dependencies": { "@ai-sdk/openai": "^2.0.14", diff --git a/ui/desktop/package.json b/ui/desktop/package.json index b0b5a4af..b95f7757 100644 --- a/ui/desktop/package.json +++ b/ui/desktop/package.json @@ -1,7 +1,7 @@ { "name": "goose-app", "productName": "Goose", - "version": "1.7.0", + "version": "1.8.0", "description": "Goose App", "engines": { "node": "^22.17.1"