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.2 KiB
Text
1 line
No EOL
5.2 KiB
Text
{"version":3,"sources":["../../../src/telemetry/events/mcp-telemetry.test.ts"],"sourcesContent":["/**\n * @jest-environment node\n */\n\nimport { eventMcpToolUsage, EVENT_MCP_TOOL_USAGE } from './build'\nimport type { McpToolName } from './build'\n\ndescribe('MCP Telemetry Events', () => {\n it('should generate correct telemetry events for single tool', () => {\n const usages = [\n {\n featureName: 'mcp/get_errors' as McpToolName,\n invocationCount: 5,\n },\n ]\n\n const events = eventMcpToolUsage(usages)\n\n expect(events).toHaveLength(1)\n expect(events[0]).toEqual({\n eventName: EVENT_MCP_TOOL_USAGE,\n payload: {\n toolName: 'mcp/get_errors',\n invocationCount: 5,\n },\n })\n })\n\n it('should generate correct telemetry events for multiple tools', () => {\n const usages = [\n {\n featureName: 'mcp/get_errors' as McpToolName,\n invocationCount: 3,\n },\n {\n featureName: 'mcp/get_logs' as McpToolName,\n invocationCount: 1,\n },\n {\n featureName: 'mcp/get_page_metadata' as McpToolName,\n invocationCount: 7,\n },\n ]\n\n const events = eventMcpToolUsage(usages)\n\n expect(events).toHaveLength(3)\n\n expect(events[0]).toEqual({\n eventName: EVENT_MCP_TOOL_USAGE,\n payload: {\n toolName: 'mcp/get_errors',\n invocationCount: 3,\n },\n })\n\n expect(events[1]).toEqual({\n eventName: EVENT_MCP_TOOL_USAGE,\n payload: {\n toolName: 'mcp/get_logs',\n invocationCount: 1,\n },\n })\n\n expect(events[2]).toEqual({\n eventName: EVENT_MCP_TOOL_USAGE,\n payload: {\n toolName: 'mcp/get_page_metadata',\n invocationCount: 7,\n },\n })\n })\n\n it('should handle all MCP tool types', () => {\n const allTools: McpToolName[] = [\n 'mcp/get_errors',\n 'mcp/get_logs',\n 'mcp/get_page_metadata',\n 'mcp/get_project_metadata',\n 'mcp/get_server_action_by_id',\n ]\n\n const usages = allTools.map((tool, index) => ({\n featureName: tool,\n invocationCount: index + 1,\n }))\n\n const events = eventMcpToolUsage(usages)\n\n expect(events).toHaveLength(5)\n\n events.forEach((event, index) => {\n expect(event.eventName).toBe(EVENT_MCP_TOOL_USAGE)\n expect(event.payload.toolName).toBe(allTools[index])\n expect(event.payload.invocationCount).toBe(index + 1)\n })\n })\n\n it('should handle empty usage array', () => {\n const events = eventMcpToolUsage([])\n expect(events).toEqual([])\n })\n\n it('should use correct event name constant', () => {\n expect(EVENT_MCP_TOOL_USAGE).toBe('NEXT_MCP_TOOL_USAGE')\n })\n\n it('should transform featureName to toolName in payload', () => {\n const usages = [\n {\n featureName: 'mcp/get_project_metadata' as McpToolName,\n invocationCount: 2,\n },\n ]\n\n const events = eventMcpToolUsage(usages)\n\n // Verify the input has 'featureName' but output has 'toolName'\n expect(usages[0]).toHaveProperty('featureName')\n expect(events[0].payload).toHaveProperty('toolName')\n expect(events[0].payload).not.toHaveProperty('featureName')\n })\n})\n"],"names":["describe","it","usages","featureName","invocationCount","events","eventMcpToolUsage","expect","toHaveLength","toEqual","eventName","EVENT_MCP_TOOL_USAGE","payload","toolName","allTools","map","tool","index","forEach","event","toBe","toHaveProperty","not"],"mappings":"AAAA;;CAEC;;;;uBAEuD;AAGxDA,SAAS,wBAAwB;IAC/BC,GAAG,4DAA4D;QAC7D,MAAMC,SAAS;YACb;gBACEC,aAAa;gBACbC,iBAAiB;YACnB;SACD;QAED,MAAMC,SAASC,IAAAA,wBAAiB,EAACJ;QAEjCK,OAAOF,QAAQG,YAAY,CAAC;QAC5BD,OAAOF,MAAM,CAAC,EAAE,EAAEI,OAAO,CAAC;YACxBC,WAAWC,2BAAoB;YAC/BC,SAAS;gBACPC,UAAU;gBACVT,iBAAiB;YACnB;QACF;IACF;IAEAH,GAAG,+DAA+D;QAChE,MAAMC,SAAS;YACb;gBACEC,aAAa;gBACbC,iBAAiB;YACnB;YACA;gBACED,aAAa;gBACbC,iBAAiB;YACnB;YACA;gBACED,aAAa;gBACbC,iBAAiB;YACnB;SACD;QAED,MAAMC,SAASC,IAAAA,wBAAiB,EAACJ;QAEjCK,OAAOF,QAAQG,YAAY,CAAC;QAE5BD,OAAOF,MAAM,CAAC,EAAE,EAAEI,OAAO,CAAC;YACxBC,WAAWC,2BAAoB;YAC/BC,SAAS;gBACPC,UAAU;gBACVT,iBAAiB;YACnB;QACF;QAEAG,OAAOF,MAAM,CAAC,EAAE,EAAEI,OAAO,CAAC;YACxBC,WAAWC,2BAAoB;YAC/BC,SAAS;gBACPC,UAAU;gBACVT,iBAAiB;YACnB;QACF;QAEAG,OAAOF,MAAM,CAAC,EAAE,EAAEI,OAAO,CAAC;YACxBC,WAAWC,2BAAoB;YAC/BC,SAAS;gBACPC,UAAU;gBACVT,iBAAiB;YACnB;QACF;IACF;IAEAH,GAAG,oCAAoC;QACrC,MAAMa,WAA0B;YAC9B;YACA;YACA;YACA;YACA;SACD;QAED,MAAMZ,SAASY,SAASC,GAAG,CAAC,CAACC,MAAMC,QAAW,CAAA;gBAC5Cd,aAAaa;gBACbZ,iBAAiBa,QAAQ;YAC3B,CAAA;QAEA,MAAMZ,SAASC,IAAAA,wBAAiB,EAACJ;QAEjCK,OAAOF,QAAQG,YAAY,CAAC;QAE5BH,OAAOa,OAAO,CAAC,CAACC,OAAOF;YACrBV,OAAOY,MAAMT,SAAS,EAAEU,IAAI,CAACT,2BAAoB;YACjDJ,OAAOY,MAAMP,OAAO,CAACC,QAAQ,EAAEO,IAAI,CAACN,QAAQ,CAACG,MAAM;YACnDV,OAAOY,MAAMP,OAAO,CAACR,eAAe,EAAEgB,IAAI,CAACH,QAAQ;QACrD;IACF;IAEAhB,GAAG,mCAAmC;QACpC,MAAMI,SAASC,IAAAA,wBAAiB,EAAC,EAAE;QACnCC,OAAOF,QAAQI,OAAO,CAAC,EAAE;IAC3B;IAEAR,GAAG,0CAA0C;QAC3CM,OAAOI,2BAAoB,EAAES,IAAI,CAAC;IACpC;IAEAnB,GAAG,uDAAuD;QACxD,MAAMC,SAAS;YACb;gBACEC,aAAa;gBACbC,iBAAiB;YACnB;SACD;QAED,MAAMC,SAASC,IAAAA,wBAAiB,EAACJ;QAEjC,+DAA+D;QAC/DK,OAAOL,MAAM,CAAC,EAAE,EAAEmB,cAAc,CAAC;QACjCd,OAAOF,MAAM,CAAC,EAAE,CAACO,OAAO,EAAES,cAAc,CAAC;QACzCd,OAAOF,MAAM,CAAC,EAAE,CAACO,OAAO,EAAEU,GAAG,CAACD,cAAc,CAAC;IAC/C;AACF","ignoreList":[0]} |