ailock
Version:
AI-Proof File Guard - Protect sensitive files from accidental AI modifications
85 lines • 2.27 kB
TypeScript
/**
* API response interfaces matching the ailock-web Edge Functions
*/
export interface AuthRedeemResponse {
success: boolean;
error?: string;
user_id?: string;
directory_quota?: number;
is_first_activation?: boolean;
message?: string;
}
export interface UsageTrackingResponse {
success: boolean;
error?: string;
}
export interface UserStatusResponse {
success: boolean;
error?: string;
directory_quota?: number;
available_codes?: number;
is_activated?: boolean;
}
/**
* Event types for usage tracking
*/
export type UsageEventType = 'lock_attempt_blocked' | 'directory_locked' | 'directory_unlocked' | 'status_check';
/**
* CLI API service for integration with ailock-web growth system
*/
export declare class CliApiService {
private baseUrl;
private timeout;
private maxRetries;
constructor(options?: {
baseUrl?: string;
timeout?: number;
maxRetries?: number;
});
/**
* Check if we're in offline mode or should skip API calls
*/
private shouldSkipApiCall;
/**
* Make HTTP request with timeout and retry logic
*/
private makeRequest;
/**
* Redeem an auth code to increase directory quota
*/
redeemAuthCode(code: string): Promise<AuthRedeemResponse>;
/**
* Track usage events for analytics
*/
trackUsage(eventType: UsageEventType, data?: {
directoryPath?: string;
totalLockedCount?: number;
metadata?: Record<string, any>;
}): Promise<UsageTrackingResponse>;
/**
* Get user status including quota and available codes
*/
getUserStatus(authCode?: string): Promise<UserStatusResponse>;
/**
* Test API connectivity
*/
testConnectivity(): Promise<boolean>;
/**
* Get API configuration info for debugging
*/
getApiInfo(): {
baseUrl: string;
timeout: number;
maxRetries: number;
};
}
export declare function getApiService(): CliApiService;
/**
* Create a custom API service instance (useful for testing)
*/
export declare function createApiService(options?: {
baseUrl?: string;
timeout?: number;
maxRetries?: number;
}): CliApiService;
//# sourceMappingURL=CliApiService.d.ts.map