@@ -48,21 +48,15 @@ impl Settings for ExtensionSettings {
                 .unwrap_or_default()
                 .into_iter()
                 .map(|capability| match capability {
-                    settings::ExtensionCapabilityContent::ProcessExec(capability) => {
-                        ExtensionCapability::ProcessExec(ProcessExecCapability {
-                            command: capability.command,
-                            args: capability.args,
-                        })
+                    settings::ExtensionCapabilityContent::ProcessExec { command, args } => {
+                        ExtensionCapability::ProcessExec(ProcessExecCapability { command, args })
                     }
-                    settings::ExtensionCapabilityContent::DownloadFile(capability) => {
-                        ExtensionCapability::DownloadFile(DownloadFileCapability {
-                            host: capability.host,
-                            path: capability.path,
-                        })
+                    settings::ExtensionCapabilityContent::DownloadFile { host, path } => {
+                        ExtensionCapability::DownloadFile(DownloadFileCapability { host, path })
                     }
-                    settings::ExtensionCapabilityContent::NpmInstallPackage(capability) => {
+                    settings::ExtensionCapabilityContent::NpmInstallPackage { package } => {
                         ExtensionCapability::NpmInstallPackage(NpmInstallPackageCapability {
-                            package: capability.package,
+                            package,
                         })
                     }
                 })
  
  
  
    
    @@ -29,31 +29,19 @@ pub struct ExtensionSettingsContent {
 #[serde(tag = "kind", rename_all = "snake_case")]
 pub enum ExtensionCapabilityContent {
     #[serde(rename = "process:exec")]
-    ProcessExec(ProcessExecCapabilityContent),
-    DownloadFile(DownloadFileCapabilityContent),
+    ProcessExec {
+        /// The command to execute.
+        command: String,
+        /// The arguments to pass to the command. Use `*` for a single wildcard argument.
+        /// If the last element is `**`, then any trailing arguments are allowed.
+        args: Vec<String>,
+    },
+    DownloadFile {
+        host: String,
+        path: Vec<String>,
+    },
     #[serde(rename = "npm:install")]
-    NpmInstallPackage(NpmInstallPackageCapabilityContent),
-}
-
-#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize, JsonSchema)]
-#[serde(rename_all = "snake_case")]
-pub struct ProcessExecCapabilityContent {
-    /// The command to execute.
-    pub command: String,
-    /// The arguments to pass to the command. Use `*` for a single wildcard argument.
-    /// If the last element is `**`, then any trailing arguments are allowed.
-    pub args: Vec<String>,
-}
-
-#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize, JsonSchema)]
-#[serde(rename_all = "snake_case")]
-pub struct DownloadFileCapabilityContent {
-    pub host: String,
-    pub path: Vec<String>,
-}
-
-#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize, JsonSchema)]
-#[serde(rename_all = "snake_case")]
-pub struct NpmInstallPackageCapabilityContent {
-    pub package: String,
+    NpmInstallPackage {
+        package: String,
+    },
 }