miniscript-languageserver
Version:
Language server for MiniScript
31 lines (19 loc) • 894 kB
JavaScript
"use strict";var fm=Object.defineProperty;var CM=Object.getOwnPropertyDescriptor;var MM=Object.getOwnPropertyNames;var LM=Object.prototype.hasOwnProperty;var NM=(t,e)=>()=>(t&&(e=t(t=0)),e);var f=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),qM=(t,e)=>{for(var n in e)fm(t,n,{get:e[n],enumerable:!0})},jM=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of MM(e))!LM.call(t,i)&&i!==n&&fm(t,i,{get:()=>e[i],enumerable:!(r=CM(e,i))||r.enumerable});return t};var FM=t=>jM(fm({},"__esModule",{value:!0}),t);var Kl=f(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.thenable=Dt.typedArray=Dt.stringArray=Dt.array=Dt.func=Dt.error=Dt.number=Dt.string=Dt.boolean=void 0;function BM(t){return t===!0||t===!1}Dt.boolean=BM;function j0(t){return typeof t=="string"||t instanceof String}Dt.string=j0;function $M(t){return typeof t=="number"||t instanceof Number}Dt.number=$M;function UM(t){return t instanceof Error}Dt.error=UM;function F0(t){return typeof t=="function"}Dt.func=F0;function B0(t){return Array.isArray(t)}Dt.array=B0;function KM(t){return B0(t)&&t.every(e=>j0(e))}Dt.stringArray=KM;function WM(t,e){return Array.isArray(t)&&t.every(e)}Dt.typedArray=WM;function GM(t){return t&&F0(t.then)}Dt.thenable=GM});var Bo=f(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.stringArray=on.array=on.func=on.error=on.number=on.string=on.boolean=void 0;function HM(t){return t===!0||t===!1}on.boolean=HM;function $0(t){return typeof t=="string"||t instanceof String}on.string=$0;function VM(t){return typeof t=="number"||t instanceof Number}on.number=VM;function zM(t){return t instanceof Error}on.error=zM;function XM(t){return typeof t=="function"}on.func=XM;function U0(t){return Array.isArray(t)}on.array=U0;function YM(t){return U0(t)&&t.every(e=>$0(e))}on.stringArray=YM});var Fm=f(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.Message=ne.NotificationType9=ne.NotificationType8=ne.NotificationType7=ne.NotificationType6=ne.NotificationType5=ne.NotificationType4=ne.NotificationType3=ne.NotificationType2=ne.NotificationType1=ne.NotificationType0=ne.NotificationType=ne.RequestType9=ne.RequestType8=ne.RequestType7=ne.RequestType6=ne.RequestType5=ne.RequestType4=ne.RequestType3=ne.RequestType2=ne.RequestType1=ne.RequestType=ne.RequestType0=ne.AbstractMessageSignature=ne.ParameterStructures=ne.ResponseError=ne.ErrorCodes=void 0;var $s=Bo(),gm;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(gm||(ne.ErrorCodes=gm={}));var mm=class t extends Error{constructor(e,n,r){super(n),this.code=$s.number(e)?e:gm.UnknownErrorCode,this.data=r,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};ne.ResponseError=mm;var In=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};ne.ParameterStructures=In;In.auto=new In("auto");In.byPosition=new In("byPosition");In.byName=new In("byName");var Qe=class{constructor(e,n){this.method=e,this.numberOfParams=n}get parameterStructures(){return In.auto}};ne.AbstractMessageSignature=Qe;var ym=class extends Qe{constructor(e){super(e,0)}};ne.RequestType0=ym;var bm=class extends Qe{constructor(e,n=In.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};ne.RequestType=bm;var _m=class extends Qe{constructor(e,n=In.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};ne.RequestType1=_m;var vm=class extends Qe{constructor(e){super(e,2)}};ne.RequestType2=vm;var Sm=class extends Qe{constructor(e){super(e,3)}};ne.RequestType3=Sm;var Tm=class extends Qe{constructor(e){super(e,4)}};ne.RequestType4=Tm;var wm=class extends Qe{constructor(e){super(e,5)}};ne.RequestType5=wm;var xm=class extends Qe{constructor(e){super(e,6)}};ne.RequestType6=xm;var Em=class extends Qe{constructor(e){super(e,7)}};ne.RequestType7=Em;var km=class extends Qe{constructor(e){super(e,8)}};ne.RequestType8=km;var Am=class extends Qe{constructor(e){super(e,9)}};ne.RequestType9=Am;var Pm=class extends Qe{constructor(e,n=In.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};ne.NotificationType=Pm;var Om=class extends Qe{constructor(e){super(e,0)}};ne.NotificationType0=Om;var Rm=class extends Qe{constructor(e,n=In.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};ne.NotificationType1=Rm;var Dm=class extends Qe{constructor(e){super(e,2)}};ne.NotificationType2=Dm;var Im=class extends Qe{constructor(e){super(e,3)}};ne.NotificationType3=Im;var Cm=class extends Qe{constructor(e){super(e,4)}};ne.NotificationType4=Cm;var Mm=class extends Qe{constructor(e){super(e,5)}};ne.NotificationType5=Mm;var Lm=class extends Qe{constructor(e){super(e,6)}};ne.NotificationType6=Lm;var Nm=class extends Qe{constructor(e){super(e,7)}};ne.NotificationType7=Nm;var qm=class extends Qe{constructor(e){super(e,8)}};ne.NotificationType8=qm;var jm=class extends Qe{constructor(e){super(e,9)}};ne.NotificationType9=jm;var K0;(function(t){function e(i){let s=i;return s&&$s.string(s.method)&&($s.string(s.id)||$s.number(s.id))}t.isRequest=e;function n(i){let s=i;return s&&$s.string(s.method)&&i.id===void 0}t.isNotification=n;function r(i){let s=i;return s&&(s.result!==void 0||!!s.error)&&($s.string(s.id)||$s.number(s.id)||s.id===null)}t.isResponse=r})(K0||(ne.Message=K0={}))});var $m=f(Zi=>{"use strict";var W0;Object.defineProperty(Zi,"__esModule",{value:!0});Zi.LRUCache=Zi.LinkedMap=Zi.Touch=void 0;var an;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(an||(Zi.Touch=an={}));var Wl=class{constructor(){this[W0]="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(e){return this._map.has(e)}get(e,n=an.None){let r=this._map.get(e);if(r)return n!==an.None&&this.touch(r,n),r.value}set(e,n,r=an.None){let i=this._map.get(e);if(i)i.value=n,r!==an.None&&this.touch(i,r);else{switch(i={key:e,value:n,next:void 0,previous:void 0},r){case an.None:this.addItemLast(i);break;case an.First:this.addItemFirst(i);break;case an.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let n=this._map.get(e);if(n)return this._map.delete(e),this.removeItem(n),this._size--,n.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,n){let r=this._state,i=this._head;for(;i;){if(n?e.bind(n)(i.value,i.key,this):e(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.key,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}values(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.value,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}entries(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:[n.key,n.value],done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}[(W0=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let n=this._head,r=this.size;for(;n&&r>e;)this._map.delete(n.key),n=n.next,r--;this._head=n,this._size=r,n&&(n.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let n=e.next,r=e.previous;if(!n||!r)throw new Error("Invalid list");n.previous=r,r.next=n}e.next=void 0,e.previous=void 0,this._state++}touch(e,n){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(n!==an.First&&n!==an.Last)){if(n===an.First){if(e===this._head)return;let r=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(n===an.Last){if(e===this._tail)return;let r=e.next,i=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((n,r)=>{e.push([r,n])}),e}fromJSON(e){this.clear();for(let[n,r]of e)this.set(n,r)}};Zi.LinkedMap=Wl;var Bm=class extends Wl{constructor(e,n=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,n),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,n=an.AsNew){return super.get(e,n)}peek(e){return super.get(e,an.None)}set(e,n){return super.set(e,n,an.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Zi.LRUCache=Bm});var H0=f(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});Gl.Disposable=void 0;var G0;(function(t){function e(n){return{dispose:n}}t.create=e})(G0||(Gl.Disposable=G0={}))});var es=f(Wm=>{"use strict";Object.defineProperty(Wm,"__esModule",{value:!0});var Um;function Km(){if(Um===void 0)throw new Error("No runtime abstraction layer installed");return Um}(function(t){function e(n){if(n===void 0)throw new Error("No runtime abstraction layer provided");Um=n}t.install=e})(Km||(Km={}));Wm.default=Km});var Uo=f($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.Emitter=$o.Event=void 0;var JM=es(),V0;(function(t){let e={dispose(){}};t.None=function(){return e}})(V0||($o.Event=V0={}));var Gm=class{add(e,n=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(n),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,n)})}remove(e,n=null){if(!this._callbacks)return;let r=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===n){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,o=r.length;s<o;s++)try{n.push(r[s].apply(i[s],e))}catch(a){(0,JM.default)().console.error(a)}return n}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Hl=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,n,r)=>{this._callbacks||(this._callbacks=new Gm),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,n);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,n),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};$o.Emitter=Hl;Hl._noop=function(){}});var Xl=f(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.CancellationTokenSource=Ko.CancellationToken=void 0;var QM=es(),ZM=Bo(),Hm=Uo(),Vl;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Hm.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Hm.Event.None});function e(n){let r=n;return r&&(r===t.None||r===t.Cancelled||ZM.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}t.is=e})(Vl||(Ko.CancellationToken=Vl={}));var eL=Object.freeze(function(t,e){let n=(0,QM.default)().timer.setTimeout(t.bind(e),0);return{dispose(){n.dispose()}}}),zl=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?eL:(this._emitter||(this._emitter=new Hm.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Vm=class{get token(){return this._token||(this._token=new zl),this._token}cancel(){this._token?this._token.cancel():this._token=Vl.Cancelled}dispose(){this._token?this._token instanceof zl&&this._token.dispose():this._token=Vl.None}};Ko.CancellationTokenSource=Vm});var z0=f(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.SharedArrayReceiverStrategy=Wo.SharedArraySenderStrategy=void 0;var tL=Xl(),Tu;(function(t){t.Continue=0,t.Cancelled=1})(Tu||(Tu={}));var zm=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let n=new SharedArrayBuffer(4),r=new Int32Array(n,0,1);r[0]=Tu.Continue,this.buffers.set(e.id,n),e.$cancellationData=n}async sendCancellation(e,n){let r=this.buffers.get(n);if(r===void 0)return;let i=new Int32Array(r,0,1);Atomics.store(i,0,Tu.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Wo.SharedArraySenderStrategy=zm;var Xm=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Tu.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},Ym=class{constructor(e){this.token=new Xm(e)}cancel(){}dispose(){}},Jm=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let n=e.$cancellationData;return n===void 0?new tL.CancellationTokenSource:new Ym(n)}};Wo.SharedArrayReceiverStrategy=Jm});var Zm=f(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});Yl.Semaphore=void 0;var nL=es(),Qm=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((n,r)=>{this._waiting.push({thunk:e,resolve:n,reject:r}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,nL.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let n=e.thunk();n instanceof Promise?n.then(r=>{this._active--,e.resolve(r),this.runNext()},r=>{this._active--,e.reject(r),this.runNext()}):(this._active--,e.resolve(n),this.runNext())}catch(n){this._active--,e.reject(n),this.runNext()}}};Yl.Semaphore=Qm});var Y0=f(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.ReadableStreamMessageReader=ts.AbstractMessageReader=ts.MessageReader=void 0;var ty=es(),Go=Bo(),ey=Uo(),rL=Zm(),X0;(function(t){function e(n){let r=n;return r&&Go.func(r.listen)&&Go.func(r.dispose)&&Go.func(r.onError)&&Go.func(r.onClose)&&Go.func(r.onPartialMessage)}t.is=e})(X0||(ts.MessageReader=X0={}));var Jl=class{constructor(){this.errorEmitter=new ey.Emitter,this.closeEmitter=new ey.Emitter,this.partialMessageEmitter=new ey.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${Go.string(e.message)?e.message:"unknown"}`)}};ts.AbstractMessageReader=Jl;var ny;(function(t){function e(n){let r,i,s,o=new Map,a,u=new Map;if(n===void 0||typeof n=="string")r=n??"utf-8";else{if(r=n.charset??"utf-8",n.contentDecoder!==void 0&&(s=n.contentDecoder,o.set(s.name,s)),n.contentDecoders!==void 0)for(let c of n.contentDecoders)o.set(c.name,c);if(n.contentTypeDecoder!==void 0&&(a=n.contentTypeDecoder,u.set(a.name,a)),n.contentTypeDecoders!==void 0)for(let c of n.contentTypeDecoders)u.set(c.name,c)}return a===void 0&&(a=(0,ty.default)().applicationJson.decoder,u.set(a.name,a)),{charset:r,contentDecoder:s,contentDecoders:o,contentTypeDecoder:a,contentTypeDecoders:u}}t.fromOptions=e})(ny||(ny={}));var ry=class extends Jl{constructor(e,n){super(),this.readable=e,this.options=ny.fromOptions(n),this.buffer=(0,ty.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new rL.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let n=this.readable.onData(r=>{this.onData(r)});return this.readable.onError(r=>this.fireError(r)),this.readable.onClose(()=>this.fireClose()),n}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let r=this.buffer.tryReadHeaders(!0);if(!r)return;let i=r.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
${JSON.stringify(Object.fromEntries(r))}`));return}let s=parseInt(i);if(isNaN(s)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=s}let n=this.buffer.tryReadBody(this.nextMessageLength);if(n===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let r=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(n):n,i=await this.options.contentTypeDecoder.decode(r,this.options);this.callback(i)}).catch(r=>{this.fireError(r)})}}catch(n){this.fireError(n)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,ty.default)().timer.setTimeout((e,n)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:n}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};ts.ReadableStreamMessageReader=ry});var tx=f(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.WriteableStreamMessageWriter=ns.AbstractMessageWriter=ns.MessageWriter=void 0;var J0=es(),wu=Bo(),iL=Zm(),Q0=Uo(),sL="Content-Length: ",Z0=`\r
`,ex;(function(t){function e(n){let r=n;return r&&wu.func(r.dispose)&&wu.func(r.onClose)&&wu.func(r.onError)&&wu.func(r.write)}t.is=e})(ex||(ns.MessageWriter=ex={}));var Ql=class{constructor(){this.errorEmitter=new Q0.Emitter,this.closeEmitter=new Q0.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,n,r){this.errorEmitter.fire([this.asError(e),n,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${wu.string(e.message)?e.message:"unknown"}`)}};ns.AbstractMessageWriter=Ql;var iy;(function(t){function e(n){return n===void 0||typeof n=="string"?{charset:n??"utf-8",contentTypeEncoder:(0,J0.default)().applicationJson.encoder}:{charset:n.charset??"utf-8",contentEncoder:n.contentEncoder,contentTypeEncoder:n.contentTypeEncoder??(0,J0.default)().applicationJson.encoder}}t.fromOptions=e})(iy||(iy={}));var sy=class extends Ql{constructor(e,n){super(),this.writable=e,this.options=iy.fromOptions(n),this.errorCount=0,this.writeSemaphore=new iL.Semaphore(1),this.writable.onError(r=>this.fireError(r)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(r=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(r):r).then(r=>{let i=[];return i.push(sL,r.byteLength.toString(),Z0),i.push(Z0),this.doWrite(e,i,r)},r=>{throw this.fireError(r),r}))}async doWrite(e,n,r){try{return await this.writable.write(n.join(""),"ascii"),this.writable.write(r)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,n){this.errorCount++,this.fireError(e,n,this.errorCount)}end(){this.writable.end()}};ns.WriteableStreamMessageWriter=sy});var nx=f(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});Zl.AbstractMessageBuffer=void 0;var oL=13,aL=10,uL=`\r
`,oy=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let n=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(n),this._totalLength+=n.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let n=0,r=0,i=0,s=0;e:for(;r<this._chunks.length;){let c=this._chunks[r];for(i=0;i<c.length;){switch(c[i]){case oL:switch(n){case 0:n=1;break;case 2:n=3;break;default:n=0}break;case aL:switch(n){case 1:n=2;break;case 3:n=4,i++;break e;default:n=0}break;default:n=0}i++}s+=c.byteLength,r++}if(n!==4)return;let o=this._read(s+i),a=new Map,u=this.toString(o,"ascii").split(uL);if(u.length<2)return a;for(let c=0;c<u.length-2;c++){let l=u[c],p=l.indexOf(":");if(p===-1)throw new Error(`Message header must separate key and value using ':'
${l}`);let h=l.substr(0,p),m=l.substr(p+1).trim();a.set(e?h.toLowerCase():h,m)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let s=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(s)}if(this._chunks[0].byteLength>e){let s=this._chunks[0],o=this.asNative(s,e);return this._chunks[0]=s.slice(e),this._totalLength-=e,o}let n=this.allocNative(e),r=0,i=0;for(;e>0;){let s=this._chunks[i];if(s.byteLength>e){let o=s.slice(0,e);n.set(o,r),r+=e,this._chunks[i]=s.slice(e),this._totalLength-=e,e-=e}else n.set(s,r),r+=s.byteLength,this._chunks.shift(),this._totalLength-=s.byteLength,e-=s.byteLength}return n}};Zl.AbstractMessageBuffer=oy});var ax=f(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.createMessageConnection=me.ConnectionOptions=me.MessageStrategy=me.CancellationStrategy=me.CancellationSenderStrategy=me.CancellationReceiverStrategy=me.RequestCancellationReceiverStrategy=me.IdCancellationReceiverStrategy=me.ConnectionStrategy=me.ConnectionError=me.ConnectionErrors=me.LogTraceNotification=me.SetTraceNotification=me.TraceFormat=me.TraceValues=me.Trace=me.NullLogger=me.ProgressType=me.ProgressToken=void 0;var rx=es(),pt=Bo(),ue=Fm(),ix=$m(),xu=Uo(),ay=Xl(),Au;(function(t){t.type=new ue.NotificationType("$/cancelRequest")})(Au||(Au={}));var uy;(function(t){function e(n){return typeof n=="string"||typeof n=="number"}t.is=e})(uy||(me.ProgressToken=uy={}));var Eu;(function(t){t.type=new ue.NotificationType("$/progress")})(Eu||(Eu={}));var cy=class{constructor(){}};me.ProgressType=cy;var ly;(function(t){function e(n){return pt.func(n)}t.is=e})(ly||(ly={}));me.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Me;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Me||(me.Trace=Me={}));var sx;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(sx||(me.TraceValues=sx={}));(function(t){function e(r){if(!pt.string(r))return t.Off;switch(r=r.toLowerCase(),r){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function n(r){switch(r){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=n})(Me||(me.Trace=Me={}));var Kn;(function(t){t.Text="text",t.JSON="json"})(Kn||(me.TraceFormat=Kn={}));(function(t){function e(n){return pt.string(n)?(n=n.toLowerCase(),n==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(Kn||(me.TraceFormat=Kn={}));var py;(function(t){t.type=new ue.NotificationType("$/setTrace")})(py||(me.SetTraceNotification=py={}));var ep;(function(t){t.type=new ue.NotificationType("$/logTrace")})(ep||(me.LogTraceNotification=ep={}));var ku;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(ku||(me.ConnectionErrors=ku={}));var Ho=class t extends Error{constructor(e,n){super(n),this.code=e,Object.setPrototypeOf(this,t.prototype)}};me.ConnectionError=Ho;var hy;(function(t){function e(n){let r=n;return r&&pt.func(r.cancelUndispatched)}t.is=e})(hy||(me.ConnectionStrategy=hy={}));var tp;(function(t){function e(n){let r=n;return r&&(r.kind===void 0||r.kind==="id")&&pt.func(r.createCancellationTokenSource)&&(r.dispose===void 0||pt.func(r.dispose))}t.is=e})(tp||(me.IdCancellationReceiverStrategy=tp={}));var dy;(function(t){function e(n){let r=n;return r&&r.kind==="request"&&pt.func(r.createCancellationTokenSource)&&(r.dispose===void 0||pt.func(r.dispose))}t.is=e})(dy||(me.RequestCancellationReceiverStrategy=dy={}));var np;(function(t){t.Message=Object.freeze({createCancellationTokenSource(n){return new ay.CancellationTokenSource}});function e(n){return tp.is(n)||dy.is(n)}t.is=e})(np||(me.CancellationReceiverStrategy=np={}));var rp;(function(t){t.Message=Object.freeze({sendCancellation(n,r){return n.sendNotification(Au.type,{id:r})},cleanup(n){}});function e(n){let r=n;return r&&pt.func(r.sendCancellation)&&pt.func(r.cleanup)}t.is=e})(rp||(me.CancellationSenderStrategy=rp={}));var ip;(function(t){t.Message=Object.freeze({receiver:np.Message,sender:rp.Message});function e(n){let r=n;return r&&np.is(r.receiver)&&rp.is(r.sender)}t.is=e})(ip||(me.CancellationStrategy=ip={}));var sp;(function(t){function e(n){let r=n;return r&&pt.func(r.handleMessage)}t.is=e})(sp||(me.MessageStrategy=sp={}));var ox;(function(t){function e(n){let r=n;return r&&(ip.is(r.cancellationStrategy)||hy.is(r.connectionStrategy)||sp.is(r.messageStrategy))}t.is=e})(ox||(me.ConnectionOptions=ox={}));var Ir;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(Ir||(Ir={}));function cL(t,e,n,r){let i=n!==void 0?n:me.NullLogger,s=0,o=0,a=0,u="2.0",c,l=new Map,p,h=new Map,m=new Map,b,v=new ix.LinkedMap,D=new Map,A=new Set,T=new Map,w=Me.Off,_=Kn.Text,N,O=Ir.New,G=new xu.Emitter,re=new xu.Emitter,ae=new xu.Emitter,K=new xu.Emitter,P=new xu.Emitter,M=r&&r.cancellationStrategy?r.cancellationStrategy:ip.Message;function L(x){if(x===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+x.toString()}function F(x){return x===null?"res-unknown-"+(++a).toString():"res-"+x.toString()}function he(){return"not-"+(++o).toString()}function ce(x,B){ue.Message.isRequest(B)?x.set(L(B.id),B):ue.Message.isResponse(B)?x.set(F(B.id),B):x.set(he(),B)}function $t(x){}function Et(){return O===Ir.Listening}function je(){return O===Ir.Closed}function Dn(){return O===Ir.Disposed}function Lo(){(O===Ir.New||O===Ir.Listening)&&(O=Ir.Closed,re.fire(void 0))}function Fs(x){G.fire([x,void 0,void 0])}function Ol(x){G.fire(x)}t.onClose(Lo),t.onError(Fs),e.onClose(Lo),e.onError(Ol);function yu(){b||v.size===0||(b=(0,rx.default)().timer.setImmediate(()=>{b=void 0,Rl()}))}function bu(x){ue.Message.isRequest(x)?Il(x):ue.Message.isNotification(x)?Ml(x):ue.Message.isResponse(x)?Cl(x):No(x)}function Rl(){if(v.size===0)return;let x=v.shift();try{let B=r?.messageStrategy;sp.is(B)?B.handleMessage(x,bu):bu(x)}finally{yu()}}let Dl=x=>{try{if(ue.Message.isNotification(x)&&x.method===Au.type.method){let B=x.params.id,V=L(B),J=v.get(V);if(ue.Message.isRequest(J)){let Le=r?.connectionStrategy,Je=Le&&Le.cancelUndispatched?Le.cancelUndispatched(J,$t):void 0;if(Je&&(Je.error!==void 0||Je.result!==void 0)){v.delete(V),T.delete(B),Je.id=J.id,Bs(Je,x.method,Date.now()),e.write(Je).catch(()=>i.error("Sending response for canceled message failed."));return}}let We=T.get(B);if(We!==void 0){We.cancel(),qo(x);return}else A.add(B)}ce(v,x)}finally{yu()}};function Il(x){if(Dn())return;function B(xe,He,De){let mt={jsonrpc:u,id:x.id};xe instanceof ue.ResponseError?mt.error=xe.toJson():mt.result=xe===void 0?null:xe,Bs(mt,He,De),e.write(mt).catch(()=>i.error("Sending response failed."))}function V(xe,He,De){let mt={jsonrpc:u,id:x.id,error:xe.toJson()};Bs(mt,He,De),e.write(mt).catch(()=>i.error("Sending response failed."))}function J(xe,He,De){xe===void 0&&(xe=null);let mt={jsonrpc:u,id:x.id,result:xe};Bs(mt,He,De),e.write(mt).catch(()=>i.error("Sending response failed."))}ql(x);let We=l.get(x.method),Le,Je;We&&(Le=We.type,Je=We.handler);let rt=Date.now();if(Je||c){let xe=x.id??String(Date.now()),He=tp.is(M.receiver)?M.receiver.createCancellationTokenSource(xe):M.receiver.createCancellationTokenSource(x);x.id!==null&&A.has(x.id)&&He.cancel(),x.id!==null&&T.set(xe,He);try{let De;if(Je)if(x.params===void 0){if(Le!==void 0&&Le.numberOfParams!==0){V(new ue.ResponseError(ue.ErrorCodes.InvalidParams,`Request ${x.method} defines ${Le.numberOfParams} params but received none.`),x.method,rt);return}De=Je(He.token)}else if(Array.isArray(x.params)){if(Le!==void 0&&Le.parameterStructures===ue.ParameterStructures.byName){V(new ue.ResponseError(ue.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by name but received parameters by position`),x.method,rt);return}De=Je(...x.params,He.token)}else{if(Le!==void 0&&Le.parameterStructures===ue.ParameterStructures.byPosition){V(new ue.ResponseError(ue.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by position but received parameters by name`),x.method,rt);return}De=Je(x.params,He.token)}else c&&(De=c(x.method,x.params,He.token));let mt=De;De?mt.then?mt.then(Ut=>{T.delete(xe),B(Ut,x.method,rt)},Ut=>{T.delete(xe),Ut instanceof ue.ResponseError?V(Ut,x.method,rt):Ut&&pt.string(Ut.message)?V(new ue.ResponseError(ue.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${Ut.message}`),x.method,rt):V(new ue.ResponseError(ue.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,rt)}):(T.delete(xe),B(De,x.method,rt)):(T.delete(xe),J(De,x.method,rt))}catch(De){T.delete(xe),De instanceof ue.ResponseError?B(De,x.method,rt):De&&pt.string(De.message)?V(new ue.ResponseError(ue.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${De.message}`),x.method,rt):V(new ue.ResponseError(ue.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,rt)}}else V(new ue.ResponseError(ue.ErrorCodes.MethodNotFound,`Unhandled method ${x.method}`),x.method,rt)}function Cl(x){if(!Dn())if(x.id===null)x.error?i.error(`Received response message without id: Error is:
${JSON.stringify(x.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let B=x.id,V=D.get(B);if(jl(x,V),V!==void 0){D.delete(B);try{if(x.error){let J=x.error;V.reject(new ue.ResponseError(J.code,J.message,J.data))}else if(x.result!==void 0)V.resolve(x.result);else throw new Error("Should never happen.")}catch(J){J.message?i.error(`Response handler '${V.method}' failed with message: ${J.message}`):i.error(`Response handler '${V.method}' failed unexpectedly.`)}}}}function Ml(x){if(Dn())return;let B,V;if(x.method===Au.type.method){let J=x.params.id;A.delete(J),qo(x);return}else{let J=h.get(x.method);J&&(V=J.handler,B=J.type)}if(V||p)try{if(qo(x),V)if(x.params===void 0)B!==void 0&&B.numberOfParams!==0&&B.parameterStructures!==ue.ParameterStructures.byName&&i.error(`Notification ${x.method} defines ${B.numberOfParams} params but received none.`),V();else if(Array.isArray(x.params)){let J=x.params;x.method===Eu.type.method&&J.length===2&&uy.is(J[0])?V({token:J[0],value:J[1]}):(B!==void 0&&(B.parameterStructures===ue.ParameterStructures.byName&&i.error(`Notification ${x.method} defines parameters by name but received parameters by position`),B.numberOfParams!==x.params.length&&i.error(`Notification ${x.method} defines ${B.numberOfParams} params but received ${J.length} arguments`)),V(...J))}else B!==void 0&&B.parameterStructures===ue.ParameterStructures.byPosition&&i.error(`Notification ${x.method} defines parameters by position but received parameters by name`),V(x.params);else p&&p(x.method,x.params)}catch(J){J.message?i.error(`Notification handler '${x.method}' failed with message: ${J.message}`):i.error(`Notification handler '${x.method}' failed unexpectedly.`)}else ae.fire(x)}function No(x){if(!x){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
${JSON.stringify(x,null,4)}`);let B=x;if(pt.string(B.id)||pt.number(B.id)){let V=B.id,J=D.get(V);J&&J.reject(new Error("The received response has neither a result nor an error property."))}}function Or(x){if(x!=null)switch(w){case Me.Verbose:return JSON.stringify(x,null,4);case Me.Compact:return JSON.stringify(x);default:return}}function Ll(x){if(!(w===Me.Off||!N))if(_===Kn.Text){let B;(w===Me.Verbose||w===Me.Compact)&&x.params&&(B=`Params: ${Or(x.params)}
`),N.log(`Sending request '${x.method} - (${x.id})'.`,B)}else xi("send-request",x)}function Nl(x){if(!(w===Me.Off||!N))if(_===Kn.Text){let B;(w===Me.Verbose||w===Me.Compact)&&(x.params?B=`Params: ${Or(x.params)}
`:B=`No parameters provided.
`),N.log(`Sending notification '${x.method}'.`,B)}else xi("send-notification",x)}function Bs(x,B,V){if(!(w===Me.Off||!N))if(_===Kn.Text){let J;(w===Me.Verbose||w===Me.Compact)&&(x.error&&x.error.data?J=`Error data: ${Or(x.error.data)}
`:x.result?J=`Result: ${Or(x.result)}
`:x.error===void 0&&(J=`No result returned.
`)),N.log(`Sending response '${B} - (${x.id})'. Processing request took ${Date.now()-V}ms`,J)}else xi("send-response",x)}function ql(x){if(!(w===Me.Off||!N))if(_===Kn.Text){let B;(w===Me.Verbose||w===Me.Compact)&&x.params&&(B=`Params: ${Or(x.params)}
`),N.log(`Received request '${x.method} - (${x.id})'.`,B)}else xi("receive-request",x)}function qo(x){if(!(w===Me.Off||!N||x.method===ep.type.method))if(_===Kn.Text){let B;(w===Me.Verbose||w===Me.Compact)&&(x.params?B=`Params: ${Or(x.params)}
`:B=`No parameters provided.
`),N.log(`Received notification '${x.method}'.`,B)}else xi("receive-notification",x)}function jl(x,B){if(!(w===Me.Off||!N))if(_===Kn.Text){let V;if((w===Me.Verbose||w===Me.Compact)&&(x.error&&x.error.data?V=`Error data: ${Or(x.error.data)}
`:x.result?V=`Result: ${Or(x.result)}
`:x.error===void 0&&(V=`No result returned.
`)),B){let J=x.error?` Request failed: ${x.error.message} (${x.error.code}).`:"";N.log(`Received response '${B.method} - (${x.id})' in ${Date.now()-B.timerStart}ms.${J}`,V)}else N.log(`Received response ${x.id} without active response promise.`,V)}else xi("receive-response",x)}function xi(x,B){if(!N||w===Me.Off)return;let V={isLSPMessage:!0,type:x,message:B,timestamp:Date.now()};N.log(V)}function Qi(){if(je())throw new Ho(ku.Closed,"Connection is closed.");if(Dn())throw new Ho(ku.Disposed,"Connection is disposed.")}function Fl(){if(Et())throw new Ho(ku.AlreadyListening,"Connection is already listening")}function Bl(){if(!Et())throw new Error("Call listen() first.")}function Qr(x){return x===void 0?null:x}function _u(x){if(x!==null)return x}function vu(x){return x!=null&&!Array.isArray(x)&&typeof x=="object"}function jo(x,B){switch(x){case ue.ParameterStructures.auto:return vu(B)?_u(B):[Qr(B)];case ue.ParameterStructures.byName:if(!vu(B))throw new Error("Received parameters by name but param is not an object literal.");return _u(B);case ue.ParameterStructures.byPosition:return[Qr(B)];default:throw new Error(`Unknown parameter structure ${x.toString()}`)}}function Su(x,B){let V,J=x.numberOfParams;switch(J){case 0:V=void 0;break;case 1:V=jo(x.parameterStructures,B[0]);break;default:V=[];for(let We=0;We<B.length&&We<J;We++)V.push(Qr(B[We]));if(B.length<J)for(let We=B.length;We<J;We++)V.push(null);break}return V}let Ei={sendNotification:(x,...B)=>{Qi();let V,J;if(pt.string(x)){V=x;let Le=B[0],Je=0,rt=ue.ParameterStructures.auto;ue.ParameterStructures.is(Le)&&(Je=1,rt=Le);let xe=B.length,He=xe-Je;switch(He){case 0:J=void 0;break;case 1:J=jo(rt,B[Je]);break;default:if(rt===ue.ParameterStructures.byName)throw new Error(`Received ${He} parameters for 'by Name' notification parameter structure.`);J=B.slice(Je,xe).map(De=>Qr(De));break}}else{let Le=B;V=x.method,J=Su(x,Le)}let We={jsonrpc:u,method:V,params:J};return Nl(We),e.write(We).catch(Le=>{throw i.error("Sending notification failed."),Le})},onNotification:(x,B)=>{Qi();let V;return pt.func(x)?p=x:B&&(pt.string(x)?(V=x,h.set(x,{type:void 0,handler:B})):(V=x.method,h.set(x.method,{type:x,handler:B}))),{dispose:()=>{V!==void 0?h.delete(V):p=void 0}}},onProgress:(x,B,V)=>{if(m.has(B))throw new Error(`Progress handler for token ${B} already registered`);return m.set(B,V),{dispose:()=>{m.delete(B)}}},sendProgress:(x,B,V)=>Ei.sendNotification(Eu.type,{token:B,value:V}),onUnhandledProgress:K.event,sendRequest:(x,...B)=>{Qi(),Bl();let V,J,We;if(pt.string(x)){V=x;let xe=B[0],He=B[B.length-1],De=0,mt=ue.ParameterStructures.auto;ue.ParameterStructures.is(xe)&&(De=1,mt=xe);let Ut=B.length;ay.CancellationToken.is(He)&&(Ut=Ut-1,We=He);let Un=Ut-De;switch(Un){case 0:J=void 0;break;case 1:J=jo(mt,B[De]);break;default:if(mt===ue.ParameterStructures.byName)throw new Error(`Received ${Un} parameters for 'by Name' request parameter structure.`);J=B.slice(De,Ut).map($l=>Qr($l));break}}else{let xe=B;V=x.method,J=Su(x,xe);let He=x.numberOfParams;We=ay.CancellationToken.is(xe[He])?xe[He]:void 0}let Le=s++,Je;We&&(Je=We.onCancellationRequested(()=>{let xe=M.sender.sendCancellation(Ei,Le);return xe===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Le}`),Promise.resolve()):xe.catch(()=>{i.log(`Sending cancellation messages for id ${Le} failed`)})}));let rt={jsonrpc:u,id:Le,method:V,params:J};return Ll(rt),typeof M.sender.enableCancellation=="function"&&M.sender.enableCancellation(rt),new Promise(async(xe,He)=>{let De=Un=>{xe(Un),M.sender.cleanup(Le),Je?.dispose()},mt=Un=>{He(Un),M.sender.cleanup(Le),Je?.dispose()},Ut={method:V,timerStart:Date.now(),resolve:De,reject:mt};try{await e.write(rt),D.set(Le,Ut)}catch(Un){throw i.error("Sending request failed."),Ut.reject(new ue.ResponseError(ue.ErrorCodes.MessageWriteError,Un.message?Un.message:"Unknown reason")),Un}})},onRequest:(x,B)=>{Qi();let V=null;return ly.is(x)?(V=void 0,c=x):pt.string(x)?(V=null,B!==void 0&&(V=x,l.set(x,{handler:B,type:void 0}))):B!==void 0&&(V=x.method,l.set(x.method,{type:x,handler:B})),{dispose:()=>{V!==null&&(V!==void 0?l.delete(V):c=void 0)}}},hasPendingResponse:()=>D.size>0,trace:async(x,B,V)=>{let J=!1,We=Kn.Text;V!==void 0&&(pt.boolean(V)?J=V:(J=V.sendNotification||!1,We=V.traceFormat||Kn.Text)),w=x,_=We,w===Me.Off?N=void 0:N=B,J&&!je()&&!Dn()&&await Ei.sendNotification(py.type,{value:Me.toString(x)})},onError:G.event,onClose:re.event,onUnhandledNotification:ae.event,onDispose:P.event,end:()=>{e.end()},dispose:()=>{if(Dn())return;O=Ir.Disposed,P.fire(void 0);let x=new ue.ResponseError(ue.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let B of D.values())B.reject(x);D=new Map,T=new Map,A=new Set,v=new ix.LinkedMap,pt.func(e.dispose)&&e.dispose(),pt.func(t.dispose)&&t.dispose()},listen:()=>{Qi(),Fl(),O=Ir.Listening,t.listen(Dl)},inspect:()=>{(0,rx.default)().console.log("inspect")}};return Ei.onNotification(ep.type,x=>{if(w===Me.Off||!N)return;let B=w===Me.Verbose||w===Me.Compact;N.log(x.message,B?x.verbose:void 0)}),Ei.onNotification(Eu.type,x=>{let B=m.get(x.token);B?B(x.value):K.fire(x)}),Ei}me.createMessageConnection=cL});var op=f(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.ProgressType=q.ProgressToken=q.createMessageConnection=q.NullLogger=q.ConnectionOptions=q.ConnectionStrategy=q.AbstractMessageBuffer=q.WriteableStreamMessageWriter=q.AbstractMessageWriter=q.MessageWriter=q.ReadableStreamMessageReader=q.AbstractMessageReader=q.MessageReader=q.SharedArrayReceiverStrategy=q.SharedArraySenderStrategy=q.CancellationToken=q.CancellationTokenSource=q.Emitter=q.Event=q.Disposable=q.LRUCache=q.Touch=q.LinkedMap=q.ParameterStructures=q.NotificationType9=q.NotificationType8=q.NotificationType7=q.NotificationType6=q.NotificationType5=q.NotificationType4=q.NotificationType3=q.NotificationType2=q.NotificationType1=q.NotificationType0=q.NotificationType=q.ErrorCodes=q.ResponseError=q.RequestType9=q.RequestType8=q.RequestType7=q.RequestType6=q.RequestType5=q.RequestType4=q.RequestType3=q.RequestType2=q.RequestType1=q.RequestType0=q.RequestType=q.Message=q.RAL=void 0;q.MessageStrategy=q.CancellationStrategy=q.CancellationSenderStrategy=q.CancellationReceiverStrategy=q.ConnectionError=q.ConnectionErrors=q.LogTraceNotification=q.SetTraceNotification=q.TraceFormat=q.TraceValues=q.Trace=void 0;var Ye=Fm();Object.defineProperty(q,"Message",{enumerable:!0,get:function(){return Ye.Message}});Object.defineProperty(q,"RequestType",{enumerable:!0,get:function(){return Ye.RequestType}});Object.defineProperty(q,"RequestType0",{enumerable:!0,get:function(){return Ye.RequestType0}});Object.defineProperty(q,"RequestType1",{enumerable:!0,get:function(){return Ye.RequestType1}});Object.defineProperty(q,"RequestType2",{enumerable:!0,get:function(){return Ye.RequestType2}});Object.defineProperty(q,"RequestType3",{enumerable:!0,get:function(){return Ye.RequestType3}});Object.defineProperty(q,"RequestType4",{enumerable:!0,get:function(){return Ye.RequestType4}});Object.defineProperty(q,"RequestType5",{enumerable:!0,get:function(){return Ye.RequestType5}});Object.defineProperty(q,"RequestType6",{enumerable:!0,get:function(){return Ye.RequestType6}});Object.defineProperty(q,"RequestType7",{enumerable:!0,get:function(){return Ye.RequestType7}});Object.defineProperty(q,"RequestType8",{enumerable:!0,get:function(){return Ye.RequestType8}});Object.defineProperty(q,"RequestType9",{enumerable:!0,get:function(){return Ye.RequestType9}});Object.defineProperty(q,"ResponseError",{enumerable:!0,get:function(){return Ye.ResponseError}});Object.defineProperty(q,"ErrorCodes",{enumerable:!0,get:function(){return Ye.ErrorCodes}});Object.defineProperty(q,"NotificationType",{enumerable:!0,get:function(){return Ye.NotificationType}});Object.defineProperty(q,"NotificationType0",{enumerable:!0,get:function(){return Ye.NotificationType0}});Object.defineProperty(q,"NotificationType1",{enumerable:!0,get:function(){return Ye.NotificationType1}});Object.defineProperty(q,"NotificationType2",{enumerable:!0,get:function(){return Ye.NotificationType2}});Object.defineProperty(q,"NotificationType3",{enumerable:!0,get:function(){return Ye.NotificationType3}});Object.defineProperty(q,"NotificationType4",{enumerable:!0,get:function(){return Ye.NotificationType4}});Object.defineProperty(q,"NotificationType5",{enumerable:!0,get:function(){return Ye.NotificationType5}});Object.defineProperty(q,"NotificationType6",{enumerable:!0,get:function(){return Ye.NotificationType6}});Object.defineProperty(q,"NotificationType7",{enumerable:!0,get:function(){return Ye.NotificationType7}});Object.defineProperty(q,"NotificationType8",{enumerable:!0,get:function(){return Ye.NotificationType8}});Object.defineProperty(q,"NotificationType9",{enumerable:!0,get:function(){return Ye.NotificationType9}});Object.defineProperty(q,"ParameterStructures",{enumerable:!0,get:function(){return Ye.ParameterStructures}});var fy=$m();Object.defineProperty(q,"LinkedMap",{enumerable:!0,get:function(){return fy.LinkedMap}});Object.defineProperty(q,"LRUCache",{enumerable:!0,get:function(){return fy.LRUCache}});Object.defineProperty(q,"Touch",{enumerable:!0,get:function(){return fy.Touch}});var lL=H0();Object.defineProperty(q,"Disposable",{enumerable:!0,get:function(){return lL.Disposable}});var ux=Uo();Object.defineProperty(q,"Event",{enumerable:!0,get:function(){return ux.Event}});Object.defineProperty(q,"Emitter",{enumerable:!0,get:function(){return ux.Emitter}});var cx=Xl();Object.defineProperty(q,"CancellationTokenSource",{enumerable:!0,get:function(){return cx.CancellationTokenSource}});Object.defineProperty(q,"CancellationToken",{enumerable:!0,get:function(){return cx.CancellationToken}});var lx=z0();Object.defineProperty(q,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return lx.SharedArraySenderStrategy}});Object.defineProperty(q,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return lx.SharedArrayReceiverStrategy}});var gy=Y0();Object.defineProperty(q,"MessageReader",{enumerable:!0,get:function(){return gy.MessageReader}});Object.defineProperty(q,"AbstractMessageReader",{enumerable:!0,get:function(){return gy.AbstractMessageReader}});Object.defineProperty(q,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return gy.ReadableStreamMessageReader}});var my=tx();Object.defineProperty(q,"MessageWriter",{enumerable:!0,get:function(){return my.MessageWriter}});Object.defineProperty(q,"AbstractMessageWriter",{enumerable:!0,get:function(){return my.AbstractMessageWriter}});Object.defineProperty(q,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return my.WriteableStreamMessageWriter}});var pL=nx();Object.defineProperty(q,"AbstractMessageBuffer",{enumerable:!0,get:function(){return pL.AbstractMessageBuffer}});var Qt=ax();Object.defineProperty(q,"ConnectionStrategy",{enumerable:!0,get:function(){return Qt.ConnectionStrategy}});Object.defineProperty(q,"ConnectionOptions",{enumerable:!0,get:function(){return Qt.ConnectionOptions}});Object.defineProperty(q,"NullLogger",{enumerable:!0,get:function(){return Qt.NullLogger}});Object.defineProperty(q,"createMessageConnection",{enumerable:!0,get:function(){return Qt.createMessageConnection}});Object.defineProperty(q,"ProgressToken",{enumerable:!0,get:function(){return Qt.ProgressToken}});Object.defineProperty(q,"ProgressType",{enumerable:!0,get:function(){return Qt.ProgressType}});Object.defineProperty(q,"Trace",{enumerable:!0,get:function(){return Qt.Trace}});Object.defineProperty(q,"TraceValues",{enumerable:!0,get:function(){return Qt.TraceValues}});Object.defineProperty(q,"TraceFormat",{enumerable:!0,get:function(){return Qt.TraceFormat}});Object.defineProperty(q,"SetTraceNotification",{enumerable:!0,get:function(){return Qt.SetTraceNotification}});Object.defineProperty(q,"LogTraceNotification",{enumerable:!0,get:function(){return Qt.LogTraceNotification}});Object.defineProperty(q,"ConnectionErrors",{enumerable:!0,get:function(){return Qt.ConnectionErrors}});Object.defineProperty(q,"ConnectionError",{enumerable:!0,get:function(){return Qt.ConnectionError}});Object.defineProperty(q,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Qt.CancellationReceiverStrategy}});Object.defineProperty(q,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Qt.CancellationSenderStrategy}});Object.defineProperty(q,"CancellationStrategy",{enumerable:!0,get:function(){return Qt.CancellationStrategy}});Object.defineProperty(q,"MessageStrategy",{enumerable:!0,get:function(){return Qt.MessageStrategy}});var hL=es();q.RAL=hL.default});var dx=f(vy=>{"use strict";Object.defineProperty(vy,"__esModule",{value:!0});var px=require("util"),Ai=op(),ap=class t extends Ai.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return t.emptyBuffer}fromString(e,n){return Buffer.from(e,n)}toString(e,n){return e instanceof Buffer?e.toString(n):new px.TextDecoder(n).decode(e)}asNative(e,n){return n===void 0?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,n):Buffer.from(e,0,n)}allocNative(e){return Buffer.allocUnsafe(e)}};ap.emptyBuffer=Buffer.allocUnsafe(0);var yy=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Ai.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Ai.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return thi