UNPKG

@flexabrain/mcp-server

Version:

Advanced electrical schematic analysis MCP server with rail engineering expertise

214 lines 6.58 kB
/** * Database interface for FlexaBrain MCP Server schematic processing */ export interface DatabaseConnection { execute(query: string, params?: any[]): Promise<any>; query(query: string, params?: any[]): Promise<any[]>; close(): Promise<void>; } export interface SchematicDocument { id: string; filename: string; original_path?: string; document_type: 'traction_control' | 'generator_monitoring' | 'power_distribution' | 'general'; title?: string; version?: string; subject?: string; creator?: string; creation_date?: Date; modification_date?: Date; pages_count: number; rail_system_type?: string; voltage_system?: string; upload_timestamp: Date; processing_status: 'pending' | 'processing' | 'completed' | 'failed' | 'archived'; processing_started_at?: Date; processing_completed_at?: Date; processing_options?: string; metadata?: string; created_by?: string; updated_at: Date; } export interface DatabasePage { id: string; document_id: string; page_number: number; page_title?: string; schematic_type: string; image_path?: string; image_dimensions?: string; quality_score: number; processing_time: number; processing_results?: string; technical_features?: string; created_at: Date; updated_at: Date; } export interface DatabaseComponent { id: string; document_id: string; page_id: string; component_id: string; component_type: string; component_category?: string; bounding_box: string; confidence_score: number; pattern_matched?: string; specifications?: string; safety_level: string; compliance_status: string; rail_system_context?: string; created_at: Date; updated_at: Date; } export interface DatabaseCrossReference { id: string; document_id: string; source_component_id?: string; target_component_id?: string; source_page_number?: number; target_page_number?: number; reference_type: string; reference_text?: string; confidence_score: number; verified: number; verification_method?: string; verified_by?: string; verified_at?: Date; created_at: Date; } export interface AgentAnalysisResult { id: string; document_id: string; component_id?: string; agent_name: 'oracle' | 'sentinel' | 'sage'; analysis_type: string; analysis_results: string; confidence_score: number; risk_assessment?: string; recommendations?: string; prediction_data?: string; anomaly_data?: string; business_insights?: string; processing_time: number; created_at: Date; expires_at?: Date; } export interface ProcessingLog { id: string; document_id?: string; page_id?: string; log_level: 'error' | 'warning' | 'info' | 'debug'; error_code?: string; message: string; component_id?: string; severity: 'low' | 'medium' | 'high' | 'critical'; recovery_suggestions?: string; stack_trace?: string; created_at: Date; } export declare class SchematicDatabase { private db; constructor(connection: DatabaseConnection); createDocument(doc: { filename: string; original_path?: string; document_type: string; title?: string; version?: string; subject?: string; creator?: string; creation_date?: Date; modification_date?: Date; pages_count: number; rail_system_type?: string; voltage_system?: string; processing_status: string; processing_options?: any; metadata?: any; created_by?: string; }): Promise<string>; getDocument(id: string): Promise<SchematicDocument | null>; updateDocumentStatus(id: string, status: string, startedAt?: Date, completedAt?: Date): Promise<void>; getDocumentsByStatus(status: string): Promise<SchematicDocument[]>; createPage(page: { document_id: string; page_number: number; page_title?: string; schematic_type: string; image_path?: string; image_dimensions?: any; quality_score: number; processing_time: number; processing_results?: any; technical_features?: any; }): Promise<string>; getPagesByDocument(documentId: string): Promise<DatabasePage[]>; createComponent(component: { document_id: string; page_id: string; component_id: string; component_type: string; component_category?: string; bounding_box: any; confidence_score: number; pattern_matched?: string; specifications?: any; safety_level: string; compliance_status: string; rail_system_context?: any; }): Promise<string>; getComponentsByDocument(documentId: string): Promise<DatabaseComponent[]>; createCrossPageReference(ref: { document_id: string; source_component_id?: string; target_component_id?: string; source_page_number?: number; target_page_number?: number; reference_type: string; reference_text?: string; confidence_score: number; verified?: boolean; verification_method?: string; verified_by?: string; verified_at?: Date; }): Promise<string>; createAgentAnalysis(analysis: { document_id: string; component_id?: string; agent_name: string; analysis_type: string; analysis_results: any; confidence_score: number; risk_assessment?: any; recommendations?: any; prediction_data?: any; anomaly_data?: any; business_insights?: any; processing_time: number; expires_at?: Date; }): Promise<string>; logProcessingEvent(log: { document_id?: string; page_id?: string; log_level: string; error_code?: string; message: string; component_id?: string; severity: string; recovery_suggestions?: any; stack_trace?: string; }): Promise<string>; getProcessingLogs(documentId: string, logLevel?: string): Promise<ProcessingLog[]>; getDocumentStatistics(documentId: string): Promise<{ totalComponents: number; highConfidenceComponents: number; crossReferences: number; avgPageQuality: number; processingErrors: number; agentAnalyses: number; }>; close(): Promise<void>; } export default SchematicDatabase; //# sourceMappingURL=database-interface.d.ts.map