From c91decf543c54909116feed5946cb8d74e665e13 Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Wed, 27 May 2026 21:48:57 -0300 Subject: [PATCH] feat(a2a): register list-capabilities in A2A_SKILL_HANDLERS + Agent Card Adds "list-capabilities" entry to A2A_SKILL_HANDLERS in taskExecution.ts (dynamic import pattern, consistent with the 5 existing skills) and adds the 6th skill entry to /.well-known/agent.json with tags [discovery, capabilities] and example questions for agent discovery. --- src/app/.well-known/agent.json/route.ts | 9 +++++++++ src/lib/a2a/taskExecution.ts | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/src/app/.well-known/agent.json/route.ts b/src/app/.well-known/agent.json/route.ts index d0a9ba034c..e36ab63607 100644 --- a/src/app/.well-known/agent.json/route.ts +++ b/src/app/.well-known/agent.json/route.ts @@ -102,6 +102,15 @@ export async function GET() { "Summarize active rate limits and lockouts", ], }, + { + id: "list-capabilities", + name: "List Capabilities", + description: + "Returns the full catalog of 42 OmniRoute agent skills (22 API + 20 CLI) " + + "with raw URLs for the SKILL.md docs.", + tags: ["discovery", "capabilities"], + examples: ["What can you do?", "List your skills", "Show capabilities"], + }, ], authentication: { schemes: ["api-key"], diff --git a/src/lib/a2a/taskExecution.ts b/src/lib/a2a/taskExecution.ts index 39851955ac..421a36bb95 100644 --- a/src/lib/a2a/taskExecution.ts +++ b/src/lib/a2a/taskExecution.ts @@ -37,6 +37,10 @@ export const A2A_SKILL_HANDLERS: Record = { const skillModule = await import("./skills/healthReport"); return skillModule.executeHealthReport(task); }, + "list-capabilities": async (task) => { + const skillModule = await import("./skills/listCapabilities"); + return skillModule.executeListCapabilities(task); + }, }; export async function executeA2ATaskWithState(