import type { OpenAPIPath } from '@redocly/openapi-docs/src/types'; import type { ApiFunctionsContext, ApiFunctionsContextMethods, PageStaticData } from '@redocly/config'; import type { CallToolResult, RequestId, RequestInfo, RequestMeta } from '@redocly/mcp-typescript-sdk/types.js'; import type { AuthInfo } from '@redocly/mcp-typescript-sdk/server/types.js'; import type { OpenAPIServer } from '@redocly/openapi-docs/lib/types/open-api.js'; import type { McpErrorCodes, McpServerType } from './constants'; import type { McpToolSchema } from '../../types'; type ObjectValues = T[keyof T]; export type McpServerType = ObjectValues; export type McpErrorCodeTypes = ObjectValues; export type ApiDescriptionInfo = { name: string; relativePath: string; description?: string; version?: string; servers?: OpenAPIServer[]; }; export type McpDocsStaticDataPropsConfig = { mcpDocsServerName: string; apiDescriptionsMap: Record; }; export type McpDocsStaticData = PageStaticData & { props: { config: McpDocsStaticDataPropsConfig; serverOutDir?: string; tools?: McpToolSchema[]; }; }; export type McpPath = { 'x-mcp'?: XMcpConfig; } & OpenAPIPath; export type XMcpConfig = { docs?: { hide?: boolean; }; }; export type McpEndpoint = { 'x-mcp'?: XMcpConfig; [key: string]: any; }; export type McpPluginConfig = { readonly hide: boolean; readonly docs: { readonly hide: boolean; readonly name: string; readonly ignore: readonly string[]; }; }; export type DocsServerDependencies = { apiDescriptionsMap: Record; readonly name: string; }; export type McpUserInfo = { email?: string; name?: string; sub?: string; aud?: string | string[]; client_id?: string; scope?: string; iat?: number; exp?: number; [key: string]: any; }; export type SemanticSearchResult = { title: string; url: string; content: string; }; export type McpToolWorkerResponse = CallToolResult; export type McpToolExtra = { sessionId?: string; authInfo?: AuthInfo; requestId: RequestId; requestInfo?: RequestInfo; _meta?: RequestMeta; }; export type McpToolContext = Omit & { apiDescriptionsMap: Record; products?: string[]; accessToken?: string; }; export type McpToolHandler = Record> = (args: TArgs, context: McpToolContext, extra: McpToolExtra) => Promise; export type McpToolExecutionParams = { toolName: string; args: Record; context: McpToolContext; extra: McpToolExtra; }; export {}; //# sourceMappingURL=types.d.ts.map