UNPKG

@lpc-lang/core

Version:
33 lines (20 loc) 1.44 MB
// Copyright 2024 John L Chmura var Aae=Object.create;var vk=Object.defineProperty;var wae=Object.getOwnPropertyDescriptor;var Rae=Object.getOwnPropertyNames;var Oae=Object.getPrototypeOf,Mae=Object.prototype.hasOwnProperty;var Bae=(e,n)=>()=>(e&&(n=e(e=0)),n);var Yt=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),ul=(e,n)=>{for(var r in n)vk(e,r,{get:n[r],enumerable:!0})},CW=(e,n,r,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of Rae(n))!Mae.call(e,a)&&a!==r&&vk(e,a,{get:()=>n[a],enumerable:!(i=wae(n,a))||i.enumerable});return e};var Dg=(e,n,r)=>(r=e!=null?Aae(Oae(e)):{},CW(n||!e||!e.__esModule?vk(r,"default",{value:e,enumerable:!0}):r,e)),jae=e=>CW(vk({},"__esModule",{value:!0}),e);var Fk=Yt(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.thenable=mc.typedArray=mc.stringArray=mc.array=mc.func=mc.error=mc.number=mc.string=mc.boolean=void 0;function Jae(e){return e===!0||e===!1}mc.boolean=Jae;function DW(e){return typeof e=="string"||e instanceof String}mc.string=DW;function Wae(e){return typeof e=="number"||e instanceof Number}mc.number=Wae;function Uae(e){return e instanceof Error}mc.error=Uae;function EW(e){return typeof e=="function"}mc.func=EW;function PW(e){return Array.isArray(e)}mc.array=PW;function Kae(e){return PW(e)&&e.every(n=>DW(n))}mc.stringArray=Kae;function qae(e,n){return Array.isArray(e)&&e.every(n)}mc.typedArray=qae;function Vae(e){return e&&EW(e.then)}mc.thenable=Vae});var G_=Yt(wl=>{"use strict";Object.defineProperty(wl,"__esModule",{value:!0});wl.stringArray=wl.array=wl.func=wl.error=wl.number=wl.string=wl.boolean=void 0;function Hae(e){return e===!0||e===!1}wl.boolean=Hae;function NW(e){return typeof e=="string"||e instanceof String}wl.string=NW;function zae(e){return typeof e=="number"||e instanceof Number}wl.number=zae;function Gae(e){return e instanceof Error}wl.error=Gae;function $ae(e){return typeof e=="function"}wl.func=$ae;function kW(e){return Array.isArray(e)}wl.array=kW;function Qae(e){return kW(e)&&e.every(n=>NW(n))}wl.stringArray=Qae});var PR=Yt(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.Message=Zr.NotificationType9=Zr.NotificationType8=Zr.NotificationType7=Zr.NotificationType6=Zr.NotificationType5=Zr.NotificationType4=Zr.NotificationType3=Zr.NotificationType2=Zr.NotificationType1=Zr.NotificationType0=Zr.NotificationType=Zr.RequestType9=Zr.RequestType8=Zr.RequestType7=Zr.RequestType6=Zr.RequestType5=Zr.RequestType4=Zr.RequestType3=Zr.RequestType2=Zr.RequestType1=Zr.RequestType=Zr.RequestType0=Zr.AbstractMessageSignature=Zr.ParameterStructures=Zr.ResponseError=Zr.ErrorCodes=void 0;var MT=G_(),tR;(function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=-32099,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.PendingResponseRejected=-32097,e.ConnectionInactive=-32096,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=-32e3})(tR||(Zr.ErrorCodes=tR={}));var rR=class e extends Error{constructor(n,r,i){super(r),this.code=MT.number(n)?n:tR.UnknownErrorCode,this.data=i,Object.setPrototypeOf(this,e.prototype)}toJson(){let n={code:this.code,message:this.message};return this.data!==void 0&&(n.data=this.data),n}};Zr.ResponseError=rR;var Qu=class e{constructor(n){this.kind=n}static is(n){return n===e.auto||n===e.byName||n===e.byPosition}toString(){return this.kind}};Zr.ParameterStructures=Qu;Qu.auto=new Qu("auto");Qu.byPosition=new Qu("byPosition");Qu.byName=new Qu("byName");var Va=class{constructor(n,r){this.method=n,this.numberOfParams=r}get parameterStructures(){return Qu.auto}};Zr.AbstractMessageSignature=Va;var iR=class extends Va{constructor(n){super(n,0)}};Zr.RequestType0=iR;var oR=class extends Va{constructor(n,r=Qu.auto){super(n,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Zr.RequestType=oR;var aR=class extends Va{constructor(n,r=Qu.auto){super(n,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Zr.RequestType1=aR;var sR=class extends Va{constructor(n){super(n,2)}};Zr.RequestType2=sR;var cR=class extends Va{constructor(n){super(n,3)}};Zr.RequestType3=cR;var lR=class extends Va{constructor(n){super(n,4)}};Zr.RequestType4=lR;var uR=class extends Va{constructor(n){super(n,5)}};Zr.RequestType5=uR;var dR=class extends Va{constructor(n){super(n,6)}};Zr.RequestType6=dR;var fR=class extends Va{constructor(n){super(n,7)}};Zr.RequestType7=fR;var pR=class extends Va{constructor(n){super(n,8)}};Zr.RequestType8=pR;var mR=class extends Va{constructor(n){super(n,9)}};Zr.RequestType9=mR;var gR=class extends Va{constructor(n,r=Qu.auto){super(n,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Zr.NotificationType=gR;var yR=class extends Va{constructor(n){super(n,0)}};Zr.NotificationType0=yR;var hR=class extends Va{constructor(n,r=Qu.auto){super(n,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Zr.NotificationType1=hR;var TR=class extends Va{constructor(n){super(n,2)}};Zr.NotificationType2=TR;var SR=class extends Va{constructor(n){super(n,3)}};Zr.NotificationType3=SR;var _R=class extends Va{constructor(n){super(n,4)}};Zr.NotificationType4=_R;var xR=class extends Va{constructor(n){super(n,5)}};Zr.NotificationType5=xR;var bR=class extends Va{constructor(n){super(n,6)}};Zr.NotificationType6=bR;var CR=class extends Va{constructor(n){super(n,7)}};Zr.NotificationType7=CR;var DR=class extends Va{constructor(n){super(n,8)}};Zr.NotificationType8=DR;var ER=class extends Va{constructor(n){super(n,9)}};Zr.NotificationType9=ER;var vW;(function(e){function n(a){let c=a;return c&&MT.string(c.method)&&(MT.string(c.id)||MT.number(c.id))}e.isRequest=n;function r(a){let c=a;return c&&MT.string(c.method)&&a.id===void 0}e.isNotification=r;function i(a){let c=a;return c&&(c.result!==void 0||!!c.error)&&(MT.string(c.id)||MT.number(c.id)||c.id===null)}e.isResponse=i})(vW||(Zr.Message=vW={}))});var kR=Yt(Gy=>{"use strict";var FW;Object.defineProperty(Gy,"__esModule",{value:!0});Gy.LRUCache=Gy.LinkedMap=Gy.Touch=void 0;var Rl;(function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last})(Rl||(Gy.Touch=Rl={}));var Ik=class{constructor(){this[FW]="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(){return this._head?.value}get last(){return this._tail?.value}has(n){return this._map.has(n)}get(n,r=Rl.None){let i=this._map.get(n);if(i)return r!==Rl.None&&this.touch(i,r),i.value}set(n,r,i=Rl.None){let a=this._map.get(n);if(a)a.value=r,i!==Rl.None&&this.touch(a,i);else{switch(a={key:n,value:r,next:void 0,previous:void 0},i){case Rl.None:this.addItemLast(a);break;case Rl.First:this.addItemFirst(a);break;case Rl.Last:this.addItemLast(a);break;default:this.addItemLast(a);break}this._map.set(n,a),this._size++}return this}delete(n){return!!this.remove(n)}remove(n){let r=this._map.get(n);if(r)return this._map.delete(n),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let n=this._head;return this._map.delete(n.key),this.removeItem(n),this._size--,n.value}forEach(n,r){let i=this._state,a=this._head;for(;a;){if(r?n.bind(r)(a.value,a.key,this):n(a.value,a.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");a=a.next}}keys(){let n=this._state,r=this._head,i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==n)throw new Error("LinkedMap got modified during iteration.");if(r){let a={value:r.key,done:!1};return r=r.next,a}else return{value:void 0,done:!0}}};return i}values(){let n=this._state,r=this._head,i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==n)throw new Error("LinkedMap got modified during iteration.");if(r){let a={value:r.value,done:!1};return r=r.next,a}else return{value:void 0,done:!0}}};return i}entries(){let n=this._state,r=this._head,i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==n)throw new Error("LinkedMap got modified during iteration.");if(r){let a={value:[r.key,r.value],done:!1};return r=r.next,a}else return{value:void 0,done:!0}}};return i}[(FW=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(n){if(n>=this.size)return;if(n===0){this.clear();return}let r=this._head,i=this.size;for(;r&&i>n;)this._map.delete(r.key),r=r.next,i--;this._head=r,this._size=i,r&&(r.previous=void 0),this._state++}addItemFirst(n){if(!this._head&&!this._tail)this._tail=n;else if(this._head)n.next=this._head,this._head.previous=n;else throw new Error("Invalid list");this._head=n,this._state++}addItemLast(n){if(!this._head&&!this._tail)this._head=n;else if(this._tail)n.previous=this._tail,this._tail.next=n;else throw new Error("Invalid list");this._tail=n,this._state++}removeItem(n){if(n===this._head&&n===this._tail)this._head=void 0,this._tail=void 0;else if(n===this._head){if(!n.next)throw new Error("Invalid list");n.next.previous=void 0,this._head=n.next}else if(n===this._tail){if(!n.previous)throw new Error("Invalid list");n.previous.next=void 0,this._tail=n.previous}else{let r=n.next,i=n.previous;if(!r||!i)throw new Error("Invalid list");r.previous=i,i.next=r}n.next=void 0,n.previous=void 0,this._state++}touch(n,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Rl.First&&r!==Rl.Last)){if(r===Rl.First){if(n===this._head)return;let i=n.next,a=n.previous;n===this._tail?(a.next=void 0,this._tail=a):(i.previous=a,a.next=i),n.previous=void 0,n.next=this._head,this._head.previous=n,this._head=n,this._state++}else if(r===Rl.Last){if(n===this._tail)return;let i=n.next,a=n.previous;n===this._head?(i.previous=void 0,this._head=i):(i.previous=a,a.next=i),n.next=void 0,n.previous=this._tail,this._tail.next=n,this._tail=n,this._state++}}}toJSON(){let n=[];return this.forEach((r,i)=>{n.push([i,r])}),n}fromJSON(n){this.clear();for(let[r,i]of n)this.set(r,i)}};Gy.LinkedMap=Ik;var NR=class extends Ik{constructor(n,r=1){super(),this._limit=n,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(n){this._limit=n,this.checkTrim()}get ratio(){return this._ratio}set ratio(n){this._ratio=Math.min(Math.max(0,n),1),this.checkTrim()}get(n,r=Rl.AsNew){return super.get(n,r)}peek(n){return super.get(n,Rl.None)}set(n,r){return super.set(n,r,Rl.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Gy.LRUCache=NR});var LW=Yt(Lk=>{"use strict";Object.defineProperty(Lk,"__esModule",{value:!0});Lk.Disposable=void 0;var IW;(function(e){function n(r){return{dispose:r}}e.create=n})(IW||(Lk.Disposable=IW={}))});var $y=Yt(IR=>{"use strict";Object.defineProperty(IR,"__esModule",{value:!0});var vR;function FR(){if(vR===void 0)throw new Error("No runtime abstraction layer installed");return vR}(function(e){function n(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");vR=r}e.install=n})(FR||(FR={}));IR.default=FR});var Q_=Yt($_=>{"use strict";Object.defineProperty($_,"__esModule",{value:!0});$_.Emitter=$_.Event=void 0;var Yae=$y(),AW;(function(e){let n={dispose(){}};e.None=function(){return n}})(AW||($_.Event=AW={}));var LR=class{add(n,r=null,i){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(n),this._contexts.push(r),Array.isArray(i)&&i.push({dispose:()=>this.remove(n,r)})}remove(n,r=null){if(!this._callbacks)return;let i=!1;for(let a=0,c=this._callbacks.length;a<c;a++)if(this._callbacks[a]===n)if(this._contexts[a]===r){this._callbacks.splice(a,1),this._contexts.splice(a,1);return}else i=!0;if(i)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...n){if(!this._callbacks)return[];let r=[],i=this._callbacks.slice(0),a=this._contexts.slice(0);for(let c=0,u=i.length;c<u;c++)try{r.push(i[c].apply(a[c],n))}catch(f){(0,Yae.default)().console.error(f)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Ak=class e{constructor(n){this._options=n}get event(){return this._event||(this._event=(n,r,i)=>{this._callbacks||(this._callbacks=new LR),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(n,r);let a={dispose:()=>{this._callbacks&&(this._callbacks.remove(n,r),a.dispose=e._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(i)&&i.push(a),a}),this._event}fire(n){this._callbacks&&this._callbacks.invoke.call(this._callbacks,n)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};$_.Emitter=Ak;Ak._noop=function(){}});var Ok=Yt(Y_=>{"use strict";Object.defineProperty(Y_,"__esModule",{value:!0});Y_.CancellationTokenSource=Y_.CancellationToken=void 0;var Xae=$y(),Zae=G_(),AR=Q_(),wk;(function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:AR.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:AR.Event.None});function n(r){let i=r;return i&&(i===e.None||i===e.Cancelled||Zae.boolean(i.isCancellationRequested)&&!!i.onCancellationRequested)}e.is=n})(wk||(Y_.CancellationToken=wk={}));var ese=Object.freeze(function(e,n){let r=(0,Xae.default)().timer.setTimeout(e.bind(n),0);return{dispose(){r.dispose()}}}),Rk=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?ese:(this._emitter||(this._emitter=new AR.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},wR=class{get token(){return this._token||(this._token=new Rk),this._token}cancel(){this._token?this._token.cancel():this._token=wk.Cancelled}dispose(){this._token?this._token instanceof Rk&&this._token.dispose():this._token=wk.None}};Y_.CancellationTokenSource=wR});var wW=Yt(X_=>{"use strict";Object.defineProperty(X_,"__esModule",{value:!0});X_.SharedArrayReceiverStrategy=X_.SharedArraySenderStrategy=void 0;var nse=Ok(),ND;(function(e){e.Continue=0,e.Cancelled=1})(ND||(ND={}));var RR=class{constructor(){this.buffers=new Map}enableCancellation(n){if(n.id===null)return;let r=new SharedArrayBuffer(4),i=new Int32Array(r,0,1);i[0]=ND.Continue,this.buffers.set(n.id,r),n.$cancellationData=r}async sendCancellation(n,r){let i=this.buffers.get(r);if(i===void 0)return;let a=new Int32Array(i,0,1);Atomics.store(a,0,ND.Cancelled)}cleanup(n){this.buffers.delete(n)}dispose(){this.buffers.clear()}};X_.SharedArraySenderStrategy=RR;var OR=class{constructor(n){this.data=new Int32Array(n,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===ND.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},MR=class{constructor(n){this.token=new OR(n)}cancel(){}dispose(){}},BR=class{constructor(){this.kind="request"}createCancellationTokenSource(n){let r=n.$cancellationData;return r===void 0?new nse.CancellationTokenSource:new MR(r)}};X_.SharedArrayReceiverStrategy=BR});var JR=Yt(Mk=>{"use strict";Object.defineProperty(Mk,"__esModule",{value:!0});Mk.Semaphore=void 0;var tse=$y(),jR=class{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((r,i)=>{this._waiting.push({thunk:n,resolve:r,reject:i}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,tse.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=n.thunk();r instanceof Promise?r.then(i=>{this._active--,n.resolve(i),this.runNext()},i=>{this._active--,n.reject(i),this.runNext()}):(this._active--,n.resolve(r),this.runNext())}catch(r){this._active--,n.reject(r),this.runNext()}}};Mk.Semaphore=jR});var OW=Yt(Qy=>{"use strict";Object.defineProperty(Qy,"__esModule",{value:!0});Qy.ReadableStreamMessageReader=Qy.AbstractMessageReader=Qy.MessageReader=void 0;var UR=$y(),Z_=G_(),WR=Q_(),rse=JR(),RW;(function(e){function n(r){let i=r;return i&&Z_.func(i.listen)&&Z_.func(i.dispose)&&Z_.func(i.onError)&&Z_.func(i.onClose)&&Z_.func(i.onPartialMessage)}e.is=n})(RW||(Qy.MessageReader=RW={}));var Bk=class{constructor(){this.errorEmitter=new WR.Emitter,this.closeEmitter=new WR.Emitter,this.partialMessageEmitter=new WR.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(n){this.errorEmitter.fire(this.asError(n))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(n){this.partialMessageEmitter.fire(n)}asError(n){return n instanceof Error?n:new Error(`Reader received error. Reason: ${Z_.string(n.message)?n.message:"unknown"}`)}};Qy.AbstractMessageReader=Bk;var KR;(function(e){function n(r){let i,a,c,u=new Map,f,m=new Map;if(r===void 0||typeof r=="string")i=r??"utf-8";else{if(i=r.charset??"utf-8",r.contentDecoder!==void 0&&(c=r.contentDecoder,u.set(c.name,c)),r.contentDecoders!==void 0)for(let y of r.contentDecoders)u.set(y.name,y);if(r.contentTypeDecoder!==void 0&&(f=r.contentTypeDecoder,m.set(f.name,f)),r.contentTypeDecoders!==void 0)for(let y of r.contentTypeDecoders)m.set(y.name,y)}return f===void 0&&(f=(0,UR.default)().applicationJson.decoder,m.set(f.name,f)),{charset:i,contentDecoder:c,contentDecoders:u,contentTypeDecoder:f,contentTypeDecoders:m}}e.fromOptions=n})(KR||(KR={}));var qR=class extends Bk{constructor(n,r){super(),this.readable=n,this.options=KR.fromOptions(r),this.buffer=(0,UR.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new rse.Semaphore(1)}set partialMessageTimeout(n){this._partialMessageTimeout=n}get partialMessageTimeout(){return this._partialMessageTimeout}listen(n){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=n;let r=this.readable.onData(i=>{this.onData(i)});return this.readable.onError(i=>this.fireError(i)),this.readable.onClose(()=>this.fireClose()),r}onData(n){try{for(this.buffer.append(n);;){if(this.nextMessageLength===-1){let i=this.buffer.tryReadHeaders(!0);if(!i)return;let a=i.get("content-length");if(!a){this.fireError(new Error(`Header must provide a Content-Length property. ${JSON.stringify(Object.fromEntries(i))}`));return}let c=parseInt(a);if(isNaN(c)){this.fireError(new Error(`Content-Length value must be a number. Got ${a}`));return}this.nextMessageLength=c}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let i=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,a=await this.options.contentTypeDecoder.decode(i,this.options);this.callback(a)}).catch(i=>{this.fireError(i)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,UR.default)().timer.setTimeout((n,r)=>{this.partialMessageTimer=void 0,n===this.messageToken&&(this.firePartialMessage({messageToken:n,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Qy.ReadableStreamMessageReader=qR});var WW=Yt(Yy=>{"use strict";Object.defineProperty(Yy,"__esModule",{value:!0});Yy.WriteableStreamMessageWriter=Yy.AbstractMessageWriter=Yy.MessageWriter=void 0;var MW=$y(),kD=G_(),ise=JR(),BW=Q_(),ose="Content-Length: ",jW=`\r `,JW;(function(e){function n(r){let i=r;return i&&kD.func(i.dispose)&&kD.func(i.onClose)&&kD.func(i.onError)&&kD.func(i.write)}e.is=n})(JW||(Yy.MessageWriter=JW={}));var jk=class{constructor(){this.errorEmitter=new BW.Emitter,this.closeEmitter=new BW.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(n,r,i){this.errorEmitter.fire([this.asError(n),r,i])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(n){return n instanceof Error?n:new Error(`Writer received error. Reason: ${kD.string(n.message)?n.message:"unknown"}`)}};Yy.AbstractMessageWriter=jk;var VR;(function(e){function n(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,MW.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,MW.default)().applicationJson.encoder}}e.fromOptions=n})(VR||(VR={}));var HR=class extends jk{constructor(n,r){super(),this.writable=n,this.options=VR.fromOptions(r),this.errorCount=0,this.writeSemaphore=new ise.Semaphore(1),this.writable.onError(i=>this.fireError(i)),this.writable.onClose(()=>this.fireClose())}async write(n){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(n,this.options).then(i=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(i):i).then(i=>{let a=[];return a.push(ose,i.byteLength.toString(),jW),a.push(jW),this.doWrite(n,a,i)},i=>{throw this.fireError(i),i}))}async doWrite(n,r,i){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(i)}catch(a){return this.handleError(a,n),Promise.reject(a)}}handleError(n,r){this.errorCount++,this.fireError(n,r,this.errorCount)}end(){this.writable.end()}};Yy.WriteableStreamMessageWriter=HR});var UW=Yt(Jk=>{"use strict";Object.defineProperty(Jk,"__esModule",{value:!0});Jk.AbstractMessageBuffer=void 0;var ase=13,sse=10,cse=`\r `,zR=class{constructor(n="utf-8"){this._encoding=n,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(n){let r=typeof n=="string"?this.fromString(n,this._encoding):n;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(n=!1){if(this._chunks.length===0)return;let r=0,i=0,a=0,c=0;e:for(;i<this._chunks.length;){let y=this._chunks[i];for(a=0;a<y.length;){switch(y[a]){case ase:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case sse:switch(r){case 1:r=2;break;case 3:r=4,a++;break e;default:r=0}break;default:r=0}a++}c+=y.byteLength,i++}if(r!==4)return;let u=this._read(c+a),f=new Map,m=this.toString(u,"ascii").split(cse);if(m.length<2)return f;for(let y=0;y<m.length-2;y++){let g=m[y],_=g.indexOf(":");if(_===-1)throw new Error(`Message header must separate key and value using ':' ${g}`);let x=g.substr(0,_),C=g.substr(_+1).trim();f.set(n?x.toLowerCase():x,C)}return f}tryReadBody(n){if(!(this._totalLength<n))return this._read(n)}get numberOfBytes(){return this._totalLength}_read(n){if(n===0)return this.emptyBuffer();if(n>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===n){let c=this._chunks[0];return this._chunks.shift(),this._totalLength-=n,this.asNative(c)}if(this._chunks[0].byteLength>n){let c=this._chunks[0],u=this.asNative(c,n);return this._chunks[0]=c.slice(n),this._totalLength-=n,u}let r=this.allocNative(n),i=0,a=0;for(;n>0;){let c=this._chunks[a];if(c.byteLength>n){let u=c.slice(0,n);r.set(u,i),i+=n,this._chunks[a]=c.slice(n),this._totalLength-=n,n-=n}else r.set(c,i),i+=c.byteLength,this._chunks.shift(),this._totalLength-=c.byteLength,n-=c.byteLength}return r}};Jk.AbstractMessageBuffer=zR});var zW=Yt(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.createMessageConnection=Ki.ConnectionOptions=Ki.MessageStrategy=Ki.CancellationStrategy=Ki.CancellationSenderStrategy=Ki.CancellationReceiverStrategy=Ki.RequestCancellationReceiverStrategy=Ki.IdCancellationReceiverStrategy=Ki.ConnectionStrategy=Ki.ConnectionError=Ki.ConnectionErrors=Ki.LogTraceNotification=Ki.SetTraceNotification=Ki.TraceFormat=Ki.TraceValues=Ki.Trace=Ki.NullLogger=Ki.ProgressType=Ki.ProgressToken=void 0;var KW=$y(),bs=G_(),Si=PR(),qW=kR(),vD=Q_(),GR=Ok(),LD;(function(e){e.type=new Si.NotificationType("$/cancelRequest")})(LD||(LD={}));var $R;(function(e){function n(r){return typeof r=="string"||typeof r=="number"}e.is=n})($R||(Ki.ProgressToken=$R={}));var FD;(function(e){e.type=new Si.NotificationType("$/progress")})(FD||(FD={}));var QR=class{constructor(){}};Ki.ProgressType=QR;var YR;(function(e){function n(r){return bs.func(r)}e.is=n})(YR||(YR={}));Ki.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var na;(function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Compact=2]="Compact",e[e.Verbose=3]="Verbose"})(na||(Ki.Trace=na={}));var VW;(function(e){e.Off="off",e.Messages="messages",e.Compact="compact",e.Verbose="verbose"})(VW||(Ki.TraceValues=VW={}));(function(e){function n(i){if(!bs.string(i))return e.Off;switch(i=i.toLowerCase(),i){case"off":return e.Off;case"messages":return e.Messages;case"compact":return e.Compact;case"verbose":return e.Verbose;default:return e.Off}}e.fromString=n;function r(i){switch(i){case e.Off:return"off";case e.Messages:return"messages";case e.Compact:return"compact";case e.Verbose:return"verbose";default:return"off"}}e.toString=r})(na||(Ki.Trace=na={}));var wd;(function(e){e.Text="text",e.JSON="json"})(wd||(Ki.TraceFormat=wd={}));(function(e){function n(r){return bs.string(r)?(r=r.toLowerCase(),r==="json"?e.JSON:e.Text):e.Text}e.fromString=n})(wd||(Ki.TraceFormat=wd={}));var XR;(function(e){e.type=new Si.NotificationType("$/setTrace")})(XR||(Ki.SetTraceNotification=XR={}));var Wk;(function(e){e.type=new Si.NotificationType("$/logTrace")})(Wk||(Ki.LogTraceNotification=Wk={}));var ID;(function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"})(ID||(Ki.ConnectionErrors=ID={}));var ex=class e extends Error{constructor(n,r){super(r),this.code=n,Object.setPrototypeOf(this,e.prototype)}};Ki.ConnectionError=ex;var ZR;(function(e){function n(r){let i=r;return i&&bs.func(i.cancelUndispatched)}e.is=n})(ZR||(Ki.ConnectionStrategy=ZR={}));var Uk;(function(e){function n(r){let i=r;return i&&(i.kind===void 0||i.kind==="id")&&bs.func(i.createCancellationTokenSource)&&(i.dispose===void 0||bs.func(i.dispose))}e.is=n})(Uk||(Ki.IdCancellationReceiverStrategy=Uk={}));var eO;(function(e){function n(r){let i=r;return i&&i.kind==="request"&&bs.func(i.createCancellationTokenSource)&&(i.dispose===void 0||bs.func(i.dispose))}e.is=n})(eO||(Ki.RequestCancellationReceiverStrategy=eO={}));var Kk;(function(e){e.Message=Object.freeze({createCancellationTokenSource(r){return new GR.CancellationTokenSource}});function n(r){return Uk.is(r)||eO.is(r)}e.is=n})(Kk||(Ki.CancellationReceiverStrategy=Kk={}));var qk;(function(e){e.Message=Object.freeze({sendCancellation(r,i){return r.sendNotification(LD.type,{id:i})},cleanup(r){}});function n(r){let i=r;return i&&bs.func(i.sendCancellation)&&bs.func(i.cleanup)}e.is=n})(qk||(Ki.CancellationSenderStrategy=qk={}));var Vk;(function(e){e.Message=Object.freeze({receiver:Kk.Message,sender:qk.Message});function n(r){let i=r;return i&&Kk.is(i.receiver)&&qk.is(i.sender)}e.is=n})(Vk||(Ki.CancellationStrategy=Vk={}));var Hk;(function(e){function n(r){let i=r;return i&&bs.func(i.handleMessage)}e.is=n})(Hk||(Ki.MessageStrategy=Hk={}));var HW;(function(e){function n(r){let i=r;return i&&(Vk.is(i.cancellationStrategy)||ZR.is(i.connectionStrategy)||Hk.is(i.messageStrategy))}e.is=n})(HW||(Ki.ConnectionOptions=HW={}));var ip;(function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"})(ip||(ip={}));function lse(e,n,r,i){let a=r!==void 0?r:Ki.NullLogger,c=0,u=0,f=0,m="2.0",y,g=new Map,_,x=new Map,C=new Map,F,T=new qW.LinkedMap,W=new Map,I=new Set,M=new Map,j=na.Off,A=wd.Text,V,fe=ip.New,ye=new vD.Emitter,ge=new vD.Emitter,ue=new vD.Emitter,De=new vD.Emitter,ve=new vD.Emitter,Ce=i&&i.cancellationStrategy?i.cancellationStrategy:Vk.Message;function pe(ee){if(ee===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+ee.toString()}function Re(ee){return ee===null?"res-unknown-"+(++f).toString():"res-"+ee.toString()}function se(){return"not-"+(++u).toString()}function Xe(ee,_e){Si.Message.isRequest(_e)?ee.set(pe(_e.id),_e):Si.Message.isResponse(_e)?ee.set(Re(_e.id),_e):ee.set(se(),_e)}function ne(ee){}function Se(){return fe===ip.Listening}function xn(){return fe===ip.Closed}function tt(){return fe===ip.Disposed}function Pe(){(fe===ip.New||fe===ip.Listening)&&(fe=ip.Closed,ge.fire(void 0))}function Sn(ee){ye.fire([ee,void 0,void 0])}function Ye(ee){ye.fire(ee)}e.onClose(Pe),e.onError(Sn),n.onClose(Pe),n.onError(Ye);function wn(){F||T.size===0||(F=(0,KW.default)().timer.setImmediate(()=>{F=void 0,Zn()}))}function Ht(ee){Si.Message.isRequest(ee)?le(ee):Si.Message.isNotification(ee)?Mn(ee):Si.Message.isResponse(ee)?Kn(ee):it(ee)}function Zn(){if(T.size===0)return;let ee=T.shift();try{let _e=i?.messageStrategy;Hk.is(_e)?_e.handleMessage(ee,Ht):Ht(ee)}finally{wn()}}let en=ee=>{try{if(Si.Message.isNotification(ee)&&ee.method===LD.type.method){let _e=ee.params.id,Te=pe(_e),te=T.get(Te);if(Si.Message.isRequest(te)){let K=i?.connectionStrategy,de=K&&K.cancelUndispatched?K.cancelUndispatched(te,ne):void 0;if(de&&(de.error!==void 0||de.result!==void 0)){T.delete(Te),M.delete(_e),de.id=te.id,vt(de,ee.method,Date.now()),n.write(de).catch(()=>a.error("Sending response for canceled message failed."));return}}let rn=M.get(_e);if(rn!==void 0){rn.cancel(),At(ee);return}else I.add(_e)}Xe(T,ee)}finally{wn()}};function le(ee){if(tt())return;function _e(Nn,Vn,tn){let Kr={jsonrpc:m,id:ee.id};Nn instanceof Si.ResponseError?Kr.error=Nn.toJson():Kr.result=Nn===void 0?null:Nn,vt(Kr,Vn,tn),n.write(Kr).catch(()=>a.error("Sending response failed."))}function Te(Nn,Vn,tn){let Kr={jsonrpc:m,id:ee.id,error:Nn.toJson()};vt(Kr,Vn,tn),n.write(Kr).catch(()=>a.error("Sending response failed."))}function te(Nn,Vn,tn){Nn===void 0&&(Nn=null);let Kr={jsonrpc:m,id:ee.id,result:Nn};vt(Kr,Vn,tn),n.write(Kr).catch(()=>a.error("Sending response failed."))}bn(ee);let rn=g.get(ee.method),K,de;rn&&(K=rn.type,de=rn.handler);let $n=Date.now();if(de||y){let Nn=ee.id??String(Date.now()),Vn=Uk.is(Ce.receiver)?Ce.receiver.createCancellationTokenSource(Nn):Ce.receiver.createCancellationTokenSource(ee);ee.id!==null&&I.has(ee.id)&&Vn.cancel(),ee.id!==null&&M.set(Nn,Vn);try{let tn;if(de)if(ee.params===void 0){if(K!==void 0&&K.numberOfParams!==0){Te(new Si.ResponseError(Si.ErrorCodes.InvalidParams,`Request ${ee.method} defines ${K.numberOfParams} params but received none.`),ee.method,$n);return}tn=de(Vn.token)}else if(Array.isArray(ee.params)){if(K!==void 0&&K.parameterStructures===Si.ParameterStructures.byName){Te(new Si.ResponseError(Si.ErrorCodes.InvalidParams,`Request ${ee.method} defines parameters by name but received parameters by position`),ee.method,$n);return}tn=de(...ee.params,Vn.token)}else{if(K!==void 0&&K.parameterStructures===Si.ParameterStructures.byPosition){Te(new Si.ResponseError(Si.ErrorCodes.InvalidParams,`Request ${ee.method} defines parameters by position but received parameters by name`),ee.method,$n);return}tn=de(ee.params,Vn.token)}else y&&(tn=y(ee.method,ee.params,Vn.token));let Kr=tn;tn?Kr.then?Kr.then(kt=>{M.delete(Nn),_e(kt,ee.method,$n)},kt=>{M.delete(Nn),kt instanceof Si.ResponseError?Te(kt,ee.method,$n):kt&&bs.string(kt.message)?Te(new Si.ResponseError(Si.ErrorCodes.InternalError,`Request ${ee.method} failed with message: ${kt.message}`),ee.method,$n):Te(new Si.ResponseError(Si.ErrorCodes.InternalError,`Request ${ee.method} failed unexpectedly without providing any details.`),ee.method,$n)}):(M.delete(Nn),_e(tn,ee.method,$n)):(M.delete(Nn),te(tn,ee.method,$n))}catch(tn){M.delete(Nn),tn instanceof Si.ResponseError?_e(tn,ee.method,$n):tn&&bs.string(tn.message)?Te(new Si.ResponseError(Si.ErrorCodes.InternalError,`Request ${ee.method} failed with message: ${tn.message}`),ee.method,$n):Te(new Si.ResponseError(Si.ErrorCodes.InternalError,`Request ${ee.method} failed unexpectedly without providing any details.`),ee.method,$n)}}else Te(new Si.ResponseError(Si.ErrorCodes.MethodNotFound,`Unhandled method ${ee.method}`),ee.method,$n)}function Kn(ee){if(!tt())if(ee.id===null)ee.error?a.error(`Received response message without id: Error is: ${JSON.stringify(ee.error,void 0,4)}`):a.error("Received response message without id. No further error information provided.");else{let _e=ee.id,Te=W.get(_e);if(Gr(ee,Te),Te!==void 0){W.delete(_e);try{if(ee.error){let te=ee.error;Te.reject(new Si.ResponseError(te.code,te.message,te.data))}else if(ee.result!==void 0)Te.resolve(ee.result);else throw new Error("Should never happen.")}catch(te){te.message?a.error(`Response handler '${Te.method}' failed with message: ${te.message}`):a.error(`Response handler '${Te.method}' failed unexpectedly.`)}}}}function Mn(ee){if(tt())return;let _e,Te;if(ee.method===LD.type.method){let te=ee.params.id;I.delete(te),At(ee);return}else{let te=x.get(ee.method);te&&(Te=te.handler,_e=te.type)}if(Te||_)try{if(At(ee),Te)if(ee.params===void 0)_e!==void 0&&_e.numberOfParams!==0&&_e.parameterStructures!==Si.ParameterStructures.byName&&a.error(`Notification ${ee.method} defines ${_e.numberOfParams} params but received none.`),Te();else if(Array.isArray(ee.params)){let te=ee.params;ee.method===FD.type.method&&te.length===2&&$R.is(te[0])?Te({token:te[0],value:te[1]}):(_e!==void 0&&(_e.parameterStructures===Si.ParameterStructures.byName&&a.error(`Notification ${ee.method} defines parameters by name but received parameters by position`),_e.numberOfParams!==ee.params.length&&a.error(`Notification ${ee.method} defines ${_e.numberOfParams} params but received ${te.length} arguments`)),Te(...te))}else _e!==void 0&&_e.parameterStructures===Si.ParameterStructures.byPosition&&a.error(`Notification ${ee.method} defines parameters by position but received parameters by name`),Te(ee.params);else _&&_(ee.method,ee.params)}catch(te){te.message?a.error(`Notification handler '${ee.method}' failed with message: ${te.message}`):a.error(`Notification handler '${ee.method}' failed unexpectedly.`)}else ue.fire(ee)}function it(ee){if(!ee){a.error("Received empty message.");return}a.error(`Received message which is neither a response nor a notification message: ${JSON.stringify(ee,null,4)}`);let _e=ee;if(bs.string(_e.id)||bs.number(_e.id)){let Te=_e.id,te=W.get(Te);te&&te.reject(new Error("The received response has neither a result nor an error property."))}}function Tt(ee){if(ee!=null)switch(j){case na.Verbose:return JSON.stringify(ee,null,4);case na.Compact:return JSON.stringify(ee);default:return}}function Ft(ee){if(!(j===na.Off||!V))if(A===wd.Text){let _e;(j===na.Verbose||j===na.Compact)&&ee.params&&(_e=`Params: ${Tt(ee.params)} `),V.log(`Sending request '${ee.method} - (${ee.id})'.`,_e)}else $e("send-request",ee)}function Ot(ee){if(!(j===na.Off||!V))if(A===wd.Text){let _e;(j===na.Verbose||j===na.Compact)&&(ee.params?_e=`Params: ${Tt(ee.params)} `:_e=`No parameters provided. `),V.log(`Sending notification '${ee.method}'.`,_e)}else $e("send-notification",ee)}function vt(ee,_e,Te){if(!(j===na.Off||!V))if(A===wd.Text){let te;(j===na.Verbose||j===na.Compact)&&(ee.error&&ee.error.data?te=`Error data: ${Tt(ee.error.data)} `:ee.result?te=`Result: ${Tt(ee.result)} `:ee.error===void 0&&(te=`No result returned. `)),V.log(`Sending response '${_e} - (${ee.id})'. Processing request took ${Date.now()-Te}ms`,te)}else $e("send-response",ee)}function bn(ee){if(!(j===na.Off||!V))if(A===wd.Text){let _e;(j===na.Verbose||j===na.Compact)&&ee.params&&(_e=`Params: ${Tt(ee.params)} `),V.log(`Received request '${ee.method} - (${ee.id})'.`,_e)}else $e("receive-request",ee)}function At(ee){if(!(j===na.Off||!V||ee.method===Wk.type.method))if(A===wd.Text){let _e;(j===na.Verbose||j===na.Compact)&&(ee.params?_e=`Params: ${Tt(ee.params)} `:_e=`No parameters provided. `),V.log(`Received notification '${ee.method}'.`,_e)}else $e("receive-notification",ee)}function Gr(ee,_e){if(!(j===na.Off||!V))if(A===wd.Text){let Te;if((j===na.Verbose||j===na.Compact)&&(ee.error&&ee.error.data?Te=`Error data: ${Tt(ee.error.data)} `:ee.result?Te=`Result: ${Tt(ee.result)} `:ee.error===void 0&&(Te=`No result returned. `)),_e){let te=ee.error?` Request failed: ${ee.error.message} (${ee.error.code}).`:"";V.log(`Received response '${_e.method} - (${ee.id})' in ${Date.now()-_e.timerStart}ms.${te}`,Te)}else V.log(`Received response ${ee.id} without active response promise.`,Te)}else $e("receive-response",ee)}function $e(ee,_e){if(!V||j===na.Off)return;let Te={isLSPMessage:!0,type:ee,message:_e,timestamp:Date.now()};V.log(Te)}function ot(){if(xn())throw new ex(ID.Closed,"Connection is closed.");if(tt())throw new ex(ID.Disposed,"Connection is disposed.")}function at(){if(Se())throw new ex(ID.AlreadyListening,"Connection is already listening")}function Zt(){if(!Se())throw new Error("Call listen() first.")}function gr(ee){return ee===void 0?null:ee}function Pr(ee){if(ee!==null)return ee}function rr(ee){return ee!=null&&!Array.isArray(ee)&&typeof ee=="object"}function Le(ee,_e){switch(ee){case Si.ParameterStructures.auto:return rr(_e)?Pr(_e):[gr(_e)];case Si.ParameterStructures.byName:if(!rr(_e))throw new Error("Received parameters by name but param is not an object literal.");return Pr(_e);case Si.ParameterStructures.byPosition:return[gr(_e)];default:throw new Error(`Unknown parameter structure ${ee.toString()}`)}}function Je(ee,_e){let Te,te=ee.numberOfParams;switch(te){case 0:Te=void 0;break;case 1:Te=Le(ee.parameterStructures,_e[0]);break;default:Te=[];for(let rn=0;rn<_e.length&&rn<te;rn++)Te.push(gr(_e[rn]));if(_e.length<te)for(let rn=_e.length;rn<te;rn++)Te.push(null);break}return Te}let Qe={sendNotification:(ee,..._e)=>{ot();let Te,te;if(bs.string(ee)){Te=ee;let K=_e[0],de=0,$n=Si.ParameterStructures.auto;Si.ParameterStructures.is(K)&&(de=1,$n=K);let Nn=_e.length,Vn=Nn-de;switch(Vn){case 0:te=void 0;break;case 1:te=Le($n,_e[de]);break;default:if($n===Si.ParameterStructures.byName)throw new Error(`Received ${Vn} parameters for 'by Name' notification parameter structure.`);te=_e.slice(de,Nn).map(tn=>gr(tn));break}}else{let K=_e;Te=ee.method,te=Je(ee,K)}let rn={jsonrpc:m,method:Te,params:te};return Ot(rn),n.write(rn).catch(K=>{throw a.error("Sending notification failed."),K})},onNotification:(ee,_e)=>{ot();let Te;return bs.func(ee)?_=ee:_e&&(bs.string(ee)?(Te=ee,x.set(ee,{type:void 0,handler:_e})):(Te=ee.method,x.set(ee.method,{type:ee,handler:_e}))),{dispose:()=>{Te!==void 0?x.delete(Te):_=void 0}}},onProgress:(ee,_e,Te)=>{if(C.has(_e))throw new Error(`Progress handler for token ${_e} already registered`);return C.set(_e,Te),{dispose:()=>{C.delete(_e)}}},sendProgress:(ee,_e,Te)=>Qe.sendNotification(FD.type,{token:_e,value:Te}),onUnhandledProgress:De.event,sendRequest:(ee,..._e)=>{ot(),Zt();let Te,te,rn;if(bs.string(ee)){Te=ee;let Nn=_e[0],Vn=_e[_e.length-1],tn=0,Kr=Si.ParameterStructures.auto;Si.ParameterStructures.is(Nn)&&(tn=1,Kr=Nn);let kt=_e.length;GR.CancellationToken.is(Vn)&&(kt=kt-1,rn=Vn);let Cr=kt-tn;switch(Cr){case 0:te=void 0;break;case 1:te=Le(Kr,_e[tn]);break;default:if(Kr===Si.ParameterStructures.byName)throw new Error(`Received ${Cr} parameters for 'by Name' request parameter structure.`);te=_e.slice(tn,kt).map(Pi=>gr(Pi));break}}else{let Nn=_e;Te=ee.method,te=Je(ee,Nn);let Vn=ee.numberOfParams;rn=GR.CancellationToken.is(Nn[Vn])?Nn[Vn]:void 0}let K=c++,de;rn&&(de=rn.onCancellationRequested(()=>{let Nn=Ce.sender.sendCancellation(Qe,K);return Nn===void 0?(a.log(`Received no promise from cancellation strategy when cancelling id ${K}`),Promise.resolve()):Nn.catch(()=>{a.log(`Sending cancellation messages for id ${K} failed`)})}));let $n={jsonrpc:m,id:K,method:Te,params:te};return Ft($n),typeof Ce.sender.enableCancellation=="function"&&Ce.sender.enableCancellation($n),new Promise(async(Nn,Vn)=>{let tn=Cr=>{Nn(Cr),Ce.sender.cleanup(K),de?.dispose()},Kr=Cr=>{Vn(Cr),Ce.sender.cleanup(K),de?.dispose()},kt={method:Te,timerStart:Date.now(),resolve:tn,reject:Kr};try{await n.write($n),W.set(K,kt)}catch(Cr){throw a.error("Sending request failed."),kt.reject(new Si.ResponseError(Si.ErrorCodes.MessageWriteError,Cr.message?Cr.message:"Unknown reason")),Cr}})},onRequest:(ee,_e)=>{ot();let Te=null;return YR.is(ee)?(Te=void 0,y=ee):bs.string(ee)?(Te=null,_e!==void 0&&(Te=ee,g.set(ee,{handler:_e,type:void 0}))):_e!==void 0&&(Te=ee.method,g.set(ee.method,{type:ee,handler:_e})),{dispose:()=>{Te!==null&&(Te!==void 0?g.delete(Te):y=void 0)}}},hasPendingResponse:()=>W.size>0,trace:async(ee,_e,Te)=>{let te=!1,rn=wd.Text;Te!==void 0&&(bs.boolean(Te)?te=Te:(te=Te.sendNotification||!1,rn=Te.traceFormat||wd.Text)),j=ee,A=rn,j===na.Off?V=void 0:V=_e,te&&!xn()&&!tt()&&await Qe.sendNotification(XR.type,{value:na.toString(ee)})},onError:ye.event,onClose:ge.event,onUnhandledNotification:ue.event,onDispose:ve.event,end:()=>{n.end()},dispose:()=>{if(tt())return;fe=ip.Disposed,ve.fire(void 0);let ee=new Si.ResponseError(Si.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let _e of W.values())_e.reject(ee);W=new Map,M=new Map,I=new Set,T=new qW.LinkedMap,bs.func(n.dispose)&&n.dispose(),bs.func(e.dispose)&&e.dispose()},listen:()=>{ot(),at(),fe=ip.Listening,e.listen(en)},inspect:()=>{(0,KW.default)().console.log("inspect")}};return Qe.onNotification(Wk.type,ee=>{if(j===na.Off||!V)return;let _e=j===na.Verbose||j===na.Compact;V.log(ee.message,_e?ee.verbose:void 0)}),Qe.onNotification(FD.type,ee=>{let _e=C.get(ee.token);_e?_e(ee.value):De.fire(ee)}),Qe}Ki.createMessageConnection=lse});var zk=Yt(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.ProgressType=Xn.ProgressToken=Xn.createMessageConnection=Xn.NullLogger=Xn.ConnectionOptions=Xn.ConnectionStrategy=Xn.AbstractMessageBuffer=Xn.WriteableStreamMessageWriter=Xn.AbstractMessageWriter=Xn.MessageWriter=Xn.ReadableStreamMessageReader=Xn.AbstractMessageReader=Xn.MessageReader=Xn.SharedArrayReceiverStrategy=Xn.SharedArraySenderStrategy=Xn.CancellationToken=Xn.CancellationTokenSource=Xn.Emitter=Xn.Event=Xn.Disposable=Xn.LRUCache=Xn.Touch=Xn.LinkedMap=Xn.ParameterStructures=Xn.NotificationType9=Xn.NotificationType8=Xn.NotificationType7=Xn.NotificationType6=Xn.NotificationType5=Xn.NotificationType4=Xn.NotificationType3=Xn.NotificationType2=Xn.NotificationType1=Xn.NotificationType0=Xn.NotificationType=Xn.ErrorCodes=Xn.ResponseError=Xn.RequestType9=Xn.RequestType8=Xn.RequestType7=Xn.RequestType6=Xn.RequestType5=Xn.RequestType4=Xn.RequestType3=Xn.RequestType2=Xn.RequestType1=Xn.RequestType0=Xn.RequestType=Xn.Message=Xn.RAL=void 0;Xn.MessageStrategy=Xn.CancellationStrategy=Xn.CancellationSenderStrategy=Xn.CancellationReceiverStrategy=Xn.ConnectionError=Xn.ConnectionErrors=Xn.LogTraceNotification=Xn.SetTraceNotification=Xn.TraceFormat=Xn.TraceValues=Xn.Trace=void 0;var Ba=PR();Object.defineProperty(Xn,"Message",{enumerable:!0,get:function(){return Ba.Message}});Object.defineProperty(Xn,"RequestType",{enumerable:!0,get:function(){return Ba.RequestType}});Object.defineProperty(Xn,"RequestType0",{enumerable:!0,get:function(){return Ba.RequestType0}});Object.defineProperty(Xn,"RequestType1",{enumerable:!0,get:function(){return Ba.RequestType1}});Object.defineProperty(Xn,"RequestType2",{enumerable:!0,get:function(){return Ba.RequestType2}});Object.defineProperty(Xn,"RequestType3",{enumerable:!0,get:function(){return Ba.RequestType3}});Object.defineProperty(Xn,"RequestType4",{enumerable:!0,get:function(){return Ba.RequestType4}});Object.defineProperty(Xn,"RequestType5",{enumerable:!0,get:function(){return Ba.RequestType5}});Object.defineProperty(Xn,"RequestType6",{enumerable:!0,get:function(){return Ba.RequestType6}});Object.defineProperty(Xn,"RequestType7",{enumerable:!0,get:function(){return Ba.RequestType7}});Object.defineProperty(Xn,"RequestType8",{enumerable:!0,get:function(){return Ba.RequestType8}});Object.defineProperty(Xn,"RequestType9",{enumerable:!0,get:function(){return Ba.RequestType9}});Object.defineProperty(Xn,"ResponseError",{enumerable:!0,get:function(){return Ba.ResponseError}});Object.defineProperty(Xn,"ErrorCodes",{enumerable:!0,get:function(){return Ba.ErrorCodes}});Object.defineProperty(Xn,"NotificationType",{enumerable:!0,get:function(){return Ba.NotificationType}});Object.defineProperty(Xn,"NotificationType0",{enumerable:!0,get:function(){return Ba.NotificationType0}});Object.defineProperty(Xn,"NotificationType1",{enumerable:!0,get:function(){return Ba.NotificationType1}});Object.defineProperty(Xn,"NotificationType2",{enumerable:!0,get:function(){return Ba.NotificationType2}});Object.defineProperty(Xn,"NotificationType3",{enumerable:!0,get:function(){return Ba.NotificationType3}});Object.defineProperty(Xn,"NotificationType4",{enumerable:!0,get:function(){return Ba.NotificationType4}});Object.defineProperty(Xn,"NotificationType5",{enumerable:!0,get:function(){return Ba.NotificationType5}});Object.defineProperty(Xn,"NotificationType6",{enumerable:!0,get:function(){return Ba.NotificationType6}});Object.defineProperty(Xn,"NotificationType7",{enumerable:!0,get:function(){return Ba.NotificationType7}});Object.defineProperty(Xn,"NotificationType8",{enumerable:!0,get:function(){return Ba.NotificationType8}});Object.defineProperty(Xn,"NotificationType9",{enumerable:!0,get:function(){return Ba.NotificationType9}});Object.defineProperty(Xn,"ParameterStructures",{enumerable:!0,get:function(){return Ba.ParameterStructures}});var nO=kR();Object.defineProperty(Xn,"LinkedMap",{enumerable:!0,get:function(){return nO.LinkedMap}});Object.defineProperty(Xn,"LRUCache",{enumerable:!0,get:function(){return nO.LRUCache}});Object.defineProperty(Xn,"Touch",{enumerable:!0,get:function(){return nO.Touch}});var use=LW();Object.defineProperty(Xn,"Disposable",{enumerable:!0,get:function(){return use.Disposable}});var GW=Q_();Object.defineProperty(Xn,"Event",{enumerable:!0,get:function(){return GW.Event}});Object.defineProperty(Xn,"Emitter",{enumerable:!0,get:function(){return GW.Emitter}});var $W=Ok();Object.defineProperty(Xn,"CancellationTokenSource",{enumerable:!0,get:function(){return $W.CancellationTokenSource}});Object.defineProperty(Xn,"CancellationToken",{enumerable:!0,get:function(){return $W.CancellationToken}});var QW=wW();Object.defineProperty(Xn,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return QW.SharedArraySenderStrategy}});Object.defineProperty(Xn,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return QW.SharedArrayReceiverStrategy}});var tO=OW();Object.defineProperty(Xn,"MessageReader",{enumerable:!0,get:function(){return tO.MessageReader}});Object.defineProperty(Xn,"AbstractMessageReader",{enumerable:!0,get:function(){return tO.AbstractMessageReader}});Object.defineProperty(Xn,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return tO.ReadableStreamMessageReader}});var rO=WW();Object.defineProperty(Xn,"MessageWriter",{enumerable:!0,get:function(){return rO.MessageWriter}});Object.defineProperty(Xn,"AbstractMessageWriter",{enumerable:!0,get:function(){return rO.AbstractMessageWriter}});Object.defineProperty(Xn,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return rO.WriteableStreamMessageWriter}});var dse=UW();Object.defineProperty(Xn,"AbstractMessageBuffer",{enumerable:!0,get:function(){return dse.AbstractMessageBuffer}});var dl=zW();Object.defineProperty(Xn,"ConnectionStrategy",{enumerable:!0,get:function(){return dl.ConnectionStrategy}});Object.defineProperty(Xn,"ConnectionOptions",{enumerable:!0,get:function(){return dl.ConnectionOptions}});Object.defineProperty(Xn,"NullLogger",{enumerable:!0,get:function(){return dl.NullLogger}});Object.defineProperty(Xn,"createMessageConnection",{enumerable:!0,get:function(){return dl.createMessageConnection}});Object.defineProperty(Xn,"ProgressToken",{enumerable:!0,get:function(){return dl.ProgressToken}});Object.defineProperty(Xn,"ProgressType",{enumerable:!0,get:function(){return dl.ProgressType}});Object.defineProperty(Xn,"Trace",{enumerable:!0,get:function(){return dl.Trace}});Object.defineProperty(Xn,"TraceValues",{enumerable:!0,get:function(){return dl.TraceValues}});Object.defineProperty(Xn,"TraceFormat",{enumerable:!0,get:function(){return dl.TraceFormat}});Object.defineProperty(Xn,"SetTraceNotification",{enumerable:!0,get:function(){return dl.SetTraceNotification}});Object.defineProperty(Xn,"LogTraceNotification",{enumerable:!0,get:function(){return dl.LogTraceNotification}});Object.defineProperty(Xn,"ConnectionErrors",{enumerable:!0,get:function(){return dl.ConnectionErrors}});Object.defineProperty(Xn,"ConnectionError",{enumerable:!0,get:function(){return dl.ConnectionError}});Object.defineProperty(Xn,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return dl.CancellationReceiverStrategy}});Object.defineProperty(Xn,"CancellationSenderStrategy",{enumerable:!0,get:function(){return dl.CancellationSenderStrategy}});Object.defineProperty(Xn,"CancellationStrategy",{enumerable:!0,get:function(){return dl.CancellationStrategy}});Object.defineProperty(Xn,"MessageStrategy",{enumerable:!0,get:function(){return dl.Message