{"repo": "ashkarpallachiyil13-ctrl/project-vin", "files": {"app.py": {"ab4880d102fbb6371628396aa0217789818d2956": {"t": 1785674370.1217754, "n": 2704, "h": "8d640743fbed9259", "c": "import os\nimport requests\nimport traceback\n\nfrom flask import Flask, render_template, request, jsonify\n\napp = Flask(__name__)\n\n# =========================\n# OPENROUTER API KEY\n# =========================\n\nOPENROUTER_API_KEY = os.getenv(\"OPENROUTER_API_KEY\")\n\nif not OPENROUTER_API_KEY:\n print(\"WARNING: OPENROUTER_API_KEY is not set!\")\n\n# =========================\n# HOME ROUTE\n# =========================\n\n@app.route(\"/\")\ndef home():\n return render_template(\"index.html\")\n\n# =========================\n# CHAT API\n# =========================\n\n@app.route(\"/chat\", methods=[\"POST\"])\ndef chat():\n\n try:\n data = request.get_json() or {}\n\n print(\"📩 RAW DATA:\", data)\n\n user_message = data.get(\"message\", \"\").strip()\n history = data.get(\"history\", [])\n\n print(\"💬 MESSAGE:\", user_message)\n print(\"🧠 HISTORY:\", history)\n\n if not user_message:\n return jsonify({\"reply\": \"Empty message\"}), 400\n\n # Build safe messages\n messages = [{\n \"role\": \"user\",\n \"content\": user_message\n }]\n\n print(\"🚀 SENDING:\", messages)\n\n response = requests.post(\n \"https://openrouter.ai/api/v1/chat/completions\",\n headers={\n \"Authorization\": f\"Bearer {OPENROUTER_API_KEY}\",\n \"Content-Type\": \"application/json\",\n \"HTTP-Referer\": \"http://localhost:5000\",\n \"X-Title\": \"Project Vin\"\n },\n json={\n \"model\": \"openai/gpt-4o-mini\",\n \"messages\": messages\n },\n timeout=30\n )\n\n print(\"📡 STATUS:\", response.status_code)\n print(\"📡 RESPONSE:\", response.text)\n\n response.raise_for_status()\n\n result = response.json()\n reply = result[\"choices\"][0][\"message\"][\"content\"]\n\n return jsonify({\"reply\": reply})\n\n except requests.exceptions.HTTPError as e:\n print(\"🔥 HTTP ERROR:\", e)\n try:\n print(\"RAW:\", response.text)\n except:\n pass\n\n return jsonify({\n \"reply\": \"OpenRouter HTTP error\"\n }), 500\n\n except Exception as e:\n print(\"🔥 FULL ERROR TRACE:\")\n traceback.print_exc()\n\n return jsonify({\n \"reply\": f\"SERVER ERROR: {str(e)}\"\n }), 500\n\n# =========================\n# HEALTH CHECK\n# =========================\n\n@app.route(\"/health\")\ndef health():\n return jsonify({\"status\": \"ARGUS Online\"})\n\n# =========================\n# RUN SERVER\n# =========================\n\nif __name__ == \"__main__\":\n port = int(os.environ.get(\"PORT\", 5000))\n\n app.run(\n host=\"0.0.0.0\",\n port=port,\n debug=True\n )"}}}}