UNPKG

virtue-cli

Version:

Personal character development CLI tool for tracking virtues and philosophical alignment

101 lines 2.79 kB
import { Database } from '../database/Database.js'; import { ExportManager } from './ExportManager.js'; import { Profile, DailyEntry } from '../types/index.js'; export interface AutoExportConfig { enabled: boolean; targetPath: string; format: 'summary' | 'detailed' | 'journal'; frequency: 'daily' | 'manual'; } export interface ExportResult { success: boolean; filePath?: string; error?: string; } export declare class AutoExportManager { private database; private exportManager; constructor(database: Database, exportManager?: ExportManager); /** * Trigger automatic export after daily check-in */ triggerDailyExport(profileId: string, dailyEntry: DailyEntry): Promise<ExportResult>; /** * Trigger weekly export */ triggerWeeklyExport(profileId: string): Promise<ExportResult>; /** * Trigger monthly export */ triggerMonthlyExport(profileId: string): Promise<ExportResult>; /** * Configure automatic exports for a profile */ configureAutoExport(profileId: string, config: Partial<AutoExportConfig>): boolean; /** * Get current export configuration for a profile */ getExportConfig(profile: Profile): AutoExportConfig; /** * Test export configuration (validate paths, permissions, etc.) */ testExportConfig(config: AutoExportConfig): { valid: boolean; error?: string; }; /** * Get export history for a profile */ getExportHistory(profileId: string): Array<{ date: string; type: string; status: string; }>; /** * Perform the actual export operation */ private performExport; /** * Generate export content based on type and format */ private generateExportContent; /** * Generate daily export content */ private generateDailyContent; /** * Generate daily summary format */ private generateDailySummary; /** * Generate weekly and monthly content (simplified for now) */ private generateWeeklyContent; private generateMonthlyContent; /** * Generate detailed and journal formats (simplified for now) */ private generateDailyDetailed; private generateDailyJournal; /** * Validate export path accessibility and writability */ private validateExportPath; /** * Ensure directory exists */ private ensureDirectoryExists; /** * Generate filename based on export type and format */ private generateFilename; /** * Get subdirectory for export type */ private getSubdirectory; /** * Get week number of the year */ private getWeekNumber; } //# sourceMappingURL=AutoExportManager.d.ts.map