UNPKG

pms-analysis-reports-mcp-server

Version:

PMS analysis reports server handling maintenance reports, equipment analysis, compliance tracking, and performance metrics with ERP access for data extraction

175 lines (174 loc) 4.27 kB
export interface ToolArguments { [key: string]: any; } export interface PMSReport { id: string; vesselId: string; vesselName: string; imo?: number; reportType: 'maintenance' | 'compliance' | 'performance' | 'analysis'; reportDate: Date; createdBy: string; status: 'draft' | 'completed' | 'approved' | 'archived'; title: string; description?: string; data: any; metadata?: { version: string; lastModified: Date; approvedBy?: string; approvalDate?: Date; }; } export interface Equipment { id: string; name: string; type: string; manufacturer?: string; model?: string; serialNumber?: string; location: string; installationDate?: Date; lastMaintenanceDate?: Date; nextMaintenanceDate?: Date; status: 'operational' | 'maintenance' | 'offline' | 'decommissioned'; } export interface MaintenanceTask { id: string; equipmentId: string; taskType: 'routine' | 'preventive' | 'corrective' | 'emergency'; title: string; description: string; frequency: string; estimatedDuration: number; priority: 'low' | 'medium' | 'high' | 'critical'; status: 'scheduled' | 'in_progress' | 'completed' | 'overdue' | 'cancelled'; scheduledDate?: Date; completedDate?: Date; assignedTo?: string; parts?: PartRequirement[]; notes?: string; } export interface PartRequirement { partNumber: string; description: string; quantity: number; unit: string; cost?: number; } export interface AnalysisRequest { query: string; filters?: { vesselId?: string; vesselName?: string; imo?: number; reportType?: string; dateRange?: { start: string; end: string; }; equipment?: string; status?: string; priority?: string; }; limit?: number; page?: number; } export interface ComplianceStatus { requirementId: string; description: string; status: 'compliant' | 'non_compliant' | 'pending' | 'not_applicable'; lastChecked: Date; nextDue?: Date; responsible: string; notes?: string; } export interface PerformanceMetrics { metricType: string; value: number; unit: string; timestamp: Date; equipmentId?: string; benchmarkValue?: number; trend: 'improving' | 'stable' | 'declining'; } export interface SearchResult<T> { data: T[]; total: number; page: number; limit: number; hasMore: boolean; } export interface FilterOptions { vesselIds?: string[]; equipmentTypes?: string[]; statusFilters?: string[]; dateRange?: { field: string; start: string; end: string; }; priorities?: string[]; assignees?: string[]; } export interface APIResponse<T = any> { success: boolean; data?: T; error?: string; message?: string; timestamp: string; } export interface Vessel { id: string; name: string; imo?: number; type: string; flag: string; operator: string; yearBuilt?: number; classification?: string; status: 'active' | 'inactive' | 'in_yard' | 'decommissioned'; } export interface ReportConfiguration { templateId: string; title: string; includeSections: string[]; dateRange?: { start: string; end: string; }; filters?: FilterOptions; format: 'pdf' | 'html' | 'excel' | 'json'; recipients?: string[]; } export interface ToolResponseItem { type: "error" | "text" | "table" | "chart" | "success"; content?: any; text?: string; data?: any; title?: string; format?: string; metadata?: { source?: string; collection?: string; query?: string; totalFound?: number; score?: number; title?: string; artifact?: string; executionTime?: number; recordsReturned?: number; queryText?: string; error?: string; imo?: string; [key: string]: any; }; } export type ToolResponse = ToolResponseItem[]; export interface TypesenseHit { document: any; text_match?: number; } export declare const COLLECTIONS: { readonly DATA_LINKS: "data_links"; };