30 lines
50 KiB
JavaScript
30 lines
50 KiB
JavaScript
"use strict";var $=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var B=$(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});var Fe;function Ue(){if(Fe===void 0)throw new Error("No runtime abstraction layer installed");return Fe}(function(r){function e(t){if(t===void 0)throw new Error("No runtime abstraction layer provided");Fe=t}r.install=e})(Ue||(Ue={}));Je.default=Ue});var Ve=$(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.Disposable=void 0;var Kr;(function(r){function e(t){return{dispose:t}}r.create=e})(Kr=be.Disposable||(be.Disposable={}))});var ar=$(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.AbstractMessageBuffer=void 0;var Gr=13,Xr=10,Yr=`\r
|
|
`,He=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let t=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(this._chunks.length===0)return;let e=0,t=0,i=0,o=0;e:for(;t<this._chunks.length;){let C=this._chunks[t];for(i=0;i<C.length;){switch(C[i]){case Gr:switch(e){case 0:e=1;break;case 2:e=3;break;default:e=0}break;case Xr:switch(e){case 1:e=2;break;case 3:e=4,i++;break e;default:e=0}break;default:e=0}i++}o+=C.byteLength,t++}if(e!==4)return;let u=this._read(o+i),m=new Map,S=this.toString(u,"ascii").split(Yr);if(S.length<2)return m;for(let C=0;C<S.length-2;C++){let M=S[C],V=M.indexOf(":");if(V===-1)throw new Error("Message header must separate key and value using :");let G=M.substr(0,V),ae=M.substr(V+1).trim();m.set(G,ae)}return m}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 u=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(u)}if(this._chunks[0].byteLength>e){let u=this._chunks[0],m=this.asNative(u,e);return this._chunks[0]=u.slice(e),this._totalLength-=e,m}let t=this.allocNative(e),i=0,o=0;for(;e>0;){let u=this._chunks[o];if(u.byteLength>e){let m=u.slice(0,e);t.set(m,i),i+=e,this._chunks[o]=u.slice(e),this._totalLength-=e,e-=e}else t.set(u,i),i+=u.byteLength,this._chunks.shift(),this._totalLength-=u.byteLength,e-=u.byteLength}return t}};Ne.AbstractMessageBuffer=He});var dr=$(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});var Zr=B(),cr=require("util"),te=Ve(),en=ar(),ke=class r extends en.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return r.emptyBuffer}fromString(e,t){return Buffer.from(e,t)}toString(e,t){return e instanceof Buffer?e.toString(t):new cr.TextDecoder(t).decode(e)}asNative(e,t){return t===void 0?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,t):Buffer.from(e,0,t)}allocNative(e){return Buffer.allocUnsafe(e)}};ke.emptyBuffer=Buffer.allocUnsafe(0);var Qe=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),te.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),te.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),te.Disposable.create(()=>this.stream.off("end",e))}onData(e){return this.stream.on("data",e),te.Disposable.create(()=>this.stream.off("data",e))}},Ke=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),te.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),te.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),te.Disposable.create(()=>this.stream.off("end",e))}write(e,t){return new Promise((i,o)=>{let u=m=>{m==null?i():o(m)};typeof e=="string"?this.stream.write(e,t,u):this.stream.write(e,u)})}end(){this.stream.end()}},ur=Object.freeze({messageBuffer:Object.freeze({create:r=>new ke(r)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(r,e)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(r,void 0,0),e.charset))}catch(t){return Promise.reject(t)}}}),decoder:Object.freeze({name:"application/json",decode:(r,e)=>{try{return r instanceof Buffer?Promise.resolve(JSON.parse(r.toString(e.charset))):Promise.resolve(JSON.parse(new cr.TextDecoder(e.charset).decode(r)))}catch(t){return Promise.reject(t)}}})}),stream:Object.freeze({asReadableStream:r=>new Qe(r),asWritableStream:r=>new Ke(r)}),console,timer:Object.freeze({setTimeout(r,e,...t){let i=setTimeout(r,e,...t);return{dispose:()=>clearTimeout(i)}},setImmediate(r,...e){let t=setImmediate(r,...e);return{dispose:()=>clearImmediate(t)}},setInterval(r,e,...t){let i=setInterval(r,e,...t);return{dispose:()=>clearInterval(i)}}})});function Ge(){return ur}(function(r){function e(){Zr.default.install(ur)}r.install=e})(Ge||(Ge={}));Xe.default=Ge});var le=$(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.stringArray=j.array=j.func=j.error=j.number=j.string=j.boolean=void 0;function tn(r){return r===!0||r===!1}j.boolean=tn;function lr(r){return typeof r=="string"||r instanceof String}j.string=lr;function rn(r){return typeof r=="number"||r instanceof Number}j.number=rn;function nn(r){return r instanceof Error}j.error=nn;function sn(r){return typeof r=="function"}j.func=sn;function fr(r){return Array.isArray(r)}j.array=fr;function on(r){return fr(r)&&r.every(e=>lr(e))}j.stringArray=on});var wt=$(l=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0});l.Message=l.NotificationType9=l.NotificationType8=l.NotificationType7=l.NotificationType6=l.NotificationType5=l.NotificationType4=l.NotificationType3=l.NotificationType2=l.NotificationType1=l.NotificationType0=l.NotificationType=l.RequestType9=l.RequestType8=l.RequestType7=l.RequestType6=l.RequestType5=l.RequestType4=l.RequestType3=l.RequestType2=l.RequestType1=l.RequestType=l.RequestType0=l.AbstractMessageSignature=l.ParameterStructures=l.ResponseError=l.ErrorCodes=void 0;var re=le(),hr;(function(r){r.ParseError=-32700,r.InvalidRequest=-32600,r.MethodNotFound=-32601,r.InvalidParams=-32602,r.InternalError=-32603,r.jsonrpcReservedErrorRangeStart=-32099,r.serverErrorStart=-32099,r.MessageWriteError=-32099,r.MessageReadError=-32098,r.PendingResponseRejected=-32097,r.ConnectionInactive=-32096,r.ServerNotInitialized=-32002,r.UnknownErrorCode=-32001,r.jsonrpcReservedErrorRangeEnd=-32e3,r.serverErrorEnd=-32e3})(hr=l.ErrorCodes||(l.ErrorCodes={}));var Ye=class r extends Error{constructor(e,t,i){super(t),this.code=re.number(e)?e:hr.UnknownErrorCode,this.data=i,Object.setPrototypeOf(this,r.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};l.ResponseError=Ye;var D=class r{constructor(e){this.kind=e}static is(e){return e===r.auto||e===r.byName||e===r.byPosition}toString(){return this.kind}};l.ParameterStructures=D;D.auto=new D("auto");D.byPosition=new D("byPosition");D.byName=new D("byName");var T=class{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return D.auto}};l.AbstractMessageSignature=T;var Ze=class extends T{constructor(e){super(e,0)}};l.RequestType0=Ze;var et=class extends T{constructor(e,t=D.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};l.RequestType=et;var tt=class extends T{constructor(e,t=D.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};l.RequestType1=tt;var rt=class extends T{constructor(e){super(e,2)}};l.RequestType2=rt;var nt=class extends T{constructor(e){super(e,3)}};l.RequestType3=nt;var it=class extends T{constructor(e){super(e,4)}};l.RequestType4=it;var st=class extends T{constructor(e){super(e,5)}};l.RequestType5=st;var ot=class extends T{constructor(e){super(e,6)}};l.RequestType6=ot;var at=class extends T{constructor(e){super(e,7)}};l.RequestType7=at;var ct=class extends T{constructor(e){super(e,8)}};l.RequestType8=ct;var ut=class extends T{constructor(e){super(e,9)}};l.RequestType9=ut;var dt=class extends T{constructor(e,t=D.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};l.NotificationType=dt;var lt=class extends T{constructor(e){super(e,0)}};l.NotificationType0=lt;var ft=class extends T{constructor(e,t=D.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};l.NotificationType1=ft;var ht=class extends T{constructor(e){super(e,2)}};l.NotificationType2=ht;var pt=class extends T{constructor(e){super(e,3)}};l.NotificationType3=pt;var mt=class extends T{constructor(e){super(e,4)}};l.NotificationType4=mt;var gt=class extends T{constructor(e){super(e,5)}};l.NotificationType5=gt;var yt=class extends T{constructor(e){super(e,6)}};l.NotificationType6=yt;var bt=class extends T{constructor(e){super(e,7)}};l.NotificationType7=bt;var _t=class extends T{constructor(e){super(e,8)}};l.NotificationType8=_t;var vt=class extends T{constructor(e){super(e,9)}};l.NotificationType9=vt;var an;(function(r){function e(o){let u=o;return u&&re.string(u.method)&&(re.string(u.id)||re.number(u.id))}r.isRequest=e;function t(o){let u=o;return u&&re.string(u.method)&&o.id===void 0}r.isNotification=t;function i(o){let u=o;return u&&(u.result!==void 0||!!u.error)&&(re.string(u.id)||re.number(u.id)||u.id===null)}r.isResponse=i})(an=l.Message||(l.Message={}))});var Rt=$(F=>{"use strict";var pr;Object.defineProperty(F,"__esModule",{value:!0});F.LRUCache=F.LinkedMap=F.Touch=void 0;var L;(function(r){r.None=0,r.First=1,r.AsOld=r.First,r.Last=2,r.AsNew=r.Last})(L=F.Touch||(F.Touch={}));var Ce=class{constructor(){this[pr]="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,t=L.None){let i=this._map.get(e);if(i)return t!==L.None&&this.touch(i,t),i.value}set(e,t,i=L.None){let o=this._map.get(e);if(o)o.value=t,i!==L.None&&this.touch(o,i);else{switch(o={key:e,value:t,next:void 0,previous:void 0},i){case L.None:this.addItemLast(o);break;case L.First:this.addItemFirst(o);break;case L.Last:this.addItemLast(o);break;default:this.addItemLast(o);break}this._map.set(e,o),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.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,t){let i=this._state,o=this._head;for(;o;){if(t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");o=o.next}}keys(){let e=this._state,t=this._head,i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let o={value:t.key,done:!1};return t=t.next,o}else return{value:void 0,done:!0}}};return i}values(){let e=this._state,t=this._head,i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let o={value:t.value,done:!1};return t=t.next,o}else return{value:void 0,done:!0}}};return i}entries(){let e=this._state,t=this._head,i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let o={value:[t.key,t.value],done:!1};return t=t.next,o}else return{value:void 0,done:!0}}};return i}[(pr=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.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 t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==L.First&&t!==L.Last)){if(t===L.First){if(e===this._head)return;let i=e.next,o=e.previous;e===this._tail?(o.next=void 0,this._tail=o):(i.previous=o,o.next=i),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===L.Last){if(e===this._tail)return;let i=e.next,o=e.previous;e===this._head?(i.previous=void 0,this._head=i):(i.previous=o,o.next=i),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,i)=>{e.push([i,t])}),e}fromJSON(e){this.clear();for(let[t,i]of e)this.set(t,i)}};F.LinkedMap=Ce;var Tt=class extends Ce{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),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,t=L.AsNew){return super.get(e,t)}peek(e){return super.get(e,L.None)}set(e,t){return super.set(e,t,L.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};F.LRUCache=Tt});var fe=$(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.Emitter=ne.Event=void 0;var cn=B(),un;(function(r){let e={dispose(){}};r.None=function(){return e}})(un=ne.Event||(ne.Event={}));var St=class{add(e,t=null,i){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(i)&&i.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let i=!1;for(let o=0,u=this._callbacks.length;o<u;o++)if(this._callbacks[o]===e)if(this._contexts[o]===t){this._callbacks.splice(o,1),this._contexts.splice(o,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(...e){if(!this._callbacks)return[];let t=[],i=this._callbacks.slice(0),o=this._contexts.slice(0);for(let u=0,m=i.length;u<m;u++)try{t.push(i[u].apply(o[u],e))}catch(S){(0,cn.default)().console.error(S)}return t}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Oe=class r{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,i)=>{this._callbacks||(this._callbacks=new St),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let o={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),o.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(i)&&i.push(o),o}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};ne.Emitter=Oe;Oe._noop=function(){}});var kt=$(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.CancellationTokenSource=ie.CancellationToken=void 0;var dn=B(),ln=le(),Pt=fe(),Et;(function(r){r.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Pt.Event.None}),r.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Pt.Event.None});function e(t){let i=t;return i&&(i===r.None||i===r.Cancelled||ln.boolean(i.isCancellationRequested)&&!!i.onCancellationRequested)}r.is=e})(Et=ie.CancellationToken||(ie.CancellationToken={}));var fn=Object.freeze(function(r,e){let t=(0,dn.default)().timer.setTimeout(r.bind(e),0);return{dispose(){t.dispose()}}}),Me=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?fn:(this._emitter||(this._emitter=new Pt.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Nt=class{get token(){return this._token||(this._token=new Me),this._token}cancel(){this._token?this._token.cancel():this._token=Et.Cancelled}dispose(){this._token?this._token instanceof Me&&this._token.dispose():this._token=Et.None}};ie.CancellationTokenSource=Nt});var mr=$(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.ReadableStreamMessageReader=U.AbstractMessageReader=U.MessageReader=void 0;var Ot=B(),he=le(),Ct=fe(),hn;(function(r){function e(t){let i=t;return i&&he.func(i.listen)&&he.func(i.dispose)&&he.func(i.onError)&&he.func(i.onClose)&&he.func(i.onPartialMessage)}r.is=e})(hn=U.MessageReader||(U.MessageReader={}));var je=class{constructor(){this.errorEmitter=new Ct.Emitter,this.closeEmitter=new Ct.Emitter,this.partialMessageEmitter=new Ct.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: ${he.string(e.message)?e.message:"unknown"}`)}};U.AbstractMessageReader=je;var Mt;(function(r){function e(t){let i,o,u,m=new Map,S,C=new Map;if(t===void 0||typeof t=="string")i=t??"utf-8";else{if(i=t.charset??"utf-8",t.contentDecoder!==void 0&&(u=t.contentDecoder,m.set(u.name,u)),t.contentDecoders!==void 0)for(let M of t.contentDecoders)m.set(M.name,M);if(t.contentTypeDecoder!==void 0&&(S=t.contentTypeDecoder,C.set(S.name,S)),t.contentTypeDecoders!==void 0)for(let M of t.contentTypeDecoders)C.set(M.name,M)}return S===void 0&&(S=(0,Ot.default)().applicationJson.decoder,C.set(S.name,S)),{charset:i,contentDecoder:u,contentDecoders:m,contentTypeDecoder:S,contentTypeDecoders:C}}r.fromOptions=e})(Mt||(Mt={}));var jt=class extends je{constructor(e,t){super(),this.readable=e,this.options=Mt.fromOptions(t),this.buffer=(0,Ot.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}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 t=this.readable.onData(i=>{this.onData(i)});return this.readable.onError(i=>this.fireError(i)),this.readable.onClose(()=>this.fireClose()),t}onData(e){for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let o=this.buffer.tryReadHeaders();if(!o)return;let u=o.get("Content-Length");if(!u)throw new Error("Header must provide a Content-Length property.");let m=parseInt(u);if(isNaN(m))throw new Error("Content-Length value must be a number.");this.nextMessageLength=m}let t=this.buffer.tryReadBody(this.nextMessageLength);if(t===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1;let i;this.options.contentDecoder!==void 0?i=this.options.contentDecoder.decode(t):i=Promise.resolve(t),i.then(o=>{this.options.contentTypeDecoder.decode(o,this.options).then(u=>{this.callback(u)},u=>{this.fireError(u)})},o=>{this.fireError(o)})}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,Ot.default)().timer.setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};U.ReadableStreamMessageReader=jt});var gr=$(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.Semaphore=void 0;var pn=B(),xt=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((t,i)=>{this._waiting.push({thunk:e,resolve:t,reject:i}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,pn.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 t=e.thunk();t instanceof Promise?t.then(i=>{this._active--,e.resolve(i),this.runNext()},i=>{this._active--,e.reject(i),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}};xe.Semaphore=xt});var vr=$(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});J.WriteableStreamMessageWriter=J.AbstractMessageWriter=J.MessageWriter=void 0;var yr=B(),_e=le(),mn=gr(),br=fe(),gn="Content-Length: ",_r=`\r
|
|
`,yn;(function(r){function e(t){let i=t;return i&&_e.func(i.dispose)&&_e.func(i.onClose)&&_e.func(i.onError)&&_e.func(i.write)}r.is=e})(yn=J.MessageWriter||(J.MessageWriter={}));var Le=class{constructor(){this.errorEmitter=new br.Emitter,this.closeEmitter=new br.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,i){this.errorEmitter.fire([this.asError(e),t,i])}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: ${_e.string(e.message)?e.message:"unknown"}`)}};J.AbstractMessageWriter=Le;var Lt;(function(r){function e(t){return t===void 0||typeof t=="string"?{charset:t??"utf-8",contentTypeEncoder:(0,yr.default)().applicationJson.encoder}:{charset:t.charset??"utf-8",contentEncoder:t.contentEncoder,contentTypeEncoder:t.contentTypeEncoder??(0,yr.default)().applicationJson.encoder}}r.fromOptions=e})(Lt||(Lt={}));var qt=class extends Le{constructor(e,t){super(),this.writable=e,this.options=Lt.fromOptions(t),this.errorCount=0,this.writeSemaphore=new mn.Semaphore(1),this.writable.onError(i=>this.fireError(i)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(i=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(i):i).then(i=>{let o=[];return o.push(gn,i.byteLength.toString(),_r),o.push(_r),this.doWrite(e,o,i)},i=>{throw this.fireError(i),i}))}async doWrite(e,t,i){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(i)}catch(o){return this.handleError(o,e),Promise.reject(o)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}};J.WriteableStreamMessageWriter=qt});var Er=$(f=>{"use strict";Object.defineProperty(f,"__esModule",{value:!0});f.createMessageConnection=f.ConnectionOptions=f.CancellationStrategy=f.CancellationSenderStrategy=f.CancellationReceiverStrategy=f.ConnectionStrategy=f.ConnectionError=f.ConnectionErrors=f.LogTraceNotification=f.SetTraceNotification=f.TraceFormat=f.TraceValues=f.Trace=f.NullLogger=f.ProgressType=f.ProgressToken=void 0;var wr=B(),k=le(),h=wt(),Tr=Rt(),ve=fe(),$t=kt(),Te;(function(r){r.type=new h.NotificationType("$/cancelRequest")})(Te||(Te={}));var Rr;(function(r){function e(t){return typeof t=="string"||typeof t=="number"}r.is=e})(Rr=f.ProgressToken||(f.ProgressToken={}));var we;(function(r){r.type=new h.NotificationType("$/progress")})(we||(we={}));var Dt=class{constructor(){}};f.ProgressType=Dt;var It;(function(r){function e(t){return k.func(t)}r.is=e})(It||(It={}));f.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var y;(function(r){r[r.Off=0]="Off",r[r.Messages=1]="Messages",r[r.Compact=2]="Compact",r[r.Verbose=3]="Verbose"})(y=f.Trace||(f.Trace={}));var bn;(function(r){r.Off="off",r.Messages="messages",r.Compact="compact",r.Verbose="verbose"})(bn=f.TraceValues||(f.TraceValues={}));(function(r){function e(i){if(!k.string(i))return r.Off;switch(i=i.toLowerCase(),i){case"off":return r.Off;case"messages":return r.Messages;case"compact":return r.Compact;case"verbose":return r.Verbose;default:return r.Off}}r.fromString=e;function t(i){switch(i){case r.Off:return"off";case r.Messages:return"messages";case r.Compact:return"compact";case r.Verbose:return"verbose";default:return"off"}}r.toString=t})(y=f.Trace||(f.Trace={}));var I;(function(r){r.Text="text",r.JSON="json"})(I=f.TraceFormat||(f.TraceFormat={}));(function(r){function e(t){return k.string(t)?(t=t.toLowerCase(),t==="json"?r.JSON:r.Text):r.Text}r.fromString=e})(I=f.TraceFormat||(f.TraceFormat={}));var Sr;(function(r){r.type=new h.NotificationType("$/setTrace")})(Sr=f.SetTraceNotification||(f.SetTraceNotification={}));var At;(function(r){r.type=new h.NotificationType("$/logTrace")})(At=f.LogTraceNotification||(f.LogTraceNotification={}));var qe;(function(r){r[r.Closed=1]="Closed",r[r.Disposed=2]="Disposed",r[r.AlreadyListening=3]="AlreadyListening"})(qe=f.ConnectionErrors||(f.ConnectionErrors={}));var pe=class r extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,r.prototype)}};f.ConnectionError=pe;var Pr;(function(r){function e(t){let i=t;return i&&k.func(i.cancelUndispatched)}r.is=e})(Pr=f.ConnectionStrategy||(f.ConnectionStrategy={}));var Wt;(function(r){r.Message=Object.freeze({createCancellationTokenSource(t){return new $t.CancellationTokenSource}});function e(t){let i=t;return i&&k.func(i.createCancellationTokenSource)}r.is=e})(Wt=f.CancellationReceiverStrategy||(f.CancellationReceiverStrategy={}));var zt;(function(r){r.Message=Object.freeze({sendCancellation(t,i){return t.sendNotification(Te.type,{id:i})},cleanup(t){}});function e(t){let i=t;return i&&k.func(i.sendCancellation)&&k.func(i.cleanup)}r.is=e})(zt=f.CancellationSenderStrategy||(f.CancellationSenderStrategy={}));var Bt;(function(r){r.Message=Object.freeze({receiver:Wt.Message,sender:zt.Message});function e(t){let i=t;return i&&Wt.is(i.receiver)&&zt.is(i.sender)}r.is=e})(Bt=f.CancellationStrategy||(f.CancellationStrategy={}));var _n;(function(r){function e(t){let i=t;return i&&(Bt.is(i.cancellationStrategy)||Pr.is(i.connectionStrategy))}r.is=e})(_n=f.ConnectionOptions||(f.ConnectionOptions={}));var A;(function(r){r[r.New=1]="New",r[r.Listening=2]="Listening",r[r.Closed=3]="Closed",r[r.Disposed=4]="Disposed"})(A||(A={}));function vn(r,e,t,i){let o=t!==void 0?t:f.NullLogger,u=0,m=0,S=0,C="2.0",M,V=new Map,G,ae=new Map,Re=new Map,Ae,X=new Tr.LinkedMap,Y=new Map,Se=new Set,z=new Map,_=y.Off,Z=I.Text,E,H=A.New,We=new ve.Emitter,Kt=new ve.Emitter,Gt=new ve.Emitter,Xt=new ve.Emitter,Yt=new ve.Emitter,Pe=i&&i.cancellationStrategy?i.cancellationStrategy:Bt.Message;function Zt(n){if(n===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+n.toString()}function Mr(n){return n===null?"res-unknown-"+(++S).toString():"res-"+n.toString()}function jr(){return"not-"+(++m).toString()}function xr(n,a){h.Message.isRequest(a)?n.set(Zt(a.id),a):h.Message.isResponse(a)?n.set(Mr(a.id),a):n.set(jr(),a)}function Lr(n){}function er(){return H===A.Listening}function tr(){return H===A.Closed}function ce(){return H===A.Disposed}function rr(){(H===A.New||H===A.Listening)&&(H=A.Closed,Kt.fire(void 0))}function qr(n){We.fire([n,void 0,void 0])}function $r(n){We.fire(n)}r.onClose(rr),r.onError(qr),e.onClose(rr),e.onError($r);function nr(){Ae||X.size===0||(Ae=(0,wr.default)().timer.setImmediate(()=>{Ae=void 0,Dr()}))}function Dr(){if(X.size===0)return;let n=X.shift();try{h.Message.isRequest(n)?Ar(n):h.Message.isNotification(n)?zr(n):h.Message.isResponse(n)?Wr(n):Br(n)}finally{nr()}}let Ir=n=>{try{if(h.Message.isNotification(n)&&n.method===Te.type.method){let a=n.params.id,c=Zt(a),d=X.get(c);if(h.Message.isRequest(d)){let w=i?.connectionStrategy,P=w&&w.cancelUndispatched?w.cancelUndispatched(d,Lr):void 0;if(P&&(P.error!==void 0||P.result!==void 0)){X.delete(c),z.delete(a),P.id=d.id,Ee(P,n.method,Date.now()),e.write(P).catch(()=>o.error("Sending response for canceled message failed."));return}}let v=z.get(a);if(v!==void 0){v.cancel(),ze(n);return}else Se.add(a)}xr(X,n)}finally{nr()}};function Ar(n){if(ce())return;function a(p,R,g){let N={jsonrpc:C,id:n.id};p instanceof h.ResponseError?N.error=p.toJson():N.result=p===void 0?null:p,Ee(N,R,g),e.write(N).catch(()=>o.error("Sending response failed."))}function c(p,R,g){let N={jsonrpc:C,id:n.id,error:p.toJson()};Ee(N,R,g),e.write(N).catch(()=>o.error("Sending response failed."))}function d(p,R,g){p===void 0&&(p=null);let N={jsonrpc:C,id:n.id,result:p};Ee(N,R,g),e.write(N).catch(()=>o.error("Sending response failed."))}Jr(n);let v=V.get(n.method),w,P;v&&(w=v.type,P=v.handler);let O=Date.now();if(P||M){let p=n.id??String(Date.now()),R=Pe.receiver.createCancellationTokenSource(p);n.id!==null&&Se.has(n.id)&&R.cancel(),n.id!==null&&z.set(p,R);try{let g;if(P)if(n.params===void 0){if(w!==void 0&&w.numberOfParams!==0){c(new h.ResponseError(h.ErrorCodes.InvalidParams,`Request ${n.method} defines ${w.numberOfParams} params but received none.`),n.method,O);return}g=P(R.token)}else if(Array.isArray(n.params)){if(w!==void 0&&w.parameterStructures===h.ParameterStructures.byName){c(new h.ResponseError(h.ErrorCodes.InvalidParams,`Request ${n.method} defines parameters by name but received parameters by position`),n.method,O);return}g=P(...n.params,R.token)}else{if(w!==void 0&&w.parameterStructures===h.ParameterStructures.byPosition){c(new h.ResponseError(h.ErrorCodes.InvalidParams,`Request ${n.method} defines parameters by position but received parameters by name`),n.method,O);return}g=P(n.params,R.token)}else M&&(g=M(n.method,n.params,R.token));let N=g;g?N.then?N.then(q=>{z.delete(p),a(q,n.method,O)},q=>{z.delete(p),q instanceof h.ResponseError?c(q,n.method,O):q&&k.string(q.message)?c(new h.ResponseError(h.ErrorCodes.InternalError,`Request ${n.method} failed with message: ${q.message}`),n.method,O):c(new h.ResponseError(h.ErrorCodes.InternalError,`Request ${n.method} failed unexpectedly without providing any details.`),n.method,O)}):(z.delete(p),a(g,n.method,O)):(z.delete(p),d(g,n.method,O))}catch(g){z.delete(p),g instanceof h.ResponseError?a(g,n.method,O):g&&k.string(g.message)?c(new h.ResponseError(h.ErrorCodes.InternalError,`Request ${n.method} failed with message: ${g.message}`),n.method,O):c(new h.ResponseError(h.ErrorCodes.InternalError,`Request ${n.method} failed unexpectedly without providing any details.`),n.method,O)}}else c(new h.ResponseError(h.ErrorCodes.MethodNotFound,`Unhandled method ${n.method}`),n.method,O)}function Wr(n){if(!ce())if(n.id===null)n.error?o.error(`Received response message without id: Error is:
|
|
${JSON.stringify(n.error,void 0,4)}`):o.error("Received response message without id. No further error information provided.");else{let a=n.id,c=Y.get(a);if(Vr(n,c),c!==void 0){Y.delete(a);try{if(n.error){let d=n.error;c.reject(new h.ResponseError(d.code,d.message,d.data))}else if(n.result!==void 0)c.resolve(n.result);else throw new Error("Should never happen.")}catch(d){d.message?o.error(`Response handler '${c.method}' failed with message: ${d.message}`):o.error(`Response handler '${c.method}' failed unexpectedly.`)}}}}function zr(n){if(ce())return;let a,c;if(n.method===Te.type.method){let d=n.params.id;Se.delete(d),ze(n);return}else{let d=ae.get(n.method);d&&(c=d.handler,a=d.type)}if(c||G)try{if(ze(n),c)if(n.params===void 0)a!==void 0&&a.numberOfParams!==0&&a.parameterStructures!==h.ParameterStructures.byName&&o.error(`Notification ${n.method} defines ${a.numberOfParams} params but received none.`),c();else if(Array.isArray(n.params)){let d=n.params;n.method===we.type.method&&d.length===2&&Rr.is(d[0])?c({token:d[0],value:d[1]}):(a!==void 0&&(a.parameterStructures===h.ParameterStructures.byName&&o.error(`Notification ${n.method} defines parameters by name but received parameters by position`),a.numberOfParams!==n.params.length&&o.error(`Notification ${n.method} defines ${a.numberOfParams} params but received ${d.length} arguments`)),c(...d))}else a!==void 0&&a.parameterStructures===h.ParameterStructures.byPosition&&o.error(`Notification ${n.method} defines parameters by position but received parameters by name`),c(n.params);else G&&G(n.method,n.params)}catch(d){d.message?o.error(`Notification handler '${n.method}' failed with message: ${d.message}`):o.error(`Notification handler '${n.method}' failed unexpectedly.`)}else Gt.fire(n)}function Br(n){if(!n){o.error("Received empty message.");return}o.error(`Received message which is neither a response nor a notification message:
|
|
${JSON.stringify(n,null,4)}`);let a=n;if(k.string(a.id)||k.number(a.id)){let c=a.id,d=Y.get(c);d&&d.reject(new Error("The received response has neither a result nor an error property."))}}function Q(n){if(n!=null)switch(_){case y.Verbose:return JSON.stringify(n,null,4);case y.Compact:return JSON.stringify(n);default:return}}function Fr(n){if(!(_===y.Off||!E))if(Z===I.Text){let a;(_===y.Verbose||_===y.Compact)&&n.params&&(a=`Params: ${Q(n.params)}
|
|
|
|
`),E.log(`Sending request '${n.method} - (${n.id})'.`,a)}else ue("send-request",n)}function Ur(n){if(!(_===y.Off||!E))if(Z===I.Text){let a;(_===y.Verbose||_===y.Compact)&&(n.params?a=`Params: ${Q(n.params)}
|
|
|
|
`:a=`No parameters provided.
|
|
|
|
`),E.log(`Sending notification '${n.method}'.`,a)}else ue("send-notification",n)}function Ee(n,a,c){if(!(_===y.Off||!E))if(Z===I.Text){let d;(_===y.Verbose||_===y.Compact)&&(n.error&&n.error.data?d=`Error data: ${Q(n.error.data)}
|
|
|
|
`:n.result?d=`Result: ${Q(n.result)}
|
|
|
|
`:n.error===void 0&&(d=`No result returned.
|
|
|
|
`)),E.log(`Sending response '${a} - (${n.id})'. Processing request took ${Date.now()-c}ms`,d)}else ue("send-response",n)}function Jr(n){if(!(_===y.Off||!E))if(Z===I.Text){let a;(_===y.Verbose||_===y.Compact)&&n.params&&(a=`Params: ${Q(n.params)}
|
|
|
|
`),E.log(`Received request '${n.method} - (${n.id})'.`,a)}else ue("receive-request",n)}function ze(n){if(!(_===y.Off||!E||n.method===At.type.method))if(Z===I.Text){let a;(_===y.Verbose||_===y.Compact)&&(n.params?a=`Params: ${Q(n.params)}
|
|
|
|
`:a=`No parameters provided.
|
|
|
|
`),E.log(`Received notification '${n.method}'.`,a)}else ue("receive-notification",n)}function Vr(n,a){if(!(_===y.Off||!E))if(Z===I.Text){let c;if((_===y.Verbose||_===y.Compact)&&(n.error&&n.error.data?c=`Error data: ${Q(n.error.data)}
|
|
|
|
`:n.result?c=`Result: ${Q(n.result)}
|
|
|
|
`:n.error===void 0&&(c=`No result returned.
|
|
|
|
`)),a){let d=n.error?` Request failed: ${n.error.message} (${n.error.code}).`:"";E.log(`Received response '${a.method} - (${n.id})' in ${Date.now()-a.timerStart}ms.${d}`,c)}else E.log(`Received response ${n.id} without active response promise.`,c)}else ue("receive-response",n)}function ue(n,a){if(!E||_===y.Off)return;let c={isLSPMessage:!0,type:n,message:a,timestamp:Date.now()};E.log(c)}function ge(){if(tr())throw new pe(qe.Closed,"Connection is closed.");if(ce())throw new pe(qe.Disposed,"Connection is disposed.")}function Hr(){if(er())throw new pe(qe.AlreadyListening,"Connection is already listening")}function Qr(){if(!er())throw new Error("Call listen() first.")}function ye(n){return n===void 0?null:n}function ir(n){if(n!==null)return n}function sr(n){return n!=null&&!Array.isArray(n)&&typeof n=="object"}function Be(n,a){switch(n){case h.ParameterStructures.auto:return sr(a)?ir(a):[ye(a)];case h.ParameterStructures.byName:if(!sr(a))throw new Error("Received parameters by name but param is not an object literal.");return ir(a);case h.ParameterStructures.byPosition:return[ye(a)];default:throw new Error(`Unknown parameter structure ${n.toString()}`)}}function or(n,a){let c,d=n.numberOfParams;switch(d){case 0:c=void 0;break;case 1:c=Be(n.parameterStructures,a[0]);break;default:c=[];for(let v=0;v<a.length&&v<d;v++)c.push(ye(a[v]));if(a.length<d)for(let v=a.length;v<d;v++)c.push(null);break}return c}let de={sendNotification:(n,...a)=>{ge();let c,d;if(k.string(n)){c=n;let w=a[0],P=0,O=h.ParameterStructures.auto;h.ParameterStructures.is(w)&&(P=1,O=w);let p=a.length,R=p-P;switch(R){case 0:d=void 0;break;case 1:d=Be(O,a[P]);break;default:if(O===h.ParameterStructures.byName)throw new Error(`Received ${R} parameters for 'by Name' notification parameter structure.`);d=a.slice(P,p).map(g=>ye(g));break}}else{let w=a;c=n.method,d=or(n,w)}let v={jsonrpc:C,method:c,params:d};return Ur(v),e.write(v).catch(()=>o.error("Sending notification failed."))},onNotification:(n,a)=>{ge();let c;return k.func(n)?G=n:a&&(k.string(n)?(c=n,ae.set(n,{type:void 0,handler:a})):(c=n.method,ae.set(n.method,{type:n,handler:a}))),{dispose:()=>{c!==void 0?ae.delete(c):G=void 0}}},onProgress:(n,a,c)=>{if(Re.has(a))throw new Error(`Progress handler for token ${a} already registered`);return Re.set(a,c),{dispose:()=>{Re.delete(a)}}},sendProgress:(n,a,c)=>de.sendNotification(we.type,{token:a,value:c}),onUnhandledProgress:Xt.event,sendRequest:(n,...a)=>{ge(),Qr();let c,d,v;if(k.string(n)){c=n;let p=a[0],R=a[a.length-1],g=0,N=h.ParameterStructures.auto;h.ParameterStructures.is(p)&&(g=1,N=p);let q=a.length;$t.CancellationToken.is(R)&&(q=q-1,v=R);let ee=q-g;switch(ee){case 0:d=void 0;break;case 1:d=Be(N,a[g]);break;default:if(N===h.ParameterStructures.byName)throw new Error(`Received ${ee} parameters for 'by Name' request parameter structure.`);d=a.slice(g,q).map(K=>ye(K));break}}else{let p=a;c=n.method,d=or(n,p);let R=n.numberOfParams;v=$t.CancellationToken.is(p[R])?p[R]:void 0}let w=u++,P;return v&&(P=v.onCancellationRequested(()=>{let p=Pe.sender.sendCancellation(de,w);return p===void 0?(o.log(`Received no promise from cancellation strategy when cancelling id ${w}`),Promise.resolve()):p.catch(()=>{o.log(`Sending cancellation messages for id ${w} failed`)})})),new Promise((p,R)=>{let g={jsonrpc:C,id:w,method:c,params:d},N=K=>{p(K),Pe.sender.cleanup(w),P?.dispose()},q=K=>{R(K),Pe.sender.cleanup(w),P?.dispose()},ee={method:c,timerStart:Date.now(),resolve:N,reject:q};Fr(g);try{e.write(g).catch(()=>o.error("Sending request failed."))}catch(K){ee.reject(new h.ResponseError(h.ErrorCodes.MessageWriteError,K.message?K.message:"Unknown reason")),ee=null}ee&&Y.set(w,ee)})},onRequest:(n,a)=>{ge();let c=null;return It.is(n)?(c=void 0,M=n):k.string(n)?(c=null,a!==void 0&&(c=n,V.set(n,{handler:a,type:void 0}))):a!==void 0&&(c=n.method,V.set(n.method,{type:n,handler:a})),{dispose:()=>{c!==null&&(c!==void 0?V.delete(c):M=void 0)}}},hasPendingResponse:()=>Y.size>0,trace:async(n,a,c)=>{let d=!1,v=I.Text;c!==void 0&&(k.boolean(c)?d=c:(d=c.sendNotification||!1,v=c.traceFormat||I.Text)),_=n,Z=v,_===y.Off?E=void 0:E=a,d&&!tr()&&!ce()&&await de.sendNotification(Sr.type,{value:y.toString(n)})},onError:We.event,onClose:Kt.event,onUnhandledNotification:Gt.event,onDispose:Yt.event,end:()=>{e.end()},dispose:()=>{if(ce())return;H=A.Disposed,Yt.fire(void 0);let n=new h.ResponseError(h.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let a of Y.values())a.reject(n);Y=new Map,z=new Map,Se=new Set,X=new Tr.LinkedMap,k.func(e.dispose)&&e.dispose(),k.func(r.dispose)&&r.dispose()},listen:()=>{ge(),Hr(),H=A.Listening,r.listen(Ir)},inspect:()=>{(0,wr.default)().console.log("inspect")}};return de.onNotification(At.type,n=>{if(_===y.Off||!E)return;let a=_===y.Verbose||_===y.Compact;E.log(n.message,a?n.verbose:void 0)}),de.onNotification(we.type,n=>{let a=Re.get(n.token);a?a(n.value):Xt.fire(n)}),de}f.createMessageConnection=vn});var Vt=$(s=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0});s.TraceFormat=s.TraceValues=s.Trace=s.ProgressType=s.ProgressToken=s.createMessageConnection=s.NullLogger=s.ConnectionOptions=s.ConnectionStrategy=s.WriteableStreamMessageWriter=s.AbstractMessageWriter=s.MessageWriter=s.ReadableStreamMessageReader=s.AbstractMessageReader=s.MessageReader=s.CancellationToken=s.CancellationTokenSource=s.Emitter=s.Event=s.Disposable=s.LRUCache=s.Touch=s.LinkedMap=s.ParameterStructures=s.NotificationType9=s.NotificationType8=s.NotificationType7=s.NotificationType6=s.NotificationType5=s.NotificationType4=s.NotificationType3=s.NotificationType2=s.NotificationType1=s.NotificationType0=s.NotificationType=s.ErrorCodes=s.ResponseError=s.RequestType9=s.RequestType8=s.RequestType7=s.RequestType6=s.RequestType5=s.RequestType4=s.RequestType3=s.RequestType2=s.RequestType1=s.RequestType0=s.RequestType=s.Message=s.RAL=void 0;s.CancellationStrategy=s.CancellationSenderStrategy=s.CancellationReceiverStrategy=s.ConnectionError=s.ConnectionErrors=s.LogTraceNotification=s.SetTraceNotification=void 0;var b=wt();Object.defineProperty(s,"Message",{enumerable:!0,get:function(){return b.Message}});Object.defineProperty(s,"RequestType",{enumerable:!0,get:function(){return b.RequestType}});Object.defineProperty(s,"RequestType0",{enumerable:!0,get:function(){return b.RequestType0}});Object.defineProperty(s,"RequestType1",{enumerable:!0,get:function(){return b.RequestType1}});Object.defineProperty(s,"RequestType2",{enumerable:!0,get:function(){return b.RequestType2}});Object.defineProperty(s,"RequestType3",{enumerable:!0,get:function(){return b.RequestType3}});Object.defineProperty(s,"RequestType4",{enumerable:!0,get:function(){return b.RequestType4}});Object.defineProperty(s,"RequestType5",{enumerable:!0,get:function(){return b.RequestType5}});Object.defineProperty(s,"RequestType6",{enumerable:!0,get:function(){return b.RequestType6}});Object.defineProperty(s,"RequestType7",{enumerable:!0,get:function(){return b.RequestType7}});Object.defineProperty(s,"RequestType8",{enumerable:!0,get:function(){return b.RequestType8}});Object.defineProperty(s,"RequestType9",{enumerable:!0,get:function(){return b.RequestType9}});Object.defineProperty(s,"ResponseError",{enumerable:!0,get:function(){return b.ResponseError}});Object.defineProperty(s,"ErrorCodes",{enumerable:!0,get:function(){return b.ErrorCodes}});Object.defineProperty(s,"NotificationType",{enumerable:!0,get:function(){return b.NotificationType}});Object.defineProperty(s,"NotificationType0",{enumerable:!0,get:function(){return b.NotificationType0}});Object.defineProperty(s,"NotificationType1",{enumerable:!0,get:function(){return b.NotificationType1}});Object.defineProperty(s,"NotificationType2",{enumerable:!0,get:function(){return b.NotificationType2}});Object.defineProperty(s,"NotificationType3",{enumerable:!0,get:function(){return b.NotificationType3}});Object.defineProperty(s,"NotificationType4",{enumerable:!0,get:function(){return b.NotificationType4}});Object.defineProperty(s,"NotificationType5",{enumerable:!0,get:function(){return b.NotificationType5}});Object.defineProperty(s,"NotificationType6",{enumerable:!0,get:function(){return b.NotificationType6}});Object.defineProperty(s,"NotificationType7",{enumerable:!0,get:function(){return b.NotificationType7}});Object.defineProperty(s,"NotificationType8",{enumerable:!0,get:function(){return b.NotificationType8}});Object.defineProperty(s,"NotificationType9",{enumerable:!0,get:function(){return b.NotificationType9}});Object.defineProperty(s,"ParameterStructures",{enumerable:!0,get:function(){return b.ParameterStructures}});var Ft=Rt();Object.defineProperty(s,"LinkedMap",{enumerable:!0,get:function(){return Ft.LinkedMap}});Object.defineProperty(s,"LRUCache",{enumerable:!0,get:function(){return Ft.LRUCache}});Object.defineProperty(s,"Touch",{enumerable:!0,get:function(){return Ft.Touch}});var wn=Ve();Object.defineProperty(s,"Disposable",{enumerable:!0,get:function(){return wn.Disposable}});var Nr=fe();Object.defineProperty(s,"Event",{enumerable:!0,get:function(){return Nr.Event}});Object.defineProperty(s,"Emitter",{enumerable:!0,get:function(){return Nr.Emitter}});var kr=kt();Object.defineProperty(s,"CancellationTokenSource",{enumerable:!0,get:function(){return kr.CancellationTokenSource}});Object.defineProperty(s,"CancellationToken",{enumerable:!0,get:function(){return kr.CancellationToken}});var Ut=mr();Object.defineProperty(s,"MessageReader",{enumerable:!0,get:function(){return Ut.MessageReader}});Object.defineProperty(s,"AbstractMessageReader",{enumerable:!0,get:function(){return Ut.AbstractMessageReader}});Object.defineProperty(s,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return Ut.ReadableStreamMessageReader}});var Jt=vr();Object.defineProperty(s,"MessageWriter",{enumerable:!0,get:function(){return Jt.MessageWriter}});Object.defineProperty(s,"AbstractMessageWriter",{enumerable:!0,get:function(){return Jt.AbstractMessageWriter}});Object.defineProperty(s,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return Jt.WriteableStreamMessageWriter}});var x=Er();Object.defineProperty(s,"ConnectionStrategy",{enumerable:!0,get:function(){return x.ConnectionStrategy}});Object.defineProperty(s,"ConnectionOptions",{enumerable:!0,get:function(){return x.ConnectionOptions}});Object.defineProperty(s,"NullLogger",{enumerable:!0,get:function(){return x.NullLogger}});Object.defineProperty(s,"createMessageConnection",{enumerable:!0,get:function(){return x.createMessageConnection}});Object.defineProperty(s,"ProgressToken",{enumerable:!0,get:function(){return x.ProgressToken}});Object.defineProperty(s,"ProgressType",{enumerable:!0,get:function(){return x.ProgressType}});Object.defineProperty(s,"Trace",{enumerable:!0,get:function(){return x.Trace}});Object.defineProperty(s,"TraceValues",{enumerable:!0,get:function(){return x.TraceValues}});Object.defineProperty(s,"TraceFormat",{enumerable:!0,get:function(){return x.TraceFormat}});Object.defineProperty(s,"SetTraceNotification",{enumerable:!0,get:function(){return x.SetTraceNotification}});Object.defineProperty(s,"LogTraceNotification",{enumerable:!0,get:function(){return x.LogTraceNotification}});Object.defineProperty(s,"ConnectionErrors",{enumerable:!0,get:function(){return x.ConnectionErrors}});Object.defineProperty(s,"ConnectionError",{enumerable:!0,get:function(){return x.ConnectionError}});Object.defineProperty(s,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return x.CancellationReceiverStrategy}});Object.defineProperty(s,"CancellationSenderStrategy",{enumerable:!0,get:function(){return x.CancellationSenderStrategy}});Object.defineProperty(s,"CancellationStrategy",{enumerable:!0,get:function(){return x.CancellationStrategy}});var Tn=B();s.RAL=Tn.default});var Rn=exports&&exports.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t);var o=Object.getOwnPropertyDescriptor(e,t);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,i,o)}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),Sn=exports&&exports.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Rn(e,r,t)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createMessageConnection=exports.createServerSocketTransport=exports.createClientSocketTransport=exports.createServerPipeTransport=exports.createClientPipeTransport=exports.generateRandomPipeName=exports.StreamMessageWriter=exports.StreamMessageReader=exports.SocketMessageWriter=exports.SocketMessageReader=exports.IPCMessageWriter=exports.IPCMessageReader=void 0;var me=dr();me.default.install();var W=Vt(),Cr=require("path"),Pn=require("os"),En=require("crypto"),Ie=require("net");Sn(Vt(),exports);var Ht=class extends W.AbstractMessageReader{constructor(e){super(),this.process=e;let t=this.process;t.on("error",i=>this.fireError(i)),t.on("close",()=>this.fireClose())}listen(e){return this.process.on("message",e),W.Disposable.create(()=>this.process.off("message",e))}};exports.IPCMessageReader=Ht;var Qt=class extends W.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let t=this.process;t.on("error",i=>this.fireError(i)),t.on("close",()=>this.fireClose)}write(e){try{return typeof this.process.send=="function"&&this.process.send(e,void 0,void 0,t=>{t?(this.errorCount++,this.handleError(t,e)):this.errorCount=0}),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}};exports.IPCMessageWriter=Qt;var se=class extends W.ReadableStreamMessageReader{constructor(e,t="utf-8"){super((0,me.default)().stream.asReadableStream(e),t)}};exports.SocketMessageReader=se;var oe=class extends W.WriteableStreamMessageWriter{constructor(e,t){super((0,me.default)().stream.asWritableStream(e),t),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}};exports.SocketMessageWriter=oe;var $e=class extends W.ReadableStreamMessageReader{constructor(e,t){super((0,me.default)().stream.asReadableStream(e),t)}};exports.StreamMessageReader=$e;var De=class extends W.WriteableStreamMessageWriter{constructor(e,t){super((0,me.default)().stream.asWritableStream(e),t)}};exports.StreamMessageWriter=De;var Or=process.env.XDG_RUNTIME_DIR,Nn=new Map([["linux",107],["darwin",103]]);function kn(){let r=(0,En.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${r}-sock`;let e;Or?e=Cr.join(Or,`vscode-ipc-${r}.sock`):e=Cr.join(Pn.tmpdir(),`vscode-${r}.sock`);let t=Nn.get(process.platform);return t!==void 0&&e.length>=t&&(0,me.default)().console.warn(`WARNING: IPC handle "${e}" is longer than ${t} characters.`),e}exports.generateRandomPipeName=kn;function Cn(r,e="utf-8"){let t,i=new Promise((o,u)=>{t=o});return new Promise((o,u)=>{let m=(0,Ie.createServer)(S=>{m.close(),t([new se(S,e),new oe(S,e)])});m.on("error",u),m.listen(r,()=>{m.removeListener("error",u),o({onConnected:()=>i})})})}exports.createClientPipeTransport=Cn;function On(r,e="utf-8"){let t=(0,Ie.createConnection)(r);return[new se(t,e),new oe(t,e)]}exports.createServerPipeTransport=On;function Mn(r,e="utf-8"){let t,i=new Promise((o,u)=>{t=o});return new Promise((o,u)=>{let m=(0,Ie.createServer)(S=>{m.close(),t([new se(S,e),new oe(S,e)])});m.on("error",u),m.listen(r,"127.0.0.1",()=>{m.removeListener("error",u),o({onConnected:()=>i})})})}exports.createClientSocketTransport=Mn;function jn(r,e="utf-8"){let t=(0,Ie.createConnection)(r,"127.0.0.1");return[new se(t,e),new oe(t,e)]}exports.createServerSocketTransport=jn;function xn(r){let e=r;return e.read!==void 0&&e.addListener!==void 0}function Ln(r){let e=r;return e.write!==void 0&&e.addListener!==void 0}function qn(r,e,t,i){t||(t=W.NullLogger);let o=xn(r)?new $e(r):r,u=Ln(e)?new De(e):e;return W.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,W.createMessageConnection)(o,u,t,i)}exports.createMessageConnection=qn;
|