From 8d08320a08dc3129f5952e95fc19f2f0a259e7c3 Mon Sep 17 00:00:00 2001 From: Rajat Date: Sat, 17 Oct 2026 18:49:00 +0530 Subject: [PATCH] chore(openai): OpenAI submission fixes --- apps/api/src/mcp/tools/media.ts | 4 ++-- packages/integration-tests/src/mcp.ts | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/apps/api/src/mcp/tools/media.ts b/apps/api/src/mcp/tools/media.ts index 7515b345..db06a861 100644 --- a/apps/api/src/mcp/tools/media.ts +++ b/apps/api/src/mcp/tools/media.ts @@ -225,7 +225,7 @@ export function registerMediaTools(server: McpToolRegistrar): void { "seal_media", { description: - "Locks a media item to mark it for persistence. Once sealed, the item can no longer be modified.", + "Finalizes a temporary upload for retention, preventing automatic cleanup. Public uploads become publicly accessible. Already sealed items are returned unchanged.", inputSchema: { mediaId: z.string().describe("ID of the media item to seal"), }, @@ -233,7 +233,7 @@ export function registerMediaTools(server: McpToolRegistrar): void { annotations: { title: "Seal media", readOnlyHint: false, - destructiveHint: false, + destructiveHint: true, openWorldHint: true, }, }, diff --git a/packages/integration-tests/src/mcp.ts b/packages/integration-tests/src/mcp.ts index 6c46841e..26498d17 100644 --- a/packages/integration-tests/src/mcp.ts +++ b/packages/integration-tests/src/mcp.ts @@ -413,6 +413,20 @@ export async function runMcpIntegrationTests( ); log("PASS MCP initialize and complete tool inventory"); + const sealTool = object( + listedTools.tools.find( + (tool) => object(tool).name === "seal_media", + ), + "seal_media definition", + ); + const sealAnnotations = object( + sealTool.annotations, + "seal_media annotations", + ); + assert.equal(sealAnnotations.readOnlyHint, false); + assert.equal(sealAnnotations.destructiveHint, true); + assert.equal(sealAnnotations.openWorldHint, true); + const originalSettings = await getMediaSettings(); settingsToRestore = originalSettings; const changedSettings = { @@ -509,6 +523,10 @@ export async function runMcpIntegrationTests( const sealed = await client.callTool("seal_media", { mediaId }); assert.equal(sealed.mediaId, mediaId); + assert.equal(sealed.access, "private"); + const sealedAgain = await client.callTool("seal_media", { mediaId }); + assert.equal(sealedAgain.mediaId, mediaId); + assert.equal(sealedAgain.access, "private"); const retrieved = await client.callTool("get_media", { mediaId }); assert.equal(retrieved.mediaId, mediaId); assert.equal(retrieved.originalFileName, filename);