forked from Rockachopa/Timmy-time-dashboard
fix: dashboard bugs and clean up build artifacts (#145)
* chore: stop tracking runtime-generated self-modify reports These 65 files in data/self_modify_reports/ are auto-generated at runtime and already listed in .gitignore. Tracking them caused conflicts when pulling from main. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: resolve 8 dashboard bugs from Round 4 testing report - Fix Ollama timeout regression: request_timeout → timeout (agno API) - Add Bootstrap JS to base.html (fixes creative UI tab switching) - Send initial_state on Swarm Live WebSocket connect - Add /api/queue/status endpoint (stops 404 log spam from chat panel) - Populate agent tools from registry on /tools page - Add notification bell dropdown with /api/notifications endpoint - All 1157 tests pass Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Trip T <trip@local> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
committed by
GitHub
parent
e36a1dc939
commit
248af9ed03
@@ -3,6 +3,8 @@
|
||||
Shows available tools and usage statistics.
|
||||
"""
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
from fastapi import APIRouter, Request
|
||||
from fastapi.responses import HTMLResponse, JSONResponse
|
||||
|
||||
@@ -11,16 +13,32 @@ from dashboard.templating import templates
|
||||
|
||||
router = APIRouter(tags=["tools"])
|
||||
|
||||
_AgentView = namedtuple("AgentView", ["name", "status", "tools", "stats"])
|
||||
_ToolView = namedtuple("ToolView", ["name", "description"])
|
||||
_Stats = namedtuple("Stats", ["total_calls"])
|
||||
|
||||
|
||||
def _build_agent_tools():
|
||||
"""Build agent capability list from the available tools registry."""
|
||||
available = get_all_available_tools()
|
||||
if not available:
|
||||
return []
|
||||
|
||||
tool_views = [
|
||||
_ToolView(name=name, description=getattr(fn, "__doc__", "") or name)
|
||||
for name, fn in available.items()
|
||||
]
|
||||
|
||||
return [
|
||||
_AgentView(name="Timmy", status="idle", tools=tool_views, stats=_Stats(total_calls=0))
|
||||
]
|
||||
|
||||
|
||||
@router.get("/tools", response_class=HTMLResponse)
|
||||
async def tools_page(request: Request):
|
||||
"""Render the tools dashboard page."""
|
||||
available_tools = get_all_available_tools()
|
||||
|
||||
# Build agent tools list from the available tools
|
||||
agent_tools = []
|
||||
|
||||
# Calculate total calls (placeholder — would come from brain memory)
|
||||
agent_tools = _build_agent_tools()
|
||||
total_calls = 0
|
||||
|
||||
return templates.TemplateResponse(
|
||||
|
||||
Reference in New Issue
Block a user