UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

100 lines 2.54 kB
/** * ExportManager - Handles data export functionality for large datasets * Supports CSV, JSON, and YAML formats with configurable options */ export interface ExportOptions { format: 'csv' | 'json' | 'yaml'; filename?: string; include_metadata?: boolean; pretty_print?: boolean; custom_fields?: string[]; exclude_fields?: string[]; output_directory?: string; } export interface ExportMetadata { exported_at: string; total_records: number; format: string; source_query?: string; pagination_info?: any; export_options: ExportOptions; } export interface ExportResult { success: boolean; file_path?: string; total_records: number; format: string; file_size_bytes?: number; export_time_ms: number; error?: string; } /** * Main ExportManager class for handling data exports */ export declare class ExportManager { private defaultOutputDir; constructor(outputDir?: string); /** * Export data to the specified format */ export(data: any[], options: ExportOptions, metadata?: Partial<ExportMetadata>): Promise<ExportResult>; /** * Process data according to field selection options */ private processData; /** * Generate filename based on options and current timestamp */ private generateFilename; /** * Generate CSV content */ private generateCSV; /** * Generate JSON content */ private generateJSON; /** * Generate YAML content */ private generateYAML; /** * Get all unique headers from array of objects */ private getAllHeaders; /** * Recursively extract all keys from an object, using dot notation for nested objects */ private extractKeys; /** * Get nested value using dot notation */ private getNestedValue; /** * Escape CSV values */ private escapeCsvValue; /** * Generate metadata comment for CSV files */ private generateMetadataComment; /** * Validate export options */ static validateOptions(options: ExportOptions): { valid: boolean; errors: string[]; }; /** * Get export format suggestions based on data characteristics */ static getFormatSuggestions(data: any[], recordCount: number): { recommended: string; reasons: string[]; alternatives: Array<{ format: string; reason: string; }>; }; } //# sourceMappingURL=ExportManager.d.ts.map