Spaces:
Runtime error
Runtime error
| import { NextResponse } from "next/server"; | |
| import { getTaskManager } from "@/lib/a2a/taskManager"; | |
| import { getSettings } from "@/lib/db/settings"; | |
| export async function GET() { | |
| try { | |
| const [settings, stats] = await Promise.all([ | |
| getSettings(), | |
| Promise.resolve(getTaskManager().getStats()), | |
| ]); | |
| const enabled = settings.a2aEnabled === true; | |
| let agentCard: any = null; | |
| if (enabled) { | |
| try { | |
| const agentModule = await import("@/app/.well-known/agent.json/route"); | |
| const cardResponse = await agentModule.GET(); | |
| agentCard = await cardResponse.json(); | |
| } catch { | |
| agentCard = null; | |
| } | |
| } | |
| return NextResponse.json({ | |
| status: enabled ? "ok" : "disabled", | |
| online: enabled, | |
| enabled, | |
| tasks: stats, | |
| agent: agentCard | |
| ? { | |
| name: agentCard.name, | |
| description: agentCard.description, | |
| version: agentCard.version, | |
| url: agentCard.url, | |
| } | |
| : null, | |
| capabilities: agentCard?.capabilities || null, | |
| skills: Array.isArray(agentCard?.skills) ? agentCard.skills : [], | |
| }); | |
| } catch (error) { | |
| const message = error instanceof Error ? error.message : "Failed to load A2A status"; | |
| return NextResponse.json({ error: message }, { status: 500 }); | |
| } | |
| } | |