@sap/cds-lsp
Version:
Language server for CDS
407 lines (403 loc) • 553 kB
JavaScript
"use strict";var cg=Object.create;var Xr=Object.defineProperty;var pg=Object.getOwnPropertyDescriptor;var MA=Object.getOwnPropertyNames;var WA=Object.getPrototypeOf,BA=Object.prototype.hasOwnProperty;var dg=(o,e)=>(e=Symbol[o])?e:Symbol.for("Symbol."+o),Di=o=>{throw TypeError(o)};var ug=(o,e,t)=>e in o?Xr(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var a=(o,e)=>Xr(o,"name",{value:e,configurable:!0});var mg=(o,e)=>()=>(e||o((e={exports:{}}).exports,e),e.exports),XA=(o,e)=>{for(var t in e)Xr(o,t,{get:e[t],enumerable:!0})},
fg=(o,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of MA(e))!BA.call(o,r)&&r!==t&&Xr(o,r,{get:()=>e[r],
enumerable:!(n=pg(e,r))||n.enumerable});return o};var Q=(o,e,t)=>(t=o!=null?cg(WA(o)):{},fg(e||!o||!o.__esModule?Xr(t,"default",{value:o,enumerable:!0}):t,o)),GA=o=>fg(Xr(
{},"__esModule",{value:!0}),o);var C=o=>[,,,cg(o?.[dg("metadata")]??null)],hg=["class","method","getter","setter","accessor","field","value","get","set"],
ys=o=>o!==void 0&&typeof o!="function"?Di("Function expected"):o,VA=(o,e,t,n,r)=>({kind:hg[o],name:e,metadata:n,addInitializer:i=>t.
_?Di("Already initialized"):r.push(ys(i||null))}),S=(o,e)=>ug(e,dg("metadata"),o[3]),P=(o,e,t,n)=>{for(var r=0,i=o[e>>1],
s=i&&i.length;r<s;r++)e&1?i[r].call(t):n=i[r].call(t,n);return n},f=(o,e,t,n,r,i)=>{var s,l,c,p,d,u=e&7,m=!!(e&8),h=!!(e&
16),I=u>3?o.length+1:u?m?1:2:0,T=hg[u+5],k=u>3&&(o[I-1]=[]),A=o[I]||(o[I]=[]),R=u&&(!h&&!m&&(r=r.prototype),u<5&&(u>3||!h)&&
pg(u<4?r:{get[t](){return tr(this,i)},set[t](U){return Ts(this,i,U)}},t));u?h&&u<4&&a(i,(u>2?"set ":u>1?"get ":"")+t):a(
r,t);for(var F=n.length-1;F>=0;F--)p=VA(u,t,c={},o[3],A),u&&(p.static=m,p.private=h,d=p.access={has:h?U=>qA(r,U):U=>t in
U},u^3&&(d.get=h?U=>(u^1?tr:Yu)(U,r,u^4?i:R.get):U=>U[t]),u>2&&(d.set=h?(U,$)=>Ts(U,r,$,u^4?i:R.set):(U,$)=>U[t]=$)),l=(0,n[F])(
u?u<4?h?i:R[T]:u>4?void 0:{get:R.get,set:R.set}:r,p),c._=1,u^4||l===void 0?ys(l)&&(u>4?k.unshift(l):u?h?i=l:R[T]=l:r=l):
typeof l!="object"||l===null?Di("Object expected"):(ys(s=l.get)&&(R.get=s),ys(s=l.set)&&(R.set=s),ys(s=l.init)&&k.unshift(
s));return u||S(o,r),R&&Xr(r,t,R),h?u^4?i:R:r},b=(o,e,t)=>ug(o,typeof e!="symbol"?e+"":e,t),Ju=(o,e,t)=>e.has(o)||Di("Ca\
nnot "+t),qA=(o,e)=>Object(e)!==e?Di('Cannot use the "in" operator on this value'):o.has(e),tr=(o,e,t)=>(Ju(o,e,"read fr\
om private field"),t?t.call(o):e.get(o)),Al=(o,e,t)=>e.has(o)?Di("Cannot add the same private member more than once"):e instanceof
WeakSet?e.add(o):e.set(o,t),Ts=(o,e,t,n)=>(Ju(o,e,"write to private field"),n?n.call(o,t):e.set(o,t),t),Yu=(o,e,t)=>(Ju(
o,e,"access private method"),t);var VT=mg((qM,jm)=>{function MT(o){return Array.isArray(o)?o:[o]}a(MT,"makeArray");var rR=void 0,Vm="",UT=" ",Gm="\\",iR=/^\s+$/,
oR=/(?:[^\\]|^)\\$/,sR=/^\\!/,aR=/^\\#/,lR=/\r?\n/g,cR=/^\.*\/|^\.+$/,pR=/\/$/,fo="/",WT="node-ignore";typeof Symbol<"u"&&
(WT=Symbol.for("node-ignore"));var BT=WT,Js=a((o,e,t)=>(Object.defineProperty(o,e,{value:t}),t),"define"),dR=/([0-z])-([0-z])/g,
XT=a(()=>!1,"RETURN_FALSE"),uR=a(o=>o.replace(dR,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:Vm),"sanitizeRange"),mR=a(o=>{
let{length:e}=o;return o.slice(0,e-e%2)},"cleanRangeBackSlash"),fR=[[/^\uFEFF/,()=>Vm],[/((?:\\\\)*?)(\\?\s+)$/,(o,e,t)=>e+
(t.indexOf("\\")===0?UT:Vm)],[/(\\+?)\s/g,(o,e)=>{let{length:t}=e;return e.slice(0,t-t%2)+UT}],[/[\\$.|*+(){^]/g,o=>`\\${o}`],
[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,a(function(){
return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"},"startingReplacer")],[/\\\/\\\*\\\*(?=\\\/|$)/g,(o,e,t)=>e+6<t.length?"(?:\\/\
[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(o,e,t)=>{let n=t.replace(/\\\*/g,"[^\\/]*");return e+n}],[/\\\\\\(?=[$.|*+(){^])/g,
()=>Gm],[/\\\\/g,()=>Gm],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(o,e,t,n,r)=>e===Gm?`\\[${t}${mR(n)}${r}`:r==="]"&&n.length%2===
0?`[${uR(t)}${n}]`:"[]"],[/(?:[^*])$/,o=>/\/$/.test(o)?`${o}$`:`${o}(?=$|\\/$)`]],hR=/(^|\\\/)?\\\*$/,Ys="regex",Vc="che\
ckRegex",$T="_",gR={[Ys](o,e){return`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`},[Vc](o,e){return`${e?`${e}[^/]*`:"[^/]*"}(?=$|\
\\/$)`}},IR=a(o=>fR.reduce((e,[t,n])=>e.replace(t,n.bind(o)),o),"makeRegexPrefix"),qc=a(o=>typeof o=="string","isString"),
yR=a(o=>o&&qc(o)&&!iR.test(o)&&!oR.test(o)&&o.indexOf("#")!==0,"checkPattern"),TR=a(o=>o.split(lR).filter(Boolean),"spli\
tPattern"),qm=class{static{a(this,"IgnoreRule")}constructor(e,t,n,r,i,s){this.pattern=e,this.mark=t,this.negative=i,Js(this,
"body",n),Js(this,"ignoreCase",r),Js(this,"regexPrefix",s)}get regex(){let e=$T+Ys;return this[e]?this[e]:this._make(Ys,
e)}get checkRegex(){let e=$T+Vc;return this[e]?this[e]:this._make(Vc,e)}_make(e,t){let n=this.regexPrefix.replace(hR,gR[e]),
r=this.ignoreCase?new RegExp(n,"i"):new RegExp(n);return Js(this,t,r)}},bR=a(({pattern:o,mark:e},t)=>{let n=!1,r=o;r.indexOf(
"!")===0&&(n=!0,r=r.substr(1)),r=r.replace(sR,"!").replace(aR,"#");let i=IR(r);return new qm(o,e,r,t,n,i)},"createRule"),
Hm=class{static{a(this,"RuleManager")}constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[BT]){this._rules=
this._rules.concat(e._rules._rules),this._added=!0;return}if(qc(e)&&(e={pattern:e}),yR(e.pattern)){let t=bR(e,this._ignoreCase);
this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,MT(qc(e)?TR(e):e).forEach(this._add,this),this._added}test(e,t,n){
let r=!1,i=!1,s;this._rules.forEach(c=>{let{negative:p}=c;i===p&&r!==i||p&&!r&&!i&&!t||!c[n].test(e)||(r=!p,i=p,s=p?rR:c)});
let l={ignored:r,unignored:i};return s&&(l.rule=s),l}},xR=a((o,e)=>{throw new e(o)},"throwError"),Gn=a((o,e,t)=>qc(o)?o?
Gn.isNotRelative(o)?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"),GT=a(o=>cR.test(o),"isNotRelative");
Gn.isNotRelative=GT;Gn.convert=o=>o;var Km=class{static{a(this,"Ignore")}constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){
Js(this,BT,!0),this._rules=new Hm(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 i=e&&Gn.convert(e);return Gn(i,e,this._strictPathCheck?xR:XT),this._t(i,t,n,r)}checkIgnore(e){
if(!pR.test(e))return this.test(e);let t=e.split(fo).filter(Boolean);if(t.pop(),t.length){let n=this._t(t.join(fo)+fo,this.
_testCache,!0,t);if(n.ignored)return n}return this._rules.test(e,!1,Vc)}_t(e,t,n,r){if(e in t)return t[e];if(r||(r=e.split(
fo).filter(Boolean)),r.pop(),!r.length)return t[e]=this._rules.test(e,n,Ys);let i=this._t(r.join(fo)+fo,t,n,r);return t[e]=
i.ignored?i:this._rules.test(e,n,Ys)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.
ignores(e)}filter(e){return MT(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},zm=a(o=>new Km(
o),"factory"),kR=a(o=>Gn(o&&Gn.convert(o),o,XT),"isPathValid");if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||
process.platform==="win32")){let o=a(t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/"),"mak\
ePosix");Gn.convert=o;let e=/^[a-z]:\//i;Gn.isNotRelative=t=>e.test(t)||GT(t)}jm.exports=zm;zm.default=zm;jm.exports.isPathValid=
kR});var uh=mg(dh=>{"use strict";Object.defineProperty(dh,"__esModule",{value:!0});dh.TypedEmitter=require("events").EventEmitter});var qE={};XA(qE,{ServerStarter:()=>zu,createCdsLanguageTestServer:()=>RE,formatCli:()=>sg,lspRoot:()=>at,ruleName:()=>je});
module.exports=GA(qE);var Dn=require("node:path");var ht="";function Ll(o){return(0,Dn.isAbsolute)(o)}a(Ll,"path_isAbsolute");function J(o){return(0,Dn.dirname)(o)}a(J,"p\
ath_dirname");function N(...o){return(0,Dn.resolve)(...o)}a(N,"path_resolve");function rt(o,e){return(0,Dn.relative)(o,e)}
a(rt,"path_relative");function gg(){return process.cwd()}a(gg,"process_cwd");var HA={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 at=N(global.__lspBundleDirname??HA.dirname,"..");function Ig(o){return!!o.translationId}a(Ig,"isTranslationStringToken");function yg(o){return!!o.isUsingPath}a(yg,"isImp\
ortPathStringToken");var nr="";var Ne="/",un="\\",Rl=`
`;var Tg="'";function Gr(){return process.env.NODE_ENV!=="test"}a(Gr,"isProduction");function KA(o){return`CDS_LSP_${o}_FEATURE`}a(KA,"featureEnvName");function wi(o,e){return zA(KA(o))??e}a(wi,"isFeatureE\
nabled");function zA(o){let e=process.env[o];if(e!==void 0){if(["off","false","0"].includes(e))return!1;if(["on","true",
"1"].includes(e))return!0}}a(zA,"isEnabled");function wn(o,e,t){return o?e():t}a(wn,"fallback");var Nl=Q(require("node:async_hooks"));var Fl=class{constructor(e){this.asyncId=e}static{a(this,"ClsFrame")}},El=class{constructor(e){this.clsFactory=e;this.hook=
Nl.createHook({init:a((t,n,r,i)=>{let s=this.getFrame(r),l=this.getFrame(t,s);this.frames.set(t,l)},"init"),destroy:a(t=>{
this.frames.delete(t)},"destroy")}),this.hook.enable()}static{a(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(Nl.executionAsyncId())}};var Zu="\x1B[",em="m",bg=a(o=>Zu+o+em,"makeAnsi"),Vr=a((o,e=o+20)=>{let t=bg(o),n=bg(e);return r=>t+r+n},"makeTypo"),xg=a(
(o,e=!1)=>t=>{let l=Zu+(t+(o?30:40)+(e?60:0))+em,c=Zu+(9+(o?30:40))+em;return p=>l+p+c},"makeColorize"),jA=["black","red",
"green","khaki","blue","purple","petrol","lightgray"],QA=["darkgray","lightred","lightgreen","yellow","lightblue","magen\
ta","cyan","white"],kg=a(o=>{let e={};return jA.forEach((t,n)=>{e[t]=xg(o,!1)(n)}),QA.forEach((t,n)=>{e[t]=xg(o,!0)(n)}),
e},"makeColors"),qr=kg(!0),Sg=kg(!1),oe={fg:qr,bg:Sg,intense:Vr(1,22),dim:Vr(2),italic:Vr(3),underline:Vr(4),blink:Vr(5),
inverse:Vr(7),strikethrough:Vr(9)},Z={requestFromServer:qr.purple,responseToClient:qr.lightgreen,error:a(o=>qr.yellow(Sg.
red(o)),"error"),warn:qr.yellow,info:qr.white,success:qr.green};var JA="^>",YA="<^";function z(o=""){return`${JA}${o}${YA}`}a(z,"tagPrivateData");function Pg(o){return o.replaceAll(/\^>.*?<\^/gm,
"...")}a(Pg,"hidePrivateData");var V=(p=>(p[p.invalid=0]="invalid",p[p.OFF=1]="OFF",p[p.INFRASTRUCTURE=2]="INFRASTRUCTUR\
E",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))(V||{}),D=(F=>(F.ALL="*",F.ADAPTER="adapter",F.COMPLETION="completion",F.COMPILER="compiler",F.CONTRIBUTION=
"contribution",F.DOCUMENTATION="docs",F.FORMATTING="format",F.MODEL="model",F.MODEL_TODOS="model-todos",F.REFACTOR="refa\
ctor",F.REQUESTS="requests",F.SETTINGS="settings",F.UTIL="util",F.TELEMETRY="telemetry",F.WORKSPACE="workspace",F.FILES=
"files",F.ENV="cdsenv",F.COMMAND="command",F.CONTEXT_LOG="context-log",F))(D||{});var wl="---> ",On="<--- ";function rr(o,{errorPredicate:e=!1,warnPredicate:t=!1,infoPredicate:n=!1,successPredicate:r=!1,
debugPredicate:i=!1}){return e?Z.error(o):t?Z.warn(o):r?Z.success(o):n?Z.info(o):i?oe.fg.darkgray(o):o}a(rr,"highlight");
var bs=class{constructor(e=!1){this.warnPrinted=e}static{a(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()}},Dl=class{constructor(e=new bs){this._tracer=e}static{a(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}},Oi=class{static{a(
this,"UnsupportedValue")}constructor(e){}};var Ol=class{static{a(this,"SymbolData")}},tm=class extends Ol{static{a(this,"LspClsAppScope")}trace=new Dl;statistics=new class extends Map{static{
a(this,"Statistics")}report(t){let n={type:"statistics",trigger:t,...[...this.entries()].reduce((r,[i,[s,l]])=>{let c=`${i}\
.average`;return r[c]=Math.round(s/l),r[`${i}.total`]=s,r},{})};return this.clear(),n}}},_l=class extends Ol{constructor(t,n){
super();this.name=t;this.requestNumber=n}static{a(this,"LspClsRequestScope")}snapshots=new Map},xs=class{static{a(this,"\
LspClsFrameScope")}indentLevel=0;constructor(e=0){this.indentLevel=e}isTraceEnabled(){return this.indentLevel>=0}},Ul=class extends Fl{constructor(t,n,r,i){
super(t);this.appScope=n;this.frameScope=i,this.requestScope=r}static{a(this,"LspClsFrame")}requestScope;frameScope},nm=class{static{
a(this,"LspFrameFactory")}appScope=new tm;createFrame(e,t){return t?t.frameScope.isTraceEnabled()?new Ul(e,t.appScope,t.
requestScope,new xs(t.frameScope.indentLevel)):t:new Ul(e,this.appScope,new _l("<fromScratch>",-e),new xs)}},ZA=new nm,eL=new El(
ZA),G=a(()=>eL.currentFrame(),"currentFrame");function L(){return G().appScope.trace}a(L,"currentTrace");function rm(o){
return G().appScope[o]}a(rm,"current");function im(o,e){G().appScope[o]=e}a(im,"initCurrent");var Cg=1,_i=a((o,e=Cg)=>{Cg++;
let t=G(),n=t.requestScope;return t.requestScope=new _l(o,e),t.frameScope=new xs,n},"startRequestScope");function vg(o){
return()=>{let e=G();e.requestScope=o}}a(vg,"endRequestScope");var ve=require("node:fs"),sm=require("node:os"),wg=require("node:path");var $l=require("node:path"),Ui=require("node:util"),Ve=Q(require("vscode-languageserver-protocol"));function Ag(o){switch(o){case Ve.DocumentHighlightKind.Text:return"text";case Ve.DocumentHighlightKind.Read:return"read";case Ve.DocumentHighlightKind.
Write:return"writ";default:return Z.error(`[E] <unknown kind> ${o}`)}}a(Ag,"renderKind");function ks(o,e=70){return JSON.
stringify(o.length<=e?o:`${o.slice(0,e-3)}...`)}a(ks,"shorten");function Lg(o){if(Ve.MarkupContent.is(o))return`${o.kind}\
: ${ks(o.value)}`;let e=a(t=>typeof t=="string"?ks(t):`[${t.language}] ${ks(t.value)}`,"renderMarkedString");return Array.
isArray(o)?ze(o.map(e)):e(o)}a(Lg,"renderContents");function tL(o){return!!o?.range}a(tL,"isIncremental");var nL={[Ve.FileChangeType.
Created]:"Created",[Ve.FileChangeType.Deleted]:"Deleted",[Ve.FileChangeType.Changed]:"Changed"};function Rg(o){if(o!==void 0)
switch(o){case Ve.DiagnosticSeverity.Error:return"Error";case Ve.DiagnosticSeverity.Warning:return"Warn";case Ve.DiagnosticSeverity.
Information:return"Info";case Ve.DiagnosticSeverity.Hint:return"Hint"}return"?"}a(Rg,"renderSeverity");function rL(o=""){
return e=>Dg(e,o)}a(rL,"makeRenderLocation");function Fg(o){let e="";return o?.documentation&&(e=Ve.MarkupContent.is(o.documentation)?
o.documentation.value:o.documentation),`${o?.data?.providerName??Z.warn("UnknownProvider")}: <${o.kind}> ${o.label} [${o.
commitCharacters||""}] ${ks(e)}`}a(Fg,"renderCompletionItem");function Eg(o,e=[]){let t={};for(let r of e){let i=r.lastIndexOf(
o)+1,s=r.slice(0,i),l=r.slice(i);(t[s]??=[]).push(l)}let n="";for(let r of Object.keys(t).sort()){let i=t[r];if(i.length===
1)n+=`
${r}${i[0]}`;else{let l=i.reduce((d,u)=>Math.max(d,u.length),0)+2,c=Math.floor(120/l);n+=`
${r}
`;let p=0;i.sort();for(let d of i)n+=`${d.padEnd(l)}${++p%c===0?`
`:""}`}}return n}a(Eg,"renderPaths");function ze(o,e=""){return o?o.length?`${o.reduce((t,n)=>`${t}
${e} ${n}`,"[")}
${e}]`:"[]":""}a(ze,"arr");var Ng=(K=>(K[K.File=1]="File",K[K.Module=2]="Module",K[K.Namespace=3]="Namespace",K[K.Package=
4]="Package",K[K.Class=5]="Class",K[K.Method=6]="Method",K[K.Property=7]="Property",K[K.Field=8]="Field",K[K.Constructor=
9]="Constructor",K[K.Enum=10]="Enum",K[K.Interface=11]="Interface",K[K.Function=12]="Function",K[K.Variable=13]="Variabl\
e",K[K.Constant=14]="Constant",K[K.String=15]="String",K[K.Number=16]="Number",K[K.Boolean=17]="Boolean",K[K.Array=18]="\
Array",K[K.Object=19]="Object",K[K.Key=20]="Key",K[K.Null=21]="Null",K[K.EnumMember=22]="EnumMember",K[K.Struct=23]="Str\
uct",K[K.Event=24]="Event",K[K.Operator=25]="Operator",K[K.TypeParameter=26]="TypeParameter",K))(Ng||{});function om(o,e=""){
return(e?"":`
`)+o.map(t=>sL(t,e)).join(`
`)+(e?"":`
`)}a(om,"docSymbolsToString");function iL(o){let e=o.map(n=>(0,Ui.inspect)(n,{compact:!0,maxStringLength:200,breakLength:200})),
t=e.reduce((n,r)=>n+r.length,0)>200;return e.join(t?`,
`:", ")}a(iL,"renderArgs");var g={array:a(o=>g.asIs(o),"array"),asIs:a(o=>(0,Ui.inspect)(o,{depth:null,compact:!1}),"asI\
s"),args:iL,changeTextDoc:a(o=>`${o.textDocument.uri}#${o.textDocument.version} ${ze(o.contentChanges.map(cL))}`,"change\
TextDoc"),changeWatched:a(o=>ze(o.changes.map(e=>`${nL[e.type]||e.type} ${e.uri})`)),"changeWatched"),codeAction:a(o=>`${o.
textDocument.uri} ${g.range(o.range)}`,"codeAction"),codeActions:a(o=>ze(o.map(e=>`${e.title}: ${e.command?.command}(${g.
asIs(e.data)})`)),"codeActions"),codeLens:a(o=>ze(o.map(e=>`${e.command?.title}`)),"codeLens"),completionItem:Fg,completionList:a(
o=>`${o.isIncomplete?"incomplete":""} ${ze(o.items.map(Fg))}`,"completionList"),contents:Lg,diags:a(o=>g.diagsWithIndent(
o),"diags"),diagsWithIndent:a((o,e="")=>ze(o.map(t=>`${Rg(t.severity)} ${g.range(t.range)}: ${t.message}`),e),"diagsWith\
Indent"),docClosed:a(o=>o.textDocument.uri,"docClosed"),docHighlight:a(o=>`${Ag(o.kind)}: ${g.range(o.range)}`,"docHighl\
ight"),docHighlights:a(o=>ze(o.map(g.docHighlight)),"docHighlights"),docOpened:a(o=>`${o.textDocument.uri}#${o.textDocument.
version} ${ks(o.textDocument.text,30)}`,"docOpened"),docSaved:a(o=>`${o.textDocument.uri}`,"docSaved"),docSymbolParams:a(
o=>o.textDocument.uri,"docSymbolParams"),docSymbolResult:aL,docSymbols:a(o=>om(o),"docSymbols"),documentLink:a(o=>`${o.data}\
@${g.pos(o.range.start)} -> ${o.target}`,"documentLink"),documentLinkParams:a(o=>`${o.textDocument.uri}`,"documentLinkPa\
rams"),documentLinks:a(o=>ze(o.map(g.documentLink)),"documentLinks"),execCmd:a(o=>`(${JSON.stringify(o.arguments)})`,"ex\
ecCmd"),exception:a(o=>oL(o)&&o.stack?o.stack:(0,Ui.inspect)(o),"exception"),hov:a(o=>o?`${o.range?g.range(o.range):""}:\
${Lg(o?.contents)}`:"","hov"),kind:Ag,location:Dg,locations:a(o=>ze(o.map(rL())),"locations"),localPaths:a((o=[])=>Eg($l.sep,
o),"localPaths"),map:a(o=>[...o.entries()].map(([e,t])=>`${e}:
${(0,Ui.inspect)(t)}`).join(`
`),"map"),nothing:a(()=>"","nothing"),pos:a(o=>`[${o.line}:${o.character}]`,"pos"),range:a(o=>`[${o.start.line}:${o.start.
character}-${o.end.line}:${o.end.character}]`,"range"),ref:a(o=>`${o.textDocument.uri} ${g.pos(o.position)} ${o.context.
includeDeclaration?"withDecl":""}`,"ref"),result:a(o=>(0,Ui.inspect)(o,{compact:!0,maxStringLength:200,breakLength:200}),
"result"),severity:Rg,symbolInfos:a(o=>ze(o.map(e=>`${g.range(e.location.range).padEnd(14)} ${`${e.kind}`.padStart(2)} ${e.
name.padEnd(20)} (${e.containerName||"/"})`)),"symbolInfos"),symbolInfos_Uri:pL,symbolKind:a(o=>Ng[o]??"<unknown symbol \
kind>","symbolKind"),textEdits:a(o=>`${ze(o.map(e=>`'${e.newText.replaceAll(Rl,`${un}n`)}'${g.range(e.range)}`))}`,"text\
Edits"),textPos:a(o=>`${o.textDocument.uri} ${g.pos(o.position)}`,"textPos"),uris:a((o=[])=>Eg(Ne,o),"uris"),wsSymbol:a(
o=>o.query,"wsSymbol"),direntsOrStrings:a(o=>o.length?typeof o[0]=="string"?ze(o):g.dirEnts(o):"[]","direntsOrStrings"),
dirEnts:a(o=>ze(o.map(g.dirEnt)),"dirEnts"),dirEnt:a(o=>`${g.dirEntType(o)} ${o.name}`,"dirEnt"),dirEntType(o){return o.
isFile()?"-":o.isDirectory()?"d":o.isSymbolicLink()?"l":o.isFIFO()?"p":o.isSocket()?"s":o.isBlockDevice()?"b":o.isCharacterDevice()?
"c":"?"},stats:a(o=>o?`${g.dirEntType(o)} ${o.mode.toString(8)} ${new Date(o.mtimeMs).toISOString()} ${o.size} bytes`:"<\
undefined>","stats"),content:a(o=>`"${o.slice(0,10)}${o.length>10?`..." (${o.length} bytes)`:'"'}`,"content")};function oL(o){
return!!o?.stack}a(oL,"isError");function sL(o,e){return`${e}${g.symbolKind(o.kind)} ${o.name} ${g.range(o.selectionRange)}\
${g.range(o.range)}${o.detail?` "${o.detail}"`:""}${o.children?.length?`
${om(o.children,`${e} `)}`:""}`}a(sL,"docSymbolToString");function aL(o){return o?.length?Ve.DocumentSymbol.is(o[0])?om(
o):g.symbolInfos(o):g.asIs(o)}a(aL,"renderDocSymbolResult");function lL(o){return o!==void 0?o:""}a(lL,"renderExists");function cL(o){
return`${tL(o)?g.range(o.range):""} ${lL(o?.rangeLength)}`}a(cL,"renderTextDocConChEv");function Dg(o,e=""){let t=a(n=>e.
length?(0,$l.relative)(e,n):n,"relPath");return Ve.LocationLink.is(o)?`${t(o.targetUri)}${g.range(o.targetSelectionRange)}\
in ${g.range(o.targetRange)}`:`${t(o.uri)}${g.range(o.range)}`}a(Dg,"renderLocation");function ir(o,e,t=`${e}s`){return o===
1?e:t}a(ir,"numerus");function pL(o,e){if(e<7){let t=o||[],n=t.reduce((r,i)=>r.add(i.location.uri),new Set);return`${t.length}\
symbols from ${n.size} ${ir(n.size,"file")}`}return ze(o.map(t=>`${`${t.kind}`.padStart(2)} ${`(${t.containerName||"/"}\
)`.padEnd(40)} ${t.name.padEnd(20)} ${g.range(t.location.range).padEnd(14)} ${t.location.uri}`))}a(pL,"renderSymbolInfos\
_Uri");function ke(o){return typeof o[0]=="string"?o[0]:g.asIs(o[0])}a(ke,"firstArg");function lt(o){return e=>{try{let t=o.
split("."),n=t.shift(),r=e[Number(n)];for(let i=t.shift();i!==void 0;i=t.shift())r=r?.[i];return typeof r=="string"?r:g.
asIs(r)}catch(t){return`? ${t}`}}}a(lt,"specificArg");var dL=1,Ml=class o{static{a(this,"LogFile")}_folder;fileDescriptor=0;_filePath;logId;constructor(e=`${process.pid}_${dL++}`,t=""){
let n=t+e;this.logId=n,this._folder=this.defaultFolder(),this._filePath=this.logFilePath(n),this.createFile()}createFile(){
try{this.fileDescriptor=(0,ve.openSync)(this._filePath,"w+",511),this.appendRaw(`#!/usr/bin/env less -f -R
`),this.appendRaw(`${Z.requestFromServer("---------- opened trace file")}
`),this.appendRaw(`${Z.responseToClient(new Date().toISOString())}
`)}catch(e){this.logError(e)}}defaultFolder(){return N((0,sm.tmpdir)(),"cdxlsp")}get folder(){return o.ensureFolderExists(
this._folder)}set folder(e){e&&(this._folder=e)}static ensureFolderExists(e){return(0,ve.existsSync)(e)||(0,ve.mkdirSync)(
e,{recursive:!0}),e}get filePath(){return this._filePath}logError(e){console.error(g.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,ve.closeSync)(this.fileDescriptor),this.deleteOrphanedLogFiles(),J(this._filePath)===J(t)?(0,ve.renameSync)(this.
_filePath,t):((0,ve.copyFileSync)(this._filePath,t),(0,ve.unlinkSync)(this._filePath)),this._filePath=t,this.fileDescriptor=
(0,ve.openSync)(this._filePath,"a+"))}catch(t){this.logError(t)}}deleteOrphanedLogFiles(){}logFilePath(e){let t=`${e.replaceAll(
/[:/\\]/g,"_")}.log`;return uL(()=>N(this.folder,t),N((0,sm.tmpdir)(),`cdxlsp_${t}`))}append(e){this.appendRaw(`${e}
`)}appendRaw(e){try{(0,ve.appendFileSync)(this.fileDescriptor,e)}catch{}}close(){this.appendRaw(`
---------- closing trace file
`),(0,ve.closeSync)(this.fileDescriptor),this.fileDescriptor=0}},$i=class o extends Ml{static{a(this,"RotationLogFile")}static DEFAULT_MAX_FILE_SIZE=1e7;static DEFAULT_NUMBER_OF_FILES=3;_maxFileSize=o.
DEFAULT_MAX_FILE_SIZE;_numberOfFiles=o.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,ve.closeSync)(this.fileDescriptor),this.fileDescriptor=(0,ve.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,wg.basename)(e),n=J(e);return(0,ve.readdirSync)(
n).filter(r=>r.match(t)).map(r=>N(n,r))}renameAndUnlinkOrphanedFile(e){let t=J(e);if((0,ve.statSync)(e).isFile()){let r=N(
t,`orphaned-${Math.floor(Math.random()*1e4)}`);(0,ve.renameSync)(e,r),(0,ve.unlinkSync)(r)}else this.appendRaw(`Orphaned\
but not a file: ${e}`)}},Wl=class extends Ml{static{a(this,"ContextLogFile")}get enabled(){return Gr()}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(o,e){try{return o()}catch{return e}}a(uL,"tryCatch");function Mi(o){return Object.entries(o??{})}a(Mi,"entries");function Bl(o){return Object.entries(o??{})}a(Bl,"entries2");
function vt(o){return JSON.parse(o)}a(vt,"parseJson");function Xl(o){return mL(o)}a(Xl,"calculateHashDigest");function mL(o){
let e=5381,t=2166136261,n=o.length;for(;n;){let r=o.charCodeAt(--n);e=e*33^r,t=(t^r)*16777619}return`${e>>>0}/${t>>>0}`}
a(mL,"hash");var Vl=require("node:util");var Ps=1024*1024,Og=1e3*1e3;function _g(o){return Math.abs(o)>=Ps?`${Math.round(o/Ps)}~M`:`${Math.round(o/1024)}~K`}a(_g,
"memoryUnit");var Ss=[{unit:"ns",factor:1n},{unit:"us",factor:BigInt(1e3)},{unit:oe.fg.yellow("ms"),factor:BigInt(1e6)},
{unit:oe.fg.lightred("s"),factor:BigInt(1e9)},{unit:oe.fg.lightred("min"),factor:BigInt(6e10)}];function am(o){let e=a(()=>{
let i=Ss.findIndex((l,c)=>{let p=Ss[c+1];return p?o<2n*p.factor:!0}),s=i===Ss.length-1;return[Ss[i],s?Ss[i-1]:void 0]},"\
getScales"),[t,n]=e(),r=`${o/t.factor} ${t.unit}`;return n&&(r+=` ${o%t.factor/n.factor} ${n.unit}`),rr(r,{errorPredicate:o>
1e3*Og,warnPredicate:o>200*Og,successPredicate:o<0})}a(am,"renderElapsedNanos");var Ug=a(()=>global.gc?.call(global,!0),
"gc"),Wi=class{static{a(this,"Stopwatch")}startTime;startMemory;constructor(e=!1){e&&(Ug(),this.startMemory=process.memoryUsage()),
this.startTime=process.hrtime.bigint()}get elapsedNanos(){return process.hrtime.bigint()-this.startTime}get elapsed(){return this.
elapsedMemory()+am(this.elapsedNanos)}elapsedMemory(){if(!this.startMemory)return"";Ug();let e=process.memoryUsage(),t=a(
(n,r=!0)=>{let i=e[n],s=r?"":this.diffMemory(i-this.startMemory[n]),l=rr(_g(i),{errorPredicate:i>200*Ps,warnPredicate:i>
100*Ps});return`${n}${s}=${l} `},"diff");return`${t("rss")}${t("external")}${t("heapUsed",!1)}`}diffMemory(e){if(e!==0){
let t=_g(e);return rr((e>0?"+":"")+t,{errorPredicate:e>20*Ps,successPredicate:e<0})}return""}};function $g(o){return new Promise(
e=>setTimeout(e,o))}a($g,"sleep");function fL(o){return(e,t,n)=>{try{let r=o(e,t,n);return typeof r=="string"?r:(0,Vl.inspect)(r)}catch(r){let i=r;return Z.
error(`[E] argument rendering failed with: ${i.message}
${g.args(e)}`)}}}a(fL,"SafeArgs");function hL(o){return(e,t,n,r)=>{try{let i=o(e,t,n,r);return typeof i=="string"?i:(0,Vl.inspect)(
i)}catch(i){let s=i;return Z.error(`[E] result rendering failed with: ${s.message}
${g.result(e)}`)}}}a(hL,"SafeResult");var Gl=class extends bs{constructor(t,n){super();this.component=t;this.tracerAdapter=
n}static{a(this,"Tracer")}isTracing(t){return this.tracerAdapter.traceLevel(this.component)>=t}footprint(t,n,r,i){let s="\
<unknown>",l=i.startScope||i.scope||s,c=i.endScope||i.scope||s;i.onlyTraceEndIfTakesLongerMs&&(i.onlyTraceEnd=!0);let p=this.
tracerAdapter.traceLevel(this.component),d=i.traceLevel??5,u=p>=d,m=p>=6,h=hL(i.resultRenderer??g.result),I=fL(i.argumentsRenderer??
(m?g.args:g.nothing)),T=new Wi(i.trackMemory),k=this.tracerAdapter.indentLevel,A=a(()=>{G().frameScope.indentLevel=k},"r\
ebaseIndent"),R=this;function F($,ne){if(A(),u&&!i.onlyTraceStart){let ie=T.elapsedNanos;i.onlyTraceEndIfTakesLongerMs?i.
onlyTraceEndIfTakesLongerMs*1e6<ie&&R.conditionalTrace(d,()=>`}${ne?"~":""} ${c} [${Z.warn(T.elapsed)}] ${m?`(${I(r,t,d)}\
)`:""}${m?` => ${h($,r,t,p)}`:""}`):R.conditionalTrace(d,()=>`}${ne?"~":""} ${c} [${T.elapsed}] ${m?` => ${h($,r,t,p)}`:
""}`)}return $}a(F,"onSuccess");function U($,ne){throw A(),R.error(()=>`}${ne?"~":""} [E] ${c} [${T.elapsed}] => ${(0,Vl.inspect)(
$)}`),$}a(U,"onError");try{u&&!i.onlyTraceEnd&&this.conditionalTrace(d,()=>`${l} ${m?`(${I(r,t,d)})`:""} {`),this.tracerAdapter.
increaseIndent();let $=n(...r),ne=$;return ne?.then?(A(),ne.then(ie=>F(ie,!0)).catch(ie=>U(ie,!0))):F($,!1)}catch($){return U(
$,!1)}}conditionalTrace(t,n){this.tracerAdapter.conditionalTrace(this.component,t,n)}};var gL=Object.keys(D).reduce((o,e)=>Math.max(o,e.length),0),Mg={},IL=a(o=>Mg[o]??(Mg[o]="".padEnd(o*3)),"paddingFor"),yL={
1:"[-]",2:oe.fg.magenta("[:]"),3:Z.error("[E]"),4:Z.warn("[w]"),5:Z.info(" | "),6:" : ",7:oe.fg.darkgray(" . ")},Bi=class o{static{
a(this,"LspTrace")}logFile;extendedStatsLogFile;onError;traceComponents=new Map([["*",6]]);constructor(){this.logFile=new $i,
this.extendedStatsLogFile=new Wl;let e=TL();this.configureRotation(e.maxSize,e.count),this.configureTraceComponents([...lm().
entries()].map(([t,n])=>({name:t,level:n})))}get indentLevel(){return G().frameScope.indentLevel}increaseIndent(){let e=G().
frameScope;e.isTraceEnabled()&&(e.indentLevel+=1)}decreaseIndent(){let e=G().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)}_${Xl(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 i of e){let s=i.name;s==="*"&&t.clear(),t.set(s,o.toTraceLevel(i.level))}if(Math.max(n,this.traceLevel(
"util"))>=2){this.doTrace(2,"util",()=>"New trace component configuration: ");for(let[i,s]of t.entries())this.doTrace(2,
"util",()=>` ${i} = ${V[s]}`)}}}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 Gl(e,this),this.tracers.set(e,t)),t}async noTraceDuring(e){return a(async()=>{let{indentLevel:n}=G().frameScope;try{
return G().frameScope.indentLevel=-1,await e()}finally{G().frameScope.indentLevel=n}},"wrapper")()}conditionalTrace(e,t,n){
t===3&&this.onError?.(this.renderMessage(t,e,n)),!(this.traceLevel(e)<t||!G().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(),i=this.traceLevel(
"requests")>=6,s=a(T=>{let k=T%1e3,A=Math.floor(T/1e3),R=A%60,F=Math.floor(A/60),U=F%60,$=Math.floor(F/60),ne=$?`${$}:`:
" ",ie=$||U?`${String(U).padStart(2,"0")}:`:" ",ye=String(R).padStart(2,$||U?"0":" ");return`${ne}${ie}${ye}.${String(
k).padStart(3,"0")}`},"millisToTime"),l=0,c=a(()=>{let T=Date.now(),k=T-this.lastTimeTraced;this.lastTimeTraced=T;let A=s(
T-this.startTime);if(l=A.length,t==="requests"){if(r.startsWith(wl))return Z.requestFromServer(A);if(r.includes(On))return Z.
responseToClient(A)}return rr(A,{errorPredicate:k>5e3})},"colorizedTime"),p=0;function d(){let T=`{${t}}`.padEnd(gL+2),k=31,
{name:A,requestNumber:R=-1,snapshots:F}=G().requestScope,U="";if(i&&F){let ie=[];for(let ye of F.values())ye.constructor.
name!=="NonScanningWorkspaceSnapshot"&&ie.push(ye.workspaceVersion);U=`/${ie.join(",")}`}let $=rr(A.padEnd(k),{warnPredicate:A.
startsWith("@")}),ne=`${R}${U}`.padStart(i?11:5);return p=6+ne.length+$.length+T.length,`${ne}:${$} ${yL[e]??"???"} ${T}`}
a(d,"colorizedContext");let u=IL(this.indentLevel),m=`${c()} ${d()} ${u}`,h=2+l+p+u.length;function I(){let T=r;if(T.includes(
`
`)){let k=" ".repeat(h),A=a((R,F,U)=>`${R}${U>0?k:""}${F}
`,"appendIndented");T=T.split(/\r?\n/g).reduce(A,"")}return rr(T,{errorPredicate:e===3,warnPredicate:e===4,infoPredicate:e===
5,debugPredicate:e===7})}return a(I,"colorizedMessage"),`${m}${I()}`}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 lm(){return(process.
env.CDS_LSP_TRACE_COMPONENTS??"").split(",").filter(e=>e.trim()).reduce((e,t)=>{let[n,r]=t.split(":").map(i=>i.trim());return n===
"*"&&e.clear(),e.set(n,r),e},new Map)}a(lm,"getRawTraceComponents");function TL(){return{count:Wg(process.env.CDS_LSP_TRACE_FILES_COUNT??
"",1,10,$i.DEFAULT_NUMBER_OF_FILES),maxSize:Wg(process.env.CDS_LSP_TRACE_FILES_MAXSIZE??"",1e7,1e8,$i.DEFAULT_MAX_FILE_SIZE)}}
a(TL,"getTraceFilesConfig");function Wg(o,e,t,n){return Math.max(Math.min(Number.parseInt(o,10)||n,t),e)}a(Wg,"canonical\
izeNumber");function y(o,e={}){let t=Gr();return(n,r)=>{if(!cm.isTracing(o,e.traceLevel??5))return n;e.scope||=r.name;let i,s=a(()=>(t&&
i||(i=L().tracer(o)),i),"getTracer");return a(function(...c){return s().footprint(this,n.bind(this),c,e)},"FootprintDeco\
rator")}}a(y,"Footprint");var cm=class o{static{a(this,"ConfiguredTraceComponents")}static _rawTraceComponents;static get rawTraceComponents(){
return o._rawTraceComponents||(o._rawTraceComponents=lm()),o._rawTraceComponents}static isTracing(e,t){let n=o.rawTraceComponents.
get(e)??o.rawTraceComponents.get("*")??"off";return Bi.toTraceLevel(n)>=t}};function De(o){o?.catch(e=>{})}a(De,"safeTriggerAsync");var Vg=require("node:path"),q=Q(require("vscode-languageserver-protocol"));function Hr(o,e,t,n=0,r=o.length-1){if(n>r)return;let i=Math.floor((n+r)/2),s=t(o[i],e);return s===0?o[i]:s>0?Hr(o,e,t,n,
i-1):Hr(o,e,t,i+1,r)}a(Hr,"binSearch");function Le(o){return o?Array.isArray(o)?o:[o]:[]}a(Le,"flatten");function Xi(o,e,t){
return o[e]===void 0&&(o[e]=t()),o[e]}a(Xi,"getOrCreate");function w(o,e){return o??e}a(w,"ensure");var Bg=new Set,Xg=a(o=>Xi(o,"__CACHES",()=>new Map),"cachesFor"),ql=a((o,e)=>{let t=Xg(o),n=t.get(e);return n||(n=new Map,
t.set(e,n),Bg.add(n)),n},"cacheFor");function X(o={}){return o.key||=e=>e[0],o.doNotCacheUndefined||=!1,(e,t)=>a(function(...r){
let i=ql(this,String(t.name)),s=o.key(r);if(!i.has(s)){let l=e.call(this,...r);(l!==void 0||!o.doNotCacheUndefined)&&i.set(
s,l)}return i.get(s)},"CacheDecorator")}a(X,"Cache");X.clear=(o,e)=>{if(o)e?ql(o,e).clear():Xg(o).clear();else{if(e)throw new Error(
`Clearing method cache '${e}' requires an instance`);for(let t of Bg)t.clear()}};X.set=(o,e,t,n)=>{ql(o,e).set(t,n)};X.get=
(o,e,t)=>ql(o,e).get(t);function bL(o){return(0,Vg.extname)(o)!==".cds"}a(bL,"isCsn");var xL=a(()=>({start:{line:0,character:0},end:{line:0,character:0}}),
"csnFallbackLocation"),Zt=class{static{a(this,"RangeAdapter")}static adapt(e){return bL(e.file)?xL():{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 or(o){return Zt.
adapt(o)}a(or,"adaptRange");function um(o){return dm.adapt(o)}a(um,"adaptCompletionKind");var kL=new Map([["context",q.CompletionItemKind.
Unit],["element",q.CompletionItemKind.Field],["entity",q.CompletionItemKind.Class],["namespace",q.CompletionItemKind.Module],
["source",q.CompletionItemKind.File],["type",q.CompletionItemKind.Interface]]),dm=class{static{a(this,"CompletionKindAda\
pter")}static adapt(e){return kL.get(e)??q.CompletionItemKind.Variable}},_n=class{static{a(this,"SeverityAdapter")}static adapt(e){
switch(e){case"Error":return q.DiagnosticSeverity.Error;case"Warning":return q.DiagnosticSeverity.Warning;case"Info":return q.DiagnosticSeverity.
Information;default:return q.DiagnosticSeverity.Hint}}};function we(){return Object.create(null)}a(we,"empty");var SL=new Map(
[["action",q.SymbolKind.Function],["aspect",q.SymbolKind.Constructor],["context",q.SymbolKind.Package],["element",q.SymbolKind.
Field],["entity",q.SymbolKind.Class],["enum",q.SymbolKind.EnumMember],["event",q.SymbolKind.Event],["function",q.SymbolKind.
Function],["mixin",q.SymbolKind.Field],["namespace",q.SymbolKind.Namespace],["param",q.SymbolKind.Variable],["qualifiedA\
nnotation",q.SymbolKind.Property],["type",q.SymbolKind.Interface],["using",q.SymbolKind.Module],["service",q.SymbolKind.
Object],["view",q.SymbolKind.Class]]);function sr(o,e){let t=e||o,n=SL.get(t);return n||L().tracer("adapter").warn(()=>`\
unknown adaptSymbolKind(${t})`),n??q.SymbolKind.String}a(sr,"adaptSymbolKind");var PL=new Map([[q.SymbolKind.Module,q.CompletionItemKind.
Module],[q.SymbolKind.Namespace,q.CompletionItemKind.Unit],[q.SymbolKind.Package,q.CompletionItemKind.Unit],[q.SymbolKind.
Class,q.CompletionItemKind.Class],[q.SymbolKind.Field,q.CompletionItemKind.Field],[q.SymbolKind.Interface,q.CompletionItemKind.
Interface],[q.SymbolKind.Function,q.CompletionItemKind.Function],[q.SymbolKind.Variable,q.CompletionItemKind.Variable],[
q.SymbolKind.Object,q.CompletionItemKind.Method],[q.SymbolKind.EnumMember,q.CompletionItemKind.EnumMember],[q.SymbolKind.
Event,q.CompletionItemKind.Event],[q.SymbolKind.TypeParameter,q.CompletionItemKind.TypeParameter],[q.SymbolKind.String,q.CompletionItemKind.
Text]]);function qg(o){return PL.get(o)??q.CompletionItemKind.Text}a(qg,"toCompletionKind");function Hg(o,e){if(!(o instanceof
e))throw new TypeError}a(Hg,"assertsType");var Gg,pm;Gg=[X()];var Cs=class Cs{constructor(){P(pm,5,this)}isWindows(){return process.
platform.startsWith("win")}};pm=C(null),f(pm,1,"isWindows",Gg,Cs),S(pm,Cs),a(Cs,"PlatformTester");var Hl=Cs;function CL(o){
return o.toLowerCase()===o?o.toUpperCase():o.toLowerCase()}a(CL,"toggleCase");function Kl(o){return CL(o[0])+o.slice(1)}
a(Kl,"toggleDriveLetter");var Ql=Q(require("node:child_process"));var jl=class extends Error{constructor(t,n){let r=wn(n.exitCode!==0,()=>`
<exit code:>
${n.exitCode}`,""),i=wn(n.stdout,()=>`
<stdout:>
${n.stdout}`,""),s=wn(n.stderr,()=>`
<stderr:>
${n.stderr}`,"");super(t+r+i+s);this.result=n}static{a(this,"CliError")}},Kg,zg,zl;zg=[y("util",{argumentsRenderer:a(e=>`\
<<${++At._currentlyRunning}>> ${g.args(e)}`,"argumentsRenderer"),resultRenderer:a((e,t)=>`<<${--At._currentlyRunning}>> ${g.
args(t)} => ${g.result(e)}`,"resultRenderer")})],Kg=[y("util",{argumentsRenderer:a(e=>`<<${++At._currentlyRunning}>> ${g.
args(e)}`,"argumentsRenderer"),resultRenderer:a((e,t)=>`<<${--At._currentlyRunning}>> ${g.args(t)} => ${g.result(e)}`,"r\
esultRenderer")})];var At=class At{constructor(){}static streamIntoResult(e,t,n,r="utf8"){return new Promise((i,s)=>{e.setEncoding(
r),e.on("data",l=>{t[n]+=l}),e.on("end",()=>i(t[n])),e.on("error",s)})}static async run(e,t,n={failIfNonZeroExit:!0}){n.
shell=!0;let r=Ql.spawn(e,t,n);r.stdin.end();let i={stdout:"",stderr:"",exitCode:1},s=a(()=>{i.stdout=i.stdout.trim(),i.
stderr=i.stderr.trim()},"trimResult"),l=At.streamIntoResult(r.stdout,i,"stdout"),c=At.streamIntoResult(r.stderr,i,"stder\
r"),p=new Promise((d,u)=>{r.on("error",u),r.on("close",(m,h)=>{s(),i.exitCode=h??m,h||m!==0&&n.failIfNonZeroExit?u(new jl(
`Failed: ${e} ${t.join(" ")}`,i)):d(i)})});return await Promise.allSettled([l,c,p]),p}static runSync(e,t,n={encoding:"ut\
f8"}){n.shell=!0,n.encoding="utf8";let r=Ql.spawnSync(e,t,n),i={stdout:"",stderr:"",exitCode:1};if(i.stdout=r.stdout.trim(),
i.stderr=r.stderr.trim(),i.exitCode=r.signal??r.status??0,r.error)throw r.error;if(r.signal||r.status!==0&&n.failIfNonZeroExit)
throw new jl(`Failed: ${e} ${z(t.join(" "))}`,i);return i}};zl=C(null),f(zl,9,"run",zg,At),f(zl,9,"runSync",Kg,At),S(zl,
At),P(zl,3,At),a(At,"CLI"),b(At,"_currentlyRunning",0);var mn=At;var HD=Symbol("_originalClass");function jg(o,e){let t=[];for(let n of o)e(n)&&t.push(n);return t}a(jg,"filter");function Kr(o,e){let t=o.uri.localeCompare(e.uri);return t!==0?Math.sign(t):(t=Oe(o.range.start,e.range.start),t!==0?t:Oe(
o.range.end,e.range.end))}a(Kr,"compareLocations");function Oe(o,e){let t=o.line-e.line;return Math.sign(t!==0?t:o.character-
e.character)}a(Oe,"comparePosition");function Gi(o,e){let t=Oe(o.start,e);return t>0?1:t===0?0:Oe(o.end,e)<0?-1:0}a(Gi,"\
compareRange");function Jl(o,e){return(t,n)=>wi(o,e)?t:()=>{}}a(Jl,"Conditional");var Qg=Symbol("languageServer"),Jg=Symbol("factory");function se(){return rm(Qg)}a(se,"currentLanguageServer");function Yg(o){
im(Qg,o)}a(Yg,"initLanguageServer");function O(){return rm(Jg)}a(O,"currentFactory");function vL(o){im(Jg,o)}a(vL,"initF\
actory");var Vi=a(o=>{vL(o),G().appScope.trace=o.getTrace()},"startAppScope");var ar=require("node:fs"),eI=require("node:os"),fm=require("node:util");var Zg,mm;Zg=[y("util",{scope:"installEmergencyHooks"})];var vs=class vs{constructor(e=L()){this.trace=e;P(mm,5,this);b(
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: ${g.exception(e)}`)}onUnhandledRejection(e,t){this.trace.conditionalTrace("util",3,()=>`Unhandled Rejection \
at: ${(0,fm.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,fm.inspect)(process)}
`;this.trace.doTraceToFile(t);let n=N((0,eI.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}
`))}};mm=C(null),f(mm,1,"install",Zg,vs),S(mm,vs),a(vs,"EmergencyHooks");var Yl=vs;function Zl(o){throw new Error(o)}a(Zl,"NoSuchOption");var Te=require("node:fs"),lr=require("node:fs/promises"),wI=require("node:os"),Lt=require("node:path");var ec=Symbol("LSP isArtifactName"),As=Symbol("LSP xsn path"),tI=Symbol("LSP public definition"),H=Symbol("file does not\
exist"),Ls=["db","srv","app"];var Se=(re=>(re.CDS_TYPER_OUTPUT_PATH="cds.typeGenerator.outputPath",re.CDS_TYPER_ENABLED="cds.typeGenerator.enabled",re.
CDS_TYPER_LOCAL_INSTALLATION_ONLY="cds.typeGenerator.localInstallationOnly",re.CDS_TYPER_COMMAND="cds.typeGenerator.comm\
and",re.DIAGNOSTICS_LEVEL="cds.diagnosticsSeverity",re.WARN_MISSING_TRANSLATIONS="cds.compiler.markMissingI18nDefault",re.
SHOW_COMPILER_ERRORS="cds.compiler.showInternalErrors",re.DOCS_IN_COMPLETION="cds.completion.showDocumentation",re.DOCFILES_FOR_COMPLETION=
"cds.completion.docFiles",re.FORMAT_SNIPPETS="cds.completion.formatSnippets",re.DOCSYMBOLS_SEMANTICAL="cds.outline.seman\
tical",re.WORKSPACESYMBOLS_FOR_COMPLETION_MIN_PREFIX="cds.completion.workspaceSymbols.minPrefixLength",re.WORKSPACESYMBOLS_FOR_COMPLETION_MAX_PROPOSALS=
"cds.completion.workspaceSymbols.maxProposals",re.OMIT_REDUNDANT_TYPES_IN_SNIPPETS="cds.completion.annotations.omitRedun\
dantTypesInSnippets",re.CONTRIBUTIONS_REGISTRY="cds.contributions.registry",re.CONTRIBUTIONS_ANALYTICS_ENABLED="cds.cont\
ributions.enablement.additionalAnalyticalAnnotations",re.CONTRIBUTIONS_ODATA_ENABLED="cds.contributions.enablement.odata",
re.IMPORT_ARTIFACT_QUICKFIX="cds.quickfix.importArtifact",re.CODE_LENS_STATISTICS="cds.codeLensStatistics.enabled",re.SEMANTIC_HIGHLIGHTING=
"cds.semanticHighlighting.enabled",re.REFACTOR_USINGS_ON_RENAME="cds.refactoring.files.rename.enabled",re.REFACTOR_USINGS_ON_DELETE=
"cds.refactoring.files.delete.enabled",re.SHOW_GENERIC_ANNOTATIONS="cds.whereused.showGenericAnnotations",re.SHOW_STRING_LITERALS=
"cds.whereused.showStringConstants",re.WORKSPACE_DEBOUNCE_FAST_CHANGES="cds.workspace.debounceFastChanges",re.WORKSPACE_SCAN_CSN=
"cds.workspace.scanCsn",re.WORKSPACE_SCAN_DEPENDENT_MODULES="cds.workspace.scanDependentModules",re.WORKSPACE_VALIDATION_MODE=
"cds.workspaceValidationMode",re.WORKSPACESYMBOLS_LAZY="cds.workspaceSymbols.lazy",re.WORKSPACESYMBOLS_CASE_INSENSITIVE=
"cds.workspaceSymbols.caseInsensitive",re.INSPECT_TOKENS="cds.internal.inspectTokens",re))(Se||{});var nI=["title","description"],rI="<add text here>",en=(s=>(s.IMPORT_ARTIFACT="import-artifact",s.REMOVE_UNUSED_IMPORT="\
remove-unused-import",s.MAINTAIN_TRANSLATION="maintain-translation",s.MIGRATE_TO_DOCCOMMENT="migrate-to-doccomment",s.MIGRATE_DEPRECATED_DELIMITER=
"migrate-deprecated-delimiter",s.CUSTOM_ANNOTATION_QUICKFIX="custom-annotation-quickfix",s))(en||{});var iI=["format-range","analyze-dependencies","active-editor-changed"],hm="cds/userOutput",gm="cds/statusMessage";function oI(o,e,t){
let n=t;for(let r of o)e(n,r);return n}a(oI,"reduceFiles");var Je=class o{static{a(this,"Untitled")}static isUntitledFile(e){return e.startsWith(o.UNTITLED_ROOT_URI)}static UNTITLED_ROOT_URI="\
untitled:"};var tc=require("node:url");function ct(o){return(0,tc.pathToFileURL)(o).toString()}a(ct,"pathToFileURL");function gt(o){return(0,tc.fileURLToPath)(
o)}a(gt,"fileURLToPath");var It="package.json";function LL(o){let e=RL(o);return gt(e)}a(LL,"getLocalPath");function RL(o){return o.startsWith("f\
ile:")?o:ct(o)}a(RL,"ensureUri");var sI,aI,lI,cI,pI,dI,uI,mI,fI,hI,gI,II,yI,TI,bI,xI,kI,SI,PI,CI,vI,AI,LI,RI,FI,EI,NI,DI,
fe;DI=[y("files",{traceLevel:7,argumentsRenderer:a(e=>e[1],"argumentsRenderer")})],NI=[y("files",{traceLevel:7})],EI=[y(
"files",{traceLevel:7,argumentsRenderer:a(e=>e[0],"argumentsRenderer")})],FI=[y("files",{traceLevel:7})],RI=[y("files",{
traceLevel:7,argumentsRenderer:a(e=>e[0],"argumentsRenderer")})],LI=[y("files",{traceLevel:7})],AI=[y("files",{traceLevel:7})],
vI=[y("files",{traceLevel:7})],CI=[y("files",{traceLevel:7,argumentsRenderer:a(e=>e[0],"argumentsRenderer")})],PI=[y("fi\
les",{traceLevel:7})],SI=[y("files",{traceLevel:7})],kI=[y("files",{traceLevel:6,resultRenderer:a((e,t)=>`${e.length} by\
tes for ${t[0]}`,"resultRenderer")})],xI=[y("files",{traceLevel:6,resultRenderer:a((e,t)=>`${e.length} bytes for ${t[0]}`,
"resultRenderer")})],bI=[y("files",{argumentsRenderer:a(e=>e[0],"argumentsRenderer"),resultRenderer:g.nothing})],TI=[y("\
files",{resultRenderer:g.nothing})],yI=[y("files")],II=[y("files")],gI=[y("files")],hI=[y("files")],fI=[y("files")],mI=[
y("files")],uI=[y("files",{traceLevel:7,resultRenderer:g.direntsOrStrings})],dI=[y("files",{traceLevel:7,resultRenderer:g.
stats})],pI=[y("files",{traceLevel:7,resultRenderer:g.stats})],cI=[y("files",{traceLevel:7})],lI=[y("files",{traceLevel:7})],
aI=[y("files",{traceLevel:7})],sI=[y("files",{traceLevel:7})];var pe=class pe{constructor(){P(fe,5,this);b(this,"uriToIs\
Csn",new Map)}isTranslationFile(e,t){let n=(0,Lt.extname)(t);if(![".properties",".json",".csv"].includes(n)||!(0,Lt.basename)(
t).startsWith(e.i18n.file))return!1;t=t.replaceAll(Lt.sep,Ne);for(let i of e.i18n.folders)for(let s of[e.i18n.fallback_bundle,
e.i18n.default_language]){let l=s.length?`_${s.replace("-","_")}`:s;if(t.endsWith(`/${i}/${e.i18n.file}${l}${n}`)||s.length&&
(l=`_${s.match(/[a-zA-Z]+/)}`,t.endsWith(`/${i}/${e.i18n.file}${l}${n}`)))return!0}return!1}isPackageJsonFile(e=""){return(0,Lt.basename)(
e)===It}typeofFile(e,t,n){if(e&&!e.endsWith(Lt.sep)){let r=(0,Lt.basename)(e);switch((0,Lt.extname)(e)){case".cds":return"\
CdsSource";case".csn":return"CsnFile";case".json":if(r===It)return"PackageJson";if(this.isCdsEnvFile(e))return".cdsrc.js\
on";if(this.isCsnFile(e,n))return"CsnFile";break;case"":if(this.isIgnoreFile(r))return"IgnoreFile";break}if(this.isTranslationFile(
t,e))return"TranslationDefinitions"}return"Unrelated"}isCsnFileByExtension(e){return e.endsWith(".csn")||e.endsWith(".cs\
n.json")}isCsnFile(e,t){if(this.isCsnFileByExtension(e))return!0;if(e.endsWith(".json")&&!this.isPackageJsonFile(e))try{
let n=this.uriToIsCsn.get(e);if(n!==void 0)return n;let r=t();if(r===H)return!1;let i=vt(r),s=!!(i?.$version&&i?.meta?.creator?.
toLowerCase().includes("cds"))||!!i?.version?.csn;return this.uriToIsCsn.set(e,s),s}catch(n){L().tracer("workspace").warn(
()=>`Invalid JSON file ${e}: ${n}`)}return!1}isCdsEnvFile(e){return[".cdsrc.json","default-env.json",".env","package.jso\
n"].includes((0,Lt.basename)(e))}isIgnoreFile(e=""){return[".gitignore",".cdsignore"].includes((0,Lt.basename)(e))}isCdsSourceFile(e=""){
return(0,Lt.extname)(e)===".cds"||Je.isUntitledFil