UNPKG

cs-element

Version:

Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support

148 lines 4.14 kB
/** * Интерфейсы для браузерного расширения CSElement DevTools */ export interface ExtensionMessage { type: string; data?: any; tabId?: number; timestamp?: number; } export interface CSElementDetectionMessage extends ExtensionMessage { type: 'CS_ELEMENT_DETECTED'; data: { elementCount: number; version: string; features: string[]; }; } export interface InspectionRequestMessage extends ExtensionMessage { type: 'INSPECTION_REQUEST'; data: { elementId?: string; path?: string; format?: 'json' | 'compact' | 'debug'; }; } export interface InspectionResponseMessage extends ExtensionMessage { type: 'INSPECTION_RESPONSE'; data: { element: any; snapshot: any; metadata: any; }; } export interface VisualizationRequestMessage extends ExtensionMessage { type: 'VISUALIZATION_REQUEST'; data: { elementId?: string; format: 'ascii' | 'svg' | 'html' | 'mermaid'; options?: any; }; } export interface VisualizationResponseMessage extends ExtensionMessage { type: 'VISUALIZATION_RESPONSE'; data: { result: string; metadata: any; error?: string; }; } export interface PerformanceDataMessage extends ExtensionMessage { type: 'PERFORMANCE_DATA'; data: { operations: any[]; memoryUsage: any; slowOperations: any[]; summary: any; }; } export interface ElementUpdateMessage extends ExtensionMessage { type: 'ELEMENT_UPDATE'; data: { elementId: string; operation: string; timestamp: number; details: any; }; } export interface ErrorMessage extends ExtensionMessage { type: 'ERROR'; data: { message: string; stack?: string; context?: any; }; } export type DevToolsMessage = CSElementDetectionMessage | InspectionRequestMessage | InspectionResponseMessage | VisualizationRequestMessage | VisualizationResponseMessage | PerformanceDataMessage | ElementUpdateMessage | ErrorMessage; export interface ExtensionPort { postMessage(message: DevToolsMessage): void; onMessage: { addListener(callback: (message: DevToolsMessage) => void): void; removeListener(callback: (message: DevToolsMessage) => void): void; }; onDisconnect: { addListener(callback: () => void): void; }; } export interface DevToolsPanel { id: string; title: string; iconPath: string; pagePath: string; port?: ExtensionPort; } export interface ExtensionState { isConnected: boolean; currentTab?: number; detectedElements: Map<string, any>; performanceData: any[]; selectedElement?: string; visualizationCache: Map<string, any>; } export interface PanelViewState { activeTab: 'inspector' | 'visualizer' | 'performance' | 'console'; inspectorPath: string[]; visualizationFormat: 'ascii' | 'svg' | 'html' | 'mermaid'; performanceFilter: 'all' | 'slow' | 'errors'; autoRefresh: boolean; refreshInterval: number; } export interface ElementTreeNode { id: string; name: string; type: string; children: ElementTreeNode[]; data: any; metadata: any; expanded?: boolean; selected?: boolean; } export interface VisualizationOptions { format: 'ascii' | 'svg' | 'html' | 'mermaid'; theme: 'light' | 'dark' | 'minimal'; layout?: 'tree' | 'force' | 'circular' | 'hierarchical'; showMetadata: boolean; maxDepth?: number; width?: number; height?: number; } export interface PerformanceMetrics { totalOperations: number; averageOperationTime: number; slowestOperation: any; memoryUsage: { used: number; total: number; percentage: number; }; errorRate: number; lastUpdate: number; } export interface ConsoleLogEntry { level: 'log' | 'warn' | 'error' | 'debug'; message: string; timestamp: number; source: 'extension' | 'content' | 'background'; data?: any; } //# sourceMappingURL=devtools-extension-interfaces.d.ts.map