survey-mcp-server
Version:
Survey management server handling survey creation, response collection, analysis, and reporting with database access for data management
63 lines (62 loc) • 2.19 kB
TypeScript
/**
* Secure Tool Handler - Refactored to use service layer with proper validation
*/
import { ToolArguments, ToolResponse } from '../types/index.js';
import { MiddlewareOptions } from '../middleware/index.js';
export interface ToolContext {
toolName: string;
sessionId?: string;
userId?: string;
timestamp: Date;
correlationId: string;
}
export interface ToolExecutionOptions extends MiddlewareOptions {
enableAuditLogging?: boolean;
enableMetrics?: boolean;
maxExecutionTime?: number;
}
export declare class SecureToolHandler {
private databaseService;
private searchService;
private externalApiService;
private executionCount;
constructor();
handleCallTool(name: string, arguments_: ToolArguments, options?: ToolExecutionOptions): Promise<ToolResponse>;
private executeSecureTool;
private universalCertificateSurveySearch;
private listExtendedCertificateRecords;
private listRecordsExpiringWithinDays;
private listRecordsByStatus;
private getClassCertificateStatus;
private getClassSurveyStatus;
private getCocNotesMemoStatus;
private getVesselDryDockingStatus;
private getNextPeriodicalSurveyDetails;
private getCmsItemsStatus;
private getExpiredCertificatesFromShippalm;
private writeCasefileData;
private retrieveCasefileData;
private getFleetAnnualSurveyStatus;
private getFleetDryDockingStatus;
private getFleetIhmCertificateStatus;
private getFleetLsaFfaCertificateStatus;
private classCcsSurveyStatusDownload;
private classNkSurveyStatusDownload;
private classKrSurveyStatusDownload;
private classDnvSurveyStatusDownload;
private classLrSurveyStatusDownload;
private classBvSurveyStatusDownload;
private classAbsSurveyStatusDownload;
private buildFilterString;
private convertCertificateDates;
private sanitizeDocument;
private storeSearchAnalytics;
private logToolExecution;
private updateExecutionMetrics;
private generateCorrelationId;
getExecutionMetrics(): {
[toolName: string]: number;
};
resetMetrics(): void;
}
export declare const secureToolHandler: SecureToolHandler;