Spaces:
Running
Running
Update app/app.py
Browse files- app/app.py +13 -0
app/app.py
CHANGED
|
@@ -84,12 +84,25 @@ async def api_endpoint():
|
|
| 84 |
tool_name = data.get("tool")
|
| 85 |
params = data.get("params", {})
|
| 86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 87 |
# rename 'provider' → 'provider_name' for tools.run()
|
| 88 |
if "provider" in params:
|
| 89 |
params["provider_name"] = params.pop("provider")
|
| 90 |
|
| 91 |
result = await tools.run(tool_name, **params)
|
| 92 |
return jsonify({"result": result})
|
|
|
|
| 93 |
except Exception as e:
|
| 94 |
logger.error(f"API error: {e}")
|
| 95 |
return jsonify({"error": str(e)}), 500
|
|
|
|
| 84 |
tool_name = data.get("tool")
|
| 85 |
params = data.get("params", {})
|
| 86 |
|
| 87 |
+
# System tools — handle directly, no prompt needed!
|
| 88 |
+
if tool_name == "list_active_tools":
|
| 89 |
+
return jsonify({"result": {
|
| 90 |
+
"active_tools": tools.list_all(),
|
| 91 |
+
"active_llm_providers": providers.list_active_llm(),
|
| 92 |
+
"active_search_providers": providers.list_active_search(),
|
| 93 |
+
"available_models": models.list_all(),
|
| 94 |
+
}})
|
| 95 |
+
|
| 96 |
+
if tool_name == "health_check":
|
| 97 |
+
return jsonify({"result": {"status": "ok"}})
|
| 98 |
+
|
| 99 |
# rename 'provider' → 'provider_name' for tools.run()
|
| 100 |
if "provider" in params:
|
| 101 |
params["provider_name"] = params.pop("provider")
|
| 102 |
|
| 103 |
result = await tools.run(tool_name, **params)
|
| 104 |
return jsonify({"result": result})
|
| 105 |
+
|
| 106 |
except Exception as e:
|
| 107 |
logger.error(f"API error: {e}")
|
| 108 |
return jsonify({"error": str(e)}), 500
|