#!/usr/bin/env bash
set -Eeuo pipefail

echo "=== Fáze 4: Skutečné code execution v webapp ==="

cd ~/CyberBrain26

# Záloha
cp webapp.py webapp.py.bak3

# Přepsat /execute endpoint
python3 <<'PYEOF'
with open("webapp.py", "r") as f:
    content = f.read()

# Najít a nahradit execute_code funkci
old_execute = '''@app.post("/execute")
async def execute_code(request: ChatRequest):
    """Execute code via safe-oi runner."""
    try:
        # Zde by byla integrace s interpreter
        # Pro MVP vracíme placeholder
        return {
            "response": "Code execution MVP - přijde v další iteraci",
            "model": request.model,
            "memory_used": False
        }
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))'''

new_execute = '''@app.post("/execute")
async def execute_code(request: ChatRequest):
    """Execute code via Open Interpreter."""
    try:
        from interpreter import interpreter
        import os
        
        # Konfigurace interpreter
        interpreter.llm.model = f"openai/{request.model}"
        interpreter.llm.api_base = os.environ.get("CB26_PROXY_URL", "http://127.0.0.1:4000") + "/v1"
        interpreter.llm.api_key = os.environ.get("LITELLM_MASTER_KEY", "sk-cb26-local")
        interpreter.llm.provider = "openai"
        interpreter.auto_run = False
        interpreter.loop = False
        interpreter.force_final_answer = True
        
        # Spustit chat
        response_chunks = []
        for chunk in interpreter.chat(request.message, stream=True):
            if chunk.get("type") == "message":
                response_chunks.append(chunk.get("content", ""))
        
        return {
            "response": "".join(response_chunks),
            "model": request.model,
            "memory_used": False
        }
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))'''

content = content.replace(old_execute, new_execute)

with open("webapp.py", "w") as f:
    f.write(content)

print("✅ /execute endpoint napojen na interpreter")
PYEOF

# Restartuj webapp
pkill -f 'python3 webapp.py' || true
sleep 2

cd ~/CyberBrain26
source venv-litellm/bin/activate
set -a
. ./.env
set +a

nohup python3 webapp.py > /tmp/cb26-webapp.log 2>&1 &
sleep 4

# Ověř
curl -fsS http://127.0.0.1:8080/health
echo ""
echo "✅ Restartováno. Otestuj terminál: http://localhost:8080/terminal"
