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>
1 line
No EOL
5.3 KiB
Text
1 line
No EOL
5.3 KiB
Text
{"version":3,"file":"methodConfig.js","sources":["../../../../src/integrations/mcp-server/methodConfig.ts"],"sourcesContent":["/**\n * Method configuration and request processing for MCP server instrumentation\n */\n\nimport {\n MCP_PROMPT_NAME_ATTRIBUTE,\n MCP_REQUEST_ARGUMENT,\n MCP_RESOURCE_URI_ATTRIBUTE,\n MCP_TOOL_NAME_ATTRIBUTE,\n} from './attributes';\nimport type { MethodConfig } from './types';\n\n/**\n * Configuration for MCP methods to extract targets and arguments\n * @internal Maps method names to their extraction configuration\n */\nconst METHOD_CONFIGS: Record<string, MethodConfig> = {\n 'tools/call': {\n targetField: 'name',\n targetAttribute: MCP_TOOL_NAME_ATTRIBUTE,\n captureArguments: true,\n argumentsField: 'arguments',\n },\n 'resources/read': {\n targetField: 'uri',\n targetAttribute: MCP_RESOURCE_URI_ATTRIBUTE,\n captureUri: true,\n },\n 'resources/subscribe': {\n targetField: 'uri',\n targetAttribute: MCP_RESOURCE_URI_ATTRIBUTE,\n },\n 'resources/unsubscribe': {\n targetField: 'uri',\n targetAttribute: MCP_RESOURCE_URI_ATTRIBUTE,\n },\n 'prompts/get': {\n targetField: 'name',\n targetAttribute: MCP_PROMPT_NAME_ATTRIBUTE,\n captureName: true,\n captureArguments: true,\n argumentsField: 'arguments',\n },\n};\n\n/**\n * Extracts target info from method and params based on method type\n * @param method - MCP method name\n * @param params - Method parameters\n * @returns Target name and attributes for span instrumentation\n */\nexport function extractTargetInfo(\n method: string,\n params: Record<string, unknown>,\n): {\n target?: string;\n attributes: Record<string, string>;\n} {\n const config = METHOD_CONFIGS[method as keyof typeof METHOD_CONFIGS];\n if (!config) {\n return { attributes: {} };\n }\n\n const target =\n config.targetField && typeof params?.[config.targetField] === 'string'\n ? (params[config.targetField] as string)\n : undefined;\n\n return {\n target,\n attributes: target && config.targetAttribute ? { [config.targetAttribute]: target } : {},\n };\n}\n\n/**\n * Extracts request arguments based on method type\n * @param method - MCP method name\n * @param params - Method parameters\n * @returns Arguments as span attributes with mcp.request.argument prefix\n */\nexport function getRequestArguments(method: string, params: Record<string, unknown>): Record<string, string> {\n const args: Record<string, string> = {};\n const config = METHOD_CONFIGS[method as keyof typeof METHOD_CONFIGS];\n\n if (!config) {\n return args;\n }\n\n if (config.captureArguments && config.argumentsField && params?.[config.argumentsField]) {\n const argumentsObj = params[config.argumentsField];\n if (typeof argumentsObj === 'object' && argumentsObj !== null) {\n for (const [key, value] of Object.entries(argumentsObj as Record<string, unknown>)) {\n args[`${MCP_REQUEST_ARGUMENT}.${key.toLowerCase()}`] = JSON.stringify(value);\n }\n }\n }\n\n if (config.captureUri && params?.uri) {\n args[`${MCP_REQUEST_ARGUMENT}.uri`] = JSON.stringify(params.uri);\n }\n\n if (config.captureName && params?.name) {\n args[`${MCP_REQUEST_ARGUMENT}.name`] = JSON.stringify(params.name);\n }\n\n return args;\n}\n"],"names":[],"mappings":"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"} |