UNPKG

aem-mcp-server

Version:
2 lines (1 loc) 3.69 kB
"use strict";import{AEMConnector as o}from"../aem/aem.connector.js";import{handleAEMHttpError as r}from"../aem/aem.errors.js";import{LOGGER as a}from"../utils/logger.js";export class MCPRequestHandler{aemConnector;config;constructor(t){this.config=t,this.aemConnector=new o(t)}async init(){this.aemConnector.isInitialized?a.log("AEM Connector already initialized."):(await this.aemConnector.init(),a.log("AEM Connector initialized."))}async handleRequest(t,e){try{await this.init()}catch(n){throw a.error("ERROR initializing MCP Server",n.message),r(n,"MCP Server Initialization")}try{switch(t){case"validateComponent":return await this.aemConnector.validateComponent(e);case"updateComponent":return await this.aemConnector.updateComponent(e);case"undoChanges":return await this.aemConnector.undoChanges(e);case"scanPageComponents":return await this.aemConnector.scanPageComponents(e.pagePath);case"fetchSites":return await this.aemConnector.fetchSites();case"fetchLanguageMasters":return await this.aemConnector.fetchLanguageMasters(e.site);case"fetchAvailableLocales":return await this.aemConnector.fetchAvailableLocales(e.site,e.languageMasterPath);case"replicateAndPublish":return await this.aemConnector.replicateAndPublish(e.selectedLocales,e.componentData,e.localizedOverrides);case"getAllTextContent":return await this.aemConnector.getAllTextContent(e.pagePath);case"getPageTextContent":return await this.aemConnector.getPageTextContent(e.pagePath);case"getPageImages":return await this.aemConnector.getPageImages(e.pagePath);case"updateImagePath":return await this.aemConnector.updateImagePath(e.componentPath,e.newImagePath);case"getPageContent":return await this.aemConnector.getPageContent(e.pagePath);case"listPages":return await this.aemConnector.listPages(e.siteRoot||e.path||"/content",e.depth||1,e.limit||20);case"getNodeContent":return await this.aemConnector.getNodeContent(e.path,e.depth||1);case"listChildren":return await this.aemConnector.listChildren(e.path);case"getPageProperties":return await this.aemConnector.getPageProperties(e.pagePath);case"searchContent":return await this.aemConnector.searchContent(e);case"executeJCRQuery":return await this.aemConnector.executeJCRQuery(e.query,e.limit);case"getAssetMetadata":return await this.aemConnector.getAssetMetadata(e.assetPath);case"getStatus":return this.getWorkflowStatus(e.workflowId);case"enhancedPageSearch":return await this.aemConnector.searchContent({fulltext:e.searchTerm,path:e.basePath,type:"cq:Page",limit:20});case"createPage":return await this.aemConnector.createPage(e);case"deletePage":return await this.aemConnector.deletePage(e);case"createComponent":return await this.aemConnector.createComponent(e);case"deleteComponent":return await this.aemConnector.deleteComponent(e);case"unpublishContent":return await this.aemConnector.unpublishContent(e);case"activatePage":return await this.aemConnector.activatePage(e);case"deactivatePage":return await this.aemConnector.deactivatePage(e);case"uploadAsset":return await this.aemConnector.uploadAsset(e);case"updateAsset":return await this.aemConnector.updateAsset(e);case"deleteAsset":return await this.aemConnector.deleteAsset(e);case"getTemplates":return await this.aemConnector.getTemplates(e.sitePath);case"getTemplateStructure":return await this.aemConnector.getTemplateStructure(e.templatePath);case"bulkUpdateComponents":return await this.aemConnector.bulkUpdateComponents(e);default:throw new Error(`Unknown method: ${t}`)}}catch(n){return{error:n.message,method:t,params:e}}}getWorkflowStatus(t){return{success:!0,workflowId:t,status:"completed",message:"Mock workflow status - always returns completed",timestamp:new Date().toISOString()}}}