{"repo": "cheikh-nakamoto/veillex", "files": {"lib/core/constants/app_constants.dart": {"6c4c79428f33da441edd39d8adfc7c5dae5735c6": {"t": 1785745914.1957436, "n": 1760, "h": "835b7cd83df2aba0", "c": "class AppConstants {\n AppConstants._();\n\n static const String appName = 'Veille Pro';\n static const String appVersion = '1.0.0';\n\n // Secure storage keys — clés API BYOK\n static const String keyDeepseekApiKey = 'deepseek_api_key';\n static const String keyClaudeApiKey = 'claude_api_key';\n static const String keySerperApiKey = 'serper_api_key';\n\n // Secure storage keys — config IA\n static const String keyAiAutoMode = 'ai_routing_mode';\n static const String keyAiPreferredProvider = 'ai_preferred_provider';\n static const String keyAiMonthlyBudgetFcfa = 'ai_monthly_budget_fcfa';\n static const String keyClaudeModel = 'claude_model';\n\n // Secure storage keys — sécurité app\n static const String keyPinHash = 'user_pin_hash';\n\n // Secure storage keys — préférences notifications\n static const String keyWeeklyDigestEnabled = 'notif_weekly_digest';\n static const String keyOpportunityAlertsEnabled = 'notif_opportunity_alerts';\n\n // Valeurs par défaut\n static const double defaultMonthlyBudgetFcfa = 50000.0;\n\n /// Flag de disponibilité du runtime d'inférence on-device.\n ///\n /// `true` depuis qu'on branche `flutter_gemma` pour Gemma 2 (2B int4).\n /// Sert de kill-switch : repasser à `false` désactive instantanément le\n /// routage vers le provider local et masque l'UI de download.\n static const bool kLocalEngineRuntimeAvailable = true;\n\n // Quotas Deep Research\n static const int dailyDeepResearchQuota = 3;\n\n // Assets\n static const String catalogAssetPath = 'assets/catalog/suppliers.json';\n\n // Timeouts réseau\n static const Duration connectTimeout = Duration(seconds: 30);\n static const Duration receiveTimeout = Duration(seconds: 120);\n static const Duration deepResearchTimeout = Duration(seconds: 300);\n}\n"}}}}