ailock
Version:
AI-Proof File Guard - Protect sensitive files from accidental AI modifications
70 lines • 2.21 kB
TypeScript
/**
* Check if a directory is already being tracked as locked
*/
export declare function isDirectoryTracked(filePath: string): Promise<boolean>;
/**
* Get all currently tracked directories
*/
export declare function getTrackedDirectories(): Promise<string[]>;
/**
* Get current directory quota usage information
*/
export declare function getQuotaUsage(): Promise<{
used: number;
quota: number;
available: number;
withinQuota: boolean;
}>;
/**
* Check if locking a file would exceed the directory quota
* Returns true if within quota or directory already tracked
*/
export declare function canLockFile(filePath: string): Promise<{
canLock: boolean;
reason?: string;
quotaUsage: Awaited<ReturnType<typeof getQuotaUsage>>;
}>;
/**
* Track a file being locked (adds directory to tracked list if not already present)
*/
export declare function trackFileLocked(filePath: string): Promise<void>;
/**
* Track a file being unlocked (removes directory from tracked list if no more locked files)
*/
export declare function trackFileUnlocked(filePath: string): Promise<void>;
/**
* Initialize user configuration with machine UUID if not already set
*/
export declare function initializeUserConfig(): Promise<void>;
/**
* Get a summary of quota status for display
*/
export declare function getQuotaStatusSummary(): Promise<string>;
/**
* Reset directory tracking (useful for testing)
*/
export declare function resetDirectoryTracking(): Promise<void>;
/**
* Validate directory tracking consistency
* Returns array of issues found
*/
export declare function validateDirectoryTracking(): Promise<string[]>;
/**
* Repair directory tracking issues
* Attempts to fix common problems automatically
*/
export declare function repairDirectoryTracking(): Promise<{
repaired: boolean;
issuesFixed: string[];
issuesRemaining: string[];
}>;
/**
* Safe quota operation wrapper
* Handles common error scenarios gracefully
*/
export declare function safeQuotaOperation<T>(operation: () => Promise<T>, operationName: string, fallbackValue?: T): Promise<{
success: boolean;
result?: T;
error?: string;
}>;
//# sourceMappingURL=directory-tracker.d.ts.map