ailock
Version:
AI-Proof File Guard - Protect sensitive files from accidental AI modifications
153 lines • 4.5 kB
TypeScript
/**
* 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