# Mission Barisal v3 - Environment
# Change these ports, the whole system follows

# Gateway Port (main entry point)
PORT=5000

# Base URL (switch between local/production here)
APP_URL=http://localhost:${PORT}

# -------------------------------------------------------------------
#  PROVIDER 1: OpenCode (Primary)
# -------------------------------------------------------------------
OPENCODE_BASE=https://new.worldbussnessearning.com/v1
OPENCODE_API_KEY=sk-LRJEOKUzbXYHHKXNXz4UqPSq4iGmM319yvayqfE8jqeulhNUx7rT7PyADFliUe4t

# -------------------------------------------------------------------
#  PROVIDER 2: WorldBusiness (Custom - Fallback #1)
# -------------------------------------------------------------------
CUSTOM_PROVIDER_1_NAME=WorldBusiness
CUSTOM_PROVIDER_1_URL=https://new.worldbussnessearning.com/v1
CUSTOM_PROVIDER_1_KEY=sk-AHBMregbwKnZ7zQS966w8j7EfjA64UpY0BGq62M96S4fMDfKH87eHGNuhaRwgRab
CUSTOM_PROVIDER_1_MODELS=deepseek-v4-flash-free,mimo-v2.5-free,north-mini-code-free,nemotron-3-ultra-free,big-pickle,zombiecoder-agent
CUSTOM_PROVIDER_1_PRIORITY=2
CUSTOM_PROVIDER_1_TYPE=openai

# -------------------------------------------------------------------
#  PROVIDER 3: m.skilltoearn (Custom - Fallback #2 / IP Rotation)
# -------------------------------------------------------------------
CUSTOM_PROVIDER_2_NAME=m.skilltoearn
CUSTOM_PROVIDER_2_URL=https://m.skilltoearn.org/v1
CUSTOM_PROVIDER_2_KEY=
CUSTOM_PROVIDER_2_MODELS=deepseek-v4-flash-free,mimo-v2.5-free,north-mini-code-free,nemotron-3-ultra-free,big-pickle,zombiecoder-agent
CUSTOM_PROVIDER_2_PRIORITY=3
CUSTOM_PROVIDER_2_TYPE=openai


# -------------------------------------------------------------------
#  PROVIDER 4: Groq (Secondary Fallback)
# -------------------------------------------------------------------
# Routes model names to their Groq equivalents.
# When OpenCode and custom providers fail, Groq serves as fallback.
# Priority: 3
GROQ_API_KEY=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
GROQ_BASE=https://api.groq.com/openai/v1 

# -------------------------------------------------------------------
#  PROVIDER 5: Gemini (Tertiary Fallback)
# -------------------------------------------------------------------
# Google's Gemini API. Not OpenAI-compatible — uses special Gemini handler.
# Priority: 4 (tried last)
GEMINI_API_KEY=AQ.Ab8RN6IdSbxue8GH8f9LUfw9gGUKZsR0MN9-9HuHDKoUzXKZVQ
GEMINI_BASE=https://generativelanguage.googleapis.com/v1beta 

# Shared Proxy Key
CUSTOM_PROXY_API_KEY=http://localhost:8080

# CORS
ALLOWED_ORIGINS=http://localhost:9999,http://localhost:5030,http://localhost:5040,http://127.0.0.1:5000,https://b.zombiecoder.my.id,https://*.zombiecoder.my.id



# --- Git Runtime Download URLs ---
GIT_PERSONAS_URL=https://raw.githubusercontent.com/SahonSrabon/mission-barisal/main/PERSONAS.md
GIT_SKILLS_URL=https://raw.githubusercontent.com/SahonSrabon/mission-barisal/main/acp-skills.json
GIT_INSTRUCTIONS_URL=https://raw.githubusercontent.com/SahonSrabon/mission-barisal/main/Ethical.md

# --- CORS Allowed Origins ---
CORS_ORIGINS=http://localhost:${PORT},http://127.0.0.1:5000

# --- Pusher (optional — real-time notifications) ---
PUSHER_APP_ID=2175347
PUSHER_KEY=3b44b18f8e65562e47a3
PUSHER_SECRET=9873a2648f1acbb28977

# --- Storage ---
CACHE_DIR=./cache
CACHE_TTL=86400000
CACHE_MAX_ENTRIES=1000
LOG_DIR=./logs

# --- Allowed MCP Directories ---
ALLOWED_DIRS=./logs,./data,.

# --- Anti-Dote Type Safety ---
ANTIDOTE_ENABLED=true

# --- Tool Context Cap: How many tool definitions an agent sees ---
# code-guru needs ~52+ tools (MCP + built-in). Default 120 = safe headroom.
MAX_TOOLS_CONTEXT=120
PUSHER_CLUSTER=ap2
