automagik-cli
Version:
Automagik CLI - A powerful command-line interface for interacting with Automagik Hive multi-agent AI systems
87 lines (86 loc) • 2.08 kB
TypeScript
export interface SettingsConfig {
apiBaseUrl: string;
apiKey?: string;
apiTimeout: number;
apiRetryAttempts: number;
cliDebug: boolean;
sessionDir: string;
sessionMaxHistory: number;
sessionAutoSave: boolean;
enableColors: boolean;
enableSpinner: boolean;
maxDisplayWidth: number;
nodeEnv: string;
logLevel: string;
version: string;
createdAt: string;
updatedAt: string;
}
export interface MigrationResult {
migrated: boolean;
source: 'env' | 'defaults';
backupPath?: string;
errors?: string[];
}
export declare class SettingsManager {
private settingsDir;
private settingsPath;
private readonly SETTINGS_VERSION;
constructor();
/**
* Ensure the settings directory exists
*/
ensureDirectoryExists(): Promise<void>;
/**
* Get default configuration with sensible defaults
*/
getDefaultConfig(): SettingsConfig;
/**
* Validate settings configuration
*/
validate(config: Partial<SettingsConfig>): {
valid: boolean;
errors: string[];
};
/**
* Load settings from JSON file
*/
load(): Promise<SettingsConfig>;
/**
* Save settings to JSON file with atomic operations
*/
save(config: SettingsConfig): Promise<void>;
/**
* Check if settings file exists
*/
settingsExist(): Promise<boolean>;
/**
* Detect and migrate from .env file
*/
migrate(): Promise<MigrationResult>;
/**
* Create settings config from environment variables (for migration)
*/
private createFromEnv;
/**
* Backup corrupted settings file
*/
private backupCorruptedFile;
/**
* Check if file exists
*/
private fileExists;
/**
* Validate URL format
*/
private isValidUrl;
/**
* Get settings file path (for external access)
*/
getSettingsPath(): string;
/**
* Reset settings to defaults
*/
reset(): Promise<void>;
}
export declare const settingsManager: SettingsManager;