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
97 lines (96 loc) • 3.15 kB
TypeScript
export interface ArtifactResponse {
id: string;
parentTaskId: string;
timestamp: number;
agent: {
id: string;
name: string;
type: string;
};
messageType: string;
action: {
tool: string;
operation: string;
params: {
url: string;
pageTitle: string;
visual: {
icon: string;
color: string;
};
stream: {
type: string;
streamId: string;
target: string;
};
};
};
content: string;
artifacts: {
id: string;
type: string;
content: {
url: string;
title: string;
screenshot: string;
textContent: string;
extractedInfo: Record<string, any>;
};
metadata: {
domainName: string;
visitTimestamp: number;
category: string;
};
}[];
status: string;
}
export declare function getArtifact(toolName: string, url: string | Promise<string | null>): ArtifactResponse;
/**
* Get data link from documents
*/
export declare function getDataLink(data: any[]): Promise<string | null>;
/**
* Insert data link to MongoDB
*/
export declare function insertDataLinkToMongodb(dataLink: string, linkHeader: string, sessionId: string, imo?: string, vesselName?: string): Promise<void>;
/**
* Update Typesense filter with company IMO numbers for filtering
* @param filter - Existing filter string
* @returns Updated filter string with IMO restrictions
*/
export declare function updateTypesenseFilterWithCompanyImos(filter: string): string;
/**
* Update MongoDB filter with company IMO numbers for filtering
* @param filter - Existing MongoDB filter object
* @returns Updated filter object with IMO restrictions
*/
export declare function updateMongoFilterWithCompanyImos(filter: any): any;
/**
* Update MongoDB aggregation pipeline with company IMO numbers for filtering
* @param pipeline - Existing MongoDB aggregation pipeline
* @returns Updated pipeline with IMO restrictions
*/
export declare function updateMongoAggregationWithCompanyImos(pipeline: any[]): any[];
/**
* Update search query parameters with company IMO filtering
* @param searchParams - Search parameters object
* @returns Updated search parameters with IMO restrictions
*/
export declare function updateSearchParamsWithCompanyImos(searchParams: any): any;
/**
* Check if a vessel IMO is authorized for the current company
* @param imo - IMO number to check
* @returns True if authorized, false otherwise
*/
export declare function isVesselAuthorizedForCompany(imo: string | number): boolean;
/**
* Get authorized IMO numbers for the current company
* @returns Array of authorized IMO numbers
*/
export declare function getAuthorizedImoNumbers(): string[];
/**
* Log IMO filtering activity for monitoring
* @param action - Action being performed
* @param details - Additional details about the filtering
*/
export declare function logImoFilteringActivity(action: string, details?: any): void;