diff --git a/ui/desktop/src/components/settings/extensions/deeplink.ts b/ui/desktop/src/components/settings/extensions/deeplink.ts index 8620acedbe4c..1ea574e27631 100644 --- a/ui/desktop/src/components/settings/extensions/deeplink.ts +++ b/ui/desktop/src/components/settings/extensions/deeplink.ts @@ -43,7 +43,6 @@ function getStdioConfig( const envList = parsedUrl.searchParams.getAll('env'); - // Create the extension config const config: ExtensionConfig = { name: name, type: 'stdio', @@ -147,6 +146,7 @@ export async function addExtensionFromDeepLink( const parsedTimeout = parsedUrl.searchParams.get('timeout'); const timeout = parsedTimeout ? parseInt(parsedTimeout, 10) : DEFAULT_EXTENSION_TIMEOUT; const description = parsedUrl.searchParams.get('description'); + const installation_notes = parsedUrl.searchParams.get('installation_notes'); const cmd = parsedUrl.searchParams.get('cmd'); const remoteUrl = parsedUrl.searchParams.get('url'); @@ -177,12 +177,17 @@ export async function addExtensionFromDeepLink( ) : undefined; - const config = remoteUrl + const baseConfig = remoteUrl ? transportType === 'streamable_http' ? getStreamableHttpConfig(remoteUrl, name, description || '', timeout, headers, envs) : getSseConfig(remoteUrl, name, description || '', timeout) : getStdioConfig(cmd!, parsedUrl, name, description || '', timeout); + const config = { + ...baseConfig, + ...(installation_notes ? { installation_notes } : {}), + }; + // Check if extension requires env vars or headers and go to settings if so const hasEnvVars = config.envs && Object.keys(config.envs).length > 0; const hasHeaders = diff --git a/ui/desktop/src/components/settings/extensions/modal/ExtensionModal.tsx b/ui/desktop/src/components/settings/extensions/modal/ExtensionModal.tsx index 788cd08d3ae4..44b26345f843 100644 --- a/ui/desktop/src/components/settings/extensions/modal/ExtensionModal.tsx +++ b/ui/desktop/src/components/settings/extensions/modal/ExtensionModal.tsx @@ -12,7 +12,7 @@ import { ExtensionFormData } from '../utils'; import EnvVarsSection from './EnvVarsSection'; import HeadersSection from './HeadersSection'; import ExtensionConfigFields from './ExtensionConfigFields'; -import { PlusIcon, Edit, Trash2, AlertTriangle } from 'lucide-react'; +import { PlusIcon, Edit, Trash2, AlertTriangle, Info } from 'lucide-react'; import ExtensionInfoFields from './ExtensionInfoFields'; import ExtensionTimeoutField from './ExtensionTimeoutField'; import { upsertConfig } from '../../../../api'; @@ -329,6 +329,20 @@ export default function ExtensionModal({ ) : (
+ {formData.installation_notes && ( +
+
+ +
+

+ Installation Notes +

+

{formData.installation_notes}

+
+
+
+ )} + {/* Form Fields */} {/* Name and Type */} )['installation_notes'] as + | string + | undefined, }; }