@sap-ux/fiori-mcp-server 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -2642,7 +2642,7 @@ PGHZoN9jcvvvWDLUGtJkEotMgdFpEA2XWR83H4fVFVc=
|
|
|
2642
2642
|
This is the **final step** of the workflow and performs the actual creation or modification.
|
|
2643
2643
|
You MUST provide the exact parameter information obtained from get_functionality_details (Step 2).`,annotations:{title:"Execute Fiori Functionality",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0},inputSchema:Lv(zTr),outputSchema:Lv(XTr)}];var h8e=class{applicationKey="";extensionName="";extensionVersion="";getApplicationKey(){return this.applicationKey}getExtensionVersion(){return this.extensionVersion}getExtensionName(){return this.extensionName}};var xmi=Dn(Whr(),1);var aZe=class{extensionName;eventName;constructor(t,r){this.extensionName=t,this.eventName=r}getExtensionName(){return this.extensionName}getEventName(){return this.eventName}toString(){return`${this.extensionName}/${this.eventName}`}};var M1;(function(e){e[e.OnePercent=0]="OnePercent",e[e.TenPercent=1]="TenPercent",e[e.NoSampling=2]="NoSampling"})(M1||(M1={}));function kDt(e){e.channel.setUseDiskRetryCaching(!0),e.addTelemetryProcessor(t=>(t.tags["ai.location.ip"]="0.0.0.0",t.tags["ai.cloud.roleInstance"]="masked",t.tags["ai.cloud.role"]="masked",t.tags["ai.device.type"]="masked",!0))}var Xhr={name:"@sap-ux/telemetry",version:"1.0.9",description:"Library for sending usage telemetry data",type:"module",repository:{type:"git",url:"https://github.com/SAP/open-ux-tools.git",directory:"packages/telemetry"},bugs:{url:"https://github.com/SAP/open-ux-tools/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3Atelemetry"},license:"Apache-2.0",private:!1,main:"dist/index.js",scripts:{build:"tsc --build",watch:"tsc --watch",clean:"rimraf --glob dist coverage *.tsbuildinfo",format:"prettier --write '**/*.{js,json,ts,yaml,yml}' --ignore-path ../../.prettierignore",lint:"eslint","lint:fix":"eslint --fix",test:"cross-env NODE_OPTIONS='--experimental-vm-modules' jest --ci --forceExit --detectOpenHandles --colors","test-u":"cross-env NODE_OPTIONS='--experimental-vm-modules' jest --ci --forceExit --detectOpenHandles --colors -u",link:"pnpm link --global",unlink:"pnpm unlink --global",example:"ts-node example/index.ts"},dependencies:{"@sap-ux/store":"workspace:*","@sap-ux/project-access":"workspace:*","@sap-ux/btp-utils":"workspace:*","@sap-ux/ui5-config":"workspace:*","@sap-ux/logger":"workspace:*","@sap-ux/nodejs-utils":"workspace:*",applicationinsights:"2.9.8",axios:"1.16.0","performance-now":"2.1.0",yaml:"2.8.3"},devDependencies:{"@jest/globals":"30.3.0","jest-extended":"7.0.0",memfs:"3.4.13",unionfs:"4.6.0",dotenv:"17.4.2"},files:["dist","LICENSE","!dist/*.map","!dist/**/*.map"],engines:{node:">=22.x"}};var L1={azureInstrumentationKey:"",telemetryEnabled:!0,telemetryLibName:Xhr.name,telemetryLibVersion:Xhr.version,consumerModuleName:"",consumerModuleVersion:""};process.env.APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL??="true";var oZe=class extends h8e{clients;constructor(t,r,n){super(),this.clients=new Map,this.applicationKey=t,this.extensionVersion=n,this.extensionName=r;let i=this.createTelemetryClient(M1.OnePercent),a=this.createTelemetryClient(M1.TenPercent),s=this.createTelemetryClient(M1.NoSampling);this.clients.set(M1.OnePercent,i),this.clients.set(M1.TenPercent,a),this.clients.set(M1.NoSampling,s)}reportBlocking(t,r,n,i,a=!1){if(!a||L1.telemetryEnabled){let{client:s,event:c}=this.prepareClientAndEvent(t,r,n,i);return this.trackEventBlocking(s,c)}return Promise.resolve()}async report(t,r,n,i,a,s){if(s!==void 0&&!s||!L1.telemetryEnabled)return;let{client:c,event:l}=this.prepareClientAndEvent(t,r,n,i);this.trackEvent(c,l)}prepareClientAndEvent(t,r,n,i=M1.NoSampling){let a=this.clients.get(i),c={name:new aZe(this.extensionName,t).toString(),properties:r,measurements:n};return{client:a,event:c}}async trackEventBlocking(t,r){if(process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true")return new Promise((n,i)=>{try{t.trackEvent(r),t.flush({callback:()=>n()})}catch(a){i(a)}})}trackEvent(t,r){return process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true"?(t.trackEvent(r),!0):!1}createTelemetryClient(t){let r;switch(t){case M1.OnePercent:r=1;break;case M1.TenPercent:r=10;break;case M1.NoSampling:default:r=100;break}let n=new xmi.TelemetryClient(this.applicationKey);return n.config.samplingPercentage=r,kDt(n),n}};var Qhr=()=>{let e=new Date().getTime();return new Date(e).toISOString()};var sZe=class extends oZe{constructor(t,r,n){super(t,r,n)}async report(t,r,n,i,a,s){let c=await $Dt(a),l={v:this.extensionVersion,datetime:Qhr()},u={...r,...c,...l};await super.report(t,u,n,i,a,s)}async reportEvent(t,r,n,i){let{finalProperties:a,finalMeasurements:s}=await this.collectToolsSuiteTelemetry(t,n);return super.report(t.eventName,a,s,r,n,i)}async reportEventBlocking(t,r,n,i){let{finalProperties:a,finalMeasurements:s}=await this.collectToolsSuiteTelemetry(t,n);return super.reportBlocking(t.eventName,a,s,r,i)}async collectToolsSuiteTelemetry(t,r){let n=await $Dt(r),i={v:this.extensionVersion,datetime:Qhr()},a={...t.properties,...n,...i},s={...t.measurements};return{finalProperties:a,finalMeasurements:s}}};d2t();var wmi=Dn(xM(),1),Imi=Dn(NFe(),1);ok();import kY from"node:fs";import HJ from"node:path";var VDt={internalFeature:!1};var cZe;(function(e){e.UNKNOWN="UNKNOWN",e.NO_TOOLS_ID="NO_TOOLS_ID"})(cZe||(cZe={}));var dW;(function(e){e.CAPJava="CAPJava",e.CAPNode="CAPNode",e.ABAP="ABAP",e.UNKNOWN="UNKNOWN"})(dW||(dW={}));var qTe;(function(e){e.CF="CF",e.ABAP="ABAP",e.UNKNOWN_DEPLOY_CONFIG="UNKNOWN_DEPLOY_CONFIG",e.NO_DEPLOY_CONFIG="NO_DEPLOY_CONFIG"})(qTe||(qTe={}));var gO;(function(e){e.DevSpace="cmn.devspace",e.AppStudio="cmn.appstudio",e.AppStudioBackwardCompatible="appstudio",e.InternlVsExternal="cmn.internalFeatures",e.InternlVsExternalBackwardCompatible="internalVsExternal",e.TemplateType="cmn.template",e.DeployTargetType="cmn.deployTarget",e.ODataSourceType="cmn.odataSource",e.AppToolsId="cmn.toolsId",e.NodeVersion="cmn.nodeVersion",e.AppProgrammingLanguage="cmn.appLanguage",e.TemplateId="cmn.templateId",e.TemplateVersion="cmn.templateVersion",e.ApplicationType="cmn.applicationType",e.IdeType="cmn.ideType"})(gO||(gO={}));async function $Dt(e){let t=await Zhr(),r={};return e&&(r=await sxo(e.appPath)),{...t,...r}}async function Zhr(){let e={};return e[gO.DevSpace]=await oxo(),e[gO.AppStudio]=bz(),e[gO.AppStudioBackwardCompatible]=e[gO.AppStudio],e[gO.InternlVsExternal]=dxo(),e[gO.InternlVsExternalBackwardCompatible]=e[gO.InternlVsExternal],e[gO.NodeVersion]=await hxo(),e[gO.IdeType]=emr(),e}async function oxo(){if(bz())try{if(!process.env.H2O_URL||!process.env.WORKSPACE_ID)return"";let e=process.env.H2O_URL,t=process.env.WORKSPACE_ID.replace("workspaces-",""),r=`${e}/ws-manager/api/v1/workspace/${t}`,n=await wmi.default.get(r);if(n.data)return n.data?.config?.annotations?.pack}catch{}return""}async function sxo(e){if(!e)return{};let t=await cxo(e),r=await pxo(e),n=await Q0e(e),i=await lxo(e);n==="Fiori Reuse"&&(i=dW.UNKNOWN);let a=await fxo(e),s=await _2e(e),c={};return c[gO.TemplateType]=t,c[gO.DeployTargetType]=r,c[gO.ODataSourceType]=i,c[gO.AppToolsId]=a.toolsId??"",c[gO.AppProgrammingLanguage]=s,c[gO.TemplateId]=a.id??"",c[gO.TemplateVersion]=a.version??"",c[gO.ApplicationType]=n??"",c}async function cxo(e){let t=HJ.join(e,"README.md"),r=HJ.join(e,".appGenInfo.json");if(kY.existsSync(r)){let n=await kY.promises.readFile(r,"utf-8"),i=JSON.parse(n);if(i?.generationParameters?.template)return i.generationParameters.template.trim()}if(kY.existsSync(t)){let n=await kY.promises.readFile(t,"utf-8");if(n){let i="",a=n.split(/\r?\n/);for(let s of a){let l=/\|\*\*Template Used\*\*<br>(.*?)\|/.exec(s);if(l&&l.length>=2){i=l[1].trim();break}}return i}}return""}async function lxo(e){try{let t;try{t=await qK(e)}catch{}if(!t)try{let i=HJ.dirname(e);t=await qK(i,!1)}catch{}let r=!1;if(!t){let i=HJ.dirname(e),a=HJ.dirname(i);r=await L0e(a),t=r?a:e}if(r)return dW.CAPJava;let n=await ame(t);return uxo(n)}catch{return dW.UNKNOWN}}function uxo(e){return e==="EDMXBackend"?dW.ABAP:e==="CAPNodejs"?dW.CAPNode:e==="CAPJava"?dW.CAPJava:dW.UNKNOWN}async function pxo(e){let t=qTe.NO_DEPLOY_CONFIG,r=HJ.join(e,"ui5-deploy.yaml");try{await kY.promises.access(r);let n=await kY.promises.readFile(r,"utf-8"),a=Imi.default.parse(n)?.builder?.customTasks;a?t=a.some(c=>c.name==="deploy-to-abap")?qTe.ABAP:qTe.CF:t=qTe.UNKNOWN_DEPLOY_CONFIG}catch{}return t}function dxo(){return VDt.internalFeature?"internal":"external"}async function fxo(e){let t=await bI(e),r={manifest:HJ.join(t,"manifest.json"),appdescr:HJ.join(t,"manifest.appdescr_variant"),ui5Yaml:HJ.join(e,"ui5.yaml")};try{if(kY.existsSync(r.manifest)){let n=await kY.promises.readFile(r.manifest,"utf-8"),i=JSON.parse(n);return Jhr(i["sap.app"]?.sourceTemplate??{})}if(kY.existsSync(r.appdescr)&&kY.existsSync(r.ui5Yaml)){let n=await kY.promises.readFile(r.ui5Yaml,"utf-8"),a=(await vhe.newInstance(n)).getCustomConfiguration("adp");return Jhr(a?.support??{})}}catch{}return Jhr({})}function Jhr(e){return{id:e.id??"",version:e.version??"",toolsId:e.toolsId??cZe.NO_TOOLS_ID}}async function hxo(){try{return(await new pCe().run("node",["-v"])??"unknown").replaceAll(/(?:^v)|([\r\n]{1,100})/g,"")}catch{return"unknown"}}function emr(){if(bz())return"appstudio";let e=process.env.VSCODE_CWD?.toLowerCase()??"",t=process.env.VSCODE_PID,r=process.env.TERM_PROGRAM??"",n=process.env.VSCODE_APPNAME?.toLowerCase()??"";return!t&&!e&&r!=="vscode"&&r!=="vscode-insiders"?"unknown":process.env.CURSOR_TRACE_ID||n.includes("cursor")||e.includes("cursor")?"cursor":n.includes("windsurf")||e.includes("windsurf")||e.includes("codeium")?"windsurf":n.includes("antigravity")||e.includes("antigravity")?"antigravity":n.includes("trae")||e.includes("trae")?"trae":n.includes("kiro")||e.includes("kiro")?"kiro":n.includes("vscodium")||n.includes("codium")||e.includes("vscodium")||e.includes("codium")?"vscodium":n.includes("code-server")||e.includes("code-server")||process.env.CODE_SERVER_SESSION?"code-server":n.includes("insiders")||e.includes("code - insiders")||e.includes("code insiders")||e.includes("vscode-insiders")||r==="vscode-insiders"?"vscode-insiders":t||r==="vscode"?"vscode":"unknown"}var Rmi=Dn(Whr(),1);var dMe;(function(e){e.Test="test",e.TELEMETRY_SETTINGS_INIT_FAILED="TELEMETRY_SETTINGS_INIT_FAILED",e.DISABLE_TELEMETRY="DISABLE_TELEMETRY"})(dMe||(dMe={}));var mxo=e=>{let t=[/sap-ux.+/gi,/[-a-zA-Z]+\/ide-extension\/.+/gi,/(\/telemetry\/.+)/gi],r=[],n=e.split(`
|
|
2644
2644
|
`).filter(i=>!!/^\s*at .*(\S+:\d+|\(native\))/m.exec(i));return n.length&&n.forEach(i=>{let a=i.replace(/^\s+/,""),c=/ (\((.+):(\d+):(\d+)\)$)/.exec(i);if(!c)return;let l=null,u=c[2].replace(/\\/g,"/");for(let m of t){let g=m.exec(u);if(g){l=g[0];break}}if(!l)return;a=a.replace(c[0],"");let p=a.split(/\s+/).slice(1).join(""),d=c[3],f=c[4],h=`${p} at (${l}:${d}:${f});`;r.push(h)}),r},FDt,Mmi=e=>{process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY?.trim()!=="true"&&(FDt=new Rmi.TelemetryClient(L1.azureInstrumentationKey),kDt(FDt));let t={message:e.message};if(e.stack){let n=mxo(e.stack);n.length&&(t.stack=n.join(`
|
|
2645
|
-
`))}let r={name:dMe.TELEMETRY_SETTINGS_INIT_FAILED,properties:t,measurements:{}};process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true"&&FDt.trackEvent(r)},Lmi=(e,t)=>{let r={name:dMe.DISABLE_TELEMETRY,properties:{disableTelemetry:`${!e}`,...t},measurements:{}};process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true"&&FDt.trackEvent(r)};import gxo from"node:os";import yxo from"node:path";import vxo from"node:fs";var Exo={win32:"\\AppData\\Roaming\\Code\\User\\settings.json",darwin:"/Library/Application Support/Code/User/settings.json",linux:"/.config/Code/User/settings.json",theia:"/.theia/settings.json"},_xo=["sap.ux.annotation.lsp.enableTelemetry","sap.ux.applicationModeler.enableTelemetry","sap.ux.help.enableTelemetry","sap.ux.serviceModeler.enableTelemetry"],Txo=e=>{let t=process.platform,r=e[t];if(bz()&&(r=e.theia),!r)return null;let n=gxo.homedir();return yxo.join(n,r)};async function bxo(e){let t;try{t=await e.read(new Fne)}catch{}if(t)L1.telemetryEnabled=t.enableTelemetry;else{let r=Txo(Exo);if(!r)await UDt(!0);else{let n;try{n=await vxo.promises.readFile(r,"utf-8");let i=JSON.parse(n),s=_xo.map(c=>i[c]??!0).reduce((c,l)=>c&&l,!0);await UDt(s)}catch{await UDt(!0)}}}}function Sxo(e){i0t(WEe.TelemetrySetting,()=>{e.read(new Fne).then(t=>{t&&(L1.telemetryEnabled=t.enableTelemetry)}).catch(()=>{})})}var tmr=async e=>{try{L1.consumerModuleName=e.consumerModule.name,L1.consumerModuleVersion=e.consumerModule.version,VDt.internalFeature=e.internalFeature??!1,e.resourceId&&(L1.azureInstrumentationKey=e.resourceId);let t=await u8e({entityName:"telemetrySetting"});await bxo(t),e.watchTelemetrySettingStore&&Sxo(t)}catch(t){Mmi(t)}};async function UDt(e){try{let r=await u8e({entityName:"telemetrySetting"}),n=new c8e({enableTelemetry:e});await r.write(n),L1.telemetryEnabled=e}catch{}let t=await Zhr();Lmi(e,t)}var v3=class e{static clientMap=new Map;static getTelemetryClient(){return e.getTelemetryClientByClass(sZe)}static getTelemetryClientByClass(t){let r=e.clientMap.get(t.name);if(r)return r;let n=t;return r=new n(L1.azureInstrumentationKey,L1.consumerModuleName,L1.consumerModuleVersion),e.clientMap.set(t.name,r),r}};var T3;(function(e){e.START_MARK="START_MARK",e.END_MARK="END_MARK",e.MEASUREMENT="MEASUREMENT"})(T3||(T3={}));var jDt=class{static initTiming;static enteries;static initialize;static startMark;static endMark;static measure;static getEntries;static getEntriesByName;static getEntriesByType;static getEntriesByNameType;static getMeasurementDuration;static clearEntries};var lZe=class{startTime;name;type;getStartTime(){return this.startTime}constructor(t,r,n){this.startTime=n,this.name=t,this.startTime=n,this.type=r}},BDt=class extends lZe{startTime;duration;constructor(t,r,n){super(t,T3.MEASUREMENT,r),this.startTime=r,this.duration=n,this.duration=n}getDurationTime(){return this.duration}};import{performance as Axo}from"node:perf_hooks";var Oxo=()=>Axo.now(),SP=class e extends jDt{static initTiming;static now=Oxo;static entries=[];static initialize(){e.initTiming=e.now()}static mark(t,r,n){let i=new lZe(t,r,n);e.entries.push(i)}static startMark(t){let r=e.now(),n=t+r;return e.mark(n,T3.START_MARK,r),n}static endMark(t){let r=e.now();e.mark(t,T3.END_MARK,r)}static measure(t){let r=e.getEntriesByNameType(t,T3.START_MARK).slice(-1)[0],n=e.getEntriesByNameType(t,T3.END_MARK).slice(-1)[0];if(!r&&!n)throw new Error(`Failed to execute 'measure': mark '${t}' doesn't exist.`);if(!r||!n){let l=r?T3.END_MARK:T3.START_MARK;throw new Error(`Failed to execute 'measure': mark '${t}'of type '${l}' doesn't exist.`)}let i=r.getStartTime(),s=n.getStartTime()-i,c=new BDt(`${t}`,e.now(),s);e.entries.push(c)}static getEntries(){return e.entries}static getEntriesByName(t){return e.entries.filter(r=>r.name===t)}static getEntriesByNameType(t,r){return e.entries.filter(n=>n.name===t&&n.type===r)}static getEntriesByType(t){return e.entries.filter(r=>r.type===t)}static getMeasurementDuration(t){return e.getEntriesByNameType(t,T3.MEASUREMENT).slice(-1)[0].getDurationTime()}static clearEntries(){e.entries=[]}};SP.initialize();var Cxo=(e,t)=>new Error(`Wrong path for '${e}' field is specified in instructions with index - ${t}`),Pxo=(e,t,r,n)=>{let i=t.split("/"),a=e,s=0;for(;s<i.length;){if(a=a[i[s]],a===void 0)throw Cxo(r,n);s++}return a},kmi=(e,t)=>{let r={},n={},i=null;t.paramIndex!==void 0&&(i=e[t.paramIndex]);let a=t.key?t.key:"data",s="";return typeof t.value=="string"?s=t.value:t.value!==void 0&&t.paramIndex!==void 0?s=Pxo(i,t.value.path,"val",t.paramIndex):s=i,typeof s=="number"&&!Number.isNaN(s)?n[a]=s:r[a]=s,[r,n]},rmr=(e,t)=>{let r,n,i={},a={};if(Array.isArray(t))for(let s of t)[r,n]=kmi(e,s),i={...i,...r},a={...a,...n};else[i,a]=kmi(e,t);return[i,a]};var $mi=(e,t,r,n)=>(...i)=>{let a=t.apply(e,i);return v3.getTelemetryClient().report(r,{},{},n),a},Vmi=(e,t,r,n)=>async(...i)=>{let a=await t.apply(e,i);return v3.getTelemetryClient().report(r,{},{},n),a},Fmi=(e,t,r,n)=>(...i)=>{let a=SP.startMark("mark"),s=t.apply(e,i);SP.endMark(a),SP.measure(a);let c=SP.getMeasurementDuration(a);return v3.getTelemetryClient().report(r,{},{ms:c},n),s},Umi=(e,t,r,n)=>async(...i)=>{let a=SP.startMark("mark"),s=await t.apply(e,i);SP.endMark(a),SP.measure(a);let c=SP.getMeasurementDuration(a);return v3.getTelemetryClient().report(r,{},{ms:c},n),s},jmi=(e,t,r,n,i)=>(...a)=>{let s=t.apply(e,a),[c,l]=rmr(a,i);return v3.getTelemetryClient().report(r,c,l,n),s},Bmi=(e,t,r,n,i)=>async(...a)=>{let s=await t.apply(e,a),[c,l]=rmr(a,i);return v3.getTelemetryClient().report(r,c,l,n),s};var zJ;(function(e){e.NOTIFICATION="notify",e.DURATION="duration",e.CAPTURE_PARAM="captureParam"})(zJ||(zJ={}));var qDt=new Map;qDt.set(zJ.NOTIFICATION,$mi);qDt.set(zJ.DURATION,Fmi);qDt.set(zJ.CAPTURE_PARAM,jmi);var GDt=new Map;GDt.set(zJ.NOTIFICATION,Vmi);GDt.set(zJ.DURATION,Umi);GDt.set(zJ.CAPTURE_PARAM,Bmi);var nmr={AnnotationModeler:"sap.ux.annotationModeler",AppGenerator:"sap.ux.appGenerator",ApplicationModeler:"sap.ux.applicationModeler",Help:"sap.ux.help",ServiceModeler:"sap.ux.serviceModeler",Internal:"sap.ux.internal"},imr={"sap.ux.help.testBetaFeatures.enableAppStudioGDContribution":"c8c52f0b-0d7d-4697-997a-d6f29814f42e","sap.ux.help.testBetaFeatures.showTestGuides":"fbb03f42-0a86-4fd5-9fc4-8c9b38a4d1a3","sap.ux.help.testBetaFeatures.enableFioriAI":"165a0e31-35ea-4bee-8d47-b8593435a82d","sap.ux.help.testBetaFeatures.enableFioriAIJoule":"165a0e31-35ea-4bee-8d47-b8593435a82e","sap.ux.help.testBetaFeatures.enableFioriAIVsCode":"165a0e31-35ea-4bee-8d47-b8593435a82f","sap.ux.help.testBetaFeatures.enableFioriAIAppModeler":"165a0e31-35ea-4bee-8d47-b8593435a82g","sap.ux.help.testBetaFeatures.enableFioriAIRapGeneration":"165a0e31-35ea-4bee-8d47-b8593435a82h","sap.ux.applicationModeler.testBetaFeatures.manifestEditor":!0,"sap.ux.appGenerator.testBetaFeatures.newAnnotationAPI":!0},HDt="testBetaFeatures",amr="sap.ux.applicationModeler.enableExperimentalFeatures";async function Dxo(){let e;try{e=await import("vscode")}catch{}return e}var qmi=null;(async()=>qmi=await Dxo())();var fMe=class e{static get vscode(){return qmi}static getFeatureToggle(t){let r;if((t.includes(HDt)||t===amr)&&e.vscode){let i=t.slice(0,t.lastIndexOf(".")),a=t.slice(t.lastIndexOf(".")+1,t.length);r=e.vscode.workspace.getConfiguration(i)?.get(a)}else r=!1;return process.env.TOOLSUITE_FEATURES&&(r=process.env.TOOLSUITE_FEATURES.split(",").includes(t)?!0:r),imr[t]&&(imr[t]===r?r=!0:r=!1),{feature:t,isEnabled:r===!0?r:!1}}static getAllFeatureToggles(){let t=[];if(e.vscode)Object.keys(nmr).forEach(r=>{let n=`${nmr[r]}.${HDt}`,i={};try{i=JSON.parse(JSON.stringify(e.vscode.workspace.getConfiguration(n)))}catch{}Object.keys(i).forEach(a=>{let s=e.vscode.workspace.getConfiguration(`${n}`).get(`${a}`),c={feature:`${n}.${a}`,isEnabled:s||!1};t.push(c)})});else if(process.env.TOOLSUITE_FEATURES){let r=process.env.TOOLSUITE_FEATURES.split(",");for(let n of r){let i={feature:n,isEnabled:!0};t.push(i)}}return t}};function omr(){let e="sap.ux.internal.enableInternalFeatures",t=!1;return fMe.vscode&&(t=(fMe.vscode.workspace?fMe.vscode.workspace.getConfiguration()?.get(e):!1)??!1),process.env.TOOLSUITE_INTERNAL&&process.env.TOOLSUITE_INTERNAL==="true"&&(t=!0),t}var syi=Dn(tyi(),1);import{randomUUID as dwo}from"node:crypto";var cwo=["@sap-ux","fiori-mcp-server"].join("/");var lwo="1.2.0",ryi={name:cwo,version:lwo};var nyi={telemetry:{unknownOs:"Unknown"}};var vmr="fiori-mcp-server",iyi=fv.createInstance();async function pwo(){await iyi.init({resources:{en:{[vmr]:nyi}},lng:"en",fallbackLng:"en",defaultNS:vmr,ns:[vmr],showSupportNotice:!1})}function ayi(e,t){return iyi.t(e,t)}pwo().catch(()=>{});var{version:fwo}=ryi,oyi="@sap-ux/fiori-mcp-server",cyi="unknown-tool",hwo="0a65e45d-6bf4-421d-b845-61e888c50e9e",fW=class{static _telemetryData;static _previousEventTimestamp;static _sessionId;static get telemetryData(){return this._telemetryData}static get sessionId(){return this._sessionId}static initSessionId(){this._sessionId=dwo(),fo.info(`Telemetry session initialized with ID: ${this._sessionId}`)}static async initTelemetrySettings(t){this._sessionId||this.initSessionId();let r={consumerModule:{name:oyi,version:fwo},watchTelemetrySettingStore:!1,internalFeature:omr(),resourceId:hwo,...t};try{await tmr(r)}catch(n){fo.error(`Error initializing telemetry settings: ${n}`)}}static createTelemetryData(t,r=!1){let n=new Date().getTime();if(this._previousEventTimestamp||(r=!1,this._previousEventTimestamp=n),!this._telemetryData){let i=ayi("telemetry.unknownOs");try{i=(0,syi.default)()}catch{}this._telemetryData={Platform:bz()?"SBAS":"VSCode",OperatingSystem:i,SessionId:this.sessionId}}if(r){let i={...this._telemetryData,...t};if(Math.abs(this._previousEventTimestamp-n)<1e3&&JSON.stringify(i)===JSON.stringify(this._telemetryData))return}return this._previousEventTimestamp=n,this._telemetryData=Object.assign(this._telemetryData,t),this._telemetryData}static prepareTelemetryEvent(t,r){this.markToolsEndTime();let n=r.markName?SP.getMeasurementDuration(r.markName):void 0;return{eventName:t,properties:r,measurements:n?{RequestTime:n}:{}}}static markToolStartTime(){this.createTelemetryData({markName:SP.startMark("MCP_LOADING_TIME")})}static markToolsEndTime(){this._telemetryData?.markName&&(SP.endMark(this._telemetryData.markName),SP.measure(this._telemetryData.markName))}static async sendTelemetry(t,r,n){let i=this.createTelemetryData(r)??r,a=this.prepareTelemetryEvent(t,i);await v3.getTelemetryClient().reportEvent(a,M1.NoSampling,n?{appPath:n}:void 0)}static getTelemetryName(){return oyi}};var lyi="2024-11-05";function mwo(e){return xde.includes(e)?e:xde.includes(lyi)?lyi:xde[xde.length-1]}var cxt=class{server;mcpClientName="unknown-client";mcpClientVersion="unknown-version";constructor(){this.server=new vot({name:"fiori-mcp",version:XAe,icons:[{src:"https://raw.githubusercontent.com/SAP/open-ux-tools/main/packages/fiori-mcp-server/assets/icon.svg",mimeType:"image/svg+xml"},{src:"https://raw.githubusercontent.com/SAP/open-ux-tools/main/packages/fiori-mcp-server/assets/icon.png",mimeType:"image/png"}],title:"MCP Server for SAP Fiori"},{capabilities:{tools:{}}}),this.setupToolHandlers(),this.setupErrorHandling()}setupErrorHandling(){this.server.onerror=t=>fo.error(`[MCP Error] ${t}`),process.on("SIGINT",async()=>{await this.server.close(),process.exit(0)})}async setupTelemetry(){await fW.initTelemetrySettings()}setupToolHandlers(){this.server.setRequestHandler(l$e,async t=>{this.mcpClientName=t.params.clientInfo?.name||"unknown-client",this.mcpClientVersion=t.params.clientInfo?.version||"unknown-version",fo.info(`MCP Client connected: ${this.mcpClientName} v${this.mcpClientVersion}`);let r={mcpClientName:this.mcpClientName,mcpClientVersion:this.mcpClientVersion};return await fW.sendTelemetry(gVn,r),{protocolVersion:mwo(t.params.protocolVersion),capabilities:{tools:{}},serverInfo:{name:"fiori-mcp",version:XAe}}}),this.server.setRequestHandler(WRt,async()=>{let t={mcpClientName:this.mcpClientName,mcpClientVersion:this.mcpClientVersion};return await fW.sendTelemetry(yVn,t),{tools:ijn}}),this.server.setRequestHandler(m$e,async t=>{let{name:r,arguments:n}=t.params;try{let i;fW.markToolStartTime();let a={tool:r,mcpClientName:this.mcpClientName,mcpClientVersion:this.mcpClientVersion};if(n&&"functionalityId"in n){let{functionalityId:c}=n;Array.isArray(c)&&c.length>=1?a.functionalityId=`property-change:${c.at(-1)}`:a.functionalityId=c}switch(fo.debug(`Executing tool: ${r} with arguments: ${JSON.stringify(n)}`),r){case"search_docs":i=await iWt(n,!0);break;case"list_fiori_apps":i=await aWt(n);break;case"list_functionality":i=await alr(n);break;case"get_functionality_details":i=await f8e(n);break;case"execute_functionality":i=await clr(n);break;default:throw await fW.sendTelemetry(cyi,{},n?.appPath),new Error(`Unknown tool: ${r}. Try one of: list_fiori_apps, list_functionality, get_functionality_details, execute_functionality.`)}await fW.sendTelemetry(r,a,n?.appPath);let s=this.convertResultToCallToolResult(i);return fo.debug(`Tool ${r} executed successfully with result:`),fo.debug(s),s}catch(i){return fo.error(`Error executing tool ${r}: ${i}`),fo.debug(i),{content:[{type:"text",text:`Error: ${i instanceof Error?i.message:"Unknown error occurred"}`}]}}})}convertResultToCallToolResult(t){if(typeof t=="string"||t instanceof String)return{content:[{type:"text",text:t.toString()}]};let r={content:[{type:"text",text:JSON.stringify(t)}]};return Array.isArray(t)||(r.structuredContent=t),r}async run(){fW.initSessionId();let t=new _ot;await this.server.connect(t),fo.info(`SAP Fiori - Model Context Protocol (MCP) server (@sap-ux/fiori-mcp-server@${XAe}) running on stdio`),this.setupTelemetry().catch(r=>fo.error(`Telemetry init error: ${r instanceof Error?r.message:String(r)}`))}};var gwo=new cxt;try{await gwo.run()}catch(e){fo.error(`Server error: ${e}`)}
|
|
2645
|
+
`))}let r={name:dMe.TELEMETRY_SETTINGS_INIT_FAILED,properties:t,measurements:{}};process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true"&&FDt.trackEvent(r)},Lmi=(e,t)=>{let r={name:dMe.DISABLE_TELEMETRY,properties:{disableTelemetry:`${!e}`,...t},measurements:{}};process.env.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY!=="true"&&FDt.trackEvent(r)};import gxo from"node:os";import yxo from"node:path";import vxo from"node:fs";var Exo={win32:"\\AppData\\Roaming\\Code\\User\\settings.json",darwin:"/Library/Application Support/Code/User/settings.json",linux:"/.config/Code/User/settings.json",theia:"/.theia/settings.json"},_xo=["sap.ux.annotation.lsp.enableTelemetry","sap.ux.applicationModeler.enableTelemetry","sap.ux.help.enableTelemetry","sap.ux.serviceModeler.enableTelemetry"],Txo=e=>{let t=process.platform,r=e[t];if(bz()&&(r=e.theia),!r)return null;let n=gxo.homedir();return yxo.join(n,r)};async function bxo(e){let t;try{t=await e.read(new Fne)}catch{}if(t)L1.telemetryEnabled=t.enableTelemetry;else{let r=Txo(Exo);if(!r)await UDt(!0);else{let n;try{n=await vxo.promises.readFile(r,"utf-8");let i=JSON.parse(n),s=_xo.map(c=>i[c]??!0).reduce((c,l)=>c&&l,!0);await UDt(s)}catch{await UDt(!0)}}}}function Sxo(e){i0t(WEe.TelemetrySetting,()=>{e.read(new Fne).then(t=>{t&&(L1.telemetryEnabled=t.enableTelemetry)}).catch(()=>{})})}var tmr=async e=>{try{L1.consumerModuleName=e.consumerModule.name,L1.consumerModuleVersion=e.consumerModule.version,VDt.internalFeature=e.internalFeature??!1,e.resourceId&&(L1.azureInstrumentationKey=e.resourceId);let t=await u8e({entityName:"telemetrySetting"});await bxo(t),e.watchTelemetrySettingStore&&Sxo(t)}catch(t){Mmi(t)}};async function UDt(e){try{let r=await u8e({entityName:"telemetrySetting"}),n=new c8e({enableTelemetry:e});await r.write(n),L1.telemetryEnabled=e}catch{}let t=await Zhr();Lmi(e,t)}var v3=class e{static clientMap=new Map;static getTelemetryClient(){return e.getTelemetryClientByClass(sZe)}static getTelemetryClientByClass(t){let r=e.clientMap.get(t.name);if(r)return r;let n=t;return r=new n(L1.azureInstrumentationKey,L1.consumerModuleName,L1.consumerModuleVersion),e.clientMap.set(t.name,r),r}};var T3;(function(e){e.START_MARK="START_MARK",e.END_MARK="END_MARK",e.MEASUREMENT="MEASUREMENT"})(T3||(T3={}));var jDt=class{static initTiming;static enteries;static initialize;static startMark;static endMark;static measure;static getEntries;static getEntriesByName;static getEntriesByType;static getEntriesByNameType;static getMeasurementDuration;static clearEntries};var lZe=class{startTime;name;type;getStartTime(){return this.startTime}constructor(t,r,n){this.startTime=n,this.name=t,this.startTime=n,this.type=r}},BDt=class extends lZe{startTime;duration;constructor(t,r,n){super(t,T3.MEASUREMENT,r),this.startTime=r,this.duration=n,this.duration=n}getDurationTime(){return this.duration}};import{performance as Axo}from"node:perf_hooks";var Oxo=()=>Axo.now(),SP=class e extends jDt{static initTiming;static now=Oxo;static entries=[];static initialize(){e.initTiming=e.now()}static mark(t,r,n){let i=new lZe(t,r,n);e.entries.push(i)}static startMark(t){let r=e.now(),n=t+r;return e.mark(n,T3.START_MARK,r),n}static endMark(t){let r=e.now();e.mark(t,T3.END_MARK,r)}static measure(t){let r=e.getEntriesByNameType(t,T3.START_MARK).slice(-1)[0],n=e.getEntriesByNameType(t,T3.END_MARK).slice(-1)[0];if(!r&&!n)throw new Error(`Failed to execute 'measure': mark '${t}' doesn't exist.`);if(!r||!n){let l=r?T3.END_MARK:T3.START_MARK;throw new Error(`Failed to execute 'measure': mark '${t}'of type '${l}' doesn't exist.`)}let i=r.getStartTime(),s=n.getStartTime()-i,c=new BDt(`${t}`,e.now(),s);e.entries.push(c)}static getEntries(){return e.entries}static getEntriesByName(t){return e.entries.filter(r=>r.name===t)}static getEntriesByNameType(t,r){return e.entries.filter(n=>n.name===t&&n.type===r)}static getEntriesByType(t){return e.entries.filter(r=>r.type===t)}static getMeasurementDuration(t){return e.getEntriesByNameType(t,T3.MEASUREMENT).slice(-1)[0].getDurationTime()}static clearEntries(){e.entries=[]}};SP.initialize();var Cxo=(e,t)=>new Error(`Wrong path for '${e}' field is specified in instructions with index - ${t}`),Pxo=(e,t,r,n)=>{let i=t.split("/"),a=e,s=0;for(;s<i.length;){if(a=a[i[s]],a===void 0)throw Cxo(r,n);s++}return a},kmi=(e,t)=>{let r={},n={},i=null;t.paramIndex!==void 0&&(i=e[t.paramIndex]);let a=t.key?t.key:"data",s="";return typeof t.value=="string"?s=t.value:t.value!==void 0&&t.paramIndex!==void 0?s=Pxo(i,t.value.path,"val",t.paramIndex):s=i,typeof s=="number"&&!Number.isNaN(s)?n[a]=s:r[a]=s,[r,n]},rmr=(e,t)=>{let r,n,i={},a={};if(Array.isArray(t))for(let s of t)[r,n]=kmi(e,s),i={...i,...r},a={...a,...n};else[i,a]=kmi(e,t);return[i,a]};var $mi=(e,t,r,n)=>(...i)=>{let a=t.apply(e,i);return v3.getTelemetryClient().report(r,{},{},n),a},Vmi=(e,t,r,n)=>async(...i)=>{let a=await t.apply(e,i);return v3.getTelemetryClient().report(r,{},{},n),a},Fmi=(e,t,r,n)=>(...i)=>{let a=SP.startMark("mark"),s=t.apply(e,i);SP.endMark(a),SP.measure(a);let c=SP.getMeasurementDuration(a);return v3.getTelemetryClient().report(r,{},{ms:c},n),s},Umi=(e,t,r,n)=>async(...i)=>{let a=SP.startMark("mark"),s=await t.apply(e,i);SP.endMark(a),SP.measure(a);let c=SP.getMeasurementDuration(a);return v3.getTelemetryClient().report(r,{},{ms:c},n),s},jmi=(e,t,r,n,i)=>(...a)=>{let s=t.apply(e,a),[c,l]=rmr(a,i);return v3.getTelemetryClient().report(r,c,l,n),s},Bmi=(e,t,r,n,i)=>async(...a)=>{let s=await t.apply(e,a),[c,l]=rmr(a,i);return v3.getTelemetryClient().report(r,c,l,n),s};var zJ;(function(e){e.NOTIFICATION="notify",e.DURATION="duration",e.CAPTURE_PARAM="captureParam"})(zJ||(zJ={}));var qDt=new Map;qDt.set(zJ.NOTIFICATION,$mi);qDt.set(zJ.DURATION,Fmi);qDt.set(zJ.CAPTURE_PARAM,jmi);var GDt=new Map;GDt.set(zJ.NOTIFICATION,Vmi);GDt.set(zJ.DURATION,Umi);GDt.set(zJ.CAPTURE_PARAM,Bmi);var nmr={AnnotationModeler:"sap.ux.annotationModeler",AppGenerator:"sap.ux.appGenerator",ApplicationModeler:"sap.ux.applicationModeler",Help:"sap.ux.help",ServiceModeler:"sap.ux.serviceModeler",Internal:"sap.ux.internal"},imr={"sap.ux.help.testBetaFeatures.enableAppStudioGDContribution":"c8c52f0b-0d7d-4697-997a-d6f29814f42e","sap.ux.help.testBetaFeatures.showTestGuides":"fbb03f42-0a86-4fd5-9fc4-8c9b38a4d1a3","sap.ux.help.testBetaFeatures.enableFioriAI":"165a0e31-35ea-4bee-8d47-b8593435a82d","sap.ux.help.testBetaFeatures.enableFioriAIJoule":"165a0e31-35ea-4bee-8d47-b8593435a82e","sap.ux.help.testBetaFeatures.enableFioriAIVsCode":"165a0e31-35ea-4bee-8d47-b8593435a82f","sap.ux.help.testBetaFeatures.enableFioriAIAppModeler":"165a0e31-35ea-4bee-8d47-b8593435a82g","sap.ux.help.testBetaFeatures.enableFioriAIRapGeneration":"165a0e31-35ea-4bee-8d47-b8593435a82h","sap.ux.applicationModeler.testBetaFeatures.manifestEditor":!0,"sap.ux.appGenerator.testBetaFeatures.newAnnotationAPI":!0},HDt="testBetaFeatures",amr="sap.ux.applicationModeler.enableExperimentalFeatures";async function Dxo(){let e;try{e=await import("vscode")}catch{}return e}var qmi=null;(async()=>qmi=await Dxo())();var fMe=class e{static get vscode(){return qmi}static getFeatureToggle(t){let r;if((t.includes(HDt)||t===amr)&&e.vscode){let i=t.slice(0,t.lastIndexOf(".")),a=t.slice(t.lastIndexOf(".")+1,t.length);r=e.vscode.workspace.getConfiguration(i)?.get(a)}else r=!1;return process.env.TOOLSUITE_FEATURES&&(r=process.env.TOOLSUITE_FEATURES.split(",").includes(t)?!0:r),imr[t]&&(imr[t]===r?r=!0:r=!1),{feature:t,isEnabled:r===!0?r:!1}}static getAllFeatureToggles(){let t=[];if(e.vscode)Object.keys(nmr).forEach(r=>{let n=`${nmr[r]}.${HDt}`,i={};try{i=JSON.parse(JSON.stringify(e.vscode.workspace.getConfiguration(n)))}catch{}Object.keys(i).forEach(a=>{let s=e.vscode.workspace.getConfiguration(`${n}`).get(`${a}`),c={feature:`${n}.${a}`,isEnabled:s||!1};t.push(c)})});else if(process.env.TOOLSUITE_FEATURES){let r=process.env.TOOLSUITE_FEATURES.split(",");for(let n of r){let i={feature:n,isEnabled:!0};t.push(i)}}return t}};function omr(){let e="sap.ux.internal.enableInternalFeatures",t=!1;return fMe.vscode&&(t=(fMe.vscode.workspace?fMe.vscode.workspace.getConfiguration()?.get(e):!1)??!1),process.env.TOOLSUITE_INTERNAL&&process.env.TOOLSUITE_INTERNAL==="true"&&(t=!0),t}var syi=Dn(tyi(),1);import{randomUUID as dwo}from"node:crypto";var cwo=["@sap-ux","fiori-mcp-server"].join("/");var lwo="1.3.0",ryi={name:cwo,version:lwo};var nyi={telemetry:{unknownOs:"Unknown"}};var vmr="fiori-mcp-server",iyi=fv.createInstance();async function pwo(){await iyi.init({resources:{en:{[vmr]:nyi}},lng:"en",fallbackLng:"en",defaultNS:vmr,ns:[vmr],showSupportNotice:!1})}function ayi(e,t){return iyi.t(e,t)}pwo().catch(()=>{});var{version:fwo}=ryi,oyi="@sap-ux/fiori-mcp-server",cyi="unknown-tool",hwo="0a65e45d-6bf4-421d-b845-61e888c50e9e",fW=class{static _telemetryData;static _previousEventTimestamp;static _sessionId;static get telemetryData(){return this._telemetryData}static get sessionId(){return this._sessionId}static initSessionId(){this._sessionId=dwo(),fo.info(`Telemetry session initialized with ID: ${this._sessionId}`)}static async initTelemetrySettings(t){this._sessionId||this.initSessionId();let r={consumerModule:{name:oyi,version:fwo},watchTelemetrySettingStore:!1,internalFeature:omr(),resourceId:hwo,...t};try{await tmr(r)}catch(n){fo.error(`Error initializing telemetry settings: ${n}`)}}static createTelemetryData(t,r=!1){let n=new Date().getTime();if(this._previousEventTimestamp||(r=!1,this._previousEventTimestamp=n),!this._telemetryData){let i=ayi("telemetry.unknownOs");try{i=(0,syi.default)()}catch{}this._telemetryData={Platform:bz()?"SBAS":"VSCode",OperatingSystem:i,SessionId:this.sessionId}}if(r){let i={...this._telemetryData,...t};if(Math.abs(this._previousEventTimestamp-n)<1e3&&JSON.stringify(i)===JSON.stringify(this._telemetryData))return}return this._previousEventTimestamp=n,this._telemetryData=Object.assign(this._telemetryData,t),this._telemetryData}static prepareTelemetryEvent(t,r){this.markToolsEndTime();let n=r.markName?SP.getMeasurementDuration(r.markName):void 0;return{eventName:t,properties:r,measurements:n?{RequestTime:n}:{}}}static markToolStartTime(){this.createTelemetryData({markName:SP.startMark("MCP_LOADING_TIME")})}static markToolsEndTime(){this._telemetryData?.markName&&(SP.endMark(this._telemetryData.markName),SP.measure(this._telemetryData.markName))}static async sendTelemetry(t,r,n){let i=this.createTelemetryData(r)??r,a=this.prepareTelemetryEvent(t,i);await v3.getTelemetryClient().reportEvent(a,M1.NoSampling,n?{appPath:n}:void 0)}static getTelemetryName(){return oyi}};var lyi="2024-11-05";function mwo(e){return xde.includes(e)?e:xde.includes(lyi)?lyi:xde[xde.length-1]}var cxt=class{server;mcpClientName="unknown-client";mcpClientVersion="unknown-version";constructor(){this.server=new vot({name:"fiori-mcp",version:XAe,icons:[{src:"https://raw.githubusercontent.com/SAP/open-ux-tools/main/packages/fiori-mcp-server/assets/icon.svg",mimeType:"image/svg+xml"},{src:"https://raw.githubusercontent.com/SAP/open-ux-tools/main/packages/fiori-mcp-server/assets/icon.png",mimeType:"image/png"}],title:"MCP Server for SAP Fiori"},{capabilities:{tools:{}}}),this.setupToolHandlers(),this.setupErrorHandling()}setupErrorHandling(){this.server.onerror=t=>fo.error(`[MCP Error] ${t}`),process.on("SIGINT",async()=>{await this.server.close(),process.exit(0)})}async setupTelemetry(){await fW.initTelemetrySettings()}setupToolHandlers(){this.server.setRequestHandler(l$e,async t=>{this.mcpClientName=t.params.clientInfo?.name||"unknown-client",this.mcpClientVersion=t.params.clientInfo?.version||"unknown-version",fo.info(`MCP Client connected: ${this.mcpClientName} v${this.mcpClientVersion}`);let r={mcpClientName:this.mcpClientName,mcpClientVersion:this.mcpClientVersion};return await fW.sendTelemetry(gVn,r),{protocolVersion:mwo(t.params.protocolVersion),capabilities:{tools:{}},serverInfo:{name:"fiori-mcp",version:XAe}}}),this.server.setRequestHandler(WRt,async()=>{let t={mcpClientName:this.mcpClientName,mcpClientVersion:this.mcpClientVersion};return await fW.sendTelemetry(yVn,t),{tools:ijn}}),this.server.setRequestHandler(m$e,async t=>{let{name:r,arguments:n}=t.params;try{let i;fW.markToolStartTime();let a={tool:r,mcpClientName:this.mcpClientName,mcpClientVersion:this.mcpClientVersion};if(n&&"functionalityId"in n){let{functionalityId:c}=n;Array.isArray(c)&&c.length>=1?a.functionalityId=`property-change:${c.at(-1)}`:a.functionalityId=c}switch(fo.debug(`Executing tool: ${r} with arguments: ${JSON.stringify(n)}`),r){case"search_docs":i=await iWt(n,!0);break;case"list_fiori_apps":i=await aWt(n);break;case"list_functionality":i=await alr(n);break;case"get_functionality_details":i=await f8e(n);break;case"execute_functionality":i=await clr(n);break;default:throw await fW.sendTelemetry(cyi,{},n?.appPath),new Error(`Unknown tool: ${r}. Try one of: list_fiori_apps, list_functionality, get_functionality_details, execute_functionality.`)}await fW.sendTelemetry(r,a,n?.appPath);let s=this.convertResultToCallToolResult(i);return fo.debug(`Tool ${r} executed successfully with result:`),fo.debug(s),s}catch(i){return fo.error(`Error executing tool ${r}: ${i}`),fo.debug(i),{content:[{type:"text",text:`Error: ${i instanceof Error?i.message:"Unknown error occurred"}`}]}}})}convertResultToCallToolResult(t){if(typeof t=="string"||t instanceof String)return{content:[{type:"text",text:t.toString()}]};let r={content:[{type:"text",text:JSON.stringify(t)}]};return Array.isArray(t)||(r.structuredContent=t),r}async run(){fW.initSessionId();let t=new _ot;await this.server.connect(t),fo.info(`SAP Fiori - Model Context Protocol (MCP) server (@sap-ux/fiori-mcp-server@${XAe}) running on stdio`),this.setupTelemetry().catch(r=>fo.error(`Telemetry init error: ${r instanceof Error?r.message:String(r)}`))}};var gwo=new cxt;try{await gwo.run()}catch(e){fo.error(`Server error: ${e}`)}
|
|
2646
2646
|
/*! Bundled license information:
|
|
2647
2647
|
|
|
2648
2648
|
safe-buffer/index.js:
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap-ux/fiori-mcp-server",
|
|
3
3
|
"description": "SAP Fiori - Model Context Protocol (MCP) server",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.0",
|
|
5
5
|
"mcpName": "io.github.SAP/fiori-mcp-server",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"SAP Fiori tools",
|
|
@@ -58,20 +58,20 @@
|
|
|
58
58
|
"ts-node": "10.9.2",
|
|
59
59
|
"zod": "4.3.6",
|
|
60
60
|
"@sap-ux/axios-extension": "2.0.2",
|
|
61
|
-
"@sap-ux/feature-toggle": "1.0.1",
|
|
62
61
|
"@sap-ux/btp-utils": "2.0.2",
|
|
63
|
-
"@sap-ux/fiori-docs-embeddings": "1.1.1",
|
|
64
62
|
"@sap-ux/fiori-annotation-api": "1.0.8",
|
|
65
|
-
"@sap-ux/
|
|
63
|
+
"@sap-ux/fiori-docs-embeddings": "1.1.1",
|
|
64
|
+
"@sap-ux/feature-toggle": "1.0.1",
|
|
66
65
|
"@sap-ux/logger": "1.0.1",
|
|
67
|
-
"@sap-ux/
|
|
66
|
+
"@sap-ux/nodejs-utils": "1.0.3",
|
|
67
|
+
"@sap-ux/i18n": "1.0.1",
|
|
68
68
|
"@sap-ux/odata-annotation-core": "1.0.1",
|
|
69
69
|
"@sap-ux/odata-entity-model": "1.0.1",
|
|
70
|
+
"@sap-ux/project-access": "2.1.2",
|
|
70
71
|
"@sap-ux/store": "2.0.1",
|
|
71
|
-
"@sap-ux/nodejs-utils": "1.0.3",
|
|
72
72
|
"@sap-ux/telemetry": "1.0.9",
|
|
73
73
|
"@sap-ux/text-document-utils": "1.0.1",
|
|
74
|
-
"@sap-ux/
|
|
74
|
+
"@sap-ux/odata-annotation-core-types": "1.0.1"
|
|
75
75
|
},
|
|
76
76
|
"engines": {
|
|
77
77
|
"node": ">=22.x"
|