dts-linter 0.0.0-alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ ![Build Status](https://github.com/kylebonnici/dts-linter/actions/workflows/node.js.yml/badge.svg)
2
+
3
+ # DTS Linter
4
+
5
+ // TODO
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var Un=Object.create;var je=Object.defineProperty;var Jn=Object.getOwnPropertyDescriptor;var Vn=Object.getOwnPropertyNames;var Hn=Object.getPrototypeOf,Qn=Object.prototype.hasOwnProperty;var z=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Gn=(r,e)=>{for(var t in e)je(r,t,{get:e[t],enumerable:!0})},Ar=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Vn(e))!Qn.call(r,s)&&s!==t&&je(r,s,{get:()=>e[s],enumerable:!(n=Jn(e,s))||n.enumerable});return r};var Re=(r,e,t)=>(t=r!=null?Un(Hn(r)):{},Ar(e||!r||!r.__esModule?je(t,"default",{value:r,enumerable:!0}):t,r)),Kn=r=>Ar(je({},"__esModule",{value:!0}),r);var pe=z(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.stringArray=U.array=U.func=U.error=U.number=U.string=U.boolean=void 0;function ei(r){return r===!0||r===!1}U.boolean=ei;function Wr(r){return typeof r=="string"||r instanceof String}U.string=Wr;function ti(r){return typeof r=="number"||r instanceof Number}U.number=ti;function ri(r){return r instanceof Error}U.error=ri;function ni(r){return typeof r=="function"}U.func=ni;function Fr(r){return Array.isArray(r)}U.array=Fr;function ii(r){return Fr(r)&&r.every(e=>Wr(e))}U.stringArray=ii});var It=z(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.Message=g.NotificationType9=g.NotificationType8=g.NotificationType7=g.NotificationType6=g.NotificationType5=g.NotificationType4=g.NotificationType3=g.NotificationType2=g.NotificationType1=g.NotificationType0=g.NotificationType=g.RequestType9=g.RequestType8=g.RequestType7=g.RequestType6=g.RequestType5=g.RequestType4=g.RequestType3=g.RequestType2=g.RequestType1=g.RequestType=g.RequestType0=g.AbstractMessageSignature=g.ParameterStructures=g.ResponseError=g.ErrorCodes=void 0;var ce=pe(),dt;(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})(dt||(g.ErrorCodes=dt={}));var ht=class r extends Error{constructor(e,t,n){super(t),this.code=ce.number(e)?e:dt.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,r.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};g.ResponseError=ht;var Q=class r{constructor(e){this.kind=e}static is(e){return e===r.auto||e===r.byName||e===r.byPosition}toString(){return this.kind}};g.ParameterStructures=Q;Q.auto=new Q("auto");Q.byPosition=new Q("byPosition");Q.byName=new Q("byName");var M=class{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return Q.auto}};g.AbstractMessageSignature=M;var pt=class extends M{constructor(e){super(e,0)}};g.RequestType0=pt;var mt=class extends M{constructor(e,t=Q.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};g.RequestType=mt;var gt=class extends M{constructor(e,t=Q.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};g.RequestType1=gt;var yt=class extends M{constructor(e){super(e,2)}};g.RequestType2=yt;var bt=class extends M{constructor(e){super(e,3)}};g.RequestType3=bt;var wt=class extends M{constructor(e){super(e,4)}};g.RequestType4=wt;var vt=class extends M{constructor(e){super(e,5)}};g.RequestType5=vt;var _t=class extends M{constructor(e){super(e,6)}};g.RequestType6=_t;var Pt=class extends M{constructor(e){super(e,7)}};g.RequestType7=Pt;var St=class extends M{constructor(e){super(e,8)}};g.RequestType8=St;var Tt=class extends M{constructor(e){super(e,9)}};g.RequestType9=Tt;var Rt=class extends M{constructor(e,t=Q.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};g.NotificationType=Rt;var Et=class extends M{constructor(e){super(e,0)}};g.NotificationType0=Et;var Ct=class extends M{constructor(e,t=Q.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};g.NotificationType1=Ct;var kt=class extends M{constructor(e){super(e,2)}};g.NotificationType2=kt;var Ot=class extends M{constructor(e){super(e,3)}};g.NotificationType3=Ot;var xt=class extends M{constructor(e){super(e,4)}};g.NotificationType4=xt;var Nt=class extends M{constructor(e){super(e,5)}};g.NotificationType5=Nt;var Mt=class extends M{constructor(e){super(e,6)}};g.NotificationType6=Mt;var Lt=class extends M{constructor(e){super(e,7)}};g.NotificationType7=Lt;var jt=class extends M{constructor(e){super(e,8)}};g.NotificationType8=jt;var qt=class extends M{constructor(e){super(e,9)}};g.NotificationType9=qt;var zr;(function(r){function e(s){let o=s;return o&&ce.string(o.method)&&(ce.string(o.id)||ce.number(o.id))}r.isRequest=e;function t(s){let o=s;return o&&ce.string(o.method)&&s.id===void 0}r.isNotification=t;function n(s){let o=s;return o&&(o.result!==void 0||!!o.error)&&(ce.string(o.id)||ce.number(o.id)||o.id===null)}r.isResponse=n})(zr||(g.Message=zr={}))});var At=z(ie=>{"use strict";var Br;Object.defineProperty(ie,"__esModule",{value:!0});ie.LRUCache=ie.LinkedMap=ie.Touch=void 0;var J;(function(r){r.None=0,r.First=1,r.AsOld=r.First,r.Last=2,r.AsNew=r.Last})(J||(ie.Touch=J={}));var Ie=class{constructor(){this[Br]="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=J.None){let n=this._map.get(e);if(n)return t!==J.None&&this.touch(n,t),n.value}set(e,t,n=J.None){let s=this._map.get(e);if(s)s.value=t,n!==J.None&&this.touch(s,n);else{switch(s={key:e,value:t,next:void 0,previous:void 0},n){case J.None:this.addItemLast(s);break;case J.First:this.addItemFirst(s);break;case J.Last:this.addItemLast(s);break;default:this.addItemLast(s);break}this._map.set(e,s),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 n=this._state,s=this._head;for(;s;){if(t?e.bind(t)(s.value,s.key,this):e(s.value,s.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");s=s.next}}keys(){let e=this._state,t=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let s={value:t.key,done:!1};return t=t.next,s}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,t=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let s={value:t.value,done:!1};return t=t.next,s}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,t=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let s={value:[t.key,t.value],done:!1};return t=t.next,s}else return{value:void 0,done:!0}}};return n}[(Br=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,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,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.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!==J.First&&t!==J.Last)){if(t===J.First){if(e===this._head)return;let n=e.next,s=e.previous;e===this._tail?(s.next=void 0,this._tail=s):(n.previous=s,s.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===J.Last){if(e===this._tail)return;let n=e.next,s=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=s,s.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,n)=>{e.push([n,t])}),e}fromJSON(e){this.clear();for(let[t,n]of e)this.set(t,n)}};ie.LinkedMap=Ie;var Dt=class extends Ie{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=J.AsNew){return super.get(e,t)}peek(e){return super.get(e,J.None)}set(e,t){return super.set(e,t,J.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};ie.LRUCache=Dt});var Jr=z(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.Disposable=void 0;var Ur;(function(r){function e(t){return{dispose:t}}r.create=e})(Ur||(De.Disposable=Ur={}))});var se=z(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});var $t;function Wt(){if($t===void 0)throw new Error("No runtime abstraction layer installed");return $t}(function(r){function e(t){if(t===void 0)throw new Error("No runtime abstraction layer provided");$t=t}r.install=e})(Wt||(Wt={}));Ft.default=Wt});var ge=z(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.Emitter=me.Event=void 0;var si=se(),Vr;(function(r){let e={dispose(){}};r.None=function(){return e}})(Vr||(me.Event=Vr={}));var zt=class{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let s=0,o=this._callbacks.length;s<o;s++)if(this._callbacks[s]===e)if(this._contexts[s]===t){this._callbacks.splice(s,1),this._contexts.splice(s,1);return}else n=!0;if(n)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=[],n=this._callbacks.slice(0),s=this._contexts.slice(0);for(let o=0,u=n.length;o<u;o++)try{t.push(n[o].apply(s[o],e))}catch(l){(0,si.default)().console.error(l)}return t}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Ae=class r{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,n)=>{this._callbacks||(this._callbacks=new zt),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let s={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),s.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(s),s}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};me.Emitter=Ae;Ae._noop=function(){}});var Fe=z(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.CancellationTokenSource=ye.CancellationToken=void 0;var oi=se(),ai=pe(),Bt=ge(),$e;(function(r){r.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Bt.Event.None}),r.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Bt.Event.None});function e(t){let n=t;return n&&(n===r.None||n===r.Cancelled||ai.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}r.is=e})($e||(ye.CancellationToken=$e={}));var ci=Object.freeze(function(r,e){let t=(0,oi.default)().timer.setTimeout(r.bind(e),0);return{dispose(){t.dispose()}}}),We=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?ci:(this._emitter||(this._emitter=new Bt.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Ut=class{get token(){return this._token||(this._token=new We),this._token}cancel(){this._token?this._token.cancel():this._token=$e.Cancelled}dispose(){this._token?this._token instanceof We&&this._token.dispose():this._token=$e.None}};ye.CancellationTokenSource=Ut});var Hr=z(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.SharedArrayReceiverStrategy=be.SharedArraySenderStrategy=void 0;var ui=Fe(),Ce;(function(r){r.Continue=0,r.Cancelled=1})(Ce||(Ce={}));var Jt=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let t=new SharedArrayBuffer(4),n=new Int32Array(t,0,1);n[0]=Ce.Continue,this.buffers.set(e.id,t),e.$cancellationData=t}async sendCancellation(e,t){let n=this.buffers.get(t);if(n===void 0)return;let s=new Int32Array(n,0,1);Atomics.store(s,0,Ce.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};be.SharedArraySenderStrategy=Jt;var Vt=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Ce.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},Ht=class{constructor(e){this.token=new Vt(e)}cancel(){}dispose(){}},Qt=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let t=e.$cancellationData;return t===void 0?new ui.CancellationTokenSource:new Ht(t)}};be.SharedArrayReceiverStrategy=Qt});var Kt=z(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.Semaphore=void 0;var li=se(),Gt=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,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,li.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(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}};ze.Semaphore=Gt});var Gr=z(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.ReadableStreamMessageReader=oe.AbstractMessageReader=oe.MessageReader=void 0;var Zt=se(),we=pe(),Xt=ge(),fi=Kt(),Qr;(function(r){function e(t){let n=t;return n&&we.func(n.listen)&&we.func(n.dispose)&&we.func(n.onError)&&we.func(n.onClose)&&we.func(n.onPartialMessage)}r.is=e})(Qr||(oe.MessageReader=Qr={}));var Be=class{constructor(){this.errorEmitter=new Xt.Emitter,this.closeEmitter=new Xt.Emitter,this.partialMessageEmitter=new Xt.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: ${we.string(e.message)?e.message:"unknown"}`)}};oe.AbstractMessageReader=Be;var Yt;(function(r){function e(t){let n,s,o,u=new Map,l,d=new Map;if(t===void 0||typeof t=="string")n=t??"utf-8";else{if(n=t.charset??"utf-8",t.contentDecoder!==void 0&&(o=t.contentDecoder,u.set(o.name,o)),t.contentDecoders!==void 0)for(let h of t.contentDecoders)u.set(h.name,h);if(t.contentTypeDecoder!==void 0&&(l=t.contentTypeDecoder,d.set(l.name,l)),t.contentTypeDecoders!==void 0)for(let h of t.contentTypeDecoders)d.set(h.name,h)}return l===void 0&&(l=(0,Zt.default)().applicationJson.decoder,d.set(l.name,l)),{charset:n,contentDecoder:o,contentDecoders:u,contentTypeDecoder:l,contentTypeDecoders:d}}r.fromOptions=e})(Yt||(Yt={}));var er=class extends Be{constructor(e,t){super(),this.readable=e,this.options=Yt.fromOptions(t),this.buffer=(0,Zt.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new fi.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 t=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),t}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let s=n.get("content-length");if(!s){this.fireError(new Error(`Header must provide a Content-Length property.
3
+ ${JSON.stringify(Object.fromEntries(n))}`));return}let o=parseInt(s);if(isNaN(o)){this.fireError(new Error(`Content-Length value must be a number. Got ${s}`));return}this.nextMessageLength=o}let t=this.buffer.tryReadBody(this.nextMessageLength);if(t===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(t):t,s=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(s)}).catch(n=>{this.fireError(n)})}}catch(t){this.fireError(t)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,Zt.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))}};oe.ReadableStreamMessageReader=er});var en=z(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.WriteableStreamMessageWriter=ae.AbstractMessageWriter=ae.MessageWriter=void 0;var Kr=se(),ke=pe(),di=Kt(),Xr=ge(),hi="Content-Length: ",Zr=`\r
4
+ `,Yr;(function(r){function e(t){let n=t;return n&&ke.func(n.dispose)&&ke.func(n.onClose)&&ke.func(n.onError)&&ke.func(n.write)}r.is=e})(Yr||(ae.MessageWriter=Yr={}));var Ue=class{constructor(){this.errorEmitter=new Xr.Emitter,this.closeEmitter=new Xr.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}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: ${ke.string(e.message)?e.message:"unknown"}`)}};ae.AbstractMessageWriter=Ue;var tr;(function(r){function e(t){return t===void 0||typeof t=="string"?{charset:t??"utf-8",contentTypeEncoder:(0,Kr.default)().applicationJson.encoder}:{charset:t.charset??"utf-8",contentEncoder:t.contentEncoder,contentTypeEncoder:t.contentTypeEncoder??(0,Kr.default)().applicationJson.encoder}}r.fromOptions=e})(tr||(tr={}));var rr=class extends Ue{constructor(e,t){super(),this.writable=e,this.options=tr.fromOptions(t),this.errorCount=0,this.writeSemaphore=new di.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let s=[];return s.push(hi,n.byteLength.toString(),Zr),s.push(Zr),this.doWrite(e,s,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(s){return this.handleError(s,e),Promise.reject(s)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}};ae.WriteableStreamMessageWriter=rr});var tn=z(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.AbstractMessageBuffer=void 0;var pi=13,mi=10,gi=`\r
5
+ `,nr=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(e=!1){if(this._chunks.length===0)return;let t=0,n=0,s=0,o=0;e:for(;n<this._chunks.length;){let h=this._chunks[n];for(s=0;s<h.length;){switch(h[s]){case pi:switch(t){case 0:t=1;break;case 2:t=3;break;default:t=0}break;case mi:switch(t){case 1:t=2;break;case 3:t=4,s++;break e;default:t=0}break;default:t=0}s++}o+=h.byteLength,n++}if(t!==4)return;let u=this._read(o+s),l=new Map,d=this.toString(u,"ascii").split(gi);if(d.length<2)return l;for(let h=0;h<d.length-2;h++){let p=d[h],_=p.indexOf(":");if(_===-1)throw new Error(`Message header must separate key and value using ':'
6
+ ${p}`);let P=p.substr(0,_),E=p.substr(_+1).trim();l.set(e?P.toLowerCase():P,E)}return l}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 o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],u=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,u}let t=this.allocNative(e),n=0,s=0;for(;e>0;){let o=this._chunks[s];if(o.byteLength>e){let u=o.slice(0,e);t.set(u,n),n+=e,this._chunks[s]=o.slice(e),this._totalLength-=e,e-=e}else t.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return t}};Je.AbstractMessageBuffer=nr});var an=z(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.createMessageConnection=v.ConnectionOptions=v.MessageStrategy=v.CancellationStrategy=v.CancellationSenderStrategy=v.CancellationReceiverStrategy=v.RequestCancellationReceiverStrategy=v.IdCancellationReceiverStrategy=v.ConnectionStrategy=v.ConnectionError=v.ConnectionErrors=v.LogTraceNotification=v.SetTraceNotification=v.TraceFormat=v.TraceValues=v.Trace=v.NullLogger=v.ProgressType=v.ProgressToken=void 0;var rn=se(),q=pe(),b=It(),nn=At(),Oe=ge(),ir=Fe(),Me;(function(r){r.type=new b.NotificationType("$/cancelRequest")})(Me||(Me={}));var sr;(function(r){function e(t){return typeof t=="string"||typeof t=="number"}r.is=e})(sr||(v.ProgressToken=sr={}));var xe;(function(r){r.type=new b.NotificationType("$/progress")})(xe||(xe={}));var or=class{constructor(){}};v.ProgressType=or;var ar;(function(r){function e(t){return q.func(t)}r.is=e})(ar||(ar={}));v.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var C;(function(r){r[r.Off=0]="Off",r[r.Messages=1]="Messages",r[r.Compact=2]="Compact",r[r.Verbose=3]="Verbose"})(C||(v.Trace=C={}));var sn;(function(r){r.Off="off",r.Messages="messages",r.Compact="compact",r.Verbose="verbose"})(sn||(v.TraceValues=sn={}));(function(r){function e(n){if(!q.string(n))return r.Off;switch(n=n.toLowerCase(),n){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(n){switch(n){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})(C||(v.Trace=C={}));var G;(function(r){r.Text="text",r.JSON="json"})(G||(v.TraceFormat=G={}));(function(r){function e(t){return q.string(t)?(t=t.toLowerCase(),t==="json"?r.JSON:r.Text):r.Text}r.fromString=e})(G||(v.TraceFormat=G={}));var cr;(function(r){r.type=new b.NotificationType("$/setTrace")})(cr||(v.SetTraceNotification=cr={}));var Ve;(function(r){r.type=new b.NotificationType("$/logTrace")})(Ve||(v.LogTraceNotification=Ve={}));var Ne;(function(r){r[r.Closed=1]="Closed",r[r.Disposed=2]="Disposed",r[r.AlreadyListening=3]="AlreadyListening"})(Ne||(v.ConnectionErrors=Ne={}));var ve=class r extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,r.prototype)}};v.ConnectionError=ve;var ur;(function(r){function e(t){let n=t;return n&&q.func(n.cancelUndispatched)}r.is=e})(ur||(v.ConnectionStrategy=ur={}));var He;(function(r){function e(t){let n=t;return n&&(n.kind===void 0||n.kind==="id")&&q.func(n.createCancellationTokenSource)&&(n.dispose===void 0||q.func(n.dispose))}r.is=e})(He||(v.IdCancellationReceiverStrategy=He={}));var lr;(function(r){function e(t){let n=t;return n&&n.kind==="request"&&q.func(n.createCancellationTokenSource)&&(n.dispose===void 0||q.func(n.dispose))}r.is=e})(lr||(v.RequestCancellationReceiverStrategy=lr={}));var Qe;(function(r){r.Message=Object.freeze({createCancellationTokenSource(t){return new ir.CancellationTokenSource}});function e(t){return He.is(t)||lr.is(t)}r.is=e})(Qe||(v.CancellationReceiverStrategy=Qe={}));var Ge;(function(r){r.Message=Object.freeze({sendCancellation(t,n){return t.sendNotification(Me.type,{id:n})},cleanup(t){}});function e(t){let n=t;return n&&q.func(n.sendCancellation)&&q.func(n.cleanup)}r.is=e})(Ge||(v.CancellationSenderStrategy=Ge={}));var Ke;(function(r){r.Message=Object.freeze({receiver:Qe.Message,sender:Ge.Message});function e(t){let n=t;return n&&Qe.is(n.receiver)&&Ge.is(n.sender)}r.is=e})(Ke||(v.CancellationStrategy=Ke={}));var Xe;(function(r){function e(t){let n=t;return n&&q.func(n.handleMessage)}r.is=e})(Xe||(v.MessageStrategy=Xe={}));var on;(function(r){function e(t){let n=t;return n&&(Ke.is(n.cancellationStrategy)||ur.is(n.connectionStrategy)||Xe.is(n.messageStrategy))}r.is=e})(on||(v.ConnectionOptions=on={}));var Z;(function(r){r[r.New=1]="New",r[r.Listening=2]="Listening",r[r.Closed=3]="Closed",r[r.Disposed=4]="Disposed"})(Z||(Z={}));function yi(r,e,t,n){let s=t!==void 0?t:v.NullLogger,o=0,u=0,l=0,d="2.0",h,p=new Map,_,P=new Map,E=new Map,A,$=new nn.LinkedMap,F=new Map,X=new Set,w=new Map,y=C.Off,L=G.Text,S,H=Z.New,te=new Oe.Emitter,Pe=new Oe.Emitter,Er=new Oe.Emitter,Cr=new Oe.Emitter,kr=new Oe.Emitter,re=n&&n.cancellationStrategy?n.cancellationStrategy:Ke.Message;function Or(i){if(i===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+i.toString()}function Rn(i){return i===null?"res-unknown-"+(++l).toString():"res-"+i.toString()}function En(){return"not-"+(++u).toString()}function Cn(i,c){b.Message.isRequest(c)?i.set(Or(c.id),c):b.Message.isResponse(c)?i.set(Rn(c.id),c):i.set(En(),c)}function kn(i){}function xr(){return H===Z.Listening}function Nr(){return H===Z.Closed}function fe(){return H===Z.Disposed}function Mr(){(H===Z.New||H===Z.Listening)&&(H=Z.Closed,Pe.fire(void 0))}function On(i){te.fire([i,void 0,void 0])}function xn(i){te.fire(i)}r.onClose(Mr),r.onError(On),e.onClose(Mr),e.onError(xn);function Lr(){A||$.size===0||(A=(0,rn.default)().timer.setImmediate(()=>{A=void 0,Nn()}))}function jr(i){b.Message.isRequest(i)?Ln(i):b.Message.isNotification(i)?qn(i):b.Message.isResponse(i)?jn(i):In(i)}function Nn(){if($.size===0)return;let i=$.shift();try{let c=n?.messageStrategy;Xe.is(c)?c.handleMessage(i,jr):jr(i)}finally{Lr()}}let Mn=i=>{try{if(b.Message.isNotification(i)&&i.method===Me.type.method){let c=i.params.id,f=Or(c),m=$.get(f);if(b.Message.isRequest(m)){let O=n?.connectionStrategy,I=O&&O.cancelUndispatched?O.cancelUndispatched(m,kn):void 0;if(I&&(I.error!==void 0||I.result!==void 0)){$.delete(f),w.delete(c),I.id=m.id,Le(I,i.method,Date.now()),e.write(I).catch(()=>s.error("Sending response for canceled message failed."));return}}let N=w.get(c);if(N!==void 0){N.cancel(),ot(i);return}else X.add(c)}Cn($,i)}finally{Lr()}};function Ln(i){if(fe())return;function c(R,j,k){let W={jsonrpc:d,id:i.id};R instanceof b.ResponseError?W.error=R.toJson():W.result=R===void 0?null:R,Le(W,j,k),e.write(W).catch(()=>s.error("Sending response failed."))}function f(R,j,k){let W={jsonrpc:d,id:i.id,error:R.toJson()};Le(W,j,k),e.write(W).catch(()=>s.error("Sending response failed."))}function m(R,j,k){R===void 0&&(R=null);let W={jsonrpc:d,id:i.id,result:R};Le(W,j,k),e.write(W).catch(()=>s.error("Sending response failed."))}$n(i);let N=p.get(i.method),O,I;N&&(O=N.type,I=N.handler);let D=Date.now();if(I||h){let R=i.id??String(Date.now()),j=He.is(re.receiver)?re.receiver.createCancellationTokenSource(R):re.receiver.createCancellationTokenSource(i);i.id!==null&&X.has(i.id)&&j.cancel(),i.id!==null&&w.set(R,j);try{let k;if(I)if(i.params===void 0){if(O!==void 0&&O.numberOfParams!==0){f(new b.ResponseError(b.ErrorCodes.InvalidParams,`Request ${i.method} defines ${O.numberOfParams} params but received none.`),i.method,D);return}k=I(j.token)}else if(Array.isArray(i.params)){if(O!==void 0&&O.parameterStructures===b.ParameterStructures.byName){f(new b.ResponseError(b.ErrorCodes.InvalidParams,`Request ${i.method} defines parameters by name but received parameters by position`),i.method,D);return}k=I(...i.params,j.token)}else{if(O!==void 0&&O.parameterStructures===b.ParameterStructures.byPosition){f(new b.ResponseError(b.ErrorCodes.InvalidParams,`Request ${i.method} defines parameters by position but received parameters by name`),i.method,D);return}k=I(i.params,j.token)}else h&&(k=h(i.method,i.params,j.token));let W=k;k?W.then?W.then(V=>{w.delete(R),c(V,i.method,D)},V=>{w.delete(R),V instanceof b.ResponseError?f(V,i.method,D):V&&q.string(V.message)?f(new b.ResponseError(b.ErrorCodes.InternalError,`Request ${i.method} failed with message: ${V.message}`),i.method,D):f(new b.ResponseError(b.ErrorCodes.InternalError,`Request ${i.method} failed unexpectedly without providing any details.`),i.method,D)}):(w.delete(R),c(k,i.method,D)):(w.delete(R),m(k,i.method,D))}catch(k){w.delete(R),k instanceof b.ResponseError?c(k,i.method,D):k&&q.string(k.message)?f(new b.ResponseError(b.ErrorCodes.InternalError,`Request ${i.method} failed with message: ${k.message}`),i.method,D):f(new b.ResponseError(b.ErrorCodes.InternalError,`Request ${i.method} failed unexpectedly without providing any details.`),i.method,D)}}else f(new b.ResponseError(b.ErrorCodes.MethodNotFound,`Unhandled method ${i.method}`),i.method,D)}function jn(i){if(!fe())if(i.id===null)i.error?s.error(`Received response message without id: Error is:
7
+ ${JSON.stringify(i.error,void 0,4)}`):s.error("Received response message without id. No further error information provided.");else{let c=i.id,f=F.get(c);if(Wn(i,f),f!==void 0){F.delete(c);try{if(i.error){let m=i.error;f.reject(new b.ResponseError(m.code,m.message,m.data))}else if(i.result!==void 0)f.resolve(i.result);else throw new Error("Should never happen.")}catch(m){m.message?s.error(`Response handler '${f.method}' failed with message: ${m.message}`):s.error(`Response handler '${f.method}' failed unexpectedly.`)}}}}function qn(i){if(fe())return;let c,f;if(i.method===Me.type.method){let m=i.params.id;X.delete(m),ot(i);return}else{let m=P.get(i.method);m&&(f=m.handler,c=m.type)}if(f||_)try{if(ot(i),f)if(i.params===void 0)c!==void 0&&c.numberOfParams!==0&&c.parameterStructures!==b.ParameterStructures.byName&&s.error(`Notification ${i.method} defines ${c.numberOfParams} params but received none.`),f();else if(Array.isArray(i.params)){let m=i.params;i.method===xe.type.method&&m.length===2&&sr.is(m[0])?f({token:m[0],value:m[1]}):(c!==void 0&&(c.parameterStructures===b.ParameterStructures.byName&&s.error(`Notification ${i.method} defines parameters by name but received parameters by position`),c.numberOfParams!==i.params.length&&s.error(`Notification ${i.method} defines ${c.numberOfParams} params but received ${m.length} arguments`)),f(...m))}else c!==void 0&&c.parameterStructures===b.ParameterStructures.byPosition&&s.error(`Notification ${i.method} defines parameters by position but received parameters by name`),f(i.params);else _&&_(i.method,i.params)}catch(m){m.message?s.error(`Notification handler '${i.method}' failed with message: ${m.message}`):s.error(`Notification handler '${i.method}' failed unexpectedly.`)}else Er.fire(i)}function In(i){if(!i){s.error("Received empty message.");return}s.error(`Received message which is neither a response nor a notification message:
8
+ ${JSON.stringify(i,null,4)}`);let c=i;if(q.string(c.id)||q.number(c.id)){let f=c.id,m=F.get(f);m&&m.reject(new Error("The received response has neither a result nor an error property."))}}function ne(i){if(i!=null)switch(y){case C.Verbose:return JSON.stringify(i,null,4);case C.Compact:return JSON.stringify(i);default:return}}function Dn(i){if(!(y===C.Off||!S))if(L===G.Text){let c;(y===C.Verbose||y===C.Compact)&&i.params&&(c=`Params: ${ne(i.params)}
9
+
10
+ `),S.log(`Sending request '${i.method} - (${i.id})'.`,c)}else de("send-request",i)}function An(i){if(!(y===C.Off||!S))if(L===G.Text){let c;(y===C.Verbose||y===C.Compact)&&(i.params?c=`Params: ${ne(i.params)}
11
+
12
+ `:c=`No parameters provided.
13
+
14
+ `),S.log(`Sending notification '${i.method}'.`,c)}else de("send-notification",i)}function Le(i,c,f){if(!(y===C.Off||!S))if(L===G.Text){let m;(y===C.Verbose||y===C.Compact)&&(i.error&&i.error.data?m=`Error data: ${ne(i.error.data)}
15
+
16
+ `:i.result?m=`Result: ${ne(i.result)}
17
+
18
+ `:i.error===void 0&&(m=`No result returned.
19
+
20
+ `)),S.log(`Sending response '${c} - (${i.id})'. Processing request took ${Date.now()-f}ms`,m)}else de("send-response",i)}function $n(i){if(!(y===C.Off||!S))if(L===G.Text){let c;(y===C.Verbose||y===C.Compact)&&i.params&&(c=`Params: ${ne(i.params)}
21
+
22
+ `),S.log(`Received request '${i.method} - (${i.id})'.`,c)}else de("receive-request",i)}function ot(i){if(!(y===C.Off||!S||i.method===Ve.type.method))if(L===G.Text){let c;(y===C.Verbose||y===C.Compact)&&(i.params?c=`Params: ${ne(i.params)}
23
+
24
+ `:c=`No parameters provided.
25
+
26
+ `),S.log(`Received notification '${i.method}'.`,c)}else de("receive-notification",i)}function Wn(i,c){if(!(y===C.Off||!S))if(L===G.Text){let f;if((y===C.Verbose||y===C.Compact)&&(i.error&&i.error.data?f=`Error data: ${ne(i.error.data)}
27
+
28
+ `:i.result?f=`Result: ${ne(i.result)}
29
+
30
+ `:i.error===void 0&&(f=`No result returned.
31
+
32
+ `)),c){let m=i.error?` Request failed: ${i.error.message} (${i.error.code}).`:"";S.log(`Received response '${c.method} - (${i.id})' in ${Date.now()-c.timerStart}ms.${m}`,f)}else S.log(`Received response ${i.id} without active response promise.`,f)}else de("receive-response",i)}function de(i,c){if(!S||y===C.Off)return;let f={isLSPMessage:!0,type:i,message:c,timestamp:Date.now()};S.log(f)}function Se(){if(Nr())throw new ve(Ne.Closed,"Connection is closed.");if(fe())throw new ve(Ne.Disposed,"Connection is disposed.")}function Fn(){if(xr())throw new ve(Ne.AlreadyListening,"Connection is already listening")}function zn(){if(!xr())throw new Error("Call listen() first.")}function Te(i){return i===void 0?null:i}function qr(i){if(i!==null)return i}function Ir(i){return i!=null&&!Array.isArray(i)&&typeof i=="object"}function at(i,c){switch(i){case b.ParameterStructures.auto:return Ir(c)?qr(c):[Te(c)];case b.ParameterStructures.byName:if(!Ir(c))throw new Error("Received parameters by name but param is not an object literal.");return qr(c);case b.ParameterStructures.byPosition:return[Te(c)];default:throw new Error(`Unknown parameter structure ${i.toString()}`)}}function Dr(i,c){let f,m=i.numberOfParams;switch(m){case 0:f=void 0;break;case 1:f=at(i.parameterStructures,c[0]);break;default:f=[];for(let N=0;N<c.length&&N<m;N++)f.push(Te(c[N]));if(c.length<m)for(let N=c.length;N<m;N++)f.push(null);break}return f}let he={sendNotification:(i,...c)=>{Se();let f,m;if(q.string(i)){f=i;let O=c[0],I=0,D=b.ParameterStructures.auto;b.ParameterStructures.is(O)&&(I=1,D=O);let R=c.length,j=R-I;switch(j){case 0:m=void 0;break;case 1:m=at(D,c[I]);break;default:if(D===b.ParameterStructures.byName)throw new Error(`Received ${j} parameters for 'by Name' notification parameter structure.`);m=c.slice(I,R).map(k=>Te(k));break}}else{let O=c;f=i.method,m=Dr(i,O)}let N={jsonrpc:d,method:f,params:m};return An(N),e.write(N).catch(O=>{throw s.error("Sending notification failed."),O})},onNotification:(i,c)=>{Se();let f;return q.func(i)?_=i:c&&(q.string(i)?(f=i,P.set(i,{type:void 0,handler:c})):(f=i.method,P.set(i.method,{type:i,handler:c}))),{dispose:()=>{f!==void 0?P.delete(f):_=void 0}}},onProgress:(i,c,f)=>{if(E.has(c))throw new Error(`Progress handler for token ${c} already registered`);return E.set(c,f),{dispose:()=>{E.delete(c)}}},sendProgress:(i,c,f)=>he.sendNotification(xe.type,{token:c,value:f}),onUnhandledProgress:Cr.event,sendRequest:(i,...c)=>{Se(),zn();let f,m,N;if(q.string(i)){f=i;let R=c[0],j=c[c.length-1],k=0,W=b.ParameterStructures.auto;b.ParameterStructures.is(R)&&(k=1,W=R);let V=c.length;ir.CancellationToken.is(j)&&(V=V-1,N=j);let Y=V-k;switch(Y){case 0:m=void 0;break;case 1:m=at(W,c[k]);break;default:if(W===b.ParameterStructures.byName)throw new Error(`Received ${Y} parameters for 'by Name' request parameter structure.`);m=c.slice(k,V).map(Bn=>Te(Bn));break}}else{let R=c;f=i.method,m=Dr(i,R);let j=i.numberOfParams;N=ir.CancellationToken.is(R[j])?R[j]:void 0}let O=o++,I;N&&(I=N.onCancellationRequested(()=>{let R=re.sender.sendCancellation(he,O);return R===void 0?(s.log(`Received no promise from cancellation strategy when cancelling id ${O}`),Promise.resolve()):R.catch(()=>{s.log(`Sending cancellation messages for id ${O} failed`)})}));let D={jsonrpc:d,id:O,method:f,params:m};return Dn(D),typeof re.sender.enableCancellation=="function"&&re.sender.enableCancellation(D),new Promise(async(R,j)=>{let k=Y=>{R(Y),re.sender.cleanup(O),I?.dispose()},W=Y=>{j(Y),re.sender.cleanup(O),I?.dispose()},V={method:f,timerStart:Date.now(),resolve:k,reject:W};try{F.set(O,V),await e.write(D)}catch(Y){throw F.delete(O),V.reject(new b.ResponseError(b.ErrorCodes.MessageWriteError,Y.message?Y.message:"Unknown reason")),s.error("Sending request failed."),Y}})},onRequest:(i,c)=>{Se();let f=null;return ar.is(i)?(f=void 0,h=i):q.string(i)?(f=null,c!==void 0&&(f=i,p.set(i,{handler:c,type:void 0}))):c!==void 0&&(f=i.method,p.set(i.method,{type:i,handler:c})),{dispose:()=>{f!==null&&(f!==void 0?p.delete(f):h=void 0)}}},hasPendingResponse:()=>F.size>0,trace:async(i,c,f)=>{let m=!1,N=G.Text;f!==void 0&&(q.boolean(f)?m=f:(m=f.sendNotification||!1,N=f.traceFormat||G.Text)),y=i,L=N,y===C.Off?S=void 0:S=c,m&&!Nr()&&!fe()&&await he.sendNotification(cr.type,{value:C.toString(i)})},onError:te.event,onClose:Pe.event,onUnhandledNotification:Er.event,onDispose:kr.event,end:()=>{e.end()},dispose:()=>{if(fe())return;H=Z.Disposed,kr.fire(void 0);let i=new b.ResponseError(b.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let c of F.values())c.reject(i);F=new Map,w=new Map,X=new Set,$=new nn.LinkedMap,q.func(e.dispose)&&e.dispose(),q.func(r.dispose)&&r.dispose()},listen:()=>{Se(),Fn(),H=Z.Listening,r.listen(Mn)},inspect:()=>{(0,rn.default)().console.log("inspect")}};return he.onNotification(Ve.type,i=>{if(y===C.Off||!S)return;let c=y===C.Verbose||y===C.Compact;S.log(i.message,c?i.verbose:void 0)}),he.onNotification(xe.type,i=>{let c=E.get(i.token);c?c(i.value):Cr.fire(i)}),he}v.createMessageConnection=yi});var Ze=z(a=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.ProgressType=a.ProgressToken=a.createMessageConnection=a.NullLogger=a.ConnectionOptions=a.ConnectionStrategy=a.AbstractMessageBuffer=a.WriteableStreamMessageWriter=a.AbstractMessageWriter=a.MessageWriter=a.ReadableStreamMessageReader=a.AbstractMessageReader=a.MessageReader=a.SharedArrayReceiverStrategy=a.SharedArraySenderStrategy=a.CancellationToken=a.CancellationTokenSource=a.Emitter=a.Event=a.Disposable=a.LRUCache=a.Touch=a.LinkedMap=a.ParameterStructures=a.NotificationType9=a.NotificationType8=a.NotificationType7=a.NotificationType6=a.NotificationType5=a.NotificationType4=a.NotificationType3=a.NotificationType2=a.NotificationType1=a.NotificationType0=a.NotificationType=a.ErrorCodes=a.ResponseError=a.RequestType9=a.RequestType8=a.RequestType7=a.RequestType6=a.RequestType5=a.RequestType4=a.RequestType3=a.RequestType2=a.RequestType1=a.RequestType0=a.RequestType=a.Message=a.RAL=void 0;a.MessageStrategy=a.CancellationStrategy=a.CancellationSenderStrategy=a.CancellationReceiverStrategy=a.ConnectionError=a.ConnectionErrors=a.LogTraceNotification=a.SetTraceNotification=a.TraceFormat=a.TraceValues=a.Trace=void 0;var x=It();Object.defineProperty(a,"Message",{enumerable:!0,get:function(){return x.Message}});Object.defineProperty(a,"RequestType",{enumerable:!0,get:function(){return x.RequestType}});Object.defineProperty(a,"RequestType0",{enumerable:!0,get:function(){return x.RequestType0}});Object.defineProperty(a,"RequestType1",{enumerable:!0,get:function(){return x.RequestType1}});Object.defineProperty(a,"RequestType2",{enumerable:!0,get:function(){return x.RequestType2}});Object.defineProperty(a,"RequestType3",{enumerable:!0,get:function(){return x.RequestType3}});Object.defineProperty(a,"RequestType4",{enumerable:!0,get:function(){return x.RequestType4}});Object.defineProperty(a,"RequestType5",{enumerable:!0,get:function(){return x.RequestType5}});Object.defineProperty(a,"RequestType6",{enumerable:!0,get:function(){return x.RequestType6}});Object.defineProperty(a,"RequestType7",{enumerable:!0,get:function(){return x.RequestType7}});Object.defineProperty(a,"RequestType8",{enumerable:!0,get:function(){return x.RequestType8}});Object.defineProperty(a,"RequestType9",{enumerable:!0,get:function(){return x.RequestType9}});Object.defineProperty(a,"ResponseError",{enumerable:!0,get:function(){return x.ResponseError}});Object.defineProperty(a,"ErrorCodes",{enumerable:!0,get:function(){return x.ErrorCodes}});Object.defineProperty(a,"NotificationType",{enumerable:!0,get:function(){return x.NotificationType}});Object.defineProperty(a,"NotificationType0",{enumerable:!0,get:function(){return x.NotificationType0}});Object.defineProperty(a,"NotificationType1",{enumerable:!0,get:function(){return x.NotificationType1}});Object.defineProperty(a,"NotificationType2",{enumerable:!0,get:function(){return x.NotificationType2}});Object.defineProperty(a,"NotificationType3",{enumerable:!0,get:function(){return x.NotificationType3}});Object.defineProperty(a,"NotificationType4",{enumerable:!0,get:function(){return x.NotificationType4}});Object.defineProperty(a,"NotificationType5",{enumerable:!0,get:function(){return x.NotificationType5}});Object.defineProperty(a,"NotificationType6",{enumerable:!0,get:function(){return x.NotificationType6}});Object.defineProperty(a,"NotificationType7",{enumerable:!0,get:function(){return x.NotificationType7}});Object.defineProperty(a,"NotificationType8",{enumerable:!0,get:function(){return x.NotificationType8}});Object.defineProperty(a,"NotificationType9",{enumerable:!0,get:function(){return x.NotificationType9}});Object.defineProperty(a,"ParameterStructures",{enumerable:!0,get:function(){return x.ParameterStructures}});var fr=At();Object.defineProperty(a,"LinkedMap",{enumerable:!0,get:function(){return fr.LinkedMap}});Object.defineProperty(a,"LRUCache",{enumerable:!0,get:function(){return fr.LRUCache}});Object.defineProperty(a,"Touch",{enumerable:!0,get:function(){return fr.Touch}});var bi=Jr();Object.defineProperty(a,"Disposable",{enumerable:!0,get:function(){return bi.Disposable}});var cn=ge();Object.defineProperty(a,"Event",{enumerable:!0,get:function(){return cn.Event}});Object.defineProperty(a,"Emitter",{enumerable:!0,get:function(){return cn.Emitter}});var un=Fe();Object.defineProperty(a,"CancellationTokenSource",{enumerable:!0,get:function(){return un.CancellationTokenSource}});Object.defineProperty(a,"CancellationToken",{enumerable:!0,get:function(){return un.CancellationToken}});var ln=Hr();Object.defineProperty(a,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return ln.SharedArraySenderStrategy}});Object.defineProperty(a,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return ln.SharedArrayReceiverStrategy}});var dr=Gr();Object.defineProperty(a,"MessageReader",{enumerable:!0,get:function(){return dr.MessageReader}});Object.defineProperty(a,"AbstractMessageReader",{enumerable:!0,get:function(){return dr.AbstractMessageReader}});Object.defineProperty(a,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return dr.ReadableStreamMessageReader}});var hr=en();Object.defineProperty(a,"MessageWriter",{enumerable:!0,get:function(){return hr.MessageWriter}});Object.defineProperty(a,"AbstractMessageWriter",{enumerable:!0,get:function(){return hr.AbstractMessageWriter}});Object.defineProperty(a,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return hr.WriteableStreamMessageWriter}});var wi=tn();Object.defineProperty(a,"AbstractMessageBuffer",{enumerable:!0,get:function(){return wi.AbstractMessageBuffer}});var B=an();Object.defineProperty(a,"ConnectionStrategy",{enumerable:!0,get:function(){return B.ConnectionStrategy}});Object.defineProperty(a,"ConnectionOptions",{enumerable:!0,get:function(){return B.ConnectionOptions}});Object.defineProperty(a,"NullLogger",{enumerable:!0,get:function(){return B.NullLogger}});Object.defineProperty(a,"createMessageConnection",{enumerable:!0,get:function(){return B.createMessageConnection}});Object.defineProperty(a,"ProgressToken",{enumerable:!0,get:function(){return B.ProgressToken}});Object.defineProperty(a,"ProgressType",{enumerable:!0,get:function(){return B.ProgressType}});Object.defineProperty(a,"Trace",{enumerable:!0,get:function(){return B.Trace}});Object.defineProperty(a,"TraceValues",{enumerable:!0,get:function(){return B.TraceValues}});Object.defineProperty(a,"TraceFormat",{enumerable:!0,get:function(){return B.TraceFormat}});Object.defineProperty(a,"SetTraceNotification",{enumerable:!0,get:function(){return B.SetTraceNotification}});Object.defineProperty(a,"LogTraceNotification",{enumerable:!0,get:function(){return B.LogTraceNotification}});Object.defineProperty(a,"ConnectionErrors",{enumerable:!0,get:function(){return B.ConnectionErrors}});Object.defineProperty(a,"ConnectionError",{enumerable:!0,get:function(){return B.ConnectionError}});Object.defineProperty(a,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return B.CancellationReceiverStrategy}});Object.defineProperty(a,"CancellationSenderStrategy",{enumerable:!0,get:function(){return B.CancellationSenderStrategy}});Object.defineProperty(a,"CancellationStrategy",{enumerable:!0,get:function(){return B.CancellationStrategy}});Object.defineProperty(a,"MessageStrategy",{enumerable:!0,get:function(){return B.MessageStrategy}});var vi=se();a.RAL=vi.default});var hn=z(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});var fn=require("util"),ee=Ze(),Ye=class r extends ee.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 fn.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)}};Ye.emptyBuffer=Buffer.allocUnsafe(0);var pr=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),ee.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),ee.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),ee.Disposable.create(()=>this.stream.off("end",e))}onData(e){return this.stream.on("data",e),ee.Disposable.create(()=>this.stream.off("data",e))}},mr=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),ee.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),ee.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),ee.Disposable.create(()=>this.stream.off("end",e))}write(e,t){return new Promise((n,s)=>{let o=u=>{u==null?n():s(u)};typeof e=="string"?this.stream.write(e,t,o):this.stream.write(e,o)})}end(){this.stream.end()}},dn=Object.freeze({messageBuffer:Object.freeze({create:r=>new Ye(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 fn.TextDecoder(e.charset).decode(r)))}catch(t){return Promise.reject(t)}}})}),stream:Object.freeze({asReadableStream:r=>new pr(r),asWritableStream:r=>new mr(r)}),console,timer:Object.freeze({setTimeout(r,e,...t){let n=setTimeout(r,e,...t);return{dispose:()=>clearTimeout(n)}},setImmediate(r,...e){let t=setImmediate(r,...e);return{dispose:()=>clearImmediate(t)}},setInterval(r,e,...t){let n=setInterval(r,e,...t);return{dispose:()=>clearInterval(n)}}})});function gr(){return dn}(function(r){function e(){ee.RAL.install(dn)}r.install=e})(gr||(gr={}));yr.default=gr});var Pr=z(T=>{"use strict";var _i=T&&T.__createBinding||(Object.create?function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}:function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]}),Pi=T&&T.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&_i(e,r,t)};Object.defineProperty(T,"__esModule",{value:!0});T.createMessageConnection=T.createServerSocketTransport=T.createClientSocketTransport=T.createServerPipeTransport=T.createClientPipeTransport=T.generateRandomPipeName=T.StreamMessageWriter=T.StreamMessageReader=T.SocketMessageWriter=T.SocketMessageReader=T.PortMessageWriter=T.PortMessageReader=T.IPCMessageWriter=T.IPCMessageReader=void 0;var _e=hn();_e.default.install();var pn=require("path"),Si=require("os"),Ti=require("crypto"),rt=require("net"),K=Ze();Pi(Ze(),T);var br=class extends K.AbstractMessageReader{constructor(e){super(),this.process=e;let t=this.process;t.on("error",n=>this.fireError(n)),t.on("close",()=>this.fireClose())}listen(e){return this.process.on("message",e),K.Disposable.create(()=>this.process.off("message",e))}};T.IPCMessageReader=br;var wr=class extends K.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let t=this.process;t.on("error",n=>this.fireError(n)),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(){}};T.IPCMessageWriter=wr;var vr=class extends K.AbstractMessageReader{constructor(e){super(),this.onData=new K.Emitter,e.on("close",()=>this.fireClose),e.on("error",t=>this.fireError(t)),e.on("message",t=>{this.onData.fire(t)})}listen(e){return this.onData.event(e)}};T.PortMessageReader=vr;var _r=class extends K.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.on("close",()=>this.fireClose()),e.on("error",t=>this.fireError(t))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}};T.PortMessageWriter=_r;var ue=class extends K.ReadableStreamMessageReader{constructor(e,t="utf-8"){super((0,_e.default)().stream.asReadableStream(e),t)}};T.SocketMessageReader=ue;var le=class extends K.WriteableStreamMessageWriter{constructor(e,t){super((0,_e.default)().stream.asWritableStream(e),t),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}};T.SocketMessageWriter=le;var et=class extends K.ReadableStreamMessageReader{constructor(e,t){super((0,_e.default)().stream.asReadableStream(e),t)}};T.StreamMessageReader=et;var tt=class extends K.WriteableStreamMessageWriter{constructor(e,t){super((0,_e.default)().stream.asWritableStream(e),t)}};T.StreamMessageWriter=tt;var mn=process.env.XDG_RUNTIME_DIR,Ri=new Map([["linux",107],["darwin",103]]);function Ei(){let r=(0,Ti.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${r}-sock`;let e;mn?e=pn.join(mn,`vscode-ipc-${r}.sock`):e=pn.join(Si.tmpdir(),`vscode-${r}.sock`);let t=Ri.get(process.platform);return t!==void 0&&e.length>t&&(0,_e.default)().console.warn(`WARNING: IPC handle "${e}" is longer than ${t} characters.`),e}T.generateRandomPipeName=Ei;function Ci(r,e="utf-8"){let t,n=new Promise((s,o)=>{t=s});return new Promise((s,o)=>{let u=(0,rt.createServer)(l=>{u.close(),t([new ue(l,e),new le(l,e)])});u.on("error",o),u.listen(r,()=>{u.removeListener("error",o),s({onConnected:()=>n})})})}T.createClientPipeTransport=Ci;function ki(r,e="utf-8"){let t=(0,rt.createConnection)(r);return[new ue(t,e),new le(t,e)]}T.createServerPipeTransport=ki;function Oi(r,e="utf-8"){let t,n=new Promise((s,o)=>{t=s});return new Promise((s,o)=>{let u=(0,rt.createServer)(l=>{u.close(),t([new ue(l,e),new le(l,e)])});u.on("error",o),u.listen(r,"127.0.0.1",()=>{u.removeListener("error",o),s({onConnected:()=>n})})})}T.createClientSocketTransport=Oi;function xi(r,e="utf-8"){let t=(0,rt.createConnection)(r,"127.0.0.1");return[new ue(t,e),new le(t,e)]}T.createServerSocketTransport=xi;function Ni(r){let e=r;return e.read!==void 0&&e.addListener!==void 0}function Mi(r){let e=r;return e.write!==void 0&&e.addListener!==void 0}function Li(r,e,t,n){t||(t=K.NullLogger);let s=Ni(r)?new et(r):r,o=Mi(e)?new tt(e):e;return K.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,K.createMessageConnection)(s,o,t,n)}T.createMessageConnection=Li});var yn=z((ls,gn)=>{"use strict";gn.exports=Pr()});var $i={};Gn($i,{applyEdits:()=>Tn});module.exports=Kn($i);var _n=Re(require("child_process"));var Ee=class{diff(e,t,n={}){let s;typeof n=="function"?(s=n,n={}):"callback"in n&&(s=n.callback);let o=this.castInput(e,n),u=this.castInput(t,n),l=this.removeEmpty(this.tokenize(o,n)),d=this.removeEmpty(this.tokenize(u,n));return this.diffWithOptionsObj(l,d,n,s)}diffWithOptionsObj(e,t,n,s){var o;let u=w=>{if(w=this.postProcess(w,n),s){setTimeout(function(){s(w)},0);return}else return w},l=t.length,d=e.length,h=1,p=l+d;n.maxEditLength!=null&&(p=Math.min(p,n.maxEditLength));let _=(o=n.timeout)!==null&&o!==void 0?o:1/0,P=Date.now()+_,E=[{oldPos:-1,lastComponent:void 0}],A=this.extractCommon(E[0],t,e,0,n);if(E[0].oldPos+1>=d&&A+1>=l)return u(this.buildValues(E[0].lastComponent,t,e));let $=-1/0,F=1/0,X=()=>{for(let w=Math.max($,-h);w<=Math.min(F,h);w+=2){let y,L=E[w-1],S=E[w+1];L&&(E[w-1]=void 0);let H=!1;if(S){let Pe=S.oldPos-w;H=S&&0<=Pe&&Pe<l}let te=L&&L.oldPos+1<d;if(!H&&!te){E[w]=void 0;continue}if(!te||H&&L.oldPos<S.oldPos?y=this.addToPath(S,!0,!1,0,n):y=this.addToPath(L,!1,!0,1,n),A=this.extractCommon(y,t,e,w,n),y.oldPos+1>=d&&A+1>=l)return u(this.buildValues(y.lastComponent,t,e))||!0;E[w]=y,y.oldPos+1>=d&&(F=Math.min(F,w-1)),A+1>=l&&($=Math.max($,w+1))}h++};if(s)(function w(){setTimeout(function(){if(h>p||Date.now()>P)return s(void 0);X()||w()},0)})();else for(;h<=p&&Date.now()<=P;){let w=X();if(w)return w}}addToPath(e,t,n,s,o){let u=e.lastComponent;return u&&!o.oneChangePerToken&&u.added===t&&u.removed===n?{oldPos:e.oldPos+s,lastComponent:{count:u.count+1,added:t,removed:n,previousComponent:u.previousComponent}}:{oldPos:e.oldPos+s,lastComponent:{count:1,added:t,removed:n,previousComponent:u}}}extractCommon(e,t,n,s,o){let u=t.length,l=n.length,d=e.oldPos,h=d-s,p=0;for(;h+1<u&&d+1<l&&this.equals(n[d+1],t[h+1],o);)h++,d++,p++,o.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return p&&!o.oneChangePerToken&&(e.lastComponent={count:p,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=d,h}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join("")}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let s=[],o;for(;e;)s.push(e),o=e.previousComponent,delete e.previousComponent,e=o;s.reverse();let u=s.length,l=0,d=0,h=0;for(;l<u;l++){let p=s[l];if(p.removed)p.value=this.join(n.slice(h,h+p.count)),h+=p.count;else{if(!p.added&&this.useLongestToken){let _=t.slice(d,d+p.count);_=_.map(function(P,E){let A=n[h+E];return A.length>P.length?A:P}),p.value=this.join(_)}else p.value=this.join(t.slice(d,d+p.count));d+=p.count,p.added||(h+=p.count)}}return s}};var ct=class extends Ee{constructor(){super(...arguments),this.tokenize=Zn}equals(e,t,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(`
33
+ `))&&(e=e.trim()),(!n.newlineIsToken||!t.includes(`
34
+ `))&&(t=t.trim())):n.ignoreNewlineAtEof&&!n.newlineIsToken&&(e.endsWith(`
35
+ `)&&(e=e.slice(0,-1)),t.endsWith(`
36
+ `)&&(t=t.slice(0,-1))),super.equals(e,t,n)}},Xn=new ct;function ut(r,e,t){return Xn.diff(r,e,t)}function Zn(r,e){e.stripTrailingCr&&(r=r.replace(/\r\n/g,`
37
+ `));let t=[],n=r.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(let s=0;s<n.length;s++){let o=n[s];s%2&&!e.newlineIsToken?t[t.length-1]+=o:t.push(o)}return t}function lt(r,e,t,n,s,o,u){let l;u?typeof u=="function"?l={callback:u}:l=u:l={},typeof l.context>"u"&&(l.context=4);let d=l.context;if(l.newlineIsToken)throw new Error("newlineIsToken may not be used with patch-generation functions, only with diffing functions");if(l.callback){let{callback:p}=l;ut(t,n,Object.assign(Object.assign({},l),{callback:_=>{let P=h(_);p(P)}}))}else return h(ut(t,n,l));function h(p){if(!p)return;p.push({value:"",lines:[]});function _(w){return w.map(function(y){return" "+y})}let P=[],E=0,A=0,$=[],F=1,X=1;for(let w=0;w<p.length;w++){let y=p[w],L=y.lines||Yn(y.value);if(y.lines=L,y.added||y.removed){if(!E){let S=p[w-1];E=F,A=X,S&&($=d>0?_(S.lines.slice(-d)):[],E-=$.length,A-=$.length)}for(let S of L)$.push((y.added?"+":"-")+S);y.added?X+=L.length:F+=L.length}else{if(E)if(L.length<=d*2&&w<p.length-2)for(let S of _(L))$.push(S);else{let S=Math.min(L.length,d);for(let te of _(L.slice(0,S)))$.push(te);let H={oldStart:E,oldLines:F-E+S,newStart:A,newLines:X-A+S,lines:$};P.push(H),E=0,A=0,$=[]}F+=L.length,X+=L.length}}for(let w of P)for(let y=0;y<w.lines.length;y++)w.lines[y].endsWith(`
38
+ `)?w.lines[y]=w.lines[y].slice(0,-1):(w.lines.splice(y+1,0,"\"),y++);return{oldFileName:r,newFileName:e,oldHeader:s,newHeader:o,hunks:P}}}function qe(r){if(Array.isArray(r))return r.map(qe).join(`
39
+ `);let e=[];r.oldFileName==r.newFileName&&e.push("Index: "+r.oldFileName),e.push("==================================================================="),e.push("--- "+r.oldFileName+(typeof r.oldHeader>"u"?"":" "+r.oldHeader)),e.push("+++ "+r.newFileName+(typeof r.newHeader>"u"?"":" "+r.newHeader));for(let t=0;t<r.hunks.length;t++){let n=r.hunks[t];n.oldLines===0&&(n.oldStart-=1),n.newLines===0&&(n.newStart-=1),e.push("@@ -"+n.oldStart+","+n.oldLines+" +"+n.newStart+","+n.newLines+" @@");for(let s of n.lines)e.push(s)}return e.join(`
40
+ `)+`
41
+ `}function $r(r,e,t,n,s,o,u){if(typeof u=="function"&&(u={callback:u}),u?.callback){let{callback:l}=u;lt(r,e,t,n,s,o,Object.assign(Object.assign({},u),{callback:d=>{l(d?qe(d):void 0)}}))}else{let l=lt(r,e,t,n,s,o,u);return l?qe(l):void 0}}function ft(r,e,t,n,s,o){return $r(r,r,e,t,n,s,o)}function Yn(r){let e=r.endsWith(`
42
+ `),t=r.split(`
43
+ `).map(n=>n+`
44
+ `);return e?t.pop():t.push(t.pop().slice(0,-1)),t}var Tr=Re(require("fs")),Rr=Re(require("path")),Pn=Re(Pr()),st=Re(yn());var nt=class r{constructor(e,t,n,s){this._uri=e,this._languageId=t,this._version=n,this._content=s,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){for(let n of e)if(r.isIncremental(n)){let s=vn(n.range),o=this.offsetAt(s.start),u=this.offsetAt(s.end);this._content=this._content.substring(0,o)+n.text+this._content.substring(u,this._content.length);let l=Math.max(s.start.line,0),d=Math.max(s.end.line,0),h=this._lineOffsets,p=bn(n.text,!1,o);if(d-l===p.length)for(let P=0,E=p.length;P<E;P++)h[P+l+1]=p[P];else p.length<1e4?h.splice(l+1,d-l,...p):this._lineOffsets=h=h.slice(0,l+1).concat(p,h.slice(d+1));let _=n.text.length-(u-o);if(_!==0)for(let P=l+1+p.length,E=h.length;P<E;P++)h[P]=h[P]+_}else if(r.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=t}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=bn(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,s=t.length;if(s===0)return{line:0,character:e};for(;n<s;){let u=Math.floor((n+s)/2);t[u]>e?s=u:n=u+1}let o=n-1;return e=this.ensureBeforeEOL(e,t[o]),{line:o,character:e-t[o]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line];if(e.character<=0)return n;let s=e.line+1<t.length?t[e.line+1]:this._content.length,o=Math.min(n+e.character,s);return this.ensureBeforeEOL(o,n)}ensureBeforeEOL(e,t){for(;e>t&&wn(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let t=e;return t!=null&&typeof t.text=="string"&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength=="number")}static isFull(e){let t=e;return t!=null&&typeof t.text=="string"&&t.range===void 0&&t.rangeLength===void 0}},it;(function(r){function e(s,o,u,l){return new nt(s,o,u,l)}r.create=e;function t(s,o,u){if(s instanceof nt)return s.update(o,u),s;throw new Error("TextDocument.update: document must be created by TextDocument.create")}r.update=t;function n(s,o){let u=s.getText(),l=Sr(o.map(ji),(p,_)=>{let P=p.range.start.line-_.range.start.line;return P===0?p.range.start.character-_.range.start.character:P}),d=0,h=[];for(let p of l){let _=s.offsetAt(p.range.start);if(_<d)throw new Error("Overlapping edit");_>d&&h.push(u.substring(d,_)),p.newText.length&&h.push(p.newText),d=s.offsetAt(p.range.end)}return h.push(u.substr(d)),h.join("")}r.applyEdits=n})(it||(it={}));function Sr(r,e){if(r.length<=1)return r;let t=r.length/2|0,n=r.slice(0,t),s=r.slice(t);Sr(n,e),Sr(s,e);let o=0,u=0,l=0;for(;o<n.length&&u<s.length;)e(n[o],s[u])<=0?r[l++]=n[o++]:r[l++]=s[u++];for(;o<n.length;)r[l++]=n[o++];for(;u<s.length;)r[l++]=s[u++];return r}function bn(r,e,t=0){let n=e?[t]:[];for(let s=0;s<r.length;s++){let o=r.charCodeAt(s);wn(o)&&(o===13&&s+1<r.length&&r.charCodeAt(s+1)===10&&s++,n.push(t+s+1))}return n}function wn(r){return r===13||r===10}function vn(r){let e=r.start,t=r.end;return e.line>t.line||e.line===t.line&&e.character>t.character?{start:t,end:e}:r}function ji(r){let e=vn(r.range);return e!==r.range?{newText:r.newText,range:e}:r}function qi(r){let e=Rr.default.resolve(r);return e=e.replace(/\\/g,"/"),e.startsWith("/")||(e="/"+e),`file://${e}`}async function Ii(r){let t=_n.default.spawn("./dist/server.js",["--stdio"],{stdio:["pipe","pipe","pipe"]});t.stderr.on("data",l=>{console.error("LSP stderr:",l.toString())});let n=(0,Pn.createMessageConnection)(new st.StreamMessageReader(t.stdout),new st.StreamMessageWriter(t.stdin));n.onNotification("window/logMessage",l=>{let h={1:"ERROR",2:"WARN",3:"INFO",4:"LOG"}[l.type]||"LOG";console.log(`[LSP ${h}] ${l.message}`)}),n.onRequest("workspace/workspaceFolders",()=>[{uri:`file://${process.cwd()}`,name:"root"}]),n.listen(),n.sendNotification("workspace/didChangeConfiguration",{settings:{devicetree:{defaultIncludePaths:[],defaultBindingType:"Zephyr",defaultZephyrBindings:[],autoChangeContext:!0,allowAdhocContexts:!0,defaultLockRenameEdits:[]}}});let s=[{uri:qi(process.cwd()),name:"root"}];await n.sendRequest("initialize",{processId:process.pid,rootUri:`file://${process.cwd()}`,capabilities:{},workspaceFolders:s}),await n.sendNotification("initialized");let o=!1,u=[];for(let l of r){let d=Rr.default.resolve(l),h=Tr.default.readFileSync(d,"utf8"),p={uri:`file://${d}`,languageId:"devicetree",version:0,text:h};n.sendNotification("textDocument/didOpen",{textDocument:p});let _={textDocument:{uri:`file://${d}`},options:{tabSize:4,insertSpaces:!1,trimTrailingWhitespace:!0}};await Di(n);let P=await n.sendRequest("textDocument/formatting",_),E=Tn(it.create(`file://${d}`,"devicetree",0,h),P);n.sendNotification("textDocument/didClose",{textDocument:{uri:`file://${d}`}}),await Ai(n);let A=ft(`file://${d}`,h,E);E!==h?(console.error(`\u274C Formatting issues in: ${l}`),o=!0,console.log(A),u.push(A)):console.log(`\u2705 ${l} is correctly formatted.`)}Tr.default.writeFileSync("/Users/kylebonnici/workspace/personal/linter/diff",u.join(`
45
+
46
+ `)),console.log("Processed ",r.length,"files"),n.dispose(),t.kill(),o?process.exit(1):process.exit(0)}var Sn=process.argv.slice(2);Sn.length===0&&(console.error("Usage: ts-node validate-format.ts <file1> [file2] ..."),process.exit(1));Ii(Sn).catch(r=>{console.error("Error validating files:",r),process.exit(1)});function Tn(r,e){let t=r.getText(),n=e.slice().sort((o,u)=>{let l=r.offsetAt(o.range.start),d=r.offsetAt(u.range.start);if(l!==d)return d-l;let h=r.offsetAt(o.range.end),p=r.offsetAt(u.range.end);if(h!==p)return p-h;let _=l===h&&o.newText.length>0,P=d===p&&u.newText.length>0;return _!==P?_?1:-1:0}),s=t;for(let o of n){let u=r.offsetAt(o.range.start),l=r.offsetAt(o.range.end);s=s.slice(0,u)+o.newText+s.slice(l)}return s}function Di(r,e=5e3){return new Promise((t,n)=>{let s=setTimeout(()=>{n(new Error("Timed out waiting for devicetree/newActiveContext")),o.dispose()},e),o=r.onNotification("devicetree/newActiveContext",()=>{clearTimeout(s),t(),o.dispose()})})}function Ai(r,e=5e3){return new Promise((t,n)=>{let s=setTimeout(()=>{n(new Error("Timed out waiting for devicetree/contextDeleted")),o.dispose()},e),o=r.onNotification("devicetree/contextDeleted",()=>{clearTimeout(s),t(),o.dispose()})})}0&&(module.exports={applyEdits});