import { type McpServerConnection, type ToolEffect } from "@fabric-harness/sdk"; import type { DatabricksTokenProvider } from "./identity.js"; export type DatabricksManagedMcpEndpoint = { kind: "genie-one"; } | { kind: "genie"; spaceId: string; } | { kind: "ai-search"; index: string; } | { kind: "sql"; } | { kind: "functions"; catalog: string; schema: string; functionName?: string; } | { kind: "mcp-service"; name: string; } | { kind: "url"; url: string | URL; }; export interface DatabricksManagedMcpServerConfig { /** Stable connection name used in generated tool names (`mcp____`). */ name: string; endpoint: DatabricksManagedMcpEndpoint; allowTools?: string[]; denyTools?: string[]; /** Explicit remote-name/glob to effect mapping. First match wins. */ effects?: Record; /** Required for unknown tools on SQL, functions, MCP Services, and custom URLs. */ defaultEffect?: ToolEffect; reconnection?: { initialReconnectionDelay?: number; maxReconnectionDelay?: number; reconnectionDelayGrowFactor?: number; maxRetries?: number; }; } export interface ConnectDatabricksManagedMcpOptions { host: string; tokenProvider: DatabricksTokenProvider; server: DatabricksManagedMcpServerConfig; fetchImpl?: typeof fetch; } /** Build a workspace-local managed MCP or Unity AI Gateway MCP Service endpoint. */ export declare function databricksManagedMcpUrl(host: string, endpoint: DatabricksManagedMcpEndpoint): URL; /** * Connect to one Databricks managed MCP endpoint with a rotating OBO or service token. * Remote tools are classified before they can enter a governed bundle; unknown effects fail closed. */ export declare function connectDatabricksManagedMcpServer(options: ConnectDatabricksManagedMcpOptions): Promise; //# sourceMappingURL=mcp.d.ts.map