@lpc-lang/core
Version:
LPC Language Compiler Library
33 lines (20 loc) • 1.43 MB
JavaScript
// Copyright 2024 John L Chmura
var Aae=Object.create;var Nk=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),fl=(e,n)=>{for(var r in n)Nk(e,r,{get:n[r],enumerable:!0})},xW=(e,n,r,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of Rae(n))!Mae.call(e,a)&&a!==r&&Nk(e,a,{get:()=>n[a],enumerable:!(i=wae(n,a))||i.enumerable});return e};var bg=(e,n,r)=>(r=e!=null?Aae(Oae(e)):{},xW(n||!e||!e.__esModule?Nk(r,"default",{value:e,enumerable:!0}):r,e)),jae=e=>xW(Nk({},"__esModule",{value:!0}),e);var kk=Yt(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.thenable=dc.typedArray=dc.stringArray=dc.array=dc.func=dc.error=dc.number=dc.string=dc.boolean=void 0;function Jae(e){return e===!0||e===!1}dc.boolean=Jae;function bW(e){return typeof e=="string"||e instanceof String}dc.string=bW;function Wae(e){return typeof e=="number"||e instanceof Number}dc.number=Wae;function Uae(e){return e instanceof Error}dc.error=Uae;function CW(e){return typeof e=="function"}dc.func=CW;function DW(e){return Array.isArray(e)}dc.array=DW;function Kae(e){return DW(e)&&e.every(n=>bW(n))}dc.stringArray=Kae;function qae(e,n){return Array.isArray(e)&&e.every(n)}dc.typedArray=qae;function Vae(e){return e&&CW(e.then)}dc.thenable=Vae});var z_=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 EW(e){return typeof e=="string"||e instanceof String}wl.string=EW;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 PW(e){return Array.isArray(e)}wl.array=PW;function Qae(e){return PW(e)&&e.every(n=>EW(n))}wl.stringArray=Qae});var ER=Yt(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.Message=Xr.NotificationType9=Xr.NotificationType8=Xr.NotificationType7=Xr.NotificationType6=Xr.NotificationType5=Xr.NotificationType4=Xr.NotificationType3=Xr.NotificationType2=Xr.NotificationType1=Xr.NotificationType0=Xr.NotificationType=Xr.RequestType9=Xr.RequestType8=Xr.RequestType7=Xr.RequestType6=Xr.RequestType5=Xr.RequestType4=Xr.RequestType3=Xr.RequestType2=Xr.RequestType1=Xr.RequestType=Xr.RequestType0=Xr.AbstractMessageSignature=Xr.ParameterStructures=Xr.ResponseError=Xr.ErrorCodes=void 0;var WT=z_(),nR;(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})(nR||(Xr.ErrorCodes=nR={}));var tR=class e extends Error{constructor(n,r,i){super(r),this.code=WT.number(n)?n:nR.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}};Xr.ResponseError=tR;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}};Xr.ParameterStructures=Qu;Qu.auto=new Qu("auto");Qu.byPosition=new Qu("byPosition");Qu.byName=new Qu("byName");var Ha=class{constructor(n,r){this.method=n,this.numberOfParams=r}get parameterStructures(){return Qu.auto}};Xr.AbstractMessageSignature=Ha;var rR=class extends Ha{constructor(n){super(n,0)}};Xr.RequestType0=rR;var iR=class extends Ha{constructor(n,r=Qu.auto){super(n,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Xr.RequestType=iR;var oR=class extends Ha{constructor(n,r=Qu.auto){super(n,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Xr.RequestType1=oR;var aR=class extends Ha{constructor(n){super(n,2)}};Xr.RequestType2=aR;var sR=class extends Ha{constructor(n){super(n,3)}};Xr.RequestType3=sR;var cR=class extends Ha{constructor(n){super(n,4)}};Xr.RequestType4=cR;var lR=class extends Ha{constructor(n){super(n,5)}};Xr.RequestType5=lR;var uR=class extends Ha{constructor(n){super(n,6)}};Xr.RequestType6=uR;var dR=class extends Ha{constructor(n){super(n,7)}};Xr.RequestType7=dR;var fR=class extends Ha{constructor(n){super(n,8)}};Xr.RequestType8=fR;var pR=class extends Ha{constructor(n){super(n,9)}};Xr.RequestType9=pR;var mR=class extends Ha{constructor(n,r=Qu.auto){super(n,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Xr.NotificationType=mR;var gR=class extends Ha{constructor(n){super(n,0)}};Xr.NotificationType0=gR;var yR=class extends Ha{constructor(n,r=Qu.auto){super(n,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Xr.NotificationType1=yR;var hR=class extends Ha{constructor(n){super(n,2)}};Xr.NotificationType2=hR;var TR=class extends Ha{constructor(n){super(n,3)}};Xr.NotificationType3=TR;var SR=class extends Ha{constructor(n){super(n,4)}};Xr.NotificationType4=SR;var _R=class extends Ha{constructor(n){super(n,5)}};Xr.NotificationType5=_R;var xR=class extends Ha{constructor(n){super(n,6)}};Xr.NotificationType6=xR;var bR=class extends Ha{constructor(n){super(n,7)}};Xr.NotificationType7=bR;var CR=class extends Ha{constructor(n){super(n,8)}};Xr.NotificationType8=CR;var DR=class extends Ha{constructor(n){super(n,9)}};Xr.NotificationType9=DR;var NW;(function(e){function n(a){let c=a;return c&&WT.string(c.method)&&(WT.string(c.id)||WT.number(c.id))}e.isRequest=n;function r(a){let c=a;return c&&WT.string(c.method)&&a.id===void 0}e.isNotification=r;function i(a){let c=a;return c&&(c.result!==void 0||!!c.error)&&(WT.string(c.id)||WT.number(c.id)||c.id===null)}e.isResponse=i})(NW||(Xr.Message=NW={}))});var NR=Yt($y=>{"use strict";var kW;Object.defineProperty($y,"__esModule",{value:!0});$y.LRUCache=$y.LinkedMap=$y.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||($y.Touch=Rl={}));var vk=class{constructor(){this[kW]="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}[(kW=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)}};$y.LinkedMap=vk;var PR=class extends vk{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))}};$y.LRUCache=PR});var FW=Yt(Fk=>{"use strict";Object.defineProperty(Fk,"__esModule",{value:!0});Fk.Disposable=void 0;var vW;(function(e){function n(r){return{dispose:r}}e.create=n})(vW||(Fk.Disposable=vW={}))});var Qy=Yt(FR=>{"use strict";Object.defineProperty(FR,"__esModule",{value:!0});var kR;function vR(){if(kR===void 0)throw new Error("No runtime abstraction layer installed");return kR}(function(e){function n(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");kR=r}e.install=n})(vR||(vR={}));FR.default=vR});var $_=Yt(G_=>{"use strict";Object.defineProperty(G_,"__esModule",{value:!0});G_.Emitter=G_.Event=void 0;var Yae=Qy(),IW;(function(e){let n={dispose(){}};e.None=function(){return n}})(IW||(G_.Event=IW={}));var IR=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}},Ik=class e{constructor(n){this._options=n}get event(){return this._event||(this._event=(n,r,i)=>{this._callbacks||(this._callbacks=new IR),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)}};G_.Emitter=Ik;Ik._noop=function(){}});var wk=Yt(Q_=>{"use strict";Object.defineProperty(Q_,"__esModule",{value:!0});Q_.CancellationTokenSource=Q_.CancellationToken=void 0;var Xae=Qy(),Zae=z_(),LR=$_(),Lk;(function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:LR.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:LR.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})(Lk||(Q_.CancellationToken=Lk={}));var ese=Object.freeze(function(e,n){let r=(0,Xae.default)().timer.setTimeout(e.bind(n),0);return{dispose(){r.dispose()}}}),Ak=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 LR.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},AR=class{get token(){return this._token||(this._token=new Ak),this._token}cancel(){this._token?this._token.cancel():this._token=Lk.Cancelled}dispose(){this._token?this._token instanceof Ak&&this._token.dispose():this._token=Lk.None}};Q_.CancellationTokenSource=AR});var LW=Yt(Y_=>{"use strict";Object.defineProperty(Y_,"__esModule",{value:!0});Y_.SharedArrayReceiverStrategy=Y_.SharedArraySenderStrategy=void 0;var nse=wk(),ND;(function(e){e.Continue=0,e.Cancelled=1})(ND||(ND={}));var wR=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()}};Y_.SharedArraySenderStrategy=wR;var RR=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")}},OR=class{constructor(n){this.token=new RR(n)}cancel(){}dispose(){}},MR=class{constructor(){this.kind="request"}createCancellationTokenSource(n){let r=n.$cancellationData;return r===void 0?new nse.CancellationTokenSource:new OR(r)}};Y_.SharedArrayReceiverStrategy=MR});var jR=Yt(Rk=>{"use strict";Object.defineProperty(Rk,"__esModule",{value:!0});Rk.Semaphore=void 0;var tse=Qy(),BR=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()}}};Rk.Semaphore=BR});var wW=Yt(Yy=>{"use strict";Object.defineProperty(Yy,"__esModule",{value:!0});Yy.ReadableStreamMessageReader=Yy.AbstractMessageReader=Yy.MessageReader=void 0;var WR=Qy(),X_=z_(),JR=$_(),rse=jR(),AW;(function(e){function n(r){let i=r;return i&&X_.func(i.listen)&&X_.func(i.dispose)&&X_.func(i.onError)&&X_.func(i.onClose)&&X_.func(i.onPartialMessage)}e.is=n})(AW||(Yy.MessageReader=AW={}));var Ok=class{constructor(){this.errorEmitter=new JR.Emitter,this.closeEmitter=new JR.Emitter,this.partialMessageEmitter=new JR.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: ${X_.string(n.message)?n.message:"unknown"}`)}};Yy.AbstractMessageReader=Ok;var UR;(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,WR.default)().applicationJson.decoder,m.set(f.name,f)),{charset:i,contentDecoder:c,contentDecoders:u,contentTypeDecoder:f,contentTypeDecoders:m}}e.fromOptions=n})(UR||(UR={}));var KR=class extends Ok{constructor(n,r){super(),this.readable=n,this.options=UR.fromOptions(r),this.buffer=(0,WR.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,WR.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))}};Yy.ReadableStreamMessageReader=KR});var jW=Yt(Xy=>{"use strict";Object.defineProperty(Xy,"__esModule",{value:!0});Xy.WriteableStreamMessageWriter=Xy.AbstractMessageWriter=Xy.MessageWriter=void 0;var RW=Qy(),kD=z_(),ise=jR(),OW=$_(),ose="Content-Length: ",MW=`\r
`,BW;(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})(BW||(Xy.MessageWriter=BW={}));var Mk=class{constructor(){this.errorEmitter=new OW.Emitter,this.closeEmitter=new OW.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"}`)}};Xy.AbstractMessageWriter=Mk;var qR;(function(e){function n(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,RW.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,RW.default)().applicationJson.encoder}}e.fromOptions=n})(qR||(qR={}));var VR=class extends Mk{constructor(n,r){super(),this.writable=n,this.options=qR.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(),MW),a.push(MW),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()}};Xy.WriteableStreamMessageWriter=VR});var JW=Yt(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});Bk.AbstractMessageBuffer=void 0;var ase=13,sse=10,cse=`\r
`,HR=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}};Bk.AbstractMessageBuffer=HR});var VW=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 WW=Qy(),bs=z_(),_i=ER(),UW=NR(),vD=$_(),zR=wk(),LD;(function(e){e.type=new _i.NotificationType("$/cancelRequest")})(LD||(LD={}));var GR;(function(e){function n(r){return typeof r=="string"||typeof r=="number"}e.is=n})(GR||(Ki.ProgressToken=GR={}));var FD;(function(e){e.type=new _i.NotificationType("$/progress")})(FD||(FD={}));var $R=class{constructor(){}};Ki.ProgressType=$R;var QR;(function(e){function n(r){return bs.func(r)}e.is=n})(QR||(QR={}));Ki.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var ta;(function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Compact=2]="Compact",e[e.Verbose=3]="Verbose"})(ta||(Ki.Trace=ta={}));var KW;(function(e){e.Off="off",e.Messages="messages",e.Compact="compact",e.Verbose="verbose"})(KW||(Ki.TraceValues=KW={}));(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})(ta||(Ki.Trace=ta={}));var Od;(function(e){e.Text="text",e.JSON="json"})(Od||(Ki.TraceFormat=Od={}));(function(e){function n(r){return bs.string(r)?(r=r.toLowerCase(),r==="json"?e.JSON:e.Text):e.Text}e.fromString=n})(Od||(Ki.TraceFormat=Od={}));var YR;(function(e){e.type=new _i.NotificationType("$/setTrace")})(YR||(Ki.SetTraceNotification=YR={}));var jk;(function(e){e.type=new _i.NotificationType("$/logTrace")})(jk||(Ki.LogTraceNotification=jk={}));var ID;(function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"})(ID||(Ki.ConnectionErrors=ID={}));var Z_=class e extends Error{constructor(n,r){super(r),this.code=n,Object.setPrototypeOf(this,e.prototype)}};Ki.ConnectionError=Z_;var XR;(function(e){function n(r){let i=r;return i&&bs.func(i.cancelUndispatched)}e.is=n})(XR||(Ki.ConnectionStrategy=XR={}));var Jk;(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})(Jk||(Ki.IdCancellationReceiverStrategy=Jk={}));var ZR;(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})(ZR||(Ki.RequestCancellationReceiverStrategy=ZR={}));var Wk;(function(e){e.Message=Object.freeze({createCancellationTokenSource(r){return new zR.CancellationTokenSource}});function n(r){return Jk.is(r)||ZR.is(r)}e.is=n})(Wk||(Ki.CancellationReceiverStrategy=Wk={}));var Uk;(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})(Uk||(Ki.CancellationSenderStrategy=Uk={}));var Kk;(function(e){e.Message=Object.freeze({receiver:Wk.Message,sender:Uk.Message});function n(r){let i=r;return i&&Wk.is(i.receiver)&&Uk.is(i.sender)}e.is=n})(Kk||(Ki.CancellationStrategy=Kk={}));var qk;(function(e){function n(r){let i=r;return i&&bs.func(i.handleMessage)}e.is=n})(qk||(Ki.MessageStrategy=qk={}));var qW;(function(e){function n(r){let i=r;return i&&(Kk.is(i.cancellationStrategy)||XR.is(i.connectionStrategy)||qk.is(i.messageStrategy))}e.is=n})(qW||(Ki.ConnectionOptions=qW={}));var op;(function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"})(op||(op={}));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,v,T=new UW.LinkedMap,J=new Map,F=new Set,M=new Map,j=ta.Off,A=Od.Text,q,fe=op.New,ye=new vD.Emitter,ge=new vD.Emitter,ue=new vD.Emitter,De=new vD.Emitter,Fe=new vD.Emitter,Ce=i&&i.cancellationStrategy?i.cancellationStrategy:Kk.Message;function pe(Q){if(Q===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+Q.toString()}function Re(Q){return Q===null?"res-unknown-"+(++f).toString():"res-"+Q.toString()}function se(){return"not-"+(++u).toString()}function Ye(Q,Ne){_i.Message.isRequest(Ne)?Q.set(pe(Ne.id),Ne):_i.Message.isResponse(Ne)?Q.set(Re(Ne.id),Ne):Q.set(se(),Ne)}function ne(Q){}function _e(){return fe===op.Listening}function Cn(){return fe===op.Closed}function tt(){return fe===op.Disposed}function Pe(){(fe===op.New||fe===op.Listening)&&(fe=op.Closed,ge.fire(void 0))}function _n(Q){ye.fire([Q,void 0,void 0])}function Qe(Q){ye.fire(Q)}e.onClose(Pe),e.onError(_n),n.onClose(Pe),n.onError(Qe);function Rn(){v||T.size===0||(v=(0,WW.default)().timer.setImmediate(()=>{v=void 0,Xn()}))}function Vt(Q){_i.Message.isRequest(Q)?le(Q):_i.Message.isNotification(Q)?Mn(Q):_i.Message.isResponse(Q)?Kn(Q):it(Q)}function Xn(){if(T.size===0)return;let Q=T.shift();try{let Ne=i?.messageStrategy;qk.is(Ne)?Ne.handleMessage(Q,Vt):Vt(Q)}finally{Rn()}}let en=Q=>{try{if(_i.Message.isNotification(Q)&&Q.method===LD.type.method){let Ne=Q.params.id,Se=pe(Ne),te=T.get(Se);if(_i.Message.isRequest(te)){let U=i?.connectionStrategy,de=U&&U.cancelUndispatched?U.cancelUndispatched(te,ne):void 0;if(de&&(de.error!==void 0||de.result!==void 0)){T.delete(Se),M.delete(Ne),de.id=te.id,Nt(de,Q.method,Date.now()),n.write(de).catch(()=>a.error("Sending response for canceled message failed."));return}}let tn=M.get(Ne);if(tn!==void 0){tn.cancel(),Lt(Q);return}else F.add(Ne)}Ye(T,Q)}finally{Rn()}};function le(Q){if(tt())return;function Ne(vn,zn,nn){let Mr={jsonrpc:m,id:Q.id};vn instanceof _i.ResponseError?Mr.error=vn.toJson():Mr.result=vn===void 0?null:vn,Nt(Mr,zn,nn),n.write(Mr).catch(()=>a.error("Sending response failed."))}function Se(vn,zn,nn){let Mr={jsonrpc:m,id:Q.id,error:vn.toJson()};Nt(Mr,zn,nn),n.write(Mr).catch(()=>a.error("Sending response failed."))}function te(vn,zn,nn){vn===void 0&&(vn=null);let Mr={jsonrpc:m,id:Q.id,result:vn};Nt(Mr,zn,nn),n.write(Mr).catch(()=>a.error("Sending response failed."))}bn(Q);let tn=g.get(Q.method),U,de;tn&&(U=tn.type,de=tn.handler);let Qn=Date.now();if(de||y){let vn=Q.id??String(Date.now()),zn=Jk.is(Ce.receiver)?Ce.receiver.createCancellationTokenSource(vn):Ce.receiver.createCancellationTokenSource(Q);Q.id!==null&&F.has(Q.id)&&zn.cancel(),Q.id!==null&&M.set(vn,zn);try{let nn;if(de)if(Q.params===void 0){if(U!==void 0&&U.numberOfParams!==0){Se(new _i.ResponseError(_i.ErrorCodes.InvalidParams,`Request ${Q.method} defines ${U.numberOfParams} params but received none.`),Q.method,Qn);return}nn=de(zn.token)}else if(Array.isArray(Q.params)){if(U!==void 0&&U.parameterStructures===_i.ParameterStructures.byName){Se(new _i.ResponseError(_i.ErrorCodes.InvalidParams,`Request ${Q.method} defines parameters by name but received parameters by position`),Q.method,Qn);return}nn=de(...Q.params,zn.token)}else{if(U!==void 0&&U.parameterStructures===_i.ParameterStructures.byPosition){Se(new _i.ResponseError(_i.ErrorCodes.InvalidParams,`Request ${Q.method} defines parameters by position but received parameters by name`),Q.method,Qn);return}nn=de(Q.params,zn.token)}else y&&(nn=y(Q.method,Q.params,zn.token));let Mr=nn;nn?Mr.then?Mr.then(kt=>{M.delete(vn),Ne(kt,Q.method,Qn)},kt=>{M.delete(vn),kt instanceof _i.ResponseError?Se(kt,Q.method,Qn):kt&&bs.string(kt.message)?Se(new _i.ResponseError(_i.ErrorCodes.InternalError,`Request ${Q.method} failed with message: ${kt.message}`),Q.method,Qn):Se(new _i.ResponseError(_i.ErrorCodes.InternalError,`Request ${Q.method} failed unexpectedly without providing any details.`),Q.method,Qn)}):(M.delete(vn),Ne(nn,Q.method,Qn)):(M.delete(vn),te(nn,Q.method,Qn))}catch(nn){M.delete(vn),nn instanceof _i.ResponseError?Ne(nn,Q.method,Qn):nn&&bs.string(nn.message)?Se(new _i.ResponseError(_i.ErrorCodes.InternalError,`Request ${Q.method} failed with message: ${nn.message}`),Q.method,Qn):Se(new _i.ResponseError(_i.ErrorCodes.InternalError,`Request ${Q.method} failed unexpectedly without providing any details.`),Q.method,Qn)}}else Se(new _i.ResponseError(_i.ErrorCodes.MethodNotFound,`Unhandled method ${Q.method}`),Q.method,Qn)}function Kn(Q){if(!tt())if(Q.id===null)Q.error?a.error(`Received response message without id: Error is:
${JSON.stringify(Q.error,void 0,4)}`):a.error("Received response message without id. No further error information provided.");else{let Ne=Q.id,Se=J.get(Ne);if(zr(Q,Se),Se!==void 0){J.delete(Ne);try{if(Q.error){let te=Q.error;Se.reject(new _i.ResponseError(te.code,te.message,te.data))}else if(Q.result!==void 0)Se.resolve(Q.result);else throw new Error("Should never happen.")}catch(te){te.message?a.error(`Response handler '${Se.method}' failed with message: ${te.message}`):a.error(`Response handler '${Se.method}' failed unexpectedly.`)}}}}function Mn(Q){if(tt())return;let Ne,Se;if(Q.method===LD.type.method){let te=Q.params.id;F.delete(te),Lt(Q);return}else{let te=x.get(Q.method);te&&(Se=te.handler,Ne=te.type)}if(Se||_)try{if(Lt(Q),Se)if(Q.params===void 0)Ne!==void 0&&Ne.numberOfParams!==0&&Ne.parameterStructures!==_i.ParameterStructures.byName&&a.error(`Notification ${Q.method} defines ${Ne.numberOfParams} params but received none.`),Se();else if(Array.isArray(Q.params)){let te=Q.params;Q.method===FD.type.method&&te.length===2&&GR.is(te[0])?Se({token:te[0],value:te[1]}):(Ne!==void 0&&(Ne.parameterStructures===_i.ParameterStructures.byName&&a.error(`Notification ${Q.method} defines parameters by name but received parameters by position`),Ne.numberOfParams!==Q.params.length&&a.error(`Notification ${Q.method} defines ${Ne.numberOfParams} params but received ${te.length} arguments`)),Se(...te))}else Ne!==void 0&&Ne.parameterStructures===_i.ParameterStructures.byPosition&&a.error(`Notification ${Q.method} defines parameters by position but received parameters by name`),Se(Q.params);else _&&_(Q.method,Q.params)}catch(te){te.message?a.error(`Notification handler '${Q.method}' failed with message: ${te.message}`):a.error(`Notification handler '${Q.method}' failed unexpectedly.`)}else ue.fire(Q)}function it(Q){if(!Q){a.error("Received empty message.");return}a.error(`Received message which is neither a response nor a notification message:
${JSON.stringify(Q,null,4)}`);let Ne=Q;if(bs.string(Ne.id)||bs.number(Ne.id)){let Se=Ne.id,te=J.get(Se);te&&te.reject(new Error("The received response has neither a result nor an error property."))}}function ht(Q){if(Q!=null)switch(j){case ta.Verbose:return JSON.stringify(Q,null,4);case ta.Compact:return JSON.stringify(Q);default:return}}function vt(Q){if(!(j===ta.Off||!q))if(A===Od.Text){let Ne;(j===ta.Verbose||j===ta.Compact)&&Q.params&&(Ne=`Params: ${ht(Q.params)}
`),q.log(`Sending request '${Q.method} - (${Q.id})'.`,Ne)}else Ge("send-request",Q)}function wt(Q){if(!(j===ta.Off||!q))if(A===Od.Text){let Ne;(j===ta.Verbose||j===ta.Compact)&&(Q.params?Ne=`Params: ${ht(Q.params)}
`:Ne=`No parameters provided.
`),q.log(`Sending notification '${Q.method}'.`,Ne)}else Ge("send-notification",Q)}function Nt(Q,Ne,Se){if(!(j===ta.Off||!q))if(A===Od.Text){let te;(j===ta.Verbose||j===ta.Compact)&&(Q.error&&Q.error.data?te=`Error data: ${ht(Q.error.data)}
`:Q.result?te=`Result: ${ht(Q.result)}
`:Q.error===void 0&&(te=`No result returned.
`)),q.log(`Sending response '${Ne} - (${Q.id})'. Processing request took ${Date.now()-Se}ms`,te)}else Ge("send-response",Q)}function bn(Q){if(!(j===ta.Off||!q))if(A===Od.Text){let Ne;(j===ta.Verbose||j===ta.Compact)&&Q.params&&(Ne=`Params: ${ht(Q.params)}
`),q.log(`Received request '${Q.method} - (${Q.id})'.`,Ne)}else Ge("receive-request",Q)}function Lt(Q){if(!(j===ta.Off||!q||Q.method===jk.type.method))if(A===Od.Text){let Ne;(j===ta.Verbose||j===ta.Compact)&&(Q.params?Ne=`Params: ${ht(Q.params)}
`:Ne=`No parameters provided.
`),q.log(`Received notification '${Q.method}'.`,Ne)}else Ge("receive-notification",Q)}function zr(Q,Ne){if(!(j===ta.Off||!q))if(A===Od.Text){let Se;if((j===ta.Verbose||j===ta.Compact)&&(Q.error&&Q.error.data?Se=`Error data: ${ht(Q.error.data)}
`:Q.result?Se=`Result: ${ht(Q.result)}
`:Q.error===void 0&&(Se=`No result returned.
`)),Ne){let te=Q.error?` Request failed: ${Q.error.message} (${Q.error.code}).`:"";q.log(`Received response '${Ne.method} - (${Q.id})' in ${Date.now()-Ne.timerStart}ms.${te}`,Se)}else q.log(`Received response ${Q.id} without active response promise.`,Se)}else Ge("receive-response",Q)}function Ge(Q,Ne){if(!q||j===ta.Off)return;let Se={isLSPMessage:!0,type:Q,message:Ne,timestamp:Date.now()};q.log(Se)}function ot(){if(Cn())throw new Z_(ID.Closed,"Connection is closed.");if(tt())throw new Z_(ID.Disposed,"Connection is disposed.")}function at(){if(_e())throw new Z_(ID.AlreadyListening,"Connection is already listening")}function Xt(){if(!_e())throw new Error("Call listen() first.")}function yr(Q){return Q===void 0?null:Q}function zt(Q){if(Q!==null)return Q}function ai(Q){return Q!=null&&!Array.isArray(Q)&&typeof Q=="object"}function Ae(Q,Ne){switch(Q){case _i.ParameterStructures.auto:return ai(Ne)?zt(Ne):[yr(Ne)];case _i.ParameterStructures.byName:if(!ai(Ne))throw new Error("Received parameters by name but param is not an object literal.");return zt(Ne);case _i.ParameterStructures.byPosition:return[yr(Ne)];default:throw new Error(`Unknown parameter structure ${Q.toString()}`)}}function je(Q,Ne){let Se,te=Q.numberOfParams;switch(te){case 0:Se=void 0;break;case 1:Se=Ae(Q.parameterStructures,Ne[0]);break;default:Se=[];for(let tn=0;tn<Ne.length&&tn<te;tn++)Se.push(yr(Ne[tn]));if(Ne.length<te)for(let tn=Ne.length;tn<te;tn++)Se.push(null);break}return Se}let $e={sendNotification:(Q,...Ne)=>{ot();let Se,te;if(bs.string(Q)){Se=Q;let U=Ne[0],de=0,Qn=_i.ParameterStructures.auto;_i.ParameterStructures.is(U)&&(de=1,Qn=U);let vn=Ne.length,zn=vn-de;switch(zn){case 0:te=void 0;break;case 1:te=Ae(Qn,Ne[de]);break;default:if(Qn===_i.ParameterStructures.byName)throw new Error(`Received ${zn} parameters for 'by Name' notification parameter structure.`);te=Ne.slice(de,vn).map(nn=>yr(nn));break}}else{let U=Ne;Se=Q.method,te=je(Q,U)}let tn={jsonrpc:m,method:Se,params:te};return wt(tn),n.write(tn).catch(U=>{throw a.error("Sending notification failed."),U})},onNotification:(Q,Ne)=>{ot();let Se;return bs.func(Q)?_=Q:Ne&&(bs.string(Q)?(Se=Q,x.set(Q,{type:void 0,handler:Ne})):(Se=Q.method,x.set(Q.method,{type:Q,handler:Ne}))),{dispose:()=>{Se!==void 0?x.delete(Se):_=void 0}}},onProgress:(Q,Ne,Se)=>{if(C.has(Ne))throw new Error(`Progress handler for token ${Ne} already registered`);return C.set(Ne,Se),{dispose:()=>{C.delete(Ne)}}},sendProgress:(Q,Ne,Se)=>$e.sendNotification(FD.type,{token:Ne,value:Se}),onUnhandledProgress:De.event,sendRequest:(Q,...Ne)=>{ot(),Xt();let Se,te,tn;if(bs.string(Q)){Se=Q;let vn=Ne[0],zn=Ne[Ne.length-1],nn=0,Mr=_i.ParameterStructures.auto;_i.ParameterStructures.is(vn)&&(nn=1,Mr=vn);let kt=Ne.length;zR.CancellationToken.is(zn)&&(kt=kt-1,tn=zn);let fr=kt-nn;switch(fr){case 0:te=void 0;break;case 1:te=Ae(Mr,Ne[nn]);break;default:if(Mr===_i.ParameterStructures.byName)throw new Error(`Received ${fr} parameters for 'by Name' request parameter structure.`);te=Ne.slice(nn,kt).map(Vi=>yr(Vi));break}}else{let vn=Ne;Se=Q.method,te=je(Q,vn);let zn=Q.numberOfParams;tn=zR.CancellationToken.is(vn[zn])?vn[zn]:void 0}let U=c++,de;tn&&(de=tn.onCancellationRequested(()=>{let vn=Ce.sender.sendCancellation($e,U);return vn===void 0?(a.log(`Received no promise from cancellation strategy when cancelling id ${U}`),Promise.resolve()):vn.catch(()=>{a.log(`Sending cancellation messages for id ${U} failed`)})}));let Qn={jsonrpc:m,id:U,method:Se,params:te};return vt(Qn),typeof Ce.sender.enableCancellation=="function"&&Ce.sender.enableCancellation(Qn),new Promise(async(vn,zn)=>{let nn=fr=>{vn(fr),Ce.sender.cleanup(U),de?.dispose()},Mr=fr=>{zn(fr),Ce.sender.cleanup(U),de?.dispose()},kt={method:Se,timerStart:Date.now(),resolve:nn,reject:Mr};try{await n.write(Qn),J.set(U,kt)}catch(fr){throw a.error("Sending request failed."),kt.reject(new _i.ResponseError(_i.ErrorCodes.MessageWriteError,fr.message?fr.message:"Unknown reason")),fr}})},onRequest:(Q,Ne)=>{ot();let Se=null;return QR.is(Q)?(Se=void 0,y=Q):bs.string(Q)?(Se=null,Ne!==void 0&&(Se=Q,g.set(Q,{handler:Ne,type:void 0}))):Ne!==void 0&&(Se=Q.method,g.set(Q.method,{type:Q,handler:Ne})),{dispose:()=>{Se!==null&&(Se!==void 0?g.delete(Se):y=void 0)}}},hasPendingResponse:()=>J.size>0,trace:async(Q,Ne,Se)=>{let te=!1,tn=Od.Text;Se!==void 0&&(bs.boolean(Se)?te=Se:(te=Se.sendNotification||!1,tn=Se.traceFormat||Od.Text)),j=Q,A=tn,j===ta.Off?q=void 0:q=Ne,te&&!Cn()&&!tt()&&await $e.sendNotification(YR.type,{value:ta.toString(Q)})},onError:ye.event,onClose:ge.event,onUnhandledNotification:ue.event,onDispose:Fe.event,end:()=>{n.end()},dispose:()=>{if(tt())return;fe=op.Disposed,Fe.fire(void 0);let Q=new _i.ResponseError(_i.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let Ne of J.values())Ne.reject(Q);J=new Map,M=new Map,F=new Set,T=new UW.LinkedMap,bs.func(n.dispose)&&n.dispose(),bs.func(e.dispose)&&e.dispose()},listen:()=>{ot(),at(),fe=op.Listening,e.listen(en)},inspect:()=>{(0,WW.default)().console.log("inspect")}};return $e.onNotification(jk.type,Q=>{if(j===ta.Off||!q)return;let Ne=j===ta.Verbose||j===ta.Compact;q.log(Q.message,Ne?Q.verbose:void 0)}),$e.onNotification(FD.type,Q=>{let Ne=C.get(Q.token);Ne?Ne(Q.value):De.fire(Q)}),$e}Ki.createMessageConnection=lse});var Vk=Yt(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});Yn.ProgressType=Yn.ProgressToken=Yn.createMessageConnection=Yn.NullLogger=Yn.ConnectionOptions=Yn.ConnectionStrategy=Yn.AbstractMessageBuffer=Yn.WriteableStreamMessageWriter=Yn.AbstractMessageWriter=Yn.MessageWriter=Yn.ReadableStreamMessageReader=Yn.AbstractMessageReader=Yn.MessageReader=Yn.SharedArrayReceiverStrategy=Yn.SharedArraySenderStrategy=Yn.CancellationToken=Yn.CancellationTokenSource=Yn.Emitter=Yn.Event=Yn.Disposable=Yn.LRUCache=Yn.Touch=Yn.LinkedMap=Yn.ParameterStructures=Yn.NotificationType9=Yn.NotificationType8=Yn.NotificationType7=Yn.NotificationType6=Yn.NotificationType5=Yn.NotificationType4=Yn.NotificationType3=Yn.NotificationType2=Yn.NotificationType1=Yn.NotificationType0=Yn.NotificationType=Yn.ErrorCodes=Yn.ResponseError=Yn.RequestType9=Yn.RequestType8=Yn.RequestType7=Yn.RequestType6=Yn.RequestType5=Yn.RequestType4=Yn.RequestType3=Yn.RequestType2=Yn.RequestType1=Yn.RequestType0=Yn.RequestType=Yn.Message=Yn.RAL=void 0;Yn.MessageStrategy=Yn.CancellationStrategy=Yn.CancellationSenderStrategy=Yn.CancellationReceiverStrategy=Yn.ConnectionError=Yn.ConnectionErrors=Yn.LogTraceNotification=Yn.SetTraceNotification=Yn.TraceFormat=Yn.TraceValues=Yn.Trace=void 0;var Ja=ER();Object.defineProperty(Yn,"Message",{enumerable:!0,get:function(){return Ja.Message}});Object.defineProperty(Yn,"RequestType",{enumerable:!0,get:function(){return Ja.RequestType}});Object.defineProperty(Yn,"RequestType0",{enumerable:!0,get:function(){return Ja.RequestType0}});Object.defineProperty(Yn,"RequestType1",{enumerable:!0,get:function(){return Ja.RequestType1}});Object.defineProperty(Yn,"RequestType2",{enumerable:!0,get:function(){return Ja.RequestType2}});Object.defineProperty(Yn,"RequestType3",{enumerable:!0,get:function(){return Ja.RequestType3}});Object.defineProperty(Yn,"RequestType4",{enumerable:!0,get:function(){return Ja.RequestType4}});Object.defineProperty(Yn,"RequestType5",{enumerable:!0,get:function(){return Ja.RequestType5}});Object.defineProperty(Yn,"RequestType6",{enumerable:!0,get:function(){return Ja.RequestType6}});Object.defineProperty(Yn,"RequestType7",{enumerable:!0,get:function(){return Ja.RequestType7}});Object.defineProperty(Yn,"RequestType8",{enumerable:!0,get:function(){return Ja.RequestType8}});Object.defineProperty(Yn,"RequestType9",{enumerable:!0,get:function(){return Ja.RequestType9}});Object.defineProperty(Yn,"ResponseError",{enumerable:!0,get:function(){return Ja.ResponseError}});Object.defineProperty(Yn,"ErrorCodes",{enumerable:!0,get:function(){return Ja.ErrorCodes}});Object.defineProperty(Yn,"NotificationType",{enumerable:!0,get:function(){return Ja.NotificationType}});Object.defineProperty(Yn,"NotificationType0",{enumerable:!0,get:function(){return Ja.NotificationType0}});Object.defineProperty(Yn,"NotificationType1",{enumerable:!0,get:function(){return Ja.NotificationType1}});Object.defineProperty(Yn,"NotificationType2",{enumerable:!0,get:function(){return Ja.NotificationType2}});Object.defineProperty(Yn,"NotificationType3",{enumerable:!0,get:function(){return Ja.NotificationType3}});Object.defineProperty(Yn,"NotificationType4",{enumerable:!0,get:function(){return Ja.NotificationType4}});Object.defineProperty(Yn,"NotificationType5",{enumerable:!0,get:function(){return Ja.NotificationType5}});Object.defineProperty(Yn,"NotificationType6",{enumerable:!0,get:function(){return Ja.NotificationType6}});Object.defineProperty(Yn,"NotificationType7",{enumerable:!0,get:function(){return Ja.NotificationType7}});Object.defineProperty(Yn,"NotificationType8",{enumerable:!0,get:function(){return Ja.NotificationType8}});Object.defineProperty(Yn,"NotificationType9",{enumerable:!0,get:function(){return Ja.NotificationType9}});Object.defineProperty(Yn,"ParameterStructures",{enumerable:!0,get:function(){return Ja.ParameterStructures}});var eO=NR();Object.defineProperty(Yn,"LinkedMap",{enumerable:!0,get:function(){return eO.LinkedMap}});Object.defineProperty(Yn,"LRUCache",{enumerable:!0,get:function(){return eO.LRUCache}});Object.defineProperty(Yn,"Touch",{enumerable:!0,get:function(){return eO.Touch}});var use=FW();Object.defineProperty(Yn,"Disposable",{enumerable:!0,get:function(){return use.Disposable}});var HW=$_();Object.defineProperty(Yn,"Event",{enumerable:!0,get:function(){return HW.Event}});Object.defineProperty(Yn,"Emitter",{enumerable:!0,get:function(){return HW.Emitter}});var zW=wk();Object.defineProperty(Yn,"CancellationTokenSource",{enumerable:!0,get:function(){return zW.CancellationTokenSource}});Object.defineProperty(Yn,"CancellationToken",{enumerable:!0,get:function(){return zW.CancellationToken}});var GW=LW();Object.defineProperty(Yn,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return GW.SharedArraySenderStrategy}});Object.defineProperty(Yn,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return GW.SharedArrayReceiverStrategy}});var nO=wW();Object.defineProperty(Yn,"MessageReader",{enumerable:!0,get:function(){return nO.MessageReader}});Object.defineProperty(Yn,"AbstractMessageReader",{enumerable:!0,get:function(){return nO.AbstractMessageReader}});Object.defineProperty(Yn,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return nO.ReadableStreamMessageReader}});var tO=jW();Object.defineProperty(Yn,"MessageWriter",{enumerable:!0,get:function(){return tO.MessageWriter}});Object.defineProperty(Yn,"AbstractMessageWriter",{enumerable:!0,get:function(){return tO.AbstractMessageWriter}});Object.defineProperty(Yn,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return tO.WriteableStreamMessageWriter}});var dse=JW();Object.defineProperty(Yn,"AbstractMessageBuffer",{enumerable:!0,get:function(){return dse.AbstractMessageBuffer}});var pl=VW();Object.defineProperty(Yn,"ConnectionStrategy",{enumerable:!0,get:function(){return pl.ConnectionStrategy}});Object.defineProperty(Yn,"ConnectionOptions",{enumerable:!0,get:function(){return pl.ConnectionOptions}});Object.defineProperty(Yn,"NullLogger",{enumerable:!0,get:function(){return pl.NullLogger}});Object.defineProperty(Yn,"createMessageConnection",{enumerable:!0,get:function(){return pl.createMessageConnection}});Object.defineProperty(Yn,"ProgressToken",{enumerable:!0,get:function(){return pl.ProgressToken}});Object.defineProperty(Yn,"ProgressType",{enumerable:!0,get:function(){return pl.ProgressType}});Object.defineProperty(Yn,"Trace",{enumerable:!0,get:function(){return pl.Trace}});Object.defineProperty(Yn,"TraceValues",{enumerable:!0,get:function(){return pl.TraceValues}});Object.defineProperty(Yn,"TraceFormat",{enumerable:!0,get:function(){return pl.TraceFormat}});Object.defineProperty(Yn,"SetTraceNotification",{enumerable:!0,get:function(){return pl.SetTraceNotification}});Object.defineProperty(Yn,"LogTraceNotification",{enumerable:!0,get:function(){return pl.LogTraceNotification}});Object.defineProperty(Yn,"ConnectionErrors",{enumerable:!0,get:function(){return pl.ConnectionErrors}});Object.defineProperty(Yn,"ConnectionError",{enumerable:!0,get:function(){return pl.ConnectionError}});Object.defineProperty(Yn,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return pl.CancellationReceiverStrategy}});Object.defineProperty(Yn,"CancellationSenderStrategy",{enumerable:!0,get:function(){return pl.CancellationSenderStrategy}});Object.defineProperty(Yn,"CancellationStrategy",{enumerable:!0,get:function(){return pl.CancellationStrategy}});Object.defineProperty(Yn,"MessageStrategy",{enumerable:!0,get:function(){return pl.MessageStrategy}});var fse=Qy();Yn.RAL=fse.default});var YW=Yt(aO=>{"use strict";Object.defineProperty(aO,"__esModule",{value:!0});var $W=require("util"),Cg=Vk(),Hk=class e extends Cg.AbstractMessageBuffer{constructor(n="ut