UNPKG

@sap/cds-lsp

Version:

Language server for CDS

408 lines (403 loc) 623 kB
"use strict";var mI=Object.create;var pi=Object.defineProperty;var fI=Object.getOwnPropertyDescriptor;var yF=Object.getOwnPropertyNames;var bF=Object.getPrototypeOf,TF=Object.prototype.hasOwnProperty;var hI=(i,e)=>(e=Symbol[i])?e:Symbol.for("Symbol."+i),na=i=>{throw TypeError(i)};var gI=(i,e,t)=>e in i?pi(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var s=(i,e)=>pi(i,"name",{value:e,configurable:!0});var Bm=(i,e)=>()=>{try{return e||i((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},SF=(i,e)=>{for(var t in e) pi(i,t,{get:e[t],enumerable:!0})},II=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of yF(e))!TF.call( i,r)&&r!==t&&pi(i,r,{get:()=>e[r],enumerable:!(n=fI(e,r))||n.enumerable});return i};var q=(i,e,t)=>(t=i!=null?mI(bF(i)):{},II(e||!i||!i.__esModule?pi(t,"default",{value:i,enumerable:!0}):t,i)),kF=i=>II(pi( {},"__esModule",{value:!0}),i);var C=i=>[,,,mI(i?.[hI("metadata")]??null)],yI=["class","method","getter","setter","accessor","field","value","get","set"], ta=i=>i!==void 0&&typeof i!="function"?na("Function expected"):i,xF=(i,e,t,n,r)=>({kind:yI[i],name:e,metadata:n,addInitializer:o=>t. _?na("Already initialized"):r.push(ta(o||null))}),k=(i,e)=>gI(e,hI("metadata"),i[3]),S=(i,e,t,n)=>{for(var r=0,o=i[e>>1], a=o&&o.length;r<a;r++)e&1?o[r].call(t):n=o[r].call(t,n);return n},m=(i,e,t,n,r,o)=>{var a,l,c,p,d,u=e&7,f=!!(e&8),h=!!(e& 16),g=u>3?i.length+1:u?f?1:2:0,b=yI[u+5],T=u>3&&(i[g-1]=[]),v=i[g]||(i[g]=[]),R=u&&(!h&&!f&&(r=r.prototype),u<5&&(u>3||!h)&& fI(u<4?r:{get[t](){return dI(this,o)},set[t](E){return uI(this,o,E)}},t));u?h&&u<4&&s(o,(u>2?"set ":u>1?"get ":"")+t):s( r,t);for(var N=n.length-1;N>=0;N--)p=xF(u,t,c={},i[3],v),u&&(p.static=f,p.private=h,d=p.access={has:h?E=>CF(r,E):E=>t in E},u^3&&(d.get=h?E=>(u^1?dI:PF)(E,r,u^4?o:R.get):E=>E[t]),u>2&&(d.set=h?(E,U)=>uI(E,r,U,u^4?o:R.set):(E,U)=>E[t]=U)),l=(0,n[N])( u?u<4?h?o:R[b]:u>4?void 0:{get:R.get,set:R.set}:r,p),c._=1,u^4||l===void 0?ta(l)&&(u>4?T.unshift(l):u?h?o=l:R[b]=l:r=l): typeof l!="object"||l===null?na("Object expected"):(ta(a=l.get)&&(R.get=a),ta(a=l.set)&&(R.set=a),ta(a=l.init)&&T.unshift( a));return u||k(i,r),R&&pi(r,t,R),h?u^4?o:R:r},x=(i,e,t)=>gI(i,typeof e!="symbol"?e+"":e,t),Xm=(i,e,t)=>e.has(i)||na("Ca\ nnot "+t),CF=(i,e)=>Object(e)!==e?na('Cannot use the "in" operator on this value'):i.has(e),dI=(i,e,t)=>(Xm(i,e,"read fr\ om private field"),t?t.call(i):e.get(i));var uI=(i,e,t,n)=>(Xm(i,e,"write to private field"),n?n.call(i,t):e.set(i,t),t),PF=(i,e,t)=>(Xm(i,e,"access private meth\ od"),t);var sb=Bm((N$,ob)=>{"use strict";var fE=Object.create,Wc=Object.defineProperty,hE=Object.getOwnPropertyDescriptor,gE=Object. getOwnPropertyNames,IE=Object.getPrototypeOf,yE=Object.prototype.hasOwnProperty,bE=s((i,e)=>{for(var t in e)Wc(i,t,{get:e[t], enumerable:!0})},"v"),nb=s((i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of gE(e))!yE.call(i,r)&& r!==t&&Wc(i,r,{get:s(()=>e[r],"get"),enumerable:!(n=hE(e,r))||n.enumerable});return i},"u"),ff=s((i,e,t)=>(t=i!=null?fE( IE(i)):{},nb(e||!i||!i.__esModule?Wc(t,"default",{value:i,enumerable:!0}):t,i)),"p"),TE=s(i=>nb(Wc({},"__esModule",{value:!0}), i),"E"),rb={};bE(rb,{TelemetryClient:s(()=>UE,"TelemetryClient")});ob.exports=TE(rb);var SE=ff(require("node:zlib")),kE=ff( require("node:crypto")),ga=ff(require("node:os")),xE=/@sap\.com\b/i,CE=/^[CDI]\d{6,}\b/i,ib;try{ib=require("vscode")}catch{} function PE(){return{"ai.cloud.role":"masked","ai.cloud.roleInstance":"masked","ai.device.type":"masked","ai.location.ip":"\ 0.0.0.0"}}s(PE,"d");function vE(){return{"cds.bas.iaas":LE(),"cds.bas.landscape":FE(),"cds.bas":RE(),"cds.client.os":AE(), "cds.event":!0,"cds.user.sap":NE(),"cds.user":EE()}}s(vE,"l");function AE(){return`${ga.type()} ${ga.release()}`}s(AE,"S"); function RE(){return!!process.env.WS_BASE_URL}s(RE,"D");function LE(){return process.env.LANDSCAPE_INFRASTRUCTURE??""}s( LE,"N");function FE(){return process.env.LANDSCAPE_NAME??""}s(FE,"C");function EE(){let i=process.env.USER_NAME??ga.userInfo(). username??ib?.env?.machineId??ga.hostname();return i?wE(i):""}s(EE,"K");function NE(){return!!(process.env.USER_NAME?.match( xE)||ga.userInfo().username?.trim()?.match(CE))}s(NE,"x");function wE(i){return kE.createHash("sha256").update(i).digest( "hex")}s(wE,"M");var OE=s(i=>SE.unzipSync(Buffer.from(i,"base64")).toString(),"O"),_E="eJyNzU0OgjAQQOETtaAiPxqWLoheYtoOZ\ RKYNu2AwdMbXbn0AO97A2dJ64IsIBT4jntfl8e2QgfKttaqqukqZZxplDudxxKMqeuxuw7sMX+KG7sYiKWfRGK+FIXHtADvT8xikSXBrA6aWEOMM9nvhTiTn\ yRreK0JtQ1LcX3Qhn9YeqYNHYHnkIVs1ktgkpB+qDd8J05p",DE=OE(_E),UE=class{static{s(this,"c")}constructor(i){this.id=i;let e=Object. fromEntries(DE.split(";").map(t=>t.split("=")).filter(([t,n])=>t&&n));this.iKey=e.InstrumentationKey,this.endPoint=`${e. IngestionEndpoint}/v2/track`,this.defaultProperties=vE(),this.defaultTags=PE()}async report(i,e){let t=this.getEventPayload( i,e),n=await fetch(this.endPoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n. ok)throw await n.text()}getEventPayload(i,e){let{properties:t,measurements:n}=this.getEventData(e);return{name:"Microsof\ t.ApplicationInsights.Event",time:new Date().toISOString(),iKey:this.iKey,tags:this.defaultTags,data:{baseType:"EventDat\ a",baseData:{ver:2,name:`${this.id}/${i}`,properties:t,measurements:n}}}}getEventData(i){let e=Object.create(null),t=Object. create(null);for(let[n,r]of Object.entries(i))r!==void 0&&(typeof r=="number"?t[n]=r:e[n]=r);return e={...this.defaultProperties, ...e},{properties:e,measurements:t}}}});var CT=Bm((JB,Tp)=>{function yT(i){return Array.isArray(i)?i:[i]}s(yT,"makeArray");var rN=void 0,Ef="",gT=" ",Ff="\\",iN=/^\s+$/, oN=/(?:[^\\]|^)\\$/,sN=/^\\!/,aN=/^\\#/,lN=/\r?\n/g,cN=/^\.{0,2}\/|^\.{1,2}$/,pN=/\/$/,Bo="/",bT="node-ignore";typeof Symbol< "u"&&(bT=Symbol.for("node-ignore"));var TT=bT,Xo=s((i,e,t)=>(Object.defineProperty(i,e,{value:t}),t),"define"),dN=/([0-z])-([0-z])/g, ST=s(()=>!1,"RETURN_FALSE"),uN=s(i=>i.replace(dN,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:Ef),"sanitizeRange"),mN=s(i=>{ let{length:e}=i;return i.slice(0,e-e%2)},"cleanRangeBackSlash"),fN=[[/^\uFEFF/,()=>Ef],[/((?:\\\\)*?)(\\?\s+)$/,(i,e,t)=>e+ (t.indexOf("\\")===0?gT:Ef)],[/(\\+?)\s/g,(i,e)=>{let{length:t}=e;return e.slice(0,t-t%2)+gT}],[/[\\$.|*+(){^]/g,i=>`\\${i}`], [/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,s(function(){ return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"},"startingReplacer")],[/\\\/\\\*\\\*(?=\\\/|$)/g,(i,e,t)=>e+6<t.length?"(?:\\/\ [^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(i,e,t)=>{let n=t.replace(/\\\*/g,"[^\\/]*");return e+n}],[/\\\\\\(?=[$.|*+(){^])/g, ()=>Ff],[/\\\\/g,()=>Ff],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(i,e,t,n,r)=>e===Ff?`\\[${t}${mN(n)}${r}`:r==="]"&&n.length%2=== 0?`[${uN(t)}${n}]`:"[]"],[/(?:[^*])$/,i=>/\/$/.test(i)?`${i}$`:`${i}(?=$|\\/$)`]],hN=/(^|\\\/)?\\\*$/,xa="regex",yp="che\ ckRegex",IT="_",gN={[xa](i,e){return`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`},[yp](i,e){return`${e?`${e}[^/]*`:"[^/]*"}(?=$|\ \\/$)`}},IN=s(i=>fN.reduce((e,[t,n])=>e.replace(t,n.bind(i)),i),"makeRegexPrefix"),bp=s(i=>typeof i=="string","isString"), yN=s(i=>i&&bp(i)&&!iN.test(i)&&!oN.test(i)&&i.indexOf("#")!==0,"checkPattern"),bN=s(i=>i.split(lN).filter(Boolean),"spli\ tPattern"),Nf=class{static{s(this,"IgnoreRule")}constructor(e,t,n,r,o,a){this.pattern=e,this.mark=t,this.negative=o,Xo(this, "body",n),Xo(this,"ignoreCase",r),Xo(this,"regexPrefix",a)}get regex(){let e=IT+xa;return this[e]?this[e]:this._make(xa, e)}get checkRegex(){let e=IT+yp;return this[e]?this[e]:this._make(yp,e)}_make(e,t){let n=this.regexPrefix.replace(hN,gN[e]), r=this.ignoreCase?new RegExp(n,"i"):new RegExp(n);return Xo(this,t,r)}},TN=s(({pattern:i,mark:e},t)=>{let n=!1,r=i;r.indexOf( "!")===0&&(n=!0,r=r.substr(1)),r=r.replace(sN,"!").replace(aN,"#");let o=IN(r);return new Nf(i,e,r,t,n,o)},"createRule"), wf=class{static{s(this,"RuleManager")}constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[TT]){this._rules= this._rules.concat(e._rules._rules),this._added=!0;return}if(bp(e)&&(e={pattern:e}),yN(e.pattern)){let t=TN(e,this._ignoreCase); this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,yT(bp(e)?bN(e):e).forEach(this._add,this),this._added}test(e,t,n){ let r=!1,o=!1,a;this._rules.forEach(c=>{let{negative:p}=c;o===p&&r!==o||p&&!r&&!o&&!t||!c[n].test(e)||(r=!p,o=p,a=p?rN:c)}); let l={ignored:r,unignored:o};return a&&(l.rule=a),l}},SN=s((i,e)=>{throw new e(i)},"throwError"),tr=s((i,e,t)=>bp(i)?i? tr.isNotRelative(i)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be \ empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),"checkPath"),kT=s(i=>cN.test(i),"isNotRelative"); tr.isNotRelative=kT;tr.convert=i=>i;var Of=class{static{s(this,"Ignore")}constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){ Xo(this,TT,!0),this._rules=new wf(t),this._strictPathCheck=!n,this._initCache()}_initCache(){this._ignoreCache=Object.create( null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this. add(e)}_test(e,t,n,r){let o=e&&tr.convert(e);return tr(o,e,this._strictPathCheck?SN:ST),this._t(o,t,n,r)}checkIgnore(e){ if(!pN.test(e))return this.test(e);let t=e.split(Bo).filter(Boolean);if(t.pop(),t.length){let n=this._t(t.join(Bo)+Bo,this. _testCache,!0,t);if(n.ignored)return n}return this._rules.test(e,!1,yp)}_t(e,t,n,r){if(e in t)return t[e];if(r||(r=e.split( Bo).filter(Boolean)),r.pop(),!r.length)return t[e]=this._rules.test(e,n,xa);let o=this._t(r.join(Bo)+Bo,t,n,r);return t[e]= o.ignored?o:this._rules.test(e,n,xa)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this. ignores(e)}filter(e){return yT(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},_f=s(i=>new Of( i),"factory"),kN=s(i=>tr(i&&tr.convert(i),i,ST),"isPathValid"),xT=s(()=>{let i=s(t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u. test(t)?t:t.replace(/\\/g,"/"),"makePosix");tr.convert=i;let e=/^[a-z]:\//i;tr.isNotRelative=t=>e.test(t)||kT(t)},"setup\ Windows");typeof process<"u"&&process.platform==="win32"&&xT();Tp.exports=_f;_f.default=_f;Tp.exports.isPathValid=kN;Xo( Tp.exports,Symbol.for("setupWindows"),xT)});var Sh=Bm(Th=>{"use strict";Object.defineProperty(Th,"__esModule",{value:!0});Th.TypedEmitter=require("events").EventEmitter});var a_={};SF(a_,{ServerStarter:()=>Mm,createCdsLanguageTestServer:()=>qO,formatCli:()=>lI,lspRoot:()=>Oe,ruleName:()=>it}); module.exports=kF(a_);var pn=require("node:path");var _t="";function bI(i){return(0,pn.isAbsolute)(i)}s(bI,"path_isAbsolute");function te(i){return(0,pn.dirname)(i)}s(te, "path_dirname");function w(...i){return(0,pn.resolve)(...i)}s(w,"path_resolve");function tt(i,e){return(0,pn.relative)(i, e)}s(tt,"path_relative");function ft(...i){return(0,pn.join)(...i)}s(ft,"path_join");function TI(){return process.cwd()}s(TI,"process_cwd");var vF={filename:"/data/xmake/prod-build10210/w/ght-cap/ght-cap-cds-lsp-SP-REL-linuxx86_64_indirectshipment-linuxx86_64/\ gen/out/module/src/root.ts",dirname:"/data/xmake/prod-build10210/w/ght-cap/ght-cap-cds-lsp-SP-REL-linuxx86_64_indirectsh\ ipment-linuxx86_64/gen/out/module/src",relativefilename:"src/root.ts",relativedirname:"src"};var Oe=w(global.__lspBundleDirname??vF.dirname,"..");var kt=class{static{s(this,"Environment")}static isProduction(e){return process.env.NODE_ENV!=="test"}};function AF(i){return`CDS_LSP_${i}_FEATURE`}s(AF,"featureEnvName");function SI(i,e){return Vm(AF(i))??e}s(SI,"isFeatureE\ nabled");function Vm(i){let e=process.env[i];if(e!==void 0){if(["off","false","0"].includes(e))return!1;if(["on","true", "1"].includes(e))return!0}}s(Vm,"isEnabled");function Hn(i,e,t){return i?e():t}s(Hn,"fallback");var dc=q(require("node:async_hooks"));var cc=class{constructor(e){this.asyncId=e}asyncId;static{s(this,"ClsFrame")}},pc=class{constructor(e){this.clsFactory=e; this.hook=dc.createHook({init:s((t,n,r,o)=>{let a=this.getFrame(r),l=this.getFrame(t,a);this.frames.set(t,l)},"init"),destroy:s( t=>{this.frames.delete(t)},"destroy")}),this.hook.enable()}clsFactory;static{s(this,"ContinuationLocalStorage")}frames=new Map;hook;getFrame(e,t){ let n=this.frames.get(e);return n||(n=this.clsFactory.createFrame(e,t),this.frames.set(e,n)),n}currentFrame(){return this. getFrame(dc.executionAsyncId())}};var kI=s(i=>"\x1B["+i+"m","makeAnsi"),di=s((i,e=i+20)=>{let t=kI(i),n=kI(e);return r=>t+r+n},"makeTypo"),xI=s((i,e=!1)=>t=>{ let l="\x1B["+(t+(i?30:40)+(e?60:0))+"m",c="\x1B["+(9+(i?30:40))+"m";return p=>l+p+c},"makeColorize"),RF=["black","red", "green","khaki","blue","purple","petrol","lightgray"],LF=["darkgray","lightred","lightgreen","yellow","lightblue","magen\ ta","cyan","white"],CI=s(i=>{let e={};return RF.forEach((t,n)=>{e[t]=xI(i,!1)(n)}),LF.forEach((t,n)=>{e[t]=xI(i,!0)(n)}), e},"makeColors"),ui=CI(!0),PI=CI(!1),pe={fg:ui,bg:PI,intense:di(1,22),dim:di(2),italic:di(3),underline:di(4),blink:di(5), inverse:di(7),strikethrough:di(9)},Y={requestFromServer:ui.purple,responseToClient:ui.lightgreen,error:s(i=>ui.yellow(PI. red(i)),"error"),warn:ui.yellow,info:ui.white,success:ui.green};function Z(i=""){return`\u25BB${i}\u25C5`}s(Z,"tagPrivateData");function vI(i){let e=/▻[^▻◅]*?◅/dgu,t="";do{t=i; let n=[...i.matchAll(e)].reverse();for(let r of n){let[o,a]=r.indices[0];i=i.slice(0,o)+FF(i.slice(o,a))+i.slice(a)}}while(i!== t);return i}s(vI,"hidePrivateData");function FF(i){let e="",t=/(?<!uri\()(?<protocol>(\b\w[\w-]{1,30}:))(?<privateData>\S+)(?<extension>\.\w+\b)/dgm, n=[...i.replaceAll("-","_").matchAll(t)],r=/uri\(\w[\w-]{1,30}:[^)]*\)/dgm,o=[...i.matchAll(r)];o.forEach(c=>{c.isPrivateUri= !0});let a=n.concat(o).sort((c,p)=>c.index-p.index);if(!a.length)return"\u2026";let l=1;for(let c of a)e+=i.slice(l,c.index). replaceAll(/\w/g,"_"),l=c.index+c[0].length,c.isPrivateUri?e+=c[0]:e+=`uri(${c.groups.protocol}\u2026${c.groups.extension}\ )`;return e+=i.slice(l,i.length-1).replaceAll(/\w/g,"_"),e=e.replaceAll(/_{2,}/g,"\u2026"),e}s(FF,"keepNonPrivateUriPart\ s");var G=(p=>(p[p.invalid=0]="invalid",p[p.OFF=1]="OFF",p[p.INFRASTRUCTURE=2]="INFRASTRUCTURE",p[p.ERROR=3]="ERROR",p[p. WARNING=4]="WARNING",p[p.INFO=5]="INFO",p[p.VERBOSE=6]="VERBOSE",p[p.DEBUG=7]="DEBUG",p[p.IGNORE=8]="IGNORE",p))(G||{}), O=(E=>(E.ALL="*",E.ADAPTER="adapter",E.COMPLETION="completion",E.COMPILER="compiler",E.CONTRIBUTION="contribution",E.DOCUMENTATION= "docs",E.FORMATTING="format",E.MODEL="model",E.MODEL_TODOS="model-todos",E.REFACTOR="refactor",E.REQUESTS="requests",E.SETTINGS= "settings",E.UTIL="util",E.TELEMETRY="telemetry",E.WORKSPACE="workspace",E.FILES="files",E.PERSISTENCY="persistency",E.ENV= "cdsenv",E.COMMAND="command",E.CONTEXT_LOG="context-log",E))(O||{});var mc="---> ",Gn="<--- ";function Sr(i,{errorPredicate:e=!1,warnPredicate:t=!1,infoPredicate:n=!1,successPredicate:r=!1, debugPredicate:o=!1}){return e?Y.error(i):t?Y.warn(i):r?Y.success(i):n?Y.info(i):o?pe.fg.darkgray(i):i}s(Sr,"highlight"); var ra=class{constructor(e=!1){this.warnPrinted=e}warnPrinted;static{s(this,"NoTracer")}printWarning(){this.warnPrinted|| (this.warnPrinted=!0,console.error(` NoTracer was used!!! ${new Error().stack}`))}isTracing(e){return this.printWarning(),!1}debug(e){this.conditionalTrace(7,e)}verbose(e){this.conditionalTrace( 6,e)}info(e){this.conditionalTrace(5,e)}warn(e){this.conditionalTrace(4,e)}error(e){this.conditionalTrace(3,e)}footprint(e,t,n,r){ return t(...n)}conditionalTrace(e,t){this.printWarning()}},uc=class{constructor(e=new ra){this._tracer=e}_tracer;static{ s(this,"NoTrace")}conditionalTrace(){}configure(){}doTraceToFile(){}noTraceDuring(e){return e()}renderMessage(e,t,n){return""}tracer(){ return this._tracer}extendedStat(){}extendedStatLater(){}cancelLaterStats(){}traceLevel(e){return 1}},mo=class{static{s( this,"UnsupportedValue")}constructor(e){}};var fc=class{static{s(this,"SymbolData")}},Km=class extends fc{static{s(this,"LspClsAppScope")}trace=new uc;statistics=new class extends Map{static{ s(this,"Statistics")}assembleReport(t){if(this.size===0)return;let n={type:"statistics",status:"report",trigger:t,...[...this. entries()].reduce((r,[o,[a,l]])=>{let c=`${o}.average`;return r[c]=Math.round(a/l),r[`${o}.total`]=a,r},{})};return this. clear(),n}}},hc=class extends fc{constructor(t,n){super();this.name=t;this.requestNumber=n}name;requestNumber;static{s(this, "LspClsRequestScope")}abortSignal;snapshots=new Map},ia=class{static{s(this,"LspClsFrameScope")}indentLevel=0;constructor(e=0){ this.indentLevel=e}isTraceEnabled(){return this.indentLevel>=0}},gc=class extends cc{constructor(t,n,r,o){super(t);this. appScope=n;this.frameScope=o,this.requestScope=r}appScope;static{s(this,"LspClsFrame")}requestScope;frameScope},qm=class{static{ s(this,"LspFrameFactory")}appScope=new Km;createFrame(e,t){return t?t.frameScope.isTraceEnabled()?new gc(e,t.appScope,t. requestScope,new ia(t.frameScope.indentLevel)):t:new gc(e,this.appScope,new hc("<fromScratch>",-e),new ia)}},EF=new qm,NF=new pc( EF),H=s(()=>NF.currentFrame(),"currentFrame");function F(){return H().appScope.trace}s(F,"currentTrace");function Hm(i){ return H().appScope[i]}s(Hm,"current");function Gm(i,e){H().appScope[i]=e}s(Gm,"initCurrent");var AI=0,fo=s((i,e=AI)=>{AI++; let t=H(),n=t.requestScope;return t.requestScope=new hc(i,e),t.frameScope=new ia,n},"startRequestScope");function RI(i){ return()=>{let e=H();e.requestScope=i}}s(RI,"endRequestScope");var Ee=require("node:fs"),Qm=require("node:os"),UI=require("node:path");var Ic=require("node:path"),kr=require("node:util"),Qe=q(require("vscode-languageserver-protocol"));function LI(i){switch(i){case Qe.DocumentHighlightKind.Text:return"text";case Qe.DocumentHighlightKind.Read:return"read";case Qe.DocumentHighlightKind. Write:return"writ";default:return Y.error(`[E] <unknown kind> ${i}`)}}s(LI,"renderKind");function oa(i,e=70){return JSON. stringify(i.length<=e?i:`${i.slice(0,e-3)}...`)}s(oa,"shorten");function FI(i){if(Qe.MarkupContent.is(i))return`${i.kind}\ : ${oa(i.value)}`;let e=s(t=>typeof t=="string"?oa(t):`[${t.language}] ${oa(t.value)}`,"renderMarkedString");return Array. isArray(i)?ze(i.map(e)):e(i)}s(FI,"renderContents");function wF(i){return!!i?.range}s(wF,"isIncremental");var OF={[Qe.FileChangeType. Created]:"Created",[Qe.FileChangeType.Deleted]:"Deleted",[Qe.FileChangeType.Changed]:"Changed"};function EI(i){if(i!==void 0) switch(i){case Qe.DiagnosticSeverity.Error:return"Error";case Qe.DiagnosticSeverity.Warning:return"Warn";case Qe.DiagnosticSeverity. Information:return"Info";case Qe.DiagnosticSeverity.Hint:return"Hint"}return"?"}s(EI,"renderSeverity");function _F(i=""){ return e=>_I(e,i)}s(_F,"makeRenderLocation");function NI(i){let e="";return i?.documentation&&(e=Qe.MarkupContent.is(i.documentation)? i.documentation.value:i.documentation),`${i?.data?.providerName??Y.warn("UnknownProvider")}: <${i.kind}> ${i.label} [${i. commitCharacters||""}] ${oa(e)}`}s(NI,"renderCompletionItem");function wI(i,e=[]){let t={};for(let r of e){let o=r.lastIndexOf( i)+1,a=r.slice(0,o),l=r.slice(o);(t[a]??=[]).push(l)}let n="";for(let r of Object.keys(t).sort()){let o=t[r];if(o.length=== 1)n+=` ${r}${o[0]}`;else{let l=o.reduce((d,u)=>Math.max(d,u.length),0)+2,c=Math.floor(120/l);n+=` ${r} `;let p=0;o.sort();for(let d of o)n+=`${d.padEnd(l)}${++p%c===0?` `:""}`}}return n}s(wI,"renderPaths");function ze(i,e=""){return i?i.length?i.length===1?String(i[0]):`${i.reduce((t,n)=>`${t}\ ${e} ${n}`,"[")} ${e}]`:"[]":""}s(ze,"arr");var OI=(j=>(j[j.File=1]="File",j[j.Module=2]="Module",j[j.Namespace=3]="Namespace",j[j.Package= 4]="Package",j[j.Class=5]="Class",j[j.Method=6]="Method",j[j.Property=7]="Property",j[j.Field=8]="Field",j[j.Constructor= 9]="Constructor",j[j.Enum=10]="Enum",j[j.Interface=11]="Interface",j[j.Function=12]="Function",j[j.Variable=13]="Variabl\ e",j[j.Constant=14]="Constant",j[j.String=15]="String",j[j.Number=16]="Number",j[j.Boolean=17]="Boolean",j[j.Array=18]="\ Array",j[j.Object=19]="Object",j[j.Key=20]="Key",j[j.Null=21]="Null",j[j.EnumMember=22]="EnumMember",j[j.Struct=23]="Str\ uct",j[j.Event=24]="Event",j[j.Operator=25]="Operator",j[j.TypeParameter=26]="TypeParameter",j))(OI||{});function zm(i,e=""){ return(e?"":` `)+i.map(t=>$F(t,e)).join(` `)+(e?"":` `)}s(zm,"docSymbolsToString");function DF(i){let e=i.map(n=>(0,kr.inspect)(n,{compact:!0,maxStringLength:200,breakLength:200})), t=e.reduce((n,r)=>n+r.length,0)>200;return e.join(t?`, `:", ")}s(DF,"renderArgs");var I={array:s(i=>I.asIs(i),"array"),asIs:s(i=>(0,kr.inspect)(i,{depth:null,compact:!1}),"asI\ s"),args:DF,changeTextDoc:s(i=>`${i.textDocument.uri}#${i.textDocument.version} ${ze(i.contentChanges.map(BF))}`,"change\ TextDoc"),changeWatched:s(i=>ze(i.changes.map(e=>`${OF[e.type]||e.type} ${e.uri}`)),"changeWatched"),codeAction:s(i=>`${i. textDocument.uri} ${I.range(i.range)}`,"codeAction"),codeActions:s(i=>ze(i.map(e=>`${e.title}: ${e.command?.command}(${I. asIs(e.data)})`)),"codeActions"),codeLens:s(i=>ze(i.map(e=>`${e.command?.title}`)),"codeLens"),completionItem:NI,completionList:s( i=>`${i.isIncomplete?"incomplete":""} ${ze(i.items.map(NI))}`,"completionList"),contents:FI,diags:s(i=>I.diagsWithIndent( i),"diags"),diagsWithIndent:s((i,e="")=>ze(i.map(t=>`${EI(t.severity)} ${I.range(t.range)}: ${t.message}`),e),"diagsWith\ Indent"),docClosed:s(i=>i.textDocument.uri,"docClosed"),docHighlight:s(i=>`${LI(i.kind)}: ${I.range(i.range)}`,"docHighl\ ight"),docHighlights:s(i=>ze(i.map(I.docHighlight)),"docHighlights"),docOpened:s(i=>`${i.textDocument.uri}#${i.textDocument. version} ${oa(i.textDocument.text,30)}`,"docOpened"),docSaved:s(i=>`${i.textDocument.uri}`,"docSaved"),docSymbolParams:s( i=>i.textDocument.uri,"docSymbolParams"),docSymbolResult:MF,docSymbols:s(i=>zm(i),"docSymbols"),documentLink:s(i=>`${i.data}\ @${I.pos(i.range.start)} -> ${i.target}`,"documentLink"),documentLinkParams:s(i=>`${i.textDocument.uri}`,"documentLinkPa\ rams"),documentLinks:s(i=>ze(i.map(I.documentLink)),"documentLinks"),execCmd:s(i=>`(${JSON.stringify(i.arguments)})`,"ex\ ecCmd"),exception:s(i=>UF(i)&&i.stack?DI(i.stack):(0,kr.inspect)(i),"exception"),hov:s(i=>i?`${i.range?I.range(i.range): ""}: ${FI(i?.contents)}`:"","hov"),kind:LI,location:_I,locations:s(i=>ze(i.map(_F())),"locations"),localPaths:s((i=[])=>wI( Ic.sep,i),"localPaths"),map:s(i=>[...i.entries()].map(([e,t])=>`${e}: ${(0,kr.inspect)(t)}`).join(` `),"map"),nothing:s(()=>"","nothing"),pos:s(i=>`[${i.line}:${i.character}]`,"pos"),range:s(i=>i?`[${i.start.line}:${i.start. character}-${i.end.line}:${i.end.character}]`:"[]","range"),ref:s(i=>`${i.textDocument.uri} ${I.pos(i.position)} ${i.context. includeDeclaration?"withDecl":""}`,"ref"),result:s(i=>(0,kr.inspect)(i,{compact:!0,maxStringLength:200,breakLength:200}), "result"),severity:EI,symbolInfos:s(i=>ze(i.map(e=>`${I.range(e.location.range).padEnd(14)} ${`${e.kind}`.padStart(2)} ${e. name.padEnd(20)} (${e.containerName||"/"})`)),"symbolInfos"),symbolInfos_Uri:XF,symbolKind:s(i=>OI[i]??"<unknown symbol \ kind>","symbolKind"),textEdits:s(i=>`${ze(i.map(e=>`'${e.newText.replaceAll(` `,`${"\\"}n`)}'${I.range(e.range)}`))}`,"textEdits"),textPos:s(i=>`${i.textDocument.uri} ${I.pos(i.position)}`,"textPos"), uris:s((i=[])=>wI("/",i),"uris"),wsSymbol:s(i=>i.query,"wsSymbol"),direntsOrStrings:s(i=>i.length?typeof i[0]=="string"? ze(i):I.dirEnts(i):"[]","direntsOrStrings"),dirEnts:s(i=>ze(i.map(I.dirEnt)),"dirEnts"),dirEnt:s(i=>`${I.dirEntType(i)} ${i. name}`,"dirEnt"),dirEntType(i){return i.isFile()?"-":i.isDirectory()?"d":i.isSymbolicLink()?"l":i.isFIFO()?"p":i.isSocket()? "s":i.isBlockDevice()?"b":i.isCharacterDevice()?"c":"?"},stats:s(i=>i?`${I.dirEntType(i)} ${i.mode.toString(8)} ${new Date( i.mtimeMs).toISOString()} ${i.size} bytes`:"<undefined>","stats"),content:s(i=>`"${i.slice(0,10)}${i.length>10?`..." (${i. length} bytes)`:'"'}`,"content"),telemetry:s(([i])=>`${i.type} - trigger: ${i.trigger}, status: ${i.status}`,"telemetry")}; function Jt(i,e=["Telemetry.ts","LspTrace.ts","Tracer.ts","TracingInterfaces.ts","TryCatch.ts"]){let t={};if(Error.captureStackTrace( t,Jt),t.stack){let n=t.stack.split(/\r?\n/).filter(r=>!e.some(o=>r.includes(o)));return DI(n.slice(1,i+1).join(` `))}return""}s(Jt,"stack");function UF(i){return!!i?.stack}s(UF,"isError");function $F(i,e){return`${e}${I.symbolKind(i. kind)} ${i.name} ${I.range(i.selectionRange)} ${I.range(i.range)}${i.detail?` "${i.detail}"`:""}${i.children?.length?` ${zm(i.children,`${e} `)}`:""}`}s($F,"docSymbolToString");function MF(i){return i?.length?Qe.DocumentSymbol.is(i[0])?zm( i):I.symbolInfos(i):I.asIs(i)}s(MF,"renderDocSymbolResult");function WF(i){return i!==void 0?i:""}s(WF,"renderExists");function BF(i){ return`${wF(i)?I.range(i.range):""} ${WF(i?.rangeLength)}`}s(BF,"renderTextDocConChEv");function _I(i,e=""){let t=s(n=>e. length?(0,Ic.relative)(e,n):n,"relPath");return Qe.LocationLink.is(i)?`${t(i.targetUri)}${I.range(i.targetSelectionRange)}\ in ${I.range(i.targetRange)}`:`${t(i.uri)}${I.range(i.range)}`}s(_I,"renderLocation");function xr(i,e,t=`${e}s`){return i=== 1?e:t}s(xr,"numerus");function XF(i,e){if(e<7){let t=i||[],n=t.reduce((r,o)=>r.add(o.location.uri),new Set);return`${t.length}\ symbols from ${n.size} ${xr(n.size,"file")}`}return ze(i.map(t=>`${`${t.kind}`.padStart(2)} ${`(${t.containerName||"/"}\ )`.padEnd(40)} ${t.name.padEnd(20)} ${I.range(t.location.range).padEnd(14)} ${t.location.uri}`))}s(XF,"renderSymbolInfos\ _Uri");function Re(i){return typeof i[0]=="string"?i[0]:I.asIs(i[0])}s(Re,"firstArg");function ht(i){return e=>{try{let t=i. split("."),n=t.shift(),r=e[Number(n)];for(let o=t.shift();o!==void 0;o=t.shift())r=r?.[o];return typeof r=="string"?r:I. asIs(r)}catch(t){return`? ${t}`}}}s(ht,"specificArg");function DI(i,e=0){return i.split(/\r?\n/).slice(e).map(t=>t.replace( Oe,Z(Oe))).join(` `)}s(DI,"tagErrorStack");function yc(i){return(0,kr.stripVTControlCharacters)(i)}s(yc,"deansify");var VF=1,bc=class i{static{s(this,"LogFile")}_folder;fileDescriptor=0;_filePath;logId;constructor(e=`${process.pid}_${VF++}`,t=""){ let n=t+e;this.logId=n,this._folder=this.defaultFolder(),this._filePath=this.logFilePath(n),this.createFile()}createFile(){ try{this.fileDescriptor=(0,Ee.openSync)(this._filePath,"w+",511),this.appendRaw(`#!/usr/bin/env less -f -R `),this.appendRaw(`${Y.requestFromServer("---------- opened trace file")} `),this.appendRaw(`${Y.responseToClient(new Date().toISOString())} `)}catch(e){this.logError(e)}}defaultFolder(){return w((0,Qm.tmpdir)(),"cdxlsp")}get folder(){return i.ensureFolderExists( this._folder)}set folder(e){e&&(this._folder=e)}static ensureFolderExists(e){return(0,Ee.existsSync)(e)||(0,Ee.mkdirSync)( e,{recursive:!0}),e}get filePath(){return this._filePath}logError(e){console.error(I.exception(e))}onceRenamed=!1;rename(e){ if(this.onceRenamed){this.append(`[w] LogFile.rename(id: ${this.logId} => ${e}) ignored`);return}this.onceRenamed=!0,this. append(`LogFile.rename(id: ${this.logId} => ${e})`),this.logId=e;try{let t=this.logFilePath(this.logId);this._filePath!== t&&((0,Ee.closeSync)(this.fileDescriptor),this.deleteOrphanedLogFiles(),te(this._filePath)===te(t)?(0,Ee.renameSync)(this. _filePath,t):((0,Ee.copyFileSync)(this._filePath,t),(0,Ee.unlinkSync)(this._filePath)),this._filePath=t,this.fileDescriptor= (0,Ee.openSync)(this._filePath,"a+"))}catch(t){this.logError(t)}}deleteOrphanedLogFiles(){}logFilePath(e){let t=`${e.replaceAll( /[:/\\]/g,"_")}.log`;return KF(()=>w(this.folder,t),w((0,Qm.tmpdir)(),`cdxlsp_${t}`))}append(e){this.appendRaw(`${e} `)}appendRaw(e){try{(0,Ee.appendFileSync)(this.fileDescriptor,e)}catch{}}close(){this.appendRaw(` ---------- closing trace file `),(0,Ee.closeSync)(this.fileDescriptor),this.fileDescriptor=0}},ho=class i extends bc{static{s(this,"RotationLogFile")}static DEFAULT_MAX_FILE_SIZE=1e7;static DEFAULT_NUMBER_OF_FILES=3;_maxFileSize=i. DEFAULT_MAX_FILE_SIZE;_numberOfFiles=i.DEFAULT_NUMBER_OF_FILES;currentFileNumber=0;currentFileCount=0;appendRaw(e){super. appendRaw(e),this.currentFileCount+=e.length,this.currentFileCount>=this.maxFileSize&&this.rotateFile()}get numberOfFiles(){ return this._numberOfFiles}set numberOfFiles(e){e!==void 0&&(this._numberOfFiles=Math.max(2,e))}get maxFileSize(){return this. _maxFileSize}set maxFileSize(e){e!==void 0&&(this._maxFileSize=Math.max(1e3,e))}logFilePath(e){return super.logFilePath( `${e}.${this.currentFileNumber??0}`)}rotateFile(){try{let e=this._filePath;this.bumpFileNumber(),this._filePath=this.logFilePath( this.logId),this.currentFileCount=0,this.appendRaw(` ----- continued in ${this._filePath}`),(0,Ee.closeSync)(this.fileDescriptor),this.fileDescriptor=(0,Ee.openSync)(this._filePath, "w+"),this.currentFileCount=0,this.appendRaw(`----- continued from ${e} `)}catch(e){this.logError(e)}}bumpFileNumber(){let e=(this.currentFileNumber+1)%(this.numberOfFiles+1);this.currentFileNumber= e||1}deleteOrphanedLogFiles(){try{for(let e of this.findOrphanedFiles())this.renameAndUnlinkOrphanedFile(e)}catch(e){this. logError(e)}}findOrphanedFiles(){let e=super.logFilePath(`${this.logId}.[0-9]+`),t=(0,UI.basename)(e),n=te(e);return(0,Ee.readdirSync)( n).filter(r=>r.match(t)).map(r=>w(n,r))}renameAndUnlinkOrphanedFile(e){let t=te(e);if((0,Ee.statSync)(e).isFile()){let r=w( t,`orphaned-${Math.floor(Math.random()*1e4)}`);(0,Ee.renameSync)(e,r),(0,Ee.unlinkSync)(r)}else this.appendRaw(`Orphaned\ but not a file: ${e}`)}},Tc=class extends bc{static{s(this,"ContextLogFile")}get enabled(){return kt.isProduction()}constructor(){ super(void 0,"context")}createFile(){this.enabled&&super.createFile()}appendRaw(e){this.enabled&&super.appendRaw(e)}rename(e){ this.enabled&&super.rename(e)}};function KF(i,e){try{return i()}catch{return e}}s(KF,"tryCatch");var $I=require("node:crypto");function go(i){return Object.entries(i??{})}s(go,"entries");function Sc(i){return Object.entries(i??{})}s(Sc,"entries2"); function Zt(i){return JSON.parse(i)}s(Zt,"parseJson");function Io(i){return(0,$I.createHash)("sha256").update(i).digest( "hex")}s(Io,"sha256");function mi(i){return qF(i)}s(mi,"calculateHashDigest");function qF(i){let e=5381,t=2166136261,n=i. length;for(;n;){let r=i.charCodeAt(--n);e=e*33^r,t=(t^r)*16777619}return`${e>>>0}/${t>>>0}`}s(qF,"hash");var Jm=require("node:util");function _(i,e){return i??e}s(_,"ensure");var MI=new Set;function yo(i,e){MI.has(i)||(MI.add(i),e())}s(yo,"once");var dn=class extends Error{static{s(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}},HF=0,bo=class extends AbortController{static{ s(this,"CdsAbortController")}constructor(e){super();let t=H().requestScope;t.abortSignal=this.signal,this.signal.id=HF++, this.signal.originalRequestNumber=e,this.signal.requestNumber=t.requestNumber;let n=this.signal.throwIfAborted.bind(this. signal);this.signal.throwIfAborted=()=>{if(!this.signal.aborted)return;this.signal.wasAborted=!0;let r=_(new Error().stack?. split(` `),[]),o=r[2]?.includes("at throwIfAborted")?r[3]?.trim():r[2]?.trim();o&&(this.signal.reason.message+=`, request #${this. signal.requestNumber} stopped here: ${o}`),n()}}};async function GF(){return new Promise(i=>{setImmediate(()=>i(void 0))})} s(GF,"preempt");async function lt(i){i&&(await GF(),i.throwIfAborted())}s(lt,"throwIfAborted");var aa=1024*1024,WI=1e3*1e3;function BI(i){return Math.abs(i)>=aa?`${Math.round(i/aa)}~M`:`${Math.round(i/1024)}~K`}s(BI, "memoryUnit");var sa=[{unit:"ns",factor:1n},{unit:"us",factor:BigInt(1e3)},{unit:pe.fg.yellow("ms"),factor:BigInt(1e6)}, {unit:pe.fg.lightred("s"),factor:BigInt(1e9)},{unit:pe.fg.lightred("min"),factor:BigInt(6e10)}];function Ym(i){let e=s(()=>{ let o=sa.findIndex((l,c)=>{let p=sa[c+1];return p?i<2n*p.factor:!0}),a=o===sa.length-1;return[sa[o],a?sa[o-1]:void 0]},"\ getScales"),[t,n]=e(),r=`${i/t.factor} ${t.unit}`;return n&&(r+=` ${i%t.factor/n.factor} ${n.unit}`),Sr(r,{errorPredicate:i> 1e3*WI,warnPredicate:i>200*WI,successPredicate:i<0})}s(Ym,"renderElapsedNanos");var XI=s(()=>global.gc?.({type:"minor"}), "gc"),To=class{static{s(this,"Stopwatch")}startTime;startMemory;constructor(e=!1){e&&(XI(),this.startMemory=process.memoryUsage()), this.startTime=process.hrtime.bigint()}get elapsedNanos(){return process.hrtime.bigint()-this.startTime}get elapsed(){return this. elapsedMemory()+Ym(this.elapsedNanos)}elapsedMemory(){if(!this.startMemory)return"";XI();let e=process.memoryUsage(),t=s( (n,r=!0)=>{let o=e[n],a=r?"":this.diffMemory(o-this.startMemory[n]),l=Sr(BI(o),{errorPredicate:o>200*aa,warnPredicate:o> 100*aa});return`${n}${a}=${l} `},"diff");return`${t("rss")}${t("external")}${t("heapUsed",!1)}`}diffMemory(e){if(e!==0){ let t=BI(e);return Sr((e>0?"+":"")+t,{errorPredicate:e>20*aa,successPredicate:e<0})}return""}};function VI(i){return new Promise( e=>setTimeout(e,i))}s(VI,"sleep");function jF(i){return(e,t,n)=>{try{let r=i(e,t,n);return typeof r=="string"?r:(0,Jm.inspect)(r)}catch(r){let o=r;return Y. error(`[E] argument rendering failed with: ${o.message} ${I.args(e)}`)}}}s(jF,"SafeArgs");function zF(i){return(e,t,n,r)=>{try{let o=i(e,t,n,r);return typeof o=="string"?o:(0,Jm.inspect)( o)}catch(o){let a=o;return Y.error(`[E] result rendering failed with: ${a.message} ${I.result(e)}`)}}}s(zF,"SafeResult");var kc=class extends ra{constructor(t,n){super();this.component=t;this.tracerAdapter= n}component;tracerAdapter;static{s(this,"Tracer")}isTracing(t){return this.tracerAdapter.traceLevel(this.component)>=t}footprint(t,n,r,o){ let a="<unknown>",l=o.startScope||o.scope||a,c=o.endScope||o.scope||a;o.onlyTraceEndIfTakesLongerMs&&(o.onlyTraceEnd=!0); let p=this.tracerAdapter.traceLevel(this.component),d=o.traceLevel??5,u=p>=d,f=p>=6,h=zF(o.resultRenderer??I.result),g=jF( o.argumentsRenderer??(f?I.args:I.nothing)),b=new To(o.trackMemory),T=this.tracerAdapter.indentLevel,v=s(()=>{H().frameScope. indentLevel=T},"rebaseIndent"),R=this;function N(U,J){if(v(),u&&!o.onlyTraceStart){let X=b.elapsedNanos;o.onlyTraceEndIfTakesLongerMs? o.onlyTraceEndIfTakesLongerMs*1e6<X&&R.conditionalTrace(d,()=>`}${J?"~":""} ${c} [${Y.warn(b.elapsed)}] ${f?`(${g(r,t,d)}\ )`:""}${f?` => ${h(U,r,t,p)}`:""}`):R.conditionalTrace(d,()=>`}${J?"~":""} ${c} [${b.elapsed}] ${f?` => ${h(U,r,t,p)}`:""}`)} return U}s(N,"onSuccess");function E(U,J){v();let X=I.exception(U);throw U instanceof dn?R.info(()=>`}${J?"~":""} | CA\ NCELED: ${c} [${b.elapsed}] => ${d<=5?X.split(/\r?\n/)[0]:X}`):R.error(()=>`}${J?"~":""} [E] ${c} [${b.elapsed}] => ${X}`), U}s(E,"onError");try{u&&!o.onlyTraceEnd&&this.conditionalTrace(d,()=>`${l} ${f?`(${g(r,t,d)})`:""} {`),this.tracerAdapter. increaseIndent();let U=n(...r),J=U;return J?.then?(v(),J.then(X=>N(X,!0)).catch(X=>E(X,!0))):N(U,!1)}catch(U){return E(U, !1)}}conditionalTrace(t,n){this.tracerAdapter.conditionalTrace(this.component,t,n)}};var QF=Object.keys(O).reduce((i,e)=>Math.max(i,e.length),0),KI={},YF=s(i=>KI[i]??(KI[i]="".padEnd(i*3)),"paddingFor"),JF={ 1:"[-]",2:pe.fg.magenta("[:]"),3:Y.error("[E]"),4:Y.warn("[w]"),5:Y.info(" | "),6:" : ",7:pe.fg.darkgray(" . ")},So=class i{static{ s(this,"LspTrace")}logFile;extendedStatsLogFile;onError;traceComponents=new Map([["*",6]]);constructor(){this.logFile=new ho, this.extendedStatsLogFile=new Tc;let e=ZF();this.configureRotation(e.maxSize,e.count),this.configureTraceComponents([...Zm(). entries()].map(([t,n])=>({name:t,level:n})))}get indentLevel(){return H().frameScope.indentLevel}increaseIndent(){let e=H(). frameScope;e.isTraceEnabled()&&(e.indentLevel+=1)}decreaseIndent(){let e=H().frameScope;e.isTraceEnabled()&&(e.indentLevel-= 1,e.indentLevel<0&&(e.indentLevel=0,this.doTraceToFile("!!! Indent underflow")))}traceLevel(e){return this.traceComponents. get(e)||this.traceComponents.get("*")||1}get logfilename(){return this.logFile.filePath}configureFolder(e){e&&(this.logFile. folder=e,this.extendedStatsLogFile.folder=e)}configureName(e){if(e){let t=e.length<=60?e:`${e.slice(0,40)}_${mi(e).replaceAll( /[/\\]/g,"_")}`;this.logFile.rename(t),this.extendedStatsLogFile.rename(`${t}_context`)}}configureRotation(e,t){typeof e== "number"&&(this.logFile.maxFileSize=e),typeof t=="number"&&(this.logFile.numberOfFiles=t),this.doTrace(2,"util",()=>`New\ trace files configuration: files <= ${t} size <= ${e}`)}configureTraceComponents(e){let t=this.traceComponents,n=this.traceLevel("util");if(Array.isArray(e)){ t.clear();for(let o of e){let a=o.name;a==="*"&&t.clear(),t.set(a,i.toTraceLevel(o.level))}if(Math.max(n,this.traceLevel( "util"))>=2){this.doTrace(2,"util",()=>"New trace component configuration: ");for(let[o,a]of t.entries())this.doTrace(2, "util",()=>` ${o} = ${G[a]}`)}}}configure(e){this.configureFolder(e.folder),this.configureName(e.name),this.conditionalTrace( "util",2,()=>`(current logs in ${this.logFile.filePath})`)}tracers=new Map;tracer(e){let t=this.tracers.get(e);return t|| (t=new kc(e,this),this.tracers.set(e,t)),t}async noTraceDuring(e){return s(async()=>{let{indentLevel:n}=H().frameScope;try{ return H().frameScope.indentLevel=-1,await e()}finally{H().frameScope.indentLevel=n}},"wrapper")()}conditionalTrace(e,t,n){ if(t===3&&this.onError){let o=n(),a=o.includes(" at ");this.onError(`${H().requestScope.name} {${e}} ${a?o:`${o} ${Jt(6)}`}`)}this.traceLevel(e)<t||!H().frameScope.isTraceEnabled()||this.doTrace(t,e,n)}doTrace(e,t,n){if(t==="context-\ log")this.extendedStatsLogFile?.appendRaw(n());else{let r=this.renderMessage(e,t,n);this.doTraceMessage(r)}}useAbsoluteStartTime=Vm( "CDS_LSP_TRACE_ABSOLUTE_TIMES");startTime=this.useAbsoluteStartTime?0:Date.now();lastTimeTraced=Date.now();renderMessage(e,t,n){ let r=n(),o=this.traceLevel("requests")>=6,a=s(b=>{let T=b%1e3,v=Math.floor(b/1e3),R=v%60,N=Math.floor(v/60),E=N%60,U=Math. floor(N/60),J=U?`${U}:`:" ",X=E||U?`${String(E).padStart(2,"0")}:`:" ",ce=String(R).padStart(2,U||E?"0":" ");return`${J}${X}${ce}\ .${String(T).padStart(3,"0")}`},"millisToTime"),l=0,c=s(()=>{let b=new Date,T=b.getTime(),v=T-this.lastTimeTraced;this.lastTimeTraced= T;let R=this.useAbsoluteStartTime?b.toISOString():a(T-this.startTime);if(l=R.length,t==="requests"){if(r.startsWith(mc)) return Y.requestFromServer(R);if(r.includes(Gn))return Y.responseToClient(R)}return Sr(R,{errorPredicate:v>5e3})},"color\ izedTime"),p=0;function d(){let b=`{${t}}`.padEnd(QF+2),T=31,{name:v,requestNumber:R,snapshots:N}=H().requestScope,E=""; if(o&&N){let X=[];for(let ce of N.values())ce.constructor.name!=="NonScanningWorkspaceSnapshot"&&X.push(ce.workspaceVersion); E=`/${X.join(",")}`}let U=Sr(v.padEnd(T),{warnPredicate:v.startsWith("@")}),J=`${R}${E}`.padStart(o?11:5);return p=6+J.length+ U.length+b.length,`${J}:${U} ${JF[e]??"???"} ${b}`}s(d,"colorizedContext");let u=YF(this.indentLevel),f=`${c()} ${d()} ${u}`, h=2+l+p+u.length;function g(){let b=r;if(b.includes(` `)){let T=" ".repeat(h),v=s((R,N,E)=>`${R}${E>0?T:""}${N} `,"appendIndented");b=b.split(/\r?\n/g).reduce(v,"")}return Sr(b,{errorPredicate:e===3,warnPredicate:e===4,infoPredicate:e=== 5,debugPredicate:e===7})}return s(g,"colorizedMessage"),`${f}${g()}`}doTraceMessage(e){this.doTraceToFile(e)}doTraceToFile(e){ this.logFile&&this.logFile.append(e)}static toTraceLevel(e){switch(e){case"off":return 1;case"error":return 3;case"warni\ ng":return 4;case"info":return 5;case"verbose":return 6;case"debug":return 7;default:return 1}}};function Zm(){return _( process.env.CDS_LSP_TRACE_COMPONENTS,"").split(",").filter(e=>e.trim()).reduce((e,t)=>{let[n,r]=t.split(":").map(o=>o.trim()); return n==="*"&&e.clear(),e.set(n,r),e},new Map)}s(Zm,"getRawTraceComponents");function ZF(){return{count:qI(process.env. CDS_LSP_TRACE_FILES_COUNT??"",1,10,ho.DEFAULT_NUMBER_OF_FILES),maxSize:qI(process.env.CDS_LSP_TRACE_FILES_MAXSIZE??"",1e7, 1e9,ho.DEFAULT_MAX_FILE_SIZE)}}s(ZF,"getTraceFilesConfig");function qI(i,e,t,n){return Math.max(Math.min(Number.parseInt( i,10)||n,t),e)}s(qI,"canonicalizeNumber");function y(i,e={}){let t=kt.isProduction();return(n,r)=>{if(!ef.isTracing(i,e.traceLevel??5))return n;e.scope||=r.name;let o, a=s(()=>(t&&o||(o=F().tracer(i)),o),"getTracer");return s(function(...c){return a().footprint(this,n.bind(this),c,e)},"F\ ootprintDecorator")}}s(y,"Footprint");var ef=class i{static{s(this,"ConfiguredTraceComponents")}static _rawTraceComponents;static get rawTraceComponents(){ return i._rawTraceComponents||(i._rawTraceComponents=Zm()),i._rawTraceComponents}static isTracing(e,t){let n=i.rawTraceComponents. get(e)??i.rawTraceComponents.get("*")??"off";return So.toTraceLevel(n)>=t}};var HI=require("node:path"),GI=require("node:util"),ae=q(require("vscode-languageserver-protocol"));function la(i){return[".csn",".json"].includes((0,HI.extname)(i))}s(la,"isCsn");var eE=s(()=>({start:{line:0,character:0}, end:{line:0,character:0}}),"csnFallbackLocation"),un=class{static{s(this,"RangeAdapter")}static adapt(e){return la(e.file)&& !e.treatAsIs?eE():{start:{line:e.line-1,character:e.col-1},end:{line:e.endLine?e.endLine-1:e.line-1,character:e.endCol?e. endCol-1:e.col-1}}}};function Qn(i){return un.adapt(i)}s(Qn,"adaptRange");function nf(i){return tf.adapt(i)}s(nf,"adaptC\ ompletionKind");var tE=new Map([["context",ae.CompletionItemKind.Unit],["element",ae.CompletionItemKind.Field],["entity", ae.CompletionItemKind.Class],["namespace",ae.CompletionItemKind.Module],["source",ae.CompletionItemKind.File],["type",ae.CompletionItemKind. Interface]]),tf=class{static{s(this,"CompletionKindAdapter")}static adapt(e){return tE.get(e)??ae.CompletionItemKind.Variable}}; function rf(i){return{start:{line:i.start.line,character:i.start.character},end:{line:i.end.line,character:i.end.character}}} s(rf,"deepCloneRange");var zn=class{static{s(this,"SeverityAdapter")}static adapt(e){switch(e){case"Error":return ae.DiagnosticSeverity. Error;case"Warning":return ae.DiagnosticSeverity.Warning;case"Info":return ae.DiagnosticSeverity.Information;default:return ae.DiagnosticSeverity. Hint}}};function xt(){return Object.create(null)}s(xt,"empty");var nE=new Map([[ae.SymbolKind.Module,ae.CompletionItemKind. Module],[ae.SymbolKind.Namespace,ae.CompletionItemKind.Unit],[ae.SymbolKind.Package,ae.CompletionItemKind.Unit],[ae.SymbolKind. Class,ae.CompletionItemKind.Class],[ae.SymbolKind.Field,ae.CompletionItemKind.Field],[ae.SymbolKind.Interface,ae.CompletionItemKind. Interface],[ae.SymbolKind.Function,ae.CompletionItemKind.Function],[ae.SymbolKind.Variable,ae.CompletionItemKind.Variable], [ae.SymbolKind.Object,ae.CompletionItemKind.Method],[ae.SymbolKind.EnumMember,ae.CompletionItemKind.EnumMember],[ae.SymbolKind. Event,ae.CompletionItemKind.Event],[ae.SymbolKind.TypeParameter,ae.CompletionItemKind.TypeParameter],[ae.SymbolKind.String, ae.CompletionItemKind.Text]]);function jI(i){return nE.get(i)??ae.CompletionItemKind.Text}s(jI,"toCompletionKind");function xc(i,e){ ca(i,e)}s(xc,"assertsType");function ca(i,e){if(!(i instanceof e))throw new TypeError;return i}s(ca,"asType");function zI(i){return typeof i=="string"?i:i.value}s(zI,"extractMessage");function Cc(i,e="argument is undefined or null",t={},n=3){ if(i==null)throw new TypeError(`${e}: ${(0,GI.inspect)(t,{depth:n})}`)}s(Cc,"assertExists");function rE(i){return i.toLowerCase()=== i?i.toUpperCase():i.toLowerCase()}s(rE,"toggleCase");function Pc(i){return rE(i[0])+i.slice(1)}s(Pc,"toggleDriveLetter");var QI=require("node:util");var Cr=class extends Array{static{s(this,"SafeArray")}get(e){let t=this[e];if(t!==void 0)return t;throw this.length===0? new Error(`index ${e} is out of bounds, array is empty`):e<0||e>=this.length?new Error(`index ${e} is out of bounds [0..\ .${this.length-1}]`):new Error("element is undefined")}init(e){return this.length=0,this.push(...e),this}};function ko(i,e,t,n=0,r=i. length-1){if(n>r)return;let o=Math.floor((n+r)/2),a=t(i[o],e);return a===0?i[o]:a>0?ko(i,e,t,n,o-1):ko(i,e,t,o+1,r)}s(ko, "binSearch");function vc(i){return i?Array.isArray(i)?i:[i]:[]}s(vc,"flatten");function Yn(i,e,t){for(let n=e-1;n>=0;n--){ let r=i[n];if(r&&(!t||t(r)))return r}}s(Yn,"previous");function xo(i,e,t){for(let n=e+1;n<i.length;n++){let r=i[n];if(r&& (!t||t(r)))return r}}s(xo,"next");function YI(i){return i?.[0]}s(YI,"first");function de(i){return i?.[i.length-1]}s(de,"last");function Ac(i,e,t,n=!0){return i[e]===void 0&&(i[e]=t()),n||Object.defineProperty( i,e,{enumerable:!1}),i[e]}s(Ac,"getOrCreate");function of(i){return i.sort((e,t)=>e.localeCompare(t)),i}s(of,"stringSort"); function JI(i,e){if(i==null)throw new TypeError(`${e()}: Value is null or undefined`);return i}s(JI,"ensureExists");function Kt(i,e){ if(!i)throw new Error(e())}s(Kt,"assertTrue");function Rc(i,e){if(i)throw new Error(e())}s(Rc,"assertFalse");function Ct(i,...e){ return()=>e.length>0?i.replace(/\{(\d+)}/g,(t,n)=>(0,QI.inspect)(e[Number(n)])):i}s(Ct,"lazyString");var ZI=new Set,ey=s(i=>Ac(i,"__CACHES",()=>new Map,!1),"cachesFor"),Co=s((i,e)=>{let t=ey(i),n=t.get(e);return n||(n=new Map, t.set(e,n),ZI.add(n)),n},"cacheFor");function D(i={}){return i.key||=e=>e[0],i.doNotCacheUndefined||=!1,(e,t)=>s(function(...r){ let o=Co(this,String(t.name)),a=i.key(r);if(!o.has(a)){let l=e.apply(this,r);(l!==void 0||!i.doNotCacheUndefined)&&o.set( a,l)}return o.get(a)},"CacheDecorator")}s(D,"Cache");D.clear=(i,e)=>{if(i)e?Co(i,e).clear():ey(i).clear();else{if(e)throw new Error( `Clearing method cache '${e}' requires an instance`);for(let t of ZI)t.clear()}};D.set=(i,e,t,n)=>{Co(i,e).set(t,n)};D.get= (i,e,t)=>Co(i,e).get(t);var Ec=q(require("node:child_process"));var Fc=class extends Error{constructor(t,n){let r=Hn(n.exitCode!==0,()=>` <exit code:> ${n.exitCode}`,""),o=Hn(n.stdout,()=>` <stdout:> ${n.stdout}`,""),a=Hn(n.stderr,()=>` <stderr:> ${n.stderr}`,"");super(t+r+o+a);this.result=n}result;static{s(this,"CliError")}},ty,ny,Lc;ny=[y("util",{argumentsRenderer:s( e=>`<<${++Dt._currentlyRunning}>> ${I.args(e)}`,"argumentsRenderer"),resultRenderer:s((e,t)=>`<<${--Dt._currentlyRunning}\ >> ${I.args(t)} => ${I.result(e)}`,"resultRenderer")})],ty=[y("util",{argumentsRenderer:s(e=>`<<${++Dt._currentlyRunning}\ >> ${I.args(e)}`,"argumentsRenderer"),resultRenderer:s((e,t)=>`<<${--Dt._currentlyRunning}>> ${I.args(t)} => ${I.result( e)}`,"resultRenderer")})];var Dt=class Dt{constructor(){}static streamIntoResult(e,t,n,r="utf8"){return new Promise((o,a)=>{ e.setEncoding(r),e.on("data",l=>{t[n]+=l}),e.on("end",()=>o(t[n])),e.on("error",a)})}static async run(e,t,n={failIfNonZeroExit:!0}){ n.shell=!0;let r=[e,...t].map(u=>u.match(/^".*"$/)?u:`"${u}"`).join(" "),o=Ec.spawn(r,n);o.stdin.end();let a={stdout:"", stderr:"",exitCode:1},l=s(()=>{a.stdout=a.stdout.trim(),a.stderr=a.stderr.trim()},"trimResult"),c=Dt.streamIntoResult(o. stdout,a,"stdout"),p=Dt.streamIntoResult(o.stderr,a,"stderr"),d=new Promise((u,f)=>{o.on("error",f),o.on("close",(h,g)=>{ l(),a.exitCode=g??h,g||h!==0&&n.failIfNonZeroExit?f(new Fc(`Failed: ${e} ${t.join(" ")}`,a)):u(a)})});return await Promise. allSettled([c,p,d]),d}static runSync(e,t,n={encoding:"utf8"}){n.shell=!0,n.encoding="utf8";let r=Ec.spawnSync(e,t,n),o={ stdout:"",stderr:"",exitCode:1};if(o.stdout=r.stdout.trim(),o.stderr=r.stderr.trim(),o.exitCode=r.signal??r.status??0,r. error)throw r.error;if(r.signal||r.status!==0&&n.failIfNonZeroExit)throw new Fc(`Failed: ${e} ${Z(t.join(" "))}`,o);return o}}; Lc=C(null),m(Lc,9,"run",ny,Dt),m(Lc,9,"runSync",ty,Dt),k(Lc,Dt),S(Lc,3,Dt),s(Dt,"CLI"),x(Dt,"_currentlyRunning",0);var An=Dt;function Nc(...i){return e=>{for(let t of i)if(!t(e))return!1;return!0}}s(Nc,"And");function fi(i,e){let t=i.uri.localeCompare(e.uri);return t!==0?Math.sign(t):(t=nt(i.range.start,e.range.start),t!==0?t:nt( i.range.end,e.range.end))}s(fi,"compareLocations");function nt(i,e){let t=i.line-e.line;return Math.sign(t!==0?t:i.character- e.character)}s(nt,"comparePosition");function Po(i,e){let t=nt(i.start,e);return t>0?1:t===0?0:nt(i.end,e)<0?-1:0}s(Po,"\ compareRange");var ry=Symbol("languageServer"),iy=Symbol("factory");function W(){return Hm(ry)}s(W,"currentLanguageServer");function oy(i){ Gm(ry,i)}s(oy,"initLanguageServer");function $(){return Hm(iy)}s($,"currentFactory");function iE(i){Gm(iy,i)}s(iE,"initF\ actory");var vo=s(i=>{iE(i);let e=i.getTrace();return H().appScope.trace=e,e},"startAppScope");var Pr=require("node:fs"),ay=require("node:os"),af=require("node:util");var sy,sf;sy=[y("util",{scope:"installEmergencyHooks"})];var pa=class pa{constructor(e=F()){this.trace=e;S(sf,5,this);x( this,"emergencyHooksInstalled",!1)}trace;install(){if(this.emergencyHooksInstalled){this.trace.tracer("util").warn(()=>"\ Ignored: hooks already attached");return}this.emergencyHooksInstalled=!0,process.on("uncaughtException",this.onUncaughtException. bind(this)),process.on("unhandledRejection",this.onUnhandledRejection.bind(this)),process.on("exit",e=>this.onExit(e)),process. on("warning",this.onWarning.bind(this))}onUncaughtException(e){this.trace.conditionalTrace("util",3,()=>`SEVERE: uncaugh\ tException: ${I.exception(e)}`)}onUnhandledRejection(e,t){this.trace.conditionalTrace("util",3,()=>`Unhandled Rejection \ at: ${(0,af.inspect)(t,!0,4)} reason: ${e}`)}onExit(e){this.trace.conditionalTrace("util",2,()=>`CDS-LS will exit now wi\ th code ${e}`);let t={title:process.title,argv:process.argv,execArgv:process.execArgv,execPath:process.execPath,debugPort:process. debugPort,version:process.version,arch:process.arch,platform:process.platform,release:process.release,exitCode:process.exitCode, uptime:process.uptime(),env:process.env,mainModule:process.mainModule},n=` ----- ${new Date().toISOString()} pid: ${process.pid} <- ${process.ppid} memory: ${JSON.stringify(process.memoryUsage(),null,2)} available: ${process.availableMemory()} constrained: ${process.constrainedMemory()} resource usage: ${JSON.stringify(process.resourceUsage(),null,2)} exited with code ${e}: ${new Error().stack?.split(/\r?\n/).slice(1).join(` `)} process details: ${(0,af.inspect)(t)} `;this.trace.doTraceToFile(n);l