/** * Configuration Manager * * Manages Memory-OS configuration with support for conversation recording * Features: config persistence, validation, migration, defaults */ import { MemoryOSConfig } from './types'; import { RecordingMode, RecordingConfig, PrivacyRule, RetentionPolicy } from '../conversation/types'; /** * Extended Memory-OS Configuration * Includes conversation recording settings */ export interface ExtendedMemoryOSConfig extends MemoryOSConfig { version: string; /** Conversation recording configuration (v0.2.0) */ conversation?: { recording: RecordingConfig; privacy: { enabled: boolean; rules: PrivacyRule[]; }; retention: RetentionPolicy; features: { generateSummaries: boolean; linkToMemories: boolean; searchIndexing: boolean; }; }; /** Legacy trigger-based extraction (v0.1.2) */ legacy?: { triggerExtraction: boolean; triggerWords: { zh: string[]; en: string[]; }; }; } /** * Configuration Manager * Handles reading, writing, and migrating Memory-OS configuration */ export declare class ConfigManager { private configPath; private config; constructor(configPath?: string); /** * Load configuration from file */ load(): Promise; /** * Save configuration to file */ save(): Promise; /** * Get configuration value by key */ get(key: string): any; /** * Set configuration value by key */ set(key: string, value: any): Promise; /** * Get current recording mode */ getRecordingMode(): RecordingMode; /** * Set recording mode */ setRecordingMode(mode: RecordingMode): Promise; /** * Get privacy rules */ getPrivacyRules(): PrivacyRule[]; /** * Add privacy rule */ addPrivacyRule(rule: PrivacyRule): Promise; /** * Remove privacy rule by description */ removePrivacyRule(description: string): Promise; /** * Get session timeout (in minutes) */ getSessionTimeout(): number; /** * Set session timeout (in minutes) */ setSessionTimeout(minutes: number): Promise; /** * Check if privacy filtering is enabled */ isPrivacyEnabled(): boolean; /** * Enable/disable privacy filtering */ setPrivacyEnabled(enabled: boolean): Promise; /** * Get retention policy */ getRetentionPolicy(): RetentionPolicy; /** * Update retention policy */ updateRetentionPolicy(policy: Partial): Promise; /** * Get full configuration */ getConfig(): ExtendedMemoryOSConfig; /** * Reset configuration to defaults */ reset(): Promise; /** * Get default configuration */ private getDefaultConfig; /** * Get default configuration path */ private getDefaultConfigPath; /** * Migrate configuration from older versions */ private migrateConfig; /** * Migrate from v0.1.x to v0.2.0 */ private migrateFrom01x; /** * Compare semantic versions */ private compareVersions; /** * Get nested property by dot notation */ private getNestedProperty; /** * Set nested property by dot notation */ private setNestedProperty; } /** * Create configuration manager instance */ export declare function createConfigManager(configPath?: string): ConfigManager; /** * Load configuration from default path */ export declare function loadConfig(): Promise; /** * Save configuration to default path */ export declare function saveConfig(config: ExtendedMemoryOSConfig): Promise; //# sourceMappingURL=config-manager.d.ts.map