UNPKG

mcp-swagger-parser

Version:

Enterprise-grade OpenAPI/Swagger specification parser for Model Context Protocol (MCP) projects

117 lines 2.79 kB
/** * 认证配置接口 * 设计为可扩展架构,便于后续添加其他认证方式 */ export interface AuthConfig { type: 'bearer' | 'apikey' | 'basic' | 'oauth2' | 'custom' | 'none'; bearer?: BearerConfig; apikey?: ApiKeyConfig; basic?: BasicConfig; oauth2?: OAuth2Config; custom?: CustomConfig; debug?: boolean; timeout?: number; } /** * Bearer Token 认证配置 */ export interface BearerConfig { token: string; source: 'static' | 'env' | 'function'; envName?: string; provider?: () => Promise<string>; } /** * API Key 认证配置(预留扩展) */ export interface ApiKeyConfig { key: string; header?: string; source: 'static' | 'env'; envName?: string; } /** * Basic 认证配置(预留扩展) */ export interface BasicConfig { username: string; password: string; source: 'static' | 'env'; } /** * OAuth2 认证配置(预留扩展) */ export interface OAuth2Config { clientId: string; clientSecret: string; tokenUrl: string; scope?: string; grantType: 'client_credentials' | 'authorization_code'; } /** * 自定义认证配置(预留扩展) */ export interface CustomConfig { headers: Record<string, string>; provider?: (context: AuthContext) => Promise<Record<string, string>>; } /** * 认证上下文 */ export interface AuthContext { method: string; path: string; operation?: string; args?: any; } /** * 认证管理器接口 * 所有认证方式都需要实现此接口 */ export interface AuthManager { /** * 获取认证头 */ getAuthHeaders(context?: AuthContext): Promise<Record<string, string>>; /** * 获取Token(如果适用) */ getToken?(): Promise<string>; /** * 验证配置 */ validateConfig(): boolean; /** * 处理认证错误(可选) */ handleAuthError?(error: AuthError): Promise<void>; } /** * 认证错误类型 */ export declare enum AuthErrorType { TOKEN_MISSING = "TOKEN_MISSING", TOKEN_INVALID = "TOKEN_INVALID", TOKEN_EXPIRED = "TOKEN_EXPIRED", CONFIG_INVALID = "CONFIG_INVALID", ENV_VAR_MISSING = "ENV_VAR_MISSING", NETWORK_ERROR = "NETWORK_ERROR", UNKNOWN_ERROR = "UNKNOWN_ERROR" } /** * 认证错误类 */ export declare class AuthError extends Error { type: AuthErrorType; details?: any | undefined; originalError?: Error | undefined; constructor(type: AuthErrorType, message: string, details?: any | undefined, originalError?: Error | undefined); } /** * 认证策略工厂接口(为扩展预留) */ export interface AuthStrategyFactory { create(config: AuthConfig): AuthManager; supports(type: string): boolean; } //# sourceMappingURL=types.d.ts.map