import os from dotenv import load_dotenv load_dotenv() BASE_URL = "https://www.blackbox.ai" headers = { 'accept': '*/*', 'accept-language': 'en-US,en;q=0.9', 'origin': 'https://www.blackbox.ai', 'cache-control': 'no-cache', 'pragma': 'no-cache', 'priority': 'u=1, i', 'sec-ch-ua': '"Chromium";v="129", "Not=A?Brand";v="8"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"Linux"', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) ' 'AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/129.0.0.0 Safari/537.36' } APP_SECRET = os.getenv("APP_SECRET") # Define all allowed models, including agent models ALLOWED_MODELS = [ {"id": "blackboxai", "name": "blackboxai"}, {"id": "blackboxai-pro", "name": "blackboxai-pro"}, {"id": "ImageGeneration", "name": "ImageGeneration"}, {"id": "llama-3.1-8b", "name": "llama-3.1-8b"}, {"id": "llama-3.1-70b", "name": "llama-3.1-70b"}, {"id": "llama-3.1-405b", "name": "llama-3.1-405b"}, {"id": "gpt-4o", "name": "gpt-4o"}, {"id": "gemini-pro", "name": "gemini-pro"}, {"id": "gemini-1.5-flash", "name": "gemini-1.5-flash"}, {"id": "claude-sonnet-3.5", "name": "claude-sonnet-3.5"}, {"id": "PythonAgent", "name": "PythonAgent"}, {"id": "JavaAgent", "name": "JavaAgent"}, {"id": "JavaScriptAgent", "name": "JavaScriptAgent"}, {"id": "HTMLAgent", "name": "HTMLAgent"}, {"id": "GoogleCloudAgent", "name": "GoogleCloudAgent"}, {"id": "AndroidDeveloper", "name": "AndroidDeveloper"}, {"id": "SwiftDeveloper", "name": "SwiftDeveloper"}, {"id": "Next.jsAgent", "name": "Next.jsAgent"}, {"id": "MongoDBAgent", "name": "MongoDBAgent"}, {"id": "PyTorchAgent", "name": "PyTorchAgent"}, {"id": "ReactAgent", "name": "ReactAgent"}, {"id": "XcodeAgent", "name": "XcodeAgent"}, {"id": "AngularJSAgent", "name": "AngularJSAgent"}, {"id": "RepoMap", "name": "RepoMap"}, {"id": "gemini-1.5-pro-latest", "name": "gemini-pro"}, {"id": "gemini-1.5-pro", "name": "gemini-1.5-pro"}, {"id": "claude-3-5-sonnet-20240620", "name": "claude-sonnet-3.5"}, {"id": "claude-3-5-sonnet", "name": "claude-sonnet-3.5"}, ] # Mapping of requested model names to actual API model identifiers MODEL_MAPPING = { "blackboxai": "blackboxai", "blackboxai-pro": "blackboxai-pro", "ImageGeneration": "ImageGeneration", "llama-3.1-8b": "llama-3.1-8b", "llama-3.1-70b": "llama-3.1-70b", "llama-3.1-405b": "llama-3.1-405b", "gpt-4o": "gpt-4o", "gemini-pro": "gemini-pro", "gemini-1.5-flash": "gemini-1.5-flash", "claude-sonnet-3.5": "claude-sonnet-3.5", "PythonAgent": "PythonAgent", "JavaAgent": "JavaAgent", "JavaScriptAgent": "JavaScriptAgent", "HTMLAgent": "HTMLAgent", "GoogleCloudAgent": "GoogleCloudAgent", "AndroidDeveloper": "AndroidDeveloper", "SwiftDeveloper": "SwiftDeveloper", "Next.jsAgent": "Next.jsAgent", "MongoDBAgent": "MongoDBAgent", "PyTorchAgent": "PyTorchAgent", "ReactAgent": "ReactAgent", "XcodeAgent": "XcodeAgent", "AngularJSAgent": "AngularJSAgent", "RepoMap": "RepoMap", # Additional mappings "gemini-flash": "gemini-1.5-flash", "claude-3.5-sonnet": "claude-sonnet-3.5", "flux": "ImageGeneration", "gemini-1.5-pro-latest": "gemini-pro", "gemini-1.5-pro": "gemini-1.5-pro", "claude-3-5-sonnet-20240620": "claude-sonnet-3.5", "claude-3-5-sonnet": "claude-sonnet-3.5", } # Agent modes configuration AGENT_MODE = { 'ImageGeneration': {'mode': True, 'id': "ImageGenerationLV45LJp", 'name': "Image Generation"}, } TRENDING_AGENT_MODE = { "blackboxai": {}, "gemini-1.5-flash": {'mode': True, 'id': 'Gemini'}, "llama-3.1-8b": {'mode': True, 'id': "llama-3.1-8b"}, 'llama-3.1-70b': {'mode': True, 'id': "llama-3.1-70b"}, 'llama-3.1-405b': {'mode': True, 'id': "llama-3.1-405b"}, 'blackboxai-pro': {'mode': True, 'id': "BLACKBOXAI-PRO"}, 'PythonAgent': {'mode': True, 'id': "Python Agent"}, 'JavaAgent': {'mode': True, 'id': "Java Agent"}, 'JavaScriptAgent': {'mode': True, 'id': "JavaScript Agent"}, 'HTMLAgent': {'mode': True, 'id': "HTML Agent"}, 'GoogleCloudAgent': {'mode': True, 'id': "Google Cloud Agent"}, 'AndroidDeveloper': {'mode': True, 'id': "Android Developer"}, 'SwiftDeveloper': {'mode': True, 'id': "Swift Developer"}, 'Next.jsAgent': {'mode': True, 'id': "Next.js Agent"}, 'MongoDBAgent': {'mode': True, 'id': "MongoDB Agent"}, 'PyTorchAgent': {'mode': True, 'id': "PyTorch Agent"}, 'ReactAgent': {'mode': True, 'id': "React Agent"}, 'XcodeAgent': {'mode': True, 'id': "Xcode Agent"}, 'AngularJSAgent': {'mode': True, 'id': "AngularJS Agent"}, 'RepoMap': {'mode': True, 'id': "repomap"}, } # User selected models mapping USER_SELECTED_MODEL = { "gpt-4o": "gpt-4o", "gemini-pro": "gemini-pro", 'claude-sonnet-3.5': "claude-sonnet-3.5", } # Model prefixes for prompt formatting MODEL_PREFIXES = { 'gpt-4o': '@GPT-4o', 'gemini-pro': '@Gemini-PRO', 'claude-sonnet-3.5': '@Claude-Sonnet-3.5', 'PythonAgent': '@Python Agent', 'JavaAgent': '@Java Agent', 'JavaScriptAgent': '@JavaScript Agent', 'HTMLAgent': '@HTML Agent', 'GoogleCloudAgent': '@Google Cloud Agent', 'AndroidDeveloper': '@Android Developer', 'SwiftDeveloper': '@Swift Developer', 'Next.jsAgent': '@Next.js Agent', 'MongoDBAgent': '@MongoDB Agent', 'PyTorchAgent': '@PyTorch Agent', 'ReactAgent': '@React Agent', 'XcodeAgent': '@Xcode Agent', 'AngularJSAgent': '@AngularJS Agent', 'blackboxai-pro': '@BLACKBOXAI-PRO', 'ImageGeneration': '@Image Generation', } # Model referers for API requests MODEL_REFERERS = { "blackboxai": "/?model=blackboxai", "gpt-4o": "/?model=gpt-4o", "gemini-pro": "/?model=gemini-pro", "claude-sonnet-3.5": "/?model=claude-sonnet-3.5" } # Model aliases for flexibility in model naming MODEL_ALIASES = { "gemini-flash": "gemini-1.5-flash", "claude-3.5-sonnet": "claude-sonnet-3.5", "flux": "ImageGeneration", "gemini-1.5-pro-latest": "gemini-pro", "gemini-1.5-pro": "gemini-1.5-pro", "claude-3-5-sonnet-20240620": "claude-sonnet-3.5", "claude-3-5-sonnet": "claude-sonnet-3.5", }