<?php

namespace App\Services\SystemConfig;

class SettingDefinitions
{
    public const ALL = [
        'app_name' => [
            'type' => 'string',
            'group' => 'branding',
            'is_public' => true,
            'default' => 'Laravel',
            'description' => 'Application name',
        ],
        'enable_landing_page' => [
            'type' => 'bool',
            'group' => 'branding',
            'is_public' => true,
            'default' => true,
            'description' => 'Enable/Disable the landing page (welcome page)',
        ],
        'app_tagline' => [
            'type' => 'string',
            'group' => 'branding',
            'is_public' => true,
            'default' => '',
            'description' => 'Primary tagline',
        ],
        'app_tagline1' => [
            'type' => 'string',
            'group' => 'branding',
            'is_public' => true,
            'default' => '',
            'description' => 'Secondary tagline',
        ],
        'app_tagline2' => [
            'type' => 'string',
            'group' => 'branding',
            'is_public' => true,
            'default' => '',
            'description' => 'Description text',
        ],
        'footer_text' => [
            'type' => 'string',
            'group' => 'branding',
            'is_public' => true,
            'default' => '',
            'description' => 'Footer text',
        ],
        'default_locale' => [
            'type' => 'string',
            'group' => 'branding',
            'is_public' => true,
            'default' => 'en',
            'description' => 'Default language',
        ],
        'instance_mode' => [
            'type' => 'string',
            'group' => 'branding',
            'is_public' => true,
            'default' => 'Production',
            'description' => 'Environment/Instance Mode',
        ],
        'app_logo' => [
            'type' => 'image_path',
            'group' => 'branding',
            'is_public' => true,
            'default' => null,
            'description' => 'Application logo path',
        ],
        'app_favicon' => [
            'type' => 'image_path',
            'group' => 'branding',
            'is_public' => true,
            'default' => null,
            'description' => 'Application favicon path',
        ],
        'regional_timezone' => [
            'type' => 'string',
            'group' => 'regional',
            'is_public' => true,
            'default' => 'Asia/Jakarta',
            'description' => 'System default timezone',
        ],
        'regional_date_format' => [
            'type' => 'string',
            'group' => 'regional',
            'is_public' => true,
            'default' => 'd/m/Y',
            'description' => 'Date display format',
        ],
        'regional_time_format' => [
            'type' => 'string',
            'group' => 'regional',
            'is_public' => true,
            'default' => 'H:i',
            'description' => 'Time display format (12/24 hour)',
        ],
        'feature_notification_center' => [
            'type' => 'bool',
            'group' => 'feature_flags',
            'is_public' => false,
            'default' => true,
            'description' => 'Toggle notification center feature',
        ],
        'feature_google_oauth' => [
            'type' => 'bool',
            'group' => 'feature_flags',
            'is_public' => false,
            'default' => false,
            'description' => 'Toggle Google OAuth login',
        ],
        'google_client_id' => [
            'type' => 'string',
            'group' => 'feature_flags',
            'is_public' => false,
            'default' => '',
            'description' => 'Google Client ID',
        ],
        'google_client_secret' => [
            'type' => 'string',
            'group' => 'feature_flags',
            'is_public' => false,
            'default' => '',
            'description' => 'Google Client Secret',
        ],
        'feature_facebook_oauth' => [
            'type' => 'bool',
            'group' => 'feature_flags',
            'is_public' => false,
            'default' => false,
            'description' => 'Toggle Facebook OAuth login',
        ],
        'facebook_app_id' => [
            'type' => 'string',
            'group' => 'feature_flags',
            'is_public' => false,
            'default' => '',
            'description' => 'Facebook App ID',
        ],
        'facebook_app_secret' => [
            'type' => 'string',
            'group' => 'feature_flags',
            'is_public' => false,
            'default' => '',
            'description' => 'Facebook App Secret',
        ],
        'feature_github_oauth' => [
            'type' => 'bool',
            'group' => 'feature_flags',
            'is_public' => false,
            'default' => false,
            'description' => 'Toggle GitHub OAuth login',
        ],
        'github_client_id' => [
            'type' => 'string',
            'group' => 'feature_flags',
            'is_public' => false,
            'default' => '',
            'description' => 'GitHub Client ID',
        ],
        'github_client_secret' => [
            'type' => 'string',
            'group' => 'feature_flags',
            'is_public' => false,
            'default' => '',
            'description' => 'GitHub Client Secret',
        ],
        'social_login_callback_url' => [
            'type' => 'string',
            'group' => 'feature_flags',
            'is_public' => false,
            'default' => '/auth/callback',
            'description' => 'Global Social Login Callback URL',
        ],
        // LOGIN SECURITY
        'login_max_attempts' => [
            'type' => 'int',
            'group' => 'login_security',
            'is_public' => false,
            'default' => 5,
            'description' => 'Maximum Login Attempts',
        ],
        'login_lockout_duration' => [
            'type' => 'int',
            'group' => 'login_security',
            'is_public' => false,
            'default' => 15,
            'description' => 'Lockout Duration (Minutes)',
        ],
        'login_lockout_notify' => [
            'type' => 'bool',
            'group' => 'login_security',
            'is_public' => false,
            'default' => true,
            'description' => 'Notify upon Lockout',
        ],
        'two_factor_auth' => [
            'type' => 'bool',
            'group' => 'login_security',
            'is_public' => false,
            'default' => false,
            'description' => 'Enable 2FA',
        ],
        'two_factor_method' => [
            'type' => 'string',
            'group' => 'login_security',
            'is_public' => false,
            'default' => 'email',
            'description' => '2FA Method',
        ],
        'captcha_enabled' => [
            'type' => 'bool',
            'group' => 'login_security',
            'is_public' => true,
            'default' => false,
            'description' => 'Enable Captcha',
        ],
        'captcha_site_key' => [
            'type' => 'string',
            'group' => 'login_security',
            'is_public' => true,
            'default' => '',
            'description' => 'reCAPTCHA Site Key',
        ],
        'captcha_secret_key' => [
            'type' => 'string',
            'group' => 'login_security',
            'is_public' => false,
            'default' => '',
            'description' => 'reCAPTCHA Secret',
        ],
        'captcha_version' => [
            'type' => 'string',
            'group' => 'login_security',
            'is_public' => true,
            'default' => 'v2',
            'description' => 'reCAPTCHA Version',
        ],
        'login_log_enabled' => [
            'type' => 'bool',
            'group' => 'login_security',
            'is_public' => false,
            'default' => true,
            'description' => 'Log Login Activity',
        ],

        // PASSWORD POLICY
        'password_min_length' => [
            'type' => 'int',
            'group' => 'password_policy',
            'is_public' => true,
            'default' => 8,
            'description' => 'Minimum Password Length',
        ],
        'password_max_length' => [
            'type' => 'int',
            'group' => 'password_policy',
            'is_public' => true,
            'default' => 64,
            'description' => 'Maximum Password Length',
        ],
        'password_require_uppercase' => [
            'type' => 'bool',
            'group' => 'password_policy',
            'is_public' => true,
            'default' => false,
            'description' => 'Require Uppercase Letters',
        ],
        'password_require_lowercase' => [
            'type' => 'bool',
            'group' => 'password_policy',
            'is_public' => true,
            'default' => false,
            'description' => 'Require Lowercase Letters',
        ],
        'password_require_numeric' => [
            'type' => 'bool',
            'group' => 'password_policy',
            'is_public' => true,
            'default' => false,
            'description' => 'Require Numbers',
        ],
        'password_require_special' => [
            'type' => 'bool',
            'group' => 'password_policy',
            'is_public' => true,
            'default' => false,
            'description' => 'Require Symbols / Special Characters',
        ],
        'password_expiry_days' => [
            'type' => 'int',
            'group' => 'password_policy',
            'is_public' => false,
            'default' => 0, // 0 = Never expire
            'description' => 'Password Validity (Days)',
        ],
        'password_history_count' => [
            'type' => 'int',
            'group' => 'password_policy',
            'is_public' => false,
            'default' => 0, // 0 = No history
            'description' => 'Prevent Password Reuse (Count)',
        ],
        'password_reset_link_expiry' => [
            'type' => 'int',
            'group' => 'password_policy',
            'is_public' => false,
            'default' => 60,
            'description' => 'Password Reset Link Expiry (Minutes)',
        ],

        // SESSION SECURITY
        'session_driver' => [
            'type' => 'string',
            'group' => 'session_security',
            'is_public' => false,
            'default' => 'redis',
            'description' => 'Session Driver (file/redis/database)',
        ],
        'session_lifetime' => [
            'type' => 'int',
            'group' => 'session_security',
            'is_public' => false,
            'default' => 120,
            'description' => 'Session Lifetime / Idle Timeout (Minutes)',
        ],
        'session_single_session' => [
            'type' => 'bool',
            'group' => 'session_security',
            'is_public' => false,
            'default' => false,
            'description' => 'Only allow 1 active session per user',
        ],
        'session_auto_logout_idle' => [
            'type' => 'int',
            'group' => 'session_security',
            'is_public' => false,
            'default' => 30,
            'description' => 'Auto Logout Idle (Minutes)',
        ],
        'session_allow_remember_me' => [
            'type' => 'bool',
            'group' => 'session_security',
            'is_public' => true,
            'default' => true,
            'description' => 'Allow Remember Me on Login',
        ],
        'session_remember_me_duration' => [
            'type' => 'int',
            'group' => 'session_security',
            'is_public' => false,
            'default' => 30,
            'description' => 'Remember Me Duration (Days)',
        ],
        'session_secure_cookie' => [
            'type' => 'bool',
            'group' => 'session_security',
            'is_public' => true,
            'default' => false,
            'description' => 'Secure Cookie (HTTPS Only)',
        ],
        'session_encrypt' => [
            'type' => 'bool',
            'group' => 'session_security',
            'is_public' => false,
            'default' => false,
            'description' => 'Encrypt Session Data',
        ],
        'session_concurrent_limit' => [
            'type' => 'int',
            'group' => 'session_security',
            'is_public' => false,
            'default' => 0, // 0 = Unlimited
            'description' => 'Concurrent Session Limit (Per User)',
        ],

        // 2FA ENHANCEMENT
        'two_factor_trust_days' => [
            'type' => 'int',
            'group' => 'login_security',
            'is_public' => false,
            'default' => 30,
            'description' => 'Remember Trusted Devices (Days)',
        ],

        // WEBAUTHN (PASSKEYS)
        'webauthn_enabled' => [
            'type' => 'bool',
            'group' => 'login_security',
            'is_public' => true,
            'default' => false,
            'description' => 'Enable Passkeys (Biometric/FIDO2)',
        ],

        // IP & ACCESS CONTROL
        'ip_whitelist_admin' => [
            'type' => 'string',
            'group' => 'ip_access',
            'is_public' => false,
            'default' => '',
            'description' => 'Admin IP Whitelist (Comma separated)',
        ],
        'ip_blacklist' => [
            'type' => 'string',
            'group' => 'ip_access',
            'is_public' => false,
            'default' => '',
            'description' => 'Global IP Blacklist (Comma separated)',
        ],
        'rate_limit_per_ip' => [
            'type' => 'int',
            'group' => 'ip_access',
            'is_public' => false,
            'default' => 60,
            'description' => 'Max requests per minute per IP',
        ],
        'auto_block_ip' => [
            'type' => 'bool',
            'group' => 'ip_access',
            'is_public' => false,
            'default' => false,
            'description' => 'Automatically block suspicious IPs',
        ],
        'threshold_auto_block' => [
            'type' => 'int',
            'group' => 'ip_access',
            'is_public' => false,
            'default' => 100,
            'description' => 'Hits threshold before auto-block',
        ],
        'force_https' => [
            'type' => 'bool',
            'group' => 'ip_access',
            'is_public' => true,
            'default' => false,
            'description' => 'Force HTTPS redirection',
        ],
        'hsts_enabled' => [
            'type' => 'bool',
            'group' => 'ip_access',
            'is_public' => true,
            'default' => false,
            'description' => 'Enable HTTP Strict Transport Security',
        ],
        'cors_origins' => [
            'type' => 'string',
            'group' => 'ip_access',
            'is_public' => false,
            'default' => '*',
            'description' => 'Allowed CORS Origins',
        ],
        'cors_methods' => [
            'type' => 'string',
            'group' => 'ip_access',
            'is_public' => false,
            'default' => '*',
            'description' => 'Allowed CORS Methods',
        ],
        'cors_headers' => [
            'type' => 'string',
            'group' => 'ip_access',
            'is_public' => false,
            'default' => '*',
            'description' => 'Allowed CORS Headers',
        ],

        // NOTIFICATIONS (EMAIL)
        'mail_driver' => [
            'type' => 'string',
            'group' => 'notifications',
            'is_public' => false,
            'default' => 'smtp',
            'description' => 'Email Driver (smtp, mailgun, ses)',
        ],
        'mail_host' => [
            'type' => 'string',
            'group' => 'notifications',
            'is_public' => false,
            'default' => '',
            'description' => 'SMTP Host Server',
        ],
        'mail_port' => [
            'type' => 'int',
            'group' => 'notifications',
            'is_public' => false,
            'default' => 587,
            'description' => 'SMTP Port (587/465/25)',
        ],
        'mail_username' => [
            'type' => 'string',
            'group' => 'notifications',
            'is_public' => false,
            'default' => '',
            'description' => 'SMTP Username',
        ],
        'mail_password' => [
            'type' => 'string',
            'group' => 'notifications',
            'is_public' => false,
            'default' => '',
            'description' => 'SMTP Password',
        ],
        'mail_encryption' => [
            'type' => 'string',
            'group' => 'notifications',
            'is_public' => false,
            'default' => 'tls',
            'description' => 'Encryption (tls/ssl/null)',
        ],
        'mail_from_address' => [
            'type' => 'string',
            'group' => 'notifications',
            'is_public' => false,
            'default' => 'noreply@example.com',
            'description' => 'Sender Email Address',
        ],
        'mail_from_name' => [
            'type' => 'string',
            'group' => 'notifications',
            'is_public' => false,
            'default' => 'System Notification',
            'description' => 'Sender Display Name',
        ],

        'telegram_bot_token' => [
            'type' => 'string',
            'group' => 'notifications',
            'is_public' => false,
            'default' => '',
            'description' => 'Telegram Bot Token',
        ],

        'telegram_chat_id' => [
            'type' => 'string',
            'group' => 'notifications',
            'is_public' => false,
            'default' => '',
            'description' => 'Default Telegram Chat ID',
        ],

        // JADWAL BACKUP
        'backup_db_enabled' => [
            'type' => 'bool',
            'group' => 'backups',
            'is_public' => false,
            'default' => true,
            'description' => 'Enable automated database backup',
        ],
        'backup_db_driver' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => 'local',
            'description' => 'Storage Driver (local/s3/gdrive)',
        ],
        'backup_db_frequency' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => 'daily',
            'description' => 'Backup Frequency',
        ],
        'backup_db_time' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => '02:00',
            'description' => 'Execution Time',
        ],
        'backup_db_retention' => [
            'type' => 'int',
            'group' => 'backups',
            'is_public' => false,
            'default' => 7,
            'description' => 'Retention Policy (Keep last N)',
        ],
        'backup_db_compress' => [
            'type' => 'bool',
            'group' => 'backups',
            'is_public' => false,
            'default' => true,
            'description' => 'Compress with gzip',
        ],
        'backup_db_encrypt' => [
            'type' => 'bool',
            'group' => 'backups',
            'is_public' => false,
            'default' => false,
            'description' => 'AES-256 Encryption',
        ],
        'backup_db_encrypt_key' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => '',
            'description' => 'Encryption Key (min 32 chars)',
        ],
        'backup_db_exclude' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => '',
            'description' => 'Excluded Tables (comma separated)',
        ],
        'backup_db_notify_on' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => 'failed',
            'description' => 'Notification Trigger (success/failed/both)',
        ],
        'backup_db_notify_to' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => '',
            'description' => 'Notification Target (Email/Webhook)',
        ],
        'gdrive_client_id' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => '',
            'description' => 'Google Drive Client ID',
        ],
        'gdrive_client_secret' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => '',
            'description' => 'Google Drive Client Secret',
        ],
        'gdrive_refresh_token' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => '',
            'description' => 'Google Drive Refresh Token',
        ],
        'gdrive_folder' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => 'LaravelBackups',
            'description' => 'Google Drive Folder Name',
        ],
        's3_key' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => '',
            'description' => 'S3 Access Key',
        ],
        's3_secret' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => '',
            'description' => 'S3 Secret Key',
        ],
        's3_region' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => 'us-east-1',
            'description' => 'S3 Region',
        ],
        's3_bucket' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => '',
            'description' => 'S3 Bucket Name',
        ],
        's3_endpoint' => [
            'type' => 'string',
            'group' => 'backups',
            'is_public' => false,
            'default' => '',
            'description' => 'S3 Custom Endpoint (Optional)',
        ],

        // MAINTENANCE MODE
        'maintenance_mode_enabled' => [
            'type' => 'bool',
            'group' => 'maintenance',
            'is_public' => false,
            'default' => false,
            'description' => 'Enable maintenance mode',
        ],
        'maintenance_mode_message' => [
            'type' => 'string',
            'group' => 'maintenance',
            'is_public' => true,
            'default' => 'The system is undergoing routine optimization to improve service. We will be back online shortly.',
            'description' => 'Maintenance message',
        ],
        'maintenance_mode_title' => [
            'type' => 'string',
            'group' => 'maintenance',
            'is_public' => true,
            'default' => 'Scheduled System Maintenance',
            'description' => 'Maintenance page title',
        ],
        'maintenance_mode_secret' => [
            'type' => 'string',
            'group' => 'maintenance',
            'is_public' => false,
            'default' => '',
            'description' => 'Bypass secret key',
        ],
        'maintenance_mode_allowed_ips' => [
            'type' => 'string',
            'group' => 'maintenance',
            'is_public' => false,
            'default' => '',
            'description' => 'Whitelisted IP addresses',
        ],
        'maintenance_mode_end_at' => [
            'type' => 'string',
            'group' => 'maintenance',
            'is_public' => true,
            'default' => '',
            'description' => 'Estimated end time',
        ],
        'maintenance_mode_retry' => [
            'type' => 'int',
            'group' => 'maintenance',
            'is_public' => false,
            'default' => 3600,
            'description' => 'Retry-After seconds',
        ],
        'maintenance_mode_image' => [
            'type' => 'image_path',
            'group' => 'maintenance',
            'is_public' => true,
            'default' => null,
            'description' => 'Maintenance illustration image',
        ],

        // CONTENT & LEGAL (UU PDP COMPLIANCE)
        'page_help_content' => [
            'type' => 'text',
            'group' => 'content_legal',
            'is_public' => true,
            'default' => '',
            'description' => 'Help Center / FAQ Content',
        ],
        'page_tos_content' => [
            'type' => 'text',
            'group' => 'content_legal',
            'is_public' => true,
            'default' => '',
            'description' => 'Terms of Use Content',
        ],
        'page_privacy_content' => [
            'type' => 'text',
            'group' => 'content_legal',
            'is_public' => true,
            'default' => '',
            'description' => 'Privacy Policy (UU PDP) Content',
        ],
        'page_about_content' => [
            'type' => 'text',
            'group' => 'content_legal',
            'is_public' => true,
            'default' => '',
            'description' => 'About Us Content',
        ],
        'page_security_content' => [
            'type' => 'text',
            'group' => 'content_legal',
            'is_public' => true,
            'default' => '',
            'description' => 'Security Policy Content',
        ],
        'require_pdp_on_registration' => [
            'type' => 'bool',
            'group' => 'content_legal',
            'is_public' => false,
            'default' => true,
            'description' => 'Make PDP agreement mandatory during sign-up',
        ],
        'feature_cookie_banner' => [
            'type' => 'bool',
            'group' => 'content_legal',
            'is_public' => true,
            'default' => true,
            'description' => 'Enable Cookie Consent Banner',
        ],
        'pdp_document_version' => [
            'type' => 'int',
            'group' => 'content_legal',
            'is_public' => true,
            'default' => 1,
            'description' => 'Current version of legal documents (increment to force re-agreement)',
        ],
        'tos_document_version' => [
            'type' => 'int',
            'group' => 'content_legal',
            'is_public' => true,
            'default' => 1,
            'description' => 'Current version of Terms of Service',
        ],

        'pdp_dpo_email' => [
            'type' => 'string',
            'group' => 'content_legal',
            'is_public' => true,
            'default' => '',
            'description' => 'Contact email for Data Protection Officer (PDP)',
        ],
        'pdp_company_address' => [
            'type' => 'string',
            'group' => 'content_legal',
            'is_public' => true,
            'default' => '',
            'description' => 'Official company address for legal documentation',
        ],

        // AI CONFIGURATION
        'ai_enabled' => [
            'type' => 'bool',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => false,
            'description' => 'Enable AI services',
        ],
        'ai_provider' => [
            'type' => 'string',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => 'gpt',
            'description' => 'Active AI provider',
        ],
        'ai_gpt_key' => [
            'type' => 'string',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => '',
            'description' => 'OpenAI GPT API Key',
        ],
        'ai_gemini_key' => [
            'type' => 'string',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => '',
            'description' => 'Google Gemini API Key',
        ],
        'ai_claude_key' => [
            'type' => 'string',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => '',
            'description' => 'Anthropic Claude API Key',
        ],
        'ai_deepseek_key' => [
            'type' => 'string',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => '',
            'description' => 'DeepSeek API Key',
        ],
        'ai_grok_key' => [
            'type' => 'string',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => '',
            'description' => 'xAI Grok API Key',
        ],
        'ai_mistral_key' => [
            'type' => 'string',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => '',
            'description' => 'Mistral AI API Key',
        ],
        'ai_openrouter_key' => [
            'type' => 'string',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => '',
            'description' => 'OpenRouter API Key',
        ],
        'ai_ollama_base_url' => [
            'type' => 'string',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => 'http://localhost:11434',
            'description' => 'Ollama Base URL',
        ],
        'ai_default_model' => [
            'type' => 'string',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => 'gpt-4o',
            'description' => 'Default AI model',
        ],
        'ai_system_instruction' => [
            'type' => 'text',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => '',
            'description' => 'Default system instruction',
        ],
        'ai_temperature' => [
            'type' => 'float',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => 0.7,
            'description' => 'AI temperature',
        ],
        'ai_max_tokens' => [
            'type' => 'int',
            'group' => 'ai_config',
            'is_public' => false,
            'default' => 2000,
            'description' => 'AI max tokens',
        ],

        // SAP RFC Configuration
        'sap_rfc_ashost' => [
            'type' => 'string',
            'group' => 'sap_integration',
            'is_public' => false,
            'default' => '',
            'description' => 'SAP Application Server Host',
        ],
        'sap_rfc_sysnr' => [
            'type' => 'string',
            'group' => 'sap_integration',
            'is_public' => false,
            'default' => '00',
            'description' => 'SAP System Number',
        ],
        'sap_rfc_client' => [
            'type' => 'string',
            'group' => 'sap_integration',
            'is_public' => false,
            'default' => '100',
            'description' => 'SAP Client Number',
        ],
        'sap_rfc_user' => [
            'type' => 'string',
            'group' => 'sap_integration',
            'is_public' => false,
            'default' => '',
            'description' => 'SAP Username',
        ],
        'sap_rfc_passwd' => [
            'type' => 'string',
            'group' => 'sap_integration',
            'is_public' => false,
            'default' => '',
            'description' => 'SAP Password',
        ],
        'sap_rfc_router' => [
            'type' => 'string',
            'group' => 'sap_integration',
            'is_public' => false,
            'default' => '',
            'description' => 'SAP Router string (optional)',
        ],
        'sap_rfc_trace' => [
            'type' => 'string',
            'group' => 'sap_integration',
            'is_public' => false,
            'default' => '0',
            'description' => 'SAP RFC Trace Level',
        ],

        // MONITORING ENGINE
        'engine_pulse_enabled' => [
            'type' => 'bool',
            'group' => 'monitoring',
            'is_public' => false,
            'default' => true,
            'description' => 'Enable Laravel Pulse recording and dashboard',
        ],
        'engine_telescope_enabled' => [
            'type' => 'bool',
            'group' => 'monitoring',
            'is_public' => false,
            'default' => true,
            'description' => 'Enable Laravel Telescope recording and dashboard',
        ],
        'engine_swagger_enabled' => [
            'type' => 'bool',
            'group' => 'monitoring',
            'is_public' => false,
            'default' => true,
            'description' => 'Enable API Documentation (L5-Swagger)',
        ],
        'engine_horizon_enabled' => [
            'type' => 'bool',
            'group' => 'monitoring',
            'is_public' => false,
            'default' => true,
            'description' => 'Enable Laravel Horizon (Redis Queue Monitor)',
        ],

        // AI HEALING ENGINE
        'ai_healing_enabled' => [
            'type' => 'bool',
            'group' => 'ai_healing',
            'is_public' => false,
            'default' => false,
            'description' => 'Enable AI Self-Healing Engine (Intercept & Fix Exceptions)',
        ],
        'ai_healing_allow_cache' => [
            'type' => 'bool',
            'group' => 'ai_healing',
            'is_public' => false,
            'default' => true,
            'description' => 'Allow AI to clear cache',
        ],
        'ai_healing_allow_queue' => [
            'type' => 'bool',
            'group' => 'ai_healing',
            'is_public' => false,
            'default' => true,
            'description' => 'Allow AI to restart queue workers',
        ],
        'ai_healing_allow_maintenance' => [
            'type' => 'bool',
            'group' => 'ai_healing',
            'is_public' => false,
            'default' => false,
            'description' => 'Allow AI to toggle maintenance mode',
        ],
        'ai_healing_allow_db' => [
            'type' => 'bool',
            'group' => 'ai_healing',
            'is_public' => false,
            'default' => false,
            'description' => 'Allow AI to run migrations (Caution)',
        ],
        'ai_healing_max_attempts_per_hour' => [
            'type' => 'int',
            'group' => 'ai_healing',
            'is_public' => false,
            'default' => 5,
            'description' => 'Maximum auto-fix attempts per hour (Circuit Breaker)',
        ],
    ];
}
