import type { AssetKind, HostTarget } from "../types.js"; /** * Describes a cross-host compatibility relationship for a catalog asset. * When `installDiffers` is true, the asset's install command is host-specific * and the wire step must emit host-specific instructions. */ export interface CompatibleHost { /** The compatible host identifier. */ host: HostTarget; /** Level of compatibility: "full" = protocol-level interop, "partial" = known limitations. */ compatibility: "full" | "partial"; /** Short human-readable note about caveats or differences, if any. */ notes?: string; /** True when the install command or config path differs from the primary host. */ installDiffers?: boolean; } /** * MCP servers are protocol-level interoperable with all major MCP-capable hosts. * Config path and install mechanism differ per host, so `installDiffers: true`. */ export declare const MCP_COMPATIBLE_HOSTS: CompatibleHost[]; /** * VS Code extensions are partially compatible with Cursor. * Extensions using standard VS Code APIs work; those relying on specific runtime * features (debugger, notebook APIs) may not. */ export declare const VSCODE_EXTENSION_COMPATIBLE_HOSTS: CompatibleHost[]; /** * ACP agents are compatible across JetBrains and Zed surfaces via * the Agent Client Protocol (https://www.jetbrains.com/acp/). * Zed also forwards these to external ACP agents in the same session. */ export declare const ACP_COMPATIBLE_HOSTS: CompatibleHost[]; /** * Returns auto-inferred cross-host compatible entries for an asset based on its kind. * Results are always a copy — callers may extend or override the array freely. * * Rules: * - `mcp-server` → compatible with all MCP-capable hosts. * - `extension` → compatible with Cursor (partial). * - `acp-agent` → compatible with Zed (full). * - All other kinds → empty (no auto-inferred compatibility). */ export declare function inferCompatibleHosts(assetKind: AssetKind, primaryHosts: HostTarget[]): CompatibleHost[]; /** * Returns true if the given host appears in a `compatibleHosts` list. */ export declare function isHostInCompatibleHosts(compatibleHosts: CompatibleHost[] | undefined, host: HostTarget): boolean; /** * Returns the compatibility entry for a specific host from a `compatibleHosts` list, * or null if the host is not present. */ export declare function getCompatibleHostEntry(compatibleHosts: CompatibleHost[] | undefined, host: HostTarget): CompatibleHost | null;