openai-compatible-providers-framework
Version:
OpenAI Compatible Providers Framework with Qwen and iFlow tool calling support, OAuth authentication, dynamic module loading, and comprehensive debug logging system
313 lines • 7.12 kB
TypeScript
/**
* Debug Logging Types
* 调试日志类型定义
*/
/**
* Debug Logging Configuration
* 调试日志配置接口
*/
export interface DebugConfig {
enabled: boolean;
baseDirectory: string;
paths: {
requests: string;
responses: string;
errors: string;
pipeline: string;
system: string;
};
logLevel: 'debug' | 'info' | 'warn' | 'error' | 'silent';
requestTracking: {
enabled: boolean;
generateRequestIds: boolean;
includeTimestamps: boolean;
trackMetadata: boolean;
};
contentFiltering: {
enabled: boolean;
sensitiveFields: string[];
maxContentLength: number;
sanitizeResponses: boolean;
};
fileManagement: {
maxFileSize: number;
maxFiles: number;
compressOldLogs: boolean;
retentionDays: number;
};
performanceTracking: {
enabled: boolean;
trackTiming: boolean;
trackMemoryUsage: boolean;
trackSuccessRates: boolean;
};
}
/**
* Request Context for Tracking
* 请求跟踪上下文
*/
export interface RequestContext {
requestId: string;
pipelineId: string;
sessionId?: string;
startTime: number;
endTime?: number;
provider: string;
model?: string;
operation: 'chat' | 'streamChat' | 'healthCheck';
stages: PipelineStage[];
metadata?: Record<string, any>;
}
/**
* Pipeline Stage Tracking
* 流水线阶段跟踪
*/
export interface PipelineStage {
stage: string;
startTime: number;
endTime?: number;
duration?: number;
status: 'pending' | 'running' | 'completed' | 'failed';
error?: string;
data?: any;
}
/**
* Request-Response Log Entry
* 请求-响应日志条目
*/
export interface RequestResponseLog {
requestId: string;
pipelineId: string;
timestamp: number;
provider: string;
operation: string;
request: {
headers?: Record<string, string>;
body: any;
metadata?: Record<string, any>;
};
response: {
status: number;
headers?: Record<string, string>;
body: any;
metadata?: Record<string, any>;
};
duration: number;
success: boolean;
error?: string;
stages: PipelineStage[];
}
/**
* Error Log Entry
* 错误日志条目
*/
export interface ErrorLog {
requestId: string;
pipelineId: string;
timestamp: number;
provider: string;
operation: string;
error: {
message: string;
stack?: string;
code?: string;
type: string;
};
request: {
headers?: Record<string, string>;
body: any;
metadata?: Record<string, any>;
};
failedStage?: string;
stages: PipelineStage[];
debugInfo?: Record<string, any>;
}
/**
* System Log Entry
* 系统日志条目
*/
export interface SystemLog {
level: 'debug' | 'info' | 'warn' | 'error';
message: string;
timestamp: number;
requestId?: string;
provider?: string;
operation?: string;
metadata?: Record<string, any>;
}
/**
* Performance Metrics
* 性能指标
*/
export interface PerformanceMetrics {
requestId: string;
pipelineId: string;
provider: string;
operation: string;
totalDuration: number;
validationDuration?: number;
mappingDuration?: number;
executionDuration?: number;
responseDuration?: number;
memoryUsage?: {
start: number;
end: number;
peak: number;
};
success: boolean;
error?: string;
stagePerformance: {
[stage: string]: {
duration: number;
success: boolean;
error?: string;
};
};
}
/**
* Log Statistics
* 日志统计
*/
export interface LogStatistics {
totalRequests: number;
successfulRequests: number;
failedRequests: number;
successRate: number;
averageResponseTime: number;
minResponseTime: number;
maxResponseTime: number;
errorCounts: {
[errorType: string]: number;
};
providerStats: {
[provider: string]: {
totalRequests: number;
successfulRequests: number;
failedRequests: number;
averageResponseTime: number;
};
};
timeRange: {
start: number;
end: number;
};
}
/**
* Debug Log Manager Options
* 调试日志管理器选项
*/
export interface DebugLogManagerOptions {
config: DebugConfig;
autoCleanup?: boolean;
cleanupInterval?: number;
enableConsoleOutput?: boolean;
}
/**
* File Manager Options
* 文件管理器选项
*/
export interface FileManagerOptions {
config: DebugConfig;
enableCompression?: boolean;
compressionFormat?: 'gzip' | 'zip';
enableBackup?: boolean;
backupLocation?: string;
}
/**
* Content Filter Options
* 内容过滤选项
*/
export interface ContentFilterOptions {
enabled: boolean;
sensitiveFields: string[];
maxContentLength: number;
customFilters?: ((data: any) => any)[];
preserveStructure: boolean;
}
/**
* Request Tracker Options
* 请求跟踪器选项
*/
export interface RequestTrackerOptions {
enabled: boolean;
generateRequestIds: boolean;
idPrefix?: string;
includeSessionTracking: boolean;
includeUserTracking?: boolean;
trackMetadata: boolean;
}
/**
* Stage Names
* 阶段名称枚举
*/
export declare enum PipelineStageNames {
VALIDATION = "validation",
COMPATIBILITY_MAPPING = "compatibility_mapping",
PROVIDER_EXECUTION = "provider_execution",
RESPONSE_MAPPING = "response_mapping",
RESPONSE_STANDARDIZATION = "response_standardization",
ERROR_HANDLING = "error_handling",
CLEANUP = "cleanup"
}
/**
* Log Formats
* 日志格式枚举
*/
export declare enum LogFormats {
JSONL = "jsonl",// JSON Lines format
JSON = "json",// Pretty JSON format
CSV = "csv",// CSV format
PRETTY = "pretty"
}
/**
* Log Levels
* 日志级别枚举
*/
export declare enum LogLevels {
DEBUG = "debug",
INFO = "info",
WARN = "warn",
ERROR = "error",
SILENT = "silent"
}
/**
* Default Configuration
* 默认配置
*/
export declare const DEFAULT_DEBUG_CONFIG: DebugConfig;
/**
* Configuration Validation Result
* 配置验证结果
*/
export interface ConfigValidationResult {
isValid: boolean;
errors: string[];
warnings: string[];
normalizedConfig?: DebugConfig;
}
/**
* Log Entry Types
* 日志条目类型联合
*/
export type LogEntry = RequestResponseLog | ErrorLog | SystemLog | PerformanceMetrics;
/**
* Stage Status Types
* 阶段状态类型
*/
export type StageStatus = 'pending' | 'running' | 'completed' | 'failed';
/**
* Operation Types
* 操作类型
*/
export type OperationType = 'chat' | 'streamChat' | 'healthCheck';
/**
* Log Level Types
* 日志级别类型
*/
export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent';
/**
* Provider Types
* 提供者类型
*/
export type ProviderType = 'qwen' | 'iflow' | 'openai' | 'custom';
//# sourceMappingURL=debug-types.d.ts.map