import { SUPERAGENT_CONNECTOR_CATALOG } from './connectorCatalog'; import type { SuperagentConnector, SuperagentConnectorAccessMode } from '../../types'; export const CATALOG_BY_ID = new Map(SUPERAGENT_CONNECTOR_CATALOG.map((connector) => [connector.id, connector])); // Prefer the connector's own copy, falling back to the static catalog (the // connected-connector objects from the host often carry only id/name/status). export function connectorDescription(connector: SuperagentConnector): string { const catalog = CATALOG_BY_ID.get(connector.id); return connector.description ?? catalog?.description ?? connector.subtitle ?? catalog?.subtitle ?? ''; } export function connectorSubtitle(connector: SuperagentConnector): string { const catalog = CATALOG_BY_ID.get(connector.id); return connector.subtitle ?? catalog?.subtitle ?? connectorDescription(connector); } export function getConnectorScopesForMode(connector: SuperagentConnector, mode: SuperagentConnectorAccessMode) { if (connector.accessModes) { return mode === 'read_only' ? connector.accessModes.readOnly : connector.accessModes.fullAccess; } return connector.exampleScopes ?? connector.scopes; }