UNPKG

@sap/cds-lsp

Version:

Language server for CDS

408 lines (402 loc) 558 kB
"use strict";var fg=Object.create;var Xr=Object.defineProperty;var hg=Object.getOwnPropertyDescriptor;var pL=Object.getOwnPropertyNames;var uL=Object.getPrototypeOf,dL=Object.prototype.hasOwnProperty;var gg=(i,e)=>(e=Symbol[i])?e:Symbol.for("Symbol."+i),_i=i=>{throw TypeError(i)};var Ig=(i,e,t)=>e in i?Xr(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var s=(i,e)=>Xr(i,"name",{value:e,configurable:!0});var yg=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),mL=(i,e)=>{for(var t in e)Xr(i,t,{get:e[t],enumerable:!0})}, bg=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of pL(e))!dL.call(i,r)&&r!==t&&Xr(i,r,{get:()=>e[r], enumerable:!(n=hg(e,r))||n.enumerable});return i};var j=(i,e,t)=>(t=i!=null?fg(uL(i)):{},bg(e||!i||!i.__esModule?Xr(t,"default",{value:i,enumerable:!0}):t,i)),fL=i=>bg(Xr( {},"__esModule",{value:!0}),i);var C=i=>[,,,fg(i?.[gg("metadata")]??null)],Tg=["class","method","getter","setter","accessor","field","value","get","set"], ks=i=>i!==void 0&&typeof i!="function"?_i("Function expected"):i,hL=(i,e,t,n,r)=>({kind:Tg[i],name:e,metadata:n,addInitializer:o=>t. _?_i("Already initialized"):r.push(ks(o||null))}),S=(i,e)=>Ig(e,gg("metadata"),i[3]),x=(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},f=(i,e,t,n,r,o)=>{var a,l,c,p,u,d=e&7,m=!!(e&8),h=!!(e& 16),g=d>3?i.length+1:d?m?1:2:0,b=Tg[d+5],P=d>3&&(i[g-1]=[]),v=i[g]||(i[g]=[]),E=d&&(!h&&!m&&(r=r.prototype),d<5&&(d>3||!h)&& hg(d<4?r:{get[t](){return rr(this,o)},set[t](O){return Ss(this,o,O)}},t));d?h&&d<4&&s(o,(d>2?"set ":d>1?"get ":"")+t):s( r,t);for(var R=n.length-1;R>=0;R--)p=hL(d,t,c={},i[3],v),d&&(p.static=m,p.private=h,u=p.access={has:h?O=>gL(r,O):O=>t in O},d^3&&(u.get=h?O=>(d^1?rr:IL)(O,r,d^4?o:E.get):O=>O[t]),d>2&&(u.set=h?(O,_)=>Ss(O,r,_,d^4?o:E.set):(O,_)=>O[t]=_)),l=(0,n[R])( d?d<4?h?o:E[b]:d>4?void 0:{get:E.get,set:E.set}:r,p),c._=1,d^4||l===void 0?ks(l)&&(d>4?P.unshift(l):d?h?o=l:E[b]=l:r=l): typeof l!="object"||l===null?_i("Object expected"):(ks(a=l.get)&&(E.get=a),ks(a=l.set)&&(E.set=a),ks(a=l.init)&&P.unshift( a));return d||S(i,r),E&&Xr(r,t,E),h?d^4?o:E:r},k=(i,e,t)=>Ig(i,typeof e!="symbol"?e+"":e,t),zd=(i,e,t)=>e.has(i)||_i("Ca\ nnot "+t),gL=(i,e)=>Object(e)!==e?_i('Cannot use the "in" operator on this value'):i.has(e),rr=(i,e,t)=>(zd(i,e,"read fr\ om private field"),t?t.call(i):e.get(i)),kg=(i,e,t)=>e.has(i)?_i("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,t),Ss=(i,e,t,n)=>(zd(i,e,"write to private field"),n?n.call(i,t):e.set(i,t),t),IL=(i,e,t)=>(zd( i,e,"access private method"),t);var ab=yg((R$,Ac)=>{function tb(i){return Array.isArray(i)?i:[i]}s(tb,"makeArray");var vR=void 0,Om="",Zy=" ",Dm="\\",AR=/^\s+$/, LR=/(?:[^\\]|^)\\$/,RR=/^\\!/,FR=/^\\#/,ER=/\r?\n/g,NR=/^\.{0,2}\/|^\.{1,2}$/,wR=/\/$/,so="/",nb="node-ignore";typeof Symbol< "u"&&(nb=Symbol.for("node-ignore"));var rb=nb,ao=s((i,e,t)=>(Object.defineProperty(i,e,{value:t}),t),"define"),DR=/([0-z])-([0-z])/g, ib=s(()=>!1,"RETURN_FALSE"),OR=s(i=>i.replace(DR,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:Om),"sanitizeRange"),_R=s(i=>{ let{length:e}=i;return i.slice(0,e-e%2)},"cleanRangeBackSlash"),UR=[[/^\uFEFF/,()=>Om],[/((?:\\\\)*?)(\\?\s+)$/,(i,e,t)=>e+ (t.indexOf("\\")===0?Zy:Om)],[/(\\+?)\s/g,(i,e)=>{let{length:t}=e;return e.slice(0,t-t%2)+Zy}],[/[\\$.|*+(){^]/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, ()=>Dm],[/\\\\/g,()=>Dm],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(i,e,t,n,r)=>e===Dm?`\\[${t}${_R(n)}${r}`:r==="]"&&n.length%2=== 0?`[${OR(t)}${n}]`:"[]"],[/(?:[^*])$/,i=>/\/$/.test(i)?`${i}$`:`${i}(?=$|\\/$)`]],$R=/(^|\\\/)?\\\*$/,$s="regex",Pc="che\ ckRegex",eb="_",MR={[$s](i,e){return`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`},[Pc](i,e){return`${e?`${e}[^/]*`:"[^/]*"}(?=$|\ \\/$)`}},WR=s(i=>UR.reduce((e,[t,n])=>e.replace(t,n.bind(i)),i),"makeRegexPrefix"),vc=s(i=>typeof i=="string","isString"), BR=s(i=>i&&vc(i)&&!AR.test(i)&&!LR.test(i)&&i.indexOf("#")!==0,"checkPattern"),XR=s(i=>i.split(ER).filter(Boolean),"spli\ tPattern"),_m=class{static{s(this,"IgnoreRule")}constructor(e,t,n,r,o,a){this.pattern=e,this.mark=t,this.negative=o,ao(this, "body",n),ao(this,"ignoreCase",r),ao(this,"regexPrefix",a)}get regex(){let e=eb+$s;return this[e]?this[e]:this._make($s, e)}get checkRegex(){let e=eb+Pc;return this[e]?this[e]:this._make(Pc,e)}_make(e,t){let n=this.regexPrefix.replace($R,MR[e]), r=this.ignoreCase?new RegExp(n,"i"):new RegExp(n);return ao(this,t,r)}},VR=s(({pattern:i,mark:e},t)=>{let n=!1,r=i;r.indexOf( "!")===0&&(n=!0,r=r.substr(1)),r=r.replace(RR,"!").replace(FR,"#");let o=WR(r);return new _m(i,e,r,t,n,o)},"createRule"), Um=class{static{s(this,"RuleManager")}constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[rb]){this._rules= this._rules.concat(e._rules._rules),this._added=!0;return}if(vc(e)&&(e={pattern:e}),BR(e.pattern)){let t=VR(e,this._ignoreCase); this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,tb(vc(e)?XR(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?vR:c)}); let l={ignored:r,unignored:o};return a&&(l.rule=a),l}},GR=s((i,e)=>{throw new e(i)},"throwError"),Bn=s((i,e,t)=>vc(i)?i? Bn.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"),ob=s(i=>NR.test(i),"isNotRelative"); Bn.isNotRelative=ob;Bn.convert=i=>i;var $m=class{static{s(this,"Ignore")}constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){ ao(this,rb,!0),this._rules=new Um(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&&Bn.convert(e);return Bn(o,e,this._strictPathCheck?GR:ib),this._t(o,t,n,r)}checkIgnore(e){ if(!wR.test(e))return this.test(e);let t=e.split(so).filter(Boolean);if(t.pop(),t.length){let n=this._t(t.join(so)+so,this. _testCache,!0,t);if(n.ignored)return n}return this._rules.test(e,!1,Pc)}_t(e,t,n,r){if(e in t)return t[e];if(r||(r=e.split( so).filter(Boolean)),r.pop(),!r.length)return t[e]=this._rules.test(e,n,$s);let o=this._t(r.join(so)+so,t,n,r);return t[e]= o.ignored?o:this._rules.test(e,n,$s)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this. ignores(e)}filter(e){return tb(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},Mm=s(i=>new $m( i),"factory"),qR=s(i=>Bn(i&&Bn.convert(i),i,ib),"isPathValid"),sb=s(()=>{let i=s(t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u. test(t)?t:t.replace(/\\/g,"/"),"makePosix");Bn.convert=i;let e=/^[a-z]:\//i;Bn.isNotRelative=t=>e.test(t)||ob(t)},"setup\ Windows");typeof process<"u"&&process.platform==="win32"&&sb();Ac.exports=Mm;Mm.default=Mm;Ac.exports.isPathValid=qR;ao( Ac.exports,Symbol.for("setupWindows"),sb)});var vf=yg(Pf=>{"use strict";Object.defineProperty(Pf,"__esModule",{value:!0});Pf.TypedEmitter=require("events").EventEmitter});var xN={};mL(xN,{ServerStarter:()=>Hd,createCdsLanguageTestServer:()=>aN,formatCli:()=>dg,lspRoot:()=>dt,ruleName:()=>Ze}); module.exports=fL(xN);var on=require("node:path");var ut="";function xl(i){return(0,on.isAbsolute)(i)}s(xl,"path_isAbsolute");function Y(i){return(0,on.dirname)(i)}s(Y,"p\ ath_dirname");function w(...i){return(0,on.resolve)(...i)}s(w,"path_resolve");function st(i,e){return(0,on.relative)(i,e)} s(st,"path_relative");function Qd(...i){return(0,on.join)(...i)}s(Qd,"path_join");function Sg(){return process.cwd()}s(Sg,"process_cwd");var yL={filename:"/data/xmake/prod-build10210/workspace/ght-cap/ght-cap-cds-lsp-SP-REL-linuxx86_64_indirectshipment-linu\ xx86_64/gen/out/module/src/root.ts",dirname:"/data/xmake/prod-build10210/workspace/ght-cap/ght-cap-cds-lsp-SP-REL-linuxx\ 86_64_indirectshipment-linuxx86_64/gen/out/module/src",relativefilename:"src/root.ts",relativedirname:"src"};var dt=w(global.__lspBundleDirname??yL.dirname,"..");function Vr(){return process.env.NODE_ENV!=="test"}s(Vr,"isProduction");function bL(i){return`CDS_LSP_${i}_FEATURE`}s(bL,"featureEnvName");function Ui(i,e){return TL(bL(i))??e}s(Ui,"isFeatureE\ nabled");function TL(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(TL,"isEnabled");function Dn(i,e,t){return i?e():t}s(Dn,"fallback");var vl=j(require("node:async_hooks"));var Cl=class{constructor(e){this.asyncId=e}static{s(this,"ClsFrame")}},Pl=class{constructor(e){this.clsFactory=e;this.hook= vl.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()}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(vl.executionAsyncId())}};var xg=s(i=>"\x1B["+i+"m","makeAnsi"),Gr=s((i,e=i+20)=>{let t=xg(i),n=xg(e);return r=>t+r+n},"makeTypo"),Cg=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"),kL=["black","red", "green","khaki","blue","purple","petrol","lightgray"],SL=["darkgray","lightred","lightgreen","yellow","lightblue","magen\ ta","cyan","white"],Pg=s(i=>{let e={};return kL.forEach((t,n)=>{e[t]=Cg(i,!1)(n)}),SL.forEach((t,n)=>{e[t]=Cg(i,!0)(n)}), e},"makeColors"),qr=Pg(!0),vg=Pg(!1),ae={fg:qr,bg:vg,intense:Gr(1,22),dim:Gr(2),italic:Gr(3),underline:Gr(4),blink:Gr(5), inverse:Gr(7),strikethrough:Gr(9)},Q={requestFromServer:qr.purple,responseToClient:qr.lightgreen,error:s(i=>qr.yellow(vg. red(i)),"error"),warn:qr.yellow,info:qr.white,success:qr.green};function K(i=""){return`^>${i}<^`}s(K,"tagPrivateData");function Ag(i){return i.replaceAll(/\^>.*?<\^/gm,"...")}s(Ag,"hi\ dePrivateData");var H=(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))(H||{}),N=(R=>(R.ALL="*",R.ADAPTER="adapter",R.COMPLETION="completion",R.COMPILER="compiler",R.CONTRIBUTION="contribu\ tion",R.DOCUMENTATION="docs",R.FORMATTING="format",R.MODEL="model",R.MODEL_TODOS="model-todos",R.REFACTOR="refactor",R.REQUESTS= "requests",R.SETTINGS="settings",R.UTIL="util",R.TELEMETRY="telemetry",R.WORKSPACE="workspace",R.FILES="files",R.ENV="cd\ senv",R.COMMAND="command",R.CONTEXT_LOG="context-log",R))(N||{});var Ll="---> ",On="<--- ";function ir(i,{errorPredicate:e=!1,warnPredicate:t=!1,infoPredicate:n=!1,successPredicate:r=!1, debugPredicate:o=!1}){return e?Q.error(i):t?Q.warn(i):r?Q.success(i):n?Q.info(i):o?ae.fg.darkgray(i):i}s(ir,"highlight"); var xs=class{constructor(e=!1){this.warnPrinted=e}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()}},Al=class{constructor(e=new xs){this._tracer=e}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}},$i=class{static{s( this,"UnsupportedValue")}constructor(e){}};var Rl=class{static{s(this,"SymbolData")}},Jd=class extends Rl{static{s(this,"LspClsAppScope")}trace=new Al;statistics=new class extends Map{static{ s(this,"Statistics")}report(t){let n={type:"statistics",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}}},Fl=class extends Rl{constructor(t,n){ super();this.name=t;this.requestNumber=n}static{s(this,"LspClsRequestScope")}abortSignal;snapshots=new Map},Cs=class{static{ s(this,"LspClsFrameScope")}indentLevel=0;constructor(e=0){this.indentLevel=e}isTraceEnabled(){return this.indentLevel>=0}}, El=class extends Cl{constructor(t,n,r,o){super(t);this.appScope=n;this.frameScope=o,this.requestScope=r}static{s(this,"L\ spClsFrame")}requestScope;frameScope},Yd=class{static{s(this,"LspFrameFactory")}appScope=new Jd;createFrame(e,t){return t? t.frameScope.isTraceEnabled()?new El(e,t.appScope,t.requestScope,new Cs(t.frameScope.indentLevel)):t:new El(e,this.appScope, new Fl("<fromScratch>",-e),new Cs)}},xL=new Yd,CL=new Pl(xL),V=s(()=>CL.currentFrame(),"currentFrame");function L(){return V(). appScope.trace}s(L,"currentTrace");function Zd(i){return V().appScope[i]}s(Zd,"current");function em(i,e){V().appScope[i]= e}s(em,"initCurrent");var Lg=1,Mi=s((i,e=Lg)=>{Lg++;let t=V(),n=t.requestScope;return t.requestScope=new Fl(i,e),t.frameScope= new Cs,n},"startRequestScope");function Rg(i){return()=>{let e=V();e.requestScope=i}}s(Rg,"endRequestScope");var Ae=require("node:fs"),rm=require("node:os"),$g=require("node:path");var Nl=require("node:path"),or=require("node:util"),He=j(require("vscode-languageserver-protocol"));function Fg(i){switch(i){case He.DocumentHighlightKind.Text:return"text";case He.DocumentHighlightKind.Read:return"read";case He.DocumentHighlightKind. Write:return"writ";default:return Q.error(`[E] <unknown kind> ${i}`)}}s(Fg,"renderKind");function Ps(i,e=70){return JSON. stringify(i.length<=e?i:`${i.slice(0,e-3)}...`)}s(Ps,"shorten");function Eg(i){if(He.MarkupContent.is(i))return`${i.kind}\ : ${Ps(i.value)}`;let e=s(t=>typeof t=="string"?Ps(t):`[${t.language}] ${Ps(t.value)}`,"renderMarkedString");return Array. isArray(i)?qe(i.map(e)):e(i)}s(Eg,"renderContents");function PL(i){return!!i?.range}s(PL,"isIncremental");var vL={[He.FileChangeType. Created]:"Created",[He.FileChangeType.Deleted]:"Deleted",[He.FileChangeType.Changed]:"Changed"};function Ng(i){if(i!==void 0) switch(i){case He.DiagnosticSeverity.Error:return"Error";case He.DiagnosticSeverity.Warning:return"Warn";case He.DiagnosticSeverity. Information:return"Info";case He.DiagnosticSeverity.Hint:return"Hint"}return"?"}s(Ng,"renderSeverity");function AL(i=""){ return e=>_g(e,i)}s(AL,"makeRenderLocation");function wg(i){let e="";return i?.documentation&&(e=He.MarkupContent.is(i.documentation)? i.documentation.value:i.documentation),`${i?.data?.providerName??Q.warn("UnknownProvider")}: <${i.kind}> ${i.label} [${i. commitCharacters||""}] ${Ps(e)}`}s(wg,"renderCompletionItem");function Dg(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((u,d)=>Math.max(u,d.length),0)+2,c=Math.floor(120/l);n+=` ${r} `;let p=0;o.sort();for(let u of o)n+=`${u.padEnd(l)}${++p%c===0?` `:""}`}}return n}s(Dg,"renderPaths");function qe(i,e=""){return i?i.length?i.length===1?String(i[0]):`${i.reduce((t,n)=>`${t}\ ${e} ${n}`,"[")} ${e}]`:"[]":""}s(qe,"arr");var Og=(q=>(q[q.File=1]="File",q[q.Module=2]="Module",q[q.Namespace=3]="Namespace",q[q.Package= 4]="Package",q[q.Class=5]="Class",q[q.Method=6]="Method",q[q.Property=7]="Property",q[q.Field=8]="Field",q[q.Constructor= 9]="Constructor",q[q.Enum=10]="Enum",q[q.Interface=11]="Interface",q[q.Function=12]="Function",q[q.Variable=13]="Variabl\ e",q[q.Constant=14]="Constant",q[q.String=15]="String",q[q.Number=16]="Number",q[q.Boolean=17]="Boolean",q[q.Array=18]="\ Array",q[q.Object=19]="Object",q[q.Key=20]="Key",q[q.Null=21]="Null",q[q.EnumMember=22]="EnumMember",q[q.Struct=23]="Str\ uct",q[q.Event=24]="Event",q[q.Operator=25]="Operator",q[q.TypeParameter=26]="TypeParameter",q))(Og||{});function nm(i,e=""){ return(e?"":` `)+i.map(t=>FL(t,e)).join(` `)+(e?"":` `)}s(nm,"docSymbolsToString");function LL(i){let e=i.map(n=>(0,or.inspect)(n,{compact:!0,maxStringLength:200,breakLength:200})), t=e.reduce((n,r)=>n+r.length,0)>200;return e.join(t?`, `:", ")}s(LL,"renderArgs");var I={array:s(i=>I.asIs(i),"array"),asIs:s(i=>(0,or.inspect)(i,{depth:null,compact:!1}),"asI\ s"),args:LL,changeTextDoc:s(i=>`${i.textDocument.uri}#${i.textDocument.version} ${qe(i.contentChanges.map(wL))}`,"change\ TextDoc"),changeWatched:s(i=>qe(i.changes.map(e=>`${vL[e.type]||e.type} ${e.uri}`)),"changeWatched"),codeAction:s(i=>`${i. textDocument.uri} ${I.range(i.range)}`,"codeAction"),codeActions:s(i=>qe(i.map(e=>`${e.title}: ${e.command?.command}(${I. asIs(e.data)})`)),"codeActions"),codeLens:s(i=>qe(i.map(e=>`${e.command?.title}`)),"codeLens"),completionItem:wg,completionList:s( i=>`${i.isIncomplete?"incomplete":""} ${qe(i.items.map(wg))}`,"completionList"),contents:Eg,diags:s(i=>I.diagsWithIndent( i),"diags"),diagsWithIndent:s((i,e="")=>qe(i.map(t=>`${Ng(t.severity)} ${I.range(t.range)}: ${t.message}`),e),"diagsWith\ Indent"),docClosed:s(i=>i.textDocument.uri,"docClosed"),docHighlight:s(i=>`${Fg(i.kind)}: ${I.range(i.range)}`,"docHighl\ ight"),docHighlights:s(i=>qe(i.map(I.docHighlight)),"docHighlights"),docOpened:s(i=>`${i.textDocument.uri}#${i.textDocument. version} ${Ps(i.textDocument.text,30)}`,"docOpened"),docSaved:s(i=>`${i.textDocument.uri}`,"docSaved"),docSymbolParams:s( i=>i.textDocument.uri,"docSymbolParams"),docSymbolResult:EL,docSymbols:s(i=>nm(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=>qe(i.map(I.documentLink)),"documentLinks"),execCmd:s(i=>`(${JSON.stringify(i.arguments)})`,"ex\ ecCmd"),exception:s(i=>RL(i)&&i.stack?OL(i.stack):(0,or.inspect)(i),"exception"),hov:s(i=>i?`${i.range?I.range(i.range): ""}: ${Eg(i?.contents)}`:"","hov"),kind:Fg,location:_g,locations:s(i=>qe(i.map(AL())),"locations"),localPaths:s((i=[])=>Dg( Nl.sep,i),"localPaths"),map:s(i=>[...i.entries()].map(([e,t])=>`${e}: ${(0,or.inspect)(t)}`).join(` `),"map"),nothing:s(()=>"","nothing"),pos:s(i=>`[${i.line}:${i.character}]`,"pos"),range:s(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,or.inspect)(i,{compact:!0,maxStringLength:200,breakLength:200}), "result"),severity:Ng,symbolInfos:s(i=>qe(i.map(e=>`${I.range(e.location.range).padEnd(14)} ${`${e.kind}`.padStart(2)} ${e. name.padEnd(20)} (${e.containerName||"/"})`)),"symbolInfos"),symbolInfos_Uri:DL,symbolKind:s(i=>Og[i]??"<unknown symbol \ kind>","symbolKind"),textEdits:s(i=>`${qe(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=[])=>Dg("/",i),"uris"),wsSymbol:s(i=>i.query,"wsSymbol"),direntsOrStrings:s(i=>i.length?typeof i[0]=="string"? qe(i):I.dirEnts(i):"[]","direntsOrStrings"),dirEnts:s(i=>qe(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")};function RL(i){return!!i?.stack}s(RL,"isError");function FL(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?`\ ${nm(i.children,`${e} `)}`:""}`}s(FL,"docSymbolToString");function EL(i){return i?.length?He.DocumentSymbol.is(i[0])?nm( i):I.symbolInfos(i):I.asIs(i)}s(EL,"renderDocSymbolResult");function NL(i){return i!==void 0?i:""}s(NL,"renderExists");function wL(i){ return`${PL(i)?I.range(i.range):""} ${NL(i?.rangeLength)}`}s(wL,"renderTextDocConChEv");function _g(i,e=""){let t=s(n=>e. length?(0,Nl.relative)(e,n):n,"relPath");return He.LocationLink.is(i)?`${t(i.targetUri)}${I.range(i.targetSelectionRange)}\ in ${I.range(i.targetRange)}`:`${t(i.uri)}${I.range(i.range)}`}s(_g,"renderLocation");function sr(i,e,t=`${e}s`){return i=== 1?e:t}s(sr,"numerus");function DL(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} ${sr(n.size,"file")}`}return qe(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(DL,"renderSymbolInfos\ _Uri");function xe(i){return typeof i[0]=="string"?i[0]:I.asIs(i[0])}s(xe,"firstArg");function mt(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(mt,"specificArg");function OL(i){return i.split(/\r?\n/).map(e=>e.replace(/(?<=\()(.*)(?=node_modules)/g, K("$1"))).join(` `)}s(OL,"tagErrorStack");function Ug(i){return(0,or.stripVTControlCharacters)(i)}s(Ug,"deansify");var _L=1,wl=class i{static{s(this,"LogFile")}_folder;fileDescriptor=0;_filePath;logId;constructor(e=`${process.pid}_${_L++}`,t=""){ let n=t+e;this.logId=n,this._folder=this.defaultFolder(),this._filePath=this.logFilePath(n),this.createFile()}createFile(){ try{this.fileDescriptor=(0,Ae.openSync)(this._filePath,"w+",511),this.appendRaw(`#!/usr/bin/env less -f -R `),this.appendRaw(`${Q.requestFromServer("---------- opened trace file")} `),this.appendRaw(`${Q.responseToClient(new Date().toISOString())} `)}catch(e){this.logError(e)}}defaultFolder(){return w((0,rm.tmpdir)(),"cdxlsp")}get folder(){return i.ensureFolderExists( this._folder)}set folder(e){e&&(this._folder=e)}static ensureFolderExists(e){return(0,Ae.existsSync)(e)||(0,Ae.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,Ae.closeSync)(this.fileDescriptor),this.deleteOrphanedLogFiles(),Y(this._filePath)===Y(t)?(0,Ae.renameSync)(this. _filePath,t):((0,Ae.copyFileSync)(this._filePath,t),(0,Ae.unlinkSync)(this._filePath)),this._filePath=t,this.fileDescriptor= (0,Ae.openSync)(this._filePath,"a+"))}catch(t){this.logError(t)}}deleteOrphanedLogFiles(){}logFilePath(e){let t=`${e.replaceAll( /[:/\\]/g,"_")}.log`;return UL(()=>w(this.folder,t),w((0,rm.tmpdir)(),`cdxlsp_${t}`))}append(e){this.appendRaw(`${e} `)}appendRaw(e){try{(0,Ae.appendFileSync)(this.fileDescriptor,e)}catch{}}close(){this.appendRaw(` ---------- closing trace file `),(0,Ae.closeSync)(this.fileDescriptor),this.fileDescriptor=0}},Wi=class i extends wl{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,Ae.closeSync)(this.fileDescriptor),this.fileDescriptor=(0,Ae.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,$g.basename)(e),n=Y(e);return(0,Ae.readdirSync)( n).filter(r=>r.match(t)).map(r=>w(n,r))}renameAndUnlinkOrphanedFile(e){let t=Y(e);if((0,Ae.statSync)(e).isFile()){let r=w( t,`orphaned-${Math.floor(Math.random()*1e4)}`);(0,Ae.renameSync)(e,r),(0,Ae.unlinkSync)(r)}else this.appendRaw(`Orphaned\ but not a file: ${e}`)}},Dl=class extends wl{static{s(this,"ContextLogFile")}get enabled(){return Vr()}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 UL(i,e){try{return i()}catch{return e}}s(UL,"tryCatch");function Bi(i){return Object.entries(i??{})}s(Bi,"entries");function Ol(i){return Object.entries(i??{})}s(Ol,"entries2"); function Et(i){return JSON.parse(i)}s(Et,"parseJson");function Xi(i){return $L(i)}s(Xi,"calculateHashDigest");function $L(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($L,"hash");var om=require("node:util");var sn=class extends Error{static{s(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}},ML=0,Vi=class extends AbortController{static{ s(this,"CdsAbortController")}constructor(e){super();let t=V().requestScope;t.abortSignal=this.signal,this.signal.id=ML++, 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 WL(){return new Promise(i=>{setImmediate(()=>i(void 0))})} s(WL,"preempt");async function at(i){i&&(await WL(),i.throwIfAborted())}s(at,"throwIfAborted");var As=1024*1024,Mg=1e3*1e3;function Wg(i){return Math.abs(i)>=As?`${Math.round(i/As)}~M`:`${Math.round(i/1024)}~K`}s(Wg, "memoryUnit");var vs=[{unit:"ns",factor:1n},{unit:"us",factor:BigInt(1e3)},{unit:ae.fg.yellow("ms"),factor:BigInt(1e6)}, {unit:ae.fg.lightred("s"),factor:BigInt(1e9)},{unit:ae.fg.lightred("min"),factor:BigInt(6e10)}];function im(i){let e=s(()=>{ let o=vs.findIndex((l,c)=>{let p=vs[c+1];return p?i<2n*p.factor:!0}),a=o===vs.length-1;return[vs[o],a?vs[o-1]:void 0]},"\ getScales"),[t,n]=e(),r=`${i/t.factor} ${t.unit}`;return n&&(r+=` ${i%t.factor/n.factor} ${n.unit}`),ir(r,{errorPredicate:i> 1e3*Mg,warnPredicate:i>200*Mg,successPredicate:i<0})}s(im,"renderElapsedNanos");var Bg=s(()=>global.gc?.call(global,!0), "gc"),Gi=class{static{s(this,"Stopwatch")}startTime;startMemory;constructor(e=!1){e&&(Bg(),this.startMemory=process.memoryUsage()), this.startTime=process.hrtime.bigint()}get elapsedNanos(){return process.hrtime.bigint()-this.startTime}get elapsed(){return this. elapsedMemory()+im(this.elapsedNanos)}elapsedMemory(){if(!this.startMemory)return"";Bg();let e=process.memoryUsage(),t=s( (n,r=!0)=>{let o=e[n],a=r?"":this.diffMemory(o-this.startMemory[n]),l=ir(Wg(o),{errorPredicate:o>200*As,warnPredicate:o> 100*As});return`${n}${a}=${l} `},"diff");return`${t("rss")}${t("external")}${t("heapUsed",!1)}`}diffMemory(e){if(e!==0){ let t=Wg(e);return ir((e>0?"+":"")+t,{errorPredicate:e>20*As,successPredicate:e<0})}return""}};function Xg(i){return new Promise( e=>setTimeout(e,i))}s(Xg,"sleep");function BL(i){return(e,t,n)=>{try{let r=i(e,t,n);return typeof r=="string"?r:(0,om.inspect)(r)}catch(r){let o=r;return Q. error(`[E] argument rendering failed with: ${o.message} ${I.args(e)}`)}}}s(BL,"SafeArgs");function XL(i){return(e,t,n,r)=>{try{let o=i(e,t,n,r);return typeof o=="string"?o:(0,om.inspect)( o)}catch(o){let a=o;return Q.error(`[E] result rendering failed with: ${a.message} ${I.result(e)}`)}}}s(XL,"SafeResult");var _l=class extends xs{constructor(t,n){super();this.component=t;this.tracerAdapter= n}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),u=o.traceLevel??5,d=p>=u,m=p>=6,h=XL(o.resultRenderer??I.result),g=BL(o.argumentsRenderer?? (m?I.args:I.nothing)),b=new Gi(o.trackMemory),P=this.tracerAdapter.indentLevel,v=s(()=>{V().frameScope.indentLevel=P},"r\ ebaseIndent"),E=this;function R(_,te){if(v(),d&&!o.onlyTraceStart){let z=b.elapsedNanos;o.onlyTraceEndIfTakesLongerMs?o. onlyTraceEndIfTakesLongerMs*1e6<z&&E.conditionalTrace(u,()=>`}${te?"~":""} ${c} [${Q.warn(b.elapsed)}] ${m?`(${g(r,t,u)}\ )`:""}${m?` => ${h(_,r,t,p)}`:""}`):E.conditionalTrace(u,()=>`}${te?"~":""} ${c} [${b.elapsed}] ${m?` => ${h(_,r,t,p)}`: ""}`)}return _}s(R,"onSuccess");function O(_,te){v();let z=I.exception(_);throw _ instanceof sn?E.info(()=>`}${te?"~":""}\ | CANCELED: ${c} [${b.elapsed}] => ${u<=5?z.split(/\r?\n/)[0]:z}`):E.error(()=>`}${te?"~":""} [E] ${c} [${b.elapsed}]\ => ${z}`),_}s(O,"onError");try{d&&!o.onlyTraceEnd&&this.conditionalTrace(u,()=>`${l} ${m?`(${g(r,t,u)})`:""} {`),this.tracerAdapter. increaseIndent();let _=n(...r),te=_;return te?.then?(v(),te.then(z=>R(z,!0)).catch(z=>O(z,!0))):R(_,!1)}catch(_){return O( _,!1)}}conditionalTrace(t,n){this.tracerAdapter.conditionalTrace(this.component,t,n)}};var VL=Object.keys(N).reduce((i,e)=>Math.max(i,e.length),0),Vg={},GL=s(i=>Vg[i]??(Vg[i]="".padEnd(i*3)),"paddingFor"),qL={ 1:"[-]",2:ae.fg.magenta("[:]"),3:Q.error("[E]"),4:Q.warn("[w]"),5:Q.info(" | "),6:" : ",7:ae.fg.darkgray(" . ")},qi=class i{static{ s(this,"LspTrace")}logFile;extendedStatsLogFile;onError;traceComponents=new Map([["*",6]]);constructor(){this.logFile=new Wi, this.extendedStatsLogFile=new Dl;let e=HL();this.configureRotation(e.maxSize,e.count),this.configureTraceComponents([...sm(). entries()].map(([t,n])=>({name:t,level:n})))}get indentLevel(){return V().frameScope.indentLevel}increaseIndent(){let e=V(). frameScope;e.isTraceEnabled()&&(e.indentLevel+=1)}decreaseIndent(){let e=V().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)}_${Xi(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} = ${H[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 _l(e,this),this.tracers.set(e,t)),t}async noTraceDuring(e){return s(async()=>{let{indentLevel:n}=V().frameScope;try{ return V().frameScope.indentLevel=-1,await e()}finally{V().frameScope.indentLevel=n}},"wrapper")()}conditionalTrace(e,t,n){ t===3&&this.onError?.(this.renderMessage(t,e,n)),!(this.traceLevel(e)<t||!V().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)}}startTime=Date.now();lastTimeTraced=Date.now();renderMessage(e,t,n){let r=n(),o=this.traceLevel( "requests")>=6,a=s(b=>{let P=b%1e3,v=Math.floor(b/1e3),E=v%60,R=Math.floor(v/60),O=R%60,_=Math.floor(R/60),te=_?`${_}:`: " ",z=_||O?`${String(O).padStart(2,"0")}:`:" ",Ue=String(E).padStart(2,_||O?"0":" ");return`${te}${z}${Ue}.${String( P).padStart(3,"0")}`},"millisToTime"),l=0,c=s(()=>{let b=Date.now(),P=b-this.lastTimeTraced;this.lastTimeTraced=b;let v=a( b-this.startTime);if(l=v.length,t==="requests"){if(r.startsWith(Ll))return Q.requestFromServer(v);if(r.includes(On))return Q. responseToClient(v)}return ir(v,{errorPredicate:P>5e3})},"colorizedTime"),p=0;function u(){let b=`{${t}}`.padEnd(VL+2),P=31, {name:v,requestNumber:E=-1,snapshots:R}=V().requestScope,O="";if(o&&R){let z=[];for(let Ue of R.values())Ue.constructor. name!=="NonScanningWorkspaceSnapshot"&&z.push(Ue.workspaceVersion);O=`/${z.join(",")}`}let _=ir(v.padEnd(P),{warnPredicate:v. startsWith("@")}),te=`${E}${O}`.padStart(o?11:5);return p=6+te.length+_.length+b.length,`${te}:${_} ${qL[e]??"???"} ${b}`} s(u,"colorizedContext");let d=GL(this.indentLevel),m=`${c()} ${u()} ${d}`,h=2+l+p+d.length;function g(){let b=r;if(b.includes( ` `)){let P=" ".repeat(h),v=s((E,R,O)=>`${E}${O>0?P:""}${R} `,"appendIndented");b=b.split(/\r?\n/g).reduce(v,"")}return ir(b,{errorPredicate:e===3,warnPredicate:e===4,infoPredicate:e=== 5,debugPredicate:e===7})}return s(g,"colorizedMessage"),`${m}${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 sm(){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(sm,"getRawTraceComponents");function HL(){return{count:Gg(process.env.CDS_LSP_TRACE_FILES_COUNT?? "",1,10,Wi.DEFAULT_NUMBER_OF_FILES),maxSize:Gg(process.env.CDS_LSP_TRACE_FILES_MAXSIZE??"",1e7,1e9,Wi.DEFAULT_MAX_FILE_SIZE)}} s(HL,"getTraceFilesConfig");function Gg(i,e,t,n){return Math.max(Math.min(Number.parseInt(i,10)||n,t),e)}s(Gg,"canonical\ izeNumber");function y(i,e={}){let t=Vr();return(n,r)=>{if(!am.isTracing(i,e.traceLevel??5))return n;e.scope||=r.name;let o,a=s(()=>(t&& o||(o=L().tracer(i)),o),"getTracer");return s(function(...c){return a().footprint(this,n.bind(this),c,e)},"FootprintDeco\ rator")}}s(y,"Footprint");var am=class i{static{s(this,"ConfiguredTraceComponents")}static _rawTraceComponents;static get rawTraceComponents(){ return i._rawTraceComponents||(i._rawTraceComponents=sm()),i._rawTraceComponents}static isTracing(e,t){let n=i.rawTraceComponents. get(e)??i.rawTraceComponents.get("*")??"off";return qi.toTraceLevel(n)>=t}};function Oe(i){i?.catch(e=>{})}s(Oe,"safeTriggerAsync");var qg=require("node:path"),Hg=require("node:util"),re=j(require("vscode-languageserver-protocol"));function cm(i){return[".csn",".json"].includes((0,qg.extname)(i))}s(cm,"isCsn");var KL=s(()=>({start:{line:0,character:0}, end:{line:0,character:0}}),"csnFallbackLocation"),an=class{static{s(this,"RangeAdapter")}static adapt(e){return cm(e.file)&& !e.treatAsIs?KL():{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 Un(i){return an.adapt(i)}s(Un,"adaptRange");function pm(i){return lm.adapt(i)}s(pm,"adaptC\ ompletionKind");var jL=new Map([["context",re.CompletionItemKind.Unit],["element",re.CompletionItemKind.Field],["entity", re.CompletionItemKind.Class],["namespace",re.CompletionItemKind.Module],["source",re.CompletionItemKind.File],["type",re.CompletionItemKind. Interface]]),lm=class{static{s(this,"CompletionKindAdapter")}static adapt(e){return jL.get(e)??re.CompletionItemKind.Variable}}, ln=class{static{s(this,"SeverityAdapter")}static adapt(e){switch(e){case"Error":return re.DiagnosticSeverity.Error;case"\ Warning":return re.DiagnosticSeverity.Warning;case"Info":return re.DiagnosticSeverity.Information;default:return re.DiagnosticSeverity. Hint}}};function lt(){return Object.create(null)}s(lt,"empty");var zL=new Map([[re.SymbolKind.Module,re.CompletionItemKind. Module],[re.SymbolKind.Namespace,re.CompletionItemKind.Unit],[re.SymbolKind.Package,re.CompletionItemKind.Unit],[re.SymbolKind. Class,re.CompletionItemKind.Class],[re.SymbolKind.Field,re.CompletionItemKind.Field],[re.SymbolKind.Interface,re.CompletionItemKind. Interface],[re.SymbolKind.Function,re.CompletionItemKind.Function],[re.SymbolKind.Variable,re.CompletionItemKind.Variable], [re.SymbolKind.Object,re.CompletionItemKind.Method],[re.SymbolKind.EnumMember,re.CompletionItemKind.EnumMember],[re.SymbolKind. Event,re.CompletionItemKind.Event],[re.SymbolKind.TypeParameter,re.CompletionItemKind.TypeParameter],[re.SymbolKind.String, re.CompletionItemKind.Text]]);function Kg(i){return zL.get(i)??re.CompletionItemKind.Text}s(Kg,"toCompletionKind");function Ul(i,e){ if(!(i instanceof e))throw new TypeError}s(Ul,"assertsType");function $l(i,e,t={},n=3){if(i==null)throw new TypeError(`${e}\ : ${(0,Hg.inspect)(t,{depth:n})}`)}s($l,"assertExists");function QL(i){return i.toLowerCase()===i?i.toUpperCase():i.toLowerCase()} s(QL,"toggleCase");function Ml(i){return QL(i[0])+i.slice(1)}s(Ml,"toggleDriveLetter");var jg=require("node:util");function Hr(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?Hr(i,e,t,n, o-1):Hr(i,e,t,o+1,r)}s(Hr,"binSearch");function Wl(i){return i?Array.isArray(i)?i:[i]:[]}s(Wl,"flatten");function Bl(i,e,t){ return i[e]===void 0&&(i[e]=t()),i[e]}s(Bl,"getOrCreate");function D(i,e){return i??e}s(D,"ensure");function Xt(i,e){if(!i) throw new Error(e())}s(Xt,"assertTrue");function Xl(i,e){if(i)throw new Error(e())}s(Xl,"assertFalse");function bt(i,...e){ return()=>e.length>0?i.replace(/\{(\d+)}/g,(t,n)=>(0,jg.inspect)(e[Number(n)])):i}s(bt,"lazyString");var zg=new Set,Qg=s(i=>Bl(i,"__CACHES",()=>new Map),"cachesFor"),Vl=s((i,e)=>{let t=Qg(i),n=t.get(e);return n||(n=new Map, t.set(e,n),zg.add(n)),n},"cacheFor");function M(i={}){return i.key||=e=>e[0],i.doNotCacheUndefined||=!1,(e,t)=>s(function(...r){ let o=Vl(this,String(t.name)),a=i.key(r);if(!o.has(a)){let l=e.call(this,...r);(l!==void 0||!i.doNotCacheUndefined)&&o.set( a,l)}return o.get(a)},"CacheDecorator")}s(M,"Cache");M.clear=(i,e)=>{if(i)e?Vl(i,e).clear():Qg(i).clear();else{if(e)throw new Error( `Clearing method cache '${e}' requires an instance`);for(let t of zg)t.clear()}};M.set=(i,e,t,n)=>{Vl(i,e).set(t,n)};M.get= (i,e,t)=>Vl(i,e).get(t);var Hl=j(require("node:child_process"));var ql=class extends Error{constructor(t,n){let r=Dn(n.exitCode!==0,()=>` <exit code:> ${n.exitCode}`,""),o=Dn(n.stdout,()=>` <stdout:> ${n.stdout}`,""),a=Dn(n.stderr,()=>` <stderr:> ${n.stderr}`,"");super(t+r+o+a);this.result=n}static{s(this,"CliError")}},Jg,Yg,Gl;Yg=[y("util",{argumentsRenderer:s(e=>`\ <<${++Nt._currentlyRunning}>> ${I.args(e)}`,"argumentsRenderer"),resultRenderer:s((e,t)=>`<<${--Nt._currentlyRunning}>> ${I. args(t)} => ${I.result(e)}`,"resultRenderer")})],Jg=[y("util",{argumentsRenderer:s(e=>`<<${++Nt._currentlyRunning}>> ${I. args(e)}`,"argumentsRenderer"),resultRenderer:s((e,t)=>`<<${--Nt._currentlyRunning}>> ${I.args(t)} => ${I.result(e)}`,"r\ esultRenderer")})];var Nt=class Nt{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=Hl.spawn(e,t,n);r.stdin.end();let o={stdout:"",stderr:"",exitCode:1},a=s(()=>{o.stdout=o.stdout.trim(),o. stderr=o.stderr.trim()},"trimResult"),l=Nt.streamIntoResult(r.stdout,o,"stdout"),c=Nt.streamIntoResult(r.stderr,o,"stder\ r"),p=new Promise((u,d)=>{r.on("error",d),r.on("close",(m,h)=>{a(),o.exitCode=h??m,h||m!==0&&n.failIfNonZeroExit?d(new ql( `Failed: ${e} ${t.join(" ")}`,o)):u(o)})});return await Promise.allSettled([l,c,p]),p}static runSync(e,t,n={encoding:"ut\ f8"}){n.shell=!0,n.encoding="utf8";let r=Hl.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 ql(`Failed: ${e} ${K(t.join(" "))}`,o);return o}};Gl=C(null),f(Gl,9,"run",Yg,Nt),f(Gl,9,"runSync",Jg,Nt),S(Gl, Nt),x(Gl,3,Nt),s(Nt,"CLI"),k(Nt,"_currentlyRunning",0);var In=Nt;var CD=Symbol("_originalClass");function Zg(i,e){let t=[];for(let n of i)e(n)&&t.push(n);return t}s(Zg,"filter");function Kr(i,e){let t=i.uri.localeCompare(e.uri);return t!==0?Math.sign(t):(t=Je(i.range.start,e.range.start),t!==0?t:Je( i.range.end,e.range.end))}s(Kr,"compareLocations");function Je(i,e){let t=i.line-e.line;return Math.sign(t!==0?t:i.character- e.character)}s(Je,"comparePosition");function Hi(i,e){let t=Je(i.start,e);return t>0?1:t===0?0:Je(i.end,e)<0?-1:0}s(Hi,"\ compareRange");function Kl(i,e){return(t,n)=>Ui(i,e)?t:()=>{}}s(Kl,"Conditional");var eI=Symbol("languageServer"),tI=Symbol("factory");function oe(){return Zd(eI)}s(oe,"currentLanguageServer");function nI(i){ em(eI,i)}s(nI,"initLanguageServer");function U(){return Zd(tI)}s(U,"currentFactory");function JL(i){em(tI,i)}s(JL,"initF\ actory");var Ki=s(i=>{JL(i),V().appScope.trace=i.getTrace()},"startAppScope");var ar=require("node:fs"),iI=require("node:os"),dm=require("node:util");var rI,um;rI=[y("util",{scope:"installEmergencyHooks"})];var Ls=class Ls{constructor(e=L()){this.trace=e;x(um,5,this);k( this,"emergencyHooksInstalled",!1)}install(){if(this.emergencyHooksInstalled){this.trace.tracer("util").warn(()=>"Ignore\ d: 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,dm.inspect)(t,!0,4)} reason: ${e}`)}onExit(e){this.trace.conditionalTrace("util",2,()=>`CDS-LS will exit now wi\ th code ${e}`);let t=` ----- ${new Date().toISOString()} pid: ${process.pid} <- ${process.ppid} memory: ${JSON.stringify(process.memoryUsage(),null,2)} exited with code ${e}: ${new Error().stack?.split(/\r?\n/).slice(1).join(` `)} process details: ${(0,dm.inspect)(process)} `;this.trace.doTraceToFile(t);let n=w((0,iI.tmpdir)(),"cdxlsp/exitInfos.txt");(0,ar.existsSync)(n)&&(0,ar.statSync)(n).mtime. toDateString()!==new Date().toDateString()&&(0,ar.rmSync)(n),(0,ar.appendFileSync)(n,t)}onWarning(e){this.trace.doTraceToFile( this.trace.renderMessage(2,"util",()=>`Process warning (${e.name}): ${e.message} ${e.stack} `))}};um=C(null),f(um,1,"install",rI,Ls),S(um,Ls),s(Ls,"EmergencyHooks");var jl=Ls;function zl(i){throw new Error(i)}s(zl,"NoSuchOption");var Te=require("node:fs"),lr=require("node:fs/promises"),WI=require("node:os"),wt=require("node:path");var Vt=Symbol("builtin"),oI=Symbol("unknown"),YL=["<n/a>","Action","anno","AnnoDef","annoref","artref","BoundAction","Co\ ntext","Element","Entity","Enum","enumref","Ext","ExtBoundAction","ExtContext","ExtElement","ExtParam","ExtService","Eve\ nt","FromAlias","FromElemImplicit","FromImplicit","func","global","ItemAlias","ItemAssoc","ItemImplicit","Key","KeyImpli\ cit","Mixin","name","Namespace","Param","paramname","paramref","ref","Service","Type","typeparamname","Using","UsingAlia\ s","variant"],ZL=["token","doc","keyword"],VD=[...YL,...ZL];var eR=["actionMainDef","annoAssignBase","annoAssignParen","annoAssignStd","annoAssignCol","annoAssignMid","annotateArti\ fact","annotateElementsBlock","annotateElement","annotationDef","annoValue","annoSubValue","annoStructValue","artifactDe\ fOrExtend","aspectDef","boundActionFunctionDef","cardinalityAndFilter","caseExpression","contextDef","elementDef","eleme\ ntsBlock","elementDefOrExtend","elementsBlock","entityDef","eventDef","excludingClause","expression","expressionOrQueryP\ arens","extendArtifact","extendContext","extendEntityOrAspect","extendProjection","extendType","foreignKeysBlock","funct\ ionMainDef","filterClauses","mixinElementDef","namespaceDeclaration","nestedSelectItemsList","orderByExpression","orderB\ yLimitOffset","paramDef","paramsList","projectionSpec","queryExpression","returnsSpec","selectItemDef","selectQuery","se\ rviceDef","start","tableExpression","typeDef","typeNamedArg","typeNamedArgsList","typeOrIncludesSpec","typeOrIncludesSpe\ c","typeRefOptArgs","usingDeclaration","usingProxy","valuePath","viewDef","whereGroupByHaving"],T=tR(Object.create(null)); function sI(i){return T[i]===i}s(sI,"isBlockRule");function tR(i){for(let e of eR)i[e]=e;return Object.freeze(i)}s(tR,"a\ ssignKeyNamesAsValueAndFreeze");var be=(ie=>(ie.CDS_TYPER_OUTPUT_PATH="cds.typeGenerator.outputPath",ie.CDS_TYPER_ENABLED="cds.typeGenerator.enabled",ie. CDS_TYPER_LOCAL_INSTALLATION_ONLY="cds.typeGenerator.localInstallationOnly",ie.CDS_TYPER_COMMAND="cds.typeGenerator.comm\ and",ie.DIAGNOSTICS_LEVEL="cds.diagnosticsSeverity",ie.WARN_MISSING_TRANSLATIONS="cds.compiler.markMissingI18nDefault",ie. SHOW_COMPILER_ERRORS="cds.compiler.showInternalErrors",ie.DOCS_IN_COMPLETION="cds.completion.showDocumentation",ie.DOCFILES_FOR_COMPLETION= "cds.completion.docFiles",ie.FORMAT_SNIPPETS="cds.completion.formatSnippets",ie.DOCSYMBOLS_SEMANTICAL="cds.outline.seman\ tical",ie.DOCSYMBOLS_ASSOCIATION_COMPOSITION="cds.outline.elements.associationComposition",ie.WORKSPACESYMBOLS_FOR_COMPLETION_MIN_PREFIX= "cds.completion.workspaceSymbols.minPrefixLength",ie.WORKSPACESYMBOLS_FOR_COMPLETION_MAX_PROPOSALS="cds.completion.works\ paceSymbols.maxProposals",ie.OMIT_REDUNDANT_TYPES_IN_SNIPPETS="cds.completion.annotations.omitRedundantTypesInSnippets", ie.CONTRIBUTIONS_REGISTRY="cds.contributions.registry",ie.CONTRIBUTIONS_ANALYTICS_ENABLED="cds.contributions.enablement.\ additionalAnalyticalAnnotations",ie.CONTRIBUTIONS_ODATA_ENABLED="cds.contributions.enablement.odata",ie.IMPORT_ARTIFACT_QUICKFIX= "cds.quickfix.importArtifact",ie.CODE_LENS_STATISTICS="cds.codeLensStatistics.enabled",ie.SEMANTIC_HIGHLIGHTING="cds.sem\ anticHighlighting.enabled",ie.SEMANTIC_HIGHLIGHTING_ODATA="cds.semanticHighlighting.odata.enabled",ie.REFACTOR_USINGS_ON_RENAME= "cds.refactoring.files.rename.enabled",ie.REFACTOR_USINGS_ON_DELETE="cds.refactoring.files.delete.enabled",ie.SHOW_GENERIC_ANNOTATIONS= "cds.whereused.showGenericAnnotations",ie.SHOW_STRING_LITERALS="cds.whereused.showStringConstants",ie.WORKSPACE_DEBOUNCE_FAST_CHANGES= "cds.workspace.debounceFastChanges",ie.WORKSPACE_FAST_DIAGNOSTICS="cds.workspace.fastDiagnosticsMode",ie.WORKSPACE_SCAN_CSN= "cds.workspace.scanCsn",ie.WORKSPACE_SCAN_DEPENDENT_MODULES="cds.workspace.scanDependentModules",ie.WORKSPACE_VALIDATION_MODE= "cds.workspaceValidationMode",ie.WORKSPACESYMBOLS_LAZY="cds.workspaceSymbols.lazy",ie.WORKSPACESYMBOLS_CASE_INSENSITIVE= "cds.workspaceSymbols.caseInsensitive",ie.INSPECT_TOKENS="cds.internal.inspectTokens",ie))(be||{}),Rs=["db","srv","app"];var G=Symbol("file does not exist");var cn=(a=>(a.IMPORT_ARTIFACT="import-artifact",a.REMOVE_UNUSED_IMPORT="remove-unused-import",a.MAINTAIN_TRANSLATION="ma\ intain-translation",a.MIGRATE_TO_DOCCOMMENT="migrate-to-doccomment",a.MIGRATE_DEPRECATED_DELIMITER="migrate-deprecated-d\ elimiter",a.CUSTOM_ANNOTATION_QUICKFIX="custom-annotation-quickfix",a))(cn||{}),aI=["format-range","analyze-dependencies", "active-editor-changed"],lI=["@title","@description"],cI="<add text here>";var et=class i{static{s(this,"Untitled")}static isUntitledFile(e){return e.startsWith(i.UNTITLED_ROOT_URI)}static UNTITLED_ROOT_URI="\ untitled:"};var Ql=require("node:url");function ft(i){return(0,Ql.pathToFileURL)(i).toString()}s(ft,"pathToFileURL");function Tt(i){return(0,Ql.fileURLToPath)( i)}s(Tt,"fileURLToPath");var ji=s(()=>!1,"FB_FALSE"),F=s(()=>{},"FB_UNDEFINED"),Jl=s(()=>null,"FB_NULL"),pI=s(()=>lt(),"FB_EMPTY_OBJECT"),ee=s(()=>[], "FB_EMPTY_ARRAY"),uI=s(()=>"","FB_EMPTY_STRING");function A(i){return(e,t)=>{let n=s((r,o,a)=>{let l=i.errorTrace?()=>i. errorTrace(r,o,a):()=>`Caught in ${String(t.name)}: ${I.exception(r)} => (returning default value) `,c=i.fallback(r,o,a);return r instanceof sn&&(i.traceLevel=5,l=s(()=>`CANCELLED: ${r.name} => ${I.asIs(c)}`,"fn")),L(). conditionalTrace(i.traceComponent??"util",i.traceLevel??3,l),c},"onError");return s(function(...o){try{let a=e.bind(this)( ...o);return a?.then?a.catch(l=>n(l,o,this)):a}catch(a){return n(a,o,this)}},"TryCatchDecorator")}}s(A,"TryCatch");var kt="package.json";function rR(i){let e=iR(i);return Tt(e)}s(rR,"getLocalPath");function iR(i)