@eclipse-glsp-examples/workflow-server-bundled 2.9.0-next.12 → 2.9.0-next.14

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.
@@ -68,7 +68,7 @@ ${Xe}`),me.pop(),`{${tn}}`}case"number":return isFinite(ne)?String(ne):n?n(ne):"
68
68
  `),stack:n&&n.stack,exception:!0,date:new Date().toString(),process:this.getProcessInfo(),os:this.getOsInfo(),trace:this.getTrace(n)}}getProcessInfo(){return{pid:process.pid,uid:process.getuid?process.getuid():null,gid:process.getgid?process.getgid():null,cwd:process.cwd(),execPath:process.execPath,version:process.version,argv:process.argv,memoryUsage:process.memoryUsage()}}getOsInfo(){return{loadavg:Iin.loadavg(),uptime:Iin.uptime()}}getTrace(n){return(n?Ain.parse(n):Ain.get()).map(c=>({column:c.getColumnNumber(),file:c.getFileName(),function:c.getFunctionName(),line:c.getLineNumber(),method:c.getMethodName(),native:c.isNative()}))}_addHandler(n){if(!this.handlers.has(n)){n.handleExceptions=!0;let s=new Bor(n);this.handlers.set(n,s),this.logger.pipe(s)}}_uncaughtException(n){let s=this.getAllInfo(n),c=this._getExceptionHandlers(),l=typeof this.logger.exitOnError=="function"?this.logger.exitOnError(n):this.logger.exitOnError,g;!c.length&&l&&(console.warn("winston: exitOnError cannot be true with no exception handlers."),console.warn("winston: not exiting process."),l=!1);function v(){uGe("doExit",l),uGe("process._exiting",process._exiting),l&&!process._exiting&&(g&&clearTimeout(g),process.exit(1))}if(r(v,"gracefulExit"),!c||c.length===0)return process.nextTick(v);xor(c,(w,M)=>{let A=Lor(M),k=w.transport||w;function F(K){return()=>{uGe(K),A()}}r(F,"onDone"),k._ending=!0,k.once("finish",F("finished")),k.once("error",F("error"))},()=>l&&v()),this.logger.log(s),l&&(g=setTimeout(v,3e3))}_getExceptionHandlers(){return this.logger.transports.filter(n=>(n.transport||n).handleExceptions)}}});var Rin=q((g_i,$in)=>{"use strict";var{Writable:For}=oN();$in.exports=class extends For{static{r(this,"RejectionStream")}constructor(n){if(super({objectMode:!0}),!n)throw new Error("RejectionStream requires a TransportStream instance.");this.handleRejections=!0,this.transport=n}_write(n,s,c){return n.rejection?this.transport.log(n,c):(c(),!0)}}});var dGe=q((v_i,Nin)=>{"use strict";var kin=require("os"),zor=Fme(),fGe=aX()("winston:rejection"),Uor=aGe(),Din=cGe(),Gor=Rin();Nin.exports=class{static{r(this,"RejectionHandler")}constructor(n){if(!n)throw new Error("Logger is required to handle rejections");this.logger=n,this.handlers=new Map}handle(...n){n.forEach(s=>{if(Array.isArray(s))return s.forEach(c=>this._addHandler(c));this._addHandler(s)}),this.catcher||(this.catcher=this._unhandledRejection.bind(this),process.on("unhandledRejection",this.catcher))}unhandle(){this.catcher&&(process.removeListener("unhandledRejection",this.catcher),this.catcher=!1,Array.from(this.handlers.values()).forEach(n=>this.logger.unpipe(n)))}getAllInfo(n){let s=null;return n&&(s=typeof n=="string"?n:n.message),{error:n,level:"error",message:[`unhandledRejection: ${s||"(no error message)"}`,n&&n.stack||" No stack trace"].join(`
69
69
  `),stack:n&&n.stack,rejection:!0,date:new Date().toString(),process:this.getProcessInfo(),os:this.getOsInfo(),trace:this.getTrace(n)}}getProcessInfo(){return{pid:process.pid,uid:process.getuid?process.getuid():null,gid:process.getgid?process.getgid():null,cwd:process.cwd(),execPath:process.execPath,version:process.version,argv:process.argv,memoryUsage:process.memoryUsage()}}getOsInfo(){return{loadavg:kin.loadavg(),uptime:kin.uptime()}}getTrace(n){return(n?Din.parse(n):Din.get()).map(c=>({column:c.getColumnNumber(),file:c.getFileName(),function:c.getFunctionName(),line:c.getLineNumber(),method:c.getMethodName(),native:c.isNative()}))}_addHandler(n){if(!this.handlers.has(n)){n.handleRejections=!0;let s=new Gor(n);this.handlers.set(n,s),this.logger.pipe(s)}}_unhandledRejection(n){let s=this.getAllInfo(n),c=this._getRejectionHandlers(),l=typeof this.logger.exitOnError=="function"?this.logger.exitOnError(n):this.logger.exitOnError,g;!c.length&&l&&(console.warn("winston: exitOnError cannot be true with no rejection handlers."),console.warn("winston: not exiting process."),l=!1);function v(){fGe("doExit",l),fGe("process._exiting",process._exiting),l&&!process._exiting&&(g&&clearTimeout(g),process.exit(1))}if(r(v,"gracefulExit"),!c||c.length===0)return process.nextTick(v);zor(c,(w,M)=>{let A=Uor(M),k=w.transport||w;function F(K){return()=>{fGe(K),A()}}r(F,"onDone"),k._ending=!0,k.once("finish",F("finished")),k.once("error",F("error"))},()=>l&&v()),this.logger.log(s),l&&(g=setTimeout(v,3e3))}_getRejectionHandlers(){return this.logger.transports.filter(n=>(n.transport||n).handleRejections)}}});var xin=q((y_i,qin)=>{"use strict";var hGe=class{static{r(this,"Profiler")}constructor(n){let s=zme();if(typeof n!="object"||Array.isArray(n)||!(n instanceof s))throw new Error("Logger is required for profiling");this.logger=n,this.start=Date.now()}done(...n){typeof n[n.length-1]=="function"&&(console.warn("Callback function no longer supported as of winston@3.0.0"),n.pop());let s=typeof n[n.length-1]=="object"?n.pop():{};return s.level=s.level||"info",s.durationMs=Date.now()-this.start,this.logger.write(s)}};qin.exports=hGe});var zme=q((S_i,zin)=>{"use strict";var{Stream:Zor,Transform:Hor}=oN(),Lin=Fme(),{LEVEL:gP,SPLAT:Bin}=oh(),Fin=oGe(),Jor=lGe(),Kor=dGe(),Vor=xUe(),Wor=xin(),{warn:Xor}=cUe(),Yor=Nme(),Qor=/%[scdjifoO%]/g,Ume=class extends Hor{static{r(this,"Logger")}constructor(n){super({objectMode:!0}),this.configure(n)}child(n){let s=this;return Object.create(s,{write:{value:r(function(c){let l=Object.assign({},n,c);c instanceof Error&&(l.stack=c.stack,l.message=c.message,l.cause=c.cause),s.write(l)},"value")}})}configure({silent:n,format:s,defaultMeta:c,levels:l,level:g="info",exitOnError:v=!0,transports:w,colors:M,emitErrs:A,formatters:k,padLevels:F,rewriters:K,stripColors:re,exceptionHandlers:ne,rejectionHandlers:me}={}){if(this.transports.length&&this.clear(),this.silent=n,this.format=s||this.format||nUe()(),this.defaultMeta=c||null,this.levels=l||this.levels||Yor.npm.levels,this.level=g,this.exceptions&&this.exceptions.unhandle(),this.rejections&&this.rejections.unhandle(),this.exceptions=new Jor(this),this.rejections=new Kor(this),this.profilers={},this.exitOnError=v,w&&(w=Array.isArray(w)?w:[w],w.forEach(Te=>this.add(Te))),M||A||k||F||K||re)throw new Error(["{ colors, emitErrs, formatters, padLevels, rewriters, stripColors } were removed in winston@3.0.0.","Use a custom winston.format(function) instead.","See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md"].join(`
70
70
  `));ne&&this.exceptions.handle(ne),me&&this.rejections.handle(me)}getHighestLogLevel(){let n=dX(this.levels,this.level);return!this.transports||this.transports.length===0?n:this.transports.reduce((s,c)=>{let l=dX(this.levels,c.level);return l!==null&&l>s?l:s},n)}isLevelEnabled(n){let s=dX(this.levels,n);if(s===null)return!1;let c=dX(this.levels,this.level);return c===null?!1:!this.transports||this.transports.length===0?c>=s:this.transports.findIndex(g=>{let v=dX(this.levels,g.level);return v===null&&(v=c),v>=s})!==-1}log(n,s,...c){if(arguments.length===1)return n[gP]=n.level,this._addDefaultMeta(n),this.write(n),this;if(arguments.length===2)return s&&typeof s=="object"?(s[gP]=s.level=n,this._addDefaultMeta(s),this.write(s),this):(s={[gP]:n,level:n,message:s},this._addDefaultMeta(s),this.write(s),this);let[l]=c;if(typeof l=="object"&&l!==null&&!(s&&s.match&&s.match(Qor))){let v=Object.assign({},this.defaultMeta,l,{[gP]:n,[Bin]:c,level:n,message:s});return l.message&&(v.message=`${v.message} ${l.message}`),l.stack&&(v.stack=l.stack),l.cause&&(v.cause=l.cause),this.write(v),this}return this.write(Object.assign({},this.defaultMeta,{[gP]:n,[Bin]:c,level:n,message:s})),this}_transform(n,s,c){if(this.silent)return c();n[gP]||(n[gP]=n.level),!this.levels[n[gP]]&&this.levels[n[gP]]!==0&&console.error("[winston] Unknown logger level: %s",n[gP]),this._readableState.pipes||console.error("[winston] Attempt to write logs with no transports, which can increase memory usage: %j",n);try{this.push(this.format.transform(n,this.format.options))}finally{this._writableState.sync=!1,c()}}_final(n){let s=this.transports.slice();Lin(s,(c,l)=>{if(!c||c.finished)return setImmediate(l);c.once("finish",l),c.end()},n)}add(n){let s=!Fin(n)||n.log.length>2?new Vor({transport:n}):n;if(!s._writableState||!s._writableState.objectMode)throw new Error("Transports must WritableStreams in objectMode. Set { objectMode: true }.");return this._onEvent("error",s),this._onEvent("warn",s),this.pipe(s),n.handleExceptions&&this.exceptions.handle(),n.handleRejections&&this.rejections.handle(),this}remove(n){if(!n)return this;let s=n;return(!Fin(n)||n.log.length>2)&&(s=this.transports.filter(c=>c.transport===n)[0]),s&&this.unpipe(s),this}clear(){return this.unpipe(),this}close(){return this.exceptions.unhandle(),this.rejections.unhandle(),this.clear(),this.emit("close"),this}setLevels(){Xor.deprecated("setLevels")}query(n,s){typeof n=="function"&&(s=n,n={}),n=n||{};let c={},l=Object.assign({},n.query||{});function g(w,M){n.query&&typeof w.formatQuery=="function"&&(n.query=w.formatQuery(l)),w.query(n,(A,k)=>{if(A)return M(A);typeof w.formatResults=="function"&&(k=w.formatResults(k,n.format)),M(null,k)})}r(g,"queryTransport");function v(w,M){g(w,(A,k)=>{M&&(k=A||k,k&&(c[w.name]=k),M()),M=null})}r(v,"addResults"),Lin(this.transports.filter(w=>!!w.query),v,()=>s(null,c))}stream(n={}){let s=new Zor,c=[];return s._streams=c,s.destroy=()=>{let l=c.length;for(;l--;)c[l].destroy()},this.transports.filter(l=>!!l.stream).forEach(l=>{let g=l.stream(n);g&&(c.push(g),g.on("log",v=>{v.transport=v.transport||[],v.transport.push(l.name),s.emit("log",v)}),g.on("error",v=>{v.transport=v.transport||[],v.transport.push(l.name),s.emit("error",v)}))}),s}startTimer(){return new Wor(this)}profile(n,...s){let c=Date.now();if(this.profilers[n]){let l=this.profilers[n];delete this.profilers[n],typeof s[s.length-2]=="function"&&(console.warn("Callback function no longer supported as of winston@3.0.0"),s.pop());let g=typeof s[s.length-1]=="object"?s.pop():{};return g.level=g.level||"info",g.durationMs=c-l,g.message=g.message||n,this.write(g)}return this.profilers[n]=c,this}handleExceptions(...n){console.warn("Deprecated: .handleExceptions() will be removed in winston@4. Use .exceptions.handle()"),this.exceptions.handle(...n)}unhandleExceptions(...n){console.warn("Deprecated: .unhandleExceptions() will be removed in winston@4. Use .exceptions.unhandle()"),this.exceptions.unhandle(...n)}cli(){throw new Error(["Logger.cli() was removed in winston@3.0.0","Use a custom winston.formats.cli() instead.","See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md"].join(`
71
- `))}_onEvent(n,s){function c(l){n==="error"&&!this.transports.includes(s)&&this.add(s),this.emit(n,l,s)}r(c,"transportEvent"),s["__winston"+n]||(s["__winston"+n]=c.bind(this),s.on(n,s["__winston"+n]))}_addDefaultMeta(n){this.defaultMeta&&Object.assign(n,this.defaultMeta)}};function dX(o,n){let s=o[n];return!s&&s!==0?null:s}r(dX,"getLevelValue");Object.defineProperty(Ume.prototype,"transports",{configurable:!1,enumerable:!0,get(){let{pipes:o}=this._readableState;return Array.isArray(o)?o:[o].filter(Boolean)}});zin.exports=Ume});var pGe=q((E_i,Uin)=>{"use strict";var{LEVEL:esr}=oh(),tsr=Nme(),nsr=zme(),rsr=aX()("winston:create-logger");function isr(o){return"is"+o.charAt(0).toUpperCase()+o.slice(1)+"Enabled"}r(isr,"isLevelEnabledFunctionName");Uin.exports=function(o={}){o.levels=o.levels||tsr.npm.levels;class n extends nsr{static{r(this,"DerivedLogger")}constructor(l){super(l)}}let s=new n(o);return Object.keys(o.levels).forEach(function(c){if(rsr('Define prototype method for "%s"',c),c==="log"){console.warn('Level "log" not defined: conflicts with the method "log". Use a different level name.');return}n.prototype[c]=function(...l){let g=this||s;if(l.length===1){let[v]=l,w=v&&v.message&&v||{message:v};return w.level=w[esr]=c,g._addDefaultMeta(w),g.write(w),this||s}return l.length===0?(g.log(c,""),g):g.log(c,...l)},n.prototype[isr(c)]=function(){return(this||s).isLevelEnabled(c)}}),s}});var Zin=q((M_i,Gin)=>{"use strict";var osr=pGe();Gin.exports=class{static{r(this,"Container")}constructor(n={}){this.loggers=new Map,this.options=n}add(n,s){if(!this.loggers.has(n)){s=Object.assign({},s||this.options);let c=s.transports||this.options.transports;c?s.transports=Array.isArray(c)?c.slice():[c]:s.transports=[];let l=osr(s);l.on("close",()=>this._delete(n)),this.loggers.set(n,l)}return this.loggers.get(n)}get(n,s){return this.add(n,s)}has(n){return!!this.loggers.has(n)}close(n){if(n)return this._removeLogger(n);this.loggers.forEach((s,c)=>this._removeLogger(c))}_removeLogger(n){if(!this.loggers.has(n))return;this.loggers.get(n).close(),this._delete(n)}_delete(n){this.loggers.delete(n)}}});var Jin=q(Su=>{"use strict";var Hin=aUe(),{warn:hX}=cUe();Su.version=ztn().version;Su.transports=vin();Su.config=Nme();Su.addColors=Hin.levels;Su.format=Hin.format;Su.createLogger=pGe();Su.Logger=zme();Su.ExceptionHandler=lGe();Su.RejectionHandler=dGe();Su.Container=Zin();Su.Transport=eB();Su.loggers=new Su.Container;var mP=Su.createLogger();Object.keys(Su.config.npm.levels).concat(["log","query","stream","add","remove","clear","profile","startTimer","handleExceptions","unhandleExceptions","handleRejections","unhandleRejections","configure","child"]).forEach(o=>Su[o]=(...n)=>mP[o](...n));Object.defineProperty(Su,"level",{get(){return mP.level},set(o){mP.level=o}});Object.defineProperty(Su,"exceptions",{get(){return mP.exceptions}});Object.defineProperty(Su,"rejections",{get(){return mP.rejections}});["exitOnError"].forEach(o=>{Object.defineProperty(Su,o,{get(){return mP[o]},set(n){mP[o]=n}})});Object.defineProperty(Su,"default",{get(){return{exceptionHandlers:mP.exceptionHandlers,rejectionHandlers:mP.rejectionHandlers,transports:mP.transports}}});hX.deprecated(Su,"setLevels");hX.forFunctions(Su,"useFormat",["cli"]);hX.forProperties(Su,"useFormat",["padLevels","stripColors"]);hX.forFunctions(Su,"deprecated",["addRewriter","addFilter","clone","extend"]);hX.forProperties(Su,"deprecated",["emitErrs","levelLength"])});var mGe=q(Gme=>{"use strict";Object.defineProperty(Gme,"__esModule",{value:!0});Gme.ActionQueue=void 0;var gGe=class{static{r(this,"ActionQueue")}constructor(){this.queue=[],this.stopped=!1,this.consuming=!1}push(n){return this.stopped?Promise.reject(new Error("ActionQueue is stopped")):new Promise((s,c)=>{this.queue.push({item:n,resolve:s,reject:c}),this.notify?.()})}async*consume(){if(this.consuming)throw new Error("ActionQueue supports only a single consumer");this.consuming=!0;try{for(;!this.stopped||this.queue.length>0;){for(;this.queue.length>0;)yield this.queue.shift();if(this.stopped)return;await new Promise(n=>{this.notify=n}),this.notify=void 0}}finally{this.consuming=!1}}stop(){this.stopped=!0,this.notify?.()}rejectPending(n=new Error("ActionQueue cleared")){let s=this.queue;this.queue=[];for(let c of s)c.reject(n)}get size(){return this.queue.length}get isStopped(){return this.stopped}};Gme.ActionQueue=gGe});var Ed=q(_1=>{"use strict";var ssr=_1&&_1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(_1,"__esModule",{value:!0});_1.LogLevel=_1.LoggerFactory=_1.NullLogger=_1.Logger=void 0;_1.asLogLevel=csr;_1.getRequestParentName=usr;var asr=en(),Zme=class{static{r(this,"Logger")}};_1.Logger=Zme;_1.Logger=Zme=ssr([(0,asr.injectable)()],Zme);var bGe=class extends Zme{static{r(this,"NullLogger")}info(n,...s){}warn(n,...s){}error(n,...s){}debug(n,...s){}};_1.NullLogger=bGe;_1.LoggerFactory=Symbol("LoggerFactory");var Hme;(function(o){o[o.none=0]="none",o[o.error=1]="error",o[o.warn=2]="warn",o[o.info=3]="info",o[o.debug=4]="debug"})(Hme||(_1.LogLevel=Hme={}));function csr(o){let n=o;if(typeof n=="string"&&(n=n.toLowerCase()),n in Hme)return Hme[o]}r(csr,"asLogLevel");function usr(o){if(o.currentRequest.parentRequest){let n=o.currentRequest.parentRequest.bindings;if(n.length>0)return n[0].implementationType?.name}}r(usr,"getRequestParentName")});var aN=q(My=>{"use strict";var wGe=My&&My.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},lsr=My&&My.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(My,"__esModule",{value:!0});My.MultiRegistry=My.Registry=void 0;var fsr=Gr(),yGe=en(),Kin=Ed(),Jme=class{static{r(this,"Registry")}constructor(){this.elements=new Map}register(n,s){return this.hasKey(n)?(this.logger.warn("Could not register key-value pair. Key is already registered",{key:n,value:s}),!1):(this.elements.set(n,s),!0)}deregister(n){return this.elements.delete(n)}hasKey(n){return this.elements.has(n)}get(n){return this.elements.get(n)}getAll(){return[...new Set(this.elements.values())]}keys(){return[...new Set(this.elements.keys())]}};My.Registry=Jme;wGe([(0,yGe.inject)(Kin.Logger),lsr("design:type",Kin.Logger)],Jme.prototype,"logger",void 0);My.Registry=Jme=wGe([(0,yGe.injectable)()],Jme);var vGe=class{static{r(this,"MultiRegistry")}constructor(){this.elements=new Map}register(n,s){let c=this.elements.get(n);c?c.push(s):this.elements.set(n,[s])}deregister(n,s){let c=this.elements.get(n);return c?((0,fsr.remove)(c,s),!0):!1}deregisterAll(n){return this.elements.delete(n)}get(n){let s=this.elements.get(n);return s?[...new Set(s)]:[]}hasKey(n){return this.elements.has(n)}getAll(){let n=[];return Array.from(this.elements.values()).forEach(s=>n.push(...s)),[...new Set(n)]}keys(){return[...new Set(this.elements.keys())]}};My.MultiRegistry=vGe;My.MultiRegistry=vGe=wGe([(0,yGe.injectable)()],vGe)});var Kme=q(sC=>{"use strict";Object.defineProperty(sC,"__esModule",{value:!0});sC.ActionHandlerFactory=sC.ActionHandlerConstructor=sC.ActionHandler=void 0;sC.ActionHandler=Symbol("ActionHandler");sC.ActionHandlerConstructor=Symbol("ActionHandlerConstructor");sC.ActionHandlerFactory=Symbol("ActionHandlerFactory")});var mX=q(Ty=>{"use strict";var gX=Ty&&Ty.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},_Ge=Ty&&Ty.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(Ty,"__esModule",{value:!0});Ty.ActionHandlerRegistryInitializer=Ty.ActionHandlerRegistry=void 0;var sB=en(),dsr=aN(),Vin=Kme(),pX=class extends dsr.MultiRegistry{static{r(this,"ActionHandlerRegistry")}registerHandler(n){return n.actionKinds.forEach(s=>this.register(s,n))}get(n){return super.get(n).sort((c,l)=>c.priority??0-(l.priority??0))}};Ty.ActionHandlerRegistry=pX;Ty.ActionHandlerRegistry=pX=gX([(0,sB.injectable)()],pX);var aB=class{static{r(this,"ActionHandlerRegistryInitializer")}constructor(){this.handlerConstructors=[]}initialize(n){this.handlerConstructors.map(c=>this.factory(c)).forEach(c=>this.registry.registerHandler(c))}};Ty.ActionHandlerRegistryInitializer=aB;gX([(0,sB.inject)(Vin.ActionHandlerFactory),_Ge("design:type",Function)],aB.prototype,"factory",void 0);gX([(0,sB.inject)(Vin.ActionHandlerConstructor),(0,sB.optional)(),_Ge("design:type",Array)],aB.prototype,"handlerConstructors",void 0);gX([(0,sB.inject)(pX),_Ge("design:type",pX)],aB.prototype,"registry",void 0);Ty.ActionHandlerRegistryInitializer=aB=gX([(0,sB.injectable)()],aB)});var Wme=q(Vme=>{"use strict";Object.defineProperty(Vme,"__esModule",{value:!0});Vme.ClientAction=void 0;var hsr=Gr(),Win;(function(o){function n(c){return hsr.Action.is(c)&&"__receivedFromClient"in c&&c.__receivedFromClient===!0}r(n,"is"),o.is=n;function s(c){c.__receivedFromClient=!0}r(s,"mark"),o.mark=s})(Win||(Vme.ClientAction=Win={}))});var Yme=q(v2=>{"use strict";var SGe=v2&&v2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},OGe=v2&&v2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},psr=v2&&v2.__param||function(o,n){return function(s,c){n(s,c,o)}};Object.defineProperty(v2,"__esModule",{value:!0});v2.ClientActionForwarder=void 0;var Xin=Gr(),Xme=en(),Yin=v1(),gsr=Wme(),bX=class{static{r(this,"ClientActionForwarder")}constructor(n){this.actionKinds=n}handle(n){if(this.shouldForwardToClient(n)){let s={action:n,clientId:this.clientId};return this.glspClient.process(s),!0}return!1}shouldForwardToClient(n){return gsr.ClientAction.is(n)?!1:this.actionKinds.has(n.kind)||Xin.ResponseAction.hasValidResponseId(n)}};v2.ClientActionForwarder=bX;SGe([(0,Xme.inject)(Xin.GLSPClientProxy),OGe("design:type",Object)],bX.prototype,"glspClient",void 0);SGe([(0,Xme.inject)(Yin.ClientId),OGe("design:type",String)],bX.prototype,"clientId",void 0);v2.ClientActionForwarder=bX=SGe([(0,Xme.injectable)(),psr(0,(0,Xme.inject)(Yin.ClientActionKinds)),OGe("design:paramtypes",[Set])],bX)});var gT=q(S1=>{"use strict";var cN=S1&&S1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},aC=S1&&S1.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},EGe;Object.defineProperty(S1,"__esModule",{value:!0});S1.DefaultActionDispatcher=S1.ActionDispatchScope=S1.ActionDispatcher=void 0;S1.respond=non;var bP=Gr(),uN=en(),msr=v1(),bsr=mGe(),vsr=dm(),Qin=Ed(),eon=mX(),ton=Yme();S1.ActionDispatcher=Symbol("ActionDispatcher");S1.ActionDispatchScope=Symbol("ActionDispatchScope");var pT=class{static{r(this,"DefaultActionDispatcher")}constructor(){this.actionQueue=new bsr.ActionQueue,this.postUpdateQueue=[],this.pendingRequests=new Map,this.requestTimeouts=new Map,this.nextRequestId=1}static{EGe=this}static{this.STALE_TIMEOUT_GRACE_MS=3e4}initialize(){this.processActionQueue().catch(n=>this.logger.error("Action queue processor terminated unexpectedly",n))}generateRequestId(){return`server_${this.clientId}_${this.nextRequestId++}`}dispatch(n){return this.interceptPendingResponse(n)?Promise.resolve():this.dispatchScope.isReentrant(n)?this.doDispatch(n):this.actionQueue.push(n)}async processActionQueue(){for await(let n of this.actionQueue.consume())try{await this.dispatchScope.enter(()=>this.doDispatch(n.item)),n.resolve()}catch(s){n.reject(s)}}async doDispatch(n){this.logger.debug("Dispatch action:",n.kind);let s=this.clientActionForwarder.handle(n),c=this.actionHandlerRegistry.get(n.kind);if(!s&&c.length===0){if(bP.ResponseAction.is(n)){this.logger.debug(`Stale response '${n.kind}' (responseId='${n.responseId}') has no handler; dropping.`);return}throw new vsr.GLSPServerError(`No handler registered for action kind: ${n.kind}`)}let l=[];for(let g of c){let v=await this.executeHandler(g,n);l.push(...v)}l.push(...this.drainPostUpdateQueue(n)),await this.dispatchResponses(l)}async executeHandler(n,s){return(await n.execute(s)).map(l=>non(s,l))}async dispatchResponses(n){for(let s of n)await this.dispatch(s)}async dispatchAll(...n){if(n.length===0)return;let s=[];(0,bP.flatPush)(s,n);for(let c of s)await this.dispatch(c)}dispatchAfterNextUpdate(...n){n.length!==0&&(0,bP.flatPush)(this.postUpdateQueue,n)}request(n){return this.doRequest(n,void 0,!0)}requestUntil(n,s=n.timeout??2e3,c=!1){return this.doRequest(n,s,c)}doRequest(n,s,c){(!n.requestId||n.requestId==="")&&(n.requestId=this.generateRequestId()),n.timeout=s;let l=new bP.Deferred;if(this.pendingRequests.set(n.requestId,l),s!==void 0){let v=setTimeout(()=>{if(this.pendingRequests.delete(n.requestId)){setTimeout(()=>this.requestTimeouts.delete(n.requestId),EGe.STALE_TIMEOUT_GRACE_MS).unref?.();let M=`Request '${n.requestId}' (${n.kind}) timed out after ${s}ms`;c?l.reject(new Error(M)):(this.logger.info(M),l.resolve(void 0))}},s);this.requestTimeouts.set(n.requestId,v)}return this.dispatch(n).catch(v=>{if(this.pendingRequests.delete(n.requestId)){let w=this.requestTimeouts.get(n.requestId);w!==void 0&&(clearTimeout(w),this.requestTimeouts.delete(n.requestId)),l.reject(v)}}),l.promise}drainPostUpdateQueue(n){if(this.postUpdateQueue.length>0&&(bP.UpdateModelAction.is(n)||bP.SetModelAction.is(n))){let s=[...this.postUpdateQueue];return this.postUpdateQueue=[],s}return[]}interceptPendingResponse(n){if(!bP.ResponseAction.hasValidResponseId(n))return!1;let s=this.pendingRequests.get(n.responseId);if(s!==void 0){this.pendingRequests.delete(n.responseId);let l=this.requestTimeouts.get(n.responseId);l!==void 0&&(clearTimeout(l),this.requestTimeouts.delete(n.responseId));let g=this.drainPostUpdateQueue(n);return bP.RejectAction.is(n)?s.reject(new Error(`${n.message}${n.detail?": "+n.detail:""}`)):s.resolve(n),g.length>0&&this.dispatchResponses(g).catch(v=>this.logger.error("Failed to dispatch post-update actions",v)),!0}let c=this.requestTimeouts.get(n.responseId);return c!==void 0&&(clearTimeout(c),this.requestTimeouts.delete(n.responseId),this.logger.debug(`Late response for timed-out request '${n.responseId}', dispatching as normal action`),n.responseId=""),!1}dispose(){this.actionQueue.rejectPending(new Error("ActionDispatcher disposed")),this.actionQueue.stop(),this.pendingRequests.forEach((n,s)=>n.reject(new Error(`Request '${s}' cancelled: dispatcher disposed`))),this.pendingRequests.clear(),this.requestTimeouts.forEach(n=>clearTimeout(n)),this.requestTimeouts.clear(),this.postUpdateQueue=[]}};S1.DefaultActionDispatcher=pT;cN([(0,uN.inject)(eon.ActionHandlerRegistry),aC("design:type",eon.ActionHandlerRegistry)],pT.prototype,"actionHandlerRegistry",void 0);cN([(0,uN.inject)(ton.ClientActionForwarder),aC("design:type",ton.ClientActionForwarder)],pT.prototype,"clientActionForwarder",void 0);cN([(0,uN.inject)(Qin.Logger),aC("design:type",Qin.Logger)],pT.prototype,"logger",void 0);cN([(0,uN.inject)(msr.ClientId),aC("design:type",String)],pT.prototype,"clientId",void 0);cN([(0,uN.inject)(S1.ActionDispatchScope),aC("design:type",Object)],pT.prototype,"dispatchScope",void 0);cN([(0,uN.postConstruct)(),aC("design:type",Function),aC("design:paramtypes",[]),aC("design:returntype",void 0)],pT.prototype,"initialize",null);S1.DefaultActionDispatcher=pT=EGe=cN([(0,uN.injectable)()],pT);function non(o,n){return bP.RequestAction.is(o)&&bP.ResponseAction.is(n)&&(n.responseId=o.requestId),n}r(non,"respond")});var jGe=q(Qme=>{"use strict";Object.defineProperty(Qme,"__esModule",{value:!0});Qme.FeatureModule=void 0;var wsr=en(),ysr=q6(),PGe=class o extends wsr.ContainerModule{static{r(this,"FeatureModule")}static{this.DEBUG_LOG_ENABLED=!1}constructor(n,s={}){super((c,l,g,...v)=>{this.configure(c,g)&&(n(c,l,g,...v),this.debugLog(`Loading of feature module with id '${this.featureId.toString()}' completed`))}),this.featureId=s.featureId??this.createFeatureId(),this.requires=s.requires}createFeatureId(){return Symbol(this.id)}configure(n,s){if(this.debugLog(`Trying to load feature module with id '${this.featureId.toString()}'`),this.isLoaded({isBound:s})){let c=`Could not load feature module. Another module with id '${this.featureId.toString()}' is already loaded`;throw this.debugLog(c),new Error(c)}return this.checkRequirements(s)?(this.debugLog(`Requirements are met, continue loading of feature module with id '${this.featureId.toString()}'`),n(this.featureId).toConstantValue(this.featureId),!0):!1}debugLog(n,...s){o.DEBUG_LOG_ENABLED&&console.log(n,...s)}checkRequirements(n){let s=(0,ysr.asArray)(this.requires??[]);if(s.length===0)return!0;let c=s.filter(l=>!l.isLoaded({isBound:n}));return c.length>0?(this.debugLog(`Could not load feature module. Required modules are not loaded. Feature ids: ${c.map(l=>l.featureId.toString()).join(", ")}`),!1):!0}isLoaded(n){return n.isBound(this.featureId)}};Qme.FeatureModule=PGe});var son=q(e1e=>{"use strict";Object.defineProperty(e1e,"__esModule",{value:!0});e1e.initializeContainer=_sr;e1e.resolveContainerConfiguration=oon;var lN=q6(),ron=Ba(),ion=jGe();function _sr(o,...n){let s=oon(...n);return o.load(...s),o}r(_sr,"initializeContainer");function oon(...o){let n=[];o.forEach(l=>{Ssr(l)?(0,lN.distinctAdd)(n,l):(l.remove&&(0,lN.remove)(n,...(0,lN.asArray)(l.remove)),l.add&&(0,lN.distinctAdd)(n,...(0,lN.asArray)(l.add)),l.replace&&(0,lN.asArray)(l.replace).forEach(g=>{let v=n.findIndex(w=>w instanceof ion.FeatureModule&&w.featureId===g.featureId);v>=0?n[v]=g:(console.warn(`Could not find module to replace with feature id ${g.featureId.toString()}.Adding replacement module to the end of the resolved configurations.`),(0,lN.distinctAdd)(n,g))}))});let s=new Set,c=[];if(n.forEach(l=>{l instanceof ion.FeatureModule&&(s.has(l.featureId)?c.push(l):s.add(l.featureId))}),c.length>0){let l=c.map(g=>g.featureId.toString()).join(", ");throw new Error(`Could not resolve container configuration. Non-unique feature ids found in container configuration: ${l}`)}return n}r(oon,"resolveContainerConfiguration");function Ssr(o){return(0,ron.hasNumberProp)(o,"id")&&(0,ron.hasFunctionProp)(o,"registry")}r(Ssr,"isContainerModule")});var aon=q(vX=>{"use strict";Object.defineProperty(vX,"__esModule",{value:!0});vX.bindOrRebind=Osr;vX.lazyBind=Esr;vX.bindAsService=Psr;function Osr(o,n){return o.isBound(n)?o.rebind(n):o.bind(n)}r(Osr,"bindOrRebind");function Esr(o,n){if(!o.isBound(n))return o.bind(n)}r(Esr,"lazyBind");function Psr(o,n,s){let c=typeof o=="object"?o.bind.bind(o):o;c(s).toSelf().inSingletonScope(),c(n).toService(s)}r(Psr,"bindAsService")});var con=q(cC=>{"use strict";Object.defineProperty(cC,"__esModule",{value:!0});cC.DefaultLazyInjector=cC.LazyInjector=void 0;cC.bindLazyInjector=Msr;var jsr=en();cC.LazyInjector=Symbol("LazyInjector");var t1e=class{static{r(this,"DefaultLazyInjector")}constructor(n){this.container=n,this.cache=new Map}get(n){let s=this.getOptional(n);if(s===void 0)throw new Error("No matching bindings found for serviceIdentifier:"+(0,jsr.getServiceIdentifierAsString)(n));return s}getOptional(n){if(this.cache.has(n))return this.cache.get(n);let s=this.container.isBound(n)?this.container.get(n):void 0;return this.cache.set(n,s),s}getAll(n){if(this.cache.has(n))return this.cache.get(n);let s=this.container.isBound(n)?this.container.getAll(n):[];return this.cache.set(n,s),s}};cC.DefaultLazyInjector=t1e;function Msr(o){(typeof o=="object"?o.bind.bind(o):o)(cC.LazyInjector).toDynamicValue(s=>new t1e(s.container))}r(Msr,"bindLazyInjector")});var fon=q(lon=>{"use strict";Object.defineProperty(lon,"__esModule",{value:!0});var uon=en(),Tsr=RFe();(0,uon.decorate)((0,uon.injectable)(),Tsr.JsonrpcClientProxy)});var MGe=q(w2=>{"use strict";var Isr=w2&&w2.__createBinding||(Object.create?(function(o,n,s,c){c===void 0&&(c=s);var l=Object.getOwnPropertyDescriptor(n,s);(!l||("get"in l?!n.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:r(function(){return n[s]},"get")}),Object.defineProperty(o,c,l)}):(function(o,n,s,c){c===void 0&&(c=s),o[c]=n[s]})),wX=w2&&w2.__exportStar||function(o,n){for(var s in o)s!=="default"&&!Object.prototype.hasOwnProperty.call(n,s)&&Isr(n,o,s)};Object.defineProperty(w2,"__esModule",{value:!0});wX(son(),w2);wX(jGe(),w2);wX(aon(),w2);wX(con(),w2);wX(fon(),w2)});var n1e=q(yX=>{"use strict";Object.defineProperty(yX,"__esModule",{value:!0});yX.TEMPORARY_CLIENT_ID=void 0;yX.createClientSessionModule=Rsr;var Asr=Gr(),Csr=MGe(),$sr=en(),don=v1();yX.TEMPORARY_CLIENT_ID="tempId";function Rsr(o){return new $sr.ContainerModule((n,s,c,l)=>{let g={bind:n,unbind:s,isBound:c,rebind:l};(0,Csr.bindOrRebind)(g,don.ClientId).toConstantValue(o.clientId),n(Asr.GLSPClientProxy).toConstantValue(o.glspClient),n(don.ClientActionKinds).toConstantValue(new Set(o.clientActionKinds))})}r(Rsr,"createClientSessionModule")});var _X=q(r1e=>{"use strict";Object.defineProperty(r1e,"__esModule",{value:!0});r1e.ClientSessionInitializer=void 0;r1e.ClientSessionInitializer=Symbol("ClientSessionInitializer")});var o1e=q(Cv=>{"use strict";var ksr=Cv&&Cv.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Dsr=Cv&&Cv.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},hon=Cv&&Cv.__param||function(o,n){return function(s,c){n(s,c,o)}};Object.defineProperty(Cv,"__esModule",{value:!0});Cv.DefaultGlobalActionProvider=Cv.GlobalActionProvider=void 0;var Nsr=Gr(),i1e=en(),pon=n1e(),gon=v1(),qsr=_X(),xsr=mX();Cv.GlobalActionProvider=Symbol("GlobalActionProvider");var TGe=class{static{r(this,"DefaultGlobalActionProvider")}constructor(n,s){this.actionKinds=new Map,s.forEach((c,l)=>{let g=this.createDiagramContainer(n,c);g.getAll(qsr.ClientSessionInitializer).forEach(w=>w.initialize()),this.loadActionKinds(l,g),g.unbindAll()})}createDiagramContainer(n,s){let c=n.createChild(),l=(0,pon.createClientSessionModule)({clientId:pon.TEMPORARY_CLIENT_ID,glspClient:{process:r(()=>{},"process")},clientActionKinds:[]});return c.load(...s,l),c}loadActionKinds(n,s){let c=s.get(xsr.ActionHandlerRegistry),l=this.actionKinds.get(n)??[];c.getAll().forEach(g=>(0,Nsr.distinctAdd)(l,...g.actionKinds)),this.actionKinds.set(n,l)}};Cv.DefaultGlobalActionProvider=TGe;Cv.DefaultGlobalActionProvider=TGe=ksr([(0,i1e.injectable)(),hon(0,(0,i1e.inject)(gon.InjectionContainer)),hon(1,(0,i1e.inject)(gon.DiagramModules)),Dsr("design:paramtypes",[i1e.Container,Map])],TGe)});var a1e=q(cB=>{"use strict";Object.defineProperty(cB,"__esModule",{value:!0});cB.CompoundCommand=cB.Command=void 0;var Lsr=Gr(),s1e;(function(o){function n(s){return s.canUndo?.()??!0}r(n,"canUndo"),o.canUndo=n})(s1e||(cB.Command=s1e={}));var IGe=class{static{r(this,"CompoundCommand")}constructor(...n){this.commands=[],(0,Lsr.flatPush)(this.commands,n)}async execute(){let n=[];try{for(let s of this.commands)await s.execute(),n.unshift(s)}catch(s){for(let c of n)if(s1e.canUndo(c))await c.undo();else break;throw s}}async undo(){let n=[];try{for(let s of[...this.commands].reverse())await s.undo(),n.unshift(s)}catch(s){for(let c of n)await c.redo();throw s}}async redo(){let n=[];try{for(let s of this.commands)await s.redo(),n.unshift(s)}catch(s){for(let c of n)await c.undo();throw s}}canUndo(){return this.commands.every(s1e.canUndo)}};cB.CompoundCommand=IGe});var fN=q(y2=>{"use strict";var bon=y2&&y2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Bsr=y2&&y2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(y2,"__esModule",{value:!0});y2.DefaultCommandStack=y2.CommandStack=void 0;var von=en(),mon=Ed(),Fsr=a1e();y2.CommandStack=Symbol("CommandStack");var c1e=class{static{r(this,"DefaultCommandStack")}constructor(){this.commands=[],this.top=-1,this.saveIndex=-1}async execute(n){try{await n.execute()}catch(s){this.handleError(s)}this.commands=this.commands.slice(0,this.top+1),this.commands.push(n),++this.top,this.saveIndex>=this.top&&(this.saveIndex=-2)}async undo(){if(this.canUndo()){let n=this.commands[this.top--];try{await n.undo()}catch(s){this.handleError(s)}}}canUndo(){return this.top!==-1?Fsr.Command.canUndo(this.commands[this.top]):!1}async redo(){if(this.canRedo()){let n=this.commands[++this.top];try{await n.redo()}catch(s){this.handleError(s)}}}canRedo(){return this.top<this.commands.length-1}get isDirty(){return this.saveIndex!==this.top}saveIsDone(){this.saveIndex=this.top}flush(){this.commands=[],this.top=-1,this.saveIndex=-1}handleError(n){throw this.flush(),this.logger.error("An error occurred during command execution. CommandStack will be flushed!",n),n}};y2.DefaultCommandStack=c1e;bon([(0,von.inject)(mon.Logger),Bsr("design:type",mon.Logger)],c1e.prototype,"logger",void 0);y2.DefaultCommandStack=c1e=bon([(0,von.injectable)()],c1e)});var u1e=q(o0=>{"use strict";var zsr=o0&&o0.__extends||(function(){var o=r(function(n,s){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,l){c.__proto__=l}||function(c,l){for(var g in l)l.hasOwnProperty(g)&&(c[g]=l[g])},o(n,s)},"extendStatics");return function(n,s){o(n,s);function c(){this.constructor=n}r(c,"__"),n.prototype=s===null?Object.create(s):(c.prototype=s.prototype,new c)}})();Object.defineProperty(o0,"__esModule",{value:!0});var Usr=Object.prototype.hasOwnProperty;function $Ge(o,n){return Usr.call(o,n)}r($Ge,"hasOwnProperty");o0.hasOwnProperty=$Ge;function yon(o){if(Array.isArray(o)){for(var n=new Array(o.length),s=0;s<n.length;s++)n[s]=""+s;return n}if(Object.keys)return Object.keys(o);var c=[];for(var l in o)$Ge(o,l)&&c.push(l);return c}r(yon,"_objectKeys");o0._objectKeys=yon;function Gsr(o){switch(typeof o){case"object":return JSON.parse(JSON.stringify(o));case"undefined":return null;default:return o}}r(Gsr,"_deepClone");o0._deepClone=Gsr;function Zsr(o){for(var n=0,s=o.length,c;n<s;){if(c=o.charCodeAt(n),c>=48&&c<=57){n++;continue}return!1}return!0}r(Zsr,"isInteger");o0.isInteger=Zsr;function AGe(o){return o.indexOf("/")===-1&&o.indexOf("~")===-1?o:o.replace(/~/g,"~0").replace(/\//g,"~1")}r(AGe,"escapePathComponent");o0.escapePathComponent=AGe;function Hsr(o){return o.replace(/~1/g,"/").replace(/~0/g,"~")}r(Hsr,"unescapePathComponent");o0.unescapePathComponent=Hsr;function RGe(o,n){var s;for(var c in o)if($Ge(o,c)){if(o[c]===n)return AGe(c)+"/";if(typeof o[c]=="object"&&(s=RGe(o[c],n),s!=""))return AGe(c)+"/"+s}return""}r(RGe,"_getPathRecursive");o0._getPathRecursive=RGe;function Jsr(o,n){if(o===n)return"/";var s=RGe(o,n);if(s==="")throw new Error("Object not found in root");return"/"+s}r(Jsr,"getPath");o0.getPath=Jsr;function CGe(o){if(o===void 0)return!0;if(o){if(Array.isArray(o)){for(var n=0,s=o.length;n<s;n++)if(CGe(o[n]))return!0}else if(typeof o=="object"){for(var c=yon(o),l=c.length,g=0;g<l;g++)if(CGe(o[c[g]]))return!0}}return!1}r(CGe,"hasUndefined");o0.hasUndefined=CGe;function won(o,n){var s=[o];for(var c in n){var l=typeof n[c]=="object"?JSON.stringify(n[c],null,2):n[c];typeof l<"u"&&s.push(c+": "+l)}return s.join(`
71
+ `))}_onEvent(n,s){function c(l){n==="error"&&!this.transports.includes(s)&&this.add(s),this.emit(n,l,s)}r(c,"transportEvent"),s["__winston"+n]||(s["__winston"+n]=c.bind(this),s.on(n,s["__winston"+n]))}_addDefaultMeta(n){this.defaultMeta&&Object.assign(n,this.defaultMeta)}};function dX(o,n){let s=o[n];return!s&&s!==0?null:s}r(dX,"getLevelValue");Object.defineProperty(Ume.prototype,"transports",{configurable:!1,enumerable:!0,get(){let{pipes:o}=this._readableState;return Array.isArray(o)?o:[o].filter(Boolean)}});zin.exports=Ume});var pGe=q((E_i,Uin)=>{"use strict";var{LEVEL:esr}=oh(),tsr=Nme(),nsr=zme(),rsr=aX()("winston:create-logger");function isr(o){return"is"+o.charAt(0).toUpperCase()+o.slice(1)+"Enabled"}r(isr,"isLevelEnabledFunctionName");Uin.exports=function(o={}){o.levels=o.levels||tsr.npm.levels;class n extends nsr{static{r(this,"DerivedLogger")}constructor(l){super(l)}}let s=new n(o);return Object.keys(o.levels).forEach(function(c){if(rsr('Define prototype method for "%s"',c),c==="log"){console.warn('Level "log" not defined: conflicts with the method "log". Use a different level name.');return}n.prototype[c]=function(...l){let g=this||s;if(l.length===1){let[v]=l,w=v&&v.message&&v||{message:v};return w.level=w[esr]=c,g._addDefaultMeta(w),g.write(w),this||s}return l.length===0?(g.log(c,""),g):g.log(c,...l)},n.prototype[isr(c)]=function(){return(this||s).isLevelEnabled(c)}}),s}});var Zin=q((M_i,Gin)=>{"use strict";var osr=pGe();Gin.exports=class{static{r(this,"Container")}constructor(n={}){this.loggers=new Map,this.options=n}add(n,s){if(!this.loggers.has(n)){s=Object.assign({},s||this.options);let c=s.transports||this.options.transports;c?s.transports=Array.isArray(c)?c.slice():[c]:s.transports=[];let l=osr(s);l.on("close",()=>this._delete(n)),this.loggers.set(n,l)}return this.loggers.get(n)}get(n,s){return this.add(n,s)}has(n){return!!this.loggers.has(n)}close(n){if(n)return this._removeLogger(n);this.loggers.forEach((s,c)=>this._removeLogger(c))}_removeLogger(n){if(!this.loggers.has(n))return;this.loggers.get(n).close(),this._delete(n)}_delete(n){this.loggers.delete(n)}}});var Jin=q(Su=>{"use strict";var Hin=aUe(),{warn:hX}=cUe();Su.version=ztn().version;Su.transports=vin();Su.config=Nme();Su.addColors=Hin.levels;Su.format=Hin.format;Su.createLogger=pGe();Su.Logger=zme();Su.ExceptionHandler=lGe();Su.RejectionHandler=dGe();Su.Container=Zin();Su.Transport=eB();Su.loggers=new Su.Container;var mP=Su.createLogger();Object.keys(Su.config.npm.levels).concat(["log","query","stream","add","remove","clear","profile","startTimer","handleExceptions","unhandleExceptions","handleRejections","unhandleRejections","configure","child"]).forEach(o=>Su[o]=(...n)=>mP[o](...n));Object.defineProperty(Su,"level",{get(){return mP.level},set(o){mP.level=o}});Object.defineProperty(Su,"exceptions",{get(){return mP.exceptions}});Object.defineProperty(Su,"rejections",{get(){return mP.rejections}});["exitOnError"].forEach(o=>{Object.defineProperty(Su,o,{get(){return mP[o]},set(n){mP[o]=n}})});Object.defineProperty(Su,"default",{get(){return{exceptionHandlers:mP.exceptionHandlers,rejectionHandlers:mP.rejectionHandlers,transports:mP.transports}}});hX.deprecated(Su,"setLevels");hX.forFunctions(Su,"useFormat",["cli"]);hX.forProperties(Su,"useFormat",["padLevels","stripColors"]);hX.forFunctions(Su,"deprecated",["addRewriter","addFilter","clone","extend"]);hX.forProperties(Su,"deprecated",["emitErrs","levelLength"])});var mGe=q(Gme=>{"use strict";Object.defineProperty(Gme,"__esModule",{value:!0});Gme.ActionQueue=void 0;var gGe=class{static{r(this,"ActionQueue")}constructor(){this.queue=[],this.stopped=!1,this.consuming=!1}push(n){return this.stopped?Promise.reject(new Error("ActionQueue is stopped")):new Promise((s,c)=>{this.queue.push({item:n,resolve:s,reject:c}),this.notify?.()})}async*consume(){if(this.consuming)throw new Error("ActionQueue supports only a single consumer");this.consuming=!0;try{for(;!this.stopped||this.queue.length>0;){for(;this.queue.length>0;)yield this.queue.shift();if(this.stopped)return;await new Promise(n=>{this.notify=n}),this.notify=void 0}}finally{this.consuming=!1}}stop(){this.stopped=!0,this.notify?.()}rejectPending(n=new Error("ActionQueue cleared")){let s=this.queue;this.queue=[];for(let c of s)c.reject(n)}get size(){return this.queue.length}get isStopped(){return this.stopped}};Gme.ActionQueue=gGe});var Ed=q(_1=>{"use strict";var ssr=_1&&_1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(_1,"__esModule",{value:!0});_1.LogLevel=_1.LoggerFactory=_1.NullLogger=_1.Logger=void 0;_1.asLogLevel=csr;_1.getRequestParentName=usr;var asr=en(),Zme=class{static{r(this,"Logger")}};_1.Logger=Zme;_1.Logger=Zme=ssr([(0,asr.injectable)()],Zme);var bGe=class extends Zme{static{r(this,"NullLogger")}info(n,...s){}warn(n,...s){}error(n,...s){}debug(n,...s){}};_1.NullLogger=bGe;_1.LoggerFactory=Symbol("LoggerFactory");var Hme;(function(o){o[o.none=0]="none",o[o.error=1]="error",o[o.warn=2]="warn",o[o.info=3]="info",o[o.debug=4]="debug"})(Hme||(_1.LogLevel=Hme={}));function csr(o){let n=o;if(typeof n=="string"&&(n=n.toLowerCase()),n in Hme)return Hme[o]}r(csr,"asLogLevel");function usr(o){if(o.currentRequest.parentRequest){let n=o.currentRequest.parentRequest.bindings;if(n.length>0)return n[0].implementationType?.name}}r(usr,"getRequestParentName")});var aN=q(My=>{"use strict";var wGe=My&&My.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},lsr=My&&My.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(My,"__esModule",{value:!0});My.MultiRegistry=My.Registry=void 0;var fsr=Gr(),yGe=en(),Kin=Ed(),Jme=class{static{r(this,"Registry")}constructor(){this.elements=new Map}register(n,s){return this.hasKey(n)?(this.logger.warn("Could not register key-value pair. Key is already registered",{key:n,value:s}),!1):(this.elements.set(n,s),!0)}deregister(n){return this.elements.delete(n)}hasKey(n){return this.elements.has(n)}get(n){return this.elements.get(n)}getAll(){return[...new Set(this.elements.values())]}keys(){return[...new Set(this.elements.keys())]}};My.Registry=Jme;wGe([(0,yGe.inject)(Kin.Logger),lsr("design:type",Kin.Logger)],Jme.prototype,"logger",void 0);My.Registry=Jme=wGe([(0,yGe.injectable)()],Jme);var vGe=class{static{r(this,"MultiRegistry")}constructor(){this.elements=new Map}register(n,s){let c=this.elements.get(n);c?c.push(s):this.elements.set(n,[s])}deregister(n,s){let c=this.elements.get(n);return c?((0,fsr.remove)(c,s),!0):!1}deregisterAll(n){return this.elements.delete(n)}get(n){let s=this.elements.get(n);return s?[...new Set(s)]:[]}hasKey(n){return this.elements.has(n)}getAll(){let n=[];return Array.from(this.elements.values()).forEach(s=>n.push(...s)),[...new Set(n)]}keys(){return[...new Set(this.elements.keys())]}};My.MultiRegistry=vGe;My.MultiRegistry=vGe=wGe([(0,yGe.injectable)()],vGe)});var Kme=q(sC=>{"use strict";Object.defineProperty(sC,"__esModule",{value:!0});sC.ActionHandlerFactory=sC.ActionHandlerConstructor=sC.ActionHandler=void 0;sC.ActionHandler=Symbol("ActionHandler");sC.ActionHandlerConstructor=Symbol("ActionHandlerConstructor");sC.ActionHandlerFactory=Symbol("ActionHandlerFactory")});var mX=q(Ty=>{"use strict";var gX=Ty&&Ty.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},_Ge=Ty&&Ty.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(Ty,"__esModule",{value:!0});Ty.ActionHandlerRegistryInitializer=Ty.ActionHandlerRegistry=void 0;var sB=en(),dsr=aN(),Vin=Kme(),pX=class extends dsr.MultiRegistry{static{r(this,"ActionHandlerRegistry")}registerHandler(n){return n.actionKinds.forEach(s=>this.register(s,n))}get(n){return super.get(n).sort((c,l)=>c.priority??0-(l.priority??0))}};Ty.ActionHandlerRegistry=pX;Ty.ActionHandlerRegistry=pX=gX([(0,sB.injectable)()],pX);var aB=class{static{r(this,"ActionHandlerRegistryInitializer")}constructor(){this.handlerConstructors=[]}initialize(n){this.handlerConstructors.map(c=>this.factory(c)).forEach(c=>this.registry.registerHandler(c))}};Ty.ActionHandlerRegistryInitializer=aB;gX([(0,sB.inject)(Vin.ActionHandlerFactory),_Ge("design:type",Function)],aB.prototype,"factory",void 0);gX([(0,sB.inject)(Vin.ActionHandlerConstructor),(0,sB.optional)(),_Ge("design:type",Array)],aB.prototype,"handlerConstructors",void 0);gX([(0,sB.inject)(pX),_Ge("design:type",pX)],aB.prototype,"registry",void 0);Ty.ActionHandlerRegistryInitializer=aB=gX([(0,sB.injectable)()],aB)});var Wme=q(Vme=>{"use strict";Object.defineProperty(Vme,"__esModule",{value:!0});Vme.ClientAction=void 0;var hsr=Gr(),Win;(function(o){function n(c){return hsr.Action.is(c)&&"__receivedFromClient"in c&&c.__receivedFromClient===!0}r(n,"is"),o.is=n;function s(c){c.__receivedFromClient=!0}r(s,"mark"),o.mark=s})(Win||(Vme.ClientAction=Win={}))});var Yme=q(v2=>{"use strict";var SGe=v2&&v2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},OGe=v2&&v2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},psr=v2&&v2.__param||function(o,n){return function(s,c){n(s,c,o)}};Object.defineProperty(v2,"__esModule",{value:!0});v2.ClientActionForwarder=void 0;var Xin=Gr(),Xme=en(),Yin=v1(),gsr=Wme(),bX=class{static{r(this,"ClientActionForwarder")}constructor(n){this.actionKinds=n}handle(n){if(this.shouldForwardToClient(n)){let s={action:n,clientId:this.clientId};return this.glspClient.process(s),!0}return!1}shouldForwardToClient(n){return gsr.ClientAction.is(n)?!1:this.actionKinds.has(n.kind)||Xin.ResponseAction.hasValidResponseId(n)}};v2.ClientActionForwarder=bX;SGe([(0,Xme.inject)(Xin.GLSPClientProxy),OGe("design:type",Object)],bX.prototype,"glspClient",void 0);SGe([(0,Xme.inject)(Yin.ClientId),OGe("design:type",String)],bX.prototype,"clientId",void 0);v2.ClientActionForwarder=bX=SGe([(0,Xme.injectable)(),psr(0,(0,Xme.inject)(Yin.ClientActionKinds)),OGe("design:paramtypes",[Set])],bX)});var gT=q(S1=>{"use strict";var cN=S1&&S1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},aC=S1&&S1.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},EGe;Object.defineProperty(S1,"__esModule",{value:!0});S1.DefaultActionDispatcher=S1.ActionDispatchScope=S1.ActionDispatcher=void 0;S1.respond=non;var bP=Gr(),uN=en(),msr=v1(),bsr=mGe(),vsr=dm(),Qin=Ed(),eon=mX(),ton=Yme();S1.ActionDispatcher=Symbol("ActionDispatcher");S1.ActionDispatchScope=Symbol("ActionDispatchScope");var pT=class{static{r(this,"DefaultActionDispatcher")}constructor(){this.actionQueue=new bsr.ActionQueue,this.postUpdateQueue=[],this.pendingRequests=new Map,this.requestTimeouts=new Map,this.nextRequestId=1}static{EGe=this}static{this.STALE_TIMEOUT_GRACE_MS=3e4}initialize(){this.processActionQueue().catch(n=>this.logger.error("Action queue processor terminated unexpectedly",n))}generateRequestId(){return`server_${this.clientId}_${this.nextRequestId++}`}dispatch(n){return this.interceptPendingResponse(n)?Promise.resolve():this.dispatchScope.isReentrant(n)?this.doDispatch(n):this.actionQueue.push(n)}async processActionQueue(){for await(let n of this.actionQueue.consume())try{await this.dispatchScope.enter(()=>this.doDispatch(n.item)),n.resolve()}catch(s){n.reject(s)}}async doDispatch(n){this.logger.debug("Dispatch action:",n.kind);let s=this.clientActionForwarder.handle(n),c=this.actionHandlerRegistry.get(n.kind);if(!s&&c.length===0){if(bP.ResponseAction.is(n)){this.logger.debug(`Stale response '${n.kind}' (responseId='${n.responseId}') has no handler; dropping.`);return}throw new vsr.GLSPServerError(`No handler registered for action kind: ${n.kind}`)}let l=[];for(let g of c){let v=await this.executeHandler(g,n);l.push(...v)}l.push(...this.drainPostUpdateQueue(n)),await this.dispatchResponses(l)}async executeHandler(n,s){return(await n.execute(s)).map(l=>non(s,l))}async dispatchResponses(n){for(let s of n)await this.dispatch(s)}async dispatchAll(...n){if(n.length===0)return;let s=[];(0,bP.flatPush)(s,n);for(let c of s)await this.dispatch(c)}dispatchAfterNextUpdate(...n){n.length!==0&&(0,bP.flatPush)(this.postUpdateQueue,n)}request(n){return this.doRequest(n,void 0,!0)}requestUntil(n,s=n.timeout??2e3,c=!1){return this.doRequest(n,s,c)}doRequest(n,s,c){(!n.requestId||n.requestId==="")&&(n.requestId=this.generateRequestId()),n.timeout=s;let l=new bP.Deferred;if(this.pendingRequests.set(n.requestId,l),s!==void 0){let v=setTimeout(()=>{if(this.pendingRequests.delete(n.requestId)){setTimeout(()=>this.requestTimeouts.delete(n.requestId),EGe.STALE_TIMEOUT_GRACE_MS).unref?.();let M=`Request '${n.requestId}' (${n.kind}) timed out after ${s}ms`;c?l.reject(new Error(M)):(this.logger.info(M),l.resolve(void 0))}},s);this.requestTimeouts.set(n.requestId,v)}return this.dispatch(n).catch(v=>{if(this.pendingRequests.delete(n.requestId)){let w=this.requestTimeouts.get(n.requestId);w!==void 0&&(clearTimeout(w),this.requestTimeouts.delete(n.requestId)),l.reject(v)}}),l.promise}drainPostUpdateQueue(n){if(this.postUpdateQueue.length>0&&(bP.UpdateModelAction.is(n)||bP.SetModelAction.is(n))){let s=[...this.postUpdateQueue];return this.postUpdateQueue=[],s}return[]}interceptPendingResponse(n){if(!bP.ResponseAction.hasValidResponseId(n))return!1;let s=this.pendingRequests.get(n.responseId);if(s!==void 0){this.pendingRequests.delete(n.responseId);let l=this.requestTimeouts.get(n.responseId);l!==void 0&&(clearTimeout(l),this.requestTimeouts.delete(n.responseId));let g=this.drainPostUpdateQueue(n);return bP.RejectAction.is(n)?s.reject(new Error(`${n.message}${n.detail?": "+n.detail:""}`)):s.resolve(n),g.length>0&&this.dispatchResponses(g).catch(v=>this.logger.error("Failed to dispatch post-update actions",v)),!0}let c=this.requestTimeouts.get(n.responseId);return c!==void 0&&(clearTimeout(c),this.requestTimeouts.delete(n.responseId),this.logger.debug(`Late response for timed-out request '${n.responseId}', dispatching as normal action`),n.responseId=""),!1}dispose(){this.actionQueue.rejectPending(new Error("ActionDispatcher disposed")),this.actionQueue.stop(),this.pendingRequests.forEach((n,s)=>n.reject(new Error(`Request '${s}' cancelled: dispatcher disposed`))),this.pendingRequests.clear(),this.requestTimeouts.forEach(n=>clearTimeout(n)),this.requestTimeouts.clear(),this.postUpdateQueue=[]}};S1.DefaultActionDispatcher=pT;cN([(0,uN.inject)(eon.ActionHandlerRegistry),aC("design:type",eon.ActionHandlerRegistry)],pT.prototype,"actionHandlerRegistry",void 0);cN([(0,uN.inject)(ton.ClientActionForwarder),aC("design:type",ton.ClientActionForwarder)],pT.prototype,"clientActionForwarder",void 0);cN([(0,uN.inject)(Qin.Logger),aC("design:type",Qin.Logger)],pT.prototype,"logger",void 0);cN([(0,uN.inject)(msr.ClientId),aC("design:type",String)],pT.prototype,"clientId",void 0);cN([(0,uN.inject)(S1.ActionDispatchScope),aC("design:type",Object)],pT.prototype,"dispatchScope",void 0);cN([(0,uN.postConstruct)(),aC("design:type",Function),aC("design:paramtypes",[]),aC("design:returntype",void 0)],pT.prototype,"initialize",null);S1.DefaultActionDispatcher=pT=EGe=cN([(0,uN.injectable)()],pT);function non(o,n){return bP.RequestAction.is(o)&&bP.ResponseAction.is(n)&&(n.responseId=o.requestId),n}r(non,"respond")});var jGe=q(Qme=>{"use strict";Object.defineProperty(Qme,"__esModule",{value:!0});Qme.FeatureModule=void 0;var wsr=en(),ysr=q6(),PGe=class o extends wsr.ContainerModule{static{r(this,"FeatureModule")}static{this.DEBUG_LOG_ENABLED=!1}constructor(n,s={}){super((c,l,g,...v)=>{this.configure(c,g)&&(n(c,l,g,...v),this.debugLog(`Loading of feature module with id '${this.featureId.toString()}' completed`))}),this.featureId=s.featureId??this.createFeatureId(),this.requires=s.requires}createFeatureId(){return Symbol(this.id)}configure(n,s){if(this.debugLog(`Trying to load feature module with id '${this.featureId.toString()}'`),this.isLoaded({isBound:s})){let c=`Could not load feature module. Another module with id '${this.featureId.toString()}' is already loaded`;throw this.debugLog(c),new Error(c)}return this.checkRequirements(s)?(this.debugLog(`Requirements are met, continue loading of feature module with id '${this.featureId.toString()}'`),n(this.featureId).toConstantValue(this.featureId),!0):!1}debugLog(n,...s){o.DEBUG_LOG_ENABLED&&console.log(n,...s)}checkRequirements(n){let s=(0,ysr.asArray)(this.requires??[]);if(s.length===0)return!0;let c=s.filter(l=>!l.isLoaded({isBound:n}));return c.length>0?(this.debugLog(`Could not load feature module. Required modules are not loaded. Feature ids: ${c.map(l=>l.featureId.toString()).join(", ")}`),!1):!0}isLoaded(n){return n.isBound(this.featureId)}};Qme.FeatureModule=PGe});var son=q(e1e=>{"use strict";Object.defineProperty(e1e,"__esModule",{value:!0});e1e.initializeContainer=_sr;e1e.resolveContainerConfiguration=oon;var lN=q6(),ron=Ba(),ion=jGe();function _sr(o,...n){let s=oon(...n);return o.load(...s),o}r(_sr,"initializeContainer");function oon(...o){let n=[];o.forEach(l=>{Ssr(l)?(0,lN.distinctAdd)(n,l):(l.remove&&(0,lN.remove)(n,...(0,lN.asArray)(l.remove)),l.add&&(0,lN.distinctAdd)(n,...(0,lN.asArray)(l.add)),l.replace&&(0,lN.asArray)(l.replace).forEach(g=>{let v=n.findIndex(w=>w instanceof ion.FeatureModule&&w.featureId===g.featureId);v>=0?n[v]=g:(console.warn(`Could not find module to replace with feature id ${g.featureId.toString()}.Adding replacement module to the end of the resolved configurations.`),(0,lN.distinctAdd)(n,g))}))});let s=new Set,c=[];if(n.forEach(l=>{l instanceof ion.FeatureModule&&(s.has(l.featureId)?c.push(l):s.add(l.featureId))}),c.length>0){let l=c.map(g=>g.featureId.toString()).join(", ");throw new Error(`Could not resolve container configuration. Non-unique feature ids found in container configuration: ${l}`)}return n}r(oon,"resolveContainerConfiguration");function Ssr(o){return(0,ron.hasNumberProp)(o,"id")&&(0,ron.hasFunctionProp)(o,"registry")}r(Ssr,"isContainerModule")});var aon=q(vX=>{"use strict";Object.defineProperty(vX,"__esModule",{value:!0});vX.bindOrRebind=Osr;vX.lazyBind=Esr;vX.bindAsService=Psr;function Osr(o,n){return o.isBound(n)?o.rebind(n):o.bind(n)}r(Osr,"bindOrRebind");function Esr(o,n){if(!o.isBound(n))return o.bind(n)}r(Esr,"lazyBind");function Psr(o,n,s){let c=typeof o=="object"?o.bind.bind(o):o;c(s).toSelf().inSingletonScope(),c(n).toService(s)}r(Psr,"bindAsService")});var con=q(cC=>{"use strict";Object.defineProperty(cC,"__esModule",{value:!0});cC.DefaultLazyInjector=cC.LazyInjector=void 0;cC.bindLazyInjector=Msr;var jsr=en();cC.LazyInjector=Symbol("LazyInjector");var t1e=class{static{r(this,"DefaultLazyInjector")}constructor(n){this.container=n,this.cache=new Map,this.multiCache=new Map}get(n){let s=this.getOptional(n);if(s===void 0)throw new Error("No matching bindings found for serviceIdentifier:"+(0,jsr.getServiceIdentifierAsString)(n));return s}getOptional(n){if(this.cache.has(n))return this.cache.get(n);if(!this.container.isBound(n))return;let s=this.container.get(n);return this.cache.set(n,s),s}getAll(n){if(this.multiCache.has(n))return this.multiCache.get(n);if(!this.container.isBound(n))return[];let s=this.container.getAll(n);return this.multiCache.set(n,s),s}};cC.DefaultLazyInjector=t1e;function Msr(o){(typeof o=="object"?o.bind.bind(o):o)(cC.LazyInjector).toDynamicValue(s=>new t1e(s.container))}r(Msr,"bindLazyInjector")});var fon=q(lon=>{"use strict";Object.defineProperty(lon,"__esModule",{value:!0});var uon=en(),Tsr=RFe();(0,uon.decorate)((0,uon.injectable)(),Tsr.JsonrpcClientProxy)});var MGe=q(w2=>{"use strict";var Isr=w2&&w2.__createBinding||(Object.create?(function(o,n,s,c){c===void 0&&(c=s);var l=Object.getOwnPropertyDescriptor(n,s);(!l||("get"in l?!n.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:r(function(){return n[s]},"get")}),Object.defineProperty(o,c,l)}):(function(o,n,s,c){c===void 0&&(c=s),o[c]=n[s]})),wX=w2&&w2.__exportStar||function(o,n){for(var s in o)s!=="default"&&!Object.prototype.hasOwnProperty.call(n,s)&&Isr(n,o,s)};Object.defineProperty(w2,"__esModule",{value:!0});wX(son(),w2);wX(jGe(),w2);wX(aon(),w2);wX(con(),w2);wX(fon(),w2)});var n1e=q(yX=>{"use strict";Object.defineProperty(yX,"__esModule",{value:!0});yX.TEMPORARY_CLIENT_ID=void 0;yX.createClientSessionModule=Rsr;var Asr=Gr(),Csr=MGe(),$sr=en(),don=v1();yX.TEMPORARY_CLIENT_ID="tempId";function Rsr(o){return new $sr.ContainerModule((n,s,c,l)=>{let g={bind:n,unbind:s,isBound:c,rebind:l};(0,Csr.bindOrRebind)(g,don.ClientId).toConstantValue(o.clientId),n(Asr.GLSPClientProxy).toConstantValue(o.glspClient),n(don.ClientActionKinds).toConstantValue(new Set(o.clientActionKinds))})}r(Rsr,"createClientSessionModule")});var _X=q(r1e=>{"use strict";Object.defineProperty(r1e,"__esModule",{value:!0});r1e.ClientSessionInitializer=void 0;r1e.ClientSessionInitializer=Symbol("ClientSessionInitializer")});var o1e=q(Cv=>{"use strict";var ksr=Cv&&Cv.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Dsr=Cv&&Cv.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},hon=Cv&&Cv.__param||function(o,n){return function(s,c){n(s,c,o)}};Object.defineProperty(Cv,"__esModule",{value:!0});Cv.DefaultGlobalActionProvider=Cv.GlobalActionProvider=void 0;var Nsr=Gr(),i1e=en(),pon=n1e(),gon=v1(),qsr=_X(),xsr=mX();Cv.GlobalActionProvider=Symbol("GlobalActionProvider");var TGe=class{static{r(this,"DefaultGlobalActionProvider")}constructor(n,s){this.actionKinds=new Map,s.forEach((c,l)=>{let g=this.createDiagramContainer(n,c);g.getAll(qsr.ClientSessionInitializer).forEach(w=>w.initialize()),this.loadActionKinds(l,g),g.unbindAll()})}createDiagramContainer(n,s){let c=n.createChild(),l=(0,pon.createClientSessionModule)({clientId:pon.TEMPORARY_CLIENT_ID,glspClient:{process:r(()=>{},"process")},clientActionKinds:[]});return c.load(...s,l),c}loadActionKinds(n,s){let c=s.get(xsr.ActionHandlerRegistry),l=this.actionKinds.get(n)??[];c.getAll().forEach(g=>(0,Nsr.distinctAdd)(l,...g.actionKinds)),this.actionKinds.set(n,l)}};Cv.DefaultGlobalActionProvider=TGe;Cv.DefaultGlobalActionProvider=TGe=ksr([(0,i1e.injectable)(),hon(0,(0,i1e.inject)(gon.InjectionContainer)),hon(1,(0,i1e.inject)(gon.DiagramModules)),Dsr("design:paramtypes",[i1e.Container,Map])],TGe)});var a1e=q(cB=>{"use strict";Object.defineProperty(cB,"__esModule",{value:!0});cB.CompoundCommand=cB.Command=void 0;var Lsr=Gr(),s1e;(function(o){function n(s){return s.canUndo?.()??!0}r(n,"canUndo"),o.canUndo=n})(s1e||(cB.Command=s1e={}));var IGe=class{static{r(this,"CompoundCommand")}constructor(...n){this.commands=[],(0,Lsr.flatPush)(this.commands,n)}async execute(){let n=[];try{for(let s of this.commands)await s.execute(),n.unshift(s)}catch(s){for(let c of n)if(s1e.canUndo(c))await c.undo();else break;throw s}}async undo(){let n=[];try{for(let s of[...this.commands].reverse())await s.undo(),n.unshift(s)}catch(s){for(let c of n)await c.redo();throw s}}async redo(){let n=[];try{for(let s of this.commands)await s.redo(),n.unshift(s)}catch(s){for(let c of n)await c.undo();throw s}}canUndo(){return this.commands.every(s1e.canUndo)}};cB.CompoundCommand=IGe});var fN=q(y2=>{"use strict";var bon=y2&&y2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Bsr=y2&&y2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(y2,"__esModule",{value:!0});y2.DefaultCommandStack=y2.CommandStack=void 0;var von=en(),mon=Ed(),Fsr=a1e();y2.CommandStack=Symbol("CommandStack");var c1e=class{static{r(this,"DefaultCommandStack")}constructor(){this.commands=[],this.top=-1,this.saveIndex=-1}async execute(n){try{await n.execute()}catch(s){this.handleError(s)}this.commands=this.commands.slice(0,this.top+1),this.commands.push(n),++this.top,this.saveIndex>=this.top&&(this.saveIndex=-2)}async undo(){if(this.canUndo()){let n=this.commands[this.top--];try{await n.undo()}catch(s){this.handleError(s)}}}canUndo(){return this.top!==-1?Fsr.Command.canUndo(this.commands[this.top]):!1}async redo(){if(this.canRedo()){let n=this.commands[++this.top];try{await n.redo()}catch(s){this.handleError(s)}}}canRedo(){return this.top<this.commands.length-1}get isDirty(){return this.saveIndex!==this.top}saveIsDone(){this.saveIndex=this.top}flush(){this.commands=[],this.top=-1,this.saveIndex=-1}handleError(n){throw this.flush(),this.logger.error("An error occurred during command execution. CommandStack will be flushed!",n),n}};y2.DefaultCommandStack=c1e;bon([(0,von.inject)(mon.Logger),Bsr("design:type",mon.Logger)],c1e.prototype,"logger",void 0);y2.DefaultCommandStack=c1e=bon([(0,von.injectable)()],c1e)});var u1e=q(o0=>{"use strict";var zsr=o0&&o0.__extends||(function(){var o=r(function(n,s){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,l){c.__proto__=l}||function(c,l){for(var g in l)l.hasOwnProperty(g)&&(c[g]=l[g])},o(n,s)},"extendStatics");return function(n,s){o(n,s);function c(){this.constructor=n}r(c,"__"),n.prototype=s===null?Object.create(s):(c.prototype=s.prototype,new c)}})();Object.defineProperty(o0,"__esModule",{value:!0});var Usr=Object.prototype.hasOwnProperty;function $Ge(o,n){return Usr.call(o,n)}r($Ge,"hasOwnProperty");o0.hasOwnProperty=$Ge;function yon(o){if(Array.isArray(o)){for(var n=new Array(o.length),s=0;s<n.length;s++)n[s]=""+s;return n}if(Object.keys)return Object.keys(o);var c=[];for(var l in o)$Ge(o,l)&&c.push(l);return c}r(yon,"_objectKeys");o0._objectKeys=yon;function Gsr(o){switch(typeof o){case"object":return JSON.parse(JSON.stringify(o));case"undefined":return null;default:return o}}r(Gsr,"_deepClone");o0._deepClone=Gsr;function Zsr(o){for(var n=0,s=o.length,c;n<s;){if(c=o.charCodeAt(n),c>=48&&c<=57){n++;continue}return!1}return!0}r(Zsr,"isInteger");o0.isInteger=Zsr;function AGe(o){return o.indexOf("/")===-1&&o.indexOf("~")===-1?o:o.replace(/~/g,"~0").replace(/\//g,"~1")}r(AGe,"escapePathComponent");o0.escapePathComponent=AGe;function Hsr(o){return o.replace(/~1/g,"/").replace(/~0/g,"~")}r(Hsr,"unescapePathComponent");o0.unescapePathComponent=Hsr;function RGe(o,n){var s;for(var c in o)if($Ge(o,c)){if(o[c]===n)return AGe(c)+"/";if(typeof o[c]=="object"&&(s=RGe(o[c],n),s!=""))return AGe(c)+"/"+s}return""}r(RGe,"_getPathRecursive");o0._getPathRecursive=RGe;function Jsr(o,n){if(o===n)return"/";var s=RGe(o,n);if(s==="")throw new Error("Object not found in root");return"/"+s}r(Jsr,"getPath");o0.getPath=Jsr;function CGe(o){if(o===void 0)return!0;if(o){if(Array.isArray(o)){for(var n=0,s=o.length;n<s;n++)if(CGe(o[n]))return!0}else if(typeof o=="object"){for(var c=yon(o),l=c.length,g=0;g<l;g++)if(CGe(o[c[g]]))return!0}}return!1}r(CGe,"hasUndefined");o0.hasUndefined=CGe;function won(o,n){var s=[o];for(var c in n){var l=typeof n[c]=="object"?JSON.stringify(n[c],null,2):n[c];typeof l<"u"&&s.push(c+": "+l)}return s.join(`
72
72
  `)}r(won,"patchErrorMessageFormatter");var Ksr=(function(o){zsr(n,o);function n(s,c,l,g,v){var w=this.constructor,M=o.call(this,won(s,{name:c,index:l,operation:g,tree:v}))||this;return M.name=c,M.index=l,M.operation=g,M.tree=v,Object.setPrototypeOf(M,w.prototype),M.message=won(s,{name:c,index:l,operation:g,tree:v}),M}return r(n,"PatchError"),n})(Error);o0.PatchError=Ksr});var kGe=q(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});var $v=u1e();tc.JsonPatchError=$v.PatchError;tc.deepClone=$v._deepClone;var uB={add:r(function(o,n,s){return o[n]=this.value,{newDocument:s}},"add"),remove:r(function(o,n,s){var c=o[n];return delete o[n],{newDocument:s,removed:c}},"remove"),replace:r(function(o,n,s){var c=o[n];return o[n]=this.value,{newDocument:s,removed:c}},"replace"),move:r(function(o,n,s){var c=l1e(s,this.path);c&&(c=$v._deepClone(c));var l=dN(s,{op:"remove",path:this.from}).removed;return dN(s,{op:"add",path:this.path,value:l}),{newDocument:s,removed:c}},"move"),copy:r(function(o,n,s){var c=l1e(s,this.from);return dN(s,{op:"add",path:this.path,value:$v._deepClone(c)}),{newDocument:s}},"copy"),test:r(function(o,n,s){return{newDocument:s,test:SX(o[n],this.value)}},"test"),_get:r(function(o,n,s){return this.value=o[n],{newDocument:s}},"_get")},Vsr={add:r(function(o,n,s){return $v.isInteger(n)?o.splice(n,0,this.value):o[n]=this.value,{newDocument:s,index:n}},"add"),remove:r(function(o,n,s){var c=o.splice(n,1);return{newDocument:s,removed:c[0]}},"remove"),replace:r(function(o,n,s){var c=o[n];return o[n]=this.value,{newDocument:s,removed:c}},"replace"),move:uB.move,copy:uB.copy,test:uB.test,_get:uB._get};function l1e(o,n){if(n=="")return o;var s={op:"_get",path:n};return dN(o,s),s.value}r(l1e,"getValueByPointer");tc.getValueByPointer=l1e;function dN(o,n,s,c,l,g){if(s===void 0&&(s=!1),c===void 0&&(c=!0),l===void 0&&(l=!0),g===void 0&&(g=0),s&&(typeof s=="function"?s(n,0,o,n.path):f1e(n,0)),n.path===""){var v={newDocument:o};if(n.op==="add")return v.newDocument=n.value,v;if(n.op==="replace")return v.newDocument=n.value,v.removed=o,v;if(n.op==="move"||n.op==="copy")return v.newDocument=l1e(o,n.from),n.op==="move"&&(v.removed=o),v;if(n.op==="test"){if(v.test=SX(o,n.value),v.test===!1)throw new tc.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",g,n,o);return v.newDocument=o,v}else{if(n.op==="remove")return v.removed=o,v.newDocument=null,v;if(n.op==="_get")return n.value=o,v;if(s)throw new tc.JsonPatchError("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",g,n,o);return v}}else{c||(o=$v._deepClone(o));var w=n.path||"",M=w.split("/"),A=o,k=1,F=M.length,K=void 0,re=void 0,ne=void 0;for(typeof s=="function"?ne=s:ne=f1e;;){if(re=M[k],re&&re.indexOf("~")!=-1&&(re=$v.unescapePathComponent(re)),l&&(re=="__proto__"||re=="prototype"&&k>0&&M[k-1]=="constructor"))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(s&&K===void 0&&(A[re]===void 0?K=M.slice(0,k).join("/"):k==F-1&&(K=n.path),K!==void 0&&ne(n,0,o,K)),k++,Array.isArray(A)){if(re==="-")re=A.length;else{if(s&&!$v.isInteger(re))throw new tc.JsonPatchError("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",g,n,o);$v.isInteger(re)&&(re=~~re)}if(k>=F){if(s&&n.op==="add"&&re>A.length)throw new tc.JsonPatchError("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",g,n,o);var v=Vsr[n.op].call(n,A,re,o);if(v.test===!1)throw new tc.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",g,n,o);return v}}else if(k>=F){var v=uB[n.op].call(n,A,re,o);if(v.test===!1)throw new tc.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",g,n,o);return v}if(A=A[re],s&&k<F&&(!A||typeof A!="object"))throw new tc.JsonPatchError("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",g,n,o)}}}r(dN,"applyOperation");tc.applyOperation=dN;function _on(o,n,s,c,l){if(c===void 0&&(c=!0),l===void 0&&(l=!0),s&&!Array.isArray(n))throw new tc.JsonPatchError("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");c||(o=$v._deepClone(o));for(var g=new Array(n.length),v=0,w=n.length;v<w;v++)g[v]=dN(o,n[v],s,!0,l,v),o=g[v].newDocument;return g.newDocument=o,g}r(_on,"applyPatch");tc.applyPatch=_on;function Wsr(o,n,s){var c=dN(o,n);if(c.test===!1)throw new tc.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",s,n,o);return c.newDocument}r(Wsr,"applyReducer");tc.applyReducer=Wsr;function f1e(o,n,s,c){if(typeof o!="object"||o===null||Array.isArray(o))throw new tc.JsonPatchError("Operation is not an object","OPERATION_NOT_AN_OBJECT",n,o,s);if(uB[o.op]){if(typeof o.path!="string")throw new tc.JsonPatchError("Operation `path` property is not a string","OPERATION_PATH_INVALID",n,o,s);if(o.path.indexOf("/")!==0&&o.path.length>0)throw new tc.JsonPatchError('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",n,o,s);if((o.op==="move"||o.op==="copy")&&typeof o.from!="string")throw new tc.JsonPatchError("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",n,o,s);if((o.op==="add"||o.op==="replace"||o.op==="test")&&o.value===void 0)throw new tc.JsonPatchError("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",n,o,s);if((o.op==="add"||o.op==="replace"||o.op==="test")&&$v.hasUndefined(o.value))throw new tc.JsonPatchError("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",n,o,s);if(s){if(o.op=="add"){var l=o.path.split("/").length,g=c.split("/").length;if(l!==g+1&&l!==g)throw new tc.JsonPatchError("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",n,o,s)}else if(o.op==="replace"||o.op==="remove"||o.op==="_get"){if(o.path!==c)throw new tc.JsonPatchError("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",n,o,s)}else if(o.op==="move"||o.op==="copy"){var v={op:"_get",path:o.from,value:void 0},w=Son([v],s);if(w&&w.name==="OPERATION_PATH_UNRESOLVABLE")throw new tc.JsonPatchError("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",n,o,s)}}}else throw new tc.JsonPatchError("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",n,o,s)}r(f1e,"validator");tc.validator=f1e;function Son(o,n,s){try{if(!Array.isArray(o))throw new tc.JsonPatchError("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(n)_on($v._deepClone(n),$v._deepClone(o),s||!0);else{s=s||f1e;for(var c=0;c<o.length;c++)s(o[c],c,n,void 0)}}catch(l){if(l instanceof tc.JsonPatchError)return l;throw l}}r(Son,"validate");tc.validate=Son;function SX(o,n){if(o===n)return!0;if(o&&n&&typeof o=="object"&&typeof n=="object"){var s=Array.isArray(o),c=Array.isArray(n),l,g,v;if(s&&c){if(g=o.length,g!=n.length)return!1;for(l=g;l--!==0;)if(!SX(o[l],n[l]))return!1;return!0}if(s!=c)return!1;var w=Object.keys(o);if(g=w.length,g!==Object.keys(n).length)return!1;for(l=g;l--!==0;)if(!n.hasOwnProperty(w[l]))return!1;for(l=g;l--!==0;)if(v=w[l],!SX(o[v],n[v]))return!1;return!0}return o!==o&&n!==n}r(SX,"_areEquals");tc._areEquals=SX});var Oon=q(lB=>{"use strict";Object.defineProperty(lB,"__esModule",{value:!0});var O1=u1e(),Xsr=kGe(),NGe=new WeakMap,Ysr=(function(){function o(n){this.observers=new Map,this.obj=n}return r(o,"Mirror"),o})(),Qsr=(function(){function o(n,s){this.callback=n,this.observer=s}return r(o,"ObserverInfo"),o})();function ear(o){return NGe.get(o)}r(ear,"getMirror");function tar(o,n){return o.observers.get(n)}r(tar,"getObserverFromMirror");function nar(o,n){o.observers.delete(n.callback)}r(nar,"removeObserverFromMirror");function rar(o,n){n.unobserve()}r(rar,"unobserve");lB.unobserve=rar;function iar(o,n){var s=[],c,l=ear(o);if(!l)l=new Ysr(o),NGe.set(o,l);else{var g=tar(l,n);c=g&&g.observer}if(c)return c;if(c={},l.value=O1._deepClone(o),n){c.callback=n,c.next=null;var v=r(function(){DGe(c)},"dirtyCheck"),w=r(function(){clearTimeout(c.next),c.next=setTimeout(v)},"fastCheck");typeof window<"u"&&(window.addEventListener("mouseup",w),window.addEventListener("keyup",w),window.addEventListener("mousedown",w),window.addEventListener("keydown",w),window.addEventListener("change",w))}return c.patches=s,c.object=o,c.unobserve=function(){DGe(c),clearTimeout(c.next),nar(l,c),typeof window<"u"&&(window.removeEventListener("mouseup",w),window.removeEventListener("keyup",w),window.removeEventListener("mousedown",w),window.removeEventListener("keydown",w),window.removeEventListener("change",w))},l.observers.set(n,new Qsr(n,c)),c}r(iar,"observe");lB.observe=iar;function DGe(o,n){n===void 0&&(n=!1);var s=NGe.get(o.object);qGe(s.value,o.object,o.patches,"",n),o.patches.length&&Xsr.applyPatch(s.value,o.patches);var c=o.patches;return c.length>0&&(o.patches=[],o.callback&&o.callback(c)),c}r(DGe,"generate");lB.generate=DGe;function qGe(o,n,s,c,l){if(n!==o){typeof n.toJSON=="function"&&(n=n.toJSON());for(var g=O1._objectKeys(n),v=O1._objectKeys(o),w=!1,M=!1,A=v.length-1;A>=0;A--){var k=v[A],F=o[k];if(O1.hasOwnProperty(n,k)&&!(n[k]===void 0&&F!==void 0&&Array.isArray(n)===!1)){var K=n[k];typeof F=="object"&&F!=null&&typeof K=="object"&&K!=null&&Array.isArray(F)===Array.isArray(K)?qGe(F,K,s,c+"/"+O1.escapePathComponent(k),l):F!==K&&(w=!0,l&&s.push({op:"test",path:c+"/"+O1.escapePathComponent(k),value:O1._deepClone(F)}),s.push({op:"replace",path:c+"/"+O1.escapePathComponent(k),value:O1._deepClone(K)}))}else Array.isArray(o)===Array.isArray(n)?(l&&s.push({op:"test",path:c+"/"+O1.escapePathComponent(k),value:O1._deepClone(F)}),s.push({op:"remove",path:c+"/"+O1.escapePathComponent(k)}),M=!0):(l&&s.push({op:"test",path:c,value:o}),s.push({op:"replace",path:c,value:n}),w=!0)}if(!(!M&&g.length==v.length))for(var A=0;A<g.length;A++){var k=g[A];!O1.hasOwnProperty(o,k)&&n[k]!==void 0&&s.push({op:"add",path:c+"/"+O1.escapePathComponent(k),value:O1._deepClone(n[k])})}}}r(qGe,"_generate");function oar(o,n,s){s===void 0&&(s=!1);var c=[];return qGe(o,n,c,"",s),c}r(oar,"compare");lB.compare=oar});var Eon=q(hN=>{"use strict";var sar=kGe();Object.assign(hN,sar);var aar=Oon();Object.assign(hN,aar);var d1e=u1e();hN.JsonPatchError=d1e.PatchError;hN.deepClone=d1e._deepClone;hN.escapePathComponent=d1e.escapePathComponent;hN.unescapePathComponent=d1e.unescapePathComponent});var OX=q(Iy=>{"use strict";var car=Iy&&Iy.__createBinding||(Object.create?(function(o,n,s,c){c===void 0&&(c=s);var l=Object.getOwnPropertyDescriptor(n,s);(!l||("get"in l?!n.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:r(function(){return n[s]},"get")}),Object.defineProperty(o,c,l)}):(function(o,n,s,c){c===void 0&&(c=s),o[c]=n[s]})),uar=Iy&&Iy.__setModuleDefault||(Object.create?(function(o,n){Object.defineProperty(o,"default",{enumerable:!0,value:n})}):function(o,n){o.default=n}),lar=Iy&&Iy.__importStar||(function(){var o=r(function(n){return o=Object.getOwnPropertyNames||function(s){var c=[];for(var l in s)Object.prototype.hasOwnProperty.call(s,l)&&(c[c.length]=l);return c},o(n)},"ownKeys");return function(n){if(n&&n.__esModule)return n;var s={};if(n!=null)for(var c=o(n),l=0;l<c.length;l++)c[l]!=="default"&&car(s,n,c[l]);return uar(s,n),s}})();Object.defineProperty(Iy,"__esModule",{value:!0});Iy.GModelRecordingCommand=Iy.AbstractRecordingCommand=void 0;var h1e=lar(Eon()),p1e=class{static{r(this,"AbstractRecordingCommand")}async execute(){let n=this.deepClone(await this.getJsonObject());await this.doExecute();let s=await this.getJsonObject();this.undoPatch=h1e.compare(s,n),this.redoPatch=h1e.compare(n,s),await this.postChange?.(s)}applyPatch(n,s){return h1e.applyPatch(n,s,!1,!0)}deepClone(n){return h1e.deepClone(n)}async undo(){if(this.undoPatch){let n=this.applyPatch(await this.getJsonObject(),this.undoPatch);await this.postChange?.(n.newDocument)}}async redo(){if(this.redoPatch){let n=this.applyPatch(await this.getJsonObject(),this.redoPatch);await this.postChange?.(n.newDocument)}}canUndo(){return!!this.undoPatch&&!!this.redoPatch}};Iy.AbstractRecordingCommand=p1e;var xGe=class extends p1e{static{r(this,"GModelRecordingCommand")}constructor(n,s,c){super(),this.modelState=n,this.serializer=s,this.doExecute=c}getJsonObject(){return this.serializer.createSchema(this.modelState.root)}postChange(n){let s=this.serializer.createRoot(n);this.modelState.updateRoot(s)}};Iy.GModelRecordingCommand=xGe});var EX=q(g1e=>{"use strict";Object.defineProperty(g1e,"__esModule",{value:!0});g1e.LayoutEngine=void 0;g1e.LayoutEngine=Symbol("LayoutEngine")});var PX=q(mT=>{"use strict";var far=mT&&mT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(mT,"__esModule",{value:!0});mT.AbstractModelValidator=mT.ModelValidator=void 0;var Pon=Gr(),dar=en();mT.ModelValidator=Symbol("ModelValidator");var LGe=class{static{r(this,"AbstractModelValidator")}validate(n,s){let c=[];for(let l of n)Pon.MarkersReason.LIVE===s?c.push(...this.doLiveValidation(l)):Pon.MarkersReason.BATCH===s?c.push(...this.doBatchValidation(l)):c.push(...this.doValidationForCustomReason(l)),l.children&&c.push(...this.validate(l.children,s));return c}doLiveValidation(n){return[]}doBatchValidation(n){return[]}doValidationForCustomReason(n){return[]}};mT.AbstractModelValidator=LGe;mT.AbstractModelValidator=LGe=far([(0,dar.injectable)()],LGe)});var jX=q(bT=>{"use strict";var har=bT&&bT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(bT,"__esModule",{value:!0});bT.GModelFactoryNullImpl=bT.GModelFactory=void 0;var par=en();bT.GModelFactory=Symbol("GModelFactory");var BGe=class{static{r(this,"GModelFactoryNullImpl")}createModel(){}};bT.GModelFactoryNullImpl=BGe;bT.GModelFactoryNullImpl=BGe=har([(0,par.injectable)()],BGe)});var pN=q(vT=>{"use strict";var wT=vT&&vT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},uC=vT&&vT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(vT,"__esModule",{value:!0});vT.ModelSubmissionHandler=void 0;var _2=Gr(),S2=en(),gar=gT(),mar=fN(),jon=X6(),bar=EX(),war=PX(),yar=jX(),_ar=p2(),Sar=Pp(),O2=class{static{r(this,"ModelSubmissionHandler")}constructor(){this.liveValidationDelay=100}submitInitialModel(n){return this.requestModelAction=n,this.submitModel()}submitModel(n,s){this.modelFactory.createModel();let c=this.requestModelAction?0:this.modelState.root.revision+1;if(this.modelState.root.revision=c,this.diagramConfiguration.needsClientLayout){let l=this.serializeGModel();return[_2.RequestBoundsAction.create(l),_2.SetDirtyStateAction.create(this.commandStack.isDirty,{reason:n})]}return this.submitModelDirectly(n,s)}async submitModelDirectly(n,s){this.diagramConfiguration.layoutKind===jon.ServerLayoutKind.AUTOMATIC&&this.layoutEngine&&await this.layoutEngine.layout(s);let c=this.serializeGModel(),l=[];if(l.push(this.requestModelAction?this.createSetModeAction(c):_2.UpdateModelAction.create(c,{animate:this.diagramConfiguration.animatedUpdate})),this.diagramConfiguration.needsClientLayout||l.push(_2.SetDirtyStateAction.create(this.commandStack.isDirty,{reason:n})),this.validator){let g=await this.validateModel(this.validator);l.push(...g)}return l}validateModel(n){return this.scheduleLiveValidation(n),[]}scheduleLiveValidation(n){this.debouncedLiveValidation?.cancel(),this.debouncedLiveValidation=(0,_2.debounce)(s=>this.performLiveValidation(s),this.liveValidationDelay),this.debouncedLiveValidation(n)}async performLiveValidation(n){this.actionDispatcher.dispatch(_2.StatusAction.create("Validate Model..."));let s=await n.validate([this.modelState.root],_2.MarkersReason.LIVE);return this.actionDispatcher.dispatchAll(_2.SetMarkersAction.create(s,{reason:_2.MarkersReason.LIVE}),_2.StatusAction.create("",{severity:"NONE"}))}createSetModeAction(n){let s=this.requestModelAction?.requestId??"",c=_2.SetModelAction.create(n,{responseId:s});return this.requestModelAction=void 0,c}serializeGModel(){return this.serializer.createSchema(this.modelState.root)}};vT.ModelSubmissionHandler=O2;wT([(0,S2.inject)(jon.DiagramConfiguration),uC("design:type",Object)],O2.prototype,"diagramConfiguration",void 0);wT([(0,S2.inject)(_ar.GModelSerializer),uC("design:type",Object)],O2.prototype,"serializer",void 0);wT([(0,S2.inject)(yar.GModelFactory),uC("design:type",Object)],O2.prototype,"modelFactory",void 0);wT([(0,S2.inject)(Sar.ModelState),uC("design:type",Object)],O2.prototype,"modelState",void 0);wT([(0,S2.inject)(bar.LayoutEngine),(0,S2.optional)(),uC("design:type",Object)],O2.prototype,"layoutEngine",void 0);wT([(0,S2.inject)(mar.CommandStack),uC("design:type",Object)],O2.prototype,"commandStack",void 0);wT([(0,S2.inject)(war.ModelValidator),(0,S2.optional)(),uC("design:type",Object)],O2.prototype,"validator",void 0);wT([(0,S2.inject)(gar.ActionDispatcher),uC("design:type",Object)],O2.prototype,"actionDispatcher",void 0);vT.ModelSubmissionHandler=O2=wT([(0,S2.injectable)()],O2)});var UGe=q(yT=>{"use strict";var FGe=yT&&yT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Ton=yT&&yT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(yT,"__esModule",{value:!0});yT.UndoRedoActionHandler=void 0;var m1e=Gr(),zGe=en(),Mon=pN(),Oar=fN(),MX=class{static{r(this,"UndoRedoActionHandler")}constructor(){this.actionKinds=[m1e.UndoAction.KIND,m1e.RedoAction.KIND]}execute(n){return m1e.UndoAction.is(n)?this.undo():m1e.RedoAction.is(n)?this.redo():[]}async undo(){return this.commandStack.canUndo()?(await this.commandStack.undo(),this.modelSubmissionHandler.submitModel("undo")):[]}async redo(){return this.commandStack.canRedo()?(await this.commandStack.redo(),this.modelSubmissionHandler.submitModel("redo")):[]}};yT.UndoRedoActionHandler=MX;FGe([(0,zGe.inject)(Oar.CommandStack),Ton("design:type",Object)],MX.prototype,"commandStack",void 0);FGe([(0,zGe.inject)(Mon.ModelSubmissionHandler),Ton("design:type",Mon.ModelSubmissionHandler)],MX.prototype,"modelSubmissionHandler",void 0);yT.UndoRedoActionHandler=MX=FGe([(0,zGe.injectable)()],MX)});var TX=q(_T=>{"use strict";Object.defineProperty(_T,"__esModule",{value:!0});_T.ServiceTarget=_T.ConstantValueTarget=void 0;_T.applyBindingTarget=Aon;_T.applyOptionalBindingTarget=Ear;_T.isConstructor=ZGe;var Ion=Gr();function Aon(o,n,s){if(ZGe(s))return n===s?o.bind(n).toSelf():o.bind(n).to(s);if(b1e.is(s)){if(!o.isBound(s.service))if((s.autoBind===void 0||s.autoBind===!0)&&ZGe(s.service))o.bind(s.service).toSelf().inSingletonScope();else throw new Error(`The target service ${s.service.toString()} is not bound!. Cannot apply target binding`);return o.bind(n).toService(s.service),v1e.serviceSyntax(n,s)}else if(GGe.is(s)){let c=o.bind(n).toConstantValue(s.constantValue);return v1e.constantValueSyntax(n,c)}else return o.bind(n).toDynamicValue(c=>s.dynamicValue(c))}r(Aon,"applyBindingTarget");function Ear(o,n,s){if(s)return Aon(o,n,s)}r(Ear,"applyOptionalBindingTarget");var GGe;(function(o){function n(s){return Ion.AnyObject.is(s)&&"constantValue"in s}r(n,"is"),o.is=n})(GGe||(_T.ConstantValueTarget=GGe={}));var b1e;(function(o){function n(s){return Ion.AnyObject.is(s)&&"service"in s}r(n,"is"),o.is=n})(b1e||(_T.ServiceTarget=b1e={}));var v1e;(function(o){function n(c,l){let g=r(v=>(console.warn(`${c.toString()} has been bound to 'constantValue'. Binding in ${v} scope has no effect.Constant value bindings are effectively Singleton bindings.`),l),"noOpReturn");return{...l,inSingletonScope:r(()=>g("Singleton"),"inSingletonScope"),inRequestScope:r(()=>g("Request"),"inRequestScope"),inTransientScope:r(()=>g("Transient"),"inTransientScope")}}r(n,"constantValueSyntax"),o.constantValueSyntax=n;function s(c,l){let g=r(()=>{let w=`${c.toString()} has been bound to 'service'.Using 'in','when' or 'on' bindings aftera 'toService' binding is not possible.`,M=new Error(w);throw M.name="NoOpInvocation",M},"noOpReturn"),v={onActivation:g,onDeactivation:g,when:g,whenAnyAncestorIs:g,whenAnyAncestorMatches:g,whenAnyAncestorNamed:g,whenAnyAncestorTagged:g,whenInjectedInto:g,whenNoAncestorIs:g,whenNoAncestorMatches:g,whenNoAncestorNamed:g,whenNoAncestorTagged:g,whenParentNamed:g,whenParentTagged:g,whenTargetIsDefault:g,whenTargetNamed:g,whenTargetTagged:g,inRequestScope:g,inSingletonScope:r(()=>b1e.is(l)?v:g(),"inSingletonScope"),inTransientScope:g};return v}r(s,"serviceSyntax"),o.serviceSyntax=s})(v1e||(v1e={}));function ZGe(o){return typeof o=="function"&&!!o.prototype&&!!o.prototype.constructor}r(ZGe,"isConstructor")});var y1e=q(ST=>{"use strict";var Con=ST&&ST.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Par=ST&&ST.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(ST,"__esModule",{value:!0});ST.CommandPaletteActionProvider=void 0;var $on=en(),jar=Pp(),w1e=class{static{r(this,"CommandPaletteActionProvider")}constructor(){this.TEXT="text",this.INDEX="index"}get contextId(){return"command-palette"}getText(n){return n[this.TEXT]?n[this.TEXT].toString():""}getIndex(n){return n[this.INDEX]?n[this.INDEX]:0}getActions(n){let s=n.selectedElementIds,c=n.lastMousePosition?n.lastMousePosition:{x:0,y:0},l=this.modelState.index.getAll(s);return this.getPaletteActions(s,l,c,n.args)}};ST.CommandPaletteActionProvider=w1e;Con([(0,$on.inject)(jar.ModelState),Par("design:type",Object)],w1e.prototype,"modelState",void 0);ST.CommandPaletteActionProvider=w1e=Con([(0,$on.injectable)()],w1e)});var _1e=q(gN=>{"use strict";var Mar=gN&&gN.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(gN,"__esModule",{value:!0});gN.ContextMenuItemProvider=void 0;var Tar=en(),HGe=class{static{r(this,"ContextMenuItemProvider")}get contextId(){return"context-menu"}getActions(n){let s=n.lastMousePosition?n.lastMousePosition:{x:0,y:0};return this.getItems(n.selectedElementIds,s,n.args)}};gN.ContextMenuItemProvider=HGe;gN.ContextMenuItemProvider=HGe=Mar([(0,Tar.injectable)()],HGe)});var OT=q(Rv=>{"use strict";var Ron=Rv&&Rv.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Iar=Rv&&Rv.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(Rv,"__esModule",{value:!0});Rv.OperationHandlerFactory=Rv.OperationHandlerConstructor=Rv.OperationHandler=void 0;var kon=en(),Aar=Pp(),S1e=class{static{r(this,"OperationHandler")}execute(n){return this.handles(n)?this.createCommand(n):void 0}handles(n){return this.modelState.root&&n.kind===this.operationType}};Rv.OperationHandler=S1e;Ron([(0,kon.inject)(Aar.ModelState),Iar("design:type",Object)],S1e.prototype,"modelState",void 0);Rv.OperationHandler=S1e=Ron([(0,kon.injectable)()],S1e);Rv.OperationHandlerConstructor=Symbol("OperationHandlerConstructor");Rv.OperationHandlerFactory=Symbol("OperationHandlerFactory")});var E1e=q(lC=>{"use strict";Object.defineProperty(lC,"__esModule",{value:!0});lC.CreateOperationHandler=lC.CreateNodeOperationHandler=lC.CreateEdgeOperationHandler=void 0;var fB=Gr(),Car=OT(),Don;(function(o){function n(s){return O1e.is(s)&&s.operationType===fB.CreateEdgeOperation.KIND}r(n,"is"),o.is=n})(Don||(lC.CreateEdgeOperationHandler=Don={}));var Non;(function(o){function n(s){return O1e.is(s)&&s.operationType===fB.CreateNodeOperation.KIND}r(n,"is"),o.is=n})(Non||(lC.CreateNodeOperationHandler=Non={}));var O1e;(function(o){function n(s){return s instanceof Car.OperationHandler&&(0,fB.hasStringProp)(s,"operationType")&&(0,fB.hasStringProp)(s,"label")&&(0,fB.hasArrayProp)(s,"elementTypeIds")&&(0,fB.hasFunctionProp)(s,"getTriggerActions",!0)}r(n,"is"),o.is=n})(O1e||(lC.CreateOperationHandler=O1e={}))});var pB=q(Ay=>{"use strict";var AX=Ay&&Ay.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},JGe=Ay&&Ay.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(Ay,"__esModule",{value:!0});Ay.OperationHandlerRegistryInitializer=Ay.OperationHandlerRegistry=void 0;var $ar=Gr(),dB=en(),Rar=aN(),kar=E1e(),qon=OT(),IX=class extends Rar.Registry{static{r(this,"OperationHandlerRegistry")}registerHandler(n){return kar.CreateOperationHandler.is(n)?(n.elementTypeIds.forEach(s=>this.register(`${n.operationType}_${s}`,n)),!0):this.register(n.operationType,n)}getOperationHandler(n){return $ar.CreateOperation.is(n)?this.get(`${n.kind}_${n.elementTypeId}`):this.get(n.kind)}};Ay.OperationHandlerRegistry=IX;Ay.OperationHandlerRegistry=IX=AX([(0,dB.injectable)()],IX);var hB=class{static{r(this,"OperationHandlerRegistryInitializer")}constructor(){this.handlerConstructors=[]}initialize(n){this.handlerConstructors.map(c=>this.factory(c)).forEach(c=>this.registry.registerHandler(c))}};Ay.OperationHandlerRegistryInitializer=hB;AX([(0,dB.inject)(qon.OperationHandlerFactory),JGe("design:type",Function)],hB.prototype,"factory",void 0);AX([(0,dB.inject)(qon.OperationHandlerConstructor),(0,dB.optional)(),JGe("design:type",Array)],hB.prototype,"handlerConstructors",void 0);AX([(0,dB.inject)(IX),JGe("design:type",IX)],hB.prototype,"registry",void 0);Ay.OperationHandlerRegistryInitializer=hB=AX([(0,dB.injectable)()],hB)});var M1e=q(Cy=>{"use strict";var KGe=Cy&&Cy.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Dar=Cy&&Cy.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(Cy,"__esModule",{value:!0});Cy.DefaultToolPaletteItemProvider=Cy.ToolPaletteItemProvider=void 0;var xon=Gr(),VGe=en(),Nar=E1e(),Lon=pB(),P1e=class{static{r(this,"ToolPaletteItemProvider")}get contextId(){return"tool-palette"}async getActions(n){return this.getItems(n.args)}};Cy.ToolPaletteItemProvider=P1e;Cy.ToolPaletteItemProvider=P1e=KGe([(0,VGe.injectable)()],P1e);var j1e=class extends P1e{static{r(this,"DefaultToolPaletteItemProvider")}getItems(n){let s=this.operationHandlerRegistry.getAll().filter(Nar.CreateOperationHandler.is);this.counter=0;let c=this.createPaletteItem(s,xon.CreateNodeOperation.KIND),l=this.createPaletteItem(s,xon.CreateEdgeOperation.KIND);return[{id:"node-group",label:"Nodes",actions:[],children:c,icon:"symbol-property",sortString:"A"},{id:"edge-group",label:"Edges",actions:[],children:l,icon:"symbol-property",sortString:"B"}]}createPaletteItem(n,s){return n.filter(c=>c.operationType===s).map(c=>c.getTriggerActions().map(l=>this.create(l,c.label))).reduce((c,l)=>c.concat(l),[]).sort((c,l)=>c.sortString.localeCompare(l.sortString))}create(n,s){return{id:`palette-item${this.counter}`,sortString:s.charAt(0),label:s,actions:[n]}}};Cy.DefaultToolPaletteItemProvider=j1e;KGe([(0,VGe.inject)(Lon.OperationHandlerRegistry),Dar("design:type",Lon.OperationHandlerRegistry)],j1e.prototype,"operationHandlerRegistry",void 0);Cy.DefaultToolPaletteItemProvider=j1e=KGe([(0,VGe.injectable)()],j1e)});var T1e=q(E2=>{"use strict";var qar=E2&&E2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},xar=E2&&E2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},fC=E2&&E2.__param||function(o,n){return function(s,c){n(s,c,o)}};Object.defineProperty(E2,"__esModule",{value:!0});E2.ContextActionsProviderRegistry=void 0;var ET=en(),Lar=v1(),Bar=aN(),Bon=y1e(),Fon=_1e(),zon=M1e(),WGe=class extends Bar.Registry{static{r(this,"ContextActionsProviderRegistry")}constructor(n=[],s,c,l){super(),n.forEach(g=>this.register(g.contextId,g)),s&&this.register(s.contextId,s),c&&this.register(c.contextId,c),l&&this.register(l.contextId,l)}};E2.ContextActionsProviderRegistry=WGe;E2.ContextActionsProviderRegistry=WGe=qar([(0,ET.injectable)(),fC(0,(0,ET.multiInject)(Lar.ContextActionsProviders)),fC(0,(0,ET.optional)()),fC(1,(0,ET.inject)(Fon.ContextMenuItemProvider)),fC(1,(0,ET.optional)()),fC(2,(0,ET.inject)(Bon.CommandPaletteActionProvider)),fC(2,(0,ET.optional)()),fC(3,(0,ET.inject)(zon.ToolPaletteItemProvider)),fC(3,(0,ET.optional)()),xar("design:paramtypes",[Array,Fon.ContextMenuItemProvider,Bon.CommandPaletteActionProvider,zon.ToolPaletteItemProvider])],WGe)});var XGe=q(PT=>{"use strict";var Zon=PT&&PT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Far=PT&&PT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(PT,"__esModule",{value:!0});PT.RequestContextActionsHandler=void 0;var Uon=Gr(),Hon=en(),Gon=T1e(),I1e=class{static{r(this,"RequestContextActionsHandler")}constructor(){this.actionKinds=[Uon.RequestContextActions.KIND]}async execute(n){let s=n.editorContext,c=[];return this.contextActionsProviderRegistry.get(n.contextId)&&(await this.contextActionsProviderRegistry.get(n.contextId).getActions(s)).forEach(g=>c.push(g)),[Uon.SetContextActions.create(c,{args:n.editorContext.args})]}};PT.RequestContextActionsHandler=I1e;Zon([(0,Hon.inject)(Gon.ContextActionsProviderRegistry),Far("design:type",Gon.ContextActionsProviderRegistry)],I1e.prototype,"contextActionsProviderRegistry",void 0);PT.RequestContextActionsHandler=I1e=Zon([(0,Hon.injectable)()],I1e)});var CX=q(mN=>{"use strict";var zar=mN&&mN.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(mN,"__esModule",{value:!0});mN.LabelEditValidator=void 0;var Uar=en(),YGe=class{static{r(this,"LabelEditValidator")}static{this.CONTEXT_ID="label-edit"}};mN.LabelEditValidator=YGe;mN.LabelEditValidator=YGe=zar([(0,Uar.injectable)()],YGe)});var eZe=q(gB=>{"use strict";Object.defineProperty(gB,"__esModule",{value:!0});gB.ValidateLabelEditAdapter=gB.ContextEditValidator=void 0;var Gar=t0(),Zar=Gr(),Har=CX();gB.ContextEditValidator=Symbol("ContextEditValidator");var QGe=class{static{r(this,"ValidateLabelEditAdapter")}constructor(n,s){this.modelState=n,this.labelEditValidator=s}get contextId(){return Har.LabelEditValidator.CONTEXT_ID}validate(n){let s=this.modelState.index.get(n.modelElementId);return s instanceof Gar.GModelElement?this.labelEditValidator.validate(n.text,s):{severity:Zar.ValidationStatus.Severity.OK}}};gB.ValidateLabelEditAdapter=QGe});var A1e=q(kv=>{"use strict";var Jar=kv&&kv.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Kar=kv&&kv.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},$X=kv&&kv.__param||function(o,n){return function(s,c){n(s,c,o)}};Object.defineProperty(kv,"__esModule",{value:!0});kv.DefaultContextEditValidatorRegistry=kv.ContextEditValidatorRegistry=void 0;var mB=en(),Var=v1(),War=aN(),Xar=Pp(),Yar=eZe(),tZe=CX();kv.ContextEditValidatorRegistry=Symbol.for("ContextEditValidatorRegistry");var nZe=class extends War.Registry{static{r(this,"DefaultContextEditValidatorRegistry")}constructor(n,s=[],c){super(),s.forEach(l=>this.register(l.contextId,l)),c&&this.register(tZe.LabelEditValidator.CONTEXT_ID,new Yar.ValidateLabelEditAdapter(n,c))}};kv.DefaultContextEditValidatorRegistry=nZe;kv.DefaultContextEditValidatorRegistry=nZe=Jar([(0,mB.injectable)(),$X(0,(0,mB.inject)(Xar.ModelState)),$X(1,(0,mB.multiInject)(Var.ContextEditValidators)),$X(1,(0,mB.optional)()),$X(2,(0,mB.inject)(tZe.LabelEditValidator)),$X(2,(0,mB.optional)()),Kar("design:paramtypes",[Object,Array,tZe.LabelEditValidator])],nZe)});var oZe=q(jT=>{"use strict";var rZe=jT&&jT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Kon=jT&&jT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(jT,"__esModule",{value:!0});jT.RequestEditValidationHandler=void 0;var C1e=Gr(),iZe=en(),Jon=Ed(),Qar=A1e(),RX=class{static{r(this,"RequestEditValidationHandler")}constructor(){this.actionKinds=[C1e.RequestEditValidationAction.KIND]}execute(n){let s=this.contextEditValidatorRegistry.get(n.contextId);if(s){let c=s.validate(n);return[C1e.SetEditValidationResultAction.create(c)]}else{let c=`No validator registered for the context '${n.contextId}'`;return this.logger.warn(c),[C1e.SetEditValidationResultAction.create({severity:C1e.ValidationStatus.Severity.WARNING,message:c})]}}};jT.RequestEditValidationHandler=RX;rZe([(0,iZe.inject)(Jon.Logger),Kon("design:type",Jon.Logger)],RX.prototype,"logger",void 0);rZe([(0,iZe.inject)(Qar.ContextEditValidatorRegistry),Kon("design:type",Object)],RX.prototype,"contextEditValidatorRegistry",void 0);jT.RequestEditValidationHandler=RX=rZe([(0,iZe.injectable)()],RX)});var R1e=q($1e=>{"use strict";Object.defineProperty($1e,"__esModule",{value:!0});$1e.ArgsUtil=void 0;var Von;(function(o){o.KEY_EDGE_PADDING="edgePadding",o.KEY_EDGE_SOURCE_POINT_X="edgeSourcePointX",o.KEY_EDGE_SOURCE_POINT_Y="edgeSourcePointY",o.KEY_EDGE_TARGET_POINT_X="edgeTargetPointX",o.KEY_EDGE_TARGET_POINT_Y="edgeTargetPointY",o.KEY_RADIUS_TOP_LEFT="radiusTopLeft",o.KEY_RADIUS_TOP_RIGHT="radiusTopRight",o.KEY_RADIUS_BOTTOM_RIGHT="radiusBottomRight",o.KEY_RADIUS_BOTTOM_LEFT="radiusBottomLeft";function n(A,k,F,K){let re=A,ne=A,me=A,Te=A;return k&&(ne=k,F&&K?(me=K,Te=F):(Te=A,me=ne)),{[o.KEY_RADIUS_TOP_LEFT]:re,[o.KEY_RADIUS_BOTTOM_LEFT]:me,[o.KEY_RADIUS_BOTTOM_RIGHT]:Te,[o.KEY_RADIUS_TOP_RIGHT]:ne}}r(n,"cornerRadius"),o.cornerRadius=n;function s(A){return{[o.KEY_EDGE_PADDING]:A}}r(s,"edgePadding"),o.edgePadding=s;function c(A){return w(A,o.KEY_EDGE_PADDING)}r(c,"getEdgePadding"),o.getEdgePadding=c;function l(A={}){let k=w(A,o.KEY_EDGE_SOURCE_POINT_X),F=w(A,o.KEY_EDGE_SOURCE_POINT_Y);if(k&&F)return{x:k,y:F}}r(l,"getEdgeSourcePoint"),o.getEdgeSourcePoint=l;function g(A={}){let k=w(A,o.KEY_EDGE_TARGET_POINT_X),F=w(A,o.KEY_EDGE_TARGET_POINT_Y);if(k&&F)return{x:k,y:F}}r(g,"getEdgeTargetPoint"),o.getEdgeTargetPoint=g;function v(A={},k){let F=A[k];return F&&typeof F=="string"?F:void 0}r(v,"get"),o.get=v;function w(A={},k){let F=A[k];return F&&typeof F=="number"?F:void 0}r(w,"getNumber"),o.getNumber=w;function M(A={},k){let F=A[k];return F&&typeof F=="boolean"?F:!1}r(M,"getBoolean"),o.getBoolean=M})(Von||($1e.ArgsUtil=Von={}))});var vB=q(MT=>{"use strict";Object.defineProperty(MT,"__esModule",{value:!0});MT.applyElementAndBounds=ecr;MT.applyAlignment=tcr;MT.applyRoute=ncr;MT.getRoute=rcr;MT.applyRoutingPoints=icr;MT.getRelativeLocation=ocr;MT.absoluteToRelative=aZe;var dC=t0(),bB=R1e(),sZe=dm();function ecr(o,n){let s=n.find(o.elementId);if(s&&(0,dC.isGBoundsAware)(s))return o.newPosition!==void 0&&(s.position=o.newPosition),s.size=o.newSize,s}r(ecr,"applyElementAndBounds");function tcr(o,n){let s=n.find(o.elementId);if(s&&(0,dC.isGAlignable)(s))return s.alignment=o.newAlignment,s}r(tcr,"applyAlignment");function ncr(o,n){let s=o.newRoutingPoints??[],c=n.findByClass(o.elementId,dC.GEdge);if(!c||s.length<2)return;c.routingPoints=s;let l=c.routingPoints,g=c.args??{},v=l.shift(),w=l.pop();return g[bB.ArgsUtil.KEY_EDGE_SOURCE_POINT_X]=v.x,g[bB.ArgsUtil.KEY_EDGE_SOURCE_POINT_Y]=v.y,g[bB.ArgsUtil.KEY_EDGE_TARGET_POINT_X]=w.x,g[bB.ArgsUtil.KEY_EDGE_TARGET_POINT_Y]=w.y,c.args||(c.args=g),c}r(ncr,"applyRoute");function rcr(o){let n=bB.ArgsUtil.getEdgeSourcePoint(o.args);if(!n)throw new sZe.GLSPServerError("Cannot get route without source point!");let s=bB.ArgsUtil.getEdgeTargetPoint(o.args);if(!s)throw new sZe.GLSPServerError("Cannot get route without target point!");let c=[];return c.push(n),c.push(...o.routingPoints),c.push(s),{elementId:o.id,newRoutingPoints:c}}r(rcr,"getRoute");function icr(o,n){let s=(0,sZe.getOrThrow)(n.findByClass(o.elementId,dC.GEdge),"Model element not found! ID: "+o.elementId);return s.routingPoints=o.newRoutingPoints??[],s}r(icr,"applyRoutingPoints");function ocr(o,n){let s=n instanceof dC.GGraph;if((0,dC.isGBoundsAware)(n)){let c=aZe(o,n);return s?c:{x:Math.max(0,c.x),y:Math.max(0,c.y)}}}r(ocr,"getRelativeLocation");function aZe(o,n){let s;n instanceof dC.GModelRoot||(s=n.parent);let c;if(!s)c={x:o.x,y:o.y};else{if(!(0,dC.isGBoundsAware)(s))throw new Error(`The element is not part of a GBoundsAware hierarchy: ${n}`);c=aZe(o,s)}let l=n.position?.x??0,g=n.position?.y??0;return{x:c.x-l,y:c.y-g}}r(aZe,"absoluteToRelative")});var lZe=q(TT=>{"use strict";var k1e=TT&&TT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},uZe=TT&&TT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(TT,"__esModule",{value:!0});TT.ComputedBoundsActionHandler=void 0;var Won=Gr(),D1e=en(),cZe=vB(),Xon=Ed(),scr=Pp(),Yon=pN(),wB=class{static{r(this,"ComputedBoundsActionHandler")}constructor(){this.actionKinds=[Won.ComputedBoundsAction.KIND]}execute(n){let s=this.modelState.root;return n.revision===s.revision?(this.applyBounds(s,n),this.submissionHandler.submitModelDirectly(void 0,Won.LayoutOperation.create([],{canvasBounds:n.canvasBounds,viewport:n.viewport}))):[]}applyBounds(n,s){this.applyElementBounds(s.bounds),this.applyAlignments(s.alignments??[]),this.applyRoutes(s.routes??[])}applyElementBounds(n){let s=this.modelState.index;n.forEach(c=>{(0,cZe.applyElementAndBounds)(c,s)||this.logger.warn(`Skipped computed bounds of element '${c.elementId}'`)})}applyAlignments(n){let s=this.modelState.index;n.forEach(c=>{(0,cZe.applyAlignment)(c,s)||this.logger.warn(`Skipped computed alignment of element '${c.elementId}'`)})}applyRoutes(n){let s=this.modelState.index;n.forEach(c=>{(0,cZe.applyRoute)(c,s)||this.logger.debug(`Skipped computed route of element '${c.elementId}'`)})}};TT.ComputedBoundsActionHandler=wB;k1e([(0,D1e.inject)(Yon.ModelSubmissionHandler),uZe("design:type",Yon.ModelSubmissionHandler)],wB.prototype,"submissionHandler",void 0);k1e([(0,D1e.inject)(scr.ModelState),uZe("design:type",Object)],wB.prototype,"modelState",void 0);k1e([(0,D1e.inject)(Xon.Logger),uZe("design:type",Xon.Logger)],wB.prototype,"logger",void 0);TT.ComputedBoundsActionHandler=wB=k1e([(0,D1e.injectable)()],wB)});var fZe=q(IT=>{"use strict";var kX=IT&&IT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},N1e=IT&&IT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(IT,"__esModule",{value:!0});IT.LayoutOperationHandler=void 0;var acr=Gr(),yB=en(),ccr=OX(),esn=X6(),ucr=OT(),Qon=Ed(),lcr=p2(),fcr=EX(),bN=class extends ucr.OperationHandler{static{r(this,"LayoutOperationHandler")}constructor(){super(...arguments),this.operationType=acr.LayoutOperation.KIND}createCommand(n){if(this.diagramConfiguration.layoutKind===esn.ServerLayoutKind.MANUAL){if(!this.layoutEngine){this.logger.warn("Could not execute layout operation. No `LayoutEngine` is bound!");return}return new ccr.GModelRecordingCommand(this.modelState,this.serializer,()=>this.executeOperation(n))}}async executeOperation(n){await this.layoutEngine?.layout(n)}};IT.LayoutOperationHandler=bN;kX([(0,yB.inject)(Qon.Logger),N1e("design:type",Qon.Logger)],bN.prototype,"logger",void 0);kX([(0,yB.inject)(fcr.LayoutEngine),(0,yB.optional)(),N1e("design:type",Object)],bN.prototype,"layoutEngine",void 0);kX([(0,yB.inject)(esn.DiagramConfiguration),N1e("design:type",Object)],bN.prototype,"diagramConfiguration",void 0);kX([(0,yB.inject)(lcr.GModelSerializer),N1e("design:type",Object)],bN.prototype,"serializer",void 0);IT.LayoutOperationHandler=bN=kX([(0,yB.injectable)()],bN)});var hZe=q(q1e=>{"use strict";Object.defineProperty(q1e,"__esModule",{value:!0});q1e.ClientOptionsUtil=void 0;var dcr=R1e(),dZe=class o{static{r(this,"ClientOptionsUtil")}static{this.FILE_PREFIX="file://"}static{this.IS_RECONNECTING="isReconnecting"}static adaptUri(n){return n.replace(this.FILE_PREFIX,"")}static isReconnecting(n){return dcr.ArgsUtil.getBoolean(n,o.IS_RECONNECTING)}};q1e.ClientOptionsUtil=dZe});var B1e=q(P2=>{"use strict";var tsn=P2&&P2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},hcr=P2&&P2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(P2,"__esModule",{value:!0});P2.DefaultProgressService=P2.ProgressService=void 0;var x1e=Gr(),nsn=en(),pcr=gT();P2.ProgressService=Symbol("ProgressService");var L1e=class{static{r(this,"DefaultProgressService")}start(n,s){let c=(0,x1e.generateUuid)();return this.actionDispatcher.dispatch(x1e.StartProgressAction.create({progressId:c,title:n,...s})),{update:r(l=>this.actionDispatcher.dispatch(x1e.UpdateProgressAction.create(c,l)),"update"),end:r(()=>this.actionDispatcher.dispatch(x1e.EndProgressAction.create(c)),"end")}}};P2.DefaultProgressService=L1e;tsn([(0,nsn.inject)(pcr.ActionDispatcher),hcr("design:type",Object)],L1e.prototype,"actionDispatcher",void 0);P2.DefaultProgressService=L1e=tsn([(0,nsn.injectable)()],L1e)});var DX=q(F1e=>{"use strict";Object.defineProperty(F1e,"__esModule",{value:!0});F1e.SourceModelStorage=void 0;F1e.SourceModelStorage=Symbol("SourceModelStorage")});var gZe=q(CT=>{"use strict";var vN=CT&&CT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},_B=CT&&CT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(CT,"__esModule",{value:!0});CT.RequestModelActionHandler=void 0;var pZe=Gr(),wN=en(),gcr=gT(),mcr=hZe(),rsn=Ed(),bcr=B1e(),vcr=Pp(),isn=pN(),wcr=DX(),AT=class{static{r(this,"RequestModelActionHandler")}constructor(){this.actionKinds=[pZe.RequestModelAction.KIND]}async execute(n){this.logger.debug("Execute RequestModelAction:",n),this.modelState.setAll(n.options??{});let s=mcr.ClientOptionsUtil.isReconnecting(n.options),c=this.reportModelLoading("Model loading in progress");try{s?await this.handleReconnect(n):await this.sourceModelStorage.loadSourceModel(n)}catch(l){this.handleModelLoadingError(l,c)}return this.reportModelLoadingFinished(c),this.submissionHandler.submitInitialModel(n)}async handleReconnect(n){this.modelState.root?this.modelState.root.revision=(this.modelState.root.revision??0)-1:await this.sourceModelStorage.loadSourceModel(n)}reportModelLoading(n){return this.actionDispatcher.dispatch(pZe.StatusAction.create(n,{severity:"INFO"})),this.progressService.start(n)}reportModelLoadingFinished(n){this.actionDispatcher.dispatch(pZe.StatusAction.create("",{severity:"NONE"})),n?.end()}handleModelLoadingError(n,s){throw s?.end(),n}};CT.RequestModelActionHandler=AT;vN([(0,wN.inject)(rsn.Logger),_B("design:type",rsn.Logger)],AT.prototype,"logger",void 0);vN([(0,wN.inject)(wcr.SourceModelStorage),_B("design:type",Object)],AT.prototype,"sourceModelStorage",void 0);vN([(0,wN.inject)(gcr.ActionDispatcher),_B("design:type",Object)],AT.prototype,"actionDispatcher",void 0);vN([(0,wN.inject)(vcr.ModelState),_B("design:type",Object)],AT.prototype,"modelState",void 0);vN([(0,wN.inject)(isn.ModelSubmissionHandler),_B("design:type",isn.ModelSubmissionHandler)],AT.prototype,"submissionHandler",void 0);vN([(0,wN.inject)(bcr.ProgressService),_B("design:type",Object)],AT.prototype,"progressService",void 0);CT.RequestModelActionHandler=AT=vN([(0,wN.injectable)()],AT)});var vZe=q($T=>{"use strict";var mZe=$T&&$T.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},ssn=$T&&$T.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty($T,"__esModule",{value:!0});$T.SaveModelActionHandler=void 0;var osn=Gr(),bZe=en(),ycr=fN(),_cr=DX(),NX=class{static{r(this,"SaveModelActionHandler")}constructor(){this.actionKinds=[osn.SaveModelAction.KIND]}async execute(n){return await this.sourceModelStorage.saveSourceModel(n),this.commandStack.saveIsDone(),[osn.SetDirtyStateAction.create(this.commandStack.isDirty,{reason:"save"})]}};$T.SaveModelActionHandler=NX;mZe([(0,bZe.inject)(ycr.CommandStack),ssn("design:type",Object)],NX.prototype,"commandStack",void 0);mZe([(0,bZe.inject)(_cr.SourceModelStorage),ssn("design:type",Object)],NX.prototype,"sourceModelStorage",void 0);$T.SaveModelActionHandler=NX=mZe([(0,bZe.injectable)()],NX)});var wZe=q(RT=>{"use strict";var asn=RT&&RT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Scr=RT&&RT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(RT,"__esModule",{value:!0});RT.SetEditModeActionHandler=void 0;var Ocr=Gr(),csn=en(),Ecr=Pp(),z1e=class{static{r(this,"SetEditModeActionHandler")}constructor(){this.actionKinds=[Ocr.SetEditModeAction.KIND]}async execute(n){return this.modelState.editMode=n.editMode,[]}};RT.SetEditModeActionHandler=z1e;asn([(0,csn.inject)(Ecr.ModelState),Scr("design:type",Object)],z1e.prototype,"modelState",void 0);RT.SetEditModeActionHandler=z1e=asn([(0,csn.injectable)()],z1e)});var U1e=q(Dv=>{"use strict";var Pcr=Dv&&Dv.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},jcr=Dv&&Dv.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},usn=Dv&&Dv.__param||function(o,n){return function(s,c){n(s,c,o)}};Object.defineProperty(Dv,"__esModule",{value:!0});Dv.DefaultNavigationTargetProviderRegistry=Dv.NavigationTargetProviderRegistry=void 0;var lsn=en(),Mcr=v1(),Tcr=aN();Dv.NavigationTargetProviderRegistry=Symbol("NavigationTargetProviderRegistry");var yZe=class extends Tcr.Registry{static{r(this,"DefaultNavigationTargetProviderRegistry")}constructor(n=[]){super(),n.forEach(s=>this.register(s.targetTypeId,s))}};Dv.DefaultNavigationTargetProviderRegistry=yZe;Dv.DefaultNavigationTargetProviderRegistry=yZe=Pcr([usn(0,(0,lsn.multiInject)(Mcr.NavigationTargetProviders)),usn(0,(0,lsn.optional)()),jcr("design:paramtypes",[Array])],yZe)});var G1e=q(yN=>{"use strict";var Icr=yN&&yN.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(yN,"__esModule",{value:!0});yN.NavigationTargetResolver=void 0;var Acr=en(),_Ze=class{static{r(this,"NavigationTargetResolver")}constructor(){this.INFO="info",this.WARNING="warning",this.ERROR="error"}createArgs(){return{}}createArgsWithInfo(n){let s=this.createArgs();return this.addInfo(n,s),s}createArgsWithWarning(n){let s=this.createArgs();return this.addWarning(n,s),s}createArgsWithError(n){let s=this.createArgs();return this.addError(n,s),s}addInfo(n,s){s[this.INFO]=n}addWarning(n,s){s[this.WARNING]=n}addError(n,s){s[this.ERROR]=n}};yN.NavigationTargetResolver=_Ze;yN.NavigationTargetResolver=_Ze=Icr([(0,Acr.injectable)()],_Ze)});var SZe=q(kT=>{"use strict";var dsn=kT&&kT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Ccr=kT&&kT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(kT,"__esModule",{value:!0});kT.RequestNavigationTargetsActionHandler=void 0;var fsn=Gr(),hsn=en(),$cr=U1e(),Z1e=class{static{r(this,"RequestNavigationTargetsActionHandler")}constructor(){this.actionKinds=[fsn.RequestNavigationTargetsAction.KIND]}execute(n){let s=n.editorContext,c=[],l=this.navigationTargetProviderRegistry.get(n.targetTypeId);return l&&l.getTargets(s).forEach(v=>c.push(v)),[fsn.SetNavigationTargetsAction.create(c,{args:s.args})]}};kT.RequestNavigationTargetsActionHandler=Z1e;dsn([(0,hsn.inject)($cr.NavigationTargetProviderRegistry),Ccr("design:type",Object)],Z1e.prototype,"navigationTargetProviderRegistry",void 0);kT.RequestNavigationTargetsActionHandler=Z1e=dsn([(0,hsn.injectable)()],Z1e)});var EZe=q(DT=>{"use strict";var OZe=DT&&DT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},bsn=DT&&DT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(DT,"__esModule",{value:!0});DT.ResolveNavigationTargetsActionHandler=void 0;var psn=Gr(),H1e=en(),gsn=Ed(),msn=G1e(),qX=class{static{r(this,"ResolveNavigationTargetsActionHandler")}constructor(){this.actionKinds=[psn.ResolveNavigationTargetAction.KIND]}async execute(n){if(!this.navigationTargetResolver)return this.logger.warn("Could not resolve navigation target. No implementation for: NavigationTargetResolver has been bound"),[];let s=n.navigationTarget,c=await this.navigationTargetResolver.resolve(s);return[psn.SetResolvedNavigationTargetAction.create(c.elementIds,{args:c.args})]}};DT.ResolveNavigationTargetsActionHandler=qX;OZe([(0,H1e.inject)(gsn.Logger),bsn("design:type",gsn.Logger)],qX.prototype,"logger",void 0);OZe([(0,H1e.inject)(msn.NavigationTargetResolver),(0,H1e.optional)(),bsn("design:type",msn.NavigationTargetResolver)],qX.prototype,"navigationTargetResolver",void 0);DT.ResolveNavigationTargetsActionHandler=qX=OZe([(0,H1e.injectable)()],qX)});var K1e=q(J1e=>{"use strict";Object.defineProperty(J1e,"__esModule",{value:!0});J1e.PopupModelFactory=void 0;J1e.PopupModelFactory=Symbol("PopupModelFactory")});var PZe=q(NT=>{"use strict";var xX=NT&&NT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},V1e=NT&&NT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(NT,"__esModule",{value:!0});NT.RequestPopupModelActionHandler=void 0;var vsn=Gr(),SB=en(),Rcr=dm(),wsn=Ed(),kcr=p2(),Dcr=Pp(),Ncr=K1e(),_N=class{static{r(this,"RequestPopupModelActionHandler")}constructor(){this.actionKinds=[vsn.RequestPopupModelAction.KIND]}execute(n){if(this.popupModelFactory){let s=this.modelState.index.find(n.elementId);if(s){let c=this.popupModelFactory.createPopupModel(s,n);if(c){let l=this.modelSerializer.createSchema(c);return[vsn.SetPopupModelAction.create(l)]}return[]}throw new Rcr.GLSPServerError(`Could not process 'RequestPopupModelAction'. Hover element with id ${n.elementId} not found`)}return this.logger.warn("Could not process `RequestPopupModelAction`. No `PopupModelFactory` is bound"),[]}};NT.RequestPopupModelActionHandler=_N;xX([(0,SB.inject)(wsn.Logger),V1e("design:type",wsn.Logger)],_N.prototype,"logger",void 0);xX([(0,SB.inject)(Ncr.PopupModelFactory),(0,SB.optional)(),V1e("design:type",Object)],_N.prototype,"popupModelFactory",void 0);xX([(0,SB.inject)(Dcr.ModelState),V1e("design:type",Object)],_N.prototype,"modelState",void 0);xX([(0,SB.inject)(kcr.GModelSerializer),V1e("design:type",Object)],_N.prototype,"modelSerializer",void 0);NT.RequestPopupModelActionHandler=_N=xX([(0,SB.injectable)()],_N)});var X1e=q(W1e=>{"use strict";Object.defineProperty(W1e,"__esModule",{value:!0});W1e.EdgeCreationChecker=void 0;W1e.EdgeCreationChecker=Symbol("EdgeCreationChecker")});var MZe=q(qT=>{"use strict";var Y1e=qT&&qT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},jZe=qT&&qT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(qT,"__esModule",{value:!0});qT.RequestCheckEdgeActionHandler=void 0;var ysn=Gr(),LX=en(),qcr=X6(),_sn=dm(),xcr=Pp(),Lcr=X1e(),OB=class{static{r(this,"RequestCheckEdgeActionHandler")}constructor(){this.actionKinds=[ysn.RequestCheckEdgeAction.KIND]}execute(n){let s=this.diagramConfiguration.edgeTypeHints.some(w=>w.elementTypeId===n.edgeType&&w.dynamic),{edgeType:c,sourceElementId:l,targetElementId:g}=n,v=this.edgeCreationChecker&&s?this.validate(n):!0;return[ysn.CheckEdgeResultAction.create({edgeType:c,isValid:v,sourceElementId:l,targetElementId:g})]}validate(n){let s=(0,_sn.getOrThrow)(this.modelState.index.get(n.sourceElementId),"Invalid `RequestCheckEdgeTargetAction`!. Could not find a source element with id: "+n.sourceElementId),c=n.targetElementId?this.modelState.index.get(n.targetElementId):void 0;if(n.targetElementId&&!c)throw new _sn.GLSPServerError("Invalid `RequestCheckEdgeTargetAction`! Could not find a target element with id: "+n.targetElementId);return c?this.edgeCreationChecker.isValidTarget(n.edgeType,s,c):this.edgeCreationChecker.isValidSource(n.edgeType,s)}};qT.RequestCheckEdgeActionHandler=OB;Y1e([(0,LX.inject)(xcr.ModelState),jZe("design:type",Object)],OB.prototype,"modelState",void 0);Y1e([(0,LX.inject)(qcr.DiagramConfiguration),jZe("design:type",Object)],OB.prototype,"diagramConfiguration",void 0);Y1e([(0,LX.inject)(Lcr.EdgeCreationChecker),(0,LX.optional)(),jZe("design:type",Object)],OB.prototype,"edgeCreationChecker",void 0);qT.RequestCheckEdgeActionHandler=OB=Y1e([(0,LX.injectable)()],OB)});var TZe=q(xT=>{"use strict";var Osn=xT&&xT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Bcr=xT&&xT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(xT,"__esModule",{value:!0});xT.RequestTypeHintsActionHandler=void 0;var Ssn=Gr(),Esn=en(),Fcr=X6(),Q1e=class{static{r(this,"RequestTypeHintsActionHandler")}constructor(){this.actionKinds=[Ssn.RequestTypeHintsAction.KIND]}execute(n){return[Ssn.SetTypeHintsAction.create({shapeHints:this.diagramConfiguration.shapeTypeHints,edgeHints:this.diagramConfiguration.edgeTypeHints})]}};xT.RequestTypeHintsActionHandler=Q1e;Osn([(0,Esn.inject)(Fcr.DiagramConfiguration),Bcr("design:type",Object)],Q1e.prototype,"diagramConfiguration",void 0);xT.RequestTypeHintsActionHandler=Q1e=Osn([(0,Esn.injectable)()],Q1e)});var CZe=q(LT=>{"use strict";var AZe=LT&&LT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Psn=LT&&LT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(LT,"__esModule",{value:!0});LT.RequestMarkersHandler=void 0;var IZe=Gr(),ebe=en(),zcr=dm(),Ucr=Pp(),Gcr=PX(),BX=class{static{r(this,"RequestMarkersHandler")}constructor(){this.actionKinds=[IZe.RequestMarkersAction.KIND]}async execute(n){let s=n.elementsIDs;if(!this.validator)throw new zcr.GLSPServerError("Cannot compute markers! No implementation for ModelValidator has been bound");(!s||s.length===0||s.length===1&&s[0]==="EMPTY")&&(s=[this.modelState.root.id]);let c=this.modelState.index.getAll(s),l=await this.validator.validate(c,n.reason??IZe.MarkersReason.BATCH);return[IZe.SetMarkersAction.create(l)]}};LT.RequestMarkersHandler=BX;AZe([(0,ebe.inject)(Gcr.ModelValidator),(0,ebe.optional)(),Psn("design:type",Object)],BX.prototype,"validator",void 0);AZe([(0,ebe.inject)(Ucr.ModelState),Psn("design:type",Object)],BX.prototype,"modelState",void 0);LT.RequestMarkersHandler=BX=AZe([(0,ebe.injectable)()],BX)});var $Ze=q(BT=>{"use strict";var Msn=BT&&BT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Zcr=BT&&BT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(BT,"__esModule",{value:!0});BT.CompoundOperationHandler=void 0;var Hcr=Gr(),Tsn=en(),Jcr=a1e(),Kcr=OT(),jsn=pB(),tbe=class extends Kcr.OperationHandler{static{r(this,"CompoundOperationHandler")}constructor(){super(...arguments),this.operationType=Hcr.CompoundOperation.KIND}async createCommand(n){let s=n.operationList.map(l=>this.operationHandlerRegistry.getOperationHandler(l)?.execute(l)),c=[];for await(let l of s)l&&c.push(l);return c.length>0?new Jcr.CompoundCommand(c):void 0}};BT.CompoundOperationHandler=tbe;Msn([(0,Tsn.inject)(jsn.OperationHandlerRegistry),Zcr("design:type",jsn.OperationHandlerRegistry)],tbe.prototype,"operationHandlerRegistry",void 0);BT.CompoundOperationHandler=tbe=Msn([(0,Tsn.injectable)()],tbe)});var kZe=q(j2=>{"use strict";var FX=j2&&j2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},zX=j2&&j2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},Vcr=j2&&j2.__param||function(o,n){return function(s,c){n(s,c,o)}},RZe;Object.defineProperty(j2,"__esModule",{value:!0});j2.OperationActionHandler=void 0;var Wcr=Gr(),EB=en(),Xcr=fN(),Ycr=v1(),Qcr=Pp(),Isn=pN(),eur=dm(),Asn=pB(),SN=RZe=class{static{r(this,"OperationActionHandler")}constructor(n){this.actionKinds=n}execute(n){if(!this.handles(n))throw new eur.GLSPServerError(`Unhandled operation kind: ${n.kind}`);return this.modelState.isReadonly?[Wcr.MessageAction.create(`Server is in readonly-mode! Could not execute operation: ${n.kind}`,{severity:"WARNING"})]:this.executeOperation(n)}executeOperation(n){let s=RZe.getOperationHandler(n,this.operationHandlerRegistry);return s?this.executeHandler(n,s):[]}async executeHandler(n,s){let c=await s.execute(n);return c?(await this.executeCommand(c),this.submitModel()):[]}async executeCommand(n){return this.commandStack.execute(n)}submitModel(){return this.modelSubmissionHandler.submitModel("operation")}handles(n){return this.actionKinds.includes(n.kind)}static getOperationHandler(n,s){return s.getOperationHandler(n)}};j2.OperationActionHandler=SN;FX([(0,EB.inject)(Asn.OperationHandlerRegistry),zX("design:type",Asn.OperationHandlerRegistry)],SN.prototype,"operationHandlerRegistry",void 0);FX([(0,EB.inject)(Isn.ModelSubmissionHandler),zX("design:type",Isn.ModelSubmissionHandler)],SN.prototype,"modelSubmissionHandler",void 0);FX([(0,EB.inject)(Qcr.ModelState),zX("design:type",Object)],SN.prototype,"modelState",void 0);FX([(0,EB.inject)(Xcr.CommandStack),zX("design:type",Object)],SN.prototype,"commandStack",void 0);j2.OperationActionHandler=SN=RZe=FX([(0,EB.injectable)(),Vcr(0,(0,EB.inject)(Ycr.Operations)),zX("design:paramtypes",[Array])],SN)});var nbe=q(FT=>{"use strict";var tur=FT&&FT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},nur=FT&&FT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(FT,"__esModule",{value:!0});FT.GLSPModule=void 0;var Csn=en(),DZe=class extends Csn.ContainerModule{static{r(this,"GLSPModule")}static{this.CLIENT_ACTIONS="ClientActions"}constructor(){super((n,s,c,l)=>{this.context={bind:n,unbind:s,isBound:c,rebind:l},this.configure(n,s,c,l)})}configureMultiBinding(n,s){s(n),n.applyBindings(this.context)}};FT.GLSPModule=DZe;FT.GLSPModule=DZe=tur([(0,Csn.injectable)(),nur("design:paramtypes",[])],DZe)});var rbe=q(hC=>{"use strict";Object.defineProperty(hC,"__esModule",{value:!0});hC.InstanceMultiBinding=hC.MultiBinding=hC.AbstractMultiBinding=void 0;var NZe=Gr(),rur=TX(),UX=class{static{r(this,"AbstractMultiBinding")}constructor(n){this.identifier=n,this.bindings=[]}add(n){(0,NZe.distinctAdd)(this.bindings,n)}addAll(...n){let s=[];(0,NZe.flatPush)(s,n),s.forEach(c=>this.add(c))}remove(n){(0,NZe.remove)(this.bindings,n)}removeAll(n){return n.forEach(s=>this.remove(s))}rebind(n,s){this.remove(n),this.add(s)}contains(n){return this.bindings.includes(n)}getAll(){return this.bindings}};hC.AbstractMultiBinding=UX;var qZe=class extends UX{static{r(this,"MultiBinding")}applyBindings(n){this.bindings.forEach(s=>(0,rur.applyBindingTarget)(n,this.identifier,s))}};hC.MultiBinding=qZe;var xZe=class extends UX{static{r(this,"InstanceMultiBinding")}applyBindings(n){n.bind(this.identifier).toConstantValue(this.bindings)}};hC.InstanceMultiBinding=xZe});var UZe=q(ibe=>{"use strict";Object.defineProperty(ibe,"__esModule",{value:!0});ibe.DiagramModule=void 0;var $sn=gT(),Rsn=Kme(),LZe=mX(),ksn=Yme(),Dsn=fN(),iur=UGe(),our=X6(),sur=y1e(),Nsn=T1e(),aur=_1e(),cur=XGe(),qsn=M1e(),xsn=A1e(),uur=CX(),lur=oZe(),fur=lZe(),dur=EX(),hur=fZe(),pur=jX(),Lsn=Dge(),Bsn=p2(),gur=Pp(),Fsn=pN(),mur=gZe(),bur=vZe(),vur=wZe(),wur=DX(),zsn=U1e(),yur=G1e(),_ur=SZe(),Sur=EZe(),Our=K1e(),Eur=PZe(),Usn=B1e(),Pur=X1e(),jur=MZe(),Mur=TZe(),Tur=PX(),Iur=CZe(),Aur=$Ze(),Cur=kZe(),BZe=OT(),FZe=pB(),$ur=_X(),Ac=TX(),Rur=nbe(),PB=rbe(),jB=v1(),zZe=class o extends Rur.GLSPModule{static{r(this,"DiagramModule")}static{this.FALLBACK_CLIENT_ID="FallbackClientId"}configure(n,s,c,l){let g={bind:n,isBound:c};(0,Ac.applyBindingTarget)(g,jB.DiagramType,this.bindDiagramType()),(0,Ac.applyBindingTarget)(g,jB.ClientId,this.bindClientId()),(0,Ac.applyBindingTarget)(g,our.DiagramConfiguration,this.bindDiagramConfiguration()).inSingletonScope(),(0,Ac.applyBindingTarget)(g,ksn.ClientActionForwarder,this.bindClientActionForwarder()).inSingletonScope(),(0,Ac.applyBindingTarget)(g,Bsn.GModelSerializer,this.bindGModelSerializer()).inSingletonScope(),(0,Ac.applyBindingTarget)(g,gur.ModelState,this.bindModelState()).inSingletonScope(),(0,Ac.applyBindingTarget)(g,Lsn.GModelIndex,this.bindGModelIndex()).inSingletonScope(),(0,Ac.applyBindingTarget)(g,wur.SourceModelStorage,this.bindSourceModelStorage()).inSingletonScope(),(0,Ac.applyBindingTarget)(g,pur.GModelFactory,this.bindGModelFactory()),(0,Ac.applyBindingTarget)(g,Fsn.ModelSubmissionHandler,this.bindModelSubmissionHandler()).inSingletonScope(),(0,Ac.applyOptionalBindingTarget)(g,Tur.ModelValidator,this.bindModelValidator()),(0,Ac.applyOptionalBindingTarget)(g,uur.LabelEditValidator,this.bindLabelEditValidator()),(0,Ac.applyOptionalBindingTarget)(g,qsn.ToolPaletteItemProvider,this.bindToolPaletteItemProvider()),(0,Ac.applyOptionalBindingTarget)(g,sur.CommandPaletteActionProvider,this.bindCommandPaletteActionProvider()),(0,Ac.applyOptionalBindingTarget)(g,aur.ContextMenuItemProvider,this.bindContextMenuItemProvider()),this.configureMultiBinding(new PB.MultiBinding(jB.ContextActionsProviders),v=>this.configureContextActionProviders(v)),(0,Ac.applyBindingTarget)(g,Nsn.ContextActionsProviderRegistry,this.bindContextActionsProviderRegistry()).inSingletonScope(),(0,Ac.applyBindingTarget)(g,$sn.ActionDispatcher,this.bindActionDispatcher()).inSingletonScope(),this.configureMultiBinding(new PB.InstanceMultiBinding(Rsn.ActionHandlerConstructor),v=>this.configureActionHandlers(v)),(0,Ac.applyBindingTarget)(g,Rsn.ActionHandlerFactory,this.bindActionHandlerFactory()),(0,Ac.applyBindingTarget)(g,LZe.ActionHandlerRegistry,this.bindActionHandlerRegistry()).inSingletonScope(),this.configureMultiBinding(new PB.InstanceMultiBinding(BZe.OperationHandlerConstructor),v=>this.configureOperationHandlers(v)),(0,Ac.applyBindingTarget)(g,FZe.OperationHandlerRegistry,this.bindOperationHandlerRegistry()).inSingletonScope(),(0,Ac.applyBindingTarget)(g,BZe.OperationHandlerFactory,this.bindOperationHandlerFactory()),(0,Ac.applyBindingTarget)(g,jB.Operations,this.bindOperations()).inSingletonScope(),(0,Ac.applyBindingTarget)(g,Dsn.CommandStack,this.bindCommandStack()).inSingletonScope(),(0,Ac.applyOptionalBindingTarget)(g,yur.NavigationTargetResolver,this.bindNavigationTargetResolver())?.inSingletonScope(),this.configureMultiBinding(new PB.MultiBinding(jB.NavigationTargetProviders),v=>this.configureNavigationTargetProviders(v)),(0,Ac.applyBindingTarget)(g,zsn.NavigationTargetProviderRegistry,this.bindNavigationTargetProviderRegistry()).inSingletonScope(),(0,Ac.applyBindingTarget)(g,xsn.ContextEditValidatorRegistry,this.bindContextEditValidatorRegistry()).inSingletonScope(),this.configureMultiBinding(new PB.MultiBinding(jB.ContextEditValidators),v=>this.configureContextEditValidators(v)),this.configureMultiBinding(new PB.MultiBinding($ur.ClientSessionInitializer),v=>this.configureClientSessionInitializers(v)),(0,Ac.applyBindingTarget)(g,Usn.ProgressService,this.bindProgressService()).inSingletonScope(),(0,Ac.applyOptionalBindingTarget)(g,Our.PopupModelFactory,this.bindPopupModelFactory())?.inSingletonScope(),(0,Ac.applyOptionalBindingTarget)(g,dur.LayoutEngine,this.bindLayoutEngine())?.inSingletonScope(),(0,Ac.applyOptionalBindingTarget)(g,Pur.EdgeCreationChecker,this.bindEdgeCreationChecker())?.inSingletonScope()}configureClientSessionInitializers(n){n.add(LZe.ActionHandlerRegistryInitializer),n.add(FZe.OperationHandlerRegistryInitializer)}configureActionHandlers(n){n.add(mur.RequestModelActionHandler),n.add(cur.RequestContextActionsHandler),n.add(Mur.RequestTypeHintsActionHandler),n.add(Cur.OperationActionHandler),n.add(jur.RequestCheckEdgeActionHandler),n.add(Iur.RequestMarkersHandler),n.add(Eur.RequestPopupModelActionHandler),n.add(lur.RequestEditValidationHandler),n.add(_ur.RequestNavigationTargetsActionHandler),n.add(Sur.ResolveNavigationTargetsActionHandler),n.add(bur.SaveModelActionHandler),n.add(vur.SetEditModeActionHandler),n.add(iur.UndoRedoActionHandler),n.add(fur.ComputedBoundsActionHandler)}bindDiagramType(){return{constantValue:this.diagramType}}bindClientId(){return{constantValue:o.FALLBACK_CLIENT_ID}}bindGModelSerializer(){return Bsn.DefaultGModelSerializer}bindClientActionForwarder(){return ksn.ClientActionForwarder}bindGModelIndex(){return Lsn.GModelIndex}bindActionDispatcher(){return $sn.DefaultActionDispatcher}bindActionHandlerRegistry(){return LZe.ActionHandlerRegistry}bindOperationHandlerRegistry(){return FZe.OperationHandlerRegistry}bindModelSubmissionHandler(){return Fsn.ModelSubmissionHandler}bindNavigationTargetProviderRegistry(){return zsn.DefaultNavigationTargetProviderRegistry}bindContextEditValidatorRegistry(){return xsn.DefaultContextEditValidatorRegistry}bindActionHandlerFactory(){return{dynamicValue:r(n=>s=>n.container.resolve(s),"dynamicValue")}}bindOperationHandlerFactory(){return{dynamicValue:r(n=>s=>n.container.resolve(s),"dynamicValue")}}bindOperations(){return{dynamicValue:r(n=>n.container.get(BZe.OperationHandlerConstructor).map(s=>new s().operationType),"dynamicValue")}}bindCommandStack(){return Dsn.DefaultCommandStack}configureOperationHandlers(n){n.add(Aur.CompoundOperationHandler),n.add(hur.LayoutOperationHandler)}bindProgressService(){return Usn.DefaultProgressService}configureContextActionProviders(n){}configureContextEditValidators(n){}configureNavigationTargetProviders(n){}bindContextActionsProviderRegistry(){return Nsn.ContextActionsProviderRegistry}bindModelValidator(){}bindLabelEditValidator(){}bindToolPaletteItemProvider(){return qsn.DefaultToolPaletteItemProvider}bindCommandPaletteActionProvider(){}bindContextMenuItemProvider(){}bindNavigationTargetResolver(){}bindPopupModelFactory(){}bindLayoutEngine(){}bindEdgeCreationChecker(){}};ibe.DiagramModule=zZe});var ZZe=q(obe=>{"use strict";Object.defineProperty(obe,"__esModule",{value:!0});obe.DefaultClientSession=void 0;var kur=Gr(),GZe=class{static{r(this,"DefaultClientSession")}constructor(n,s,c,l){this.id=n,this.diagramType=s,this.actionDispatcher=c,this.container=l}dispose(){kur.Disposable.is(this.actionDispatcher)&&this.actionDispatcher.dispose()}};obe.DefaultClientSession=GZe});var abe=q(M2=>{"use strict";var sbe=M2&&M2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},HZe=M2&&M2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(M2,"__esModule",{value:!0});M2.DefaultClientSessionFactory=M2.ClientSessionFactory=void 0;var Dur=Gr(),GX=en(),Nur=gT(),qur=n1e(),Gsn=v1(),xur=dm(),Lur=ZZe(),Bur=_X();M2.ClientSessionFactory=Symbol("ClientSessionFactory");var MB=class{static{r(this,"DefaultClientSessionFactory")}create(n){let{clientSessionId:s,diagramType:c,clientActionKinds:l,args:g}=n,v=this.diagramModules.get(c);if(!v||v.length===0)throw new xur.GLSPServerError(`Could not retrieve diagram module configuration for diagram type: '${c}''`);let w=(0,qur.createClientSessionModule)({clientId:s,glspClient:this.glspClient,clientActionKinds:l}),M=this.serverContainer.createChild();M.load(...v,w),M.getAll(Bur.ClientSessionInitializer).forEach(F=>F.initialize(g));let k=M.get(Nur.ActionDispatcher);return new Lur.DefaultClientSession(s,c,k,M)}};M2.DefaultClientSessionFactory=MB;sbe([(0,GX.inject)(Gsn.InjectionContainer),HZe("design:type",GX.Container)],MB.prototype,"serverContainer",void 0);sbe([(0,GX.inject)(Gsn.DiagramModules),HZe("design:type",Map)],MB.prototype,"diagramModules",void 0);sbe([(0,GX.inject)(Dur.GLSPClientProxy),HZe("design:type",Object)],MB.prototype,"glspClient",void 0);M2.DefaultClientSessionFactory=MB=sbe([(0,GX.injectable)()],MB)});var ube=q(T2=>{"use strict";var Hsn=T2&&T2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Fur=T2&&T2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(T2,"__esModule",{value:!0});T2.DefaultClientSessionManager=T2.ClientSessionManager=void 0;var zur=Gr(),Jsn=en(),Uur=dm(),Gur=abe();T2.ClientSessionManager=Symbol("ClientSessionManager");var Zsn="*",cbe=class{static{r(this,"DefaultClientSessionManager")}constructor(){this.clientSessions=new Map,this.listeners=new Map}getListenersToNotify(n,s){let c=this.listeners.get(Zsn)?.filter(g=>g[s])??[],l=this.listeners.get(n.id)?.filter(g=>g[s])??[];return[...c,...l]}getOrCreateClientSession(n){let{clientSessionId:s,diagramType:c}=n,l=this.clientSessions.get(s);if(l){if(l.diagramType!==c)throw new Uur.GLSPServerError(`Could not initialize new session for diagram type '${c}'
73
73
  Another session with the same id for the diagram type ${l.diagramType} already exists`);return l}let g=this.sessionFactory.create(n);return this.clientSessions.set(s,g),this.getListenersToNotify(g,"sessionCreated").forEach(v=>v.sessionCreated(g)),g}getSession(n){return this.clientSessions.get(n)}getSessions(){return Array.from(this.clientSessions.values())}getSessionsByType(n){return Array.from(this.clientSessions.values()).filter(s=>s.diagramType===n)}disposeClientSession(n){let s=this.clientSessions.get(n);return s?(s.dispose(),this.getListenersToNotify(s,"sessionDisposed").forEach(c=>c.sessionDisposed(s)),this.clientSessions.delete(n),this.listeners.delete(n),!0):!1}addListener(n,...s){return s.length===0&&this.addSingleListener(Zsn,n),s.map(c=>this.addSingleListener(c,n)).every(c=>c)}addSingleListener(n,s){let c=this.listeners.get(n)??[];return c.push(s),this.listeners.set(n,c),!0}removeListener(n){return Array.from(this.listeners.values()).map(s=>(0,zur.remove)(s,n)).every(s=>s)}removeListeners(...n){n.length===0?this.listeners.clear():n.forEach(s=>this.listeners.delete(s))}serverShutDown(n){Array.from(this.clientSessions.keys()).forEach(s=>this.disposeClientSession(s)),this.listeners.clear()}};T2.DefaultClientSessionManager=cbe;Hsn([(0,Jsn.inject)(Gur.ClientSessionFactory),Fur("design:type",Object)],cbe.prototype,"sessionFactory",void 0);T2.DefaultClientSessionManager=cbe=Hsn([(0,Jsn.injectable)()],cbe)});var JZe=q(I2=>{"use strict";var HX=I2&&I2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},JX=I2&&I2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},lbe=I2&&I2.__param||function(o,n){return function(s,c){n(s,c,o)}},ZX;Object.defineProperty(I2,"__esModule",{value:!0});I2.DefaultGLSPServer=void 0;var pC=Gr(),zT=en(),Zur=o1e(),Hur=ube(),Ksn=dm(),Vsn=Ed(),Jur=Wme(),ON=class{static{r(this,"DefaultGLSPServer")}static{ZX=this}static{this.PROTOCOL_VERSION="1.0.0"}constructor(n=[],s=[]){this.initializers=s,this.serverListeners=[],this.clientSessions=new Map,n.forEach(c=>this.addListener(c))}validateProtocolVersion(n){if(n.protocolVersion!==ZX.PROTOCOL_VERSION)throw new Error(`Protocol version mismatch! The client protocol version ${n.protocolVersion} is not compatible with the server protocol version ${ZX.PROTOCOL_VERSION}!`)}validateServerInitialized(){if(!this.isInitialized())throw new Error("This GLSP server has not been initialized.")}async initialize(n){if(this.logger.info(`Initializing server with: applicationId: ${n.applicationId}, protocolVersion: ${n.protocolVersion}`),this.validateProtocolVersion(n),this.isInitialized()){if(n.applicationId!==this.applicationId)throw new Error(`Could not initialize GLSP server for application ${n.applicationId}.
74
74
  Server has already been initialized for different application with id ${this.applicationId}`);if(this.initializeResult)return this.initializeResult}this.applicationId=n.applicationId;let s={};this.actionProvider.actionKinds.forEach((l,g)=>s[g]=l);let c={protocolVersion:ZX.PROTOCOL_VERSION,serverActions:s};return c=await this.initializeServer(n,c),c=await this.handleInitializeArgs(c,n.args),this.getListenersToNotify("serverInitialized").forEach(l=>l.serverInitialized(this)),this.initializeResult=c,c}async initializeServer(n,s){for(let c of this.initializers)try{s=await c.initializeServer(this,n,s)}catch(l){throw this.logger.error(`Error during server initialization from ${c.constructor.name}:`,l),l}return s}handleInitializeArgs(n,s){return n}async initializeClientSession(n){this.logger.info(`Initializing client session with: clientSessionId: '${n.clientSessionId}', diagramType: '${n.diagramType}'`),this.validateServerInitialized();let s=this.sessionManager.getOrCreateClientSession(n);return this.clientSessions.set(n.clientSessionId,s),this.handleInitializeClientSessionArgs(n.args)}handleInitializeClientSessionArgs(n){}async disposeClientSession(n){if(this.logger.debug("Dispose client session with:",n),this.validateServerInitialized(),this.sessionManager.disposeClientSession(n.clientSessionId))return this.clientSessions.delete(n.clientSessionId),this.handleDisposeClientSessionArgs(n.args)}async handleDisposeClientSessionArgs(n){}process(n){this.validateServerInitialized(),this.logger.info(`process [action=${n.action.kind}, clientId=${n.clientId}]`);let s=n.clientId,c=this.clientSessions.get(s);if(!c)throw new Error(`No client session has been initialized for client id: ${s}`);let l=n.action;if(Jur.ClientAction.mark(l),pC.RequestAction.is(l)){this.handleClientRequest(c,l,n.clientId);return}c.actionDispatcher.dispatch(l).catch(g=>this.handleProcessError(n,g))}async handleClientRequest(n,s,c){try{let l=s.timeout!==void 0?await n.actionDispatcher.requestUntil(s,s.timeout,!0):await n.actionDispatcher.request(s);l&&this.sendResponseToClient(c,l)}catch(l){let g=l instanceof Ksn.GLSPServerError?l.cause?.toString?.():l?.toString?.();this.logger.error(`Failed to handle request '${s.kind}' (${s.requestId}):`,g);try{let v=pC.RejectAction.create(`Failed to handle request '${s.kind}' (${s.requestId})`,{responseId:s.requestId,detail:g});this.sendResponseToClient(c,v)}catch(v){this.logger.error(`Failed to send rejection for request '${s.requestId}':`,v)}}}sendResponseToClient(n,s){this.sendToClient({clientId:n,action:s})}handleProcessError(n,s){let c=`Could not process action: '${n.action.kind}`;this.logger.error(c),this.logger.error(s);let l=s?.toString?.();s instanceof Ksn.GLSPServerError&&(l=s.cause?.toString?.(),c=s.message);let g=pC.MessageAction.create(c,{severity:"ERROR",details:l});this.sendToClient({clientId:n.clientId,action:g})}sendToClient(n){this.glspClientProxy.process(n)}getClientSession(n){return this.clientSessions.get(n)}shutdown(){this.logger.info("Shutdown GLSP Server"),this.getListenersToNotify("serverShutDown").forEach(n=>n.serverShutDown(this)),this.clientSessions.clear(),this.initializeResult=void 0}isInitialized(){return this.initializeResult!==void 0}addListener(n){return(0,pC.distinctAdd)(this.serverListeners,n),!0}removeListener(n){return(0,pC.remove)(this.serverListeners,n),!0}getListenersToNotify(n){return this.serverListeners.filter(s=>s[n])}};I2.DefaultGLSPServer=ON;HX([(0,zT.inject)(Vsn.Logger),JX("design:type",Vsn.Logger)],ON.prototype,"logger",void 0);HX([(0,zT.inject)(Hur.ClientSessionManager),JX("design:type",Object)],ON.prototype,"sessionManager",void 0);HX([(0,zT.inject)(Zur.GlobalActionProvider),JX("design:type",Object)],ON.prototype,"actionProvider",void 0);HX([(0,zT.inject)(pC.GLSPClientProxy),JX("design:type",Object)],ON.prototype,"glspClientProxy",void 0);I2.DefaultGLSPServer=ON=ZX=HX([(0,zT.injectable)(),lbe(0,(0,zT.multiInject)(pC.GLSPServerListener)),lbe(0,(0,zT.optional)()),lbe(1,(0,zT.multiInject)(pC.GLSPServerInitializer)),lbe(1,(0,zT.optional)()),JX("design:paramtypes",[Array,Array])],ON)});var Qsn=q(fbe=>{"use strict";Object.defineProperty(fbe,"__esModule",{value:!0});fbe.ServerModule=void 0;var KZe=Gr(),Wsn=o1e(),Kur=JZe(),Xsn=abe(),VZe=ube(),TB=TX(),Vur=nbe(),Ysn=rbe(),WZe=v1(),XZe=class extends Vur.GLSPModule{static{r(this,"ServerModule")}constructor(){super(...arguments),this.diagramModules=new Map}static{this.DIAGRAM_MODULES="Diagram_Modules"}configureDiagramModule(n,...s){let c=n.diagramType;if(this.diagramModules.has(c))throw new Error(`A module configuration is already present for diagram type: '${c}'`);return this.diagramModules.set(c,[n,...s]),this}configure(n,s,c,l){let g=this.context;(0,TB.applyBindingTarget)(g,WZe.DiagramModules,this.bindDiagramModules()),(0,TB.applyBindingTarget)(g,KZe.GLSPServer,this.bindGLSPServer()).inSingletonScope(),(0,TB.applyBindingTarget)(g,Xsn.ClientSessionFactory,this.bindClientSessionFactory()).inSingletonScope(),(0,TB.applyBindingTarget)(g,VZe.ClientSessionManager,this.bindClientSessionManager()).inSingletonScope(),this.configureMultiBinding(new Ysn.MultiBinding(KZe.GLSPServerListener),v=>this.configureGLSPServerListeners(v)),this.configureMultiBinding(new Ysn.MultiBinding(KZe.GLSPServerInitializer),v=>this.configureGLSPServerInitializers(v)),(0,TB.applyBindingTarget)(g,Wsn.GlobalActionProvider,this.bindGlobalActionProvider()).inSingletonScope(),c(WZe.InjectionContainer)||(0,TB.applyBindingTarget)(g,WZe.InjectionContainer,this.bindInjectionContainer())}bindDiagramModules(){return{constantValue:this.diagramModules}}bindGLSPServer(){return Kur.DefaultGLSPServer}bindClientSessionFactory(){return Xsn.DefaultClientSessionFactory}bindClientSessionManager(){return VZe.DefaultClientSessionManager}bindGlobalActionProvider(){return Wsn.DefaultGlobalActionProvider}bindInjectionContainer(){return{dynamicValue:r(n=>n.container,"dynamicValue")}}configureGLSPServerListeners(n){n.add({service:VZe.ClientSessionManager})}configureGLSPServerInitializers(n){}};fbe.ServerModule=XZe});var eHe=q(UT=>{"use strict";var YZe=UT&&UT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},tan=UT&&UT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(UT,"__esModule",{value:!0});UT.RequestClipboardDataActionHandler=void 0;var ean=Gr(),QZe=en(),Wur=p2(),Xur=Pp(),KX=class{static{r(this,"RequestClipboardDataActionHandler")}constructor(){this.actionKinds=[ean.RequestClipboardDataAction.KIND]}execute(n){let s=[],l=this.modelState.index.getAll(n.editorContext.selectedElementIds),g={format:"application/json"};return l.forEach(v=>{s.push(this.modelSerializer.createSchema(v))}),g["application/json"]=JSON.stringify(s,void 0,2),[ean.SetClipboardDataAction.create(g)]}};UT.RequestClipboardDataActionHandler=KX;YZe([(0,QZe.inject)(Xur.ModelState),tan("design:type",Object)],KX.prototype,"modelState",void 0);YZe([(0,QZe.inject)(Wur.GModelSerializer),tan("design:type",Object)],KX.prototype,"modelSerializer",void 0);UT.RequestClipboardDataActionHandler=KX=YZe([(0,QZe.injectable)()],KX)});var nan=q(dbe=>{"use strict";Object.defineProperty(dbe,"__esModule",{value:!0});dbe.ContextActionsProvider=void 0;dbe.ContextActionsProvider=Symbol("ContextActionsProvider")});var ran=q(gC=>{"use strict";Object.defineProperty(gC,"__esModule",{value:!0});gC.LinePosition=gC.TextSelection=gC.JsonOpenerOptions=void 0;var tHe=class o{static{r(this,"JsonOpenerOptions")}constructor(n){n&&(this.selection=n)}toString(){return`JsonOpenerOptions [selection=${this.selection}]`}toJson(){return o.toJson(this)}static toJson(n){return JSON.stringify(n)}static fromJson(n){let s=JSON.parse(n);return s instanceof o?s:void 0}};gC.JsonOpenerOptions=tHe;var nHe=class{static{r(this,"TextSelection")}constructor(n,s){this.start=n,this.end=s}toString(){return`TextSelection [start=${this.start}, end=${this.end}]`}};gC.TextSelection=nHe;var rHe=class{static{r(this,"LinePosition")}constructor(n,s){this.line=n,this.character=s}toString(){return`LinePosition [line=${this.line}, character=${this.character}]`}};gC.LinePosition=rHe});var ian=q(hbe=>{"use strict";Object.defineProperty(hbe,"__esModule",{value:!0});hbe.NavigationTargetProvider=void 0;hbe.NavigationTargetProvider=Symbol("NavigationTargetProviders")});var oan=q(pbe=>{"use strict";Object.defineProperty(pbe,"__esModule",{value:!0});pbe.NavigationTargetResolution=void 0;var iHe=class o{static{r(this,"NavigationTargetResolution")}static{this.EMPTY=new o([])}constructor(n,s){this.elementIds=n,this.args=s}};pbe.NavigationTargetResolution=iHe});var A2=q(mC=>{"use strict";var Yur=mC&&mC.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Qur=mC&&mC.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(mC,"__esModule",{value:!0});mC.GModelOperationHandler=void 0;var san=en(),elr=OX(),tlr=p2(),nlr=OT();(0,san.injectable)();var gbe=class extends nlr.OperationHandler{static{r(this,"GModelOperationHandler")}commandOf(n){return new elr.GModelRecordingCommand(this.modelState,this.serializer,n)}};mC.GModelOperationHandler=gbe;Yur([(0,san.inject)(tlr.GModelSerializer),Qur("design:type",Object)],gbe.prototype,"serializer",void 0)});var sHe=q(EN=>{"use strict";var rlr=EN&&EN.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(EN,"__esModule",{value:!0});EN.GModelApplyLabelEditOperationHandler=void 0;var ilr=t0(),olr=Gr(),slr=en(),alr=dm(),clr=A2(),oHe=class extends clr.GModelOperationHandler{static{r(this,"GModelApplyLabelEditOperationHandler")}constructor(){super(...arguments),this.operationType=olr.ApplyLabelEditOperation.KIND}createCommand(n){let s=(0,alr.getOrThrow)(this.modelState.index.findByClass(n.labelId,ilr.GLabel),"Element with provided ID cannot be found or is not a GLabel");return s.text!==n.text?this.commandOf(()=>s.text=n.text):void 0}};EN.GModelApplyLabelEditOperationHandler=oHe;EN.GModelApplyLabelEditOperationHandler=oHe=rlr([(0,slr.injectable)()],oHe)});var lHe=q(PN=>{"use strict";var ulr=PN&&PN.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(PN,"__esModule",{value:!0});PN.GModelChangeBoundsOperationHandler=void 0;var aHe=t0(),cHe=Gr(),llr=en(),flr=A2(),uHe=class extends flr.GModelOperationHandler{static{r(this,"GModelChangeBoundsOperationHandler")}constructor(){super(...arguments),this.operationType=cHe.ChangeBoundsOperation.KIND}createCommand(n){let s=n.newBounds.filter(c=>this.hasChanged(c));if(s.length!==0)return this.commandOf(()=>this.executeChangeBounds({...n,newBounds:s}))}hasChanged(n){let s=this.modelState.index.find(n.elementId);return!s||!(0,aHe.isGBoundsAware)(s)||(s.size?!cHe.Dimension.equals(s.size,n.newSize):!0)?!0:s.position&&n.newPosition?!cHe.Point.equals(s.position,n.newPosition):!0}executeChangeBounds(n){for(let s of n.newBounds)this.changeElementBounds(s.elementId,s.newSize,s.newPosition)}changeElementBounds(n,s,c){let g=this.modelState.index.findByClass(n,aHe.GNode);if(!g)return;let v=g.parent,w={x:0,y:0};c&&(w=v instanceof aHe.GModelRoot?c:{x:Math.max(0,c.x),y:Math.max(0,c.y)}),g.layout&&(g.layoutOptions||(g.layoutOptions={}),g.layoutOptions.prefWidth=s.width,g.layoutOptions.prefHeight=s.height),g.size=s,g.position=w}};PN.GModelChangeBoundsOperationHandler=uHe;PN.GModelChangeBoundsOperationHandler=uHe=ulr([(0,llr.injectable)()],uHe)});var dHe=q(jN=>{"use strict";var dlr=jN&&jN.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(jN,"__esModule",{value:!0});jN.GModelChangeRoutingPointsOperationHandler=void 0;var hlr=t0(),aan=Gr(),plr=en(),glr=vB(),mlr=A2(),fHe=class extends mlr.GModelOperationHandler{static{r(this,"GModelChangeRoutingPointsOperationHandler")}constructor(){super(...arguments),this.operationType=aan.ChangeRoutingPointsOperation.KIND}createCommand(n){let s=n.newRoutingPoints.filter(c=>this.hasChanged(c));if(s.length!==0)return this.commandOf(()=>this.executeChangeRoutingPoints({...n,newRoutingPoints:s}))}hasChanged(n){let s=this.modelState.index.findByClass(n.elementId,hlr.GEdge);if(!s||s.routingPoints.length!==n.newRoutingPoints?.length)return!0;for(let c=0;c<s.routingPoints.length;c++)if(!aan.Point.equals(s.routingPoints[c],n.newRoutingPoints[c]))return!0;return!1}executeChangeRoutingPoints(n){let s=this.modelState.index;n.newRoutingPoints.forEach(c=>(0,glr.applyRoutingPoints)(c,s))}};jN.GModelChangeRoutingPointsOperationHandler=fHe;jN.GModelChangeRoutingPointsOperationHandler=fHe=dlr([(0,plr.injectable)()],fHe)});var hHe=q(GT=>{"use strict";var uan=GT&&GT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},blr=GT&&GT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(GT,"__esModule",{value:!0});GT.GModelCutOperationHandler=void 0;var can=Gr(),lan=en(),vlr=gT(),wlr=A2(),mbe=class extends wlr.GModelOperationHandler{static{r(this,"GModelCutOperationHandler")}constructor(){super(...arguments),this.operationType=can.CutOperation.KIND}createCommand(n){let s=this.getElementToCut(n);s.length>0&&this.actionDispatcher.dispatch(can.DeleteElementOperation.create(s))}getElementToCut(n){return n.editorContext.selectedElementIds}};GT.GModelCutOperationHandler=mbe;uan([(0,lan.inject)(vlr.ActionDispatcher),blr("design:type",Object)],mbe.prototype,"actionDispatcher",void 0);GT.GModelCutOperationHandler=mbe=uan([(0,lan.injectable)()],mbe)});var pHe=q(ZT=>{"use strict";var han=ZT&&ZT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},ylr=ZT&&ZT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(ZT,"__esModule",{value:!0});ZT.GModelDeleteOperationHandler=void 0;var fan=t0(),_lr=Gr(),pan=en(),dan=Ed(),Slr=A2(),bbe=class extends Slr.GModelOperationHandler{static{r(this,"GModelDeleteOperationHandler")}get operationType(){return _lr.DeleteElementOperation.KIND}createCommand(n){let s=n.elementIds;if(!s||s.length===0){this.logger.warn("Elements to delete are not specified");return}return this.commandOf(()=>this.deleteElements(s))}deleteElements(n){if(!n||n.length===0){this.logger.warn("Elements to delete are not specified");return}let s=this.modelState.index;this.allDependentsIds=new Set,n.every(l=>this.delete(l,s))||this.logger.warn("Could not delete all elements as requested (see messages above to find out why)")}delete(n,s){if(this.allDependentsIds.has(n))return!0;let c=s.find(n);if(!c)return this.logger.warn("Element not found: "+n),!1;if(!c.parent)return this.logger.warn("The requested element doesn't have a parent; it can't be deleted"),!1;let l=new Set;return this.collectDependents(l,c,!1),l.forEach(g=>{let v=g.parent.children.findIndex(w=>w===g);v>-1&&g.parent.children.splice(v,1),this.allDependentsIds.add(g.id)}),!0}collectDependents(n,s,c){if(!n.has(s)){if(s.children.length>0&&s.children.forEach(l=>this.collectDependents(n,l,!0)),s instanceof fan.GNode||s instanceof fan.GPort){let l=this.modelState.index;l.getIncomingEdges(s).forEach(g=>{n.add(g)}),l.getOutgoingEdges(s).forEach(g=>{n.add(g)})}c||n.add(s)}}};ZT.GModelDeleteOperationHandler=bbe;han([(0,pan.inject)(dan.Logger),ylr("design:type",dan.Logger)],bbe.prototype,"logger",void 0);ZT.GModelDeleteOperationHandler=bbe=han([(0,pan.injectable)()],bbe)});var van=q(MN=>{"use strict";var Olr=MN&&MN.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(MN,"__esModule",{value:!0});MN.GModelCreateEdgeOperationHandler=void 0;var gan=t0(),man=Cge(),ban=Gr(),Elr=en(),Plr=A2(),gHe=class extends Plr.GModelOperationHandler{static{r(this,"GModelCreateEdgeOperationHandler")}constructor(){super(...arguments),this.operationType=ban.CreateEdgeOperation.KIND}createCommand(n){return this.commandOf(()=>this.executeCreation(n))}getTriggerActions(){return this.elementTypeIds.map(n=>ban.TriggerEdgeCreationAction.create(n))}executeCreation(n){let s=this.modelState.index,c=s.find(n.sourceElementId,v=>v instanceof man.GNode||v instanceof gan.GPort),l=s.find(n.targetElementId,v=>v instanceof man.GNode||v instanceof gan.GPort);if(!c||!l)throw new Error(`Invalid source or target for source ID ${n.sourceElementId} and target ID ${n.targetElementId}`);let g=this.createEdge(c,l);g&&this.modelState.root.children.push(g)}};MN.GModelCreateEdgeOperationHandler=gHe;MN.GModelCreateEdgeOperationHandler=gHe=Olr([(0,Elr.injectable)()],gHe)});var _an=q(HT=>{"use strict";var wan=HT&&HT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},jlr=HT&&HT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(HT,"__esModule",{value:!0});HT.GModelCreateNodeOperationHandler=void 0;var vbe=Gr(),yan=en(),Mlr=gT(),Tlr=vB(),Ilr=A2(),wbe=class extends Ilr.GModelOperationHandler{static{r(this,"GModelCreateNodeOperationHandler")}constructor(){super(...arguments),this.operationType=vbe.CreateNodeOperation.KIND}createCommand(n){return this.commandOf(()=>this.executeCreation(n))}executeCreation(n){let s=this.getContainer(n)??this.modelState.root,c=this.getRelativeLocation(n),l=this.createNode(n,c);l&&(s.children.push(l),l.parent=s,this.actionDispatcher.dispatchAfterNextUpdate(vbe.SelectAction.create({selectedElementsIDs:[l.id]})))}getTriggerActions(){return this.elementTypeIds.map(n=>this.createTriggerNodeCreationAction(n))}createTriggerNodeCreationAction(n){return vbe.TriggerNodeCreationAction.create(n,{ghostElement:this.createTriggerGhostElement(n),args:this.createTriggerArgs(n)})}createTriggerGhostElement(n){}createTriggerArgs(n){}getContainer(n){let s=this.modelState.index;return n.containerId?s.get(n.containerId):void 0}getLocation(n){return n.location}getRelativeLocation(n){let s=this.getContainer(n)??this.modelState.root,c=this.getLocation(n)??vbe.Point.ORIGIN;return(0,Tlr.getRelativeLocation)(c,s)}};HT.GModelCreateNodeOperationHandler=wbe;wan([(0,yan.inject)(Mlr.ActionDispatcher),jlr("design:type",Object)],wbe.prototype,"actionDispatcher",void 0);HT.GModelCreateNodeOperationHandler=wbe=wan([(0,yan.injectable)()],wbe)});var bHe=q(vP=>{"use strict";var San=vP&&vP.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Alr=vP&&vP.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(vP,"__esModule",{value:!0});vP.GModelPasteOperationHandler=void 0;vP.shift=Ean;var mHe=t0(),VX=Gr(),Oan=en(),Clr=p2(),$lr=A2(),ybe=class extends $lr.GModelOperationHandler{static{r(this,"GModelPasteOperationHandler")}constructor(){super(...arguments),this.operationType=VX.PasteOperation.KIND,this.DEFAULT_OFFSET=20}createCommand(n){let s=this.getCopiedElements(n.clipboardData["application/json"]);return s.length>0?this.commandOf(()=>this.executePaste(s,n.editorContext)):void 0}getCopiedElements(n){return JSON.parse(n).map(c=>this.modelSerializer.createElement(c,this.modelState.root))}executePaste(n,s){Ean(n,this.computeOffset(n,s.lastMousePosition));let c=this.reassignIds(n);this.filterElements(n,c),this.rewireEdges(n,c),this.modelState.root.children.push(...n)}computeOffset(n,s){let c={x:this.DEFAULT_OFFSET,y:this.DEFAULT_OFFSET};if(s){let l=this.getReferenceElementForPasteOffset(n);if(l){let g=l.position??VX.Point.ORIGIN;c.x=s.x-g.x,c.y=s.y-g.y}}return c}getReferenceElementForPasteOffset(n){let s=Number.MAX_VALUE,c;for(let l of n)if((0,mHe.isGBoundsAware)(l)){let g=l.position??VX.Point.ORIGIN;s>g.y&&(s=g.y,c=l)}return c}reassignIds(n){let s=new Map;return n.forEach(c=>{let l=(0,VX.generateUuid)();s.set(c.id,l),c.id=l,this.reassignIds(c.children).forEach((v,w)=>{s.set(w,v)})}),s}filterElements(n,s){n.filter(c=>!this.shouldExcludeElement(c,s))}shouldExcludeElement(n,s){return!1}rewireEdges(n,s){n.filter(l=>l instanceof mHe.GEdge).forEach(l=>{let g=s.get(l.sourceId);g&&(l.sourceId=g);let v=s.get(l.targetId);v&&(l.targetId=v)})}};vP.GModelPasteOperationHandler=ybe;San([(0,Oan.inject)(Clr.GModelSerializer),Alr("design:type",Object)],ybe.prototype,"modelSerializer",void 0);vP.GModelPasteOperationHandler=ybe=San([(0,Oan.injectable)()],ybe);function Ean(o,n){o.filter(s=>(0,mHe.isGBoundsAware)(s)).map(s=>s).forEach(s=>{let c=s.position??VX.Point.ORIGIN;s.position={x:c.x+n.x,y:c.y+n.y}})}r(Ean,"shift")});var wHe=q(TN=>{"use strict";var Rlr=TN&&TN.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(TN,"__esModule",{value:!0});TN.GModelReconnectEdgeOperationHandler=void 0;var WX=t0(),klr=Gr(),Dlr=en(),Nlr=dm(),qlr=A2(),vHe=class extends qlr.GModelOperationHandler{static{r(this,"GModelReconnectEdgeOperationHandler")}constructor(){super(...arguments),this.operationType=klr.ReconnectEdgeOperation.KIND}createCommand(n){return this.commandOf(()=>this.executeReconnect(n))}executeReconnect(n){if(!n.edgeElementId||!n.sourceElementId||!n.targetElementId)throw new Nlr.GLSPServerError("Incomplete reconnect connection action");let s=this.modelState.index,c=s.findByClass(n.edgeElementId,WX.GEdge),l=s.findByClass(n.sourceElementId,WX.GNode||WX.GPort),g=s.findByClass(n.targetElementId,WX.GNode||WX.GPort);if(!c)throw new Error(`Invalid edge: edge ID ${n.edgeElementId}`);if(!l)throw new Error(`Invalid source: source ID ${n.sourceElementId}`);if(!g)throw new Error(`Invalid target: target ID ${n.targetElementId}`);c.sourceId=l.id,c.targetId=g.id,c.routingPoints=[]}};TN.GModelReconnectEdgeOperationHandler=vHe;TN.GModelReconnectEdgeOperationHandler=vHe=Rlr([(0,Dlr.injectable)()],vHe)});var Pan=q(IN=>{"use strict";var xlr=IN&&IN.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(IN,"__esModule",{value:!0});IN.GModelDiagramModule=void 0;var Llr=en(),Blr=UZe(),Flr=eHe(),zlr=jX(),Ulr=Pp(),Glr=sHe(),Zlr=lHe(),Hlr=dHe(),Jlr=hHe(),Klr=pHe(),Vlr=bHe(),Wlr=wHe(),yHe=class extends Blr.DiagramModule{static{r(this,"GModelDiagramModule")}bindGModelFactory(){return zlr.GModelFactoryNullImpl}bindModelState(){return Ulr.DefaultModelState}configureActionHandlers(n){super.configureActionHandlers(n),n.add(Flr.RequestClipboardDataActionHandler)}configureOperationHandlers(n){super.configureOperationHandlers(n),n.add(Glr.GModelApplyLabelEditOperationHandler),n.add(Zlr.GModelChangeBoundsOperationHandler),n.add(Jlr.GModelCutOperationHandler),n.add(Klr.GModelDeleteOperationHandler),n.add(Vlr.GModelPasteOperationHandler),n.add(Wlr.GModelReconnectEdgeOperationHandler),n.add(Hlr.GModelChangeRoutingPointsOperationHandler)}};IN.GModelDiagramModule=yHe;IN.GModelDiagramModule=yHe=xlr([(0,Llr.injectable)()],yHe)});var SHe=q(JT=>{"use strict";var _He=JT&&JT.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Man=JT&&JT.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(JT,"__esModule",{value:!0});JT.GLSPServerLauncher=void 0;var Xlr=Gr(),IB=en(),Ylr=v1(),jan=Ed(),XX=class{static{r(this,"GLSPServerLauncher")}constructor(){this._modules=[],this.toDispose=new Xlr.DisposableCollection}configure(n,...s){this._modules.push(n,...s)}createContainer(...n){let s=this.parentContainer?this.parentContainer.createChild():new IB.Container;return s.load(...this._modules,...n),s}start(n){if(!this.running)return this.running=!0,this.registerDisposables(),this.run(n);this.logger.warn("Could not start launcher. Launcher is already running!")}registerDisposables(){}shutdown(){if(this.running){this.logger.info("Shutdown GLSPServerLauncher");let n=this.stop();return this.running=!1,n}this.logger.warn("Could not stop launcher. Launcher is not running!")}stop(){this.dispose()}dispose(){this.toDispose.dispose()}get modules(){if(!this._modules)throw new Error("The GLSPServerLauncher has not been configured yet");return this._modules}};JT.GLSPServerLauncher=XX;_He([(0,IB.inject)(jan.Logger),Man("design:type",jan.Logger)],XX.prototype,"logger",void 0);_He([(0,IB.inject)(Ylr.InjectionContainer),(0,IB.optional)(),Man("design:type",IB.Container)],XX.prototype,"parentContainer",void 0);JT.GLSPServerLauncher=XX=_He([(0,IB.injectable)()],XX)});var Sbe=q($y=>{"use strict";var Ian=$y&&$y.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Qlr=$y&&$y.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty($y,"__esModule",{value:!0});$y.JsonRpcGLSPServerLauncher=$y.START_UP_COMPLETE_MSG=void 0;var KT=Gr(),OHe=en(),Tan=Ed(),efr=SHe();$y.START_UP_COMPLETE_MSG="[GLSP-Server]:Startup completed. Accepting requests on port:";var _be=class extends efr.GLSPServerLauncher{static{r(this,"JsonRpcGLSPServerLauncher")}constructor(){super(...arguments),this.serverInstances=new Map,this.startupCompleteMessage=$y.START_UP_COMPLETE_MSG,this.listeningAddress=new KT.Deferred}get listening(){return this.listeningAddress.promise}get port(){let n=this.getServerSocket()?.address();return n&&typeof n!="string"?n.port:void 0}getServerSocket(){}resetListening(){this.listeningAddress.state!=="unresolved"&&(this.listeningAddress=new KT.Deferred)}settleListening(n){let s=n.address();if(!s){this.failToListen("Could not resolve GLSP Server address info.");return}if(typeof s=="string"){this.failToListen(`GLSP Server is unexpectedly listening to pipe or domain socket "${s}".`);return}return this.listeningAddress.resolve(s),s}handleError(n){this.failToListen(`GLSP server socket error. ${n.message}`,n)}failToListen(n,s){this.logger.error(`${n} Shutting down.`),this.listeningAddress.reject(s??new Error(n)),this.shutdown()}registerDisposables(){super.registerDisposables(),this.toDispose.push(KT.Disposable.create(()=>{this.serverInstances.forEach(n=>this.disposeServerInstance(n))}))}disposeServerInstance(n){this.serverInstances.delete(n.clientConnection),n.server.shutdown(),n.container.unbindAll(),n.clientConnection.dispose()}createServerInstance(n){let s=this.createContainer(this.createJsonRpcModule(n)),c=s.get(KT.GLSPServer),l={container:s,clientConnection:n,server:c};this.serverInstances.set(n,l),this.configureClientConnection(l)}createJsonRpcModule(n){return new OHe.ContainerModule(s=>{s(KT.GLSPClientProxy).toDynamicValue(c=>{let l=c.container.resolve(KT.JsonrpcClientProxy);return l.initialize(n),l})})}configureClientConnection(n){(0,KT.configureClientConnection)(n.clientConnection,n.server),n.clientConnection.onNotification(KT.JsonrpcGLSPClient.ShutdownNotification,()=>this.disposeServerInstance(n)),n.clientConnection.onClose(()=>this.disposeServerInstance(n)),this.logger.info("Starting GLSP server connection")}createClientProxy(n){let s=n.container.resolve(KT.JsonrpcClientProxy);return s.initialize(n.clientConnection),s}};$y.JsonRpcGLSPServerLauncher=_be;Ian([(0,OHe.inject)(Tan.Logger),Qlr("design:type",Tan.Logger)],_be.prototype,"logger",void 0);$y.JsonRpcGLSPServerLauncher=_be=Ian([(0,OHe.injectable)()],_be)});var Aan=q(pg=>{"use strict";var MHe=pg&&pg.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(pg,"__esModule",{value:!0});pg.JsonCreateEdgeOperationHandler=pg.JsonCreateNodeOperationHandler=pg.JsonOperationHandler=pg.JsonRecordingCommand=pg.JsonModelState=void 0;var AN=Gr(),THe=en(),tfr=OX(),nfr=vB(),rfr=OT(),EHe;(function(o){function n(s){return(0,AN.hasObjectProp)(s,"sourceModel")&&(0,AN.hasFunctionProp)(s,"updateSourceModel")}r(n,"is"),o.is=n})(EHe||(pg.JsonModelState=EHe={}));var Obe=class extends tfr.AbstractRecordingCommand{static{r(this,"JsonRecordingCommand")}constructor(n,s){super(),this.modelState=n,this.doExecute=s}getJsonObject(){return this.modelState.sourceModel}postChange(n){return this.modelState.updateSourceModel(n)}};pg.JsonRecordingCommand=Obe;var YX=class extends rfr.OperationHandler{static{r(this,"JsonOperationHandler")}commandOf(n){if(!EHe.is(this.modelState))throw new Error("Cannot create command. The underlying model state does not implement the `JsonModelState` interface");return new Obe(this.modelState,n)}};pg.JsonOperationHandler=YX;pg.JsonOperationHandler=YX=MHe([(0,THe.injectable)()],YX);var PHe=class extends YX{static{r(this,"JsonCreateNodeOperationHandler")}constructor(){super(...arguments),this.operationType=AN.CreateNodeOperation.KIND}getTriggerActions(){return this.elementTypeIds.map(n=>this.createTriggerNodeCreationAction(n))}createTriggerNodeCreationAction(n){return AN.TriggerNodeCreationAction.create(n,{ghostElement:this.createTriggerGhostElement(n),args:this.createTriggerArgs(n)})}createTriggerGhostElement(n){}createTriggerArgs(n){}getContainer(n){let s=this.modelState.index;return n.containerId?s.get(n.containerId):void 0}getLocation(n){return n.location}getRelativeLocation(n){let s=this.getContainer(n)??this.modelState.root,c=this.getLocation(n)??AN.Point.ORIGIN;return(0,nfr.getRelativeLocation)(c,s)}};pg.JsonCreateNodeOperationHandler=PHe;pg.JsonCreateNodeOperationHandler=PHe=MHe([(0,THe.injectable)()],PHe);var jHe=class extends YX{static{r(this,"JsonCreateEdgeOperationHandler")}constructor(){super(...arguments),this.operationType=AN.CreateEdgeOperation.KIND}getTriggerActions(){return this.elementTypeIds.map(n=>AN.TriggerEdgeCreationAction.create(n))}};pg.JsonCreateEdgeOperationHandler=jHe;pg.JsonCreateEdgeOperationHandler=jHe=MHe([(0,THe.injectable)()],jHe)});var Can=q(VT=>{"use strict";var ifr=VT&&VT.__createBinding||(Object.create?(function(o,n,s,c){c===void 0&&(c=s);var l=Object.getOwnPropertyDescriptor(n,s);(!l||("get"in l?!n.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:r(function(){return n[s]},"get")}),Object.defineProperty(o,c,l)}):(function(o,n,s,c){c===void 0&&(c=s),o[c]=n[s]})),IHe=VT&&VT.__exportStar||function(o,n){for(var s in o)s!=="default"&&!Object.prototype.hasOwnProperty.call(n,s)&&ifr(n,o,s)};Object.defineProperty(VT,"__esModule",{value:!0});IHe(t0(),VT);IHe(Gr(),VT);IHe(MGe(),VT)});var Ran=q($an=>{"use strict";Object.defineProperty($an,"__esModule",{value:!0})});var kan=q(wP=>{"use strict";var ofr=wP&&wP.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},sfr=wP&&wP.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(wP,"__esModule",{value:!0});wP.ConsoleLogger=void 0;wP.configureConsoleLogger=cfr;var afr=en(),gg=Ed(),Ebe=class extends gg.Logger{static{r(this,"ConsoleLogger")}constructor(n=gg.LogLevel.none,s){super(),this.logLevel=n,this.caller=s}info(n,...s){gg.LogLevel.info<=this.logLevel&&console.info(this.logMessage(gg.LogLevel.info,n,...s))}warn(n,...s){gg.LogLevel.warn<=this.logLevel&&console.warn(this.logMessage(gg.LogLevel.warn,n,...s))}error(n,...s){gg.LogLevel.error<=this.logLevel&&console.error(this.logMessage(gg.LogLevel.error,n,...s))}debug(n,...s){gg.LogLevel.debug<=this.logLevel&&console.debug(this.logMessage(gg.LogLevel.debug,n,...s))}logMessage(n,s,...c){return`${this.logTimestamp()} ${(0,gg.asLogLevel)(n)} - ${this.logCaller()} ${s} ${this.logAdditionals(...c)}`}logCaller(){return this.caller?`[${this.caller}]`:""}logTimestamp(){return new Date().toLocaleTimeString()}logAdditionals(...n){return!n||n.length===0?"":n.map(s=>this.stringify(s)).join(this.logAdditionalsSeparator())}logAdditionalsSeparator(){return`,
@@ -243,7 +243,7 @@ data:
243
243
  `;return l&&(g+=`id: ${l}
244
244
  `),g+=`data: ${JSON.stringify(c)}
245
245
 
246
- `,n.enqueue(s.encode(g)),!0}catch(g){return this.onerror?.(g),!1}}handleUnsupportedRequest(){return this.onerror?.(new Error("Method not allowed.")),new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32e3,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(n,s){try{let c=n.headers.get("accept");if(!c?.includes("application/json")||!c.includes("text/event-stream"))return this.onerror?.(new Error("Not Acceptable: Client must accept both application/json and text/event-stream")),this.createJsonErrorResponse(406,-32e3,"Not Acceptable: Client must accept both application/json and text/event-stream");let l=n.headers.get("content-type");if(!l||!l.includes("application/json"))return this.onerror?.(new Error("Unsupported Media Type: Content-Type must be application/json")),this.createJsonErrorResponse(415,-32e3,"Unsupported Media Type: Content-Type must be application/json");let g={headers:Object.fromEntries(n.headers.entries()),url:new URL(n.url)},v;if(s?.parsedBody!==void 0)v=s.parsedBody;else try{v=await n.json()}catch{return this.onerror?.(new Error("Parse error: Invalid JSON")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let w;try{Array.isArray(v)?w=v.map(ke=>Rp.JSONRPCMessageSchema.parse(ke)):w=[Rp.JSONRPCMessageSchema.parse(v)]}catch{return this.onerror?.(new Error("Parse error: Invalid JSON-RPC message")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let M=w.some(Rp.isInitializeRequest);if(M){if(this._initialized&&this.sessionId!==void 0)return this.onerror?.(new Error("Invalid Request: Server already initialized")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(w.length>1)return this.onerror?.(new Error("Invalid Request: Only one initialization request is allowed")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized&&await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!M){let ke=this.validateSession(n);if(ke)return ke;let Xe=this.validateProtocolVersion(n);if(Xe)return Xe}if(!w.some(Rp.isJSONRPCRequest)){for(let ke of w)this.onmessage?.(ke,{authInfo:s?.authInfo,requestInfo:g});return new Response(null,{status:202})}let k=crypto.randomUUID(),F=w.find(ke=>(0,Rp.isInitializeRequest)(ke)),K=F?F.params.protocolVersion:n.headers.get("mcp-protocol-version")??Rp.DEFAULT_NEGOTIATED_PROTOCOL_VERSION;if(this._enableJsonResponse)return new Promise(ke=>{this._streamMapping.set(k,{resolveJson:ke,cleanup:r(()=>{this._streamMapping.delete(k)},"cleanup")});for(let Xe of w)(0,Rp.isJSONRPCRequest)(Xe)&&this._requestToStreamMapping.set(Xe.id,k);for(let Xe of w)this.onmessage?.(Xe,{authInfo:s?.authInfo,requestInfo:g})});let re=new TextEncoder,ne,me=new ReadableStream({start:r(ke=>{ne=ke},"start"),cancel:r(()=>{this._streamMapping.delete(k)},"cancel")}),Te={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};this.sessionId!==void 0&&(Te["mcp-session-id"]=this.sessionId);for(let ke of w)(0,Rp.isJSONRPCRequest)(ke)&&(this._streamMapping.set(k,{controller:ne,encoder:re,cleanup:r(()=>{this._streamMapping.delete(k);try{ne.close()}catch{}},"cleanup")}),this._requestToStreamMapping.set(ke.id,k));await this.writePrimingEvent(ne,re,k,K);for(let ke of w){let Xe,Ke;(0,Rp.isJSONRPCRequest)(ke)&&this._eventStore&&K>="2025-11-25"&&(Xe=r(()=>{this.closeSSEStream(ke.id)},"closeSSEStream"),Ke=r(()=>{this.closeStandaloneSSEStream()},"closeStandaloneSSEStream")),this.onmessage?.(ke,{authInfo:s?.authInfo,requestInfo:g,closeSSEStream:Xe,closeStandaloneSSEStream:Ke})}return new Response(me,{status:200,headers:Te})}catch(c){return this.onerror?.(c),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(c)})}}async handleDeleteRequest(n){let s=this.validateSession(n);if(s)return s;let c=this.validateProtocolVersion(n);return c||(await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200}))}validateSession(n){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.onerror?.(new Error("Bad Request: Server not initialized")),this.createJsonErrorResponse(400,-32e3,"Bad Request: Server not initialized");let s=n.headers.get("mcp-session-id");if(!s)return this.onerror?.(new Error("Bad Request: Mcp-Session-Id header is required")),this.createJsonErrorResponse(400,-32e3,"Bad Request: Mcp-Session-Id header is required");if(s!==this.sessionId)return this.onerror?.(new Error("Session not found")),this.createJsonErrorResponse(404,-32001,"Session not found")}validateProtocolVersion(n){let s=n.headers.get("mcp-protocol-version");if(s!==null&&!Rp.SUPPORTED_PROTOCOL_VERSIONS.includes(s))return this.onerror?.(new Error(`Bad Request: Unsupported protocol version: ${s} (supported versions: ${Rp.SUPPORTED_PROTOCOL_VERSIONS.join(", ")})`)),this.createJsonErrorResponse(400,-32e3,`Bad Request: Unsupported protocol version: ${s} (supported versions: ${Rp.SUPPORTED_PROTOCOL_VERSIONS.join(", ")})`)}async close(){this._streamMapping.forEach(({cleanup:n})=>{n()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(n){let s=this._requestToStreamMapping.get(n);if(!s)return;let c=this._streamMapping.get(s);c&&c.cleanup()}closeStandaloneSSEStream(){let n=this._streamMapping.get(this._standaloneSseStreamId);n&&n.cleanup()}async send(n,s){let c=s?.relatedRequestId;if(((0,Rp.isJSONRPCResultResponse)(n)||(0,Rp.isJSONRPCErrorResponse)(n))&&(c=n.id),c===void 0){if((0,Rp.isJSONRPCResultResponse)(n)||(0,Rp.isJSONRPCErrorResponse)(n))throw new Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let v;this._eventStore&&(v=await this._eventStore.storeEvent(this._standaloneSseStreamId,n));let w=this._streamMapping.get(this._standaloneSseStreamId);if(w===void 0)return;w.controller&&w.encoder&&this.writeSSEEvent(w.controller,w.encoder,n,v);return}let l=this._requestToStreamMapping.get(c);if(!l)throw new Error(`No connection established for request ID: ${String(c)}`);let g=this._streamMapping.get(l);if(!this._enableJsonResponse&&g?.controller&&g?.encoder){let v;this._eventStore&&(v=await this._eventStore.storeEvent(l,n)),this.writeSSEEvent(g.controller,g.encoder,n,v)}if((0,Rp.isJSONRPCResultResponse)(n)||(0,Rp.isJSONRPCErrorResponse)(n)){this._requestResponseMap.set(c,n);let v=Array.from(this._requestToStreamMapping.entries()).filter(([M,A])=>A===l).map(([M])=>M);if(v.every(M=>this._requestResponseMap.has(M))){if(!g)throw new Error(`No connection established for request ID: ${String(c)}`);if(this._enableJsonResponse&&g.resolveJson){let M={"Content-Type":"application/json"};this.sessionId!==void 0&&(M["mcp-session-id"]=this.sessionId);let A=v.map(k=>this._requestResponseMap.get(k));A.length===1?g.resolveJson(new Response(JSON.stringify(A[0]),{status:200,headers:M})):g.resolveJson(new Response(JSON.stringify(A),{status:200,headers:M}))}else g.cleanup();for(let M of v)this._requestResponseMap.delete(M),this._requestToStreamMapping.delete(M)}}}};Vye.WebStandardStreamableHTTPServerTransport=_Ye});var Qbn=q((o$i,Ekr)=>{Ekr.exports={name:"@eclipse-glsp/server-mcp",version:"2.9.0-next.12",description:"Model Context Protocol (MCP) server for the GLSP TypeScript server \u2014 runs on Node, browser, and Fetch-API runtimes",keywords:["diagram","diagram editor","eclipse","glsp","graphics","mcp","modeling","visualization"],homepage:"https://www.eclipse.org/glsp/",bugs:"https://github.com/eclipse-glsp/glsp/issues",license:"(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0)",author:{name:"Eclipse GLSP"},contributors:[{name:"Eclipse GLSP Project",email:"glsp-dev@eclipse.org",url:"https://projects.eclipse.org/projects/ecd.glsp"}],repository:{type:"git",url:"https://github.com/eclipse-glsp/glsp-core.git",directory:"packages/server/server-mcp"},files:["lib","src","node.js","node.d.ts","browser.js","browser.d.ts","common.js","common.d.ts","!**/*.spec.*","!**/test/**"],main:"lib/node/index",browser:{"lib/node/index":"./lib/browser/index"},types:"lib/common/index",publishConfig:{access:"public"},scripts:{build:"tsc -b",clean:"rimraf lib *.tsbuildinfo coverage","generate:index":"glsp generateIndex src/browser src/common src/node -f -s",prepublishOnly:"pnpm build"},dependencies:{"@eclipse-glsp/server":"workspace:*","@hono/node-server":"^1.19.9","@modelcontextprotocol/sdk":"^1.29.0",zod:"^4.0.0"},peerDependencies:{inversify:"^6.1.3","reflect-metadata":"^0.2.2"}}});var Xye=q(R1=>{"use strict";var Pkr=R1&&R1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},jkr=R1&&R1.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},SYe=R1&&R1.__param||function(o,n){return function(s,c){n(s,c,o)}};Object.defineProperty(R1,"__esModule",{value:!0});R1.DefaultGLSPMcpServer=R1.GLSPMcpServerFactory=R1.GLSPMcpServer=void 0;var Mkr=Kr(),Tkr=RQ(),OYe=DC(),Wye=en();R1.GLSPMcpServer=Symbol("GLSPMcpServer");var Ikr=3e4,Akr=5e3;R1.GLSPMcpServerFactory=Symbol("GLSPMcpServerFactory");var EYe=class{static{r(this,"DefaultGLSPMcpServer")}constructor(n,s,c){this.mcpServer=n,this.options=s,this.logger=c,this.tools=new Map,this.resources=new Map,this.prompts=new Map;let{tools:l,resources:g,prompts:v}=this;this.registerTool=new Proxy(n.registerTool.bind(n),{apply(w,M,A){let k=Reflect.apply(w,M,A);return typeof A[0]=="string"&&l.set(A[0],k),k}}),this.registerResource=new Proxy(n.registerResource.bind(n),{apply(w,M,A){let k=Reflect.apply(w,M,A);return typeof A[0]=="string"&&g.set(A[0],k),k}}),this.registerPrompt=new Proxy(n.registerPrompt.bind(n),{apply(w,M,A){let k=Reflect.apply(w,M,A);return typeof A[0]=="string"&&v.set(A[0],k),k}})}sendLoggingMessage(...n){return this.mcpServer.sendLoggingMessage(...n)}async connect(...n){await this.mcpServer.connect(...n),this.keepAliveTimer=setInterval(()=>this.ping().catch(c=>{(!(c instanceof OYe.McpError)||c.code!==OYe.ErrorCode.RequestTimeout)&&this.logger.debug("MCP keep-alive ping failed:",c)}),Ikr);let s=this.keepAliveTimer.unref;typeof s=="function"&&s.call(this.keepAliveTimer)}isConnected(){return this.mcpServer.isConnected()}async ping(){await this.mcpServer.server.request({method:"ping"},OYe.EmptyResultSchema,{timeout:Akr})}listTools(){return[...this.tools.values()]}hasTool(n){return this.tools.has(n)}listResources(){return[...this.resources.values()]}listPrompts(){return[...this.prompts.values()]}getRawServer(){return this.mcpServer}dispose(){this.keepAliveTimer&&(clearInterval(this.keepAliveTimer),this.keepAliveTimer=void 0),this.mcpServer.close()}};R1.DefaultGLSPMcpServer=EYe;R1.DefaultGLSPMcpServer=EYe=Pkr([(0,Wye.injectable)(),SYe(0,(0,Wye.unmanaged)()),SYe(1,(0,Wye.unmanaged)()),SYe(2,(0,Wye.unmanaged)()),jkr("design:paramtypes",[Tkr.McpServer,Object,Mkr.Logger])],EYe)});var Qye=q(Yye=>{"use strict";Object.defineProperty(Yye,"__esModule",{value:!0});Yye.LruEventStore=void 0;var PYe=class o{static{r(this,"LruEventStore")}static{this.DEFAULT_LIMIT=1e4}constructor(n=o.DEFAULT_LIMIT,s){if(this.events=new Map,n<1)throw new Error(`LruEventStore limit must be >= 1, got ${n}`);this.limit=n,this.logger=s}get size(){return this.events.size}async storeEvent(n,s){let c=`${n}_${Date.now()}_${Math.random().toString(36).substring(2,10)}`;if(this.events.set(c,{streamId:n,message:s}),this.events.size>this.limit){let l=this.events.keys().next().value;l!==void 0&&this.events.delete(l)}return c}async replayEventsAfter(n,{send:s}){if(!n)return"";if(!this.events.has(n))return this.logger?.warn(`[LruEventStore] Replay miss for last-event-id '${n}'. Cap is ${this.limit}; consider increasing \`eventStoreLimit\` if this fires under normal load.`),"";let c=n.split("_")[0];if(!c)return"";let l=!1;for(let[g,{streamId:v,message:w}]of this.events)if(v===c){if(g===n){l=!0;continue}l&&await s(g,w)}return c}};Yye.LruEventStore=PYe});var e_e=q(k1=>{"use strict";var DQ=k1&&k1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},jYe=k1&&k1.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(k1,"__esModule",{value:!0});k1.McpDiagramPromptHandlerRegistryInitializer=k1.McpDiagramPromptHandlerRegistry=k1.McpDiagramPromptHandlerFactory=void 0;var Ckr=Kr(),CF=en(),$kr=lI();k1.McpDiagramPromptHandlerFactory=Symbol("McpDiagramPromptHandlerFactory");var kQ=class extends Ckr.Registry{static{r(this,"McpDiagramPromptHandlerRegistry")}registerHandler(n){return this.register(n.name,n)}};k1.McpDiagramPromptHandlerRegistry=kQ;k1.McpDiagramPromptHandlerRegistry=kQ=DQ([(0,CF.injectable)()],kQ);var $F=class{static{r(this,"McpDiagramPromptHandlerRegistryInitializer")}constructor(){this.constructors=[]}initialize(n){for(let s of this.constructors)try{this.registry.registerHandler(this.factory(s))}catch(c){throw new Error(`Failed to instantiate MCP diagram prompt handler '${s.name}': ${c.message}. Check your DiagramModule bindings.`)}}};k1.McpDiagramPromptHandlerRegistryInitializer=$F;DQ([(0,CF.inject)(k1.McpDiagramPromptHandlerFactory),jYe("design:type",Function)],$F.prototype,"factory",void 0);DQ([(0,CF.inject)($kr.McpDiagramPromptHandlerConstructor),(0,CF.optional)(),jYe("design:type",Array)],$F.prototype,"constructors",void 0);DQ([(0,CF.inject)(kQ),jYe("design:type",kQ)],$F.prototype,"registry",void 0);k1.McpDiagramPromptHandlerRegistryInitializer=$F=DQ([(0,CF.injectable)()],$F)});var EI=q(yg=>{"use strict";var OI=yg&&yg.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},kF=yg&&yg.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(yg,"__esModule",{value:!0});yg.McpDiagramResourceHandlerConstructor=yg.AbstractMcpDiagramResourceHandler=yg.AbstractMcpResourceHandler=yg.McpResourceHandler=void 0;yg.toParams=t0n;var NQ=Kr(),Rkr=RQ(),Tj=en(),MYe=ah(),kkr=BN(),e0n=cI();yg.McpResourceHandler=Symbol("McpResourceHandler");var RF=class{static{r(this,"BaseMcpResourceHandler")}constructor(){this.requestContext=new e0n.NoopMcpRequestContext}toAnnotations(){if(!(this.audience===void 0&&this.priority===void 0&&this.lastModified===void 0))return{...this.audience!==void 0?{audience:this.audience}:{},...this.priority!==void 0?{priority:this.priority}:{},...this.lastModified!==void 0?{lastModified:this.lastModified}:{}}}uriTemplate(){return typeof this.uri=="string"?this.uri:this.uri.template}expandUriTemplate(n){return this.uriTemplate().replace(/\{(\w+)\}/g,(s,c)=>{let l=n[c];return l===void 0?s:encodeURIComponent(l)})}async execute(n){try{return{ok:!0,body:await n()}}catch(s){if(s instanceof MYe.McpToolError)return{ok:!1,message:s.message};let c=(0,MYe.extractErrorMessage)(s);return this.logger.error(`Unexpected error in resource '${this.name}': ${c}`,s),{ok:!1,message:c}}}toResourceResult(n,s){return s.ok?{contents:["text"in s.body?{uri:n,mimeType:this.mimeType,text:s.body.text}:{uri:n,mimeType:this.mimeType,blob:s.body.blob}],isError:!1}:{contents:[{uri:n,mimeType:"text/plain",text:s.message}],isError:!0}}toToolResult(n){if(!n.ok)return{isError:!0,content:[{type:"text",text:n.message}]};let s=n.body.structured,c="text"in n.body?{isError:!1,content:[{type:"text",text:n.body.text}]}:{isError:!1,content:[{type:"image",data:n.body.blob,mimeType:this.mimeType}]};return s?{...c,structuredContent:s}:c}buildResourceTemplate(n){return new Rkr.ResourceTemplate(n,{list:this.list?async s=>this.requestContext.run(s,()=>this.list()):void 0,complete:this.complete?.()})}};OI([(0,Tj.inject)(e0n.McpRequestContext),(0,Tj.optional)(),kF("design:type",Object)],RF.prototype,"requestContext",void 0);OI([(0,Tj.inject)(NQ.Logger),kF("design:type",NQ.Logger)],RF.prototype,"logger",void 0);RF=OI([(0,Tj.injectable)()],RF);var TYe=class extends RF{static{r(this,"AbstractMcpResourceHandler")}registerResource(n){let s=this.toAnnotations(),c={title:this.title,description:this.description,mimeType:this.mimeType,...s?{annotations:s}:{}};if(typeof this.uri=="string"){let l=this.uri;n.registerResource(this.name,l,c,async(g,v)=>this.requestContext.run(v,async()=>this.toResourceResult(l,await this.execute(()=>this.createResult({})))))}else n.registerResource(this.name,this.buildResourceTemplate(this.uri.template),c,async(l,g,v)=>this.requestContext.run(v,async()=>this.toResourceResult(l.toString(),await this.execute(()=>this.createResult(t0n(g))))))}registerToolAlternative(n){this.toolAlternativeInputSchema&&this.doRegisterToolAlternative(n)}doRegisterToolAlternative(n){let s=this.toolAlternativeInputSchema;n.registerTool(this.name,{title:this.title,description:this.description,inputSchema:s.strict(),outputSchema:this.toolAlternativeOutputSchema},async(c,l)=>this.requestContext.run(l,async()=>this.toToolResult(await this.execute(()=>this.createResult(c)))))}};yg.AbstractMcpResourceHandler=TYe;yg.AbstractMcpResourceHandler=TYe=OI([(0,Tj.injectable)()],TYe);var S9=class extends RF{static{r(this,"AbstractMcpDiagramResourceHandler")}requestAction(n,s,c=this.name){return(0,MYe.requestActionOrFail)(this.actionDispatcher,n,s,c)}isSupportedByDiagramType(){return!0}canRegister(){return!0}list(){return{resources:[this.toListingEntry()]}}complete(){return this.uriTemplate().includes("{sessionId}")?{sessionId:r(async()=>[this.clientId],"sessionId")}:{}}toListingEntry(){let n=this.toAnnotations();return{uri:this.expandUriTemplate({sessionId:this.clientId}),name:`${this.title??this.name}: ${this.clientId}`,description:this.description,mimeType:this.mimeType,...n?{annotations:n}:{}}}async handleRead(n,s){return this.toResourceResult(n,await this.execute(()=>this.createResult(s)))}async handleAsTool(n){return this.toToolResult(await this.execute(()=>this.createResult(n)))}glspSessionScopedComplete(){let n=this.complete?.()??{},s=this.clientId,c=typeof this.uri=="object"&&this.uri.template.includes("{sessionId}"),l={};for(let[g,v]of Object.entries(n))l[g]=g==="sessionId"||!c?v:async(w,M)=>M?.arguments?.sessionId===s?v(w,M):[];return l}};yg.AbstractMcpDiagramResourceHandler=S9;OI([(0,Tj.inject)(NQ.ClientId),kF("design:type",String)],S9.prototype,"clientId",void 0);OI([(0,Tj.inject)(NQ.ModelState),kF("design:type",Object)],S9.prototype,"modelState",void 0);OI([(0,Tj.inject)(kkr.McpIdAliasService),kF("design:type",Object)],S9.prototype,"aliasService",void 0);OI([(0,Tj.inject)(NQ.ActionDispatcher),kF("design:type",Object)],S9.prototype,"actionDispatcher",void 0);yg.AbstractMcpDiagramResourceHandler=S9=OI([(0,Tj.injectable)()],S9);function t0n(o){let n={};for(let[s,c]of Object.entries(o))n[s]=Array.isArray(c)?c[0]??"":c;return n}r(t0n,"toParams");yg.McpDiagramResourceHandlerConstructor=Symbol("McpDiagramResourceHandlerConstructor")});var t_e=q(D1=>{"use strict";var O9=D1&&D1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},LQ=D1&&D1.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(D1,"__esModule",{value:!0});D1.McpDiagramResourceHandlerRegistryInitializer=D1.McpDiagramResourceHandlerRegistry=D1.McpDiagramResourceHandlerFactory=void 0;var qQ=Kr(),VC=en(),Dkr=EI();D1.McpDiagramResourceHandlerFactory=Symbol("McpDiagramResourceHandlerFactory");var xQ=class extends qQ.Registry{static{r(this,"McpDiagramResourceHandlerRegistry")}registerHandler(n){return this.register(n.name,n)}};D1.McpDiagramResourceHandlerRegistry=xQ;D1.McpDiagramResourceHandlerRegistry=xQ=O9([(0,VC.injectable)()],xQ);var WC=class{static{r(this,"McpDiagramResourceHandlerRegistryInitializer")}constructor(){this.constructors=[]}initialize(n){let s=this.clientId===qQ.TEMPORARY_CLIENT_ID;for(let c of this.constructors){let l;try{l=this.factory(c)}catch(g){throw new Error(`Failed to instantiate MCP diagram resource handler '${c.name}': ${g.message}. Check your DiagramModule bindings.`)}if(!l.canRegister()){s||this.logger.debug(`Skipping MCP diagram resource handler '${l.name}': canRegister() returned false.`);continue}this.registry.registerHandler(l)}}};D1.McpDiagramResourceHandlerRegistryInitializer=WC;O9([(0,VC.inject)(D1.McpDiagramResourceHandlerFactory),LQ("design:type",Function)],WC.prototype,"factory",void 0);O9([(0,VC.inject)(Dkr.McpDiagramResourceHandlerConstructor),(0,VC.optional)(),LQ("design:type",Array)],WC.prototype,"constructors",void 0);O9([(0,VC.inject)(xQ),LQ("design:type",xQ)],WC.prototype,"registry",void 0);O9([(0,VC.inject)(qQ.ClientId),LQ("design:type",String)],WC.prototype,"clientId",void 0);O9([(0,VC.inject)(qQ.Logger),LQ("design:type",qQ.Logger)],WC.prototype,"logger",void 0);D1.McpDiagramResourceHandlerRegistryInitializer=WC=O9([(0,VC.injectable)()],WC)});var n_e=q(N1=>{"use strict";var E9=N1&&N1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},zQ=N1&&N1.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(N1,"__esModule",{value:!0});N1.McpDiagramToolHandlerRegistryInitializer=N1.McpDiagramToolHandlerRegistry=N1.McpDiagramToolHandlerFactory=void 0;var BQ=Kr(),XC=en(),Nkr=sl();N1.McpDiagramToolHandlerFactory=Symbol("McpDiagramToolHandlerFactory");var FQ=class extends BQ.Registry{static{r(this,"McpDiagramToolHandlerRegistry")}registerHandler(n){return this.register(n.name,n)}};N1.McpDiagramToolHandlerRegistry=FQ;N1.McpDiagramToolHandlerRegistry=FQ=E9([(0,XC.injectable)()],FQ);var YC=class{static{r(this,"McpDiagramToolHandlerRegistryInitializer")}constructor(){this.constructors=[]}initialize(n){let s=this.clientId===BQ.TEMPORARY_CLIENT_ID;for(let c of this.constructors){let l;try{l=this.factory(c)}catch(g){throw new Error(`Failed to instantiate MCP diagram tool handler '${c.name}': ${g.message}. Check your DiagramModule bindings.`)}if(!l.canRegister()){s||this.logger.debug(`Skipping MCP diagram tool handler '${l.name}': canRegister() returned false.`);continue}this.registry.registerHandler(l)}}};N1.McpDiagramToolHandlerRegistryInitializer=YC;E9([(0,XC.inject)(N1.McpDiagramToolHandlerFactory),zQ("design:type",Function)],YC.prototype,"factory",void 0);E9([(0,XC.inject)(Nkr.McpDiagramToolHandlerConstructor),(0,XC.optional)(),zQ("design:type",Array)],YC.prototype,"constructors",void 0);E9([(0,XC.inject)(FQ),zQ("design:type",FQ)],YC.prototype,"registry",void 0);E9([(0,XC.inject)(BQ.ClientId),zQ("design:type",String)],YC.prototype,"clientId",void 0);E9([(0,XC.inject)(BQ.Logger),zQ("design:type",BQ.Logger)],YC.prototype,"logger",void 0);N1.McpDiagramToolHandlerRegistryInitializer=YC=E9([(0,XC.injectable)()],YC)});var r_e=q(W2=>{"use strict";var DF=W2&&W2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},UQ=W2&&W2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(W2,"__esModule",{value:!0});W2.DefaultMcpDiagramHandlerDispatcher=W2.McpDiagramHandlerDispatcher=void 0;var P9=Kr(),qkr=RQ(),e$=en(),xkr=e_e(),n0n=t_e(),Lkr=n_e(),QC=ah(),Bkr=lI(),i0n=cI(),IYe=EI(),r0n=sl();W2.McpDiagramHandlerDispatcher=Symbol("McpDiagramHandlerDispatcher");var t$=class{static{r(this,"DefaultMcpDiagramHandlerDispatcher")}constructor(){this.requestContext=new i0n.NoopMcpRequestContext,this.diagramCatalogs=[]}harvest(){if(this.diagramCatalogs.length>0)return;let n=[],s=(0,P9.createClientSessionModule)({clientId:P9.TEMPORARY_CLIENT_ID,glspClient:{process:r(()=>{},"process")},clientActionKinds:[]});for(let[c,l]of this.diagramModules){let g=this.serverContainer.createChild();g.load(...l,s);let v=this.filterSupported(g,AYe(g,r0n.McpDiagramToolHandlerConstructor),c,r0n.BaseMcpDiagramToolHandler.prototype.isSupportedByDiagramType),w=this.filterSupported(g,AYe(g,IYe.McpDiagramResourceHandlerConstructor),c,IYe.AbstractMcpDiagramResourceHandler.prototype.isSupportedByDiagramType),M=AYe(g,Bkr.McpDiagramPromptHandlerConstructor);g.unbindAll(),n.push({diagramType:c,toolConstructors:v,resourceConstructors:w,promptConstructors:M})}this.diagramCatalogs=n}filterSupported(n,s,c,l){return s.filter(g=>{let v=g.prototype.isSupportedByDiagramType;if(typeof v!="function"||v===l)return!0;try{return n.resolve(g).isSupportedByDiagramType()?!0:(this.logger.debug(`Diagram type '${c}' does not support MCP handler '${g.name}'; not registering.`),!1)}catch(w){return this.logger.debug(`Could not probe MCP handler '${g.name}' for diagram type '${c}'; registering.`,w),!0}})}hasDiagramTools(){return this.diagramCatalogs.some(n=>n.toolConstructors.length>0)}hasDiagramResources(){return this.diagramCatalogs.some(n=>n.resourceConstructors.length>0)}hasDiagramPrompts(){return this.diagramCatalogs.some(n=>n.promptConstructors.length>0)}registerAll(n,s){this.registerDiagramScopeTools(n),this.registerDiagramScopeResources(n,s),this.registerDiagramScopePrompts(n)}registerDiagramScopeTools(n){let s=new Map;for(let c of this.diagramCatalogs)for(let l of c.toolConstructors){let g=new l,v={description:g.description,inputKeys:Object.keys(g.inputSchema?.shape??{}).sort().join(","),diagramType:c.diagramType},w=s.get(g.name);if(w){(w.description!==v.description||w.inputKeys!==v.inputKeys)&&this.logger.warn(`Diagram-scope tool '${g.name}' is registered by multiple diagram types with diverging schemas: first registered by '${w.diagramType}', shadowed registration from '${c.diagramType}' is silently dropped. Either align schemas (description + inputSchema.shape keys must match) or pick distinct tool names.`);continue}s.set(g.name,v),n.registerTool(g.name,g.toRegistrationConfig(),(M,A)=>this.requestContext.run(A,()=>this.dispatchDiagramTool(g.name,M)))}}registerDiagramScopeResources(n,s){let c=new Set;for(let l of this.diagramCatalogs)for(let g of l.resourceConstructors){let v=new g;c.has(v.name)||(c.add(v.name),s?this.registerOneDiagramResource(n,v):v.toolAlternativeInputSchema&&this.registerOneDiagramResourceAsTool(n,v))}}registerOneDiagramResource(n,s){let c=s.name,l=s.toAnnotations(),g={title:s.title,description:s.description,mimeType:s.mimeType,...l?{annotations:l}:{}};if(typeof s.uri=="string"){let v=s.uri;n.registerResource(c,v,g,(w,M)=>this.requestContext.run(M,()=>this.dispatchStaticDiagramRead(c,v)))}else{let v=this.buildAggregatingResourceTemplate(s.uri.template,c);n.registerResource(c,v,g,(w,M,A)=>this.requestContext.run(A,()=>this.dispatchTemplatedDiagramRead(c,w,M)))}}registerOneDiagramResourceAsTool(n,s){let c=s.name,l=s.toolAlternativeInputSchema;n.registerTool(c,{title:s.title,description:s.description,inputSchema:l.strict(),outputSchema:s.toolAlternativeOutputSchema},(g,v)=>this.requestContext.run(v,()=>this.dispatchDiagramResourceAsTool(c,g)))}registerDiagramScopePrompts(n){let s=new Set;for(let c of this.diagramCatalogs)for(let l of c.promptConstructors){let g=new l;s.has(g.name)||(s.add(g.name),n.registerPrompt(g.name,g.toRegistrationConfig(),(v,w)=>this.requestContext.run(w,()=>this.dispatchDiagramPrompt(g.name,v))))}}buildAggregatingResourceTemplate(n,s){return new qkr.ResourceTemplate(n,{list:r(c=>this.requestContext.run(c,()=>this.aggregateList(s)),"list"),complete:this.buildAggregatedCompleters(s)})}async aggregateList(n){let s=[],c=new Set;for(let l of this.clientSessionManager.getSessions().map(g=>g.id)){let v=await this.findDiagramResourceHandler(n,l)?.list?.();if(v)for(let w of v.resources)c.has(w.uri)||(c.add(w.uri),s.push(w))}return{resources:s}}buildAggregatedCompleters(n){let s=this.collectCompleterVariableNames(n),c={};for(let l of s)c[l]=async(g,v)=>{let w=new Set;for(let M of this.clientSessionManager.getSessions().map(A=>A.id)){let A=this.findDiagramResourceHandler(n,M);if(!A)continue;let F=A.glspSessionScopedComplete()[l];if(!F)continue;(await F(g,v)).forEach(re=>w.add(re))}return[...w]};return c}collectCompleterVariableNames(n){let s=new Set;for(let c of this.diagramCatalogs)for(let l of c.resourceConstructors){let g=new l;g.name===n&&Object.keys(g.complete?.()??{}).forEach(v=>s.add(v))}return s}dispatchDiagramTool(n,s){return(0,QC.runWithToolErrorEnvelope)(async()=>this.requireDiagramToolHandler(n,s).handle(s))}dispatchStaticDiagramRead(n,s){let c=this.clientSessionManager.getSessions()[0]?.id;if(!c)throw new QC.McpToolError(`No open GLSP session can serve resource '${n}'.`);return this.requireDiagramResourceHandler(n,c).handleRead(s,{sessionId:c})}dispatchTemplatedDiagramRead(n,s,c){let l=(0,IYe.toParams)(c);return this.requireDiagramResourceHandler(n,l.sessionId).handleRead(s.toString(),l)}dispatchDiagramResourceAsTool(n,s){return(0,QC.runWithToolErrorEnvelope)(async()=>this.requireDiagramResourceHandler(n,this.extractSessionId(s)).handleAsTool(s))}dispatchDiagramPrompt(n,s){return this.requireDiagramPromptHandler(n,s).handle(s)}extractSessionId(n){return n.sessionId}requireDiagramToolHandler(n,s){let c=this.requireGlspSession(this.extractSessionId(s)),g=c.container.get(Lkr.McpDiagramToolHandlerRegistry).get(n);if(!g)throw new QC.McpToolError(`No tool handler '${n}' registered for diagram type '${c.diagramType}'.`);return g}requireDiagramResourceHandler(n,s){let c=this.requireGlspSession(s),g=c.container.get(n0n.McpDiagramResourceHandlerRegistry).get(n);if(!g)throw new QC.McpToolError(`No resource handler '${n}' registered for diagram type '${c.diagramType}'.`);return g}findDiagramResourceHandler(n,s){let c=this.clientSessionManager.getSession(s);if(c)return c.container.get(n0n.McpDiagramResourceHandlerRegistry).get(n)}requireDiagramPromptHandler(n,s){let c=this.requireGlspSession(this.extractSessionId(s)),g=c.container.get(xkr.McpDiagramPromptHandlerRegistry).get(n);if(!g)throw new QC.McpToolError(`No prompt handler '${n}' registered for diagram type '${c.diagramType}'.`);return g}requireGlspSession(n){if(!n)throw new QC.McpMissingParamError("sessionId");let s=this.clientSessionManager.getSession(n);if(!s)throw new QC.McpSessionNotFoundError(n);return s}reset(){this.diagramCatalogs=[]}};W2.DefaultMcpDiagramHandlerDispatcher=t$;DF([(0,e$.inject)(i0n.McpRequestContext),(0,e$.optional)(),UQ("design:type",Object)],t$.prototype,"requestContext",void 0);DF([(0,e$.inject)(P9.InjectionContainer),UQ("design:type",e$.Container)],t$.prototype,"serverContainer",void 0);DF([(0,e$.inject)(P9.DiagramModules),UQ("design:type",Map)],t$.prototype,"diagramModules",void 0);DF([(0,e$.inject)(P9.ClientSessionManager),UQ("design:type",Object)],t$.prototype,"clientSessionManager",void 0);DF([(0,e$.inject)(P9.Logger),UQ("design:type",P9.Logger)],t$.prototype,"logger",void 0);W2.DefaultMcpDiagramHandlerDispatcher=t$=DF([(0,e$.injectable)()],t$);function AYe(o,n){return o.isBound(n)?o.get(n):[]}r(AYe,"getConstructorList")});var GQ=q(Ij=>{"use strict";var Fkr=Ij&&Ij.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},i_e;Object.defineProperty(Ij,"__esModule",{value:!0});Ij.DefaultMcpLogLevelRegistry=Ij.McpLogLevelRegistry=void 0;Ij.passesLogThreshold=Ukr;var zkr=en();Ij.McpLogLevelRegistry=Symbol("McpLogLevelRegistry");var o0n={emergency:0,alert:1,critical:2,error:3,warning:4,notice:5,info:6,debug:7};function Ukr(o,n){return o0n[o]<=o0n[n]}r(Ukr,"passesLogThreshold");var CYe=class{static{r(this,"DefaultMcpLogLevelRegistry")}constructor(){this.levels=new Map}static{i_e=this}static{this.DEFAULT_LEVEL="debug"}setLevel(n,s){this.levels.set(n,s)}getLevel(n){return n===void 0?i_e.DEFAULT_LEVEL:this.levels.get(n)??i_e.DEFAULT_LEVEL}clear(n){this.levels.delete(n)}};Ij.DefaultMcpLogLevelRegistry=CYe;Ij.DefaultMcpLogLevelRegistry=CYe=i_e=Fkr([(0,zkr.injectable)()],CYe)});var o_e=q(PI=>{"use strict";var Gkr=PI&&PI.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(PI,"__esModule",{value:!0});PI.McpServerDefaults=PI.McpServerOptions=void 0;var Zkr=en(),$Ye=class{static{r(this,"McpServerOptions")}constructor(){this.values={}}};PI.McpServerOptions=$Ye;PI.McpServerOptions=$Ye=Gkr([(0,Zkr.injectable)()],$Ye);PI.McpServerDefaults=Symbol("McpServerDefaults")});var a_e=q(Xv=>{"use strict";var X2=Xv&&Xv.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Cj=Xv&&Xv.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(Xv,"__esModule",{value:!0});Xv.AbstractMcpServerLauncher=Xv.SERVER_VERSION=void 0;Xv.pickInitOptions=s0n;var Aj=Kr(),Hkr=RQ(),Jkr=Ybn(),s_e=DC(),m0=en(),Kkr=Qbn(),Vkr=Xye(),Wkr=Qye(),Xkr=r_e(),Ykr=GQ(),RYe=o_e(),Qkr=lI(),eDr=EI(),tDr=sl();Xv.SERVER_VERSION=Kkr.version;function s0n(o){let{dataMode:n,agentPersona:s,eventStoreLimit:c}=o,l={};return n!==void 0&&(l.dataMode=n),s!==void 0&&(l.agentPersona=s),c!==void 0&&(l.eventStoreLimit=c),l}r(s0n,"pickInitOptions");var nDr=null,Wv=class{static{r(this,"AbstractMcpServerLauncher")}constructor(){this.toolHandlers=[],this.resourceHandlers=[],this.promptHandlers=[],this.toDispose=new Aj.DisposableCollection,this.sessions=new Map,this.sessionServers=new Map,this.onSessionInitializedEmitter=new Aj.Emitter,this.onSessionInitialized=this.onSessionInitializedEmitter.event,this.onSessionClosedEmitter=new Aj.Emitter,this.onSessionClosed=this.onSessionClosedEmitter.event}async initializeServer(n,s,c){let l=Aj.McpInitializeParameters.getServerConfig(s);if(!l)return c;if(this.serverConfig)return this.serverUrl?Aj.McpInitializeResult.attachServer(c,{name:this.serverConfig.name,url:this.serverUrl}):c;let{port:g=0,route:v="/mcp",name:w="glsp",options:M={}}=l,A={...this.mcpDefaults,...s0n(M)};this.mcpOptions.values=A;let k=A.host??"127.0.0.1",F={port:g,host:k,route:v,name:w,options:A};this.dispatcher.harvest(),this.installResourceListChangedNotifier();let K=await this.bindTransport(F);return this.serverConfig=F,this.serverUrl=K.url,this.logger.info(`MCP server '${F.name}' is ready to accept new client requests on: ${this.serverUrl??"(no network endpoint)"}`),K.url?Aj.McpInitializeResult.attachServer(c,{name:F.name,url:K.url,headers:K.headers}):c}serverShutDown(n){this.dispose()}dispose(){let n=Array.from(this.sessions.values()).map(s=>s.close().catch(c=>this.logger.warn(`Error closing MCP session ${s.sessionId}: ${c}`)));this.sessions.clear(),this.sessionServers.forEach(s=>s.dispose()),this.sessionServers.clear(),Promise.allSettled(n).then(()=>{this.toDispose.dispose(),this.toDispose.clear()}),this.serverUrl=void 0,this.serverConfig=void 0,this.dispatcher.reset()}async handleRequest(n,s){let c=new URL(n.url),l=this.serverConfig?.route??"/mcp";if(c.pathname!==l)return new Response("Not Found",{status:404});if(n.method!=="POST"&&n.method!=="GET"&&n.method!=="DELETE")return new Response("Method Not Allowed",{status:405,headers:{Allow:"POST, GET, DELETE"}});let g=this.validateHostHeader(n);if(g)return g;let v;n.method==="POST"&&(v=await n.clone().json().catch(()=>{}));let w=n.method==="POST"&&(0,s_e.isInitializeRequest)(v),M=this.validateProtocolVersionHeader(n,w);if(M)return M;let A=this.resolveTransport(n,w);if(A instanceof Response)return A;try{return await A.handleRequest(n,{parsedBody:v,authInfo:s?.authInfo})}catch(k){let F=k instanceof Error?k.message:String(k);return this.logger.error("Error handling MCP request:",k),this.jsonRpcErrorResponse(500,-32603,`Internal server error: ${F}`)}}getRequestHandler(){return(n,s)=>this.handleRequest(n,s)}resolveTransport(n,s){let c=n.headers.get("mcp-session-id")??void 0;if(s&&!c)return this.createTransport();if(!c)return this.jsonRpcErrorResponse(400,-32e3,"Bad Request: No valid session ID provided");let l=this.sessions.get(c);return l||this.jsonRpcErrorResponse(404,-32001,"Session not found")}validateProtocolVersionHeader(n,s){if(s)return;let c=n.headers.get("mcp-protocol-version")??void 0;if(c!==void 0&&!s_e.SUPPORTED_PROTOCOL_VERSIONS.includes(c))return this.jsonRpcErrorResponse(400,-32e3,`Unsupported MCP-Protocol-Version: '${c}'. Supported versions: ${s_e.SUPPORTED_PROTOCOL_VERSIONS.join(", ")}.`)}validateHostHeader(n){let s=this.mcpOptions.values.allowedHosts;if(!s||s.length===0)return;let c=n.headers.get("host");if(!c)return this.jsonRpcErrorResponse(403,-32e3,"Missing Host header");let l;try{l=new URL(`http://${c}`).hostname}catch{return this.jsonRpcErrorResponse(403,-32e3,`Invalid Host header: ${c}`)}if(!s.includes(l))return this.jsonRpcErrorResponse(403,-32e3,`Invalid Host: ${l}`)}createTransport(){let n=this.mcpOptions.values.allowedOrigins,s=new Jkr.WebStandardStreamableHTTPServerTransport({sessionIdGenerator:r(()=>globalThis.crypto.randomUUID(),"sessionIdGenerator"),eventStore:new Wkr.LruEventStore(this.mcpOptions.values.eventStoreLimit,this.logger),allowedOrigins:n,enableDnsRebindingProtection:(n?.length??0)>0,onsessioninitialized:r(c=>{this.logger.info(`MCP session initialized with ID: ${c}`),this.sessions.set(c,s),this.serverConfig&&this.attachServerToSession(s,this.serverConfig),this.onSessionInitializedEmitter.fire(s)},"onsessioninitialized"),onsessionclosed:r(c=>this.closeSession(c),"onsessionclosed")});return s.onclose=()=>this.closeSession(s.sessionId),s.onerror=c=>this.logger.error(`MCP transport error (session ${s.sessionId??"<pre-init>"}):`,c),s}attachServerToSession(n,s){let c=n.sessionId;if(!c)return;let l=this.createGlspMcpServer(s);this.sessionServers.set(c,l),this.registerLogLevelHandler(l,c),l.connect(n)}closeSession(n){if(!n)return;let s=this.sessions.delete(n),c=this.sessionServers.get(n);c&&(this.sessionServers.delete(n),this.logLevelRegistry.clear(n),c.dispose()),s&&(this.logger.info(`MCP session closed: ${n}`),this.onSessionClosedEmitter.fire(n))}installResourceListChangedNotifier(){if(!this.dispatcher.hasDiagramResources())return;let n={sessionCreated:r(()=>this.broadcastResourceListChanged(),"sessionCreated"),sessionDisposed:r(()=>this.broadcastResourceListChanged(),"sessionDisposed")};this.clientSessionManager.addListener(n),this.toDispose.push(Aj.Disposable.create(()=>this.clientSessionManager.removeListener(n)))}broadcastResourceListChanged(){for(let n of this.sessionServers.values())n.getRawServer().server.sendResourceListChanged().catch(s=>this.logger.debug("sendResourceListChanged failed:",s))}registerLogLevelHandler(n,s){n.getRawServer().server.setRequestHandler(s_e.SetLevelRequestSchema,async c=>(this.logLevelRegistry.setLevel(s,c.params.level),{}))}createGlspMcpServer({name:n,options:s}){let c=s.dataMode==="resources",l=new Hkr.McpServer({name:n,version:Xv.SERVER_VERSION},{capabilities:this.buildCapabilities(c),instructions:s.agentPersona}),g=this.glspMcpServerFactory(l,s);return this.registerHandlers(g,c),g}buildCapabilities(n){let s=this.toolHandlers.length>0,c=this.promptHandlers.length>0,l=this.resourceHandlers.length>0,g=this.dispatcher.hasDiagramTools(),v=this.dispatcher.hasDiagramPrompts(),w=this.dispatcher.hasDiagramResources(),M=l||w;return{logging:{},...s||g||!n&&M?{tools:{listChanged:!1}}:{},...n&&M?{resources:{listChanged:w}}:{},...c||v?{prompts:{listChanged:!1}}:{}}}registerHandlers(n,s){this.toolHandlers.forEach(c=>c.registerTool(n)),this.promptHandlers.forEach(c=>c.registerPrompt(n)),s?this.resourceHandlers.forEach(c=>c.registerResource(n)):this.resourceHandlers.forEach(c=>c.registerToolAlternative?.(n)),this.dispatcher.registerAll(n,s),this.validatePromptToolReferences(n)}validatePromptToolReferences(n){for(let s of this.promptHandlers){let c=s.referencedToolNames().filter(l=>!n.hasTool(l));c.length>0&&this.logger.warn(`Prompt '${s.name}' references unbound tool(s): ${c.join(", ")}. The prompt will still register but its text points at tools the LLM cannot invoke.`)}}jsonRpcErrorResponse(n,s,c){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:s,message:c},id:nDr}),{status:n,headers:{"Content-Type":"application/json"}})}};Xv.AbstractMcpServerLauncher=Wv;X2([(0,m0.inject)(Aj.Logger),Cj("design:type",Aj.Logger)],Wv.prototype,"logger",void 0);X2([(0,m0.inject)(RYe.McpServerOptions),Cj("design:type",RYe.McpServerOptions)],Wv.prototype,"mcpOptions",void 0);X2([(0,m0.inject)(RYe.McpServerDefaults),Cj("design:type",Object)],Wv.prototype,"mcpDefaults",void 0);X2([(0,m0.inject)(Vkr.GLSPMcpServerFactory),Cj("design:type",Function)],Wv.prototype,"glspMcpServerFactory",void 0);X2([(0,m0.inject)(Xkr.McpDiagramHandlerDispatcher),Cj("design:type",Object)],Wv.prototype,"dispatcher",void 0);X2([(0,m0.inject)(Ykr.McpLogLevelRegistry),Cj("design:type",Object)],Wv.prototype,"logLevelRegistry",void 0);X2([(0,m0.inject)(Aj.ClientSessionManager),Cj("design:type",Object)],Wv.prototype,"clientSessionManager",void 0);X2([(0,m0.multiInject)(tDr.McpToolHandler),(0,m0.optional)(),Cj("design:type",Array)],Wv.prototype,"toolHandlers",void 0);X2([(0,m0.multiInject)(eDr.McpResourceHandler),(0,m0.optional)(),Cj("design:type",Array)],Wv.prototype,"resourceHandlers",void 0);X2([(0,m0.multiInject)(Qkr.McpPromptHandler),(0,m0.optional)(),Cj("design:type",Array)],Wv.prototype,"promptHandlers",void 0);Xv.AbstractMcpServerLauncher=Wv=X2([(0,m0.injectable)()],Wv)});var u_e=q(jI=>{"use strict";var c_e=jI&&jI.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},kYe=jI&&jI.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(jI,"__esModule",{value:!0});jI.McpLogger=void 0;var a0n=Kr(),ZQ=en(),c0n=GQ(),u0n=cI(),NF=class{static{r(this,"McpLogger")}constructor(){this.requestContext=new u0n.NoopMcpRequestContext}info(n,...s){this.glspLogger.info(n,...s),this.notify("info",n)}warn(n,...s){this.glspLogger.warn(n,...s),this.notify("warning",n)}error(n,...s){this.glspLogger.error(n,...s),this.notify("error",n)}debug(n,...s){this.glspLogger.debug(n,...s),this.notify("debug",n)}notify(n,s){let c=this.requestContext.getStore();if(!c)return;let l=this.levelRegistry.getLevel(c.sessionId);(0,c0n.passesLogThreshold)(n,l)&&c.sendNotification({method:"notifications/message",params:{level:n,data:s}}).catch(()=>{})}};jI.McpLogger=NF;c_e([(0,ZQ.inject)(u0n.McpRequestContext),(0,ZQ.optional)(),kYe("design:type",Object)],NF.prototype,"requestContext",void 0);c_e([(0,ZQ.inject)(a0n.Logger),kYe("design:type",a0n.Logger)],NF.prototype,"glspLogger",void 0);c_e([(0,ZQ.inject)(c0n.McpLogLevelRegistry),kYe("design:type",Object)],NF.prototype,"levelRegistry",void 0);jI.McpLogger=NF=c_e([(0,ZQ.injectable)()],NF)});var HQ=q(MI=>{"use strict";var l0n=MI&&MI.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},rDr=MI&&MI.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(MI,"__esModule",{value:!0});MI.McpProgressReporter=void 0;var DYe=en(),f0n=cI(),l_e=class{static{r(this,"McpProgressReporter")}constructor(){this.requestContext=new f0n.NoopMcpRequestContext}async emit(n){let s=this.requestContext.getStore(),c=s?._meta?.progressToken;if(!(s===void 0||c===void 0))try{await s.sendNotification({method:"notifications/progress",params:{progressToken:c,...n}})}catch{}}};MI.McpProgressReporter=l_e;l0n([(0,DYe.inject)(f0n.McpRequestContext),(0,DYe.optional)(),rDr("design:type",Object)],l_e.prototype,"requestContext",void 0);MI.McpProgressReporter=l_e=l0n([(0,DYe.injectable)()],l_e)});var xYe=q(Ll=>{"use strict";var iDr=Ll&&Ll.__createBinding||(Object.create?(function(o,n,s,c){c===void 0&&(c=s);var l=Object.getOwnPropertyDescriptor(n,s);(!l||("get"in l?!n.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:r(function(){return n[s]},"get")}),Object.defineProperty(o,c,l)}):(function(o,n,s,c){c===void 0&&(c=s),o[c]=n[s]})),oDr=Ll&&Ll.__setModuleDefault||(Object.create?(function(o,n){Object.defineProperty(o,"default",{enumerable:!0,value:n})}):function(o,n){o.default=n}),d0n=Ll&&Ll.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},sDr=Ll&&Ll.__importStar||(function(){var o=r(function(n){return o=Object.getOwnPropertyNames||function(s){var c=[];for(var l in s)Object.prototype.hasOwnProperty.call(s,l)&&(c[c.length]=l);return c},o(n)},"ownKeys");return function(n){if(n&&n.__esModule)return n;var s={};if(n!=null)for(var c=o(n),l=0;l<c.length;l++)c[l]!=="default"&&iDr(s,n,c[l]);return oDr(s,n),s}})(),aDr=Ll&&Ll.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},NYe;Object.defineProperty(Ll,"__esModule",{value:!0});Ll.SessionInfoMcpToolHandler=Ll.SessionInfoOutputSchema=Ll.SessionInfoRowSchema=Ll.SessionInfoInputSchema=void 0;var qYe=Kr(),h0n=en(),$j=sDr(rl()),cDr=ah(),uDr=sl();Ll.SessionInfoInputSchema=$j.object({sessionId:$j.string().optional().describe("Optional filter \u2014 returns only the matching session, or throws if unknown. Omit to list all sessions.")});Ll.SessionInfoRowSchema=$j.object({sessionId:$j.string(),diagramType:$j.string(),sourceUri:$j.string(),readOnly:$j.boolean(),dirty:$j.boolean().describe("True when the diagram has unsaved changes \u2014 call `save-model` to persist.")});Ll.SessionInfoOutputSchema=$j.object({sessions:$j.array(Ll.SessionInfoRowSchema)});var f_e=class extends uDr.AbstractMcpToolHandler{static{r(this,"SessionInfoMcpToolHandler")}constructor(){super(...arguments),this.name=NYe.NAME,this.title="GLSP Session Info",this.description="Report info on the active GLSP client sessions: session id, diagram type, source uri, and read-only status. Pass `sessionId` to retrieve a single session's entry; omit it to list every active session. Useful as a discovery tool \u2014 most other diagram-scoped tools take the `sessionId` returned here.",this.inputSchema=Ll.SessionInfoInputSchema,this.outputSchema=Ll.SessionInfoOutputSchema}static{NYe=this}static{this.NAME="session-info"}createResult({sessionId:n}){let c=(n!==void 0?this.singleSession(n):this.clientSessionManager.getSessions()).map(l=>this.buildSessionRow(l));return this.success(this.summarizeSessions(c),{sessions:c})}buildSessionRow(n){let s=n.container.get(qYe.ModelState),c=n.container.get(qYe.CommandStack);return{sessionId:n.id,diagramType:n.diagramType,sourceUri:s.sourceUri??"",readOnly:s.isReadonly,dirty:c.isDirty}}summarizeSessions(n){if(n.length===0)return"No active sessions.";let s=n.map(c=>{let l=[c.readOnly?"read-only":void 0,c.dirty?"dirty":void 0].filter(Boolean),g=l.length>0?`, ${l.join(", ")}`:"";return`- ${c.sessionId} (${c.diagramType}${g})`});return`${n.length} session(s); full details in structuredContent.
246
+ `,n.enqueue(s.encode(g)),!0}catch(g){return this.onerror?.(g),!1}}handleUnsupportedRequest(){return this.onerror?.(new Error("Method not allowed.")),new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32e3,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(n,s){try{let c=n.headers.get("accept");if(!c?.includes("application/json")||!c.includes("text/event-stream"))return this.onerror?.(new Error("Not Acceptable: Client must accept both application/json and text/event-stream")),this.createJsonErrorResponse(406,-32e3,"Not Acceptable: Client must accept both application/json and text/event-stream");let l=n.headers.get("content-type");if(!l||!l.includes("application/json"))return this.onerror?.(new Error("Unsupported Media Type: Content-Type must be application/json")),this.createJsonErrorResponse(415,-32e3,"Unsupported Media Type: Content-Type must be application/json");let g={headers:Object.fromEntries(n.headers.entries()),url:new URL(n.url)},v;if(s?.parsedBody!==void 0)v=s.parsedBody;else try{v=await n.json()}catch{return this.onerror?.(new Error("Parse error: Invalid JSON")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let w;try{Array.isArray(v)?w=v.map(ke=>Rp.JSONRPCMessageSchema.parse(ke)):w=[Rp.JSONRPCMessageSchema.parse(v)]}catch{return this.onerror?.(new Error("Parse error: Invalid JSON-RPC message")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let M=w.some(Rp.isInitializeRequest);if(M){if(this._initialized&&this.sessionId!==void 0)return this.onerror?.(new Error("Invalid Request: Server already initialized")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(w.length>1)return this.onerror?.(new Error("Invalid Request: Only one initialization request is allowed")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized&&await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!M){let ke=this.validateSession(n);if(ke)return ke;let Xe=this.validateProtocolVersion(n);if(Xe)return Xe}if(!w.some(Rp.isJSONRPCRequest)){for(let ke of w)this.onmessage?.(ke,{authInfo:s?.authInfo,requestInfo:g});return new Response(null,{status:202})}let k=crypto.randomUUID(),F=w.find(ke=>(0,Rp.isInitializeRequest)(ke)),K=F?F.params.protocolVersion:n.headers.get("mcp-protocol-version")??Rp.DEFAULT_NEGOTIATED_PROTOCOL_VERSION;if(this._enableJsonResponse)return new Promise(ke=>{this._streamMapping.set(k,{resolveJson:ke,cleanup:r(()=>{this._streamMapping.delete(k)},"cleanup")});for(let Xe of w)(0,Rp.isJSONRPCRequest)(Xe)&&this._requestToStreamMapping.set(Xe.id,k);for(let Xe of w)this.onmessage?.(Xe,{authInfo:s?.authInfo,requestInfo:g})});let re=new TextEncoder,ne,me=new ReadableStream({start:r(ke=>{ne=ke},"start"),cancel:r(()=>{this._streamMapping.delete(k)},"cancel")}),Te={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};this.sessionId!==void 0&&(Te["mcp-session-id"]=this.sessionId);for(let ke of w)(0,Rp.isJSONRPCRequest)(ke)&&(this._streamMapping.set(k,{controller:ne,encoder:re,cleanup:r(()=>{this._streamMapping.delete(k);try{ne.close()}catch{}},"cleanup")}),this._requestToStreamMapping.set(ke.id,k));await this.writePrimingEvent(ne,re,k,K);for(let ke of w){let Xe,Ke;(0,Rp.isJSONRPCRequest)(ke)&&this._eventStore&&K>="2025-11-25"&&(Xe=r(()=>{this.closeSSEStream(ke.id)},"closeSSEStream"),Ke=r(()=>{this.closeStandaloneSSEStream()},"closeStandaloneSSEStream")),this.onmessage?.(ke,{authInfo:s?.authInfo,requestInfo:g,closeSSEStream:Xe,closeStandaloneSSEStream:Ke})}return new Response(me,{status:200,headers:Te})}catch(c){return this.onerror?.(c),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(c)})}}async handleDeleteRequest(n){let s=this.validateSession(n);if(s)return s;let c=this.validateProtocolVersion(n);return c||(await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200}))}validateSession(n){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.onerror?.(new Error("Bad Request: Server not initialized")),this.createJsonErrorResponse(400,-32e3,"Bad Request: Server not initialized");let s=n.headers.get("mcp-session-id");if(!s)return this.onerror?.(new Error("Bad Request: Mcp-Session-Id header is required")),this.createJsonErrorResponse(400,-32e3,"Bad Request: Mcp-Session-Id header is required");if(s!==this.sessionId)return this.onerror?.(new Error("Session not found")),this.createJsonErrorResponse(404,-32001,"Session not found")}validateProtocolVersion(n){let s=n.headers.get("mcp-protocol-version");if(s!==null&&!Rp.SUPPORTED_PROTOCOL_VERSIONS.includes(s))return this.onerror?.(new Error(`Bad Request: Unsupported protocol version: ${s} (supported versions: ${Rp.SUPPORTED_PROTOCOL_VERSIONS.join(", ")})`)),this.createJsonErrorResponse(400,-32e3,`Bad Request: Unsupported protocol version: ${s} (supported versions: ${Rp.SUPPORTED_PROTOCOL_VERSIONS.join(", ")})`)}async close(){this._streamMapping.forEach(({cleanup:n})=>{n()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(n){let s=this._requestToStreamMapping.get(n);if(!s)return;let c=this._streamMapping.get(s);c&&c.cleanup()}closeStandaloneSSEStream(){let n=this._streamMapping.get(this._standaloneSseStreamId);n&&n.cleanup()}async send(n,s){let c=s?.relatedRequestId;if(((0,Rp.isJSONRPCResultResponse)(n)||(0,Rp.isJSONRPCErrorResponse)(n))&&(c=n.id),c===void 0){if((0,Rp.isJSONRPCResultResponse)(n)||(0,Rp.isJSONRPCErrorResponse)(n))throw new Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let v;this._eventStore&&(v=await this._eventStore.storeEvent(this._standaloneSseStreamId,n));let w=this._streamMapping.get(this._standaloneSseStreamId);if(w===void 0)return;w.controller&&w.encoder&&this.writeSSEEvent(w.controller,w.encoder,n,v);return}let l=this._requestToStreamMapping.get(c);if(!l)throw new Error(`No connection established for request ID: ${String(c)}`);let g=this._streamMapping.get(l);if(!this._enableJsonResponse&&g?.controller&&g?.encoder){let v;this._eventStore&&(v=await this._eventStore.storeEvent(l,n)),this.writeSSEEvent(g.controller,g.encoder,n,v)}if((0,Rp.isJSONRPCResultResponse)(n)||(0,Rp.isJSONRPCErrorResponse)(n)){this._requestResponseMap.set(c,n);let v=Array.from(this._requestToStreamMapping.entries()).filter(([M,A])=>A===l).map(([M])=>M);if(v.every(M=>this._requestResponseMap.has(M))){if(!g)throw new Error(`No connection established for request ID: ${String(c)}`);if(this._enableJsonResponse&&g.resolveJson){let M={"Content-Type":"application/json"};this.sessionId!==void 0&&(M["mcp-session-id"]=this.sessionId);let A=v.map(k=>this._requestResponseMap.get(k));A.length===1?g.resolveJson(new Response(JSON.stringify(A[0]),{status:200,headers:M})):g.resolveJson(new Response(JSON.stringify(A),{status:200,headers:M}))}else g.cleanup();for(let M of v)this._requestResponseMap.delete(M),this._requestToStreamMapping.delete(M)}}}};Vye.WebStandardStreamableHTTPServerTransport=_Ye});var Qbn=q((o$i,Ekr)=>{Ekr.exports={name:"@eclipse-glsp/server-mcp",version:"2.9.0-next.14",description:"Model Context Protocol (MCP) server for the GLSP TypeScript server \u2014 runs on Node, browser, and Fetch-API runtimes",keywords:["diagram","diagram editor","eclipse","glsp","graphics","mcp","modeling","visualization"],homepage:"https://www.eclipse.org/glsp/",bugs:"https://github.com/eclipse-glsp/glsp/issues",license:"(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0)",author:{name:"Eclipse GLSP"},contributors:[{name:"Eclipse GLSP Project",email:"glsp-dev@eclipse.org",url:"https://projects.eclipse.org/projects/ecd.glsp"}],repository:{type:"git",url:"https://github.com/eclipse-glsp/glsp-core.git",directory:"packages/server/server-mcp"},files:["lib","src","node.js","node.d.ts","browser.js","browser.d.ts","common.js","common.d.ts","!**/*.spec.*","!**/test/**"],main:"lib/node/index",browser:{"lib/node/index":"./lib/browser/index"},types:"lib/common/index",publishConfig:{access:"public"},scripts:{build:"tsc -b",clean:"rimraf lib *.tsbuildinfo coverage","generate:index":"glsp generateIndex src/browser src/common src/node -f -s",prepublishOnly:"pnpm build"},dependencies:{"@eclipse-glsp/server":"workspace:*","@hono/node-server":"^1.19.9","@modelcontextprotocol/sdk":"^1.29.0",zod:"^4.0.0"},peerDependencies:{inversify:"^6.1.3","reflect-metadata":"^0.2.2"}}});var Xye=q(R1=>{"use strict";var Pkr=R1&&R1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},jkr=R1&&R1.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},SYe=R1&&R1.__param||function(o,n){return function(s,c){n(s,c,o)}};Object.defineProperty(R1,"__esModule",{value:!0});R1.DefaultGLSPMcpServer=R1.GLSPMcpServerFactory=R1.GLSPMcpServer=void 0;var Mkr=Kr(),Tkr=RQ(),OYe=DC(),Wye=en();R1.GLSPMcpServer=Symbol("GLSPMcpServer");var Ikr=3e4,Akr=5e3;R1.GLSPMcpServerFactory=Symbol("GLSPMcpServerFactory");var EYe=class{static{r(this,"DefaultGLSPMcpServer")}constructor(n,s,c){this.mcpServer=n,this.options=s,this.logger=c,this.tools=new Map,this.resources=new Map,this.prompts=new Map;let{tools:l,resources:g,prompts:v}=this;this.registerTool=new Proxy(n.registerTool.bind(n),{apply(w,M,A){let k=Reflect.apply(w,M,A);return typeof A[0]=="string"&&l.set(A[0],k),k}}),this.registerResource=new Proxy(n.registerResource.bind(n),{apply(w,M,A){let k=Reflect.apply(w,M,A);return typeof A[0]=="string"&&g.set(A[0],k),k}}),this.registerPrompt=new Proxy(n.registerPrompt.bind(n),{apply(w,M,A){let k=Reflect.apply(w,M,A);return typeof A[0]=="string"&&v.set(A[0],k),k}})}sendLoggingMessage(...n){return this.mcpServer.sendLoggingMessage(...n)}async connect(...n){await this.mcpServer.connect(...n),this.keepAliveTimer=setInterval(()=>this.ping().catch(c=>{(!(c instanceof OYe.McpError)||c.code!==OYe.ErrorCode.RequestTimeout)&&this.logger.debug("MCP keep-alive ping failed:",c)}),Ikr);let s=this.keepAliveTimer.unref;typeof s=="function"&&s.call(this.keepAliveTimer)}isConnected(){return this.mcpServer.isConnected()}async ping(){await this.mcpServer.server.request({method:"ping"},OYe.EmptyResultSchema,{timeout:Akr})}listTools(){return[...this.tools.values()]}hasTool(n){return this.tools.has(n)}listResources(){return[...this.resources.values()]}listPrompts(){return[...this.prompts.values()]}getRawServer(){return this.mcpServer}dispose(){this.keepAliveTimer&&(clearInterval(this.keepAliveTimer),this.keepAliveTimer=void 0),this.mcpServer.close()}};R1.DefaultGLSPMcpServer=EYe;R1.DefaultGLSPMcpServer=EYe=Pkr([(0,Wye.injectable)(),SYe(0,(0,Wye.unmanaged)()),SYe(1,(0,Wye.unmanaged)()),SYe(2,(0,Wye.unmanaged)()),jkr("design:paramtypes",[Tkr.McpServer,Object,Mkr.Logger])],EYe)});var Qye=q(Yye=>{"use strict";Object.defineProperty(Yye,"__esModule",{value:!0});Yye.LruEventStore=void 0;var PYe=class o{static{r(this,"LruEventStore")}static{this.DEFAULT_LIMIT=1e4}constructor(n=o.DEFAULT_LIMIT,s){if(this.events=new Map,n<1)throw new Error(`LruEventStore limit must be >= 1, got ${n}`);this.limit=n,this.logger=s}get size(){return this.events.size}async storeEvent(n,s){let c=`${n}_${Date.now()}_${Math.random().toString(36).substring(2,10)}`;if(this.events.set(c,{streamId:n,message:s}),this.events.size>this.limit){let l=this.events.keys().next().value;l!==void 0&&this.events.delete(l)}return c}async replayEventsAfter(n,{send:s}){if(!n)return"";if(!this.events.has(n))return this.logger?.warn(`[LruEventStore] Replay miss for last-event-id '${n}'. Cap is ${this.limit}; consider increasing \`eventStoreLimit\` if this fires under normal load.`),"";let c=n.split("_")[0];if(!c)return"";let l=!1;for(let[g,{streamId:v,message:w}]of this.events)if(v===c){if(g===n){l=!0;continue}l&&await s(g,w)}return c}};Yye.LruEventStore=PYe});var e_e=q(k1=>{"use strict";var DQ=k1&&k1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},jYe=k1&&k1.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(k1,"__esModule",{value:!0});k1.McpDiagramPromptHandlerRegistryInitializer=k1.McpDiagramPromptHandlerRegistry=k1.McpDiagramPromptHandlerFactory=void 0;var Ckr=Kr(),CF=en(),$kr=lI();k1.McpDiagramPromptHandlerFactory=Symbol("McpDiagramPromptHandlerFactory");var kQ=class extends Ckr.Registry{static{r(this,"McpDiagramPromptHandlerRegistry")}registerHandler(n){return this.register(n.name,n)}};k1.McpDiagramPromptHandlerRegistry=kQ;k1.McpDiagramPromptHandlerRegistry=kQ=DQ([(0,CF.injectable)()],kQ);var $F=class{static{r(this,"McpDiagramPromptHandlerRegistryInitializer")}constructor(){this.constructors=[]}initialize(n){for(let s of this.constructors)try{this.registry.registerHandler(this.factory(s))}catch(c){throw new Error(`Failed to instantiate MCP diagram prompt handler '${s.name}': ${c.message}. Check your DiagramModule bindings.`)}}};k1.McpDiagramPromptHandlerRegistryInitializer=$F;DQ([(0,CF.inject)(k1.McpDiagramPromptHandlerFactory),jYe("design:type",Function)],$F.prototype,"factory",void 0);DQ([(0,CF.inject)($kr.McpDiagramPromptHandlerConstructor),(0,CF.optional)(),jYe("design:type",Array)],$F.prototype,"constructors",void 0);DQ([(0,CF.inject)(kQ),jYe("design:type",kQ)],$F.prototype,"registry",void 0);k1.McpDiagramPromptHandlerRegistryInitializer=$F=DQ([(0,CF.injectable)()],$F)});var EI=q(yg=>{"use strict";var OI=yg&&yg.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},kF=yg&&yg.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(yg,"__esModule",{value:!0});yg.McpDiagramResourceHandlerConstructor=yg.AbstractMcpDiagramResourceHandler=yg.AbstractMcpResourceHandler=yg.McpResourceHandler=void 0;yg.toParams=t0n;var NQ=Kr(),Rkr=RQ(),Tj=en(),MYe=ah(),kkr=BN(),e0n=cI();yg.McpResourceHandler=Symbol("McpResourceHandler");var RF=class{static{r(this,"BaseMcpResourceHandler")}constructor(){this.requestContext=new e0n.NoopMcpRequestContext}toAnnotations(){if(!(this.audience===void 0&&this.priority===void 0&&this.lastModified===void 0))return{...this.audience!==void 0?{audience:this.audience}:{},...this.priority!==void 0?{priority:this.priority}:{},...this.lastModified!==void 0?{lastModified:this.lastModified}:{}}}uriTemplate(){return typeof this.uri=="string"?this.uri:this.uri.template}expandUriTemplate(n){return this.uriTemplate().replace(/\{(\w+)\}/g,(s,c)=>{let l=n[c];return l===void 0?s:encodeURIComponent(l)})}async execute(n){try{return{ok:!0,body:await n()}}catch(s){if(s instanceof MYe.McpToolError)return{ok:!1,message:s.message};let c=(0,MYe.extractErrorMessage)(s);return this.logger.error(`Unexpected error in resource '${this.name}': ${c}`,s),{ok:!1,message:c}}}toResourceResult(n,s){return s.ok?{contents:["text"in s.body?{uri:n,mimeType:this.mimeType,text:s.body.text}:{uri:n,mimeType:this.mimeType,blob:s.body.blob}],isError:!1}:{contents:[{uri:n,mimeType:"text/plain",text:s.message}],isError:!0}}toToolResult(n){if(!n.ok)return{isError:!0,content:[{type:"text",text:n.message}]};let s=n.body.structured,c="text"in n.body?{isError:!1,content:[{type:"text",text:n.body.text}]}:{isError:!1,content:[{type:"image",data:n.body.blob,mimeType:this.mimeType}]};return s?{...c,structuredContent:s}:c}buildResourceTemplate(n){return new Rkr.ResourceTemplate(n,{list:this.list?async s=>this.requestContext.run(s,()=>this.list()):void 0,complete:this.complete?.()})}};OI([(0,Tj.inject)(e0n.McpRequestContext),(0,Tj.optional)(),kF("design:type",Object)],RF.prototype,"requestContext",void 0);OI([(0,Tj.inject)(NQ.Logger),kF("design:type",NQ.Logger)],RF.prototype,"logger",void 0);RF=OI([(0,Tj.injectable)()],RF);var TYe=class extends RF{static{r(this,"AbstractMcpResourceHandler")}registerResource(n){let s=this.toAnnotations(),c={title:this.title,description:this.description,mimeType:this.mimeType,...s?{annotations:s}:{}};if(typeof this.uri=="string"){let l=this.uri;n.registerResource(this.name,l,c,async(g,v)=>this.requestContext.run(v,async()=>this.toResourceResult(l,await this.execute(()=>this.createResult({})))))}else n.registerResource(this.name,this.buildResourceTemplate(this.uri.template),c,async(l,g,v)=>this.requestContext.run(v,async()=>this.toResourceResult(l.toString(),await this.execute(()=>this.createResult(t0n(g))))))}registerToolAlternative(n){this.toolAlternativeInputSchema&&this.doRegisterToolAlternative(n)}doRegisterToolAlternative(n){let s=this.toolAlternativeInputSchema;n.registerTool(this.name,{title:this.title,description:this.description,inputSchema:s.strict(),outputSchema:this.toolAlternativeOutputSchema},async(c,l)=>this.requestContext.run(l,async()=>this.toToolResult(await this.execute(()=>this.createResult(c)))))}};yg.AbstractMcpResourceHandler=TYe;yg.AbstractMcpResourceHandler=TYe=OI([(0,Tj.injectable)()],TYe);var S9=class extends RF{static{r(this,"AbstractMcpDiagramResourceHandler")}requestAction(n,s,c=this.name){return(0,MYe.requestActionOrFail)(this.actionDispatcher,n,s,c)}isSupportedByDiagramType(){return!0}canRegister(){return!0}list(){return{resources:[this.toListingEntry()]}}complete(){return this.uriTemplate().includes("{sessionId}")?{sessionId:r(async()=>[this.clientId],"sessionId")}:{}}toListingEntry(){let n=this.toAnnotations();return{uri:this.expandUriTemplate({sessionId:this.clientId}),name:`${this.title??this.name}: ${this.clientId}`,description:this.description,mimeType:this.mimeType,...n?{annotations:n}:{}}}async handleRead(n,s){return this.toResourceResult(n,await this.execute(()=>this.createResult(s)))}async handleAsTool(n){return this.toToolResult(await this.execute(()=>this.createResult(n)))}glspSessionScopedComplete(){let n=this.complete?.()??{},s=this.clientId,c=typeof this.uri=="object"&&this.uri.template.includes("{sessionId}"),l={};for(let[g,v]of Object.entries(n))l[g]=g==="sessionId"||!c?v:async(w,M)=>M?.arguments?.sessionId===s?v(w,M):[];return l}};yg.AbstractMcpDiagramResourceHandler=S9;OI([(0,Tj.inject)(NQ.ClientId),kF("design:type",String)],S9.prototype,"clientId",void 0);OI([(0,Tj.inject)(NQ.ModelState),kF("design:type",Object)],S9.prototype,"modelState",void 0);OI([(0,Tj.inject)(kkr.McpIdAliasService),kF("design:type",Object)],S9.prototype,"aliasService",void 0);OI([(0,Tj.inject)(NQ.ActionDispatcher),kF("design:type",Object)],S9.prototype,"actionDispatcher",void 0);yg.AbstractMcpDiagramResourceHandler=S9=OI([(0,Tj.injectable)()],S9);function t0n(o){let n={};for(let[s,c]of Object.entries(o))n[s]=Array.isArray(c)?c[0]??"":c;return n}r(t0n,"toParams");yg.McpDiagramResourceHandlerConstructor=Symbol("McpDiagramResourceHandlerConstructor")});var t_e=q(D1=>{"use strict";var O9=D1&&D1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},LQ=D1&&D1.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(D1,"__esModule",{value:!0});D1.McpDiagramResourceHandlerRegistryInitializer=D1.McpDiagramResourceHandlerRegistry=D1.McpDiagramResourceHandlerFactory=void 0;var qQ=Kr(),VC=en(),Dkr=EI();D1.McpDiagramResourceHandlerFactory=Symbol("McpDiagramResourceHandlerFactory");var xQ=class extends qQ.Registry{static{r(this,"McpDiagramResourceHandlerRegistry")}registerHandler(n){return this.register(n.name,n)}};D1.McpDiagramResourceHandlerRegistry=xQ;D1.McpDiagramResourceHandlerRegistry=xQ=O9([(0,VC.injectable)()],xQ);var WC=class{static{r(this,"McpDiagramResourceHandlerRegistryInitializer")}constructor(){this.constructors=[]}initialize(n){let s=this.clientId===qQ.TEMPORARY_CLIENT_ID;for(let c of this.constructors){let l;try{l=this.factory(c)}catch(g){throw new Error(`Failed to instantiate MCP diagram resource handler '${c.name}': ${g.message}. Check your DiagramModule bindings.`)}if(!l.canRegister()){s||this.logger.debug(`Skipping MCP diagram resource handler '${l.name}': canRegister() returned false.`);continue}this.registry.registerHandler(l)}}};D1.McpDiagramResourceHandlerRegistryInitializer=WC;O9([(0,VC.inject)(D1.McpDiagramResourceHandlerFactory),LQ("design:type",Function)],WC.prototype,"factory",void 0);O9([(0,VC.inject)(Dkr.McpDiagramResourceHandlerConstructor),(0,VC.optional)(),LQ("design:type",Array)],WC.prototype,"constructors",void 0);O9([(0,VC.inject)(xQ),LQ("design:type",xQ)],WC.prototype,"registry",void 0);O9([(0,VC.inject)(qQ.ClientId),LQ("design:type",String)],WC.prototype,"clientId",void 0);O9([(0,VC.inject)(qQ.Logger),LQ("design:type",qQ.Logger)],WC.prototype,"logger",void 0);D1.McpDiagramResourceHandlerRegistryInitializer=WC=O9([(0,VC.injectable)()],WC)});var n_e=q(N1=>{"use strict";var E9=N1&&N1.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},zQ=N1&&N1.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(N1,"__esModule",{value:!0});N1.McpDiagramToolHandlerRegistryInitializer=N1.McpDiagramToolHandlerRegistry=N1.McpDiagramToolHandlerFactory=void 0;var BQ=Kr(),XC=en(),Nkr=sl();N1.McpDiagramToolHandlerFactory=Symbol("McpDiagramToolHandlerFactory");var FQ=class extends BQ.Registry{static{r(this,"McpDiagramToolHandlerRegistry")}registerHandler(n){return this.register(n.name,n)}};N1.McpDiagramToolHandlerRegistry=FQ;N1.McpDiagramToolHandlerRegistry=FQ=E9([(0,XC.injectable)()],FQ);var YC=class{static{r(this,"McpDiagramToolHandlerRegistryInitializer")}constructor(){this.constructors=[]}initialize(n){let s=this.clientId===BQ.TEMPORARY_CLIENT_ID;for(let c of this.constructors){let l;try{l=this.factory(c)}catch(g){throw new Error(`Failed to instantiate MCP diagram tool handler '${c.name}': ${g.message}. Check your DiagramModule bindings.`)}if(!l.canRegister()){s||this.logger.debug(`Skipping MCP diagram tool handler '${l.name}': canRegister() returned false.`);continue}this.registry.registerHandler(l)}}};N1.McpDiagramToolHandlerRegistryInitializer=YC;E9([(0,XC.inject)(N1.McpDiagramToolHandlerFactory),zQ("design:type",Function)],YC.prototype,"factory",void 0);E9([(0,XC.inject)(Nkr.McpDiagramToolHandlerConstructor),(0,XC.optional)(),zQ("design:type",Array)],YC.prototype,"constructors",void 0);E9([(0,XC.inject)(FQ),zQ("design:type",FQ)],YC.prototype,"registry",void 0);E9([(0,XC.inject)(BQ.ClientId),zQ("design:type",String)],YC.prototype,"clientId",void 0);E9([(0,XC.inject)(BQ.Logger),zQ("design:type",BQ.Logger)],YC.prototype,"logger",void 0);N1.McpDiagramToolHandlerRegistryInitializer=YC=E9([(0,XC.injectable)()],YC)});var r_e=q(W2=>{"use strict";var DF=W2&&W2.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},UQ=W2&&W2.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(W2,"__esModule",{value:!0});W2.DefaultMcpDiagramHandlerDispatcher=W2.McpDiagramHandlerDispatcher=void 0;var P9=Kr(),qkr=RQ(),e$=en(),xkr=e_e(),n0n=t_e(),Lkr=n_e(),QC=ah(),Bkr=lI(),i0n=cI(),IYe=EI(),r0n=sl();W2.McpDiagramHandlerDispatcher=Symbol("McpDiagramHandlerDispatcher");var t$=class{static{r(this,"DefaultMcpDiagramHandlerDispatcher")}constructor(){this.requestContext=new i0n.NoopMcpRequestContext,this.diagramCatalogs=[]}harvest(){if(this.diagramCatalogs.length>0)return;let n=[],s=(0,P9.createClientSessionModule)({clientId:P9.TEMPORARY_CLIENT_ID,glspClient:{process:r(()=>{},"process")},clientActionKinds:[]});for(let[c,l]of this.diagramModules){let g=this.serverContainer.createChild();g.load(...l,s);let v=this.filterSupported(g,AYe(g,r0n.McpDiagramToolHandlerConstructor),c,r0n.BaseMcpDiagramToolHandler.prototype.isSupportedByDiagramType),w=this.filterSupported(g,AYe(g,IYe.McpDiagramResourceHandlerConstructor),c,IYe.AbstractMcpDiagramResourceHandler.prototype.isSupportedByDiagramType),M=AYe(g,Bkr.McpDiagramPromptHandlerConstructor);g.unbindAll(),n.push({diagramType:c,toolConstructors:v,resourceConstructors:w,promptConstructors:M})}this.diagramCatalogs=n}filterSupported(n,s,c,l){return s.filter(g=>{let v=g.prototype.isSupportedByDiagramType;if(typeof v!="function"||v===l)return!0;try{return n.resolve(g).isSupportedByDiagramType()?!0:(this.logger.debug(`Diagram type '${c}' does not support MCP handler '${g.name}'; not registering.`),!1)}catch(w){return this.logger.debug(`Could not probe MCP handler '${g.name}' for diagram type '${c}'; registering.`,w),!0}})}hasDiagramTools(){return this.diagramCatalogs.some(n=>n.toolConstructors.length>0)}hasDiagramResources(){return this.diagramCatalogs.some(n=>n.resourceConstructors.length>0)}hasDiagramPrompts(){return this.diagramCatalogs.some(n=>n.promptConstructors.length>0)}registerAll(n,s){this.registerDiagramScopeTools(n),this.registerDiagramScopeResources(n,s),this.registerDiagramScopePrompts(n)}registerDiagramScopeTools(n){let s=new Map;for(let c of this.diagramCatalogs)for(let l of c.toolConstructors){let g=new l,v={description:g.description,inputKeys:Object.keys(g.inputSchema?.shape??{}).sort().join(","),diagramType:c.diagramType},w=s.get(g.name);if(w){(w.description!==v.description||w.inputKeys!==v.inputKeys)&&this.logger.warn(`Diagram-scope tool '${g.name}' is registered by multiple diagram types with diverging schemas: first registered by '${w.diagramType}', shadowed registration from '${c.diagramType}' is silently dropped. Either align schemas (description + inputSchema.shape keys must match) or pick distinct tool names.`);continue}s.set(g.name,v),n.registerTool(g.name,g.toRegistrationConfig(),(M,A)=>this.requestContext.run(A,()=>this.dispatchDiagramTool(g.name,M)))}}registerDiagramScopeResources(n,s){let c=new Set;for(let l of this.diagramCatalogs)for(let g of l.resourceConstructors){let v=new g;c.has(v.name)||(c.add(v.name),s?this.registerOneDiagramResource(n,v):v.toolAlternativeInputSchema&&this.registerOneDiagramResourceAsTool(n,v))}}registerOneDiagramResource(n,s){let c=s.name,l=s.toAnnotations(),g={title:s.title,description:s.description,mimeType:s.mimeType,...l?{annotations:l}:{}};if(typeof s.uri=="string"){let v=s.uri;n.registerResource(c,v,g,(w,M)=>this.requestContext.run(M,()=>this.dispatchStaticDiagramRead(c,v)))}else{let v=this.buildAggregatingResourceTemplate(s.uri.template,c);n.registerResource(c,v,g,(w,M,A)=>this.requestContext.run(A,()=>this.dispatchTemplatedDiagramRead(c,w,M)))}}registerOneDiagramResourceAsTool(n,s){let c=s.name,l=s.toolAlternativeInputSchema;n.registerTool(c,{title:s.title,description:s.description,inputSchema:l.strict(),outputSchema:s.toolAlternativeOutputSchema},(g,v)=>this.requestContext.run(v,()=>this.dispatchDiagramResourceAsTool(c,g)))}registerDiagramScopePrompts(n){let s=new Set;for(let c of this.diagramCatalogs)for(let l of c.promptConstructors){let g=new l;s.has(g.name)||(s.add(g.name),n.registerPrompt(g.name,g.toRegistrationConfig(),(v,w)=>this.requestContext.run(w,()=>this.dispatchDiagramPrompt(g.name,v))))}}buildAggregatingResourceTemplate(n,s){return new qkr.ResourceTemplate(n,{list:r(c=>this.requestContext.run(c,()=>this.aggregateList(s)),"list"),complete:this.buildAggregatedCompleters(s)})}async aggregateList(n){let s=[],c=new Set;for(let l of this.clientSessionManager.getSessions().map(g=>g.id)){let v=await this.findDiagramResourceHandler(n,l)?.list?.();if(v)for(let w of v.resources)c.has(w.uri)||(c.add(w.uri),s.push(w))}return{resources:s}}buildAggregatedCompleters(n){let s=this.collectCompleterVariableNames(n),c={};for(let l of s)c[l]=async(g,v)=>{let w=new Set;for(let M of this.clientSessionManager.getSessions().map(A=>A.id)){let A=this.findDiagramResourceHandler(n,M);if(!A)continue;let F=A.glspSessionScopedComplete()[l];if(!F)continue;(await F(g,v)).forEach(re=>w.add(re))}return[...w]};return c}collectCompleterVariableNames(n){let s=new Set;for(let c of this.diagramCatalogs)for(let l of c.resourceConstructors){let g=new l;g.name===n&&Object.keys(g.complete?.()??{}).forEach(v=>s.add(v))}return s}dispatchDiagramTool(n,s){return(0,QC.runWithToolErrorEnvelope)(async()=>this.requireDiagramToolHandler(n,s).handle(s))}dispatchStaticDiagramRead(n,s){let c=this.clientSessionManager.getSessions()[0]?.id;if(!c)throw new QC.McpToolError(`No open GLSP session can serve resource '${n}'.`);return this.requireDiagramResourceHandler(n,c).handleRead(s,{sessionId:c})}dispatchTemplatedDiagramRead(n,s,c){let l=(0,IYe.toParams)(c);return this.requireDiagramResourceHandler(n,l.sessionId).handleRead(s.toString(),l)}dispatchDiagramResourceAsTool(n,s){return(0,QC.runWithToolErrorEnvelope)(async()=>this.requireDiagramResourceHandler(n,this.extractSessionId(s)).handleAsTool(s))}dispatchDiagramPrompt(n,s){return this.requireDiagramPromptHandler(n,s).handle(s)}extractSessionId(n){return n.sessionId}requireDiagramToolHandler(n,s){let c=this.requireGlspSession(this.extractSessionId(s)),g=c.container.get(Lkr.McpDiagramToolHandlerRegistry).get(n);if(!g)throw new QC.McpToolError(`No tool handler '${n}' registered for diagram type '${c.diagramType}'.`);return g}requireDiagramResourceHandler(n,s){let c=this.requireGlspSession(s),g=c.container.get(n0n.McpDiagramResourceHandlerRegistry).get(n);if(!g)throw new QC.McpToolError(`No resource handler '${n}' registered for diagram type '${c.diagramType}'.`);return g}findDiagramResourceHandler(n,s){let c=this.clientSessionManager.getSession(s);if(c)return c.container.get(n0n.McpDiagramResourceHandlerRegistry).get(n)}requireDiagramPromptHandler(n,s){let c=this.requireGlspSession(this.extractSessionId(s)),g=c.container.get(xkr.McpDiagramPromptHandlerRegistry).get(n);if(!g)throw new QC.McpToolError(`No prompt handler '${n}' registered for diagram type '${c.diagramType}'.`);return g}requireGlspSession(n){if(!n)throw new QC.McpMissingParamError("sessionId");let s=this.clientSessionManager.getSession(n);if(!s)throw new QC.McpSessionNotFoundError(n);return s}reset(){this.diagramCatalogs=[]}};W2.DefaultMcpDiagramHandlerDispatcher=t$;DF([(0,e$.inject)(i0n.McpRequestContext),(0,e$.optional)(),UQ("design:type",Object)],t$.prototype,"requestContext",void 0);DF([(0,e$.inject)(P9.InjectionContainer),UQ("design:type",e$.Container)],t$.prototype,"serverContainer",void 0);DF([(0,e$.inject)(P9.DiagramModules),UQ("design:type",Map)],t$.prototype,"diagramModules",void 0);DF([(0,e$.inject)(P9.ClientSessionManager),UQ("design:type",Object)],t$.prototype,"clientSessionManager",void 0);DF([(0,e$.inject)(P9.Logger),UQ("design:type",P9.Logger)],t$.prototype,"logger",void 0);W2.DefaultMcpDiagramHandlerDispatcher=t$=DF([(0,e$.injectable)()],t$);function AYe(o,n){return o.isBound(n)?o.get(n):[]}r(AYe,"getConstructorList")});var GQ=q(Ij=>{"use strict";var Fkr=Ij&&Ij.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},i_e;Object.defineProperty(Ij,"__esModule",{value:!0});Ij.DefaultMcpLogLevelRegistry=Ij.McpLogLevelRegistry=void 0;Ij.passesLogThreshold=Ukr;var zkr=en();Ij.McpLogLevelRegistry=Symbol("McpLogLevelRegistry");var o0n={emergency:0,alert:1,critical:2,error:3,warning:4,notice:5,info:6,debug:7};function Ukr(o,n){return o0n[o]<=o0n[n]}r(Ukr,"passesLogThreshold");var CYe=class{static{r(this,"DefaultMcpLogLevelRegistry")}constructor(){this.levels=new Map}static{i_e=this}static{this.DEFAULT_LEVEL="debug"}setLevel(n,s){this.levels.set(n,s)}getLevel(n){return n===void 0?i_e.DEFAULT_LEVEL:this.levels.get(n)??i_e.DEFAULT_LEVEL}clear(n){this.levels.delete(n)}};Ij.DefaultMcpLogLevelRegistry=CYe;Ij.DefaultMcpLogLevelRegistry=CYe=i_e=Fkr([(0,zkr.injectable)()],CYe)});var o_e=q(PI=>{"use strict";var Gkr=PI&&PI.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g};Object.defineProperty(PI,"__esModule",{value:!0});PI.McpServerDefaults=PI.McpServerOptions=void 0;var Zkr=en(),$Ye=class{static{r(this,"McpServerOptions")}constructor(){this.values={}}};PI.McpServerOptions=$Ye;PI.McpServerOptions=$Ye=Gkr([(0,Zkr.injectable)()],$Ye);PI.McpServerDefaults=Symbol("McpServerDefaults")});var a_e=q(Xv=>{"use strict";var X2=Xv&&Xv.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},Cj=Xv&&Xv.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(Xv,"__esModule",{value:!0});Xv.AbstractMcpServerLauncher=Xv.SERVER_VERSION=void 0;Xv.pickInitOptions=s0n;var Aj=Kr(),Hkr=RQ(),Jkr=Ybn(),s_e=DC(),m0=en(),Kkr=Qbn(),Vkr=Xye(),Wkr=Qye(),Xkr=r_e(),Ykr=GQ(),RYe=o_e(),Qkr=lI(),eDr=EI(),tDr=sl();Xv.SERVER_VERSION=Kkr.version;function s0n(o){let{dataMode:n,agentPersona:s,eventStoreLimit:c}=o,l={};return n!==void 0&&(l.dataMode=n),s!==void 0&&(l.agentPersona=s),c!==void 0&&(l.eventStoreLimit=c),l}r(s0n,"pickInitOptions");var nDr=null,Wv=class{static{r(this,"AbstractMcpServerLauncher")}constructor(){this.toolHandlers=[],this.resourceHandlers=[],this.promptHandlers=[],this.toDispose=new Aj.DisposableCollection,this.sessions=new Map,this.sessionServers=new Map,this.onSessionInitializedEmitter=new Aj.Emitter,this.onSessionInitialized=this.onSessionInitializedEmitter.event,this.onSessionClosedEmitter=new Aj.Emitter,this.onSessionClosed=this.onSessionClosedEmitter.event}async initializeServer(n,s,c){let l=Aj.McpInitializeParameters.getServerConfig(s);if(!l)return c;if(this.serverConfig)return this.serverUrl?Aj.McpInitializeResult.attachServer(c,{name:this.serverConfig.name,url:this.serverUrl}):c;let{port:g=0,route:v="/mcp",name:w="glsp",options:M={}}=l,A={...this.mcpDefaults,...s0n(M)};this.mcpOptions.values=A;let k=A.host??"127.0.0.1",F={port:g,host:k,route:v,name:w,options:A};this.dispatcher.harvest(),this.installResourceListChangedNotifier();let K=await this.bindTransport(F);return this.serverConfig=F,this.serverUrl=K.url,this.logger.info(`MCP server '${F.name}' is ready to accept new client requests on: ${this.serverUrl??"(no network endpoint)"}`),K.url?Aj.McpInitializeResult.attachServer(c,{name:F.name,url:K.url,headers:K.headers}):c}serverShutDown(n){this.dispose()}dispose(){let n=Array.from(this.sessions.values()).map(s=>s.close().catch(c=>this.logger.warn(`Error closing MCP session ${s.sessionId}: ${c}`)));this.sessions.clear(),this.sessionServers.forEach(s=>s.dispose()),this.sessionServers.clear(),Promise.allSettled(n).then(()=>{this.toDispose.dispose(),this.toDispose.clear()}),this.serverUrl=void 0,this.serverConfig=void 0,this.dispatcher.reset()}async handleRequest(n,s){let c=new URL(n.url),l=this.serverConfig?.route??"/mcp";if(c.pathname!==l)return new Response("Not Found",{status:404});if(n.method!=="POST"&&n.method!=="GET"&&n.method!=="DELETE")return new Response("Method Not Allowed",{status:405,headers:{Allow:"POST, GET, DELETE"}});let g=this.validateHostHeader(n);if(g)return g;let v;n.method==="POST"&&(v=await n.clone().json().catch(()=>{}));let w=n.method==="POST"&&(0,s_e.isInitializeRequest)(v),M=this.validateProtocolVersionHeader(n,w);if(M)return M;let A=this.resolveTransport(n,w);if(A instanceof Response)return A;try{return await A.handleRequest(n,{parsedBody:v,authInfo:s?.authInfo})}catch(k){let F=k instanceof Error?k.message:String(k);return this.logger.error("Error handling MCP request:",k),this.jsonRpcErrorResponse(500,-32603,`Internal server error: ${F}`)}}getRequestHandler(){return(n,s)=>this.handleRequest(n,s)}resolveTransport(n,s){let c=n.headers.get("mcp-session-id")??void 0;if(s&&!c)return this.createTransport();if(!c)return this.jsonRpcErrorResponse(400,-32e3,"Bad Request: No valid session ID provided");let l=this.sessions.get(c);return l||this.jsonRpcErrorResponse(404,-32001,"Session not found")}validateProtocolVersionHeader(n,s){if(s)return;let c=n.headers.get("mcp-protocol-version")??void 0;if(c!==void 0&&!s_e.SUPPORTED_PROTOCOL_VERSIONS.includes(c))return this.jsonRpcErrorResponse(400,-32e3,`Unsupported MCP-Protocol-Version: '${c}'. Supported versions: ${s_e.SUPPORTED_PROTOCOL_VERSIONS.join(", ")}.`)}validateHostHeader(n){let s=this.mcpOptions.values.allowedHosts;if(!s||s.length===0)return;let c=n.headers.get("host");if(!c)return this.jsonRpcErrorResponse(403,-32e3,"Missing Host header");let l;try{l=new URL(`http://${c}`).hostname}catch{return this.jsonRpcErrorResponse(403,-32e3,`Invalid Host header: ${c}`)}if(!s.includes(l))return this.jsonRpcErrorResponse(403,-32e3,`Invalid Host: ${l}`)}createTransport(){let n=this.mcpOptions.values.allowedOrigins,s=new Jkr.WebStandardStreamableHTTPServerTransport({sessionIdGenerator:r(()=>globalThis.crypto.randomUUID(),"sessionIdGenerator"),eventStore:new Wkr.LruEventStore(this.mcpOptions.values.eventStoreLimit,this.logger),allowedOrigins:n,enableDnsRebindingProtection:(n?.length??0)>0,onsessioninitialized:r(c=>{this.logger.info(`MCP session initialized with ID: ${c}`),this.sessions.set(c,s),this.serverConfig&&this.attachServerToSession(s,this.serverConfig),this.onSessionInitializedEmitter.fire(s)},"onsessioninitialized"),onsessionclosed:r(c=>this.closeSession(c),"onsessionclosed")});return s.onclose=()=>this.closeSession(s.sessionId),s.onerror=c=>this.logger.error(`MCP transport error (session ${s.sessionId??"<pre-init>"}):`,c),s}attachServerToSession(n,s){let c=n.sessionId;if(!c)return;let l=this.createGlspMcpServer(s);this.sessionServers.set(c,l),this.registerLogLevelHandler(l,c),l.connect(n)}closeSession(n){if(!n)return;let s=this.sessions.delete(n),c=this.sessionServers.get(n);c&&(this.sessionServers.delete(n),this.logLevelRegistry.clear(n),c.dispose()),s&&(this.logger.info(`MCP session closed: ${n}`),this.onSessionClosedEmitter.fire(n))}installResourceListChangedNotifier(){if(!this.dispatcher.hasDiagramResources())return;let n={sessionCreated:r(()=>this.broadcastResourceListChanged(),"sessionCreated"),sessionDisposed:r(()=>this.broadcastResourceListChanged(),"sessionDisposed")};this.clientSessionManager.addListener(n),this.toDispose.push(Aj.Disposable.create(()=>this.clientSessionManager.removeListener(n)))}broadcastResourceListChanged(){for(let n of this.sessionServers.values())n.getRawServer().server.sendResourceListChanged().catch(s=>this.logger.debug("sendResourceListChanged failed:",s))}registerLogLevelHandler(n,s){n.getRawServer().server.setRequestHandler(s_e.SetLevelRequestSchema,async c=>(this.logLevelRegistry.setLevel(s,c.params.level),{}))}createGlspMcpServer({name:n,options:s}){let c=s.dataMode==="resources",l=new Hkr.McpServer({name:n,version:Xv.SERVER_VERSION},{capabilities:this.buildCapabilities(c),instructions:s.agentPersona}),g=this.glspMcpServerFactory(l,s);return this.registerHandlers(g,c),g}buildCapabilities(n){let s=this.toolHandlers.length>0,c=this.promptHandlers.length>0,l=this.resourceHandlers.length>0,g=this.dispatcher.hasDiagramTools(),v=this.dispatcher.hasDiagramPrompts(),w=this.dispatcher.hasDiagramResources(),M=l||w;return{logging:{},...s||g||!n&&M?{tools:{listChanged:!1}}:{},...n&&M?{resources:{listChanged:w}}:{},...c||v?{prompts:{listChanged:!1}}:{}}}registerHandlers(n,s){this.toolHandlers.forEach(c=>c.registerTool(n)),this.promptHandlers.forEach(c=>c.registerPrompt(n)),s?this.resourceHandlers.forEach(c=>c.registerResource(n)):this.resourceHandlers.forEach(c=>c.registerToolAlternative?.(n)),this.dispatcher.registerAll(n,s),this.validatePromptToolReferences(n)}validatePromptToolReferences(n){for(let s of this.promptHandlers){let c=s.referencedToolNames().filter(l=>!n.hasTool(l));c.length>0&&this.logger.warn(`Prompt '${s.name}' references unbound tool(s): ${c.join(", ")}. The prompt will still register but its text points at tools the LLM cannot invoke.`)}}jsonRpcErrorResponse(n,s,c){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:s,message:c},id:nDr}),{status:n,headers:{"Content-Type":"application/json"}})}};Xv.AbstractMcpServerLauncher=Wv;X2([(0,m0.inject)(Aj.Logger),Cj("design:type",Aj.Logger)],Wv.prototype,"logger",void 0);X2([(0,m0.inject)(RYe.McpServerOptions),Cj("design:type",RYe.McpServerOptions)],Wv.prototype,"mcpOptions",void 0);X2([(0,m0.inject)(RYe.McpServerDefaults),Cj("design:type",Object)],Wv.prototype,"mcpDefaults",void 0);X2([(0,m0.inject)(Vkr.GLSPMcpServerFactory),Cj("design:type",Function)],Wv.prototype,"glspMcpServerFactory",void 0);X2([(0,m0.inject)(Xkr.McpDiagramHandlerDispatcher),Cj("design:type",Object)],Wv.prototype,"dispatcher",void 0);X2([(0,m0.inject)(Ykr.McpLogLevelRegistry),Cj("design:type",Object)],Wv.prototype,"logLevelRegistry",void 0);X2([(0,m0.inject)(Aj.ClientSessionManager),Cj("design:type",Object)],Wv.prototype,"clientSessionManager",void 0);X2([(0,m0.multiInject)(tDr.McpToolHandler),(0,m0.optional)(),Cj("design:type",Array)],Wv.prototype,"toolHandlers",void 0);X2([(0,m0.multiInject)(eDr.McpResourceHandler),(0,m0.optional)(),Cj("design:type",Array)],Wv.prototype,"resourceHandlers",void 0);X2([(0,m0.multiInject)(Qkr.McpPromptHandler),(0,m0.optional)(),Cj("design:type",Array)],Wv.prototype,"promptHandlers",void 0);Xv.AbstractMcpServerLauncher=Wv=X2([(0,m0.injectable)()],Wv)});var u_e=q(jI=>{"use strict";var c_e=jI&&jI.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},kYe=jI&&jI.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(jI,"__esModule",{value:!0});jI.McpLogger=void 0;var a0n=Kr(),ZQ=en(),c0n=GQ(),u0n=cI(),NF=class{static{r(this,"McpLogger")}constructor(){this.requestContext=new u0n.NoopMcpRequestContext}info(n,...s){this.glspLogger.info(n,...s),this.notify("info",n)}warn(n,...s){this.glspLogger.warn(n,...s),this.notify("warning",n)}error(n,...s){this.glspLogger.error(n,...s),this.notify("error",n)}debug(n,...s){this.glspLogger.debug(n,...s),this.notify("debug",n)}notify(n,s){let c=this.requestContext.getStore();if(!c)return;let l=this.levelRegistry.getLevel(c.sessionId);(0,c0n.passesLogThreshold)(n,l)&&c.sendNotification({method:"notifications/message",params:{level:n,data:s}}).catch(()=>{})}};jI.McpLogger=NF;c_e([(0,ZQ.inject)(u0n.McpRequestContext),(0,ZQ.optional)(),kYe("design:type",Object)],NF.prototype,"requestContext",void 0);c_e([(0,ZQ.inject)(a0n.Logger),kYe("design:type",a0n.Logger)],NF.prototype,"glspLogger",void 0);c_e([(0,ZQ.inject)(c0n.McpLogLevelRegistry),kYe("design:type",Object)],NF.prototype,"levelRegistry",void 0);jI.McpLogger=NF=c_e([(0,ZQ.injectable)()],NF)});var HQ=q(MI=>{"use strict";var l0n=MI&&MI.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},rDr=MI&&MI.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)};Object.defineProperty(MI,"__esModule",{value:!0});MI.McpProgressReporter=void 0;var DYe=en(),f0n=cI(),l_e=class{static{r(this,"McpProgressReporter")}constructor(){this.requestContext=new f0n.NoopMcpRequestContext}async emit(n){let s=this.requestContext.getStore(),c=s?._meta?.progressToken;if(!(s===void 0||c===void 0))try{await s.sendNotification({method:"notifications/progress",params:{progressToken:c,...n}})}catch{}}};MI.McpProgressReporter=l_e;l0n([(0,DYe.inject)(f0n.McpRequestContext),(0,DYe.optional)(),rDr("design:type",Object)],l_e.prototype,"requestContext",void 0);MI.McpProgressReporter=l_e=l0n([(0,DYe.injectable)()],l_e)});var xYe=q(Ll=>{"use strict";var iDr=Ll&&Ll.__createBinding||(Object.create?(function(o,n,s,c){c===void 0&&(c=s);var l=Object.getOwnPropertyDescriptor(n,s);(!l||("get"in l?!n.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:r(function(){return n[s]},"get")}),Object.defineProperty(o,c,l)}):(function(o,n,s,c){c===void 0&&(c=s),o[c]=n[s]})),oDr=Ll&&Ll.__setModuleDefault||(Object.create?(function(o,n){Object.defineProperty(o,"default",{enumerable:!0,value:n})}):function(o,n){o.default=n}),d0n=Ll&&Ll.__decorate||function(o,n,s,c){var l=arguments.length,g=l<3?n:c===null?c=Object.getOwnPropertyDescriptor(n,s):c,v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(o,n,s,c);else for(var w=o.length-1;w>=0;w--)(v=o[w])&&(g=(l<3?v(g):l>3?v(n,s,g):v(n,s))||g);return l>3&&g&&Object.defineProperty(n,s,g),g},sDr=Ll&&Ll.__importStar||(function(){var o=r(function(n){return o=Object.getOwnPropertyNames||function(s){var c=[];for(var l in s)Object.prototype.hasOwnProperty.call(s,l)&&(c[c.length]=l);return c},o(n)},"ownKeys");return function(n){if(n&&n.__esModule)return n;var s={};if(n!=null)for(var c=o(n),l=0;l<c.length;l++)c[l]!=="default"&&iDr(s,n,c[l]);return oDr(s,n),s}})(),aDr=Ll&&Ll.__metadata||function(o,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,n)},NYe;Object.defineProperty(Ll,"__esModule",{value:!0});Ll.SessionInfoMcpToolHandler=Ll.SessionInfoOutputSchema=Ll.SessionInfoRowSchema=Ll.SessionInfoInputSchema=void 0;var qYe=Kr(),h0n=en(),$j=sDr(rl()),cDr=ah(),uDr=sl();Ll.SessionInfoInputSchema=$j.object({sessionId:$j.string().optional().describe("Optional filter \u2014 returns only the matching session, or throws if unknown. Omit to list all sessions.")});Ll.SessionInfoRowSchema=$j.object({sessionId:$j.string(),diagramType:$j.string(),sourceUri:$j.string(),readOnly:$j.boolean(),dirty:$j.boolean().describe("True when the diagram has unsaved changes \u2014 call `save-model` to persist.")});Ll.SessionInfoOutputSchema=$j.object({sessions:$j.array(Ll.SessionInfoRowSchema)});var f_e=class extends uDr.AbstractMcpToolHandler{static{r(this,"SessionInfoMcpToolHandler")}constructor(){super(...arguments),this.name=NYe.NAME,this.title="GLSP Session Info",this.description="Report info on the active GLSP client sessions: session id, diagram type, source uri, and read-only status. Pass `sessionId` to retrieve a single session's entry; omit it to list every active session. Useful as a discovery tool \u2014 most other diagram-scoped tools take the `sessionId` returned here.",this.inputSchema=Ll.SessionInfoInputSchema,this.outputSchema=Ll.SessionInfoOutputSchema}static{NYe=this}static{this.NAME="session-info"}createResult({sessionId:n}){let c=(n!==void 0?this.singleSession(n):this.clientSessionManager.getSessions()).map(l=>this.buildSessionRow(l));return this.success(this.summarizeSessions(c),{sessions:c})}buildSessionRow(n){let s=n.container.get(qYe.ModelState),c=n.container.get(qYe.CommandStack);return{sessionId:n.id,diagramType:n.diagramType,sourceUri:s.sourceUri??"",readOnly:s.isReadonly,dirty:c.isDirty}}summarizeSessions(n){if(n.length===0)return"No active sessions.";let s=n.map(c=>{let l=[c.readOnly?"read-only":void 0,c.dirty?"dirty":void 0].filter(Boolean),g=l.length>0?`, ${l.join(", ")}`:"";return`- ${c.sessionId} (${c.diagramType}${g})`});return`${n.length} session(s); full details in structuredContent.
247
247
  ${s.join(`
248
248
  `)}`}singleSession(n){let s=this.clientSessionManager.getSession(n);if(!s)throw new cDr.McpToolError(`Unknown sessionId: ${n}`);return[s]}};Ll.SessionInfoMcpToolHandler=f_e;d0n([(0,h0n.inject)(qYe.ClientSessionManager),aDr("design:type",Object)],f_e.prototype,"clientSessionManager",void 0);Ll.SessionInfoMcpToolHandler=f_e=NYe=d0n([(0,h0n.injectable)()],f_e)});var zYe=q(Y2=>{"use strict";Object.defineProperty(Y2,"__esModule",{value:!0});Y2.AbstractMcpServerModule=Y2.McpHandlerMultiBinding=Y2.DEFAULT_MCP_OPTIONS=Y2.DEFAULT_AGENT_PERSONA=void 0;var b0=Kr(),lDr=bVe(),fDr=_Ve(),LYe=a_e(),p0n=Xye(),dDr=Qye(),g0n=r_e(),m0n=GQ(),b0n=u_e(),BYe=o_e(),v0n=HQ(),hDr=lI(),pDr=cI(),gDr=EI(),mDr=sl(),bDr=Zve(),vDr=xYe();Y2.DEFAULT_AGENT_PERSONA=`
249
249
  You are the GLSP Modeling Agent. Your primary goal is to assist in the creation and modification of graphical models using the