ai_api / src /app /api /a2a /status /route.ts
Yogesh
initial deploy
cd8bd0a
Raw
History Blame Contribute Delete
1.34 kB
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 });
}
}