UNPKG

mcp-use

Version:

Opinionated MCP Framework for TypeScript (@modelcontextprotocol/sdk compatible) - Build MCP Agents, Clients and Servers with support for ChatGPT Apps, Code Mode, OAuth, Notifications, Sampling, Observability and more.

77 lines (74 loc) 1.99 kB
import { __name } from "./chunk-3GQAWCBQ.js"; // src/server/prompts/conversion.ts function isGetPromptResult(result) { return "messages" in result && Array.isArray(result.messages); } __name(isGetPromptResult, "isGetPromptResult"); function convertToolResultToPromptResult(result) { if (isGetPromptResult(result)) { return result; } const messages = []; if (result.content && result.content.length > 0) { for (const content of result.content) { if (content.type === "text") { const textContent = content; messages.push({ role: "user", content: { type: "text", text: textContent.text } }); } else if (content.type === "image") { const imageContent = content; messages.push({ role: "user", content: { type: "image", data: imageContent.data, mimeType: imageContent.mimeType || "image/png" } }); } else if (content.type === "resource") { const resourceContent = content; const resourceData = resourceContent.resource; const embeddedResource = { type: "resource", resource: { uri: resourceData.uri, mimeType: resourceData.mimeType } }; if (resourceData.text) { embeddedResource.resource.text = resourceData.text; } else if (resourceData.blob) { embeddedResource.resource.blob = resourceData.blob; } messages.push({ role: "user", content: embeddedResource }); } } } if (messages.length === 0) { messages.push({ role: "user", content: { type: "text", text: "" } }); } return { messages, description: result._meta?.description }; } __name(convertToolResultToPromptResult, "convertToolResultToPromptResult"); export { convertToolResultToPromptResult };