UNPKG

cdi-mcp-server

Version:

CDI (Chemical Distribution Institute) MCP Server for retrieving and processing maritime inspection data with full CDI authentication support

50 lines 1.86 kB
import { promises as fs } from 'fs'; import path from 'path'; export function timestampedFilename(prefix, ext = '.png') { const screenshotsDir = path.join(process.cwd(), 'screenshots'); const timestamp = new Date().toISOString().replace(/[:.]/g, '-').replace('T', '_').split('.')[0] + 'Z'; return path.join(screenshotsDir, `${prefix}_${timestamp}${ext}`); } export function timestampedFilenamePdf(prefix, ext = '.pdf') { const downloadsDir = path.join(process.cwd(), 'downloads'); return path.join(downloadsDir, `${prefix}${ext}`); } export async function ensureDirectoryExists(dirPath) { try { await fs.access(dirPath); } catch { await fs.mkdir(dirPath, { recursive: true }); } } export function cleanVesselName(vesselName) { return vesselName .replace(/[/\\:]/g, '-') .replace(/[<>:"/|?*]/g, '') .trim(); } export function formatDate(dateStr) { try { // Try to parse DD-MM-YYYY format const parts = dateStr.split('-'); if (parts.length === 3) { const day = parts[0].padStart(2, '0'); const month = parts[1].padStart(2, '0'); const year = parts[2]; const date = new Date(`${year}-${month}-${day}`); return date.toISOString().split('T')[0]; // Return YYYY-MM-DD format } // If parsing fails, return current date return new Date().toISOString().split('T')[0]; } catch (error) { // If date parsing fails, use current date return new Date().toISOString().split('T')[0]; } } export function generatePdfFilename(vesselName, imo, inspectionDate) { const cleanName = cleanVesselName(vesselName); const formattedDate = formatDate(inspectionDate); return `${cleanName}_${imo}_${formattedDate}.pdf`; } //# sourceMappingURL=utils.js.map