UNPKG

ailock

Version:

AI-Proof File Guard - Protect sensitive files from accidental AI modifications

153 lines 4.5 kB
/** * User configuration interface for growth system integration */ export interface UserConfig { machineUuid: string; authToken?: string; directoryQuota: number; lockedDirectories: string[]; lastSyncAt?: Date; apiEndpoint?: string; offlineMode?: boolean; analyticsEnabled: boolean; version: string; machineFingerprint?: string; privacyLevel?: 'minimal' | 'standard' | 'enhanced'; telemetryOptOut?: boolean; } /** * Default user configuration */ export declare const DEFAULT_USER_CONFIG: UserConfig; /** * Get the user config file path */ export declare function getUserConfigPath(): string; /** * Load user configuration from disk * Creates default config if file doesn't exist */ export declare function loadUserConfig(): Promise<UserConfig>; /** * Save user configuration to disk */ export declare function saveUserConfig(config: UserConfig): Promise<void>; /** * Get current user's directory quota */ export declare function getUserQuota(): Promise<number>; /** * Get locked directories count */ export declare function getLockedDirectoryCount(): Promise<number>; /** * Check if user is within their directory quota */ export declare function isWithinQuota(): Promise<boolean>; /** * Add a directory to the locked directories list */ export declare function addLockedDirectory(dirPath: string): Promise<void>; /** * Remove a directory from the locked directories list */ export declare function removeLockedDirectory(dirPath: string): Promise<void>; /** * Update user's directory quota (typically after auth code redemption) */ export declare function updateDirectoryQuota(newQuota: number): Promise<void>; /** * Set user's auth token */ export declare function setAuthToken(token: string): Promise<void>; /** * Clear user's auth token */ export declare function clearAuthToken(): Promise<void>; /** * Update user's machine UUID in config */ export declare function updateMachineUuid(uuid: string): Promise<void>; /** * Set analytics preference */ export declare function setAnalyticsEnabled(enabled: boolean): Promise<void>; /** * Get analytics preference */ export declare function getAnalyticsEnabled(): Promise<boolean>; /** * Set offline mode */ export declare function setOfflineMode(offline: boolean): Promise<void>; /** * Get offline mode status */ export declare function getOfflineMode(): Promise<boolean>; /** * Set privacy level */ export declare function setPrivacyLevel(level: 'minimal' | 'standard' | 'enhanced'): Promise<void>; /** * Get privacy level */ export declare function getPrivacyLevel(): Promise<'minimal' | 'standard' | 'enhanced'>; /** * Set telemetry opt-out */ export declare function setTelemetryOptOut(optOut: boolean): Promise<void>; /** * Get telemetry opt-out status */ export declare function getTelemetryOptOut(): Promise<boolean>; /** * Validate machine fingerprint for security * Returns true if the configuration appears to be on the same machine */ export declare function validateMachineFingerprint(): Promise<boolean>; /** * Check if analytics should be collected based on privacy settings */ export declare function shouldCollectAnalytics(): Promise<boolean>; /** * Sanitize user config for safe logging/transmission */ export declare function sanitizeUserConfig(config: UserConfig): Partial<UserConfig>; /** * Get user configuration for debugging */ export declare function getUserConfigDebugInfo(): Promise<Omit<UserConfig, 'authToken'>>; /** * Reset user configuration to defaults (useful for testing) */ export declare function resetUserConfig(): Promise<void>; /** * Validate user configuration integrity */ export declare function validateUserConfig(config: UserConfig): string[]; /** * Create backup of user configuration */ export declare function backupUserConfig(): Promise<string>; /** * Restore user configuration from backup */ export declare function restoreUserConfig(backupPath: string): Promise<void>; /** * Repair corrupted user configuration * Attempts to fix issues automatically or reset to defaults */ export declare function repairUserConfig(): Promise<{ repaired: boolean; issuesFixed: string[]; hadToReset: boolean; }>; /** * Safe configuration operation wrapper */ export declare function safeConfigOperation<T>(operation: () => Promise<T>, operationName: string, fallbackValue?: T): Promise<{ success: boolean; result?: T; error?: string; }>; //# sourceMappingURL=user-config.d.ts.map