greybel-languageserver-browser
Version:
Language server for GreyScript
31 lines (19 loc) • 1.18 MB
JavaScript
"use strict";(()=>{var jc=Object.defineProperty,lC=Object.defineProperties,cC=Object.getOwnPropertyDescriptor,uC=Object.getOwnPropertyDescriptors,pC=Object.getOwnPropertyNames,Mc=Object.getOwnPropertySymbols;var Af=Object.prototype.hasOwnProperty,Dx=Object.prototype.propertyIsEnumerable;var Ox=t=>{throw TypeError(t)},xt=Math.pow,Cf=(t,e,n)=>e in t?jc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Tt=(t,e)=>{for(var n in e||(e={}))Af.call(e,n)&&Cf(t,n,e[n]);if(Mc)for(var n of Mc(e))Dx.call(e,n)&&Cf(t,n,e[n]);return t},Nn=(t,e)=>lC(t,uC(e));var Lc=(t,e)=>{var n={};for(var r in t)Af.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&Mc)for(var r of Mc(t))e.indexOf(r)<0&&Dx.call(t,r)&&(n[r]=t[r]);return n};var Ir=(t,e)=>()=>(t&&(e=t(t=0)),e);var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ks=(t,e)=>{for(var n in e)jc(t,n,{get:e[n],enumerable:!0})},dC=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of pC(e))!Af.call(t,i)&&i!==n&&jc(t,i,{get:()=>e[i],enumerable:!(r=cC(e,i))||r.enumerable});return t};var kt=t=>dC(jc({},"__esModule",{value:!0}),t);var we=(t,e,n)=>Cf(t,typeof e!="symbol"?e+"":e,n),Mf=(t,e,n)=>e.has(t)||Ox("Cannot "+n);var P=(t,e,n)=>(Mf(t,e,"read from private field"),n?n.call(t):e.get(t)),_e=(t,e,n)=>e.has(t)?Ox("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),re=(t,e,n,r)=>(Mf(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),G=(t,e,n)=>(Mf(t,e,"access private method"),n);var qc=(t,e,n,r)=>({set _(i){re(t,e,i,n)},get _(){return P(t,e,r)}});var N=(t,e,n)=>new Promise((r,i)=>{var s=c=>{try{a(n.next(c))}catch(l){i(l)}},o=c=>{try{a(n.throw(c))}catch(l){i(l)}},a=c=>c.done?r(c.value):Promise.resolve(c.value).then(s,o);a((n=n.apply(t,e)).next())});var Hs=T(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.stringArray=zt.array=zt.func=zt.error=zt.number=zt.string=zt.boolean=void 0;function hC(t){return t===!0||t===!1}zt.boolean=hC;function Cx(t){return typeof t=="string"||t instanceof String}zt.string=Cx;function fC(t){return typeof t=="number"||t instanceof Number}zt.number=fC;function mC(t){return t instanceof Error}zt.error=mC;function gC(t){return typeof t=="function"}zt.func=gC;function Ax(t){return Array.isArray(t)}zt.array=Ax;function yC(t){return Ax(t)&&t.every(e=>Cx(e))}zt.stringArray=yC});var sm=T(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.Message=ee.NotificationType9=ee.NotificationType8=ee.NotificationType7=ee.NotificationType6=ee.NotificationType5=ee.NotificationType4=ee.NotificationType3=ee.NotificationType2=ee.NotificationType1=ee.NotificationType0=ee.NotificationType=ee.RequestType9=ee.RequestType8=ee.RequestType7=ee.RequestType6=ee.RequestType5=ee.RequestType4=ee.RequestType3=ee.RequestType2=ee.RequestType1=ee.RequestType=ee.RequestType0=ee.AbstractMessageSignature=ee.ParameterStructures=ee.ResponseError=ee.ErrorCodes=void 0;var es=Hs(),jf;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(jf||(ee.ErrorCodes=jf={}));var Lf=class t extends Error{constructor(e,n,r){super(n),this.code=es.number(e)?e:jf.UnknownErrorCode,this.data=r,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};ee.ResponseError=Lf;var fn=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};ee.ParameterStructures=fn;fn.auto=new fn("auto");fn.byPosition=new fn("byPosition");fn.byName=new fn("byName");var We=class{constructor(e,n){this.method=e,this.numberOfParams=n}get parameterStructures(){return fn.auto}};ee.AbstractMessageSignature=We;var qf=class extends We{constructor(e){super(e,0)}};ee.RequestType0=qf;var Ff=class extends We{constructor(e,n=fn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};ee.RequestType=Ff;var Nf=class extends We{constructor(e,n=fn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};ee.RequestType1=Nf;var $f=class extends We{constructor(e){super(e,2)}};ee.RequestType2=$f;var Uf=class extends We{constructor(e){super(e,3)}};ee.RequestType3=Uf;var Bf=class extends We{constructor(e){super(e,4)}};ee.RequestType4=Bf;var Vf=class extends We{constructor(e){super(e,5)}};ee.RequestType5=Vf;var Wf=class extends We{constructor(e){super(e,6)}};ee.RequestType6=Wf;var Kf=class extends We{constructor(e){super(e,7)}};ee.RequestType7=Kf;var Hf=class extends We{constructor(e){super(e,8)}};ee.RequestType8=Hf;var zf=class extends We{constructor(e){super(e,9)}};ee.RequestType9=zf;var Gf=class extends We{constructor(e,n=fn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};ee.NotificationType=Gf;var Yf=class extends We{constructor(e){super(e,0)}};ee.NotificationType0=Yf;var Jf=class extends We{constructor(e,n=fn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};ee.NotificationType1=Jf;var Xf=class extends We{constructor(e){super(e,2)}};ee.NotificationType2=Xf;var Qf=class extends We{constructor(e){super(e,3)}};ee.NotificationType3=Qf;var Zf=class extends We{constructor(e){super(e,4)}};ee.NotificationType4=Zf;var em=class extends We{constructor(e){super(e,5)}};ee.NotificationType5=em;var tm=class extends We{constructor(e){super(e,6)}};ee.NotificationType6=tm;var nm=class extends We{constructor(e){super(e,7)}};ee.NotificationType7=nm;var rm=class extends We{constructor(e){super(e,8)}};ee.NotificationType8=rm;var im=class extends We{constructor(e){super(e,9)}};ee.NotificationType9=im;var Mx;(function(t){function e(i){let s=i;return s&&es.string(s.method)&&(es.string(s.id)||es.number(s.id))}t.isRequest=e;function n(i){let s=i;return s&&es.string(s.method)&&i.id===void 0}t.isNotification=n;function r(i){let s=i;return s&&(s.result!==void 0||!!s.error)&&(es.string(s.id)||es.number(s.id)||s.id===null)}t.isResponse=r})(Mx||(ee.Message=Mx={}))});var am=T(yi=>{"use strict";var jx;Object.defineProperty(yi,"__esModule",{value:!0});yi.LRUCache=yi.LinkedMap=yi.Touch=void 0;var Gt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Gt||(yi.Touch=Gt={}));var Fc=class{constructor(){this[jx]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return(e=this._head)==null?void 0:e.value}get last(){var e;return(e=this._tail)==null?void 0:e.value}has(e){return this._map.has(e)}get(e,n=Gt.None){let r=this._map.get(e);if(r)return n!==Gt.None&&this.touch(r,n),r.value}set(e,n,r=Gt.None){let i=this._map.get(e);if(i)i.value=n,r!==Gt.None&&this.touch(i,r);else{switch(i={key:e,value:n,next:void 0,previous:void 0},r){case Gt.None:this.addItemLast(i);break;case Gt.First:this.addItemFirst(i);break;case Gt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let n=this._map.get(e);if(n)return this._map.delete(e),this.removeItem(n),this._size--,n.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,n){let r=this._state,i=this._head;for(;i;){if(n?e.bind(n)(i.value,i.key,this):e(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.key,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}values(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.value,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}entries(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:[n.key,n.value],done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}[(jx=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let n=this._head,r=this.size;for(;n&&r>e;)this._map.delete(n.key),n=n.next,r--;this._head=n,this._size=r,n&&(n.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let n=e.next,r=e.previous;if(!n||!r)throw new Error("Invalid list");n.previous=r,r.next=n}e.next=void 0,e.previous=void 0,this._state++}touch(e,n){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(n!==Gt.First&&n!==Gt.Last)){if(n===Gt.First){if(e===this._head)return;let r=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(n===Gt.Last){if(e===this._tail)return;let r=e.next,i=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((n,r)=>{e.push([r,n])}),e}fromJSON(e){this.clear();for(let[n,r]of e)this.set(n,r)}};yi.LinkedMap=Fc;var om=class extends Fc{constructor(e,n=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,n),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,n=Gt.AsNew){return super.get(e,n)}peek(e){return super.get(e,Gt.None)}set(e,n){return super.set(e,n,Gt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};yi.LRUCache=om});var qx=T(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.Disposable=void 0;var Lx;(function(t){function e(n){return{dispose:n}}t.create=e})(Lx||(Nc.Disposable=Lx={}))});var bi=T(um=>{"use strict";Object.defineProperty(um,"__esModule",{value:!0});var lm;function cm(){if(lm===void 0)throw new Error("No runtime abstraction layer installed");return lm}(function(t){function e(n){if(n===void 0)throw new Error("No runtime abstraction layer provided");lm=n}t.install=e})(cm||(cm={}));um.default=cm});var Gs=T(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.Emitter=zs.Event=void 0;var bC=bi(),Fx;(function(t){let e={dispose(){}};t.None=function(){return e}})(Fx||(zs.Event=Fx={}));var pm=class{add(e,n=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(n),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,n)})}remove(e,n=null){if(!this._callbacks)return;let r=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===n){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,o=r.length;s<o;s++)try{n.push(r[s].apply(i[s],e))}catch(a){(0,bC.default)().console.error(a)}return n}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},$c=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,n,r)=>{this._callbacks||(this._callbacks=new pm),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,n);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,n),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};zs.Emitter=$c;$c._noop=function(){}});var Vc=T(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.CancellationTokenSource=Ys.CancellationToken=void 0;var _C=bi(),vC=Hs(),dm=Gs(),Uc;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:dm.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:dm.Event.None});function e(n){let r=n;return r&&(r===t.None||r===t.Cancelled||vC.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}t.is=e})(Uc||(Ys.CancellationToken=Uc={}));var wC=Object.freeze(function(t,e){let n=(0,_C.default)().timer.setTimeout(t.bind(e),0);return{dispose(){n.dispose()}}}),Bc=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?wC:(this._emitter||(this._emitter=new dm.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},hm=class{get token(){return this._token||(this._token=new Bc),this._token}cancel(){this._token?this._token.cancel():this._token=Uc.Cancelled}dispose(){this._token?this._token instanceof Bc&&this._token.dispose():this._token=Uc.None}};Ys.CancellationTokenSource=hm});var Nx=T(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.SharedArrayReceiverStrategy=Js.SharedArraySenderStrategy=void 0;var SC=Vc(),qa;(function(t){t.Continue=0,t.Cancelled=1})(qa||(qa={}));var fm=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let n=new SharedArrayBuffer(4),r=new Int32Array(n,0,1);r[0]=qa.Continue,this.buffers.set(e.id,n),e.$cancellationData=n}sendCancellation(e,n){return N(this,null,function*(){let r=this.buffers.get(n);if(r===void 0)return;let i=new Int32Array(r,0,1);Atomics.store(i,0,qa.Cancelled)})}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Js.SharedArraySenderStrategy=fm;var mm=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===qa.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},gm=class{constructor(e){this.token=new mm(e)}cancel(){}dispose(){}},ym=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let n=e.$cancellationData;return n===void 0?new SC.CancellationTokenSource:new gm(n)}};Js.SharedArrayReceiverStrategy=ym});var _m=T(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.Semaphore=void 0;var xC=bi(),bm=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((n,r)=>{this._waiting.push({thunk:e,resolve:n,reject:r}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,xC.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let n=e.thunk();n instanceof Promise?n.then(r=>{this._active--,e.resolve(r),this.runNext()},r=>{this._active--,e.reject(r),this.runNext()}):(this._active--,e.resolve(n),this.runNext())}catch(n){this._active--,e.reject(n),this.runNext()}}};Wc.Semaphore=bm});var Ux=T(_i=>{"use strict";Object.defineProperty(_i,"__esModule",{value:!0});_i.ReadableStreamMessageReader=_i.AbstractMessageReader=_i.MessageReader=void 0;var wm=bi(),Xs=Hs(),vm=Gs(),TC=_m(),$x;(function(t){function e(n){let r=n;return r&&Xs.func(r.listen)&&Xs.func(r.dispose)&&Xs.func(r.onError)&&Xs.func(r.onClose)&&Xs.func(r.onPartialMessage)}t.is=e})($x||(_i.MessageReader=$x={}));var Kc=class{constructor(){this.errorEmitter=new vm.Emitter,this.closeEmitter=new vm.Emitter,this.partialMessageEmitter=new vm.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${Xs.string(e.message)?e.message:"unknown"}`)}};_i.AbstractMessageReader=Kc;var Sm;(function(t){function e(n){var l;let r,i,s,o=new Map,a,c=new Map;if(n===void 0||typeof n=="string")r=n!=null?n:"utf-8";else{if(r=(l=n.charset)!=null?l:"utf-8",n.contentDecoder!==void 0&&(s=n.contentDecoder,o.set(s.name,s)),n.contentDecoders!==void 0)for(let u of n.contentDecoders)o.set(u.name,u);if(n.contentTypeDecoder!==void 0&&(a=n.contentTypeDecoder,c.set(a.name,a)),n.contentTypeDecoders!==void 0)for(let u of n.contentTypeDecoders)c.set(u.name,u)}return a===void 0&&(a=(0,wm.default)().applicationJson.decoder,c.set(a.name,a)),{charset:r,contentDecoder:s,contentDecoders:o,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(Sm||(Sm={}));var xm=class extends Kc{constructor(e,n){super(),this.readable=e,this.options=Sm.fromOptions(n),this.buffer=(0,wm.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new TC.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let n=this.readable.onData(r=>{this.onData(r)});return this.readable.onError(r=>this.fireError(r)),this.readable.onClose(()=>this.fireClose()),n}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let r=this.buffer.tryReadHeaders(!0);if(!r)return;let i=r.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
${JSON.stringify(Object.fromEntries(r))}`));return}let s=parseInt(i);if(isNaN(s)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=s}let n=this.buffer.tryReadBody(this.nextMessageLength);if(n===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(()=>N(this,null,function*(){let r=this.options.contentDecoder!==void 0?yield this.options.contentDecoder.decode(n):n,i=yield this.options.contentTypeDecoder.decode(r,this.options);this.callback(i)})).catch(r=>{this.fireError(r)})}}catch(n){this.fireError(n)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,wm.default)().timer.setTimeout((e,n)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:n}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};_i.ReadableStreamMessageReader=xm});var Hx=T(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.WriteableStreamMessageWriter=vi.AbstractMessageWriter=vi.MessageWriter=void 0;var Bx=bi(),Fa=Hs(),kC=_m(),Vx=Gs(),IC="Content-Length: ",Wx=`\r
`,Kx;(function(t){function e(n){let r=n;return r&&Fa.func(r.dispose)&&Fa.func(r.onClose)&&Fa.func(r.onError)&&Fa.func(r.write)}t.is=e})(Kx||(vi.MessageWriter=Kx={}));var Hc=class{constructor(){this.errorEmitter=new Vx.Emitter,this.closeEmitter=new Vx.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,n,r){this.errorEmitter.fire([this.asError(e),n,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Fa.string(e.message)?e.message:"unknown"}`)}};vi.AbstractMessageWriter=Hc;var Tm;(function(t){function e(n){var r,i;return n===void 0||typeof n=="string"?{charset:n!=null?n:"utf-8",contentTypeEncoder:(0,Bx.default)().applicationJson.encoder}:{charset:(r=n.charset)!=null?r:"utf-8",contentEncoder:n.contentEncoder,contentTypeEncoder:(i=n.contentTypeEncoder)!=null?i:(0,Bx.default)().applicationJson.encoder}}t.fromOptions=e})(Tm||(Tm={}));var km=class extends Hc{constructor(e,n){super(),this.writable=e,this.options=Tm.fromOptions(n),this.errorCount=0,this.writeSemaphore=new kC.Semaphore(1),this.writable.onError(r=>this.fireError(r)),this.writable.onClose(()=>this.fireClose())}write(e){return N(this,null,function*(){return this.writeSemaphore.lock(()=>N(this,null,function*(){return this.options.contentTypeEncoder.encode(e,this.options).then(r=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(r):r).then(r=>{let i=[];return i.push(IC,r.byteLength.toString(),Wx),i.push(Wx),this.doWrite(e,i,r)},r=>{throw this.fireError(r),r})}))})}doWrite(e,n,r){return N(this,null,function*(){try{return yield this.writable.write(n.join(""),"ascii"),this.writable.write(r)}catch(i){return this.handleError(i,e),Promise.reject(i)}})}handleError(e,n){this.errorCount++,this.fireError(e,n,this.errorCount)}end(){this.writable.end()}};vi.WriteableStreamMessageWriter=km});var zx=T(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.AbstractMessageBuffer=void 0;var PC=13,EC=10,RC=`\r
`,Im=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let n=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(n),this._totalLength+=n.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let n=0,r=0,i=0,s=0;e:for(;r<this._chunks.length;){let l=this._chunks[r];for(i=0;i<l.length;){switch(l[i]){case PC:switch(n){case 0:n=1;break;case 2:n=3;break;default:n=0}break;case EC:switch(n){case 1:n=2;break;case 3:n=4,i++;break e;default:n=0}break;default:n=0}i++}s+=l.byteLength,r++}if(n!==4)return;let o=this._read(s+i),a=new Map,c=this.toString(o,"ascii").split(RC);if(c.length<2)return a;for(let l=0;l<c.length-2;l++){let u=c[l],p=u.indexOf(":");if(p===-1)throw new Error(`Message header must separate key and value using ':'
${u}`);let d=u.substr(0,p),h=u.substr(p+1).trim();a.set(e?d.toLowerCase():d,h)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let s=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(s)}if(this._chunks[0].byteLength>e){let s=this._chunks[0],o=this.asNative(s,e);return this._chunks[0]=s.slice(e),this._totalLength-=e,o}let n=this.allocNative(e),r=0,i=0;for(;e>0;){let s=this._chunks[i];if(s.byteLength>e){let o=s.slice(0,e);n.set(o,r),r+=e,this._chunks[i]=s.slice(e),this._totalLength-=e,e-=e}else n.set(s,r),r+=s.byteLength,this._chunks.shift(),this._totalLength-=s.byteLength,e-=s.byteLength}return n}};zc.AbstractMessageBuffer=Im});var Qx=T(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.createMessageConnection=de.ConnectionOptions=de.MessageStrategy=de.CancellationStrategy=de.CancellationSenderStrategy=de.CancellationReceiverStrategy=de.RequestCancellationReceiverStrategy=de.IdCancellationReceiverStrategy=de.ConnectionStrategy=de.ConnectionError=de.ConnectionErrors=de.LogTraceNotification=de.SetTraceNotification=de.TraceFormat=de.TraceValues=de.Trace=de.NullLogger=de.ProgressType=de.ProgressToken=void 0;var Gx=bi(),rt=Hs(),ae=sm(),Yx=am(),Na=Gs(),Pm=Vc(),Ba;(function(t){t.type=new ae.NotificationType("$/cancelRequest")})(Ba||(Ba={}));var Em;(function(t){function e(n){return typeof n=="string"||typeof n=="number"}t.is=e})(Em||(de.ProgressToken=Em={}));var $a;(function(t){t.type=new ae.NotificationType("$/progress")})($a||($a={}));var Rm=class{constructor(){}};de.ProgressType=Rm;var Dm;(function(t){function e(n){return rt.func(n)}t.is=e})(Dm||(Dm={}));de.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var xe;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(xe||(de.Trace=xe={}));var Jx;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(Jx||(de.TraceValues=Jx={}));(function(t){function e(r){if(!rt.string(r))return t.Off;switch(r=r.toLowerCase(),r){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function n(r){switch(r){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=n})(xe||(de.Trace=xe={}));var kn;(function(t){t.Text="text",t.JSON="json"})(kn||(de.TraceFormat=kn={}));(function(t){function e(n){return rt.string(n)?(n=n.toLowerCase(),n==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(kn||(de.TraceFormat=kn={}));var Om;(function(t){t.type=new ae.NotificationType("$/setTrace")})(Om||(de.SetTraceNotification=Om={}));var Gc;(function(t){t.type=new ae.NotificationType("$/logTrace")})(Gc||(de.LogTraceNotification=Gc={}));var Ua;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(Ua||(de.ConnectionErrors=Ua={}));var Qs=class t extends Error{constructor(e,n){super(n),this.code=e,Object.setPrototypeOf(this,t.prototype)}};de.ConnectionError=Qs;var Cm;(function(t){function e(n){let r=n;return r&&rt.func(r.cancelUndispatched)}t.is=e})(Cm||(de.ConnectionStrategy=Cm={}));var Yc;(function(t){function e(n){let r=n;return r&&(r.kind===void 0||r.kind==="id")&&rt.func(r.createCancellationTokenSource)&&(r.dispose===void 0||rt.func(r.dispose))}t.is=e})(Yc||(de.IdCancellationReceiverStrategy=Yc={}));var Am;(function(t){function e(n){let r=n;return r&&r.kind==="request"&&rt.func(r.createCancellationTokenSource)&&(r.dispose===void 0||rt.func(r.dispose))}t.is=e})(Am||(de.RequestCancellationReceiverStrategy=Am={}));var Jc;(function(t){t.Message=Object.freeze({createCancellationTokenSource(n){return new Pm.CancellationTokenSource}});function e(n){return Yc.is(n)||Am.is(n)}t.is=e})(Jc||(de.CancellationReceiverStrategy=Jc={}));var Xc;(function(t){t.Message=Object.freeze({sendCancellation(n,r){return n.sendNotification(Ba.type,{id:r})},cleanup(n){}});function e(n){let r=n;return r&&rt.func(r.sendCancellation)&&rt.func(r.cleanup)}t.is=e})(Xc||(de.CancellationSenderStrategy=Xc={}));var Qc;(function(t){t.Message=Object.freeze({receiver:Jc.Message,sender:Xc.Message});function e(n){let r=n;return r&&Jc.is(r.receiver)&&Xc.is(r.sender)}t.is=e})(Qc||(de.CancellationStrategy=Qc={}));var Zc;(function(t){function e(n){let r=n;return r&&rt.func(r.handleMessage)}t.is=e})(Zc||(de.MessageStrategy=Zc={}));var Xx;(function(t){function e(n){let r=n;return r&&(Qc.is(r.cancellationStrategy)||Cm.is(r.connectionStrategy)||Zc.is(r.messageStrategy))}t.is=e})(Xx||(de.ConnectionOptions=Xx={}));var tr;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(tr||(tr={}));function DC(t,e,n,r){let i=n!==void 0?n:de.NullLogger,s=0,o=0,a=0,c="2.0",l,u=new Map,p,d=new Map,h=new Map,g,f=new Yx.LinkedMap,m=new Map,b=new Set,_=new Map,v=xe.Off,w=kn.Text,x,y=tr.New,S=new Na.Emitter,k=new Na.Emitter,D=new Na.Emitter,A=new Na.Emitter,I=new Na.Emitter,O=r&&r.cancellationStrategy?r.cancellationStrategy:Qc.Message;function C(R){if(R===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+R.toString()}function j(R){return R===null?"res-unknown-"+(++a).toString():"res-"+R.toString()}function Y(){return"not-"+(++o).toString()}function J(R,F){ae.Message.isRequest(F)?R.set(C(F.id),F):ae.Message.isResponse(F)?R.set(j(F.id),F):R.set(Y(),F)}function Ne(R){}function pe(){return y===tr.Listening}function se(){return y===tr.Closed}function Le(){return y===tr.Disposed}function Tn(){(y===tr.New||y===tr.Listening)&&(y=tr.Closed,k.fire(void 0))}function kr(R){S.fire([R,void 0,void 0])}function Zi(R){S.fire(R)}t.onClose(Tn),t.onError(kr),e.onClose(Tn),e.onError(Zi);function Bs(){g||f.size===0||(g=(0,Gx.default)().timer.setImmediate(()=>{g=void 0,YO()}))}function mi(R){ae.Message.isRequest(R)?XO(R):ae.Message.isNotification(R)?ZO(R):ae.Message.isResponse(R)?QO(R):eC(R)}function YO(){if(f.size===0)return;let R=f.shift();try{let F=r==null?void 0:r.messageStrategy;Zc.is(F)?F.handleMessage(R,mi):mi(R)}finally{Bs()}}let JO=R=>{try{if(ae.Message.isNotification(R)&&R.method===Ba.type.method){let F=R.params.id,V=C(F),Q=f.get(V);if(ae.Message.isRequest(Q)){let qe=r==null?void 0:r.connectionStrategy,$e=qe&&qe.cancelUndispatched?qe.cancelUndispatched(Q,Ne):void 0;if($e&&($e.error!==void 0||$e.result!==void 0)){f.delete(V),_.delete(F),$e.id=Q.id,Ac($e,R.method,Date.now()),e.write($e).catch(()=>i.error("Sending response for canceled message failed."));return}}let Ve=_.get(F);if(Ve!==void 0){Ve.cancel(),Df(R);return}else b.add(F)}J(f,R)}finally{Bs()}};function XO(R){var $t;if(Le())return;function F(Pe,ft,Ue){let mt={jsonrpc:c,id:R.id};Pe instanceof ae.ResponseError?mt.error=Pe.toJson():mt.result=Pe===void 0?null:Pe,Ac(mt,ft,Ue),e.write(mt).catch(()=>i.error("Sending response failed."))}function V(Pe,ft,Ue){let mt={jsonrpc:c,id:R.id,error:Pe.toJson()};Ac(mt,ft,Ue),e.write(mt).catch(()=>i.error("Sending response failed."))}function Q(Pe,ft,Ue){Pe===void 0&&(Pe=null);let mt={jsonrpc:c,id:R.id,result:Pe};Ac(mt,ft,Ue),e.write(mt).catch(()=>i.error("Sending response failed."))}rC(R);let Ve=u.get(R.method),qe,$e;Ve&&(qe=Ve.type,$e=Ve.handler);let ht=Date.now();if($e||l){let Pe=($t=R.id)!=null?$t:String(Date.now()),ft=Yc.is(O.receiver)?O.receiver.createCancellationTokenSource(Pe):O.receiver.createCancellationTokenSource(R);R.id!==null&&b.has(R.id)&&ft.cancel(),R.id!==null&&_.set(Pe,ft);try{let Ue;if($e)if(R.params===void 0){if(qe!==void 0&&qe.numberOfParams!==0){V(new ae.ResponseError(ae.ErrorCodes.InvalidParams,`Request ${R.method} defines ${qe.numberOfParams} params but received none.`),R.method,ht);return}Ue=$e(ft.token)}else if(Array.isArray(R.params)){if(qe!==void 0&&qe.parameterStructures===ae.ParameterStructures.byName){V(new ae.ResponseError(ae.ErrorCodes.InvalidParams,`Request ${R.method} defines parameters by name but received parameters by position`),R.method,ht);return}Ue=$e(...R.params,ft.token)}else{if(qe!==void 0&&qe.parameterStructures===ae.ParameterStructures.byPosition){V(new ae.ResponseError(ae.ErrorCodes.InvalidParams,`Request ${R.method} defines parameters by position but received parameters by name`),R.method,ht);return}Ue=$e(R.params,ft.token)}else l&&(Ue=l(R.method,R.params,ft.token));let mt=Ue;Ue?mt.then?mt.then(Ot=>{_.delete(Pe),F(Ot,R.method,ht)},Ot=>{_.delete(Pe),Ot instanceof ae.ResponseError?V(Ot,R.method,ht):Ot&&rt.string(Ot.message)?V(new ae.ResponseError(ae.ErrorCodes.InternalError,`Request ${R.method} failed with message: ${Ot.message}`),R.method,ht):V(new ae.ResponseError(ae.ErrorCodes.InternalError,`Request ${R.method} failed unexpectedly without providing any details.`),R.method,ht)}):(_.delete(Pe),F(Ue,R.method,ht)):(_.delete(Pe),Q(Ue,R.method,ht))}catch(Ue){_.delete(Pe),Ue instanceof ae.ResponseError?F(Ue,R.method,ht):Ue&&rt.string(Ue.message)?V(new ae.ResponseError(ae.ErrorCodes.InternalError,`Request ${R.method} failed with message: ${Ue.message}`),R.method,ht):V(new ae.ResponseError(ae.ErrorCodes.InternalError,`Request ${R.method} failed unexpectedly without providing any details.`),R.method,ht)}}else V(new ae.ResponseError(ae.ErrorCodes.MethodNotFound,`Unhandled method ${R.method}`),R.method,ht)}function QO(R){if(!Le())if(R.id===null)R.error?i.error(`Received response message without id: Error is:
${JSON.stringify(R.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let F=R.id,V=m.get(F);if(iC(R,V),V!==void 0){m.delete(F);try{if(R.error){let Q=R.error;V.reject(new ae.ResponseError(Q.code,Q.message,Q.data))}else if(R.result!==void 0)V.resolve(R.result);else throw new Error("Should never happen.")}catch(Q){Q.message?i.error(`Response handler '${V.method}' failed with message: ${Q.message}`):i.error(`Response handler '${V.method}' failed unexpectedly.`)}}}}function ZO(R){if(Le())return;let F,V;if(R.method===Ba.type.method){let Q=R.params.id;b.delete(Q),Df(R);return}else{let Q=d.get(R.method);Q&&(V=Q.handler,F=Q.type)}if(V||p)try{if(Df(R),V)if(R.params===void 0)F!==void 0&&F.numberOfParams!==0&&F.parameterStructures!==ae.ParameterStructures.byName&&i.error(`Notification ${R.method} defines ${F.numberOfParams} params but received none.`),V();else if(Array.isArray(R.params)){let Q=R.params;R.method===$a.type.method&&Q.length===2&&Em.is(Q[0])?V({token:Q[0],value:Q[1]}):(F!==void 0&&(F.parameterStructures===ae.ParameterStructures.byName&&i.error(`Notification ${R.method} defines parameters by name but received parameters by position`),F.numberOfParams!==R.params.length&&i.error(`Notification ${R.method} defines ${F.numberOfParams} params but received ${Q.length} arguments`)),V(...Q))}else F!==void 0&&F.parameterStructures===ae.ParameterStructures.byPosition&&i.error(`Notification ${R.method} defines parameters by position but received parameters by name`),V(R.params);else p&&p(R.method,R.params)}catch(Q){Q.message?i.error(`Notification handler '${R.method}' failed with message: ${Q.message}`):i.error(`Notification handler '${R.method}' failed unexpectedly.`)}else D.fire(R)}function eC(R){if(!R){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
${JSON.stringify(R,null,4)}`);let F=R;if(rt.string(F.id)||rt.number(F.id)){let V=F.id,Q=m.get(V);Q&&Q.reject(new Error("The received response has neither a result nor an error property."))}}function gi(R){if(R!=null)switch(v){case xe.Verbose:return JSON.stringify(R,null,4);case xe.Compact:return JSON.stringify(R);default:return}}function tC(R){if(!(v===xe.Off||!x))if(w===kn.Text){let F;(v===xe.Verbose||v===xe.Compact)&&R.params&&(F=`Params: ${gi(R.params)}
`),x.log(`Sending request '${R.method} - (${R.id})'.`,F)}else Vs("send-request",R)}function nC(R){if(!(v===xe.Off||!x))if(w===kn.Text){let F;(v===xe.Verbose||v===xe.Compact)&&(R.params?F=`Params: ${gi(R.params)}
`:F=`No parameters provided.
`),x.log(`Sending notification '${R.method}'.`,F)}else Vs("send-notification",R)}function Ac(R,F,V){if(!(v===xe.Off||!x))if(w===kn.Text){let Q;(v===xe.Verbose||v===xe.Compact)&&(R.error&&R.error.data?Q=`Error data: ${gi(R.error.data)}
`:R.result?Q=`Result: ${gi(R.result)}
`:R.error===void 0&&(Q=`No result returned.
`)),x.log(`Sending response '${F} - (${R.id})'. Processing request took ${Date.now()-V}ms`,Q)}else Vs("send-response",R)}function rC(R){if(!(v===xe.Off||!x))if(w===kn.Text){let F;(v===xe.Verbose||v===xe.Compact)&&R.params&&(F=`Params: ${gi(R.params)}
`),x.log(`Received request '${R.method} - (${R.id})'.`,F)}else Vs("receive-request",R)}function Df(R){if(!(v===xe.Off||!x||R.method===Gc.type.method))if(w===kn.Text){let F;(v===xe.Verbose||v===xe.Compact)&&(R.params?F=`Params: ${gi(R.params)}
`:F=`No parameters provided.
`),x.log(`Received notification '${R.method}'.`,F)}else Vs("receive-notification",R)}function iC(R,F){if(!(v===xe.Off||!x))if(w===kn.Text){let V;if((v===xe.Verbose||v===xe.Compact)&&(R.error&&R.error.data?V=`Error data: ${gi(R.error.data)}
`:R.result?V=`Result: ${gi(R.result)}
`:R.error===void 0&&(V=`No result returned.
`)),F){let Q=R.error?` Request failed: ${R.error.message} (${R.error.code}).`:"";x.log(`Received response '${F.method} - (${R.id})' in ${Date.now()-F.timerStart}ms.${Q}`,V)}else x.log(`Received response ${R.id} without active response promise.`,V)}else Vs("receive-response",R)}function Vs(R,F){if(!x||v===xe.Off)return;let V={isLSPMessage:!0,type:R,message:F,timestamp:Date.now()};x.log(V)}function ja(){if(se())throw new Qs(Ua.Closed,"Connection is closed.");if(Le())throw new Qs(Ua.Disposed,"Connection is disposed.")}function sC(){if(pe())throw new Qs(Ua.AlreadyListening,"Connection is already listening")}function oC(){if(!pe())throw new Error("Call listen() first.")}function La(R){return R===void 0?null:R}function Px(R){if(R!==null)return R}function Ex(R){return R!=null&&!Array.isArray(R)&&typeof R=="object"}function Of(R,F){switch(R){case ae.ParameterStructures.auto:return Ex(F)?Px(F):[La(F)];case ae.ParameterStructures.byName:if(!Ex(F))throw new Error("Received parameters by name but param is not an object literal.");return Px(F);case ae.ParameterStructures.byPosition:return[La(F)];default:throw new Error(`Unknown parameter structure ${R.toString()}`)}}function Rx(R,F){let V,Q=R.numberOfParams;switch(Q){case 0:V=void 0;break;case 1:V=Of(R.parameterStructures,F[0]);break;default:V=[];for(let Ve=0;Ve<F.length&&Ve<Q;Ve++)V.push(La(F[Ve]));if(F.length<Q)for(let Ve=F.length;Ve<Q;Ve++)V.push(null);break}return V}let Ws={sendNotification:(R,...F)=>{ja();let V,Q;if(rt.string(R)){V=R;let qe=F[0],$e=0,ht=ae.ParameterStructures.auto;ae.ParameterStructures.is(qe)&&($e=1,ht=qe);let $t=F.length,Pe=$t-$e;switch(Pe){case 0:Q=void 0;break;case 1:Q=Of(ht,F[$e]);break;default:if(ht===ae.ParameterStructures.byName)throw new Error(`Received ${Pe} parameters for 'by Name' notification parameter structure.`);Q=F.slice($e,$t).map(ft=>La(ft));break}}else{let qe=F;V=R.method,Q=Rx(R,qe)}let Ve={jsonrpc:c,method:V,params:Q};return nC(Ve),e.write(Ve).catch(qe=>{throw i.error("Sending notification failed."),qe})},onNotification:(R,F)=>{ja();let V;return rt.func(R)?p=R:F&&(rt.string(R)?(V=R,d.set(R,{type:void 0,handler:F})):(V=R.method,d.set(R.method,{type:R,handler:F}))),{dispose:()=>{V!==void 0?d.delete(V):p=void 0}}},onProgress:(R,F,V)=>{if(h.has(F))throw new Error(`Progress handler for token ${F} already registered`);return h.set(F,V),{dispose:()=>{h.delete(F)}}},sendProgress:(R,F,V)=>Ws.sendNotification($a.type,{token:F,value:V}),onUnhandledProgress:A.event,sendRequest:(R,...F)=>{ja(),oC();let V,Q,Ve;if(rt.string(R)){V=R;let $t=F[0],Pe=F[F.length-1],ft=0,Ue=ae.ParameterStructures.auto;ae.ParameterStructures.is($t)&&(ft=1,Ue=$t);let mt=F.length;Pm.CancellationToken.is(Pe)&&(mt=mt-1,Ve=Pe);let Ot=mt-ft;switch(Ot){case 0:Q=void 0;break;case 1:Q=Of(Ue,F[ft]);break;default:if(Ue===ae.ParameterStructures.byName)throw new Error(`Received ${Ot} parameters for 'by Name' request parameter structure.`);Q=F.slice(ft,mt).map(aC=>La(aC));break}}else{let $t=F;V=R.method,Q=Rx(R,$t);let Pe=R.numberOfParams;Ve=Pm.CancellationToken.is($t[Pe])?$t[Pe]:void 0}let qe=s++,$e;Ve&&($e=Ve.onCancellationRequested(()=>{let $t=O.sender.sendCancellation(Ws,qe);return $t===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${qe}`),Promise.resolve()):$t.catch(()=>{i.log(`Sending cancellation messages for id ${qe} failed`)})}));let ht={jsonrpc:c,id:qe,method:V,params:Q};return tC(ht),typeof O.sender.enableCancellation=="function"&&O.sender.enableCancellation(ht),new Promise(($t,Pe)=>N(this,null,function*(){let ft=Ot=>{$t(Ot),O.sender.cleanup(qe),$e==null||$e.dispose()},Ue=Ot=>{Pe(Ot),O.sender.cleanup(qe),$e==null||$e.dispose()},mt={method:V,timerStart:Date.now(),resolve:ft,reject:Ue};try{yield e.write(ht),m.set(qe,mt)}catch(Ot){throw i.error("Sending request failed."),mt.reject(new ae.ResponseError(ae.ErrorCodes.MessageWriteError,Ot.message?Ot.message:"Unknown reason")),Ot}}))},onRequest:(R,F)=>{ja();let V=null;return Dm.is(R)?(V=void 0,l=R):rt.string(R)?(V=null,F!==void 0&&(V=R,u.set(R,{handler:F,type:void 0}))):F!==void 0&&(V=R.method,u.set(R.method,{type:R,handler:F})),{dispose:()=>{V!==null&&(V!==void 0?u.delete(V):l=void 0)}}},hasPendingResponse:()=>m.size>0,trace:(R,F,V)=>N(this,null,function*(){let Q=!1,Ve=kn.Text;V!==void 0&&(rt.boolean(V)?Q=V:(Q=V.sendNotification||!1,Ve=V.traceFormat||kn.Text)),v=R,w=Ve,v===xe.Off?x=void 0:x=F,Q&&!se()&&!Le()&&(yield Ws.sendNotification(Om.type,{value:xe.toString(R)}))}),onError:S.event,onClose:k.event,onUnhandledNotification:D.event,onDispose:I.event,end:()=>{e.end()},dispose:()=>{if(Le())return;y=tr.Disposed,I.fire(void 0);let R=new ae.ResponseError(ae.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let F of m.values())F.reject(R);m=new Map,_=new Map,b=new Set,f=new Yx.LinkedMap,rt.func(e.dispose)&&e.dispose(),rt.func(t.dispose)&&t.dispose()},listen:()=>{ja(),sC(),y=tr.Listening,t.listen(JO)},inspect:()=>{(0,Gx.default)().console.log("inspect")}};return Ws.onNotification(Gc.type,R=>{if(v===xe.Off||!x)return;let F=v===xe.Verbose||v===xe.Compact;x.log(R.message,F?R.verbose:void 0)}),Ws.onNotification($a.type,R=>{let F=h.get(R.token);F?F(R.value):A.fire(R)}),Ws}de.createMessageConnection=DC});var eu=T(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.ProgressType=L.ProgressToken=L.createMessageConnection=L.NullLogger=L.ConnectionOptions=L.ConnectionStrategy=L.AbstractMessageBuffer=L.WriteableStreamMessageWriter=L.AbstractMessageWriter=L.MessageWriter=L.ReadableStreamMessageReader=L.AbstractMessageReader=L.MessageReader=L.SharedArrayReceiverStrategy=L.SharedArraySenderStrategy=L.CancellationToken=L.CancellationTokenSource=L.Emitter=L.Event=L.Disposable=L.LRUCache=L.Touch=L.LinkedMap=L.ParameterStructures=L.NotificationType9=L.NotificationType8=L.NotificationType7=L.NotificationType6=L.NotificationType5=L.NotificationType4=L.NotificationType3=L.NotificationType2=L.NotificationType1=L.NotificationType0=L.NotificationType=L.ErrorCodes=L.ResponseError=L.RequestType9=L.RequestType8=L.RequestType7=L.RequestType6=L.RequestType5=L.RequestType4=L.RequestType3=L.RequestType2=L.RequestType1=L.RequestType0=L.RequestType=L.Message=L.RAL=void 0;L.MessageStrategy=L.CancellationStrategy=L.CancellationSenderStrategy=L.CancellationReceiverStrategy=L.ConnectionError=L.ConnectionErrors=L.LogTraceNotification=L.SetTraceNotification=L.TraceFormat=L.TraceValues=L.Trace=void 0;var Be=sm();Object.defineProperty(L,"Message",{enumerable:!0,get:function(){return Be.Message}});Object.defineProperty(L,"RequestType",{enumerable:!0,get:function(){return Be.RequestType}});Object.defineProperty(L,"RequestType0",{enumerable:!0,get:function(){return Be.RequestType0}});Object.defineProperty(L,"RequestType1",{enumerable:!0,get:function(){return Be.RequestType1}});Object.defineProperty(L,"RequestType2",{enumerable:!0,get:function(){return Be.RequestType2}});Object.defineProperty(L,"RequestType3",{enumerable:!0,get:function(){return Be.RequestType3}});Object.defineProperty(L,"RequestType4",{enumerable:!0,get:function(){return Be.RequestType4}});Object.defineProperty(L,"RequestType5",{enumerable:!0,get:function(){return Be.RequestType5}});Object.defineProperty(L,"RequestType6",{enumerable:!0,get:function(){return Be.RequestType6}});Object.defineProperty(L,"RequestType7",{enumerable:!0,get:function(){return Be.RequestType7}});Object.defineProperty(L,"RequestType8",{enumerable:!0,get:function(){return Be.RequestType8}});Object.defineProperty(L,"RequestType9",{enumerable:!0,get:function(){return Be.RequestType9}});Object.defineProperty(L,"ResponseError",{enumerable:!0,get:function(){return Be.ResponseError}});Object.defineProperty(L,"ErrorCodes",{enumerable:!0,get:function(){return Be.ErrorCodes}});Object.defineProperty(L,"NotificationType",{enumerable:!0,get:function(){return Be.NotificationType}});Object.defineProperty(L,"NotificationType0",{enumerable:!0,get:function(){return Be.NotificationType0}});Object.defineProperty(L,"NotificationType1",{enumerable:!0,get:function(){return Be.NotificationType1}});Object.defineProperty(L,"NotificationType2",{enumerable:!0,get:function(){return Be.NotificationType2}});Object.defineProperty(L,"NotificationType3",{enumerable:!0,get:function(){return Be.NotificationType3}});Object.defineProperty(L,"NotificationType4",{enumerable:!0,get:function(){return Be.NotificationType4}});Object.defineProperty(L,"NotificationType5",{enumerable:!0,get:function(){return Be.NotificationType5}});Object.defineProperty(L,"NotificationType6",{enumerable:!0,get:function(){return Be.NotificationType6}});Object.defineProperty(L,"NotificationType7",{enumerable:!0,get:function(){return Be.NotificationType7}});Object.defineProperty(L,"NotificationType8",{enumerable:!0,get:function(){return Be.NotificationType8}});Object.defineProperty(L,"NotificationType9",{enumerable:!0,get:function(){return Be.NotificationType9}});Object.defineProperty(L,"ParameterStructures",{enumerable:!0,get:function(){return Be.ParameterStructures}});var Mm=am();Object.defineProperty(L,"LinkedMap",{enumerable:!0,get:function(){return Mm.LinkedMap}});Object.defineProperty(L,"LRUCache",{enumerable:!0,get:function(){return Mm.LRUCache}});Object.defineProperty(L,"Touch",{enumerable:!0,get:function(){return Mm.Touch}});var OC=qx();Object.defineProperty(L,"Disposable",{enumerable:!0,get:function(){return OC.Disposable}});var Zx=Gs();Object.defineProperty(L,"Event",{enumerable:!0,get:function(){return Zx.Event}});Object.defineProperty(L,"Emitter",{enumerable:!0,get:function(){return Zx.Emitter}});var eT=Vc();Object.defineProperty(L,"CancellationTokenSource",{enumerable:!0,get:function(){return eT.CancellationTokenSource}});Object.defineProperty(L,"CancellationToken",{enumerable:!0,get:function(){return eT.CancellationToken}});var tT=Nx();Object.defineProperty(L,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return tT.SharedArraySenderStrategy}});Object.defineProperty(L,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return tT.SharedArrayReceiverStrategy}});var jm=Ux();Object.defineProperty(L,"MessageReader",{enumerable:!0,get:function(){return jm.MessageReader}});Object.defineProperty(L,"AbstractMessageReader",{enumerable:!0,get:function(){return jm.AbstractMessageReader}});Object.defineProperty(L,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return jm.ReadableStreamMessageReader}});var Lm=Hx();Object.defineProperty(L,"MessageWriter",{enumerable:!0,get:function(){return Lm.MessageWriter}});Object.defineProperty(L,"AbstractMessageWriter",{enumerable:!0,get:function(){return Lm.AbstractMessageWriter}});Object.defineProperty(L,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return Lm.WriteableStreamMessageWriter}});var CC=zx();Object.defineProperty(L,"AbstractMessageBuffer",{enumerable:!0,get:function(){return CC.AbstractMessageBuffer}});var Ut=Qx();Object.defineProperty(L,"ConnectionStrategy",{enumerable:!0,get:function(){return Ut.ConnectionStrategy}});Object.defineProperty(L,"ConnectionOptions",{enumerable:!0,get:function(){return Ut.ConnectionOptions}});Object.defineProperty(L,"NullLogger",{enumerable:!0,get:function(){return Ut.NullLogger}});Object.defineProperty(L,"createMessageConnection",{enumerable:!0,get:function(){return Ut.createMessageConnection}});Object.defineProperty(L,"ProgressToken",{enumerable:!0,get:function(){return Ut.ProgressToken}});Object.defineProperty(L,"ProgressType",{enumerable:!0,get:function(){return Ut.ProgressType}});Object.defineProperty(L,"Trace",{enumerable:!0,get:function(){return Ut.Trace}});Object.defineProperty(L,"TraceValues",{enumerable:!0,get:function(){return Ut.TraceValues}});Object.defineProperty(L,"TraceFormat",{enumerable:!0,get:function(){return Ut.TraceFormat}});Object.defineProperty(L,"SetTraceNotification",{enumerable:!0,get:function(){return Ut.SetTraceNotification}});Object.defineProperty(L,"LogTraceNotification",{enumerable:!0,get:function(){return Ut.LogTraceNotification}});Object.defineProperty(L,"ConnectionErrors",{enumerable:!0,get:function(){return Ut.ConnectionErrors}});Object.defineProperty(L,"ConnectionError",{enumerable:!0,get:function(){return Ut.ConnectionError}});Object.defineProperty(L,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Ut.CancellationReceiverStrategy}});Object.defineProperty(L,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Ut.CancellationSenderStrategy}});Object.defineProperty(L,"CancellationStrategy",{enumerable:!0,get:function(){return Ut.CancellationStrategy}});Object.defineProperty(L,"MessageStrategy",{enumerable:!0,get:function(){return Ut.Mes