/** * Copyright (c) 2026-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import type { McpServer } from '@finos/legend-server-marketplace'; export declare const LEGEND_AI_MCP_SERVER_NAME = "legend-ai-mcp"; export declare const NO_DESCRIPTION_PLACEHOLDER = "No description provided"; export declare const NO_VALUE_PLACEHOLDER = "Not specified"; export declare const MAX_CARD_CATEGORY_CHIPS = 3; export declare const CATALOG_LIVE_TAG = "Live"; export declare const OTHER_VENDOR = "Other"; /** * The card fields the catalog search reads, satisfied by both registry servers * and the built-in agent so a single matcher covers every catalog entry. */ export interface CatalogSearchableEntry { name: string; displayName: string; description: string; } export declare const LEGEND_MARKETPLACE_AI_AGENT: { name: string; displayName: string; vendor: string; description: string; }; export declare const LEGEND_MARKETPLACE_AI_AGENT_LOGO: { light: string; dark: string; }; export declare const truncateCardDescription: (description: string) => string; /** * A Legend MCP is a service published on the execution server's MCP route, plus the * Legend AI orchestrator; the rest of the registry belongs to other applications. */ export declare const isLegendMcpServer: (server: McpServer) => boolean; /** * Vendors are read off the catalog rather than listed anywhere: the names that declare * one define the set, and the rest join it by leading token or fall to `OTHER_VENDOR`. */ export declare const buildMcpServerVendorIndex: (servers: McpServer[]) => Map; /** * Matches the fields a user can read on a card. The registry can only search MCP * servers, and cannot filter by vendor at all, so the catalog searches locally. */ export declare const matchesCatalogSearch: (entry: CatalogSearchableEntry, searchQuery: string) => boolean; /** * Most descriptions are generated at registration and only repeat the server name, * so they are suppressed in favour of the sample questions. */ export declare const hasMeaningfulMcpDescription: (server: McpServer) => boolean; /** * Vendor artwork is matched on the vendor name the display name carries; servers with * no match fall back to the generic images the data product cards use. */ export declare const resolveMcpServerImageUrl: (vendorImageMap: ReadonlyMap, vendor: string, fallbackKey: string) => string; /** * Registry timestamps carry microsecond precision and no timezone, so unparseable * values are surfaced as authored rather than rendered as an invalid date. */ export declare const formatMcpTimestamp: (timestamp: string | undefined) => string | undefined; //# sourceMappingURL=IntelligenceCatalogUtils.d.ts.map