From 57c747fad211e1ca3093cb4a97b17feb35dc662d Mon Sep 17 00:00:00 2001 From: benjdlambert Date: Tue, 17 Jun 2025 10:36:22 +0200 Subject: [PATCH] chore: code review comments Signed-off-by: benjdlambert --- .../mcp-actions-backend/src/routers/createSseRouter.ts | 8 +++++++- .../mcp-actions-backend/src/services/McpService.test.ts | 2 +- plugins/mcp-actions-backend/src/services/McpService.ts | 3 ++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/plugins/mcp-actions-backend/src/routers/createSseRouter.ts b/plugins/mcp-actions-backend/src/routers/createSseRouter.ts index 64aa363416..aae9407256 100644 --- a/plugins/mcp-actions-backend/src/routers/createSseRouter.ts +++ b/plugins/mcp-actions-backend/src/routers/createSseRouter.ts @@ -53,11 +53,17 @@ export const createSseRouter = ({ router.post('/messages', async (req, res) => { const sessionId = req.query.sessionId as string; + + if (!sessionId) { + res.status(400).send('sessionId is required'); + return; + } + const transport = transportsToSessionId.get(sessionId); if (transport) { await transport.handlePostMessage(req, res, req.body); } else { - res.status(400).send('No transport found for sessionId'); + res.status(400).send(`No transport found for sessionId "${sessionId}"`); } }); return router; diff --git a/plugins/mcp-actions-backend/src/services/McpService.test.ts b/plugins/mcp-actions-backend/src/services/McpService.test.ts index 6478bb4f29..052d981a46 100644 --- a/plugins/mcp-actions-backend/src/services/McpService.test.ts +++ b/plugins/mcp-actions-backend/src/services/McpService.test.ts @@ -188,6 +188,6 @@ describe('McpService', () => { }, CallToolResultSchema, ), - ).rejects.toThrow('Action mock-action not found'); + ).rejects.toThrow('Action "mock-action" not found'); }); }); diff --git a/plugins/mcp-actions-backend/src/services/McpService.ts b/plugins/mcp-actions-backend/src/services/McpService.ts index a99842fe3a..ce31aa62bb 100644 --- a/plugins/mcp-actions-backend/src/services/McpService.ts +++ b/plugins/mcp-actions-backend/src/services/McpService.ts @@ -22,6 +22,7 @@ import { import { JsonObject } from '@backstage/types'; import { ActionsService } from '@backstage/backend-plugin-api/alpha'; import { version } from '@backstage/plugin-mcp-actions-backend/package.json'; +import { NotFoundError } from '@backstage/errors'; export class McpService { constructor(private readonly actions: ActionsService) {} @@ -65,7 +66,7 @@ export class McpService { const action = actions.find(a => a.name === params.name); if (!action) { - throw new Error(`Action ${params.name} not found`); + throw new NotFoundError(`Action "${params.name}" not found`); } const { output } = await this.actions.invoke({