File size: 6,558 Bytes
6aaa586
 
61affc1
 
6aaa586
 
 
a12a53c
6aaa586
61affc1
 
a12a53c
61affc1
2814bc0
 
 
a12a53c
2814bc0
 
 
a12a53c
 
2814bc0
a12a53c
2814bc0
 
 
61affc1
a12a53c
61affc1
 
2814bc0
 
61affc1
a12a53c
 
61affc1
 
 
 
 
 
 
 
 
 
 
 
6aaa586
 
61affc1
8f48279
 
 
 
 
 
 
 
 
 
 
a12a53c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6aaa586
 
61affc1
a12a53c
 
 
 
61affc1
 
 
8f48279
a12a53c
6aaa586
 
a12a53c
8f48279
6aaa586
 
5d00ccd
d8a4e30
 
a12a53c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8f48279
61affc1
 
 
a12a53c
 
 
61affc1
 
a12a53c
 
 
 
 
61affc1
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
import os
from dotenv import load_dotenv
import random
import string

load_dotenv()

# Base URL and API Endpoint
BASE_URL = "https://www.blackbox.ai"
API_ENDPOINT = "https://www.blackbox.ai/api/chat"

# Common Headers
COMMON_HEADERS = {
    'accept': '*/*',
    'accept-language': 'en-US,en;q=0.9',
    'cache-control': 'no-cache',
    'content-type': 'application/json',
    'origin': BASE_URL,
    'pragma': 'no-cache',
    'priority': 'u=1, i',
    'referer': f'{BASE_URL}/',
    'sec-ch-ua': '"Not?A_Brand";v="99", "Chromium";v="130"',
    '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/130.0.0.0 Safari/537.36'
    ),
}

# Header Configurations for Specific API Calls
def get_headers_api_chat():
    return COMMON_HEADERS.copy()

def get_headers_chat(chat_url, next_action, next_router_state_tree):
    return {
        **COMMON_HEADERS,
        'Accept': 'text/x-component',
        'Content-Type': 'text/plain;charset=UTF-8',
        'Referer': chat_url,
        'next-action': next_action,
        'next-router-state-tree': next_router_state_tree,
        'next-url': '/',
    }

APP_SECRET = os.getenv("APP_SECRET")

# Model Configurations
ALLOWED_MODELS = [
    {"id": "blackboxai", "name": "blackboxai"},
    {"id": "blackboxai-pro", "name": "blackboxai-pro"},
    {"id": "flux", "name": "flux"},
    {"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-405"},
    {"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": "Python Agent", "name": "Python Agent"},
    {"id": "Java Agent", "name": "Java Agent"},
    {"id": "JavaScript Agent", "name": "JavaScript Agent"},
    {"id": "HTML Agent", "name": "HTML Agent"},
    {"id": "Google Cloud Agent", "name": "Google Cloud Agent"},
    {"id": "Android Developer", "name": "Android Developer"},
    {"id": "Swift Developer", "name": "Swift Developer"},
    {"id": "Next.js Agent", "name": "Next.js Agent"},
    {"id": "MongoDB Agent", "name": "MongoDB Agent"},
    {"id": "PyTorch Agent", "name": "PyTorch Agent"},
    {"id": "React Agent", "name": "React Agent"},
    {"id": "Xcode Agent", "name": "Xcode Agent"},
    {"id": "AngularJS Agent", "name": "AngularJS Agent"},
    {"id": "repomap", "name": "repomap"},
    {"id": "Heroku Agent", "name": "Heroku Agent"},
    {"id": "Godot Agent", "name": "Godot Agent"},
    {"id": "Go Agent", "name": "Go Agent"},
    {"id": "Gitlab Agent", "name": "Gitlab Agent"},
    {"id": "Git Agent", "name": "Git Agent"},
    {"id": "Flask Agent", "name": "Flask Agent"},
    {"id": "Firebase Agent", "name": "Firebase Agent"},
    {"id": "FastAPI Agent", "name": "FastAPI Agent"},
    {"id": "Erlang Agent", "name": "Erlang Agent"},
    {"id": "Electron Agent", "name": "Electron Agent"},
    {"id": "Docker Agent", "name": "Docker Agent"},
    {"id": "DigitalOcean Agent", "name": "DigitalOcean Agent"},
    {"id": "Bitbucket Agent", "name": "Bitbucket Agent"},
    {"id": "Azure Agent", "name": "Azure Agent"},
    {"id": "Flutter Agent", "name": "Flutter Agent"},
    {"id": "Youtube Agent", "name": "Youtube Agent"},
    {"id": "builder Agent", "name": "builder Agent"},
]

# Model Aliases
MODEL_ALIASES = {
    "gemini-flash": "gemini-1.5-flash",
    "claude-3.5-sonnet": "claude-sonnet-3.5",
    "flux": "Image Generation",
}

# Agent Modes
AGENT_MODE = {
    'Image Generation': {'mode': True, 'id': "ImageGenerationLV45LJp", 'name': "Image Generation"},
}

# Trending Agent Modes
TRENDING_AGENT_MODE = {
    "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-405"},
    'blackboxai-pro': {'mode': True, 'id': "BLACKBOXAI-PRO"},
    'Python Agent': {'mode': True, 'id': "Python Agent"},
    'Java Agent': {'mode': True, 'id': "Java Agent"},
    'JavaScript Agent': {'mode': True, 'id': "JavaScript Agent"},
    'HTML Agent': {'mode': True, 'id': "HTML Agent"},
    'Google Cloud Agent': {'mode': True, 'id': "Google Cloud Agent"},
    'Android Developer': {'mode': True, 'id': "Android Developer"},
    'Swift Developer': {'mode': True, 'id': "Swift Developer"},
    'Next.js Agent': {'mode': True, 'id': "Next.js Agent"},
    'MongoDB Agent': {'mode': True, 'id': "MongoDB Agent"},
    'PyTorch Agent': {'mode': True, 'id': "PyTorch Agent"},
    'React Agent': {'mode': True, 'id': "React Agent"},
    'Xcode Agent': {'mode': True, 'id': "Xcode Agent"},
    'AngularJS Agent': {'mode': True, 'id': "AngularJS Agent"},
    'repomap': {'mode': True, 'id': "repomap"},
    'Heroku Agent': {'mode': True, 'id': "Heroku Agent"},
    'Godot Agent': {'mode': True, 'id': "Godot Agent"},
    'Go Agent': {'mode': True, 'id': "Go Agent"},
    'Gitlab Agent': {'mode': True, 'id': "Gitlab Agent"},
    'Git Agent': {'mode': True, 'id': "Git Agent"},
    'Flask Agent': {'mode': True, 'id': "Flask Agent"},
    'Firebase Agent': {'mode': True, 'id': "Firebase Agent"},
    'FastAPI Agent': {'mode': True, 'id': "FastAPI Agent"},
    'Erlang Agent': {'mode': True, 'id': "Erlang Agent"},
    'Electron Agent': {'mode': True, 'id': "Electron Agent"},
    'Docker Agent': {'mode': True, 'id': "Docker Agent"},
    'DigitalOcean Agent': {'mode': True, 'id': "DigitalOcean Agent"},
    'Bitbucket Agent': {'mode': True, 'id': "Bitbucket Agent"},
    'Azure Agent': {'mode': True, 'id': "Azure Agent"},
    'Flutter Agent': {'mode': True, 'id': "Flutter Agent"},
    'Youtube Agent': {'mode': True, 'id': "Youtube Agent"},
    'builder Agent': {'mode': True, 'id': "builder Agent"},
}

# Model Prefixes
MODEL_PREFIXES = {
    mode: f"@{details['id']}" 
    for mode, details in TRENDING_AGENT_MODE.items()
    if mode not in ["gemini-1.5-flash", "llama-3.1-8b", "llama-3.1-70b", "llama-3.1-405b", "repomap"]
}

# Consolidate all models
MODELS = [model["id"] for model in ALLOWED_MODELS]

# Remove MODEL_REFERERS as per your request

# Generate a random ID
def generate_id(length=7):
    characters = string.ascii_letters + string.digits
    return ''.join(random.choice(characters) for _ in range(length))