feat: platform extension migrator + code mode rename (#6611)

This commit is contained in:
Alex Hancock
2026-01-29 17:12:51 -05:00
committed by GitHub
parent fb4ac05016
commit edd0109997
14 changed files with 207 additions and 52 deletions
@@ -434,7 +434,7 @@ impl CodeExecutionClient {
},
server_info: Implementation {
name: EXTENSION_NAME.to_string(),
title: Some("Code Execution".to_string()),
title: Some("Code Mode".to_string()),
version: "1.0.0".to_string(),
icons: None,
website_url: None,
+10 -1
View File
@@ -48,6 +48,7 @@ pub static PLATFORM_EXTENSIONS: Lazy<HashMap<&'static str, PlatformExtensionDef>
todo_extension::EXTENSION_NAME,
PlatformExtensionDef {
name: todo_extension::EXTENSION_NAME,
display_name: "Todo",
description:
"Enable a todo list for goose so it can keep track of what it is doing",
default_enabled: true,
@@ -59,6 +60,7 @@ pub static PLATFORM_EXTENSIONS: Lazy<HashMap<&'static str, PlatformExtensionDef>
apps_extension::EXTENSION_NAME,
PlatformExtensionDef {
name: apps_extension::EXTENSION_NAME,
display_name: "Apps",
description:
"Create and manage custom Goose apps through chat. Apps are HTML/CSS/JavaScript and run in sandboxed windows.",
default_enabled: true,
@@ -70,6 +72,7 @@ pub static PLATFORM_EXTENSIONS: Lazy<HashMap<&'static str, PlatformExtensionDef>
chatrecall_extension::EXTENSION_NAME,
PlatformExtensionDef {
name: chatrecall_extension::EXTENSION_NAME,
display_name: "Chat Recall",
description:
"Search past conversations and load session summaries for contextual memory",
default_enabled: false,
@@ -83,6 +86,7 @@ pub static PLATFORM_EXTENSIONS: Lazy<HashMap<&'static str, PlatformExtensionDef>
"extensionmanager",
PlatformExtensionDef {
name: extension_manager_extension::EXTENSION_NAME,
display_name: "Extension Manager",
description:
"Enable extension management tools for discovering, enabling, and disabling extensions",
default_enabled: true,
@@ -94,6 +98,7 @@ pub static PLATFORM_EXTENSIONS: Lazy<HashMap<&'static str, PlatformExtensionDef>
skills_extension::EXTENSION_NAME,
PlatformExtensionDef {
name: skills_extension::EXTENSION_NAME,
display_name: "Skills",
description: "Load and use skills from relevant directories",
default_enabled: true,
client_factory: |ctx| Box::new(skills_extension::SkillsClient::new(ctx).unwrap()),
@@ -104,7 +109,9 @@ pub static PLATFORM_EXTENSIONS: Lazy<HashMap<&'static str, PlatformExtensionDef>
code_execution_extension::EXTENSION_NAME,
PlatformExtensionDef {
name: code_execution_extension::EXTENSION_NAME,
description: "Execute JavaScript code in a sandboxed environment",
display_name: "Code Mode",
description:
"Goose will make extension calls through code execution, saving tokens",
default_enabled: false,
client_factory: |ctx| {
Box::new(code_execution_extension::CodeExecutionClient::new(ctx).unwrap())
@@ -158,6 +165,7 @@ impl PlatformExtensionContext {
#[derive(Debug, Clone)]
pub struct PlatformExtensionDef {
pub name: &'static str,
pub display_name: &'static str,
pub description: &'static str,
pub default_enabled: bool,
pub client_factory: fn(PlatformExtensionContext) -> Box<dyn McpClientTrait>,
@@ -335,6 +343,7 @@ pub enum ExtensionConfig {
#[serde(deserialize_with = "deserialize_null_with_default")]
#[schema(required)]
description: String,
display_name: Option<String>,
#[serde(default)]
bundled: Option<bool>,
#[serde(default)]