{"version":3,"sources":["jsdelivr-header.js","/npm/@marco-looy/pega-dx-mcp@0.1.17/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;OCJO,WAAY,gBACV,WAAc,mDACd,yBAA4B,mDAC5B,sBAAuB,2BAA8B,4CACrD,iBAAoB,qCACpB,6BAA8B,qBAAwB,yBAI/D,OAAO,OAAO,CAAE,UAAU,IAE1B,MAAM,gBACJ,WAAA,GACE,KAAK,OAAS,IAAI,OAChB,CACE,KAAM,cACN,QAAS,SAEX,CACE,aAAc,CACZ,MAAO,CAAC,KAKd,KAAK,eACP,CAEA,aAAA,GAEE,KAAK,OAAO,kBAAkB,wBAAwB,UACpD,IAEE,MAAO,CAAE,MADW,aAAa,oBAEnC,CAAE,MAAO,GAEP,OADA,QAAQ,MAAM,uBAAwB,GAC/B,CAAE,MAAO,GAClB,KAIF,KAAK,OAAO,kBAAkB,uBAAuB,MAAO,IAC1D,MAAM,KAAE,EAAM,UAAW,GAAS,EAAQ,OAE1C,IACE,aAAa,aAAa,YAAY,EAAM,EAC9C,CAAE,MAAO,GAEP,OADA,QAAQ,MAAM,wBAAwB,KAAS,GACxC,CACL,QAAS,CACP,CACE,KAAM,OACN,KAAM,4BAA4B,iBAAoB,EAAM,YAIpE,KAIF,KAAK,OAAO,QAAW,IACrB,QAAQ,MAAM,cAAe,EAAM,EAGrC,QAAQ,GAAG,UAAU,UACnB,QAAQ,MAAM,gDACR,KAAK,OAAO,QAClB,QAAQ,KAAK,EAAE,GAEnB,CAEA,SAAM,GACJ,IAEE,QAAQ,MAAM,2CACR,aAAa,aAGnB,MAAM,EAAQ,aAAa,WAC3B,QAAQ,MAAM,gCAAgC,EAAM,uBAAuB,EAAM,yBAGjF,QAAQ,MAAM,gEACd,MAAM,QAAmB,+BACzB,QAAQ,MAAM,iBAAiB,IAG/B,MAAM,EAAY,IAAI,2BAChB,KAAK,OAAO,QAAQ,GAC1B,QAAQ,MAAM,wCAEhB,CAAE,MAAO,GACP,QAAQ,MAAM,4BAA6B,GAC3C,QAAQ,KAAK,EACf,CACF,EAIF,MAAM,OAAS,IAAI,gBACnB,OAAO,MAAM,OAAO,IAClB,QAAQ,MAAM,2BAA4B,GAC1C,QAAQ,KAAK,EAAE","file":"/npm/@marco-looy/pega-dx-mcp@0.1.17/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@marco-looy/pega-dx-mcp@0.1.17/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","#!/usr/bin/env node\n\nimport dotenv from 'dotenv';\nimport { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';\nimport { toolRegistry } from './registry/tool-registry.js';\nimport { attemptStartupAuthentication, formatAuthStatus } from './auth/startup-auth.js';\n\n// Load .env file only if it exists, and don't override existing environment variables\n// This ensures MCP configuration environment variables take precedence\ndotenv.config({ override: false });\n\nclass PegaDXMCPServer {\n  constructor() {\n    this.server = new Server(\n      {\n        name: 'pega-dx-mcp',\n        version: '1.0.0',\n      },\n      {\n        capabilities: {\n          tools: {},\n        },\n      }\n    );\n\n    this.setupHandlers();\n  }\n\n  setupHandlers() {\n    // Handle tool listing - dynamic discovery via registry\n    this.server.setRequestHandler(ListToolsRequestSchema, async () => {\n      try {\n        const definitions = toolRegistry.getAllDefinitions();\n        return { tools: definitions };\n      } catch (error) {\n        console.error('Error listing tools:', error);\n        return { tools: [] };\n      }\n    });\n\n    // Handle tool execution - dynamic routing via registry\n    this.server.setRequestHandler(CallToolRequestSchema, async (request) => {\n      const { name, arguments: args } = request.params;\n\n      try {\n        return await toolRegistry.executeTool(name, args);\n      } catch (error) {\n        console.error(`Error executing tool ${name}:`, error);\n        return {\n          content: [\n            {\n              type: 'text',\n              text: `❌ **Error executing tool ${name}**\\n\\nError: ${error.message}`\n            }\n          ]\n        };\n      }\n    });\n\n    // Handle errors\n    this.server.onerror = (error) => {\n      console.error('[MCP Error]', error);\n    };\n\n    process.on('SIGINT', async () => {\n      console.error('🛑 Shutting down Pega DX MCP server...');\n      await this.server.close();\n      process.exit(0);\n    });\n  }\n\n  async run() {\n    try {\n      // Initialize the tool registry first\n      console.error('🚀 Starting Pega DX MCP server...');\n      await toolRegistry.initialize();\n\n      // Show registry summary\n      const stats = toolRegistry.getStats();\n      console.error(`📊 Registry initialized with ${stats.totalTools} tools in ${stats.categories} categories`);\n\n      // Attempt authentication with environment credentials\n      console.error('🔐 Attempting authentication with environment credentials...');\n      const authResult = await attemptStartupAuthentication();\n      console.error(formatAuthStatus(authResult));\n\n      // Start the MCP server\n      const transport = new StdioServerTransport();\n      await this.server.connect(transport);\n      console.error('✅ Pega DX MCP server running on stdio');\n\n    } catch (error) {\n      console.error('❌ Failed to start server:', error);\n      process.exit(1);\n    }\n  }\n}\n\n// Start the server\nconst server = new PegaDXMCPServer();\nserver.run().catch((error) => {\n  console.error('❌ Server startup failed:', error);\n  process.exit(1);\n});\n"]}