| export interface MemorySystemState { |
| shortTerm: MemoryItem[]; |
| longTerm: MemoryItem[]; |
| archive: MemoryItem[]; |
| compressionRatio: number; |
| retentionScore: number; |
| cyclicCleanup: number; |
| } |
|
|
| export interface MemoryItem { |
| id: string; |
| content: any; |
| timestamp: Date; |
| accessCount: number; |
| importance: number; |
| tags: string[]; |
| metadata: Record<string, any>; |
| retentionScore?: number; |
| lastAccessed?: Date; |
| compressionLevel?: number; |
| semanticVector?: number[]; |
| } |
|
|
| export interface FileProcessingState { |
| queue: ProcessingFile[]; |
| processed: ProcessedFile[]; |
| categories: FileCategories; |
| locations: Map<string, string>; |
| encoding: Map<string, string>; |
| statistics: ProcessingStatistics; |
| } |
|
|
| export interface ProcessingFile { |
| id: string; |
| name: string; |
| path: string; |
| size: number; |
| type: string; |
| status: 'pending' | 'processing' | 'completed' | 'error' | 'cancelled'; |
| priority: number; |
| queuedAt: Date; |
| estimatedProcessingTime?: number; |
| dependencies?: string[]; |
| } |
|
|
| export interface ProcessedFile extends ProcessingFile { |
| processedAt: Date; |
| processingDuration: number; |
| metadata: FileMetadata; |
| content?: any; |
| errors?: string[]; |
| warnings?: string[]; |
| checksum: string; |
| virusScanResult?: VirusScanResult; |
| } |
|
|
| export interface FileCategories { |
| code: FileCategory; |
| documents: FileCategory; |
| data: FileCategory; |
| multimedia: FileCategory; |
| archives: FileCategory; |
| executables: FileCategory; |
| } |
|
|
| export interface FileCategory { |
| count: number; |
| types: string[]; |
| totalSize: number; |
| lastUpdated: Date; |
| averageProcessingTime: number; |
| successRate: number; |
| } |
|
|
| export interface FileMetadata { |
| size: number; |
| createdAt: Date; |
| modifiedAt: Date; |
| author?: string; |
| encoding?: string; |
| checksum: string; |
| contentType: string; |
| extractedText?: string; |
| semanticTags?: string[]; |
| language?: string; |
| quality?: number; |
| thumbnail?: string; |
| exifData?: Record<string, any>; |
| dimensions?: { |
| width: number; |
| height: number; |
| }; |
| duration?: number; |
| bitrate?: number; |
| codec?: string; |
| } |
|
|
| export interface VirusScanResult { |
| isClean: boolean; |
| threats: string[]; |
| scanEngine: string; |
| scanDate: Date; |
| confidence: number; |
| } |
|
|
| export interface ProcessingStatistics { |
| totalProcessed: number; |
| totalSize: number; |
| averageProcessingTime: number; |
| successRate: number; |
| errorRate: number; |
| throughput: number; |
| peakProcessingTime: number; |
| categoryCounts: Record<string, number>; |
| } |
|
|
| export interface PerformanceLogEntry { |
| id: string; |
| timestamp: Date; |
| eventType: string; |
| duration?: number; |
| resourceUsage: ResourceUsage; |
| status: 'success' | 'failure' | 'warning' | 'info'; |
| details: Record<string, any>; |
| severity?: 'low' | 'medium' | 'high' | 'critical'; |
| correlationId?: string; |
| userId?: string; |
| sessionId?: string; |
| } |
|
|
| export interface ResourceUsage { |
| cpu: number; |
| memory: number; |
| diskIO: number; |
| networkIO: number; |
| heapUsed?: number; |
| heapTotal?: number; |
| external?: number; |
| arrayBuffers?: number; |
| } |
|
|
| export interface SystemMetrics { |
| uptime: number; |
| totalRequests: number; |
| activeConnections: number; |
| memoryUsage: ResourceUsage; |
| cpuUsage: number; |
| diskSpace: { |
| total: number; |
| used: number; |
| available: number; |
| }; |
| networkStats: { |
| bytesReceived: number; |
| bytesSent: number; |
| packetsReceived: number; |
| packetsSent: number; |
| }; |
| } |
|
|
| export interface AlertConfiguration { |
| id: string; |
| name: string; |
| description: string; |
| condition: AlertCondition; |
| actions: AlertAction[]; |
| enabled: boolean; |
| severity: 'low' | 'medium' | 'high' | 'critical'; |
| cooldownPeriod: number; |
| lastTriggered?: Date; |
| } |
|
|
| export interface AlertCondition { |
| metric: string; |
| operator: '>' | '<' | '=' | '>=' | '<=' | '!='; |
| threshold: number; |
| duration?: number; |
| aggregation?: 'avg' | 'max' | 'min' | 'sum' | 'count'; |
| } |
|
|
| export interface AlertAction { |
| type: 'email' | 'webhook' | 'log' | 'callback'; |
| target: string; |
| template?: string; |
| parameters?: Record<string, any>; |
| } |
|
|
| export interface SearchQuery { |
| query: string; |
| filters?: SearchFilters; |
| sort?: SearchSort; |
| pagination?: SearchPagination; |
| options?: SearchOptions; |
| } |
|
|
| export interface SearchFilters { |
| categories?: string[]; |
| dateRange?: { |
| start: Date; |
| end: Date; |
| }; |
| sizeRange?: { |
| min: number; |
| max: number; |
| }; |
| tags?: string[]; |
| importance?: { |
| min: number; |
| max: number; |
| }; |
| status?: string[]; |
| } |
|
|
| export interface SearchSort { |
| field: string; |
| direction: 'asc' | 'desc'; |
| } |
|
|
| export interface SearchPagination { |
| page: number; |
| limit: number; |
| offset?: number; |
| } |
|
|
| export interface SearchOptions { |
| includeArchived?: boolean; |
| fuzzySearch?: boolean; |
| semanticSearch?: boolean; |
| highlightMatches?: boolean; |
| includeMetadata?: boolean; |
| } |
|
|
| export interface SearchResult<T> { |
| items: T[]; |
| totalCount: number; |
| page: number; |
| limit: number; |
| hasMore: boolean; |
| searchTime: number; |
| suggestions?: string[]; |
| } |
|
|
| export interface SystemConfiguration { |
| memory: MemoryConfiguration; |
| fileProcessing: FileProcessingConfiguration; |
| performance: PerformanceConfiguration; |
| security: SecurityConfiguration; |
| api: ApiConfiguration; |
| } |
|
|
| export interface MemoryConfiguration { |
| shortTermCapacity: number; |
| longTermCapacity: number; |
| archiveCapacity: number; |
| compressionRatio: number; |
| retentionThreshold: number; |
| cleanupInterval: number; |
| enableSemanticSearch: boolean; |
| vectorDimensions: number; |
| } |
|
|
| export interface FileProcessingConfiguration { |
| maxFileSize: number; |
| supportedExtensions: string[]; |
| processingQueueSize: number; |
| maxConcurrentFiles: number; |
| timeoutSeconds: number; |
| enableVirusScanning: boolean; |
| quarantineDirectory: string; |
| tempDirectory: string; |
| } |
|
|
| export interface PerformanceConfiguration { |
| enableLogging: boolean; |
| logLevel: 'debug' | 'info' | 'warn' | 'error'; |
| metricsInterval: number; |
| maxLogEntries: number; |
| enableAnomalyDetection: boolean; |
| alertThresholds: Record<string, number>; |
| } |
|
|
| export interface SecurityConfiguration { |
| enableAuthentication: boolean; |
| allowedOrigins: string[]; |
| rateLimiting: { |
| requests: number; |
| windowMs: number; |
| }; |
| encryptionKey?: string; |
| allowExecutables: boolean; |
| quarantineExtensions: string[]; |
| } |
|
|
| export interface ApiConfiguration { |
| baseUrl: string; |
| version: string; |
| timeout: number; |
| retryAttempts: number; |
| enableCors: boolean; |
| corsOptions: { |
| origin: string | string[]; |
| methods: string[]; |
| allowedHeaders: string[]; |
| }; |
| } |
|
|
| export interface WebSocketMessage { |
| type: string; |
| payload: any; |
| timestamp: Date; |
| id: string; |
| correlationId?: string; |
| } |
|
|
| export interface SystemEvent { |
| id: string; |
| type: string; |
| source: string; |
| timestamp: Date; |
| data: any; |
| severity: 'info' | 'warning' | 'error' | 'critical'; |
| tags: string[]; |
| } |
|
|
| export interface BackupConfiguration { |
| enabled: boolean; |
| schedule: string; |
| destination: string; |
| retention: { |
| daily: number; |
| weekly: number; |
| monthly: number; |
| }; |
| compression: boolean; |
| encryption: boolean; |
| } |
|
|
| export interface RestoreOptions { |
| backupId: string; |
| selective: boolean; |
| components?: string[]; |
| overwrite: boolean; |
| validateIntegrity: boolean; |
| } |
|
|
| export interface HealthCheck { |
| status: 'healthy' | 'degraded' | 'unhealthy'; |
| timestamp: Date; |
| checks: HealthCheckResult[]; |
| uptime: number; |
| version: string; |
| } |
|
|
| export interface HealthCheckResult { |
| name: string; |
| status: 'pass' | 'fail' | 'warn'; |
| duration: number; |
| message?: string; |
| details?: Record<string, any>; |
| } |
|
|
| export interface CacheConfiguration { |
| enabled: boolean; |
| maxSize: number; |
| ttl: number; |
| strategy: 'lru' | 'lfu' | 'fifo'; |
| persistToDisk: boolean; |
| compressionEnabled: boolean; |
| } |
|
|
| export interface QueueConfiguration { |
| maxSize: number; |
| concurrency: number; |
| retryAttempts: number; |
| retryDelay: number; |
| deadLetterQueue: boolean; |
| priorityLevels: number; |
| } |
|
|
| |
| export type DeepPartial<T> = { |
| [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P]; |
| }; |
|
|
| export type RequiredFields<T, K extends keyof T> = T & Required<Pick<T, K>>; |
|
|
| export type OptionalFields<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>; |
|
|
| export type EventHandler<T = any> = (event: T) => void | Promise<void>; |
|
|
| export type AsyncFunction<T = any, R = any> = (...args: T[]) => Promise<R>; |
|
|
| export type Callback<T = any> = (error: Error | null, result?: T) => void; |
|
|
|
|