UNPKG

@ui18n/angular

Version:

🅰️ Modern Angular internationalization with standalone components, signals, and dependency injection support for Angular 15+

181 lines 4.84 kB
/** * UI18n安全配置管理系统 * 提供API密钥的安全存储、加密和环境变量管理 */ import { DualAPIConfig } from './api-config'; export interface SecureConfig { /** 加密的配置数据 */ encrypted: { /** 加密的AI提供者配置 */ aiProvider?: string; /** 加密的云端服务配置 */ cloudService?: string; }; /** 加密元数据 */ metadata: { /** 加密算法 */ algorithm: string; /** 密钥长度 */ keyLength: number; /** 创建时间 */ createdAt: string; /** 最后更新时间 */ updatedAt: string; /** 配置版本 */ version: string; }; /** 非敏感配置(明文存储) */ public: { /** 回退策略 */ fallbackStrategy?: DualAPIConfig['fallbackStrategy']; /** 错误处理配置 */ errorHandling?: DualAPIConfig['errorHandling']; /** AI提供者非敏感配置 */ aiProvider?: any; /** 云端服务非敏感配置 */ cloudService?: any; }; } export declare const ENV_VAR_MAPPING: { readonly AI_PROVIDER_TYPE: "aiProvider.type"; readonly AI_PROVIDER_API_KEY: "aiProvider.apiKey"; readonly AI_PROVIDER_ENDPOINT: "aiProvider.endpoint"; readonly AI_PROVIDER_TIMEOUT: "aiProvider.timeout"; readonly AI_PROVIDER_REGION: "aiProvider.region"; readonly AI_PROVIDER_MODEL: "aiProvider.model"; readonly UI18N_ACCOUNT_API_KEY: "cloudService.accountApiKey"; readonly UI18N_CLOUD_ENDPOINT: "cloudService.endpoint"; readonly UI18N_CLOUD_TIMEOUT: "cloudService.timeout"; readonly UI18N_DEBUG: "debug"; readonly UI18N_LOG_LEVEL: "logLevel"; }; export declare const SENSITIVE_FIELDS: string[]; /** * 安全配置管理器 */ export declare class SecureConfigManager { private static readonly ALGORITHM; private static readonly KEY_LENGTH; private static readonly IV_LENGTH; private static readonly TAG_LENGTH; private static readonly CONFIG_FILE_NAME; private encryptionKey; private configPath; constructor(options?: { configDir?: string; encryptionKey?: string | Buffer; }); /** * 初始化加密密钥 */ private initializeEncryptionKey; /** * 获取用户主目录 */ private getUserHomeDir; /** * 加密敏感数据 */ private encrypt; /** * 解密敏感数据 */ private decrypt; /** * 过滤敏感字段 */ private filterSensitiveFields; /** * 从环境变量加载配置 */ loadFromEnvironment(): Partial<DualAPIConfig>; /** * 保存安全配置到文件 */ saveSecureConfig(config: DualAPIConfig): void; /** * 从文件加载安全配置 */ loadSecureConfig(): Partial<DualAPIConfig>; /** * 合并配置(优先级:环境变量 > 安全文件 > 默认配置) */ loadConfig(defaultConfig?: Partial<DualAPIConfig>): DualAPIConfig; /** * 深度合并对象 */ private deepMerge; /** * 删除安全配置文件 */ deleteSecureConfig(): boolean; /** * 验证配置文件完整性 */ validateConfigFile(): { valid: boolean; errors: string[]; }; /** * 轮转加密密钥 */ rotateEncryptionKey(newKey?: string | Buffer): void; /** * Initialize the config manager (for compatibility) */ initialize(): Promise<void>; /** * Set configuration value (for compatibility) */ setConfig(category: string, key: string, value: string): Promise<void>; /** * Get configuration value (for compatibility) */ getConfig(category: string, key: string): Promise<string | undefined>; } /** * 安全日志记录器 */ export declare class SecureLogger { private static instance; private logLevel; private constructor(); static getInstance(): SecureLogger; /** * 设置日志级别 */ setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void; /** * 脱敏处理敏感信息 */ private sanitize; /** * 掩码敏感值 */ private maskSensitiveValue; /** * 安全日志记录 */ log(level: 'debug' | 'info' | 'warn' | 'error', message: string, data?: any): void; } /** * 配置验证器 */ export declare class ConfigValidator { /** * 验证API密钥格式 */ static validateAPIKey(key: string, provider: string): { valid: boolean; errors: string[]; }; /** * 验证端点URL */ static validateEndpoint(endpoint: string): { valid: boolean; errors: string[]; }; } export default SecureConfigManager; //# sourceMappingURL=secure-config.d.ts.map