route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
57 lines • 1.85 kB
TypeScript
/**
* 统一配置验证模块
* 项目所有者: Jason Zhang
*
* 提供零fallback的配置验证,确保所有配置都是明确的
* 遵循零硬编码、零Fallback、零静默失败原则
*/
import { ProviderConfig } from '@/types';
/**
* 配置验证错误类型
*/
export declare class ConfigValidationError extends Error {
readonly providerId: string;
readonly configField: string;
constructor(message: string, providerId: string, configField: string);
}
/**
* 🚨 严格验证API Key - 零fallback原则
*/
export declare function validateApiKey(config: ProviderConfig, providerId: string): string;
/**
* 🚨 严格验证Base URL - 零fallback原则
*/
export declare function validateBaseURL(config: ProviderConfig, providerId: string): string;
/**
* 🚨 严格验证端口配置 - 零fallback原则
*/
export declare function validatePortConfiguration(config: ProviderConfig, providerId: string): number;
/**
* 🚨 严格验证默认模型 - 零fallback原则
*/
export declare function validateDefaultModel(config: ProviderConfig, providerId: string): string;
/**
* 验证SDK选项配置
*/
export declare function validateSDKOptions(options?: any): Required<{
timeout: number;
maxRetries: number;
defaultHeaders: Record<string, string>;
}>;
/**
* 综合配置验证 - 一次性验证所有必需配置
*/
export interface ValidatedConfig {
apiKey: string;
baseURL: string;
port: number;
defaultModel: string;
sdkOptions: ReturnType<typeof validateSDKOptions>;
httpOptions?: {
timeout?: number;
maxRetries?: number;
defaultHeaders?: Record<string, string>;
};
}
export declare function validateProviderConfig(config: ProviderConfig, providerId: string, sdkOptions?: any): ValidatedConfig;
//# sourceMappingURL=config-validation.d.ts.map