Rocky_Mountain_Vending/.pnpm-store/v10/files/6b/87916a0f8f560144aab61dae4310b391745886d285ef2ff1ed399a0f0abdf13b9cf857b94381ff5a593476362929495e7fa08dedba73ab14f916072c72a3aa
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

1 line
No EOL
7.1 KiB
Text

{"version":3,"file":"resultExtraction.js","sources":["../../../../src/integrations/mcp-server/resultExtraction.ts"],"sourcesContent":["/**\n * Result extraction functions for MCP server instrumentation\n *\n * Handles extraction of attributes from tool and prompt execution results.\n */\n\nimport {\n MCP_PROMPT_RESULT_DESCRIPTION_ATTRIBUTE,\n MCP_PROMPT_RESULT_MESSAGE_COUNT_ATTRIBUTE,\n MCP_TOOL_RESULT_CONTENT_COUNT_ATTRIBUTE,\n MCP_TOOL_RESULT_IS_ERROR_ATTRIBUTE,\n} from './attributes';\nimport { isValidContentItem } from './validation';\n\n/**\n * Build attributes for tool result content items\n * @param content - Array of content items from tool result\n * @returns Attributes extracted from each content item including type, text, mime type, URI, and resource info\n */\nfunction buildAllContentItemAttributes(content: unknown[]): Record<string, string | number | boolean> {\n const attributes: Record<string, string | number> = {\n [MCP_TOOL_RESULT_CONTENT_COUNT_ATTRIBUTE]: content.length,\n };\n\n for (const [i, item] of content.entries()) {\n if (!isValidContentItem(item)) {\n continue;\n }\n\n const prefix = content.length === 1 ? 'mcp.tool.result' : `mcp.tool.result.${i}`;\n\n const safeSet = (key: string, value: unknown): void => {\n if (typeof value === 'string') {\n attributes[`${prefix}.${key}`] = value;\n }\n };\n\n safeSet('content_type', item.type);\n safeSet('mime_type', item.mimeType);\n safeSet('uri', item.uri);\n safeSet('name', item.name);\n\n if (typeof item.text === 'string') {\n attributes[`${prefix}.content`] = item.text;\n }\n\n if (typeof item.data === 'string') {\n attributes[`${prefix}.data_size`] = item.data.length;\n }\n\n const resource = item.resource;\n if (isValidContentItem(resource)) {\n safeSet('resource_uri', resource.uri);\n safeSet('resource_mime_type', resource.mimeType);\n }\n }\n\n return attributes;\n}\n\n/**\n * Extract tool result attributes for span instrumentation\n * @param result - Tool execution result\n * @returns Attributes extracted from tool result content\n */\nexport function extractToolResultAttributes(result: unknown): Record<string, string | number | boolean> {\n if (!isValidContentItem(result)) {\n return {};\n }\n\n const attributes = Array.isArray(result.content) ? buildAllContentItemAttributes(result.content) : {};\n\n if (typeof result.isError === 'boolean') {\n attributes[MCP_TOOL_RESULT_IS_ERROR_ATTRIBUTE] = result.isError;\n }\n\n return attributes;\n}\n\n/**\n * Extract prompt result attributes for span instrumentation\n * @param result - Prompt execution result\n * @returns Attributes extracted from prompt result\n */\nexport function extractPromptResultAttributes(result: unknown): Record<string, string | number | boolean> {\n const attributes: Record<string, string | number | boolean> = {};\n if (!isValidContentItem(result)) {\n return attributes;\n }\n\n if (typeof result.description === 'string') {\n attributes[MCP_PROMPT_RESULT_DESCRIPTION_ATTRIBUTE] = result.description;\n }\n\n if (Array.isArray(result.messages)) {\n attributes[MCP_PROMPT_RESULT_MESSAGE_COUNT_ATTRIBUTE] = result.messages.length;\n\n const messages = result.messages;\n for (const [i, message] of messages.entries()) {\n if (!isValidContentItem(message)) {\n continue;\n }\n\n const prefix = messages.length === 1 ? 'mcp.prompt.result' : `mcp.prompt.result.${i}`;\n\n const safeSet = (key: string, value: unknown): void => {\n if (typeof value === 'string') {\n const attrName = messages.length === 1 ? `${prefix}.message_${key}` : `${prefix}.${key}`;\n attributes[attrName] = value;\n }\n };\n\n safeSet('role', message.role);\n\n if (isValidContentItem(message.content)) {\n const content = message.content;\n if (typeof content.text === 'string') {\n const attrName = messages.length === 1 ? `${prefix}.message_content` : `${prefix}.content`;\n attributes[attrName] = content.text;\n }\n }\n }\n }\n\n return attributes;\n}\n"],"names":[],"mappings":"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"}